Configurez un cluster Cloud Hardware Security Module (Cloud HSM) à partir de zéro : activez un module de sécurité matériel (HSM) en tant que maître, créez et activez le cluster, connectez le client HSM et générez votre première clé cryptographique.
N'utilisez pas de clés de test dans les environnements de production. Les clés de test sont destinées uniquement à la validation et n'offrent pas les garanties de sécurité requises en production.
Pour utiliser un cluster HSM avec une instance Key Management Service (KMS) de type gestion matérielle des clés, consultez la rubrique Configuration d'un cluster HSM pour une instance KMS de type gestion matérielle des clés . Les étapes 4 et 5 de ce guide ne s'appliquent pas dans ce scénario.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Un HSM acheté et activé. Consultez la rubrique Achat et activation d'un HSM.
Une instance ECS exécutant CentOS 8 ou Alibaba Cloud Linux, située dans le même Virtual Private Cloud (VPC) que l'HSM. L'instance ECS sert à installer l'outil de gestion HSM et non à héberger des applications métier. Consultez la rubrique Prise en main des instances Linux.
Étape 1 : Activer un HSM en tant que HSM maître
Un cluster HSM se compose d'un HSM maître et de plusieurs HSM non maîtres. Avant de créer un cluster, désignez un HSM comme maître.
Accédez à la page VSMs de la console Cloud Hardware Security Module. Dans la barre de navigation supérieure, sélectionnez une région.
Sur la page VSMs, repérez l'HSM et cliquez sur Enable dans la colonne Actions.
-
Dans la boîte de dialogue Configure HSM instance , définissez les paramètres suivants, puis cliquez sur OK. Une fois la configuration réussie, le Status de l'HSM passe à Enabled.
Parameter Description VPC ID Identifiant du VPC à associer à l'HSM. VPC subnet Sous-réseau à attribuer à l'HSM au sein du VPC. Private IP address Adresse IP privée à attribuer à l'HSM. Elle doit appartenir au sous-réseau assigné. Le système réserve les adresses IP dont le dernier octet est 253, 254 ou 255 ; n'utilisez pas ces adresses. Configure HSM whitelist Adresses IP ou blocs CIDR autorisés à accéder à l'HSM. Prend en charge jusqu'à 10 entrées (une par ligne). Si ce champ est laissé vide, toutes les adresses IP peuvent accéder à l'HSM. Si une liste d'autorisation de cluster est configurée, elle est prioritaire sur la liste d'autorisation de l'HSM. L'entrée 0.0.0.0/0n'est pas prise en charge ; pour autoriser toutes les adresses IP, laissez la liste d'autorisation vide.
Étape 2 : Créer et activer un cluster HSM
Cette étape établit votre propriété et votre contrôle sur le cluster via une chaîne de confiance basée sur des certificats. Le processus comprend les actions suivantes :
Créer le cluster et spécifier la configuration réseau
Générer une autorité de certification (CA) auto-signée et l'utiliser pour signer la demande de signature de certificat (CSR) du cluster
Initialiser l'HSM maître à l'aide de l'outil de gestion HSM
Les HSM situés dans la même zone utilisent le même sous-réseau VPC.
Créer le cluster
Sur la page VSMs , repérez l'HSM maître et cliquez sur Create cluster dans la colonne Actions.
-
Dans le panneau Create and activate cluster , effectuez l'étape Create cluster, puis cliquez sur Next.
Parameter Description Cluster name Nom unique du cluster. Longueur maximale : 24 caractères. Configure whitelist Adresses IP ou blocs CIDR autorisés à accéder au cluster. Prend en charge jusqu'à 10 entrées (une par ligne). La liste d'autorisation du cluster est prioritaire sur toute liste d'autorisation au niveau de l'HSM. L'entrée 0.0.0.0/0n'est pas prise en charge ; pour autoriser toutes les adresses IP, laissez la liste d'autorisation vide.Specify vSwitches vSwitches du cluster. Au moins 2 vSwitches sont requis.
Activer le cluster
Importer un certificat de cluster
Le processus d'activation du cluster utilise un certificat CA que vous générez localement pour signer la CSR du cluster. Cela prouve votre propriété des HSM et crée la base de confiance pour toutes les futures connexions HSM.
Dans la section Upload cluster certificate , cliquez sur Cluster CSR certificate pour télécharger le fichier CSR (
cluster.csr). Téléchargez le fichier sur votre instance ECS.-
Générez une clé privée et définissez un mot de passe pour celle-ci. Cela crée le fichier
issuerCA.key.openssl genrsa -aes256 -out issuerCA.key 2048 -
Créez un certificat CA auto-signé. Cela génère le fichier
issuerCA.crt, que vous utiliserez dans les étapes suivantes.openssl req -new -x509 -days 3652 -key issuerCA.key -out issuerCA.crt -
Signez la CSR du cluster à l'aide de votre certificat et de votre clé CA. Cela crée le fichier
cluster.crt, que vous téléchargerez dans la console à l'étape suivante.Cette commande utilise
cluster.csr,issuerCA.crt, etissuerCA.key.openssl x509 -req -in cluster.csr -days 3652 -CA issuerCA.crt -CAkey issuerCA.key -set_serial 01 -out cluster.crt -
De retour dans l'étape Activate cluster de la console, importez le certificat et cliquez sur Submit :
Dans la section Enter the issuer certificate in PEM format , collez le contenu du fichier
issuerCA.crt.Dans la section Enter the issued cluster certificate in PEM format , collez le contenu du fichier
cluster.crt.
Initialiser l'HSM maître
L'HSM maître ne peut être initialisé qu'à l'aide de l'outil de gestion HSM sur un système d'exploitation Linux.
Étape 1 : Télécharger l'outil de gestion HSM
La version de l'outil varie selon la région où se trouve l'HSM.
Région Indonésie (Jakarta)
-
CentOS
Méthode 1 : Accédez à hsm-client-v2.09.07.02-1.202411041707.x86_64.rpm pour télécharger l'outil de gestion HSM.
Méthode 3 : Sur la page VSMs , repérez l'instance HSM et cliquez sur l'icône
dans la colonne Specifications.Méthode 3 : Sur la page Activate Cluster , cliquez sur Download HSM Management Tool.
-
Debian
Accédez à hsm-client-v2.09.07.02-1.202411041707.x86_64.deb pour télécharger l'outil de gestion HSM.
Toutes les régions sauf Indonésie (Jakarta)
La version de l'outil dépend de votre région :
-
Région Indonésie (Jakarta)
CentOS : Télécharger hsm-client-v2.09.07.02-1.202411041707.x86_64.rpm , ou cliquez sur Download HSM management tool sur la page Activated cluster .
Debian : Télécharger hsm-client-v2.09.07.02-1.202411041707.x86_64.deb
-
Toutes les autres régions
-
CentOS : Choisissez l'une des méthodes suivantes :
Exécutez la commande suivante (nécessite un accès Internet depuis l'instance ECS) : ``
bash wget -O hsm-client-v2.03.15.10-1.x86_64.rpm 'https://yundun-hsm4.oss-ap-southeast-1.aliyuncs.com/hsm-client-v2.03.15.10-1.x86_64.rpm'``Cliquez sur Download HSM management tool sur la page Activate cluster .
Debian : Télécharger hsm-client-2.03.15.10-20240710_1.x86_64.deb
-
Étape 2 : Installer l'outil de gestion HSM
L'outil s'installe dans le répertoire /opt/hsm .
-
CentOS — remplacez
<TOOL_NAME>par le nom de fichier réel (par exemple,hsm-client-v2.09.07.02-1.202411041707.x86_64.rpm) :sudo yum install -y <TOOL_NAME> -
Debian — remplacez
<TOOL_NAME>par le nom de fichier réel (par exemple,hsm-client-2.03.15.10-20240710_1.x86_64.deb) :sudo dpkg -i <TOOL_NAME>
Étape 3 : Mettre à jour le fichier de configuration du client
Modifiez la section servers du fichier /opt/hsm/etc/hsm_mgmt_tool.cfg :
Définissez
nameethostnamesur l'adresse IP privée de l'HSM maître (visible sur la page Instances ).Définissez
owner_cert_pathsur le chemin complet du fichierissuerCA.crt.
Exemple de configuration :
{
"servers": [
{
"name" : "172.16.XX.XX",
"hostname" : "172.16.XX.XX",
"port" : 2225,
"certificate": "/opt/hsm/etc/client.crt",
"pkey": "/opt/hsm/etc/client.key",
"CAfile": "",
"CApath": "/opt/hsm/etc/certs",
"ssl_ciphers": "",
"server_ssl" : "yes",
"enable" : "yes",
"owner_cert_path":"<issuerCA.crt_FILE_PATH>"
}],
"scard": {
"enable": "no",
"port": 2225,
"ssl": "no",
"ssl_ciphers": "",
"certificate": "cert-sc",
"pkey": "pkey-sc"
}
}
Étape 4 : Se connecter à l'HSM maître et vérifier les utilisateurs
-
Connectez-vous à l'HSM maître :
/opt/hsm/bin/hsm_mgmt_tool /opt/hsm/etc/hsm_mgmt_tool.cfg -
Exécutez
listUserspour afficher les utilisateurs par défaut :cloudmgmt>listUsers Users on server 0(172.16.XX.XX): Number of users found:2 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NOLes utilisateurs par défaut sont
admin(agent pré-crypto, PRECO) etapp_user(utilisateur d'application, AU).
Étape 5 : Promouvoir le PRECO au rang d'agent crypto (CO)
-
Connectez-vous en tant que PRECO :
server0>loginHSM PRECO admin password loginHSM success -
Modifiez le mot de passe du PRECO. Cette action promeut
adminde PRECO à CO :cloudmgmt>changePswd PRECO admin <NewPassword> -
Vérifiez le changement de rôle avec
listUsers:cloudmgmt>listUsers Users on server 0(172.16.XX.XX): Number of users found:2 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 CO admin NO 0 NO 2 AU app_user NO 0 NOadminapparaît désormais en tant que CO.
Étape 6 : Créer un utilisateur crypto (CU)
Créez le CU avant d'ajouter des HSM non maîtres au cluster. Les informations relatives au CU sont synchronisées avec les HSM non maîtres uniquement lors de leur ajout ; les HSM ajoutés avant la création du CU ne disposeront pas du CU.
-
Exécutez
createUserpour créer un CU. Nom d'utilisateur : jusqu'à 20 caractères ASCII. Mot de passe : 8 à 32 caractères ASCII.Si vous configurez le cluster pour une instance de gestion matérielle des clés KMS, utilisez
kmsusercomme nom d'utilisateur.createUser CU crypto_user <enter password> -
Exécutez
listUserspour confirmer la création du CU :cloudmgmt>listUsers Users on server 0(172.16.XX.XX): Number of users found:3 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 CO admin NO 0 NO 2 AU app_user NO 0 NO 3 CU crypto_user NO 0 NO
Étape 7 : Confirmer le statut de l'HSM maître et poursuivre
Dans l'étape Activate cluster de la console, cliquez sur l'icône 
pour actualiser le statut de l'HSM maître, puis cliquez sur Next .
Ajouter des HSM non maîtres
À l'étape Add HSM, ajoutez les HSM non maîtres au cluster selon les instructions, puis cliquez sur Complete .
Vous pouvez acheter des HSM supplémentaires et les ajouter au cluster ultérieurement selon vos besoins.
Étape 3 : Démarrer le client HSM hsm_proxy
hsm_proxy est le client HSM qui s'exécute sur votre instance ECS et achemine les requêtes cryptographiques vers le cluster HSM.
-
Modifiez le fichier
/opt/hsm/etc/hsm_proxy.cfg. Exemple de configuration :Définissez
server.hostnamesur l'adresse IP du VPC auquel appartient l'instance actuelle.Définissez
client.e2e_owner_crt_pathsur le chemin complet du fichierissuerCA.crt(le certificat CA auto-signé que vous avez créé à l'étape 2).
{ "ssl": { "certificate": "/opt/hsm/etc/client.crt", "pkey": "/opt/hsm/etc/client.key", "CApath": "/opt/hsm/etc/certs", "server_ssl": "yes", "server_ch_ssl_ciphers": "default" }, "client": { "socket_type" : "UNIXSOCKET", "tcp_port" : 1111, "zoneid" : 0, "workers" : 1, "daemon_id" : 1, "reconnect_attempts": -1, "reconnect_interval": 1, "log_level": "INFO", "sslreneg": 0, "CriticalAlertScript": "", "e2e_owner_crt_path" : "<issuerCA.crt file path>", "create_object_minimum_nodes" : 1, "logfiles_location" : "" }, "loadbalance" : { "enable" : "yes", "prefer_same_zone": "no", "success_rate_weight" : 1, "relative_idleness_weight" : 1 }, "dualfactor": { "enable" : "no", "port" : 2225, "certificate" : "certificate.crt", "pkey" : "pkey.pem", "dualfactor_ssl": "yes", "dualfactor_ch_ssl_ciphers": "default" }, "server": { "hostname": "<instance ip>", "port": 2224 } } -
Démarrez
hsm_proxy:/opt/hsm/bin/hsm_proxy /opt/hsm/etc/hsm_proxy.cfgLa sortie affiche le chemin du fichier journal :
logfiles_location is not specified, logs will be available in current directory Logs will be available in liquidSecurity.1.WKCrty.log file -
Vérifiez la connexion en consultant le fichier journal :
tail liquidSecurity.1.WKCrty.logUne connexion réussie inclut la ligne suivante :
2023-10-28T13:33:05Z liquidSecurity INF: e2e_handle_client_request: HSM FIPS STATE 2La sortie attendue complète ressemble à ceci :
2023-10-28T13:33:05Z liquidSecurity INF: check_preferred_srv_status_noclock: New preferred server node id:0 2023-10-28T13:33:05Z liquidSecurity INF: do_e2e_encryption_handshake: Trying to login to server as new server connection is established 2023-10-28T13:33:05Z liquidSecurity INF: e2e_handle_client_request: Got Authorize session response 2023-10-28T13:33:05Z liquidSecurity INF: get_partition_info: Get pHSM Info using e2e mgmtch 2023-10-28T13:33:05Z liquidSecurity INF: e2e_handle_client_request: Authorize session SUCCESS 2023-10-28T13:33:05Z liquidSecurity INF: e2e_handle_client_request: Got Partition Info 2023-10-28T13:33:05Z liquidSecurity INF: e2e_handle_client_request: GetPartitionInfo success 0 : HSM Return: SUCCESS 2023-10-28T13:33:05Z liquidSecurity INF: e2e_handle_client_request: HSM FIPS STATE 2 2023-10-28T13:33:06Z liquidSecurity INF: libevmulti_init: Initializing events 2023-10-28T13:33:06Z liquidSecurity INF: libevmulti_init: Ready !
Étape 4 : Créer une clé
Ignorez cette étape si vous configurez le cluster pour une instance de gestion matérielle des clés KMS. Consultez la rubrique Configuration d'un cluster HSM pour une instance de gestion matérielle des clés KMS .
-
Démarrez
key_mgmt_tool:/opt/hsm/bin/key_mgmt_tool -
Connectez-vous en tant qu'utilisateur crypto (CU) :
Command: loginHSM -u CU -s crypto_user -p <enter password> Cfm3LoginHSM returned: 0x00 : HSM Return: SUCCESS Cluster Status: Node id 0 status: 0x00000000 : HSM Return: SUCCESS -
Générez une clé symétrique :
Command: genSymKey -l testkey -t 31 -s 32 Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS Symmetric Key Created. Key Handle: 6 Cluster Status: Node id 0 status: 0x00000000 : HSM Return: SUCCESSNotez le handle de la clé (
6dans cet exemple) ; utilisez-le pour référencer la clé dans les opérations suivantes. -
Confirmez l'existence de la clé avec
findKey:Command: findKey Total number of keys present: 1 Number of matching keys from start index 0::0 Handles of matching keys: 6 Cluster Status: Node id 0 status: 0x00000000 : HSM Return: SUCCESS Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS -
Quittez
key_mgmt_tool:Command: exit
Étape 5 : Chiffrer et déchiffrer des données
Ignorez cette étape si vous configurez le cluster pour une instance de gestion matérielle des clés KMS. Consultez la rubrique Configuration d'un cluster HSM pour une instance de gestion matérielle des clés KMS .
Pour utiliser le cluster HSM pour les opérations cryptographiques, choisissez l'une des interfaces suivantes :
Étapes suivantes
Pour gérer votre cluster — ajouter ou supprimer des HSM, renommer le cluster ou mettre à jour la liste d'autorisation d'accès — consultez la rubrique Création et activation d'un cluster HSM validé NIST FIPS .