Cita

"Those who are willing to pay a penny of security for a penny of usability will eventually have neither"

02 mayo 2016

TOR Hidden Services



Después de haber contado en otro post cómo TOR es uno de los medios disponibles para proteger nuestra privacidad y evitar la creación pasiva de la huella digital, en éste voy a explicar (muy por encima) cómo se establece la conexión entre un cliente y un servicio en la red TOR (TOR Hidden Service):

Para que un cliente se pueda conectar con un hidden service éste tiene que anunciar su existencia en la red TOR. Para ello, el servicio elige algunos nodos al azar, construye circuitos hacia ellos y les envía su clave pública para que actúen como punto de introducción. Después crea un descriptor formado por la clave pública y un resumen de cada punto de introducción, los firma con su clave privada y lo sube a una tabla hash distribuida. El nombre del descriptor se genera automáticamente a partir de la clave pública y tendrá la extensión .onion. Éste es el nombre que tiene que conocer el cliente para poder acceder al descriptor, donde verá cuáles son los puntos de introducción al hidden service y la clave pública de éste.

El cliente se puede conectar con el hidden service mediante de un proxy que soporte SOCKS 4a, como Polipo. Lo que hace la aplicación cliente es crear un circuito con un nodo elegido al azar, al que le dice un secreto de un solo uso para que dicho nodo actúe como punto de encuentro.

Una vez hecho eso, el cliente forma un mensaje de introducción con la dirección del punto de encuentro y el secreto de un solo uso, lo cifra con la clave pública del hidden service y lo envía a uno de los puntos de introducción para que éste se lo envíe al hidden service, quien descifrará el mensaje para saber cuál es el nodo que actúa como punto de encuentro. Con esa información, el hidden service crea un circuito para llegar hasta él y envía al punto de encuentro un mensaje de encuentro con el secreto de un solo uso enviado por el cliente. Entoces, el punto de encuentro notifica al cliente que la conexión se ha establecido. A partir de ese momento, la comunicación se realizará por los circuitos que el cliente y el hidden service tienen establecidos con el punto de encuentro.

 


Pasos para configurar nuestro propiot servicio TOR (en un ordenador con debian y sucedaneos):

1) Instalar TOR:
$ apt-get install tor
$ deb http://deb.torproject.org/torproject.org wheezy main
$ deb-src http://deb.torproject.org/torproject.org wheezy main
$ gpg --keyserver keys.gnupg.net --recv 886DDD89>
$ gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -

(cambiar wheezy por la distro que tengamos).

2) Definir el directorio del hidden service y la dirección del servidor:
Para ello, introducir la siguientes lineas en el fichero /etc/tor/torrc:

HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8090

(En vez de la dirección del localhost, poner nuestra dirección externa; el localhost sirve para pruebas de laboratorio).

3) Arrancar TOR:
$ sudo /etc/init.d/tor restart>

Con eso, se han creado en /var/lib/tor/hidden_service el hostname y el private_key.

Para probarlo, accedemos con un navegador TOR a la dirección .onion que aparezca en el hostname.

Más información:









6 comentarios:

  1. María, ¡actualiza tú blog!:

    Bringing HTTPS to all blogspot domain blogs
    https://security.googleblog.com/2016/05/bringing-https-to-all-blogspot-domain.html

    ResponderEliminar
  2. Ya está. Lo que pasa es que el http sigue funcionando

    ResponderEliminar
  3. Puedes hacer esto:

    Turn on HTTPS redirect for your blog
    https://support.google.com/blogger/answer/6284029?p=blog_security_https&rd=1

    ResponderEliminar
    Respuestas
    1. Pues ya está cambiado. Me parece una buena idea. Gracias por el aporte

      Eliminar
  4. Para usar TOR de la forma más segura, lo mejor es instalar Tails en un USB:
    https://tails.boum.org/

    ResponderEliminar
    Respuestas
    1. Y, además, hacerlo a través de una VPN ;)

      Eliminar

A penny for your thoughts