Ir al contenido

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:

Descargar el certificado HSM
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.

  1. Edita los atributos del usuario para usar TFA.

    Menú de atributos de usuario
    Dinamo - 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_
    
  2. 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.509
    Dinamo - 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...
    
  3. 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.509
    hsmcon 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.