Esta página fue actualizada por última vez el Noviembre de 2016 y es precisa con la versión 0.9.27 del router I2P.

Vista general

Esta página describe los orígenes I2P y el diseño de los túneles unidireccionales de I2P.

Revisión

Aunque no estamos al tanto de investigación publicada alguna sobre las ventajas de túneles unidireccionales, estos parece que hacen más difícil detectar un patrón de solicitud/respuesta, lo cual es bastante posible que se detecte sobre un túnel bidireccional. Varias aplicaciones y protocolos, notablemente HTTP, transfieren datos de esta manera. Hacer que el tráfico siga la misma ruta hacia su destino y de vuelta puede ponerlo más fácil para un atacante que sólo disponga de datos tiempo y de volumen de tráfico para inferir la ruta que está tomando un túnel. Hacer que la respuesta vuelva a través de otra ruta es razonable que lo haga más difícil.

Cuando tratamos con un adversario interno o con la mayoría de adversarios externos, los túneles unidireccionales de I2P exponen como mucho la mitad de los datos de tráfico que se expondrían con circuitos bidireccionales simplemente observando los propios flujos - una solicitud y respuesta HTTP seguiría la misma ruta en Tor, mientras que en I2P los paquetes que componen la solicitud saldrían a través de uno o más túneles de salida, y los paquetes que componen la respuesta retornarían a traves de uno o más túneles de entrada diferentes.

La estrategia de usar dos túneles separados para la comunicación de entrada y de salida no es la única técnica disponible, y tiene implicaciones en el anonimato. En el lado positivo, al usar túneles separados se reducen los datos de tráfico expuestos al análisis de los participantes en un túnel - por ejemplo, los pares (`peers´) en un túnel de entrada desde un navegador web sólo verían el tráfico de un HTTP GET, mientras que los pares en un túnel de entrada verían la carga entregada a través del túnel. Con túneles bidireccionales, todos los participantes tendrían acceso al hecho de que, por ejemplo, 1 KB fuera enviado en una dirección, y después 100 KB en la otra. En el lado negativo, usar túneles unidireccionales significa que hay dos conjuntos de pares (`peers`) precisan ser perfilados y fiscalizados, y que se debe tener una precaución adicional para afrontar el incremento de velocidad que se ha producido en los ataques de predecesor. El proceso de depositado (`pooling`) y erigido (selección de pares y estrategias de ordenación) debería minimizar las preocupaciones por los ataques de predecesor.

Anonimato

Un estudio reciente de Hermann and Grothoff decía que los túneles unidireccionales de I2p "parecían ser una mala decisión de diseño"

El punto principal del estudio es que de-anonimizar los túneles unidireccionales toma más tiempo, lo que es una ventaja, pero que el atacante puede estar más seguro en el caso unidireccional. Por lo tanto, el estudio dice que no es ninguna ventaja, sino una desventaja, al menos para las eepsites de vida larga.

Esta conclusión no está totalmente confirmada en el estudio. Los túneles unidireccionales mitigan claramente otros ataques y no está claro si es inteligente sacrificar el riesgo del ataque del estudio por los riesgos de la arquitectura de túneles bidireccionales.

Esta conclusión está basada en una certeza arbitraria vs. la medición del tiempo (compensación) que no es apreciable en la mayoría de los casos. Por ejemplo, alguien podría hacer una lista de IPs y entonces expedir citaciones a cada uno. O el atacante podría hacer DDos a cada uno por turnos y a través de un simple ataque de intersección ver si la eepsite se cae o si se ralentiza. Estar cerca puede ser lo suficientemente bueno, o el tiempo puede ser más importante.

La conclusión está basada en una forma de medir específica de la importancia de la certeza vs. el tiempo, y esa medida puede estar equivocada, y es definitivamente discutible, especialmente en el mundo real con citaciones, órdenes de registro y otros métodos disponibles.

Un análisis completo de las compensaciones de los túneles unidireccionales vs. bidireccionales está claramente fuera del alcance del estudio, y no se ha hecho en ningún sitio. Por ejemplo, ¿cómo se compara este ataque con los numerosos posibles ataques publicados sobre la red onion? Claramente los autores no han hecho ese análisis, si pudiese ser posible hacerlo efectivamente.

Tor utiliza túneles bidireccionales y tiene mucha revisión académica. I2P usa túneles unidireccionales y tiene muy poca revisión. ¿Significa la falta de estudios defendiendo los túneles unidireccionales que son una mala elección de diseño, o sólo necesita más estudio? Contra los ataques de tiempo y los ataques distribuidos para I2P y tor es difícil defenderse para ambos. El intento de diseño (vea las referencias arriba) era que los túneles de diseño eran más resistentes a los ataques de tiempo. Sin embargo, el estudio presenta un tipo diferente de ataque de tiempo. ¿Es este ataque, innovador, suficiente para calificar la arquitectura de túneles de I2P (y por lo tanto a I2P al completo) de un "mal diseño", y por implicación, claramente inferior a Tor, o simplemente es una alternativa de diseño que claramente necesita más investigación y análisis? Hay otras razones para considerar a I2p inferior a Tor y a otros proyectos (el pequeño tamaño de la red, falta de fondos, falta de revisión) ¿pero son los túneles unidireccionales de verdad una razón?

En resumen, la "mala decisión de diseño" parece (ya que el estudio no califica a los túneles bidireccionales de "malos") otra forma de decir que los túneles "unidireccionales son inequívocamente inferiores a los túneles bidireccionales", aunque esta conclusión no está demostrada en el estudio.