Création de clés racine

Vous pouvez utiliser IBM Cloud® Hyper Protect Crypto Services pour créer des clés racineA symmetric wrapping key that is used for encrypting and decrypting other keys that are stored in a data service. à 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 plus d'informations sur les clés racine, voir Chiffrement d'enveloppe.

Création de clés racine à l'aide de l'interface utilisateur

Après avoir créé une instance du service, procédez comme suit pour créer une clé racine avec l'interface utilisateur.

Si vous activez les paramètres d'autorisation double pour votre instance Hyper Protect Crypto Services, 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 à 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 créer 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 Créer une clé.

    Indiquez les détails relatifs à la clé :

    Tableau 1. Décrit les paramètres de création d'une clé
    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é Nom lisible permettant d'identifier facilement votre clé. La longueur doit être comprise entre 2 et 90 caractères. 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.
    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 peut contenir de deux à 240 caractères.
  6. Lorsque vous avez terminé de remplir les détails de la clé, cliquez sur Créer une clé pour confirmer.

Les clés qui sont créées dans le service sont des clés symétriques de 256 bits prises en charge par l'algorithme AES-GCM. Pour plus de sécurité, les clés sont générées par des modules de sécurité matérielle(HSM)A physical appliance that provides on-demand encryption, key management, and key storage as a managed service. certifiés FIPS 140-2 niveau 4 qui se trouvent dans des centres de données IBM Cloud sécurisés.

Création de clés racine à l'aide de l'API

Créez une clé racine en soumettant une demande POST au noeud final suivant.

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" \
      -H "x-kms-key-ring: <key_ring_ID>" \
      -H "correlation-id: <correlation_ID>" \
      -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": "<YYYY-MM-DDTHH:MM:SS.SSZ>",
                       "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, comme us-south ou au-syd, représentant la zone géographique dans laquelle votre instance de service Hyper Protect Crypto Services réside. 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 de service Hyper Protect Crypto Services. Pour plus d'informations, voir Extraction d'un ID d'instance.
    key_ring_ID Facultatif. Identificateur unique du fichier de clés cible auquel vous souhaitez affecter la clé. S'il n'est pas spécifié, l'en-tête est automatiquement défini sur default et la clé appartient au fichier de clés par défaut dans l'instance Hyper Protect Crypto Services spécifiée.

    Pour plus d'informations, voir Gestion des fichiers de clés.

    correlation_ID Identificateur unique qui est utilisé pour suivre et corréler des transactions.
    key_name Obligatoire. Nom lisible permettant d'identifier facilement votre clé.

    Important : 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 pas vos données personnelles en tant que métadonnées pour votre clé.

    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. La taille de l'alias peut être comprise entre 2 et 90 caractères (inclus).

    key_description Facultatif : description développée de votre clé.

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

    Facultatif : 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_type Valeur booléenne qui détermine si les informations de clé peuvent quitter le service.

    Lorsque vous affectez la valeur extractable à l'attribut false, le service crée une clé racine que vous pouvez utiliser pour des 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.

    Si vous définissez expirationDate dans votre demande, la clé passe à l'état désactivé dans l'heure qui suit la date d'expiration de la clé.

    Une réponse POST /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.

    {
        "metadata": {
            "collectionType": "application/vnd.ibm.kms.key+json",
            "collectionTotal": 1
        },
        "resources": [
            {
                "type": "application/vnd.ibm.kms.key+json",
                "id": "02fd6835-6001-4482-a892-13bd2085f75d",
                "name": "test-root-key",
                "aliases": [
                    "alias-1",
                    "alias-2"
                  ],
                "description": "A test root key",
                "state": 1,
                "extractable": false,
                "crn": "crn:v1:bluemix:public:hs-crypto:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d",
                "imported": false,
                "creationDate": "2020-03-12T03:37:32Z",
                "createdBy": "...",
                "algorithmType": "AES",
                "algorithmMetadata": {
                    "bitLength": "256",
                    "mode": "CBC_PAD"
                },
                "algorithmBitSize": 256,
                "algorithmMode": "CBC_PAD",
                "lastUpdateDate": "2020-03-12T03:37:32Z",
                "keyVersion": {
                    "id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
                    "creationDate": "2020-03-12T03:37:32Z"
                },
                "dualAuthDelete": {
                    "enabled": false
                },
                "deleted": false
            }
        ]
    }
    

    Pour une description détaillée des paramètres de réponse, voir Hyper Protect Crypto Services Documentation de référence de l'API REST.

  3. Facultatif : Vérifiez que la clé a été créé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>' \
      -H 'correlation-id: <correlation_ID>' \
    

Une fois que vous avez créé une clé racine avec le service, la clé reste dans les limites de Hyper Protect Crypto Services et le matériel de clé ne peut pas être extrait.

Etapes suivantes