Scartare qualsiasi AWS CloudHSM chiave usando 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à.

Scartare qualsiasi 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 in. HSM È progettato per importare chiavi crittografate che sono state racchiuse dal wrapKeycomando in key_mgmt_util, ma può anche essere usato per scartare chiavi che sono state racchiuse con altri strumenti. Tuttavia, in queste situazioni, consigliamo di utilizzare #11 o le librerie software per estrarre la chiavePKCS. JCE

Le chiavi importate funzionano come le chiavi generate da AWS CloudHSM. Tuttavia, il valore del loro LOCALattributo OBJ ATTR _ _ è zero, il che 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 qualsiasi comando key_mgmt_util, è necessario avviare key_mgmt_util e accedere come utente crittografico (CU). HSM

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 importare una chiave incapsulata da un file in. unWrapKey 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 incapsulata di una chiave DES simmetrica a 3 caratteri in un file. HSM La chiave viene aperta con una AES chiave con etichetta6, che è crittograficamente identica a quella utilizzata per racchiudere la chiave 3. DES 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 incapsulata di una chiave simmetrica a 3 DES caratteri in una. HSM La chiave viene aperta con una AES chiave con etichetta6, che è crittograficamente identica a quella utilizzata per racchiudere la chiave 3. DES Poiché questa DES chiave 3 non è stata racchiusa con key_mgmt_util, viene specificato il noheader parametro, insieme ai parametri di accompagnamento richiesti: key label (unwrapped3DES), key class () e key type (). 4 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. Immettete la maniglia di una chiave o di una chiave su. AES RSA HSM Questo parametro è obbligatorio. Per trovare le maniglie dei tasti, usa il findKeycomando.

Per creare una chiave di wrapping, utilizzare genSymKeyper generare una AES chiave (tipo 31) o genRSAKeyPair per generare una coppia di RSA chiavi (tipo 0). Se utilizzi una coppia di RSA key pair, assicurati di avvolgere la chiave con una delle chiavi e di scartarla con l'altra. Per verificare che una chiave possa essere usata come chiave di avvolgimento, usate getAttributeto get il valore dell'OBJ_ATTR_WRAPattributo, che è rappresentato da constant. 262

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

-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 da. HSM

Impostazione predefinita: la chiave è estraibile.

Campo obbligatorio: no

-m

Il valore che rappresenta il meccanismo di wrapping. Il cloud HSM 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 RSA chiave e dalla lunghezza dell'hash specificato nel modo seguente: Dimensione massima della chiave = modulusLengthIn Bytes- (hashLengthIn2* Bytes) -2.

Quando si utilizza il meccanismo di PKCS avvolgimento RSA _, la dimensione massima della chiave che è possibile avvolgere è determinata dal modulo della chiave nel modo seguente: Dimensione massima della RSA chiave = (Byte -11). modulusLengthIn

-t
Algoritmo hash Valore
SHA1 2
SHA256 3
SHA384 4
SHA512 5
SHA224 (valido per i meccanismi RSA_AES e RSA_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] Secondo le NIST linee guida, ciò non è consentito per i cluster in modalità dopo il 2023. FIPS Per i cluster non in FIPS modalità, è ancora consentito dopo il 2023. Per informazioni dettagliate, vedi FIPS140 Conformità: obsolescenza del meccanismo 2024.

Argomenti correlati