[TLS] Remove DH-based 0-RTT

Martin Thomson <martin.thomson@gmail.com> Tue, 23 February 2016 19:03 UTC

Return-Path: <martin.thomson@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 DD2E51A8896 for <tls@ietfa.amsl.com>; Tue, 23 Feb 2016 11:03:55 -0800 (PST)
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 tAHBviqYQF33 for <tls@ietfa.amsl.com>; Tue, 23 Feb 2016 11:03:54 -0800 (PST)
Received: from mail-io0-x233.google.com (mail-io0-x233.google.com [IPv6:2607:f8b0:4001:c06::233]) (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 54E3E1A8897 for <tls@ietf.org>; Tue, 23 Feb 2016 11:03:54 -0800 (PST)
Received: by mail-io0-x233.google.com with SMTP id 9so225509861iom.1 for <tls@ietf.org>; Tue, 23 Feb 2016 11:03:54 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=ExTHFz7NtbKRhjmUW5v2z32+qy/ZJAPi98hKg2WTiwY=; b=oaER2pg0wF2evMowX6YC6psYWL285GEgB2204raA0UFQBk+87TE2HIOJndRjhEvpE2 pPYPof6W9tF1tirAbRmaGTDrOXI2py09uU/iE1+fH/zn7T2EQQlZuGD9aAzJ26rFJAie nGFq4CILMW6VXmE+bjgI0m9k5EXeWfkM/3ekIKECsvaZjgPDnVU5zUzvcd8utMExxXX1 3n6W2JSYxEu+opUkWfTCIFTtTao+rko/R2MBbHL8oD92zkvCical5gKKsZOJOtW72uWP S2+pnyJm+WPiAsXX1zNrvJOtXBvlG3+1zsnCkzbNyhr18NIkB1gC4hvwdQ8CVRk443pY QzwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=ExTHFz7NtbKRhjmUW5v2z32+qy/ZJAPi98hKg2WTiwY=; b=dVq7p6kiiBMIrbSr3hiFpRQIjLPg0nYRZSZYdn5WA6ijxxrU0v9TD40YaVQH4hgNLz niBuSzIhzoxOusKePw6SHERyMecsCL6ntm7f2OZrB52VjKhe6x7FMczxzZwLfejH+R89 dwGOoYNzs7NqqRBfErGDs4PO9BoWQVJ7A+4slrKG0uX+RQD3SR+A+7c085wQprmEGej9 57sdVTJm4FxLF5L6JbpdUucWY2kNdKBJE6JPHsFNfTMNuAlSV0xbOHrqhoSm4sF7RnjE N0vNdmi0UGWk4WXF0dfIdrJCEk0TEzB5xSUy025D41H/7SfMdJ3ODLmEdeldRRRyozKs I1/w==
X-Gm-Message-State: AG10YOSpslH2T8woiYIFDk0UKdNwaMNRskTyU4zeTmh/ot/uNCEJafdukqwA4OuG+T49bReBGYagSyJ2yyMc2A==
MIME-Version: 1.0
X-Received: by 10.107.131.27 with SMTP id f27mr37551112iod.190.1456254233777; Tue, 23 Feb 2016 11:03:53 -0800 (PST)
Received: by 10.36.53.79 with HTTP; Tue, 23 Feb 2016 11:03:53 -0800 (PST)
Date: Tue, 23 Feb 2016 11:03:53 -0800
Message-ID: <CABkgnnUUXQh=aStz4DuPtw5mWaF7aDFozuUwQp_QbJ2EGL0eHg@mail.gmail.com>
From: Martin Thomson <martin.thomson@gmail.com>
To: "tls@ietf.org" <tls@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/6wnZmwNmHUohLfoWd0OcWeOa_8A>
Subject: [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: Tue, 23 Feb 2016 19:03:56 -0000

Now that the other issue is in the bag, let's talk about making some
real savings.

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.

If you - for example - had the offline configuration from
https://unicorn-wg.github.io/tls-offline-config/  then you could
simply state that using the included configuration identifier caused
the session to have a "PSK".  That "PSK" could be a value derived from
a shared secret (g^xs) plus maybe HKDF that took the configuration as
a label input.

Then you get something that follows Hugo's existing analysis.  What
you don't get is in-TLS server configuration, but we've established
that we don't really need that.