Ist es sicher, den Hash-Schlüssel als IV bei der AES-Verschlüsselung zu verwenden?

  • Ich muss einige sensible Daten für ein Programm speichern. Für jede Kopie des Programms gibt es einen eindeutigen Schlüssel zum Verschlüsseln einer (und nur einer) Datei mithilfe der AES-Verschlüsselung (OFB). Der Schlüssel wird nicht geändert (wahrscheinlich für immer).

    Ist es sicher, wenn der Hashwert des Schlüssels als IV verwendet wird?

    Update: Der Schlüssel wird vom Computer generiert. Der Benutzer des Programms hat keinen Zugriff auf den Schlüssel, da er vom Programm über die sichere Web-API abgerufen wird. Der Benutzer kann nur einen Teil davon bearbeiten Daten, die über das Programm in der Datei gespeichert sind.

    23 May 2012
    Lacek
1 answer
  • Nein, es ist nicht sicher.

    Vom NIST 800-38:

     The OFB mode requires a unique IV for every message that is ever encrypted
    under the given key. If, contrary to this requirement, the same IV is used
    for the encryption of more than one message, then the confidentiality of
    those messages may be compromised 
     

    Angesichts Ihrer Beschreibung sind Sie anscheinend sicher, da Sie jeweils nur eine Datei haben.

    Allerdings:

    • Ein böswilliger Benutzer kann eine frühere Version der Datei speichern und nach einer Änderung einen Vergleich durchführen und erfahren, welche Bits im ersten Block umgedreht wurden Wo das passiert ist.
    • In Zukunft können Sie eine zweite Datei hinzufügen und sich nicht an die obige Regel erinnern.

    Eine eindeutige (nicht unbedingt zufällige) IV pro Nachricht wird dennoch empfohlen.

    23 May 2012
    Simon WoodsAndreas