Re: [TLS] Point validation in 1.3

Ilari Liusvaara <ilariliusvaara@welho.com> Tue, 15 November 2016 15:36 UTC

Return-Path: <ilariliusvaara@welho.com>
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 EFAD11294EB for <tls@ietfa.amsl.com>; Tue, 15 Nov 2016 07:36:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.397
X-Spam-Level:
X-Spam-Status: No, score=-3.397 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-1.497] 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 C9eYxXdq8Y7d for <tls@ietfa.amsl.com>; Tue, 15 Nov 2016 07:36:01 -0800 (PST)
Received: from welho-filter3.welho.com (welho-filter3.welho.com [83.102.41.25]) by ietfa.amsl.com (Postfix) with ESMTP id 4D8EB1294C9 for <tls@ietf.org>; Tue, 15 Nov 2016 07:36:00 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by welho-filter3.welho.com (Postfix) with ESMTP id BF9FE12BD5; Tue, 15 Nov 2016 17:35:59 +0200 (EET)
X-Virus-Scanned: Debian amavisd-new at pp.htv.fi
Received: from welho-smtp1.welho.com ([IPv6:::ffff:83.102.41.84]) by localhost (welho-filter3.welho.com [::ffff:83.102.41.25]) (amavisd-new, port 10024) with ESMTP id ROY-Q_mI3_-q; Tue, 15 Nov 2016 17:35:59 +0200 (EET)
Received: from LK-Perkele-V2 (87-92-51-204.bb.dnainternet.fi [87.92.51.204]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by welho-smtp1.welho.com (Postfix) with ESMTPSA id 7770CC4; Tue, 15 Nov 2016 17:35:59 +0200 (EET)
Date: Tue, 15 Nov 2016 17:35:55 +0200
From: Ilari Liusvaara <ilariliusvaara@welho.com>
To: Yoav Nir <ynir.ietf@gmail.com>
Message-ID: <20161115153555.GA7882@LK-Perkele-V2.elisa-laajakaista.fi>
References: <CACsn0cnX90rOH0OQzzksrg1CYLeDugt_tT3+EKBY=tZ37oFR4w@mail.gmail.com> <4D79E074-6231-4CDD-88A0-2E8EBEA1BCA5@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <4D79E074-6231-4CDD-88A0-2E8EBEA1BCA5@gmail.com>
User-Agent: Mutt/1.5.23 (2014-03-12)
Sender: ilariliusvaara@welho.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/P16qTGWrncJlp8hfpM-0OOUviN0>
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] Point validation in 1.3
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: Tue, 15 Nov 2016 15:36:04 -0000

On Tue, Nov 15, 2016 at 05:02:24PM +0900, Yoav Nir wrote:
> I think the performance enhancement (in terms of handshakes per second)
> that you get by reusing ephemeral keys is so great, that we have to
> assume people will do it.  You don’t have to keep the keys indefinitely.
> It’s fine to generate a new key every second or ten seconds or so.
> 
> Which makes running the point validation all the more important.

There's two main reasons for point validation:

1) Preventing leaking of the secret exponent.
2) Preventing key collisions from low-order points.

TLS 1.3 isn't vulernable to 2) like TLS 1.2 and below are (without EMS).

X25519/X448 have been explicitly designed to resist 1).

If you want to prevent using low-order points for some reason, there is
a handy trick: Check if the output of X25519/X448 is all zeroes or
not, and abort if it is.


-Ilari