[TLS] New draft: draft-rescorla-tls13-new-flows-01

Eric Rescorla <ekr@rtfm.com> Wed, 19 February 2014 20:41 UTC

Return-Path: <ekr@rtfm.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 561941A022E for <tls@ietfa.amsl.com>; Wed, 19 Feb 2014 12:41:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.977
X-Spam-Level:
X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] 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 A1D4IZnyGJsq for <tls@ietfa.amsl.com>; Wed, 19 Feb 2014 12:41:22 -0800 (PST)
Received: from mail-ve0-f178.google.com (mail-ve0-f178.google.com [209.85.128.178]) by ietfa.amsl.com (Postfix) with ESMTP id 4C10D1A051C for <tls@ietf.org>; Wed, 19 Feb 2014 12:41:22 -0800 (PST)
Received: by mail-ve0-f178.google.com with SMTP id oy12so967020veb.37 for <tls@ietf.org>; Wed, 19 Feb 2014 12:41:18 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to :content-type; bh=NCniMNG4oDFYtbMM9gzz8FvuGhJuz3qNyawwYRRjS+U=; b=lCCG2ECM57i2gIwm0GN/O7fsQOmClNOnF9oiGyXzUjMqdFqYXcrvXg3J4dkPrWxiOv B6egtupwmboZltH6GKVIMfo5+o3Yhxld3Jw9RUxKCz5XlM31bL/hrnq8gT1Y4ysxIAqk cnGdybAaOHg7VXczMjrwuherlhTuW0A1y9UAjRVmt3c93WcHvEJFJ/GvF1TST6nmZjpD zFP0XKkhJVfzGMsY37A3NVvvE1vxeFj2qsHeirUTQcIYUqEFsjlA3QlNTsbmhAYgNgDm c370zJqJJDROipUxnqN1u7FjWXHShGykqEGF0bJdGr/jvwZGJmbmIshjHLZLxJI/SHtw Ta7g==
X-Gm-Message-State: ALoCoQntVNxLzGxCI+SRJVMU78b/WKGoEStMOnPa0RDhj8jjyBdc3rbq6zRK29yqjbmdIlZRXA1I
X-Received: by 10.221.34.211 with SMTP id st19mr26790227vcb.5.1392842478418; Wed, 19 Feb 2014 12:41:18 -0800 (PST)
MIME-Version: 1.0
Received: by 10.58.198.12 with HTTP; Wed, 19 Feb 2014 12:40:38 -0800 (PST)
X-Originating-IP: [74.95.2.168]
From: Eric Rescorla <ekr@rtfm.com>
Date: Wed, 19 Feb 2014 12:40:38 -0800
Message-ID: <CABcZeBNUjg_Y3MKtRrAMmYAeYFLM1QyHvr1DCbOfA6MB2tJOYQ@mail.gmail.com>
To: "tls@ietf.org" <tls@ietf.org>
Content-Type: multipart/alternative; boundary="001a1136516c2792cf04f2c869ac"
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/ym3sFaFLoiUNmSv9IVVyqOCMvLA
Subject: [TLS] New draft: draft-rescorla-tls13-new-flows-01
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: <http://www.ietf.org/mail-archive/web/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: Wed, 19 Feb 2014 20:41:25 -0000

Folks,

I have prepared a new version of the TLS 1.3 flows document which
should appear in the repository shortly and in the meantime can be
found at:

https://github.com/tlswg/tls13-spec/blob/master/draft-rescorla-tls-1.3.txt

This version fleshes out a "recommended" set of flows:

- 2-RTT where the client has no knowledge of the
  server's capabilities.

- 1-RTT where the client knows the server's semi-permanent
  DHE/ECDHE key pair.

- 0-RTT where the client and the server have shared anti-replay
  state.

There are still a number of open issues, but this should be clear
enough to see the direction I am trying to go. These flows are
structured so that the 1-RTT case is the base case with the 2-RTT and
0-RTT versions being variants of the basic 1-RTT handshake. All
variants encrypt the client extensions that are not required
to define the cryptographic processing (e.g., SNI is encrypted
but curve negotiation is not).

I think the high order bit here is whether we want to have
encrypted SNI, because that dictates the position of the DHE
exchanges with respect to the server's messages.

There are three options here:

- Never
- Sometimes
- Always

The flows in this draft take the position of "Always" which is
simple. "Never" is actually simpler. "Sometimes" is the most
complicated.  There are two cases where we could shave off latency if
we were willing to disclose the SNI to passive attackers (and in cases
where the client and server have never talked before.) My sense of
recent discussion is that people feel it's important to have modes
that protect SNI even if those are not the only modes. However, that
means that if we want to have non-SNI protecting modes, they are
additional complexity. Please let me know if I have misread the WG
here.


Here are some other things to keep in mind as you read the document.

- Per my sense of the list, I have totally removed static RSA.  If
people strongly object to that, please speak up and let me know.

- There has been no real security analysis of this material other than
at the hand-wavy level. We clearly need that, but the first thing we
need is to be clear on whether this is approximately the right set of
points in the complexity/performance/privacy tradeoff space and then
make sure that the security properties are correct. So, if you see
something that looks wrong or even grievously wrong, don't panic (but
do point it out).


- There is no currently defined support for any kind of resumption.
We need to decide if resumption is still an important feature in light
of the trend towards more PFS and faster processors.  I'm particularly
looking for input from the IoT/DICE guys here.

- We will probably need to work out some of the details for DTLS, but
I wanted to get TLS nailed down first.

- We also need to do some work on the symmetric crypto, e.g., to make
encrypt-then-MAC the default, perhaps to deprecate some ciphers,
compression, etc. I haven't forgotten that, but I want to deal with
the handshakes first.

- As before, this incorporates ideas from a lot of different people
(and many times the same idea from different people). If you think
you should acknowledged in the text and/or acknowledgements
differently, please let me know.

Thanks and comments welcome
-Ekr