L'URL può essere letto da terze parti durante la navigazione tramite HTTPS?


32

Sappiamo tutti che HTTPS crittografa la connessione tra il computer e il server in modo che non possa essere visualizzato da terzi. Tuttavia, l'ISP o una terza parte possono vedere il link esatto della pagina a cui l'utente ha effettuato l'accesso?

Ad esempio, visito

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

L'ISP saprà che ho effettuato l'accesso a * / data / abc.html o saprà semplicemente di aver visitato l'IP di www.website.com?

Se lo sanno, allora perché Wikipedia e Google hanno HTTPS quando qualcuno può semplicemente leggere i registri di Internet e scoprire il contenuto esatto che l'utente ha visualizzato?


7
Suggerimento: se non registri il tuo account, visita questo luogo da vari IP e non conservi i cookie, la partecipazione a Super User sarà un po '... frammentata, il che significa che non puoi nemmeno accettare risposte sui tuoi post o aggiungi commenti. Consiglio vivamente di registrare un account qui.
slhck

Risposte:


48

Da sinistra a destra:

Lo schema https: è, ovviamente, interpretato dal browser.

Il nome di dominio www.website.com viene risolto in un indirizzo IP tramite DNS. Il tuo ISP vedrà la richiesta DNS per questo dominio e la risposta.

Il percorso /data/abc.html viene inviato nella richiesta HTTP. Se si utilizza HTTPS, verrà crittografato insieme al resto della richiesta e risposta HTTP.

La stringa di query ?this=that , se presente nell'URL, viene inviata nella richiesta HTTP, insieme al percorso. Quindi è anche crittografato.

Il frammento #there , se presente, non viene inviato da nessuna parte - viene interpretato dal browser (a volte da JavaScript nella pagina restituita).


3
Hai dimenticato che i browser moderni che supportano SNI annunciano il nome host in testo semplice anche per le richieste HTTPS.
Monstieur,

9
@Kurian: Ciò che conta poco, dal momento che il nome host è già "annunciato" da DNS.
Grawity

2
@Kurian: l'indirizzo IP potrebbe essere acquisito con altri mezzi, ma in pratica lo è raramente. E guardare un singolo protocollo in isolamento senza considerare come viene effettivamente utilizzato è incline a perdere le parti importanti.
Joachim Sauer,

Non so se Tor utilizza lo stesso nodo di uscita per risolvere i nomi e stabilire la connessione HTTPS effettiva o diversi. Se utilizza nodi separati, è comunque l'unico posto dove conta SNI.
gravità

13

L'ISP saprà solo che hai visitato l'indirizzo IP associato www.website.com(e forse l'URL se stai utilizzando il loro DNS e stanno specificatamente cercando il traffico - se la query DNS non passa che non lo vedranno).

(Abbi un po 'di pazienza qui: arrivo alla risposta.)

Il modo in cui funziona il protocollo HTTP è connettendosi a una porta (in genere la porta 80) e quindi il browser Web comunica quale pagina desidera al server - Una semplice richiesta di ricerca http://www.sitename.com/url/of/site.htmlavrebbe le seguenti linee:

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

HTTPS fa esattamente la stessa cosa tranne sulla porta 443 - e avvolge l'intera sessione TCP (ovvero, tutto ciò che vedi nel bit citato sopra più la risposta) in una sessione crittografata SSL - quindi l'ISP non vede alcun traffico ( ma potrebbero essere in grado di dedurre qualcosa in base alla dimensione del sito e alla ricerca DNS per risolvere www.sitename.comun indirizzo IP in prima istanza).

Naturalmente, se nella pagina sono presenti "bug web", ciò può fornire ai "partner" dei distributori di informazioni suggerimenti su ciò che si sta visualizzando e chi si è - allo stesso modo, se la catena di fiducia viene interrotta, un ISP può eseguire un attacco man-in-the-middle. Il motivo per cui è possibile disporre della crittografia privata end-to-end, in teoria, è dovuto ai certificati CA distribuiti con il browser. Se un ISP o un governo possono aggiungere un certificato CA o compromettere una CA - ed entrambi sono accaduti in passato - perdi la tua sicurezza. Credo che The Great Firewall of China esegua effettivamente attacchi Man-In-The-Middle per leggere i dati HTTPS, ma è passato un po 'di tempo da quando ero lì.

Puoi testarlo abbastanza facilmente procurandoti un software che annuserà il traffico in entrata e in uscita dal tuo computer. Credo che un software gratuito chiamato Wireshark farà questo per te.


0

Non sono sicuro se questo sia un commento o una risposta degna, ma mi piacerebbe condividere un addendum.

Le risposte qui mostrano cosa dovrebbe accadere. La domanda è: è possibile leggere l'URL. La risposta è sì, anche se è relativamente improbabile.

Un utente malintenzionato (di terze parti) può assolutamente intercettare il tuo traffico https e leggere tutte le tue richieste in casi specifici. Per saperne di più, ti avevo invitato a leggere MITM e SSLStrip . Posso approfondire questo argomento se necessario per la comprensione.

Non dovresti aspettarti che il tuo ISP lo faccia sia perché è uno spreco della loro larghezza di banda, sia perché hanno più da perdere se dovessi scoprirlo e denunciarlo. Tuttavia, la risposta più precisa alla tua domanda È possibile farlo? è sì, anche se è improbabile che qualcuno si preoccupi abbastanza di vedere che cosa stai cercando su Google o wiki.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.