Conceptos del Cliente de encriptación de Amazon DynamoDB - 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.

Conceptos del Cliente de encriptación de Amazon DynamoDB

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.

En este tema se explican la terminología y los conceptos empleados en el Cliente de encriptación de Amazon DynamoDB.

Para obtener información acerca de cómo interactúan los componentes del cliente de cifrado de DynamoDB, consulte Cómo funciona el cliente de cifrado de DynamoDB.

Proveedor de materiales criptográficos (CMP)

Al implementar el cliente de cifrado de DynamoDB, una de sus primeras tareas consiste en seleccionar un proveedor de materiales criptográficos (CMP) (también conocido como proveedor de materiales de cifrado). Esta elección determina gran parte del resto de la implementación.

Un proveedor de materiales criptográficos (CMP) recopila, reúne y devuelve los materiales criptográficos que el encriptador de elementos utiliza para cifrar y firmar los elementos de tabla. El CMP determina los algoritmos de cifrado que se utilizarán y cómo generar y proteger las claves de cifrado y firma.

El CMP interactúa con el encriptador de elementos. El encriptador de elementos solicita materiales de cifrado o descifrado al CMP, y el CMP los devuelve al encriptador de elementos. A continuación, el encriptador de elementos utiliza los materiales criptográficos para cifrar y firmar, o para verificar y descifrar, el elemento.

Debe especificar el CMP al configurar el cliente. Puede crear un CMP personalizado compatible o bien puede utilizar uno de los numerosos CMP de la biblioteca. La mayoría de los CMP están disponibles para varios lenguajes de programación.

Encriptadores de elementos

El encriptador de elementos es un componente de nivel inferior que realiza operaciones criptográficas para el cliente de cifrado de DynamoDB. Solicita materiales criptográficos a un proveedor de materiales criptográficos (CMP) y después utiliza los materiales que el CMP devuelve para cifrar y firmar, o para verificar y descifrar, el elemento de tabla.

Puede interactuar directamente con el encriptador de elementos o puede utilizar los elementos auxiliares proporcionados en la biblioteca. Por ejemplo, el cliente de cifrado de DynamoDB para Java incluye una clase auxiliar AttributeEncryptorDynamoDBMapper que puede utilizar con , en lugar de interactuar directamente con el encriptador de elementos DynamoDBEncryptor. La biblioteca Python incluye las clases auxiliares EncryptedTable, EncryptedClient y EncryptedResource que interactúan con el encriptador de elementos por usted.

Acciones de atributo

Las acciones de atributo indican al encriptador de elementos qué acciones hay que realizar en cada atributo del elemento.

Los valores de las acciones de atributo pueden ser uno de los siguientes:

  • Encrypt and sign: cifra el valor del atributo. Incluir el atributo (nombre y valor) en la firma del elemento.

  • Sign only: incluye el atributo en la firma del artículo.

  • Do nothing: no cifre ni firme el atributo.

Para cualquier atributo que pueda almacenar datos confidenciales, use Encrypt and sign. Para los atributos de clave principal (clave de partición y clave de clasificación), utilice Sign only. El atributo de descripción de material y el atributo de firma no se firman ni se cifran. No es necesario especificar acciones para estos atributos.

Elija cuidadosamente sus acciones de atributo. En caso de duda, use Encrypt and sign. Una vez que haya utilizado la para proteger los elementos de la tabla, no puede cambiar la acción de un atributo sin arriesgarse a que se produzca un error de validación de firma. Para obtener más información, consulte Cambiar el modelo de datos.

aviso

No cifre los atributos de clave principal. Deben permanecer en texto no cifrado para que DynamoDB pueda encontrar el elemento sin realizar un examen completo de la tabla.

Si el contexto de cifrado de identifica sus atributos de clave principal, el cliente generará un error si intenta cifrarlos.

La técnica empleada para especificar las acciones de atributo es diferente para cada lenguaje de programación. También puede ser específica de las clases auxiliares que utilice.

Para obtener más información, consulte la documentación de su lenguaje de programación.

Descripción de material

La descripción de material de un elemento de tabla cifrado consta de información, como los algoritmos de cifrado, acerca del cifrado y la firma del elemento de tabla. El proveedor de materiales criptográficos (CMP) registra la descripción de material mientras reúne los materiales criptográficos para el cifrado y la firma. Posteriormente, cuando necesita reunir los materiales criptográficos para verificar y descifrar el elemento, utiliza la descripción de material como guía.

En el DynamoDB Encryption Client, la descripción de material se refiere a tres elementos relacionados:

Descripción de material solicitado

Algunos proveedores de materiales criptográficos (CMP) permiten especificar opciones avanzadas, como un algoritmo de cifrado. Para indicar sus opciones, añada pares de nombre y valor a la propiedad de descripción de material del contexto de cifrado de en la solicitud para cifrar un elemento de tabla. Este elemento se conoce como la descripción de material solicitado. Los valores válidos de la descripción de material solicitado los define el CMP elegido.

nota

Puesto que la descripción de material puede anular valores predeterminados seguros, le recomendamos que omita la descripción de material solicitado a menos que tenga una razón de peso para utilizarla.

Descripción de material real

La descripción de material que los proveedores de materiales criptográficos (CMP) devuelven se conoce como la descripción de material real. Describe los valores reales que el CMP utilizó cuando reunió los materiales criptográficos. Por lo general, consiste en la descripción de material solicitado, si se utiliza, con algunos cambios y adiciones.

Atributo de descripción de material

El cliente guarda la descripción de material real en el atributo de descripción de material del elemento cifrado. El nombre del atributo de descripción de material es amzn-ddb-map-desc y su valor es la descripción de material real. El cliente utiliza los valores del atributo de descripción de material para verificar y descifrar el elemento.

Contexto de cifrado de DynamoDB

El contexto de cifrado de proporciona información acerca de la tabla y el elemento al proveedor de materiales criptográficos (CMP). En las implementaciones avanzadas, el contexto de cifrado de DynamoDB puede incluir una descripción del material solicitado.

Al cifrar elementos de tabla, el contexto de cifrado de DynamoDB está enlazado criptográficamente a los valores de atributo cifrados. Al descifrar, si el contexto de cifrado de no es una coincidencia exacta que distingue mayúsculas de minúsculas para el contexto de cifrado de utilizado para cifrar, se produce un error en la operación de descifrado. Si interactúa directamente con el cifrado de elementos debe proporcionar un contexto de cifrado de DynamoDB cuando llame a un método de cifrado o descifrado. La mayoría de los elementos auxiliares crean automáticamente el contexto de cifrado de .

nota

El contexto de cifrado de DynamoDB en el cliente de cifrado de DynamoDB no está relacionado con el contexto de cifrado en AWS Key Management Service (AWS KMS) y el AWS Encryption SDK.

El contexto de cifrado de puede incluir los siguientes campos. Todos los campos y valores son opcionales.

Almacén de proveedores

Un almacén de proveedores es un componente que devuelve proveedores de materiales criptográficos (CMP). El almacén de proveedores puede crear los CMP u obtenerlos de otra fuente, como otro almacén de proveedores. El almacén de proveedores guarda en el almacenamiento persistente las versiones de los CMP que crea; cada CMP almacenado se identifica mediante el nombre de material del solicitante y el número de versión.

El proveedor más reciente Proveedor más reciente del cliente de cifrado de DynamoDB obtiene sus CMP de otro almacén de proveedores, aunque usted puede utilizar el almacén de proveedores para suministrar CMP a cualquier componente. Cada proveedor más reciente está asociado a un almacén de proveedores, pero un almacén de proveedores puede suministrar CMP a varios solicitantes en varios hosts.

El almacén de proveedores crea nuevas versiones de los CMP bajo demanda, y devuelve versiones nuevas y existentes. También devuelve el número de versión más reciente de un nombre de material determinado. De esta forma, el solicitante puede saber cuándo el almacén de proveedores tiene una nueva versión de su CMP que puede solicitar.

El cliente de cifrado de DynamoDB incluye un MetaStore, que es un almacén de proveedores que crea CMP encapsulados con claves almacenadas en DynamoDB y cifradas mediante un interno.

Más información: