GèneCC KeyPair - 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èneCC KeyPair

La commande genECCKeyPair de l'outil key_mgmt_util génère une paire de clés Elliptic Curve Cryptography (ECC) dans vos HSM. Lorsque vous exécutez la commande genECCKeyPair, vous devez spécifier l'identificateur de courbe elliptique et une étiquette pour la paire de clés. Vous pouvez également partager la clé privée avec d'autres utilisateurs CU, créer des clés non extractibles, des clés contrôlées par quorum et des clés qui expirent lorsque la session se termine. Lorsque la commande aboutit, elle renvoie les handles de clé attribués par le HSM aux clés ECC publiques et privées. Vous pouvez utiliser les handles de clé pour identifier les clés pour d'autres commandes.

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

Astuce

Pour rechercher les attributs d'une clé que vous avez créée, tels que le type, la longueur, l'étiquette 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

genECCKeyPair -h genECCKeyPair -i <EC curve id> -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 utiliser genECCKeyPair pour créer des paires de clés ECC dans vos HSM.

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

Cette commande utilise une courbe elliptique NID_secp384r1 et une étiquette ecc14 pour créer une paire de clés ECC. La sortie montre que le handle de la clé privée est 262177 et celui de la clé publique, 262179. La même étiquette s'applique aux deux clés.

Command: genECCKeyPair -i 14 -l ecc14 Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 262179 private key handle: 262177 Cluster Error Status Node id 2 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Après avoir généré la clé, vous pouvez examiner ses attributs. Utilisez getAttribute pour écrire tous les attributs (représentés par la constante 512) de la nouvelle clé privée ECC sur le fichier attr_262177.

Command: getAttribute -o 262177 -a 512 -out attr_262177 got all attributes of size 529 attr cnt 19 Attributes dumped into attr_262177 Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS

Ensuite, utilisez la commande cat pour afficher le contenu du fichier d'attribut attr_262177. La sortie indique que la clé est une clé privée de courbe elliptique qui peut être utilisée pour la signature, mais pas pour le chiffrement, le déchiffrement, l'encapsulage, le désencapsulage ou la vérification. La clé est permanente et exportable.

$ cat attr_262177 OBJ_ATTR_CLASS 0x03 OBJ_ATTR_KEY_TYPE 0x03 OBJ_ATTR_TOKEN 0x01 OBJ_ATTR_PRIVATE 0x01 OBJ_ATTR_ENCRYPT 0x00 OBJ_ATTR_DECRYPT 0x00 OBJ_ATTR_WRAP 0x00 OBJ_ATTR_UNWRAP 0x00 OBJ_ATTR_SIGN 0x01 OBJ_ATTR_VERIFY 0x00 OBJ_ATTR_LOCAL 0x01 OBJ_ATTR_SENSITIVE 0x01 OBJ_ATTR_EXTRACTABLE 0x01 OBJ_ATTR_LABEL ecc2 OBJ_ATTR_ID OBJ_ATTR_VALUE_LEN 0x0000008a OBJ_ATTR_KCV 0xbbb32a OBJ_ATTR_MODULUS 044a0f9d01d10f7437d9fa20995f0cc742552e5ba16d3d7e9a65a33e20ad3e569e68eb62477a9960a87911e6121d112b698e469a0329a665eba74ee5ac55eae9f5 OBJ_ATTR_MODULUS_BITS 0x0000019f
Exemple Utilisation d'une courbe ECC non valide

Cette commande tente de créer une paire de clés ECC en utilisant une courbe NID_X9_62_prime192v1. Dans la mesure où cette courbe elliptique n'est pas valide pour les HSM en mode FIPS, la commande échoue. Le message indique qu'un serveur du cluster est indisponible, mais cela n'indique généralement pas un problème avec les HSM du cluster.

Command: genECCKeyPair -i 1 -l ecc1 Cfm3GenerateKeyPair returned: 0xb3 : HSM Error: This operation violates the current configured/FIPS policies Cluster Error Status Node id 0 and err state 0x30000085 : HSM CLUSTER ERROR: Server in cluster is unavailable

Paramètres

-h

Affiche l'aide concernant la commande.

Obligatoire : oui

-i

Spécifie l'identifiant de la courbe elliptique. Saisissez un identifiant.

Valeurs valides :

  • 2 : NID_X9_62_prime256v1

  • 14 : NID_SECP384R1

  • 16 : NID_secp256k1

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 minimal de HSM sur lesquels la clé est synchronisée avant que la valeur du paramètre -timeout n'expire. 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 chaque HSM du cluster. Pour accélérer le processus, définissez la valeur de min_srv sur une valeur inférieure au nombre de HSM dans le cluster et définissez une valeur de délai d'expiration peu élevée. 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 clé soit synchronisée avec le nombre de HSM spécifié par le paramètre min_srv.

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 chiffrement (CU) HSM à utiliser la clé privée dans les opérations cryptographiques. Les clés publiques peuvent être utilisées par n'importe quel utilisateur sans partage.

Saisissez une liste séparée par des virgules d'ID utilisateur HSM, par exemple -u 5,6. N'incluez pas l'ID utilisateur HSM de l'utilisateur actuel. Pour trouver les ID utilisateur HSM des CU sur le HSM, utilisez listUsers. Pour partager ou annuler le partage d'une clé existante, utilisez shareKey dans cloudhsm_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