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

genECCKeyPair

Il comando genECCKeyPair nello strumento key_mgmt_util genera una coppia di chiavi con Crittografia a curva ellittica (ECC) nei moduli HSM. Quando si esegue il comando genECCKeyPair, è necessario specificare l'identificatore della curva ellittica e un'etichetta per la coppia di chiavi. Inoltre, è possibile condividere la chiave privata con altri utenti CU, creare chiavi non estraibili, chiavi controllate da quorum e chiavi che scadono al termine della sessione. Quando il comando viene completato con successo, restituisce gli handle che l'HSM assegna alle chiavi ECC 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

genECCKeyPair -h genECCKeyPair -i <EC curve id> -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 genECCKeyPair per creare coppie di chiavi ECC negli HSM.

Esempio : creare ed esaminare una coppia di chiavi ECC

Questo comando usa una curva ellittica NID_secp384r1 e un'etichetta ecc14 per creare una coppia di chiavi ECC. L'output indica che l'handle della chiave privata è 262177 e l'handle della chiave pubblica è 262179. L'etichetta si applica a entrambe le chiavi, sia pubblica che privata.

Command: genECCKeyPair -i 14 -l ecc14 Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 262179 private key handle: 262177 Cluster Error Status Node id 2 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Dopo aver generato la chiave, è possibile esaminarne gli attributi. Utilizza getAttribute per scrivere tutti gli attributi (rappresentati dalla costante 512) della nuova chiave privata ECC sul file attr_262177.

Command: getAttribute -o 262177 -a 512 -out attr_262177 got all attributes of size 529 attr cnt 19 Attributes dumped into attr_262177 Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS

Quindi utilizza il comando cat per visualizzare il contenuto del file degli attributi attr_262177. L'output indica che la chiave è una chiave privata basata su una curva ellittica che può essere utilizzata per firmare, ma non per la crittografia, la decodifica, il wrapping, l'annullamento del wrapping o la verifica. La chiave è persistente ed esportabile.

$ cat attr_262177 OBJ_ATTR_CLASS 0x03 OBJ_ATTR_KEY_TYPE 0x03 OBJ_ATTR_TOKEN 0x01 OBJ_ATTR_PRIVATE 0x01 OBJ_ATTR_ENCRYPT 0x00 OBJ_ATTR_DECRYPT 0x00 OBJ_ATTR_WRAP 0x00 OBJ_ATTR_UNWRAP 0x00 OBJ_ATTR_SIGN 0x01 OBJ_ATTR_VERIFY 0x00 OBJ_ATTR_LOCAL 0x01 OBJ_ATTR_SENSITIVE 0x01 OBJ_ATTR_EXTRACTABLE 0x01 OBJ_ATTR_LABEL ecc2 OBJ_ATTR_ID OBJ_ATTR_VALUE_LEN 0x0000008a OBJ_ATTR_KCV 0xbbb32a OBJ_ATTR_MODULUS 044a0f9d01d10f7437d9fa20995f0cc742552e5ba16d3d7e9a65a33e20ad3e569e68eb62477a9960a87911e6121d112b698e469a0329a665eba74ee5ac55eae9f5 OBJ_ATTR_MODULUS_BITS 0x0000019f
Esempio Utilizzo di una curva EEC non valida

Questo comando tenta di creare una coppia di chiavi ECC utilizzando una curva NID_X9_62_prime192v1. Poiché questa curva ellittica non è valida per HSM con modalità FIPS, il comando ha esito negativo. Il messaggio riporta che un server del cluster non è disponibile, ma questo in genere non indica un problema con i moduli HSM nel cluster.

Command: genECCKeyPair -i 1 -l ecc1 Cfm3GenerateKeyPair returned: 0xb3 : HSM Error: This operation violates the current configured/FIPS policies Cluster Error Status Node id 0 and err state 0x30000085 : HSM CLUSTER ERROR: Server in cluster is unavailable

Parametri

-h

Visualizza l'assistenza per il comando.

Campo obbligatorio: sì

-i

Specifica l'identificatore per la curva ellittica. Inserisci un identificatore.

Valori validi:

  • 2: NID_X9_62_prime256v1

  • 14: NID_secp384r1

  • 16: NID_secp256k1

Campo obbligatorio: sì

-l

Specifica un'etichetta definita dall'utente per la chiave privata. 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 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 una cifra inferiore ai 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 pubblica e privata della coppia. Digitare 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 chiave 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 al termine 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 potrebbe aver bisogno di 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 indeterminato 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) HSM l'autorizzazione per utilizzare questa chiave nelle operazioni di crittografia. Le chiavi pubbliche possono essere utilizzate da qualsiasi utente senza condividerle.

Digitare un elenco separato da virgole di ID utenti HSM, come -u 5,6. Non includere l'ID utente HSM dell'utente attuale. Per trovare gli ID utente HSM dei CU su 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