martes, 4 de enero de 2011

Anónimos por la red con Tor y Onion Routing

¿Quién no se procupa por su privacidad cuando navega por internet o mas aún cuando utiliza algún sistema de mensajería instantánea ? ¿ Estamos siendo observados ? ¿ Está nuestro tráfico siendo analizado ?. En Internet, es posible para los que te proveen tu conección (ISPs) saber exactamente a qué sitios te conectas, qué día y a qué hora, cuál es el computador desde donde se publicó cada entrada de blog, comentario en foro, qué correo envías, etc.. Es más, en muchos países los ISPs están obligados a mantener esta información registrada durante un tiempo.
Paranoias aparte, nunca está de más en ocasiones contar con un "plus" que nos de cierta tranquilidad sobre nuestro anonimato en la red. Aquí es donde nos puede ayudar Tor y su red "cebollera" (onion routing , o enrutamiento por capas).


La técnica del onion routing se utiliza para ofrecer un cierto nivel de anonimato en las conecciones por Internet.


El onion routing permite, entre muchas otras cosas, navegar por sitios Web sin revelar ningún dato que pueda establecer quién navegó por qué sitio. También puede utilizarse para conectarse a otros servicios como mensajería instantánea o correo. Notablemente, puede ser usado también para establecer un sitio Web y que nadie pueda saber dónde está el sitio Web o quién es su autor.

TOR es un software que ocupa la técnica de Onion Routing.

¿ Cómo funciona el Onion Routing ?


La idea principal es simple: crear una cadena larga entre el origen y el destino, y que esta cadena pase por muchos agentes. Por esto se llama "onion routing", porque se puede ver el sistema como compuesto por muchas capas, como las cebollas (y los ogros). Problema: en principio, es que si hay muchas personas entre el origen y el destino, eventualmente ellos podrían ver lo que yo estoy haciendo.

Solución: es que el tráfico está encriptado entre los nodos.

El segundo problema es ¿cómo saber a quién conectarse? esto se resuelve usando un servidor de directorio. El primer paso es el conectarse a un servidor que tiene una lista de todas las personas a las cuales me puedo conectar:

Para crear la ruta de red privada el cliente Tor va creando incrementalmente un circuito de conexiones encriptadas entre los nodos que actuan como relays. El circuito se extiende un salto cada vez y cada relay solo conoce que nodo le entregó los datos y a qué nodo se los debe pasar. Ningun nodo conoce la ruta completa que el paquete de datos llevará. El cliente Tor negocia un conjunto de claves de encriptacion para cada salto de modo que cada nodo no pueda tracear las conexiones que reenvía. Ahora supongamos que me quiero conectar con algún sitio, lo que pasa a continuación es que, al azar, escojo un camino en esta red.



Una vez el circuito se ha establecido, varios tipos de datos pueden ser intercambiados y varios tipos de aplicaciones pueden apoyarse en la red Tor. Como cada nodo solo ve un salto en su circuito, un mecanismo de analisis de tráfico no podra establecer conexion entre el origen y el destino. Tor trabaja sobre TCP y puede ser usado por cualquier aplicacion con soporte SOCKS.

Si me conecto a otro sitio, la ruta puede cambiar o ser la misma. Para mejor rendimiento, las rutas cuando funcionan se siguen ocupando durante 10 minutos, luego forzosamente cambian:
Lo interesante es que este esquema funciona en ambas direcciones. Es decir, puedo además de conectarme a sitios web en forma privada, ofrecer un sitio web sin revelar dónde estoy en la red (ni en el mundo).

Más adelante, postearé un ejemplo de uso de Tor con Firefox.

Saludos

               


No hay comentarios:

Publicar un comentario