genDSAKeyPair - 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à.

genDSAKeyPair

Il comando genDSAKeyPair nello strumento key_mgmt_util genera una coppia di chiavi Digital Signing Algorithm (DSA) nei tuoi moduli HSM. Devi specificare la lunghezza del modulo; il comando genera il valore del modulo. Puoi anche assegnare un ID, condividere la chiave con altri utenti HSM, creare chiavi non estraibili e chiavi che scadono al termine della sessione. Quando il comando viene eseguito correttamente, restituisce l'handle della chiave che l'HSM assegna alle chiavi pubbliche e private. Puoi utilizzare gli handle per identificare le chiavi per altri comandi.

Prima di eseguire un comando key_mgmt_util, devi avviare key_mgmt_util e accedere all'HSM come crypto user (CU).

Suggerimento

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

Sintassi

genDSAKeyPair -h genDSAKeyPair -m <modulus length> -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 genDSAKeyPair per creare una coppia di chiavi DSA.

Esempio : creazione di una coppia di chiavi DSA

Questo comando crea una coppia di chiavi DSA con un'etichetta DSA. L'output indica che l'handle della chiave pubblica è 19 e l'handle della chiave privata è 21.

Command: genDSAKeyPair -m 2048 -l DSA Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 19 private key handle: 21 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
Esempio : creazione di una coppia di chiavi DSA solo per la sessione

Questo comando crea una coppia di chiavi DSA valida solo nella sessione corrente. Il comando assegna un ID univoco di DSA_temp_pair oltre all'etichetta richiesta (non univoca). È possibile creare una coppia di chiavi come questa per firmare e verificare un token solo per la sessione. L'output indica che l'handle della chiave pubblica è 12 e l'handle della chiave privata è 14.

Command: genDSAKeyPair -m 2048 -l DSA-temp -id DSA_temp_pair -sess Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 12 private key handle: 14 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Per confermare che la coppia di chiavi esiste solo nella sessione, utilizza il parametro -sess di findKey con un valore di 1 (vero).

Command: findKey -sess 1 Total number of keys present 2 number of keys matched from start index 0::1 12, 14 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS
Esempio : creazione di una coppia di chiavi DSA non estraibili e condivise

Questo comando crea una coppia di chiavi DSA. La chiave privata è condivisa con altri tre utenti e non può essere esportata dall'HSM. Le chiavi pubbliche possono essere utilizzate da qualsiasi utente e possono sempre essere estratte.

Command: genDSAKeyPair -m 2048 -l DSA -id DSA_shared_pair -nex -u 3,5,6 Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 11 private key handle: 19 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
Esempio : creazione di una coppia di chiavi controllate dal quorum

Questo comando crea una coppia di chiavi DSA con l'etichetta DSA-mV2. Il comando utilizza il parametro -u per condividere la chiave privata con gli utenti 4 e 6. Utilizzare il parametro -m_value per richiedere un quorum di almeno due approvazioni per le operazioni di crittografia che utilizzano la chiave privata: Viene inoltre utilizzato il parametro -attest per verificare l'integrità del firmware in cui la coppia di chiavi è generata.

L'output indica che il comando genera una chiave pubblica con handle 12 e una chiave privata con handle 17 e che il controllo di attestazione sul firmware del cluster ha avuto esito positivo.

Command: genDSAKeyPair -m 2048 -l DSA-mV2 -m_value 2 -u 4,6 -attest Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 12 private key handle: 17 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

Questo comando utilizza getKeyInfo sulla chiave privata (handle chiave 17). L'output conferma che la chiave è di proprietà dell'utente corrente (utente 3) e che è condivisa con gli utenti 4 e 6 (e non con altri). L'output mostra anche che l'autenticazione del quorum è abilitata e la dimensione del quorum è due.

Command: getKeyInfo -k 17 Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS Owned by user 3 also, shared to following 2 user(s): 4 6 2 Users need to approve to use/manage this key

Parametri

-h

Visualizza l'aiuto per il comando.

Campo obbligatorio: sì

-m

Specifica la lunghezza del modulo in bit. L'unico valore valido è 2048.

Campo obbligatorio: sì

-l

Specifica un'etichetta definita dall'utente per la coppia di chiavi. Digita una stringa La stessa etichetta si applica a entrambe le chiavi della coppia. La dimensione massima per label è di 127 caratteri.

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ì

-id

Specifica un identificatore definito dall'utente per la coppia di chiavi. Digita una stringa univoca nel cluster. L'impostazione predefinita è una stringa vuota. L'ID specificato si applica a entrambe le chiavi della coppia.

Impostazione predefinita: nessun valore dell'ID.

Campo obbligatorio: no

-min_srv

Specifica il numero minimo di moduli HSM su cui la chiave importata è sincronizzata prima che il valore del parametro -timeout scada. Se la chiave non è sincronizzata sul numero di server specificato nel tempo allocato, non viene creata.

AWS CloudHSM sincronizza automaticamente ogni chiave su ogni modulo HSM nel cluster. Per velocizzare il processo, imposta il valore di min_srv su un valore inferiore al numero di moduli HSM nel cluster e imposta 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. Digita un valore da 0 a 8.

Questo parametro stabilisce un requisito di autenticazione del quorum per la chiave privata. Il valore predefinito 0 disabilita la funzionalità di autenticazione del quorum per la chiave. Quando l'autenticazione del quorum è abilitata, il numero specificato di utenti deve firmare un token per approvare le operazioni crittografiche che utilizzano la chiave privata e le operazioni che condividono o annullano la condivisione della chiave privata.

Per trovare m_value di una chiave, utilizzare getKeyInfo.

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

Impostazione predefinita: 0

Campo obbligatorio: no

-successivo

Rende la chiave privata non estraibile. La chiave privata generata non può essere esportata dall'HSM. Le chiavi pubbliche sono sempre estraibili.

Impostazione predefinita: sia la chiave pubblica che quella privata nella coppia di chiavi sono estraibili.

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 i dati che potrebbe essere necessario decodificare dopo la fine della sessione.

Per cambiare una chiave di sessione in una chiave persistente (token), usa setAttribute.

Impostazione Predefinita: la chiave è persistente.

Campo obbligatorio: no

timeout

Specifica per quanto tempo (in secondi) il comando attende la sincronizzazione di una chiave con il numero di HSM 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 privata della coppia con gli utenti specificati. Questo parametro fornisce agli altri crypto user (CU) dell'HSM l'autorizzazione ad utilizzare questa chiave nelle operazioni di crittografia. Le chiavi pubbliche possono essere utilizzate da qualsiasi utente senza condividerle.

Digita un elenco separato da virgole degli ID utente dell'HSM, come -u 5,6. Non includere l'ID utente dell'HSM dell'utente attuale. Per trovare gli ID utente dell'HSM dei CU sull'HSM, utilizza ElencaUtenti. Quindi, per condividere o interrompere la condivisione di una chiave esistente, utilizza shareKey in cloudhsm_mgmt_util.

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

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

Argomenti correlati