IBM Cloud Docs
Cifrado de imágenes VHD

Cifrado de imágenes VHD

Para utilizar la función de cifrado E2E, debe cifrar la imagen de la unidad de disco duro virtual (VHD) con la herramienta vhd-util antes de importarla a Plantillas de imagen para suministrar instancias cifradas. Se admiten dos niveles de cifrado AES: AES de 256 bits y AES de 512 bits.

Requisitos de imagen VHD cifrada

Las imágenes VHD cifradas deben cumplir los requisitos siguientes:

Cifrado de la imagen VHD

Siga estos pasos para crear la imagen VHD cifrada:

  1. Seleccione un sistema CentOS que ejecute la versión 7 o superior para cifrar la imagen de disco virtual (archivo VHD) para IBM Cloud. Si no tiene acceso a hardware físico con CentOS instalado, puede suministrar una instancia de servidor virtual con CentOS 7 dentro de IBM Cloud mediante un host público o dedicado. No es necesario que el sistema CentOS utilizado para cifrar archivos VHD esté también cifrado.

  2. Descargue la herramienta de cifrado de IBM Cloud y, a continuación, utilice la mejor opción disponible para cifrar suVHD.

    Opción 1: Si su sistema CentOS no se ejecuta en IBM Cloud, inicie sesión y conéctese a la VPN cliente. Para obtener más información sobre cómo configurar una VPN, consulte "Configuración de la VPN con conexiones SSL". Después de conectarse a VPN, vaya al sitio de descarga de IBM Cloud y seleccione el archivo de paquete RPM de la herramienta vhd-util: vhd-util-standalone-3.5.0-xs.2+1.0_71.2.2.x86_64.rpm.

    Opción 2 Si no puede descargar el archivo de paquete de RPM directamente en el sistema CentOS, conéctese a la VPN de cliente y descargue el archivo en la estación de trabajo en la que está trabajando. A continuación, puede cargarlo al sistema CentOS mediante el mandato de copia segura (scp). Si está utilizando una instancia de servidor virtual en IBM Cloud, utilice la dirección IP pública del sistema para la carga mediante el mandato siguiente.

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

    Opción 3: Si decide suministrar una instancia de servidor virtual de CentOS en IBM Cloud en el paso 1, puede utilizar el siguiente mandato curl sin conectarse a la VPN cliente:

    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. Instale el RPM mediante el mandato siguiente:

    rpm -iv vhd-util-standalone-3.5.0-xs.2+1.0_71.2.2.x86_64.rpm
    
  4. Identifique y seleccione la clave de cifrado de datos (DEK) de AES que necesite para cifrar y descifrar la imagen de disco y, a continuación, grábela en un archivo de claves. Esta DEK es la misma DEK codificada en base 64 que ha encapsulado con la clave raíz de cliente proporcionada por el servicio de gestión de claves en Preparación de su entorno. La información de material de la clave que se escribe en archivos de claves debe estar desencapsulada (unwrapped) y no puede estar codificada.

    Puesto que el archivo de claves no está codificado en base 64, no puede imprimir o visualizar el contenido del archivo de claves desde la línea de mandatos utilizando los caracteres ASCII estándares.

    Utilice el mandato siguiente para crear archivos de claves con una clave de cifrado AES de 256 bits o AES de 512 bits:

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

    Mandato de ejemplo:

    echo Nrfen98EpMxF2B+wdgLfagzrqvgUZfMK4vL2T0NsT20ihrsNC9pUUHtizF6218pze8RLCgQ6kwxuE58IWLzgDA== | base64 -d - > aes512.dek
    
  5. Utilice el mandato siguiente para verificar los archivos de claves que ha creado en el paso anterior:

    vhd-util key -C -k <keyfile_name>
    

    Mandato de ejemplo con salida:

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

    La primera línea de la salida del mandato de ejemplo anterior indica que el archivo de claves denominado aes512.dek contiene una clave de 64 bytes. Mientras que los números listados en la segunda línea son los hashes SHA256 o los hashes de seguridad de las respectivas claves de cifrado. La salida de los archivos que contiene una clave de cifrado AES de 256 bits indica una clave de 32 bytes.

  6. Utilice el mandato siguiente para crear copias cifradas de los archivos VHD. target_vhd representa el nombre del archivo que contiene la versión cifrada de source_vhd.

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

    Mandato de ejemplo:

    vhd-util copy -n debian8-ne.vhd -N debian8-aes512.vhd -k aes512.dek
    
  7. Verifique que los archivos VHD estén cifrados mediante el mandato siguiente.

    vhd-util key -p -n <vhd_filename>
    

    Mandato de ejemplo con salida:

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

Si el archivo VHD está cifrado, verá dos valores de hash en la salida tal como se muestra en el ejemplo anterior. El primer hash son todo ceros. El segundo hash es el hash SHA256 que utiliza la clave de cifrado AES para cifrar y descifrar el VHD. Asegúrese de que los hashes SHA256 de los archivos VHD son los mismos que los hashes mostrados en el Paso 5.

El mandato de ejemplo del Paso 7 crea un nuevo archivo VHD cifrado que se denomina “debian8-aes512.vhd”. Se cifra con la clave de cifrado AES de 512 bits desde el archivo de claves denominado “aes512.dek”. El hash SHA256 para su cifrado es 21681bba94f04b33b112f5f90a0faa885a6d1dbf1bd68ed16c5b995143088eda.