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.
Conceitos
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ó;





Proxies de vários nós;


Anonymizer;
The-cloak;
Anonymouse;
e outros.
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
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
Anonymizer

Prestadores de serviço de anonimato.
Anonymizer
The Cloak
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.
Proxies de Anonimato de vários nós
(Onion Routing)
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:



Cada roteador recebe o onion, extraindo:




propriedades de conexão a cada ponto da rota;
informação de controle de criptografia usada durante a fase
de movimentação de dados.
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.
Onion Routing
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.
Crowds
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
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.
LPWA ou JPWA
Download

aula3