Réencapsulage de clés de chiffrement de données avec des clés racine
Chiffrez de nouveau vos clés de chiffrement de données à l'aide de l'interface de programmation du service de gestion de clés IBM Cloud® Hyper Protect Crypto Services.
Lorsque vous appliquez une rotation à une clé racine dans Hyper Protect Crypto Services, de nouvelles informations de clé de chiffrement deviennent disponibles pour protéger les clés de chiffrement de données associées à la clé racine. Avec l'API de rewrap, vous pouvez rechiffrer ou réemballer votre DEKS sans exposer les clés sous leur forme de texte brut.
Pour découvrir comment le chiffrement d'enveloppe peut vous aider à contrôler la sécurité des données au repos dans le cloud, reportez-vous à la rubrique Protection des données avec le chiffrement d'enveloppe.
Réencapsulage des clés à l'aide de l'API
Vous pouvez rechiffrer une clé de chiffrement de données (DEK) spécifiée avec une clé racine que vous gérez dansHyper Protect Crypto Services, sans exposer le DEK sous forme de texte brut.
Le réencapsulage des clés fonctionne en combinant des appels unwrap et wrap au service. Par exemple, vous pouvez émuler une opération rewrap en commençant par appeler l'API unwrap pour accéder
à une clé de chiffrement de données, puis en appelant l'API wrap pour rechiffrer cette clé à l'aide des informations de clé racine les plus récentes.
Une fois que vous avez effectué une rotation d'une clé racine dans le service, réencapsulez une clé de chiffrement de données associée à la clé racine en soumettant un appel POST au noeud final ci-après.
https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/rewrap
-
Extrayez vos données d'authentification et de service afin d'utiliser les clés dans le service.
-
Copiez l'ID de la clé racine pivotée que vous avez utilisée pour exécuter la demande initiale d'encapsulage.
Vous pouvez récupérer l'ID d'une clé en effectuant un
GET api/v2/keysdemande, ou en affichant vos clés dans l’interface utilisateur. -
Copiez la valeur
ciphertextqui a été renvoyée lors de la dernière demande d'encapsulage initiale. -
Réencapsulez la clé avec les dernières informations de clé racine en exécutant la commande cURL ci-après.
curl -X POST \ 'https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/rewrap' \ -H 'accept: application/vnd.ibm.kms.key_action+json' \ -H 'authorization: Bearer <IAM_token>' \ -H 'bluemix-instance: <instance_ID>' \ -H 'content-type: application/vnd.ibm.kms.key_action+json' \ -H "x-kms-key-ring: <key_ring_ID>" \ -H 'correlation-id: <correlation_ID>' \ -d '{ "ciphertext": "<encrypted_data_key>" }'Remplacez les variables de l'exemple de demande conformément au tableau suivant :
Tableau 1. Décrit les variables nécessaires pour réencapsuler des clés dans Hyper Protect Crypto Services. Variables Description regionObligatoire. L'abréviation de la région, telle que us-southoueu-de, qui représente la zone géographique où se trouve votreHyper Protect Crypto Services l'instance de service réside. Pour plus d'informations, voir Noeuds finaux de service régional.portObligatoire. Numéro de port du noeud final d'API. key_IDObligatoire. ID unique de la clé racine que vous avez utilisée pour la demande d'encapsulage initiale. IAM_tokenObligatoire. 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_IDObligatoire. Identificateur unique affecté à votre instance de service Hyper Protect Crypto Services. Pour plus d'informations, voir Extraction d'un ID d'instance. key_ring_IDFacultatif. Identificateur unique du fichier de clés auquel appartient la clé. S'il n'est pas spécifié, Hyper Protect Crypto Services recherche la clé dans chaque fichier de clés associé à l'instance spécifiée. Par conséquent, il est conseillé de spécifier l'ID du fichier de clés pour une demande plus optimisée. Remarque : les clés créées sans en-tête
x-kms-key-ringont l'ID de fichier de clé "default". Pour plus d'informations, voir Gestion des fichiers de clés.correlation_IDIdentificateur unique qui est utilisé pour suivre et corréler des transactions. encrypted_data_keyObligatoire. Le ciphertextvaleur renvoyée par l’opération de bouclage d’origine.La clé de chiffrement de données nouvellement encapsulée, la version de clé d'origine (
keyVersion) associée au texte chiffré fourni et la dernière version de clé (rewrappedKeyVersion) associée au nouveau texte chiffré sont renvoyées dans la section entity-body de la réponse. L'objet JSON suivant illustre un exemple de valeur renvoyée :{ "ciphertext": "eyJjaX ... h0Ijoi ... c1ZCJ9", "keyVersion": { "id": "02fd6835-6001-4482-a892-13bd2085f75d" }, "rewrappedKeyVersion": { "id": "12e8c9c2-a162-472d-b7d6-8b9a86b815a6" } }Stockez et utilisez la nouvelle valeur
ciphertextpour les futures opérations de chiffrement d'enveloppe, afin que vos données soient protégées par la clé la plus récente.