Volver a artículos
security-compliance12 min de lectura2025-12-11

AWS KMS y Cifrado de Datos

Gestiona claves de cifrado y protege tus datos en reposo y en tránsito.

KMScifradoencryptionclavesseguridadSSECMKdatos en reposo

1Conceptos Básicos de Cifrado

¿Por qué cifrar?

El cifrado protege los datos haciéndolos ilegibles sin la clave correcta.

Datos en reposo (at rest): Datos almacenados en disco, S3, bases de datos, etc.

Datos en tránsito (in transit): Datos moviéndose por la red (HTTPS, TLS).

Tipos de cifrado:

Cifrado simétrico: Una sola clave para cifrar y descifrar. Es más rápido.

Cifrado asimétrico: Par de claves (pública/privada). Se usa para intercambio de claves y firmas.

AWS maneja la complejidad

No necesitas ser experto en criptografía. AWS proporciona servicios que simplifican el cifrado.

2AWS Key Management Service (KMS)

¿Qué es KMS?

AWS KMS es un servicio gestionado para crear y controlar claves de cifrado usadas para proteger tus datos.

Características:

  • Gestión centralizada: Todas las claves en un lugar
  • Integrado con servicios AWS: S3, EBS, RDS, Lambda, etc.
  • Auditoría: CloudTrail registra cada uso de claves
  • Cumplimiento: FIPS 140-2 Level 3 validated

Tipos de claves en KMS:

TipoQuién la gestionaCosto
AWS Managed KeysAWS completamenteGratis
Customer Managed Keys (CMK)Tú (con opciones de AWS)$1/mes + uso
AWS Owned KeysAWS (no ves en tu cuenta)Gratis

AWS Managed Keys:

  • Creadas automáticamente por servicios (ej: aws/s3)
  • Rotación automática cada año
  • No puedes administrarlas directamente

Customer Managed Keys:

  • Tú las creas y gestionas
  • Control sobre rotación
  • Puedes definir políticas de acceso
  • Puedes importar tu propio material de clave

3Operaciones de KMS

Cifrado con KMS:

[Datos] → [KMS: Encrypt con CMK] → [Datos cifrados]
[Datos cifrados] → [KMS: Decrypt con CMK] → [Datos]

Envelope Encryption (Cifrado de sobre):

Para datos grandes, KMS usa una técnica más eficiente:

1. KMS genera Data Key (clave de datos)
2. Usa Data Key para cifrar los datos (localmente)
3. Cifra la Data Key con la CMK
4. Almacena: datos cifrados + Data Key cifrada

¿Por qué?

  • KMS tiene límite de 4KB por operación
  • Cifrar localmente es más rápido
  • Solo la Data Key viaja a KMS

Operaciones principales:

OperaciónDescripción
EncryptCifra datos (hasta 4KB)
DecryptDescifra datos
GenerateDataKeyGenera Data Key para envelope encryption
ReEncryptDescifra y recifra con otra clave

4Políticas de Claves

Key Policy (Política de clave)

Cada CMK tiene una política que define quién puede usarla.

Estructura:

{
  "Statement": [{
    "Sid": "Allow use of the key",
    "Effect": "Allow",
    "Principal": {
      "AWS": "arn:aws:iam::123456789012:role/MyRole"
    },
    "Action": [
      "kms:Encrypt",
      "kms:Decrypt",
      "kms:GenerateDataKey"
    ],
    "Resource": "*"
  }]
}

Grants

Permisos temporales delegables:

  • Un usuario puede dar acceso a la clave a otro
  • Útil para servicios que necesitan acceso temporal
  • Revocables

ViaService Condition

Permite que la clave solo se use a través de ciertos servicios:

"Condition": {
  "StringEquals": {
    "kms:ViaService": "s3.us-east-1.amazonaws.com"
  }
}

"Esta clave solo puede usarse cuando S3 la invoque"

5Rotación de Claves

Rotación Automática

Para Customer Managed Keys:

  • Puedes habilitar rotación automática
  • Nueva clave cada año
  • Las versiones anteriores se mantienen para descifrar datos antiguos
  • Los datos NO se recifran automáticamente

Para AWS Managed Keys:

  • Rotación automática cada año
  • No puedes deshabilitarla

Rotación Manual

Para importar material de clave nuevo:

  1. Crear nueva CMK con nuevo material
  2. Actualizar alias a nueva CMK
  3. Los datos viejos usan clave vieja (por ID)
  4. Recifrar datos si es necesario

Alias de Claves

Nombres amigables para tus claves:

  • alias/mi-clave-produccion
  • Puedes apuntar a diferentes CMKs
  • Útil para rotación sin cambiar código

6Cifrado en Servicios AWS

Servicios con cifrado integrado:

ServicioTipo de cifrado
S3SSE-S3, SSE-KMS, SSE-C
EBSCifrado con KMS
RDSCifrado con KMS
DynamoDBCifrado con KMS
LambdaVariables de entorno cifradas
Secrets ManagerCifrado con KMS

S3 Server-Side Encryption:

OpciónQuién gestiona la clave
SSE-S3AWS completamente
SSE-KMSAWS KMS (tú controlas)
SSE-CTú (proporcionas la clave)

Client-Side Encryption:

Tú cifras antes de enviar a AWS:

  • Más control
  • AWS nunca ve datos en claro
  • Más complejidad de implementación

Datos en tránsito:

  • HTTPS/TLS: Para todas las APIs de AWS
  • VPN: Para conexiones on-premises
  • PrivateLink: Tráfico privado sin Internet

7KMS en el Examen CLF-C02

Puntos clave:

  1. KMS gestiona claves de cifrado
  2. AWS Managed Keys: Gratuitas, AWS las gestiona
  3. Customer Managed Keys: $1/mes, tú controlas
  4. Envelope Encryption: Data Keys para datos grandes
  5. Rotación automática: Anual para managed y CMK
  6. Auditoría con CloudTrail: Cada uso de clave se registra
  7. Integrado con muchos servicios: S3, EBS, RDS, etc.

Preguntas típicas:

"¿Qué servicio gestiona claves de cifrado en AWS?" → AWS KMS

"¿Cómo cifrar datos en S3 con control sobre las claves?" → SSE-KMS (Server-Side Encryption con KMS)

"¿Qué tipo de clave de KMS es gratuita?" → AWS Managed Keys

"¿Con qué frecuencia rotan las claves en KMS?" → Automáticamente cada año (si está habilitado)

"¿Dónde se registra cada uso de una clave KMS?" → AWS CloudTrail

Puntos Clave para el Examen

  • KMS: Gestión centralizada de claves de cifrado
  • AWS Managed Keys: Gratis, gestionadas por AWS
  • Customer Managed Keys: $1/mes, tú controlas políticas
  • Envelope Encryption: Data Keys para datos grandes
  • Rotación automática: Cada año (habilitado por defecto en managed)
  • Auditoría: CloudTrail registra cada operación
  • Integrado con: S3, EBS, RDS, DynamoDB, Lambda, etc.
AprobaYa - Prepárate para tus Certificaciones