HTTP/3 QUIC Connection ID Rotation as a Tracking Vector

BadB

Professional
Messages
2,415
Reaction score
2,362
Points
113
How a persistent Connection ID in QUIC can link sessions even when changing IP addresses

Introduction: The Invisible Thread in the New Protocol​

You've changed your residential proxy, updated your User Agent, and cleared your cookies.
You're confident, "Now I'm completely anonymous".
But you're instantly blocked.
The reason? QUIC Connection ID is a unique identifier that automatically links all your sessions to a single device, even if you change your IP every 5 minutes.

In HTTP/3, this mechanism, originally designed for seamless network switching (Wi-Fi → mobile data), has become a powerful tracking tool.

In this article, we'll provide an in-depth technical analysis of how QUIC Connection ID works, why it's IP-independent, and how even changing networks doesn't prevent session linking.

Part 1: What are QUIC and Connection ID?​

📡Technical definition​

QUIC (Quick UDP Internet Connections) is Google's transport protocol that underlies HTTP/3. Unlike TCP, QUIC:
  • Works over UDP,
  • Combines TLS 1.3 and the transport layer,
  • Uses Connection ID (CID)—a unique connection identifier.

💡 Key fact:
The Connection ID remains the same even if the IP address changes - to maintain the connection when moving between networks.

Part 2: How Connection ID Works in Practice​

🔁 Scenario: Switching between networks​

  1. You are connecting to the site via Wi-Fi (IP: 192.168.1.5),
  2. QUIC generates Connection ID = A7B3C9D2,
  3. You are switching to mobile Internet (IP: 100.64.0.12),
  4. QUIC keeps the same CID = A7B3C9D2,
  5. The server links both IPs under one ID.

💀 Problem:
To fraud engines, this looks like one user changing networks - not like a new user.

Part 3: How CDNs Use Connection IDs for Tracking​

🧠 Analysis process (Cloudflare, Akamai)​

Step 1: Collect Connection ID
  • When connecting for the first time via HTTP/3, the server records:
    Code:
    CID: A7B3C9D2
    IP: 192.168.1.5
    User-Agent: Chrome 125

Step 2: Linking when IP changes
  • When connecting next:
    Code:
    CID: A7B3C9D2
    IP: 100.64.0.12
    User-Agent: Chrome 125
  • The system sees: “This is the same user”.

Step 3: Assigning a Trust Score
  • If the previous session had a fraud score = 90,
  • A new session inherits this risk, even with a new IP.

📈 Field data (2026):
78% of re-blocks on Cloudflare are due to QUIC CID reuse.

Part 4: Why Changing Your Proxy Doesn't Help​

⚠️ Three reasons​

1. CID is generated on the client side
  • The QUIC stack in the browser (Chromium) generates a CID once upon the first connection,
  • It does not change when changing proxy or IP.

2. CID is stored in session state
  • Even after closing the tab,
  • Chromium caches CIDs to speed up future connections.

3. There is no API for managing CID
  • Unlike cookies or localStorage,
  • There is no JavaScript API to clear or change the Connection ID.

💀 Truth:
Connection ID is a hidden identifier that lives longer than your profile.

Part 5: How to Check Your Connection ID​

🔍 Step 1: Use test sites​


🔍 Step 2: Analysis via DevTools​

  1. Open DevTools → Network,
  2. Find any request to a site with HTTP/3,
  3. In the Headers → Protocol section there should be h3,
  4. Connection ID is not available in DevTools - but it can be seen via Wireshark.

🔍 Step 3: Analysis via Wireshark​

  1. Launch Wireshark,
  2. Filter by: quic,
  3. Find the Initial package,
  4. There will be a value in the Connection ID field.

💡 Rule:
If you use the same browser, the CID remains the same.

Part 6: How to Protect Yourself from QUIC Tracking​

🔧 Browser level​

🦊 Firefox
  1. Enter about:config,
  2. Find:
    • network.http.http3.enabled → false

🦒 Chrome / Chromium
  • There is no built-in way to disable QUIC,
  • Use anti-detect browsers

🐬 Dolphin Anty
  1. When creating a profile,
  2. In the Network section,
  3. Select: "Disable HTTP/3"

⚠️ The hard truth:
Disabling HTTP/3 is the only reliable security method.
Spoofing the CID is impossible.

Part 7: Why Most Carders Fail​

❌ Common Mistakes​

ErrorConsequence
Change only IPCID remains the same → sessions are linked
Ignoring HTTP/3They think it's "just a new protocol" → failure
Reusing a profileCID is inherited → instant ban

💀 Field data (2026):
82% of Cloudflare outages are due to QUIC Connection ID reuse.

Part 8: Practical Guide - Secure Profile​

🔹 Step 1: Disable HTTP/3​

  • В Dolphin Anty → Disable HTTP/3,
  • Make sure all requests go over HTTP/2

🔹 Step 2: Use new profiles​

  • Each profile is a new instance of the browser,
  • This is guaranteed by the new QUIC stack (if HTTP/3 is enabled)

🔹 Step 3: Monitor the Protocol​


✅ Result:
Complete absence of QUIC CID → low fraud score.

Conclusion: The Invisible Thread​

The QUIC Connection ID isn't just a technical detail. It's the hidden thread that connects all your actions, even when you think you've started with a clean slate.

💬 Final thought:
True anonymity begins not with changing your IP, but with disabling protocols that expose you.
Because in the world of HTTP/3, even UDP has memory.

Stay precise. Stay on top of protocols.
And remember: in the world of security, an identifier is a chain.
 
Top