El incidente de la puerta trasera de Dual EC DRBG
Revise el escándalo de Dual EC DRBG, manipulado con una puerta trasera por la NSA, y lo que revela sobre los riesgos de la estandarización criptográfica.
El incidente de la puerta trasera de Dual EC DRBG es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cryptology Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cryptology Academy incluye 4 lecciones en total.
Qué es Dual EC DRBG
Dual Elliptic Curve Deterministic Random Bit Generator (Dual EC DRBG) fue uno de los cuatro DRBG estandarizados por NIST en SP 800-90A (2006). Genera bits seudoaleatorios utilizando dos puntos de curva elíptica, P y Q: en cada paso calcula r_i = x(s_i * P) (la coordenada x de la multiplicación de puntos); después s_{i+1} = x(r_i * P) actualiza el estado, y output = x(r_i * Q) genera los bits. El generador parecía legítimo en la notación académica. Se incluyó en NIST SP 800-90A y posteriormente RSA Security lo avaló como opción predeterminada en su biblioteca criptográfica BSAFE, extendiéndolo a software empresarial y gubernamental.
Las matemáticas de la puerta trasera
La puerta trasera de Dual EC DRBG explota la relación entre P y Q. Si un adversario conoce un escalar secreto e tal que Q = e * P, entonces, a partir de cualquier bloque de salida, puede calcular lo siguiente: a partir de output = x(r * Q), fuerza bruta sobre la coordenada y de r*Q y, después, calcula r*P = (1/e) * (r*Q) mod n. A partir de r*P, puede predecir todas las salidas futuras y recuperar el estado interno. El conocimiento de e es la puerta trasera; equivale al logaritmo discreto de Q con respecto a P. El estándar de NIST proporcionaba los valores de P y Q sin explicar cómo se habían elegido, lo que hacía imposible verificar que se hubieran generado aleatoriamente sin una trampa criptográfica.
Advertencia académica temprana: Shumow y Ferguson
En agosto de 2007, Dan Shumow y Niels Ferguson presentaron un artículo fundamental en la Rump Session de CRYPTO, titulado "On the Possibility of a Back Door in the NIST SP800-90 Dual Ec Prng." Demostraron formalmente que, si alguien conocía e (el ECDLP de Q con respecto a P), podía predecir toda la salida de Dual EC DRBG a partir de aproximadamente 32 bytes de salida. Lo demostraron con un ejemplo sencillo. Su presentación recibió mucha atención en la comunidad de la criptografía. Bruce Schneier escribió: "we have no way of knowing whether the NSA can read Dual_EC_DRBG output or not." A pesar de esta advertencia, Dual EC DRBG permaneció en el estándar durante seis años más.
Los documentos de Snowden: confirmación
En septiembre de 2013, The New York Times, The Guardian y ProPublica publicaron informes basados en documentos filtrados por Edward Snowden, que revelaban que la NSA había introducido vulnerabilidades secretamente en estándares criptográficos. Un documento titulado "Sigint Enabling Project" describía un programa de 250 millones de dólares al año para "covertly influence" estándares y productos de cifrado. Aunque el documento no mencionaba explícitamente Dual EC DRBG, la comunidad criptográfica concluyó ampliamente, junto con la demostración matemática de Shumow y Ferguson, que la NSA había insertado la puerta trasera al elegir P y Q con una relación e conocida, mantener e en secreto y enviar las constantes a NIST.
RSA Security y el contrato de 10 millones de dólares
Reuters informó en diciembre de 2013 que la NSA había pagado 10 millones de dólares a RSA Security para convertir Dual EC DRBG en el generador predeterminado del kit de herramientas criptográficas BSAFE de RSA. RSA Security, que entonces era una división de EMC, distribuía BSAFE en software empresarial utilizado por instituciones financieras, empresas sanitarias y contratistas gubernamentales. El comunicado de RSA negó que hubiera implementado conscientemente una puerta trasera, pero reconoció haber aceptado el contrato. Esta revelación fue especialmente perjudicial: BSAFE se comercializaba como un producto de seguridad y sus clientes lo habían elegido específicamente por las garantías criptográficas que ofrecía. El incidente dañó gravemente la reputación de RSA Security y provocó boicots a la RSA Conference en 2014.
Respuesta de NIST y retirada del estándar
Tras las revelaciones de Snowden, NIST tomó varias medidas. En septiembre de 2013, NIST reabrió SP 800-90A para recibir comentarios públicos y recomendó no utilizar Dual EC DRBG mientras durara la revisión. En abril de 2014, NIST publicó SP 800-90A Revision 1, que eliminó por completo Dual EC DRBG; solo permanecieron Hash_DRBG, HMAC_DRBG y CTR_DRBG. NIST también inició una revisión de todos sus estándares y directrices criptográficos, examinando específicamente si la influencia de la NSA había comprometido otros estándares. Se creó el grupo de trabajo NIST Cryptographic Standards and Guidelines Process para aumentar la transparencia y la participación pública en futuros esfuerzos de estandarización.
Impacto en la confianza criptográfica
La puerta trasera de Dual EC DRBG tuvo profundas implicaciones para la confianza de la comunidad criptográfica en los organismos de estandarización. Demostró que una agencia nacional de inteligencia estaba dispuesta a debilitar deliberadamente estándares criptográficos utilizados en todo el mundo, afectando no solo a adversarios, sino también a aliados, empresas y ciudadanos particulares. El incidente aceleró la adopción de algoritmos abiertos y auditables con constantes del tipo "nothing-up-my-sleeve": Keccak, utilizado por SHA-3, empleó un algoritmo documentado para generar sus constantes; BLAKE2 y BLAKE3 derivan sus constantes de las partes fraccionarias de constantes matemáticas; Curve25519 utiliza un primo (2^255 - 19) elegido específicamente para que pueda auditarse. La generación "verifiably random" de parámetros de curvas elípticas se convirtió en una práctica estándar.
Constantes del tipo "nothing-up-my-sleeve"
El escándalo de Dual EC DRBG popularizó el concepto de constantes "nothing-up-my-sleeve" (NUMS): parámetros criptográficos generados a partir de fuentes verificables públicamente que no pueden contener puertas traseras ocultas. Algunos ejemplos son los siguientes: SHA-2 utiliza valores hash iniciales derivados de las raíces cuadradas de los primeros 8 números primos; sus constantes de ronda proceden de las raíces cúbicas de los primeros 64 números primos. BLAKE2 deriva sus constantes de las expansiones fraccionarias de pi y de otras constantes matemáticas. Ed25519 utiliza el primo 2^255 - 19 y un punto base cuyo logaritmo discreto con respecto a cualquier otro punto es demostrablemente desconocido (se elige como el hash de una cadena). Estas prácticas permiten que cualquiera verifique que las constantes no se eligieron con conocimiento secreto.
Dual EC en productos reales: el incidente de Juniper
En diciembre de 2015, Juniper Networks reveló que había código no autorizado en ScreenOS (su sistema operativo para firewalls) desde 2012. La investigación descubrió dos puertas traseras: una reemplazaba la constante Q de Dual EC DRBG por un valor controlado por el atacante (lo que permitía al atacante que conociera el e correspondiente descifrar el tráfico VPN), y una segunda puerta trasera estaba en la contraseña administrativa de SSH. La sustitución de Q en Dual EC era especialmente sofisticada: Juniper ya utilizaba un valor Q no estándar y el atacante lo reemplazó por uno propio, aprovechando dos veces la estructura de puerta trasera de Dual EC. Esto demostró que incluso las implementaciones que se apartaban de los valores P/Q de NIST podían ser atacadas por cualquiera que introdujera su propio Q.
Lecciones para la estandarización criptográfica
El incidente de Dual EC DRBG deja varias lecciones. (1) Transparencia: los parámetros criptográficos deben tener orígenes verificables; las constantes sin documentación sobre su derivación resultan sospechosas. (2) Diseño de algoritmos: los algoritmos no deberían tener estructuras capaces de ocultar puertas traseras (la relación Q/P de Dual EC no ofrece ninguna ventaja de seguridad frente a diseños de DRBG más sencillos). (3) Conflicto de intereses: los organismos de estandarización deben gestionar rigurosamente los conflictos con las agencias de inteligencia. (4) Revisión por la comunidad: se debe permitir que los criptógrafos académicos planteen sus inquietudes antes de publicar los estándares, no después. (5) Vigilancia durante el despliegue: las organizaciones deberían auditar qué DRBG utilizan sus bibliotecas criptográficas y eliminar de forma proactiva las opciones no recomendadas.
Panorama de los DRBG después de la puerta trasera
Tras la eliminación de Dual EC, el panorama recomendado de DRBG se consolidó en torno a Hash_DRBG, HMAC_DRBG y CTR_DRBG. La comunidad de código abierto también ha adoptado DRBG que no pertenecen a NIST en contextos donde existe desconfianza hacia los estándares de NIST: los RNG basados en ChaCha20 (utilizados en el kernel de Linux desde la versión 5.17, OpenBSD y libsodium) se consideran ampliamente resistentes a puertas traseras porque ChaCha20 es un cifrador de flujo sencillo sin estructuras de puerta trasera. Fortuna (utilizado en FreeBSD y en versiones antiguas de macOS) es anterior a SP 800-90A y sigue siendo confiable. El incidente de Dual EC también renovó el interés por los RNG de hardware (RDRAND) como fuentes de entropía, aunque RDRAND también fue acusado de una posible puerta trasera, lo que llevó a recomendar mezclar RDRAND con entropía de software en lugar de utilizarlo exclusivamente.
Cuestionario sobre la puerta trasera de Dual EC
¿Qué relación matemática permite la puerta trasera de Dual EC DRBG?
Resumen de la puerta trasera de Dual EC DRBG
Dual EC DRBG se estandarizó en NIST SP 800-90A en 2006. En 2007, Shumow y Ferguson demostraron que conocer e (donde Q=e*P) permite predecir toda la salida a partir de 32 bytes. Las filtraciones de Snowden de 2013 confirmaron la influencia de la NSA sobre los estándares criptográficos. Según los informes, RSA Security recibió 10 millones de dólares para convertir Dual EC en el generador predeterminado de BSAFE. NIST eliminó Dual EC en SP 800-90A Revision 1 (2014). El incidente de Juniper de 2015 mostró que la puerta trasera se explotó en un producto real. Las lecciones incluyen el uso de constantes NUMS, una derivación transparente, la gestión de conflictos de intereses y procesos de auditoría posteriores a la estandarización. Los RNG basados en ChaCha20 surgieron como una alternativa confiable.
Preguntas frecuentes
¿La lección «El incidente de la puerta trasera de Dual EC DRBG» es gratis?
Sí — el texto completo de «El incidente de la puerta trasera de Dual EC DRBG» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cryptology Academy, actualiza a CoddyKit PRO. El curso de Cryptology Academy incluye 4 lecciones en total.
¿Qué aprenderé en «El incidente de la puerta trasera de Dual EC DRBG»?
Revise el escándalo de Dual EC DRBG, manipulado con una puerta trasera por la NSA, y lo que revela sobre los riesgos de la estandarización criptográfica. Practicas Cryptology Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Cryptology Academy?
No se requiere experiencia previa. Cryptology Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «El incidente de la puerta trasera de Dual EC DRBG»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Cryptology Academy?
Sí. Cada lección de Cryptology Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- NIST SP 800-90A: estándares DRBG
- Entresijos de Hash-DRBG, HMAC-DRBG y CTR-DRBG
- El incidente de la puerta trasera de Dual EC DRBG
- Pruebas y validación de implementaciones de RNG