it-swarm-eu.dev

Ist es bei Verwendung von AES und CBC erforderlich, die IV geheim zu halten?

Wenn ich einige Daten mit einem zufällig generierten Schlüssel und einem Initialisierungsvektor verschlüssele, speichern Sie alle drei Informationen in derselben Tabellenzeile. Ist es notwendig, sowohl die IV als auch den Schlüssel zu verschlüsseln?

Vereinfachte Tabellenstruktur:

  • Verschlüsselte Daten
  • Schlüssel (mit einer zweiten Methode verschlüsselt)
  • IV (verschlüsselt?)

Bitte nehmen Sie an, dass die Architektur und Methode notwendig sind: Die Erklärung dahinter ist langwierig und langweilig.

44
Stu Pegg

Von Wikipedia :

Ein Initialisierungsvektor hat andere Sicherheitsanforderungen als ein Schlüssel, daher muss die IV normalerweise nicht geheim sein . In den meisten Fällen ist es jedoch wichtig, dass ein Initialisierungsvektor niemals unter demselben Schlüssel wiederverwendet wird. Bei CBC und CFB werden durch die Wiederverwendung einer IV einige Informationen zum ersten Klartextblock und zu allen gemeinsamen Präfixen der beiden Nachrichten verloren.

Sie müssen die IV nicht geheim halten, aber sie muss zufällig und einzigartig sein.

51
Polynomial

Obwohl in Ihrem Fall die IV im Klartext in der Datenbank in Ordnung sein sollte, besteht eine schwerwiegende Sicherheitsanfälligkeit, wenn Sie dem Benutzer erlauben, Kontrolle der IV.

Die IV in Entschlüsselung wird verwendet (und nur verwendet), um den ersten Block in den endgültigen Klartext zu XOR - also wenn ein Angreifer kontrollieren kann Mit der IV können sie den ersten Datenblock willkürlich steuern, und der Rest des Klartextes bleibt ohne Änderung erhalten.

(enter image description here

Wenn der Angreifer den ursprünglichen Klartext des ersten Blocks kennt, wird das Problem erneut vergrößert, da der Angreifer ohne Versuch und willkürliche Daten für den ersten Block auswählen kann Error.

Dies ist besonders wichtig, wenn verschlüsselte Daten über nicht vertrauenswürdige Kanäle mit der IV übertragen werden, möglicherweise in einen Browser oder eine App usw.

8
George Powell