Re: [lamps] Last Call: <draft-ietf-lamps-hash-of-root-key-cert-extn-02.txt> (Hash Of Root Key Certificate Extension) to Informational RFC

Daniel Kahn Gillmor <dkg@fifthhorseman.net> Thu, 10 January 2019 17:05 UTC

Return-Path: <dkg@fifthhorseman.net>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 59EE3130EA8; Thu, 10 Jan 2019 09:05:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.89
X-Spam-Level:
X-Spam-Status: No, score=-1.89 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_SPF_PERMERROR=0.01] 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 5e85gCpN9izy; Thu, 10 Jan 2019 09:05:43 -0800 (PST)
Received: from che.mayfirst.org (che.mayfirst.org [IPv6:2001:470:1:116::7]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E318F130E9A; Thu, 10 Jan 2019 09:05:42 -0800 (PST)
Received: from fifthhorseman.net (unknown [38.109.115.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by che.mayfirst.org (Postfix) with ESMTPSA id E982EF99E; Thu, 10 Jan 2019 12:05:41 -0500 (EST)
Received: by fifthhorseman.net (Postfix, from userid 1000) id 3DF7D2036C; Thu, 10 Jan 2019 12:01:12 -0500 (EST)
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
To: Russ Housley <housley@vigilsec.com>
Cc: LAMPS WG <spasm@ietf.org>, draft-ietf-lamps-hash-of-root-key-cert-extn@ietf.org, IETF <ietf@ietf.org>
Subject: Re: [lamps] Last Call: <draft-ietf-lamps-hash-of-root-key-cert-extn-02.txt> (Hash Of Root Key Certificate Extension) to Informational RFC
In-Reply-To: <256EB2FE-C43E-428F-9FB6-66A24EFA7738@vigilsec.com>
References: <154594881588.11855.12133790922363153381.idtracker@ietfa.amsl.com> <1AB99D11-5B25-4A97-9FFD-17E318ADD739@vpnc.org> <87va35o7pe.fsf@fifthhorseman.net> <38891959-38F6-4FA5-B7B1-ACB50921E300@vigilsec.com> <87k1jlnxnu.fsf@fifthhorseman.net> <2AB77CF4-ADD6-4EE6-ABB2-BCDAC4BF6631@vigilsec.com> <87imyxh8fy.fsf@fifthhorseman.net> <256EB2FE-C43E-428F-9FB6-66A24EFA7738@vigilsec.com>
Date: Thu, 10 Jan 2019 12:01:12 -0500
Message-ID: <87zhs8e9bb.fsf@fifthhorseman.net>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf/lRmZgnEJj4PsEaxKSrYhLpVB0UE>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 10 Jan 2019 17:05:44 -0000

[ i sent this e-mail earlier by accident to Russ offlist, re-sending it
on-list now ]

On Wed 2019-01-09 18:16:38 -0500, Russ Housley wrote:
> The self-signed certificates that represent the thrust anchors are not
> included in the "certificate_list".  I recall a discussion about
> whether this behavior should change in TLS 1.3, and after a fairly
> lengthy discussion at one of the meetings, it was decided that it
> should not.  More below ...

I agree -- the root cert is not mandatory to include in the
certificate_list.

But as you wrote earlier, the certs in certificate_list are a "bag of
certs" -- they might contain any certs.  I don't think we can *stop*
people from shipping C2, and if they do, they'll effectively be revoking
C1.

> They sometime change much more significantly, especially after an acquisition.

This draft doesn't need to support the acquisition case if we decide
it's not in the best interest of the relying parties.

>> a) RPs should retain the original "trusted issuer name" distinctly from
>>    the self-signed certificate, and should *not* change the "trusted
>>    issuer name" for a root CA even when the certificate rolls over.
>
> It is not a self-signed certificate unless the issuer and subject names match.

i know -- but proposal (a) here suggests that the root trust store
doesn't need to associate "trusted issuer name" with any field in the
current self-signed certificate.  rather, it can keep that information
independent.  anyway, it's one of three suggestions.

>> b) RPs should retain a history of such transitions and be able to
>>    display them to local operators or audit systems that inspect the
>>    root store.
>
> I can see where this is desirable for audit purposes, but I do not
> think the document should be too detailed about it.  I think a MAY is
> sufficient, especially in cases where the old-in-new and new-in-old
> certificates in a repository provide a bit of history in themselves.

i agree that the document doesn't need to be overly detailed about it.
I'm not even sure that RFC 2119 language is necessary.  but it needs
some guidance to point out the problems it creates for auditors if
something like this is not done.

>> c) require that the Subject of the replacing certificate matches the
>>    Subject of the earlier root CA.  (maybe we can allow some sort of
>>    variance in a field in the DN, so that we permit the semi-standard
>>    "G1" → "G2" naming shifts? i don't have a concrete suggestion here)
>
> Again, it is not a self-signed certificate unless the issuer and
> subject names match.

both Old and New are self-signed certificates (Old.Issuer ==
Old.Subject, and New.Issuer == New.Subject).  Proposal (c) here suggests
that we could require Old.Subject to match New.Subject (fsvo "match"),
in order for the replacement/revocation to proceed.

> I will work on some words to acknowledge the concern if the old and
> new self-signed certificates have very different names.

Thanks!

        --dkg