Re: [TLS] Making post-handshake messages optional in TLS 1.3 (#676)

Ilari Liusvaara <> Sat, 08 October 2016 09:03 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id BA75B1294A0 for <>; Sat, 8 Oct 2016 02:03:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -4.896
X-Spam-Status: No, score=-4.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-2.996] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id ZqmDRjEn9ZbA for <>; Sat, 8 Oct 2016 02:03:05 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 694F6129473 for <>; Sat, 8 Oct 2016 02:03:04 -0700 (PDT)
Received: from localhost (localhost []) by (Postfix) with ESMTP id 9D45D137EE; Sat, 8 Oct 2016 12:03:03 +0300 (EEST)
X-Virus-Scanned: Debian amavisd-new at
Received: from ([IPv6:::ffff:]) by localhost ( [::ffff:]) (amavisd-new, port 10024) with ESMTP id ZJNQtm-xF4qj; Sat, 8 Oct 2016 12:03:03 +0300 (EEST)
Received: from LK-Perkele-V2 ( []) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPSA id 576FA2313; Sat, 8 Oct 2016 12:03:03 +0300 (EEST)
Date: Sat, 08 Oct 2016 12:02:57 +0300
From: Ilari Liusvaara <>
To: Nick Sullivan <>
Message-ID: <>
References: <>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
In-Reply-To: <>
User-Agent: Mutt/1.5.23 (2014-03-12)
Archived-At: <>
Cc: "" <>
Subject: Re: [TLS] Making post-handshake messages optional in TLS 1.3 (#676)
X-Mailman-Version: 2.1.17
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: Sat, 08 Oct 2016 09:03:08 -0000

On Sat, Oct 08, 2016 at 01:03:21AM +0000, Nick Sullivan wrote:
> There has been a lot of discussion lately about post-handshake messages
> that do not contain application data and how to handle them. This PR is an
> attempt to make the story more explicit by adding a new post_handshake
> extension to TLS 1.3.
> Supporting all types of post-handshake messages can require extra
> complexity and logic, even when the features that these messages enable are
> not needed. Some types of connections/implementations don't need to support
> key updates (some unidirectional connections), session tickets (pure PSK
> implementations) and post-handshake client auth (most browsers). These are
> all currently SHOULDs in the spec and they don't need to be.

Post-handshake authentication is the only one of these that is genuinely
annoying. This is because you can't even reject it without a MAC, that
additionally continues the handshake hash.

KeyUpdate is rather simple, and NST can just be ignored (leading to some
waste in bandwidth).

Furthermore, the post-handshake authentication mechanism doesn't look to
be featureful enough for kind of post-handshake auth e.g. HTTP/2 wants,
And there are serious questions about how it should interact with