Re: [TLS] On Curve25519 and other possibilities (e.g. ietf256p, ietf384p, ietf521p,

"Blumenthal, Uri - 0558 - MITLL" <uri@ll.mit.edu> Thu, 26 June 2014 22:20 UTC

Return-Path: <prvs=1254255c0e=uri@ll.mit.edu>
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 EEB051B2FC1 for <tls@ietfa.amsl.com>; Thu, 26 Jun 2014 15:20:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.849
X-Spam-Level:
X-Spam-Status: No, score=-4.849 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.651, UNPARSEABLE_RELAY=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 et_V6WEyYNfP for <tls@ietfa.amsl.com>; Thu, 26 Jun 2014 15:20:29 -0700 (PDT)
Received: from mx2.ll.mit.edu (MX2.LL.MIT.EDU [129.55.12.46]) by ietfa.amsl.com (Postfix) with ESMTP id A7D211B2F0A for <tls@ietf.org>; Thu, 26 Jun 2014 15:20:29 -0700 (PDT)
Received: from LLE2K10-HUB01.mitll.ad.local (LLE2K10-HUB01.mitll.ad.local) by mx2.ll.mit.edu (unknown) with ESMTP id s5QMKRkb015440; Thu, 26 Jun 2014 18:20:28 -0400
From: "Blumenthal, Uri - 0558 - MITLL" <uri@ll.mit.edu>
To: "'ekr@rtfm.com'" <ekr@rtfm.com>, "'msj@nthpermutation.com'" <msj@nthpermutation.com>
Thread-Topic: [TLS] On Curve25519 and other possibilities (e.g. ietf256p, ietf384p, ietf521p,
Thread-Index: AQHPkYzVe6FkOdg2hkqxkkG+QCkPAQ==
Date: Thu, 26 Jun 2014 22:20:27 +0000
Message-ID: <65D2FD736B6B2B48B2EAD2BD189DC9CC16A9F7@LLE2K10-MBX01.mitll.ad.local>
In-Reply-To: <CABcZeBN5uY4bteXW=OFC1z3ANoSC8AqxG6E6artdOKPF=VxdJg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [155.34.14.22]
Content-Type: multipart/alternative; boundary="_000_65D2FD736B6B2B48B2EAD2BD189DC9CC16A9F7LLE2K10MBX01mitll_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.12.52, 1.0.14, 0.0.0000 definitions=2014-06-26_07:2014-06-26,2014-06-26,1970-01-01 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1402240000 definitions=main-1406260238
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/xTCmBXgyq33G5IsNeME4sFDx29s
Cc: "'tls@ietf.org'" <tls@ietf.org>
Subject: Re: [TLS] On Curve25519 and other possibilities (e.g. ietf256p, ietf384p, ietf521p,
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: Thu, 26 Jun 2014 22:20:41 -0000

IMHO verifiably random generation of curves is desirable.

--
Regards,
Uri Blumenthal Voice: (781) 981-1638
Cyber Systems and Technology Fax: (781) 981-0186
MIT Lincoln Laboratory Cell: (339) 223-5363
244 Wood Street Email: <uri@ll.mit.edu>
Lexington, MA 02420-9185

Web: http://www.ll.mit.edu/CST/



MIT LL Root CA:

<https://www.ll.mit.edu/labcertificateauthority.html>


DSN: 478-5980 ask Lincoln ext.1638

From: Eric Rescorla [mailto:ekr@rtfm.com]
Sent: Thursday, June 26, 2014 06:10 PM
To: Michael StJohns <msj@nthpermutation.com>
Cc: tls@ietf.org <tls@ietf.org>
Subject: Re: [TLS] On Curve25519 and other possibilities (e.g. ietf256p, ietf384p, ietf521p,




On Thu, Jun 26, 2014 at 2:59 PM, Michael StJohns <msj@nthpermutation.com<mailto:msj@nthpermutation.com>> wrote:
There's been a small but vocal minority agitating for the adoption of Curve25519 for use in TLS (and other IETF protocols).  As the discussion has gone on, what I haven't seen is compelling evidence that this technology has been vetted sufficiently that it would meet the "Best Commercial Practices" threshold for safe harbor status for encryption.  It may eventually get there, but for at least the next few (5-10??) years, I would expect businesses to avoid the use in privacy sensitive, or financially sensitive operations.

There are also possible IPR issues, definite infrastructure issues (e.g. no off the shelf, commercial hardware or software AFAIK), documentation issues (not the base curve, but how to incorporate curve data into certificates and other protocol messages, and the fact it's key agreement only (vs the current EC curves which can be used for both signature and agreement).  A long list of items that probably, but not definitely, can be resolved.

AFACT, one of the main reasons for looking at Curve25519 (possibly more important than performance or security) is that there is a fear that the US Government has placed trapdoors in the current set of curves (NIST P256, P384, P521 etc).   The argument against the "provably random" creation claim with respect to those curves appears to be that many "seed" values could have been generated to generate curve parameters and those curves tested to find "weak" curves of a particular flavor and the seeds for weak curves retained.  In other words, we don't know how the seed values were generated and it could be nefarious.  I haven't as yet found any argument against the generation process, nor specifically against the elliptic curve math.

Given that the EC math in FIPS186, X9.62, X9.63, SP800-56A, SEC1, and the various ISO documents is pretty much identical, instead of throwing away all that implementation and standardization, how about we just generate new curves:

[Snip]
I'm cutting here because I would like to encourage WG members to
focus on the general merits of this suggestion (or lack thereof, depending
on your perspective) rather than on the specific details of the procedure
Mike has proposed. I think it's clear that we could develop a procedure
for producing verifiably random seeds, but let's try to figure out first
whether that's a good idea before we worry about how to do it.

Also, this seems like a bigger topic than TLS. Perhaps the
AD should sponsor a discussion in SAAG?

-Ekr