Redes da Deep Web: #12 – I2P

Fala Galera! Nesse artigo, venho vos trazer uma rede que há muito ja é conhecida … A rede … I2P :D.

Me recordo dos tempos onde vivia no vale dos posers, onde alegavam que a I2P era a ‘Segunda Camada da Deep Web’ … Se acha isso, já de cara, te indico outro post, pra você ler antes desse. É esse aqui . Feita essa ressalva, bora pro conteúdo!

A I2P é uma rede anônima, que disponibiliza uma camada simples sobre a qual se faz possível a comunicação entre aplicações, por meio de troca de mensagens, de maneira anônima e segura. A rede é por si só estritamente baseada em mensagens (a la IP), mas há disponível uma biblioteca que permite uma confiável comunicação por streaming uma camada acima (a la TCP). Toda a comunicação é criptografada de ponta-a-ponta (há, no total, quatro camadas de criptografia usadas ao se enviar uma mensagem), e mesmo os extremos (“destinos”) são identificadores criptográficos (essencialmente um par de chaves públicas).

*Vale salientar, que camadas, acima, apontam pro Modelo OSI, e não para a ideia poser acerca de Deep Web + Camadas.

Captura de tela de 2016-07-29 14-36-51

Temos um vídeo sobre essa rede, dê uma olhada antes de ler 😉

Como funciona?

Para tornar anônimo o envio de mensagens, cada aplicativo cliente tem o seu “roteador” I2P para construir alguns “túneis” – uma sequência de pares que passam mensagens em uma direção (para e a partir do cliente, respectivamente). Por sua vez, quando um cliente quer enviar uma mensagem para um outro cliente, o cliente passa a mensagem para o exterior por meio de um de seus túneis de fuga, mirando um dos túneis que penetram no outro cliente, eventualmente alcançando o destino. Cada participante na rede escolhe o comprimento desses túneis e, ao fazê-lo, fazem uma troca entre anonimato, latência e taxa de transferência, conforme as suas necessidades. O resultado é que o número de pares retransmitindo cada mensagem de extremo a extremo é o mínimo absoluto necessário para satisfazer tanto o modelo de risco do remetente quanto do receptor.

tunnels

Na primeira vez que um cliente tenta se comunicar com um outro cliente, eles o fazem por meio de uma consulta a um “banco de dados em rede” completamente distribuído – uma tabela de espalhamento distribuída (DHT) estruturada específica baseada no algoritmo Kademlia. Isto é feito para encontrar eficientemente os túneis do outro cliente que aportam, contudo, as mensagens subsequentes entre eles incluem usualmente tais dados de modo que nenhuma busca adicional no banco de dados em rede se faz necessária.

netdb_get_routerinfo_1

Mais detalhes sobre o funcionamento da I2P estão disponíveis aqui.

Para que serve?

Dentro da rede I2P, aplicações não são restringidas no modo como podem se comunicar – aquelas que tipicamente usam UDP podem fazer uso da funcionalidade de base da I2P, e aquelas que usam tipicamente o TCP podem usar a biblioteca de streaming tipo TCP. Temos uma aplicação de ponte TCP/I2P genérica (“I2PTunnel“) que permite as pessoas encaminharem fluxos de dados via TCP na rede I2P bem como receber fluxos de fora da rede e encaminhá-los a um endereço de TCP/IP específico. Essencialmente, isso implica em ter aplicações (UDP) e Sites (TCP).

Um I2PTunnel possibilita atualmente que pessoas tenham seu próprio site anônimo (“eepsite”) rodando um servidor web normal e apontando um ‘servidor’ I2PTunnel para ele, de forma que possam acessá-lo anonimamente na I2P por meio de um navegador comum por meio da execução de um proxy HTTP de I2PTunnel (“eepproxy”). Além disso, usamos a mesma técnica para fornecer uma rede de IRC anônima (onde o servidor IRC é hospedado anonimamente, e os clientes IRC padrões usam o I2PTunnel para contactá-lo). Eles estão trabalhando ainda no desenvolvimento de outras aplicações, como a  aplicação de transferência de arquivos swarming (a la BitTorrent), um sistema de armazenamento distribuído (a la Freenet / MNet), e um sistema de blogs (um LiveJournal completamente distribuído), mas esses projetos ainda não estão prontos.

A I2P não é inerentemente uma rede de “proxies de saída” – o cliente que lhe manda uma mensagem é o identificador criptográfico, não um endereço IP, de modo que a mensagem deve ser endereçada a alguém que executa o roteador I2P. No entanto, há a possibilidade para esse cliente ser um proxy de saída, permitindo que você anonimamente faça uso da conexão que ele tem com a Internet. Para demonstrar isso, o “eepproxy” aceitará normalmente URLs não-I2P (e.g. “http://www.i2p.net”) e o direcionará para um destino específico que executa um proxy HTTP squid, permitindo simplesmente navegar anonimamente na web ordinária. Simples proxies de saída como esse não são viáveis no logo prazo por diversas razões (incluindo o custo de execução de um bem como as questões relativas a anonimato e segurança que introduzem), mas em certas circunstâncias a técnica pode ser apropriada.

O time de desenvolvedores da I2P é um grupo aberto, receptivo a todos os interessados em fazer parte dele, e tudo tem o código-fonte aberto. A base do SDK da I2P e a implementação atual do roteador são feitas em Java (trabalham tanto com Sun quanto com Kaffe, com suporte para GCJ posteriormente planejado), e há uma API simples baseada em sockets para acessar a rede por meio de outras linguagens (com uma biblioteca C disponível, e Python bem como Perl em desenvolvimento). A rede está em processo ativo de desenvolvimento e não alcançou ainda o lançamento da versão 1.0, mas o seu cronograma encontra-se detalhado no plano de ação atual.

Prós e Contras

Prós:

  • Rede relativamente antiga, criada em meados de 2011, assim sendo, possui grande estabilidade e está bem desenvolvida, contendo diversas ferramentas, bem como uma grande quantidade de usuários;
  • Configuração simples, necessitando apenas abrir o roteador e utilizar apenas um proxy no navegador para utilizá-la;
  • Anonimato não só pra navegação, oferecendo ainda clientes para fórums, torrents, mensagens, IRC, dentre outros;
  • Mundialmente conhecida e utilizada, o que aumenta a documentação existente acerca dela, no caso de haver problemas;
  • Criptografia forte, utilizando-se de quatro camadas;
  • Roteamento de alho;
  • Facilidade para criação de um eepsite;
  • Plataforma mobile disponível.

Contras

  • Aparentemente está caindo em desuso, com uma diminuição gradativa de usuários (pode se reverter);
  • Com a diminuição de usuários, diminui-se o número de sites ativos;
  • Menos famosa que o Tor, o que a deixa um pouco abaixo, no quesito usuários/documentação;
  • Ter muitas configurações exclusivas do modo texto, complexo para usuários leigos.

Site do projeto

Comparação Tor x I2P

Se gostou, compartilhe/recomende pro seu amiguinho, tenho certeza que esse conteúdo lhes será interessante, e há de muito agregar!

Ahhhh :(

Nosso site tem anúncios que ajudam a manter o serviço online e a informação disponível para todos.

Por favor, se possível, desative o AdBlock enquanto estiver aqui com a gente, ok? <3

Muito obrigado!

AdBlock detectado!

Ahhhh :(

Nosso site tem anúncios que ajudam a manter o serviço online e a informação disponível para todos.

Por favor, se possível, desative o AdBlock enquanto estiver aqui com a gente, ok? <3

Muito obrigado!