Extracción de claves mediante JCE - AWS CloudHSM

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Extracción de claves mediante JCE

La extensión de criptografía de Java (JCE) utiliza una arquitectura que permite conectar diferentes implementaciones de criptografía. AWS CloudHSM envía uno de esos proveedores de JCE que descarga las operaciones criptográficas al HSM. Para que la mayoría de los demás proveedores de JCE trabajen con claves almacenadas en AWS CloudHSM, deben extraer los bytes de clave de los HSM en texto claro y guardarlos en la memoria de la máquina para su uso. Por lo general, los HSM solo permiten extraer las claves como objetos encapsulados, no como texto transparente. Sin embargo, para respaldar los casos de uso de la integración entre proveedores, AWS CloudHSM permite una opción de configuración opcional que permite extraer los bytes clave de forma transparente.

importante

JCE descarga las operaciones a AWS CloudHSM cada vez que se especifique el proveedor de AWS CloudHSM o se utilice un objeto clave. AWS CloudHSM No necesita extraer las claves sin cifrar si espera que la operación se lleve a cabo dentro del HSM. La extracción de claves en texto no cifrado solo es necesaria cuando la aplicación no puede utilizar mecanismos seguros, como encapsular y desencapsular una clave, debido a las restricciones de una biblioteca externa o de un proveedor de JCE.

De forma predeterminada, el proveedor de AWS CloudHSM JCE permite la extracción de claves públicas para que funcionen con proveedores de JCE externos. Siempre se permiten los siguientes métodos:

Clase Método Formato (GetEncoded)
EcPublicKey getEncoded() X.509
getW() N/A
RSA PublicKey getEncoded() X.509
getPublicExponent() N/A
CloudHsmRsaPrivateCrtKey getPublicExponent() N/A

De forma predeterminada, el proveedor de AWS CloudHSM JCE no permite la extracción de los bytes de clave en blanco para las claves privadas o secretas. Si su caso de uso lo requiere, puede habilitar la extracción de los bytes de claves sin cifrar para claves privadas o secretas en las siguientes condiciones:

  1. El atributo EXTRACTABLE para claves privadas y secretas se establece como true.

    • De forma predeterminada, el atributo EXTRACTABLE de las claves privadas y secretas está establecido como true. Las claves de EXTRACTABLE son claves que se pueden exportar fuera del HSM. Para obtener más información, consulte Atributos de Java admitidos para SDK 5 de cliente.

  2. El atributo WRAP_WITH_TRUSTED para claves privadas y secretas se establece en false.

Permitir que el proveedor de AWS CloudHSM JCE extraiga secretos de claves privadas de AWS CloudHSM

importante

Este cambio de configuración permite extraer todos los bytes de claves EXTRACTABLE sin procesar del clúster de HSM. Para mejorar la seguridad, debería considerar la posibilidad de utilizar métodos de encapsulamiento de claves para extraer la clave del HSM de forma segura. Esto evita la extracción involuntaria de los bytes clave del HSM.

  1. Utilice los siguientes comandos para permitir que sus claves privadas o secretas se extraigan en JCE:

    Linux
    $ /opt/cloudhsm/bin/configure-jce --enable-clear-key-extraction-in-software
    Windows
    C:\Program Files\Amazon\CloudHSM\> .\configure-jce.exe --enable-clear-key-extraction-in-software
  2. Una vez que habilite la extracción de claves sin cifrar, se habilitarán los siguientes métodos para extraer las claves privadas de la memoria.

    Clase Método Formato (GetEncoded)
    Clave getEncoded() RAW
    EC PrivateKey getEncoded() PKCS #8
    getS() N/A
    RSA PrivateCrtKey getEncoded() X.509
    getPrivateExponent() N/A
    getPrimeP() N/A
    getPrimeQ() N/A
    getPrimeExponent(P) N/A
    getPrimeExponentQ () N/A
    getCrtCoefficient() N/A

Si quiere restaurar el comportamiento predeterminado y no permitir que JCE exporte las claves en formato sin cifrar, ejecute el siguiente comando:

Linux
$ /opt/cloudhsm/bin/configure-jce --disable-clear-key-extraction-in-software
Windows
C:\Program Files\Amazon\CloudHSM\> .\configure-jce.exe --disable-clear-key-extraction-in-software