VPN e Tor não substituem HTTPS: onde cada camada termina
Um túnel termina no seu próprio par e um circuito Tor termina num relé de saída. Só o HTTPS chega ao site, por isso um formulário simples continua legível.
Uma VPN e um circuito Tor cifram o tráfego durante parte da viagem. Ambos deixam de o cifrar num par que escolhem eles próprios. O HTTPS é a camada que chega ao próprio site, e nenhuma quantidade de tunelamento à frente transforma o envio de um formulário simples num envio protegido. Seguir cada camada até ao ponto onde termina torna isso evidente.
Três camadas, três pontos finais diferentes
Uma VPN convencional termina o seu túnel no servidor VPN. Tudo entre o seu dispositivo e esse servidor está dentro do túnel, e tudo o que vem depois não está. Um circuito Tor comporta-se da mesma forma com outro par, saindo da rede num relé de saída que reencaminha o seu pedido para o destino.
O TLS termina no site. O certificado que validou liga um nome de anfitrião a uma chave controlada pelo site, e as chaves de sessão existem entre o seu navegador e esse servidor. Esse ponto final fica para lá tanto do servidor VPN como da saída Tor.
Assim, as três camadas têm três limites de confiança diferentes, e um pedido passa por todas elas em sequência. Reforçar uma não diz nada sobre as outras, e a última é a única em que o destino participa.
O que o último salto expõe
Se a aplicação usar HTTP simples, o conteúdo para lá da saída é legível por quem opere esse salto. O túnel anterior fez o seu trabalho na perfeição e simplesmente já não está lá. As credenciais escritas num formulário HTTP ficam expostas exatamente no ponto onde a proteção terminou.
| Layer | Terminates at | Who can read the request there |
|---|---|---|
| VPN tunnel | The VPN server you selected | The operator of that server, and anyone who can compel them |
| Tor circuit | An exit relay chosen by the network | The exit relay operator, for traffic that is not otherwise protected |
| HTTPS | The website's own TLS endpoint | The site itself, and no intermediary on the path |
Com HTTPS corretamente validado, um intermediário no caminho não consegue ler nem alterar silenciosamente o conteúdo da aplicação. Continua a ver que se ligou, quando e a que endereço, porque os cabeçalhos dos pacotes têm de ser encaminháveis. A confidencialidade do conteúdo e os metadados sobre a ligação são propriedades diferentes, e só a primeira é o que o TLS oferece.
A identidade da conta é ainda uma terceira coisa. Iniciar sessão numa conta identifica-o perante esse serviço independentemente do endereço de saída que usou, por isso a saída protege o caminho de rede e não a conta. Essa distinção sobrevive a qualquer número de camadas à frente. Mudar de saída nunca muda o que uma sessão iniciada revela. O serviço sabia quem era antes de o primeiro pacote partir.
Nada nesta disposição se quebra ao acrescentar um segundo túnel. O que muda é qual observador vê o primeiro salto, não se o último salto está cifrado.
A ordem muda os observadores, não o ponto final
Encadear uma VPN e Tor é uma forma legítima de mudar quem vê o quê ao nível da rede. Executar Tor sobre uma VPN esconde da sua rede de acesso o facto de usar Tor, enquanto executar uma VPN sobre Tor esconde o seu endereço ao fornecedor de VPN. Ambas as ordens estão descritas em documentação pública e ambas têm compromissos em desempenho e comportamento em caso de falha.
Nenhuma das ordens desloca o ponto final do TLS. Em ambos os casos o navegador continua a validar um certificado para o nome de anfitrião pedido, e em ambos os casos um URL HTTP continua a enviar o conteúdo em claro para lá do último relé. A composição muda a lista de observadores; não muda o número de camadas no destino.
É por isso que os conselhos sobre encadeamento costumam ser sobre modelos de ameaça e não sobre segurança em geral. Uma cadeia mais longa não é uma versão mais forte da mesma coisa, e não substitui o protocolo que a aplicação escolheu.
curl -sSI https://example.net | head -3
openssl s_client -connect example.net:443 -servername example.net -brief
Ambos os comandos mostram a camada que importa no destino. O segundo imprime o protocolo negociado sem envolver qualquer túnel. Nenhum deles lhe diz nada sobre a saída que usou.
Mantenha a validação a funcionar enquanto diagnostica
Um aviso de certificado é informação sobre a ligação que está prestes a fazer. Pode significar um nome de anfitrião que não corresponde, um problema de relógio, uma cadeia não fidedigna ou uma tentativa de interceção. Acrescentar uma exceção permanente porque há uma VPN ligada remove o único sinal que teria distinguido esses casos.
As funcionalidades de ligação segura do Tor Browser e os seus avisos existem pelo mesmo motivo, e desativá-las para que uma página carregue troca uma falha visível por uma invisível. Se um site não for alcançável sem exceção, a conclusão honesta é que a ligação não é verificável, não que o túnel a tornou segura.
A cifra também não diz nada sobre a intenção. Uma ligação HTTPS válida a um site enganador entrega os seus dados a esse site com confidencialidade perfeita. Verifique o endereço e o que submete, não apenas se o cadeado está presente.
Os serviços Onion são um modelo genuinamente diferente. Chega-se a eles pela rede Tor sem uma saída pública comum, o que não é o mesmo que aceder a um site público através do Tor. Trate isso como um caso à parte com as suas próprias expectativas, não como uma versão mais forte da mesma visita.
A regra que sobrevive a qualquer configuração é curta. Mantenha a validação do navegador intacta. Julgue cada camada pelo ponto onde termina de facto.