Utilizzo dell'autenticazione del quorum per i crypto officer: prima configurazione - 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à.

Utilizzo dell'autenticazione del quorum per i crypto officer: prima configurazione

I seguenti argomenti descrivono la procedura da completare per configurare il modulo di sicurezza hardware (HSM), in modo che i crypto officer (CO) possano utilizzare l'autenticazione del quorum. È necessario eseguire questa procedura una sola volta quando si configura l'autenticazione del quorum per i CO. Una volta completata questa procedura, consultare Utilizzo dell'autenticazione del quorum per crypto officer.

Prerequisiti

Per comprendere questo esempio, è bene avere familiarità con lo strumento a riga di comando cloudhsm_mgmt_util (CMU). In questo esempio, il cluster AWS CloudHSM ha due HSM, ognuno con gli stessi CO, come illustrato nel seguente output del comando listUsers. Per ulteriori informazioni sulla creazione degli utenti, vedere Gestione degli utenti HSM.

aws-cloudhsm>listUsers Users on server 0(10.0.2.14): Number of users found:7 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO officer1 NO 0 NO 4 CO officer2 NO 0 NO 5 CO officer3 NO 0 NO 6 CO officer4 NO 0 NO 7 CO officer5 NO 0 NO Users on server 1(10.0.1.4): Number of users found:7 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO officer1 NO 0 NO 4 CO officer2 NO 0 NO 5 CO officer3 NO 0 NO 6 CO officer4 NO 0 NO 7 CO officer5 NO 0 NO

Creazione e registrazione di una chiave per la firma

Per utilizzare l'autenticazione del quorum, ogni CO deve eseguire tutti i seguenti passaggi:

Creazione di una coppia di chiavi RSA

Esistono molti modi diversi per creare e proteggere una coppia di chiavi. Gli esempi a seguire mostrano come eseguire questa operazione con OpenSSL.

Esempio - Creazione di una chiave privata con OpenSSL

L'esempio seguente spiega come utilizzare OpenSSL per creare una chiave RSA a 2.048 bit protetta da una passphrase. Per usare questo esempio, sostituire officer1.key con il nome del file in cui archiviare la chiave.

$ openssl genrsa -out officer1.key -aes256 2048 Generating RSA private key, 2048 bit long modulus .....................................+++ .+++ e is 65537 (0x10001) Enter pass phrase for officer1.key: Verifying - Enter pass phrase for officer1.key:

Successivamente, genera la chiave pubblica utilizzando la chiave privata appena creata.

Esempio - Creazione di una chiave pubblica con OpenSSL

L'esempio seguente dimostra come utilizzare OpenSSL per creare una chiave pubblica dalla chiave privata appena creata.

$ openssl rsa -in officer1.key -outform PEM -pubout -out officer1.pub Enter pass phrase for officer1.key: writing RSA key

Creazione e firma di un token di registrazione

Crea un token e firmalo con la chiave privata appena generata nella fase precedente.

Esempio - Creazione di un token

Il token di registrazione è semplicemente un file con dati casuali che non supera la dimensione massima di 245 byte. Firma il token con la chiave privata per dimostrare di avere accesso alla chiave privata. Il comando seguente utilizza echo per reindirizzare una stringa in un file.

$ echo "token to be signed" > officer1.token

Firma il token e salvalo in un file di firma. Avrai bisogno del token firmato, del token non firmato e della chiave pubblica per registrare il CO come utente MofN nell'HSM.

Esempio - Firma del token

Utilizza OpenSSL e la chiave privata per firmare il token di registrazione e creare il file di firma.

$ openssl dgst -sha256 \ -sign officer1.key \ -out officer1.token.sig officer1.token

Registrazione della chiave pubblica con HSM

Dopo aver creato una chiave, il CO deve registrare la parte pubblica della chiave (chiave pubblica) con l'HSM.

Per registrare una chiave pubblica con l'HSM
  1. Per avviare lo strumento a riga di comando cloudhsm_mgmt_util, utilizza il comando seguente.

    $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
  2. Utilizza il comando loginHSM per effettuare l'accesso all'HSM come CO. Per ulteriori informazioni, consulta Gestione degli utenti HSM con CloudHSM Management Utility (CMU).

  3. Utilizza il comando registerQuorumPubKey per registrare una chiave pubblica. Per ulteriori informazioni, vedi l'esempio seguente oppure utilizza il comando help registerQuorumPubKey.

Esempio - Registrazione di una chiave pubblica nell'HSM

L'esempio seguente mostra come usare il comando registerQuorumPubKey nello strumento a riga di comando cloudhsm_mgmt_util per registrare una chiave pubblica CO con HSM. Per utilizzare questo comando, il CO deve accedere all'HSM. Sostituire questi valori con i propri valori:

aws-cloudhsm> registerQuorumPubKey CO <officer1> <officer1.token> <officer1.token.sig> <officer1.pub> *************************CAUTION******************************** This is a CRITICAL operation, should be done on all nodes in the cluster. AWS does NOT synchronize these changes automatically with the nodes on which this operation is not executed or failed, please ensure this operation is executed on all nodes in the cluster. **************************************************************** Do you want to continue(y/n)?y registerQuorumPubKey success on server 0(10.0.2.14)
<officer1.token>

Il percorso a un file che contiene un token di registrazione non firmato. Può contenere qualsiasi dato casuale con dimensioni massime del file pari a 245 byte.

Campo obbligatorio: sì

<officer1.token.sig>

Il percorso a un file che contiene l'hash SHA256_PKCS firmato dal meccanismo del token di registrazione.

Campo obbligatorio: sì

<officer1.pub>

Il percorso al file che contiene la chiave pubblica di una coppia di chiavi simmetriche RSA-2048. Utilizza la chiave privata per firmare il token di registrazione.

Campo obbligatorio: sì

Quando tutti i CO hanno registrato le proprie chiavi pubbliche, l'output del comando listUsers mostra questo nella colonna MofnPubKey, come illustrato nell'esempio seguente.

aws-cloudhsm>listUsers Users on server 0(10.0.2.14): Number of users found:7 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO officer1 YES 0 NO 4 CO officer2 YES 0 NO 5 CO officer3 YES 0 NO 6 CO officer4 YES 0 NO 7 CO officer5 YES 0 NO Users on server 1(10.0.1.4): Number of users found:7 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO officer1 YES 0 NO 4 CO officer2 YES 0 NO 5 CO officer3 YES 0 NO 6 CO officer4 YES 0 NO 7 CO officer5 YES 0 NO

Impostazione del valore minimo del quorum sull'HSM

Per utilizzare l'autenticazione del quorum per i CO, un CO deve accedere all'HSM e quindi impostare il valore minimo del quorum, noto anche come valore m. Questo è il numero minimo di approvazioni CO necessarie per l'esecuzione delle operazioni di gestione degli utenti HSM. Qualsiasi CO nell'HSM può impostare il valore minimo del quorum, compresi i CO che non hanno registrato una chiave per la firma. È possibile modificare il valore minimo del quorum in qualsiasi momento; per ulteriori informazioni, consultare Modifica del valore minimo.

Per impostare il valore minimo del quorum sull'HSM
  1. Per avviare lo strumento a riga di comando cloudhsm_mgmt_util, utilizza il comando seguente.

    $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
  2. Utilizza il comando loginHSM per effettuare l'accesso all'HSM come CO. Per ulteriori informazioni, consulta Gestione degli utenti HSM con CloudHSM Management Utility (CMU).

  3. Utilizzare il comando setMValue per impostare il valore minimo del quorum. Per ulteriori informazioni, vedi l'esempio seguente oppure utilizza il comando help setMValue.

Esempio - Impostazione del valore minimo del quorum sull'HSM

Questo esempio utilizza un valore minimo del quorum pari a due. È possibile scegliere qualsiasi valore compreso tra due (2) e otto (8), fino al numero totale di CO sull'HSM. In questo esempio, l'HSM ha sei CO, pertanto il valore massimo possibile è sei.

Per utilizzare il seguente comando di esempio, sostituire l'ultimo numero (2) con il valore minimo del quorum desiderato.

aws-cloudhsm>setMValue 3 2 *************************CAUTION******************************** This is a CRITICAL operation, should be done on all nodes in the cluster. AWS does NOT synchronize these changes automatically with the nodes on which this operation is not executed or failed, please ensure this operation is executed on all nodes in the cluster. **************************************************************** Do you want to continue(y/n)?y Setting M Value(2) for 3 on 2 nodes

Nell'esempio precedente, il primo numero (3) identifica il servizio HSM di cui si sta impostando il valore minimo del quorum.

La tabella seguente elenca gli identificatori del servizio HSM con i relativi nomi, descrizioni e comandi inclusi nel servizio.

Identificatori servizio Nome del servizio Descrizione del servizio Comandi HSM
3 USER_MGMT Gestione degli utenti HSM
  • createUser

  • deleteUser

  • changePswd (si applica solo quando si modifica la password di un utente HSM diverso)

4 MISC_CO Servizio per CO vario
  • setMValue

Per ottenere il valore minimo del quorum per un servizio, utilizzare il comando getMValue, come nell'esempio seguente.

aws-cloudhsm>getMValue 3 MValue of service 3[USER_MGMT] on server 0 : [2] MValue of service 3[USER_MGMT] on server 1 : [2]

L'output del comando getMValue precedente mostra che il valore minimo del quorum per le operazioni di gestione degli utenti HSM (servizio 3) è ora due.

Una volta completata questa procedura, consultare Utilizzo dell'autenticazione del quorum per crypto officer.