Générez une paire de AWS CloudHSM RSA clés en utilisant KMU - 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.

Générez une paire de AWS CloudHSM RSA clés en utilisant KMU

Utilisez la genRSAKeyPair commande de l'outil AWS CloudHSM key_mgmt_util pour générer une paire de clés asymétrique. RSA Vous spécifiez le type de clé, une longueur de module et un exposant public. La commande génère un module de la longueur spécifiée et crée la paire de clés. Vous pouvez attribuer un identifiant, partager la clé avec d'autres HSM utilisateurs, créer des clés non extractibles et des clés qui expirent à la fin de la session. Lorsque la commande aboutit, elle renvoie un descripteur de touche qu'elle HSM affecte à la touche. Vous pouvez utiliser le handle de clé pour identifier la clé auprès d'autres commandes.

Avant d'exécuter une commande key_mgmt_util, vous devez démarrer key_mgmt_util et vous connecter en tant qu'utilisateur cryptographique (CU). HSM

Astuce

Pour rechercher les attributs d'une clé que vous avez créée, tels que le type, la longueur, le libellé et l'ID, utilisez getAttribute. Pour trouver les clés d'un utilisateur en particulier, utilisez getKeyInfo. Pour rechercher des clés en fonction de leurs valeurs d'attribut, utilisez findKey.

Syntaxe

genRSAKeyPair -h genRSAKeyPair -m <modulus length> -e <public exponent> -l <label> [-id <key ID>] [-min_srv <minimum number of servers>] [-m_value <0..8>] [-nex] [-sess] [-timeout <number of seconds> ] [-u <user-ids>] [-attest]

Exemples

Ces exemples montrent comment genRSAKeyPair créer des paires de clés asymétriques dans votreHSMs.

Exemple : Création et examen d'une paire de RSA clés

Cette commande crée une paire de RSA clés avec un module de 2048 bits et un exposant de 65537. La sortie montre que le handle de la clé publique est 2100177 et celui de la clé privée, 2100426.

Command: genRSAKeyPair -m 2048 -e 65537 -l rsa_test Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 2100177 private key handle: 2100426 Cluster Status: Node id 0 status: 0x00000000 : HSM Return: SUCCESS Node id 1 status: 0x00000000 : HSM Return: SUCCESS

La commande suivante permet getAttributed'obtenir les attributs de la clé publique que nous venons de créer. Elle écrit la sortie dans le fichier attr_2100177. Elle est suivie d'une commande cat permettant d'obtenir le contenu du fichier d'attribut. Pour obtenir de l'aide sur l'interprétation des attributs de clé, consultez le AWS CloudHSM référence d'attribut clé pour KMU.

Les valeurs hexadécimales obtenues confirment qu'il s'agit d'une clé publique (OBJ_ATTR_CLASS 0x02) de type RSA (OBJ_ATTR_KEY_TYPE 0x00). Vous pouvez utiliser cette clé publique pour chiffrer (OBJ_ATTR_ENCRYPT 0x01), mais pas pour déchiffrer (OBJ_ATTR_DECRYPT 0x00). Les résultats incluent également la longueur de la clé (512, 0x200), le module, la longueur du module (2048, 0x800) et l'exposant public (65537, 0x10001).

Command: getAttribute -o 2100177 -a 512 -out attr_2100177 Attribute size: 801, count: 26 Written to: attr_2100177 file Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS $ cat attr_2100177 OBJ_ATTR_CLASS 0x02 OBJ_ATTR_KEY_TYPE 0x00 OBJ_ATTR_TOKEN 0x01 OBJ_ATTR_PRIVATE 0x01 OBJ_ATTR_ENCRYPT 0x01 OBJ_ATTR_DECRYPT 0x00 OBJ_ATTR_WRAP 0x01 OBJ_ATTR_UNWRAP 0x00 OBJ_ATTR_SIGN 0x00 OBJ_ATTR_VERIFY 0x01 OBJ_ATTR_LOCAL 0x01 OBJ_ATTR_SENSITIVE 0x00 OBJ_ATTR_EXTRACTABLE 0x01 OBJ_ATTR_LABEL rsa_test OBJ_ATTR_ID OBJ_ATTR_VALUE_LEN 0x00000200 OBJ_ATTR_KCV 0xc51c18 OBJ_ATTR_MODULUS 0xbb9301cc362c1d9724eb93da8adab0364296bde7124a241087d9436b9be57e4f7780040df03c2c 1c0fe6e3b61aa83c205280119452868f66541bbbffacbbe787b8284fc81deaeef2b8ec0ba25a077d 6983c77a1de7b17cbe8e15b203868704c6452c2810344a7f2736012424cf0703cf15a37183a1d2d0 97240829f8f90b063dd3a41171402b162578d581980976653935431da0c1260bfe756d85dca63857 d9f27a541676cb9c7def0ef6a2a89c9b9304bcac16fdf8183c0a555421f9ad5dfeb534cf26b65873 970cdf1a07484f1c128b53e10209cc6f7ac308669112968c81a5de408e7f644fe58b1a9ae1286fec b3e4203294a96fae06f8f0db7982cb5d7f OBJ_ATTR_MODULUS_BITS 0x00000800 OBJ_ATTR_PUBLIC_EXPONENT 0x010001 OBJ_ATTR_TRUSTED 0x00 OBJ_ATTR_WRAP_WITH_TRUSTED 0x00 OBJ_ATTR_DESTROYABLE 0x01 OBJ_ATTR_DERIVE 0x00 OBJ_ATTR_ALWAYS_SENSITIVE 0x00 OBJ_ATTR_NEVER_EXTRACTABLE 0x00
Exemple : génère une paire de RSA clés partagées

Cette commande génère une paire de RSA clés et partage la clé privée avec l'utilisateur 4, un autre CU sur leHSM. Elle utilise le paramètre m_value pour demander au moins deux approbations avant que la clé privée de la paire ne puisse être utilisée dans une opération de chiffrement. Lorsque vous utilisez le paramètre m_value, vous devez également utiliser -u dans la commande et la valeur m_value ne peut pas dépasser le nombre total d'utilisateurs (nombre de valeurs dans -u + propriétaire).

Command: genRSAKeyPair -m 2048 -e 65537 -l rsa_mofn -id rsa_mv2 -u 4 -m_value 2 Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 27 private key handle: 28 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS

Paramètres

-h

Affiche l'aide concernant la commande.

Obligatoire : oui

-m

Indique la longueur du module en bits. La valeur minimale est de 2048.

Obligatoire : oui

-e

Spécifie l' exposant public. La valeur doit être un entier impair supérieur ou égal à 65 537.

Obligatoire : oui

-l

Spécifie l'étiquette définie par l'utilisateur pour la paire de clés. Saisissez une chaîne. La même étiquette s'applique aux deux clés de la paire. La taille maximale autorisée pour label est de 127 caractères.

Vous pouvez utiliser n'importe quelle phrase qui vous aide à identifier la clé. Comme il n'est pas nécessaire que l'étiquette soit unique, vous pouvez l'utiliser pour regrouper et classer des clés.

Obligatoire : oui

-id

Spécifie un identifiant défini par l'utilisateur pour la paire de clés. Saisissez une chaîne unique dans le cluster. La valeur par défaut est une chaîne vide. L'ID que vous spécifiez s'applique aux deux clés de la paire.

Valeur par défaut : pas de valeur d'ID.

Obligatoire : non

-min_srv

Spécifie le nombre minimum HSMs sur lequel la clé est synchronisée avant l'expiration de la valeur du -timeout paramètre. Si la clé n'est pas synchronisée sur le nombre spécifié de serveurs dans le temps imparti, elle n'est pas créée.

AWS CloudHSM synchronise automatiquement chaque clé avec toutes les clés HSM du cluster. Pour accélérer votre processus, définissez une valeur inférieure min_srv au nombre de HSMs dans le cluster et définissez une valeur de délai d'expiration faible. Toutefois, notez que certaines demandes peuvent ne pas générer une clé.

Valeur par défaut : 1

Obligatoire : non

-m_value

Spécifie le nombre d'utilisateurs qui doivent approuver les opérations cryptographiques qui utilisent la clé privée dans la paire. Entrez une valeur comprise entre 0 et 8.

Ce paramètre définit une exigence d'authentification par quorum pour la clé privée. La valeur par défaut, 0, désactive la fonctionnalité d'authentification par quorum pour la clé. Lorsque l'authentification par quorum est activée, le nombre spécifié d'utilisateurs doit signer un jeton pour approuver les opérations cryptographiques utilisant la clé privée et les opérations qui partagent ou annulent le partage de la clé privée.

Pour trouver le m_value code d'une clé, utilisez getKeyInfo.

Ce paramètre est valide uniquement quand le paramètre -u de la commande partage la paire de clés avec suffisamment d'utilisateurs pour satisfaire l'exigence m_value.

Par défaut : 0

Obligatoire : non

-nex

Rend la clé privée non extractible. La clé privée générée ne peut pas être exportée depuis le HSM. Les clés publiques sont toujours extractibles.

Par défaut : les clés publiques et privées de la paire de clés sont extractibles.

Obligatoire : non

-sess

Crée une clé qui existe uniquement dans la session en cours. La clé ne peut pas être récupérée une fois la session terminée.

Utilisez ce paramètre lorsque vous n'avez besoin que brièvement d'une clé, par exemple une clé d'encapsulage qui chiffre, puis déchiffre rapidement, une autre clé. N'utilisez pas de clé de session pour chiffrer les données que vous pourriez avoir besoin de déchiffrer après la fin de la session.

Pour remplacer une clé de session par une clé persistante (jeton), utilisez setAttribute.

Par défaut : la clé est persistante.

Obligatoire : non

-timeout

Spécifie la durée (en secondes) pendant laquelle la commande attend qu'une touche soit synchronisée avec le nombre de touches HSMs spécifié par le min_srv paramètre.

Ce paramètre n'est valide que lorsque le paramètre min_srv est également utilisé dans la commande.

Par défaut : aucun délai d’expiration. La commande attend indéfiniment et ne renvoie des résultats que lorsque la clé est synchronisée avec le nombre minimum de serveurs.

Obligatoire : non

-u

Partage la clé privée de la paire avec les utilisateurs spécifiés. Ce paramètre autorise les autres utilisateurs de HSM cryptomonnaies (CUs) à utiliser la clé privée dans des opérations cryptographiques. Les clés publiques peuvent être utilisées par n'importe quel utilisateur sans partage.

Entrez une liste d'HSMutilisateurs séparée par des virgulesIDs, telle que -. u 5,6 N'incluez pas le HSM nom d'utilisateur de l'utilisateur actuel. Pour rechercher HSM un utilisateur IDs CUs sur leHSM, utilisez listUsers. Pour partager ou annuler le partage de clés existantes, utilisez-les shareKeydans le cloudhs_mgmt_util.

Par défaut : seul l'utilisateur actuel peut utiliser la clé privée.

Obligatoire : non

-attest

Exécute un contrôle d'intégrité qui vérifie que le microprogramme sur lequel le cluster est exécuté n'a pas été altéré.

Par défaut : aucune vérification d'attestation.

Obligatoire : non

Rubriques en relation