Anonimato em Redes P2P
description
Transcript of Anonimato em Redes P2P
Anonimato em Redes P2P
Pedro SavareseGuilherme Nóbrega
Felipe Carregosa
• Software criado em 2000 por Ian Clarke;
• Plataforma Java;
• Somente P2P até v0.5, F2F após v0.7;
• Sensação de internet livre – anonimato e sem censura;
• Servidor proxy (dificulta rastreamento) e um disco rígido descentralizado (dificulta ataques);
• Inexistência de uma broadcast search;
Como funciona?• As mensagens são encriptadas e repassadas por outros nós,
dificultando o rastreamento de quem e o quê está pedindo;• Cada usuário contribui com sua banda e um pedaço do disco
(data store);• Small World – um nó só tem consciência dos seus vizinhos e
não da rede como um todo;• Aumenta segurança e anonimato, desde que os seus vizinhos
sejam confiáveis;• Idéia originada de Jon Kleinberg.
Como funciona?
• Hops-to-live limit (definido pelo usuário);
• Identificador aleatório “único”; A falha ou sucesso de uma request é reportada de volta pela corrente ao nó que a enviou;
• Não há privilégio de um nó em relação a outro;
Modos de Operação
• Opennet (P2P): O usuário se conecta com nós aleatórios. Os vizinhos podem conseguir informações como que tipo de dados o usuário possui e busca.
• Darknet (F2F): Apenas conexões com nós conhecidos a priori são possíveis. Oferece altos níveis de segurança e anonimato, desde que os nós sejam confiáveis.
Armazenamento• Armazenamento de arquivos dividido em duas partições.
• Short-Term Storage Cache: armazena todos os arquivos que passam pelo nó.
• Belonging Storage Cache: armazena dados que estejam de acordo com a identidade do nó. Usa uma política chamada sinkstore para centralizar os dados em nós similares.
• Ambos são liberados aleatoriamente.
Chaves• CHK (Content Hash Keys): usadas para arquivos fixos.
CHK@filehash,decrypkey,cryptosettings (32kB)
• SSK (Signed Subspace Keys): usadas para arquivos com conteúdo alterável (freesites).
SSK@pubkeyhash,decrypkey,cryptosettings (1kB)
• KSK (Keyword Signed Keys): usadas para sites e arquivos com nomes. Não são seguras e são vulneráveis a spam e a colisões.
Busca e Inserção• Parâmetros de busca são encriptados por uma função hash;
• O hash é enviado para o nó do próprio usuario, determinando a chave e o HTL;
• Request é repassada pela “routing table”;
• Nós inteligentes;
Busca e Inserção
Key + HTL
Requester
Data Holder
Busca e Inserção• Usuário encripta o dado e manda para si mesmo,
determinando a chave e o HTL;
• Request de inserção busca o menor caminho com um hash o mais similar possível até expirar o HTL;
• Melhor caso x Pior caso;
• Na medida em que os nós “aprendem” sobre seus vizinhos, o melhor caso torna-se mais frequente;
Busca e Inserção
Key + HTL
Inserter Most Similar Data HolderNão colisão -> “All-clear signal”
Envio do dado para D
Swapping• Nós trocam de lugar quando as suas novas posições se
enquadram mais com o seu identificador. Possibilita que o roteamento ocorra em O(log n) no caso de uma small-world network.
Otimização
Criação da rede mundo pequeno: Modelo de Watts-Strogatz:
Otimização Modelo de Kleinberg:
Solução Descentralizada: Metropolis-Hastings
Ataques
• Eavesdropping na comunicação entre 2 usuários;
• Nós conspiradores;
• Pitch-Black Attack (swapping forçado);
Performance
• Convergência
Performance
• Escalabilidade
Performance
• Tolerância a falhas
Perguntas
1) Diferencie a Opennet da Darknet.
Perguntas
Enquanto no modo Opennet um nó inserido na rede já é iniciado com vizinhos aleatórios, no modo Darknet um nó só cria conexões com vizinhos que ele conheça e confie.
Perguntas
2) O que caracteriza uma rede Small World?
Perguntas
Uma rede Small-World é caracterizada por poucas conexões entre nós, mas ao mesmo tempo mantendo uma baixa distância média entre quaisquer dois nós.
Perguntas
3) Cite as 3 principais chaves de encriptação.
Perguntas
• CHK (Content Hash Keys), KSK (Keyword Signed Keys) e SSK (Signed Subspace Keys).
• A CHK é composta por um hash e uma chave simétrica e é utilizada para arquivos fixos.
• A KSK é composta por um hash de uma chave pública assimétrica e uma chave simétrica. É utilizada para freesites.
• A SSK é composta por uma string e possui uso geral.
Perguntas
4) Explique por que o Short Term Storage Cache faz com que os arquivos na Freenet permaneçam de acordo com a sua popularidade.
Perguntas
Pois toda vez que um arquivo é requisitado por um nó, ele é armazenado no Short Term Storage Cache de todos os nós que repassam o dado do nó que o possui até o requisitador. Quando um dado passa muito tempo sem ser requisitado, ele será substituído por outros dados mais populares e deixará de existir na rede.
Perguntas
5) Explique em que situação é usada a mensagem Reply.Restart entre nós.
Perguntas
Quando o nó que recebe o último salto do pedido sabe que um vizinho direto possui o arquivo requisitado. Ele então envia o Reply.Restart para o nó requisitador, pedindo que ele aumente o número de saltos.