View a markdown version of this page

Mecanismos suportados pelo provedor JCE para AWS CloudHSM Client SDK 5 - AWS CloudHSM

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Mecanismos suportados pelo provedor JCE para AWS CloudHSM Client SDK 5

Este tópico fornece informações sobre os mecanismos suportados pelo provedor JCE com o AWS CloudHSM Client SDK 5. Para obter informações sobre as interfaces da Java Cryptography Architecture (JCA) e as classes de mecanismo suportadas pela AWS CloudHSM, consulte os tópicos a seguir.

Gere funções de chave e par de chaves

A biblioteca AWS CloudHSM de software para Java permite que você use as seguintes operações para gerar funções de chave e par de chaves.

  • RSA

  • EC

  • EdDSA (Ed25519)consulte a observação 2

  • ML-DSA

  • AES

  • DESede (Triple DES)consulte a observação 1

  • GenericSecret

Funções de cifra

A biblioteca AWS CloudHSM de software para Java suporta as seguintes combinações de algoritmo, modo e preenchimento.

Algoritmo Modo Padding Observações
AES CBC

AES/CBC/NoPadding

AES/CBC/PKCS5Padding

Implementa Cipher.ENCRYPT_MODE e Cipher.DECRYPT_MODE.

Implementa Cipher.UNWRAP_MODE for AES/CBC NoPadding

AES ECB

AES/ECB/PKCS5Padding

AES/ECB/NoPadding

Implementa Cipher.ENCRYPT_MODE e Cipher.DECRYPT_MODE.

AES CTR

AES/CTR/NoPadding

Implementa Cipher.ENCRYPT_MODE e Cipher.DECRYPT_MODE.

AES GCM

AES/GCM/NoPadding

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

Ao realizar a AES-GCM criptografia, o HSM ignora o vetor de inicialização (IV) na solicitação e usa um IV que ele gera. Quando a operação for concluída, você deverá chamar Cipher.getIV() para obter o IV.

AESWrap ECB

AESWrap/ECB/NoPadding

AESWrap/ECB/PKCS5Padding

AESWrap/ECB/ZeroPadding

Implementa Cipher.WRAP_MODE e Cipher.UNWRAP_MODE.

DESede (Triple DES) CBC

DESede/CBC/PKCS5Padding

DESede/CBC/NoPadding

Implementa Cipher.ENCRYPT_MODE e Cipher.DECRYPT_MODE. Consulte a nota 1 abaixo para ver uma mudança futura.

DESede (Triple DES) ECB

DESede/ECB/NoPadding

DESede/ECB/PKCS5Padding

Implementa Cipher.ENCRYPT_MODE e Cipher.DECRYPT_MODE. Consulte a nota 1 abaixo para ver uma mudança futura.

RSA ECB

RSA/ECB/PKCS1Padding consulte a observação 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 e Cipher.DECRYPT_MODE.

RSA ECB

RSA/ECB/NoPadding

Implementa Cipher.ENCRYPT_MODE e 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 e Cipher.UNWRAP_MODE.

Funções de assinatura e verificação

A biblioteca AWS CloudHSM de software para Java oferece suporte aos seguintes tipos de assinatura e verificação. Com o Client SDK 5 e algoritmos de assinatura com hashing, os dados são criptografados localmente no software antes de serem enviados ao HSM para o. signature/verification Isso significa que não há limite no tamanho dos dados que podem ser criptografados pelo SDK.

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

  • NONEwithECDSA

  • SHA1withECDSA

  • SHA224withECDSA

  • SHA256withECDSA

  • SHA384withECDSA

  • SHA512withECDSA

ML-DSA tipos de assinatura

  • ML-DSA

  • ML-DSA-44

  • ML-DSA-65

  • ML-DSA-87

  • ML-DSA-EXTERNAL-MU

Tipos de assinatura EdDSA (veja a nota) 2

  • Ed25519ou EdDSA (Tamanho máximo de dados: 16.000 bytes)

  • Ed25519ph

Funções de resumo

A biblioteca AWS CloudHSM de software para Java suporta os seguintes resumos de mensagens. Com o Client SDK 5, os dados são codificados localmente no software. Isso significa que não há limite no tamanho dos dados que podem ser criptografados pelo SDK.

  • SHA-1

  • SHA-224

  • SHA-256

  • SHA-384

  • SHA-512

Hash-based funções de código de autenticação de mensagens (HMAC)

A biblioteca AWS CloudHSM de software para Java suporta os seguintes algoritmos HMAC.

  • HmacSHA1 (Tamanho máximo de dados em bytes: 16288)

  • HmacSHA224 (Tamanho máximo de dados em bytes: 16256)

  • HmacSHA256 (Tamanho máximo de dados em bytes: 16288)

  • HmacSHA384 (Tamanho máximo de dados em bytes: 16224)

  • HmacSHA512 (Tamanho máximo de dados em bytes: 16224)

Cipher-based funções de código de autenticação de mensagens (CMAC)

Os CMACs (códigos de autenticação de Cipher-based mensagens) criam códigos de autenticação de mensagens (MACs) usando uma cifra de bloco e uma chave secreta. Eles diferem dos HMACs porque usam um método de chave simétrica de bloco para os MACs em vez de um método de hashing.

A biblioteca AWS CloudHSM de software para Java suporta os seguintes algoritmos CMAC.

  • AESCMAC

Funções-chave do contrato

A biblioteca AWS CloudHSM de software para Java suporta ECDH com Funções de Derivação de Chave (KDF). Há suporte para os seguintes tipos de KDF:

  • ECDHwithX963SHA1KDFSuporta o X9.63 algoritmo KDF SHA1 3

  • ECDHwithX963SHA224KDFSuporta o algoritmo X9.63 KDF SHA224 3

  • ECDHwithX963SHA256KDFSuporta o X9.63 algoritmo KDF SHA256 3

  • ECDHwithX963SHA384KDFSuporta o algoritmo X9.63 KDF SHA384 3

  • ECDHwithX963SHA512KDFSuporta o algoritmo X9.63 KDF SHA512 3

Converta chaves em especificações de chave usando fábricas de chaves

Você pode usar fábricas de chaves para converter chaves em especificações principais. AWS CloudHSM tem dois tipos de fábricas principais para a JCE:

SecretKeyFactory: usado para importar ou derivar chaves simétricas. Usando SecretKeyFactory, você pode passar uma chave compatível ou uma chave suportada KeySpec para importar ou derivar chaves simétricas. AWS CloudHSM A seguir estão as especificações suportadas para KeyFactory:

  • As seguintes KeySpec classes SecretKeyFactory do generateSecret método For são suportadas:

    • KeyAttributesMappode ser usado para importar bytes de uma chave com atributos adicionais como uma chave do CloudHSM. Um exemplo pode ser encontrado aqui

    • SecretKeySpecpode ser usado para importar uma especificação de chave simétrica como uma chave do CloudHSM.

    • AesCmacKdfParameterSpecpode ser usado para derivar chaves simétricas usando outra chave AES do CloudHSM.

nota

SecretKeyFactoryO translateKey método usa qualquer chave que implemente a interface chave.

KeyFactory: usado para importar chaves assimétricas. Usando KeyFactory, você pode passar uma chave compatível ou KeySpec para a qual importar uma chave assimétrica. AWS CloudHSM Para obter mais informações, consulte os seguintes recursos:

  • Para KeyFactory o generatePublic método de, as seguintes KeySpec classes são suportadas:

  • Para KeyFactory o generatePrivate método de, as seguintes KeySpec classes são suportadas:

ML-DSA limitação de importação de chaves

O AWS CloudHSM não oferece suporte à importação de ML-DSA chaves por meio de KeyFactory (generatePublicegeneratePrivate). Para usar ML-DSA chaves, gere-as diretamente no HSM usandoKeyPairGenerator. O ML-DSA KeyFactory suporta exportação de chave pública usando getKeySpec (retornaX509EncodedKeySpec).

KeyFactoryO translateKey método de For, ele aceita qualquer chave que implemente a interface https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/security/Key.html chave.

Anotações do mecanismo

[1] De acordo com a orientação do NIST, isso não é permitido em clusters no modo FIPS após 2023. Para clusters no modo não FIPS, isso ainda é permitido após 2023. Para mais detalhes, consulte Conformidade com o FIPS 140: suspensão do mecanismo de 2024.

[2] Compatível apenas com instâncias hsm2m.medium no modo não FIPS.

[3] As funções de derivação chave (KDFs) são especificadas na Publicação Especial 800-56A do NIST, Revisão 3.