Conjuntos de algoritmos compatibles en el SDK de cifrado AWS de bases de datos - AWS Cifrado de bases SDK

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Conjuntos de algoritmos compatibles en el SDK de cifrado AWS de bases de datos

Se cambió el nombre de nuestra biblioteca de cifrado del lado del cliente por el de SDK de cifrado de AWS bases de datos. En esta guía para desarrolladores, se sigue proporcionando información sobre el cliente de cifrado de DynamoDB.

Un conjunto de algoritmos es un conjunto de algoritmos criptográficos y sus valores relacionados. Los sistemas criptográficos utilizan la implementación del algoritmo para generar el mensaje de texto cifrado.

El SDK AWS de cifrado de bases de datos utiliza un conjunto de algoritmos para cifrar y firmar los campos de la base de datos. El SDK de cifrado de bases de datos de AWS admite dos conjuntos de algoritmos. Todos los conjuntos admitidos utilizan Advanced Encryption Standard (AES) como algoritmo principal y lo combinan con otros algoritmos y valores.

El conjunto de algoritmos del SDK de cifrado de AWS bases de datos utiliza el algoritmo estándar de cifrado avanzado (AES) en modo Galois/Counter (GCM), conocido como AES-GCM, para cifrar los datos sin procesar. El AWS SDK de cifrado de bases de datos admite claves de cifrado de 256 bits. La longitud de la etiqueta de autenticación es siempre de 16 bytes.

De forma predeterminada, el SDK de cifrado de AWS bases de datos utiliza un conjunto de algoritmos con AES-GCM con una función de derivación de claves (HKDF) basada en HMAC, compromiso de extract-and-expand claves, firma simétrica y asimétrica y una clave de cifrado de 256 bits.

El SDK AWS de cifrado de bases de datos utiliza un conjunto de algoritmos que obtiene una clave de datos AES-GCM proporcionando una clave de cifrado de datos de 256 bits a la función de derivación de claves (HKDF) basada en HMAC. extract-and-expand También deriva una clave MAC para la clave de datos. El SDK de cifrado AWS de bases de datos utiliza esta clave de datos para obtener una clave de cifrado de datos única para cifrar cada campo. A continuación, el SDK de cifrado de AWS bases de datos utiliza la clave MAC para calcular un código de autenticación de mensajes (HMAC) basado en hash para cada copia cifrada de la clave de datos y añade una firma con un algoritmo de firma digital de curva elíptica (ECDSA) al registro. Este conjunto de algoritmos también deriva de un compromiso clave: un HMAC que vincula la clave de datos al registro. El valor de compromiso clave es un HMAC que se calcula a partir de la descripción del material y la clave de compromiso, que se obtiene mediante el HKDF mediante un procedimiento similar al de la obtención de la clave de cifrado de datos. A continuación, el valor de compromiso clave se almacena en la descripción del material.

Algoritmo de cifrado Longitud de la clave de cifrado de datos (en bits) Algoritmo de firma simétrica Algoritmo de firma asimétrica. Compromiso clave
AES-GCM 256 HMAC-SHA-384 ECDSA sobre P384 HKDF con SHA-512

Este conjunto de algoritmos serializa la descripción del material y todos los campos marcados ENCRYPT_AND_SIGN y SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT las acciones criptográficas y, a continuación, utiliza el HMAC con un algoritmo de función hash criptográfica (SHA-512) para firmar la canonicalización. SIGN_ONLY A continuación, calcula una firma digital ECDSA. Las firmas HMAC y ECDSA se almacenan en un campo nuevo () que el SDK de cifrado de bases de datos añade al registro. aws_dbe_foot AWS Las firmas digitales son especialmente útiles cuando la política de autorización permite a un grupo de usuarios cifrar datos y a otro grupo diferente descifrarlos.

El compromiso clave garantiza que cada texto cifrado se descifre en un solo texto no cifrado. Para ello, validan la clave de datos utilizada como entrada en el algoritmo de cifrado. Al cifrar, estos conjuntos de algoritmos obtienen un compromiso clave HMAC. Antes de descifrar, validan que la clave de datos produzca el mismo compromiso de clave HMAC. En caso contrario, el comando de descifrado genera un error.

AES-GCM sin firmas digitales

Aunque es probable que el conjunto de algoritmos predeterminado sea adecuado para la mayoría de las aplicaciones, puede elegir un conjunto de algoritmos alternativo. Por ejemplo, algunos modelos de confianza quedarían satisfechos con un conjunto de algoritmos sin firmas digitales. Este conjunto se utiliza cuando los usuarios que cifran los datos y aquellos que los descifran son merecedores de la misma confianza.

Todos los conjuntos de algoritmos del SDK AWS de cifrado de bases de datos admiten la firma simétrica HMAC-SHA-384. La única diferencia es que el conjunto de algoritmos AES-GCM sin firmas digitales carece de la firma ECDSA, lo que proporciona un nivel adicional de autenticidad y no repudio.

Por ejemplo, si tiene varias claves de encapsulación en el conjunto de claves, wrappingKeyA, wrappingKeyB y wrappingKeyC, y usted descifra un registro utilizando wrappingKeyA, la firma simétrica HMAC-SHA-384 comprueba que el registro lo haya cifrado un usuario con acceso a wrappingKeyA. Si ha utilizado los algoritmos predeterminados, los HMAC proporcionan la misma verificación y, ademáswrappingKeyA, utilizan la firma ECDSA para garantizar que el registro lo haya cifrado un usuario con permisos de cifrado para ello. wrappingKeyA

Para seleccionar el conjunto de algoritmos AES-GCM sin firmas digitales, especifíquelo en la configuración de cifrado.