Exportieren Sie eine Klartextkopie eines AWS CloudHSM Schlüssels mit KMU - 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.

Exportieren Sie eine Klartextkopie eines AWS CloudHSM Schlüssels mit KMU

Verwenden Sie den exSymKey Befehl im Tool AWS CloudHSM key_mgmt_util, um eine Klartextkopie eines symmetrischen Schlüssels aus dem Hardware-Sicherheitsmodul () zu exportieren und in einer Datei auf der Festplatte zu speichern. HSM Um eine verschlüsselte (verpackte) Kopie eines Schlüssels zu exportieren, verwenden Sie. wrapKey Um einen Klartext-Schlüssel zu importieren, wie z. B. Schlüssel, der exSymKey exportiert wird, verwenden Sie imSymKey.

exSymKeyVerwendet während des Exportvorgangs einen von Ihnen angegebenen AES Schlüssel (den Umschließungsschlüssel), um den zu exportierenden Schlüssel zu umschließen (zu verschlüsseln) und dann zu entpacken (zu entschlüsseln). Das Ergebnis des Exportvorgangs ist jedoch ein Klartextschlüssel (entpackter Schlüssel) auf einem Datenträger.

Nur der Eigentümer eines Schlüssels, d. h., der CU-Benutzer, der den Schlüssel erstellt 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.

Bei diesem exSymKey Vorgang wird das Schlüsselmaterial in eine von Ihnen angegebene Datei kopiert, der Schlüssel wird jedoch nicht aus der Datei entferntHSM, seine Schlüsselattribute werden nicht geändert und Sie werden auch nicht daran gehindert, den Schlüssel für kryptografische Operationen zu verwenden. Sie können den gleichen Schlüssel mehrmals exportieren.

exSymKey exportiert nur symmetrische Schlüssel. Zum Exportieren von öffentlichen Schlüsseln verwenden Sie exportPubKey. Zum Exportieren von privaten Schlüsseln verwenden Sie exportPrivateKey.

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

Syntax

exSymKey -h exSymKey -k <key-to-export> -w <wrapping-key> -out <key-file> [-m 4] [-wk <unwrapping-key-file> ]

Beispiele

Diese Beispiele zeigen, wie Sie symmetrische Schlüssel, die Sie besitzen, aus Ihrem exportieren können. exSymKey HSMs

Beispiel : Exportiert einen DES symmetrischen 3-Schlüssel

Dieser Befehl exportiert einen dreifachen DES (3DES) symmetrischen Schlüssel (Tastenkürzel). 7 Dabei wird ein vorhandener AES Schlüssel (Tastenkürzel6) in der HSM als Umbruchschlüssel verwendet. Dann schreibt es den Klartext der DES 3-Schlüssel in die 3DES.key Datei.

Die Ausgabe zeigt, dass der Schlüssel 7 (die DES 3-Schlüssel) erfolgreich verpackt und entpackt und dann in die 3DES.key Datei geschrieben wurde.

Warnung

Obwohl die Ausgabe besagt, dass ein „verpackter symmetrischer Schlüssel“ in die Ausgabedatei geschrieben wurden, enthält die Ausgabedatei einen (entpackten) Klartextschlüssel.

Command: exSymKey -k 7 -w 6 -out 3DES.key Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS Wrapped Symmetric Key written to file "3DES.key"
Beispiel : Exportieren mit einem nur für die aktuelle Sitzung gültigen Verpackungsschlüssel

Das folgende Beispiel zeigt, wie Sie einen Schlüssel verwenden, der nur in dieser Sitzung als Verpackungsschlüssel vorhanden ist. Da der zu exportierende Schlüssel verpackt ist, anschließend sofort entpackt und als Klartext bereitgestellt wird, ist es nicht nötig, den Verpackungsschlüssel aufzubewahren.

Diese Reihe von Befehlen exportiert eine AES Taste mit einem Tastenkürzel 8 aus demHSM. Es verwendet einen AES Sitzungsschlüssel, der speziell für diesen Zweck erstellt wurde.

Der erste Befehl wird verwendet genSymKey, um einen AES 256-Bit-Schlüssel zu erstellen. Dabei wird der -sess-Parameter zum Erstellen eines Schlüssels verwendet, der nur in der aktuellen Sitzung vorhanden ist.

Die Ausgabe zeigt, dass der Creates-Schlüssel verwendet HSM wird. 262168

Command: genSymKey -t 31 -s 32 -l AES-wrapping-key -sess Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS Symmetric Key Created. Key Handle: 262168 Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS

Als Nächstes wird im Beispiel sichergestellt, dass es sich bei dem Schlüssel 8, dem zu exportierenden Schlüssel, um einen symmetrischen Schlüssel handelt, der extrahierbar ist. Außerdem wird überprüft, ob es sich bei dem Wrapping-Schlüssel, key262168, um einen AES Schlüssel handelt, der nur in der Sitzung vorhanden ist. Sie können den findKeyBefehl verwenden, aber in diesem Beispiel werden die Attribute beider Schlüssel in Dateien exportiert und dann verwendetgrep, um die entsprechenden Attributwerte in der Datei zu finden.

Diese Befehle verwenden getAttribute mit einem -a Wert von 512 (alle), um alle Attribute für die Schlüssel 8 und 262168 aufzurufen. Weitere Informationen zu den Schlüsselattributen finden Sie unter AWS CloudHSM Referenz zu einem Schlüsselattribut für KMU.

getAttribute -o 8 -a 512 -out attributes/attr_8 getAttribute -o 262168 -a 512 -out attributes/attr_262168

Diese Befehle verwenden grep, um die Attribute des zu exportierenden Schlüssels (Schlüssel 8) und des nur für die aktuelle Sitzung gültigen Verpackungsschlüssels (Schlüssel 262168) zu überprüfen.

// Verify that the key to be exported is a symmetric key. $ grep -A 1 "OBJ_ATTR_CLASS" attributes/attr_8 OBJ_ATTR_CLASS 0x04 // Verify that the key to be exported is extractable. $ grep -A 1 "OBJ_ATTR_KEY_TYPE" attributes/attr_8 OBJ_ATTR_EXTRACTABLE 0x00000001 // Verify that the wrapping key is an AES key $ grep -A 1 "OBJ_ATTR_KEY_TYPE" attributes/attr_262168 OBJ_ATTR_KEY_TYPE 0x1f // Verify that the wrapping key is a session key $ grep -A 1 "OBJ_ATTR_TOKEN" attributes/attr_262168 OBJ_ATTR_TOKEN 0x00 // Verify that the wrapping key can be used for wrapping $ grep -A 1 "OBJ_ATTR_WRAP" attributes/attr_262168 OBJ_ATTR_WRAP 0x00000001

Schließlich verwenden wir den Befehl exSymKey, um den Schlüssel 8 mithilfe des Sitzungsschlüssels (Schlüssel 262168) als Verpackungsschlüssel zu exportieren.

Wenn die Sitzung beendet wird, wird der Schlüssel 262168 nicht länger vorhanden sein.

Command: exSymKey -k 8 -w 262168 -out aes256_H8.key Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS Wrapped Symmetric Key written to file "aes256_H8.key"
Beispiel : Verwenden eines externen Entpackungsschlüssels

Dieses Beispiel zeigt, wie Sie einen externen Entpackungsschlüssel verwenden, um einen Schlüssel aus dem HSM zu exportieren.

Wenn Sie einen Schlüssel aus dem exportierenHSM, geben Sie einen AES Schlüssel auf dem als HSM Umschließungsschlüssel an. Standardmäßig wird dieser Schlüssel dazu verwendet, den zu exportierenden Schlüssel zu verpacken und zu entpacken. Sie können jedoch mithilfe des -wk-Parameters exSymKey anweisen, zum Entpacken einen externen Schlüssel in einer Datei auf einem Datenträger zu verwenden. Wenn Sie sich dafür entscheiden, verpackt der vom -w-Parameter angegebene Schlüssel den Ziel-Schlüssel, und der Schlüssel, der sich in der vom -wk-Parameter angegebenen Datei befindet, entpackt den Schlüssel.

Da es sich bei dem Schlüssel um einen symmetrischen AES Schlüssel handeln muss, müssen der Umbruchschlüssel im HSM und der Entpackungsschlüssel auf der Festplatte dasselbe Schlüsselmaterial haben. Dazu müssen Sie den Umschließungsschlüssel HSM vor dem Exportvorgang in die Datei importieren HSM oder den Umschließungsschlüssel aus der Datei exportieren.

In diesem Beispiel wird ein Schlüssel außerhalb von erstellt HSM und in den importiertHSM. Dabei wird eine interne Kopie des Schlüssels verwendet, um den zu exportierenden symmetrischen Schlüssel zu verpacken, und anschließend die Kopie des Schlüssels in der Datei dazu benutzt, um ihn zu entpacken.

Der erste Befehl verwendet OpenSSL, um einen AES 256-Bit-Schlüssel zu generieren. Der Schlüssel wird in der Datei aes256-forImport.key gespeichert. Der SSL Befehl Öffnen gibt keine Ausgabe zurück, Sie können jedoch mehrere Befehle verwenden, um zu bestätigen, dass er erfolgreich war. Dieses Beispiel verwendet das wc-Tool (Wordcount), das bestätigt, dass die Datei 32 Byte an Daten umfasst.

$ openssl rand -out keys/aes256-forImport.key 32 $ wc keys/aes256-forImport.key 0 2 32 keys/aes256-forImport.key

Dieser Befehl verwendet den imSymKeyBefehl, um den AES Schlüssel aus der aes256-forImport.key Datei in die zu importierenHSM. Wenn der Befehl abgeschlossen ist, ist der Schlüssel im HSM Schlüsselnamen with 262167 und in der aes256-forImport.key Datei vorhanden.

Command: imSymKey -f keys/aes256-forImport.key -t 31 -l aes256-imported -w 6 Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS Symmetric Key Unwrapped. Key Handle: 262167 Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Dieser Befehl verwendet den Schlüssel in einem Exportvorgang. Der Befehl verwendet exSymKey zum Exportieren des Schlüssels 21 einen AES 192-Bit-Schlüssel. Zum Umschließen des Schlüssels wird der Schlüssel 262167 verwendet. Dabei handelt es sich um die Kopie, die in den importiert wurde. HSM Um den Schlüssel zu entpacken, werden die gleichen Schlüsselinformationen in der Datei aes256-forImport.key verwendet. Nach der Ausführung des Befehls wird der Schlüssel 21 in die Datei aes192_h21.key exportiert.

Command: exSymKey -k 21 -w 262167 -out aes192_H21.key -wk aes256-forImport.key Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS Wrapped Symmetric Key written to file "aes192_H21.key"

Parameter

-h

Zeigt Hilfe für den Befehl an.

Erforderlich: Ja

-k

Gibt das Schlüssel-Handle des zu exportierenden Schlüssels an. Dieser Parameter muss angegeben werden. Geben Sie das Schlüssel-Handle eines symmetrischen Schlüssels ein, dessen Eigentümer Sie sind. Dieser Parameter muss angegeben werden. Verwenden Sie den findKeyBefehl, um nach Schlüsselnamen zu suchen.

Um zu überprüfen, ob ein Schlüssel exportiert werden kann, verwenden Sie den getAttributeBefehl, um den Wert des OBJ_ATTR_EXTRACTABLE Attributs abzurufen, der durch eine Konstante dargestellt wird354. Zudem können Sie nur Schlüssel exportieren, deren Eigentümer Sie sind. Verwenden Sie den getKeyInfoBefehl, um den Besitzer eines Schlüssels zu ermitteln.

Erforderlich: Ja

-w

Gibt das Schlüssel-Handle des Verpackungsschlüssels an. Dieser Parameter muss angegeben werden. Verwenden Sie den findKeyBefehl, um nach Schlüsselnamen zu suchen.

Ein Umschließungsschlüssel ist ein Schlüssel in derHSM, der zum Verschlüsseln (Umschließen) und dann zum Entschlüsseln (Entpacken) des zu exportierenden Schlüssels verwendet wird. Nur AES Schlüssel können als Schlüssel zum Umschließen verwendet werden.

Sie können einen beliebigen AES Schlüssel (beliebiger Größe) als Umbruchschlüssel verwenden. Da der Umbruchschlüssel den Zielschlüssel umschließt und dann sofort wieder entpackt, können Sie ihn als Schlüssel für den Zeilenumbruch als AES Schlüssel für den Zeilenumbruch verwenden. Um zu ermitteln, ob ein Schlüssel als Umbruchschlüssel verwendet werden kann, rufen Sie getAttributeden Wert des OBJ_ATTR_WRAP Attributs ab, der durch die Konstante dargestellt wird. 262 Um einen Wrapping-Schlüssel zu erstellen, verwenden Sie, genSymKeyum einen AES Schlüssel zu erstellen (geben Sie 31 ein).

Wenn Sie den Parameter -wk zum Angeben eines externen Entschlüsselungsschlüssels verwenden, wird der -w-Schlüssel während des Exportvorgangs zum Verpacken, aber nicht zum Entpacken des Schlüssels verwendet.

Anmerkung

Schlüssel 4 stellt einen nicht unterstützten internen Schlüssel dar. Es wird empfohlen, einen AES Schlüssel, den Sie selbst erstellen und verwalten, als Umschließungsschlüssel zu verwenden.

Erforderlich: Ja

-out

Gibt den Pfad und Namen der Ausgabedatei an. Wenn der Befehl erfolgreich ist, enthält diese Datei den exportierten Schlüssel als Klartext. Wenn die Datei bereits vorhanden ist, überschreibt der Befehl sie ohne Warnung.

Erforderlich: Ja

-m

Gibt den Verpackungsmechanismus an. Der einzige gültige Wert ist 4, der den NIST_AES_WRAP-Mechanismus darstellt.

Erforderlich: Nein

Standard: 4

-wk

Verwenden Sie den AES Schlüssel in der angegebenen Datei, um den Schlüssel, der exportiert wird, zu entpacken. Geben Sie den Pfad und den Namen einer Datei ein, die einen Klartext-Schlüssel AES enthält.

Wenn Sie diesen Parameter einbeziehen. exSymKeyverwendet den Schlüssel in derHSM, der im -w Parameter angegeben ist, um den Schlüssel, der exportiert wird, zu umschließen, und verwendet den Schlüssel in der -wk Datei, um ihn zu entpacken. Die Parameterwerte -w und -wk müssen durch denselben Klartextschlüssel aufgelöst werden.

Erforderlich: Nein

Standard: Verwenden Sie zum Entpacken die Umbruchtaste HSM auf der.

Verwandte Themen