wrapKey - AWS CloudHSM

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.

wrapKey

Der wrapKey-Befehl in key_mgmt_util exportiert eine verschlüsselte Kopie eines symmetrischen oder privaten Schlüssels aus dem HSM in eine Datei. Wenn Sie wrapKey ausführen, geben Sie den zu exportierenden Schlüssel, einen Schlüssel in dem HSM zum Verschlüsseln (Wrap) des zu exportierenden Schlüssels und die Ausgabedatei an.

Der Befehl wrapKey schreibt den verschlüsselten Schlüssel in eine von Ihnen angegebene Datei, entfernt den Schlüssel jedoch nicht aus dem HSM oder verhindert, dass Sie ihn in kryptographischen Operationen verwenden. Sie können den gleichen Schlüssel mehrmals exportieren.

Nur der Eigentümer eines Schlüssels, d.h. der Crypto-Benutzer (CU), der den Schlüssel angelegt hat, kann ihn exportieren. Benutzer, für die der Schlüssel freigegeben ist, können ihn in kryptografischen Vorgängen verwenden, können ihn aber nicht exportieren.

Um den verschlüsselten Schlüssel wieder in das HSM zu importieren, verwenden Sie. unWrapKey Um einen Klartext-Schlüssel aus einem HSM zu exportieren, verwenden Sie exSymKeyoder exportPrivateKeyje nach Bedarf. aesWrapUnwrapMit dem Befehl können verschlüsselte Schlüssel nicht entschlüsselt (entpackt) werden. wrapKey

Bevor Sie einen key_mgmt_util-Befehl ausführen, müssen Sie key_mgmt_util starten und sich am HSM als Crypto-Benutzer (CU) anmelden.

Syntax

wrapKey -h wrapKey -k <exported-key-handle> -w <wrapping-key-handle> -out <output-file> [-m <wrapping-mechanism>] [-aad <additional authenticated data filename>] [-t <hash-type>] [-noheader] [-i <wrapping IV>] [-iv_file <IV file>] [-tag_size <num_tag_bytes>>]

Beispiel

Mit diesem Befehl wird ein symmetrischer 192-Bit-3DES-Schlüssel exportiert (Schlüssel-Handle 7). Der Befehl verwendet einen 256-Bit-AES-Schlüssel im HSM (Schlüssel-Handle 14), um den Schlüssel 7 zu verpacken. Anschließend wird der verschlüsselte 3DES-Schlüssel in die Datei 3DES-encrypted.key geschrieben.

Die Ausgabe zeigt, dass der Schlüssel 7 (der 3DES-Schlüssel) erfolgreich verpackt und in die angegebene Datei geschrieben wurde. Der verschlüsselte Schlüssel hat eine Länge von 307 Byte.

Command: wrapKey -k 7 -w 14 -out 3DES-encrypted.key -m 4 Key Wrapped. Wrapped Key written to file "3DES-encrypted.key length 307 Cfm2WrapKey returned: 0x00 : HSM Return: SUCCESS

Parameter

-h

Zeigt Hilfe für den Befehl an.

Erforderlich: Ja

-k

Der Schlüssel-Handle des Schlüssels, den Sie exportieren möchten. Geben Sie das Schlüssel-Handle eines symmetrischen oder privaten Schlüssels ein, der Ihnen gehört. Verwenden Sie den findKey-Befehl, um Schlüssel-Handles zu finden.

Verwenden Sie den Befehl getAttribute, um sicherzustellen, dass ein Schlüssel exportiert werden kann, und um den Wert des Attributs OBJ_ATTR_EXTRACTABLE abzurufen, der von der Konstanten 354 dargestellt wird. Hilfe zur Interpretation der Schlüsselattribute finden Sie unter Schlüsselattributreferenz.

Zudem können Sie nur Schlüssel exportieren, deren Eigentümer Sie sind. Verwenden Sie den Befehl, um den Besitzer eines Schlüssels zu ermitteln. getKeyInfo

Erforderlich: Ja

-w

Gibt den Wrapping-Schlüssel an. Geben Sie das Schlüssel-Handle eines AES-Schlüssels oder RSA-Schlüssels auf dem HSM ein. Dieser Parameter muss angegeben werden. Verwenden Sie den findKey-Befehl, um Schlüssel-Handles zu finden.

Um einen Wrapping-Schlüssel zu erstellen, verwenden Sie, genSymKeyum einen AES-Schlüssel (Typ 31) zu generieren, oder GenRSA KeyPair, um ein RSA-Schlüsselpaar zu generieren (Typ 0). Wenn Sie ein RSA-Schlüsselpaar verwenden, achten Sie darauf, den Schlüssel mit einem der Schlüssel zu umwickeln und ihn mit dem anderen zu entpacken. Verwenden Sie getAttribute, um zu überprüfen, ob ein Schlüssel als Verpackungsschlüssel verwendet werden kann, und um den Wert des OBJ_ATTR_WRAP-Attributs abzurufen, der von der Konstanten 262 dargestellt wird.

Erforderlich: Ja

-out

Pfad und Name der Ausgabedatei. Wenn der Befehl erfolgreich ist, enthält diese Datei eine verschlüsselte Kopie des exportierten Schlüssels. Wenn die Datei bereits vorhanden ist, überschreibt der Befehl sie ohne Warnung.

Erforderlich: Ja

-m

Der Wert, der den Verschlüsselungsmechanismus bezeichnet. CloudHSM unterstützt die folgenden Mechanismen:

Mechanismus Wert
AES_KEY_WRAP_PAD_PKCS5 4
NIST_AES_WRAP_NO_PAD 5
NIST_AES_WRAP_PAD 6
RSA_AES 7
RSA_OAEP (zur maximalen Datengröße lesen Sie den Hinweis weiter unten in diesem Abschnitt) 8
AES_GCM 10
CLOUDHSM_AES_GCM 11
RSA_PKCS (Zur maximalen Datengröße lesen Sie den Hinweis weiter unten in diesem Abschnitt.) Eine bevorstehende Änderung finden Sie im Hinweis 1 unten. 12

Erforderlich: Ja

Anmerkung

Wenn Sie den RSA_OAEP Wrapping-Mechanismus verwenden, wird die maximale Schlüsselgröße, die Sie umbrechen können, durch den Modul des RSA-Schlüssels und die Länge des angegebenen Hashs wie folgt bestimmt: Maximale Schlüsselgröße = (Bytes-2* Bytes-2). modulusLengthIn hashLengthIn

Wenn Sie den RSA_PKCS-Wrapping-Mechanismus verwenden, wird die maximale Schlüsselgröße, die Sie umbrechen können, durch das Modul des RSA-Schlüssels wie folgt bestimmt: Maximale Schlüsselgröße = (Byte -11). modulusLengthIn

-t

Der Wert, der den Hash-Algorithmus darstellt. CloudHSM unterstützt die folgenden Algorithmen:

Hash-Algorithmus Wert
SHA1 2
SHA256 3
SHA384 4
SHA512 5
SHA224 (gültig für RSA_AES- und RSA_OAEP-Mechanismen) 6

Erforderlich: Nein

AAD

Der Dateiname mit AAD.

Anmerkung

Gültig nur für AES_GCM- und CLOUDHSM_AES_GCM-Mechanismen.

Erforderlich: Nein

-noheader

Lässt den Header weg, der CloudHSM-spezifische Schlüsselattribute angibt. Verwenden Sie diesen Parameter nur, wenn Sie planen, den Schlüssel mit Tools außerhalb von key_mgmt_util zu entpacken.

Erforderlich: Nein

-i

Der Initialisierungsvektor (IV) (Hex-Wert).

Anmerkung

Gültig nur, wenn mit dem -noheader-Parameter für CLOUDHSM_AES_KEY_WRAP- und NIST_AES_WRAP-Mechanismen übergeben.

Erforderlich: Nein

-iv_file

Die Datei, in die Sie den als Antwort erhaltenen IV-Wert schreiben möchten.

Anmerkung

Gültig nur, wenn mit dem -noheader-Parameter für den AES_GCM-Mechanismus übergeben.

Erforderlich: Nein

-tag_size

Die Größe des Tags, das zusammen mit verschlüsseltem Blob gespeichert werden soll.

Anmerkung

Gültig nur, wenn mit dem -noheader-Parameter für AES_GCM- und CLOUDHSM_AES_GCM-Mechanismen übergeben. Die Mindestgröße der Tags ist acht.

Erforderlich: Nein

[1] Gemäß den NIST-Richtlinien ist dies für Cluster im FIPS-Modus nach 2023 nicht zulässig. Für Cluster im Nicht-FIPS-Modus ist dies auch nach 2023 zulässig. Details dazu finden Sie unter FIPS-140-Konformität: Mechanismus 2024 nicht mehr unterstützt.

Verwandte Themen