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

"Joel M. Halpern" <> Sun, 06 January 2019 22:46 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 36FC4130EB3; Sun, 6 Jan 2019 14:46:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 3kgw3ryO0oMB; Sun, 6 Jan 2019 14:46:03 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 00350130E50; Sun, 6 Jan 2019 14:46:02 -0800 (PST)
Received: from localhost (localhost []) by (Postfix) with ESMTP id 43Xtsk4nkHzS1GL; Sun, 6 Jan 2019 14:46:02 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=2.tigertech; t=1546814762; bh=M3PohP3lSyAQs6iEdc15DAGg0gzeMYIKME3bSuaMbdE=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=ROZTO00DtWnLtSAQihi5JYCpljmGdOqmZQWFTMtfSxB4byTlOsZrgG8TftqGW/Qd9 gPPkeuuwsThPskMnhowPsg9mm4NXOmNfOQT8evJ2iVxzkAkj8MQD3ys6wiTfQqyyR7 DxuIe6K0Pt7V1Wuuio38bhR044Bdjd9BErogb8Ag=
X-Virus-Scanned: Debian amavisd-new at
Received: from Joels-MacBook-Pro.local ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPSA id 43Xtsj2cKQzS1GK; Sun, 6 Jan 2019 14:46:00 -0800 (PST)
To: Russ Housley <>
Cc: LAMPS WG <>, IETF Gen-ART <>,, IETF <>
References: <> <> <> <> <> <>
From: "Joel M. Halpern" <>
Message-ID: <>
Date: Sun, 6 Jan 2019 17:45:59 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0) Gecko/20100101 Thunderbird/60.3.3
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
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 22:46:07 -0000

Good enough.
I suspect that any effort to refine further would be overkill, given 
that this is expected to be a rare case.
I think the small addition should be enough to alert any implementor or 
deployer to the challenges they might face.


On 1/6/19 2:25 PM, Russ Housley wrote:
> Joel:
> 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...
> Russ
>> 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
>>>>>> <>