i2p, Odisea en el ciberespacio

  • – Cheshire, ¿podrías decirme, por favor, qué camino debo seguir para salir de aquí?
  • – Esto depende en gran parte del sitio al que quieras llegar – dijo el Gato.
  • – No me importa mucho el sitio… -dijo Alicia.
  • – Entonces tampoco importa mucho el camino que tomes – dijo el Gato.
  • – … siempre que llegue a alguna parte – añadió Alicia como explicación.
  • – ¡Oh, siempre llegarás a alguna parte – aseguró el Gato -, si caminas lo suficiente!

I2P es una red de capa anónima – una red dentro de una red. Está pensada para proteger la comunicación del seguimiento de las redes de vigilancia y la monitorización por terceras partes como los ISPs (proveedores de Internet). I2P es usado por muchas personas que se preocupan por su privacidad: activistas, poblaciones oprimidas, periodistas, denunciantes, así como por el ciudadano medio.

Escarbando la madriguera de Conejos I2P comenzó inicialmente en 2003 como una propuesta de modificar Freenet para permitir el uso de transportes alternativos, como puede ser JMS, después se desarrolló con identidad propia como una ‘anonCommFramework’ en Abril de 2003, convirtiéndose en I2P en Julio y comenzando a escribir código seriamente en Agosto de 2003. I2P sigue actualmente bajo desarrollo.

Hemos hablado con “dada”, traductor del proyecto I2p:

  • [ Elbinario ] ¿Qué podrías decirnos a grandes rasgos sobre i2p?
  • [ dada ] I2p es más descentralizado, como tor pero sin involucramiento militar estadounidense. Incluso si no estás en el irc y no formas parte de la “community”, usar i2p es muy conveniente. También si es sólo para una comunicación segura privada.
  • [ Elbinario ] ¿Y eso cómo lo sabes?
  • [ dada ] No puedo asegurarlo, pero como no hay “exit nodes” todo es mucho más guay. Totalmente descentralizado. Tienes servicios como por ejemplo correo electrónico interno que funciona sin servidor – nadie puede usurpar o tirar un servidor que no existe, el i2p-messenger que funciona sin servidor y está cifrado “end-to-end”, i2pbote para el correo electrónico sin servidor ( similar a mixmaster, tiene la opción de alta frecuencia entre los saltos por lo que aumenta tremendamente el anonimato) y del que existe otro sistema más tradicional que es el mail.i2p pero centralizado en un servidor escondido. I2pbote además de su interface web ahora viene con servidor IMAP y SMTP incluido por lo que puede usarse con un cliente de correo como Thunderbird, Clawsmail, Evolution, etc …

    Para archivos grandes tenemos muchas tecnologías P2P en i2p: bittorrent, con rastreadores (tracker2.postman.i2o por ejemplo) y también trackerless torrents con DHT i2psnark (que ya te viene con el router). Un cliente emule llamado Imule también existe.

  • [ Elbinario ] ¿Cómo definirías la filosofía i2p?
  • [ dada ] No sé de la filosofía.Simplemente la libertad y que siempre es bueno tener una alternativa que no sea sólo tor. Una red descentralizado y no censurable. Con mail.i2p puedes mandar correos también al mundo exterior. pero lo ideal es usar bote en el mundo interno cifrado de punto a punto. Por ejemplo, con PGP sobre email tradicional no se cifra el destinatario, el remitente, el asunto, la fecha. ni los headers mientras que con i2pbote TODO excepto el destinatario va cifrado.
  • [ Elbinario] ¿Por qué Java?
  • [ dada ] Java fue simplemente la decisión del primer desarollador principal jrandom. Quizá para ser una plataforma independiente.

¿Cómo funciona?

Para a anonimizar los mensajes enviados, cada aplicación cliente tiene su “ruter” I2P que crea unos cuantos túneles” de entrada y salida – una secuencia de pares que pasan el mensaje en una dirección (hacia y desde el cliente, respectivamente ).

1eYaaFA

A su vez, cuando un cliente quiere enviar un mensaje a otro cliente, el cliente envía ese mensaje a través de uno de sus túneles de salida hacia uno de los túneles de entrada del otro cliente, eventualmente alcanzando su destino.

La primera vez que un cliente quiere contactar con otro cliente, ambos hacen una consulta contra la, completamente distribuida, “base de datos de red” – una tabla de hash distribuida (DHT) con estructura adaptada basada en el algoritmo Kademlia. Esto se hace para encontrar eficientemente los túneles entrantes de los otros clientes, pero los mensajes subsiguientes entre ellos normalmente incluyen esos datos, así que no se requieren ulteriores búsquedas en la base de datos de red.
Un vistazo a la red muestra que se compone de una instalación de nodos (“ruters”) con un número de rutas virtuales unidireccionales entrantes y salientes (Túneles, como se describen en la página tunnel routing).

Cada ruter está identificado por una RouterIdentity cifrada que es normalmente permanente. Estos ruters se comunican entre ellos a través de mecanismos de transporte existentes (TCP, UDP, etc) enviándose distintos mensajes. Las aplicaciones clientes tienen su propio identificador criptográfico (“Destino”) que las habilita para enviar y recibir mensajes. Estos clientes pueden conectarse a cualquier ruter y autorizar la asignación temporal (“arrendamiento”) de varios túneles que serán usados para enviar y recibir mensaje a través de la red.

I2P tiene su propia base de datos de red (utilizando una modificación del algoritmo Kademlia) para distribuir información de rutas y contactos de forma segura. El contenido enviado sobre I2P está cifrado a través del cifrado garlic de tres capas (usado para verificar la entrega del mensaje a destinatario), cifrado de túnel (todos los mensajes cruzando a través de un túnel están cifrados desde el túnel de salida hasta el túnel de destino final) y cifrado de la capa de transporte inter-router (e. g. el transporte TCP usa AES256 con claves efímeras).

Ejemplos de los túneles en el ruter:

N4SHtyv

zJOWC9o

I2P es completamente distribuida sin recursos centralizados – no hay servidores manteniendo estadísticas sobre el rendimiento y fiabilidad de los ruters dentro de la red. De esta forma cada ruter debe guardar y mantener los perfiles de varios ruters y es responsable de seleccionar los pares apropiados para satisfacer el anonimato, rendimiento y fiabilidad requeridos por los usuarios tal y como se describe en la página de selección de pares.

¿Qué se puede hacer con I2P?

  • – Email con interfaz de correo web integrado, complemento para correos sin servidor, ‘serverless; I2P-Bote — Sistema de email p2p sin servidores que usa una tabla distribuida de hashes (DHT) para el almacenaje seguro de emails, Postman’s anonymous email service — Proporciona servicio de email dentro de I2P a través de direcciones @mail.i2p, y un servicio de salida de emails entre la red I2P y el Internet público a través de las direcciones @i2pmail.org, susimail.
  • – Navegación web Webs anónimas, gateways o puertas de salida, desde y hacia el Internet público. Blogs y foros Blogs y pluguins Syndie.
  • – Alojamiento web Servidor web anónimo integrado.
  • – Chat en tiempo real Mensajería instantánea (i2p-messenger) y clientes IRC.
  • – Intercambio de archivos Clientes ED2K y Gnutella, cliente de BitTorrent integrado.
  • – Almacenamiento de archivos descentralizado Pluguin para el sistema de archivos distribuido Tahoe-LAFS.
  • – Y mucho más…

¿Dónde puedo conseguir i2p?

Cualquiera interesado puede unirse en el canal IRC #i2p (hospedado concurrentemente en irc.freenode.net, irc.postman.i2p, irc.freshcoffee.i2p, irc.welterde.i2p e irc.einirc.de).

El código actual está disponible en monotone y puedes descargar i2p en https://geti2p.net/es/download

7 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax