Re: [TLS] TLS 1.2 Long-term Support Profile draft posted

"D. J. Bernstein" <djb@cr.yp.to> Sun, 20 March 2016 14:38 UTC

Return-Path: <djb-dsn2-1406711340.7506@cr.yp.to>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DAE4D12D6C5 for <tls@ietfa.amsl.com>; Sun, 20 Mar 2016 07:38:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.298
X-Spam-Level:
X-Spam-Status: No, score=-2.298 tagged_above=-999 required=5 tests=[LOTS_OF_MONEY=0.001, RCVD_IN_DNSWL_MED=-2.3, UNPARSEABLE_RELAY=0.001] autolearn=ham autolearn_force=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 1VpMWk1cwQjh for <tls@ietfa.amsl.com>; Sun, 20 Mar 2016 07:38:23 -0700 (PDT)
Received: from calvin.win.tue.nl (calvin.win.tue.nl [131.155.70.11]) by ietfa.amsl.com (Postfix) with SMTP id 8B1E2127058 for <tls@ietf.org>; Sun, 20 Mar 2016 07:38:21 -0700 (PDT)
Received: (qmail 516 invoked by uid 1017); 20 Mar 2016 14:38:46 -0000
Received: from unknown (unknown) by unknown with QMTP; 20 Mar 2016 14:38:46 -0000
Received: (qmail 20818 invoked by uid 1000); 20 Mar 2016 14:33:55 -0000
Date: 20 Mar 2016 14:33:55 -0000
Message-ID: <20160320143355.20816.qmail@cr.yp.to>
From: "D. J. Bernstein" <djb@cr.yp.to>
To: tls@ietf.org
Mail-Followup-To: tls@ietf.org
In-Reply-To: <9A043F3CF02CD34C8E74AC1594475C73F4C25E6A@uxcn10-tdc05.UoA.auckland.ac.nz>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/1pX3yTsfbA2ypdyO26DjMABuJpI>
X-Mailman-Approved-At: Sun, 20 Mar 2016 18:11:31 -0700
Subject: Re: [TLS] TLS 1.2 Long-term Support Profile draft posted
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.17
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: Sun, 20 Mar 2016 14:38:26 -0000

Peter Gutmann writes:
> compressed points are patented

Which patent are you referring to?

US 6141420, I suppose. Let's ignore the question of what's in the prior
art (1992 Harper--Menezes--Vanstone) and what's actually claimed in the
patent. Are you aware that this patent expired in July 2014?

> Everything uses uncompressed points at the moment without any problems

The same way that everyone uses C and C++ without any problems?

https://www.nds.rub.de/research/publications/ESORICS15/ completely broke
two implementations of uncompressed (x,y) ECDH in TLS. The problem, of
course, is that the implementors forgot to check that the input (x,y)
was on the curve.

OpenSSL _does_ try to check, but it seems that this check is sometimes
affected by recently announced bugs in OpenSSL's carry handling. The
impact isn't clear---analyzing this sort of thing is very difficult.
Using compressed (x,y) significantly reduces the amount of rarely tested
checking code for the implementor to screw up.

More importantly, there's a third option (introduced in Miller's
original ECC paper), namely using just x-coordinates. Section 4.1 of
https://cr.yp.to/papers.html#nistecc explains how X25519 uses this third
option to proactively and robustly avoid this type of attack.

---Dan