Re: [saag] NSA bug in Windows 10

Viktor Dukhovni <ietf-dane@dukhovni.org> Fri, 17 January 2020 18:47 UTC

Return-Path: <ietf-dane@dukhovni.org>
X-Original-To: saag@ietfa.amsl.com
Delivered-To: saag@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1F129120043 for <saag@ietfa.amsl.com>; Fri, 17 Jan 2020 10:47:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-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 LZBmgXwtln3s for <saag@ietfa.amsl.com>; Fri, 17 Jan 2020 10:47:37 -0800 (PST)
Received: from straasha.imrryr.org (straasha.imrryr.org [100.2.39.101]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A461C120025 for <saag@ietf.org>; Fri, 17 Jan 2020 10:47:37 -0800 (PST)
Received: by straasha.imrryr.org (Postfix, from userid 1001) id 0337B43181; Fri, 17 Jan 2020 13:47:37 -0500 (EST)
Date: Fri, 17 Jan 2020 13:47:36 -0500
From: Viktor Dukhovni <ietf-dane@dukhovni.org>
To: saag@ietf.org
Message-ID: <20200117184736.GU73491@straasha.imrryr.org>
Reply-To: saag@ietf.org
References: <CAMm+LwjbST2imHARvngfpBsp1vvABukrC+qXmktgxvAWhDnSxA@mail.gmail.com> <1579100916686.94828@cs.auckland.ac.nz> <5fd6bac7558d45fcac94119e746d7d0e@blackberry.com> <20200117040214.GR80030@kduck.mit.edu> <CAMm+LwixejjMV+GT6LgQ4oOXAMZazpux63_1ooB1U4vuUKMDtA@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CAMm+LwixejjMV+GT6LgQ4oOXAMZazpux63_1ooB1U4vuUKMDtA@mail.gmail.com>
User-Agent: Mutt/1.12.2 (2019-09-21)
Archived-At: <https://mailarchive.ietf.org/arch/msg/saag/O5TyKCGVQi6nr6xt6bjR0S4KnwA>
Subject: Re: [saag] NSA bug in Windows 10
X-BeenThere: saag@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Security Area Advisory Group <saag.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/saag>, <mailto:saag-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/saag/>
List-Post: <mailto:saag@ietf.org>
List-Help: <mailto:saag-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/saag>, <mailto:saag-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 17 Jan 2020 18:47:40 -0000

On Fri, Jan 17, 2020 at 01:07:19PM -0500, Phillip Hallam-Baker wrote:

> OK so the attack seems to be
> 
> Root cert specifies Key A = {CurveA, PointA}

In particular, the curve coefficients, the curve *generator* and the
root CA's public key (point).

> Root cert signs subordinate cert creating signature {CurveA, PointB}

The attacker creates a fake root cert with a different *generator*,
the simplest case is 'generator == public point, private key = 1'.

> Mallet can now generate a new signature {CurveM, PointB} which will
> validate because the pathmath isn't checking the domain params, only the
> curve point.

Mallet can generate any desired certificate chain with the new root
CA key.  No need to match anything pre-existing.  The new chains
will pass validation.

-- 
    Viktor.