Mecanismos compatíveis com o provedor JCE para o Client SDK 5 do AWS CloudHSM
Este tópico fornece informações sobre os mecanismos de provedor JCE compatíveis com o Client SDK 5 do AWS CloudHSM. Para obter informações sobre as interfaces e classes de mecanismos da Java Cryptography Architecture (JCA) compatíveis com o AWS CloudHSM, consulte os tópicos a seguir.
Tópicos
Gere funções de chave e par de chaves
A biblioteca de software do AWS CloudHSM 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 de software de AWS CloudHSM para Java suporta as seguintes combinações de algoritmo, modo e padding.
| Algoritmo | Modo | Padding | Observações |
|---|---|---|---|
| AES | CBC |
|
Implementa Implementa |
| AES | ECB |
|
Implementa |
| AES | CTR |
|
Implementa |
| AES | GCM |
|
Implementa 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 |
| AESWrap | ECB |
|
Implementa |
| DESede (Triple DES) | CBC |
|
Implementa |
| DESede (Triple DES) | ECB |
|
Implementa |
| RSA | ECB |
|
Implementa |
| RSA | ECB |
|
Implementa |
| RSAAESWrap | ECB |
|
Implementa |
Funções de assinatura e verificação
A biblioteca de software de AWS CloudHSM para Java suporta os tipos de assinatura e verificação de a seguir. 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 de software de AWS CloudHSM para Java suporta os arquivos de resumo de mensagens a seguir. 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 de software de AWS CloudHSM para Java suporta os algoritmos HMAC a seguir.
-
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 de software de AWS CloudHSM para Java suporta os algoritmos HMAC a seguir.
-
AESCMAC
Funções-chave do contrato
A biblioteca de software do AWS CloudHSM para Java suporta ECDH com Key Derivation Functions (KDF). Há suporte para os seguintes tipos de KDF:
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 um KeySpec compatível para importar ou derivar chaves simétricas em AWS CloudHSM. A seguir estão as especificações suportadas pelo KeyFactory:
-
Para o método SecretKeyFactory
generateSecret, as seguintes classes KeySpecsão suportadas: KeyAttributesMap pode ser usado para importar bytes de chave com atributos adicionais como uma chave do CloudHSM. Um exemplo pode ser encontrado aqui
SecretKeySpec
pode ser usado para importar uma especificação de chave simétrica como uma chave do CloudHSM. AESCMackDFParameterSpec pode ser usado para derivar chaves simétricas usando outra chave AES do CloudHSM.
nota
O método translateKey do SecretKeyFactory usa qualquer chave que implemente a interface da chave
KeyFactory: usado para importar chaves assimétricas. Usando KeyFactory, você pode passar uma chave ou KeySpec compatível para importar uma chave assimétrica para o AWS CloudHSM. Para obter mais informações, consulte os seguintes recursos:
Para o método SecretKeyFactory do
generatePublic, as seguintes classes KeySpecsão suportadas: CloudHSM KeyAttributesMap para KeyTypes RSA e EC, incluindo:
CloudHSM KeyAttributesMap para KeyTypes públicos RSA e EC. Um exemplo pode ser encontrado aqui
X509EncodedKeySpec
para chaves públicas RSA e EC RSAPublicKeySpec
para chave pública RSA ECPublicKeySpec
para chave pública EC
Para o método SecretKeyFactory do
generatePrivate, as seguintes classes KeySpecsão suportadas: CloudHSM KeyAttributesMap para KeyTypes RSA e EC, incluindo:
CloudHSM KeyAttributesMap para KeyTypes públicos RSA e EC. Um exemplo pode ser encontrado aqui
PKCS8EncodedKeySpec
para chaves privadas EC e RSA RSAprivateCrtKeySpec
para chaves privadas RSA ECPrivateKeySpec
para chaves privadas EC
Para o método KeyFactory do translateKey, ele usa qualquer chave que implemente a interface de 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] As funções de derivação de chaves (KDFs) são especificadas na RFC 8418, Seção 2.1