Migración del proveedor de almacenamiento de claves (KSP) del SDK de cliente 3 al SDK de cliente 5 de AWS CloudHSM. - AWS CloudHSM

Migración del proveedor de almacenamiento de claves (KSP) del SDK de cliente 3 al SDK de cliente 5 de AWS CloudHSM.

En este tema, se explica cómo migrar el proveedor de almacenamiento de claves (KSP) del SDK de cliente 3 al SDK de cliente 5 de AWS CloudHSM. La versión más reciente del SDK de cliente de AWS CloudHSM es la 5.16. Para obtener información sobre los beneficios de la migración, consulte Ventajas de Client SDK 5 de AWS CloudHSM.

En AWS CloudHSM, se usa el kit de desarrollo de software (SDK) de cliente de AWS CloudHSM para realizar operaciones criptográficas. El SDK de cliente 5 es el SDK principal que recibe nuevas características y actualizaciones de compatibilidad con la plataforma.

Para consultar las instrucciones de migración para todos los proveedores, consulte Migración de Client SDK 3 de AWS CloudHSM a Client SDK 5.

Migración a Client SDK 5

  1. Detenga el daemon de cliente para el SDK de cliente 3.

    PS C:\> Stop-Service "AWS CloudHSM Client"
  2. Instale el proveedor de almacenamiento de claves (KSP) del SDK de cliente 5 en la instancia de Windows Server. Para obtener instrucciones, consulte Instalación del proveedor de almacenamiento de claves (KSP) para SDK de cliente 5 de AWS CloudHSM.

  3. Configure el proveedor de almacenamiento de claves (KSP) del SDK de cliente 5 mediante el nuevo formato de archivo de configuración y la herramienta de inicialización por línea de comandos. Para obtener instrucciones, consulte Proceso de arranque del SDK de cliente.

  4. El proveedor de almacenamiento de claves (KSP) para el SDK de cliente 5 de AWS CloudHSM incluye un modo de compatibilidad con SDK 3 para admitir archivos de referencia de claves generados en SDK 3. Para obtener más información, consulte Modo de compatibilidad con SDK 3 para el proveedor de almacenamiento de claves (KSP) para AWS CloudHSM.

    nota

    Debe habilitar el modo de compatibilidad con SDK 3 cuando use archivos de referencia de claves generados con el SDK de cliente 3 junto con el SDK de cliente 5.

Migración a nuevas instancias de Windows Server

  1. Complete todos los pasos que se indican en Migración al SDK de cliente 5 en las nuevas instancias de Windows Server.

  2. Cómo comprobar la existencia de archivos de referencia de claves

    En la instancia original de Windows Server, compruebe la existencia de archivos de referencia de claves en C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition.

    • Si existen archivos de referencia de claves, copie todo el contenido bajo C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP, incluido GlobalPartition, en la misma ruta de directorio de la nueva instancia de Windows Server. Cree el directorio si no existe.

    • Si no existen archivos de referencia de claves, use cloudhsm-cli key generate-file --encoding ksp-key-reference en la nueva instancia de Windows Server para crearlos. Para obtener instrucciones, consulte Generación de referencias de claves KSP (Windows).

  3. Verificación del certificado raíz

    Revise el certificado raíz en las autoridades de certificación raíz confiables:

    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 el número de serie del certificado para usarlo en el siguiente paso.

  4. Exportación del certificado raíz

    Exportar el certificado raíz a un archivo:

    certutil -store Root certificate-serial-number root-certificate-name.cer
  5. Verificación del certificado de backend HSM

    Revise el certificado de backend HSM en el almacén de certificados personales.

    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 el número de serie del certificado para usarlo en el siguiente paso.

  6. Exportación del certificado de backend HSM

    Exportar el certificado de backend HSM a un archivo:

    certutil -store My certificate-serial-number signed-certificate-name.cer
  7. Importación del certificado raíz

    En la nueva instancia de Windows:

    1. Copie el archivo CA raíz a la nueva instancia de Windows

    2. Importe el certificado:

      certutil -addstore Root root-certificate-name.cer
  8. Verificación de la instalación del certificado raíz

    Confirme que el certificado raíz esté correctamente instalado.

    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. Importación del certificado de backend HSM

    En la nueva instancia de Windows:

    1. Copie el certificado de backend HSM en la nueva instancia de Windows

    2. Importe el certificado:

      certutil -addstore My signed-certificate-name.cer
  10. Verificación de la instalación del certificado de backend HSM

    Confirme que el certificado de backend HSM esté correctamente instalado:

    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 el número de serie del certificado para usarlo en los pasos posteriores.

  11. Creación de un archivo de referencia de claves (opcional)

    Complete este paso solo si necesita crear un nuevo archivo de referencia de claves. De lo contrario, continúe con el próximo paso.

    nota

    Esta característica solo está disponible en la versión 5.16.0 del SDK y posteriores.

    1. Instale OpenSSL y extraiga el módulo:

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

      El comando de OpenSSL genera el módulo en el formato: Modulus=modulus-value. Anote el valor del módulo para usarlo en el siguiente comando.

    2. Creación del archivo de referencia de claves con la CLI de CloudHSM. Consulte Generación de referencias de claves 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

      El valor del módulo en los argumentos del comando de la CLI de CloudHSM debe llevar el prefijo 0x para indicar el formato hexadecimal.

      Los archivos de referencia de claves se crean en C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition.

  12. Creación de la configuración de reparación

    Cree un archivo denominado repair.txt con el siguiente contenido:

    [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

    Reemplace key-container-name por el nombre del archivo de referencia de claves de C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition.

  13. Reparación del almacén de certificados

    Ejecute el comando de reparación:

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

    El número de serie del certificado se obtiene en los pasos anteriores al verificar la instalación del certificado de backend HSM.

  14. Verificación de la asociación del certificado.

    Confirme que el certificado esté correctamente asociado:

    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 que la salida muestre:

  15. Prueba de la aplicación

    Antes de completar la migración:

    1. Pruebe la aplicación en el entorno de desarrollo

    2. Actualice el código para resolver cualquier cambio incompatible

    3. Para obtener orientación específica de la aplicación, consulte Integración de las aplicaciones de terceros con AWS CloudHSM

Verificación de la migración

Después de completar los pasos de migración, verifique que:

  • Los certificados estén correctamente instalados en los almacenes de certificados correctos

  • Los archivos de referencia de claves estén presentes en la ubicación correcta

  • La aplicación pueda realizar operaciones criptográficas con los certificados migrados

Solución de problemas

Si tiene problemas durante la migración, compruebe lo siguiente:

  • Todos los certificados se hayan exportado correctamente del sistema de origen

  • Los números de serie de los certificados coincidan entre los sistemas

  • Los nombres de los contenedores de claves en el archivo repair.txt coincidan con los archivos de referencia de claves

  • El modo de compatibilidad con SDK 3 esté habilitado si usa archivos de referencia de claves generados con SDK 3

Temas relacionados