Importación de claves protegidas con HSM en HSM administrado (BYOK)

HSM administrado de Azure Key Vault admite la importación de claves generadas en su módulo de seguridad de hardware (HSM) local; las claves nunca quedarán fuera de la protección del HSM. Con frecuencia este escenario se conoce como Bring Your Own Key (BYOK). En HSM administrado se usan los adaptadores Marvell LiquidSecurity HSM (validados como FIPS 140-2 de nivel 3) 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 HSM administrado.

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 obtener más información y ver un tutorial con el que empezar a trabajar con HSM administrado, consulte ¿Qué es HSM administrado?.

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 HSM administrado, 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.
  • 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 administrado. Solo la versión cifrada de la clave sale del HSM local.
  • Las KEK generadas en un HSM administrado no se pueden exportar. Los HSM aplican la regla de que no existe ninguna versión clara de una KEK fuera de un HSM administrado.
  • La KEK debe estar en el mismo HSM administrado al que se va a importar la clave de destino.
  • Cuando el archivo BYOK se carga en HSM administrado, un HSM administrado usa 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 del HSM. La clave de destino siempre permanece en el límite de la protección de HSM.

Requisitos previos

Para usar los comandos de la CLI de Azure, debe tener los siguientes elementos:

Azure Cloud Shell

En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.

Para iniciar Azure Cloud Shell:

Opción Ejemplo o vínculo
Seleccione Pruébelo en la esquina superior derecha de un bloque de código o de comandos. Solo con seleccionar Pruébelo no se copia automáticamente el código o comando en Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador. Button to launch Azure Cloud Shell.
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal. Screenshot that shows the Cloud Shell button in the Azure portal

Para usar Azure Cloud Shell:

  1. Inicie Cloud Shell.

  2. Seleccione el botón Copiar en un bloque de código (o bloque de comandos) para copiar el código o comando.

  3. Pegue el código o comando en la sesión de Cloud Shell. Para ello, seleccione Ctrl+Mayús+V en Windows y Linux, o bien seleccione Cmd+Mayús+V en macOS.

  4. Seleccione Enter para ejecutar el código o comando.

Para iniciar sesión en Azure mediante la CLI, escriba:

az login

Para más información sobre las opciones de inicio de sesión mediante la CLI, consulte Inicio de sesión con 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
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-HSM 2048 bits
3072 bits
4096 bits
HSM administrado Un par de claves RSA respaldadas por HSM generado en HSM administrado
Clave de destino
RSA-HSM 2048 bits
3072 bits
4096 bits
HSM del proveedor La clave que se va a transferir al HSM administrado
EC-HSM P-256
P-384
P-521
HSM del proveedor La clave que se va a transferir al HSM administrado
Clave simétrica (oct-hsm) 128 bits
192 bits
256 bits
HSM del proveedor La clave que se va a transferir al HSM administrado

Generación y transferencia de la clave al HSM administrado

Para generar y transferir la clave a un HSM administrado:

Paso 1: Generación de una KEK

Una KEK es una clave RSA que se genera en un 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 HSM administrado 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 --hsm-name ContosoKeyVaultHSM

Paso 2: 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 --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.

Paso 3: 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 claves EC-HSM P256K.

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.

Paso 4: Transferencia de la clave a HSM administrado

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 administrado.

az keyvault key import --hsm-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --byok-file 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 HSM administrado. Para más información, vea esta comparativa de precios y características.