Anonimato em Redes P2P Pedro Savarese Guilherme Nóbrega Felipe Carregosa.
Transcript of Anonimato em Redes P2P Pedro Savarese Guilherme Nóbrega Felipe Carregosa.
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
InserterMost 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.