Genera una chiave AWS CloudHSM simmetrica 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à.

Genera una chiave AWS CloudHSM simmetrica usando KMU

Utilizzate il genSymKey comando nello strumento AWS CloudHSM key_mgmt_util per generare una chiave simmetrica nei moduli di sicurezza hardware (). HSM È possibile specificare il tipo e la dimensione della chiave, assegnare un ID e un'etichetta e condividere la chiave con altri utenti. HSM È anche possibile creare chiavi non estraibili e chiavi che scadono al termine della sessione. Quando il comando ha esito positivo, restituisce un handle di chiave che HSM assegna alla chiave. È possibile utilizzare l'handle per identificare la chiave per altri comandi.

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

Sintassi

genSymKey -h genSymKey -t <key-type> -s <key-size> -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]

Esempi

Questi esempi mostrano come utilizzare per creare chiavi simmetriche in. genSymKey HSMs

Suggerimento

Per utilizzare le chiavi create con questi esempi per HMAC le operazioni, è necessario impostare OBJ_ATTR_SIGN e OBJ_ATTR_VERIFY fare TRUE dopo aver generato la chiave. Per impostare questi valori, usali setAttribute in Cloud HSM Management Utility (CMU). Per ulteriori informazioni, vedere setAttribute.

Esempio : Genera una AES chiave

Questo comando crea una AES chiave a 256 bit con un'aes256etichetta. L'output indica che l'handle della nuova chiave è 6.

Command: genSymKey -t 31 -s 32 -l aes256 Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS Symmetric Key Created. Key Handle: 6 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
Esempio : Creazione di una chiave di sessione

Questo comando crea una AES chiave a 192 bit non estraibile valida solo nella sessione corrente. È possibile creare una chiave come questa per eseguire il wrapping (e subito dopo annullare il wrapping) di una chiave in fase di esportazione.

Command: genSymKey -t 31 -s 24 -l tmpAES -id wrap01 -nex -sess
Esempio : Risultato rapido

Questo comando crea una chiave generica a 512 byte con un'etichetta di IT_test_key. Il comando non attende che la chiave venga sincronizzata con tutti i componenti del cluster. HSMs Ritorna invece non appena la chiave viene creata su uno qualsiasi HSM (-min_srv 1) o in 1 secondo (-timeout 1), a seconda di quale dei due sia più breve. Se la chiave non è sincronizzata con il numero minimo specificato HSMs prima della scadenza del timeout, non viene generata. È possibile utilizzare un comando come questo in uno script che crea numerose chiavi, come il loop for nell'esempio seguente.

Command: genSymKey -t 16 -s 512 -l IT_test_key -min_srv 1 -timeout 1 $ for i in {1..30}; do /opt/cloudhsm/bin/key_mgmt_util singlecmd loginHSM -u CU -s example_user -p example_pwd genSymKey -l aes -t 31 -s 32 -min_srv 1 -timeout 1; done;
Esempio : Creazione di una chiave generica con autorizzazione del quorum

Questo comando crea una chiave segreta generica a 2048 bit con l'etichetta generic-mV2. Il comando utilizza il parametro -u per condividere la chiave con un altro utente di crittografia, l'utente 6. Usa il parametro -m_value per richiedere un quorum di almeno due approvazioni per le operazioni di crittografia che utilizzano la chiave. Il comando utilizza inoltre il parametro -attest per verificare l'integrità del firmware in cui la chiave viene generata.

L'output indica che il comando ha generato una chiave con handle 9 e che il controllo di attestazione sul firmware del cluster ha avuto esito positivo.

Command: genSymKey -t 16 -s 2048 -l generic-mV2 -m_value 2 -u 6 -attest Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS Symmetric Key Created. Key Handle: 9 Attestation Check : [PASS] Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
Esempio : Creazione e analisi di una chiave

Questo comando crea una DES chiave tripla con un'3DES_sharedetichetta e un ID di. IT-02 La chiave può essere utilizzata dall'utente corrente e dagli utenti 4 e 5. Il comando ha esito negativo se l'ID non è univoco nel cluster o se l'utente corrente è l'utente 4 o 5.

L'output indica che la nuova chiave ha un handle 7.

Command: genSymKey -t 21 -s 24 -l 3DES_shared -id IT-02 -u 4,5 Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS Symmetric Key Created. Key Handle: 7 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Per verificare che la nuova DES chiave 3 sia di proprietà dell'utente corrente e sia condivisa con gli utenti 4 e 5, usagetKeyInfo. Il comando usa l'handle assegnato alla nuova chiave (Key Handle: 7).

L'output conferma che la chiave è di proprietà dell'utente 3 ed è condivisa con gli utenti 4 e 5.

Command: getKeyInfo -k 7 Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS Owned by user 3 also, shared to following 2 user(s): 4, 5

Per confermare le altre proprietà della chiave, usa getAttribute. Il primo comando usa getAttribute per ottenere tutti gli attributi (-a 512) dell'handle di chiave 7 (-o 7) e li scrive nel file attr_7. Il secondo comando usa cat per ottenere il contenuto del file attr_7.

Questo comando conferma che la chiave 7 è una chiave simmetrica () a 192 bit (OBJ_ATTR_VALUE_LEN 0x00000018o 24 byteOBJ_ATTR_KEY_TYPE 0x15) a 3 DES () con un'etichetta di (OBJ_ATTR_CLASS 0x04) e un ID di 3DES_shared (OBJ_ATTR_LABEL 3DES_shared). IT_02 OBJ_ATTR_ID IT-02 La chiave è persistente (OBJ_ATTR_TOKEN 0x01) ed estraibile (OBJ_ATTR_EXTRACTABLE 0x01) e può essere utilizzata per la crittografia, la decodifica e il wrapping.

Suggerimento

Per trovare gli attributi di una chiave che hai creato, come tipo, lunghezza, etichetta e ID, usa. getAttribute Per trovare le chiavi per un determinato utente, usa getKeyInfo. Per trovare le chiavi in base ai valori degli attributi, usa findKey.

Per informazioni sull'interpretazione degli attributi chiave, vedi AWS CloudHSM riferimento all'attributo chiave per KMU.

Command: getAttribute -o 7 -a 512 -out attr_7 got all attributes of size 444 attr cnt 17 Attributes dumped into attr_7 file Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS $ cat attr_7 OBJ_ATTR_CLASS 0x04 OBJ_ATTR_KEY_TYPE 0x15 OBJ_ATTR_TOKEN 0x01 OBJ_ATTR_PRIVATE 0x01 OBJ_ATTR_ENCRYPT 0x01 OBJ_ATTR_DECRYPT 0x01 OBJ_ATTR_WRAP 0x00 OBJ_ATTR_UNWRAP 0x00 OBJ_ATTR_SIGN 0x00 OBJ_ATTR_VERIFY 0x00 OBJ_ATTR_LOCAL 0x01 OBJ_ATTR_SENSITIVE 0x01 OBJ_ATTR_EXTRACTABLE 0x01 OBJ_ATTR_LABEL 3DES_shared OBJ_ATTR_ID IT-02 OBJ_ATTR_VALUE_LEN 0x00000018 OBJ_ATTR_KCV 0x59a46e
Suggerimento

Per utilizzare le chiavi create con questi esempi per HMAC le operazioni, è necessario impostare OBJ_ATTR_SIGN e OBJ_ATTR_VERIFY fare TRUE dopo aver generato la chiave. Per impostare questi valori, usate setAttribute inCMU. Per ulteriori informazioni, vedere setAttribute.

Parametri

-h

Visualizza l'aiuto per il comando.

Campo obbligatorio: sì

-t

Specifica il tipo di chiave simmetrica. Inserisci la costante che rappresenta il tipo di chiave. Ad esempio, per creare una AES chiave, digitate-t 31.

Valori validi:

  • 16: GENERIC_ SECRET. Una chiave segreta generica è un array di byte che non è conforme a uno standard particolare, come i requisiti per una AES chiave.

  • 18:. RC4 RC4le chiavi non sono valide su FIPS -mode HSMs

  • 21: Triplo DES (3DES). Secondo le NIST linee guida, ciò non è consentito per i cluster in FIPS modalità dopo il 2023. Per i cluster non in FIPS modalità, è ancora consentito dopo il 2023. Per informazioni dettagliate, vedi FIPS140 Conformità: obsolescenza del meccanismo 2024.

  • 31: AES

Campo obbligatorio: sì

-s

Specifica le dimensioni della chiave in byte. Ad esempio, per creare una chiave a 192 bit, digita 24.

Valori validi per ogni tipo di chiave:

  • AES: 16 (128 bit), 24 (192 bit), 32 (256 bit)

  • 3DES: 24 (192 bit)

  • Segreta generica: <3584 (28672 bit)

Campo obbligatorio: sì

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

-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

-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

-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

-m_valore

Specifica il numero di utenti che devono approvare le operazioni di crittografia che utilizzano la chiave importata. Digitare un valore da 0 a 8.

Questo parametro stabilisce un requisito di autenticazione del quorum per la chiave. Il valore predefinito, 0, disabilita la funzionalità di autenticazione del quorum per la chiave. Quando su una chiave è abilitata la funzionalità di autenticazione del quorum, restituisce anche il numero di utenti che devono approvare le operazioni di crittografia che utilizzano la chiave.

Per trovare il codice m_value di una chiave, usa getKeyInfo.

Questo parametro è valido soltanto quando il parametro -u nel comando condivide la chiave con un numero sufficiente di utenti per soddisfare il requisito m_value.

Impostazione Predefinita: 0

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

-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

-u

Condivide la chiave con gli utenti specificati. Questo parametro fornisce agli altri utenti HSM crittografici (CUs) il permesso di utilizzare questa chiave nelle operazioni crittografiche.

Digitate un elenco di HSM utenti separati da virgoleIDs, ad esempio -. u 5,6 Non includere l'ID HSM utente dell'utente corrente. Per trovare HSM l'utente IDs di CUs suHSM, usa listUsers. Per condividere e annullare la condivisione delle chiavi esistenti, usale shareKeynel cloudhsm_mgmt_util.

Impostazione predefinita: soltanto l'utente attuale può utilizzare la chiave.

Campo obbligatorio: no

Argomenti correlati