Re: [TLS] TLS 1.3 - method to request uncached shared secrets

Dave Garrett <> Sat, 18 July 2015 05:36 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 8A3A81A8A47 for <>; Fri, 17 Jul 2015 22:36:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id VGsLx1PFp2La for <>; Fri, 17 Jul 2015 22:36:25 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:400d:c04::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 8197C1A036B for <>; Fri, 17 Jul 2015 22:36:25 -0700 (PDT)
Received: by qgy5 with SMTP id 5so55868105qgy.3 for <>; Fri, 17 Jul 2015 22:36:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=from:to:subject:date:user-agent:cc:references:in-reply-to :mime-version:content-type:content-transfer-encoding:message-id; bh=IH7Tj1eQTRa4wFuifbyY/Ocy3AZQAl1aX07RNXUKN+w=; b=m197gerMbd4zsg+PdNhOZbswG1lRYjX5S6F5T1bM3h6t36Dl6HXFQs6gA9bf3YIAYV jSdWU986LUs7Xtz9m3i2Ljw6REx2RmLKAuBazIdxVthrIjoLJ1A5VahYdG20W0IehNfg rsJTw/MwhPnIjpaKpXt7QMMmY+szrO0taZczmJyLYWGql/MrxRuvR8oSEyn9moCkud0D qcQ43T+Y8Jt5+LtxeK/DeBaNmcabXz9A+d1bYLbbqLgR+2drbEy0/R6Y8mdqFcf6ruhG M31bDnd1fo7MQriFJfcjEaFnRFS8rIxcTvRUWD+T57cAsrdJZFXslILHRZtWMZXiJJOJ 30dQ==
X-Received: by with SMTP id j47mr30726332qgd.18.1437197784823; Fri, 17 Jul 2015 22:36:24 -0700 (PDT)
Received: from dave-laptop.localnet ( []) by with ESMTPSA id w67sm7037648qgw.41.2015. (version=TLSv1 cipher=RC4-SHA bits=128/128); Fri, 17 Jul 2015 22:36:24 -0700 (PDT)
From: Dave Garrett <>
To: Eric Rescorla <>, Brian Smith <>
Date: Sat, 18 Jul 2015 01:36:22 -0400
User-Agent: KMail/1.13.5 (Linux/2.6.32-74-generic-pae; KDE/4.4.5; i686; ; )
References: <> <>
In-Reply-To: <>
MIME-Version: 1.0
Content-Type: Text/Plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <>
Archived-At: <>
Cc: "" <>
Subject: Re: [TLS] TLS 1.3 - method to request uncached shared secrets
X-Mailman-Version: 2.1.15
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, 18 Jul 2015 05:36:27 -0000

On Fri, Jul 17, 2015 at 9:37 PM, Dave Garrett <>
> Brian Smith posted an RFE to GitHub a few months ago requesting "A
> mechanism is needed to indicate that a session will not be resumed":
> I've written up a short proposal with idea about how I'd suggest going
> about this

On Saturday, July 18, 2015 12:50:40 am Eric Rescorla wrote:
> I don't think this is that useful or practical with the current structure
> of TLS 1.3.
> - Because the resumption master secret is cryptographically independent
>  of the master secret that initiated the connection, its existence in the
>  server's database or in a ticket isn't a threat to the originating connection.
> - The server can opt not to allow resumption by declining to provide
>   a NewSessionTicket message.
> -  The client has the option of never initiating a new connection with the
>    provided ticket (assuming that the server opts to supply one). Note
>    also that because the ticket is encrypted with the original traffic keys,
>    if the client never tries to resume the connection, the ticket never
>    appears on the wire (which is relevant for self-encrypted tickets, but
>    not so much for tickets which are database lookup keys).

Ok, it looks like this late night idea isn't really needed anymore for at least this set of use-cases.

On Saturday, July 18, 2015 01:06:33 am Brian Smith wrote:
> This is not really what I was intending when I suggested the feature. I was
> intending for their to be an indication, in the ClientHello, that the
> server should not do any of the work that it would normally do to make the
> session resumable. That is, the server MUST NOT create a session ticket,
> and the server MUST NOT add the connection to any session cache, the server
> SHOULD forget the epheneral (EC)DHE key and master secret ASAP during
> handshaking. (And, so should the client.)

Ah, so just a simple empty extension would suffice for your main concern. I went with a simple alert to satisfy your 3rd point in the RFE along with 1 and 2.

> In the context of web browsers, I believe that the Tor Browser would prefer
> to have this, since it disables session resumption to prevent the leaking
> of the tracking identifier inherent in it. It would also be useful for any
> (non-browser) application for which a 1-RTT handshake per connection is
> good enough, which is probably most applications, especially many
> server-to-server applications.

Ok, then I'll move the other little wording fixes/simplifications in there into my main WIP branch and set this idea aside for the time being. If the ability to easily request an ephemeral TLS session at-will sounds particularly useful to anyone, then we can discuss it further and I could submit a PR.