View a markdown version of this page

Mecanismos compatibles con el proveedor de JCE para AWS CloudHSM SDK 5 de cliente - 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.

Mecanismos compatibles con el proveedor de JCE para AWS CloudHSM SDK 5 de cliente

En este tema se proporciona información sobre los mecanismos compatibles con el proveedor de JCE con el AWS CloudHSM Client SDK 5. Para obtener información sobre las interfaces de la arquitectura criptográfica de Java (JCA) y las clases de motor que admite AWS CloudHSM, consulte los temas siguientes.

Generación de funciones de claves y pares de claves

La biblioteca de AWS CloudHSM software para Java permite utilizar las siguientes operaciones para generar funciones de clave y par de claves.

  • RSA

  • EC

  • EdDSA (Ed25519)consulte la nota 2

  • ML-DSA

  • AES

  • DESede (Triple DES)consulte la nota 1

  • GenericSecret

Funciones de cifrado

La biblioteca de AWS CloudHSM software para Java admite las siguientes combinaciones de algoritmos, modos y relleno.

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 AES-GCM cifrado, el HSM ignora el vector de inicialización (IV) de la solicitud y utiliza un IV que 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 AWS CloudHSM de software de Java admite los siguientes tipos de firma y verificación. Con el SDK de cliente 5 y los algoritmos de firma con función hash, los datos se codifican localmente en el software antes de enviarlos al HSM para su procesamiento. signature/verification Esto significa que no hay límite en cuanto al tamaño de los datos que el SDK puede codificar.

Tipos de firmas 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 firmas ECDSA

  • NONEwithECDSA

  • SHA1withECDSA

  • SHA224withECDSA

  • SHA256withECDSA

  • SHA384withECDSA

  • SHA512withECDSA

ML-DSA tipos de firma

  • ML-DSA

  • ML-DSA-44

  • ML-DSA-65

  • ML-DSA-87

  • ML-DSA-EXTERNAL-MU

Tipos de firmas de EdDSA, consulte la nota 2

  • Ed25519o EdDSA (Tamaño máximo de datos: 16.000 bytes)

  • Ed25519ph

Funciones Digest

La biblioteca AWS CloudHSM de software para Java admite 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

Hash-based funciones de código de autenticación de mensajes (HMAC)

La biblioteca AWS CloudHSM de software para Java admite los siguientes algoritmos 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)

Cipher-based funciones de código de autenticación de mensajes (CMAC)

Los CMAC (códigos de autenticación de Cipher-based mensajes) crean códigos de autenticación de mensajes (MAC) mediante un cifrado de 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 AWS CloudHSM de software para Java admite los siguientes algoritmos CMAC.

  • AESCMAC

Funciones de acuerdo de claves

La biblioteca AWS CloudHSM de software para Java admite el ECDH con funciones de derivación de claves (KDF). Se admiten los siguientes tipos de KDF:

  • ECDHwithX963SHA1KDFEs compatible con el algoritmo SHA1 X9.63 de KDF 3

  • ECDHwithX963SHA224KDFSoporta el algoritmo X9.63 KDF SHA224 3

  • ECDHwithX963SHA256KDFSoporta el algoritmo X9.63 KDF SHA256 3

  • ECDHwithX963SHA384KDFSoporta el algoritmo X9.63 KDF SHA384 3

  • ECDHwithX963SHA512KDFSoporta el algoritmo X9.63 KDF SHA512 3

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

Puede utilizar fábricas de claves para convertir las claves en especificaciones clave. AWS CloudHSM tiene dos tipos de fábricas clave para JCE:

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

  • Se admiten las siguientes KeySpec clases SecretKeyFactory del generateSecret método For:

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

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

    • AesCmacKdfParameterSpecse puede usar para derivar claves simétricas con otra clave AES de CloudHSM.

nota

SecretKeyFactoryEl translateKey método utiliza cualquier clave que implemente la interfaz de claves. https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/security/Key.html

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

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

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

ML-DSA limitación de importación de claves

AWS CloudHSM no admite la importación de ML-DSA claves mediante KeyFactory (generatePublicygeneratePrivate). Para usar ML-DSA claves, genérelas directamente en el HSM mediante. KeyPairGenerator ML-DSA KeyFactorySoporta la exportación de claves públicas usando getKeySpec (returnsX509EncodedKeySpec).

KeyFactoryEl translateKey método de For, acepta cualquier clave que implemente la interfaz de claves.

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.

[2] Solo se admite en instancias de hsm2m.medium en modo que no sea FIPS.

[3] Las funciones de derivación clave (KDF) se especifican en la publicación especial 800-56A, revisión 3 del NIST. https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf