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 KMS ECDH-Schlüsselanhänger
Wichtig
Der AWS KMS ECDH-Schlüsselring ist nur mit Version 3 erhältlich. x von. AWS-Verschlüsselungs-SDK for Java Der AWS KMS ECDH-Schlüsselbund wurde in Version 1.5.0 der Material Providers Library eingeführt.
Ein AWS KMS ECDH-Schlüsselbund verwendet eine asymmetrische Schlüsselvereinbarung, AWS KMS keysum einen gemeinsamen symmetrischen Wrapping-Schlüssel zwischen zwei Parteien abzuleiten. Zunächst verwendet der Schlüsselbund den Schlüsselvereinbarungsalgorithmus Elliptic Curve Diffie-Hellman (ECDH), um ein gemeinsames Geheimnis aus dem privaten Schlüssel im KMS-Schlüsselpaar des Absenders und dem öffentlichen Schlüssel des Empfängers abzuleiten. 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 (KDF_CTR_HMAC_SHA384
) AWS Encryption SDK verwendet, um den gemeinsamen Wrapping-Schlüssel abzuleiten, entspricht den NIST-Empfehlungen
Die Funktion zur Schlüsselableitung gibt 64 Byte an Schlüsselmaterial zurück. Um sicherzustellen, dass beide Parteien das richtige Schlüsselmaterial verwenden, AWS Encryption SDK verwendet der 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 denselben Commitment-Schlüssel und denselben gemeinsamen Wrapping-Schlüssel reproduzieren kann, die im Chiffretext der Nachrichtenkopfzeile gespeichert sind, schlägt der Vorgang fehl. Wenn Sie beispielsweise Daten 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 die Daten entschlüsseln. Wenn Bobs öffentlicher Schlüssel nicht von einem KMS-Schlüsselpaar stammt, kann Bob einen Raw ECDH-Schlüsselbund erstellen, um die Daten zu entschlüsseln.
Der AWS KMS ECDH-Schlüsselbund verschlüsselt Daten mit einem symmetrischen Schlüssel unter Verwendung von AES-GCM. Der Datenschlüssel wird dann mit dem abgeleiteten gemeinsamen Wrapping-Schlüssel unter Verwendung von AES-GCM umhüllt. Jeder AWS KMS ECDH-Schlüsselbund kann nur einen gemeinsamen Wrapping-Schlüssel haben, aber Sie können mehrere AWS KMS ECDH-Schlüsselanhänger, einzeln oder zusammen mit anderen Schlüsselbunden, in einen Mehrfachschlüsselbund aufnehmen.
Themen
AWS KMS Erforderliche Berechtigungen für ECDH-Schlüsselanhänger
Für das AWS Encryption SDK ist kein AWS Konto erforderlich und es ist auch nicht von einem Dienst abhängig. AWS Um einen AWS KMS ECDH-Schlüsselbund verwenden zu können, benötigen Sie jedoch ein AWS Konto und die folgenden Mindestberechtigungen für AWS KMS keys den Schlüsselbund. Die Berechtigungen variieren je nachdem, welches Schlüsselvereinbarungsschema Sie verwenden.
-
Um Daten mithilfe des
KmsPrivateKeyToStaticPublicKey
Schlüsselvereinbarungsschemas zu verschlüsseln und zu entschlüsseln, benötigen Sie kms: GetPublicKey und kms: DeriveSharedSecret auf dem asymmetrischen KMS-Schlüsselpaar des Absenders. Wenn Sie den DER-codierten öffentlichen Schlüssel des Absenders direkt angeben, wenn Sie Ihren Schlüsselbund instanziieren, benötigen Sie nur die kms: DeriveSharedSecret -Berechtigung für das asymmetrische KMS-Schlüsselpaar des Absenders. -
Um Daten mithilfe des
KmsPublicKeyDiscovery
Schlüsselvereinbarungsschemas zu entschlüsseln, benötigen Sie die GetPublicKey Berechtigungen kms: DeriveSharedSecret und kms: für das angegebene asymmetrische KMS-Schlüsselpaar.
Einen ECDH-Schlüsselbund AWS KMS erstellen
Um einen AWS KMS ECDH-Schlüsselbund zu erstellen, der Daten ver- und entschlüsselt, müssen Sie das Schlüsselvereinbarungsschema verwenden. KmsPrivateKeyToStaticPublicKey
Um einen AWS KMS ECDH-Schlüsselbund mit dem Schlüsselvereinbarungsschema zu initialisieren, geben Sie die folgenden KmsPrivateKeyToStaticPublicKey
Werte an:
-
ID des Absenders AWS KMS key
Muss ein von NIST empfohlenes asymmetrisches KMS-Schlüsselpaar mit elliptischer Kurve (ECC) mit einem Wert von identifizieren.
KeyUsage
KEY_AGREEMENT
Der private Schlüssel des Absenders wird verwendet, um den gemeinsamen geheimen Schlüssel abzuleiten. -
(Optional) Der öffentliche Schlüssel des Absenders
Die AWS KMS GetPublicKeyOperation gibt den öffentlichen Schlüssel eines asymmetrischen KMS-Schlüsselpaars im erforderlichen DER-codierten Format zurück.
Um die Anzahl der AWS KMS Anrufe zu reduzieren, die Ihr Schlüsselbund tätigt, können Sie den öffentlichen Schlüssel des Absenders direkt angeben. Wenn kein Wert für den öffentlichen Schlüssel des Absenders angegeben wird, ruft der Schlüsselbund auf, AWS KMS um den öffentlichen Schlüssel des Absenders abzurufen.
-
Der öffentliche Schlüssel des Empfängers
Die AWS KMS GetPublicKeyOperation gibt den öffentlichen Schlüssel eines asymmetrischen KMS-Schlüsselpaars im erforderlichen DER-codierten Format zurück.
-
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
-
(Optional) Eine Liste von Grant-Tokens
Wenn Sie den Zugriff auf den KMS-Schlüssel in Ihrem AWS KMS ECDH-Schlüsselbund mit Grants steuern, müssen Sie bei der Initialisierung des Schlüsselbunds alle erforderlichen Grant-Token angeben.
Einen AWS KMS ECDH-Discovery-Schlüsselbund erstellen
Beim Entschlüsseln empfiehlt es sich, die Schlüssel anzugeben, die sie verwenden können. AWS Encryption SDK
Um dieser bewährten Methode zu folgen, verwenden Sie einen AWS KMS ECDH-Schlüsselbund mit dem KmsPrivateKeyToStaticPublicKey
Schlüsselvereinbarungsschema. Sie können jedoch auch einen AWS KMS ECDH-Discovery-Schlüsselbund erstellen, d. h. einen AWS KMS ECDH-Schlüsselbund, der jede Nachricht entschlüsseln kann, bei der der öffentliche Schlüssel des angegebenen KMS-Schlüsselpaars mit dem öffentlichen Schlüssel des Empfängers übereinstimmt, der im Nachrichtenchiffretext gespeichert ist.
Wichtig
Wenn Sie Nachrichten mithilfe des KmsPublicKeyDiscovery
Schlüsselvereinbarungsschemas entschlüsseln, akzeptieren Sie alle öffentlichen Schlüssel, unabhängig davon, wem sie gehören.
Um einen AWS KMS ECDH-Schlüsselbund mit dem Schlüsselvereinbarungsschema zu initialisieren, geben Sie die KmsPublicKeyDiscovery
folgenden Werte an:
-
ID des Empfängers AWS KMS key
Muss ein von NIST empfohlenes asymmetrisches KMS-Schlüsselpaar mit elliptischer Kurve (ECC) mit einem Wert von identifizieren.
KeyUsage
KEY_AGREEMENT
-
Spezifikation der Kurve
Identifiziert die elliptische Kurvenspezifikation im KMS-Schlüsselpaar des Empfängers.
Zulässige Werte:
ECC_NIST_P256
,ECC_NIS_P384
,ECC_NIST_P512
-
(Optional) Eine Liste von Grant-Tokens
Wenn Sie den Zugriff auf den KMS-Schlüssel in Ihrem AWS KMS ECDH-Schlüsselbund mit Grants steuern, müssen Sie bei der Initialisierung des Schlüsselbunds alle erforderlichen Grant-Token angeben.