Uso de la autenticación de cuórum para responsables de criptografía: primera configuración - AWS CloudHSM

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de la autenticación de cuórum para responsables de criptografía: primera configuración

Los siguientes temas describen los pasos que debe seguir para configurar el módulo de seguridad de hardware (HSM) de forma que los responsables de criptografía (CO) puedan usar la autenticación de cuórum. Debe seguir estos pasos solo una vez cuando configure por primera vez la autenticación de cuórum para CO. Después de completar estos pasos, consulte Uso de la autenticación de cuórum para responsables de criptografía.

Requisitos previos

Para comprender este ejemplo, debe estar familiarizado con la cloudhsm_mgmt_util herramienta de línea de comandos (CMU). En este ejemplo, el AWS CloudHSM clúster tiene dos HSM, cada uno con el mismo CoS, como se muestra en el siguiente resultado del comando. listUsers Para obtener más información sobre la creación de usuarios, consulte Administración de usuarios de 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

Creación y registro de una clave de firma

Para utilizar la autenticación de quórum, cada OC debe realizar todos los pasos siguientes:

Creación de un par de claves RSA

Hay muchas formas de crear y proteger un par de claves. El siguiente ejemplo muestra cómo hacerlo con OpenSSL.

ejemplo : creación de una clave privada con OpenSSL

El siguiente ejemplo ilustra cómo utilizar OpenSSL para crear una clave RSA de 2048 bits que está protegida por una frase de contraseña. Para utilizar este ejemplo, sustituya officer1.key por el nombre del archivo donde desea almacenar la clave.

$ 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:

A continuación, genere la clave pública usando la clave privada que acaba de crear.

ejemplo : creación de una clave pública con OpenSSL

El siguiente ejemplo muestra cómo usar OpenSSL para crear una clave pública a partir de la clave privada que acaba de crear.

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

Creación y firma de un token de registro

Cree un token y fírmelo con la clave privada que acaba de generar en el paso anterior.

ejemplo : cree un token.

El token de registro es solo un archivo con cualquier dato aleatorio que no supere el tamaño máximo de 245 bytes. Firme el token con la clave privada para demostrar que tiene acceso a la clave privada. El siguiente comando usa eco para redirigir una cadena a un archivo.

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

Firme el token y guárdelo en un archivo de firma. Necesitará el token firmado, el token sin firmar y la clave pública para registrar al CO como usuario de MoFN en el HSM.

ejemplo : firme el token.

Utilice OpenSSL y la clave privada para firmar el token de registro y crear el archivo de firma.

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

Cómo registrar una clave pública con el HSM

Después de crear una clave, el CO debe registrar la parte pública de la clave (la clave pública) en el HSM.

Para registrar una clave pública en el HSM
  1. Utilice el siguiente comando para iniciar la herramienta de línea de comandos cloudhsm_mgmt_util.

    $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
  2. Utilice el comando loginHSM para iniciar sesión en los HSM como CO. Para obtener más información, consulte Administrar usuarios de HSM con la Utilidad de administración CloudHSM (CMU).

  3. Utilice el comando registerQuorumPubKey para registrar la clave pública. Para obtener más información, consulte el siguiente ejemplo o utilice el comando help registerQuorumPubKey.

ejemplo : registro de una clave pública con el HSM

En el siguiente ejemplo, se explica cómo se utiliza el comando registerQuorumPubKey en la herramienta de línea de comandos cloudhsm_mgmt_util para registrar una clave pública del CO con el HSM. Para utilizar este comando, el CO tiene que haber iniciado sesión en el HSM. Reemplace estos valores por sus propios valores:

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>

La ruta a un archivo que contiene un token de registro sin firmar. Puede contener cualquier dato aleatorio con un tamaño máximo de archivo de 245 bytes.

Obligatorio: sí

<officer1.token.sig>

La ruta a un archivo que contiene el hash firmado por el mecanismo SHA256_PKCS del token de registro.

Obligatorio: sí

<officer1.pub>

La ruta al archivo que contiene la clave pública de un par de claves asimétricas RSA-2048. Utilice la clave privada para firmar el token de registro.

Obligatorio: sí

Una vez que todos los CO registran las claves públicas, el resultado del comando listUsers lo muestra en la columna MofnPubKey, tal y como puede verse en el siguiente ejemplo.

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

Cómo establecer el valor mínimo de cuórum en el HSM

Para utilizar autenticación de cuórum para CO, un CO debe iniciar sesión en el HSM y, a continuación, establecer el valor mínimo de cuórum, también conocido como "valor m". Este es el número mínimo de aprobaciones del CO necesarias para realizar las operaciones de administración de usuarios de HSM. Cualquier CO en el HSM puede establecer el valor mínimo de cuórum, incluidos los CO que no han registrado una clave para firmar. Puede cambiar el valor mínimo del cuórum en cualquier momento; para obtener más información, consulte Cambio del valor mínimo.

Para establecer el valor mínimo de cuórum en el HSM
  1. Utilice el siguiente comando para iniciar la herramienta de línea de comandos cloudhsm_mgmt_util.

    $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
  2. Utilice el comando loginHSM para iniciar sesión en los HSM como CO. Para obtener más información, consulte Administrar usuarios de HSM con la Utilidad de administración CloudHSM (CMU).

  3. Utilice el comando setMValue para establecer el valor mínimo de cuórum. Para obtener más información, consulte el siguiente ejemplo o utilice el comando help setMValue.

ejemplo : establecimiento del valor mínimo de cuórum del HSM

Este ejemplo utiliza un valor mínimo de cuórum de dos. Puede elegir cualquier valor entre dos (2) y ocho (8), hasta el número total de CO del HSM. En este ejemplo, el HSM tiene seis CO, por lo que el valor máximo posible es seis.

Para utilizar el siguiente comando de ejemplo, reemplace el número final (2) por el valor mínimo de cuórum preferido.

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

En el ejemplo anterior, el primer número (3) identifica el servicio de HSM cuyo valor mínimo de cuórum está estableciendo.

En la siguiente tabla se enumeran los identificadores del servicio de HSM junto con sus nombres, descripciones y los comandos que se incluyen en el servicio.

Identificador del servicio Nombre del servicio Descripción del servicio Comandos de HSM
3 USER_MGMT Gestión de usuarios HSM
  • createUser

  • deleteUser

  • changePswd (solo se aplica al cambiar la contraseña de otro usuario de HSM)

4 MISC_CO Servicio de CO misceláneo
  • setMValue

Para obtener el valor mínimo de cuórum de un servicio, utilice el comando getMValue, tal y como se muestra en el siguiente ejemplo.

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

El resultado del comando getMValue anterior muestra que el valor mínimo de cuórum para las operaciones de administración de usuarios de HSM (servicio 3) ahora es dos.

Después de completar estos pasos, consulte Uso de la autenticación de cuórum para responsables de criptografía.