Utilisation de l'authentification par quorum pour les responsables de chiffrement : première configuration - 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'authentification par quorum pour les responsables de chiffrement : première configuration

Les rubriques suivantes décrivent les étapes que vous devez suivre pour configurer votre module de sécurité matériel (HSM) afin que les responsables de chiffrement (CO) puissent utiliser l'authentification par quorum. Vous devez suivre ces étapes une seule fois lorsque vous configurez l'authentification par quorum pour les responsables de chiffrement. Une fois que vous avez terminé ces étapes, consultez Utilisation de l'authentification par quorum pour les responsables de chiffrement.

Prérequis

Pour comprendre cet exemple, vous devez connaître l'outil de ligne de commande cloudhsm_mgmt_util (CMU). Dans cet exemple, le AWS CloudHSM cluster possède deux HSM, chacun avec le même CoS, comme indiqué dans le résultat suivant de la listUsers commande. Pour plus d'informations sur la création d'utilisateurs, consultez Gestion des utilisateurs 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

Création et enregistrement d'une clé pour la signature

Pour utiliser l'authentification par quorum, chaque CO doit effectuer toutes les étapes suivantes :

Créer une paire de clés RSA

Il existe de nombreuses manières différentes de créer et de protéger une paire de clés. Les exemples suivants montrent comment procéder avec OpenSSL.

Exemple — Créer une clé privée à l'aide d'OpenSSL

L'exemple suivant montre comment utiliser OpenSSL pour créer une clé RSA de 2048 bits, protégée par une phrase secrète. Pour utiliser cet exemple, remplacez officer1.key par le nom du fichier dans lequel vous souhaitez stocker la clé.

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

Générez ensuite la clé publique à l'aide de la clé privée que vous venez de créer.

Exemple — Crée une clé publique avec OpenSSL

L'exemple suivant montre comment utiliser OpenSSL pour créer une clé publique à partir de la clé privée que vous venez de créer.

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

Créez et signez un jeton d'enregistrement

Vous créez un jeton et vous le signez avec la clé privée que vous venez de générer à l'étape précédente.

Exemple — Crée un jeton

Le jeton d'enregistrement est simplement un fichier contenant des données aléatoires ne dépassant pas la taille maximale de 245 octets. Vous signez le jeton avec la clé privée pour démontrer que vous avez accès à la clé privée. La commande suivante utilise echo pour rediriger une chaîne vers un fichier.

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

Signez le jeton et enregistrez-le dans un fichier de signature. Vous aurez besoin du jeton signé, du jeton non signé et de la clé publique pour enregistrer le CO en tant qu'utilisateur du MofN auprès du HSM.

Exemple — Signez le jeton

Utilisez OpenSSL et la clé privée pour signer le jeton d'enregistrement et créer le fichier de signature.

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

Enregistrez la clé publique avec le HSM

Après avoir créé une clé, le responsable de chiffrement doit enregistrer la partie publique de la clé (clé publique) avec le HSM.

Pour enregistrer une clé publique avec le HSM
  1. Utilisez la commande suivante pour démarrer l'outil de ligne de commande cloudhsm_mgmt_util.

    $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
  2. Utilisez la commande loginHSM pour vous connecter aux HSM en tant que CO. Pour plus d’informations, consultez Gestion des utilisateurs HSM avec l'Utilitaire de gestion CloudHSM (CMU).

  3. Utilisez la commande registerQuorumPubKey pour enregistrer la clé publique. Pour plus d'informations, consultez l'exemple suivant ou utilisez la commande help registerQuorumPubKey.

Exemple - Enregistrer une clé publique avec le HSM

L'exemple suivant montre comment utiliser la commande registerQuorumPubKey de l'outil de ligne de commande cloudhsm_mgmt_util pour enregistrer la clé publique d'un responsable de chiffrement avec le HSM. Pour utiliser cette commande, le responsable de chiffrement doit être connecté au HSM. Remplacez les valeurs suivantes par les vôtres :

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>

Le chemin d'accès à un fichier contenant un jeton d'enregistrement non signé. Peut avoir n'importe quelle donnée aléatoire d'une taille de fichier maximale de 245 octets.

Obligatoire : oui

<officer1.token.sig>

Le chemin d'accès à un fichier contenant le hachage signé par le mécanisme SHA256_PKCS du jeton d’enregistrement.

Obligatoire : oui

<officer1.pub>

Le chemin d'accès au fichier contenant la clé publique d'une paire de clés asymétriques RSA-2048. Utilisez la clé privée pour signer le jeton d'enregistrement.

Obligatoire : oui

Une fois que tous les responsables de chiffrement ont enregistré leurs clés publiques, la sortie de la commande listUsers montre cela dans la colonne MofnPubKey, comme indiqué dans l'exemple suivant.

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

Définition de la valeur minimale de quorum sur le HSM

Pour utiliser l'authentification par quorum pour les responsables de chiffrement, un responsable de chiffrement doit se connecter au HSM, puis définir la valeur minimale de quorum, également appelée valeur m. Il s'agit du nombre minimal d'approbations de responsable de chiffrement qui sont nécessaires pour effectuer des opérations de gestion des utilisateurs HSM. Tout responsable de chiffrement sur le HSM peut définir la valeur minimale de quorum, y compris les responsables de chiffrement qui n'ont pas enregistré de clé pour la signature. Vous pouvez modifier la valeur minimale de quorum à tout moment ; pour plus d'informations, consultez Modifier la valeur minimale..

Pour définir la valeur minimale de quorum sur le HSM
  1. Utilisez la commande suivante pour démarrer l'outil de ligne de commande cloudhsm_mgmt_util.

    $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
  2. Utilisez la commande loginHSM pour vous connecter aux HSM en tant que CO. Pour plus d’informations, consultez Gestion des utilisateurs HSM avec l'Utilitaire de gestion CloudHSM (CMU).

  3. Utilisez la commande setMValue pour définir la valeur minimale de quorum. Pour plus d'informations, consultez l'exemple suivant ou utilisez la commande help setMValue.

Exemple - Définition de la valeur minimale de quorum sur le HSM

Cet exemple utilise une valeur minimale de quorum de deux. Vous pouvez choisir n'importe quelle valeur comprise entre deux (2) et huit (8), jusqu'au nombre total de CO sur le HSM. Dans cet exemple, le HSM a six CO, de sorte que la valeur maximale possible est six.

Pour utiliser l'exemple de commande suivant, remplacez le nombre final (2) par la valeur minimale de quorum que vous préférez.

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

Dans l'exemple précédent, le premier nombre (3) identifie le service HSM dont vous définissez la valeur minimale de quorum.

Le tableau suivant répertorie les identifiants de service HSM ainsi que leurs noms, descriptions et commandes incluses dans le service.

Identifiant du service Service Name Description du service Commandes HSM
3 USER_MGMT Gestion des utilisateurs HSM
  • createUser

  • deleteUser

  • changePswd (s'applique uniquement lors de la modification du mot de passe d'un autre utilisateur HSM)

4 MISC_CO Service CO divers
  • setMValue

Pour obtenir la valeur minimale de quorum pour un service, utilisez la commande getMValue, comme dans l'exemple suivant.

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

La sortie de la commande getMValue précédente indique que la valeur minimale de quorum pour les opérations de gestion des utilisateurs HSM (service 3) est désormais égale à deux.

Une fois que vous avez terminé ces étapes, consultez Utilisation de l'authentification par quorum pour les responsables de chiffrement.