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.
Temas
- Generación de funciones de claves y pares de claves
- Funciones de cifrado
- Firma y comprobación de las funciones
- Funciones Digest
- Funciones de código de autenticación de mensajes basado en hash (HMAC).
- Funciones de código de autenticación de mensajes basados en cifrado (CMAC)
- Conversión de las claves en especificaciones clave con generadores de claves
- Notas del mecanismo
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 |
|
Implementa Implementa |
AES | ECB |
|
Implementa |
AES | CTR |
|
Implementa |
AES | GCM |
|
Implementa 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 |
AESWrap | ECB |
|
Implementa |
DESede (Triple DES) | CBC |
|
Implementa |
DESede (Triple DES) | ECB |
|
Implementa |
RSA | ECB |
|
Implementa |
RSA | ECB |
|
Implementa |
RSAAESWrap | ECB |
|
Implementa |
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:
KeyAttributesMap de CloudHSM para los tipos de claves públicas de RSA y EC. Puede encontrar un ejemplo aquí
. X509EncodedKeySpec
para claves públicas de RSA y EC RSApublicKeySpec
para claves públicas de RSA ECPublicKeySpec
para claves públicas de EC
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:
KeyAttributesMap de CloudHSM para los tipos de claves públicas de RSA y EC. Puede encontrar un ejemplo aquí
. PKCS8EncodedKeySpec
para claves privadas de EC y RSA RSAPrivateCrtKeySpec
para claves privadas de RSA ECPrivateKeySpec
para claves privadas de EC
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.