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.
Generieren Sie ein AWS CloudHSM RSA key pair mit KMU
Verwenden Sie den genRSAKeyPair Befehl im Tool AWS CloudHSM key_mgmt_util, um ein asymmetrisches key pair zu generieren. RSA
Tipp
Um die Attribute eines von Ihnen erstellten Schlüssels wie Typ, Länge, Bezeichnung und ID zu ermitteln, verwenden Sie. getAttribute Um die Schlüssel für einen bestimmten Benutzer zu finden, verwenden Sie getKeyInfo. Um Schlüssel anhand ihrer Attributwerte zu finden, verwenden Sie findKey.
Syntax
genRSAKeyPair -h genRSAKeyPair -m
<modulus length>
-e<public exponent>
-l<label>
[-id<key ID>
] [-min_srv<minimum number of servers>
] [-m_value<0..8>
] [-nex] [-sess] [-timeout<number of seconds>
] [-u<user-ids>
] [-attest]
Beispiele
Diese Beispiele zeigen, wie Sie genRSAKeyPair asymmetrische Schlüsselpaare in Ihrem HSMs erstellen können.
Beispiel : Ein RSA key pair erstellen und untersuchen
Dieser Befehl erstellt ein RSA key pair mit einem 2048-Bit-Modul und einem Exponenten von 65537. Die Ausgabe zeigt, dass das Schlüssel-Handle des öffentlichen Schlüssels 2100177
ist und das Schlüssel-Handle des privaten Schlüssels 2100426
.
Command:
genRSAKeyPair -m 2048 -e 65537 -l rsa_test
Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 2100177 private key handle: 2100426 Cluster Status: Node id 0 status: 0x00000000 : HSM Return: SUCCESS Node id 1 status: 0x00000000 : HSM Return: SUCCESS
Der nächste Befehl verwendet, getAttributeum die Attribute des öffentlichen Schlüssels abzurufen, den wir gerade erstellt haben. Die Ausgabe wird in die Datei attr_2100177
geschrieben. Auf diesen folgt ein cat-Befehl, der den Inhalt der Attribut-Datei abruft. Hilfe zur Interpretation der Schlüsselattribute finden Sie unter AWS CloudHSM Referenz zu Schlüsselattributen für KMU.
Die resultierenden Hexadezimalwerte bestätigen, dass es sich um einen öffentlichen Schlüssel (OBJ_ATTR_CLASS
0x02
) mit dem Typ RSA (OBJ_ATTR_KEY_TYPE 0x00
) handelt. Sie können mit diesem öffentlichen Schlüssel (OBJ_ATTR_ENCRYPT 0x01
) verschlüsseln, aber nicht (OBJ_ATTR_DECRYPT 0x00
) entschlüsseln. Die Ergebnisse können auch die Schlüssellänge (512, 0x200
), das Modul, die Modullänge (2048, 0x800
) und den öffentlichen Exponenten (65537, 0x10001
) enthalten.
Command:
getAttribute -o 2100177 -a 512 -out attr_2100177
Attribute size: 801, count: 26 Written to: attr_2100177 file Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS
$
cat attr_2100177
OBJ_ATTR_CLASS 0x02 OBJ_ATTR_KEY_TYPE 0x00 OBJ_ATTR_TOKEN 0x01 OBJ_ATTR_PRIVATE 0x01 OBJ_ATTR_ENCRYPT 0x01 OBJ_ATTR_DECRYPT 0x00 OBJ_ATTR_WRAP 0x01 OBJ_ATTR_UNWRAP 0x00 OBJ_ATTR_SIGN 0x00 OBJ_ATTR_VERIFY 0x01 OBJ_ATTR_LOCAL 0x01 OBJ_ATTR_SENSITIVE 0x00 OBJ_ATTR_EXTRACTABLE 0x01 OBJ_ATTR_LABEL rsa_test OBJ_ATTR_ID OBJ_ATTR_VALUE_LEN 0x00000200 OBJ_ATTR_KCV 0xc51c18 OBJ_ATTR_MODULUS 0xbb9301cc362c1d9724eb93da8adab0364296bde7124a241087d9436b9be57e4f7780040df03c2c 1c0fe6e3b61aa83c205280119452868f66541bbbffacbbe787b8284fc81deaeef2b8ec0ba25a077d 6983c77a1de7b17cbe8e15b203868704c6452c2810344a7f2736012424cf0703cf15a37183a1d2d0 97240829f8f90b063dd3a41171402b162578d581980976653935431da0c1260bfe756d85dca63857 d9f27a541676cb9c7def0ef6a2a89c9b9304bcac16fdf8183c0a555421f9ad5dfeb534cf26b65873 970cdf1a07484f1c128b53e10209cc6f7ac308669112968c81a5de408e7f644fe58b1a9ae1286fec b3e4203294a96fae06f8f0db7982cb5d7f OBJ_ATTR_MODULUS_BITS 0x00000800 OBJ_ATTR_PUBLIC_EXPONENT 0x010001 OBJ_ATTR_TRUSTED 0x00 OBJ_ATTR_WRAP_WITH_TRUSTED 0x00 OBJ_ATTR_DESTROYABLE 0x01 OBJ_ATTR_DERIVE 0x00 OBJ_ATTR_ALWAYS_SENSITIVE 0x00 OBJ_ATTR_NEVER_EXTRACTABLE 0x00
Beispiel : Generieren Sie ein gemeinsames RSA key pair
Dieser Befehl generiert ein RSA key pair und teilt den privaten Schlüssel mit Benutzer 4, einer anderen CU auf demHSM. Der Befehl verwendet den Parameter m_value
, damit mindestens zwei Genehmigungen erforderlich sind, ehe der private Schlüssel des Paares in einer kryptografischen Operation verwendet werden kann. Wenn Sie den Parameter m_value
verwenden, müssen Sie auch -u
im Befehl nutzen. Dabei darf der m_value
nicht die Gesamtanzahl an Benutzern übersteigen (Anzahl der Werte in -u
+ Eigentümer).
Command:
genRSAKeyPair -m 2048 -e 65537 -l rsa_mofn -id rsa_mv2 -u 4 -m_value 2
Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 27 private key handle: 28 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
Parameter
- -h
-
Zeigt Hilfe für den Befehl an.
Erforderlich: Ja
- -m
-
Gibt die Länge des Moduls in Bits an. Der minimale Wert beträgt 2048.
Erforderlich: Ja
- -e
-
Gibt den öffentlichen Exponenten an. Bei diesem Wert muss es sich eine ungerade Zahl gleich oder größer als 65537 handeln.
Erforderlich: Ja
- -l
-
Gibt eine benutzerdefinierte Bezeichnung für das Schlüsselpaar an. Geben Sie eine Zeichenfolge ein. Dieselbe Bezeichnung gilt für beide Schlüssel im Paar. Die maximal zulässige Größe für
label
beträgt 127 Zeichen.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
- -id
-
Gibt einen benutzerdefinierten Bezeichner für das Schlüsselpaar an. Geben Sie eine Zeichenfolge ein, die im Cluster eindeutig ist. Der Standardwert ist eine leere Zeichenfolge. Die von Ihnen angegebene ID gilt für beide Schlüssel im Paar.
Standard : Kein ID-Wert.
Erforderlich: Nein
- -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 Schlüssel 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
- -m_value
-
Gibt die Anzahl der Benutzer an, die jede kryptografische Operation genehmigen müssen, die den privaten Schlüssel des Paares verwendet. Geben Sie einen Wert von
0
bis8
ein.Dieser Parameter legt eine Quorum-Authentifizierungsanforderung für den privaten Schlüssel fest. Der Standardwert,
0
, deaktiviert die Quorum-Authentifizierungsfunktion für den Schlüssel. Wenn die Quorumauthentifizierung aktiviert ist, muss die angegebene Anzahl von Benutzern ein Token signieren, um kryptografische Operationen, bei denen der private Schlüssel verwendet wird, sowie Operationen, bei denen der private Schlüssel gemeinsam genutzt oder die gemeinsame Nutzung aufgehoben wird, zu genehmigen.Um den Wert
m_value
eines Schlüssels zu ermitteln, verwenden Sie getKeyInfo.Dieser Parameter ist nur gültig, wenn der
-u
-Parameter im Befehl das Schlüsselpaar für ausreichend Benutzer freigibt, um diem_value
-Anforderung zu erfüllen.Standard: 0
Erforderlich: Nein
- -nex
-
Macht den privaten Schlüssel nicht extrahierbar. Der generierte private Schlüssel kann nicht aus dem exportiert werdenHSM. Öffentliche Schlüssel sind immer extrahierbar.
Standard: Sowohl der öffentliche als auch der private Schlüssel im Schlüsselpaar können extrahiert werden.
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 ein Schlüssel mit der im
min_srv
Parameter HSMs angegebenen Anzahl von synchronisiert wird.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
- -u
-
Teilt den privaten Schlüssel des Paares mit den angegebenen Benutzern. Dieser Parameter gibt anderen HSM Krypto-Benutzern (CUs) die Erlaubnis, den privaten Schlüssel für kryptografische Operationen zu verwenden. Öffentliche Schlüssel können von jedem Benutzer verwendet werden, ohne sie zu teilen.
Geben Sie eine durch Kommas getrennte HSM Benutzerliste einIDs, z. B. -.
u 5,6
Geben Sie nicht die HSM Benutzer-ID des aktuellen Benutzers an. Um den HSM Benutzer IDs von CUs on the zu findenHSM, verwenden Sie listUsers. Verwenden Sie in der Datei cloudhsm_mgmt_util, um bestehende Schlüssel zu teilen oder shareKeyderen Freigabe aufzuheben.Standard: Nur der aktuelle Benutzer kann den privaten Schlüssel verwenden.
Erforderlich: Nein
- -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