Análisis técnico profundo para proteger tu vida digital. Desde fundamentos hasta configuraciones avanzadas.
Autenticación
Contraseñas y control de acceso
Contraseñas seguras y entropía
Cómo medir y maximizar la fortaleza real de tus contraseñas
Gestores de contraseñas
Bitwarden, KeePassXC y Proton Pass: arquitectura y diferencias
🔐
Autenticación de dos factores
TOTP, FIDO2, YubiKey: jerarquía de seguridad y configuración
🗝️
Passkeys y FIDO2
El reemplazo técnico de las contraseñas: criptografía de clave pública aplicada
Navegación y Red
Huella digital y privacidad en red
Navegación privada por niveles
De Brave + uBlock a Tor Browser: qué protege cada capa y cuándo usarla
🖨️
Browser Fingerprinting
Cómo ~300 señales pasivas te identifican sin cookies ni JS
DNS privado: DoH y DoT
Cifrado de consultas DNS en Android, Windows y routers
VPN: análisis técnico
WireGuard vs OpenVPN, modelos de confianza y qué no oculta una VPN
🧅
Tor: cómo funciona internamente
Circuitos de cebolla, nodos de guardia, hidden services y ataques conocidos
📡
WiFi públicas: vectores y defensa
Evil Twin, ARP Poisoning, SSL Strip y contramedidas efectivas
Comunicación
Mensajería y correo seguro
Protocolo Signal: análisis criptográfico
X3DH, Double Ratchet, Sealed Sender y qué metadatos almacena
Signal vs Telegram vs WhatsApp
Comparativa técnica de cifrado, metadatos y modelo de confianza
Correo seguro y PGP
Proton Mail, cifrado extremo a extremo y cómo funciona PGP/GPG
Session: mensajería descentralizada
Onion routing, Service Node Network y modelo sin servidor central
Dispositivos
Seguridad en dispositivos y sistemas
📱
Hardening de Android
GrapheneOS, permisos, sandboxing y minimización de telemetría de Google
💾
Cifrado de disco completo
BitLocker, VeraCrypt y LUKS: cómo proteger datos en reposo
Detectar phishing avanzado
SPF/DKIM/DMARC, análisis de URLs, tácticas 2025 en Colombia
🎭
OPSEC: seguridad operacional
Compartimentación de identidades, higiene digital y modelo de amenaza
Por qué la mayoría de contraseñas fallan
El 81% de las brechas de datos documentadas involucran contraseñas robadas, reutilizadas o predecibles (Verizon DBIR 2024). La razón técnica no es descuido del usuario — es que el modelo mental de "contraseña compleja" es incorrecto. La complejidad visual no equivale a entropía criptográfica.
Entropía: la métrica real
La fortaleza de una contraseña se mide en bits de entropía: H = log₂(C^L) donde C es el tamaño del alfabeto y L la longitud. Con hardware moderno (NVIDIA RTX 4090: ~164 GH/s en bcrypt, ~300 TH/s en MD5):
# Estimación de tiempo de crackeo con 10x RTX 4090
Colombia2024! → 52 bits → segundos
xK9#mP2!vQ → 66 bits → horas
caballo-ventana-47 → 77 bits → meses
perro.lluvia.7.cielo → 87 bits → siglos
correct-horse-staple → 94 bits → térmicamente imposible
La lección: la longitud supera a la complejidad. Una frase de 5 palabras aleatorias es más segura que 12 caracteres con símbolos.
Método Diceware
Diceware genera passphrases usando dados físicos para garantizar aleatoriedad real:
Descarga la lista EFF Diceware en español (7776 palabras)
Lanza 5 dados por palabra, concatena los 5 dígitos → ej: 24163 → "caballo"
Repite 6 veces para obtener una passphrase de 6 palabras (~77 bits)
Separa con guiones: caballo-ventana-nube-47-limón-frío
✅
Correcto:caballo-ventana-47-nube-limón (5 palabras verdaderamente aleatorias) Incorrecto:MiPerroSeCallaMax123! — frase con sentido = predecible para un diccionario
Reglas no negociables
Mínimo 16 caracteres para cuentas críticas (banco, email, gestor)
Una contraseña única por servicio — la reutilización convierte una brecha en cascada
Nunca uses información personal: nombre, cédula, fecha de nacimiento, ciudad, mascotas
No uses patrones de teclado: qwerty123, asdfgh, 12345678
Las sustituciones obvias (@→a, 3→e, 0→o) están en todos los diccionarios de ataque
Cambiar contraseñas periódicamente sin causa reduce seguridad — NIST SP 800-63B lo desaconseja desde 2017
Ataques contra contraseñas: taxonomía técnica
Ataque
Descripción
Defensa
Fuerza bruta
Prueba todas las combinaciones posibles
Longitud ≥16
Diccionario
Lista de palabras, variantes y patrones conocidos
Palabras aleatorias, no frases con sentido
Credential stuffing
Usa pares usuario/contraseña de brechas previas
Contraseña única por servicio
Rainbow tables
Hashes precomputados para reversión instantánea
Hashing con salt (responsabilidad del servidor)
Keylogging
Captura pulsaciones en tiempo real
2FA hardware, detectar malware
Verificar si tu contraseña fue expuesta
Have I Been Pwned mantiene una base de datos de más de 12 mil millones de contraseñas de brechas conocidas. Su API usa k-anonimato: envías solo los primeros 5 caracteres del hash SHA-1, el servidor responde con todos los hashes que inician con ese prefijo, y la comparación ocurre localmente. Tu contraseña nunca sale de tu dispositivo.
# Verificación k-anónima — los primeros 5 chars del SHA1
Calcula SHA1("tucontraseña") → A94A8F...
Consulta: api.pwnedpasswords.com/range/A94A8
# Si tu hash completo aparece en la respuesta → contraseña comprometida
Por qué necesitas un gestor de contraseñas
El cerebro humano no puede memorizar 200+ contraseñas únicas de 20 caracteres aleatorios. Un gestor resuelve esto con cifrado de conocimiento cero (zero-knowledge): tus datos se cifran y descifran exclusivamente en tu dispositivo. El servidor nunca ve tus contraseñas en texto plano.
Arquitectura de cifrado
# Modelo de Bitwarden (simplificado)
Contraseña maestra → PBKDF2-SHA256 (600.000 iter.) → Master Key
Master Key → HKDF → Encryption Key (AES-256-CBC) + MAC Key (HMAC-SHA256)
Datos cifrados → sincronización al servidor
Servidor almacena: ciphertext + IV + salt — sin capacidad de descifrar
Comparativa técnica
Gestor
Código abierto
Gratuito
Self-hosting
KDF
Auditorías
Bitwarden
✓
✓
✓ (Vaultwarden)
PBKDF2 / Argon2id
✓ anuales
KeePassXC
✓
✓
Local
Argon2d / AES-KDF
✓
Proton Pass
✓
Plan básico
✗
bcrypt + SRP
✓
1Password
✗
✗ (3$/mes)
✗
PBKDF2
✓
LastPass
✗
✗
✗
PBKDF2
Brechas 2022
KeePassXC: modelo local sin servidor
KeePassXC almacena la base de datos cifrada en un archivo .kdbx en tu dispositivo. Cifrado ChaCha20 o AES-256 con Argon2d como KDF — extremadamente resistente a ataques por GPU. Sin internet ni cuenta en servidor externo.
# Configuración recomendada en KeePassXC
Nuevo → Cifrado:
Algoritmo: ChaCha20
KDF: Argon2d
Memoria: 64 MB
Iteraciones: 2
Paralelismo: 2 (igual a núcleos del CPU)
# Resultado: ~1 segundo de derivación — imprácticamente lento para GPU
Vaultwarden: Bitwarden self-hosted
Vaultwarden es una reimplementación compatible de la API de Bitwarden en Rust para auto-hospedaje en hardware modesto (VPS, Raspberry Pi, NAS).
No guardes contraseñas en el navegador sincronizado con Google/Chrome
No uses hojas de cálculo ni archivos de texto para guardar contraseñas
No reutilices la contraseña maestra en ningún otro servicio
Activa 2FA en tu gestor con llave hardware o app TOTP
Por qué las contraseñas solas no son suficientes
El 2FA añade un segundo factor independiente: aunque tu contraseña sea robada por phishing, keylogging o brecha de base de datos, el atacante no puede acceder sin el segundo factor. La condición es que sea independiente — usar el mismo dispositivo para ambos reduce la protección.
Jerarquía de seguridad del 2FA
Método
Resiste phishing
Resiste SIM swap
Sin servidor central
Recomendación
Llave hardware FIDO2
✓
✓
✓
Máxima
App TOTP (Aegis)
Parcial
✓
✓
Muy alta
Código por email
✗
✓
✗
Aceptable
SMS / llamada
✗
✗
✗
Evitar
TOTP: cómo funciona el algoritmo
TOTP (RFC 6238) genera códigos de 6 dígitos que cambian cada 30 segundos usando HMAC-SHA1 sobre un secreto compartido y el tiempo Unix actual truncado al intervalo de 30s.
# Algoritmo TOTP (RFC 6238)
T = floor(Unix_timestamp / 30)
HMAC = HMAC-SHA1(shared_secret, T) 20 bytes
offset = HMAC[19] AND 0x0F
code = (HMAC[offset..offset+3] AND 0x7FFFFFFF) mod 10^6
# código de 6 dígitos válido ~30 segundos
Guarda el secreto TOTP en papel como código de recuperación — si pierdes el dispositivo y no tienes backup, quedas bloqueado permanentemente.
Apps TOTP recomendadas
Aegis Authenticator (Android) — código abierto, backup cifrado, exportación estándar. Único estándar recomendado en Android.
Ente Auth — multiplataforma, código abierto, sincronización cifrada E2E opcional
Evitar: Google Authenticator (backup sin E2E), Authy (sincronización en nube de Twilio)
FIDO2 / WebAuthn
FIDO2 usa criptografía de clave pública. Durante el registro se genera un par de claves único por sitio: la clave privada nunca sale del dispositivo. La autenticación firma un desafío criptográfico del servidor, eliminando por diseño el phishing de credenciales.
# Flujo FIDO2 simplificado
Registro:
Dispositivo genera: (privKey, pubKey) por origen (rpId)
Servidor almacena: pubKey + credentialId
privKey: NUNCA sale del dispositivo
Autenticación:
Servidor envía: challenge + rpId
Dispositivo firma: challenge con privKey correspondiente a rpId
Servidor verifica: firma con pubKey almacenada
# Phishing imposible: origin verificado criptográficamente
Por qué SMS es inseguro: SIM Swapping
Un SIM swap ocurre cuando un atacante convence a tu operador (mediante ingeniería social o empleado corrupto) de transferir tu número a una SIM nueva bajo su control. En Colombia tiene alta prevalencia por procesos de verificación débiles en Claro, Tigo y Movistar. Una vez con tu número, el atacante recibe todos los SMS de 2FA.
⚠️
Si recibes notificación de cambio de SIM no solicitado: llama inmediatamente al operador, cambia contraseñas de cuentas críticas desde otro dispositivo, y contacta a tu banco.
Qué son las Passkeys
Las Passkeys son credenciales FIDO2 almacenadas en tu dispositivo que reemplazan completamente la contraseña. Usan criptografía asimétrica: una clave privada en tu dispositivo firma desafíos del servidor. Ningún secreto viaja por la red.
Arquitectura técnica
# Registro de Passkey
1. Servidor envía: challenge + rpId ("google.com") + userInfo
2. Autenticador genera: par de claves ED25519 o P-256 por rpId
3. Autenticador firma: clientDataJSON con privKey
4. Servidor almacena: pubKey + credentialId (nunca la privKey)
# Autenticación
1. Servidor envía: challenge + rpId
2. Autenticador firma: challenge con privKey del rpId correspondiente
3. Servidor verifica: firma con pubKey almacenada
# privKey nunca sale del dispositivo — phishing y replay imposibles
Ventajas sobre contraseñas + TOTP
Sin secreto compartido: el servidor nunca tiene nada que robar (solo clave pública)
Vinculación al origen: rpId verificado criptográficamente — imposible phishing en dominios falsos
Inmune a ataques AiTM: los ataques que interceptan TOTP en tiempo real no funcionan contra Passkeys
Sin reutilización: cada sitio tiene su propio par de claves
Dónde se almacenan
Plataforma
Almacenamiento
Sync
Exportable
Apple (iCloud Keychain)
Secure Enclave
✓ iCloud E2E
✗
Google (Password Manager)
TEE Android
✓ cuenta Google
✗
Bitwarden
AES-256 software
✓ E2E
✓
YubiKey 5
Hardware seguro
Sin sync
✗
💡
Usa Passkeys donde estén disponibles. Mantén un segundo dispositivo registrado como respaldo y guarda los códigos de recuperación impresos en un lugar seguro.
⚠️
El modo incógnito/privado solo evita que el historial se guarde localmente. Tu ISP, empleador, router, DNS y los sitios web ven exactamente lo mismo que en modo normal. No aporta anonimato.
Nivel 1 — Protección básica
Elimina el rastreo comercial masivo sin cambiar significativamente la experiencia de navegación.
Brave Browser como navegador principal: bloquea rastreadores y anuncios de terceros por defecto. Basado en Chromium pero con telemetría eliminada.
uBlock Origin en Firefox modo medium blocking: bloquea scripts de terceros por defecto
Motor de búsqueda: DuckDuckGo (sin perfil de usuario) o SearXNG (metabuscador autoalojable)
HTTPS-Only Mode activado en navegador
DNS-over-HTTPS habilitado (Firefox: Preferencias → General → DNS sobre HTTPS)
Nivel 2 — Protección avanzada
Proton VPN / Mullvad activo — enmascara IP real frente a sitios web
Firefox + arkenfox user.js: configura ~400 preferencias de privacidad, resistencia máxima a fingerprinting. github.com/arkenfox/user.js
Multi-Account Containers (Firefox): aísla Facebook, Google y rastreadores en contenedores separados
NextDNS a nivel de sistema: bloquea dominios de rastreo antes de que la conexión salga del dispositivo
Nivel 3 — Anonimato máximo
Tor Browser: enruta el tráfico a través de 3 nodos cifrados independientes. Ningún nodo conoce origen Y destino simultáneamente.
VPN + Tor: Proton VPN y Mullvad ofrecen servidores que enrutan hacia Tor. Tu ISP ve VPN, no Tor.
Tails OS desde USB: sistema amnésico que enruta todo por Tor y no deja rastro al apagar
💡
En Tor: nunca inicies sesión en cuentas personales. No cambies el tamaño de la ventana (señal de fingerprinting). Usa JavaScript solo cuando sea imprescindible.
Qué es el fingerprinting
El fingerprinting combina decenas de características pasivas del navegador y sistema operativo para crear un identificador único. No requiere cookies ni JavaScript explícito. Es ejecutado por más del 30% de los 10.000 sitios más visitados del mundo.
AudioContext: variaciones por hardware en procesamiento
Alta
Canvas Fingerprinting: el más poderoso
El sitio dibuja texto invisible en un elemento canvas y lee el valor de los píxeles resultantes. Las diferencias en GPU, drivers y OS producen variaciones únicas en el anti-aliasing y rendering de fuentes. Este valor es prácticamente único por configuración hardware+software.
Tor Browser: estandariza todas las APIs para que todos los usuarios sean indistinguibles. Máxima efectividad.
Firefox + arkenfox: privacy.resistFingerprinting = true añade ruido aleatorio a canvas, WebGL y AudioContext
Brave Shields: aleatoriza el canvas fingerprint por sesión y sitio
Evitar extensiones únicas: cada extensión instalada aumenta la unicidad del fingerprint
ℹ️
Verifica tu fingerprint en coveryourtracks.eff.org (EFF). El objetivo no es un fingerprint "limpio" — es ser indistinguible de la mayor cantidad posible de otros usuarios.
El problema del DNS tradicional
El DNS traduce nombres de dominio a IPs. Por defecto estas consultas viajan en texto plano por el puerto UDP 53 hacia el servidor de tu ISP. Tu ISP puede ver, registrar, manipular y vender cada dominio que visitas, incluso si usas HTTPS. En Colombia, los ISP están obligados legalmente a bloquear dominios modificando respuestas DNS.
Protocolos de DNS cifrado
Protocolo
Cifrado
Puerto
Oculta dominio al ISP
DNS estándar
Ninguno
53/UDP
No
DNS-over-TLS (DoT)
TLS 1.3
853/TCP
Sí
DNS-over-HTTPS (DoH)
HTTPS
443/TCP
Sí
DNS-over-QUIC (DoQ)
QUIC/TLS 1.3
853/UDP
Sí
DoH vs DoT: DoH viaja por el puerto 443 (igual que HTTPS normal), haciendo prácticamente imposible su bloqueo selectivo. DoT usa puerto dedicado 853 que puede bloquearse explícitamente. En entornos restrictivos, DoH es más robusto.
Servidores recomendados
Quad9 — ONG suiza, sin logs, bloquea malware. 9.9.9.9 / dns.quad9.net
Mullvad DNS — No-logs absoluto, sin filtros. 194.242.2.2
NextDNS — Configurable, bloquea rastreadores. Plan gratuito: 300k consultas/mes
AdGuard DNS — Bloquea publicidad a nivel DNS. 94.140.14.14
Configuración en Android (DoT)
Ajustes → Red e Internet → DNS Privado
→ Nombre de host del proveedor:
dns.quad9.net (Quad9)
base.dns.mullvad.net (Mullvad)
xxxx.dns.nextdns.io (NextDNS — reemplaza xxxx con tu ID)
Configuración en Windows (DoH)
# Panel de control → Centro de redes → Propiedades del adaptador
Protocolo TCP/IPv4 → Propiedades → DNS preferido: 9.9.9.9
DNS alternativo: 149.112.112.112
# Windows 11: Configuración → Red → Propiedades → DNS
Cifrado DNS (HTTPS): Activado
Detectar filtración DNS
Visita dnsleaktest.com → Extended Test. Si los servidores mostrados pertenecen a Claro, Tigo, ETB o Movistar, hay filtración. Revisa tu configuración.
ℹ️
DNS privado ≠ VPN. Cifra solo las consultas DNS. Para proteger todo tu tráfico necesitas DNS privado + VPN juntos.
Qué protege y qué NO protege una VPN
Escenario
¿VPN ayuda?
ISP espía tu tráfico
✓ Cifra todo el tráfico
WiFi pública hostil
✓ Cifra desde tu dispositivo
Ocultar IP de sitios web
✓ Sitio ve IP del servidor VPN
Anonimato frente al proveedor VPN
✗ El proveedor VPN ve tu tráfico
Protección contra malware
✗ No es un antivirus
Ocultar actividad de Google/Meta
✗ Si estás logueado, te identifican
WireGuard vs OpenVPN
Característica
WireGuard
OpenVPN
Líneas de código
~4.000
~600.000
Criptografía
ChaCha20, Poly1305, Curve25519, BLAKE2s
AES-256-GCM, RSA, SHA-256
Velocidad
Muy alta (kernel-space)
Media (user-space)
Superficie de ataque
Mínima
Alta (volumen de código)
Perfect Forward Secrecy
✓
✓
Modelo de confianza
Usar una VPN desplaza el intermediario de confianza: de tu ISP al proveedor VPN. La pregunta no es "¿es segura X VPN?" sino "¿cuál entidad prefiero que vea mi tráfico?"
Proton VPN: jurisdicción suiza, auditorías públicas, código abierto del cliente.
Evitar: ExpressVPN, NordVPN — marketing agresivo, historial de incidentes.
Kill switch: configuración crítica
El kill switch bloquea todo el tráfico si la VPN cae, previniendo que tu IP real quede expuesta. Debe estar siempre activado.
# Kill switch manual con UFW en Linux
ufw --force reset
ufw default deny outgoing
ufw default deny incoming
ufw allow out on wg0 # solo por interfaz VPN
ufw allow out 51820/udp # puerto WireGuard
ufw enable
Cómo funciona el enrutamiento cebolla
Tor construye un circuito de 3 nodos seleccionados aleatoriamente. El cliente cifra el paquete en 3 capas concéntricas — una por nodo — de forma que cada nodo solo puede descifrar su capa y solo conoce el anterior y el siguiente.
# Estructura de un circuito Tor
Cliente → [Cifra con K3, K2, K1]
→ Guard Node (Entry): descifra K1, ve cliente real, no sabe destino
→ Middle Node: descifra K2, no ve cliente ni destino
→ Exit Node: descifra K3, ve destino real, no ve cliente
→ Destino: ve IP del Exit Node (no la del cliente)
# Ningún nodo individual conoce origen Y destino simultáneamente
Tipos de nodos
Guard (Entry) Node: Ve tu IP real pero no sabe a dónde vas. Tor usa el mismo Guard por semanas para reducir el riesgo de nodo malicioso.
Middle Node: No sabe nada de origen ni destino.
Exit Node: Se conecta a internet. Ve el destino pero no el origen. El tráfico sale sin cifrar si el destino no usa HTTPS.
Hidden Services (.onion): El destino también está en Tor — ni cliente ni servidor revelan sus IPs. Usa 6 nodos en total.
Ataques conocidos
Ataque
Descripción
Mitigación
Correlación de tráfico
Adversario que controla entrada Y salida correlaciona tiempos de paquetes
Difícil sin adversario global
Nodos maliciosos
Exit nodes interceptan tráfico HTTP
Siempre usar HTTPS en destino
Deanonimización por app
JavaScript, WebRTC revelan IP real
Tor Browser los deshabilita por defecto
Sybil attack
Adversario opera gran porcentaje de relays
Diversidad de operadores reduce riesgo
Buenas prácticas
Usa solo Tor Browser — no configures Tor como proxy de otro navegador
Nunca inicies sesión en cuentas personales — te deanonimiza inmediatamente
No descargues torrents sobre Tor — bypass del proxy
No abras documentos descargados en línea — pueden hacer conexiones directas
Mantén la ventana en el tamaño por defecto — el tamaño es señal de fingerprinting
Máxima seguridad: Tails OS enruta TODO el sistema por Tor
Redes WiFi abiertas = entorno hostil por defecto
En una red WiFi sin cifrado (o con WPA2-Personal compartido), cualquier participante puede capturar el tráfico de los demás usando herramientas como Wireshark. Los ataques descritos no requieren equipamiento especializado — solo una laptop con adaptador en modo monitor.
Evil Twin / Rogue Access Point
El atacante crea un AP WiFi con el mismo SSID que la red legítima y mayor potencia de señal. Los dispositivos se conectan automáticamente. Todo el tráfico pasa por el atacante antes de llegar a internet.
ARP Cache Poisoning
ARP resuelve IPs a MACs en la red local. Sin autenticación. El atacante envía respuestas ARP falsas para asociar su MAC con la IP del gateway, haciendo que todos los dispositivos le envíen su tráfico.
# Cómo se ve un ARP poisoning
Normal: IP 192.168.1.1 → MAC aa:bb:cc:dd:ee:ff (router)
Ataque: IP 192.168.1.1 → MAC 11:22:33:44:55:66 (atacante)
# Resultado: todo el tráfico de la LAN pasa por el atacante
KARMA Attack
Los dispositivos transmiten probe requests con los SSIDs de redes previas buscando reconexión automática. El atacante responde a estas sondas asumiendo cualquier SSID solicitado. El dispositivo se conecta sin que el usuario lo note.
Contramedidas por prioridad
✅ VPN antes de conectar — cifra todo el tráfico, neutraliza ARP poisoning, SSL strip y Evil Twin
✅ Desactiva WiFi auto-connect en redes guardadas
✅ Elimina redes guardadas de lugares públicos que ya no uses
✅ Datos móviles para operaciones bancarias — nunca WiFi pública
✅ Desactiva Bluetooth cuando no lo uses — previene BlueSnarfing y seguimiento por MAC
✅ MAC address aleatoria (Android e iOS lo hacen por defecto en redes desconocidas desde 2020)
⚠️
HTTPS protege el contenido pero no protege contra DNS spoofing ni contra revelar qué dominios visitas. Solo una VPN cifra completamente tu tráfico en redes no confiables.
Por qué Signal es el estándar de la industria
El Protocolo Signal es tan sólido que WhatsApp, Messenger y Skype lo adoptaron para sus chats cifrados. La diferencia: Signal Foundation es una ONG sin incentivos económicos para recopilar metadatos, mientras Meta usa el protocolo para contenido pero recopila metadatos extensivos.
X3DH: establecimiento de sesión asíncrono
X3DH (Extended Triple Diffie-Hellman) permite iniciar comunicación cifrada con alguien offline, sin intercambiar claves en tiempo real.
# Claves pre-publicadas en servidor Signal (solo partes públicas)
IK = Identity Key (Curve25519, permanente)
SPK = Signed Prekey (rotación semanal, firmada con IK)
OPK = One-Time Prekeys (lote de 100, uso único)
# Alice inicia conversación con Bob (offline) — 4 DH combinados
DH1 = DH(IK_Alice, SPK_Bob)
DH2 = DH(EK_Alice, IK_Bob) EK = ephemeral key
DH3 = DH(EK_Alice, SPK_Bob)
DH4 = DH(EK_Alice, OPK_Bob)
Master Secret = KDF(DH1 || DH2 || DH3 || DH4)
# Servidor nunca puede reconstruir este secreto
Double Ratchet: una clave por mensaje
Double Ratchet genera una nueva clave de cifrado para cada mensaje individual, combinando dos mecanismos:
Diffie-Hellman Ratchet: Cada intercambio genera nuevo material de clave. Proporciona Break-in Recovery — si una clave se compromete, la siguiente es independiente.
Symmetric Ratchet (KDF Chain): Dentro de cada DH epoch, cada mensaje avanza una cadena HKDF. Proporciona Forward Secrecy — comprometer una clave no compromete las anteriores.
Sealed Sender
Sealed Sender cifra el remitente dentro del mensaje usando la clave pública del destinatario. Los servidores de Signal procesan mensajes sin saber quién los envía.
Qué almacena Signal (auditado)
Solo almacena: número de teléfono, fecha de registro, fecha de última conexión (aproximada)
No almacena: mensajes, contactos, grupos, metadata de comunicación, IP
💡
Para registro anónimo: usa un número VOIP (JMP.chat) o una SIM prepaga sin identificación. En Colombia, considera una SIM prepaga pagada en efectivo.
Tabla comparativa completa
Característica
Signal
Session
Threema
WhatsApp
Telegram
E2E por defecto
✓
✓
✓
✓
✗
E2E en grupos
✓
✓
✓
✓
✗
Sin número de teléfono
✗
✓
✓
✗
✗
Código abierto (servidor)
✓
✓
✗
✗
✗
Servidor descentralizado
✗
✓
✗
✗
✗
Mínimos metadatos
✓
✓
✓
✗
✗
Auditorías independientes
✓
Parcial
✓
✗
✗
Telegram: el mito de la privacidad
⚠️
Los chats normales, grupos y canales de Telegram NO tienen cifrado E2E. Los mensajes se almacenan en servidores de Telegram en formato que la empresa puede leer. Solo los "Chats Secretos" tienen E2E, exclusivamente en móvil.
Telegram usa MTProto 2.0 (protocolo propio) entre cliente y servidor — no E2E
Ha entregado datos de usuarios a gobiernos tras órdenes judiciales
Útil para difusión masiva (canales), no para comunicación privada
WhatsApp: cifrado correcto, metadatos incorrectos
WhatsApp usa el Protocolo Signal correctamente para cifrar el contenido. El problema es Meta:
Recopila: con quién te comunicas, frecuencia, duración, hora, red de contactos, dispositivo, IP, ubicación aproximada
Comparte metadatos entre WhatsApp, Instagram y Facebook para perfilado publicitario
El contenido está cifrado, pero Meta sabe exactamente con quién hablas y cuándo
Session: el más privado por arquitectura
Session elimina el servidor central. Usa una red P2P de nodos (Service Node Network) con onion routing. Sin servidor central = sin empresa que presionar judicialmente = sin metadatos almacenados. La identidad es un par de claves Ed25519 generado localmente — sin número de teléfono ni email.
El problema del correo tradicional
El correo fue diseñado en 1971 sin seguridad. Gmail y Outlook leen el contenido de tus correos. El estándar SMTP transmite en texto plano por defecto — el cifrado TLS en tránsito solo protege contra interceptación de red, el proveedor sigue teniendo acceso completo.
PGP/GPG: cifrado extremo a extremo
PGP usa criptografía asimétrica para cifrar correos de forma que solo el destinatario pueda leerlos — ni siquiera el proveedor puede descifrarlos.
# Generar par de claves GPG
gpg --full-generate-key
# Elegir: Ed25519 (recomendado) o RSA 4096# Exportar clave pública para compartir
gpg --armor --export tu@email.com > clave-publica.asc
# Cifrar mensaje para un destinatario
gpg --encrypt --armor --recipient destinatario@email.com mensaje.txt
# Descifrar mensaje recibido
gpg --decrypt mensaje.txt.asc
Proton Mail: PGP automático integrado
Proton Mail implementa PGP automáticamente entre usuarios Proton. El modelo de conocimiento cero garantiza que Proton no puede leer tus correos.
Cifrado en reposo: AES-256, claves derivadas de tu contraseña (PBKDF2)
Zero-access encryption: ni Proton puede descifrar tu buzón
Jurisdicción: Suiza (FADP — más estricta que el GDPR europeo)
⚠️
PGP cifra el cuerpo del mensaje, pero los encabezados no están cifrados: Para:, De:, Asunto:, Fecha: y la ruta del servidor son visibles para el proveedor. Para comunicación de alto riesgo, combina Proton Mail con aliases anónimos.
Aliases de correo para privacidad
SimpleLogin (integrado con Proton): genera aliases únicos por servicio. Si un servicio vende tu dirección, sabes cuál fue y puedes desactivarla.
Nunca uses tu dirección real al registrarte en servicios no críticos
Arquitectura sin servidor central
Session es la única app de mensajería mainstream que elimina el servidor central. Usa una red P2P de nodos operados por la comunidad (Service Node Network) con incentivos económicos en criptomoneda OXEN.
Service Node Network
Red de más de 1.700 nodos distribuidos globalmente
Cada operador bloquea 3.750 OXEN como colateral (prueba de participación)
Los nodos almacenan mensajes cifrados temporalmente (TTL 14 días) y los entregan cuando el destinatario se conecta
Sin nodo central = sin punto único de fallo ni de presión judicial
Onion Request Protocol
# Flujo de mensaje en Session
Cliente → cifra con clave del destinatario (Session Protocol)
→ envuelve en 3 capas onion hacia 3 nodos aleatorios
→ Nodo 1 (Guard): descifra capa 1, no sabe destino final
→ Nodo 2 (Middle): descifra capa 2
→ Nodo 3 (Swarm): almacena mensaje cifrado
→ Destinatario recupera al reconectarse
# Ningún nodo conoce remitente Y destinatario simultáneamente
Identidad criptográfica sin número de teléfono
La identidad en Session es un par de claves Ed25519 generado localmente. El Session ID (64 caracteres hexadecimales) es tu clave pública. No hay nombre de usuario, email ni número de teléfono — la identidad es puramente criptográfica.
Session Protocol vs Signal Protocol
Característica
Session
Signal
Forward Secrecy
Parcial (por sesión)
✓ (por mensaje)
Servidor de prekeys
✗ (no necesario)
✓
Metadatos de red
Ocultos (onion)
Visibles al servidor Signal
Identificador
Par de claves (anónimo)
Número de teléfono
El problema de Android estándar
Android de fábrica envía telemetría continua a Google, al fabricante y en algunos casos a operadores. Google Play Services tiene acceso privilegiado al sistema que va más allá de cualquier app de terceros. El modelo de permisos visible para el usuario es solo una capa superficial.
GrapheneOS: la alternativa más segura
GrapheneOS es un sistema operativo Android de código abierto para Pixel que hardea el kernel, endurece el sandbox de aplicaciones y elimina Google Play Services del sistema base.
Kernel hardening: LLVM CFI, ShadowCallStack, punteros de pila cifrados, heap con guardas entre zonas
Red por app: puedes desactivar acceso a internet app por app, incluso apps del sistema
Sensores por app: control granular sobre acceso a micrófono, cámara, acelerómetro
Google Play Services disponible en sandbox aislado (sin privilegios de sistema)
Compatible con: Google Pixel 6, 7, 8, 9 y sus variantes
Hardening de Android estándar (sin cambiar ROM)
Revisar permisos: Configuración → Privacidad → Gestión de permisos. Revocar ubicación, micrófono, cámara de apps innecesarias.
Desactivar escaneo WiFi/Bluetooth en segundo plano: Configuración → Ubicación → Servicios de ubicación
DNS privado activado: Ajustes → Red → DNS Privado → dns.quad9.net
F-Droid como tienda alternativa para apps de código abierto sin rastreadores
Apps a reemplazar
Función
Reemplazar
Con
Mensajería
WhatsApp
Signal, Session
Navegador
Chrome
Brave, Firefox + uBlock
Email
Gmail
Proton Mail, Tutanota
Teclado
Gboard
OpenBoard, FlorisBoard
2FA
Google Authenticator
Aegis Authenticator
Almacenamiento
Google Drive
Proton Drive, Nextcloud
Mapas
Google Maps
OsmAnd, Organic Maps
Por qué cifrar el disco
Sin cifrado, cualquier persona con acceso físico puede extraer todos tus datos en minutos: arrancando desde USB live o retirando el disco. El cifrado de disco completo (FDE) hace los datos inaccesibles sin la clave, incluso con acceso físico total.
BitLocker (Windows)
BitLocker usa AES-256 en modo XTS, integrado en Windows 10/11 Pro y Enterprise. Depende del TPM para almacenar la clave — el disco se descifra automáticamente en tu equipo pero es ilegible si lo extraen.
# Activar BitLocker por PowerShell (como Administrador)
Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -TpmProtector
# Ver clave de recuperación — GUARDARLA EN LUGAR SEGURO
(Get-BitLockerVolume -MountPoint "C:").KeyProtector |
Where-Object { $_.KeyProtectorType -eq "RecoveryPassword" }
⚠️
BitLocker en Windows Home hace backup de la clave en tu cuenta Microsoft por defecto — accesible por Microsoft y gobiernos. En Windows Pro puedes guardar la clave solo localmente.
VeraCrypt: cifrado independiente y verificable
VeraCrypt es código abierto, auditado y multiplataforma. AES-256 con cascada opcional (Serpent/Twofish), HMAC-SHA512 para integridad, Argon2id como KDF.
Volúmenes normales: archivo o partición cifrada montada como unidad virtual
Volúmenes ocultos: dos contraseñas distintas montan dos volúmenes distintos — denegación plausible
Full disk encryption: cifra el OS completo incluyendo el sector de arranque
LUKS (Linux)
# Cifrar partición con LUKS2 + Argon2id
cryptsetup luksFormat --type luks2 \
--cipher aes-xts-plain64 --key-size 512 \
--hash sha512 --pbkdf argon2id \
--pbkdf-memory 1048576 \
/dev/sdb1
# Abrir y montar
cryptsetup open /dev/sdb1 mi-volumen
mount /dev/mapper/mi-volumen /mnt/datos
Phishing moderno con IA
Los filtros de spam son efectivos contra phishing masivo genérico. Los atacantes evolucionaron: la IA generativa produce correos en español colombiano perfecto con contexto personalizado extraído de LinkedIn y redes sociales. Los ataques AiTM (Adversary in The Middle) interceptan TOTP en tiempo real, superando el 2FA clásico.
Verificar autenticación del dominio emisor
Antes del contenido, verifica el encabezado del email. En Gmail: menú ⋮ → "Mostrar original".
# Encabezado legítimo
Return-Path: <noreply@bancolombia.com>
Authentication-Results:
spf=pass header.d=bancolombia.com
dkim=pass header.d=bancolombia.com
dmarc=pass (p=REJECT)
# Señales de phishing
spf=fail / spf=softfail
dkim=fail / dkim=none
dmarc=fail
Return-Path diferente al dominio en From:
Análisis de URLs: la técnica más importante
Lee de derecha a izquierda después de https://. El dominio real está justo antes del primer /.
https://bancolombia.com/login LEGÍTIMO
https://bancolombia.seguro-co.net/login PHISHING (dominio: seguro-co.net)
https://bancolombia.com.seguridad.ru/ PHISHING (dominio: seguridad.ru)
https://banc0lombia.com/login PHISHING (0 en lugar de o)
https://secure-bancolombia.com/login PHISHING (subdominio falso)
Phishing específico de Colombia (2025)
Falsa DIAN: "Reembolso de impuestos" con links a portales clonados — la DIAN nunca envía links a pagos por email
Nequi/Daviplata falso: "Transferencia pendiente" con link a app falsa que roba credenciales
Paquetes retenidos: SMS de "Coordinadora" o "Servientrega" para reprogramar entrega — roba datos de tarjeta
Ofertas WhatsApp: tareas en Mercado Libre/Amazon con "comisiones" — requieren pago inicial (pig butchering)
Vishing con IA: llamadas que clonan voz de familiares reportando emergencias que requieren transferencia urgente
Protocolo de respuesta
No hacer clic en ningún enlace del mensaje sospechoso
Navegar manualmente al sitio escribiendo el dominio en el navegador
Llamar directamente a la entidad usando el número de su sitio oficial
Si ya hiciste clic: desconecta de internet, cambia contraseñas desde otro dispositivo, llama a tu banco
Reportar: CAI Virtual Policía Nacional o abusos@colcert.gov.co
Qué es OPSEC
OPSEC (Operations Security) es una metodología para identificar qué información crítica existe, quién podría querer obtenerla, cómo podría hacerlo, y tomar medidas para protegerla. La seguridad perfecta no existe — el objetivo es elevar el costo del ataque hasta hacerlo impráctico para el adversario específico.
Modelo de amenaza personalizado
No todas las personas necesitan el mismo nivel de seguridad. Define:
¿De quién? — anunciantes, ex pareja, empleador, gobierno, crimen organizado
¿Cuál es la probabilidad de ataque? — objetivo específico vs rastreo masivo
¿Cuáles son las consecuencias? — inconveniente menor vs riesgo físico real
¿Cuánto esfuerzo puedes sostener? — medidas que no usas = medidas inútiles
Compartimentación de identidades
Emails separados por contexto (nunca email laboral para cuentas personales)
Navegadores separados: Firefox para trabajo, Brave para personal, Tor para sensible
Números separados si el contexto lo requiere (SIM prepaga sin identificación)
Dispositivos separados para trabajo y personal si el empleador puede instalar MDM
Metadatos: el eslabón ignorado
Los metadatos pueden ser más reveladores que el contenido. El expresidente de la NSA Michael Hayden: "Matamos personas basándonos en metadatos."
EXIF de imágenes: GPS exacto, cámara, fecha — elimina con ExifTool. Signal borra EXIF automáticamente.
Metadatos de documentos: autor, empresa, historial de revisiones — exporta a PDF limpio antes de compartir
Metadatos de red: qué dominios visitas, cuándo, desde dónde — mitiga con DNS privado + VPN
Higiene digital básica
Minimización de datos: no des información que no sea estrictamente necesaria al registrarte
Aliases de email únicos por servicio (SimpleLogin, AnonAddy)
Desinstala apps que no uses — superficie de ataque = apps instaladas
Revisar permisos de apps regularmente
💡
El OPSEC más efectivo es el que realmente aplicas. Empieza con navegación privada (Nivel 1) y contraseñas únicas en un gestor. Eso elimina el 80% de los riesgos para el usuario promedio.