Filipe Nunes Ribeiro filipe_ribeiro@dc.ufscar.br Mix-Net Filipe Nunes Ribeiro filipe_ribeiro@dc.ufscar.br
Agenda Introdução Mix-Nets BABEL Onion Routing Web-Mixes Anonimato em redes Ad Hoc Crowds Conclusões Bibliografia Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Introdução Anonimato Agressores Ataques Passivos Ataques Ativos Eavesdropping Análise de Tráfego Ataques Ativos Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Mix-Net:Definição [Berthold, Federrath & Kohntopp, 2000] Primeiro sistema próximo de ser perfeito descrito na literatura. Pfitzmann & Hansen, 2005] Mecanismo para obter anonimato de envio e relações de anonimato. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Definição – Segundo [Chaum, 81] Uma técnica baseada na criptografia de chave pública que permite um sistema de E-mail esconder com quem um participante comunica tanto quanto o conteúdo da comunicação – apesar de um sistema de telecomunicação inseguro como base de comunicação Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Criptografia de Chave Pública Fonte: [Wikipedia, 2007] Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Criptografia de Chave Pública Fonte: [Wikipedia, 2007] Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Notação Problema: Se K (Y) = K (X) então X = Y Solução: K (R, M) K Chave Pública Inv (K) Chave Privada M Mensagem K (M) M criptografado com a chave pública Problema: Se K (Y) = K (X) então X = Y Solução: K (R, M) Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Arquitetura – Um Mix Ka (R0, M), A’ K1 (R1, Ka (R0, M), A’ ) A A` B B` C C` D D` Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Arquitetura – Mixes em Cascata Kn( Rn, K<n-1>( R<n-1>, ... , K1( R1, Ka( R0, M ), A )...)) K<n-1>( R<n-1>, ... , K1( R1, Ka( R0, M ), A )...) Ka (R0, M), A A` A B` … B C` C D` D Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Funções do Mix Esconder a correspondência entre os itens da sua interface de entrada e os itens da interface de saída. Não processar nenhum item mais de uma vez. Armazenar mensagens até que um número definido de mensagens tenha sido recebido. Alterar a ordem de saída das mensagens chegadas (Mix). Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Outra perspectiva do Mix – Lotes de Mensagens Mensagens ordenadas lexograficamente A A` B B` C C` D D` Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Como Responder? ? Ka (R0, M), Y K1 (R1, Ka (R0, M), Y) X Y B B` C C` D Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
E para responder uma mensagem? Endereço de Retorno Não pode ser rastreado. O remetente deve continuar anônimo para o destinatário O remetente deve enviar o endereço de retorno não rastreável e uma chave pública para o destinatário junto à mensagem. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Endereço de Retorno – 1 Mix Endereço de Retorno não rastreável K1(R1,Ax) Chave pública de X Kx Enviado juntamente com a mensagem M de X para Y Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Endereço de Retorno – 1 Mix Ax, R1( Kx( R0, M )) K1( R1, Ax ), Kx( R0, M ) X Y B B` C C` D D` Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Endereço de Retorno – Vários Mixes Endereço de Retorno não rastreável K1( R1, K2( R2, ..., K<n-1>( R<n-1>, Kn( Rn, Ax ))...)), Kx( R0, M ) Chave pública de X Kx Enviado juntamente com a mensagem M de X para Y Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Arquitetura – Mixes em Cascata K1( R1,..., K<n-1>( R<n-1>, Kn( Rn, Ax ))...), Kx( R0, M ) K2( R2, ..., K<n-1>( R<n-1>, Kn( Rn, Ax ))...), R1( Kx( R0, M )) Ax, Rn( R<n-1> ... R2( R1( Kx( R0, M )))...) A` A B` … B C` C D` D Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Pseudônimo Digital Um pseudônimo Digital é uma chave pública usada para verificar assinaturas feitas pelo anônimo mantenedor da chave privada correspondente. Os usuários do serviço registram seus pseudônimos Lista de pseudônimos deve ser mantida. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Pseudônimo Digital – 1º Passo Cliente registra pseudônimo (utilizando correspondência não rastreável p. ex). K1(R1, K) Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Pseudônimo Digital – 2º Passo Uma autoridade irá armazenar os pseudônimos. P. ex: [G,H,I,J,K,L,] Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Pseudônimo Digital – 3º Passo O Cliente submete a mensagem com a requisição do serviço. K1( R1, K, Inv(K)( C, V )) Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Pseudônimo Digital – 4º Passo A autoridade verifica se o cliente está cadastrado e não é uma falsificação. K1( R1, K, Inv(K)( C, V )) K está na lista [G,H,I,J,K,L,] K realmente é a chave pública de Inv(K) Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Utilizações do Pseudônimo Digital Votação anônima Relação com pseudônimos entre uma empresa e clientes. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Sistemas de E-mail de Propósito Geral Exigir que cada mensagem passe por uma cascata. Mensagens podem ser muito grandes e talvez necessitem ser quebradas. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Sistemas de E-mail de Propósito Geral Problema: Passar por todos os mixes pode se tornar impraticável caso existam muitos. Solução: É possível selecionar uma seqüência de mixes pelos quais a mensagem irá passar. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Sistemas de E-mail de Propósito Geral Problema: É necessário esconder o número de mensagens enviadas e recebidas. Solução: Todos os participantes mandam o mesmo número de mensagens por lote(Podem ser enviadas mensagens sem conteúdo útil). Todos os receptores buscam no lote de saída as mensagens pertencentes a ele. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Sistemas de E-mail de Propósito Geral Problema: Custos podem ser tornar elevados para alguns participantes. Solução: Permite as correspondências serem endereçadas a subconjuntos de participantes como redes locais. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Sistemas de E-mail de Propósito Geral Mix com novas características: Permite uma seqüência de mixes ser selecionada para cada mensagem Esconde o número e a identidade dos mixes pelo qual a mensagem irá passar Permite descobrir um mix que não encaminhou os itens corretamente. Não faz distinção entre correspondência normal e aquela enviada pelo endereço de retorno não rastreável. Cada item é composto por blocos de tamanho fixo. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Mix-Net Anonimato 100% garantido? Se um dentre todos os mixes for seguro então o anonimato será preservado Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
BABEL – Remetente de Correio Eletrônico Anônimo Remetente de E-mail anônimo Baseado nos Mixes de [Chaum, 1981] Utilização de Vários Mixes Caminho de Retorno Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
BABEL – Propriedades desejadas 1 – Qualquer que está apto a mandar e-mail deve estar apto a fazer isso anonimamente. 2 – Deve ser impossível (ou, no mínimo, computacionalmente difícil) determinar a origem de um e-mail anônimo. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
BABEL – Propriedades desejadas 3 – O receptor de um e-mail anônimo pode responder ao remetente, que permanece anônimo. Além disso, receptores podem responder com múltiplas mensagens. 4 – O anonimato das extremidades deve ser preservado mesmo se um número de entidades conspira contra. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
BABEL – Propriedades desejadas 5 – A estrutura de entrega de e-mails deve ser resistente a ataques passivos e ativos. 6 – O remetente de um e-mail anônimo pode obter confirmação que sua mensagem foi corretamente processada. 7 – E-mails anônimos não devem sobrecarregar a estrutura global de email. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
BABEL – Ataques Passivos Alice MIX Bob Eve Fonte: [Gükü & Tsudik, 1996] Ataque de codificação de mensagem Timing attack Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
BABEL – Ataques Ativos – Isolate & Identify B - Agressor B` C C` D D` Verificar endereço do remetente Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
BABEL – Ataques Ativos – Message Replay (Parte1) B - Agressor B` C C` D D` B copia a mensagem enviada por A Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
BABEL – Ataques Ativos – Message Replay (Parte2) B - Agressor B` C C` D D` B envia uma cópia da mensagem e descobre para onde ela foi enviada Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
BABEL – Ataques Ativos – Message Replay Solução O Mix não deve permitir cópias No caso do Caminho de Retorno podem haver itens repetidos Inter-Mix Detours Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Alguns Problemas desta arquitetura Não Interessantes para aplicações de tempo-real já que o atraso pode ser elevado. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Onion Routing - Definição Onion Routing é uma infra-estrutura para comunicação privada sobre uma rede pública. Ele permite conexões anônimas que são fortemente resistentes a análise de tráfego e observadores indesejados (eavesdropping) [Reed et. Al,]. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Onion Routing - Características Bidirecional Pode-se utilizar uma conexão de socket comum. Baseado em Mixes. Elimina o problema de atraso (latência). Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Onion Routing - Implementação Conexão com a máquina destino é feita a partir da conexão com uma seqüência de outras máquinas chamadas roteadores Onion. Os roteadores Onion estão conectados por conexões de sockets permanentes. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Onion Routing - Implementação A conexão tem 3 fases: Estabelecimento da conexão Troca de dados Finalização da Conexão É utilizada criptografia assimétrica apenas na 1ª fase. Depois é utilizada criptografia simétrica. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Onion Routing - Arquitetura Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Onion Routing – Aplicações Virtual Private Networks Navegar na Web E-mail Remote login Chat Anônimo Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Onion Routing - Problemas Sujeito a Timing Atack Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Web-Mixes [Berthold,Federrath & Kopsell, 2000] Acesso à Internet em tempo-real. Três partes lógicas: JAP (Java Anon Proxy) Mixes Cache-Proxy Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Web Mixes - Arquitetura Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Web Mixes: Novos Aspectos Chop-and-Slice Sistema de autenticação baseada em tíquetes Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Protocolo de roteamento para redes Ad Hoc [Araújo, 2005] ANSDR – Anonymous Dinamic Source Routing Baseado no DSR (Dynamic Source Routing) – Protocolo bastante difundido para Redes Ad Hoc. Utilização de Mixes. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
ANSDR – Protocolo S deseja se comunicar com T S não sabe a rota Envia um pacote do tipo mix request em difusão Os nodos mix responderão com um mix reply mix request e mix reply são criptografadas Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
ANSDR – Protocolo Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
ANSDR – Protocolo Ao receber um mix reply S monta um pacote route request com o endereço de T. O Mix que recebeu o route request verifica se está próximo de T. Enquanto não for vizinho envia um route request para o mix vizinho Quando o Mix for vizinho de T ele encripta a mensagem com a chave pública de T e envia a mensagem por difusão. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
ANSDR – Protocolo Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
ANSDR – Protocolo T monta um pacote route reply com o endereço destino que irá seguir o caminho de volta até chegar a S, estabelecendo o caminho anônimo. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
ANSDR – Protocolo Caso haja uma quebra do enlace, o mix deve enviar um pacote route error para seu nó antecessor (nó do qual recebeu o route request)até alcançar a fonte. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Crowds Fonte: [Reiten & Rubin, 1999] Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Conclusões Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Referências Araújo, A. M., "ANSDR – Protocolo de Roteamento Anônimo para redes Ad Hoc", Tese como pré-requisito para a obtenção do grau de mestre em Engenharia Elétrica, COPPE/UFRJ, 2005. http://www.gta.ufrj.br/~andrea/tese.ps Berthold,O., Federrath, H. and Kopsell, S. Web MIXes: A System for Anonymous and Unobservable Internet Access. In Proceedings of the Workshop on Design Issues in Anonymity and Unobservability, pages 101--115, Berkeley, CA, USA, July 25--26 2000. http://citeseer.ist.psu.edu/berthold01web.html Berthold,O., Federrath, and Kohntopp, M. "Project `Anonymity and unobservability in the Internet'," in Computers Freedom and Privacy Conference 2000 (CFP 2000) Workshop on Freedom and Privacy by Design (to appear). http://citeseer.ist.psu.edu/berthold00project.html Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Referências Chaum, D., "Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms", Communications of the ACM, 24 (2). 1981, pp. 84-88, http://world.std.com/~franl/crypto/chaum-acm-1981.html Goldschlag, D., Reed, M., and Syverson, P. Onion routing for anonymous and private internet connections. Communications of the ACM, 42(2):39--41, 1999. http://citeseer.ist.psu.edu/goldschlag99onion.html Gülcu, C., Tsudik, G., "Mixing E-Mail with Babel", Proceedings of the IEEE Symposium on Network and Distributed System Security, 1996. Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo
Referências Reiter , M., Rubin, A., "Anonymous Web Transactions with Crowds", Communications of the ACM, Vol.42, No.2, February 1999, pp. 32-38. Syverson, P., Goldschlag, D., Reed, M., "Anonymous Connections and Onion Routing", Proceedings of the 1997 Symposium on Security and Privacy, Oakland, 1997, http://www.itd.nrl.navy.mil/ITD/5540/projects/onion-routing/OAKLAND_97.ps , http://www.onion-router.net/Publications.html Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização Prof. Zorzo