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.
So funktioniert der DynamoDB Encryption Client
Anmerkung
Unsere clientseitige Verschlüsselungsbibliothek wurde in AWS Database Encryption SDK umbenannt. Das folgende Thema enthält Informationen zu den Versionen 1. x —2. x des DynamoDB Encryption Client für Java und Versionen 1. x —3. x des DynamoDB Encryption Client für Python. Weitere Informationen finden Sie unter AWSDatabase Encryption SDK für DynamoDB-Versionsunterstützung.
Der DynamoDB Encryption Client wurde speziell für den Schutz der Daten entwickelt, die Sie in DynamoDB speichern. Die Bibliotheken enthalten sichere Implementierungen, die Sie erweitern oder unverändert verwenden können. Und die meisten Elemente werden durch abstrakte Elemente dargestellt, sodass Sie kompatible benutzerdefinierte Komponenten erstellen und verwenden können.
Verschlüsselung und Signieren von Tabellenelementen
Das Herzstück des DynamoDB Encryption Client ist ein Elementverschlüsseler, der Tabellenelemente verschlüsselt, signiert, verifiziert und entschlüsselt. Er nimmt Informationen über Ihre Tabellenelemente entgegen, sowie Anweisungen, welche Elemente zu verschlüsseln und zu signieren sind. Er ruft von einem Anbieter für kryptographisches Material, den Sie auswählen und konfigurieren, die Verschlüsselungsmaterialien ab, ebenso wie Anweisungen, wie man sie verwendet.
Das folgende Diagramm zeigt einen allgemeinen Überblick über dieses Verfahren.
Um ein Tabellenelement zu verschlüsseln und zu signieren, benötigt der DynamoDB Encryption Client:
-
Informationen zur Tabelle. Es ruft Informationen über die Tabelle aus einem DynamoDB-Verschlüsselungskontext ab, den Sie angeben. Einige Helfer erhalten die erforderlichen Informationen von DynamoDB und erstellen den DynamoDB-Verschlüsselungskontext für Sie.
Anmerkung
Der DynamoDB-Verschlüsselungskontext im DynamoDB Encryption Client hat nichts mit dem Verschlüsselungskontext in AWS Key Management Service () AWS KMS und dem zu tun. AWS Encryption SDK
-
Welche Attribute zu verschlüsseln und zu signieren sind. Er erhält diese Informationen über die Tabelle von den Attribut-Aktionen, die Sie bereitstellen.
-
Verschlüsselungsmaterialien, einschließlich Verschlüsselungs- und Signaturschlüssel. Er erhält diese von einem Anbieter kryptographischer Materialien (Cryptographic Materials Provider, CMP), den Sie auswählen und konfigurieren.
-
Anweisungen für die Verschlüsselung und das Signieren des Elementes. Der CMP fügt der tatsächlichen Materialbeschreibung Anweisungen zur Verwendung der Verschlüsselungsmaterialien hinzu, einschließlich Verschlüsselungs- und Signaturalgorithmen.
Der Elementverschlüssler verwendet alle diese Dinge, um das Element zu verschlüsseln und zu signieren. Der Elementverschlüssler fügt dem Element außerdem zwei Attribute hinzu: ein Materialbeschreibungsattribut, das die Verschlüsselungs- und Signaturanweisungen (die tatsächliche Materialbeschreibung) enthält, und ein Attribut, das die Signatur enthält. Sie können direkt mit dem Elementverschlüsseler interagieren oder Helferfunktionen verwenden, die mit dem Elementverschlüssler interagieren, um ein sicheres Standardverhalten zu implementieren.
Das Ergebnis ist ein DynamoDB-Element mit verschlüsselten und signierten Daten.
Verifizieren und Entschlüsseln von Tabellenelementen
Diese Komponenten arbeiten auch zusammen, um Ihr Element zu verifizieren und zu entschlüsseln, wie in der folgenden Abbildung gezeigt.
Um ein Element zu verifizieren und zu entschlüsseln, benötigt der DynamoDB Encryption Client dieselben Komponenten, Komponenten mit derselben Konfiguration oder Komponenten, die speziell für die Entschlüsselung der Elemente entwickelt wurden, wie folgt:
-
Informationen zur Tabelle aus dem DynamoDB-Verschlüsselungskontext.
-
Welche Attribute zu überprüfen und zu entschlüsseln sind. Diese erhält er von den Attribut-Aktionen.
-
Entschlüsselungsmaterialien, einschließlich Verifikations- und Entschlüsselungsschlüssel, von dem Anbieter kryptographischer Materialien (Cryptographic Materials Provider, CMP), den Sie auswählen und konfigurieren.
Das verschlüsselte Element enthält keine Aufzeichnung des CMP, mit dem es verschlüsselt wurde. Sie müssen den gleichen CMP, einen CMP mit der gleichen Konfiguration oder einen CMP, der zum Entschlüsseln von Elementen vorgesehen ist, bereitstellen.
-
Informationen darüber, wie das Element verschlüsselt und signiert wurde, einschließlich der Verschlüsselungs- und Signierungsalgorithmen. Der Client erhält sie vom Materialbeschreibungsattribut im Element.
Der Elementverschlüssler verwendet alle diese Dinge, um das Element zu verifizieren und zu entschlüsseln. Außerdem entfernt er die Materialbezeichnung und die Signaturattribute. Das Ergebnis ist ein DynamoDB-Element im Klartext.