Re: [TLS] Application-Layer Protocol Settings

David Benjamin <> Mon, 20 July 2020 20:38 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 4696D3A0EAB for <>; Mon, 20 Jul 2020 13:38:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -9.498
X-Spam-Status: No, score=-9.498 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 0FRIT-ISYUqD for <>; Mon, 20 Jul 2020 13:38:51 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:4864:20::52b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id BA3543A0EA7 for <>; Mon, 20 Jul 2020 13:38:51 -0700 (PDT)
Received: by with SMTP id j19so10854912pgm.11 for <>; Mon, 20 Jul 2020 13:38:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=X5+2ARQwyufLKQvrjJ7PfgYRTUTNxwEZF45o7qd7ANI=; b=ifRGIPHhon3AkICIu9h1C25BOOOV6VuogkB104x8fjgP6R8DmW511+t7WwUXKhLRsJ 9MSkWd/xxEn/lsAXVGO/wMEh5q3c7aYwtLjQOS+GcYtfRBVwFySFz0sxusKaFGR2wISG B1LC8hb4L8OrPHbHJCb6aNbK2iti9yylhirzo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=X5+2ARQwyufLKQvrjJ7PfgYRTUTNxwEZF45o7qd7ANI=; b=ec8SOAb1AMLc/6mas/R65S5FSjVPDIsCzfG8AiWSsgR+/e6WMYrOeR4SF3LWNh9flY xFuWozJBYcybC46Hh7dYQInjNzX/8Uxwso2r4w4ONwoSRwLURH5l9vapd7hMypteogPx NIUcYLVtUhL4EXnr5QS2fHhfR7cqwZ7L/F4fB6NjzWTU7Snfe4kCebY9fceTEXfnZhpA scHD3eYPt04ovSaBNlgnCAUhFivCILntul9rG24jGlkbz/Ivi5UOJx/erAFcXlmkkBCk D8bivylr/URwEpqJobLzKiGBHx1b6p67m0MX5jdjHlDn+RFfnu/19Mj7zqeqrjJJe/Yj qmgQ==
X-Gm-Message-State: AOAM532J6kcmIO9RB+ciQblm7V8ScgKI+/G3DdR9QBrJlxkENlq/hSlD X1wxMlRchJUmzvaGh8HM/JsTdJGQ4922rbTm+fASkR0OAA==
X-Google-Smtp-Source: ABdhPJymyhn+iECZwYq2yFw8EtmtxLIJC/IgI7jYE83uYyW447EAFPWIIELFyVM04aHvf+y957LECITrcMmrtV45jhU=
X-Received: by 2002:aa7:8507:: with SMTP id v7mr21071118pfn.218.1595277530970; Mon, 20 Jul 2020 13:38:50 -0700 (PDT)
MIME-Version: 1.0
References: <> <> <> <> <> <>
In-Reply-To: <>
From: David Benjamin <>
Date: Mon, 20 Jul 2020 16:38:34 -0400
Message-ID: <>
To: Victor Vasiliev <>
Cc: Lucas Pardue <>, "" <>, HTTP Working Group <>
Content-Type: multipart/alternative; boundary="0000000000008da9ad05aae57e33"
Archived-At: <>
Subject: Re: [TLS] Application-Layer Protocol Settings
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 20 Jul 2020 20:38:53 -0000

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