- 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, usando un enfoque telescópico, 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 (AES-128), 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 circuito es construido desde el punto de entrada (usuario) de la siguiente forma: Los mensajes para negociar las claves de la comunicación entre ORn y ORn+1 se realizadas a petición del OP y retransmitiendo paquetes a través de los nodos OR1,... ORn. En cada paso los mensajes son cifrados con las claves de sesión negociadas, o cuando no lo están, con la clave de cebolla del host que recibe el dato.
- A continuación cifra el paquete que contiene 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 el paquete para el primer nodo.
- Envía el paquete resultante al primer nodo del circuito. Observar que el paquete construido con este proceso se puede considerar como un paquete envuelto en varias capas de cifrado. Por eso se usa la metáfora de la cebolla para describir este tipo de método de encaminamiento (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.
Como terminología se
llama 'exit server' o 'exit node' al último servidor del circuito (y
por tanto el único que se comunica con el destino), el primer OR se
le llama 'entry node' (único que se comunica con el origen de la
comunicación) y al resto de nodos se les llama middle-node.
Podemos
observar que la forma en la que se establecen las claves y todas
estas capas de cebolla que se construyen con ellas permiten que la
información permanezca secreta mientras va circulando por el
circuito de nodos OR. Además, al estar el cifrado de las capas
basado en claves de sesión, aunque un atacante recopilara todos los
mensajes no podría descifrarlos una vez que estas claves de sesión
son descartadas por el OR (perfect forward secrecy).







0 comentarios:
Publicar un comentario