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á.
Suítes de algoritmos compatíveis na criptografia AWS de banco de dados SDK
Nossa biblioteca de criptografia do lado do cliente foi renomeada para Database Encryption. AWS SDK Este guia do desenvolvedor ainda fornece informações sobre o DynamoDB Encryption Client. |
Um pacote de algoritmos é uma coleção de algoritmos criptográficos e de valores relacionados. Os sistemas criptográficos usam a implementação do algoritmo para gerar o texto cifrado.
A criptografia AWS de banco de dados SDK usa um conjunto de algoritmos para criptografar e assinar os campos em seu banco de dados. Todos os pacotes de algoritmos compatíveis usam o algoritmo Advanced Encryption Standard (AES) com Galois/Counter Mode (GCM), conhecido como AES -GCM, para criptografar dados brutos. A criptografia AWS de banco de dados SDK suporta chaves de criptografia de 256 bits. O tamanho da tag de autenticação é sempre 16 bytes.
Algoritmo | Algoritmo de criptografia | Tamanho da chave de dados (em bits) | Algoritmo de derivação de chave | Algoritmo de assinatura simétrica | Algoritmo de assinatura assimétrica | Compromisso com a chave |
---|---|---|---|---|---|---|
Padrão | AES-GCM | 256 | HKDFcom SHA -512 | HMAC- SHA -384 | ECDSAcom P-384 e -384 SHA | HKDFcom SHA -512 |
AES- GCM sem assinaturas ECDSA digitais | AES-GCM | 256 | HKDFcom SHA -512 | HMAC- SHA -384 | Nenhum | HKDFcom SHA -512 |
- Algoritmo de criptografia
-
O nome e o modo do algoritmo de criptografia utilizado. Os conjuntos de algoritmos na criptografia AWS de banco de dados SDK usam o algoritmo Advanced Encryption Standard (AES) com Galois/Counter Mode (). GCM
- Tamanho da chave de dados
-
O tamanho da chave de dados em bits. A criptografia AWS de banco de dados SDK suporta chaves de dados de 256 bits. A chave de dados é usada como entrada para uma função de derivação de extract-and-expand chave HMAC baseada (HKDF). A saída do HKDF é usada como chave de criptografia de dados no algoritmo de criptografia.
- Algoritmo de derivação de chave
-
A função de derivação de extract-and-expand chave HMAC baseada (HKDF) usada para derivar a chave de criptografia de dados. A criptografia AWS de banco de dados SDK usa o HKDF definido em RFC5869
. -
A função hash usada é -512 SHA
-
Para a etapa de extração:
-
Nenhum sal é usado. De acordo com oRFC, o sal é definido como uma sequência de zeros.
-
O material de chaveamento de entrada é a chave de dados do chaveiro.
-
-
Para a etapa de expansão:
-
A chave pseudoaleatória de entrada é a saída da etapa de extração.
-
O rótulo da chave são os bytes UTF codificados em -8 da
DERIVEKEY
string na ordem de bytes big endian. -
As informações da entrada são uma concatenação do ID do algoritmo seguido pelo rótulo de chave (nessa ordem).
-
O comprimento do material de chaveamento de saída é o Tamanho da chave de dados. Essa saída é usada como a chave de criptografia de dados no algoritmo de criptografia.
-
-
- Algoritmo de assinatura simétrica
-
O algoritmo Hash Based Message Authentication Code (HMAC) usado para gerar uma assinatura simétrica. Todos os pacotes de algoritmos compatíveis incluem HMAC verificação.
A criptografia AWS de banco de dados SDK serializa a descrição do material e todos os campos marcados com
ENCRYPT_AND_SIGN
SIGN_ONLY
, ouSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
. Em seguida, ele usa um algoritmo HMAC de função hash criptográfica (SHA-384) para assinar a canonização.A HMAC assinatura simétrica é armazenada em um novo campo (
aws_dbe_foot
) que a criptografia AWS de banco de dados SDK adiciona ao registro. - Algoritmo de assinatura assimétrica
-
O algoritmo de assinatura usado para gerar uma assinatura digital assimétrica.
A criptografia AWS de banco de dados SDK serializa a descrição do material e todos os campos marcados com
ENCRYPT_AND_SIGN
SIGN_ONLY
, ouSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
. Em seguida, ele usa o Algoritmo de Assinatura Digital de Curva Elíptica (ECDSA) com as seguintes especificações para assinar a canonização:-
A curva elíptica usada é a P-384, conforme definido no Padrão de Assinatura Digital (DSS) (186-4)
. FIPS PUB -
A função hash usada é SHA -384.
A assinatura assimétrica é armazenada com a ECDSA assinatura simétrica no HMAC campo.
aws_dbe_foot
ECDSAas assinaturas digitais são incluídas por padrão, mas não são obrigatórias.
-
- Confirmação de chave
-
A função de derivação de extract-and-expand chave HMAC baseada (HKDF) usada para derivar a chave de confirmação.
-
A função hash usada é -512 SHA
-
Para a etapa de extração:
-
Nenhum sal é usado. De acordo com oRFC, o sal é definido como uma sequência de zeros.
-
O material de chaveamento de entrada é a chave de dados do chaveiro.
-
-
Para a etapa de expansão:
-
A chave pseudoaleatória de entrada é a saída da etapa de extração.
-
As informações de entrada são os bytes UTF codificados em -8 da
COMMITKEY
string na ordem de bytes big endian. -
O comprimento do material de chaveamento de saída é de 256 bits. Essa saída é usada como chave de confirmação.
-
A chave de confirmação calcula o comprometimento do registro, um hash distinto de Código de Autenticação de Mensagens Baseado em Hash (HMAC) de 256 bits, sobre a descrição do material. Para obter uma explicação técnica sobre como adicionar comprometimento de chave a um conjunto de algoritmos, consulte Key Committing AEADs
in Cryptology ePrint Archive. -
Conjunto de algoritmos padrão
Por padrão, a criptografia AWS de banco de dados SDK usa um conjunto de algoritmos com AES -GCM, uma função de derivação de extract-and-expand chave HMAC baseada (HKDF), HMAC verificação, assinaturas ECDSA digitais, compromisso de chave e uma chave de criptografia de 256 bits.
O conjunto de algoritmos padrão inclui HMAC verificação (assinaturas simétricas) e assinaturas ECDSAdigitais (assinaturas assimétricas). Essas assinaturas são armazenadas em um novo campo (aws_dbe_foot
) que a criptografia AWS de banco de dados SDK adiciona ao registro. ECDSAas assinaturas digitais são particularmente úteis quando a política de autorização permite que um conjunto de usuários criptografe dados e um conjunto diferente de usuários decodifique os dados.
O conjunto de algoritmos padrão também deriva de um compromisso chave — um HMAC hash que vincula a chave de dados ao registro. O valor do compromisso principal é HMAC calculado a partir da descrição do material e da chave de confirmação. Em seguida, ele armazena o comprometimento de chaves na descrição do material. O comprometimento principal garante que cada texto cifrado seja decifrado em apenas um texto simples. Eles fazem isso validando a chave de dados usada como entrada para o algoritmo de criptografia. Ao criptografar, o conjunto de algoritmos obtém um compromisso fundamental. HMAC Antes de decifrar, eles validam que a chave de dados produz o mesmo compromisso com a chave. HMAC Caso contrário, a chamada de descriptografia falhará.
AES- GCM sem assinaturas ECDSA digitais
Embora o conjunto de algoritmos padrão provavelmente seja adequado para a maioria dos aplicativos, você pode escolher um conjunto alternativo de algoritmos. Por exemplo, alguns modelos de confiança seriam satisfeitos com um conjunto de algoritmos sem assinaturas ECDSA digitais. Use esse pacote somente quando os usuários que criptografam dados e os usuários que descriptografam dados forem igualmente confiáveis.
Todos os pacotes de SDK algoritmos de criptografia de AWS banco de dados incluem HMAC verificação (assinaturas simétricas). A única diferença é que o AES conjunto de GCM algoritmos sem assinatura ECDSA digital carece da assinatura assimétrica que fornece uma camada adicional de autenticidade e não repúdio.
Por exemplo, se você tiver várias chaves de agrupamento em seu chaveiro,,wrappingKeyA
, e wrappingKeyB
wrappingKeyC
, e você descriptografar um registro usandowrappingKeyA
, a assinatura HMAC simétrica verifica se o registro foi criptografado por um usuário com acesso a. wrappingKeyA
Se você usou o conjunto de algoritmos padrão, eles HMACs fornecem a mesma verificação ewrappingKeyA
, além disso, usam a assinatura ECDSA digital para garantir que o registro foi criptografado por um usuário com permissões de criptografia parawrappingKeyA
.
Para selecionar o conjunto de GCM algoritmos AES - sem assinaturas digitais, inclua o seguinte trecho em sua configuração de criptografia.