¿Es seguro el generador aleatorio de Linux? Torvalds responde

Los últimos documentos filtrados por Edward Snowden revelan que la agencia de ciberinteligencia estadounidense, la NSA, en su afán por espiar las comunicaciones cifradas, habría llegado a comprometer incluso el propio kernel de Linux a través de la empresa Intel. Explicaré aquí brevemente cuál es este problema que recorre Internet estos días y de qué manera ha quedado zanjado, de momento.

Qué es un generador de números aleatorios

La criptografía necesita números aleatorios para funcionar: secuencias no predecibles que sirvan para generar claves igualmente no predecibles y otros menesteres. Sin embargo, los ordenadores son más bien lo contrario de la aleatoriedad —como suelo decir, el ordenador hace lo que le mandas—, lo cual es un problema. El kernel de Linux, como cualquier otro sistema operativo, tiene un generador de números aleatorios, que en realidad es un generador pseudoaleatorio (léase lo suficientemente aleatorio, también como el de cualquier otro sistema), que es a lo que se puede aspirar con algo determinista como un ordenador.

Cuál es —supuestamente— el problema

El generador del kernel de Linux utiliza como fuente de aleatoriedad una instrucción de los procesadores Intel llamada RDRAND, que no deja de ser un componente hardware ajeno al kernel de Linux y, por tanto, difícilmente auditable. Al parecer, la NSA podría haber introducido una puerta trasera en dicha fuente de aleatoriedad. Esto quiere decir que las secuencias generadas con esos chips de Intel podrían ser predecibles para la NSA.

De confirmarse el problema, las consecuencias serían bastante gordas. Para empezar, no sería confiable ningún certificado o clave pública generada con hardware Intel desde la inclusión de la instrucción RDRAND.

La respuesta de Torvalds

Las discusiones en las listas de correo de desarrolladores de Linux han sido acaloradas durante los últimos días. Se llegó a abrir una petición en Change.org para que Linus Torvalds, el creador del kernel de Linux, eliminase RDRAND del generador. La respuesta de este ha sido tajante, tal y como nos tiene acostumbrados:

Where do I start a petition to raise the IQ and kernel knowledge of people? Guys, go read drivers/char/random.c. Then, learn about cryptography. Finally, come back here and admit to the world that you were wrong. Short answer: we actually know what we are doing. You don’t. Long answer: we use rdrand as one of many inputs into the random pool, and we use it as a way to improve that random pool. So even if rdrand were to be back-doored by the NSA, our use of rdrand actually improves the quality of the random numbers you get from /dev/random. Really short answer: you’re ignorant.

Resumiendo, RDRAND es solo una fuente más de aleatoriedad utilizada por el generador. Por tanto, aunque tuviera una puerta trasera, no serviría de nada y las secuencias no serían predecibles. Todo ello explicado con el peculiar estilo Torvalds.

Guía ilustrada de una tesis doctoral

A través de @Sonicando, llego a The Illustrated Guide to a Ph.D., de Matt Might, profesor de informática de la Universidad de Utah. Me permito recogerlo aquí, traducido para todos vosotros, porque me ha parecido simplemente genial.

Imagina un círculo que contiene todo el conocimiento humano:

PhDKnowledge.001

Cuando terminas la escuela, sabes un poquito:

PhDKnowledge.002

Cuando terminas el instituto, sabes un poquito más:

PhDKnowledge.003

Tras la carrera, has conseguido una especialidad:

PhDKnowledge.004

Con el máster, profundizas en esa especialidad:

PhDKnowledge.005

La lectura de artículos de investigación te lleva hasta los límites del conocimiento humano:

PhDKnowledge.006

Una vez que estás en el límite, te centras en él:

PhDKnowledge.007

Tratas de ir más allá durante unos pocos años:

PhDKnowledge.008

Hasta que, un día, ese límite cede:

PhDKnowledge.009

Y esa mella que has conseguido hacer se llama doctorado:

PhDKnowledge.010

Por supuesto, el mundo te parece muy distinto ahora:

PhDKnowledge.011

No obstante, no olvides la perspectiva global:

PhDKnowledge.012

Sigue luchando por ir más allá.

Estrella del rock del siglo XVII

Ilustrado por Almudena.
Ilustración por Almudena.

La pasada semana estuvimos en el Castillo de Chambord y supimos que una de las galerías de los pisos superiores, junto a la escalera central, se utilizó en su día como teatro. Allí, en la década de los 60 del siglo XVII, Jean-Baptiste Lully y Molière representaban sus famosas tragedias musicales. En la audioguía que íbamos escuchando durante la visita, un señor muy serio, pero muy didáctico, relataba textualmente lo siguiente:

[En 1669, durante la representación de El señor de Pourceaugnac, Lully] se vuelca en un papel de médico-bufón. Llevado por el entusiasmo, salta a la orquesta y revienta un clavecín. Es todo un éxito.

A mí que me registren

Este tweet resume a la perfección cómo funciona la alta dirección en este país, ya sea en la Administración Pública o en la empresa privada:

 

Genio

Beethoven no abre caminos. Beethoven, como cualquier genio, los cierra. Lo que él hace está cerrado en sí mismo, está inaugurado y cerrado por él. Y lo que hacen los demás es lo que pueden sobre eso.

Cita extraída de la charla ofrecida por el compositor Tomás Marco en la Universidad Internacional Menéndez Pelayo dentro del curso titulado Música y Vanguardias artísticas en los siglos XIX y XX. Muy recomendable (gracias a @emulenews por el enlace).