Filtros
Nivel
Artículos (116)
Wiki/Defensas/Cifrado de Datos
Básico14 min lectura

Cifrado en Reposo y en Tránsito

TLS 1.3, Full Disk Encryption, cifrado de bases de datos y gestión de claves con KMS/HSM

Los Dos Tipos de Cifrado de Datos

Cifrado en Tránsito

Protege los datos mientras viajan por la red. Si alguien intercepta el tráfico (MitM, sniffing), solo ve datos cifrados.

Tecnologías: TLS 1.3, IPsec, SSH, SFTP, mTLS

Cifrado en Reposo

Protege los datos almacenados. Si alguien roba un disco o un backup, los datos son ilegibles sin la clave.

Tecnologías: AES-256-XTS (FDE), AES-256-GCM (ficheros), column encryption (BD)

TLS 1.3 — El Estándar en Tránsito

TLS 1.3 (RFC 8446, 2018) mejora drásticamente sobre TLS 1.2: reduce el handshake a 1-RTT (o 0-RTT para sesiones reanudadas), elimina cifrados débiles, y obliga a Forward Secrecy.

# TLS 1.3 Handshake simplificado

Cliente → [ClientHello + key_share (ECDH)] → Servidor

Servidor → [ServerHello + key_share + Certificate + Finished] → Cliente

Cliente → [Finished] → Servidor

✅ Conexión establecida en 1 RTT

# Cipher suites en TLS 1.3 (solo estas 5)

TLS_AES_256_GCM_SHA384

TLS_CHACHA20_POLY1305_SHA256

TLS_AES_128_GCM_SHA256

Eliminado en TLS 1.3

  • ❌ RSA key exchange (sin PFS)
  • ❌ DH estático
  • ❌ RC4, 3DES, MD5
  • ❌ CBC cipher modes
  • ❌ TLS compression (CRIME attack)

Herramientas de auditoría TLS

  • • testssl.sh: auditoría completa TLS
  • • SSL Labs (ssllabs.com): puntuación A+
  • • nmap --script ssl-enum-ciphers
  • • Mozilla SSL Configuration Generator

Full Disk Encryption (FDE)

Cifra el disco completo. Sin la clave (generalmente derivada de la contraseña del usuario o almacenada en TPM), el disco no puede ser leído aunque se extraiga físicamente.

BitLocker

Windows

Integrado en Windows Pro/Enterprise. Usa TPM + PIN. Claves de recuperación en AD/Azure AD.

FileVault 2

macOS

Integrado. AES-XTS 128-bit. Clave de recuperación en iCloud o MDM.

LUKS

Linux

Linux Unified Key Setup. AES-256-XTS estándar. Múltiples key slots. Gestión con cryptsetup.

# LUKS: cifrar una partición

cryptsetup luksFormat --type luks2 /dev/sdb1

cryptsetup luksOpen /dev/sdb1 datos_cifrados

mkfs.ext4 /dev/mapper/datos_cifrados

# Ver header LUKS

cryptsetup luksDump /dev/sdb1

Cifrado en Bases de Datos

Transparent Data Encryption (TDE)

La BD cifra automáticamente los ficheros de datos y logs en disco. Transparente para la aplicación. SQL Server, Oracle, PostgreSQL (pgcrypto extension), MySQL.

Fácil de implementar. Sin cambios en la app.

⚠️ No protege si el atacante tiene acceso a la BD con credenciales válidas.

Column-Level Encryption

Cifrar campos específicos (CCN, SSN, passwords). La aplicación maneja las claves y cifra antes de insertar.

Protege campos específicos incluso del DBA.

⚠️ No se puede hacer búsquedas eficientes sobre columnas cifradas.

Application-Level Encryption

La aplicación cifra antes de enviar a la BD. La BD almacena solo texto cifrado.

Máxima protección. DBA no ve datos.

⚠️ Complejidad alta. Impacta en queries y performance.

Gestión de Claves: KMS y HSM

KMS — Key Management Service

Servicio centralizado para crear, rotar y auditar el uso de claves criptográficas. Las claves nunca salen del servicio; la aplicación pide que el KMS cifre/descifre.

  • • AWS KMS, Azure Key Vault, GCP Cloud KMS
  • • HashiCorp Vault (self-hosted)

HSM — Hardware Security Module

Dispositivo físico tamper-resistant que almacena claves en hardware. Incluso el admin no puede extraer la clave en claro. Requerido por PCI-DSS para claves de firma de tarjetas.

  • • Thales Luna, nCipher nShield
  • • AWS CloudHSM, Azure Dedicated HSM

Buenas Prácticas

Nunca almacenar claves junto a los datos cifrados — usar KMS separado.

Rotar las claves regularmente (mínimo anual) y siempre tras sospecha de compromiso.

Usar TLS 1.3 para todos los servicios web; deshabilitar TLS 1.0/1.1 y SSL.

Habilitar HSTS (Strict-Transport-Security) con max-age mínimo 1 año.

Cifrar todos los backups antes de almacenarlos o transmitirlos.

Cumplimiento: PCI-DSS requiere AES-128+ para CHD en reposo y TLS para datos en tránsito.

Siguiente Paso

Aprende sobre seguridad WiFi: WPA3, ataques PMKID y Evil Twin

Seguridad WiFi: WPA3 y Ataques →