Modos de cifrado y obligado en tránsito

Uso de la seguridad de AWS para desarrolladores

Rahul Singh

Technical Product Manager

Dos garantías, una por defecto

Una aplicación envía un objeto a un bucket de Amazon S3. Un corchete verde etiquetado en tránsito abarca el salto de red, y un segundo corchete verde etiquetado en reposo abarca el objeto almacenado, sobre una nota que indica que SSE-S3 se aplica salvo que la solicitud diga lo contrario.

  • En reposo: los bytes en disco
  • En tránsito: los bytes en la red
Uso de la seguridad de AWS para desarrolladores

Dos garantías, una por defecto

Una aplicación envía un objeto a un bucket de Amazon S3. Un corchete verde etiquetado en tránsito abarca el salto de red, y un segundo corchete verde etiquetado en reposo abarca el objeto almacenado, sobre una nota que indica que SSE-S3 se aplica salvo que la solicitud diga lo contrario.

  • En reposo: los bytes en disco
  • En tránsito: los bytes en la red
  • Ya hecho: SSE-S3 en cada objeto nuevo
  • Aún tuyo: qué modo y quién guarda la clave, lo decides tú
Uso de la seguridad de AWS para desarrolladores

Dónde deja de estar en claro

Del lado del servidor

  • AWS recibe bytes legibles
  • S3 cifra al escribir

 

Un flujo del lado del servidor. Tu proceso mantiene texto en claro, lo envía por un hilo TLS y Amazon S3 cifra al escribir. Una barra debajo sigue los bytes, partida por un divisor discontinuo en S3: el tramo anterior está etiquetado «tus bytes: legibles aquí» y en rojo; el tramo posterior, «cifrado» y en verde.

 

Uso de la seguridad de AWS para desarrolladores

Dónde deja de estar en claro

Del lado del servidor

  • AWS recibe bytes legibles
  • S3 cifra al escribir

Del lado del cliente

  • Cifras antes de que salga
  • AWS solo almacena cifrado

Un flujo del lado del servidor. Tu proceso mantiene texto en claro, lo envía por un hilo TLS y Amazon S3 cifra al escribir. Una barra debajo sigue los bytes, partida por un divisor discontinuo en S3: el tramo anterior está etiquetado «tus bytes: legibles aquí» y en rojo; el tramo posterior, «cifrado» y en verde.

Un flujo del lado del cliente. Tu proceso cifra primero, envía cifrado por un hilo TLS y Amazon S3 guarda lo que recibe. Una barra debajo sigue los bytes, partida por un divisor discontinuo dentro de tu proceso: el tramo corto anterior está etiquetado «tus bytes: legibles aquí» y en rojo; todo lo posterior, «cifrado» y en verde.

Uso de la seguridad de AWS para desarrolladores

Cuatro modos, una diferencia

Mismo algoritmo, cuatro dueños de clave

  • El modo viaja como cabecera en el PUT
  • SSE-S3: clave de AWS, sin gestión
  • SSE-KMS: tu clave, CloudTrail y una política de clave unida a la clave que define a quién responde

Cuatro cartas apiladas con SSE-S3, SSE-KMS, DSSE-KMS y SSE-C. Un raíl a la izquierda va del control de AWS arriba al tuyo abajo, y cada carta muestra solo el valor de la cabecera que selecciona ese modo.

Uso de la seguridad de AWS para desarrolladores

Cuatro modos, una diferencia

Mismo algoritmo, cuatro dueños de clave

  • El modo viaja como cabecera en el PUT
  • SSE-S3: clave de AWS, sin gestión
  • SSE-KMS: tu clave, CloudTrail y una política de clave unida a la clave que define a quién responde
  • DSSE-KMS: dos capas independientes
  • SSE-C: tu clave en cada solicitud, tu riesgo si la pierdes

Cuatro cartas apiladas con SSE-S3, SSE-KMS, DSSE-KMS y SSE-C. Un raíl a la izquierda va del control de AWS arriba al tuyo abajo, y cada carta muestra solo el valor de la cabecera que selecciona ese modo.

Uso de la seguridad de AWS para desarrolladores

La objeción de coste a SSE-KMS

Dos filas. Sin Bucket Keys, seis flechas van de Amazon S3 a AWS KMS, una por cada solicitud de objeto. Con Bucket Keys, una única flecha sale de una clave a nivel de bucket mantenida dentro de S3. Una nota indica que Bucket Keys no está disponible con DSSE-KMS.

  • Sin: una llamada KMS por objeto
  • Con Bucket Keys: una clave temporal, reutilizada
  • No disponible con DSSE-KMS
  • Hasta un 99% menos de solicitudes a KMS
Uso de la seguridad de AWS para desarrolladores

Cifra el campo, no la tabla

En reposo ya está activado

  • Una consulta devuelve texto en claro a cualquiera con permiso de lectura

Un elemento de DynamoDB con cinco atributos. Dos atributos guardan cifrado y llevan raíles azules, mientras que la clave de partición, la clave de ordenación y la marca de tiempo permanecen en claro. Un recuadro verde indica que toda la tabla está cifrada en reposo.

Uso de la seguridad de AWS para desarrolladores

Cifra el campo, no la tabla

En reposo ya está activado

  • Una consulta devuelve texto en claro a cualquiera con permiso de lectura

AWS Database Encryption SDK

  • Cifra atributos elegidos en tu código
  • Las claves de partición y ordenación, por las que DynamoDB busca elementos, quedan en claro porque se indexa sobre ellas

Un elemento de DynamoDB con cinco atributos. Dos atributos guardan cifrado y llevan raíles azules, mientras que la clave de partición, la clave de ordenación y la marca de tiempo permanecen en claro. Un recuadro verde indica que toda la tabla está cifrada en reposo.

Uso de la seguridad de AWS para desarrolladores

TLS se ofrece, no se exige

Disponible, no obligatorio

  • S3 responde igual por HTTP y HTTPS

Dos escenarios. Sin condición en el bucket, tanto un cliente HTTPS como uno HTTP llegan al objeto. Con la condición de denegar, la ruta HTTP se detiene en una cruz roja y no conecta.

Uso de la seguridad de AWS para desarrolladores

TLS se ofrece, no se exige

Disponible, no obligatorio

  • S3 responde igual por HTTP y HTTPS

Hazlo obligatorio

  • Política del bucket: deniega cuando aws:SecureTransport sea false
  • Los clientes legítimos no notan nada

Dos escenarios. Sin condición en el bucket, tanto un cliente HTTPS como uno HTTP llegan al objeto. Con la condición de denegar, la ruta HTTP se detiene en una cruz roja y no conecta.

Uso de la seguridad de AWS para desarrolladores

Qué autoridad avala el nombre

Nombre público

  • ACM: de confianza pública, gratis, se renueva solo

Nombre que solo resuelve tu red

  • AWS Private CA: tu propia autoridad certificadora
  • Nunca confiable en internet pública

Dos cartas apiladas tituladas quién puede emitir el certificado. La superior, nombre público, indica reports punto example punto com como nombre que resuelve y ACM como emisor, confiado en todas partes. La inferior, nombre interno, indica admin punto example punto internal, que solo resuelve dentro de tu VPC, y AWS Private CA como emisor.

Uso de la seguridad de AWS para desarrolladores

La mitad privada es tuya… y puedes perderla

Quién la guarda

  • ACM: AWS la conserva
  • Par de claves de EC2, o cualquier clave SSH: tú guardas la parte privada, una vez

Dos cartas apiladas tituladas quién guarda cada mitad. La superior, mitad pública, dice que vive en AWS o en la instancia. La inferior naranja, mitad privada, da tres filas: recibes una copia sin repuesto, guárdala en Secrets Manager con un tick verde, y nunca en un repo, portátil o chat, con una cruz naranja.

Uso de la seguridad de AWS para desarrolladores

La mitad privada es tuya… y puedes perderla

Quién la guarda

  • ACM: AWS la conserva
  • Par de claves de EC2, o cualquier clave SSH: tú guardas la parte privada, una vez

Si es tuya

  • Secrets Manager, no un repo
  • Rótala con periodicidad

Dos cartas apiladas tituladas quién guarda cada mitad. La superior, mitad pública, dice que vive en AWS o en la instancia. La inferior naranja, mitad privada, da tres filas: recibes una copia sin repuesto, guárdala en Secrets Manager con un tick verde, y nunca en un repo, portátil o chat, con una cruz naranja.

Uso de la seguridad de AWS para desarrolladores

Tres respuestas, no una

Tres tarjetas numeradas para modo, control de claves y tránsito, cada una mostrando la cabecera o clave de condición que lo determina. Una línea indica que solo la tercera comprobación vive fuera de los ajustes de cifrado.

  1. Modo: qué escribió el objeto
  2. Control de clave: quién puede descifrarlo, en esta cuenta u otra
  3. Tránsito: obligatorio o solo ofrecido
Uso de la seguridad de AWS para desarrolladores

¡Vamos a practicar!

Uso de la seguridad de AWS para desarrolladores

Preparing Video For Download...