Utilisation de l'utilitaire de gestion CloudHSM (CMU) pour gérer l'authentification à deux facteurs (2FA) pour les responsables du chiffrement - AWS CloudHSM

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de l'utilitaire de gestion CloudHSM (CMU) pour gérer l'authentification à deux facteurs (2FA) pour les responsables du chiffrement

Pour plus de sécurité, vous pouvez configurer l'authentification à deux facteurs (2FA) pour mieux protéger le cluster. Vous ne pouvez activer l'authentification à deux facteurs que pour les responsables de chiffrement (CO).

Note

Vous ne pouvez pas activer l'authentification à deux facteurs pour les utilisateurs de chiffrement (CU) ou les applications. L'authentification à deux facteurs (2FA) est réservée aux utilisateurs de CO.

Comprendre l'authentification à deux facteurs pour les utilisateurs de HSM

Lorsque vous vous connectez à un cluster avec un compte HSM (Hardware Service Module) compatible 2FA, vous fournissez votre mot de passe à cloudhsm-mgmt_util (CMU) (le premier facteur, ce que vous connaissez), et l’utilitaire CMU vous fournit un jeton et vous invite à le faire signer. Pour fournir le deuxième facteur, celui que vous avez, vous signez le jeton avec une clé privée provenant d'une paire de clés que vous avez déjà créée et associée à l'utilisateur HSM. Pour accéder au cluster, vous devez fournir le jeton signé à l’utilitaire CMU.

Authentification par quorum et 2FA

Le cluster utilise la même clé pour l'authentification par quorum et pour l'authentification à deux facteurs. Cela signifie qu'un utilisateur dont l'authentification à deux facteurs est activée est effectivement enregistré pour le contrôle d’accès M of N (MoFN). Pour utiliser correctement l'authentification 2FA et l'authentification par quorum pour le même utilisateur HSM, tenez compte des points suivants :

  • Si vous utilisez l'authentification par quorum pour un utilisateur aujourd'hui, vous devez utiliser la même paire de clés que celle que vous avez créée pour l'utilisateur du quorum afin d'activer l'authentification à deux facteurs pour cet utilisateur.

  • Si vous ajoutez l'exigence 2FA pour un utilisateur non-2FA qui n'est pas un utilisateur d'authentification par quorum, vous enregistrez cet utilisateur en tant qu'utilisateur MoFN avec authentification 2FA.

  • Si vous supprimez l'exigence 2FA ou modifiez le mot de passe d'un utilisateur 2FA qui est également un utilisateur d'authentification par quorum, vous supprimerez également l'enregistrement de l'utilisateur du quorum en tant qu'utilisateur MoFN.

  • Si vous supprimez l'exigence 2FA ou modifiez le mot de passe d'un utilisateur 2FA qui est également un utilisateur utilisant l'authentification par quorum, mais que vous souhaitez tout de même que cet utilisateur participe à l'authentification par quorum, vous devez l'enregistrer à nouveau en tant qu'utilisateur MoFN.

Pour de plus amples informations sur l'authentification, veuillez consulter Utilisation du CMU pour gérer l'authentification du quorum.

Utilisation de l'authentification à deux facteurs pour les utilisateurs HSM

Cette section décrit comment utiliser 2FA pour les utilisateurs HSM, notamment en créant des utilisateurs 2FA HSM, en faisant pivoter les clés et en se connectant au HSM en tant qu'utilisateurs compatibles 2FA. Pour plus d'informations sur l'utilisation d'utilisateurs HSM, consultez Gestion des utilisateurs HSM dans AWS CloudHSM, Utilisation de l'Utilitaire de gestion CloudHSM (CMU) pour gérer les utilisateurs, createUser, loginHSM et logoutHSM et changePswd.

Création d'utilisateurs 2FA

Pour activer 2FA pour un utilisateur HSM, utilisez une clé répondant aux exigences suivantes.

Vous pouvez créer une nouvelle paire de clés ou utiliser une clé existante répondant aux exigences suivantes.

  • Type de clé : asymétrique

  • Utilisation de clé : signature et vérification

  • Spécification de clé : RSA_2048

  • L'algorithme de signature inclut :

    • sha256WithRSAEncryption

Note

Si vous utilisez l'authentification par quorum ou si vous envisagez d'utiliser l'authentification par quorum, consultez Authentification par quorum et 2FA.

Utilisez l’utilitaire CMU et la paire de clés pour créer un nouvel utilisateur CO pour lequel 2FA est activé.

Pour créer des utilisateurs CO pour lesquels 2FA est activé
  1. Dans un terminal, effectuez l'une des étapes suivantes :

    1. Accédez à votre HSM et connectez-vous à l'utilitaire de gestion CloudHSM :

      /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
    2. Connectez-vous en tant que CO et utilisez la commande suivante pour créer un nouvel utilisateur MFA avec 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. Laissez le terminal ci-dessus dans cet état. N'appuyez pas sur Entrée et n'entrez aucun nom de fichier.

  2. Dans un autre terminal, effectuez les opérations suivantes :

    1. Accédez à votre HSM et connectez-vous à l'utilitaire de gestion CloudHSM :

      /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
    2. Générez une paire de clés publique-privée à l'aide des commandes suivantes :

      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. Exécutez la commande suivante pour installer une fonctionnalité de requête JSON permettant d'extraire le résumé du fichier authdata :

      sudo yum install jq
    4. Pour extraire la valeur du résumé, recherchez d'abord les données suivantes dans le fichier authdata :

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

      Le résumé obtenu est codé en base64, mais pour signer le résumé, vous devez d'abord décoder puis signer le fichier. La commande suivante décodera le résumé et stockera le contenu décodé dans « digest1.bin »

      cat authdata | jq '.Data[0].Digest' | cut -c2- | rev | cut -c2- | rev | base64 -d > digest1.bin
    5. Convertissez le contenu de la clé publique en ajoutant « \n » et en supprimant les espaces comme indiqué ici :

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

      La commande ci-dessus montre comment « \n » est ajouté immédiatement aprèsBEGIN PUBLIC KEY-----, les espaces entre « \n » et le premier caractère de la clé publique sont supprimés, « \n » est ajouté avant -----END PUBLIC KEY et les espaces sont supprimés entre « \n » et la fin de la clé publique.

      Il s'agit du format PEM pour la clé publique qui est accepté dans le fichier authdata.

    6. Collez le contenu du format pem de la clé publique dans la section clé publique du fichier 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. Signez le fichier du jeton à l'aide de la commande suivante :

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

      Comme indiqué dans la commande ci-dessus, utilisez openssl pkeyutl plutôt que openssl dgst pour signer.

    8. Ajoutez le résumé signé dans le fichier Authdata dans le champ « Signature ».

      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. Retournez au premier terminal et appuyez sur 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)

Gestion de l'authentification à deux facteurs pour les utilisateurs HSM

Utilisez le changement de mot de passe pour modifier le mot de passe d'un utilisateur 2FA, pour activer ou désactiver l'authentification 2FA, ou pour faire pivoter la clé 2FA. Chaque fois que vous activez l'authentification à deux facteurs, vous devez fournir une clé publique pour les connexions à deux facteurs.

Le changement de mot de passe exécute l'un des scénarios suivants :

  • Modification du mot de passe d'un utilisateur 2FA

  • Modification du mot de passe d'un utilisateur non-2FA

  • Ajout de 2FA à un utilisateur non-2FA

  • Suppression de l'authentification à deux facteurs d'un utilisateur 2FA

  • Rotation de la clé pour un utilisateur 2FA

Vous pouvez également combiner des tâches. Par exemple, vous pouvez supprimer l’authentification 2FA d'un utilisateur et modifier le mot de passe en même temps, ou vous pouvez faire pivoter la clé 2FA et modifier le mot de passe utilisateur.

Pour modifier les mots de passe ou faire pivoter les clés pour les utilisateurs CO pour lesquels 2FA est activé
  1. Utilisez l’utilitaire CMU pour vous connecter au HSM en tant que CO avec 2FA activé.

  2. Utilisez changePswd pour modifier le mot de passe ou faire pivoter la clé pour les utilisateurs CO pour lesquels l'authentification à deux facteurs est activée. Utilisez le paramètre -2fa et incluez un emplacement dans le système de fichiers pour que le système puisse écrire le fichier authdata. Ce fichier inclut un résumé pour chaque HSM du cluster.

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

    L’utilitaire CMU vous invite à utiliser la clé privée pour signer les résumés du fichier authdata et à renvoyer les signatures avec la clé publique.

  3. Utilisez la clé privée pour signer les résumés du fichier authdata, ajoutez les signatures et la clé publique au fichier authdata au format JSON, puis indiquez à l’utilitaire CMU l'emplacement du fichier authdata. Pour de plus amples informations, veuillez consulter Référence de configuration.

    Note

    Le cluster utilise la même clé pour l'authentification par quorum et l'authentification à deux facteurs. Si vous utilisez l'authentification par quorum ou si vous envisagez d'utiliser l'authentification par quorum, consultez Authentification par quorum et 2FA.

Pour désactiver l'authentification à deux facteurs pour les utilisateurs CO pour lesquels l'authentification à deux facteurs est activée
  1. Utilisez l’utilitaire CMU pour vous connecter au HSM en tant que CO pour lequel 2FA est activé.

  2. Utilisez changePswd pour supprimer l'authentification à deux facteurs pour les utilisateurs CO pour lesquels l'authentification à deux facteurs est activée.

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

    L’utilitaire CMU vous invite à confirmer l'opération de modification du mot de passe.

    Note

    Si vous supprimez l'exigence 2FA ou modifiez le mot de passe d'un utilisateur 2FA qui est également un utilisateur d'authentification par quorum, vous supprimerez également l'enregistrement de l'utilisateur du quorum en tant qu'utilisateur MoFN. Pour plus d'informations sur les utilisateurs du quorum et 2FA, consultez Authentification par quorum et 2FA.

  3. Tapez y.

    L’utilitaire CMU confirme l'opération de modification du mot de passe.

Référence de configuration

Voici un exemple des propriétés 2FA du fichier authdata pour la demande générée par l’utilitaire CMU et pour vos réponses.

{ "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==" } ] }
non structurées

Nœud de niveau supérieur. Contient un nœud subordonné pour chaque HSM du cluster. Apparaît dans les demandes et les réponses pour toutes les commandes 2FA.

Digest

C'est ce que vous devez signer pour fournir l'authentification à deux facteurs. CMU générée dans les demandes pour toutes les commandes 2FA.

HSMId

L'identifiant de votre HSM. Apparaît dans les demandes et les réponses pour toutes les commandes 2FA.

PublicKey

La partie clé publique de la paire de clés que vous avez générée a été insérée sous forme de chaîne au format PEM. Vous le saisissez dans les réponses pour createUser et changePswd.

Signature

Le résumé signé codé en Base64. Vous le saisissez dans les réponses pour toutes les commandes 2FA.

Version

La version du fichier de données d'authentification au format JSON. Apparaît dans les demandes et les réponses pour toutes les commandes 2FA.