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:
- Una suscripción a Microsoft Azure. Si no tiene una, puede registrarse para una evaluación gratuita.
- La CLI de Azure, versión 2.12.0 o posterior. Ejecute
az --version
para encontrar la versión. Si necesita instalarla o actualizarla, consulte Instalación de la CLI de Azure. - Un HSM administrado de la lista de HSM admitidos en su suscripción. Consulte Quickstart: Aprovisionamiento y activación de un HSM administrado mediante la CLI de Azure para aprovisionar y activar un HSM administrado.
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. | |
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador. | |
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal. |
Para usar Azure Cloud Shell:
Inicie Cloud Shell.
Seleccione el botón Copiar en un bloque de código (o bloque de comandos) para copiar el código o comando.
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.
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
|
|
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 |
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 |
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-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
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.