Sécurisation de vos données sur Hyper Protect Virtual Servers pour VPC
Le site IBM Cloud Hyper Protect Virtual Servers pour VPC est obsolète. À partir du 28 février 2026, vous ne pourrez plus créer de nouvelles instances. Les instances existantes seront prises en charge jusqu’au 20 février 2027. Toutes les instances qui existeront encore à cette date seront supprimées. Vous pouvez redéployer vos charges de travail en utilisant IBM Confidential Computing Container Runtime(anciennement connu sous le nom de Hyper Protect Virtual Servers ) ou IBM Confidential Computing Container Runtime for Red Hat Virtualization Solutions(anciennement connu sous le nom de Hyper Protect Container Runtime for Red Hat Virtualization Solutions). Pour plus d'informations sur la migration des données, voir le guide Migration. Pour plus d'informations, voir l'annonce de dépréciation du service.
Le volume de données que vous associez à votre instance d' Hyper Protect Virtual Servers s pour VPC est protégé par une phrase secrète de chiffrement LUKS ( Linux Unified Key Setup). La phrase secrète est dérivée des graines qui ont été fournies lors du déploiement. Vous pouvez ajouter un niveau supérieur de protection et de contrôle par cryptage à vos données au repos en utilisant votre propre clé disponible sur Hyper Protect Crypto Services.
Mode de chiffrement de votre volume de données
Sans votre propre clé, le volume de données que vous connectez à votre instance est chiffré automatiquement avec deux valeurs de départ fournies dans les sections workload- volumes et env- volumes du contrat. Les valeurs de départ sont converties en interne en séquences UTF8, puis concaténées. Le hachage ( SHA256 ) de la séquence concaténée est calculé sous forme de condensé hexadécimal, qui
est utilisé comme mot de passe LUKS pour chiffrer le volume de données. Pour plus d'informations, consultez la section À propos du contrat.
Protection de vos données sensibles avec votre propre clé
À partir de ibm-hyper-protect-container-runtime-1-0-s390x-11, Hyper Protect Virtual Servers pour l'intégration de la prise en charge VPC avec le service de gestion des clés (KMS) Hyper Protect Crypto Services. Hyper Protect Crypto
Services génère une valeur aléatoire comme troisième graine et l'enveloppe avec la CRK (clé racine client). Pour plus d'informations sur CRK, voir Root keys.
La valeur de départ encapsulée est stockée dans la partition de métadonnées de votre volume de données. La phrase passe LUKS est générée à l'aide de trois valeurs de départ: la valeur de départ dans la partition de métadonnées
(non encapsulée en premier) et les deux valeurs de départ du contrat.
Contexte: à partir de la version d'image ibm-hyper-protect-container-runtime-1-0-s390x-9 HPCR, pour les nouvelles instances VPC d' Hyper Protect Virtual Servers, le volume de données est partitionné en deux parties.
La première partition (100 MiB ) est réservée uniquement aux métadonnées internes ( non accessibles par une charge de travail). La deuxième partition reste le volume de données pour la charge de travail. Seuls les nouveaux
volumes sont partitionnés.
Actuellement, seul Hyper Protect Crypto Services est pris en charge comme service de gestion des clés.
Le tableau suivant présente un résumé des graines. La troisième valeur de départ est celle fournie par votre service de gestion des clés.
| Valeur de départ | Fournisseur | De | Obligatoire ou facultatif |
|---|---|---|---|
| seed1 | Personne déployeuse | env-Section volumes du contrat |
Obligatoire |
| seed2 | Persona de charge de travail | workload-Section volumes du contrat |
Obligatoire |
| seed3 | Hyper Protect Crypto Services | Hyper Protect Crypto Services génère la troisième graine et l'enveloppe avec le CRK uniquement si kms les détails sont fournis dans le contrat. Le chiffrement de l'enveloppe s'effectue en appelant une API wrap. La valeur de
départ encapsulée est stockée dans la partition de métadonnées du volume de données. |
Facultatif |
Le démon de clés est démarré si le volume est sécurisé avec la protection de l'instance KMS. Il est chargé de réagir aux changements d'état du CRK.
A propos des clés gérées par le client
Hyper Protect Virtual Servers Pour VPC, utilisez le chiffrement d'enveloppeProcessus de chiffrement de données avec une clé de chiffrement de données puis de déchiffrement de la clé avec une clé racine pouvant être entièrement gérée. pour mettre en œuvre des clés gérées par le client. Le chiffrement d'enveloppe consiste à chiffrer (envelopper) une clé de chiffrement à l'aide d'une autre clé de chiffrement. Dans notre cas, la clé encapsulée est la troisième graine, et la clé utilisée pour encapsuler la graine est la CRK provenant de Hyper Protect Crypto Services.
Vous possédez le CRK dans Hyper Protect Crypto Services. Hyper Protect Virtual Servers pour VPC ne voit jamais le CRK. Le stockage, la gestion et l'utilisation de cette clé pour chiffrer et déchiffrer la graine s'effectuent entièrement au sein du service de gestion des clés.
Hyper Protect Crypto Services est soutenu par du matériel certifié FIPS 140-2 niveau 4, soit le niveau le plus élevé proposé par un fournisseur de services cloud du secteur. Pour plus d'informations, voir Initiation à Hyper Protect Crypto Services.
Activation des clés gérées par le client pour l' Hyper Protect Virtual Servers pour VPC
La possibilité d'activer cette fonctionnalité dépend de l'historique de l' Hyper Protect Virtual Servers e pour l'instance VPC (disposition des partitions et chiffrement LUKS) et des informations contractuelles. Consultez le tableau suivant
pour connaître les scénarios et les résultats possibles. Si vous ne savez pas ce que les détails kms du contrat signifient, consultez les instructions dans Etapes. Le tableau montre
le comportement d'un serveur virtuel au démarrage, le nombre de volumes attachés au serveur virtuel et les entrées spécifiées dans le fichier de contrat.
| Nombre de partitions dans le volume de données | Partition de métadonnées | Contract | Indique si la partition / la seconde partition est chiffrée par LUKS | Comportement d' Hyper Protect Virtual Servers s pour VPC |
|---|---|---|---|---|
| 0 | N/A | A des détails kms |
Non chiffré LUKS | L'instance crée deux partitions dans le volume de données, appelle Hyper Protect Crypto Services pour générer une troisième graine et l'envelopper avec le CRK. La valeur de départ encapsulée est stockée dans la partition de métadonnées. Ensuite, l'instance génère une phrase secrète LUKS à partir de la graine (déballée au préalable) et des deux graines du contrat afin de chiffrer la deuxième partition. |
| 0 | N/A | A des détails kms |
LUKS chiffré | L'instance s'arrête. Vous devez supprimer les détails kms dans le contrat. |
| 1 | N/A | Non prise en charge. L'instance s'arrête. | ||
| 2 | Aucune valeur de départ chiffrée | Comporte des détails kms (une entrée) |
Non chiffré LUKS | L'instance appelle Hyper Protect Crypto Services pour générer une troisième graine et l'envelopper avec le CRK. La valeur de départ encapsulée est stockée dans la partition de métadonnées. Ensuite, l'instance génère une phrase secrète LUKS à partir de la graine (déballée au préalable) et des deux graines du contrat afin de chiffrer la deuxième partition. |
| 2 | Aucune valeur de départ chiffrée | Comporte des détails kms (une entrée) |
LUKS chiffré | Un flux similaire au précédent pour ré-crypter la deuxième partition. L'ancienne phrase passe LUKS est remplacée. Les deux clés issues de env et workload doivent être identiques à celles utilisées précédemment, sinon le rechiffrement échoue et l'instance s'arrête. Indiquez les valeurs de départ correctes et réessayez. |
| 2 | Aucune valeur de départ chiffrée | Comporte des détails kms (entrées multiples) |
Non chiffré LUKS | Flux similaire aux scénarios précédents pour encapsuler la troisième valeur de départ et chiffrer la deuxième partition. Seule la configuration de la première entrée est utilisée pour encapsuler la troisième valeur de départ. |
| 2 | A une valeur de départ chiffrée | Comporte des détails kms (une entrée) |
Non chiffré LUKS | Il est possible que vous ayez utilisé le volume lors d'un provisionnement précédent, mais que le chiffrement ait échoué. Ou vous avez fourni le volume avec deux partitions et créé manuellement une valeur aléatoire comme troisième graine, vous l'avez encapsulée et stockée dans la partition de métadonnées. Dans les deux cas, l'instance vérifie si le partitionnement est correct. Si ce n'est pas le cas, l'instance s'arrête. Si le partitionnement est correct, l'instance appelle Hyper Protect Crypto Services pour décompresser la graine cryptée, génère une phrase de passe LUKS avec la graine et les deux graines du contrat pour crypter la deuxième partition. |
| 2 | A une valeur de départ chiffrée | Comporte des détails kms (une entrée) |
LUKS chiffré | L'instance appelle Hyper Protect Crypto Services pour déchiffrer la clé cryptée et ouvre la couche LUKS sur la partition de données. |
| 2 | A une valeur de départ chiffrée | Comporte des détails kms (entrées multiples) |
L'instance appelle Hyper Protect Crypto Services pour déballer la graine cryptée avec la première kms entrée. Si elle échoue, elle utilise l'entrée suivante. Lorsqu'elle aboutit, elle utilise la première configuration pour
réencapsuler la valeur de départ. Si toutes les entrées ne fonctionnent pas, l'instance s'arrête. |
|
| 2 | A une valeur de départ chiffrée | Aucun détail kms |
L'instance s'arrête. Vous devez fournir des détails kms dans le contrat. |
Vérifiez les journaux dans IBM Cloud Logs si votre instance s'arrête.
Étapes
-
Fournissez une instance d' Hyper Protect Crypto Services et créez une clé racine. Pour plus d'informations, voir Création de clés racine.
Pour renforcer la sécurité, il est recommandé d'utiliser des points de terminaison privés virtuels avec Hyper Protect Crypto Services.
-
Lorsque vous préparez le contrat, ajoutez
kmsles détails dans laenv``volumessection, puis utilisez le contrat pour créer une instance Hyper Protect Virtual Servers pour VPC. Voir l'exemple suivant :env: | logging: logRouter: hostname: 34be57c7-6ff2-4685-8839-903921e90ab9.ingress.jp-tok.logs.cloud.ibm.com iamApiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" volumes: test: kms: - apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" crn: "crn:v1:bluemix:public:hs-crypto:us-south:a/xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:key:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx" type: "public" - apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" crn: "crn:v1:bluemix:public:hs-crypto:us-south:a/xxxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx:key:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx" type: "private" seed:"workload_phrase1" kmsTimeout: 10 apiKey: "L4SsSE32xxxxxjAgfHCVkdW8xl_CiqMn4Lpc1dzTD" signingKey: "xxxxxxxxx" workload: | volumes: test: mount: "/mnt/data" seed: "workload_phrase2" filesystem: "ext4"
Pour éviter une mauvaise utilisation des détails KMS par un agresseur, il est fortement recommandé au déployeur (qui fournit la section env ) de chiffrer et de signer le contrat. Pour plus d'informations
sur le chiffrement, voir Chiffrement de contrat. Pour la signature, ajoutez une clé de signature publique (champ signingKey ) à votre section env et signez l'intégralité du contrat en ajoutant une section envWorkloadSignature au contrat. Le but de la signature est de garantir que les sections workload env et sont toujours utilisées ensemble
et ne sont pas altérées par un tiers. Pour plus d'informations, voir Signature du contrat.
-
kmsDans la zone
kms, placez toujours la configuration KMS que vous souhaitez utiliser comme première entrée. Les entrées qui suivent sont des configurations KMS plus anciennes (utilisées pour déchiffrer la valeur de départ encapsulée avant la migration vers la configuration en cours). Cinq entrées au maximum sont prises en charge. Pour plus d'informations sur la modification des configurations KMS, consultez la section Modification de l' Hyper Protect Crypto Services instance ou de la clé racine.Si les détails
kmsdu contrat ne sont pas valides, l'instance s'arrête immédiatement. -
kmsTimeoutVous pouvez spécifier
kmsTimeout(entre 0 et 1000 minutes) dans le contrat. S'il n'est pas spécifié, la valeur de délai d'attente par défaut est de 10 minutes. Cette valeur détermine la durée pendant laquelle l'instance tente de déballer la graine lors du démarrage initial ou du redémarrage. Une fois ce délai écoulé, les messages sont consignés et l'instance s'arrête. -
typeCette zone permet de spécifier les instances comme étant "privées" lorsqu'elles se trouvent dans un réseau privé et "publiques" lorsqu'elles se trouvent dans le réseau public. Cette entrée est utilisée pour prendre en charge le passage à une autre instance d' Hyper Protect Crypto Services s ou à un autre CRK.
Si votre volume est nouveau, l'instance crée deux partitions dans le volume de données, appelle Hyper Protect Crypto Services pour générer une troisième graine et l'enveloppe avec le CRK. La valeur de départ encapsulée est stockée dans la partition de métadonnées. Ensuite, l'instance génère une phrase secrète LUKS à partir de la graine (déballée au préalable) et des deux graines du contrat afin de chiffrer la deuxième partition.
Vous pouvez également choisir de créer manuellement deux partitions dans un volume, de créer une valeur aléatoire comme troisième valeur de départ, de l'encapsuler et de le stocker dans la partition de métadonnées:
-
Créez deux partitions sur le périphérique bloc à l'aide de l'utilitaire Linux
parted.- La première partition est étiquetée et
metadataa une longueur de 100 MiB. La partition de métadonnées est réservée aux métadonnées internes uniquement et n' est pas accessible par une charge de travail. Créez un système de fichiers ( ext4 ) et créez un fichier nommé keyfile. - la deuxième partition est appelée
dataet occupe tout l'espace disque.
- La première partition est étiquetée et
-
Utilisez l'API KMS d' Hyper Protect Crypto Services Enveloppez une clé pour générer un texte brut aléatoire qui est ancré dans un HSM et enveloppez-le sans transmettre la valeur.
-
Copiez le texte chiffré de l'objet réponse dans le fichier clé.
-
Préparez le contrat avec les informations KMS et créez une instance VPC ( Hyper Protect Virtual Servers ) avec le volume partitionné manuellement qui contient une graine encapsulée.
Lorsque l'instance est en cours d'exécution, le démon clé contacte périodiquement l'instance Hyper Protect Crypto Services. Le même délai d'attente kmsTimeout s'applique. Si l'instance Hyper Protect Crypto Services n'est pas
accessible, si l'état du CRK n'est pas Active ou si les paramètres d'accès (kms détails) ne correspondent plus, le démon déclenche un redémarrage.
Vérifiez les journaux dans Log Analysis si votre instance s'arrête.
Utilisation des clés gérées par le client pour l' Hyper Protect Virtual Servers pour VPC
Rotation de la clé racine
Si la clé CRK est pivotée manuellement ou automatiquement en fonction d'une règle de rotation des clés, le démon de clés détecte la rotation des clés et encapsule à nouveau la valeur de départ.
Passage à une autre instance d' Hyper Protect Crypto Services s ou à une autre clé racine
Si vous souhaitez utiliser une autre instance Hyper Protect Crypto Services ou un autre ID de clé racine, placez la nouvelle configuration KMS en tant que première entrée dans le contrat et recréez l'instance Hyper Protect Virtual Servers. Conservez l'ancienne configuration KMS (actuellement utilisée) dans le contrat. Lors de l'instanciation, Hyper Protect Virtual Servers pour VPC décompresse la graine cryptée avec l'ancienne configuration et utilise la nouvelle configuration pour recompresser la graine. Un maximum de cinq entrées sont prises en charge dans le contrat.
Une fois la modification effectuée, les anciennes entrées peuvent être supprimées de l'interaction suivante.
Désactivation de la clé racine
Si vous désactivez la clé racine, l'état de la clé devient Interrompu. Le démon clé d' Hyper Protect Virtual Servers pour VPC vérifie périodiquement
l'état du CRK. Si l'état n'est pas actif, le serveur virtuel redémarre. Pendant le redémarrage, le démon Key vérifie l'état par interrogation et, lorsque le temps nécessaire dépasse kmsTimeout, le serveur
virtuel s'arrête. Vous devez activer la clé racine pour ramener la clé à l'état Actif.
Assurez-vous que votre CRK n'est pas arrivé à expiration. Sinon, son état passe à Désactivé, et le serveur virtuel redémarre puis finit par s'arrêter. Pour plus d'informations sur les états des clés, consultez la section Suivi du cycle de vie des clés de chiffrement.