Integración mediante KMIP
HSM es compatible con el protocolo KMIP(Key Management Interoperability Protocol) en su versión 1.4 con los siguientes perfiles:
- Servidor base
- Servidor de ciclo de vida de claves simétricas
- Servidor Symmetric Key Foundry
- Servidor de ciclo de vida de claves asimétricas
- Servidor criptográfico básico
- Servidor criptográfico avanzado
El puerto utilizado es el TCP 5696.
La codificación de los mensajes debe utilizar el esquema TTLV(Tag, Type, Length, Value). Como se describe en la especificación, este esquema está diseñado para minimizar el uso de ciclos de CPU y memoria en los clientes que codifican y decodifican mensajes KMIP, así como para generar una alineación optimizada para procesadores de 32 y 64 bits. Minimizar el uso de ancho de banda en el mecanismo de transporte es una preocupación secundaria.
Para establecer una sesión KMIP sobre TLS, el usuario propietario de la partición en el HSM debe estar configurado para TFA (autenticación de dos factores) mediante certificados x.509.
Información
Los detalles de configuración del cliente KMIP con los ajustes de dirección y puerto del HSM, las rutas de los archivos de certificados y claves, las credenciales de usuario del HSM, etc., deben realizarse de acuerdo con la documentación facilitada por el fabricante o desarrollador del software cliente KMIP.
Algunos requisitos son necesarios:
- con la clave privada del usuario (p. ej:
rsa2k.pem
), para uso de cliente KMIP. - con el certificado X.509 del usuario (p. ej:
rsa2k_cert.pem
), para uso de cliente KMIP y HSM. - con el certificado TLS de HSM (por ejemplo
hsm_cert.pem
), para uso de cliente KMIP.
La generación de la clave privada del usuario y de los archivos de certificados X.509 queda fuera de este ámbito.
El certificado TLS de HSM (servidor KMIP) puede obtenerse utilizando el hsmcon
:
hsmcon 127.0.0.1 -g hsm_cert.pem
Información
HSM genera un nuevo certificado TLS autofirmado en cada reinicio cuando no está configurado con un par clave-certificado específico.
HSM no funciona con respuestas asíncronas (desde el punto de vista del protocolo y de la sesión). Se mantiene la misma conexión durante todo el proceso.
Para preparar el usuario HSM para que lo utilice el software KMIP, siga los pasos que se indican a continuación.
-
Edita los atributos del usuario para usar TFA.
Menú de atributos de usuarioDinamo - Remote Management Console v. 4.7.33.52 2018 (c) Dinamo Networks HSM 127.0.0.1 e - Engine 5.0.28.0 (DCD) - TCA0000000 - ID master Users - Attributes User ID: ukmip Type - Operator Blocked - no Partition MxN auth - no Two Factor Auth - no Change: 1 - Type 2 - Block 3 - Two Factor Authentication 0 - Main Menu Option : 3_
-
Indique el archivo x.509 que se utilizará.
El cliente KMIP también debe tener acceso a la clave privada correspondiente al certificado x.509 proporcionado.
Conjunto de atributos de usuario con TFA X.509Dinamo - Remote Management Console v. 4.7.33.52 2018 (c) Dinamo Networks HSM 127.0.0.1 e - Engine 5.0.28.0 (DCD) - TCA0000000 - ID master Users - Attributes User ID: ukmip Set Two Factor Authentication (y/[n]): y Type: 1 - OATH OTP Event 2 - OATH OTP Time 3 - X.509 Option : 3 X.509 input file (local) : rsa2k_cert.pem Two Factor Authentication for user 'ukmip' successfully set. Press ENTER key to continue...
-
Pruebe el acceso del usuario al HSM utilizando TFA con el certificado.
El archivo de clave privada del usuario debe estar disponible.
Acceso a HSM de usuario con TFA X.509hsmcon 127.0.0.1 ukmip -pri rsa2k.pem -pri_cer rsa2k_cert.pem -hsm_cer hsm_cert.pem
Operaciónpor lotes
En sección 6.4 del documento KMIP el campo ID único de lote
se define como OPCIONAL y sección 7.2, Tabla 283 - Estructura de los elementos del lote de solicitudes esta partida se define como REQUERIDO cuando Recuento de lotes > 1.
Si el cliente KMIP se comunica con el HSM no cumple este requisito de la norma recibirá el código de error MISSING-DATA
en la respuesta.
Atención
Nota: se sabe que algunas versiones de la implementación del cliente PyKMIP tienen este fallo.