Re: [saag] NSA bug in Windows 10

Phillip Hallam-Baker <phill@hallambaker.com> Fri, 17 January 2020 18:07 UTC

Return-Path: <hallam@gmail.com>
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 35579120089 for <saag@ietfa.amsl.com>; Fri, 17 Jan 2020 10:07:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.396
X-Spam-Level:
X-Spam-Status: No, score=-1.396 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no 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 qd1yHLeMpmcl for <saag@ietfa.amsl.com>; Fri, 17 Jan 2020 10:07:32 -0800 (PST)
Received: from mail-ot1-f51.google.com (mail-ot1-f51.google.com [209.85.210.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 249A8120043 for <saag@ietf.org>; Fri, 17 Jan 2020 10:07:32 -0800 (PST)
Received: by mail-ot1-f51.google.com with SMTP id w21so23266895otj.7 for <saag@ietf.org>; Fri, 17 Jan 2020 10:07:32 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=0pPmGWcGS0u+19xWBRY60+/Po0iurmfSzpLy7bz7AXI=; b=TO8LfNoye/sv86aWwjxqnLNLyUSPARNx0XEBjO8P9zQ3U7K8wzek+Bhm6UOSb0PoGv HPfDQYTfpskMfS3Z5ag3UKGk8C228uXlG9DKRFh+2GTMMxO3ZWyAVj0hN6fkeiJH9U8n wIH/rQRY1K4xtWYRfP7j15QkTpvkd6g0zsfobULQVQ323BKkw320uVZgC2PQXRnrxlwL T/AOeFbm9nG8ubaHYh7igKEaLjoyXijorIbAp0YVvOIZdbbrJpcyH2AqowEcUN+zBhTf G8LsG2Ye0fAt0mIyvwuclc+5Pq4nLczeQaQ6qhSAL8w66QdN/GKcpR1KDn1nQkUIUZd0 Y2qg==
X-Gm-Message-State: APjAAAWrdI4YfclCkQUW3sOeDel38a7cBSV6LHA46sNvWgY+M2uT/ulF 2nj3/n2c58D8xaZYASQ+2fb5QBVNoOhbSMr6UN0=
X-Google-Smtp-Source: APXvYqwWkOru2uvkJjXESLimIJXfX829mQ0IKVk7GalYiikq/Y2lZDpvBCVamEzIpPaixKqEUlfPQQzs51FXNMssaqA=
X-Received: by 2002:a9d:6758:: with SMTP id w24mr7413889otm.155.1579284451458; Fri, 17 Jan 2020 10:07:31 -0800 (PST)
MIME-Version: 1.0
References: <CAMm+LwjbST2imHARvngfpBsp1vvABukrC+qXmktgxvAWhDnSxA@mail.gmail.com> <1579100916686.94828@cs.auckland.ac.nz> <5fd6bac7558d45fcac94119e746d7d0e@blackberry.com> <20200117040214.GR80030@kduck.mit.edu>
In-Reply-To: <20200117040214.GR80030@kduck.mit.edu>
From: Phillip Hallam-Baker <phill@hallambaker.com>
Date: Fri, 17 Jan 2020 13:07:19 -0500
Message-ID: <CAMm+LwixejjMV+GT6LgQ4oOXAMZazpux63_1ooB1U4vuUKMDtA@mail.gmail.com>
To: Benjamin Kaduk <kaduk@mit.edu>
Cc: Dan Brown <danibrown@blackberry.com>, Peter Gutmann <pgut001@cs.auckland.ac.nz>, IETF SAAG <saag@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000ba8152059c59d044"
Archived-At: <https://mailarchive.ietf.org/arch/msg/saag/Eobv1KMa1GSAfwvjH0YTHh23lMM>
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:07:36 -0000

On Thu, Jan 16, 2020 at 11:02 PM Benjamin Kaduk <kaduk@mit.edu> wrote:

> On Thu, Jan 16, 2020 at 04:40:41PM +0000, Dan Brown wrote:
> > Based on what I hear others say online, I presume this bug resulted a
> > relying party using details of a received root certificate instead of a
> > details in the true trusted root certificate.
> >
> > https://www.rfc-editor.org/rfc/rfc3280#section-6.1.1
> > item (d), (4) talks about parameters in the trust anchor certificate, and
> > the next paragraph talks about a "delivered ... trustworthy out-of-band".
> >
> > If my presumption above is correct, then it seems that this part of
> RFC3280
> > was not followed in this bug, since the parameters were taken from an
> > untrustworthy in-band delivery.   That said, I wonder if RFC3280
> adequately
> > emphasized this point? Could it have used a MUST?
>
> I remember reading something that involved taking an existing signature
> made by a trusted root from a legitimate certificate issued by that root,
> and re-using that signature with different domain parameters.  That would
> seem to imply that the trusted root is properly being used, but the
> validation code for the signatures in the chain was flawed.
>
> -Ben
>

OK so the attack seems to be

Root cert specifies Key A = {CurveA, PointA}

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

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.

OMG we are doomed.