Cifrado y Enmascaramiento de Datos

Gestión de claves KMS, cifrado de envolvimiento, enmascaramiento/anonimización de datos, cumplimiento GDPR/HIPAA.

El cifrado es el equivalente digital de un candado. Transforma los datos en una forma ilegible para que, sin la clave correcta, nadie pueda entender el contenido — incluso si obtiene físicamente el dispositivo de almacenamiento o intercepta el tráfico de red. En la ingeniería de datos en la nube, el cifrado no es opcional. Cuando manejas datos personales de clientes, registros financieros o información médica, el cifrado es tanto un requisito de seguridad como, en muchos casos, una obligación legal. Esta guía explica cómo AWS implementa el cifrado, cómo enmascarar datos sensibles y cómo cumplir con los requisitos de conformidad.

 

Cifrado en Reposo (Encryption at Rest)

El cifrado en reposo significa que los datos se cifran mientras permanecen en un disco o medio de almacenamiento. Incluso si alguien roba físicamente un disco duro o accede sin autorización a un sistema de almacenamiento, no puede leer los datos sin la clave de descifrado.

Opciones de Cifrado en Amazon S3

S3 ofrece tres métodos de cifrado del lado del servidor (SSE), cada uno adecuado para diferentes requisitos de seguridad.

SSE-S3 es el método de cifrado predeterminado de S3 usando claves administradas por AWS. Está habilitado de forma predeterminada en todos los nuevos buckets S3 sin costo adicional. AWS gestiona todo el ciclo de vida de las claves. La contrapartida es que no tienes visibilidad sobre el uso de las claves — no puedes ver quién descifró qué objeto con qué clave. Para datos de propósito general sin requisitos de cumplimiento estrictos, SSE-S3 es perfectamente adecuado.

SSE-KMS usa una clave administrada por el cliente (CMK) de AWS Key Management Service. Creas la clave KMS tú mismo, defines quién puede usarla mediante políticas de claves y conservas el control sobre la rotación de claves. La ventaja más significativa es la auditabilidad: cada vez que alguien usa la clave para cifrar o descifrar un objeto S3, ese evento se registra en CloudTrail. Para datos financieros, registros médicos o cualquier dato regulado, SSE-KMS es la elección estándar.

SSE-C significa que el cliente proporciona la clave de cifrado directamente. Al subir un objeto, pasas la clave en un encabezado HTTP. S3 usa esa clave para cifrar los datos y luego la descarta — nunca la almacena. Esto te da control completo sobre tus claves, pero también significa que eres completamente responsable de la gestión de claves.

| Método | Gestor de Claves | Rastro de Auditoría | Costo Extra | Mejor Para | |--------|----------------|---------------------|------------|------------| | SSE-S3 | AWS completamente gestionado | Difícil | Ninguno | Datos generales | | SSE-KMS | Cliente vía KMS | Registros de CloudTrail | Tarifa por solicitud KMS | Datos regulados | | SSE-C | Cliente directamente | Ninguno | Ninguno | Máximos requisitos de seguridad |

!Comparación de opciones de cifrado del lado del servidor en S3

Cifrado en Amazon Redshift

Redshift cifra a nivel de clúster. Cuando habilitas el cifrado al crear el clúster, todos los datos almacenados — incluyendo tablas, instantáneas y copias de seguridad automáticas — están cifrados. Habilitar el cifrado después de crear el clúster requiere un reinicio.

Usar KMS para el cifrado de Redshift te da control de gestión de claves mientras AWS gestiona la infraestructura subyacente de claves.

CloudHSM está disponible para entornos que requieren el nivel más alto de garantía. Las claves se generan y almacenan en un dispositivo de hardware físico dedicado y nunca salen de ese hardware. Algunas regulaciones financieras y gubernamentales exigen explícitamente claves respaldadas por HSM.

DynamoDB y EMR

DynamoDB cifra todos los datos almacenados por defecto usando claves propiedad de AWS sin costo adicional. Si necesitas más control, puedes cambiar a una CMK administrada por el cliente.

Los clústeres EMR usan LUKS (Linux Unified Key Setup) para cifrar los volúmenes EBS de cada instancia EC2. Lo habilitás en la configuración de seguridad de EMR antes de lanzar el clúster.

 

Cifrado en Tránsito (Encryption in Transit)

El cifrado en tránsito protege los datos mientras se mueven a través de una red. Sin él, alguien que monitoree el tráfico de red podría leer los datos transferidos. Se usa TLS (Transport Layer Security).

Para Amazon S3, se hace cumplir el acceso solo HTTPS agregando una condición aws:SecureTransport a la política del bucket. Esta política deniega explícitamente cualquier solicitud que no use HTTPS.

Para Redshift, se establece el parámetro require_ssl en true en el grupo de parámetros del clúster. Cualquier intento de conexión que no use SSL es rechazado.

Para EMR, se configura el cifrado en tránsito en la configuración de seguridad de EMR, cubriendo tanto la comunicación entre nodos del clúster como el tráfico hacia servicios externos como S3.

 

Cifrado de Sobre (Envelope Encryption)

El cifrado de sobre es cómo KMS funciona realmente. KMS solo puede cifrar directamente datos de hasta 4 KB. Los conjuntos de datos reales son gigabytes o terabytes. La solución es cifrar los datos con una clave de datos (sin límite de tamaño), y luego cifrar esa clave de datos con la clave maestra KMS.

El proceso paso a paso:

Paso 1: Llama a KMS GenerateDataKey. KMS devuelve dos cosas: una clave de datos en texto plano y una clave de datos cifrada (la misma clave cifrada con tu clave maestra KMS).

Paso 2: Usa la clave de datos en texto plano para cifrar tus datos reales localmente — no dentro de KMS. No hay límite de tamaño para este paso.

Paso 3: Almacena los datos cifrados junto con la clave de datos cifrada. Descarta inmediatamente la clave de datos en texto plano de la memoria. La clave maestra nunca sale de KMS.

Para descifrar: recupera la clave de datos cifrada, envíala a KMS, recibe la clave de datos en texto plano, descifra los datos localmente.

La garantía de seguridad: incluso si un atacante roba los datos cifrados y la clave de datos cifrada, no puede descifrar nada sin acceso a la clave maestra KMS.

Cifrado entre Cuentas

Para permitir que una cuenta AWS diferente use tu clave KMS, debes modificar la política de clave KMS para permitir explícitamente que el rol IAM de la cuenta consumidora llame a kms:Decrypt.

 

Enmascaramiento y Anonimización de Datos

Muchos flujos de trabajo de ingeniería de datos necesitan compartir datos con equipos que no deben ver los valores sensibles sin procesar.

El enmascaramiento oculta parcialmente los datos originales preservando su formato. Un número de teléfono 010-1234-5678 se convierte en 010-****-5678. Los datos subyacentes en la base de datos no cambian — el enmascaramiento ocurre en la capa de visualización o exportación.

La anonimización transforma los datos de manera irreversible para que los individuos ya no puedan ser identificados. Los nombres, números de identificación y otros identificadores directos se eliminan o transforman. Los datos verdaderamente anonimizados no pueden vincularse a una persona específica.

La seudonimización reemplaza la información de identificación con identificadores artificiales (seudónimos). El nombre real se convierte en "USER_4729". A diferencia de la anonimización, la seudonimización es reversible — existe una tabla de mapeo separada que vincula seudónimos con identidades reales. El RGPD reconoce la seudonimización como una medida válida de protección de datos.

Herramientas de AWS para implementar enmascaramiento:

AWS Glue DataBrew es una herramienta visual de preparación de datos que permite definir reglas de enmascaramiento y transformación sin escribir código.

El control de acceso a nivel de columna de Lake Formation funciona como un mecanismo de enmascaramiento en tiempo de consulta. Lake Formation simplemente impide que usuarios específicos vean ciertas columnas.

Amazon Macie usa aprendizaje automático para descubrir y clasificar automáticamente PII en buckets S3. Identifica números de tarjetas de crédito, direcciones de correo electrónico, nombres y docenas de otros tipos de datos sensibles.

 

Marcos de Cumplimiento

GDPR (Reglamento General de Protección de Datos) es la ley integral de privacidad de datos de la Unión Europea. Se aplica a cualquier organización que procese datos personales de residentes de la UE. Los requisitos clave incluyen consentimiento explícito, derecho al olvido, notificación en 72 horas en caso de violación de datos, y medidas técnicas de seguridad apropiadas. Las multas pueden llegar hasta el 4% de los ingresos anuales globales.

HIPAA (Ley de Portabilidad y Responsabilidad de Seguros de Salud) es la ley federal de EE.UU. que protege la información médica. La PHI debe cifrarse tanto en reposo como en tránsito, y se deben mantener registros de acceso.

AWS Artifact es el portal de autoservicio donde puedes acceder a la documentación de cumplimiento de AWS, incluyendo informes SOC, ISO 27001, PCI DSS y documentos de cumplimiento HIPAA.

 

Referencia Rápida para el Examen

| Palabra Clave del Examen | Respuesta | |------------------------|-----------| | Cifrado S3 predeterminado, sin configuración extra | SSE-S3 | | Cifrado S3 con rastro de auditoría | SSE-KMS | | Cliente proporciona clave de cifrado a S3 | SSE-C | | Cifrado de clúster Redshift | KMS o CloudHSM | | Cifrado de volumen EBS en EMR | LUKS | | Cifrar datos mayores de 4 KB con KMS | Cifrado de sobre (Envelope Encryption) | | Uso de clave KMS entre cuentas | Política de clave KMS permitiendo la otra cuenta | | Forzar HTTPS en S3 | Condición aws:SecureTransport en política de bucket | | Ocultar parcialmente datos preservando formato | Enmascaramiento (Masking) | | Hacer datos imposibles de vincular a un individuo | Anonimización | | Reemplazar identificadores con seudónimos reversibles | Seudonimización | | Detección automática de PII en S3 con ML | Amazon Macie | | Transformaciones de enmascaramiento sin código | AWS Glue DataBrew | | Regulación de privacidad de datos de la UE | RGPD (GDPR) | | Ley de prote

Volver a la lista del blog