Mécanismes pris en charge pour le fournisseur JCE - AWS CloudHSM

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Mécanismes pris en charge pour le fournisseur JCE

Cette rubrique fournit des informations sur les mécanismes pris en charge par le fournisseur JCE avec le SDK client 5. Pour plus d'informations sur les interfaces JCA (Java Cryptography Architecture) et les classes de moteur prises en charge par AWS CloudHSM, consultez les rubriques suivantes.

Génération de fonctions de clé et de paire de clés

La bibliothèque AWS CloudHSM logicielle pour Java vous permet d'utiliser les opérations suivantes pour générer des fonctions de clé et de paire de clés.

  • RSA

  • EC

  • AES

  • DESede (Triple DES)voir note1

  • GenericSecret

Fonctions de chiffrement

La bibliothèque AWS CloudHSM logicielle pour Java prend en charge les combinaisons d'algorithmes, de modes et de remplissage suivantes.

Algorithm Mode Remplissage Remarques
AES CBC

AES/CBC/NoPadding

AES/CBC/PKCS5Padding

Implémente Cipher.ENCRYPT_MODE et Cipher.DECRYPT_MODE.

Implémente Cipher.UNWRAP_MODE for AES/CBC NoPadding

AES ECB

AES/ECB/PKCS5Padding

AES/ECB/NoPadding

Implémente Cipher.ENCRYPT_MODE et Cipher.DECRYPT_MODE.

AES CTR

AES/CTR/NoPadding

Implémente Cipher.ENCRYPT_MODE et Cipher.DECRYPT_MODE.

AES GCM

AES/GCM/NoPadding

Implémente Cipher.WRAP_MODE, Cipher.UNWRAP_MODE, Cipher.ENCRYPT_MODE et Cipher.DECRYPT_MODE.

Lorsque vous effectuez un chiffrement AES-GCM, le HSM ignore le vecteur d'initialisation (IV) dans la demande et utilise un vecteur d'initialisation généré. Lorsque l'opération est terminée, vous devez appeler Cipher.getIV() pour obtenir le vecteur d'initialisation.

AESWrap ECB

AESWrap/ECB/NoPadding

AESWrap/ECB/PKCS5Padding

AESWrap/ECB/ZeroPadding

Implémente Cipher.WRAP_MODE et Cipher.UNWRAP_MODE.

DESede (Triple DES) CBC

DESede/CBC/PKCS5Padding

DESede/CBC/NoPadding

Implémente Cipher.ENCRYPT_MODE et Cipher.DECRYPT_MODE. Voir la note 1 ci-dessous pour un changement à venir.

DESede (Triple DES) ECB

DESede/ECB/NoPadding

DESede/ECB/PKCS5Padding

Implémente Cipher.ENCRYPT_MODE et Cipher.DECRYPT_MODE. Voir la note 1 ci-dessous pour un changement à venir.

RSA ECB

RSA/ECB/PKCS1PaddingVoir note1

RSA/ECB/OAEPPadding

RSA/ECB/OAEPWithSHA-1ANDMGF1Padding

RSA/ECB/OAEPWithSHA-224ANDMGF1Padding

RSA/ECB/OAEPWithSHA-256ANDMGF1Padding

RSA/ECB/OAEPWithSHA-384ANDMGF1Padding

RSA/ECB/OAEPWithSHA-512ANDMGF1Padding

Implémente Cipher.WRAP_MODE, Cipher.UNWRAP_MODE, Cipher.ENCRYPT_MODE et Cipher.DECRYPT_MODE.

RSA ECB

RSA/ECB/NoPadding

Implémente Cipher.ENCRYPT_MODE et 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

Implémente Cipher.WRAP_MODE et Cipher.UNWRAP_MODE.

Fonctions de signature et de vérification

La bibliothèque AWS CloudHSM logicielle pour Java prend en charge les types de signature et de vérification suivants. Avec le SDK client 5 et les algorithmes de signature avec hachage, les données sont hachées localement dans le logiciel avant d'être envoyées au HSM pour signature/vérification. Cela signifie qu'il n'y a aucune limite quant à la taille des données pouvant être hachées par le SDK.

Types de signature RSA

  • NONEwithRSA

  • RSASSA-PSS

  • SHA1withRSA

  • SHA1withRSA/PSS

  • SHA1withRSAandMGF1

  • SHA224withRSA

  • SHA224withRSAandMGF1

  • SHA224withRSA/PSS

  • SHA256withRSA

  • SHA256withRSAandMGF1

  • SHA256withRSA/PSS

  • SHA384withRSA

  • SHA384withRSAandMGF1

  • SHA384withRSA/PSS

  • SHA512withRSA

  • SHA512withRSAandMGF1

  • SHA512withRSA/PSS

Types de signature ECDSA

  • NONEwithECDSA

  • SHA1withECDSA

  • SHA224withECDSA

  • SHA256withECDSA

  • SHA384withECDSA

  • SHA512withECDSA

Fonctions de résumé

La bibliothèque AWS CloudHSM logicielle pour Java prend en charge les résumés de messages suivants. Avec le SDK client 5, les données sont hachées localement dans le logiciel. Cela signifie qu'il n'y a aucune limite quant à la taille des données pouvant être hachées par le SDK.

  • SHA-1

  • SHA-224

  • SHA-256

  • SHA-384

  • SHA-512

Fonctions du code d’authentification de message utilisant hash (HMAC).

La bibliothèque AWS CloudHSM logicielle pour Java prend en charge les algorithmes HMAC suivants.

  • HmacSHA1(Taille maximale des données en octets : 16288)

  • HmacSHA224(Taille maximale des données en octets : 16256)

  • HmacSHA256(Taille maximale des données en octets : 16288)

  • HmacSHA384(Taille maximale des données en octets : 16224)

  • HmacSHA512(Taille maximale des données en octets : 16224)

Fonctions du code d'authentification des messages basé sur le chiffrement (CMAC)

Les CMAC (codes d'authentification de message basés sur le chiffrement) créent des codes d'authentification de message (MAC) à l'aide d'un chiffrement par blocs et d'une clé secrète. Ils diffèrent des HMAC en ce qu'ils utilisent une méthode de clé symétrique par blocs pour les MAC plutôt qu'une méthode de hachage.

La bibliothèque AWS CloudHSM logicielle pour Java prend en charge les algorithmes CMAC suivants.

  • AESCMAC

Convertissez les clés en spécifications de clés à l'aide de fabriques de clés

Vous pouvez utiliser des usines de clés pour convertir les clés en spécifications clés. AWS CloudHSM possède deux types d'usines clés pour JCE :

SecretKeyFactory: Utilisé pour importer ou dériver des clés symétriques. En utilisant SecretKeyFactory, vous pouvez transmettre une clé prise en charge ou une clé prise en charge KeySpec pour importer ou dériver des clés symétriques. AWS CloudHSM Voici les spécifications prises en charge pour KeyFactory :

  • Les KeySpecclasses suivantes SecretKeyFactory de la generateSecret méthode de For sont prises en charge :

    • KeyAttributesMappeut être utilisé pour importer des octets de clé avec des attributs supplémentaires en tant que clé CloudHSM. Un exemple peut être trouvé ici.

    • SecretKeySpecpeut être utilisé pour importer une spécification de clé symétrique en tant que clé CloudHSM.

    • AesCmacKdfParameterSpecpeut être utilisé pour dériver des clés symétriques à l'aide d'une autre clé CloudHSM AES.

Note

SecretKeyFactoryprend translateKey n'importe quelle clé qui implémente l'interface clé.

KeyFactory: Utilisé pour importer des clés asymétriques. En utilisant KeyFactory, vous pouvez transmettre une clé prise en charge KeySpec ou une clé asymétrique dans AWS CloudHSM laquelle vous pouvez importer une clé asymétrique. Pour plus d'informations, consultez les ressources suivantes :

  • Selon KeyFactory la generatePublic méthode de For, les KeySpecclasses suivantes sont prises en charge :

  • KeyAttributesMap CloudHSM pour RSA et EC, notamment : KeyTypes

  • Selon KeyFactory la generatePrivate méthode de For, les KeySpecclasses suivantes sont prises en charge :

  • KeyAttributesMap CloudHSM pour RSA et EC, notamment : KeyTypes

KeyFactoryLa translateKey méthode de For prend en compte n'importe quelle clé qui implémente l'interface clé.

Annotations du mécanisme

[1] Conformément aux directives du NIST, cela n'est pas autorisé pour les clusters en mode FIPS après 2023. Pour les clusters en mode non FIPS, cela est toujours autorisé après 2023. Consultez Conformité à la norme FIPS 140 : mécanisme 2024 rendu obsolète pour plus de détails.