¿cómo funciona realmente esta red? ¿Quién lo usa, y para qué propósitos? ...
Cómo funciona Tor: el enrutado cebolla
Tor es una red que implementa una técnica llamada Onion Routing (enrutado cebolla en castellano, aunque suena bastante peor), diseñada con vistas a proteger las comunicaciones en la Marina de los Estados Unidos. La ideas es cambiar el modo de enrutado tradicional de Internet para garantizar el anonimato y privacidad de los datos.
El enrutado tradicional que usamos para conectarnos a servidores en Internet es directo. Por ejemplo, si quieres leer Tutoriales En Linea: tu ordenador se conecta de forma directa a los servidores de Tutoriales En Linea. La ruta es, a grandes rasgos, sencilla: de tu ordenador a tu router, de ahí a los enrutadores de tu ISP (proveedor de Internet) y después directos a los servidores de Tutoriales En Linea.
Fácil y sencillo, salvo por el hecho de que si alguien intercepta los paquetes de datos en un punto intermedio sabrá perfectamente de dónde vienen y a dónde van. Incluso aunque se cifren los datos de cada paquete (por ejemplo, visitando una página HTTPS) las cabeceras de este no se cifran, y los campos del remitente y destinatario (entre otros) siguen siendo visibles.
Ahí es donde entra el Onion Routing. Habréis oído que consiste en enviar el paquete por un camino no directo, a través de varios nodos, pero en realidad es algo más complejo que eso.
Primero, el ordenador A, que quiere enviar el mensaje a B, calcula una ruta más o menos aleatoria al destino pasando por varios nodos intermedios. Después, consigue las claves públicas de todos ellos usando un directorio de nodos.
Usando cifrado asimétrico, el ordenador A cifra el mensaje como una cebolla: por capas. Primero cifrará el mensaje con la clave pública del último nodo de la ruta, para que sólo él lo pueda descifrar. Además del mensaje, incluye (también cifradas) instrucciones para llegar al destino, B. Todo este paquete, junto con las instrucciones para llegar al último nodo de la lista, se cifra de nuevo para que sólo lo pueda descifrar el penúltimo nodo de la ruta.
El paquete está en el centro, protegido por varias capas (cifrados) para cada uno de los nodos.
El proceso se repite hasta que acabamos con todos los nodos de la ruta. Con esto ya tenemos el paquete de datos listo, así que toca enviarlo. El ordenador A conecta con el primer nodo de la ruta, y le envía el paquete. Este nodo lo descifra, y sigue las instrucciones que ha descifrado para enviar el resto del paquete al nodo siguiente. Éste descifrará de nuevo y volverá a enviar al siguiente, y así sucesivamente.
Los datos llegarán finalmente al nodo de salida, que enviará el mensaje a su destino.
Mucho más seguro, privado y anónimo, pero no es infalible
El Onion Routing proporciona muchísima más seguridad y privacidad que el enrutado normal de red. Ninguno de los nodos, salvo el primero y el último, saben de dónde viene o a dónde va el mensaje. Ni siquiera saben qué posición ocupan en la ruta, y mucho menos conocen el contenido del mensaje.
De esta forma, aunque se intercepten las comunicaciones entre dos nodos, es imposible saber qué datos transmite, a dónde van o de dónde vienen. Incluso aunque hubiese un nodo infiltrado, un topo en la red, no tendría nada que hacer con los mensajes que recibe. También tiene la ventaja de que es muy difícil tumbar la red Tor: al estar los nodos distribuidos, habría que tumbar todos y cada uno de ellos para poder parar las comunicaciones.
Por supuesto, y como cualquier sistema, no es infalible. Una forma curiosa de saber quién ha enviado y recibido mensajes es analizar los tiempos. Si el ordenador A ha enviado un paquete a las 18:19:01 y 3 milisegundos, y 300 milisegundos más tarde el ordenador B ha recibido otro paquete, y se repite el patrón de latencia varias veces, es muy probable que A y B estén conectados entre sí.
También hay que tener en cuenta que el nodo final de salida puede leer el mensaje original, así que también hay que cifrar el mensaje original. Pero, en general, las redes tipo Tor, de "enrutado cebolla", son muy seguras y garantizan un nivel de privacidad extremadamente alto.
Tor, la implementación del Onion Routing
¿Y qué es Tor? Sencillo: es el software que implementa el Onion Routing de forma sencilla para los usuarios. Al instalarlo en un ordenador, pone en marcha un servidor proxy local. Para los que no lo sepáis, un servidor proxy actúa como intermediario entre dos ordenadores. Como siempre, una imagen vale más que mil palabras y la mejor explicación que he encontrado sobre servidores proxy la tenéis en la imagen de arriba.
Lo peculiar del servidor proxy de Tor es que enruta esas peticiones a través de la red Tor, usando el Onion Routing que comentábamos antes. Usando este servidor como puerta a la red anónima, podemos hacer conexiones privadas desde cualquier programa del ordenador que soporte proxys.
Por supuesto, esta aproximación tiene pegas: puede que el programa que usemos incluya nuestra IP en los datos que envía, y entonces todo el enrutado y los cifrados que hagamos no servirán para nada. Por eso, el proyecto Tor recomienda usar el navegador Tor, ya preparado para conectarse a través de la red y para no enviar ningún dato identificador. Lo mismo con algunos servicios como mensajería instantánea o correo: si no tenemos cuidado, podemos perder toda la privacidad que habíamos ganado por culpa un fallo en un programa.
¿Quién usa las redes Tor, y para qué?
Las redes Tor son ampliamente usadas en todo el mundo por gente que necesita mantener comunicaciones seguras. Desde periodistas que se comunican con fuentes que necesitan permanecer anónimas hasta una rama de la inteligencia de la Marina de los Estados Unidos, pasando por activistas perseguidos en sus países, voluntarios de ONGs o usuarios que quieren acceder a servidores bloqueados por su ISP o por su Gobierno.
La red Tor también se usa para servicios ocultos. Un servicio crea varios puntos de introducción en ciertos nodos de la red, y notifica a una base de datos qué nodos son. Cuando un cliente quiera conectarse, enviará a uno de esos nodos la dirección de un punto de encuentro (al que está conectado) y una clave única. Ese punto de introducción conectará con el servicio oculto, que se conectará al punto de encuentro, estableciendo así una comunicación entre el cliente y el servicio.
La foram en la que están planteados estos servicios ocultos permite conectarnos a servidores de correo o de chat sin saber ni siquiera su dirección exacta, usando intermediarios y circuitos Tor anónimos. A través de uno de estos servidores de correo se envió el famoso email que causó la polémica con la que introducíamos el artículo.
En este caso, es prácticamente imposible rastrear quién envió el correo: ni siquiera el propio servidor de correo sabe con qué ordenador estaba comunicándose.
Esperamos que este artículo os haya aclarado cualquier posible duda sobre lo que es (y lo que no es) Tor, y cómo funciona realmente. Y, como siempre, si tenéis alguna duda poned un comentario e intentaremos ayudaros entre todos. www.torproject.org/
Comentarios