O URL pode ser lido por terceiros ao navegar via HTTPS?

32

Todos sabemos que o HTTPS criptografa a conexão entre o computador e o servidor para que não possa ser visualizado por terceiros. No entanto, o ISP ou um terceiro pode ver o link exato da página que o usuário acessou?

Por exemplo, eu visito

https://www.website.com/data/abc.html

O ISP saberá que acessei * / data / abc.html ou apenas saberá que visitei o IP do site www.website.com?

Se eles sabem, por que a Wikipedia e o Google têm HTTPS quando alguém pode apenas ler os registros da Internet e descobrir o conteúdo exato que o usuário visualizou?

Anônimo
fonte
7
Dica: se você não registrar sua conta, visite este local a partir de vários IPs e não guarde seu cookie, a participação no Superusuário será um pouco ... fragmentada, o que significa que você nem pode aceitar respostas em suas próprias postagens ou adicione comentários. Eu sugiro que você registre uma conta aqui.
slhck

Respostas:

48

Da esquerda para a direita:

O esquema https: é, obviamente, interpretado pelo navegador.

O nome do domínio www.website.com é resolvido para um endereço IP usando DNS. Seu ISP verá a solicitação de DNS para este domínio e a resposta.

O caminho /data/abc.html é enviado na solicitação HTTP. Se você usar HTTPS, ele será criptografado junto com o restante da solicitação e resposta HTTP.

A cadeia de consulta ?this=that , se presente na URL, é enviada na solicitação HTTP - junto com o caminho. Por isso, também é criptografado.

O fragmento #there , se presente, não é enviado a lugar algum - é interpretado pelo navegador (às vezes por JavaScript na página retornada).

gravidade
fonte
3
Você esqueceu que os navegadores modernos que oferecem suporte ao SNI anunciam o nome do host em texto sem formatação, mesmo para solicitações HTTPS.
Monstieur
9
@ Kurian: O que pouco importa, já que o nome do host já é "anunciado" pelo DNS.
grawity
2
@ Kurian: o endereço IP pode ser adquirido por outros meios, mas na prática raramente é. E observar um único protocolo isoladamente, sem considerar como ele é realmente usado, pode perder as partes importantes.
Joachim Sauer
Não sei se o Tor usa o mesmo nó de saída para resolver nomes e estabelecer a conexão HTTPS real ou diferentes. Se ele usa nós separados, ainda é o único local em que o SNI importaria.
grawity
13

O ISP saberá apenas que você visitou o endereço IP associado www.website.com(e talvez o URL se você estiver usando o DNS deles e eles estiverem procurando especificamente o tráfego - se a consulta DNS não for aprovada, eles não verão isso).

(Tenha paciência comigo aqui - eu chego à resposta.)

A maneira como o protocolo HTTP funciona é conectando-se a uma porta (geralmente a porta 80) e, em seguida, o navegador da Web comunica a página que deseja para o servidor - Uma simples solicitação de consulta http://www.sitename.com/url/of/site.htmlteria as seguintes linhas:

GET /url/of/site.html HTTP / 1.1
host: www.sitename.com

O HTTPS faz exatamente a mesma coisa, exceto na porta 443 - e envolve toda a sessão TCP (ou seja, tudo o que você vê no bit citado acima mais a resposta) em uma sessão criptografada SSL - para que o ISP não veja nenhum tráfego ( mas eles podem deduzir algo com base no tamanho do site e na pesquisa de DNS para resolver www.sitename.comum endereço IP na primeira instância).

Obviamente, se houver "bugs da web" incorporados na página, isso poderá fornecer aos "parceiros" dos distribuidores de informações dicas sobre o que você está visualizando e quem você é - da mesma forma, se sua cadeia de confiança for quebrada, um ISP poderá executar um ataque do tipo homem do meio. A razão pela qual você pode ter criptografia de ponta a ponta privada, em teoria, é por causa dos certificados de CA distribuídos com seu navegador. Se um ISP ou governo puder adicionar um certificado de CA ou comprometer uma CA - e ambos aconteceram no passado - você perde sua segurança. Acredito que o Grande Firewall da China efetivamente realiza ataques Man-In-The-Middle para ler dados HTTPS, mas já faz um tempo desde que eu estive lá.

Você pode testar isso com bastante facilidade, adquirindo um software que detectará o tráfego que entra e sai do computador. Acredito que um software gratuito chamado Wireshark fará isso por você.

davidgo
fonte
0

Não sei se vale a pena comentar ou responder, mas gostaria de compartilhar um adendo.

As respostas aqui mostram o que deve acontecer. A pergunta é: o URL pode ser lido? A resposta é sim, embora seja relativamente improvável.

Um invasor (terceiros) pode interceptar absolutamente o tráfego https e ler todas as suas solicitações em casos específicos. Para saber mais, eu o convidei a ler MITM e SSLStrip . Eu posso entrar nisso mais se necessário para entender.

Você não deve esperar que seu ISP faça isso, porque é um desperdício de largura de banda, mas também porque eles têm mais a perder se você descobrir e processar. No entanto, a resposta mais precisa à sua pergunta Isso pode ser feito? é sim, embora seja improvável que alguém se importe o suficiente para ver o que você está pesquisando no Google ou no wiki.

tophersmith116
fonte