Uso de cifrado en el lado del servidor con claves proporcionadas por el cliente (SSE-C)
El cifrado en el servidor consiste en proteger los datos en reposo. El cifrado en el servidor solo cifra los datos de objetos, no los metadatos de objetos. Puede usar el cifrado del servidor con claves proporcionadas por el cliente (SSE-C) en los buckets de propósito general para cifrar los datos con sus propias claves de cifrado. Con la clave de cifrado que proporcione como parte de su solicitud, Amazon S3 administra tanto el cifrado de datos, al escribir en los discos, como el descifrado de datos, al obtener acceso a los objetos. Por tanto, no ha de mantener ningún código para llevar a cabo el cifrado y el descifrado de los datos. Lo único que tiene que hacer es administrar las claves de cifrado que proporcione.
En la mayoría de casos de uso modernos de Amazon S3 ya no se utiliza SSE-C porque no tiene la flexibilidad del cifrado del servidor con claves administradas por Amazon S3 (SSE-S3) o el cifrado del servidor con claves de AWS KMS (SSE-KMS). El requisito de SSE-C de proporcionar la clave de cifrado cada vez que interactúa con los datos cifrados de SSE-C hace que no sea práctico compartir la clave de SSE-C con otros usuarios, roles o servicios de AWS que leen datos de los buckets de S3 para poder operar en los datos. Debido a la amplia compatibilidad con SSE-KMS en todo AWS, la mayoría de las cargas de trabajo modernas no utilizan el cifrado SSE-C porque carece de la flexibilidad del SSE-KMS. Para obtener más información sobre SSE-KMS, consulte Uso del cifrado del servidor con claves de AWS KMS (SSE-KMS).
Si quiere evitar que el cifrado SSE-C se utilice para los objetos escritos en el bucket, puede bloquear el cifrado SSE-C al cambiar la configuración de cifrado predeterminada del bucket. Cuando se bloquea SSE-C para un bucket de uso general, cualquier solicitud PutObject, CopyObject, PostObject, de carga o replicación multiparte que especifique el cifrado SSE-C se rechazará con un error HTTP 403 AccessDenied. Para obtener más información acerca de bloquear SSE-C, consulte Bloqueo o desbloqueo de SSE-C para un bucket de uso general.
El uso de SSE-C no tiene costes adicionales. Sin embargo, las solicitudes de configuración y uso de SSE-C incurren en cargos estándar de solicitud de Amazon S3. Para obtener información acerca de los precios, consulte Precios de Amazon S3
importante
A partir de abril de 2026, AWS desactivará el cifrado del servidor con claves proporcionadas por el cliente (SSE-C) para todos los buckets nuevos. Además, el cifrado SSE-C se desactivará para todos los buckets existentes en Cuentas de AWS que no contengan datos cifrados con SSE-C. Con estos cambios, las pocas aplicaciones que necesitan el cifrado SSE-C deberán habilitar deliberadamente el uso de SSE-C a través de la API PutBucketEncryption después de crear el bucket. En estos casos, es posible que deba actualizar los scripts de automatización, las plantillas de CloudFormation u otras herramientas de configuración de infraestructura para configurar estos ajustes. Para obtener más información, consulte la publicación del Blog de almacenamiento de AWS
Consideraciones antes de usar SSE-C
-
S3 nunca almacena la clave de cifrado cuando se utiliza SSE-C. Debe proporcionar la clave de cifrado cada vez que desee que alguien descargue los datos cifrados con SSE-C de S3.
-
Debe administrar el mapeo de qué clave de cifrado se utiliza para cifrar cada objeto. Usted debe responsabilizarse de realizar un seguimiento de qué clave de cifrado proporciona para cada objeto. Esto también implica que, si pierde la clave de cifrado, habrá perdido el objeto.
-
Dado que es usted quien administra las claves de cifrado en el cliente, ha de administrar todas las garantías adicionales, como la rotación de claves, en el lado del cliente.
-
Este diseño puede dificultar el intercambio de la clave de SSE-C con otros usuarios, roles o servicios de AWS que utilice con los datos. Debido a la amplia compatibilidad con SSE-KMS en todo AWS, la mayoría de las cargas de trabajo modernas no utilizan SSE-C porque carece de la flexibilidad del SSE-KMS. Para obtener más información sobre SSE-KMS, consulte Uso del cifrado del servidor con claves AWS KMS (SSE-KMS).
-
Esto significa que los objetos cifrados con SSE-C no se pueden descifrar de forma mediante servicios administrados por AWS.
-
-
Debe usar HTTPS al especificar los encabezados de SSE-C en las solicitudes.
-
Amazon S3 rechaza cualquier solicitud que se realice por HTTP cuando use SSE-C. Por motivos de seguridad, le recomendamos que tenga en cuenta que cualquier clave que envíe por error sobre HTTP podría estar en peligro. Descarte la clave y practique la rotación apropiada.
-
-
Si el bucket tiene habilitado el control de versiones, cada versión del objeto que cargue puede tener su propia clave de cifrado. Usted debe responsabilizarse de realizar un seguimiento de qué clave de cifrado se ha utilizado en cada versión del objeto.
-
La consola de Amazon S3 no admite SSE-C. No es posible utilizar la consola de Amazon S3 para cargar un objeto y especificar el cifrado SSE-C. Tampoco puede usar la consola para actualizar (por ejemplo, cambiar la clase de almacenamiento o agregar metadatos) un objeto existente almacenado con SSE-C.