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.
Rohe ECDH Schlüsselanhänger
Unsere clientseitige Verschlüsselungsbibliothek wurde in Database Encryption umbenannt. AWS SDK Dieses Entwicklerhandbuch enthält weiterhin Informationen zum DynamoDB Encryption Client. |
Wichtig
Der ECDH Raw-Schlüsselbund ist nur mit Version 1.5.0 der Material Providers Library verfügbar.
Der ECDH Raw-Schlüsselbund verwendet die öffentlich-privaten Schlüsselpaare mit elliptischer Kurve, die Sie angeben, um einen gemeinsamen Wrapping-Schlüssel zwischen zwei Parteien abzuleiten. Zunächst leitet der Schlüsselbund mithilfe des privaten Schlüssels des Absenders, des öffentlichen Schlüssels des Empfängers und des Elliptic Curve Diffie-Hellman () -Schlüsselvereinbarungsalgorithmus ein gemeinsames Geheimnis ab. ECDH Anschließend leitet der Schlüsselbund anhand des gemeinsamen geheimen Schlüssels den gemeinsamen Wrapping-Schlüssel ab, der Ihre Datenverschlüsselungsschlüssel schützt. Die Schlüsselableitungsfunktion, die AWS Database Encryption (KDF_CTR_HMAC_SHA384
) SDK verwendet, um den gemeinsamen Wrapping-Schlüssel abzuleiten, entspricht den Empfehlungen für die Schlüsselableitung. NIST
Die Funktion zur Schlüsselableitung gibt 64 Byte an Schlüsselmaterial zurück. Um sicherzustellen, dass beide Parteien das richtige Schlüsselmaterial verwenden, SDK verwendet die AWS Datenbankverschlüsselung die ersten 32 Byte als Commitment-Schlüssel und die letzten 32 Byte als gemeinsamen Wrapping-Schlüssel. Wenn der Schlüsselbund beim Entschlüsseln nicht den gleichen Commitment-Schlüssel und den gemeinsamen Wrapping-Schlüssel reproduzieren kann, die im Materialbeschreibungsfeld des verschlüsselten Datensatzes gespeichert sind, schlägt der Vorgang fehl. Wenn Sie beispielsweise einen Datensatz mit einem Schlüsselbund verschlüsseln, der mit Alices privatem Schlüssel und Bobs öffentlichem Schlüssel konfiguriert ist, reproduziert ein Schlüsselbund, der mit Bobs privatem Schlüssel und Alices öffentlichem Schlüssel konfiguriert ist, denselben Commitment-Schlüssel und gemeinsamen Wrapping-Schlüssel und kann den Datensatz entschlüsseln. Wenn Bobs öffentlicher Schlüssel aus einem AWS KMS key Paar stammt, kann Bob einen AWS KMS ECDHSchlüsselbund erstellen, um den Datensatz zu entschlüsseln.
Der ECDH Raw-Schlüsselbund verschlüsselt Datensätze mit einem symmetrischen Schlüssel mithilfe von -. AES GCM Der Datenschlüssel wird dann mit dem abgeleiteten gemeinsamen Wrapping-Schlüssel unter Verwendung von - umhüllverschlüsselt. AES GCM Jeder ECDH Raw-Schlüsselbund kann nur einen gemeinsamen Wrap-Schlüssel haben, aber Sie können mehrere ECDH Raw-Schlüsselanhänger, einzeln oder zusammen mit anderen Schlüsselbunden, in einen Mehrfachschlüsselbund aufnehmen.
Sie sind dafür verantwortlich, Ihre privaten Schlüssel zu generieren, zu speichern und zu schützen, vorzugsweise in einem Hardware-Sicherheitsmodul (HSM) oder einem Schlüsselverwaltungssystem. Die Schlüsselpaare des Absenders und des Empfängers müssen sich auf derselben elliptischen Kurve befinden. Die AWS Datenbankverschlüsselung SDK unterstützt die folgenden Spezifikationen für elliptische Kurven:
ECC_NIST_P256
ECC_NIST_P384
ECC_NIST_P512
Einen Raw-Schlüsselbund erstellen ECDH
Der ECDH Raw-Schlüsselbund unterstützt drei wichtige Vereinbarungsschemata:RawPrivateKeyToStaticPublicKey
, undEphemeralPrivateKeyToStaticPublicKey
. PublicKeyDiscovery
Das von Ihnen gewählte Schlüsselvereinbarungsschema bestimmt, welche kryptografischen Operationen Sie ausführen können und wie die Schlüsselmaterialien zusammengestellt werden.
RawPrivateKeyToStaticPublicKey
Verwenden Sie das RawPrivateKeyToStaticPublicKey
Schlüsselvereinbarungsschema, um den privaten Schlüssel des Absenders und den öffentlichen Schlüssel des Empfängers im Schlüsselbund statisch zu konfigurieren. Mit diesem Schlüsselvereinbarungsschema können Datensätze ver- und entschlüsselt werden.
Um einen ECDH Raw-Schlüsselbund mit dem Schlüsselvereinbarungsschema zu initialisieren, geben Sie die RawPrivateKeyToStaticPublicKey
folgenden Werte an:
-
Der private Schlüssel des Absenders
-
Der öffentliche Schlüssel des Empfängers
Sie können den öffentlichen Schlüssel eines Schlüsselpaars mit asymmetrischer KMS Schlüsselvereinbarung oder den öffentlichen Schlüssel eines außerhalb von AWS generierten key pair angeben.
-
Kurvenspezifikation
Identifiziert die Spezifikation für elliptische Kurven in den angegebenen Schlüsselpaaren. Sowohl die Schlüsselpaare des Absenders als auch des Empfängers müssen dieselbe Kurvenspezifikation haben.
Zulässige Werte:
ECC_NIST_P256
,ECC_NIS_P384
,ECC_NIST_P512
EphemeralPrivateKeyToStaticPublicKey
Mit dem Schlüsselvereinbarungsschema konfigurierte EphemeralPrivateKeyToStaticPublicKey
Schlüsselringe erstellen lokal ein neues key pair und leiten für jeden Verschlüsselungsaufruf einen eindeutigen gemeinsamen Wrapping-Schlüssel ab.
Dieses Schlüsselvereinbarungsschema kann nur Datensätze verschlüsseln. Um mit dem EphemeralPrivateKeyToStaticPublicKey
Schlüsselvereinbarungsschema verschlüsselte Datensätze zu entschlüsseln, müssen Sie ein Discovery-Schlüsselvereinbarungsschema verwenden, das mit dem öffentlichen Schlüssel desselben Empfängers konfiguriert ist. Zum Entschlüsseln können Sie einen ECDH Raw-Schlüsselbund mit dem PublicKeyDiscoverySchlüsselvereinbarungsalgorithmus verwenden. Wenn der öffentliche Schlüssel des Empfängers aus einem asymmetrischen key pair für die Schlüsselvereinbarung stammt, können Sie einen KMS AWS KMS ECDH Schlüsselbund mit dem KmsPublicKeyDiscoverySchlüsselvereinbarungsschema verwenden.
Um einen ECDH Raw-Schlüsselbund mit dem Schlüsselvereinbarungsschema zu initialisieren, geben Sie die EphemeralPrivateKeyToStaticPublicKey
folgenden Werte an:
-
Der öffentliche Schlüssel des Empfängers
Sie können den öffentlichen Schlüssel eines Schlüsselpaars mit asymmetrischer KMS Schlüsselvereinbarung oder den öffentlichen Schlüssel eines außerhalb von AWS generierten key pair angeben.
-
Kurvenspezifikation
Identifiziert die Spezifikation für elliptische Kurven im angegebenen öffentlichen Schlüssel.
Beim Verschlüsseln erstellt der Schlüsselbund ein neues key pair auf der angegebenen Kurve und verwendet den neuen privaten Schlüssel und den angegebenen öffentlichen Schlüssel, um einen gemeinsamen Wrapping-Schlüssel abzuleiten.
Zulässige Werte:
ECC_NIST_P256
,ECC_NIS_P384
,ECC_NIST_P512
PublicKeyDiscovery
Beim Entschlüsseln empfiehlt es sich, die Umschließungsschlüssel anzugeben, die die AWS Datenbankverschlüsselung SDK verwenden kann. Um dieser bewährten Methode zu folgen, verwenden Sie einen ECDH Schlüsselbund, der sowohl den privaten Schlüssel des Absenders als auch den öffentlichen Schlüssel des Empfängers angibt. Sie können jedoch auch einen Raw ECDH Discovery-Schlüsselbund erstellen, d. h. einen ECDH Raw-Schlüsselbund, der jeden Datensatz entschlüsseln kann, bei dem der öffentliche Schlüssel des angegebenen Schlüssels mit dem öffentlichen Schlüssel des Empfängers übereinstimmt, der im Materialbeschreibungsfeld des verschlüsselten Datensatzes gespeichert ist. Mit diesem Schlüsselvereinbarungsschema können nur Datensätze entschlüsselt werden.
Wichtig
Wenn Sie Datensätze mithilfe des PublicKeyDiscovery
Schlüsselvereinbarungsschemas entschlüsseln, akzeptieren Sie alle öffentlichen Schlüssel, unabhängig davon, wem sie gehören.
Um einen ECDH Raw-Schlüsselbund mit dem PublicKeyDiscovery
Schlüsselvereinbarungsschema zu initialisieren, geben Sie die folgenden Werte an:
-
Der statische private Schlüssel des Empfängers
-
Spezifikation der Kurve
Identifiziert die Spezifikation für elliptische Kurven im angegebenen privaten Schlüssel. Sowohl die Schlüsselpaare des Absenders als auch des Empfängers müssen dieselbe Kurvenspezifikation haben.
Zulässige Werte:
ECC_NIST_P256
,ECC_NIS_P384
,ECC_NIST_P512