QUIC will also usher in a new era of volumetric DDoS attacks. No longer can content providers use upstream ACLs to block udp garbage and fragments. The only option will be to use Fastly, AWS, or Cloudflare to ride out attacks. QUIC is the tool to bring about the next phase of Internet centralization by the mega players.
QUIC actually requires that request packets must be larger than the responses, until a handshake has been performed, in order to prevent reflection attacks.
Why We Love QUIC and HTTP/3
101–110 of 116 posts
Re: Why We Love QUIC and HTTP/3
#102QUIC will also usher in a new era of volumetric DDoS attacks. No longer can content providers use upstream ACLs to block udp garbage and fragments. The only option will be to use Fastly, AWS, or Cloudflare to ride out attacks. QUIC is the tool to bring about the next phase of Internet centralization by the mega players.
It's mostly DNS amplification attacks your provider will be filtering out on UDP. They can still filter UDP port 53 to do that.
IPv6 is better since there is no fragmentation. Maybe QUIC/http3 should be IPv6 only?
Re: Why We Love QUIC and HTTP/3
#103As far as I’ve been able to determine, QUIC suffers from the same SNI data leak that existing TLS versions with TCP has. I understand that ESNI is being (or is already?) included in the TLS 1.3 spec, but it’s obviously optional at this point. Anyways, since QUIC is being touted everywhere as being very secure: > [QUIC] protects both the data and the transport protocol itself It seems like missing ESNI as a required f…
The ESNI spec I've seen has clients request DNS TXT record to get the public key for the encryption. My pessimistic assumption is that a majority of clients are configured to use recursive DNS servers that will be unable to serve TXT results because or network issues. In any case, it's hard for a client to determine if a TXT record is not present, or unavailable because the authoritative server has no such record, or…
I think you've probably misunderstood what's going on here
ESNIKeys, the data structure you're talking about, isn't a key for a specific name, it's the key for the frontend server that's agreed to do ESNI and can be used for ALL names offered on that frontend server.
Whatever name you're asking about, you get the same ESNIKeys values, whether you wanted cat-photos.example.org or nazi-death-squad.example.net or boring-corporate.example.com if they are all hosted on 10.20.30.40 (or that's a TLS load balancer for perhaps different backends that don't face the outside world) they all have the same ESNIKeys.
The fact they're shared is why there's a length field. We can only safely protect names by padding them. Otherwise it doesn't take a genius to spot that this-very-long-name.subdomains-matter-too.example.com encrypt to a far larger structure than short.example. The length field says I promise all the names I'm protecting with ESNI will fit in a name structure this long, just pad the shorter ones.
The digest is in the ESNI setup because this way a server can go "Oh, you've got last week's keys somehow. No, those won't work" or equally "Those are my Cloudflare keys! We only use Cloudflare in North America, this is a European server, we do AWS here, why have you got those?". Without a digest you have no clue why this idiot client is sending you gibberish and you can't do diagnostics.
Re: Why We Love QUIC and HTTP/3
#104Earlier quoted context omitted.
It's a bad example because it's badly adopted?
It's a bad example of middle-boxes causing ossification, as the adoption has been more limited by library/framework support than middle-boxes blocking it.
Re: Why We Love QUIC and HTTP/3
#105Earlier quoted context omitted.
I have no idea how one could deploy website with encrypted SNI. A lot of companies and countries block websites. If they can't determine the website, they will block IP addresses and that will cause a lot of other websites to break. It might work for simple websites which don't share IP address with other websites (but why encrypt SNI then), but it won't work for CDNs.
That sounds more like a feature than a bug.
Re: Why We Love QUIC and HTTP/3
#106Earlier quoted context omitted.
This is just normal technological progress. CPU time is cheap and scalable, and the protocol will keep getting more optimized with better software and hardware. Similar issues were brought up with HTTP2 using TLS everywhere and messing with proxies but that's no longer a problem. QUIC/HTTP3 as a protocol is a great improvement to actual internet performance for users which is what really matters.
Picking your comment as the newest instance but this is one of the dumbest memes I see in this thread. Things don't automatically get better. It is hard work, it sucks, and it's not for everyone. It will take years to undo the damage of this transition. We will still be working on it in a decade. There are some very subtle gains like HOL-blocking. I'm not convinced that outweighs current actualized improvements in TC…
What "damage" are you talking about? The only issues are compatibility and increased resource utilization on the server-side, both of which will get better as usage increases. It's not a problem. We go through these cycles all the time with all kinds of technology and there's nothing special here.
Re: Why We Love QUIC and HTTP/3
#107Earlier quoted context omitted.
I haven't found any real implementations to test (I'd like to). But it seems Fortinet is making bold claims that, on the surface, feel like lip service thus far: https://www.fortinet.com/blog/business-and-technology/tls-is... Keep in mind this is just TLS1.3 and they make no claims around IETF QUIC / HTTP/3.
They say > The good news for Fortinet customers is FortiOS 6.2 fully supports TLS 1.3 for effective and high-performance MITM inspection. and in contrast > The latest version of FortiOS 6.0 not only fully supports TLS 1.2 MITM, but it also does not break TLS 1.3 when it has to negotiate down to TLS 1.2. [ The "break TLS 1.3" they're talking about is the phenomenon I described in a cousin post in this thread, several…
Re: Why We Love QUIC and HTTP/3
#108Earlier quoted context omitted.
Picking your comment as the newest instance but this is one of the dumbest memes I see in this thread. Things don't automatically get better. It is hard work, it sucks, and it's not for everyone. It will take years to undo the damage of this transition. We will still be working on it in a decade. There are some very subtle gains like HOL-blocking. I'm not convinced that outweighs current actualized improvements in TC…
Yes, progress obviously takes effort. What part is a "meme"? Leave that nonsense out of HN. What "damage" are you talking about? The only issues are compatibility and increased resource utilization on the server-side, both of which will get better as usage increases. It's not a problem. We go through these cycles all the time with all kinds of technology and there's nothing special here.
Re: Why We Love QUIC and HTTP/3
#109Earlier quoted context omitted.
Yes, progress obviously takes effort. What part is a "meme"? Leave that nonsense out of HN. What "damage" are you talking about? The only issues are compatibility and increased resource utilization on the server-side, both of which will get better as usage increases. It's not a problem. We go through these cycles all the time with all kinds of technology and there's nothing special here.
It's thinking like that which leads to web page bloat. CPU resources aren't free, especially in an environmental capacity.
QUIC is a new protocol is to make user experiences better. There's a tradeoff in more server CPU but that's cheaper, more scalable, and will only be short-term as things quickly improve. The actual comparison would be rendering engines and Javascript runtimes that have become more complicated to build and run but are faster and more functional in return.
Nobody would return back to the 2010 tech days just because some people decided to make fat websites.
Re: Why We Love QUIC and HTTP/3
#110I'm currently working with HTTP/2 (more specifically HAS with HTTP/2 Server Push) and it's just a huge pain to find a high-level library that can help with this. I fear that it'll take even longer for HTTP/3 to be adopted or HTTP/2 might just be skipped altogether. Why are there so many server-side implementations available for a variety of languages though many still lack some features or a client-side implementatio…
I implemented a HTTP/2 library for .NET (https://github.com/Matthias247/http2dotnet). It took quite a lot of time and dedication to get it spec conformant. I doubt that most employers (apart from some CDN) would have allowed me spending the time to get it to that level. And yet it still has lots of potential for improvement.
HTTP/3 might be even harder (I haven't read the spec yet, but the whole UDP assembly and inclusion of encryption sounds more complicated).
Compared to that building a small HTTP/1.1 library or a framework around it is much more approachable and might be also more rewarding.