Llevamos ya varios meses con más y más noticias sobre las acciones de la NSA para controlar y vigilar a millones de usuarios, pero hace dos días se desató el pánico entre la comunidad de usuarios de GNU/Linux cuando surgió la posibilidad de que existiera una puerta trasera en el propio kernel que permitiría a la NSA, en teoría, acceder a todos los documentos encriptados.
Pero vayamos por partes. Antes de nada, ¿es esto posible? Pues sí, es posible, pero vamos a analizar el problema con calma. En Espacio Linux se han molestado en informarse mejor antes de escribir (porque la verdad es que he leído tantas burradas por ahí…) y os recomiendo que leáis la entrada que escribieron ayer: Linux, la NSA y la desinformación.
De existir esta puerta trasera, que es imposible de confirmar por cierto, sería debido a RdRand, un conjunto de instrucciones o ISA (Instruction Set Architecture) específico para los microprocesadores de Intel que sirve para obtener números aleatorios. La generación de estos números aleatorios es crucial para la criptografía. Y esto es lo que se pone en duda. Se cuestiona si, efectivamente RdRand genera números aleatorios, o si por el contrario devuelve números de una lista (realmente larga, eso sí) creada previamente. El problema: es imposible comprobarlo ya que no se puede conocer el algoritmo detrás de RdRand al tratarse de hardware de Intel. De ser esto cierto, toda la información cifrada estaría en peligro. No porque los algoritmos criptográficos tengan fallos sino porque al conocer la secuencia de números “aleatorios” sería posible obtener las claves. Por ejemplo, una pareja de claves generada con estos números, no sería segura ya que la NSA podría obtener rápidamente tu clave privada a partir de tu clave pública, algo impensable por fuerza bruta si las contraseñas son lo suficientemente largas (y la NSA no tiene super ordenadores con tecnología alienígena).
Ahora hay que aclarar varias cosas, RdRand solo se utiliza cuando está disponible. Es decir, si no tenemos un procesador Intel que disponga de ello no haremos uso de él, evidentemente. Además, es falso que los kernels 100% libres no hagan uso de él. Por último, en caso de que sí dispongamos de un chip Intel con esta característica, podemos desactivar el uso de RdRand y utilizar la generación de números aleatorios por software en todo momento. Para esto tenemos que añadir la opción nordrand al núcleo cuando arrancamos el sistema (en la configuración de Grub). Nos podría quedar algo así entonces:
linux /vmlinuz-linux root=UUID=503a6983-a5c4-4ddb-971a-be8cadc5d47e ro quiet nordrand
Ahora ya más en general, no sé que pensar sobre todo esto de la NSA. Si es cierto todo lo que se publica en los medios, digamos en los más serios, RdRand es lo que menos debería preocuparnos. Si efectivamente te quieren vigilar, lo van a hacer. Independientemente de si usas GNU/Linux o no, de si navegas con TOR o no y de si encriptas tu información o no. Solo espero que entre todas las verdades que se están publicando, también haya alguna exageración y la NSA no tenga ni los medios, ni el apoyo de las grandes empresas de internet, ni mucho menos todo el dinero que parece recibir del gobierno de los EEUU. Y para acabar la entrada os dejo una cita de Matthew Green, un experto en criptografía, que leí hace unos días en el The Washington Post:
“The idea that humans can communicate safely is something we should fight for.”