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 umbenannt. SDK Dieses Entwicklerhandbuch enthält weiterhin Informationen zum DynamoDB Encryption Client. |
Die folgenden Themen enthalten technische Details zur AWS Datenbankverschlüsselung. SDK
Format der Materialbeschreibung
Die Materialbeschreibung dient als Header für einen verschlüsselten Datensatz. Wenn Sie Felder mit der AWS Datenbankverschlüsselung verschlüsseln und signierenSDK, 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 übertragbare, 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, aus denen sich die Materialbeschreibung zusammensetzt. Die Byte werden in der angegebenen Reihenfolge angehängt.
Wert | Länge in Byte |
---|---|
Version | 1 |
Signatures Enabled | 1 |
Record ID | 32 |
Encrypt Legend | Variable |
Encryption Context Length | 2 |
Encryption Context | Variable |
Encrypted Data Key Count | 1 |
Encrypted Data Keys | Variable |
Record Commitment | 1 |
- Version
-
Die Version des Formats dieses
aws_dbe_head
Felds. - Signaturen aktiviert
-
Kodiert, ob ECDSA digitale Signaturen für diesen Datensatz aktiviert sind.
Byte-Wert Bedeutung 0x01
ECDSAdigitale Signaturen aktiviert (Standard) 0x00
ECDSAdigitale Signaturen sind 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-Legende ist wie folgt serialisiert:
-
Lexikographisch nach der Bytefolge, die ihren kanonischen Pfad darstellt.
-
Hängen 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
-
Ein Satz von Name-Wert-Paaren, die beliebige, nicht geheime zusätzliche authentifizierte Daten enthalten.
Wenn ECDSAdigitale Signaturen aktiviert sind, enthält der Verschlüsselungskontext das Schlüssel-Wert-Paar.
{"aws-crypto-footer-ecdsa-key": Qtxt}
Qtxt
stellt den elliptischen Kurvenpunkt dar, der gemäß Version SEC 1 2.0Q
komprimiert und anschließend Base64-kodiert wurde. - Anzahl verschlüsselter Datenschlüssel
-
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üssel Feld Länge in Byte Key Provider ID Length 2 Key Provider ID Variable. Gleich dem Wert, der in den vorherigen 2 Bytes angegeben ist (Länge der Schlüsselanbieter-ID). Key Provider Information Length 2 Key Provider Information Variable. Gleich dem Wert, der in den vorherigen 2 Bytes angegeben ist (Länge der Schlüsselanbieterinformation). Encrypted Data Key Length 2 Encrypted Data Key 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.
- ID des Schlüsselanbieters
-
Die Schlüsselanbieter-ID. Wird verwendet, um den Anbieter des verschlüsselten Datenschlüssels anzugeben, und ist auf Erweiterbarkeit ausgelegt.
- Länge der Informationen zum Schlüsselanbieter
-
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.
- Informationen zu den wichtigsten Anbietern
-
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üsselter Datenschlüssel
-
Der verschlüsselte Datenschlüssel. Es ist der vom Schlüsselanbieter verschlüsselte Datenschlüssel.
- Engagement in Rekordhöhe
-
Ein eindeutiger 256-Bit-Hash mit Hash-basiertem Nachrichtenauthentifizierungscode (HMAC), der mithilfe des Commit-Schlüssels für alle vorherigen Materialbeschreibungs-Bytes berechnet wurde.
AWS KMS Technische Details zum hierarchischen Schlüsselbund
Der AWS KMS hierarchische Schlüsselbund verwendet einen eindeutigen Datenschlüssel, um jedes Feld zu verschlüsseln, und verschlüsselt jeden Datenschlüssel mit einem eindeutigen Umschließungsschlüssel, der von einem aktiven Zweigschlüssel abgeleitet wird. Er verwendet eine Schlüsselableitung
-
Ein 16-Byte-Zufallssalz
-
Der aktive Zweigschlüssel
-
Der mit UTF-8 kodierte
Wert für die Schlüsselanbieter-ID "“ aws-kms-hierarchy
Der hierarchische Schlüsselbund verwendet den abgeleiteten Umschließungsschlüssel, um eine Kopie des Klartext-Datenschlüssels mithilfe von AES - GCM -256 mit einem 16-Byte-Authentifizierungs-Tag und den folgenden Eingaben zu verschlüsseln.
-
Der abgeleitete Umschließungsschlüssel wird als Chiffrierschlüssel verwendet AES GCM
-
Der Datenschlüssel wird als -Nachricht verwendet AES GCM
-
Ein zufälliger 12-Byte-Initialisierungsvektor (IV) wird als AES - GCM 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 Kennung des Zweigschlüssels Variable UTF-8 codiert Die Version mit dem Zweigschlüssel 16 UTF-8 codiert Verschlüsselungskontext Variable UTF-8 kodierte Schlüssel-Wert-Paare