Dual_EC_DRBG: generando azar al estilo NSA

nsa03

Revisando mis viejos ejemplares del Boletín ENIGMA, me he encontrado esta pequeña pieza de 2007:

La siguiente noticia nos lleva a dos agujeros de seguridad detectados en dos instrumentos criptográficos generadores de números aleatorios. Uno de los problemas más difíciles en criptografía consiste en generar números aleatorios, es decir, que no puedan predecirse ni sigan patrón alguno. Sus aplicaciones pasan, por ejemplo, por la generación de claves aleatorias de sesión para cifrar comunicaciones. El problema es que es realmente difícil hallar un generador de datos aleatorios, y si usamos ordenadores el problema se magnifica, ya que un ordenador no es más que un sistema que ejecuta operaciones matemáticas de forma bien definida.

El NIST norteamericano ha sugerido diversas normas para generar números aleatorios (o cuasialeatorios) en un ordenador, basándose en funciones hash, sistemas de cifra en bloque y curvas elípticas. Este último sistema produce un generador de números aleatorios, llamado Dual_EC_DRBG, que ha resultado ser un bicho raro. Es incómodo de usar, muy lento, y parece ser que se convirtió en un estándar porque así lo quiso la Agencia de Seguridad Nacional norteamericana (NSA). Ya en 2006 se detectó un pequeño fallo como resultado del cual los números que genera no son exactamente aleatorios. El problema no era muy grave, y tenía solución.

Pero hace poco, en la conferencia CRYPTO2007, alguien se atrevió a afirmar que Dual_EC_DRBG contiene una debilidad que sólo puede describirse como una puerta trasera (backdoor). Según se afirma, la función contiene un conjunto de constantes que definen la curva elíptica usada para generar los números aleatorios. Dichos números son bien conocidos (forman parte del estándar), si bien nadie sabe por qué son esos y no otros. Pero los investigadores Dan Shumow y Niels Ferguson afirman que dichos números están relacionados con un segundo conjunto de números que sí son secretos, aunque nadie parece saber cuáles son. Conociendo dichos números secretos, uno puede llegar a predecir los números aleatorios que se generarán. Esta es una acusación muy grave, y hasta cierto punto muy embrollada. Pero es que todo el tema de Dual_EC_DRBG está muy liado. Nadie sabe por qué la NSA se empeñó en introducir un estándar lento, incómodo de usar, con una puerta trasera que se puede hallar (ya que el estándar es público).” [Boletín ENIGMA 56, 1/12/2007]

Ahora ya lo sabemos. Según supimos no hace mucho tiempo, la NSA ha estado saboteando el trabajo de algunos fabricantes de productos criptográficos con objeto de beneficiarse de ello. Según los documentos filtrados por Snowden, la empresa RSA recibió unos diez millones de dólares para incorporar una vulnerabilidad en Dual_EC_DRBG. La empresa RSA lo ha desmentido, por supuesto, pero dudo que engañen a nadie a estas alturas.

Para el lector interesado en los detalles técnicos, le recomiendo este excelente Artículo de Ars Technica. Feliz lectura.


Deja un comentario

Tu email nunca será mostrado o compartido. No olvides rellenar los campos obligatorios.

Obligatorio
Obligatorio
Obligatorio

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>