QUIC permissiveness
QUIC permissiveness
Posted Nov 28, 2023 11:07 UTC (Tue) by DemiMarie (subscriber, #164188)In reply to: OpenSSL 3.2.0 released by paulj
Parent article: OpenSSL 3.2.0 released
Posted Nov 28, 2023 11:36 UTC (Tue)
by paulj (subscriber, #341)
[Link] (11 responses)
The point of all this complexity is to try prevent middle-boxes correlating paths to connections, to try enhance privacy. Which is something it can not at all guarantee or do well. If you have this level of privacy requirements, you need Tor - not this network-visible-CID rotating stuff in QUIC, which is giving you only minimal privacy guarantees, at best.
Posted Nov 28, 2023 11:52 UTC (Tue)
by farnz (subscriber, #17727)
[Link] (10 responses)
I was under the impression that the goal is not to enhance privacy specifically; rather, it's to prevent the situation we see in TCP, where cheap middle-boxes drop or modify packets that don't conform to their idea of what TCP "should" look like, making things like MPTCP a pain to design and deploy. This has effects like middle-boxes changing parts of the packet to get specific congestion control behaviour out of TCP on the assumption that a specific algorithm is in use, making it hard to change the algorithm.
Thus, it doesn't need to be a privacy guarantee - it just needs to be work that the end-points can do, but that middle-boxes will struggle to do, so that middle-boxes don't interfere with QUIC expecting certain behaviours from it.
Posted Nov 28, 2023 12:58 UTC (Tue)
by paulj (subscriber, #341)
[Link] (9 responses)
The CID is there to give a packet demux ID independent of the 4-tuple - so a connection can survive a NAT change. "Ah, but that means a middle-box could know that different end-points were in fact the same!" - so the CID rotation stuff is added. Except an observer in the middle will get to see the old CID on the changed 4-tuple anyway - before the end-points see. Rotating CIDs there after doesn't give any great privacy benefit.
There isn't any need to change it in QUIC now that it's there, but I also think it was... slightly over complicated for minimal benefit.
Posted Nov 28, 2023 19:40 UTC (Tue)
by riking (guest, #95706)
[Link] (3 responses)
Posted Nov 29, 2023 13:58 UTC (Wed)
by paulj (subscriber, #341)
[Link] (2 responses)
I'm in 2 minds about the loss of insight into performance of transport flows with QUIC. With TCP you can capture and make nice sequence graphs showing exactly what's going on from a network POV. With QUIC, that is lost - unless you have the private key. Which a network operator will not have, and which even the application owner generally will not retrospectively have. It's a real shame to lose that insight. On the other hand, it's nice to make the transport opaque.
Does QUIC have the balance right? I don't know.
Posted Nov 29, 2023 14:32 UTC (Wed)
by farnz (subscriber, #17727)
[Link] (1 responses)
The network operators have demonstrated that if they have the private key, they will misuse it (as they have misused the ability to tamper with TCP traffic beyond port numbers changing in a NAPT). It's just a shame that applications don't make it easy to record the private keys for retrospective analysis by the owner of an endpoint.
Posted Nov 29, 2023 15:02 UTC (Wed)
by paulj (subscriber, #341)
[Link]
Might it be better to give the network a bit more and higher-quality information about the congestion-related state of the flow, so network operators could debug problems?... maybe.
Posted Nov 29, 2023 15:15 UTC (Wed)
by wtarreau (subscriber, #51152)
[Link] (4 responses)
Posted Nov 29, 2023 16:13 UTC (Wed)
by paulj (subscriber, #341)
[Link] (3 responses)
No real need to have all this machinery to send messages to update and retire CIDs.
Posted Nov 29, 2023 16:51 UTC (Wed)
by wtarreau (subscriber, #51152)
[Link] (2 responses)
Posted Nov 29, 2023 16:59 UTC (Wed)
by paulj (subscriber, #341)
[Link] (1 responses)
My real gripe though is that QUIC /also/ requires to support no-CID, 4-tuple. So 2 distinct ways required to demux the incoming packet and match up to and validate to the connection state (and /both/ ways require 4-tuple lookup and validation, just differently). Just... annoying.
Posted Nov 29, 2023 17:06 UTC (Wed)
by paulj (subscriber, #341)
[Link]
Really annoying.
QUIC permissiveness
QUIC permissiveness
QUIC permissiveness
QUIC permissiveness
QUIC permissiveness
QUIC permissiveness
QUIC permissiveness
QUIC permissiveness
QUIC permissiveness
QUIC permissiveness
QUIC permissiveness
QUIC permissiveness