480 likes | 566 Views
Privacidade na Web. Sérgio Donizetti Zorzo Robson Eduardo De Grande. Mecanismos de Privacidade. Conceitos Anonimato Anonymizer; Crowds; Onion Routing. Pseudo-Anonimato (Pseudônimos) LPWA ou JPWA. Conceitos. São mecanismos que visam:
E N D
Privacidade na Web Sérgio Donizetti Zorzo Robson Eduardo De Grande
Mecanismos de Privacidade • Conceitos • Anonimato • Anonymizer; • Crowds; • Onion Routing. • Pseudo-Anonimato (Pseudônimos) • LPWA ou JPWA
Conceitos • São mecanismos que visam: • Aumento do controle da privacidade na navegação Web. • Diminuindo a quantidade de informações do usuário que são divulgadas; • Filtrando a comunicação de navegação do usuário; • Informando sobre práticas com as informações pessoais que são coletadas; • Mascarando o perfil do usuário.
Conceitos • Há duas formas de abordagens para mecanismos de privacidade • Uma delas visa a introdução de uma arquitetura para manter o anonimato do usuário ou dificultar a sua identificação. • Essa linha segue a terceira camada da taxonomia apresentada. • Outra forma visa policiar os sites ou informar o usuário sobre as políticas de privacidades que são adotadas por eles. • É atribuído a esse linha a quarta camada da taxonomia.
Conceitos • Dentre os mecanismos da primeira abordagem: • Uns permitem coleta implícita de informações, outros não. • E esses mecanismos utilizam: • Anonimato; • Pseudo-anonimato ou pseudônimos; • Máscaras de anonimato; • Contratos de privacidade.
Anonimato • Anonimato é o estado de não ser identificável entre um conjunto de sujeitos. • Muitos usuários imaginam que sua navegação pela Web é inerentemente anônima; • Há muitas razões para uma pessoa esconder a sua real identidade quando usa a Internet. • Proteção de governos opressivos; • Publicação de mensagens sem a identificação como autor; • Deixar de estar a todo momento sendo vigiado por alguém. • Aumento da procura por serviços de anonimato
Anonimato • O computador necessita de identificações para comunicação na Web; • Podem ser atribuídos perfis de usuários a essas identificações virtuais. • Em uma navegação se pode conhecer: • A localização geográfica de um computador; • O sistema operacional utilizado pelo usuário; • A última página requisitada pelo usuário.
Anonimato • Pode ser definido: • o anonimato do transmissor, a não identificação de uma mensagem do mesmo; • o anonimato do receptor, a não identificação do recebimento da mensagem; • e a não ligação entre o transmissor e o receptor, a não identificação da existência da mensagem por si própria.
Anonimato • É necessário considerar também dois conceitos: • o agressor contra quem quer manter o anonimato; • e o grau de anonimato. • Entretanto essas práticas de anonimato falham quando o usuário divulga explicitamente suas informações. • Identificação real do usuário; • Perda de confidencialidade.
Anonimato • Suas ferramentas podem ser divido em três linhas mais conhecidas: • Proxies de único nó; • Anonymizer; • The-cloak; • Anonymouse; • e outros. • Proxies de vários nós; • Onion Routing. • Multidões. • Crowds.
Proxies de Anonimato de único nó (Anonymizer) • São a maioria dos serviços de anonimato disponíveis para o público em geral. • É um servidor entre o computador do usuário e o servidor da página. • Esse servidor modifica os pacotes IP provenientes do usuário e do site. • Todas as requisições do usuário aparentam para o site serem do proxy. • Para o usuário é como se ele estivesse acessando as páginas sem a presença de uma entidade intermediária.
Anonymizer • Um exemplo de requisição: • Uma requisição normal http://slashdot.org se torna: • http://anon.free.anonymizer.com/http://slashdot.org • o usuário envia a URL da página que deseja requisitar para o proxy que imediatamente emite uma requisição HTTP para o servidor respectivo à URL recebida. • Assim que o servidor do site responde o proxy recebe e envia para o usuário o documento HTML com todos os links reescritos para eles apontarem de volta para o proxy e não para os sites que eles originalmente apontavam.
Anonymizer • Esses servidores podem fornecer os seguintes serviços: • Ocultação do IP do usuário; • Encriptação da conexão do usuário com o proxy; • filtragem ou manipulação de cookies; • filtragem ou reedição de códigos JavaScript, Java, ou outros códigos de conteúdo ativo; • filtragem de anúncios e banners; • bloqueio de pacotes HTTP; • falsificação do campo http_user_agent e http_referer do cabeçalho HTTP. • Havendo alguns deles que fornecem gratuitamente alguns desses serviços.
Anonymizer • Prestadores de serviço de anonimato.
Proxies de Anonimato de vários nós (Onion Routing) • Opera por conexões anônimas construídas dinamicamente com uma rede de Mixes de tempo real. • Exemplos de Mixnets: • Onion Routing; • Zero Knowledge Systems’ Freedom Network; • Web MIXes; • Tarzan.
Onion Routing • Cada Mix é um dispositivo (servidor ou proxy) que armazena e passa adiante. • A dificuldade de se determinar a comunicação entre dois hosts na rede é proporcional à quantidade de nós de Mix executando roteamento de mensagens. • Rede de roteadores onion (Mix) é distribuída: • Conseqüentemente tolerante a falhas; • Sob o controle de domínios de administração múltipla; • Apresenta as mesmas dificuldades de qualquer rede distribuída.
Onion Routing • Não é necessário modificar a arquitetura cliente-servidor para o seu uso. • Atualmente os protocolos suportados pela arquitetura são: • HTTP, FTP, SMTP, rlogin, telnet, NNTP, finger,whois, e sockets raw. • Proxies estão em desenvolvimento para: • Socks5, NS, NFS, IRC, HTTPS, SSH, e Virtual Private Networks (VPNs)
Onion Routing • Um Proxy, uma mix net, tem três camadas lógicas: • um filtro de privacidade específica de aplicação que limpa os fluxos de dados, • um proxy específico de aplicação que traduz os fluxos de dados em um formato independente de aplicação aceito pela rede Onion Routing, • e um proxy onion que constrói e gerencia as conexões anônimas
Onion Routing • Conexões anônimas de Onion Routing possuem protocolos independentes incorporados em três fases: • configuração de conexão; • movimento de dados; • e destruição da conexão.
Onion Routing • Fase de configuração da rede: • Iniciador cria um Onion (estrutura de dados em camadas) especificando: • propriedades de conexão a cada ponto da rota; • informação de controle de criptografia usada durante a fase de movimentação de dados. • Cada roteador recebe o onion, extraindo: • informação de controle de criptografia; • identidade do próximo roteador de onion; • e o próprio onion embutido. • Estabelecendo o caminho de dados no final do processo.
Onion Routing • Fase de movimentação de dado: • Dados são pré-encriptados repetidamente com chaves pré-estabelecidas; • Cada roteador remove uma camada do onion; • Chega no destino em forma de texto; • Mesmo processo para volta; • Dados são enviados em células de tamanho uniforme.
Crowds • Coleção de usuários que trabalharam de forma cooperativa para auxiliar cada membro dessa coleção a se manter anônimo. • O usuário é representado no sistema por um “Jondo” (John Doe) • A compôe: • Vários Jondos; • e um Blender.
Crowds • O usuário deve ter uma conta em um blender para efetuar autenticação dos jondos. • Um jondo iniciado pelo usuário dever contatar o blender para requisitar a admissão a uma crowd. • Se admitido: • o blender reporta para esse jondo a atual sociedade da crowd; • e a informação que habilite esse jondo a participar na crowd.
Crowds • Blender adiciona novo Jondo a sua lista: • endereço IP; • número de porta; • e nome de conta. • O blender gera e reporta de volta uma lista de chaves comuns. • O jondo inicia comunicação a partir da mensagem de aceitação do blender.
Crowds • Lista de membros: • Cada jondo possui a sua; • É iniciada quando esse jondo se junta a crowd; • É atualizada quando o jondo recebe avisos do blender de membros novos ou excluídos; • Jondo remove outro de sua lista se detectar que ele está falho; • Cada lista de jondo pode diferer de outras.
Crowds • Blender: • entidade centralizadora; • necessita ser confiável para troca de chaves e relatório de lista de jondos. • Pode ser replicado como medida de segurança. • Não participa da rede Crowd de comunicação. • Seu comprometimento não leva ao colapso da rede.
Crowds • Funcionamento: • o usuário seleciona um jondo como seu proxy Web: • o nome do host; • e número de porta. • Toda a requisição passa por ele. • O jondo estabelece um caminho randômico de jondos; • ele escolhe radomicamente um jondo de sua lista para encaminhar (pode ser ele mesmo).
Crowds • Ao receber uma requisição, é sorteado um número aleatório para determinar o encaminhamento ou não da requisição para outro jondo; • esse valor indica a probabilidade do envio • Cada caminho criado possui um identificador que muda para cada jondo, sendo único no sistema. • Toda a comunicação entre quaisquer 2 jondos é encriptada. • Um mesmo caminho é utilizado para requisições subseqüentes para o mesmo servidor.
Crowds • Exemplo de uma Crowd: • cada requisição viaja partindo do navegador do usuário, passando por um número aleatório de jondos para finalmente chegar ao destino. • Exemplos de possíveis caminhos: • 1 -> 5 -> server; • 2 -> 6 -> 2 -> server; • 3 -> 1 -> 6 -> server; • 4 -> 4 -> server; • 5 -> 4 -> 6 -> server; • e 6 -> 3 -> server.
Pseudo-Anonimato ou Pseudônimos (JPWA) • Anonimato na navegação Web se apresenta como dois aspectos importantes: • anonimato de conteúdo de dados; • e anonimato de conexão. • Esse mecanismo consiste basicamente em criar para os usuários nomes fictícios que poderiam disfarçar a identificação do usuário. • Acesso do usuário a sites de maneira fácil, segura, anônima e pessoal.
LPWA ou JPWA • Janus Personalized Web Anonymizer • É um proxy que gera automaticamente apelidos ou pseudônimos. • Eles permitem o usuário fazer login sem ser identificado. • Normalmente o apelido é um nome de usuário, uma senha e um endereço de e-mail. • Retira do usuário todo o trabalho de invenção e memorização de nomes de usuário e senhas.
LPWA ou JPWA • Ele insere apropriadamente nomes de usuário e senhas a toda vez que o usuário retorna a algum site Web. • Para iniciar uma sessão o sistema necessita do usuário: • uma única identificação de endereço de e-mail; • e um segredo. • O segredo pode ser considerado como uma senha universal.
LPWA ou JPWA • O sistema não mantém nenhuma informação dos usuários. • Pelos mecanismos que Janus fornece é realizada a inserção automática de apelidos. • Proxy Janus filtra o fluxo de dados do navegador do usuário. • Um site pode não conhecer a existência do sistema Janus.
LPWA ou JPWA • A tradução de nomes é o centro do sistema. • traduz o endereço de e-mail do usuário e o seu segredo para um apelido que possa cumprir um número de propriedades: • Anonimato, consistência, discrição, exclusividade de apelido, e proteção da criação de dossiês. • A função Janus realiza a interação personalizada, e uma função criptográfica mantém o anonimato.
LPWA ou JPWA • O proxy Janus pode se localizar em cada máquina de usuário. • Esse proxy realiza a função de Janus. • Filtra fluxo de dados do usuário • Filtra mensagens HTTP; • Cookies. • O navegador se conecta ao proxy Janus para passar todas suas mensagens por ele.
LPWA ou JPWA • Situação inicial: • Primeiro acesso a uma página de login; • Sistema Janus reconhece login; • Autenticação do usuário no sistema, pede: • Nome de usuário e segredo. • Ou criação de conta no sistema. • Primeiro login em uma página: • usuário somente insere strings de fuga compreensíveis a Janus: • “\U” para nome de usuário; • “\P” para senha; • “\@” para endereço de e-mail.
LPWA ou JPWA • Processos de login subseqüentes: • usuário somente insere strings de fuga. • Apelidos distintos são computados para usuário para cada site Web que ele acessa. • Apelidos são distintos de qualquer outro gerado para outros usuários. • O sistema Janus é voltado a fornecer anonimato de conteúdo de dados na navegação Web.
LPWA ou JPWA • O proxy Janus pode se localizar em um computador externo. • Um conjunto de usuários pode estar utilizando um mesmo proxy. • Todas as requisições Web passam por ele. • Um número grande usuários acarreta o proxy a ser um alvo potencial de ataques maliciosos. • Exemplo: • Esse proxy externo pode se localizar em um gateway de uma Intranet com firewall.