KMIP
O HSM suporta o protocolo KMIP (Key Management Interoperability Protocol) na versão 1.4 com os seguintes perfis:
Baseline Server
Symmetric Key Lifecycle Server
Symmetric Key Foundry Server
Asymmetric Key Lifecycle Server
Basic Cryptographic Server
Advanced Cryptographic Server
A porta utilizada é a TCP 5696.
O encoding das mensagens deve usar o esquema TTLV (Tag, Type, Length, Value). Conforme descrito na especificação este esquema é projetado para minimizar o uso de ciclos de CPU e memória nos clients que fazem encode e decode das mensagens KMIP, alem de gerar um alinhamento otimizado para processadores de 32-bit e 64-bit. Minimizar o uso de banda sobre o mecanismo de transporte é uma preocupação secundária.
Para estabelecer uma sessão KMIP sobre TLS o usuário dono da partição no HSM deverá estar configurado para autenticação com segundo fator (TFA: Two Factor Authentication) usando certificados x.509.
Alguns requisitos são necessários:
arquivo com a chave privada do usuário (ex:
rsa2k.pem
), para uso pelo client KMIP.arquivo com o certificado X.509 do usuário (ex:
rsa2k_cert.pem
), para uso pelo client KMIP e pelo HSM.arquivo com o certificado de TLS do HSM (ex:
hsm_cert.pem
), para uso pelo client KMIP.
A geração dos arquivos de chave privada e do certificado X.509 do usuário está fora deste escopo.
O certificado de TLS do HSM (server KMIP) pode ser obtido usando o utilitário hsmcon
:
O HSM gera um novo certificado de TLS auto-assinado a cada reboot quando não está configurado com um par chave-certificado específico.
Os detalhes de configuração do client KMIP com definições de endereço e porta do HSM, paths dos arquivos de certificados e chave, credenciais do usuário do HSM entre outras deve ser feita conforme a documentação fornecida pelo fabricante ou desenvolvedor do software client KMIP.
O HSM não trabalha com respostas assíncronas (do ponto de vista do protocolo e da sessão). A mesma conexão é mantida durante todo o processo.
Para preparar o usuário do HSM para ser utilizado pelo software KMIP siga os passos abaixo.
Edite os atributos do usuário para usar TFA.
Indique o arquivo x.509 que será usado.
O client KMIP deverá ter acesso também à chave privada correspondente ao certificado x.509 informado.
Testar o acesso do usuário ao HSM usando TFA com o certificado.
O arquivo de chave privada do usuário deve estar disponível.
Operação em lote (batch)
Na seção 6.4 do documento KMIP o campo Unique Batch Item ID
é definido como OPCIONAL e na seção 7.2, Tabela 283 - Request Batch Item Structure este item é definido como REQUIRED quando Batch Count > 1.
Caso o cliente KMIP comunicando com o HSM não esteja aderente a este requisito da norma irá receber o código de erro MISSING-DATA
na resposta.
Obs: algumas versões da implementação cliente PyKMIP reconhecidamente tem esta falha.
Last updated