Re: [TLS] Application-Layer Protocol Settings

On Mon, Jul 20, 2020 at 3:33 PM Victor Vasiliev <vasilvv=> wrote:

> On Mon, Jul 20, 2020 at 3:10 PM Lucas Pardue <>
> wrote:
>> Hi Victor,
>> It seems my brain skipped over "ALPS in HTTPS" [1] when you mentioned in
>> your original email. I was reading it in the context of David Benjamin's
>> thread on Client Hint Reliability [2]. There's a couple of things that
>> surprised me when reading both drafts:
>> 1. ALPS in HTTPS actually supports more than just exchanging Settings
>> Parameters, it can actually hold a series of frames. It's just that ALPS
>> only defines SETTINGS to be allowed, and Client Hints Reliability wants to
>> add more in the shape of a new ACCEPT_CH frame. I'm not sure I like the
>> idea of supporting any old frame in the TLS handshake, SETTINGS are at
>> least reasoned about in terms of how they are remembered for the purposes
>> of 0-RTT.
> It explicitly bans all existing frames that are not SETTINGS.  The problem
> here is that SETTINGS only supports integral values, so we'd be limited to
> those if we make ALPS just SETTINGS.

Right, concretely there is an "Allowed in ALPS" column added by Victor's
ALPS document, which my document sets for the new frame. Old frames weren't
designed with ALPS in mind, so the ALPS document needs to make a decision.
New frames can reason about the implications of opting into ALPS and do so.

As Victor notes, it's only a new frame because we got SETTINGS values wrong
and, per earlier discussion, the extension point we currently have is new
frames. If we want something even more restrictive, we could instead
revive draft-bishop-httpbis-extended-settings, say only SETTINGS and
EXTENDED_SETTINGS are allowed, and close it there. But I think the new
column works fine and matches how this sort of thing usually works.

> 2. ALPS in HTTPS makes it mandatory to support some settings to disable
>> static and Huffman header compression. That seems pretty onerous. If there
>> was interest in prototyping something like ACCEPT_CH-in-handhsake it
>> requires a modification of a QPACK dependency. On the other hand, if you
>> don't make these settings mandatory, then you won't achieve your objective
>> of removing the mandatory parts of HPACK/QPACK. To me this is a signal that
>> ALPN is a better option to negotiate a profile of H2/H3 that modifies
>> mandatory compression behaviour.
> That's a fair point.  I think I have an idea of how to split those
> settings into a separate draft without resorting to a new ALPN token.
>> Cheers
>> Lucas
>> [1]
>> [2]
>> _______________________________________________
> TLS mailing list

Received on Monday, 20 July 2020 20:39:04 UTC