Re: [Trans] can CT defend against dual CA compromise?

Tom Ritter <tom@ritter.vg> Tue, 23 February 2016 06:03 UTC

Return-Path: <tom@ritter.vg>
X-Original-To: trans@ietfa.amsl.com
Delivered-To: trans@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8D5051AC407 for <trans@ietfa.amsl.com>; Mon, 22 Feb 2016 22:03:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.52
X-Spam-Level:
X-Spam-Status: No, score=0.52 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, 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 tJ00Fm9kokM6 for <trans@ietfa.amsl.com>; Mon, 22 Feb 2016 22:03:24 -0800 (PST)
Received: from mail-yw0-x22d.google.com (mail-yw0-x22d.google.com [IPv6:2607:f8b0:4002:c05::22d]) (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 455B91AC3DB for <trans@ietf.org>; Mon, 22 Feb 2016 22:03:24 -0800 (PST)
Received: by mail-yw0-x22d.google.com with SMTP id h129so138767113ywb.1 for <trans@ietf.org>; Mon, 22 Feb 2016 22:03:24 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ritter.vg; s=vg; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=1Xl6VmtrjvIMJIjkwkcDBLY2/hKDHezX6//tR4Qzfv8=; b=crc/Df1sKCDA71OiMxpJ1TLU1sfOByXLC2ueQsQAkUQK017OUS0GsqEGdDqUS52KnH hboIourcRm9MgOKUwV1HDI/Sk/y7Ea3mIh7n+to4a8y7JI/mHbsanZE9IAZAPA3Fldcq 6CYKFIpzvqW+uPPGA0aEW7dmYDtGXKBJCHdtM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=1Xl6VmtrjvIMJIjkwkcDBLY2/hKDHezX6//tR4Qzfv8=; b=bqgdE8vB9ANuuSwJzzBHvG4k2p/Q5aDq9OP8TtO7PWoskSzOCi9/rCXIirHQWGSLzs SberluovlsNzvdyo95Nb86CGLIpRadbdw46PbChnnccy2v5hcSlYK3GLU8qzFngor51G RNO+bERe6CTbnAzm/w9dlnajTugDUTu0DS6V4igeaYaxPzA4vYCR+7O8cY1pwRK5l0ob gmaCPos77vpis1ZgDaz0yBkqYY6XOZbh4TxnCd083ZQQg4EKTsPfKcZSQAvu9lrJI7Wu z0El4HlsFjvz+MIjcfQJZsZTugRP4sn3q/7ZSx/Ql+p8vty3E7T7PUy+xa5sq9zTlGTA GJDw==
X-Gm-Message-State: AG10YOSqS3I5BHmJv4g67Emw+LRQ7H6hlrCAVIHs0FPj0jkU50l6T08fgpvBJP5eJVhNpR9sINsNp+mJFSVua+Mm
X-Received: by 10.13.229.66 with SMTP id o63mr15282850ywe.208.1456207403537; Mon, 22 Feb 2016 22:03:23 -0800 (PST)
MIME-Version: 1.0
Received: by 10.37.48.214 with HTTP; Mon, 22 Feb 2016 22:03:04 -0800 (PST)
In-Reply-To: <56CAF5B2.30207@comodo.com>
References: <87io1i3gqw.fsf@alice.fifthhorseman.net> <CABrd9SQh5B8E8phCvgLdUntKBu=u4p2iUHJ7ZrjqMwz8edwLHA@mail.gmail.com> <56CAF5B2.30207@comodo.com>
From: Tom Ritter <tom@ritter.vg>
Date: Tue, 23 Feb 2016 00:03:04 -0600
Message-ID: <CA+cU71m7akWkLFPiTVOShuTBHLVWfA+Byw2vXF-AZtH0Byik5A@mail.gmail.com>
To: Rob Stradling <rob.stradling@comodo.com>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <http://mailarchive.ietf.org/arch/msg/trans/jvwZ8M-HzKM5sVcsAinLUth_dO0>
Cc: "trans@ietf.org" <trans@ietf.org>, Ben Laurie <benl@google.com>, Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Subject: Re: [Trans] can CT defend against dual CA compromise?
X-BeenThere: trans@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Public Notary Transparency working group discussion list <trans.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/trans>, <mailto:trans-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/trans/>
List-Post: <mailto:trans@ietf.org>
List-Help: <mailto:trans-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/trans>, <mailto:trans-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 23 Feb 2016 06:03:25 -0000

I'm interleving Ben's and Rob's responses here:

>> Note that in this scenario, it's unlikely that space-constrained
>> blacklist-style client updates (e.g. CRLset) will include every leaf
>> certificate that chains to A after A is known-compromised.  So TLS
>> clients won't necessarily be warned off of C directly.
>
> [Ben]
> It seems to me there are multiple solutions here. The easiest is to not
> blacklist A_X, but instead to blacklists A_X's subject, which will also
> blacklist B_X.

Perhaps.

> [Rob]
> I think that blacklisting the shared issuer public key would be better than
> blacklisting the shared issuer name.

At first glance, I agree - but there is that annoying trick where you
can generate multiple (or at least two) public keys that all certify
the same signature. So I'm not sure this would actually work.

> [Rob]
> AIUI, MS CryptoAPI prefers to build certificate chains using the
> Authority/Subject Key Identifiers, and it only cares about whether or not
> the Issuer/Subject Names match if AKI/SKI are absent.

AKI would _not_ match on these trick public keys, but presumably the
algorithm would fall back to the Issuer name...?

> [Ben]
> To be more selective, blacklist the individual certs that were mis-issued
> (we have a complete list, of course, in the logs) and stop accepting new
> certs signed by X.

The "stop accepting new certs" thing might trip us up. We would like a
mechanism to track the misissued certs of a compromised CA. Trust
Stores have age. We don't distrust X all at once, and it'd be good to
know what X is doing so we can understand our risk on the older
devices.


>>  * logs could refuse to log any certs that chain back to a known-failed
>>    CA (or through a known-bad intermediate CA).  This would constrain a
>>    dual-compromise attacker from minting new certs after the first CA is
>>    known to be compromised.  This seems like a useful mitigation, but
>>    it's also complictated and delicate.  What does "known-failed" mean?
>>    What if there is a dispute over the validity of a cert, with one
>>    party claiming that it was misissued, and the CA claiming its
>>    legitimacy?  What if some browser vendors have dropped the CA, and
>>    others have not?  This puts the logs in a position of being some kind
>>    of arbiter of the root store, with very subtle knock-on effects to
>>    security of the whole ecosystem if they decide to not drop a CA.
>
> [Ben]
> Not all that subtle, surely, and completely visible so we can see its going
> on...

As I said above - up until here the CT logs have been a good viewpoint
on the CA ecosyetem. Aggressively removing CAs seems dangerous from a
"track the ecosystem and ensure accountability" perspective.


> [Rob]
>   - say that TLS clients SHOULD fetch and verify inclusion proofs for all
> intermediate certs that they rely on.

I'm nervous about this.

-tom