El playbook del hacker cuántico: qué cae primero cuando llega el Q-day
Un mapa red-team de qué sistemas en producción caen ante Shor y Grover, en qué orden, y qué tiene que hacer realmente un atacante para armar una máquina tolerante a fallos. Inventario y defensas priorizadas incluidos.
TL;DR ¶
Cuando llegue el Q-day — definido aquí como la primera ruptura Shor pública sobre una clave RSA-2048 — el ataque no se parece a una película. Se parece a sesiones TLS de 2019 descifrándose en silencio, actualizaciones de software firmadas falsificadas retroactivamente, y claves de larga duración de túneles VPN volviéndose públicas. El trabajo real de hackeo ocurre hoy, en forma de cosecha, indexado y selección de objetivos. La máquina cuántica es un oráculo de factorización de un solo disparo enchufado a un pipeline que ya existe.
Este post es un mapa de triaje: qué cae, en qué orden, con qué esfuerzo.
1. Los dos ejes criptográficos ¶
Solo dos algoritmos cuánticos importan en la práctica para la cripto actual:
- Shor rompe primitivas asimétricas cuya seguridad se reduce a factorización entera o logaritmo discreto. Eso mata RSA, DSA, ECDSA, ECDH, DH, ElGamal, por completo.
- Grover divide a la mitad la longitud efectiva de clave de cifrados simétricos y hashes. AES-128 pasa a ~64 bits de seguridad (roto). AES-256 pasa a 128 (sigue bien). SHA-256 pasa a ~128 bits de preimagen (bien por ahora). El arreglo es duplicar la clave.
Todo lo demás — criptoanálisis de retículos, ataques basados en códigos, mejoras estructuradas — es de grado investigación, no listo para pipeline. Planifica contra Shor y Grover; vigila el resto.
2. Inventario, por orden de dolor ¶
Esta es la versión fusionada de NIST SP 800-208, el informe de migración PQC 2024 de ENISA, y una buena dosis de folklore de respuesta a incidentes.
Capa 0 — cae al instante, armable en semanas ¶
| Sistema | Mecanismo | Qué ocurre |
|---|---|---|
| TLS 1.2/1.3 con KEX clásico (ECDHE, RSA) | Shor sobre la clave efímera | Todas las sesiones capturadas se descifran. Incluye la mayoría del tráfico pre-2025 aún archivado. |
| Firma de código (Authenticode, notarización Apple, apt/dnf) | Shor sobre la clave de firma | Falsificación retroactiva: malware firmado que valida como Microsoft, Apple, tu distro. |
| Auth SSH por clave (RSA, ECDSA) | Shor sobre la clave pública | Compromiso de identidad de larga duración. Cada servidor donde hayas hecho SSH con esa clave queda expuesto. |
| Email PGP/SMIME | Shor sobre subclaves | El archivo de correo cifrado se descifra. El correo firmado histórico puede ser re-forjado. |
| ECDSA blockchain (BTC, ETH legacy) | Shor sobre pubkeys expuestas | Ver: shor-bitcoin |
Capa 1 — cae al instante, armarlo es logísticamente más duro ¶
| Sistema | Por qué es más lento |
|---|---|
| WPA2/WPA3 enterprise (EAP-TLS) | Requiere falsificar cadena de cert, pero factible. |
| VPN IPSec con IKEv2 + RSA/ECDSA | Claves de túnel expuestas retroactivamente. Necesita archivo PCAP. |
| DNSSEC | El envenenamiento de resolver queda firmado e indistinguible del autoritativo. |
| Smart cards / tokens hardware (PIV, YubiKey FIDO U2F) | RSA-2048 o P-256 dentro; no se necesita posesión física para spoofing. |
Capa 2 — simétrico, solo debilitado ¶
| Sistema | Bits efectivos post-Grover | Veredicto |
|---|---|---|
| AES-128 | ~64 | Romper pronto. Migrar a AES-256. |
| AES-256 | ~128 | Seguro. |
| SHA-256 (preimagen) | ~128 | Seguro por ahora. |
| SHA-256 (colisión vía BHT) | ~85 | Arriesgado para compromisos de larga vida. SHA-384 / SHA3-384. |
| ChaCha20-Poly1305 | ~128 | Seguro. |
| HMAC | ~mitad-de-clave | Si la clave ≥ 256 bits, bien. |
Capa 3 — cae solo si la candidata PQ es rota después ¶
| Sistema | De qué depende |
|---|---|
| ML-KEM (Kyber) | Dureza de Module-LWE. Los mejores ataques clásicos y cuánticos conocidos son exponenciales. |
| ML-DSA (Dilithium) | Module-LWE / Module-SIS. |
| SPHINCS+ | Solo función hash. La más conservadora. |
| FALCON | Retículo NTRU. Los riesgos de implementación (punto flotante) son el principal peligro. |
3. El pipeline real del atacante ¶
Un atacante con capacidad Shor no apunta un cuántico a internet. El flujo se ve así:
1 [ARCHIVO] ---> 20 PB de PCAPs TLS indexados, certs de firma de código, 2 tx blockchain, handshakes VPN, claves PGP 3 | 4 [TRIAJE] ---> rankea objetivos por ROI: 5 - intercepciones de comms soberanas (top) 6 - cadena de suministro software 7 - archivo PGP ejecutivo 8 - UTXOs blockchain con pubkeys expuestas 9 - túneles VPN de larga duración 10 | 11 [FACTORIZA] ---> alimenta N (módulo RSA) o P (pubkey EC) a Shor 12 ~horas por objetivo en máquina tolerante a fallos 13 | 14 [REPLAY] ---> usa la clave privada recuperada fuera de banda: 15 - descifra archivo 16 - firma actualización falsificada 17 - re-firma correo falsificado 18 - barre crypto
El cuello de botella no es factorizar. Es la selección de objetivos. Los adversarios con capacidad Shor serán conservadores con los ciclos: cada ejecución de factorización es una operación de varias horas y muchos megavatios. Operativamente, espera un puñado de descifrados "trofeo" públicamente atribuibles, mientras el grueso del impacto permanece bajo la línea como inteligencia clasificada.
4. Detectando "harvest now" hoy ¶
No puedes detener el archivado. A veces puedes detectarlo. Patrones a buscar:
- Colectores pasivos de larga duración en rutas de infraestructura que no controlas — tomas en cables submarinos, puntos de peering de ISPs, desvíos BGP.
- Capturas repetidas de handshake completo sin reanudación de sesión — los colectores quieren el intercambio de claves, no el bulto de datos.
- TCP RST inexplicable tras el handshake en servicios internos desde IPs externas — captura selectiva.
- Pico en queries DNSSEC a zonas de alto valor sin resolución — pre-grabación.
Despliega harvest-detector.py (en las descargas) en nodos perimetrales para marcar sesiones TLS que parecen colección en vez de uso:
1 # extracto — fichero completo en descargas 2 def looks_like_collection(flow): 3 # handshake completo, sin ticket de reanudación honrado, sin datos en bulto 4 if not flow.full_handshake: return False 5 if flow.session_resumed: return False 6 if flow.app_data_bytes > 4096: return False 7 if flow.duration_ms < 2000: return False 8 return True
Los falsos positivos no son triviales — health checks, escáneres, algunos CDNs. Afina los umbrales.
5. Defensas, ordenadas por ROI ¶
- Deja de usar AES-128. Trivial. Hazlo este sprint. AES-256 en todas partes.
- TLS híbrido: el borrador NIST (
X25519MLKEM768) viene en OpenSSL 3.4 y BoringSSL. Actívalo en cada endpoint de borde. Los navegadores (Chrome 124+, Firefox 132+) ya lo hablan. - Cambia la firma de código a un esquema basado en hash (SPHINCS+ o XMSS). Las firmas son de 8–40 KB pero firmar es raro; el coste es aceptable.
- Rota cada clave asimétrica de larga duración en un ciclo de 12 meses. Limita el valor de las sesiones pasadas cosechadas, incluso clásicamente.
- Mueve las claves SSH de usuario a Ed25519 ahora y a ML-DSA cuando OpenSSH lo entregue (en curso). Evita RSA-2048 para cualquier clave nueva.
- Para PGP, genera claves híbridas frescas (ECC + ML-KEM) cuando aterrice la rama borrador de GnuPG. Republica.
- Para las blockchains que tengas, barre fondos a direcciones cuya pubkey nunca haya sido expuesta. Activa una alerta para el primer estándar de dirección PQ de tu cadena.
- Audita tus tokens hardware. RSA-2048 dentro de YubiKey serie 5 está al final de vida. El firmware 5.7 (2024) soporta brainpoolP384; la próxima generación enviará PQ.
- Construye un inventario de claves. No puedes rotar lo que no puedes enumerar. CycloneDX tiene una especificación CBOM (cryptography BOM) — adóptala.
- Prueba PQ en CI ya. Liboqs ofrece reemplazos para OpenSSL. Los modos de fallo que encuentras en CI son modos de fallo que no encuentras en respuesta a incidentes.
6. Perspectiva de actores de amenaza ¶
- Nivel estatal: construyendo o contratando máquinas tolerantes a fallos. NSA (CNSA 2.0) y el MSS chino exigen migración PQ para ~2030 en sistemas de seguridad nacional. No esperan al roadmap público.
- Crimen organizado: aún sin capacidad cuántica. Alquilará capacidad a servicios cuánticos en nube alineados con estados dentro de 2-3 años del primer Q-day público.
- Amenazas internas: completamente inalteradas. PQ no te protege de tu sysadmin.
- Script kiddies: irrelevantes durante al menos una década. La explotación cuántica no será descargable.
7. Lectura recomendada ¶
- ENISA — Post-Quantum Cryptography: Current State and Quantum Mitigation (2024)
- NSA — CNSA 2.0 Suite (2022, actualizado 2024)
- Teorema de Mosca (informal): si X + Y > Z, tienes un problema, donde X es vida útil del secreto, Y es tiempo para migrar, Z es tiempo al Q-day.
- BSI — Migration to Post-Quantum Cryptography (2024)
El atacante no necesita un cuántico para empezar el ataque. Solo necesita creer que uno viene. Trata tu tráfico TLS saliente actual como si fuera una postal. Ese es el modelo de amenaza.
OPS RELACIONADAS
Dentro de la suite PQC de NIST: ML-KEM (FIPS 203), ML-DSA (FIPS 204), SLH-DSA (FIPS 205)
Cuatro años después de nombrar a los finalistas de ronda 3, los estándares están firmados. Aquí está qué hace cada uno, qué parámetro elegir en cada nivel de seguridad, y la llamada mínima en Python y TypeScript.
Q-day: cómo los analistas fijan la ventana entre 2029 y 2034
Los pronósticos convergen en una ventana de cinco años. Comparamos seis estimaciones publicadas lado a lado, mostramos qué asume cada una, y enviamos una calculadora del teorema de Mosca para que derives tu propio plazo de migración.
Grover muerde a AES: por qué 128 ha muerto y 256 es tu nueva base
El algoritmo de Grover da un speedup cuadrático sobre la búsqueda de clave por fuerza bruta. AES-128 baja a ~64 bits efectivos. AES-256 se queda en ~128 bits. El arreglo es una línea de config — pero hay que encontrar cada sitio donde vive estado de cifrado.