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à.
Scartare una AWS CloudHSM chiave usando KMU
Utilizzate il unWrapKey comando dello strumento AWS CloudHSM key_mgmt_util per importare una chiave simmetrica o privata avvolta (crittografata) da un file nell'HSM. È concepito per importare le chiavi di crittografia su cui è stato eseguito il comando wrapKey nell'interfaccia a riga di comando key_mgmt_util, ma può essere utilizzato anche per annullare il wrapping delle chiavi effettuato con altri strumenti. Tuttavia, in tali situazioni, ti consigliamo di utilizzare le librerie software PKCS # 11 o JCE per annullare il wrapping della chiave.
Le chiavi AWS CloudHSM importate funzionano come le chiavi generate da. Tuttavia, il valore dell’attributo OBJ_ATTR_LOCAL è zero e indica che non sono state generate localmente.
Dopo aver importato una chiave, assicurati 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.
Prima di eseguire un comando key_mgmt_util, devi avviare key_mgmt_util e accedere all'HSM come crypto user (CU).
Sintassi
unWrapKey -h unWrapKey -f
<key-file-name>
-w<wrapping-key-handle>
[-sess] [-min_srv<minimum-number-of-HSMs>
] [-timeout<number-of-seconds>
] [-aad<additional authenticated data filename>
] [-tag_size<tag size>
] [-iv_file<IV file>
] [-attest] [-m<wrapping-mechanism>
] [-t<hash-type>
] [-nex] [-u<user id list>
] [-m_value<number of users needed for approval>
] [-noheader] [-l<key-label>
] [-id<key-id>
] [-kt<key-type>
] [-kc<key-class
] [-i<unwrapping-IV>
]
Esempio
Questi esempi mostrano come unWrapKey importare una chiave incapsulata da un file in. HSMs Nel primo esempio, abbiamo annullato il wrapping di una chiave eseguito con il comando key_mgmt_util wrapKey, che quindi aveva un’intestazione. Nel secondo esempio, abbiamo annullato il wrapping di una chiave eseguito al di fuori di key_mgmt_util, quindi senza intestazione.
Esempio : annullare il wrapping di una chiave (con intestazione)
Questo comando importa una copia con wrapping di una chiave simmetrica 3DES in un modulo HSM. Il wrapping della chiave viene annullato da una chiave AES con un'etichetta 6
, identica dal punto di vista crittografico a quella utilizzata per eseguire il wrapping della chiave 3DES. L'output indica che è stato effettuato l’annullamento del wrapping della chiave nel file e che è stata importata e che l'handle della chiave importata è 29
.
Command:
unWrapKey -f 3DES.key -w 6 -m 4
Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS Key Unwrapped. Key Handle: 29 Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
Esempio : annullare il wrapping di una chiave (senza intestazione)
Questo comando importa una copia con wrapping di una chiave simmetrica 3DES in un modulo HSM. Il wrapping della chiave viene annullato da una chiave AES con un'etichetta 6
, identica dal punto di vista crittografico a quella utilizzata per eseguire il wrapping della chiave 3DES. Dal momento che il wrapping di questa chiave 3DES non è stato eseguito con key_mgmt_util, viene specificato il parametro noheader
, insieme ai parametri richiesti: l’etichetta della chiave (unwrapped3DES
), la classe della chiave (4
) e il tipo di chiave (21
). L'output indica che è stato effettuato l’annullamento del wrapping della chiave nel file ed è stata importata e che l'handle della chiave importata è 8
.
Command:
unWrapKey -f 3DES.key -w 6 -noheader -l unwrapped3DES -kc 4 -kt 21 -m 4
Cfm3CreateUnwrapTemplate2 returned: 0x00 : HSM Return: SUCCESS Cfm2UnWrapWithTemplate3 returned: 0x00 : HSM Return: SUCCESS Key Unwrapped. Key Handle: 8 Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
Parametri
- -h
-
Visualizza l'aiuto per il comando.
Campo obbligatorio: sì
- -f
-
Il percorso e il nome del file contenente la chiave su cui è stato eseguito il wrapping.
Campo obbligatorio: sì
- -w
-
Specifica la chiave di wrapping. Immettere l'handle di una chiave AES o RSA nell'HSM. Questo parametro è obbligatorio. Per trovare gli handle della chiave, utilizza il comando findKey.
Per creare una chiave di wrapping, utilizzare genSymKeyper generare una chiave AES (tipo 31) o gen RSAKey Pair per generare una coppia di chiavi RSA (tipo 0). Se utilizzi una coppia di chiavi RSA, assicurati di eseguire il wrapping della chiave con una e di annullare il wrapping con l'altra. Per determinare se una chiave può essere usata come chiave di wrapping, utilizza getAttribute per ottenere il valore dell'attributo
OBJ_ATTR_WRAP
, che è rappresentato dalla costante262
.Campo obbligatorio: sì
- -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
- -min_srv
-
Speciifica il numero minimo HSMs su cui la chiave viene sincronizzata prima della scadenza del valore del parametro.
-timeout
Se la chiave non è sincronizzata sul numero di server specificato nel tempo allocato, non viene creata.AWS CloudHSM sincronizza automaticamente ogni chiave con ogni HSM del cluster. 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
- -timeout
-
Speciifica per quanto tempo (in secondi) il comando attende la sincronizzazione di una chiave 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
- -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
- -nex
-
Rende la chiave non estraibile. La chiave generata non può essere esportata dall'HSM.
Impostazione predefinita: la chiave è estraibile.
Campo obbligatorio: no
- -m
-
Il valore che rappresenta il meccanismo di wrapping. CloudHSM supporta i seguenti meccanismi:
Meccanismo Valore AES_KEY_WRAP_PAD_PKCS5
4 NIST_AES_WRAP_NO_PAD
5 NIST_AES_WRAP_PAD
6 RSA_AES
7 RSA_OAEP
(per la dimensione massima dei dati, vedi la nota più avanti in questa sezione)8 AES_GCM
10 CLOUDHSM_AES_GCM
11 RSA_PKCS
(per la dimensione massima dei dati, vedi la nota più avanti in questa sezione). Vedi la nota 1 di seguito per una modifica imminente.12 Campo obbligatorio: sì
Nota
Quando si utilizza il meccanismo di
RSA_OAEP
wrapping, la dimensione massima della chiave che è possibile avvolgere è determinata dal modulo della chiave RSA e dalla lunghezza dell'hash specificato nel modo seguente: Dimensione massima della chiave = modulusLengthIn Bytes- (2* Bytes) -2. hashLengthInQuando si utilizza il meccanismo di wrapping RSA_PKCS, la dimensione massima della chiave che è possibile avvolgere è determinata dal modulo della chiave RSA come segue: Dimensione massima della chiave = (modulusLengthInByte -11).
- -t
-
Algoritmo hash Valore SHA1
2 SHA256
3 SHA384
4 SHA512
5 SHA224
(valido per i meccanismiRSA_AES
eRSA_OAEP
)6 Campo obbligatorio: no
- -no intestazione
-
Se si sta per eseguire l’annullamento del wrapping di una chiave eseguito all'esterno di key_mgmt_util, è necessario specificare questo parametro e tutti gli altri parametri associati.
Campo obbligatorio: no
Nota
Se si specifica questo parametro, è necessario specificare anche i seguenti parametri
-noheader
:-
-l
Specifica l'etichetta da aggiungere alla chiave su cui è stato annullato wrapping.
Campo obbligatorio: sì
-
-kc
Specifica la classe della chiave su cui annullare il wrapping. Di seguito sono elencati i valori accettabili:
3 = chiave privata di una coppia di chiavi pubbliche-private
4 = chiave segreta (simmetrica)
Campo obbligatorio: sì
-
-kt
Specifica il tipo di chiave su cui annullare il wrapping. Di seguito sono elencati i valori accettabili:
0 =
RSA
1 =
DSA
3 =
ECC
16 =
GENERIC_SECRET
21 =
DES3
31 =
AES
Campo obbligatorio: sì
È inoltre possibile specificare i parametri
-noheader
seguenti:-
-id
L'ID da aggiungere alla chiave su cui è stato annullato il wrapping.
Campo obbligatorio: no
-
-i
Il vettore di inizializzazione (IV) da utilizzare per annullare il wrapping.
Campo obbligatorio: no
-
[1] In conformità con le linee guida del NIST, ciò non è consentito per i cluster in modalità FIPS dopo il 2023. Per i cluster in modalità non FIPS, è ancora consentito dopo il 2023. Per informazioni dettagliate, vedi Conformità FIPS 140: meccanismo di deprecazione 2024.