I2P: El Nivel Privado de la Web

Cuando la mayoría de la gente piensa en la "Dark Web" o "DarkNet" lo primero que le viene a la mente es probablemente Tor. Tor es básicamente un nombre familiar ahora; lo ame o lo odie la mayoría de la gente ha oído hablar de él.
Como puede que sepas o no, hay un pequeño puñado de diferentes redes centradas en la privacidad. Cada una con diferentes ideas sobre cómo debería funcionar la privacidad en Internet. El enfoque de I2P o The Invisible Internet Project es actuar como una capa totalmente encriptada y privada de Internet.
Este artículo no va a ser un artículo del tipo "por qué una es mejor que la otra". Cada red tiene sus propios casos de uso con su propio conjunto de ventajas y desventajas. Este post simplemente va a tratar de explicar lo que es I2P en un sentido amplio con alguna comparación con Tor.
Cubriré cosas como la forma de alojar un sitio y configurar un Outproxy en otro post. Como con la mayoría de mis posts, esto asumirá que tienes algunos conocimientos básicos de redes, pero trato de mantenerlo tan accesible como pueda. Continuando.
Una breve historia
I2P fue lanzado inicialmente en 2003 y comenzó como una bifurcación de Freenet. I2P es una capa de comunicación anónima distribuida entre pares diseñada para ejecutar cualquier servicio tradicional de Internet (correo electrónico, HTTP, intercambio de archivos, alojamiento web), así como aplicaciones distribuidas más tradicionales como DNS.
Está diseñado para que otro software pueda utilizarlo para la comunicación anónima, debido a esto se puede conseguir que prácticamente cualquier cosa se comunique a través de I2P. Ya hay un buen número de aplicaciones que trabajan en I2P, como el correo electrónico, el chat y el intercambio de archivos, la criptomoneda y más.
Enrutamiento (Routing)
I2P utiliza lo que ellos llaman "Garlic routing", que es una variación del onion routing. Hay una larga lista de diferencias técnicas que puedes leer aquí si quieres entrar más en las tuercas y pernos de las cosas, sólo voy a dar una visión general aquí.
Como sabemos, el enrutamiento Onion es una técnica para construir caminos (Circuitos en términos de Tor, Túneles en términos de I2P.) a través de una serie de compañeros y luego usar el túnel para pasar datos. Un mensaje es encriptado por el remitente y descifrado en cada salto hasta que llega a su destino. En cada salto se quita una capa de encriptación para que las direcciones lleguen a su siguiente par.
De esta manera, tanto el enrutamiento Garlic como el Onion son conceptualmente idénticos, pero aquí es donde se detiene, donde Tor hace un solo mensaje a la vez y una sola respuesta, I2P agrupa los mensajes en lo que Michael Freedman acuñó como un "Bulbo" (o un Clavo en el sitio oficial). Todos los mensajes tienen sus propias instrucciones de entrega que se agrupan y se entregan a un punto final, lo que permite la agrupación eficiente de un bloque de respuesta estilo cebolla. Esto ayuda a aumentar la velocidad general de la red. Esta es una ventaja primordial en I2P, está optimizada de manera que es generalmente más rápida que Tor.
Otra diferencia clave es que el tráfico es unidireccional y no bidireccional como en Tor, esto permite más flexibilidad en el protocolo para una entrega más fiable. Cada router crea una serie de túneles de entrada y salida. Esta configuración permite cosas como conexiones UDP y P2P. Tor por diseño probablemente nunca soportará UDP y aunque las conexiones P2P son técnicamente posibles con Tor, están altamente desaconsejadas y son perjudiciales para la red. P2P es la carne y las patatas de I2P haciéndolo ideal para compartir archivos y otras formas de comunicación p2p.
Creo que también vale la pena señalar que con I2P los "nodos de salida" o OutProxies no son un foco. Mientras que uno de los principales casos de uso de Tor es ayudar a la gente en los países con Internet fuertemente censurado para llegar a los sitios en la "red clara" que podría ser bloqueado por un gobierno. I2P no "sale" oficialmente del tráfico de la red.
Los nodos de salida (OutProxies) en I2P son gestionados por voluntarios que son, esencialmente, servicios centralizados. El OutProxying tampoco se aconseja oficialmente ya que los beneficios de privacidad que se obtienen de I2P provienen de permanecer en la red. Pero se puede hacer y se hace. Hoy en día la gente incluso utiliza Nodos de Salida Tor junto con I2P. Este es un punto de partida perfecto para hablar un poco sobre la estructura de la red de I2P, ya que varía bastante de Tor.
Actualización de la estructura de la red Tor
Empezaré con un repaso de Tor. Hay suficientes similitudes entre las redes que sin bucear demasiado ayuda con algunas comparaciones. Tor tiene varios elementos en su red. Una conexión básica de Tor requiere un mínimo de tres tipos diferentes de nodos. Un nodo de entrada, un relé, y una salida. El primer nodo es tu nodo de entrada. Ten en cuenta que cualquier nodo de retransmisión puede actuar como nodo de entrada, la única diferencia es que la entrada es el único nodo que sabe quién eres realmente.
Los nodos de retransmisión son los que pasan tu tráfico a los nodos de salida después de unos cuantos saltos. El nodo de salida se comunica con tu destino y puede reenviar el tráfico fuera de la red. Los nodos de salida sirven como fuente para su servidor de destino. Esto es parte de cómo Tor mantiene su tráfico anónimo. Los nodos de salida también envían el tráfico de vuelta a usted.
Los servidores de directorio son críticos para mantener la red Tor. Almacenan la identidad de los nodos en la red. Los servidores de directorio están codificados en el navegador Tor y cuando usted enciende el navegador Tor estos servidores de directorio eligen su entrada, retransmisión y salida para formar un circuito. En el momento de escribir este artículo sólo hay 10 servidores de directorio. Puedes verlos aquí. El otro propósito de estos servidores es mantener la salud de la red monitorizando la actividad de los nodos y sustituyendo los nodos poco saludables por otros sanos para mantener la estabilidad de la red.
También hay que tener en cuenta que los servidores de retransmisión tienen técnicamente dos categorías: los "nodos de retransmisión anunciados" ; son los retransmisores que están disponibles públicamente en la lista que mantienen los servidores de directorio. Luego están los "nodos puente". Se trata de relés privados, ya que no aparecen en la lista de los servidores de directorio. Existen únicamente para los bloqueos gubernamentales. En teoría, se pueden bloquear los nodos de la lista pública, pero no se puede bloquear lo que no se encuentra, por lo que existen los nodos puente. Es difícil medir el número de puentes que hay, pero se estima que está en el rango de los 2k. Puedes verlo aquí.
Eso es Tor en pocas palabras. Sobre I2P
I2P Software
Cuando instalas I2P obtienes un software que tiene todo lo que necesitas para conectarte a la red y alojarte con él. Cada "nodo" en I2P es también un router, por lo que no hay una diferencia clara entre un servidor y un cliente puro como con Tor.
Esto hace que I2P esté casi completamente descentralizado. Dicen "casi" debido a la necesidad de lo que ellos llaman "Servidores de Reseed", así es como haces tus primeras conexiones y te unes a la red. Estos servidores ayudan con lo que se llama el problema de arranque DHT (Distributed Hash Table). No hay un método fiable para evitar que haya al menos un nodo de arranque permanente que los usuarios que no están en la red puedan encontrar para hacerse un hueco en la red. Una vez que te conectas a la red, sólo descubres a tus compañeros haciendo túneles "exploratorios". Pero para hacer tus conexiones iniciales necesitas conseguir tus pares desde algún lugar. Este modelo contrasta mucho con los servidores de directorio de Tors.
Los routers o peers de Floodfill son los servidores de directorio de I2P que almacenan el directorio o la base de datos de la red (netDB para abreviar). Los servidores Floodfill no son de confianza y varían. Cualquier router puede ser configurado para actuar como un router floodfill. Para aumentar la fiabilidad de la netDB floodfill se activa automáticamente sólo en los routers de gran ancho de banda (esto tiene que ser configurado manualmente). Además de tener un gran ancho de banda, un enrutador debe pasar comprobaciones de salud como el tiempo de cola de los mensajes salientes y el retraso de los trabajos antes de que floodfill se active automáticamente. Se calcula que sólo el 6% de la red tiene routers floodfill.
La netDB que utiliza I2P es una base de datos distribuida especializada. Sólo contiene unos pocos tipos de datos, siendo los dos más importantes la información de contacto del router (RouterInfos) y la información de contacto del destino (LeaseSets). Cada bit de datos está firmado por el host y es verificado por cualquiera que decida almacenar el sitio en su propia copia local de la netDB. También almacena los datos de vivacidad de un sitio, esto permite que las entradas malas sean descartadas, las entradas más nuevas reemplazan a las más antiguas.
Los túneles (o circuitos en la red Tor) son la forma en que los routers se comunican y enrutan el tráfico. I2P construye "Túneles" virtuales entre routers para la comunicación; son temporales y unidireccionales. Para una conexión básica se necesitan al menos cuatro túneles, dos de salida y dos de entrada. Cada túnel tiene una cantidad determinada de saltos que se establece en la configuración del router con un máximo de siete saltos. La cantidad de saltos por túnel afecta, por supuesto, a aspectos como la latencia, el rendimiento, la fiabilidad y el anonimato, y el usuario puede ajustar la cantidad de saltos en función de sus necesidades. Para la mayoría de los usuarios se recomiendan tres saltos, ya que es un equilibrio justo entre anonimato y velocidad. Los pares se seleccionan mediante un sondeo continuo y una clasificación del rendimiento en lugar de confiar en la capacidad declarada.
Podría dedicar varias páginas más a los detalles de I2P, pero le dejo un enlace a la documentación principal por si quiere profundizar en la red y su funcionamiento.
En resumen
En conclusión, diría que I2P tiene mucho potencial. Mientras que Tor está diseñado para actuar como un proxy anonimizador para la Internet de vainilla, I2P está diseñado específicamente para hacer una red anónima para servicios ocultos y aplicaciones P2P. No es perfecto (aunque se ha nombrado una solución que lo es... esperaré) pero es un buen intento de una capa de red anonimizada.
Creo que es mucho más flexible que Tor y aunque actualmente es más complicado técnicamente de usar que Tor por el momento espero que se supere con el tiempo. La necesidad de instalar algo más la configuración de un proxy en un navegador separado de su navegador principal puede ser desalentador para algunos frente a Tor sólo la instalación de un navegador y listo. Aunque los plugins de Firefox como "I2P In Private Browsing" hacen un buen trabajo gestionando I2P a través de contenedores para Firefox eliminando la necesidad de tener un navegador separado o hacer cualquier configuración extra. Esto lo hace mucho más accesible en mi opinión.
I2P tiene una buena cantidad de conciencia de sí mismo cuando se trata de lo que la red podría ser vulnerable. Aparte de las vulnerabilidades de software imprevistas que podrían poner en peligro la red, algunos de los ataques de los que hablan e intentan mitigar incluyen: Fuerza bruta, ataques de tiempo, ataques de DOS, ataques de intersección y ataques sibilinos, por nombrar algunos. Si quieres saber más sobre estos posibles problemas y cómo intentan mitigarlos, aquí tienes la página oficial.
I2P es una red más pequeña que no está tan probada en batalla como Tor, pero su optimización para servicios ocultos y su naturaleza más P2P es muy atractiva. También Monero y Bitcoin soportan I2P ahora para la comunicación de nodos. Junto con algunas otras cyptos centradas en la privacidad que se unen a la red. Personalmente espero ver más usuarios de Bitcoin y Monero habilitar I2P en sus nodos.
Espero que esto ayude a responder algunas preguntas sobre I2P y te anime a aprender más y empezar a explorar cómo puedes usar I2P para ayudarte a mantener al menos un mínimo de privacidad en un mundo cada vez más vigilado. A continuación te dejo algunos enlaces para que puedas empezar. Diviértete explorando y probando.
Hasta la próxima vez.