Etiquetas

, ,

Lo cuenta Bruce Schneier en Wired (también en su blog). El gobierno norteamericano –vía NIST– acaba de publicar un nuevo estándar para la generación de números aleatorios. La generación de números pseudoaleatorios es muy importante para el cifrado, por ello son importantes los métodos que se usen para asegurar el buen funcionamiento.

Uno de los cuatro métodos propuestos, el Dual_EC_DRBG, es sospechoso porque el algoritmo es muy lento y tiene algunos problemas intrínsecos –tiene unos atajos indicados en el mismo estándar–. E incluso tiene una serie de constantes que definen el algoritmo de curva elíptica que nadie sabe de dónde han salido. ¿Por qué incluyeron un algoritmo así en el estándar? Por presiones de la NSA.

Menos mal que los científicos, teóricos e ingenieros de cifrado son muy conservadores y muy escépticos, tanto es así que se dedicaron a estudiar el algoritmo. Así Dan Shumow y Niels Ferguson descubrieron que existe un segundo conjunto de números desconocidos –o secretos– que tienen relación con los números generados. Es decir, conociendo esos números secretos y sólo 32 bytes de una cadena cifrada TLS se puede descifrar todo el protocolo.

Es acojonante.

Al final no es tan grave, porque cambiando esas constantes iniciales –tal como se indica en un apéndice del estándar– se puede evitar el problema.

Pero… la mayoría de los fabricantes tienden a usar la implementación tal cuál está especificada, ¿qué hubiese pasado si un par de investigadores no hubiesen descubierto y publicado esta “extraña” relación?

Es muy sospecho, tampoco se explica que se haya puesto un algoritmo que desde el punto de vista ingenieril no tenía mucho sentido.

¿O quizás es la “academia” ya está reduciendo a pocos meses el histórico gap que les hacía ir unos cuantos años por detrás de la ultrasecreta y poderosa NSA?