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à.
Importa una chiave simmetrica in testo semplice usando AWS CloudHSM KMU
Utilizzate il imSymKey comando dello strumento AWS CloudHSM key_mgmt_util per importare una copia in testo semplice di una chiave simmetrica da un file nel modulo di sicurezza hardware (). HSM È possibile utilizzarlo per importare le chiavi generate con qualsiasi metodo diverso da HSM e le chiavi che sono state esportate da un fileHSM, ad esempio le chiavi che il comando, scrive in un file. exSymKey
Durante il processo di importazione, imSymKey utilizza una AES chiave selezionata dall'utente (la chiave di avvolgimento) per avvolgere (crittografare) e quindi decrittografare la chiave da importare. Tuttavia, imSymKey funziona solo per i file che contengono le chiavi in testo non crittografato. Per esportare e importare chiavi crittografate, utilizzate i comandi and. wrapKeyunWrapKey
Inoltre, il comando imSymKey importa solo le chiavi simmetriche. Per importare le chiavi pubbliche, utilizzare importPubKey. Per importare chiavi private, usa importPrivateKeyo wrapKey.
Nota
Non è possibile importare una PEM chiave protetta da password utilizzando una chiave simmetrica o privata.
Le chiavi importate funzionano in modo molto simile alle chiavi generate in. HSM Tuttavia, il valore dell'LOCALattributo OBJ _ ATTR _ è zero, il che indica che non è stato generato localmente. È possibile utilizzare il comando seguente per condividere una chiave simmetrica durante l'importazione. È possibile utilizzare il comando shareKey
in cloudhsm_mgmt_util per condividere la chiave dopo l'importazione.
imSymKey -l aesShared -t 31 -f kms.key -w 3296 -u 5
Dopo l'importazione di una chiave, assicurarsi di contrassegnare o eliminare il file della chiave. Questo comando non evita di importare lo stesso materiale chiave più volte. Di conseguenza, più chiavi con distinti handle e lo stesso materiale chiave rendono difficile monitorare l'utilizzo del materiale chiave ed evitare il superamento dei limiti crittografici.
Sintassi
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>]
Esempi
Questi esempi mostrano come importare chiavi simmetriche nel tuo. imSymKey HSMs
Esempio : Importa una chiave simmetrica AES
In questo esempio viene utilizzata imSymKey l'importazione di una chiave AES simmetrica in. HSMs
Il primo comando utilizza Open SSL per generare una chiave simmetrica casuale a 256 bitAES. Memorizza la chiave nel file aes256.key
.
$
openssl rand -out aes256-forImport.key 32
Il secondo comando consente imSymKey di importare la AES chiave dal file in. aes256.key
HSMs Usa la chiave 20, una AES chiave inHSM, come chiave di avvolgimento e specifica un'etichetta di. imported
A differenza dell'ID, l'etichetta non deve essere univoca nel cluster. Il valore del parametro -t
(type) è31
, che rappresenta. AES
L'output mostra che la chiave del file è stata racchiusa e aperta, quindi importata inHSM, dove è stata assegnata la maniglia di tastiera 262180.
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
Il comando successivo utilizza getAttributeper ottenere l'attributo OBJ _ ATTR _ (LOCALattributo 355) della chiave appena importata e lo scrive nel file. attr_262180
Command:
getAttribute -o 262180 -a 355 -out attributes/attr_262180
Attributes dumped into attributes/attr_262180_imported file Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS
Quando si esamina il file degli attributi, è possibile vedere che il valore dell'OBJ_ATTR_LOCAL
attributo è zero, il che indica che il materiale chiave non è stato generato inHSM.
$
cat attributes/attr_262180_local
OBJ_ATTR_LOCAL 0x00000000
Esempio : spostamento di una chiave simmetrica tra cluster
Questo esempio mostra come utilizzare exSymKeye imSymKey spostare una AES chiave in testo semplice tra i cluster. È possibile utilizzare un processo come questo per creare un AES involucro esistente su entrambi i cluster. HSMs Una volta inserita la chiave di wrapping condivisa, è possibile utilizzare wrapKeye unWrapKeyspostare le chiavi crittografate tra i cluster.
L'utente CU che esegue questa operazione deve disporre dell'autorizzazione per accedere a entrambi i clusterHSMs.
Il primo comando utilizza exSymKeyl'esportazione della chiave 14, una AES chiave a 32 bit, dal cluster 1 nel file. aes.key
Utilizza la chiave 6, una AES chiave del HSMs cluster 1, come chiave di avvolgimento.
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"
L'utente accede quindi a key_mgmt_util nel cluster 2 ed esegue un imSymKey comando per importare la chiave nel file nel cluster 2. aes.key
HSMs Questo comando utilizza la chiave 252152, una chiave del cluster 2, come AES chiave di wrapping. HSMs
Poiché le chiavi di avvolgimento che imSymKey utilizziamo avvolgono exSymKeye scartano immediatamente le chiavi di destinazione, non è necessario che le chiavi di avvolgimento sui diversi cluster siano le stesse.
L'output indica che la chiave è stata importata nel cluster 2 e che le è stato assegnato un handle di 21.
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
Per dimostrare che la chiave 14 del cluster 1 e la chiave 21 del cluster 2 hanno lo stesso materiale chiave, ottieni il valore di controllo della chiave (KCV) di ciascuna chiave. Se i KCV valori sono gli stessi, il materiale chiave è lo stesso.
Il comando seguente utilizza getAttributeil cluster 1 per scrivere il valore dell'KCVattributo (attributo 371) della chiave 14 nel attr_14_kcv
file. Poi, utilizza un comando cat per ottenere il contenuto del file attr_14_kcv
.
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
Questo comando simile utilizza getAttributenel cluster 2 il valore dell'KCVattributo (attributo 371) della chiave 21 nel attr_21_kcv
file. Poi, utilizza un comando cat per ottenere il contenuto del file attr_21_kcv
.
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
L'output mostra che i KCV valori delle due chiavi sono gli stessi, il che dimostra che il materiale chiave è lo stesso.
Poiché lo stesso materiale chiave è presente in entrambi i cluster, ora è possibile condividere le chiavi crittografate tra i cluster senza mai esporre la chiave in chiaro. HSMs Ad esempio, è possibile utilizzare il comando wrapKey
con la chiave di wrapping 14 per esportare una chiave crittografata dal cluster 1 e quindi utilizzare unWrapKey
con la chiave di wrapping 21 per importare la chiave crittografata nel cluster 2.
Esempio : importazione di una chiave di sessione
Questo comando utilizza i -sess
parametri di imSymKey per importare una DES chiave tripla a 192 bit valida solo nella sessione corrente.
Il comando utilizza il parametro -f
per specificare il file che contiene la chiave da importare, il parametro -t
per specificare il tipo di chiave e il parametro -w
per specificare la chiave di wrapping. Utilizza il parametro -l
per specificare un'etichetta che qualifichi la chiave e il parametro -id
per creare un identificatore intuitivo, ma univoco per la chiave. Viene inoltre utilizzato il parametro -attest
per verificare il firmware che importa la chiave.
L'output mostra che la chiave è stata impacchettata e scartata correttamente, importata in e assegnata la HSM chiave di controllo 37. Inoltre, il controllo di attestazione ha avuto esito positivo, il che indica che il firmware non è stato danneggiato.
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
Successivamente, è possibile utilizzare i findKeycomandi getAttributeo per verificare gli attributi della chiave appena importata. Il comando seguente utilizza findKey per verificare che la chiave 37 disponga del tipo, dell'etichetta e dell'ID specificati dal comando e che sia una chiave di sessione. Come illustrato alla riga 5 dell'output, findKey indica che l'unica chiave corrispondente a tutti gli attributi è la chiave 37.
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
Parametri
- -attestare
Esegue un controllo di integrità per verificare che il firmware su cui viene eseguito il cluster non sia stato manomesso.
Impostazione predefinita: nessun controllo di attestazione.
Campo obbligatorio: no
- -f
-
Specifica il file che contiene la chiave da importare.
Il file deve contenere una copia in testo semplice di una AES o tripla DES chiave della lunghezza specificata. RC4e DES le chiavi non sono valide in -mode. FIPS HSMs
-
AES: 16, 24 o 32 byte
-
Triple DES (3DES): 24 byte
Campo obbligatorio: sì
-
- -h
-
Visualizza l'aiuto per il comando.
Campo obbligatorio: sì
- -id
-
Specifica un identificatore definito dall'utente per la chiave. Digita una stringa univoca nel cluster. L'impostazione predefinita è una stringa vuota.
Impostazione predefinita: nessun valore ID.
Campo obbligatorio: no
- -l
-
Specifica un'etichetta definita dall'utente per la chiave. Digita una stringa.
Puoi usare qualsiasi frase che ti aiuti a identificare la chiave. Poiché l'etichetta non deve essere necessariamente univoca, è possibile utilizzarla per raggruppare e classificare le chiavi.
Campo obbligatorio: sì
- -min_srv
-
Speciifica il numero minimo HSMs su cui la chiave viene sincronizzata prima della scadenza del valore del
-timeout
parametro. Se la chiave non è sincronizzata sul numero di server specificato nel tempo allocato, non viene creata.AWS CloudHSM sincronizza automaticamente ogni chiave con tutte le chiavi del cluster. HSM Per velocizzare il processo, impostate un valore inferiore
min_srv
al numero di componenti del HSMs cluster e impostate un valore di timeout basso. Tuttavia, alcune richieste potrebbero non generare una chiave.Impostazione predefinita: 1
Campo obbligatorio: no
- -sessione
-
Crea una chiave che esiste solo nella sessione corrente. La chiave non può essere recuperata dopo la fine della sessione.
Utilizza questo parametro quando hai bisogno di una chiave solo per un breve periodo, ad esempio una chiave di wrapping che crittografa e quindi decodifica rapidamente un'altra chiave. Non utilizzare una chiave di sessione per crittografare dati che potresti aver bisogno di decodificare al termine della sessione.
Per cambiare una chiave di sessione in una chiave persistente (token), usa setAttribute.
Impostazione Predefinita: la chiave è persistente.
Campo obbligatorio: no
- -timeout
-
Speciifica per quanto tempo (in secondi) il comando attende che una chiave venga sincronizzata con il numero HSMs specificato dal parametro.
min_srv
Questo parametro è valido solo quando il parametro
min_srv
viene utilizzato anche nel comando.Impostazione Predefinita: No timeout. Il comando attende a tempo indefinito e viene restituito solo quando la chiave è sincronizzata con il numero minimo di server.
Campo obbligatorio: no
- -t
-
Specifica il tipo di chiave simmetrica. Inserisci la costante che rappresenta il tipo di chiave. Ad esempio, per creare una AES chiave, immettere.
-t 31
Valori validi:
-
21: Triplo DES (3DES)
. -
31: AES
Campo obbligatorio: sì
-
- -u
-
Condivide la chiave importata con utenti specificati. Questo parametro consente agli altri utenti HSM crittografici (CUs) di utilizzare questa chiave nelle operazioni crittografiche.
Digita un ID o un elenco di HSM utenti separati da virgoleIDs, ad esempio -u.
5,6
Non includere l'ID HSM utente dell'utente corrente. Per trovare un ID, puoi usare il listUserscomando nello strumento da riga di comando cloudhsm_mgmt_util o il comando nello strumento da riga di comando key_mgmt_util. listUsersCampo obbligatorio: no
- -w
-
Specifica l'handle di una chiave di wrapping. Questo parametro è obbligatorio. Per trovare le maniglie dei tasti, usa il comando. findKey
Una chiave di wrapping è una chiave utilizzata per crittografare («avvolgere») e quindi decrittografare («scartare») la chiave durante il processo di importazione. 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 to get il valore dell'getAttributeattributo (262).
OBJ_ATTR_WRAP
Per creare una chiave di avvolgimento, usa genSymKeyper creare una AES chiave (tipo 31).Se si utilizza il parametro
-wk
per specificare una chiave di wrapping esterna, la chiave di wrapping-w
viene utilizzata per annullare il wrapping della chiave importata, ma non per eseguirlo.Nota
La chiave 4 è una chiave interna non supportata. Ti consigliamo di utilizzare una AES chiave creata e gestita da te come chiave di wrapping.
Campo obbligatorio: sì
- -wk
-
Utilizzate la AES chiave nel file specificato per racchiudere la chiave che viene importata. Immettete il percorso e il nome di un file che contiene una chiave di testo sempliceAES.
Quando includi questo parametro. imSymKeyutilizza la chiave nel
-wk
file per racchiudere la chiave da importare e utilizza HSM la chiave specificata dal-w
parametro per scartarla. I valori di parametro-w
e-wk
devono determinare la stessa chiave non crittografata.Impostazione predefinita: utilizza la chiave di avvolgimento su HSM per estrarre.
Campo obbligatorio: no