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.
Referenz
Unsere clientseitige Verschlüsselungsbibliothek wurde in AWS Database Encryption SDK umbenannt. Dieses Entwicklerhandbuch enthält weiterhin Informationen zum DynamoDB Encryption Client. |
Die folgenden Themen enthalten technische Details für das AWS Database Encryption SDK.
Format der Materialbeschreibung
Die Materialbeschreibung dient als Header für einen verschlüsselten Datensatz. Wenn Sie Felder mit dem AWS Database Encryption SDK verschlüsseln und signieren, zeichnet der Verschlüsseler die Materialbeschreibung auf, während er die kryptografischen Materialien zusammenstellt, und speichert die Materialbeschreibung in einem neuen Feld (aws_dbe_head
), das der Verschlüsseler Ihrem Datensatz hinzufügt. Die Materialbeschreibung ist eine portabel formatierte Datenstruktur, die den verschlüsselten Datenschlüssel und Informationen darüber enthält, wie der Datensatz verschlüsselt und signiert wurde. In der folgenden Tabelle werden die Werte beschrieben, die die Materialbeschreibung bilden. Die Byte werden in der angegebenen Reihenfolge angehängt.
Wert | Länge in Byte |
---|---|
Version | 1 |
Signaturen aktiviert | 1 |
Datensatz-ID | 32 |
Legende verschlüsseln | Variable |
Länge des Verschlüsselungskontextes | 2 |
Verschlüsselungskontext | Variable |
Verschlüsselter Datenschlüssel-Zähler | 1 |
Verschlüsselte Datenschlüssel | Variable |
Engagement auf Rekordniveau | 1 |
- Version
-
Die Version des Formats dieses
aws_dbe_head
Felds. - Signaturen aktiviert
-
Kodiert, ob Signaturen für diesen Datensatz aktiviert sind.
Byte-Wert Bedeutung 0x01
Signaturen aktiviert (Standard) 0x00
Signaturen deaktiviert - Datensatz-ID
-
Ein zufällig generierter 256-Bit-Wert, der den Datensatz identifiziert. Die Datensatz-ID:
-
Identifiziert den verschlüsselten Datensatz eindeutig.
-
Bindet die Materialbeschreibung an den verschlüsselten Datensatz.
-
- Legende verschlüsseln
-
Eine serialisierte Beschreibung, welche authentifizierten Felder verschlüsselt wurden. Die Verschlüsselungslegende wird verwendet, um zu bestimmen, welche Felder die Entschlüsselungsmethode zu entschlüsseln versuchen soll.
Byte-Wert Bedeutung 0x65
ENCRYPT_AND_SIGN
0x73
SIGN_ONLY
Die Encrypt Legend ist wie folgt serialisiert:
-
Lexikographisch anhand der Bytefolge, die ihren kanonischen Pfad darstellt.
-
Fügen Sie für jedes Feld der Reihe nach einen der oben angegebenen Bytewerte an, um anzugeben, ob das Feld verschlüsselt werden soll.
-
- Länge des Verschlüsselungskontextes
-
Die Länge des Verschlüsselungskontextes. Dies ist ein 2-Byte-Wert, interpretiert als vorzeichenlose 16-Bit-Ganzzahl. Die maximale Länge beträgt 65.535 Byte.
- Verschlüsselungskontext
-
Eine Reihe von Name-Wert-Paaren, die beliebige, nicht geheime zusätzliche authentifizierte Daten enthalten.
Wenn digitale Signaturen aktiviert sind, enthält der Verschlüsselungskontext das Schlüssel-Wert-Paar.
{"aws-crypto-footer-ecdsa-key": Qtxt}
Qtxt
steht für den elliptischen Kurvenpunkt, der gemäß SEC 1 Version 2.0Q
komprimiert und anschließend base64-codiert wurde. - Verschlüsselter Datenschlüssel-Zähler
-
Die Anzahl der verschlüsselten Datenschlüssel. Es handelt sich um einen 1-Byte-Wert, der als 8-Bit-Ganzzahl ohne Vorzeichen interpretiert wird und die Anzahl der verschlüsselten Datenschlüssel angibt. Die maximale Anzahl verschlüsselter Datenschlüssel in jedem Datensatz beträgt 255.
- Verschlüsselte Datenschlüssel
-
Eine Folge von verschlüsselten Datenschlüsseln. Die Länge der Folge wird durch die Anzahl der verschlüsselten Datenschlüssel und ihre jeweilige Länge bestimmt. Die Folge enthält mindestens einen verschlüsselten Datenschlüssel.
In der folgenden Tabelle sind die Felder beschrieben, die die verschlüsselten Datenschlüssel bilden. Die Byte werden in der angegebenen Reihenfolge angehängt.
Struktur der verschlüsselten DatenschlüsselFeld Länge in Byte Länge der Schlüsselanbieter-ID 2 Schlüsselanbieter-ID Variable. Gleich dem Wert, der in den vorherigen 2 Bytes angegeben ist (Länge der Schlüsselanbieter-ID). Länge der Schlüsselanbieterinformation 2 Schlüsselanbieterinformation Variable. Gleich dem Wert, der in den vorherigen 2 Bytes angegeben ist (Länge der Schlüsselanbieterinformation). Länge des verschlüsselten Datenschlüssels 2 Verschlüsselte Datenschlüssel Variable. Gleich dem Wert, der in den vorherigen 2 Bytes angegeben ist (Länge des verschlüsselten Datenschlüssels). - Länge der Schlüsselanbieter-ID
-
Die Länge der Schlüsselanbieter-ID. Es handelt sich um einen 2-Byte-Wert, interpretiert als vorzeichenlose 16-Bit-Ganzzahl, die die Anzahl der Bytes angibt, die die Schlüsselanbieter-ID enthalten.
- Schlüsselanbieter-ID
-
Die Schlüsselanbieter-ID. Wird verwendet, um den Anbieter des verschlüsselten Datenschlüssels anzugeben, und ist auf Erweiterbarkeit ausgelegt.
- Länge der Schlüsselanbieterinformation
-
Die Länge der Schlüsselanbieterinformation. Es handelt sich um einen 2-Byte-Wert, interpretiert als vorzeichenlose 16-Bit-Ganzzahl, die die Anzahl der Bytes angibt, die die Schlüsselanbieterinformation enthalten.
- Schlüsselanbieterinformation
-
Die Schlüsselanbieterinformation. Wird durch den Schlüsselanbieter bestimmt.
Wenn Sie einen AWS KMS Schlüsselbund verwenden, enthält dieser Wert den Amazon-Ressourcennamen (ARN) von. AWS KMS key
- Länge des verschlüsselten Datenschlüssels
-
Die Länge des verschlüsselten Datenschlüssels. Es handelt sich um einen 2-Byte-Wert, interpretiert als vorzeichenlose 16-Bit-Ganzzahl, die die Anzahl der Bytes angibt, die den verschlüsselten Datenschlüssel enthalten.
- Verschlüsselte Datenschlüssel
-
Der verschlüsselte Datenschlüssel. Es ist der vom Schlüsselanbieter verschlüsselte Datenschlüssel.
- Engagement auf Rekordniveau
-
Ein eindeutiger 256-Bit-HMAC-Hash (Hash-Based Message Authentication Code), der mithilfe des Commit-Schlüssels über alle vorangegangenen Byte der Materialbeschreibung berechnet wird.
AWS KMSTechnische Details zum hierarchischen Schlüsselbund
Der AWS KMShierarchische Schlüsselbund verwendet einen eindeutigen Datenschlüssel, um jedes Feld zu verschlüsseln, und verschlüsselt jeden Datenschlüssel mit einem eindeutigen Wickelschlüssel, der von einem aktiven Zweigschlüssel abgeleitet ist. Es verwendet eine Schlüsselableitung
-
Ein 16-Byte-Salz nach dem Zufallsprinzip
-
Der aktive Filialschlüssel
-
Der UTF-8-codierte
Wert für die Schlüsselanbieter-ID "“ aws-kms-hierarchy
Der hierarchische Schlüsselbund verwendet den abgeleiteten Wickelschlüssel, um eine Kopie des Klartext-Datenschlüssels mithilfe von AES-GCM-256 mit einem 16-Byte-Authentifizierungstag und den folgenden Eingaben zu verschlüsseln.
-
Der abgeleitete Wickelschlüssel wird als AES-GCM-Verschlüsselungsschlüssel verwendet
-
Der Datenschlüssel wird als AES-GCM-Nachricht verwendet
-
Als AES-GCM IV wird ein zufälliger 12-Byte-Initialisierungsvektor (IV) verwendet
-
Zusätzliche authentifizierte Daten (AAD), die die folgenden serialisierten Werte enthalten.
Wert Länge in Byte Interpretiert als "aws-kms-hierarchy" 17 UTF-8-codiert Die Schlüssel-ID der Filiale Variable UTF-8-codiert Die Branch-Key-Version 16 UTF-8-codiert Verschlüsselungskontext Variable UTF-8-kodierte Schlüsselwertpaare