Chiffrement d'images VHD

Pour utiliser la fonction de chiffrement de bout en bout, vous devez chiffrer votre image VHD (Virtual Hard Drive) avec l'outil vhd-util avant de l'importer dans Modèles d'image pour mettre à disposition les instances chiffrées. Deux niveaux de chiffrement AES sont pris en charge : AES 256 bits et AES 512 bits.

Exigences liées aux images VHD chiffrées

Les images VHD chiffrées doivent respecter les exigences suivantes :

Chiffrement de votre image VHD

Procédez comme suit pour créer votre image VHD chiffrée :

  1. Sélectionnez un système CentOS exécutant la version 7 ou une version ultérieure pour chiffrer votre image de disque virtuel (fichier VHD) pour IBM Cloud. Si vous n'avez pas accès à un matériel physique sur lequel CentOS est installé, vous pouvez mettre à disposition une instance de serveur virtuel avec CentOS 7 dans IBM Cloud en utilisant un hôte public ou dédié. Il n'est pas nécessaire que le système CentOS utilisé pour le chiffrement des fichiers VHD soit lui-même chiffré.

  2. Téléchargez l'outil de chiffrement à partir de IBM Cloud, puis utilisez la meilleure option disponible pour chiffrer votre VHD.

    Option 1 Si votre système CentOS n'est pas en cours d'exécution dans IBM Cloud, ouvrez une session et connectez-vous au réseau privé virtuel de votre client. Pour plus d'informations sur la configuration d'un VPN, voir "Set up SSL VPN connections". Après vous être connecté à votre VPN, allez sur le site de téléchargement IBM Cloud et sélectionnez le fichier paquet RPM de l'outil vhd-util : vhd-util-standalone-3.5.0-xs.2+1.0_71.2.2.x86_64.rpm.

    Option 2 Si vous ne pouvez pas télécharger le fichier de package RPM directement dans votre système CentOS, connectez-vous à votre VPN client et téléchargez le fichier sur votre poste de travail. Vous pouvez ensuite l'envoyer par téléchargement vers votre système CentOS à l'aide de la commande de copie sécurisée (scp). Si vous utilisez une instance de serveur virtuel dans IBM Cloud, utilisez l'adresse IP publique du système pour cet envoi par téléchargement à l'aide de la commande suivante :

    scp vhd-util-standalone-3.5.0-xs.2+1.0_71.2.2.x86_64.rpm root@<vsi_public_ip>:
    

    Option 3 Si vous choisissez de mettre à disposition une instance de serveur virtuel CentOS dans IBM Cloud à l'étape 1, vous pouvez utiliser la commande curl suivante sans vous connecter à votre VPN client :

    curl -O http://downloads.service.softlayer.com/citrix/xen/vhd-util-standalone-3.5.0-xs.2+1.0_71.2.2.x86_64.rpm
    
  3. Installez le package RPM à l'aide de la commande suivante :

    rpm -iv vhd-util-standalone-3.5.0-xs.2+1.0_71.2.2.x86_64.rpm
    
  4. Identifiez et sélectionnez la clé de chiffrement AES dont vous avez besoin pour chiffrer et déchiffrer votre image de disque et écrivez-la dans un fichier de clés. Cette clé DEK est la même clé DEK codée en base64 que celle que vous avez encapsulée avec la clé racine du client fournie par le service de gestion de clés mentionnée à la rubrique Préparation de votre environnement. La clé qui est écrite dans les fichiers de clés doit être désencapsulée et non codée.

    Etant donné que le fichier de clés n'est pas codé en base64, vous ne pouvez pas imprimer ou afficher le contenu du fichier de clés à partir de la ligne de commande en utilisant des caractères ASCII standard.

    Utilisez la commande suivante pour créer des fichiers de clés avec une clé de chiffrement AES 256 bits ou AES 512 bits :

    echo <data_key> | base64 -d - > <keyfile_name>
    

    Exemple de commande :

    echo Nrfen98EpMxF2B+wdgLfagzrqvgUZfMK4vL2T0NsT20ihrsNC9pUUHtizF6218pze8RLCgQ6kwxuE58IWLzgDA== | base64 -d - > aes512.dek
    
  5. Utilisez la commande suivante pour vérifier les fichiers de clés que vous avez créés lors de l'étape précédente :

    vhd-util key -C -k <keyfile_name>
    

    Exemple de commande avec sortie :

    vhd-util key -C -k aes512.dek
    vhd_util_read_key: using keyfile aes512.dek, Size (bytes) 64
    21681bba94f04b33b112f5f90a0faa885a6d1dbf1bd68ed16c5b995143088eda
    

    La première ligne de la sortie provenant de l'exemple de commande précédent indique que le fichier de clés nommé aes512.dek contient une clé de 64 octets. Les numéros répertoriés sur la deuxième ligne sont les hachages SHA256 ou les hachages de sécurité pour les clés de chiffrement respectives. La sortie pour les fichiers contenant une clé de chiffrement AES 256 bits correspond à une clé de 32 octets.

  6. Utilisez la commande ci-dessous pour créer des copies chiffrées de vos fichiers VHD. target_vhd représente le nom du fichier qui contient la version chiffrée de source_vhd.

    vhd-util copy -n <source_vhd> -N <target_vhd> -k <keyfile_name>
    

    Exemple de commande :

    vhd-util copy -n debian8-ne.vhd -N debian8-aes512.vhd -k aes512.dek
    
  7. Vérifiez que les fichiers VHD sont chiffrés à l'aide de la commande suivante :

    vhd-util key -p -n <vhd_filename>
    

    Exemple de commande avec sortie :

    vhd-util key -p -n debian8-aes512.vhd
    0000000000000000000000000000000000000000000000000000000000000000
    21681bba94f04b33b112f5f90a0faa885a6d1dbf1bd68ed16c5b995143088eda
    

Si le fichier VHD est chiffré, la sortie comporte deux valeurs de hachage, comme illustré dans l'exemple précédent. Le premier hachage est composé uniquement de zéros. Le deuxième est le hachage SHA256 que la clé de chiffrement AES utilise pour chiffrer et déchiffrer le fichier VHD. Assurez-vous que les hachages SHA256 pour les fichiers VHD sont identiques aux hachages indiqués à l'Etape 5.

L'exemple de commande figurant à l'Etape 7 crée un nouveau fichier VHD chiffré, appelé "debian8-aes512.vhd". Il est chiffré avec la clé de chiffrement AES 512 bits provenant du fichier de clés nommé "aes512.dek". Le hachage SHA256 pour son chiffrement est 21681bba94f04b33b112f5f90a0faa885a6d1dbf1bd68ed16c5b995143088eda.