Re: [Gen-art] [lamps] Genart last call review of draft-ietf-lamps-hash-of-root-key-cert-extn-03

Russ Housley <> Sun, 06 January 2019 19:35 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 1A6D3130DE0 for <>; Sun, 6 Jan 2019 11:35:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id k3zvaRohpp9z for <>; Sun, 6 Jan 2019 11:35:01 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id E6583130DD6 for <>; Sun, 6 Jan 2019 11:35:00 -0800 (PST)
Received: from localhost (localhost []) by (Postfix) with ESMTP id 06CA2300AA0 for <>; Sun, 6 Jan 2019 14:07:06 -0500 (EST)
X-Virus-Scanned: amavisd-new at
Received: from ([]) by localhost ( []) (amavisd-new, port 10026) with ESMTP id fPIASk_uxa7a for <>; Sun, 6 Jan 2019 14:07:03 -0500 (EST)
Received: from a860b60074bd.fios-router.home ( []) by (Postfix) with ESMTPSA id 2ED453001FD; Sun, 6 Jan 2019 14:07:03 -0500 (EST)
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 12.2 \(3445.102.3\))
From: Russ Housley <>
In-Reply-To: <>
Date: Sun, 6 Jan 2019 14:25:19 -0500
Cc: LAMPS WG <>, IETF Gen-ART <>,, IETF <>
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <> <> <>
To: Joel Halpern <>
X-Mailer: Apple Mail (2.3445.102.3)
Archived-At: <>
Subject: Re: [Gen-art] [lamps] Genart last call review of draft-ietf-lamps-hash-of-root-key-cert-extn-03
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "GEN-ART: General Area Review Team" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sun, 06 Jan 2019 19:35:03 -0000


I propose a replacement paragraph.  I hope it is more clear on the points raised on this thread:

   The Root CA needs to ensure that the public key in the next
   generation certificate is as strong or stronger than the key that it
   is replacing.  Of course, a significant advance in cryptoanalytic
   capability can break the yet-to-be-deployed key pair.  Such advances
   are rare and difficult to predict.  If such an advance occurs, the
   Root CA remains committed to the now broken key.  This leaves the
   Root CA with no alternative but to deploy a new self-signed
   certificate that contains a newly-generated key pair, most likely
   using a different signature algorithm, in the same manner as the
   initial self-signed certificate, thus losing the benefits of the Hash
   Of Root Key certificate extension altogether.

Let me know if this helps...


> On Jan 6, 2019, at 12:27 PM, Joel M. Halpern <> wrote:
> Maybe I am missing something simple, but I do not see where the text in section 5 on dealing with a lost promised key says anything about the need to "go through the process that was used to set up the initial trust anchor."  All it seems to say is "to deploy a new self-signed certificate."  Maybe what is needed is a little elaboration on what that deployment is to be, as it is not the same as deploying a properly promised new key pair.
> Yours,
> Joel
> On 1/6/19 12:09 PM, Russ Housley wrote:
>> Joel:
>> As the text already says, the Root CA will need to go through the process that was used to set up the initial trust anchor.  The relying party will not accept the new self-signed certificate until that is done, and that process is completely disconnected from the previous certificate.
>> The paragraph we are discussing is all about handling a failure, and the new certificate extension is not offering any assistance if the failure occurs.  That is what the paragraph is trying to say.
>> Russ
>>> On Jan 4, 2019, at 10:10 PM, Joel M. Halpern <> wrote:
>>> I understand that the issuer has no choice.
>>> What I can't see is how any validator will accept the new certificate.
>>> The new cert will fail the validation check required by the field in the existing certificate.
>>> So it seems that the only remedy is to wait until the exist certificate expires, so that the hash is no longer valid, and then a new cleann cert can be issued that will be accepted.
>>> But there is no reference in the "remedy" to waiting for the expiration.
>>> In fact, it is only imiplictly stated that the hash expectation is no longer valid once the certificate is expired.
>>> Another possibility is that I am completely missing the point of the new field.  If the new clean unexpected cert will be accepted, what behavior is improved by having the hash in the current cert.
>>> Yours,
>>> Joel
>>> On 1/4/19 9:41 PM, Russ Housley wrote:
>>>> Joel:
>>>> If access to the key is lost, the commitment is broken, so the Root CA must make a fresh start using a completely unrelated key.  Maybe the word "remedy" is creating the wrong impression for you.
>>>> Russ
>>>>> On Jan 4, 2019, at 6:42 PM, <> wrote:
>>>>> If the new self-signed cert uses a new key, wouldn't that be rejected as violating the promise in the current cert?  I am missing something.
>>>>> Thanks,
>>>>> Joel
>>>>> Sent via the Samsung Galaxy S7, an AT&T 4G LTE smartphone
>>>>> -------- Original message --------
>>>>> From: Russ Housley < <>>
>>>>> Date: 1/4/19 17:57 (GMT-05:00)
>>>>> To: Joel Halpern < <>>
>>>>> Cc: IETF Gen-ART < <>>, <>, <>, IETF < <>>
>>>>> Subject: Re: Genart last call review of   draft-ietf-lamps-hash-of-root-key-cert-extn-03
>>>>> Joel:
>>>>> Thanks for the review.
>>>>>> Document: draft-ietf-lamps-hash-of-root-key-cert-extn-03
>>>>>> Reviewer: Joel Halpern
>>>>>> Review Date: 2019-01-04
>>>>>> IETF LC End Date: 2019-01-10
>>>>>> IESG Telechat date: Not scheduled for a telechat
>>>>>> Summary: This draft is nearly ready for publication as an Informational RFC.
>>>>>> Major issues: N/A
>>>>>> Minor issues:
>>>>>>    The explanation at the end of section 5 about the remedy for losing access
>>>>>>    to the new root key left me confused.
>>>>>> It looks like the situation is that there is a certificate out there, with the
>>>>>> hash of root key extensions. The certificate owner loses access to the new key
>>>>>> pair underlying the hash. The certificate owner clearly has to issue a new key
>>>>>> pair.  So far, so good.
>>>>>> What the text seems to say is to simply issue a new self-signed certificate.
>>>>>> There are two possibilities for what is intended. I think the idea is that the
>>>>>> new certificate will use the existing key pair (not the promised one, nor
>>>>>> another new one) for its own signature, and include a new hash of root key for
>>>>>> the newly generated pair.  If the certificate owner can do that (I have not
>>>>>> dived into the rest of the certificate operations to figure out if that is
>>>>>> legal) then it works.  Please add some words explaining that better. If the
>>>>>> certificate owner can not simply issue a new self-signed certificate with the
>>>>>> existing key pair, then I am lost.  It appears that the text says that the
>>>>>> certificate owner issues a new self-signed certificate using a new key pair.
>>>>>> But that will fail the check against the previous certificate hash of root key.
>>>>>> I am hoping that it is the first of these alternatives, and all that is needed
>>>>>> is clearer explanatory text stating that the new cert uses the existing key
>>>>>> pair, and includes a new hash of root key promise.
>>>>> Joel, the Root CA want to start using a different key par, but they have lost access to the one that was previously generated for that purpose.  So, the remedy is to create a new self-signed certificate with a newly generated key.
>>>>> Does that help?  If so, what would make the paragraph more clear?
>>>>> Russ
>>>>> _______________________________________________
>>>>> Spasm mailing list
>>>>> <>