Importation de clés racine

Vous pouvez utiliser IBM Cloud® Hyper Protect Crypto Services pour sécuriser vos clés racine existantes à l'aide de l'interface utilisateur ou à l'aide d'un programme avec l'API de service de gestion des clés Hyper Protect Crypto Services.

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, 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 des informations de clé. Pour plus de sécurité, vous pouvez activer l'importation sécurisée de vos informations de clé en utilisant un jeton d'importation pour chiffrer vos informations de clé avant de les transférer sur le cloud.

Importation de clés racine à l'aide de l'interface utilisateur

Après avoir créé une instance du service, procédez comme suit pour ajouter votre clé racine existante à l'aide de l'interface graphique d'Hyper Protect Crypto Services.

  1. Connectez-vous à l'interface utilisateur.

  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 Hyper Protect Crypto Services mise à disposition.

  4. Pour importer une clé, sélectionnez l'onglet KMS keys dans le menu latéral.

  5. Dans la table Clés, cliquez sur Ajouter une clé, puis sélectionnez Importer une clé.

    Indiquez les détails relatifs à la clé :

    Tableau 1. Décrit les paramètres d'importation d'une clé racine
    Paramètre Description
    Type de clé Type de clé que vous voulez gérer dans Hyper Protect Crypto Services. Dans la liste des types de clé, sélectionnez Clé racine.
    Nom de la clé Alias unique et lisible permettant d'identifier facilement votre clé. 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.
    Alias de clé (Facultatif) Un ou plusieurs alias lisibles par l'utilisateur que vous souhaitez affecter à votre clé pour une reconnaissance facile. La taille de l'alias peut être comprise entre 2 et 90 caractères. Vous pouvez définir jusqu'à cinq alias de clé pour la clé, chacun étant séparé par une virgule.

    Remarque: Chaque alias doit être alphanumérique, sensible à la casse, et ne peut pas contenir d'espaces ou de caractères spéciaux autres que des tirets (-) ou des traits de soulignement (_). L'alias ne peut pas être un UUID de version 4 et ne doit pas être un nom réservé Hyper Protect Crypto Services: allowed_ip, key, keys, metadata, policy, policies, registration, registrations, ring, rings, rotate, wrap, unwrap, rewrap, version, versions.

    ID du fichier de clés Sélectionnez un fichier de clés dans la liste contenant les fichiers de clés existants. Si vous n'affectez pas de fichier de clés, la clé est ajoutée au fichier de clés default. Pour plus d'informations sur les fichiers de clés, voir Gestion des fichiers de clés.
    Informations de clé

    Informations de clé codées en base64, telle qu'une clé d'encapsulage de clé existante, que vous souhaitez stocker et gérer dans le service. Pour plus d'informations, voir Base64 codage de votre matériel de clés. Vérifiez que le matériel de clé répond aux exigences suivantes:

    • La clé doit avoir une longueur de 16, 24 ou 32 octets, correspondant à 128, 192 ou 256 bits.
    • La clé doit être codée en base64.
    Date d'expiration (Facultatif) Définissez la date et l'heure d'expiration de la clé. Après la date d'expiration, la clé passe à l'état Désactivé. Pour plus d'informations sur les états des clés, voir Surveillance du cycle de vie des clés de chiffrement.
    Description (Facultatif) Ajoutez une description étendue de votre clé. Elle doit comporter de 2 à 240 caractères.
  6. Une fois les détails de la clé indiqués, cliquez sur Importer une clé pour confirmer.

Importation de clés racine à l'aide de l'API

Importez des clés symétriques dans Hyper Protect Crypto Services en soumettant un appel POST au noeud final ci-après.

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/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'API de service de gestion de clésHyper Protect Crypto Services à l'aide de la commande cURL suivante:

    curl -X POST \
      https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/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_alias>",
       "description": "<key_description>",
       "expirationDate": "<YYYY-MM-DDTHH:MM:SS.SSZ>",
       "payload": "<key_material>",
       "extractable": <key_type>
       }
     ]
    }'
    

    Remplacez les variables de l'exemple de demande conformément au tableau suivant :

    Tableau 2. Décrit les variables requises pour ajouter une clé racine à l'aide de l'API
    Variables Description
    region Obligatoire. Abréviation de la région, telle que us-south ou au-syd, qui représente la zone géographique dans laquelle se trouve votre instance Hyper Protect Crypto Services. Pour plus d'informations, voir Noeuds finaux de service régional.
    port Obligatoire. Numéro de port du noeud final d'API.
    IAM_token Obligatoire. Votre jeton d'accès IBM Cloud. Incluez l'ensemble du contenu du jeton IAM, y compris la valeur Bearer, dans la demande cURL. Pour plus d'informations, voir Extraction d'un jeton d'accès.
    instance_ID Obligatoire. Identificateur unique affecté à votre instance Hyper Protect Crypto Services. Pour plus d'informations, voir Extraction de votre ID instance.
    correlation_ID Identificateur unique qui est utilisé pour suivre et corréler des transactions.
    key_alias 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é.
    key_description 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é.
    YYYY-MM-DD

    HH:MM:SS.SS

    Date et heure d'expiration de la clé dans le système, au format RFC 3339. Si l'attribut expirationDate est omis, la clé n'expire pas.
    key_material

    Informations de clé codées en base64, telle qu'une clé d'encapsulage de clé existante, que vous souhaitez stocker et gérer dans le service. Pour plus d'informations, voir Base64 codage de votre matériel de clés. Vérifiez que le matériel de clé répond aux exigences suivantes:

    • La clé doit avoir une longueur de 16, 24 ou 32 octets, correspondant à 128, 192 ou 256 bits.
    • 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é en tant que clé racine que vous pouvez utiliser pour les opérations wrap ou unwrap.

    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. Pour d'autres exemples d'informations identifiant la personne, voir la section 2.2 du document NIST Special Publication 800-122.

    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é à votre clé et qui est utilisé pour les appels ultérieurs à l'API de service de gestion de clés Hyper Protect Crypto Services.

  3. Facultatif : Vérifiez que la clé a été ajoutée en exécutant l'appel suivant pour parcourir les clés de l'instance de service Hyper Protect Crypto Services.

    curl -X GET \
    https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys \
    -H 'accept: application/vnd.ibm.collection+json' \
    -H 'authorization: Bearer <IAM_token>' \
    -H 'bluemix-instance: <instance_ID>'
    

Importation de clés racine à l'aide de l'interface de ligne de commande

Procédez comme suit pour importer des clés racine à l'aide de l'interface de ligne de commande Key Protect, qui est intégrée dans Hyper Protect Crypto Services :

  1. Configurez l'interface de ligne de commande Key Protect.

  2. Importez une clé racine à l'aide de la commande suivante :

    ibmcloud kp key create
    

    D'autres paramètres de cette commande sont disponibles dans le document de référence de l'interface de ligne de commande Key Protect.

Codage en base64 de vos informations 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 coder des informations de clé existantes

  1. Téléchargez et installez OpenSSL.

  2. Codez en base64 votre chaîne d'informations 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 :

    Tableau 3. Décrit les variables nécessaires pour base64 votre matériel de clé
    Variables Description
    infile Nom du fichier dans lequel se trouve votre chaîne de matériau de clé. Vérifiez que la clé est de 16, 24 ou 32 octets, ce qui correspond à 128, 192 ou 256 bits.
    outfile Nom du fichier dans lequel le matériel de clé base64-encoded sera créé lors de l'exécution de la commande.

    Si vous souhaitez générer le matériel base64 dans la ligne de commande directement plutôt qu'un fichier, exécutez la commande openssl enc -base6<<< '<key_material_string>', où chaîne_matérial_clé est l'entrée de matériau de clé pour votre clé importée.

Utilisation d'OpenSSL pour créer et coder de nouvelles informations de clé

  1. Téléchargez et installez OpenSSL.

  2. Codez en base64 votre chaîne d'informations de clé en exécutant la commande suivante :

    $ openssl rand <byte_length> -base64
    

    Remplacez la variable byte_length dans l'exemple de demande par la longueur de votre clé, mesurée en octets. Les longueurs d'octets acceptables sont 16, 24 ou 32 octets, correspondant à 128, 192 ou 256 bits.

Etapes suivantes