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.

  1. Connectez-vous à la console IBM Cloud.

  2. Accédez à Menu > Liste de ressources pour afficher la liste de vos ressources.

  3. Dans la liste de ressources IBM Cloud, sélectionnez votre instance Key Protect mise à disposition.

  4. Pour importer une clé, cliquez sur « Ajouter » et sélectionnez la fenêtre « Importer une clé ».

    Indiquez les détails relatifs à la clé :

Décrit les paramètres d'importation de vos propres clés.
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
  1. Extrayez vos données d'authentification et de service afin d'utiliser les clés dans le service.

  2. Appelez l'APIKey Protect avec la commande curl suivante.

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

Décrit les variables nécessaires pour ajouter une clé racine à l'aide de l'API Key Protect
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.

  1. Téléchargez et installez OpenSSL.

  2. 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 :

Décrit les variables nécessaires à l' base64-encode ation de vos clés.
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.

  1. Téléchargez et installez OpenSSL.

  2. 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 :

Décrit la variable nécessaire pour créer et encoder de nouveaux éléments clés.
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é

  1. openssl rand -base64 16 va générer un matériel de clé de 128 bits.

  2. openssl rand -base64 24 va générer un matériel de clé de 192 bits.

  3. openssl rand -base64 32 va générer un matériel de clé de 256 bits.

Etapes suivantes