Migrar seu Provedor de armazenamento de chaves (KSP) do Client SDK 3 do AWS CloudHSM para o Client SDK 5 - AWS CloudHSM

Migrar seu Provedor de armazenamento de chaves (KSP) do Client SDK 3 do AWS CloudHSM para o Client SDK 5

Este tópico explica como migrar seu Provedor de armazenamento de chaves (KSP) do Client SDK 3 do AWS CloudHSM para o Client SDK 5 A versão mais recente do Client SDK do AWS CloudHSM é a 5.16. Para obter informações sobre os benefícios da migração, consulte Benefícios do Client SDK 5 do AWS CloudHSM.

No AWS CloudHSM, você usa o Kit de Desenvolvimento de Software (SDK) do Cliente do AWS CloudHSM para realizar operações criptográficas. O Client SDK 5 é o SDK principal que recebe novos atributos e atualizações de suporte de plataforma.

Para obter as instruções de migração para todos os provedores, consulte Migrar do Client SDK 3 do AWS CloudHSM para o Client SDK 5.

Migrar para o Client SDK 5

  1. Pare o Client Daemon para o Client SDK 3.

    PS C:\> Stop-Service "AWS CloudHSM Client"
  2. Instale o Provedor de armazenamento de chaves (KSP) do Client SDK 5 na sua instância do Windows Server. Para instruções, consulte Instalar o provedor de armazenamento de chaves (KSP) para o AWS CloudHSM Client SDK 5.

  3. Configure seu Provedor de armazenamento de chaves (KSP) do Client SDK 5 usando o novo formato de arquivo de configuração e a ferramenta de inicialização de linha de comando. Para instruções, consulte Bootstrap o Client SDK.

  4. O Provedor de armazenamento de chaves (KSP) para o Client SDK 5 do AWS CloudHSM inclui o modo de compatibilidade do SDK3 para oferecer suporte aos principais arquivos de referência gerados no SDK3. Para obter mais informações, consulte Modo de compatibilidade do SDK3 para Provedor de armazenamento de chaves (KSP) para AWS CloudHSM.

    nota

    Você deve ativar o modo de compatibilidade do SDK3 ao usar os arquivos de referência de chave gerados pelo Client SDK 3 com o Client SDK 5.

Migrar para novas instâncias do Windows Server

  1. Conclua todas as etapas em Migrar para o Client SDK 5 em suas novas instâncias do Windows Server.

  2. Verificar arquivos de referência de chaves existentes

    Em sua instância original do Windows Server, verifique os arquivos de referência chave em C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition.

    • Se existirem arquivos de referência chave, copie todo o conteúdo em C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP incluindo GlobalPartition, para o mesmo caminho de diretório na sua nova instância do Windows Server. Crie o diretório, caso ele ainda não exista.

    • Se os arquivos de referência chave não existirem, use cloudhsm-cli key generate-file --encoding ksp-key-reference em sua nova instância do Windows Server para criá-los. Para instruções, consulte Gerar referências de chave KSP (Windows).

  3. Verificar um certificado raiz

    Verifique seu certificado raiz nas autoridades de certificação raiz confiáveis:

    PS C:\Users\Administrator\Desktop> certutil -store Root Root "Trusted Root Certification Authorities" ================ Certificate 0 ================ Serial Number: certificate-serial-number Issuer: CN=MYRootCA NotBefore: 2/5/2020 1:38 PM NotAfter: 2/5/2021 1:48 PM Issuer: CN=MYRootCA Signature matches Public Key Root Certificate: Subject matches Issuer Cert Hash(sha1): cert-hash No key provider information Cannot find the certificate and private key for decryption. CertUtil: -store command completed successfully.
    nota

    Anote o número de série do certificado para uso na próxima etapa.

  4. Exportar um certificado raiz

    Exporte o certificado raiz para um arquivo:

    certutil -store Root certificate-serial-number root-certificate-name.cer
  5. Verificar o certificado de backend do HSM

    Verifique seu certificado de backend do HSM no repositório de certificados pessoais:

    PS C:\Users\Administrator\Desktop> certutil -store My my "Personal" ================ Certificate 0 ================ Serial Number: certificate-serial-number Issuer: CN=MYRootCA NotBefore: 2/5/2020 1:38 PM NotAfter: 2/5/2021 1:48 PM Subject: CN=www.mydomain.com, OU=Certificate Management, O=Information Technology, L=Houston, S=Texas, C=US Non-root Certificate Cert Hash(sha1): cert-hash Key Container = key-container-name Provider = Cavium Key Storage Provider Private key is NOT exportable Encryption test passed CertUtil: -store command completed successfully.
    nota

    Anote o número de série do certificado para uso na próxima etapa.

  6. Exportar certificado de backend do HSM

    Exporte o certificado de backend do HSM para um arquivo:

    certutil -store My certificate-serial-number signed-certificate-name.cer
  7. Importar um certificado raiz

    Na sua nova instância do Windows:

    1. Copie o arquivo CA raiz para sua nova instância do Windows

    2. Importe o certificado:

      certutil -addstore Root root-certificate-name.cer
  8. Verificar a instalação do certificado raiz

    Confirme se o certificado raiz foi instalado corretamente:

    PS C:\Users\Administrator\Desktop> certutil -store Root Root "Trusted Root Certification Authorities" ================ Certificate 0 ================ Serial Number: certificate-serial-number Issuer: CN=MYRootCA NotBefore: 2/5/2020 1:38 PM NotAfter: 2/5/2021 1:48 PM Issuer: CN=MYRootCA Signature matches Public Key Root Certificate: Subject matches Issuer Cert Hash(sha1): cert-hash No key provider information Cannot find the certificate and private key for decryption. CertUtil: -store command completed successfully.
  9. Importar um certificado de backend do HSM

    Na sua nova instância do Windows:

    1. Copie o certificado de backend do HSM para sua nova instância do Windows

    2. Importe o certificado:

      certutil -addstore My signed-certificate-name.cer
  10. Verificar a instalação do certificado de backend do HSM

    Confirme se o certificado de backend do HSM foi instalado corretamente:

    PS C:\Users\Administrator\Desktop> certutil -store My my "Personal" ================ Certificate 0 ================ Serial Number: certificate-serial-number Issuer: CN=MYRootCA NotBefore: 2/5/2020 1:38 PM NotAfter: 2/5/2021 1:48 PM Subject: CN=www.mydomain.com, OU=Certificate Management, O=Information Technology, L=Houston, S=Texas, C=US Non-root Certificate Cert Hash(sha1): cert-hash No key provider information Cannot find the certificate and private key for decryption. CertUtil: -store command completed successfully.
    nota

    Anote o número de série do certificado para uso nas próximas etapas.

  11. Criar um arquivo de referência de chaves (opcional)

    Conclua esta etapa somente se precisar criar um novo arquivo de referência de chave. Caso contrário, siga para a próxima etapa.

    nota

    Esse atributo só está disponível no SDK versão 5.16.0 e posterior.

    1. Instale o OpenSSL e extraia o módulo:

      openssl x509 -in signed-certificate-name.cer -modulus -noout
      nota

      O comando OpenSSL gera o módulo no formato: Modulus=modulus-value. Anote o valor modulus-value para uso no próximo comando.

    2. Crie um arquivo de referência chave com a CloudHSM CLI, consulte: Gerar referências de chave KSP (Windows)

      & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" key generate-file --encoding ksp-key-reference --filter attr.class=private-key attr.modulus=0xmodulus-value
      nota

      O modulus-value nos argumentos do comando da CloudHSM CLI deve ser prefixado com 0x para indicar o formato hexadecimal.

      Os principais arquivos de referência são criados em C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition.

  12. Criar configuração de restauração

    Crie um arquivo chamado repair.txt com o seguinte conteúdo:

    [Properties] 11 = "" ; Add friendly name property 2 = "{text}" ; Add Key Provider Information property _continue_="Container=key-container-name&" _continue_="Provider=Cavium Key Storage Provider&" _continue_="Flags=0&" _continue_="KeySpec=2"
    nota

    Substitua key-container-name pelo nome do arquivo de referência chave de C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition.

  13. Reparar o armazenamento de certificados

    Execute o comando repair:

    certutil -repairstore My certificate-serial-number repair.txt
    nota

    O número de série do certificado é obtido nas etapas anteriores ao verificar a instalação do certificado de backend do HSM.

  14. Verificar uma associação de certificados

    Confirme se o certificado foi associado corretamente:

    PS C:\Users\Administrator\Desktop> certutil -store My my "Personal" ================ Certificate 0 ================ Serial Number: certificate-serial-number Issuer: CN=MYRootCA NotBefore: 2/5/2020 1:38 PM NotAfter: 2/5/2021 1:48 PM Subject: CN=www.mydomain.com, OU=Certificate Management, O=Information Technology, L=Houston, S=Texas, C=US Non-root Certificate Cert Hash(sha1): cert-hash Key Container = key-container-name Provider = Cavium Key Storage Provider Private key is NOT exportable ERROR: Could not verify certificate public key against private key CertUtil: -store command completed successfully.

    Verifique se a saída mostra:

  15. Testar a aplicação

    Antes de concluir a migração:

    1. Teste sua aplicação em seu ambiente de desenvolvimento.

    2. Atualize seu código para resolver quaisquer alterações importantes

    3. Para obter orientação específica da aplicação, consulte Integrar aplicativos de terceiros com AWS CloudHSM

Verificar a migração

Depois de concluir as etapas de migração, verifique se:

  • Seus certificados estão instalados corretamente nos repositórios de certificados corretos

  • Os principais arquivos de referência estão presentes no local correto

  • Sua aplicação pode realizar operações criptográficas usando os certificados migrados

Solução de problemas

Se você encontrar problemas durante a migração, verifique:

  • Todos os certificados são exportados corretamente do sistema de origem

  • Os números de série do certificado coincidem entre os sistemas

  • Os nomes dos contêineres principais no arquivo repair.txt correspondem aos seus arquivos de referência de chave

  • O modo de compatibilidade do SDK3 é ativado se estiver usando arquivos de referência de chave gerados pelo SDK3

Tópicos relacionados