Importation de clés racine
Vous pouvez utiliser IBM® Key Protect for IBM Cloud® pour sécuriser et gérer vos clés racine existantes en les important.
Les clés racine sont des clés d'encapsulage de clés symétriques qui permettent d'assurer la sécurité des données chiffrées dans le cloud. Pour en savoir plus sur l'importation des clés racine dans Key Protect, voir Apport de vos clés de chiffrement au cloud.
Planifiez l'importation de vos clés en vérifiant les options de création et de chiffrement du matériel de clé. Pour une sécurité renforcée, vous pouvez activer l'importation sécurisée de votre matériel de clé en utilisant un jeton d'importation pour chiffrer votre matériel de clé avant de le transférer sur le cloud.
Importation de clés racine à l'aide de la console
Après avoir créé une instance du service, procédez comme indiqué ci-après pour importer une clé à l'aide de la console IBM Cloud.
Si vous activez les paramètres d'autorisation double pour votre instance Key Protect, gardez à l'esprit que les clés que vous ajoutez au service requièrent une autorisation de deux utilisateurs pour pouvoir être supprimées.
-
Accédez à Menu > Liste de ressources pour afficher la liste de vos ressources.
-
Dans la liste de ressources IBM Cloud, sélectionnez votre instance Key Protect mise à disposition.
-
Pour importer une clé, cliquez sur « Ajouter » et sélectionnez la fenêtre « Importer une clé ».
Indiquez les détails relatifs à la clé :
| Paramètre | Description |
|---|---|
| Type de clé | Type de clé que vous souhaitez gérer dans Key Protect. Sélectionnez le bouton Root key. |
| Nom | Alias lisible permettant d'identifier facilement votre clé. Le nom doit comprendre entre 2 et 90 caractères (inclus). Pour protéger votre vie privée, assurez-vous que le nom de clé ne contient pas d'informations identifiant la personne, comme votre nom ou votre emplacement. Notez que les noms de clé n'ont pas besoin d'être uniques. |
| Informations de clé | Matériel de clé codé en base64, tel qu'une clé d'encapsulage de clé existante, que vous souhaitez stocker et gérer dans le service. Pour plus d'informations, voir Codage en base64 de votre matériel de clé. Assurez-vous que le matériel de clé a une longueur de 16, 24 ou 32 octets et correspond à une longueur de 128, 192 ou 256 bits. La clé doit également être codée en base64. |
| Description de la clé | Facultatif. Les descriptions sont un moyen utile d'ajouter des informations sur une clé (par exemple, une phrase décrivant son objectif) d'une manière qui n'est pas possible d'utiliser un alias ou son nom. Cette description doit comporter au moins deux caractères et pas plus de 240, et ne peut pas être modifiée ultérieurement. Afin de protéger votre vie privée, n'utilisez pas de données personnelles, telles que votre nom ou votre localisation, comme description de votre clé. |
| Alias de clé | Facultatif. Les alias de clé servent à décrire des clés et permettent de les identifier et de les regrouper au-delà des limites d'un nom d'affichage. Les clés peuvent avoir jusqu'à 5 alias. |
| Fichier de clés | Facultatif. Les fichiers de clés sont des regroupements de clés qui permettent de gérer ces regroupements indépendamment, si nécessaire. Chaque clé doit faire
partie d'un fichier de clés. Si aucun fichier de clés n'est sélectionné, les clés sont placées dans le fichier de clés default. Notez que pour placer la clé que vous créez dans un fichier de clés, vous devez avoir le rôle
Gestionnaire pour ce fichier de clés. Pour plus d'informations sur les rôles, voir Gestion de l'accès utilisateur. |
Une fois que vous avez terminé de renseigner les informations relatives à la clé, cliquez sur « Ajouter » pour valider.
Si vous êtes responsable d'un trousseau de clés spécifique, vous pouvez ajouter une clé directement depuis le panneau « Trousseaux de clés ». Dans le menu contextuel du porte-clés (⋯), cliquez sur « Ajouter une nouvelle clé ». Le même panneau s'ouvre que lorsque vous cliquez sur « Ajouter » dans la page « **Clés ** », mais le champ « Trousseau » est déjà renseigné avec le nom du trousseau sélectionné.
Si vous avez besoin d'importer et de gérer les clés racine de manière cohérente entre les comptes ou les environnements, vous pouvez l'automatiser avec le module Key Protect Key. Pour une installation complète comprenant également l'instance Key Protect et les porte-clés, consultez le site Key Protect module. Pour une vue d'ensemble, voir Terraform IBM Modules.
Importation de clés racine à l'aide de l'API
Importez des clés symétriques dans Key Protect en soumettant un appel POST au noeud final ci-après.
https://<region>.kms.cloud.ibm.com/api/v2/keys
-
Extrayez vos données d'authentification et de service afin d'utiliser les clés dans le service.
-
Appelez l'APIKey Protect avec la commande
curlsuivante.$ curl -X POST \ "https://<region>.kms.cloud.ibm.com/api/v2/keys" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.key+json" \ -d '{ "metadata": { "collectionType": "application/vnd.ibm.kms.key+json", "collectionTotal": 1 }, "resources": [ { "type": "application/vnd.ibm.kms.key+json", "name": "<key_name>", "aliases": [alias_list], "description": "<key_description>", "expirationDate": "<expiration_date>", "payload": "<key_material>", "extractable": <key_type> } ] }'Remplacez les variables de l'exemple de demande conformément au tableau suivant :
| Variable | Description |
|---|---|
| région | Obligatoire. L'abréviation de la région, telle que us-south ou eu-gb, qui désigne la zone géographique où se trouve votre instance Key Protect.Pour plus d'informations, consultez la section « Points de terminaison des services régionaux ». |
| IAM_token | Obligatoire. Votre jeton d'accès IBM Cloud. Incluez le contenu complet du jeton IAM, y compris la valeur Bearer, dans la demande cURL. Pour plus d'informations, consultez la section « Récupération d'un jeton d'accès ». |
| instance_ID | Obligatoire. Identificateur unique affecté à votre instance de service Key Protect. Pour plus d'informations, consultez la section « Récupération d'un identifiant d'instance ». |
| correlation_ID | Identificateur unique qui est utilisé pour suivre et corréler des transactions. |
| return_preference | En-tête qui modifie le comportement du serveur pour les opérations POST et DELETE. Lorsque vous définissez la variable return_preference sur return=minimale, le service renvoie uniquement les métadonnées de clé, telles que le nom de clé et la valeur d'ID, dans la réponse entity-body. Lorsque vous définissez la variable sur return= representation, le service renvoie à la fois le matériel de clé et les métadonnées de clé. |
| key_name | Obligatoire. Nom lisible permettant d'identifier facilement votre clé. Pour protéger votre vie privée, ne stockez aucune donnée personnelle comme métadonnées pour votre clé. |
| alias_list | Facultatif. Un ou plusieurs alias lisibles par l'utilisateur affectés à votre clé. Important : pour protéger votre vie privée, ne stockez aucune donnée personnelle comme métadonnées pour votre clé. Chaque alias doit être alphanumérique, sensible à la casse, et ne peut contenir ni espaces ni caractères spéciaux autres que « - » ou « _ ». L'alias ne peut pas être un UUID et ne doit pas correspondre à un nom réservé par Key Protect: allowed_ip, key, keys, metadata, policy, policies, registration, registrations, ring, rings, rotate, wrap, unwrap, rewrap, version, versions. |
| key_description | Facultatif. Description étendue de votre clé. Pour protéger votre vie privée, ne stockez aucune donnée personnelle comme métadonnées pour votre clé. |
| expiration_date | Facultatif. Date et heure d'expiration de la clé dans le système, au format RFC 3339 (YYYY-MM-DD HH:MM:SS.SS, par exemple 2019-10-12T07:20:50.52Z). La clé passe à l'état désactivé dans un délai
d'une heure après la date d'expiration de la clé. Si l'attribut expirationDate est omis, la clé n'arrive pas à expiration. |
| key_material | Obligatoire. Le matériel de clé codé en base64, une clé d'encapsulage de clé existante, que vous souhaitez stocker et gérer dans le service. Pour plus d'informations, rendez-vous sur Base64 chiffrement de vos clés. Vérifiez que le matériel de clé répond aux exigences suivantes: La taille d'une clé standard peut atteindre 7 500 octets. La clé doit être codée en base64. |
| key_type | Valeur booléenne qui détermine si les informations de clé peuvent quitter le service. Lorsque vous définissez l'attribut « extractable » sur « false », le service désigne la clé comme clé racine que vous pouvez utiliser
pour les opérations d'encapsulation ou de décompression. |
Pour protéger la confidentialité de vos données personnelles, évitez d'entrer des informations identifiant la personne, comme votre nom ou votre emplacement, lorsque vous ajoutez des clés au service.
Une réponse POST api/v2/keys qui aboutit renvoie la valeur de l'ID de la clé, ainsi que d'autres métadonnées. L'ID est un identificateur unique qui est affecté à la clé et qui est utilisé pour les appels adressés ultérieurement
à Key Protect.
Facultatif : vérifiez que la clé a été ajoutée en exécutant l'appel suivant pour parcourir les clés dans votre instance Key Protect.
$ curl -X GET \
"https://<region>.kms.cloud.ibm.com/api/v2/keys" \
-H "accept: application/vnd.ibm.collection+json" \
-H "authorization: Bearer <IAM_token>" \
-H "bluemix-instance: <instance_ID>"
Codage en base64 de votre matériel de clé
Lorsque vous importez une clé racine existante, vous devez inclure les informations de clé chiffrées que vous souhaitez stocker et gérer dans le service.
Utilisation d'OpenSSL pour chiffrer un matériel de clé existant
Utilisez ce processus pour chiffrer le contenu d'un matériel de clé dans un fichier.
-
Téléchargez et installez OpenSSL.
-
Codez en base64 votre chaîne de matériel de clé en exécutant la commande suivante :
openssl base64 -in <infile> -out <outfile>Remplacez les variables de l'exemple de demande conformément au tableau suivant :
| Variable | Description |
|---|---|
| infile | Nom du fichier dans lequel se trouve votre chaîne d'informations de clé. Assurez-vous que la clé comporte 16, 24 ou 32 octets, ce qui correspond à 128, 192 ou 256 bits. La clé doit être codée en base64. |
| outfile | Nom du fichier dans lequel vos informations de clés codées en base64 seront placées une fois la commande exécutée. |
Si vous voulez générer les informations de clé base64 directement dans la ligne de commande et non dans un fichier, exécutez openssl enc -base64 <<< '<key_material_string>', où key_material_string est l'entrée des
informations de clé de votre clé importée.
Utilisation d'OpenSSL pour créer et coder de nouvelles informations de clé
Utilisez ce processus pour créer des informations de clé encodées en base64 aléatoires avec une longueur d'octet spécifique. 32 octets (256 bits) sont recommandés.
-
Téléchargez et installez OpenSSL.
-
Codez en base64 votre chaîne de matériel de clé en exécutant la commande suivante :
openssl rand -base64 <byte_length>Remplacez la variable de l'exemple de demande conformément au tableau suivant :
| Variable | Description |
|---|---|
| byte_length | Longueur de la clé, exprimée en octets. Les longueurs d'octets admises sont 16, 24 ou 32 octets, ce qui correspond à 128, 192 ou 256 bits. La clé doit être codée en base64. |
Exemples de création de matériel de clé
-
openssl rand -base64 16va générer un matériel de clé de 128 bits. -
openssl rand -base64 24va générer un matériel de clé de 192 bits. -
openssl rand -base64 32va générer un matériel de clé de 256 bits.
Etapes suivantes
-
Pour plus d'informations sur la protection de clés à l'aide du chiffrement d'enveloppe, voir Encapsulage de clés.
-
Pour en savoir plus sur la gestion programmatique de vos clés, consultez la documentation de référence de l'API « Key Protect ».