Re: [TLS] Twist security for brainpoolp256r1

Manuel Pégourié-Gonnard <mpg@polarssl.org> Thu, 13 November 2014 15:53 UTC

Return-Path: <mpg@polarssl.org>
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 1B09D1A8997 for <tls@ietfa.amsl.com>; Thu, 13 Nov 2014 07:53:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.397
X-Spam-Level:
X-Spam-Status: No, score=0.397 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HELO_MISMATCH_COM=0.553, HOST_EQ_NL=1.545, MIME_8BIT_HEADER=0.3, SPF_PASS=-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 KWQXslyNWpfT for <tls@ietfa.amsl.com>; Thu, 13 Nov 2014 07:53:09 -0800 (PST)
Received: from vps2.offspark.com (vps2.brainspark.nl [141.138.204.106]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8FFBF1A8978 for <tls@ietf.org>; Thu, 13 Nov 2014 07:53:05 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=polarssl.org; s=exim; h=Subject:Content-Transfer-Encoding:Content-Type:In-Reply-To:References:CC:To:MIME-Version:From:Date:Message-ID; bh=JnUvn559hKAtuS5PqadzkM2LhWmp3IIH8aILSNz88FE=; b=ZtwZo60JwRDuNE7YTTsLdBQWF064NYebSeUTaLPoNRL5pU6w3itZvuaC6d4YLXT+0AYRivbMeHBSjqG8cOiSqy7e7diOXTXxD4j31EdcS7H1VyUGiEtuMFDK9ADN7vymHrdrsXum7Ndh+tVaplsbXsZ7xXWKNkW5lmYljqWje/A=;
Received: from thue.elzevir.fr ([88.165.216.11] helo=[192.168.0.124]) by vps2.offspark.com with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <mpg@polarssl.org>) id 1Xowhc-0008F5-C3; Thu, 13 Nov 2014 16:52:56 +0100
Message-ID: <5464D3DD.8010507@polarssl.org>
Date: Thu, 13 Nov 2014 16:53:01 +0100
From: Manuel Pégourié-Gonnard <mpg@polarssl.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: Watson Ladd <watsonbladd@gmail.com>
References: <546394E9.2010208@secunet.com> <1821348128.254417.1415860521951.JavaMail.yahoo@jws10668.mail.bf1.yahoo.com> <54647819.3020802@polarssl.org> <CACsn0cmFe=Em4KDoozXMjX8texg5CHThq_kjEjx3qcsPv+Bx1g@mail.gmail.com>
In-Reply-To: <CACsn0cmFe=Em4KDoozXMjX8texg5CHThq_kjEjx3qcsPv+Bx1g@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
X-SA-Exim-Connect-IP: 88.165.216.11
X-SA-Exim-Mail-From: mpg@polarssl.org
X-SA-Exim-Version: 4.2.1 (built Mon, 26 Dec 2011 16:24:06 +0000)
X-SA-Exim-Scanned: Yes (on vps2.offspark.com)
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/407YJXyiJ1GmY7RrU1RJkY28-94
Cc: Oleg Gryb <oleg@gryb.info>, "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] Twist security for brainpoolp256r1
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, 13 Nov 2014 15:53:10 -0000

On 13/11/2014 16:42, Watson Ladd wrote:
> On Thu, Nov 13, 2014 at 1:21 AM, Manuel Pégourié-Gonnard
> <mpg@polarssl.org> wrote:
>> On 13/11/2014 07:35, Oleg Gryb wrote:
>>> Thanks, very helpful. Just to summarize yours and Manuel's notes in regard of
>>> quadratic non-residue, or non-quadratic twists (as they are called in other
>>> emails), they can be used as a source of malicious EC points to run
>>> invalid-curve attacks on the original curves, but since all implementations
>>> compliant with X9* standards including openssl must have point-on-curve
>>> validation, invalid-curve attacks and small-group attacks become irrelevant
>>> when it comes to brainpoool's openssl implementation.
>>
>> The situation is actually a bit more complex. Here is a version that's still a
>> bit simplified but closer to the truth: let's say there are two kinds of
>> protocols (or curve representations):
>>
>> 1. Those who use both coordinates of the points.
>> 2. Those who use only the x coordinate.
> 
> The coordinates used on the wire do not determine the calculations
> used by an implementation.

Sure. That's why I said that the above was still a bit simplified.

> An interoperable implementation of TLS
> could use the Brier-Joyce ladder on x-coordinates only, and take a
> randomly chosen square root for use as the y-coordinate, validating
> signatures through a different method. This would be of interest in
> certain side-channel attack scenarios, as the Brier-Joyce ladder is
> easier to protect.
>
I hope that an implementer who knows this somewhat exotic option and chooses to
use it for its side-channel properties is also sufficiently knowledgeable and
security concious to properly validate points...

> Most implementations don't do this, so the rest of your email is correct.
> 
Thank you.

Manuel.