Mecanismos compatibles con el proveedor de JCE para Client SDK 3 de AWS CloudHSM - AWS CloudHSM

Mecanismos compatibles con el proveedor de JCE para Client SDK 3 de AWS CloudHSM

En este tema, se proporciona información sobre los mecanismos compatibles con el proveedor de JCE con Client SDK 5 del AWS CloudHSM. Para obtener más información acerca de las interfaces y clases de motor del estándar JCA (Java Cryptography Architecture) admitidas por AWS CloudHSM, consulte los siguientes temas.

Generación de funciones de claves y pares de claves

La biblioteca de software de AWS CloudHSM para Java le permite utilizar las siguientes operaciones para generar funciones de clave y de key pair.

  • RSA

  • EC

  • AES

  • DESede (Triple DES)consulte la nota 1

  • GenericSecret

Funciones de cifrado

La biblioteca de software de AWS CloudHSM para Java es compatible con las siguientes combinaciones de algoritmos, modos y rellenos.

Algoritmo Mode Rellenado Notas
AES CBC

AES/CBC/NoPadding

AES/CBC/PKCS5Padding

Implementa Cipher.ENCRYPT_MODE y Cipher.DECRYPT_MODE.

Implementa Cipher.UNWRAP_MODE for AES/CBC NoPadding

AES ECB

AES/ECB/PKCS5Padding

AES/ECB/NoPadding

Implementa Cipher.ENCRYPT_MODE y Cipher.DECRYPT_MODE.

AES CTR

AES/CTR/NoPadding

Implementa Cipher.ENCRYPT_MODE y Cipher.DECRYPT_MODE.

AES GCM

AES/GCM/NoPadding

Implementa Cipher.WRAP_MODE, Cipher.UNWRAP_MODE, Cipher.ENCRYPT_MODE y Cipher.DECRYPT_MODE.

Al realizar el cifrado AES-GCM, el HSM no tiene en cuenta el vector de inicialización (IV) de la solicitud y utiliza un IV que él mismo genera. Una vez que se ha completado la operación, deberá llamar a Cipher.getIV() para obtener el IV.

AESWrap ECB

AESWrap/ECB/NoPadding

AESWrap/ECB/PKCS5Padding

AESWrap/ECB/ZeroPadding

Implementa Cipher.WRAP_MODE y Cipher.UNWRAP_MODE.

DESede (Triple DES) CBC

DESede/CBC/PKCS5Padding

DESede/CBC/NoPadding

Implementa Cipher.ENCRYPT_MODE y Cipher.DECRYPT_MODE. Consulte la nota 1 que aparece a continuación para ver los próximos cambios.

DESede (Triple DES) ECB

DESede/ECB/NoPadding

DESede/ECB/PKCS5Padding

Implementa Cipher.ENCRYPT_MODE y Cipher.DECRYPT_MODE. Consulte la nota 1 que aparece a continuación para ver los próximos cambios.

RSA ECB

RSA/ECB/PKCS1Paddingconsulte la nota 1

RSA/ECB/OAEPPadding

RSA/ECB/OAEPWithSHA-1ANDMGF1Padding

RSA/ECB/OAEPWithSHA-224ANDMGF1Padding

RSA/ECB/OAEPWithSHA-256ANDMGF1Padding

RSA/ECB/OAEPWithSHA-384ANDMGF1Padding

RSA/ECB/OAEPWithSHA-512ANDMGF1Padding

Implementa Cipher.WRAP_MODE, Cipher.UNWRAP_MODE, Cipher.ENCRYPT_MODE y Cipher.DECRYPT_MODE.

RSA ECB

RSA/ECB/NoPadding

Implementa Cipher.ENCRYPT_MODE y Cipher.DECRYPT_MODE.

RSAAESWrap ECB

RSAAESWrap/ECB/OAEPPadding

RSAAESWrap/ECB/OAEPWithSHA-1ANDMGF1Padding

RSAAESWrap/ECB/OAEPWithSHA-224ANDMGF1Padding

RSAAESWrap/ECB/OAEPWithSHA-256ANDMGF1Padding

RSAAESWrap/ECB/OAEPWithSHA-384ANDMGF1Padding

RSAAESWrap/ECB/OAEPWithSHA-512ANDMGF1Padding

Implementa Cipher.WRAP_MODE y Cipher.UNWRAP_MODE.

Firma y comprobación de las funciones

La biblioteca de software de AWS CloudHSM para Java es compatible con los siguientes tipos de firmas y de verificación. Con el SDK 5 de cliente y los algoritmos de firma con hash, los datos se codifican localmente en el software antes de enviarlos al HSM para su firma o comprobación. Esto significa que no hay límite en cuanto al tamaño de los datos que el SDK puede codificar.

Tipos de firma RSA

  • NONEwithRSA

  • RSASSA-PSS

  • SHA1withRSA

  • SHA1withRSA/PSS

  • SHA1withRSAandMGF1

  • SHA224withRSA

  • SHA224withRSAandMGF1

  • SHA224withRSA/PSS

  • SHA256withRSA

  • SHA256withRSAandMGF1

  • SHA256withRSA/PSS

  • SHA384withRSA

  • SHA384withRSAandMGF1

  • SHA384withRSA/PSS

  • SHA512withRSA

  • SHA512withRSAandMGF1

  • SHA512withRSA/PSS

Tipos de firma ECDSA

  • NONEwithECDSA

  • SHA1withECDSA

  • SHA224withECDSA

  • SHA256withECDSA

  • SHA384withECDSA

  • SHA512withECDSA

Funciones Digest

La biblioteca de software de AWS CloudHSM para Java es compatible con los siguientes resúmenes de mensajes. Con SDK 5 de cliente, los datos se codifican localmente en el software. Esto significa que no hay límite en cuanto al tamaño de los datos que el SDK puede codificar.

  • SHA-1

  • SHA-224

  • SHA-256

  • SHA-384

  • SHA-512

Funciones de código de autenticación de mensajes basado en hash (HMAC).

La biblioteca de software de AWS CloudHSM para Java es compatible con los siguientes algoritmos de HMAC.

  • HmacSHA1 (Tamaño máximo de datos en bytes: 16288)

  • HmacSHA224 (Tamaño máximo de datos en bytes: 16256)

  • HmacSHA256 (Tamaño máximo de datos en bytes: 16288)

  • HmacSHA384 (Tamaño máximo de datos en bytes: 16224)

  • HmacSHA512 (Tamaño máximo de datos en bytes: 16224)

Funciones de código de autenticación de mensajes basados en cifrado (CMAC)

Los CMAC (códigos de autenticación de mensajes basados en cifrado) crean códigos de autenticación de mensajes (MAC) mediante un cifrado por bloques y una clave secreta. Se diferencian de los HMAC en que utilizan un método de clave simétrica de bloques para los MAC, en lugar de un método de hash.

La biblioteca de software de AWS CloudHSM para Java es compatible con los siguientes algoritmos de CMAC.

  • AESCMAC

Conversión de las claves en especificaciones clave con generadores de claves

Puede utilizar los generadores de claves para convertir las claves en especificaciones de claves. AWS CloudHSM tiene dos tipos de generadores de claves para JCE:

SecretKeyFactory: se utiliza para importar o derivar claves simétricas. Con SecretKeyFactory, puede pasar una clave compatible o una KeySpec compatible para importar o derivar claves simétricas AWS CloudHSM. Las siguientes son las especificaciones compatibles con KeyFactory:

  • Para el método generateSecret de SecretKeyFactory, se admiten las siguientes clases de KeySpec:

    • KeyAttributesMap se puede usar para importar bytes de claves con atributos adicionales como una clave de CloudHSM. Puede encontrar un ejemplo aquí.

    • SecretKeySpec se puede usar para importar una especificación de clave simétrica como clave de CloudHSM.

    • Se puede usar AesCmacKdfParameterSpec para derivar claves simétricas mediante otra clave AES de CloudHSM.

nota

El método translateKey de SecretKeyFactory utiliza cualquier clave que implemente la interfaz de la clave.

KeyFactory: se utiliza para importar claves asimétricas. Con KeyFactory, puede pasar una clave compatible o una KeySpec compatible para importar una clave asimétrica en AWS CloudHSM. Para obtener más información, consulte los siguientes recursos:

  • Para el método generatePublic de KeyFactory, se admiten las siguientes clases de KeySpec:

  • KeyAttributesMap de CloudHSM para los tipos de clave de RSA y EC, que incluyen:

  • Para el método generatePrivate de KeyFactory, se admiten las siguientes clases de KeySpec:

  • KeyAttributesMap de CloudHSM para los tipos de clave de RSA y EC, que incluyen:

Para el método translateKey de KeyFactory, incluye cualquier clave que implemente la interfaz clave.

Notas del mecanismo

[1] De acuerdo con las directrices del NIST, esto no se permite en los clústeres en modo FIPS después de 2023. En el caso de los clústeres en modo no FIPS, seguirá siendo posible después de 2023. Para obtener más información, consulte Cumplimiento de la normativa FIPS 140: anulación de mecanismo 2024.