Facebook no Tor

Na última sexta-feira do mês, dia 31 outubro, o Facebook lançou o seu serviço oculto na rede Tor. Impossível dizer que não houve um sentimento de surpresa generalizado, afinal, o Facebook é publicamente conhecido por suas medidas anti-anonimato e anti-privacidade. E não só, o serviço está disponível num endereço onion bastante memorizável (facebookcorewwwi.onion) e conta com um certificado assinado por uma Autoridade Certificadora (algo inédito). Abaixo segue a tradução de um post do Ronger Dingledine, desenvolvedor do Projeto Tor, em que ele cobre vários desses pontos.

Facebook, hidden services and https certs

Hoje o Facebook revelou seu serviço oculto que permite aos usuários acessarem seu site de forma mais segura. Usuários e jornalistas vieram pedir a nossa resposta; aqui estão alguns pontos para ajudá-lo a entender sobre o que pensamos.

Parte um: sim, acessar o Facebook usando Tor não é uma contradição

Eu nem imaginava que deveria incluir essa seção, até ouvir de um jornalista hoje que esperava pegar uma citação minha sobre porquê os usuários do Tor não usariam nunca o Facebook. Colocando de lado (porém, muito importante) as questões dos hábitos de privacidade do Facebook, sua política prejudicial de identidade verdadeira, e se você deveria ou não deveria falar para eles qualquer coisa a seu respeito, o ponto central aqui é que o anonimato não é apenas sobre você se esconder do seu destino.

Não há razão para deixar o seu provedor de internet saber quando ou se você está visitando o Facebook. Não há razão para o provedor de internet do Facebook, ou alguma agência que vigia a Internet, saber quando ou se você usou o Facebook. E se você escolher falar para o Facebook alguma coisa sobre você, ainda assim não há razão para deixá-los descobrir automaticamente qual cidade você está hoje enquanto usa o site deles.

Ainda, nós devemos lembrar que há alguns lugares no mundo que não se pode acessar o Facebook. Há muito tempo atrás, eu falei com uma pessoa da segurança do Facebook que me contou uma história engraçada. Quando ele aprendeu pela primeira vez sobre o Tor, ele odiou e teve medo pois "claramente" pretendia minar o modelo de negócios deles de descobrir tudo sobre seus usuários. Então, de repente, o Irã bloqueou o Facebook, uma boa parcela da população Persa do Facebook começou acessar o Facebook pelo Tor e ele se tornou um grande fã, porque caso contrário aqueles usuários teriam sido cortados. Outros países como a China seguiram um padrão similar depois disso. Essa mudança na sua visão entre "o Tor como uma ferramente de privacidade para permitir os usuários controlarem seus próprios dados" para "Tor como uma ferramenta de comunicação para dar os usuários liberdade de escolher quais sites eles visitam" é um grande exemplo da diversidade dos usos para o Tor: seja para o que for que você pensa que o Tor é usado, eu garanto que há outra pessoa por aí que usa para alguma coisa que você não pensou.

Parte dois: nós estamos felizes de ver uma adoção maior dos serviços ocultos

Eu penso que é ótimo para o Tor que o Facebook tenha adicionado um endereço .onion. Há alguns casos de uso interessantes dos serviços ocultos: veja, por exemplo, os que são descritos em usar o Tor para o bem, como as futuras ferramentas de batepapo descentralizado como Ricochet onde não há um ponto central para tocar ou se apoiar para reter os dados. Mas, realmente, nós não temos divulgado muito esses exemplos, ainda mais se comparado com a repercussão dos exemplos que o "eu tenho um site que um cara quer fechar" tiveram nos últimos anos.

Os serviços ocultos fornecem uma varidade de propriedades úteis de segurança. Primeiro - e aquele que a maioria das pessoas pensa sobre - por causa da arquitetura dos circuitos do Tor, é difícil descobrir onde o serviço está localizado no mundo. Em segundo, por que o endereço do serviço é o hash da sua chave, eles são auto-autenticado: se você digitar um dado endereço .onion, seu cliente Tor garante que você está acessando o serviço que sabe a chave privada que corresponde aquele endereço. Um terceiro recurso é que o processo de encontro (rendezvous) fornece criptografia fim a fim, mesmo quando o tráfego em nível de aplicação não é criptografado.

Assim, eu estou animado que essa posição do Facebook ajudará em continuar abrir a mente das pessoas sobre porque eles podem querer oferecer um serviço oculto e ajudar outras pessoas a pensarem sobre outras novas utilizações dos serviços ocultos.

Outra implicação realmente legal aqui é que o Facebook está se comprometendo em levar seus usuários do Tor a sério. Centenas de milhares de pessoas estiveram usando com sucesso o Facebook com Tor por anos, mas no momento atual dos serviços como Wikipedia que decidiu não aceitar contribuição dos usuários que se preocupam com a privacidade, é revitalizante e animador ver um grande site escolher que é ok os seus usuários quererem mais segurança.

Como um adendo a esse otimismo, eu ficaria muito triste se o Facebook adicionasse um serviço oculto, tivesse alguns problemas com trolls, e decidisse que devesse impedir que os usuários do Tor usassem o endereço antigo: https://www.facebook.com/. Então, nós devemos ficar vigilantes para ajudar o Facebook a continuar a permitir que seus usuários acessem através de ambos endereços.

Parte três: seu endereço de vaidade não significa que o mundo acabou

O nome do serviço oculto deles é "facebookcorewwwi.onion". Para um hash da sua chave pública, isso claramente não parece ser aleatório. Muitas pessoas estiveram se perguntando como eles forçaram esse nome inteiro.

A resposta curta é que para sua primeira metade (facebook), que é apenas 40 bits, eles geraram mais e mais chaves até conseguirem algumas chaves que os primeiros 40 bits do hash fosse a palavra que eles queriam.

Então eles procuraram algumas dessas chaves que começava com "facebook", e olharam para a segunda parte de cada um deles para escolher um que fosse pronunciável e com sílabas memoráveis. O "corewwwi" pareceu o melhor para eles - entendendo que eles poderiam chegar com uma história sobre porque esse é um nome razoável para o Facebook usar - então, eles escolheram esse.

Para ser claro, eles não seriam capazes de reproduzir exatamente esse nome de novo mesmo se quisessem. Eles poderiam produzir outros hashes que começassem com "facebook" e terminassem com sílabas pronunciáveis, mas isso não é fazer força bruta do nome inteiro dos serviços ocultos (um total de 80 bits).

Para aqueles que querem explorar mais a matemática, leia sobre o "ataque de aniversário". E para aqueles que querem aprender mais (por favor, ajude!) sobre os aperfeiçoamentos que gostaríamos de fazer nos serviços ocultos, incluindo nomes e chaves mais fortes, veja "Os serviços ocultos precisam de um pouco de amor" e a proposta no Tor 224.

Parte quatro: o que vocês pensam sobre um certificado https para um endereço .onion?

O Facebook não configurou apenas um serviço oculto. Ele também pegou um certificado https para seu serviço oculto, e é assinado pela Digicert assim seu navegador irá aceitá-lo automaticamente. Essa escolha gerou algumas discussões agressivas na comunidade de Navegadores/Autoridades Certificadoras, que decidem que tipo de nomes podem ter certificados oficiais. Essa discussão ainda está em andamento, mas aqui estão meus pensamentos iniciais sobre isso.

A favor: nós, a comunidade de segurança da Internet, temos ensinado as pessoas que o https é necessário e o http é assustador. Assim faz sentido que usuários queiram ver o "https" na frente do endereço.

Contra: basicamente o aperto de mão do .onion do Tor lhe dá isso de graça, então, ao encorajar as pessoas a pagarem a Digicert, nós estamos reforçando o modelo de negócios das Autoridades Certificadoras, quando talvez nós devêssemos continuar a demonstrar uma alternativa.

A favor: na verdade, o https lhe dá um pouquinho a mais, no caso quando o serviço (os servidores web do Facebook) não estiver na mesma localização que o programa do Tor. Lembre que não há nenhum requiremento para o servidor web e o processo do Tor estar na mesma máquina, e numa configuração complicada como o Facebook, eles provavelmente não devem estar. Alguém poderia argumentar que esta última milha está dentro da rede corporativa deles, então quem se importa se não é criptografado, mas acho que a simples frase "ssl adicionado e removido aqui" matará esse argumento.

Contra: se um site consegue um certificado, isso reforçará aos usuários que é "necessário", e então os usuários começarão a perguntar porque outros sites não possuem um também. Preocupa-me começar uma tendência onde você precisa pagar para a Digicert para ter um serviço oculto ou seus usuários acharão que está faltando algo - especialmente os serviços ocultos que valorizam seu anonimato poderiam passar por situações difíceis para obter um certificado.

Uma alternativa seria ensinar o Navegador Tor que endereços https .onion não merecem um alerta pop-up assustador. Uma abordagem mais profunda nesse sentido é ter um jeito do serviço oculto gerar seu certificado https auto-assinado usando a chave onion privada, e ensinar o Navegador Tor como verificá-las - basicamente uma Autoridade Certificadora descentralizada para endereços .onion, uma vez que eles estão se auto-autenticando. Assim você não precisa passar pelo absurdo de fingir de ver se eles poderiam ler o email no seu domínio, e, em geral, promovendo o atual modelo de Autoridade Certificadora.

Nós podemos também imaginar um modelo pet name onde o usuário pode falar para o seu Navegador Tor que aquele seu endereço .onion "é" o Facebook. Ou o jeito mais direto seria inserir uma lista de favoritos dos serviços ocultos "conhecidos" no Navegador Tor - como sendo a nossa própria autoridade certificadora, usando o velho modelo /etc/hosts. Mas, essa abordagem levantaria uma questão política de quais sites nós devemos endossar dessa forma.

Então, eu não decidi ainda sobre qual direção que essa discussão deve ir. Eu sou simpático ao "nós ensinamos aos usuários para checarem o https, então não vamos confundí-los", mas eu estou também preocupado com o terreno escorregadio onde conseguir um certificado torna-se um passo requerido para ter um serviço de boa reputação. Se você tem outros argumentos convincentes a favor ou contra, nos informe.

Parte cinco: o que resta fazer?

Em termos de arquitetura e segurança, os serviços ocultos ainda precisam de amor. Nós temos planos para melhorar a arquitetura (veja a proposta 224 do Tor, mas nós não temos financiamento e desenvolvedores o suficiente para fazer isso acontecer. Nós temos conversado com alguns engenheiros do Facebook nessa semana sobre a confiabilidade e a escalabilidade dos serviços ocultos e nós estamos animados que o Facebook está pensando em colocar esforços de desenvolvimento para ajudar a melhorar os serviços ocultos.

E, finalmente, falando de ensinar pessoas sobre os recursos de segurança dos sites .onion, eu me pergunto se "serviços ocultos" não é mais a melhor frase aqui. Originalmente, nós chamávamos de "serviços de localização oculta", o qual, na prática foi rapidamente encolhido para apenas para "serviços ocultos". Mas proteger a localização do serviço é apenas um dos recursos de segurança que se tem. Talvez nós devêssemos fazer um concurso para chegar num novo nome para esses serviços protegidos? Mesmo alguma coisa como "serviços onion" poderia ser melhor se forçar as pessoas a aprenderem o que é.