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
|
|
Entrust | Fabricante, HSM como servicio |
|
Nueva herramienta BYOK y documentación de nCipher |
Fortanix | Fabricante, HSM como servicio |
|
Exportación de claves de SDKMS a proveedores de nube para BYOK: Azure Key Vault |
Futurex | Fabricante, HSM como servicio |
|
Guía de integración de Futurex: Azure Key Vault |
IBM | Fabricante | IBM 476x, CryptoExpress | IBM Enterprise Key Management Foundation |
Marvell | Fabricante | Todos los HSM de LiquidSecurity con
|
Herramienta BYOK y documentación de Marvell |
nCipher | Fabricante, HSM 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
|
BYOK de SvKMS y Azure Key Vault |
Thales | Fabricante |
|
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:
- Paso 1: Generación de una KEK
- Paso 2: Descarga de la clave pública KEK
- Paso 3: Generación y preparación de la clave para la transferencia
- Paso 4: Transferencia de la clave a Azure Key Vault
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.