Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Importieren Sie einen symmetrischen Klartext-Schlüssel mit KMU AWS CloudHSM

Fokusmodus
Importieren Sie einen symmetrischen Klartext-Schlüssel mit KMU AWS CloudHSM - 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.

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.

Verwenden Sie den imSymKey Befehl im Tool AWS CloudHSM key_mgmt_util, um eine Klartextkopie eines symmetrischen Schlüssels aus einer Datei in das Hardware-Sicherheitsmodul (HSM) zu importieren. Sie können damit Schlüssel importieren, die Sie mit einer beliebigen Methode außerhalb des HSM generiert haben, sowie Schlüssel, die aus einem HSM exportiert wurden, z. B. die Schlüssel, die der Befehl, in eine Datei schreibt. exSymKey

Während des Importvorgangs verwendet imSymKey einen AES-Schlüssel, den Sie auswählen (Schlüssel zum Packen), um den zu importierenden Schlüssel zu packen (verschlüsseln) und zu entpacken (entschlüsseln). Allerdings funktioniert imSymKey nur für Dateien, die Klartextschlüssel enthalten. Um verschlüsselte Schlüssel zu exportieren und zu importieren, verwenden Sie den WrapKey und unWrapKeydie Befehle.

Darüber hinaus exportiert der Befehl imSymKey nur symmetrische Schlüssel. Zum Importieren von öffentlichen Schlüsseln verwenden Sie importPubKey. Um private Schlüssel zu importieren, verwenden Sie importPrivateKeyoder WrapKey.

Anmerkung

Sie können einen passwortgeschützten PEM-Schlüssel nicht mithilfe eines symmetrischen oder privaten Schlüssels importieren.

Importierte Schlüssel können genauso wie im HSM generierte Schlüssel verwendet werden. Der Wert des Attributs OBJ_ATTR_LOCAL ist allerdings Null, was darauf hinweist, dass es nicht lokal generiert wurde. Mit dem folgenden Befehl können Sie einen symmetrischen Schlüssel freigeben, während Sie ihn importieren. Mit dem Befehl shareKey in cloudhsm_mgmt_util können Sie den Schlüssel freigeben, nachdem er importiert wurde.

imSymKey -l aesShared -t 31 -f kms.key -w 3296 -u 5

Vergewissern Sie sich, dass Sie die Schlüsseldatei nach dem Importieren des Schlüssels markieren oder entfernen. Dieser Befehl verhindert nicht das wiederholte Importieren der gleichen Schlüsselinformationen. Das Ergebnis, mehrere Schlüssel mit eindeutigen Schlüssel-Handles und den gleichen Schlüsselinformationen, erschwert es, die Verwendung der Schlüsselinformationen nachzuverfolgen und eine Überschreitung der kryptografischen Grenzwerte zu verhindern.

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

imSymKey -h imSymKey -f <key-file> -w <wrapping-key-handle> -t <key-type> -l <label> [-id <key-ID>] [-sess] [-wk <wrapping-key-file> ] [-attest] [-min_srv <minimum-number-of-servers>] [-timeout <number-of-seconds> ] [-u <user-ids>]

Beispiele

Diese Beispiele zeigen, wie Sie symmetrische Schlüssel imSymKey in Ihre importieren können. HSMs

Beispiel : Importieren eines symmetrischen AES-Schlüssels

In diesem Beispiel wird imSymKey ein symmetrischer AES-Schlüssel in den importiert. HSMs

Der erste Befehl verwendet OpenSSL, um einen symmetrischen 256-Bit-AES-Schlüssel nach dem Zufallsprinzip zu generieren. Der Schlüssel wird in der Datei aes256.key gespeichert.

$ openssl rand -out aes256-forImport.key 32

Der zweite Befehl dient imSymKey zum Importieren des AES-Schlüssels aus der aes256.key Datei in die HSMs. Dabei wird Schlüssel 20, ein AES-Schlüssel im HSM, als Schlüssel zum Packen eingesetzt und die Beschriftung imported festgelegt. Im Gegensatz zur ID muss die Beschriftung im Cluster nicht eindeutig sein. Der Wert des Parameters (Typs) -t ist 31, der AES darstellt.

Die Ausgabe zeigt, dass der Schlüssel in der Datei verpackt und entpackt und dann in das HSM importiert wurde, wo ihm das Schlüssel-Handle 262180 zugewiesen wurde.

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

Der nächste Befehl verwendet getAttribute, um das Attribut OBJ_ATTR_LOCAL (Attribut 355) des neu importierten Schlüssels abzurufen und in der Datei attr_262180 zu speichern.

Command: getAttribute -o 262180 -a 355 -out attributes/attr_262180 Attributes dumped into attributes/attr_262180_imported file Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS

Wenn Sie die Attributdatei untersuchen, sehen Sie, dass der Wert des Attributs OBJ_ATTR_LOCAL null ist. Dies bedeutet, dass die Schlüsselinformationen nicht im HSM generiert wurden.

$ cat attributes/attr_262180_local OBJ_ATTR_LOCAL 0x00000000
Beispiel : Verschieben eines symmetrischen Schlüssels zwischen Clustern

Das folgende Beispiel zeigt, wie Sie mit exSymKey und imSymKey einen AES-Klartextschlüssel zwischen Clustern verschieben. Sie könnten einen Prozess wie diesen verwenden, um ein AES-Wrapping zu erstellen, das auf HSMs beiden Clustern vorhanden ist. Sobald der gemeinsame Wrapping-Schlüssel vorhanden ist, können Sie WrapKey verwenden und unWrapKeyverschlüsselte Schlüssel zwischen den Clustern verschieben.

Der CU-Benutzer, der diesen Vorgang ausführt, muss über die Berechtigung verfügen, sich HSMs auf beiden Clustern anzumelden.

Der erste Befehl verwendet exSymKey zum Exportieren von Schlüssel 14, einem 32-Bit-AES-Schlüssel, aus Cluster 1 in die Datei aes.key. Es verwendet Schlüssel 6, einen AES-Schlüssel auf dem HSMs In-Cluster 1, als Umschließungsschlüssel.

Command: exSymKey -k 14 -w 6 -out aes.key Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS Wrapped Symmetric Key written to file "aes.key"

Der Benutzer meldet sich dann bei key_mgmt_util in Cluster 2 an und führt einen imSymKey Befehl aus, um den Schlüssel in der aes.key Datei in Cluster 2 zu importieren. HSMs Dieser Befehl verwendet den Schlüssel 252152, einen AES-Schlüssel HSMs in Cluster 2, als Umschließungsschlüssel.

Da die Schlüssel zum Packen, die exSymKey und imSymKey verwenden, die Zielschlüssel packen und sofort entpacken, müssen die Schlüssel zum Packen in den verschiedenen Clustern nicht identisch sein.

Die Ausgabe zeigt, dass der Schlüssel erfolgreich in Cluster 2 importiert und das Schlüssel-Handle 21 zugwiesen wurde.

Command: imSymKey -f aes.key -w 262152 -t 31 -l xcluster Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS Symmetric Key Unwrapped. Key Handle: 21 Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 2 and err state 0x00000000 : HSM Return: SUCCESS

Um nachzuweisen, dass Schlüssel 14 in Cluster 1 und Schlüssel 21 in Cluster 2 über dieselben Schlüsselinformationen verfügen, rufen Sie den Schlüsselprüfwert (Key Check Value, KCV) der einzelnen Schlüssel ab. Bei identischen KCV-Werten sind die Schlüsselinformationen gleich.

Im folgenden Befehl wird getAttribute in Cluster 1 verwendet, um den Wert des KCV-Attributs (Attribut 371) von Schlüssel 14 in die Datei attr_14_kcv zu schreiben. Anschließend wird mit dem Befehl cat der Inhalt der Datei attr_14_kcv abgerufen.

Command: getAttribute -o 14 -a 371 -out attr_14_kcv Attributes dumped into attr_14_kcv file $ cat attr_14_kcv OBJ_ATTR_KCV 0xc33cbd

Dieser ganz ähnliche Befehl verwendet getAttribute in Cluster 2, um den Wert des KCV-Attributs (Attribut 371) von Schlüssel 21 in die Datei attr_21_kcv zu schreiben. Anschließend wird mit dem Befehl cat der Inhalt der Datei attr_21_kcv abgerufen.

Command: getAttribute -o 21 -a 371 -out attr_21_kcv Attributes dumped into attr_21_kcv file $ cat attr_21_kcv OBJ_ATTR_KCV 0xc33cbd

Die Ausgabe zeigt, dass die KCV-Werte der beiden Schlüssel gleich sind, was beweist, dass die Schlüsselinformationen identisch sind.

Da in beiden Clustern dasselbe Schlüsselmaterial vorhanden ist, können Sie jetzt verschlüsselte Schlüssel zwischen den Clustern gemeinsam nutzen, ohne jemals den Klartext-Schlüssel preiszugeben. HSMs Beispielsweise können Sie den Befehl wrapKey mit dem Schlüssel 14 zum Packen verwenden, um einen verschlüsselten Schlüssel aus Cluster 1 zu exportieren, und anschließend unWrapKey mit Schlüssel 21 zum Packen verwenden, um den verschlüsselten Schlüssel in Cluster 2 zu importieren.

Beispiel : Importieren eines Sitzungsschlüssels

Dieser Befehl verwendet die Parameter -sess von imSymKey zum Importieren eines 192-Bit-3DES-Schlüssels, der nur für die aktuelle Sitzung gültig ist.

Der Befehl verwendet den Parameter -f, um die Datei mit dem zu importierenden Schlüssel anzugeben, den Parameter -t zur Angabe des Schlüsseltyps und den Parameter -w, um den Schlüssel zum Packen festzulegen. Er verwendet den Parameter -l zum Angeben einer Beschriftung, die den Schlüssel kategorisiert, und den Parameter -id zum Erstellen eines benutzerfreundlichen, aber eindeutigen Bezeichners für den Schlüssel. Mit dem Parameter -attest wird außerdem die Firmware, die den Schlüssel importiert, überprüft.

Die Ausgabe zeigt, dass der Schlüssel erfolgreich verpackt und entpackt und dann in das HSM importiert wurde, wo ihm das Schlüssel-Handle 37 zugewiesen wurde. Außerdem wurde die Bescheinigungsprüfung bestanden, was angibt, dass die Firmware nicht unbefugt geändert wurde.

Command: imSymKey -f 3des192.key -w 6 -t 21 -l temp -id test01 -sess -attest Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS Symmetric Key Unwrapped. Key Handle: 37 Attestation Check : [PASS] Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Anschließend können Sie den Befehl getAttribute oder findKey verwenden, um die Attribute der neu importierten Schlüssel zu überprüfen. Der folgende Befehl verwendet findKey, um zu überprüfen, dass der Schlüssel 37 über die vom Befehl angegebenen Typ-, Beschriftungs- und ID-Werte verfügt, und dass es sich um einen Sitzungsschlüssel handelt. Wie in Zeile 5 der Ausgabe gezeigt, meldet findKey, dass der einzige Schlüssel, der allen Attributen entspricht, Schlüssel 37 ist.

Command: findKey -t 21 -l temp -id test01 -sess 1 Total number of keys present 1 number of keys matched from start index 0::0 37 Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 2 and err state 0x00000000 : HSM Return: SUCCESS Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS

Parameter

-attest

Führt eine Integritätsprüfung durch, die sicherstellt, dass die Firmware, auf der der Cluster läuft, nicht manipuliert wurde.

Standard: Keine Bescheinigungsprüfung.

Erforderlich: Nein

-f

Gibt die Datei an, die den zu importierenden Schlüssel enthält.

Die Datei muss eine Klartextkopie eines AES- oder Triple-DES-Schlüssels der angegebenen Länge enthalten. RC4 und DES-Schlüssel sind im HSMs FIPS-Modus nicht gültig.

  • AES: 16, 24 oder 32 Bytes

  • Triple-DES (3DES): 24 Byte

Erforderlich: Ja

-h

Zeigt Hilfe für den Befehl an.

Erforderlich: Ja

-id

Gibt einen benutzerdefinierten Bezeichner für den Schlüssel an. Geben Sie eine Zeichenfolge ein, die im Cluster eindeutig ist. Der Standardwert ist eine leere Zeichenfolge.

Standard : Kein ID-Wert.

Erforderlich: Nein

-l

Gibt eine benutzerdefinierte Bezeichnung für den Schlüssel an. Geben Sie eine Zeichenfolge ein.

Sie können eine beliebige Phrase verwenden, die Ihnen bei der Identifizierung des Schlüssels hilft. Da die Bezeichnung nicht eindeutig sein muss, können Sie sie verwenden, um Schlüssel zu gruppieren und zu kategorisieren.

Erforderlich: Ja

-min_srv

Gibt die Mindestanzahl HSMs an, mit der der Schlüssel synchronisiert wird, bevor der Wert des -timeout Parameters abläuft. Falls der Schlüssel nicht in der zulässigen vorgegebenen Zeit mit der angegebenen Anzahl von Servern synchronisiert wird, wird er nicht erstellt.

AWS CloudHSM synchronisiert automatisch jeden Schlüssel mit jedem HSM im Cluster. Um Ihren Prozess zu beschleunigen, setzen Sie den Wert von min_srv auf weniger als die Anzahl von HSMs im Cluster und legen Sie einen niedrigen Timeout-Wert fest. Beachten Sie jedoch, dass einige Anfragen möglicherweise keinen Schlüssel generieren.

Standard: 1

Erforderlich: Nein

-sess

Erstellt einen Schlüssel, der nur in der aktuellen Sitzung existiert. Der Schlüssel kann nach Ende der Sitzung nicht wiederhergestellt werden.

Verwenden Sie diesen Parameter, wenn Sie einen Schlüssel zum Packen nur für kurze Zeit benötigen, z. B. einen Schlüssel, der einen anderen Schlüssel verschlüsselt und dann schnell entschlüsselt. Verwenden Sie keinen Sitzungsschlüssel, um Daten zu verschlüsseln, die Sie nach dem Ende der Sitzung möglicherweise entschlüsseln müssen.

Um einen Sitzungsschlüssel in einen persistenten (Token-)Schlüssel zu ändern, verwenden Sie setAttribute.

Standard: Der Schlüssel ist persistent.

Erforderlich: Nein

-timeout

Gibt an, wie lange (in Sekunden) der Befehl darauf wartet, dass eine Taste mit der im Parameter HSMs angegebenen Anzahl von synchronisiert wird. min_srv

Dieser Parameter ist nur gültig, wenn der min_srv-Parameter auch im Befehl verwendet wird.

Voreinstellung: Keine Zeitüberschreitung. Der Befehl wartet auf unbestimmte Zeit und kehrt erst zurück, wenn der Schlüssel mit der Mindestanzahl von Servern synchronisiert ist.

Erforderlich: Nein

-t

Gibt den Typ des symmetrischen Schlüssels an. Geben Sie die Konstante ein, die den Schlüsseltyp darstellt. Zum Erstellen eines AES-Schlüssels geben Sie beispielsweise -t 31 ein.

Zulässige Werte:

Erforderlich: Ja

-u

Gibt den zu importierenden Schlüssel für die angegebenen Benutzer frei. Dieser Parameter gibt anderen HSM-Kryptobenutzern (CUs) die Erlaubnis, diesen Schlüssel für kryptografische Operationen zu verwenden.

Geben Sie eine ID oder eine durch Kommas getrennte Liste von HSM-Benutzern IDs ein, z. B. -u. 5,6 Fügen Sie die HSM-Benutzer-ID des aktuellen Benutzers nicht ein. Zum Ermitteln einer ID können Sie den Befehl listUsers im Befehlszeilen-Tool cloudhsm_mgmt_util oder den Befehl listUsers im Befehlszeilen-Tool key_mgmt_util verwenden.

Erforderlich: Nein

-w

Gibt das Schlüssel-Handle des Verpackungsschlüssels an. Dieser Parameter muss angegeben werden. Verwenden Sie den findKey-Befehl, um Schlüssel-Handles zu finden.

Ein Schlüssel zum Packen ist ein Schlüssel im HSM, der zum Verschlüsseln („Verpacken“) und zum Entschlüsseln („Entpacken“) des Schlüssels während des Importvorgangs dient. Nur AES-Schlüssel können als Verpackungsschlüssel verwendet werden.

Sie können jeden AES-Schlüssel (in jeder beliebigen Größe) als Verpackungsschlüssel verwenden. Da der Verpackungsschlüssel den Zielschlüssel verpackt und danach sofort entpackt, können Sie einen nur für die aktuelle Sitzung gültigen AES-Schlüssel als Verpackungsschlüssel verwenden. Um zu bestimmen, ob ein Schlüssel als Schlüssel zum Packen verwendet werden kann, führen Sie getAttribute aus, um den Wert des OBJ_ATTR_WRAP-Attributs (262) abzurufen. Um einen Wrapping-Schlüssel zu erstellen, verwenden Sie genSymKey, um einen AES-Schlüssel (Typ 31) zu generieren.

Wenn Sie den Parameter -wk zum Angeben eines externen Schlüssels zum Packen verwenden, wird der -w-Schlüssel zum Packen zwar zum Entpacken, jedoch nicht zum Verpacken des Schlüssels während des Importvorgangs verwendet.

Anmerkung

Schlüssel 4 ist ein nicht unterstützter, interner Schlüssel. Wir empfehlen, dass Sie einen AES-Schlüssel als Umhüllungsschlüssel verwenden, den Sie erstellen und verwalten.

Erforderlich: Ja

-wk

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

Wenn Sie diesen Parameter angeben, verwendet imSymKey den Schlüssel in der Datei -wk, um den zu importierenden Schlüssel zu verpacken, und den Schlüssel im HSM, der durch den -w-Parameter festgelegt ist, um ihn zu entpacken. Die Parameterwerte -w und -wk müssen durch denselben Klartextschlüssel aufgelöst werden.

Standard: Verwenden Sie den Verpackungsschlüssel auf dem HSM zum Entpacken.

Erforderlich: Nein

Verwandte Themen

Auf dieser Seite

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.