- From: Ben Schwartz <bemasc@google.com>
- Date: Tue, 7 Jul 2020 16:37:57 -0400
- To: David Benjamin <davidben@chromium.org>
- Cc: Victor Vasiliev <vasilvv@google.com>, "tls@ietf.org" <TLS@ietf.org>, HTTP Working Group <ietf-http-wg@w3.org>
- Message-ID: <CAHbrMsDpz72VtBhgwcueZ0wK1EOg+Jo57Fupt7vy8b+NOY57Uw@mail.gmail.com>
On Tue, Jul 7, 2020 at 3:14 PM David Benjamin <davidben@chromium.org> wrote: > Any solution here involves a TLS change, even for servers which currently > send half-RTT settings. ... > I think a new ALPN protocol ID ("h2-but-with-settings-from-the-server-asap-for-real") would suffice. It’s also not the case that non-uniform backends must disable 0-RTT. That > is what 0-RTT rejection logic is for. ... > I would be impressed if there is any TLS load balancer architecture that supports 0-RTT rejection by the backend. This would require an interesting new metadata layer, quite different from the usual "decrypt and forward" approach. (Of course, I assume that most load balancers simply won't implement 0-RTT at all.) The simpler that TLS/HTTP interaction, the looser the coupling we can > manage, and checking opaque bytes for equality is the simplest possible > option here. > I'm not sure what equality check you're proposing; I don't see it in the draft. However, I agree with your conclusion: if the TLS server manages the settings-state, it can easily invalidate resumption across a settings change. Ultimately, I think I'm saying something obvious: if the TLS server represents multiple backends without distinction, it can't represent a property that those backends do not share. This is true of ALPN, and would be true of ALPS too. This is fine; the ALPS just has to represent the intersection of backend capabilities. All currently defined HTTP/2 Settings appear to support intersection in a reasonable way, although I'm not sure this is guaranteed in general. However, SETTINGS at 0.5-RTT would not have this problem; heterogeneous backends could each report their own SETTINGS. This is not an unreasonable design choice given the other constraints you've mentioned, but it is a limitation, and potentially a footgun (e.g. if someone forgets to revert the ALPS config change before rolling back the HTTP server config change).
Attachments
- application/pkcs7-signature attachment: S/MIME Cryptographic Signature
Received on Tuesday, 7 July 2020 20:38:22 UTC