Re: [TLS] Remove DH-based 0-RTT

Eric Rescorla <ekr@rtfm.com> Wed, 24 February 2016 07:43 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 1E6D61B4691 for <tls@ietfa.amsl.com>; Tue, 23 Feb 2016 23:43:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.277
X-Spam-Level:
X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001] autolearn=no
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 mvM24oANxUgn for <tls@ietfa.amsl.com>; Tue, 23 Feb 2016 23:43:01 -0800 (PST)
Received: from mail-yk0-x232.google.com (mail-yk0-x232.google.com [IPv6:2607:f8b0:4002:c07::232]) (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 EAF091B4726 for <tls@ietf.org>; Tue, 23 Feb 2016 23:43:00 -0800 (PST)
Received: by mail-yk0-x232.google.com with SMTP id z13so4565081ykd.0 for <tls@ietf.org>; Tue, 23 Feb 2016 23:43:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=0VuQpjSg48QdluQdSSyizPJ8PkEqwwuGZAZZavcXuWY=; b=Nr05oz9JbxbAKarGkHmuYYic2tMVTN1v1ZBHdZAI9jNhGjLNdUKT0yqiETVHX+1e93 tIR4aYVQc22fAj/Um8zURmtwxIM6qBGSHx3X+4MsKChtTxHPzxR2NOyclMRNaQZNGT7W YSpiNltX1Z1wZm7re2x6jmJ0hVhz63/ZrBEGjuTGMsU/lCNmtYfLBnOZCb32oEqWusHZ zIWqab5c3rUgAlUP9U309bOMEmpracQTPOVH2Cuzb+qZllSwXIYenWWSlFatBgjgMHRr /v6oSwp+DnuGizZ3XwApLO7nNfNZqoW986GNUdxlihPt7DgfsNVgtbQieN0beXnSS20V S6RA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=0VuQpjSg48QdluQdSSyizPJ8PkEqwwuGZAZZavcXuWY=; b=cGdQ3/BeJn0I4IHRrdQAZMt3+XhSVcZIUhKA92w8S5J88RXhMoXp7AfMF/1Xk1IICp MCEOnonxxiSkhCQjV8FmJgVYZ9pCsEZ5ppgElARygCRyEjDdrGP6uz5lUFrOWllgl/+v z9h8P0UF+g4wm+DnnNFwV7zXADSvfFKAGLe7VOX3TQGZrPWniiqH8cLuadLFsYY5BCzQ ncUNmUAlhNwiK+MuaiW07vfGnFMSrEqIIWNdvUKxN5uEY3dcy7PzI9zWn82mgccdh0xb K5g8rfIsGlThO7tKynmXXFQpgeu1N6I6m7uzeon4tlTw4bTTQ8qeivfU7jKmQc0pPSnt 20Uw==
X-Gm-Message-State: AG10YOQzyEbMSZQPItdCLhCrEnk7VdBAe8gJ0GXfI0KavlE+NQBwEUkaaTBRBz+luPVgT4nh0yNOEurAlBCxOQ==
X-Received: by 10.37.230.210 with SMTP id d201mr1942939ybh.74.1456299780258; Tue, 23 Feb 2016 23:43:00 -0800 (PST)
MIME-Version: 1.0
Received: by 10.13.249.5 with HTTP; Tue, 23 Feb 2016 23:42:20 -0800 (PST)
In-Reply-To: <CACsn0cnoCNLPY3ic9Z72ZgUuvCwTyxzzGXU5W8LeZ4zBEwpHVw@mail.gmail.com>
References: <CABkgnnUUXQh=aStz4DuPtw5mWaF7aDFozuUwQp_QbJ2EGL0eHg@mail.gmail.com> <201602232057.18505.davemgarrett@gmail.com> <CADi0yUP-TAFPWgzG4voFTfUcbrPXcffC5rTTsbsOs+=TQ7jYmw@mail.gmail.com> <CACsn0cnoCNLPY3ic9Z72ZgUuvCwTyxzzGXU5W8LeZ4zBEwpHVw@mail.gmail.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Wed, 24 Feb 2016 15:42:20 +0800
Message-ID: <CABcZeBNCgfdsBioP8_9E2Jrh0WDLHjW0QS+x=99LqdYnYwsbuw@mail.gmail.com>
To: Watson Ladd <watsonbladd@gmail.com>
Content-Type: multipart/alternative; boundary="94eb2c0a8b5416f4a6052c7f37c7"
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/JjbDt8GlCB9Pub8OrWQWF_zhuCs>
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] Remove DH-based 0-RTT
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: Wed, 24 Feb 2016 07:43:03 -0000

On Wed, Feb 24, 2016 at 3:11 PM, Watson Ladd <watsonbladd@gmail.com> wrote:

> On Tue, Feb 23, 2016 at 7:39 PM, Hugo Krawczyk <hugo@ee.technion.ac.il>
> wrote:
> >
> >
> > On Tue, Feb 23, 2016 at 8:57 PM, Dave Garrett <davemgarrett@gmail.com>
> > wrote:
> >>
> >> On Tuesday, February 23, 2016 02:03:53 pm Martin Thomson wrote:
> >> > I propose that we remove DH-based 0-RTT from TLS 1.3.
> >> >
> >> > As ekr's previous mail noted, the security properties of PSK-based
> >> > 0-RTT and DH-based 0-RTT are almost identical.  And DH-based 0-RTT is
> >> > much more complex.
> >> >
> >> > For those who love DH-based 0-RTT, and I know that some people are
> >> > fans, here's something that might make you less sad about removing it
> >> > from the core spec.  You can use DH out of band to negotiate a PSK.
> >> > You might even do this as an extension to TLS, but that's of less
> >> > value.
> >>
> >> I think there is a good argument for moving DH 0RTT into a TLS
> extension.
> >> Implementations that are explicitly not going to use it should not be
> >> expected to implement it and risk screwing it up. If we accept that
> premise
> >> that online DH 0RTT will be unlikely in practice, then we would be
> >> specifying it at least primarily for out-of-band use, and doing it via
> an
> >> extension will probably be cleaner and safer.
> >
> >
> > Combining this comment (which I agree with) with the following comment
> from
> > Watson in another thread:
> >
> >>
> >  If they rely on extensions then either those
> >>
> > extensions need to be included in the security proofs, or we need to
> >>
> > make clear that they are not as secure as TLS 1.3, and that
> >>
> > implementations which enable both of them can get completely wrecked
> >>in new and exciting ways.
> >
> > We get that even if it is decided not to include the DH-based 0-RTT as
> part
> > of mandatory-to-implement TLS 1.3, it should be defined as an extension
> and
> > as part of the TLS 1.3 document. Leaving the reduction from this case to
> PSK
> > (as Martin suggested) to popular imagination is too dangerous. By
> including
> > it as part of TLS 1.3 official text we also encourage the groups that are
> > currently analyzing the protocol to include this specific mechanism in
> their
> > analysis. If they find something wrong with it then even more reason to
> do
> > the analysis.
> >
> >
> >>
> >> I would still prefer it be defined in the TLS 1.3 specification
> document,
> >> though optional.
> >
> >
> > I suggest to also define TLS 1.3-EZ.
> > A subset of core safe functionality that should address the majority of
> the
> > usage cases.
>
> I strongly encourage this proposal, and will even massacre the
> markdown to attempt it.


Great. Let's sync up as we get a little closer to done.


I also commit to implementing TLS 1.3-EZ in
> Go, and possibly in C based on Amazon's s2n. (A trustable X509 library
> in C is still beyond my reach, so that C might be server-only).
>

I believe Richard Barnes has already started something along these lines,
so maybe you guys could join forces (not sure how confident he is in
it).

https://github.com/bifurcation/mint

This library currently interoperates with my experimental implementation
in NSS.

-Ekr


> >
> > Hugo
> >
> >
> >>
> >>
> >>
> >> Dave
> >>
> >> _______________________________________________
> >> TLS mailing list
> >> TLS@ietf.org
> >> https://www.ietf.org/mailman/listinfo/tls
> >
> >
> >
> > _______________________________________________
> > TLS mailing list
> > TLS@ietf.org
> > https://www.ietf.org/mailman/listinfo/tls
> >
>
>
>
> --
> "Man is born free, but everywhere he is in chains".
> --Rousseau.
>
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls
>