Uso de la utilidad de administración (CMU) de CloudHSM para administrar la autenticación de dos factores (2FA) para los de responsables de criptografía - 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 utilidad de administración (CMU) de CloudHSM para administrar la autenticación de dos factores (2FA) para los de responsables de criptografía

Para aumentar la seguridad, puede configurar la autenticación de dos factores (2FA), y así contribuir con la protección del clúster. Solo puede habilitar la 2FA para los responsables de criptografía (CO).

nota

No puede habilitar la 2FA para los usuarios de criptografía (CU) ni para las aplicaciones. La autenticación de dos factores (2FA) es solo para usuarios con rol de CO.

Descripción de la 2FA para los usuarios de HSM

Al iniciar sesión en un clúster con una cuenta de módulo de servicio de hardware (HSM) compatible con la 2FA, le proporciona su contraseña a cloudhsm_mgmt_util (CMU) (el primer factor, es decir, el que conoce), y la CMU le proporciona un token y le solicita que lo firme. Para proporcionar el segundo factor (el que ya tienes), firma el token con una clave privada de un par de claves que ya ha creado y asociado al usuario de HSM. Para acceder al clúster, debe proporcionar el token firmado a la CMU.

Autenticación del cuórum y 2FA

El clúster usa la misma clave para la autenticación de cuórum y de la 2FA. Esto significa que un usuario con la 2FA habilitada está registrado efectivamente en M-of-n-access-control (MoFN). Para utilizar correctamente la autenticación de cuórum y la autenticación de 2FA para el mismo usuario de HSM, tenga en cuenta los siguientes aspectos:

  • Si actualmente utiliza la autenticación de cuórum para un usuario, debe usar el mismo par de claves que creó para el usuario de quorum para habilitar la 2FA para el usuario.

  • Si agrega el requisito de 2FA a un usuario que no cuenta con 2FA y que tampoco cuenta con autenticación de cuórum, registre a ese usuario como un usuario de MoFN con autenticación de 2FA.

  • Si elimina el requisito de 2FA o cambia la contraseña de un usuario con 2FA que también es usuario con autenticación de cuórum, también eliminará el registro del usuario de quorum como usuario de MoFN.

  • Si elimina el requisito de 2FA o cambia la contraseña de un usuario con 2FA que también es un usuario con autenticación de cuórum, pero aún desea que ese usuario participe en la autenticación de cuórum, debe volver a registrar ese usuario como usuario de MoFN.

Para obtener más información acerca de la autenticación de cuórum, consulte Uso de CMU para gestionar la autenticación de cuórum.

Trabajo con la 2FA para los usuarios de HSM

En esta sección se describe cómo trabajar con la 2FA para los usuarios de HSM, incluida la creación de usuarios de HSM de 2FA, la rotación de las claves y el inicio de sesión en el HSM como usuarios habilitados para la 2FA. Para obtener más información sobre cómo trabajar con usuarios de HSM, consulte Administrar usuarios de HSM en AWS CloudHSM, Uso de la utilidad de administración de CloudHSM (CMU) para administrar usuarios, createUser, loginHSM y logoutHSM, y changePswd.

Creación de usuarios con 2FA

Para que un usuario de HSM pueda usar la 2FA, utilice una clave que cumpla los siguientes requisitos.

Puede crear un nuevo par de claves o utilizar una clave existente que cumpla los siguientes requisitos.

  • Tipo de clave: asimétrica

  • Uso de clave: firmar y verificar

  • Especificaciones de clave: RSA_2048

  • El algoritmo de firma incluye:

    • sha256WithRSAEncryption

nota

Si utiliza la autenticación de cuórum o planea utilizarla, consulte Autenticación del cuórum y 2FA.

Utilice la CMU y el par de claves para crear un nuevo usuario con rol de CO y que tenga la 2FA habilitada.

Cómo crear usuarios con rol de CO con la 2FA habilitada
  1. En una terminal, lleve a cabo uno de los siguientes pasos:

    1. Acceda a su HSM e inicie sesión en la utilidad de administración de CloudHSM:

      /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
    2. Inicie sesión como CO y use el siguiente comando para crear un nuevo usuario de MFA con 2FA:

      aws-cloudhsm>createUser CO MFA <CO USER NAME> -2fa /home/ec2-user/authdata *************************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)? yCreating User exampleuser3(CO) on 1 nodesAuthentication data written to: "/home/ec2-user/authdata"Generate Base64-encoded signatures for SHA256 digests in the authentication datafile. To generate the signatures, use the RSA private key, which is the second factor ofauthentication for this user. Paste the signatures and the corresponding public keyinto the authentication data file and provide the file path below.Leave this field blank to use the path initially provided.Enter filename:
    3. Deje la terminal anterior en este estado. No presione enter ni introduzca ningún nombre de archivo.

  2. En otra terminal, realice los siguientes pasos:

    1. Acceda a su HSM e inicie sesión en la utilidad de administración de CloudHSM:

      /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
    2. Genere un par de claves público-privadas con los siguientes comandos:

      openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
      openssl rsa -pubout -in private_key.pem -out public_key.pem
    3. Ejecute el siguiente comando para instalar una característica de consulta de json para extraer el resumen del archivo authdata:

      sudo yum install jq
    4. Para extraer el valor de resumen, busque primero los siguientes datos en el archivo authdata:

      { "Version":"1.0", "PublicKey":"", "Data":[ { "HsmId": <"HSM ID">, "Digest": <"DIGEST">, "Signature":"" } ] }
      nota

      El resumen obtenido está codificado en base64; sin embargo, para firmarlo, es necesario decodificar primero el archivo y, a continuación, firmarlo. El siguiente comando decodificará el resumen y almacenará el contenido decodificado en 'digest1.bin'

      cat authdata | jq '.Data[0].Digest' | cut -c2- | rev | cut -c2- | rev | base64 -d > digest1.bin
    5. Convierta el contenido de la clave pública, añada "\n" y elimine los espacios, tal como se muestra a continuación:

      -----BEGIN PUBLIC KEY-----\n<PUBLIC KEY>\n-----END PUBLIC KEY-----
      importante

      El comando anterior muestra cómo se agrega «\n» inmediatamente después de BEGIN PUBLIC KEY-----, se eliminan los espacios entre «\n» y el primer carácter de la clave pública, se agrega «\n» antes de -----END PUBLIC KEY y se eliminan los espacios entre «\n» y la terminación de la clave pública.

      Este es el formato PEM para la clave pública que se admite en el archivo authdata.

    6. Pegue el contenido del formato PEM de clave pública en la sección de clave pública del archivo authdata.

      vi authdata
      { "Version":"1.0", "PublicKey":"-----BEGIN PUBLIC KEY-----\n<"PUBLIC KEY">\n-----END PUBLIC KEY-----", "Data":[ { "HsmId":<"HSM ID">, "Digest":<"DIGEST">, "Signature":”” } ] }
    7. Firme el archivo de token con el siguiente comando:

      openssl pkeyutl -sign -in digest1.bin -inkey private_key.pem -pkeyopt digest:sha256 | base64 Output Expected: <"THE SIGNATURE">
      nota

      Como se muestra en el comando anterior, utilice openssl pkeyutl en lugar de openssl dgst para firmar.

    8. Agregue el resumen firmado en el archivo de datos de autenticación en el campo "Firma".

      vi authdata
      { "Version": "1.0", "PublicKey": "-----BEGIN PUBLIC KEY----- ... -----END PUBLIC KEY-----", "Data": [ { "HsmId": <"HSM ID">, "Digest": <"DIGEST">, "Signature": "Kkdl ... rkrvJ6Q==" }, { "HsmId": <"HSM ID">, "Digest": <"DIGEST">, "Signature": "K1hxy ... Q261Q==" } ] }
  3. Regrese a la primera terminal y pulse Enter:

    Generate Base64-encoded signatures for SHA256 digests in the authentication datafile. To generate the signatures, use the RSA private key, which is the second factor ofauthentication for this user. Paste the signatures and the corresponding public keyinto the authentication data file and provide the file path below. Leave this field blank to use the path initially provided. Enter filename: >>>>> Press Enter here createUser success on server 0(10.0.1.11)

Administración de la 2FA para los usuarios de HSM

Utilice el cambio de contraseña para cambiar la contraseña de un usuario con 2FA, para activar o desactivar la 2FA, o para rotar la clave de 2FA. Cada vez que habilite la 2FA, debe proporcionar una clave pública para los inicios de sesión de 2FA.

El cambio de contraseña realiza cualquiera de los siguientes escenarios:

  • Cómo cambiar la contraseña para un usuario con 2FA

  • Cómo cambiar la contraseña para un usuario sin 2FA

  • Cómo agregar 2FA a un usuario sin 2FA

  • Cómo quitar la 2FA de un usuario con 2FA

  • Cómo rotar la clave para un usuario con 2FA

También puede combinar tareas. Por ejemplo, puede eliminar la 2FA de un usuario y cambiar la contraseña al mismo tiempo, o puede rotar la clave de 2FA y cambiar la contraseña del usuario.

Cómo cambiar las contraseñas o rotar las claves para los usuarios con rol CO y con la 2FA habilitada
  1. Utilice la CMU para iniciar sesión en el HSM como CO con la 2FA habilitada.

  2. Utilice changePswd para cambiar la contraseña o rotar la clave de los usuarios con rol de CO y con la 2FA habilitada. Utilice el -2fa parámetro e incluya una ubicación en el sistema de archivos para que el sistema escriba el archivo authdata. Este archivo incluye un resumen de cada HSM del clúster.

    aws-cloudhsm>changePswd CO example-user <new-password> -2fa /path/to/authdata

    La CMU le solicita que utilice la clave privada para firmar los resúmenes del archivo authdata y que envíe las firmas con la clave pública.

  3. Utilice la clave privada para firmar los resúmenes del archivo authdata, agregue las firmas y la clave pública al archivo authdata con formato JSON y, a continuación, proporcione a CMU la ubicación del archivo authdata. Para obtener más información, consulte Referencia de la configuración.

    nota

    El clúster usa la misma clave para la autenticación de cuórum y la 2FA. Si utiliza la autenticación de cuórum o planea utilizarla, consulte Autenticación del cuórum y 2FA.

Cómo deshabilitar la 2FA de los usuarios con rol de CO y con la 2FA habilitada
  1. Utilice la CMU para iniciar sesión en el HSM como CO con la 2FA habilitada.

  2. Utilice changePswd para quitar la 2FA de los usuarios con rol de CO y que tengan la 2FA habilitada.

    aws-cloudhsm>changePswd CO example-user <new password>

    La CMU le solicita que confirme la operación de cambio de contraseña.

    nota

    Si elimina el requisito de 2FA o cambia la contraseña de un usuario con 2FA que también es usuario con autenticación de cuórum, también eliminará el registro del usuario de cuórum como usuario de MoFN. Para obtener más información acerca de los usuarios con 2FA, consulte Autenticación del cuórum y 2FA.

  3. Escriba y.

    La CMU confirma la operación de cambio de contraseña.

Referencia de la configuración

A continuación, se muestra un ejemplo de las propiedades de 2FA del archivo authdata, tanto para la solicitud generada por la CMU como para sus respuestas.

{ "Version": "1.0", "PublicKey": "-----BEGIN PUBLIC KEY----- ... -----END PUBLIC KEY-----", "Data": [ { "HsmId": "hsm-lgavqitns2a", "Digest": "k5O1p3f6foQRVQH7S8Rrjcau6h3TYqsSdr16A54+qG8=", "Signature": "Kkdl ... rkrvJ6Q==" }, { "HsmId": "hsm-lgavqitns2a", "Digest": "IyBcx4I5Vyx1jztwvXinCBQd9lDx8oQe7iRrWjBAi1w=", "Signature": "K1hxy ... Q261Q==" } ] }
Data

Nodo de nivel superior. Contiene un nodo subordinado para cada HSM del clúster. Aparece en las solicitudes y respuestas de todos los comandos de 2FA.

Resumir

Esto es lo que debe firmar para proporcionar el segundo factor de autenticación. La CMU se genera en las solicitudes de todos los comandos de 2FA.

HsmId

El ID de su HSM. Aparece en las solicitudes y respuestas de todos los comandos de 2FA.

PublicKey

La porción de clave pública del par de claves que generó se insertó como una cadena con formato PEM. Debe introducirla en las respuestas para createUser y changePswd.

Signature

El resumen firmado y codificado de Base 64. Debe introducirlo en las respuestas de todos los comandos de 2FA.

Versión

La versión del archivo de datos de autenticación con formato JSON Aparece en las solicitudes y respuestas de todos los comandos de 2FA.