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.
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'aes256
etichetta. 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_shared
etichetta 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
0x00000018
o 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
a8
.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 requisitom_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