Re: [TLS] Application-Layer Protocol Settings

Victor Vasiliev <> Mon, 20 July 2020 19:33 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id E3B053A0E4B for <>; Mon, 20 Jul 2020 12:33:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -17.599
X-Spam-Status: No, score=-17.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id l22WBVoRi7iH for <>; Mon, 20 Jul 2020 12:33:35 -0700 (PDT)
Received: from ( [IPv6:2a00:1450:4864:20::12a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id D4CFD3A0E49 for <>; Mon, 20 Jul 2020 12:33:34 -0700 (PDT)
Received: by with SMTP id k13so1390028lfo.0 for <>; Mon, 20 Jul 2020 12:33:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=b71hp2jkn2jo28HMWPKufvjTP9PwD+9zkzsQxvLKGes=; b=qmTXC+KcMs5UJ+2M6CzrHQ+/DpYyKFZYQjASR1cG/5vQUlejJof32PhUZBVfKwcn/N ks84YCWAvlGjXwqLrZB06/V+fb1hgh1n/Oux42VrA8vawWM2q8cTHX5PPFMszcIEmS/p biKciPS55igVDKGT+uKu6Ncwz6xxL0icgqsHdybaxMihhXzcRA2agxY5wjjRJFxfL/Au AWN+rlipI4XLyD6O72UKPmjSOsD0LwJ8fHOUmlx5MMBb/NmsdNL7iMygh3n+Vix3xLfe PZikyrASdgsfdNjbfToSJPRNdPLdXPcdhMTkCGGf7SkuEz6h2jgJummxbqCULMfZmXkm 6NQw==
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=b71hp2jkn2jo28HMWPKufvjTP9PwD+9zkzsQxvLKGes=; b=E0zLod8lYqLYNU+pRdzEg3DTdQtlz6jmxKIjstf7R7PowTw8NEuB98MLQbXmHUuxeS JEp3hegNcZ8el6Zhq3kYJ8X+fsZeoGz1TCBiEX0oApr5Jj0ZKrS5aKe2HKZ8OPBtV5cB Tl4DN2NOG/VUBN+1E5yLfl0Ueutvx6iMUnfdx55A7sLnmFxMaBI/VcvVToWETtcbTGSh UFx9ShUcGZvs8nl6bEV1kLxAbRHEseVt2DnfHhdhk3bu51DKBey5EBMk7XXtY33v1HDH dXW3JSfoSQrrBkb8XWv9luKweDKUwifc+R1wwUnCsbXaQzdp6v22/SPKaRCW9niq1W70 4ShA==
X-Gm-Message-State: AOAM530VaWhPZ1zw18/mTVC8tIsqrtMqGebsSxLEJzcDvwYFV8hHIX84 R0Es5lsK2cOOWjtQyMQty4/WWy8PmC44qbkSSRcx0g==
X-Google-Smtp-Source: ABdhPJxPgl0Zbq9hbHJN1x1Q4mAFgKRfQ23QKmlqVYWw7qrVy8eqOlCWP92+KfEuXhNmOVCchNNz7B00rsZezyUL2UQ=
X-Received: by 2002:ac2:5338:: with SMTP id f24mr1185249lfh.5.1595273612577; Mon, 20 Jul 2020 12:33:32 -0700 (PDT)
MIME-Version: 1.0
References: <> <> <> <> <>
In-Reply-To: <>
From: Victor Vasiliev <>
Date: Mon, 20 Jul 2020 15:33:21 -0400
Message-ID: <>
To: Lucas Pardue <>
Cc: "" <>, HTTP Working Group <>
Content-Type: multipart/alternative; boundary="000000000000000e5705aae495e9"
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 19:33:37 -0000

On Mon, Jul 20, 2020 at 3:10 PM Lucas Pardue <>

> 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.

> 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]