Funcionamiento del AWS Encryption SDK - AWS Encryption 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.

Funcionamiento del AWS Encryption SDK

Los flujos de trabajo de esta sección explican cómo el AWS Encryption SDK cifra datos y descifra mensajes cifrados. Estos flujos de trabajo describen el proceso básico mediante las características predeterminadas. Para obtener detalles sobre la definición y el uso de componentes personalizados, consulte el GitHub repositorio de cada implementación de lenguaje compatible.

El AWS Encryption SDK utiliza el cifrado de sobre para proteger los datos. Cada mensaje se cifra en una clave de datos única. Luego, la clave de datos la cifran las claves de empaquetado que especifique. Para descifrar el mensaje cifrado, el AWS Encryption SDK utiliza las claves de empaquetado que especifique para descifrar al menos una clave de datos cifrada. Luego, puede descifrar el texto cifrado y devolver un mensaje de texto no cifrado.

¿Necesita ayuda con la terminología que utilizamos en el AWS Encryption SDK? Consulte Conceptos del AWS Encryption SDK.

Cómo cifra los datos el AWS Encryption SDK

El AWS Encryption SDK proporciona métodos que cifran cadenas, matrices de bytes y secuencias de bytes. Para ver ejemplos de código, consulte el tema Ejemplos de cada sección de Lenguajes de programación.

  1. Cree un llavero (o un proveedor de claves maestras) que especifique las claves de empaquetado que protegen sus datos.

  2. Pase el llavero y los datos del texto no cifrado a un método de cifrado. Recomendamos que pase un contexto de cifrado opcional, no secreto.

  3. El método de cifrado solicita al llavero los materiales de cifrado. El conjunto de claves devuelve claves de cifrado de datos únicas para el mensaje: una clave de datos en texto plano y una copia de esa clave de datos cifrada por cada una de las claves de empaquetado especificadas.

  4. El método de cifrado utiliza la clave de datos en texto no cifrado para cifrar los datos y, a continuación, la descarta. Si proporcionó un contexto de cifrado (una práctica recomendada de AWS Encryption SDK), el método de cifrado vincula criptográficamente el contexto de cifrado a los datos cifrados.

  5. El método de cifrado devuelve un mensaje cifrado que contiene los datos cifrados, las claves de datos cifrados y otros metadatos, incluido el contexto de cifrado, si se utilizó alguno.

Cómo descifra el AWS Encryption SDK un mensaje cifrado

El AWS Encryption SDK proporciona métodos que descifran el mensaje cifrado y devuelven texto no cifrado. Para ver ejemplos de código, consulte el tema Ejemplos de cada sección de Lenguajes de programación.

El llavero (o proveedor de claves maestras) que descifra el mensaje cifrado debe ser compatible con el utilizado para cifrar el mensaje. Una de sus claves de empaquetado debe poder descifrar una clave de datos cifrada del mensaje cifrado. Para obtener información sobre la compatibilidad con los llaveros y los proveedores de claves maestras, consulte Compatibilidad de conjuntos de claves.

  1. Cree un llavero o un proveedor de claves maestras con claves de empaquetado que puedan descifrar los datos. Puede utilizar el mismo llavero que proporcionó para el método de cifrado u otro distinto.

  2. Pase el mensaje cifrado y el llavero a un método de descifrado.

  3. El método de descifrado pide al llavero o al proveedor de claves maestras que descifre una de las claves de datos cifradas del mensaje cifrado. Pasa información del mensaje cifrado, incluidas las claves de datos cifradas.

  4. El llavero utiliza sus claves de empaquetado para descifrar una de las claves de datos cifradas. Si se realiza correctamente, la respuesta incluye la clave de datos en texto no cifrado. Si ninguna de las claves de empaquetado especificadas por el llavero o el proveedor de claves maestras puede descifrar una clave de datos cifrada, se produce un error en la llamada de descifrado.

  5. El método de descifrado utiliza la clave de datos en texto no cifrado para descifrar los datos, descarta la clave de datos de texto no cifrado y devuelve los datos de texto no cifrado.