Mecanismos suportados pelo provedor de JCE - 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 de JCE

Este tópico fornece informações sobre os mecanismos suportados pelo provedor JCE com o Client SDK 5. Para obter informações sobre as interfaces e classes de mecanismo da Java Cryptography Architecture (JCA) suportadas pelo 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

  • 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 executar a criptografia AES-GCM, o HSM ignora o vetor de inicialização (IV) na solicitação e usa um IV que ele mesmo 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 suporta os seguintes tipos de assinatura e verificação. Com o Client SDK 5 e algoritmos de assinatura com hashing, os dados são codificados localmente no software antes de serem enviados ao HSM para assinatura/verificação. 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

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

Funções de código de autenticação de mensagens por hash (HMAC)

A biblioteca AWS CloudHSM de software para Java oferece suporte aos 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)

Funções de código de autenticação de mensagens baseadas em cifras (CMAC)

Os CMACs (códigos de autenticação de mensagens baseados em cifras) criam códigos de autenticação de mensagens (MACs) usando uma cifra de bloqueio 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

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 compatível KeySpec para importar ou derivar chaves simétricas. AWS CloudHSM A seguir estão as especificações suportadas para KeyFactory:

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

    • KeyAttributesMappode ser usado para importar bytes de 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 de usa qualquer chave que implemente a interface da chave.

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

KeyFactoryO translateKey método de For, ele usa qualquer chave que implemente a interface chave.

Anotações do mecanismo

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