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

Dave Garrett <davemgarrett@gmail.com> Sat, 18 July 2015 05:36 UTC

Return-Path: <davemgarrett@gmail.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8A3A81A8A47 for <tls@ietfa.amsl.com>; Fri, 17 Jul 2015 22:36:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
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 mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VGsLx1PFp2La for <tls@ietfa.amsl.com>; Fri, 17 Jul 2015 22:36:25 -0700 (PDT)
Received: from mail-qg0-x231.google.com (mail-qg0-x231.google.com [IPv6:2607:f8b0:400d:c04::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8197C1A036B for <tls@ietf.org>; Fri, 17 Jul 2015 22:36:25 -0700 (PDT)
Received: by qgy5 with SMTP id 5so55868105qgy.3 for <tls@ietf.org>; Fri, 17 Jul 2015 22:36:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; 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 10.140.83.178 with SMTP id j47mr30726332qgd.18.1437197784823; Fri, 17 Jul 2015 22:36:24 -0700 (PDT)
Received: from dave-laptop.localnet (pool-96-245-254-195.phlapa.fios.verizon.net. [96.245.254.195]) by smtp.gmail.com with ESMTPSA id w67sm7037648qgw.41.2015.07.17.22.36.24 (version=TLSv1 cipher=RC4-SHA bits=128/128); Fri, 17 Jul 2015 22:36:24 -0700 (PDT)
From: Dave Garrett <davemgarrett@gmail.com>
To: Eric Rescorla <ekr@rtfm.com>, Brian Smith <brian@briansmith.org>
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: <201507180037.56413.davemgarrett@gmail.com> <CABcZeBMv693fqYenRH9ix6zXpxFUtwPEq+wxCc3gKpDUxY97eQ@mail.gmail.com>
In-Reply-To: <CABcZeBMv693fqYenRH9ix6zXpxFUtwPEq+wxCc3gKpDUxY97eQ@mail.gmail.com>
MIME-Version: 1.0
Content-Type: Text/Plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <201507180136.23158.davemgarrett@gmail.com>
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/WedprTcNeW-21kIGyG4PpGKPIcU>
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] TLS 1.3 - method to request uncached shared secrets
X-BeenThere: tls@ietf.org
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." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 18 Jul 2015 05:36:27 -0000

On Fri, Jul 17, 2015 at 9:37 PM, Dave Garrett <davemgarrett@gmail.com>
wrote:
> 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":
> https://github.com/tlswg/tls13-spec/issues/137
[...]
> 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.


Thanks,
Dave