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á.
Encapsulamento de chaves AES AWS CloudHSM
Este tópico descreve as opções de empacotamento de chaves AES. AWS CloudHSM O encapsulamento de chaves AES usa uma chave AES (a chave de encapsulamento) para encapsular outra chave de qualquer tipo (a chave de destino). O encapsulamento de chaves é usado para proteger chaves armazenadas ou para transmitir chaves por redes não seguras.
Algoritmos compatíveis
AWS CloudHSM oferece três opções para empacotamento de chaves AES, cada uma com base em como a chave de destino é preenchida antes de ser embalada. O preenchimento é feito automaticamente, de acordo com o algoritmo usado, quando você chama o encapsulamento de chaves. A tabela a seguir lista os algoritmos compatíveis e os detalhes associados para ajudar você a escolher um mecanismo de encapsulamento apropriado para seu aplicativo.
Algoritmo de encapsulamento de chave AES | Especificação | Tipos de chave de destino compatíveis | Esquema de preenchimento | AWS CloudHSM Disponibilidade do cliente |
---|---|---|---|---|
Encapsulamento de chaves AES com preenchimento de zeros | RFC 5649 |
Todos | Adiciona zeros após bits de chave, se necessário, para bloquear o alinhamento | SDK 3.1 e posterior |
Encapsulamento de chaves AES sem preenchimento | RFC 3394 |
Chaves com alinhamento bloqueado, como AES e 3DES | Nenhum | SDK 3.1 e posterior |
Encapsulamento de chaves AES com preenchimento PKCS #5 | Nenhum | Todos |
Pelo menos 8 bytes são adicionados de acordo com o esquema de preenchimento PKCS #5 para bloquear o alinhamento |
Todos |
Para saber como usar os algoritmos de encapsulamento de chaves AES da tabela anterior no aplicativo, consulte Usar o encapsulamento de chaves AES no AWS CloudHSM.
Noções básicas sobre vetores de inicialização no encapsulamento de chaves AES
Antes de encapsular, o CloudHSM anexa um vetor de inicialização (IV) à chave de destino para a integridade dos dados. Cada algoritmo de encapsulamento de chaves tem restrições específicas sobre o tipo de IV permitido. Para configurar o IV AWS CloudHSM, você tem duas opções:
-
Implícito: defina o IV como NULL e o CloudHSM usará o valor padrão desse algoritmo para operações de encapsulamento e desencapsulamento (recomendado)
-
Explícito: defina o IV transmitindo o valor padrão do IV para a função de encapsulamento de chaves
Importante
É necessário entender o IV que você está usando no aplicativo. Para desencapsular a chave, é necessário fornecer o mesmo IV usado para encapsular a chave. Se você usar um IV implícito para encapsular, use um IV implícito para desencapsular. Com um IV implícito, o CloudHSM usará o valor padrão para desencapsular.
A tabela a seguir descreve valores permitidos para IVs, que o algoritmo de desencapsulamento especifica.
Algoritmo de encapsulamento de chave AES | IV implícito | IV explícito |
---|---|---|
Encapsulamento de chaves AES com preenchimento de zeros | Obrigatório Valor padrão: (IV calculado internamente com base na especificação) |
Não permitido |
Encapsulamento de chaves AES sem preenchimento | Permitido (recomendado) Valor padrão: |
Permitido Apenas este valor aceito: |
Encapsulamento de chaves AES com preenchimento PKCS #5 | Permitido (recomendado) Valor padrão: |
Permitido Apenas este valor aceito: |
Usando o encapsulamento de teclas AES AWS CloudHSM
Encapsule e desencapsule as chaves da seguinte maneira:
-
Na biblioteca PCKS #11, selecione o mecanismo apropriado para as funções
C_WrapKey
eC_UnWrapKey
, conforme mostrado na tabela a seguir. -
Na provedor JCE, selecione a combinação apropriada de algoritmo, modo e preenchimento, implementando os métodos de criptografia
Cipher.WRAP_MODE
eCipher.UNWRAP_MODE
, conforme mostrado na tabela a seguir. -
Na CLI do CloudHSM, escolha o algoritmo apropriado na lista O comando key wrap no Cloud HSM CLI de algoritmos O comando key unwrap na nuvem HSM CLI compatíveis, conforme mostrado na tabela a seguir.
-
Em key_mgmt_util (KMU), use os comandos Exporte uma AWS CloudHSM chave usando KMU e Desembrulhe uma AWS CloudHSM chave usando KMU com valores m apropriados, conforme mostrado na tabela a seguir.
Algoritmo de encapsulamento de chave AES | Mecanismo PKCS #11 | Método Java | Subcomando CLI do CloudHSM | Argumento do utilitário de gerenciamento de chaves (KMU) |
---|---|---|---|---|
Encapsulamento de chaves AES com preenchimento de zeros |
|
AESWrap/ECB/ZeroPadding |
aes-zero-pad | m = 6 |
Encapsulamento de chaves AES sem preenchimento |
|
AESWrap/ECB/NoPadding |
aes-no-pad | m = 5 |
Encapsulamento de chaves AES com preenchimento PKCS #5 |
|
AESWrap/ECB/PKCS5Padding |
aes-pkcs5-pad | m = 4 |