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 Algorithmen
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 |
Wenn Sie Ihre eigene Bibliothek erstellen, die Chiffretexte lesen und schreiben kann, die mit dem kompatibel sind AWS Encryption SDK, müssen Sie verstehen, wie die unterstützten Algorithmus-Suites zur Verschlüsselung von Rohdaten AWS Encryption SDK implementiert.
Die AWS Encryption SDK unterstützt die folgenden Algorithmus-Suiten. Alle AES GCM Algorithmus-Suiten haben einen 12-Byte-Initialisierungsvektor und ein AES GCM 16-Byte-Authentifizierungs-Tag. Die Standard-Algorithmus-Suite variiert je nach AWS Encryption SDK Version und ausgewählter Key Commitment Policy. Einzelheiten finden Sie unter Commitment-Richtlinie und Algorithmus-Suite.
AWS Encryption SDK Algorithmus-Suiten | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Algorithmus-ID | Version im Nachrichtenformat | Verschlüsselungsalgorithmus | Länge des Datenschlüssels (Bits) | Schlüsselableitungsalgorithmus | Signatur-Algorithmus | Algorithmus für Schlüsselzusagen | Datenlänge der Algorithm Suite (Byte) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
05 78 |
0x02 | AES-GCM | 256 | HKDFmit SHA -512 | ECDSAmit P-384 und -384 SHA | HKDFmit -512 SHA | 32 (zentrale Verpflichtung) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
04 78 |
0x02 | AES-GCM | 256 | HKDFmit SHA -512 | None | HKDFmit SHA -512 | 32 (zentrale Verpflichtung) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
03 78 |
0x01 | AES-GCM | 256 | HKDFmit SHA -384 | ECDSAmit P-384 und -384 SHA | None | N/A | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
03 46 |
0x01 | AES-GCM | 192 | HKDFmit -384 SHA | ECDSAmit P-384 und -384 SHA | None | N/A | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
02 14 |
0x01 | AES-GCM | 128 | HKDFmit -256 SHA | ECDSAmit P-256 und -256 SHA | None | N/A | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
01 78 |
0x01 | AES-GCM | 256 | HKDFmit -256 SHA | Keine | None | N/A | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
01 46 |
0x01 | AES-GCM | 192 | HKDFmit SHA -256 | Keine | None | N/A | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
01 14 |
0x01 | AES-GCM | 128 | HKDFmit SHA -256 | Keine | None | N/A | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
00 78 |
0x01 | AES-GCM | 256 | Keine | Keine | None | N/A | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
00 46 |
0x01 | AES-GCM | 192 | Keine | Keine | None | N/A | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
00 14 |
0x01 | AES-GCM | 128 | Keine | Keine | None | N/A |
- Algorithmus-ID
-
Ein 2-Byte-Hexadezimalwert, der eine Algorithmusimplementierung eindeutig identifiziert. Dieser Wert wird im Nachrichtenkopf des Chiffretextes gespeichert.
- Version im Nachrichtenformat
-
Die Version des Nachrichtenformats. Algorithmus-Suites mit Key Commitment verwenden das Nachrichtenformat Version 2 (0x02). Algorithmus-Suites ohne Schlüsselzusage verwenden das Nachrichtenformat Version 1 (0x01).
- Datenlänge der Algorithmus-Suite
-
Die Länge der für die Algorithmus-Suite spezifischen Daten in Byte. Dieses Feld wird nur im Nachrichtenformat Version 2 (0x02) unterstützt. Im Nachrichtenformat Version 2 (0x02) werden diese Daten im
Algorithm suite data
Feld des Nachrichtenkopfs angezeigt. Algorithmus-Suites, die Key Commitment unterstützen, verwenden 32 Byte für die Key-Commitment-Zeichenfolge. Weitere Informationen finden Sie in dieser Liste unter Key Commitment-Algorithmus. - Länge des Datenschlüssels
-
Die Länge des Datenschlüssels in Bits. Der AWS Encryption SDK unterstützt 256-Bit-, 192-Bit- und 128-Bit-Schlüssel. Der Datenschlüssel wird durch einen Schlüsselbund oder Hauptschlüssel generiert.
In einigen Implementierungen wird dieser Datenschlüssel als Eingabe für eine HMAC basierte extract-and-expand Schlüsselableitungsfunktion () verwendet. HKDF Die Ausgabe von HKDF wird als Datenverschlüsselungsschlüssel im Verschlüsselungsalgorithmus verwendet. Weitere Informationen finden Sie in dieser Liste unter Algorithmus zur Schlüsselableitung.
- Verschlüsselungsalgorithmus
-
Der Name und der Modus des verwendeten Verschlüsselungsalgorithmus. Algorithmus-Suiten AWS Encryption SDK verwenden den Advanced Encryption Standard (AES) -Verschlüsselungsalgorithmus mit Galois/Counter-Modus (). GCM
- Algorithmus für Schlüsselzusagen
-
Der Algorithmus, der zur Berechnung der Key Commitment-Zeichenfolge verwendet wurde. Die Ausgabe wird im
Algorithm suite data
Feld des Nachrichtenkopfs gespeichert und dient zur Validierung des Datenschlüssels für Key Commitment.Eine technische Erläuterung des Hinzufügens von Key Commitment zu einer Algorithmus-Suite finden Sie unter Key Committing AEADs
in Cryptology Archive ePrint . - Schlüsselableitungsalgorithmus
-
Die HMAC basierte extract-and-expand Schlüsselableitungsfunktion (HKDF), die zur Ableitung des Datenverschlüsselungsschlüssels verwendet wird. Die AWS Encryption SDK verwendet die in HKDF RFC 5869 definierte.
Algorithmus-Suiten ohne Schlüsselbindung (Algorithmus-ID
01xx
—03xx
)-
Die verwendete Hash-Funktion ist entweder SHA -384 oder SHA -256, abhängig von der Algorithmus-Suite.
-
Für den Extraktionsschritt:
-
Es wird kein Salt verwendet. Gemäß dem ist RFC das Salz auf eine Folge von Nullen gesetzt. Die Länge der Zeichenfolge entspricht der Länge der Ausgabe der Hash-Funktion, die 48 Byte für SHA -384 und 32 Byte für SHA -256 beträgt.
-
Das Eingabematerial ist der Datenschlüssel aus dem Schlüsselbund oder dem Hauptschlüsselanbieter.
-
-
Für den Expansionsschritt:
-
Der pseudozufällige Eingabeschlüssel ist die Ausgabe aus dem Extraktionsschritt.
-
Die Eingabeinformationen sind eine Verkettung der Algorithmus-ID und der Nachrichten-ID (in dieser Reihenfolge).
-
Die Länge des Ausgabe-Keying-Materials entspricht der Länge des Datenschlüssels. Diese Ausgabe wird als Datenverschlüsselungsschlüssel im Verschlüsselungsalgorithmus verwendet.
-
Algorithmus-Suiten mit Schlüsselbindung (Algorithmus-ID
04xx
und05xx
)-
Die verwendete Hash-Funktion ist SHA -512.
-
Für den Extraktionsschritt:
-
Der Salt ist ein kryptografischer 256-Bit-Zufallswert. Im Nachrichtenformat Version 2 (0x02) wird dieser Wert im Feld gespeichert.
MessageID
-
Bei der ersten Eingabe handelt es sich um den Datenschlüssel aus dem Schlüsselbund oder dem Hauptschlüsselanbieter.
-
Für den Expansionsschritt:
Der pseudozufällige Eingabeschlüssel ist die Ausgabe aus dem Extraktionsschritt.
-
Die Schlüsselbezeichnung besteht aus den UTF -8-kodierten Bytes der
DERIVEKEY
Zeichenfolge in Big-Endian-Byte-Reihenfolge. -
Die Eingabeinformationen sind eine Verkettung der Algorithmus-ID und der Schlüsselbezeichnung (in dieser Reihenfolge).
-
Die Länge des Ausgabe-Keying-Materials entspricht der Länge des Datenschlüssels. Diese Ausgabe wird als Datenverschlüsselungsschlüssel im Verschlüsselungsalgorithmus verwendet.
-
- Version im Nachrichtenformat
-
Die Version des Nachrichtenformats, das mit der Algorithmussuite verwendet wird. Details hierzu finden Sie unter Nachrichtenformat – Referenz.
- Signatur-Algorithmus
-
Der Signaturalgorithmus, der verwendet wird, um eine digitale Signatur über dem Chiffretext-Header und dem Hauptteil zu generieren. Der AWS Encryption SDK verwendet den Algorithmus für digitale Signaturen mit elliptischen Kurven (ECDSA) mit den folgenden Besonderheiten:
-
Die verwendete elliptische Kurve die P-384- oder P-256-Kurve, wie durch die Algorithmus-ID angegeben. Diese Kurven sind im Digital Signature Standard (DSS) (FIPSPUB186-4)
definiert. -
Die verwendete Hash-Funktion ist SHA -384 (mit der P-384-Kurve) oder SHA -256 (mit der P-256-Kurve).
-