Dual_EC_DRBG: generando azar al estilo NSA

Por Arturo Quirantes, el 13 enero, 2014. Categoría(s): Criptografia
nsa03
NSA: cuando el gobierno escucha a la gente

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

Por Arturo Quirantes, publicado el 13 enero, 2014
Categoría(s): Criptografia
Etiqueta(s): ,