Proveedor de materiales estático - AWS SDK de cifrado de bases de datos

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.

Proveedor de materiales estático

nota

Nuestra biblioteca de cifrado del cliente pasó a llamarse SDK de cifrado de bases de datos de AWS. En el siguiente tema, se presenta información sobre las versiones 1.x—2.x del cliente de cifrado de DynamoDB para Java y versiones 1.x—3.x del cliente de cifrado de DynamoDB para Python. Para obtener más información, consulte el SDK de cifrado de bases de datos de AWS para la compatibilidad de la versión de DynamoDB.

El proveedor de materiales estático (CMP estático) es un proveedor de materiales criptográfico (CMP) muy sencillo destinado para pruebas, demostraciones de prueba de concepto y compatibilidad heredada.

Para utilizar el CMP estático para cifrar un elemento de tabla, proporcione una clave de cifrado simétrica con Advanced Encryption Standard (AES) y una clave o un par de claves de firma. Debe proporcionar las mismas claves para descifrar el elemento cifrado. El CMP estático no realiza ninguna operación criptográfica. En lugar de ello, transfiere las claves de cifrado que suministra al encriptador de elementos sin cambios. El encriptador de elementos cifra los elementos directamente bajo la clave de cifrado. A continuación, utiliza la clave de cifrado directamente para firmarlos.

Dado que el CMP estático no genera ningún material criptográfico único, todos los elementos de tabla que procesa están cifrados con la misma clave de cifrado y están firmados por la misma clave de firma. Cuando se utiliza la misma clave para cifrar los valores de atributos en muchos elementos o se utiliza la misma clave o par de claves para firmar todos los elementos, se arriesga a exceder los límites criptográficos de las claves.

nota

El Proveedor estático asimétrico de la biblioteca de Java no es un proveedor estático. Solo suministra constructores alternativos para el CMP encapsulado. Es seguro para uso de producción, pero se debe utilizar directamente el CMP encapsulado siempre que sea posible.

El CMP estático es uno de varios proveedores de materiales criptográficos (CMP) que admite el cliente de cifrado de DynamoDB. Para obtener información acerca de otros CMP, consulte Proveedor de materiales criptográficos.

Para ver código de ejemplo, consulte:

Modo de uso

Para crear un proveedor estático, suministre una clave un par de claves de cifrado o y una clave o par de claves de firma. Tiene que proporcionar material de claves para cifrar y descifrar elementos de tabla.

Java
// To encrypt SecretKey cek = ...; // Encryption key SecretKey macKey = ...; // Signing key EncryptionMaterialsProvider provider = new SymmetricStaticProvider(cek, macKey); // To decrypt SecretKey cek = ...; // Encryption key SecretKey macKey = ...; // Verification key EncryptionMaterialsProvider provider = new SymmetricStaticProvider(cek, macKey);
Python
# You can provide encryption materials, decryption materials, or both encrypt_keys = EncryptionMaterials( encryption_key = ..., signing_key = ... ) decrypt_keys = DecryptionMaterials( decryption_key = ..., verification_key = ... ) static_cmp = StaticCryptographicMaterialsProvider( encryption_materials=encrypt_keys decryption_materials=decrypt_keys )

Cómo funciona

El proveedor estático transfiere las claves de cifrado y de firma que suministre al encriptador de elementos, donde se utilizan directamente para cifrar y firmar los elementos de tabla. A menos que suministre distintas claves para cada elemento, se utilizan las mismas claves para todos ellos.

La entrada, el procesamiento y la salida del proveedor de materiales estático en el cliente de cifrado de DynamoDB

Obtener los materiales de cifrado

En esta sección se describen en detalle las entradas, las salidas y el procesamiento del proveedor de materiales estático (CMP estático) cuando recibe una solicitud para materiales de cifrado.

Entrada (desde la aplicación)

  • Una clave de cifrado: esta debe ser una clave simétrica, como una clave del estándar de cifrado avanzado (AES).

  • Una clave de firma: esta puede ser una clave simétrica o un par de claves asimétricas.

Entrada (desde el encriptador de elementos)

Salida (al encriptador de elementos)

  • La clave de cifrado transferida como entrada.

  • La clave de firma transferida como entrada.

  • Descripción de material real: la descripción de material solicitada, si la hay, sin cambios.

Obtener los materiales de descifrado

En esta sección se describen en detalle las entradas, las salidas y el procesamiento del proveedor de materiales estático (CMP estático) cuando recibe una solicitud para materiales de descifrado.

Aunque incluye métodos independientes para obtener materiales de cifrado y obtener materiales de descifrado, el comportamiento es el mismo.

Entrada (desde la aplicación)

  • Una clave de cifrado: esta debe ser una clave simétrica, como una clave del estándar de cifrado avanzado (AES).

  • Una clave de firma: esta puede ser una clave simétrica o un par de claves asimétricas.

Entrada (desde el encriptador de elementos)

Salida (al encriptador de elementos)

  • La clave de cifrado transferida como entrada.

  • La clave de firma transferida como entrada.