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 →