Pacotes de algoritmos compatíveis no SDK de criptografia da AWS - SDK de criptografia da AWS

Se fornecermos uma tradução da versão em inglês do guia, a versão em inglês prevalecerá caso haja qualquer conflito entre as versões. A tradução é fornecida com o uso de tradução por máquina.

Pacotes de algoritmos compatíveis no SDK de criptografia da AWS

Um pacote de algoritmos é uma coleção de algoritmos criptográficos e de valores relacionados. Os sistemas de criptografia usam a implementação do algoritmo para gerar a mensagem de texto cifrado.

O pacote de algoritmos do SDK de criptografia da AWS usa o algoritmo Advanced Encryption Standard (AES - padrão avançado de criptografia) no Galois/Counter Mode (GCM), conhecido como AES-GCM, para criptografar dados brutos. O SDK é compatível com chaves de criptografia de 256, 192 e 128 bits. O tamanho do vetor de inicialização (IV) é sempre 12 bytes. O tamanho da tag de autenticação é sempre 16 bytes.

O SDK oferece suporte a várias implementações diferentes do AES-GCM. Por padrão, o SDK usa o AES-GCM com uma HMAC-based extract-and-expand key derivation function (HKDF - função de derivação de chaves de extração e expansão com base no HMAC), uma assinatura e uma chave de criptografia de 256 bits.

No pacote de algoritmos recomendado, o SDK usa a chave de criptografia de dados como uma entrada para a HMAC-based extract-and-expand key derivation function (HKDF - função de derivação de chaves de extração e expansão com base no HMAC) para derivar a chave de criptografia do AES-GCM. O SDK também adiciona uma assinatura do Elliptic Curve Digital Signature Algorithm (ECDSA - Algoritmo de assinatura digital de curva elíptica). Por padrão, o SDK usa esse pacote de algoritmos com uma chave de criptografia de 256 bits.

A HKDF ajuda a evitar a reutilização acidental de uma chave de criptografia de dados.

Esse pacote de algoritmos usa o ECDSA e um algoritmo de assinatura de mensagem (SHA-384 ou SHA-256). O ECDSA é usado por padrão, mesmo quando ele não é especificado pela política da chave mestra subjacente. A assinatura da mensagem verifica a identidade do remetente da mensagem e adiciona a autenticidade da mensagem aos dados criptografados em envelope. Isso é especialmente útil quando a política de autorização de uma chave mestra permite que um conjunto de usuários criptografe os dados e outro conjunto de usuários descriptografe os dados.

A tabela a seguir lista as variações dos pacotes de algoritmos recomendados.

Pacotes de algoritmos do SDK de criptografia da AWS
Nome do algoritmo Tamanho da chave de criptografia de dados (em bits) Modo do algoritmo Algoritmo de derivação de chave Algoritmo de assinatura
AES 256* GCM HKDF com SHA-384 ECDSA com P-384 e SHA-384
AES 192 GCM HKDF com SHA-384 ECDSA com P-384 e SHA-384
AES : 128 GCM HKDF com SHA-256 ECDSA com P-256 e SHA-256

Outros pacotes de algoritmos compatíveis

O SDK de criptografia da AWS oferece suporte aos seguintes pacotes de algoritmos alternativos para fins de compatibilidade com versões anteriores. Em geral, não recomendamos esses pacotes de algoritmos. No entanto, reconhecemos que usar um pacote de algoritmos com uma derivação de chave, mas sem assinatura, é apropriado em alguns casos. Não recomendamos o uso de nenhum pacote de algoritmos que não tenha derivação de chave nem assinatura.

AES-GCM com derivação de chaves somente

Esse pacote de algoritmos usa uma função de derivação de chaves, mas não tem a assinatura do ECDSA que fornece autenticidade e não repúdio. Use esse pacote quando os usuários que criptografam dados e os que os descriptografam são igualmente confiáveis.

AES-GCM sem derivação de chaves ou assinatura

Esse pacote de algoritmos usa de chave de criptografia de dados como a chave de criptografia do AES-GCM, em vez de usar uma função de derivação de chaves para derivar uma chave exclusiva. Desencorajamos o uso desse pacote para gerar texto cifrado, mas o SDK oferece suporte a ele por motivos de compatibilidade.

Para obter mais informações sobre como esses pacotes são representados e usados na biblioteca, consulte Referência de algoritmos do SDK de criptografia da AWS.