Esporta una copia in testo semplice di una chiave utilizzando AWS CloudHSM KMU - AWS CloudHSM

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esporta una copia in testo semplice di una chiave utilizzando AWS CloudHSM KMU

Utilizzate il exSymKey comando dello strumento AWS CloudHSM key_mgmt_util per esportare una copia in testo semplice di una chiave simmetrica dal modulo di sicurezza hardware () e salvarla in un file su disco. HSM Per esportare una copia crittografata (impacchettata) di una chiave, utilizzate. wrapKey Per importare una chiave in testo semplice, come quelle che exSymKey esporta, usa. imSymKey

Durante il processo di esportazione, exSymKey utilizza una AES chiave specificata dall'utente (la chiave di avvolgimento) per avvolgere (crittografare) e quindi scartare (decrittografare) la chiave da esportare. Tuttavia, il risultato dell'operazione di esportazione è una chiave di testo non crittografato (su cui è stato annullato il wrapping) su disco.

Soltanto il proprietario della chiave, ovvero l'utente CU che ha creato la chiave, è in grado di esportarla. Gli utenti che condividono la chiave possono utilizzarla nelle operazioni di crittografia, ma non possono esportarla.

L'exSymKeyoperazione copia il materiale chiave in un file specificato dall'utente, ma non rimuove la chiave dal fileHSM, ne modifica gli attributi chiave o impedisce l'utilizzo della chiave nelle operazioni crittografiche. È possibile esportare la stessa chiave più volte.

exSymKey esporta solo le chiavi simmetriche. Per esportare le chiavi pubbliche, utilizzare exportPubKey. Per esportare le chiavi private, utilizzare exportPrivateKey.

Prima di eseguire qualsiasi comando key_mgmt_util, è necessario avviare key_mgmt_util e accedere come utente crittografato (CU). HSM

Sintassi

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

Esempi

Questi esempi mostrano come esportare le chiavi simmetriche che possiedi dal tuo. exSymKey HSMs

Esempio : Esporta una chiave simmetrica a 3 DES

Questo comando esporta una chiave simmetrica tripla DES (3DES) (maniglia dei tasti). 7 Utilizza una AES chiave esistente (maniglia dei tasti6) HSM come chiave di avvolgimento. Quindi scrive il testo in chiaro della DES chiave 3 nel file. 3DES.key

L'output mostra che la chiave 7 (la DES chiave 3) è stata impacchettata e decompressa con successo e quindi scritta nel file. 3DES.key

avvertimento

Anche se l'output dice che una "Chiave simmetrica wrapped" è stata scritta sul file di output, il file di output contiene una chiave di testo non crittografata (unwrapped).

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"
Esempio : esportazione con una chiave di wrapping solo per la sessione

Questo esempio illustra come utilizzare una chiave che esiste solo nella sessione come chiave di wrapping. Poiché sulla chiave da esportare è stato eseguito il wrapping che è poi stato immediatamente annullato ed è stata distribuita come testo non crittografato, non è necessario conservare la chiave di wrapping.

Questa serie di comandi esporta una AES chiave con impugnatura 8 da. HSM Utilizza una chiave AES di sessione creata appositamente per lo scopo.

Il primo comando serve genSymKeya creare una chiave a 256 bitAES. Utilizza il parametro -sess per creare una chiave che esiste solo nella sessione corrente.

L'output mostra che la chiave HSM crea. 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

Quindi, l'esempio verifica che la chiave 8, la chiave da esportare, sia una chiave simmetrica estraibile. Verifica inoltre che la chiave di wrapping, key262168, sia una AES chiave che esiste solo nella sessione. È possibile utilizzare il findKeycomando, ma questo esempio esporta gli attributi di entrambe le chiavi in file e quindi li utilizza grep per trovare i valori degli attributi pertinenti nel file.

Questi comandi utilizzano getAttribute con un valore -a di 512 (tutti) per ottenere tutti gli attributi per le chiavi 8 e 262168. Per ulteriori informazioni sugli attributi delle chiavi, vedi AWS CloudHSM riferimento all'attributo chiave per KMU.

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

Questi comandi utilizzano grep per verificare gli attributi della chiave da esportare (chiave 8) e la chiave di wrapping valida solo per la sessione (chiave 262168).

// 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

Infine, utilizziamo un comando exSymKey per esportare la chiave 8 utilizzando la chiave di sessione (chiave 262168) come chiave di wrapping.

Quando la sessione scade, la chiave 262168 non è più disponibile.

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"
Esempio : utilizzo di una chiave di wrapping esterna

Questo esempio mostra come utilizzare una chiave di decompressione esterna per esportare una chiave da. HSM

Quando si esporta una chiave daHSM, si specifica una AES chiave sulla chiave da utilizzare come chiave HSM di avvolgimento. Per impostazione predefinita, la chiave di wrapping viene utilizzata per eseguire e annullare il wrapping della chiave da esportare. Tuttavia, è possibile utilizzare il parametro -wk per ordinare a exSymKey di utilizzare una chiave esterna in un file su disco per annullare il wrapping. Quando si esegue questa operazione, la chiave specificata dal parametro -w effettua il wrapping della chiave di destinazione e la chiave nel file specificata dal parametro -wk annulla il wrapping della chiave.

Poiché la chiave di avvolgimento deve essere una AES chiave simmetrica, la chiave di avvolgimento nella chiave di avvolgimento HSM e di apertura su disco deve avere lo stesso materiale chiave. A tale scopo, è necessario importare la chiave di avvolgimento in HSM o esportare la chiave di avvolgimento precedente all'operazione di esportazione. HSM

Questo esempio crea una chiave esterna a HSM e la importa in. HSM Utilizza la copia interna della chiave per effettuare il wrapping di una chiave simmetrica esportata e la copia della chiave nel file per annullare il wrapping.

Il primo comando utilizza Open SSL per generare una chiave a 256 bitAES. Memorizza la chiave sul file aes256-forImport.key. Il SSL comando Apri non restituisce alcun output, ma è possibile utilizzare diversi comandi per confermarne l'esito positivo. Questo esempio utilizza lo strumento di (wordcount) wc, che conferma che il file contiene 32 byte di dati.

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

Questo comando utilizza il imSymKeycomando per importare la AES chiave dal aes256-forImport.key file inHSM. Al termine del comando, la chiave è presente nell'handle HSM with key 262167 e nel aes256-forImport.key file.

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

Questo comando utilizza la chiave in un'operazione di esportazione. Il comando utilizza exSymKey per esportare la chiave21, una chiave a 192 bitAES. Per racchiudere la chiave, usa key262167, che è la copia che è stata importata in. HSM Per annullare il wrapping della chiave, utilizza lo stesso materiale chiave nel file aes256-forImport.key. Quando il comando viene completato, la chiave 21 viene esportata sul file aes192_h21.key.

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"

Parametri

-h

Visualizza l'aiuto per il comando.

Campo obbligatorio: sì

-k

Specifica l'handle della chiave da esportare. Questo parametro è obbligatorio. Specifica l'handle della chiave simmetrica posseduta. Questo parametro è obbligatorio. Per trovare le maniglie dei tasti, usa il findKeycomando.

Per verificare che una chiave possa essere esportata, utilizzate il getAttributecomando per ottenere il valore dell'OBJ_ATTR_EXTRACTABLEattributo, che è rappresentato da una costante354. Inoltre, puoi esportare solo le chiavi di tua proprietà. Per trovare il proprietario di una chiave, usa il getKeyInfocomando.

Campo obbligatorio: sì

-w

Specifica l'handle di una chiave di wrapping. Questo parametro è obbligatorio. Per trovare le maniglie dei tasti, usa il findKeycomando.

Una chiave di avvolgimento è una chiave utilizzata per crittografare (avvolgere) e quindi decrittografare (scartare) la chiave da esportare. HSM Solo AES le chiavi possono essere utilizzate come chiavi di avvolgimento.

È possibile utilizzare qualsiasi AES chiave (di qualsiasi dimensione) come chiave di avvolgimento. Poiché la chiave di avvolgimento avvolge e quindi annulla immediatamente la chiave di destinazione, è possibile utilizzarla come chiave di avvolgimento come chiave di avvolgimento solo per la sessione. AES Per determinare se una chiave può essere utilizzata come chiave di avvolgimento, utilizzate getAttributeper ottenere il valore dell'attributo, che è rappresentato dalla costante. OBJ_ATTR_WRAP 262 Per creare una chiave di avvolgimento, usa genSymKeyper creare una AES chiave (tipo 31).

Se utilizzi il parametro -wk per specificare una chiave di unwrapping esterna, la chiave di wrapping -w viene utilizzata per eseguire il wrapping della chiave durante l'esportazione, ma non per annullarlo.

Nota

La chiave 4 rappresenta una chiave interna non supportata. Ti consigliamo di utilizzare una AES chiave creata e gestita da te come chiave di wrapping.

Campo obbligatorio: sì

-output

Specifica il percorso e il nome del file di output. Quando il comando viene completato, questo file contiene la chiave esportata in testo non crittografato. Se il file già esiste, il comando lo sovrascrive senza preavviso.

Campo obbligatorio: sì

-m

Specifica il meccanismo di wrapping. L'unico valore valido è 4, che rappresenta il meccanismo NIST_AES_WRAP.

Campo obbligatorio: no

Impostazione predefinita: 4

-wk

Utilizzate la AES chiave nel file specificato per scartare la chiave che viene esportata. Immettete il percorso e il nome di un file che contiene una chiave di testo AES semplice.

Quando includi questo parametro. exSymKeyutilizza la chiave specificata dal -w parametro per racchiudere la chiave che viene esportata e utilizza la chiave nel -wk file per scartarla. HSM I valori di parametro -w e -wk devono determinare la stessa chiave non crittografata.

Campo obbligatorio: no

Impostazione predefinita: utilizza la chiave di avvolgimento su per aprirlaHSM.

Argomenti correlati