Re: [TLS] Application-Layer Protocol Settings

David Benjamin <> Mon, 20 July 2020 21:42 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 376C23A0FC8 for <>; Mon, 20 Jul 2020 14:42:34 -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 XoT13bLd33nX for <>; Mon, 20 Jul 2020 14:42:32 -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 96D963A0FC1 for <>; Mon, 20 Jul 2020 14:42:32 -0700 (PDT)
Received: by with SMTP id o13so10968710pgf.0 for <>; Mon, 20 Jul 2020 14:42:32 -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=u+wwtGwgXZx/pFXzPwOV8MhtTSojkr1XPgZD4LFHDVM=; b=fmQiDQJMtGQ3ifiQ8jCL6LW6hfYRgmp8FOezMcTXjFuWe1WD+JE+bdguJgWNg/IdTz mO+7eg804rSdDYZ+r/A7pYLMKekPrw593jLJzOw1M9Ss87en+U3ayxCyVi8HKMlG12xq g/0doYE5mSeiPMfkXvP6n8FG7F7xX63NkflSE=
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=u+wwtGwgXZx/pFXzPwOV8MhtTSojkr1XPgZD4LFHDVM=; b=GIj9rSWCpnN4KOgkAntzfPfbo62aCqtD82zC/934UuJRyOueboqYdbViLFWDjmvzNf znuxtLyGEHhwSv3DfHLbuhHtSl+JYBT3Z4W9MkAUChs9U2JPpmdeYbciQEg1fyQekB9j /TJrSfVFBfnGhgpQi82JXbwNVkwJ+BVCoMGuoE1UNnoSSREscd8DsN1VnFVGzAqOsfb1 Xx8jzgh2xTOmuOunP1j+0lb9Njpsu77nU/M1byu33pyFyEq17NoNrkHT9bj4TqWqd+Ki gHeYlPCAcSQcs2ojDdvxh+mrNeR8gk5k1pIimKV345pLIejRjmjLMXS2ha7E8b0SD1oQ LyJg==
X-Gm-Message-State: AOAM531Q8DFsDgUCaRJ2ddH7KkPCM7/zGRcBCBEu/hfAfJFMNeIvIBBg hV7zZByQLaf7Bx+tm/cV64AqcDYfWLlR7FIAxs4SlpM=
X-Google-Smtp-Source: ABdhPJy9rCHMz1vrvwv6nJdOEHjrvb5K5E2yz1VkbLm+3ptsc+un7lPq1s0Mr0JaT8m65bHz5fxiR8ND1xgLOAL3HTI=
X-Received: by 2002:a62:7c97:: with SMTP id x145mr22282182pfc.80.1595281351919; Mon, 20 Jul 2020 14:42:31 -0700 (PDT)
MIME-Version: 1.0
References: <> <> <> <> <> <> <> <>
In-Reply-To: <>
From: David Benjamin <>
Date: Mon, 20 Jul 2020 17:42:15 -0400
Message-ID: <>
To: Lucas Pardue <>
Cc: Victor Vasiliev <>, "" <>, HTTP Working Group <>
Content-Type: multipart/alternative; boundary="0000000000004cb9c305aae66250"
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 21:42:34 -0000

On Mon, Jul 20, 2020 at 5:00 PM Lucas Pardue <>

> On Mon, 20 Jul 2020, 21:38 David Benjamin, <> wrote:
>> 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.
> That makes sense but I guess I don't see the point in defining a new thing
> that contains frames that are never sent on streams. That is, if these are
> connection settings, just send the payload. Unframed extended settings
> might get you there, if you can find a way to encapsulate conventional
> settings inside them, then all the better.

Could you elaborate on this a bit? I'm probably just failing to parse, but
I'm not sure which alternative you're suggesting here. (Ah, the wonders of