networking:quic
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| networking:quic [2025/08/24 21:47] – created bstafford | networking:quic [2025/08/29 13:16] (current) – bstafford | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== QUIC ====== | ====== QUIC ====== | ||
| + | ===== Against Decrypting ===== | ||
| + | Intersting thoughts from reddit [[https:// | ||
| + | |||
| + | What's your use case for QUIC Decryption? As of today decrypting QUIC only works with Firefox since Google / Chromium opted for not supporting MiTM for QUIC. SPKI Validation can be disabled in Chromium with the ignore-certificate-errors-spki-list flag but to operationalize QUIC Decryption you would need to manage all Chromium Based Browsers on the endpoint... including all the pseudo Web Apps that use headless Chromium (atleast if those instances implement QUIC for whatever reason). | ||
| + | |||
| + | I would not consider it a gap since it's not very feasible to operationalize QUIC Decryption as of today. | ||
| + | |||
| + | |||
| + | ===== Block or Decrypt QUIC ===== | ||
| Interesting thoughts from reddit [[https:// | Interesting thoughts from reddit [[https:// | ||
| + | |||
| + | |||
| + | First, let me talk about QUIC adoption, so you understand the scale of the impact in 2025. | ||
| + | |||
| + | * Server-Side Support: According to [[https:// | ||
| + | * Client-Side Support: According to [[https:// | ||
| + | * Other apps: it's not just the Web that's using QUIC. SMB-over-QUIC is now supported in Windows 11 & Server 2025, as well as multiple Azure services. There' | ||
| + | |||
| + | Considering that the RFCs for QUIC are only 4 years since ratification in 2021, these adoption rates are extremely stunning for a L4 transport protocol, and it's because of the anti-ossification design choices that I'll discuss later (small wire image, stay out of the kernel). Adoption will only accelerate from here. | ||
| + | |||
| + | The performance impacts of blocking QUIC are actually massive. QUIC is the biggest upgrade to the infrastructure of the internet in over 50 years. It's not some niche thing that only Google uses, but is rapidly replacing TCP as the dominant L4 transport protocol of the internet, because QUIC is FAR superior to TCP in SOOO many ways. RFC 675 was the first standard version of TCP published in 1974, so TCP is over 50 years old, and has really been showing its age for some time now. God bless Vint Cerf and Bob Kahn for the revolutionary work they did at the time, but there were so many things they could not have anticipated back then. And because TCP had a fully naked wire image and all implementations were in the kernel, making any changes TCP over these past 50 years has proven incredibly difficult, because you have to get consensus from EVERYONE (Microsoft, Linux Foundation, Apple, the Middlebox vendors, etc.) which has meant that TCP is incredibly ossified. | ||
| + | |||
| + | That was a major insight that Jim Roskind (original creator of QUIC) understood: if you're going to make a transport L4 protocol, you want to reduce ossification as much as possible, so that means making the wire image as small as possible (viz using encryption for even the headers, or as much of the headers as possible) and putting as much of implementation into userland instead of the kernel. The way QUIC does that is that it only uses the kernel for port/socket control (via UDP) but does all connection-oriented functions (reliability, | ||
| + | |||
| + | |||
| + | One of the first limitations of TCP is that there was no inherent encryption built in, so SSL/TLS is a bolt-on that adds an extra round-trip. With TCP+TLS1.3, you've got 3-RTT latency, but QUIC gets this down to 2-RTT latency, because it does the session handshake and the TLS handshake in the same RTT. That's massive for making modern web experiences way more snappy. If you block QUIC with a middlebox, you're actually making the situation even much worse, because most browsers will burn a RTT trying QUIC, and then when that fails, revert back to TCP+TLS, so you now have 4-RTT or even 5-RTT in some situations. If you MUST block QUIC, at least try to also disable QUIC at the browser level using MDM/UEM, so that the clients know to not even try. | ||
| + | |||
| + | The second big limitation of TCP is that it didn't have any explicit and pro-active congestion control, just re-active congestion control where clients flood a link to death until ACK stop coming back, and only then does the client start backing off. This results in the infamous " | ||
| + | |RFC 9000]]. | ||
| + | |||
| + | A third big limitation of TCP that it has no native multiplexing capabilities, | ||
| + | |||
| + | BUT the security impacts of letting QUIC through with no inspection are also massive, because URL Filtering and App-ID become impossible. So it's a real shame that PAN-OS still doesn' | ||
| + | |||
| + | * Fortinet, added 7.2.0, March 2022, supports both cert inspection and full decrypt (7.2.4 changed to QUIC inspection enabled by default) | ||
| + | * Forcepoint, 7.0.1, Feb 2023, supports only cert inspection | ||
| + | * Cisco, 7.6.0, June 2024, supports both cert inspection and full decrypt, but GUI/admin guide label it as " | ||
| + | * Check Point, R82, October 2024, supports both cert and full decrypt, but only HTTP3 (doesn' | ||
| + | |||
| + | It seems like every other major firewall vendors is at least making progress towards QUIC inspection support, and some have very robust QUIC inspection support already. Again, I'm hopeful to see some news about 12.1 Orion adding support for this. Time will tell! | ||
networking/quic.1756072076.txt.gz · Last modified: by bstafford
