jueves, 5 de noviembre de 2015

Red Tor

Tor es una red que implementa una técnica llamada Onion Routing , diseñada para 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. 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 deseados.
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. 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 (punto de intersección, conexión o unión de varios elementos que confluyen en el mismo lugar) 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, en difinitiva, 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 (un servidor proxy actúa como intermediario entre dos ordenadores).
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.


No hay comentarios:

Publicar un comentario