Importación de claves protegidas con HSM a Key Vault (BYOK)

Para una mayor seguridad cuando utilice Azure Key Vault, puede importar o generar una clave en un módulo de seguridad de hardware (HSM); la clave no abandona nunca el límite de HSM. Con frecuencia este escenario se conoce como Bring Your Own Key (BYOK). Key Vault usa HSM validados de FIPS 140 para proteger las claves.

Use la información de este artículo como ayuda para planear, generar y transferir sus propias claves protegidas con HSM para utilizarlas con Azure Key Vault.

Nota:

Esta funcionalidad no está disponible para Microsoft Azure operado por 21Vianet.

Este método de importación solo está disponible para HSM compatibles.

Para más información y para ver un tutorial de introducción al uso de Key Vault (incluida la creación de un almacén de claves para las claves protegidas con HSM), consulte ¿Qué es Azure Key Vault?.

Información general

A continuación se muestra información general del proceso: Los pasos específicos que se deben realizar se describen más adelante en el artículo.

  • En Key Vault, genere una clave (conocida como clave de intercambio de claves o [KEK]). La KEK debe ser una clave RSA-HSM que tenga solo la operación de clave import. Solo Key Vault HSM Premium y HSM administrado admiten claves RSA-HSM.
  • Descargue la clave pública KEK como un archivo .pem.
  • Transfiera la clave pública KEK a un equipo sin conexión que esté conectado a un HSM local.
  • En la estación de trabajo sin conexión, use la herramienta BYOK que proporciona su proveedor de HSM para crear un archivo BYOK.
  • La clave de destino se cifra con una KEK, que permanece cifrada hasta que se transfiere al HSM de Key Vault. Solo la versión cifrada de la clave sale del HSM local.
  • Una KEK generada dentro de un HSM de Key Vault no es exportable. Los HSM aplican la regla de que no existe ninguna versión clara de una KEK fuera de un HSM de Key Vault.
  • La KEK debe estar en el mismo almacén de claves al que se va a importar la clave de destino.
  • Cuando el archivo BYOK se carga en Key Vault, los HSM de Key Vault usan la clave privada KEK para descifrar el material de la clave de destino e importarlo como una clave de HSM. Esta operación tiene lugar enteramente dentro de un HSM de Key Vault. La clave de destino siempre permanece en el límite de la protección de HSM.

Requisitos previos

En la tabla siguiente se enumeran los requisitos previos para el uso de BYOK en Azure Key Vault:

Requisito Más información
Una suscripción de Azure Para crear un almacén de claves en Azure Key Vault, se necesita una suscripción a Azure. Regístrese para una evaluación gratuita.
Una instancia de Key Vault Premium o HSM administrado para importar claves protegidas con HSM Para más información sobre los niveles de servicio y las funcionalidades de Azure Key Vault, visite la página Precios de Key Vault.
Un HSM de la lista de HSM admitidos y una herramienta BYOK, junto con las instrucciones que proporciona el proveedor de HSM. Debe tener permisos para un HSM y conocimientos básicos sobre cómo usarlo. Consulte los HSM compatibles.
La CLI de Azure, versión 2.1.0 o posterior Consulte Instalación de la CLI de Azure.

HSM compatibles

Nombre del proveedor Tipo de proveedor Modelos de HSM compatibles Más información
Cryptomathic ISV (sistema de administración de claves empresariales) Varias marcas y modelos de HSM, como
  • nCipher
  • Thales
  • Utimaco
Consulte el sitio de Cryptomathic para obtener más información.
Entrust Fabricante,
HSM como servicio
  • Familia nShield de HSM
  • nShield como servicio
Nueva herramienta BYOK y documentación de nCipher
Fortanix Fabricante,
HSM como servicio
  • Self-Defending Key Management Service (SDKMS)
  • Equinix SmartKey
Exportación de claves de SDKMS a proveedores de nube para BYOK: Azure Key Vault
IBM Fabricante IBM 476x, CryptoExpress IBM Enterprise Key Management Foundation
Marvell Fabricante Todos los HSM de LiquidSecurity con
  • versión de firmware 2.0.4 o posterior
  • versión de firmware 3.2 o posterior
Herramienta BYOK y documentación de Marvell
nCipher Fabricante,
HSM como servicio
  • Familia nShield de HSM
  • nShield como servicio
Nueva herramienta BYOK y documentación de nCipher
Securosys SA Fabricante,
HSM como servicio
Familia Primus HSM, Securosys Clouds HSM Herramienta y documentación de BYOK de Primus
StorMagic ISV (sistema de administración de claves empresariales) Varias marcas y modelos de HSM, como
  • Utimaco
  • Thales
  • nCipher
Consulte el sitio web de StorMagic para más información.
BYOK de SvKMS y Azure Key Vault
Thales Fabricante
  • Familia Luna HSM 7 con la versión del firmware 7.3 o posterior
Herramienta y documentación de Luna BYOK
Utimaco Fabricante,
HSM como servicio
u.trust Anchor, CryptoServer Guía de integración y herramienta BYOK de Utimaco

Tipos de clave admitidos

Nombre de clave Tipo de clave Tamaño o curva de la clave Origen Descripción
Clave de intercambio de claves (KEK) RSA 2048 bits
3072 bits
4096 bits
HSM de Azure Key Vault Un par de claves RSA respaldadas por HSM generado en Azure Key Vault.
Clave de destino
RSA 2048 bits
3072 bits
4096 bits
HSM del proveedor La clave que se va a transferir al HSM de Azure Key Vault.
EC P-256
P-384
P-521
HSM del proveedor La clave que se va a transferir al HSM de Azure Key Vault.

Generación y transferencia de la clave al HSM de Key Vault Premium o HSM administrado

Para generar y transferir la clave a Key Vault Premium o HSM administrado:

Generación de una KEK

Una KEK es una clave RSA que se genera en una instancia de Key Vault Premium o HSM administrado. La KEK se usa para cifrar la clave que quiere importar (la clave de destino).

La KEK debe:

  • Ser una clave RSA-HSM (2048 bits; 3072 bits; o 4096 bits)
  • Generarse en el mismo almacén de claves al que quiere importar la clave de destino
  • Crearse con las operaciones de clave permitidas establecidas en import

Nota:

La KEK debe tener "import" como la única operación de clave permitida. "import" es mutuamente excluyente con todas las demás operaciones de clave.

Use el comando az keyvault key create para crear una KEK que tenga operaciones de clave establecidas en import. Registre el identificador de clave (kid) que se devuelve con el siguiente comando (usará el valor kid en el paso 3).

az keyvault key create --kty RSA-HSM --size 4096 --name KEKforBYOK --ops import --vault-name ContosoKeyVaultHSM

Para HSM administrado:

az keyvault key create --kty RSA-HSM --size 4096 --name KEKforBYOK --ops import --hsm-name ContosoKeyVaultHSM

Descarga de la clave pública KEK

Use az keyvault key download para descargar la clave pública KEK en un archivo .pem. La clave de destino que importa se cifra mediante la clave pública KEK.

az keyvault key download --name KEKforBYOK --vault-name ContosoKeyVaultHSM --file KEKforBYOK.publickey.pem

Para HSM administrado:

az keyvault key download --name KEKforBYOK --hsm-name ContosoKeyVaultHSM --file KEKforBYOK.publickey.pem

Transfiera el archivo KEKforBYOK.publickey.pem al equipo sin conexión, ya que lo necesitará en el paso siguiente.

Generación y preparación de la clave para la transferencia

Consulte la documentación del proveedor del HSM para descargar e instalar la herramienta BYOK. Siga las instrucciones del proveedor de HSM para generar una clave de destino y, luego, cree un paquete de transferencia de claves (un archivo BYOK). La herramienta BYOK usará el valor de kid del paso 1 y el archivo KEKforBYOK.publickey.pem que descargó en el paso 2 para generar una clave de destino cifrada en un archivo BYOK.

Transfiera el archivo BYOK al equipo conectado.

Nota:

No se admite la importación de claves RSA de 1024 bits. Se admite la importación de la clave de curva elíptica con la curva P-256K.

Problema conocido: La importación de una clave de destino RSA 4K desde los HSM Luna solo se admite con el firmware 7.4.0 o una versión más reciente.

Transferencia de la clave a Azure Key Vault

Para completar la importación de claves, transfiera el paquete de transferencia de claves (un archivo BYOK) del equipo desconectado al equipo conectado a Internet. Use el comando az keyvault key import para cargar el archivo BYOK en el HMS de Key Vault.

Para importar una clave RSA, use el comando siguiente. Parámetro: KTY es opcional y su valor predeterminado es "RSA-HSM".

az keyvault key import --vault-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --byok-file KeyTransferPackage-ContosoFirstHSMkey.byok

Para HSM administrado

az keyvault key import --hsm-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --byok-file KeyTransferPackage-ContosoFirstHSMkey.byok

Para importar una clave EC, debe especificar el tipo de clave y el nombre de la curva.

az keyvault key import --vault-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --kty EC-HSM --curve-name "P-256" --byok-file KeyTransferPackage-ContosoFirstHSMkey.byok

Para HSM administrado

az keyvault key import --hsm-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --byok-file --kty EC-HSM --curve-name "P-256" KeyTransferPackage-ContosoFirstHSMkey.byok

Si la carga se realiza correctamente, la CLI de Azure muestra las propiedades de la clave importada.

Pasos siguientes

Ahora puede usar esta clave protegida con HSM en el almacén de claves. Para más información, vea esta comparación de precios y características.