If you connect to a website using https with a some information in the URL, can an exit node see the URL being connected to?
2 Answers
The Tor-Network works trough Onion Routing which encrypts your Message with your Target Address, so no one can read the original message on the way to the Exit Relay.
But since the Exit Relay is the last node before sending it to the target, it needs to know the target address with the original message. The Exit-Relay works as a "Man-in-the-Middle" forwarding the message to your target, but the clue is that the Exit-Relay doesn't know the Client which sent the orignial message and is just able to send the answere of the Web-Server back to the last Relay it got the message from, encrypted with a temporarily Session Key established with the Client trough the Tor-Circuit.
-
But I'm reading on this answer that when https is used only the host can be seen and not the full URL stackoverflow.com/a/38727920/773263 would this apply to tor exit nodes too? Commented Jan 16, 2019 at 20:50
-
-
-
@steve this would mean exit node cannot see the full url when https is used, rather they can only see the hostname. Commented Jan 17, 2019 at 17:23
-
1@PhilipKirkbride Right, using Tor does not break TLS. An exit node acts as a regular man-in-the-middle (passive or active), so the standard TLS properties apply.– SteveCommented Jan 17, 2019 at 19:04
Upon doing more research I found that Tor exit nodes actually can't see the full URL being requested.
They can see the domain but the actual full path of the URL is encrypted.
This Stackoverflow answer does a great job of explaining it.
In short: FQDN (the domain part of the URL) MAY be transmitted in clear inside the ClientHello packet if SNI extension is used
The rest of the URL (/path/?some=parameters&go=here) has no business being inside ClientHello since the request URL is a HTTP thing (OSI Layer 7), therefore it will never show up in a TLS handshake (Layer 4 or 5). That will come later on in a GET /path/?some=parameters&go=here HTTP/1.1 HTTP request, AFTER the secure TLS channel is established.
EXECUTIVE SUMMARY Domain name MAY be transmitted in clear (if SNI extension is used in the TLS handshake) but URL (path and parameters) is always encrypted.