Utilizzo dell'autenticazione del quorum per crypto officer - 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 crypto officer

Un responsabile della crittografia (CO) nell'HSM può configurare l'autenticazione del quorum per le seguenti operazioni sull'HSM:

  • Creazione di utenti HSM

  • Eliminazione di utenti HSM

  • Modifica della password di un altro utente HSM

Dopo che l'HSM è stato configurato per l'autenticazione del quorum, i CO non possono svolgere operazioni di gestione degli utenti HSM in modo autonomo. Nell'esempio seguente è mostrato l'output dopo che un CO ha tentato di creare un nuovo utente nell'HSM. Il comando ha esito negativo con un errore RET_MXN_AUTH_FAILED, che indica che l'autenticazione del quorum non è stata effettuata correttamente.

aws-cloudhsm>createUser CU user1 password *************************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 Creating User user1(CU) on 2 nodes createUser failed: RET_MXN_AUTH_FAILED creating user on server 0(10.0.2.14) failed Retry/Ignore/Abort?(R/I/A):A

Per svolgere un'operazione di gestione degli utenti HSM, i CO devono completare le seguenti attività:

Configura l'HSM per l'autenticazione del quorum per i CO, se non hai ancora effettuato questa operazione. Per ulteriori informazioni, consulta Prima configurazione.

Ottenere un token del quorum

Per prima cosa il CO deve utilizzare lo strumento a riga di comando cloudhsm_mgmt_util per richiedere un token del quorum.

Per ottenere un token del quorum
  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 getToken per ottenere un token del quorum. Per ulteriori informazioni, vedi l'esempio seguente oppure utilizza il comando help getToken.

Esempio - Ottenimento di un token del quorum

In questo esempio si ottiene un token del quorum per il CO con nome utente officer1, che viene salvato nel file officer1.token. Per utilizzare il comando di esempio, sostituisci i valori i tuoi personali:

  • officer1: nome del CO che sta ottenendo il token. Deve essere lo stesso CO che ha eseguito l'accesso all'HSM e sta eseguendo il comando.

  • officer1.token: nome del file da usare per memorizzare il token del quorum.

Nel comando seguente, 3 identifica il servizio per cui potrai utilizzare il token ottenuto. In questo caso, il token è destinato alle operazioni di gestione degli utenti HSM (servizio 3). Per ulteriori informazioni, consulta Impostazione del valore minimo del quorum sull'HSM.

aws-cloudhsm>getToken 3 officer1 officer1.token getToken success on server 0(10.0.2.14) Token: Id:1 Service:3 Node:1 Key Handle:0 User:officer1 getToken success on server 1(10.0.1.4) Token: Id:1 Service:3 Node:0 Key Handle:0 User:officer1

Ottenimento delle firme dai CO di approvazione

Un CO che dispone di un token del quorum devono ottenerne l'approvazione da parte di altri CO. Per concedere l'approvazione, gli altri CO utilizzano la chiave di firma per firmare crittograficamente il token. Tale operazione viene svolta esternamente all'HSM.

Sono disponibili vari modi per firmare il token. L'esempio seguente mostra come eseguire questa operazione con OpenSSL. Per utilizzare un altro strumento di firma, assicurati che lo strumento utilizzi la chiave privata del CO (chiave di firma) per firmare un digest SHA-256 del token.

Esempio - Ottenimento delle firme dai CO di approvazione

In questo esempio, il CO che dispone del token (officer1) necessita di almeno due approvazioni. I seguenti comandi di esempio mostrano come due CO possono utilizzare OpenSSL per firmare crittograficamente il token.

Nel primo comando, officer1 firma il proprio token. Per utilizzare i seguenti comandi di esempio, sostituisci i valori con i tuoi personali:

  • officer1.key e officer2.key: nome del file che contiene la chiave di firma del CO.

  • officer1.token.sig1 e officer1.token.sig2: nome del file da usare per memorizzare la firma. Assicurati di salvare ogni firma in un file diverso.

  • officer1.token: nome del file che contiene il token che il CO sta firmando.

$ openssl dgst -sha256 -sign officer1.key -out officer1.token.sig1 officer1.token Enter pass phrase for officer1.key:

Nel comando seguente, officer2 firma lo stesso token.

$ openssl dgst -sha256 -sign officer2.key -out officer1.token.sig2 officer1.token Enter pass phrase for officer2.key:

Approvazione del token firmato nell'HSM

Dopo che un CO ottiene il numero minimo di approvazioni (firme) da altri CO, deve approvare il token firmato nell'HSM.

Per approvare il token firmato nell'HSM.
  1. Crea un file di approvazione del token. Per maggiori informazioni, consulta il seguente esempio:

  2. 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
  3. 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).

  4. Utilizza il comando approveToken per approvare il token firmato, trasferendo il file di approvazione del token. Per maggiori informazioni, consulta il seguente esempio:

Esempio - Creazione di un file di approvazione del token e approvazione del token firmato nell'HSM

Il file di approvazione del token è un file di testo in un formato particolare richiesto dall'HSM. Il file contiene informazioni sui token, sui relativi approvatori e sulle firme degli approvatori. Di seguito è mostrato un esempio di file di approvazione del token.

# For "Multi Token File Path", type the path to the file that contains # the token. You can type the same value for "Token File Path", but # that's not required. The "Token File Path" line is required in any # case, regardless of whether you type a value. Multi Token File Path = officer1.token; Token File Path = ; # Total number of approvals Number of Approvals = 2; # Approver 1 # Type the approver's type, name, and the path to the file that # contains the approver's signature. Approver Type = 2; # 2 for CO, 1 for CU Approver Name = officer1; Approval File = officer1.token.sig1; # Approver 2 # Type the approver's type, name, and the path to the file that # contains the approver's signature. Approver Type = 2; # 2 for CO, 1 for CU Approver Name = officer2; Approval File = officer1.token.sig2;

Dopo aver creato il file di approvazione token, il CO utilizza lo strumento a riga di comando di cloudhsm_mgmt_util per l'accesso all'HSM. Il CO utilizza quindi il comando approveToken per approvare il token, come mostrato nel seguente esempio. Sostituisci approval.txt con il nome del file di approvazione del token.

aws-cloudhsm>approveToken approval.txt approveToken success on server 0(10.0.2.14) approveToken success on server 1(10.0.1.4)

Se questo comando viene eseguito correttamente, l'HSM approva il token del quorum. Per controllare lo stato di un token, utilizza il comando listTokens, come mostrato nell'esempio di seguito. L'output del comando mostra che il token dispone del numero richiesto di approvazioni.

Il periodo di validità dei token indica per quanto tempo è garantita la persistenza del token nell'HSM. Potrai utilizzare il token anche dopo la scadenza del periodo di validità (zero secondi).

aws-cloudhsm>listTokens ===================== Server 0(10.0.2.14) ===================== -------- Token - 0 ---------- Token: Id:1 Service:3 Node:1 Key Handle:0 User:officer1 Token Validity: 506 sec Required num of approvers : 2 Current num of approvals : 2 Approver-0: officer1 Approver-1: officer2 Num of tokens = 1 ===================== Server 1(10.0.1.4) ===================== -------- Token - 0 ---------- Token: Id:1 Service:3 Node:0 Key Handle:0 User:officer1 Token Validity: 506 sec Required num of approvers : 2 Current num of approvals : 2 Approver-0: officer1 Approver-1: officer2 Num of tokens = 1 listTokens success

Utilizza il token per operazioni di gestione degli utenti

Dopo avere ottenuto un token con il numero richiesto di approvazioni, come mostrato nella sezione precedente, il CO è in grado di eseguire una delle seguenti operazioni di gestione degli utenti HSM:

  • Creare un utente HSM con il comando createUser

  • Eliminare un utente HSM con il comando deleteUser

  • Modificare la password di un altro utente HSM con il comando changePswd

Per ulteriori informazioni sull'utilizzo di questi comandi, consulta Gestione degli utenti HSM.

Il CO può utilizzare il token per un'unica operazione. Quando tale operazione va a buon fine, il token non è più valido. Per eseguire un'altra operazione di gestione degli utenti HSM, il CO deve ottenere un nuovo token del quorum e nuove firme dagli approvatori, quindi approvare il nuovo token nell'HSM.

Nota

Il token MofN è valido solo finché la sessione di accesso corrente è aperta. Se ti disconnetti da cloudhsm_mgmt_util o se la rete si disconnette, il token non è più valido. Analogamente, un token autorizzato può essere utilizzato solo all'interno di cloudhsm_mgmt_util e non può essere utilizzato per l'autenticazione in un'applicazione diversa.

Nel seguente comando di esempio, il CO crea un nuovo utente nell'HSM.

aws-cloudhsm>createUser CU user1 password *************************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 Creating User user1(CU) on 2 nodes

Dopo che quello precedente è stato eseguito correttamente, il comando listUsers successivo mostra il nuovo utente.

aws-cloudhsm>listUsers Users on server 0(10.0.2.14): Number of users found:8 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO 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 8 CU user1 NO 0 NO Users on server 1(10.0.1.4): Number of users found:8 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO 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 8 CU user1 NO 0 NO

Se il CO tenta di eseguire un'altra operazione di gestione degli utenti HSM, questa avrà esito negativo con un errore di autenticazione del quorum, come mostrato nel seguente esempio.

aws-cloudhsm>deleteUser CU user1 Deleting user user1(CU) on 2 nodes deleteUser failed: RET_MXN_AUTH_FAILED deleteUser failed on server 0(10.0.2.14) Retry/rollBack/Ignore?(R/B/I):I deleteUser failed: RET_MXN_AUTH_FAILED deleteUser failed on server 1(10.0.1.4) Retry/rollBack/Ignore?(R/B/I):I

Il comando listTokens mostra che il CO non dispone di token approvati, come illustrato nel seguente esempio. Per eseguire un'altra operazione di gestione degli utenti HSM, il CO deve ottenere un nuovo token del quorum e nuove firme dagli approvatori, quindi approvare il nuovo token nell'HSM.

aws-cloudhsm>listTokens ===================== Server 0(10.0.2.14) ===================== Num of tokens = 0 ===================== Server 1(10.0.1.4) ===================== Num of tokens = 0 listTokens success