View a markdown version of this page

AWS Encryption SDK Referenz für den Initialisierungsvektor - AWS Encryption SDK

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWS Encryption SDK Referenz für den Initialisierungsvektor

Die Informationen auf dieser Seite stellen eine Referenz für die Erstellung Ihrer eigenen, mit AWS Encryption SDK kompatiblen Verschlüsselungsbibliothek dar. Falls Sie keine eigene kompatible Verschlüsselungsbibliothek erstellen, benötigen Sie diese Informationen wahrscheinlich nicht.

Informationen zur Verwendung von AWS Encryption SDK in einer der unterstützten Programmiersprachen finden Sie unterProgrammiersprachen.

Die Spezifikation, die die Elemente einer ordnungsgemäßen AWS Encryption SDK Implementierung definiert, finden Sie in der AWS Encryption SDK Spezifikation unter GitHub.

Die AWS Encryption SDK stellt die Initialisierungsvektoren (IVs) bereit, die von allen unterstützten Algorithmus-Suites benötigt werden. Das SDK verwendet Frame-Folgenummern, um einen IV zu konstruieren, sodass keine zwei Frames in derselben Nachricht denselben IV haben können.

Jeder 96-Bit- (12-Byte-)IV besteht aus zwei Big-Endian-Byte-Arrays, die in der folgenden Reihenfolge verkettet sind:

  • 64 Bits: 0 (für eine zukünftige Nutzung reserviert)

  • 32 Bits: Frame-Folgenummer. Für das Header-Authentifizierungs-Tag besteht dieser Wert aus lauter Nullen.

Vor der Einführung des Datenschlüssel-Cachings verwendete das AWS Encryption SDK immer einen neuen Datenschlüssel für die Verschlüsselung von Nachrichten und generierte die IVs zufällig. Zufallsgenerierte IVs waren kryptografisch sicher, da Datenschlüssel niemals wiederverwendet wurden. Als das SDK das Datenschlüssel-Caching einführte, das bewusst Datenschlüssel wiederverwendet, haben wir die Art und Weise geändert, wie das SDK IVs generiert.

Die Verwendung von deterministischen IVs, die sich nicht innerhalb einer Nachricht wiederholen können, erhöht die Anzahl der Aufrufe, die sicher unter einem einzigen Datenschlüssel ausgeführt werden können, ganz erheblich. Darüber hinaus verwenden im Cache gespeichert Datenschlüssel immer einen Algorithmus mit einer Schlüsselableitungsfunktion. Die Verwendung einer deterministischen IV mit einer Funktion zur Ableitung von pseudozufälligen Schlüsseln zur Ableitung von Verschlüsselungsschlüsseln aus einem Datenschlüssel ermöglicht es, 2^32 Nachrichten AWS Encryption SDK zu verschlüsseln, ohne die kryptografischen Grenzen zu überschreiten.