Esta página foi atualizada pela última vez em November 2016.

Tor / Onion Routing

[Tor] [Onion Routing]

O Tor e o Roteamento Cebola são ambos redes de proxies para anonimato, e permitem que pessoas se comuniquem por meio de tunelamento nas suas redes mix de baixa latência. As duas principais diferenças entre Tor / Roteamento-Cebola e I2P estão, novamente, relacionadas a diferenças no modelo de risco e no projeto do proxy de saída (ainda que o Tor também suporte serviços ocultos). Adicionalmente, o Tor se vale da abordagem baseada em diretórios - fornecendo um ponto centralizado para gerenciar a 'visão' global da rede, bem como para recolher e reportar estatísticas, em oposição ao banco de dados da rede I2P, que é distribuído, e a seleção de pares.

A funcionalidade de proxy de saída da/o I2P/Tor possuem algumas fraquezas substanciais contra certos atacantes - uma vez que a comunicação deixe a rede mix, adversários compassivos globais podem mais facilmente perpetrar análise de tráfego. Ademais, os proxies de saída possuem acesso ao texto puro dos dados transferidos em ambas direções, e proxies de saída são inclinados a aproveitar, levando em conta todos os outros problemas de segurança que viemos a conhecer e apreciar com o tráfego da Internet comum.

Todavia, muitas pessoas não precisam se preocupar com essas situações, haja visto que estão fora do seu modelo de risco. E está, também, fora do escopo funcional (formal) da I2P (se alguém quiser construir a funcionalidade de proxy de saída no topo da camada de comunicação, pode fazê-lo). Na verdade, alguns usuários da I2P aproveitam atualmente essa vantagem do Tor para proxy de saída.

Comparação entre a terminologia da rede Tor e da I2P

As redes Tor e I2P são semelhantes em muitos aspectos, mas muito da terminologia é diferente.

TorI2P
CélulaMensagem
ClienteRoteador ou Cliente
CircuitoTúnel
DiretórioBD de rede
Servidor de diretóriosFloodfill Router
Entry GuardsPares rápidos
Nó de entradaProxy de entrada
Nó de saídaProxy de saída
Serviço ocultoServiço oculto, Eepsite ou Destino
Descritor de serviço ocultoLeaseSet
Ponto de entradaInbound Gateway
Roteador
Proxy CebolaCliente de túnel I2P (mais ou menos)
Onion ServiceServiço oculto, Eepsite ou Destino
RelêRoteador
Rendezvous Pointsomewhat like Inbound Gateway + Outbound Endpoint
Descritor de roteadorInforme de roteador
ServidorRoteador

Benefícios da rede Tor em relação a I2P

  • Base de usuários muito maior; muito mais visibilidade nas comunidades acadêmicas e no mundo hacker; beneficiada por estudos formais de anonimia, resistência e desempenho; possui lideranças não-anônimas, visíveis, nas universidades
  • Já solucionou algumas questões de escalonamento que a I2P ainda não
  • Possui financiamento significativo
  • Possui mais desenvolvedores, muitos dos quais recebem financiamento
  • More resistant to state-level blocking due to TLS transport layer and bridges (I2P has proposals for "full restricted routes" but these are not yet implemented)
  • Big enough that it has had to adapt to blocking and DOS attempts
  • Projetada e otimizada para tráfego de saída, com um número enorme de nodos de saída
  • Documentação melhor, com artigos e especificações formais, melhor website, muito mais traduções
  • Maior eficiência no uso de memória
  • Tor client nodes have very low bandwidth overhead
  • Controle centralizado reduz a complexidade em cada nó e pode eficientemente contrapor-se a ataques Sybil
  • Um núcleo de nodos de alta capacidade proporciona taxas de transferência mais altas e latência mais baixa
  • C, não Java (ewww)

Benefícios da rede I2P em relação a Tor

  • Projetada e otimizada para serviços ocultos, que são mais rápidos do que na rede Tor
  • Completamente distribuída e com capacidade de auto-organização
  • Peers are selected by continuously profiling and ranking performance, rather than trusting claimed capacity
  • Floodfill peers ("directory servers") are varying and untrusted, rather than hardcoded
  • Small enough that it hasn't been blocked or DOSed much, or at all
  • Peer-to-peer friendly
  • Packet switched instead of circuit switched
    • implicit transparent load balancing of messages across multiple peers, rather than a single path
    • resilience vs. failures by running multiple tunnels in parallel, plus rotating tunnels
    • scale each client's connections at O(1) instead of O(N) (Alice has e.g. 2 inbound tunnels that are used by all of the peers Alice is talking with, rather than a circuit for each)
  • Túneis unidirecionais ao invés de circuitos bidirecionais, dobrando o número de nodos que um par tem de comprometer para obter alguma informação. Counter-arguments and further discussion here.
  • Protection against detecting client activity, even when an attacker is participating in the tunnel, as tunnels are used for more than simply passing end to end messages (e.g. netDb, tunnel management, tunnel testing)
  • Tunnels in I2P are short lived, decreasing the number of samples that an attacker can use to mount an active attack with, unlike circuits in Tor, which are typically long lived.
  • As APIs da I2P são especialmente projetadas para anonimato e segurança, enquanto o SOCKs é projetado para funcionalidade.
  • Essencialmente, todos os pares participam roteando para todos os demais
  • The bandwidth overhead of being a full peer is low, while in Tor, while client nodes don't require much bandwidth, they don't fully participate in the mixnet.
  • Mecanismo de atualização automática integrado
  • Tanto transporte via TCP quanto UDP
  • Java, não C (ewww)

Outros benefícios potenciais da rede I2P, mas ainda não implementados

... e talvez nunca sejam implementados, portanto, não conte com eles!

  • Defense vs. message count analysis by garlic wrapping multiple messages
  • Defense vs. long term intersection by adding delays at various hops (where the delays are not discernible by other hops)
  • Various mixing strategies at the tunnel level (e.g. create a tunnel that will handle 500 messages / minute, where the endpoint will inject dummy messages if there are insufficient messages, etc)