I2P

I2P - A rede anônima

I2P logo.svg
Dados básicos

Ano de publicação 2003
Versão atual  0.9.50
( 17/05/2021 )
sistema operacional Microsoft Windows , Linux , macOS , OpenBSD , FreeBSD , Android
linguagem de programação Java
categoria Rede de sobreposição , software de segurança
Licença Licença BSD , GNU General Public License , licença MIT , lançada no domínio público pelo detentor dos direitos
Falando alemão sim
geti2p.net

I2P ( I nvisible I nternet P roject ; alemão  "projeto Invisible Internet" ) é um anônimo , pseudônimo e distribuído sem servidor de rede de computadores auskommendes .

O I2P é baseado em software livre e visa permitir uma camada de transmissão simples com o benefício de anonimato e privacidade, segurança contra ataques e resistência à censura para vários softwares de aplicativos .

A própria rede I2P é baseada em mensagens (como IP ), mas também oferece uma biblioteca que permite a transmissão de dados e streaming de informações e é semelhante ao TCP . Cada transmissão de dados é criptografada várias vezes em I2P , para isso um total de quatro camadas são utilizadas para criptografar por pacote de dados.Além disso, o tráfego de dados é encaminhado por participantes em constante mudança e por diferentes túneis (cadeias de rede). Portanto, seu próprio roteador I2P está constantemente envolvido no encaminhamento de vários pacotes de dados criptografados para outros usuários I2P. Os pontos de recebimento ( downloaders / destinatários) dos pacotes de dados, por sua vez, são protegidos pelo processo de criptografia ; em sua maioria, consistem em um par de chaves públicas .

I2P permite uma camada de comunicação anônima, criptografada e descentralizada distribuída via ponto a ponto , que foi projetada para usar qualquer protocolo convencional, como BitTorrent , eDonkey2000 , Kademlia , Usenet , Gnutella , e-mail , IRC , HTTP , HTTPS , Telnet , XMPP , suporta IPv4 e IPv6 , bem como aplicativos tradicionais distribuídos (por exemplo, Squid ou DNS ).

funcionalidade

Para o encaminhamento, o respectivo programa em execução em I2P envia seus dados para o roteador I2P fornecido para esse fim. O roteador I2P primeiro garante que os dados sejam criptografados e tornados anônimos para encaminhamento . Uma rota é então determinada por meio de vários roteadores I2P externos para um ponto de transferência atualmente válido do roteador de destino. A partir daí, os dados são, por sua vez, passados ​​para o destino real por meio de vários roteadores I2P. Os roteadores de roteamento usados ​​são chamados de saltos. Por razões de segurança, entretanto, apenas seus próprios saltos são contados para o ponto de transferência; O remetente não tem influência no número de saltos determinados pelo roteador de destino.

Para que nenhum dado seja perdido no caminho, o que já pode acontecer se um roteador I2P falhar em uma cadeia de roteadores, eles também são enviados novamente por uma rota diferente. Cada uma dessas rotas corresponde a um túnel. Se os dados foram capazes de chegar ao seu destino através desta rota, este túnel foi estabelecido com sucesso.

A confirmação de recebimento, por sua vez, é enviada pelo roteador de destino por meio de uma nova série de saltos por meio de novos túneis da maneira mencionada anteriormente.

Para determinar os respectivos pontos de transferência e anunciar a ocupação do túnel, uma solicitação é feita ao banco de dados da rede I2P distribuída , que mantém uma tabela hash distribuída estruturada (DHT) baseada no algoritmo Kademlia . A cada onze minutos, os túneis são descartados e substituídos por novos.

realização

O núcleo do aplicativo I2P é escrito em Java . Portanto, um Java Runtime Environment deve ser instalado. Além disso, existe uma implementação completa em C ++ , assim como em outros projetos, alguns dos quais estão em um estágio inicial de desenvolvimento.

Alguns dos serviços são integrados na forma de aplicativos da web e podem ser acessados ​​por meio do navegador. O “console do roteador” desempenha o papel central como página de entrada.

Outros serviços são parcialmente implementados em que o serviço I2P funciona como um proxy (por exemplo, para HTTP, IRC, Mail, CVS), pelo que se comporta parcialmente como um servidor normal para o respectivo cliente. Desta forma, os programas clientes normais, como o Firefox, podem ser usados, os quais só precisam ser reconfigurados em seu próprio servidor / proxy I2P. Na maioria dos casos, são usados diferentes números de porta de 4 dígitos .

Existem também programas adicionais especiais na rede I2P listados em Aplicativos .

Interfaces

  • I2PTunnel é um aplicativo embutido em I2P que permite que qualquer serviço TCP / IP seja disponibilizado via I2P.
  • SAM é um protocolo que permite que programas baseados em I2P sejam desenvolvidos em uma ampla variedade de linguagens de programação.
  • BOB é outra interface que permite que programas baseados em I2P sejam desenvolvidos em uma ampla gama de linguagens de programação.

Formulários

I2PSnark

I2PSnark é um cliente BitTorrent anônimo integrado no I2P como um aplicativo da web. Isso permite que torrents de bits I2P especiais sejam baixados ou gerados usando a camada I2P.

I2PSnark também suporta links magnéticos . Assim, é possível publicar arquivos apenas trocando links magnéticos na rede torrent.

Mensageiro I2P

O I2P-Bote é um sistema de e-mail criptografado de ponta a ponta , interno à rede e totalmente descentralizado, sem servidor. Ele suporta a criação e o uso de diferentes identidades e filtra os cabeçalhos de e-mail para que apenas os componentes de cabeçalho realmente necessários e não identificáveis ​​sejam usados ​​(mas também criptografados). Este aplicativo ainda está em estágio alfa, mas está em desenvolvimento ativo. Atualmente, você pode usá-lo por meio da interface da web, mas o suporte a POP3 está planejado para o futuro , para que possa ser usado com todos os programas de e-mail comuns. I2P-Bote também oferece um transporte de alta latência semelhante ao mixmaster ou mixminion, que supostamente oferece um anonimato ainda mais forte. Portanto, o I2P-Bote também pode ser descrito como um repostador. O autor ou remetente original do correio do messenger pode há muito tempo estar offline novamente quando o correio do messenger chega ao nó que o está armazenando. Mas para todos aqueles que preferem enviar seus e-mails do messenger rapidamente, o método de envio rápido e demorado, que não é encaminhado por muitos outros computadores (exceto, é claro, via I2P), continuará a existir. Cada usuário pode decidir por si mesmo quanto anonimato e quanta velocidade deseja.

Uma vez que todos os e-mails do messenger são criptografados automaticamente de ponta a ponta, o conteúdo do e-mail não pode ser lido como texto simples em nenhum ponto, exceto para o próprio remetente e destinatário com Susimail), ainda há uma necessidade separada de cuidar da criptografia e autenticação dos e-mails se não quiser que a operadora do servidor de e-mail possa ler o conteúdo dos e-mails, por exemplo.

Devido ao fato de que o I2P-Bote é completamente descentralizado, é claro que não existe nenhum servidor de e-mail que possa ligar diferentes identidades anônimas entre si (palavra-chave: perfil ): Mesmo os computadores de encaminhamento e armazenamento não conhecem o remetente real nem seus pseudônimos e -Endereço de e-mail, e apenas o último nó das rotas de e-mail de "alta latência" e os computadores de armazenamento sabem o endereço do destinatário anônimo. E mesmo para eles, o assunto, a data, etc. não podem ser vistos.

Mensageiro I2P

Um programa de mensagens instantâneas está em vigor desde o início de 2008 . Ele foi inicialmente baseado na tecnologia .NET , mas depois foi completamente reescrito e agora está disponível como um mensageiro I2P baseado em Qt . O mensageiro I2P se conecta diretamente (ou seja, sem a ajuda de um servidor central) ao parceiro de conversação por meio do roteador I2P local. Ambos os parceiros de comunicação podem, portanto, ser completamente anônimos um para o outro. No entanto, o I2P Messenger também pode ser usado para contornar a retenção de dados e para comunicação à prova de gravação e não rastreável com amigos, conhecidos, colegas ou parceiros de negócios. Uma vez que todas as comunicações são feitas via I2P, mesmo o provedor de serviços de Internet não pode determinar com quem você realmente se comunicou. O conteúdo é criptografado de ponta a ponta e, como mencionado acima, não existe um servidor que controle todas as comunicações e que possa coletar dados estatísticos. O desenvolvimento ainda está em fase beta, mas já é adequado para o uso diário, mas não há mensagens offline . A partir da próxima versão, o I2P Messenger também suportará a busca por nomes de usuários ou interesses.

IRC

Existem vários servidores IRC em I2P . Eles podem ser acessados ​​no endereço localhost: 6668 (ou localhost / 6668 para alguns programas IRC), desde que o I2P esteja sendo executado no mesmo computador. Caso contrário, o IP do computador no qual o roteador I2P está sendo executado deve ser usado. Os canais são # i2p-de, # i2p-help, # i2p-chat e # i2p. Caso não pretenda ou não possa aderir a estas salas de forma anónima e via I2P, existe ainda a possibilidade de acesso via Freenode . Os nomes das salas são os mesmos lá e há changates.

MuWire

MuWire é um programa de busca e troca de arquivos. O MuWire permite que diretórios ou drives inteiros sejam compartilhados anonimamente com os dados. O usuário pode determinar e alterar a qualquer momento se ele libera seus arquivos para todos os usuários do MuWire ou apenas para determinados usuários.

O uso de MuWire requer a criação de um apelido, que é combinado com um endereço I2P criptograficamente forte e forma uma identidade para MuWire em um nível anônimo. Com esta função, os usuários do MuWire podem conversar anonimamente e criptografados uns com os outros, publicar os arquivos liberados em um RSS pessoal (feed da web) ou assinar o RSS de outros usuários.

O MuWire pode ser iniciado e operado diretamente com I2P por meio do navegador da web ou como um aplicativo de desktop separado.

Susimail

A I2P tem um serviço de e-mail gratuito com pseudônimos hospedado pelo Postman. Susimail foi desenvolvido para evitar brechas de segurança em clientes de email tradicionais. Esses clientes fornecem informações sobre a identidade real do usuário, por exemplo, e, portanto, colocam em risco o anonimato.

Syndiemedia

Syndiemedia, ou Syndie para abreviar, é uma tentativa de criar uma ferramenta de blog amigável e segura que usa as técnicas de sistemas anônimos e seguros, como I2P, Tor , Freenet , MNet e outros. O lado da distribuição de conteúdo é, portanto, separado do sistema usado; Syndie pode ser usado com todos os anonimizadores comuns na web. Syndie permite que os usuários formem comunidades entre redes em vez de se concentrarem em uma rede específica, tornando-as menos populares.

A abordagem de Syndie é mesclar os mundos de segurança, anonimato e criptografia com a simplicidade e o foco do usuário no mundo dos blogs. Do ponto de vista do usuário, Syndie pode ser visto como um LiveJournal seguro e distribuído , embora seja tecnicamente muito mais simples. Em março de 2007, Syndie foi publicado como um projeto independente sob a égide da I2P com o número de versão 1.005a. A versão atual (junho de 2013) é 1.103b.

Tahoe LAFS

Tahoe-LAFS (Tahoe Least-Authority File Store) é um sistema de armazenamento de dados distribuído e distribuído criptografado gratuito e aberto, seguro, descentralizado, tolerante a falhas e tolerante a falhas. O Tahoe LAFS pode ser usado como um sistema de backup online ou como um arquivo ou host da web, dependendo de qual front end é usado para inserir e acessar arquivos no sistema Tahoe.

Com o Tahoe-LAFS, os arquivos são codificados em blocos de dados individuais quando carregados, criptografados e salvos em uma seleção aleatória dos computadores participantes. Isso significa que os dados armazenados com o Tahoe-LAFS permanecem confidenciais e acessíveis mesmo que alguns computadores falhem como servidores de armazenamento ou sejam controlados por um invasor ou não estejam mais disponíveis. Ao solicitar (baixar) um arquivo, os blocos de dados individuais distribuídos do arquivo desejado são pesquisados, reunidos e descriptografados novamente em seu próprio meio de armazenamento.

O armazenamento aleatório e criptografado dos blocos de dados individuais distribuídos de um arquivo garante que os operadores do Tahoe-LAFS não saibam qual conteúdo de dados está armazenado no armazenamento de dados compartilhado disponível. Mesmo se alguém quebrar a criptografia e puder provar que certos dados estão armazenados em um PC, não pode ser provado que a operadora do PC sabia sobre isso (contestabilidade por meio de migração). Quando usado via I2P, redes anônimas e distribuídas também podem ser formadas. O código-fonte está disponível sob a GPL e a Licença Pública do Período de Carência Transitiva.

BiglyBT

A ferramenta de código aberto BiglyBT permite que todas as funções da rede BitTorrent sejam utilizadas via plug-in via rede I2P e traz alguns recursos adicionais com ela. Por exemplo, uma função "enxame" pode ser ativada com a qual os downloads em andamento podem ser acelerados. Ou os arquivos podem ser marcados e, portanto, melhor organizados.

I2PRufus

I2PRufus é um cliente BitTorrent anônimo, baseado em Rufus. Isso permite que torents de bits I2P especiais sejam baixados ou gerados usando a camada I2P; ele também deve ser instalado.

Robert

Robert é mais um desenvolvimento do I2PRufus. Em vez de SAM, ele usa BOB. Robert deve ser instalado adicionalmente.

i2p-bt

i2p-bt é um cliente de torrent de bits de linha de comando para I2P.

Transmissão para I2P

Transmissão para I2P é uma portabilidade do cliente bit torrent transmissão para a rede I2P.

I2Phex

I2Phex é um programa P2P baseado no programa de código aberto Phex . Isso forma uma rede Gnutella anônima dentro da rede I2P. Ele deve ser instalado adicionalmente. A discussão e coordenação no I2Phex acontecem nos fóruns do projeto.

iMule

iMule é um programa baseado em aMule para compartilhamento anônimo de arquivos via I2P.

Flash noturno

Baseado no iMule com desenvolvimento ativo adicional i.a. no que diz respeito à facilidade de uso.

Outproxy

A comunidade I2P opera uma outproxy. Tal outproxy permite que os usuários acessem sites aprovados fora da rede I2P.

Diferença para Tor

Enquanto o Tor oferece principalmente servidores proxy anônimos para vários serviços de Internet, como IRC, e-mail ou HTTP, com I2P tudo acontece principalmente na rede. A vantagem disso é que os dados do usuário são criptografados de ponta a ponta. Este também é o caso com os serviços ocultos do Tor , mas não quando os serviços da web normais e publicamente acessíveis são usados ​​via Tor.

O mesmo se aplica a e-mails que são roteados por meio de um servidor interno I2P (Susimail): eles são criptografados apenas do remetente para o servidor e do servidor para o destinatário - o I2P-Bote não é afetado porque não tem servidor.

Em contraste com o Tor, o I2P gerencia sem um banco de dados de nó central ( servidor de diretório ) e, portanto, é completamente descentralizado. Com o I2P, a lista de nós é mantida como um banco de dados distribuído pelos nós mais poderosos (os chamados pontos de inundação ) com a ajuda do algoritmo Kademlia . Como não há instância central com a lista de nós, pelo menos o endereço de outro participante I2P deve ser conhecido quando I2P é iniciado para poder participar na rede I2P. Você pode então receber informações sobre outros nós I2P deste participante. Para evitar esse problema inicial, alguns participantes I2P publicam regularmente a lista de nós em vários sites. O cliente I2P tenta chamar esses sites automaticamente quando é iniciado, a fim de obter endereços de nós I2P.

Como o I2P não usa nenhum nó de entrada em comparação com o Tor, também não é possível ver o que o próprio usuário I2P está enviando, pois ele se perde no ruído do tráfego encaminhado de outros usuários I2P.

O I2P também usa apenas túneis unidirecionais, o que é útil na defesa contra ataques de temporização , porque uma solicitação e a resposta a ela não seguem o mesmo caminho. No entanto, isso também dobra o número de túneis estabelecidos, o que, por sua vez, aumenta a probabilidade de estabelecer um túnel com nós que estão sob o controle de um invasor. Isso pode possibilitar que esse invasor anule o anonimato da relação de tráfego entre o remetente e o destinatário.

Além do roteamento de cebola , as mensagens de alho também são usadas com I2P . Eles implementam criptografia ponta a ponta na rede I2P e agrupam uma ou mais mensagens que são descriptografadas em conjunto pelo destinatário. As mensagens individuais não têm necessariamente de ser destinadas ao próprio destinatário, mas podem, em alguns casos, conter também instruções de reencaminhamento e atraso. Isso é de particular interesse para serviços não críticos em relação ao tempo, uma vez que o desacoplamento dependente do tempo do encaminhamento da mensagem que é realizado pelo atraso fortalece adicionalmente o anonimato.

Em princípio, I2P também seria completamente sem uma configuração de túnel, ou seja, H. só pode ser usado anonimamente usando a função de encaminhamento dentro das mensagens de alho , em que a mensagem a ser encaminhada é ela própria uma mensagem de alho para o próximo nó na rota, etc. No entanto, esta forma de encaminhamento de mensagem não é usada por padrão.

Procedimento de Ataque

Em 2011, um método de ataque na rede I2P foi documentado e foi mostrado que um invasor com recursos moderados pode descobrir a identidade de um serviço HTTP (um “eepsite”). De acordo com os desenvolvedores I2P, este ataque não é mais possível devido a otimizações de segurança adicionais (entre outras coisas, os túneis agora são roteados por três roteadores), especialmente porque a rede I2P cresceu significativamente em termos de usuários.

Projetos relacionados

Links da web

O I2P deve ser instalado para os seguintes links:

Evidência individual

  1. ^ O projeto de código aberto i2p na página Open Hub: Languages . In: Open Hub . (acessado em 3 de setembro de 2018).
  2. ^ Daemon invisível do protocolo de Internet. Recuperado em 26 de dezembro de 2019 .
  3. Clientes I2P alternativos - I2P. Recuperado em 26 de dezembro de 2019 .
  4. ^ I2P Technical Introduction: Network Database. Recuperado em 24 de fevereiro de 2012 .
  5. ^ I2P Technical Introduction: Garlic messages. Recuperado em 29 de agosto de 2011 .
  6. Michael Herrmann: Impacto no anonimato da seleção de pares baseada no desempenho em roteadores Onion: Um estudo de caso com I2P (PDF) Tese de mestrado em ciência da computação, realizada na cadeira de arquiteturas de rede e serviços de rede, Faculdade de Ciência da Computação, Técnica Universidade de Munique , março de 2011.