Knoppia

Wiki de Informática y otras historias

Herramientas de usuario

Herramientas del sitio


pan:comunicaciones_anonimas_v2

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
pan:comunicaciones_anonimas_v2 [2026/01/06 22:43] thejuanvisupan:comunicaciones_anonimas_v2 [2026/01/07 16:53] (actual) thejuanvisu
Línea 143: Línea 143:
  
 ====== Onion Routing ====== ====== Onion Routing ======
 +Esquema basado en la idea de enrutado a través de varios nodos con varias capas de cifrado. Un mensaje es cifrado capa por capa usando las calves de todos los nodos que hay en el camino al receptor. Cada nodo deshace una capa descifrandola de forma que la dirección al siguiente salto es revelada y envía el resto del mensaje al siguiente nodo. Es el opuesto a las redes mix, no oculta el tráfico de red mezcalndo mensajes. Este mecanismo está compuesto por las siguientes entidades:
 +  * **Aplicación cliente** (Envía el mensaje)
 +  * **Onion Proxy**: Determina el camino desde el origen hasta el destino (n rutas diferentes), donde el primer nodo es llamado tunel de entrada y el último, tunel de salida.
 +  * **Routers**: Deshacen una capa del mensaje y envían el resto del mensaje al siguiente nodo hasta que se alcanza el tunel de salida. En el caso de la respuesta se realiza la operación contraria, se van añadiendo capas de cifrado.
 +  * **Tuneles de entrada y salida**: En tunel de entrada puede ver e interactuar con el emisor mientras que el de salida puede hacerlo con el receptor.
  
 +{{drawio>pan:cebollino1.png}}
 +
 +===== La Idea Original =====
 +El procedimiento es similar al del esquema de cadena de descifrado de las redes mix con la excepción de que el número de nodos usados y su orden no es fijo:
 +<WRAP box>
 +$O = A_1 || E_{k_1} (A_2 || E_{K_2}(A_3 || ... E_{k_n}(A_x || m)))$
 +</WRAP>
 +Donde $A_i$ es la dirección del router $i$. En este caso, si el receptor responde al mensaje, la red es capaz de mantener un estado que permita enrutar de vuelta la respuesta al mensaje a través del mismo camino. La respuesta es construida por todos los routers, que añaden una capa de cifrado en cada paso usando sus claves privadas. Una vez que todos los routers han completado sus operaciones, el tunel de entrada envía la entrada al onion proxy del emisor:
 +<WRAP box>
 +$R0 = E_{sk_1}(E_{sk_2}(... E_{SK_n}(r)))$
 +</WRAP>
 +
 +===== TOR =====
 +La implementación más popular del Onion Routing es TOR, que es considerada una versión evolucionada de la idea original, incluyendo algunas mejoras y mecanismos que lo hacen utilizable en aplicaciones reales. No es una red P2P, los usuarios no actuan independientemente, son usuarios  que se unen a la red usando una aplicación. La red opera a través de routers que son proveidos por organizaciones e individuos que donan su capacidad de procesado (nodos) al proyecto.
 +
 +Algunos routers también pueden actuar como directorios que muestran el estado de la red. No es seguro contra ataques de punto a punto, si la misma entidad contral el primer y último nodo de un camino puede inferir el emisor, el receptor y el contenido del mensaje. Tampoco oculta la identidad del emisor a nivel de aplicación. Construye los circuitos de forma diferente a la idea original:
 +  * Los circuitos de TOR son siempre de 3 nodos:
 +    * Primero se selecciona el tunel de salida ya que algunos pueden filtrar tráfico específico o puede no tener capacidad suficiente
 +    * Un nodo se selecciona solo una vez.
 +    * Para evitar que una entidad controle el túnel de entrada y el de salida, se aplican algunas reglas.
 +    * El primer nodo es un "Nodo Guardia" que ve la IP del emisor, el cual los routers consideran confiable.
 +    * Los circuítos son rotados periódicamente.
 +
 +Cada router tiene una clave de identidad de largo plazo y una clave onion de corto plazo. La clave de largo plazo se usa para firmar certificados TLS que se usan para comunicarse con otros routers Onion y proxies. La clave de corto plazo es rotada periódicamente y se usa para construir circuitos y negociar claves para el cifrado y descifrado de los mensajes.
 +
 +La red TOR construye los circuitos de una forma diferente a la idea original. El camino $A$ -> $C$ es creado siguiendo una aproximación interactive e incremental.
 +  * Cada segmento del camino es construido o destruido progresivamente usando mensajes de control para crear, extender o eliminar el circuito.
 +  * Cada segmento es identificado de forma indemendiente a trawvés de un identificador de circuito:
 +{{drawio>pan:circebollacuito.png}}
 +  * Durante la creación del circuito, se negocia una clave simétrica entre el emisor y cada router usando el protocolo Diffie-Hellman según se van construyendo los segmentos.
 +
 +Una vez se ha construido el circuito y las claves han sido establecidas, se pueden enviar los datos:
 +  * El Onion Proxy cifra el mensaje usando las claves negociadas
 +  * Los paquetes tienen un tamaño fijo de 512B y contienen una cabecera (Información de enrutado) y la carga (el mensaje).
 +  * Usando la información identificativa del circuito, los routers pueden enviar los paquetes de forma apropiada por el caminio.
 +    * En cada salto, los routers descifran una capa de cifrado usando la clave compartida
 +    * En el caso de las respuestas, se realiza un cifrado en vez de un descifrado en cada capa.
 +
 +===== Servicios ocultos =====
 +La idea es que tanto usuarios como el servidor no se conozcan (No conocen sus direcciones IP). Para conseguir esto, el servidor solicita diferentes routers (Normalmente 3) para actuar como punto de introducción. Una vez seleccionados los puntos de introducción, el server crea un descriptor de servicio oculto mediante una tabla hash entre los routers. La descripción incluye la clave pública del server y la dirección de los routers de introducción. El usuario puede realizar peticiones para un servidor específico a través de su dirección onion, de forma que puede obtener el descriptor de servicio oculto de la red. Una vez se tiene la dirección de los puntos de introducción, se selecciona uno de forma aleatoria.
 +  - En vez de abrir la conexión directamente, se selecciona un punto de encuentro de uno de los routers de la red.
 +  - El cliente envía la petición al punto de encuento preguntando por el servidor oculto.
 +  - El punto de encuentro crea un circuito hasta el punto de introducción para enviar los datos al servidor oculto que los puede aceptar o rechazar.
 +  - Si la petición es aceptada, el servicio oculto crea un circuito diferente hasta el punto de encuentro, donde conecta el cliente y el servicio.
pan/comunicaciones_anonimas_v2.1767739439.txt.gz · Última modificación: 2026/01/06 22:43 por thejuanvisu