Ao visitar um site via HTTPS (HTTP sobre TLS), o protocolo TLS impede que dados em trânsito sejam lidos ou manipulados por ataques do tipo man in the middle, e um certificado x.509 obtido de uma Autoridade de Certificação (CA) valida que o usuário está realmente se conectando a um servidor que representa o nome de domínio na barra de endereços do navegador.
Os navegadores modernos indicam que uma conexão é insegura se não usar TLS e exigem que uma conexão TLS seja autenticada por um certificado x.509 emitido por uma CA.
Ao visitar um site pelo protocolo Onion Services, o protocolo Tor impede que dados em trânsito sejam lidos ou manipulados por ataques do tipo man in the middle, e o protocolo Onion Service valida se o usuário está conectado ao nome de domínio na barra de endereços do navegador.
Nenhuma autoridade de certificação é necessária para essa prova, porque o nome do serviço é a chave pública real usada para autenticar a conexão subjacente.
Como ".onion" é um nome de domínio de nível superior especial, a maioria das Autoridades de Certificação não tem suporte para emitir certificados X.509 para sites onion.
No momento, os certificados HTTPS são fornecidos apenas por:
- DigiCert com um certificado TLS de Validação Estendida (EV), o que significa um custo considerável para uma organização.
- HARICA com certificados TLS de Validação de Domínio (DV).
Dito isso, há alguns casos específicos em que você precisa ou deseja ter um HTTPS para seu site onion.
Compilamos alguns tópicos e argumentos para que você possa analisar o que é melhor para seu site onion:
Como qualquer pessoa pode gerar um endereço onion e seus 56 caracteres alfanuméricos aleatórios, alguns administradores corporativos acreditam que associar seu site onion a um certificado HTTPS pode ser uma solução para anunciar seu serviço aos usuários.
Os usuários precisariam clicar e fazer uma verificação manual, e isso mostraria que eles estão visitando o site onion que esperavam.
Como alternativa, os sites podem fornecer outras maneiras de verificar seu endereço onion usando HTTPS, por exemplo, vinculando o endereço do site onion a partir de uma página autenticada por HTTPS ou usando Onion-Location.
Outro tópico desta discussão são as expectativas do usuário e os navegadores modernos.
Embora haja muitas críticas sobre HTTPS e o modelo de confiança da CA, a comunidade de segurança da informação ensinou os usuários a procurar HTTPS ao visitar um site como sinônimo de conexão segura e a evitar conexões HTTP.
Os desenvolvedores do Tor e a equipe de UX trabalharam juntos para trazer uma nova experiência de usuário para os usuários do Navegador Tor, então quando um usuário visita um site onion usando HTTP, o Navegador Tor não exibe um aviso ou mensagem de erro.
Um dos riscos de usar um certificado emitido por uma CA é que nomes .onion podem vazar involuntariamente se os proprietários do Onion Service usarem HTTPS devido à Transparência do Certificado.
Há uma proposta aberta para permitir que o Tor Browser verifique certificados HTTPS criados por ele mesmo.
Se essa proposta for implementada, um operador do Onion Service poderá criar sua própria cadeia de certificados HTTPS usando uma chave onion para assiná-la.
O Tor Browser saberia como verificar essa cadeia autocriada.
Isso significa que você não precisa envolver terceiros na produção, então ninguém saberá que sua cebola existe.
Alguns sites têm uma configuração complexa e estão servindo conteúdo HTTP e HTTPS.
Nesse caso, apenas usar o Onion Services sobre HTTP poderia vazar cookies seguros.
Escrevemos sobre expectativas de segurança do navegador Tor e como estamos trabalhando na usabilidade e adoção dos Onion Services.
Existem algumas alternativas que você pode tentar para resolver esse problema:
- Para evitar usar um certificado HTTPS para seu onion, a resposta mais fácil é escrever todo o seu conteúdo de forma que ele use apenas links relativos.
Dessa forma, o conteúdo funcionará perfeitamente, independentemente do nome do site de onde ele está sendo veiculado.
- Outra opção é usar regras do servidor web para reescrever links absolutos instantaneamente.
- Ou use um proxy reverso no meio (mais especificamente Onionspray com um certificado HTTPS).
Relacionado ao ponto anterior, alguns protocolos, estruturas e infraestruturas usam SSL como um requisito técnico; eles não funcionarão se não virem um link "https://".
Nesse caso, seu Onion Service precisará usar um certificado HTTPS para funcionar.
Na verdade, o HTTPS oferece um pouco mais do que o Onion Services.
Por exemplo, no caso em que o servidor web não está no mesmo local que o programa Tor, você precisaria usar um certificado HTTPS para evitar expor tráfego não criptografado à rede entre os dois.
Lembre-se de que não há necessidade de que o servidor web e o processo Tor estejam na mesma máquina.
O que vem a seguir
Recentemente, em 2020, a Autoridade Certificadora/Fórum de Navegadores votou e aprovou os certificados onion versão 3, então as CAs agora têm permissão para emitir certificados de Validação de Domínio (DV) e Validação de Organização (OV) contendo endereços onion Tor.
Em um futuro próximo, esperamos que a CA Let's Encrypt possa começar a emitir certificados onion v3 gratuitamente.
Leia mais