Get a Pentest and security assessment of your IT network.

Cyber Security

HTTPS URL Tracking from a Single IP

TL;DR

Yes, URLs viewed during HTTPS transactions from a single IP address can be distinguishable, despite encryption. This is primarily due to Server Name Indication (SNI) and other techniques. While the content of the communication is protected, metadata about *where* you’re connecting can often be observed.

Understanding the Problem

HTTPS encrypts the data exchanged between your browser and a website. However, simply establishing an encrypted connection isn’t enough to hide everything. Several factors allow identification of URLs even with HTTPS:

  • Server Name Indication (SNI): This is the biggest issue.
  • IP Address Sharing: Many websites share IP addresses (e.g., through CDNs or shared hosting).
  • Certificate Transparency Logs: Public logs record certificate information.

Solution Guide

  1. Understand Server Name Indication (SNI)
    • SNI is an extension to the TLS protocol that allows a server to present multiple certificates on the same IP address. Your browser tells the server which website you’re trying to reach before encryption begins.
    • Without SNI, a single certificate would be needed for every domain hosted on an IP, which isn’t practical.
    • This means your ISP (and anyone monitoring network traffic) can see the hostname you are connecting to, even if they can’t read the content.
  2. Mitigation 1: Use a VPN
    • A Virtual Private Network (VPN) encrypts all your internet traffic and routes it through a server controlled by the VPN provider.
    • This hides your real IP address, making it appear as if you are browsing from the VPN server’s location.
    • The ISP only sees communication with the VPN server’s IP, not the websites you visit directly.
  3. Mitigation 2: Use a Proxy
    • Similar to a VPN, a proxy acts as an intermediary between your computer and the internet. However, proxies typically don’t encrypt all traffic like a VPN does.
    • HTTP proxies won’t help with HTTPS; you need an HTTPS proxy (sometimes called an SSL proxy).
  4. Mitigation 3: Use DNS over HTTPS (DoH) or DNS over TLS (DoT)
    • Standard DNS queries are unencrypted, revealing the websites you visit. DoH and DoT encrypt these queries.
    • This prevents your ISP from seeing which domains you’re resolving. However it doesn’t hide SNI.
    • DoH Example (Firefox): Go to about:config, search for network.trr.mode and set it to 2 or 3.
  5. Mitigation 4: Encrypted Client Hello (ECH) – Emerging Technology
    • ECH aims to encrypt the SNI field, hiding the hostname from eavesdroppers.
    • It’s still relatively new and not widely supported by all browsers or servers yet. Support is growing in Firefox and Chrome.
  6. Mitigation 5: Tor Browser
    • Tor routes your traffic through a network of relays, providing strong anonymity.
    • It hides both your IP address and the websites you visit.
    • Tor is slower than VPNs or proxies due to the multiple layers of encryption and routing.
  7. Checking SNI Visibility (Example using Wireshark)
    • Install Wireshark: Wireshark Website
    • Start capturing network traffic on your interface.
    • Visit an HTTPS website.
    • Filter for TLS handshake packets (e.g., tls.handshake).
    • Look for the Server Name field in the packet details – this shows the hostname sent via SNI.
Related posts
Cyber Security

Zip Codes & PII: Are They Personal Data?

Cyber Security

Zero-Day Vulnerabilities: User Defence Guide

Cyber Security

Zero Knowledge Voting with Trusted Server

Cyber Security

ZeroNet: 51% Attack Risks & Mitigation