Tor

From FdIwiki ELP
Revision as of 16:05, 20 February 2015 by Jose Serrano Alvarez (Talk | contribs)

Jump to: navigation, search

TOR (The Onion Router), también conocida como la Darknet o DeepWeb es una red de comunicaciones distribuida de baja latencia y superpuesta sobre internet, en la que el encaminamiento de los mensajes intercambiados entre los usuarios no revela su identidad, es decir, su dirección IP. En la red Tor los mensajes viajan desde el origen al destino a través de una serie de routers especiales llamados 'routers de cebolla' (en inglés onion routers) La red Tor es posible gracias a un conjunto de organizaciones e individuos que donan su ancho de banda y poder de procesamiento.

Objetivo

El objetivo principal de Tor es conseguir que internet pueda usarse de forma anónima de manera que el encaminamiento de los mensajes proteja la identidad de los usuarios. Es decir, persigue que no se pueda rastrear la información que envía un usuario para llegar hasta él (su dirección IP) La red Tor cifra la información a su entrada y la descifra a la salida de dicha red. Por tanto el propietario de un router de salida puede ver toda la información cuando es descifrada antes de llegar a Internet, por lo que aunque no pueda conocer el emisor sí que puede acceder a la información

Componentes

La red está formada por una serie de nodos que se comunican mediante el protocolo TLS que es un protocolo de cifrado sobre TCP/IP que es el protocolo con el que funciona internet. Hay dos tipos de entidades:

Nodos OR o simplemente OR: funcionan como encaminadores y en algunos casos además como servidores de directorio. Los nodos OR mantienen una conexión TLS con cada uno de los otros OR. Las conexiones OR-OR no son nunca cerradas deliberadamente salvo cuando pasa cierto tiempo de inactividad

Nodos OP o simplemente OP: su función es obtener información del servicio de directorio, establecer circuitos aleatorios a través de la red y manejar conexiones de aplicaciones del usuario. Funciona como software local con el que el usuario se comunica. Las conexiones OR-OP no son permanentes. Un OP debería cerrar una conexión a un OR si no hay circuitos ejecutándose sobre la conexión y ha vencido cierto temporizador

Servicios de Directorio

Un servicio de directorio (SD) es una aplicación o un conjunto de aplicaciones que almacena y organiza la información sobre los usuarios de una red. En el caso de Tor el servicio de directorio publica una base de datos que asocia a cada OR una serie de información Esta información es accesible a todos los OR y a todos los usuarios finales y la usan para tener un conocimiento de la red. Si se tienen pocos servidores de directorio se corre el riesgo tener un punto cuyo fallo puede ocasionar el fallo del sistema completo. dirección IP, nombre amigable para el usuario, versión del software TOR, sistema operativo, clave pública, Los servidores de directorio son en realidad un grupo establecido de ORs confiables.

Funcionamiento

La red Tor funciona de la siguiente manera:

  • A partir de la información obtenida de su configuración y del servicio de directorio el OP decide un circuito por el que van a circular los paquetes. Por defecto el circuito tienen 3 nodos OR.
  • El OP negocia, , las claves de cifrado necesarias con cada OR del circuito para proteger sus datos en todo el camino antes de realizar transmisión alguna. La obtención de las claves simétricas una para cada sentido de comunicación (Kf<- forward key, Kb<-backward key), se realiza a partir del protocolo de establecimiento de claves Diffie-Hellman para obtener una clave compartida y a partir de ella derivar las dos claves simétricas

el algoritmo de Diffie-Hellman funciona de la siguiente manera.

Para dos partes Alice y Bob que intentan establecer una clave secreta y un adversario Mallory, la versión básica es como sigue:

1. Se establecen un primo p y un generador g∈Zp (2 ). Estos son públicos, conocidos no solo por las partes Alice y Bob sino también por el adversario Mallory.

2. Alice escoge a∈Zp−1 al azar, calcula A=g^amodp, y envía A a Bob.

3. Bob escoge b∈Zp−1 al azar, calcula B=g^bmodp, y envía B a Alice.

4. Ambos saben el valor de K que es el que usan para cifrar y descifrar.

  • A continuación cifra el paquete con la clave para el último OR del circuito.
  • A continuación hace lo propio del penúltimo.
  • Hace lo mismo con todos los nodos hasta hacer lo propio con la de primer nodo.
  • Envía el paquete resultante al primer nodo del circuito. El paquete enviado queda envuelto en capas, cada una con la clave de uno de los nodos OR, de ahí en nombre de encaminamiento de cebolla.
  • El primer OR quita 'su' capa de la cebolla y envía el paquete al siguiente nodo.
  • Según va llegando el paquete a cada OR éste pela la capa externa. De esta forma ningún OR puede hacerse con la imagen completa del circuito ya que sólo conoce los OR/OP anterior y posterior.

Células

Una vez que se establece la conexión TLS, las entidades se envían paquetes de información estructurada llamadas células. Formato:

• circID.- Es el identificador de circuito y especifica el circuito a el que se refiere la célula. Cada circuito tiene un un CircId distinto para cada OR y OP del circuito

• CMD.- Indica el comando que especifica el significado de la célula. Atendiendo al tipo de comando (valor de CMD) hay 2 tipos de células: Células de control y Células de transmisión

Células de control Las células de control (en inglés control cell) son siempre interpretadas por el nodo que las recibe y permiten controlar la comunicación. Comandos que tienen estas células:

• CREATE :Para crear circuito

• CREATED :Para indicar que se ha cerrado el circuito

• DESTROY :Destruir circuito

• CREATE_FAST :Para crear un circuito reaprovechando operaciones de clave pública existentes)

• CREATED_FAST : Para indicar que se ha creado el circuito de una manera rápida

Células de transmisión Las células de transmisión son usadas para la comunicación entre el OP y cualquiera de los OR del circuito, normalmente el exit node. En este tipo de células el formato tiene campos que forman parte de la carga útil (PAYLOAD):

  • Relay command.- El el subcomando RELAY que indica el funcionamiento de la celda.

Hay tres tipos de subcomandos relay:

• forward: Son enviados desde el OP origen del circuito

• backward: Son enviados desde los OR del circuito al OP origen

• ambos: Pueden funcionar como forward o como backward

Posibles subcomandos:

• RELAY_BEGIN De tipo forward

• RELAY_DATA De tipo forward o backward

• RELAY_END De tipo forward o backward.

• RELAY_CONNECTED (código 4).- De tipo backward

• RELAY_SENDME De tipo forward o backward. A veces se usa para funciones de control (streamID=0)

• RELAY_EXTEND De tipo forward. Se usa para funciones de control (como veremos streamID=0)

• RELAY_EXTENDED De tipo backward. Se usa para funciones de control (streamID=0)

• RELAY_TRUNCATE De tipo forward. Se usa para funciones de control (streamID=0)

• RELAY_TRUNCATED De tipo backward. Se usa para funciones de control (streamID=0)

• RELAY_DROP De tipo forward o backward. Se usa para funciones de control (streamID=0)

• RELAY_RESOLVE De tipo forward

• RELAY_RESOLVED De tipo backward

• RELAY_BEGIN_DIR De tipo forward

  • Recognized: Campo que junto con el campo digest permite identificar si la celda es para ser procesada localmente.
  • StreamID: Es el identificador de flujo. De esta forma se permite que varios flujos puedan ser multiplexados en un solo circuito. Este campo permite identificar el stream al que nos referimos entre los múltiples streams del circuito. Es seleccionado por el OP y permite al OP y al exit node distinguir entre múltiples streams en un circuito. Las células que afectan al circuito entero en lugar de a un streamID particular tienen este campo a 0 y se pueden considerar como de control.
  • Digest.- Permite el control de integridad extremo a extremo (end-to-end integrity checking). Contiene los primeros cuatro bytes de ejecutar SHA-1 sobre TODOS los bytes de células relay que han sido enviados a este nodo del circuito o originados desde este nodo del circuito (sólo conocidos por el origen y el destino ya que van cifrados
  • length.- Indica el número de bytes del campo DATA que contiene carga útil real. El resto del campo irá rellenado por bytes a NUL

Una célula se considera completamente descifrada si el campo Recognized está a ceros y el campo Digest es el primero de los 4 bytes resultado de ejecutar la función de digest de todos los bytes 'destinados a' o 'originados desde' este salto del circuito. Si una celda no está completamente descifrada se pasa al siguiente salto del circuito. Si la célula se ha comprobado que está completamente descifrada pero el comando de la célula no se entiende la célula será borrada e ignorada pero su contenido todavía cuenta respecto a los digests. Observar que el campo Recognized permite, de una forma muy rápida, descartar ciertas células como candidatas a estar completamente descifradas.

La diferencia principal entre las células de control y las de transimisión es que las primeras pueden ser leidas por cualquiera mientras que las segundas solo por un nodo concreto. Por ejemplo cuando se envía una celula destroy el OP la envía al primer OR este la recibe, cierra todos los flujos y la manda al siguiente. Así hasta llegar al final Para celularelay el OP asigna el digest y después encripta la celula con cada una de las claves delos nodos OR. Como el digest esta encriptado con distintos valores en cada paso solo el nodo objetivo podrá recibir el valor adecuado y por tanto hacer la función que le indique la celula Cuando un nodo OR recibe una celula comprueba si al dessencriptar la celula con su clave da un código correcto de digest, sino es asi comprueba el siguiente nodo, cambia el valor de CircID de la celula por el del siguiente nodo

IRC de Tor

Actualmente existe un canal IRC de Tor donde muchos usuarios se conectan para tratar problemas y contar al resto los avances y mejoras que se van consiguiendo en la red [1] el canal es #tor-dev


Mantener la privacidad

En el navegador Tor, se avisa que la utilización del mismo no es lo único que se necesita para mantener la privacidad en Internet, sino que hay que cambiar diferentes hábitos de navegación para conseguirlos:

1. Usar en navegador Tor:

Tor no te protege de todo el tráfico en internet que genere tu ordenador cuando lo utilizas. Sólo protege las aplicaciones que están correctamente configuradas para desviar su tráfico a través de Tor. Para evitar problemas con la configuración de Tor, recomendamos no usar dicho navegador. Esta pre-configurado para proteger tu privacidad y anonimato en la web siempre que hagas esta tarea a través del mismo Navegador Tor. Casi todas las configuraciones de los demás navegadores son inseguras para utilizar con Tor.

2. No utilizar Torrent en Tor:

Las aplicaciones de compartición de archivos mediante Torrent ignoran las configuraciones proxy y hacen conexiones directas incluso si se está utilizando Tor. Incluso si tu aplicación Torren se conecta solo a través de Tor, solo mandaras tu dirección IP real cuando el tracker haga una petición GET, porque así es cómos funciona los Torrent. No solamente elimina harás que pierdas en anonimato en tu navegación, sino que vulnerarás el de toda la red Tor.

3. No permitas instalar plugins en el navegador:

El navegador Tor bloqueará los plugins como Flash, RealPlayer, Quicktime, y otros: pueden ser manipulados para revelar tu dirección IP. De manera similar, tampoco se recomienda instalar otros addons por la misma razón: pueden dañar el anonimato y la privacidad del usuario.

4.Usar las versiones HTTPS de las páginas:

Tor encriptará tu trafico dentro de la red Tor, pero la encriptación del tráfico para el destino final depende de la web que lo reciba. Para ayudar a la correcta encriptación, el navegador Tor incluye HTTPS Everywhere para forzar el uso de encriptación HTTPS en la mayoría de webs que lo soporte. Sin embargo, deberás observar la URL del navegador para asegurar que la web a la que estas proporcionando información muestre un botón en la barra de direcciones de color azul o verde, incluya https:// en la dirección, y muestre el nombre esperado de la web correctamente. Se recomienda mirar la página interactiva de la EFFS donde explica cómo se relacionan Tor y HTTPS.

5.No abrir documentos descargados de Tor mientras se está online:

El navegador Tor te avisara antes de abrir automáticamente documentos en aplicaciones externas. NO IGNORES ESTE AVISO. Deberás ser muy cuidadoso cuando descargues documentos vía Tor (especialmente archivos DOC y PDF) ya que pueden contener fuentes de internet que pueden descargar fuera de Tor por la aplicación que las abra. Esto revelara tu verdadera IP. Si debes trabajar con dichos documentos, te recomendamos utilizarlos cuando no se tenga conexión a internet, descargar Virtual Box, y utilizarlos a través de una máquina virtual con la conexión de red deshabilitada. Bajo ninguna circunstancia es seguro utilizar BitTorrent y Tor, tampoco.

6. Usar puentes and/or Find Company

Tor intenta prevenir a los atacantes de conocer cuáles son a las webs que te conectas. Sin embargo, por defecto, no previene que alguien este observando tu tráfico de internet para ver que estas utilizando Tor. Si esto te importa, puedes reducir este riesgo configurando Tor para que use pun "puente Tor" en ved de conectar directamente a la red Tor. Por último, la mejor protección es un aproximamiento social: cuantos más usuarios Tor haya cerca de ti y más diverso sean sus intereses, menos peligroso será que se sepa que es uno de ellos. ¡Convence a más gente para que use Tor!



Pagina Oficial

Manual Acceso Castellano