¿Qué es el 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.

¿Qué es el AWS Encryption SDK?

AWS Encryption SDK Es una biblioteca de cifrado del lado del cliente diseñada para que todos puedan cifrar y descifrar datos fácilmente utilizando los estándares y las mejores prácticas del sector. Permite centrarse en la funcionalidad central de la aplicación, en lugar de en la mejor manera de cifrar y descifrar los datos. AWS Encryption SDK Se proporciona de forma gratuita bajo la licencia Apache 2.0.

AWS Encryption SDK Responde a preguntas como las siguientes para usted:

  • ¿Qué algoritmo de cifrado debo usar?

  • ¿Cómo o en qué modo debo usar ese algoritmo?

  • ¿Cómo se genera la clave de cifrado?

  • ¿Cómo se protege la clave de cifrado y dónde debo almacenarla?

  • ¿Cómo hago que los datos cifrados sean portables?

  • ¿Cómo me aseguro de que el destinatario previsto pueda leer los datos cifrados?

  • ¿Cómo me aseguro de que los datos cifrados no sufran ninguna modificación desde que se escriben hasta que se leen?

  • ¿Cómo utilizo las claves de datos que se AWS KMS devuelven?

Con el AWS Encryption SDK, se define un proveedor de claves maestras (Python) o un anillo de claves (C, C#/. NET, Java y JavaScript) que determina qué claves de empaquetado se utilizan para proteger los datos. A continuación, se cifran y descifran los datos mediante los sencillos métodos proporcionados por. AWS Encryption SDK El AWS Encryption SDK hace el resto.

Sin ellas AWS Encryption SDK, podría dedicar más esfuerzo a crear una solución de cifrado que a la funcionalidad principal de su aplicación. AWS Encryption SDK Responde a estas preguntas proporcionando lo siguiente.

Una implementación predeterminada que cumple las prácticas recomendadas en criptografía

De forma predeterminada, AWS Encryption SDK genera una clave de datos única para cada objeto de datos que cifra. Esto es conforme con la práctica recomendada en criptografía que consiste en usar claves de datos únicas para cada operación de cifrado.

AWS Encryption SDK Cifra los datos mediante un algoritmo de clave simétrica, autenticado y seguro. Para obtener más información, consulte Conjuntos de algoritmos admitidos en el AWS Encryption SDK.

Un marco para proteger las claves de datos mediante claves de encapsulamiento

AWS Encryption SDK Protege las claves de datos que cifran sus datos al cifrarlos bajo una o más claves de empaquetado. Al proporcionar un marco para cifrar las claves de datos con más de una clave de empaquetado, AWS Encryption SDK ayuda a que los datos cifrados sean portátiles.

Por ejemplo, cifra los datos de tu entorno local AWS KMS key con una entrada AWS KMS y una clave. HSM Puede usar cualquiera de las claves de encapsulamiento para descifrar los datos, en caso de que alguna no esté disponible o la persona que llama no tenga permiso para usar ambas claves.

Un mensaje con formato que almacene las claves de datos cifradas con los datos cifrados

AWS Encryption SDK Almacena los datos cifrados y la clave de datos cifrados juntos en un mensaje cifrado que utiliza un formato de datos definido. Esto significa que no necesita realizar un seguimiento ni proteger las claves de datos que cifran sus datos porque lo AWS Encryption SDK hacen por usted.

Algunas implementaciones lingüísticas AWS Encryption SDK requieren un servicio AWS SDK, pero AWS Encryption SDK no lo requieren Cuenta de AWS y no dependen de ningún AWS servicio. Cuenta de AWS Solo la necesita si decide utilizarla AWS KMS keyspara proteger sus datos.

Desarrollado en repositorios de código abierto

AWS Encryption SDK Está desarrollado en repositorios de código abierto en. GitHub Puede usar estos repositorios para ver el código, leer y enviar los problemas y encontrar información específica sobre la implementación de su lenguaje.

Compatibilidad con bibliotecas y servicios de cifrado

AWS Encryption SDK Es compatible con varios lenguajes de programación. Todas las implementaciones de lenguaje son interoperables. Puede cifrar con una implementación de lenguaje y descifrar con otra. La interoperabilidad puede estar sujeta a restricciones de lenguaje. Si es así, estas restricciones se describen en el tema que trata de la implementación del lenguaje. Además, al cifrar y descifrar, debe usar conjuntos de claves compatibles o claves maestras y proveedores de claves maestras. Para obtener más información, consulte Compatibilidad de conjuntos de claves.

Sin embargo, AWS Encryption SDK no puede interoperar con otras bibliotecas. Dado que cada biblioteca devuelve datos cifrados en un formato diferente, no se puede cifrar con una biblioteca y luego descifrar con otra.

Cliente de cifrado de DynamoDB y cifrado del cliente de Amazon S3

AWS Encryption SDK No pueden descifrar los datos cifrados por el cliente de cifrado de DynamoDB o el cifrado del lado del cliente de Amazon S3. Estas bibliotecas no pueden descifrar el mensaje cifrado que devuelven. AWS Encryption SDK  

AWS Key Management Service (AWS KMS)

AWS Encryption SDK Pueden usar AWS KMS keysclaves de datos para proteger sus datos, incluidas las claves multirregionalesKMS. Por ejemplo, puede configurar el AWS Encryption SDK para cifrar sus datos AWS KMS keys en uno o más de sus archivos. Cuenta de AWS Sin embargo, debe usar el AWS Encryption SDK para descifrar esos datos.

AWS Encryption SDK No puede descifrar el texto cifrado que devuelven las operaciones de AWS KMS cifrado o. ReEncrypt Del mismo modo, la operación de AWS KMSdescifrado no puede descifrar el mensaje cifrado que devuelve. AWS Encryption SDK

Solo AWS Encryption SDK admite claves de cifrado simétricas. KMS No puede utilizar una KMSclave asimétrica para cifrar o iniciar sesión en. AWS Encryption SDK AWS Encryption SDK Genera sus propias claves de ECDSA firma para los conjuntos de algoritmos que firman mensajes.

Compatibilidad y mantenimiento

AWS Encryption SDK Utiliza la misma política de mantenimiento que utilizan las AWS SDK herramientas, incluidas las fases de control de versiones y ciclo de vida. Como práctica recomendada, le recomendamos que utilice la última versión disponible del lenguaje de programación y que la AWS Encryption SDK actualice a medida que se publiquen nuevas versiones. Cuando una versión requiera cambios importantes, como la actualización desde AWS Encryption SDK versiones anteriores a la 1.7. x a las versiones 2.0. x y versiones posteriores, proporcionamos instrucciones detalladas para ayudarle.

Cada implementación del lenguaje de programación AWS Encryption SDK se desarrolla en un GitHub repositorio de código abierto independiente. Es probable que el ciclo de vida y la fase de soporte de cada versión varíen de un repositorio a otro. Por ejemplo, una versión determinada de AWS Encryption SDK puede estar en la fase de disponibilidad general (soporte total) en un lenguaje de programación, pero la end-of-support fase en un lenguaje de programación diferente. Le recomendamos que utilice una versión totalmente compatible siempre que sea posible y evite las versiones que ya no lo sean.

Para conocer la fase del ciclo de vida de AWS Encryption SDK las versiones de su lenguaje de programación, consulte el SUPPORT_POLICY.rst archivo de cada AWS Encryption SDK repositorio.

Para obtener más información, consulte la política de mantenimiento Versiones del AWS Encryption SDKAWS SDKs y las herramientas en la Guía de referencia de herramientas AWS SDKs y herramientas.

Más información

Para obtener más información sobre el cifrado AWS Encryption SDK y el cifrado del lado del cliente, pruebe estas fuentes.

Para obtener información sobre las implementaciones de AWS Encryption SDK en diferentes lenguajes de programación.

Envío de comentarios

Agradecemos sus comentarios. Si tiene una pregunta o comentario, o un problema del que informar, utilice los siguientes recursos.

  • Si descubre una posible vulnerabilidad de seguridad en el AWS Encryption SDK, notifíquelo al equipo AWS de seguridad. No cree una GitHub emisión pública.

  • Para enviar comentarios al respecto AWS Encryption SDK, archiva un problema en el GitHub repositorio del lenguaje de programación que estés utilizando.

  • Para proporcionar comentarios sobre esta documentación, use el enlace Comentarios de esta página. También puedes archivar un problema o contribuir al aws-encryption-sdk-docsrepositorio de código abierto en GitHub el que se encuentra esta documentación.