Re: [pkix] [Technical Errata Reported] RFC5280 (6414)

Russ Housley <housley@vigilsec.com> Thu, 28 January 2021 16:42 UTC

Return-Path: <housley@vigilsec.com>
X-Original-To: pkix@ietfa.amsl.com
Delivered-To: pkix@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 743313A0A93 for <pkix@ietfa.amsl.com>; Thu, 28 Jan 2021 08:42:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level:
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] 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 QiXVb3MLVZ_V for <pkix@ietfa.amsl.com>; Thu, 28 Jan 2021 08:42:32 -0800 (PST)
Received: from mail.smeinc.net (mail.smeinc.net [209.135.209.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B18403A0A8E for <pkix@ietf.org>; Thu, 28 Jan 2021 08:42:32 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by mail.smeinc.net (Postfix) with ESMTP id 0BF1D300BD2 for <pkix@ietf.org>; Thu, 28 Jan 2021 11:42:30 -0500 (EST)
X-Virus-Scanned: amavisd-new at mail.smeinc.net
Received: from mail.smeinc.net ([127.0.0.1]) by localhost (mail.smeinc.net [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id ssrlzLTClNru for <pkix@ietf.org>; Thu, 28 Jan 2021 11:42:20 -0500 (EST)
Received: from a860b60074bd.fios-router.home (pool-141-156-161-153.washdc.fios.verizon.net [141.156.161.153]) by mail.smeinc.net (Postfix) with ESMTPSA id EB699300B03; Thu, 28 Jan 2021 11:42:19 -0500 (EST)
From: Russ Housley <housley@vigilsec.com>
Message-Id: <1342CD21-C794-4E39-9DD0-93F52DF48708@vigilsec.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_EE930A5F-885D-439A-8FA2-3EF15ECD5334"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.17\))
Date: Thu, 28 Jan 2021 11:42:21 -0500
In-Reply-To: <MW3PR17MB412259BEBBCC54B30D86DFC5AABA9@MW3PR17MB4122.namprd17.prod.outlook.com>
Cc: "Roman D. Danyliw" <rdd@cert.org>, Ben Kaduk <kaduk@mit.edu>, Stephen Kent <kent@bbn.com>, IETF PKIX <pkix@ietf.org>, Stefan Santesson <stefan@aaa-sec.com>, David Cooper <david.cooper@nist.gov>, "wpolk@nist.gov" <wpolk@nist.gov>, Stephen Farrell <stephen.farrell@cs.tcd.ie>
To: Rob Stradling <rob@sectigo.com>
References: <20210128154420.4B40EF40715@rfc-editor.org> <B9FCFEBF-78B0-4C82-9902-67D4E832C0C7@vigilsec.com> <MW3PR17MB41222702CF6B9D8440B468D3AABA9@MW3PR17MB4122.namprd17.prod.outlook.com> <A077CE9B-35E3-4FF2-BA3A-213122D59843@vigilsec.com> <MW3PR17MB412259BEBBCC54B30D86DFC5AABA9@MW3PR17MB4122.namprd17.prod.outlook.com>
X-Mailer: Apple Mail (2.3445.104.17)
Archived-At: <https://mailarchive.ietf.org/arch/msg/pkix/Jr0b_rbf5Nh67NCzeHAFhzbMYZk>
Subject: Re: [pkix] [Technical Errata Reported] RFC5280 (6414)
X-BeenThere: pkix@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: PKIX Working Group <pkix.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/pkix>, <mailto:pkix-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/pkix/>
List-Post: <mailto:pkix@ietf.org>
List-Help: <mailto:pkix-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pkix>, <mailto:pkix-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 Jan 2021 16:42:35 -0000

Rob:

I worry that the rewording will lead to similar discussions of the "and/or".  We really want any combination of digitalSignature, keyEncipherment, and keyAgreement bits that is consistent with the public key.

Russ


> On Jan 28, 2021, at 11:27 AM, Rob Stradling <rob@sectigo.com> wrote:
> 
> > In my example, neither the keyEncipherment nor the keyAgreement bit is set.
> 
> Hi Russ.  I realize that, and I still say that my Proposed Text is compatible with your example.
> 
> My Proposed Text is:
> >   -- Key usage bits that may be consistent: digitalSignature
> >   -- and/or (keyEncipherment or keyAgreement)
> 
> The "and/or" part means that you can choose between these two options:
> 
> Option 1: digitalSignature and (keyEncipherment or keyAgreement)
> Option 2: digitalSignature or (keyEncipherment or keyAgreement)
> 
> Setting just the digitalSignature bit, without keyEncipherment and without keyAgreement, is consistent with Option 2.
> 
> From: Russ Housley <housley@vigilsec.com <mailto:housley@vigilsec.com>>
> Sent: 28 January 2021 16:18
> To: Rob Stradling <rob@sectigo.com <mailto:rob@sectigo.com>>
> Cc: Roman D. Danyliw <rdd@cert.org <mailto:rdd@cert.org>>; Ben Kaduk <kaduk@mit.edu <mailto:kaduk@mit.edu>>; Stephen Kent <kent@bbn.com <mailto:kent@bbn.com>>; IETF PKIX <pkix@ietf.org <mailto:pkix@ietf.org>>; Stefan Santesson <stefan@aaa-sec.com <mailto:stefan@aaa-sec.com>>; David Cooper <david.cooper@nist.gov <mailto:david.cooper@nist.gov>>; wpolk@nist.gov <mailto:wpolk@nist.gov><wpolk@nist.gov <mailto:wpolk@nist.gov>>; Stephen Farrell <stephen.farrell@cs.tcd.ie <mailto:stephen.farrell@cs.tcd.ie>>
> Subject: Re: [Technical Errata Reported] RFC5280 (6414)
>  
> CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
> 
> Rob:
> 
> In my example, neither the keyEncipherment nor the keyAgreement bit is set.
> 
> Russ
> 
>> On Jan 28, 2021, at 11:17 AM, Rob Stradling <rob@sectigo.com <mailto:rob@sectigo.com>> wrote:
>> 
>> Hi Russ.
>> 
>> I'm afraid I don't understand your objection.  Your use case of setting only the digitalSignature bit is permitted both by the Original Text and by my Proposed Text.  (With my Proposed Text, you would choose the "or" option of the "and/or" instead of the "and" option).
>> 
>> The reason for the erratum is that neither digitalSignature+keyEncipherment nor digitalSignature+keyAgreement seem to be permitted by the Original Text.
>> 
>> From: Russ Housley <housley@vigilsec.com <mailto:housley@vigilsec.com>>
>> Sent: 28 January 2021 16:07
>> To: Rob Stradling <rob@sectigo.com <mailto:rob@sectigo.com>>
>> Cc: Roman D. Danyliw <rdd@cert.org <mailto:rdd@cert.org>>; Ben Kaduk <kaduk@mit.edu <mailto:kaduk@mit.edu>>; Stephen Kent <kent@bbn.com <mailto:kent@bbn.com>>; IETF PKIX <pkix@ietf.org <mailto:pkix@ietf.org>>; Stefan Santesson <stefan@aaa-sec.com <mailto:stefan@aaa-sec.com>>; David Cooper <david.cooper@nist.gov <mailto:david.cooper@nist.gov>>; wpolk@nist.gov <mailto:wpolk@nist.gov><wpolk@nist.gov <mailto:wpolk@nist.gov>>; Stephen Farrell <stephen.farrell@cs.tcd.ie <mailto:stephen.farrell@cs.tcd.ie>>
>> Subject: Re: [Technical Errata Reported] RFC5280 (6414)
>>  
>> CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
>> 
>> 
>> Rob:
>> 
>> The proposed rewording of the comment is not correct.  Consider an ECDSA key that will be used with TLS 1.3.  In that case, only the digitalSignature key usage would be set.
>> 
>> I think the original OR is correct.
>> 
>> Russ
>> 
>> 
>> > On Jan 28, 2021, at 10:44 AM, RFC Errata System <rfc-editor@rfc-editor.org <mailto:rfc-editor@rfc-editor.org>> wrote:
>> >
>> > The following errata report has been submitted for RFC5280,
>> > "Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile".
>> >
>> > --------------------------------------
>> > You may review the report below and at:
>> > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.rfc-editor.org%2Ferrata%2Feid6414&amp;data=04%7C01%7Crob%40sectigo.com%7Cdce250f148ea4d995db108d8c3a6ce56%7C0e9c48946caa465d96604b6968b49fb7%7C0%7C0%7C637474468512413977%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=8hy5qssHrRM%2BEOM2NX8rEJSJqGV%2FWhu7top4hdmsXgU%3D&amp;reserved=0 <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.rfc-editor.org%2Ferrata%2Feid6414&data=04%7C01%7Crob%40sectigo.com%7Ccbc3b1b2afb94a84540d08d8c3a86002%7C0e9c48946caa465d96604b6968b49fb7%7C0%7C0%7C637474475235070735%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=CzxiKY%2FEqSGRdy9AlPZzJb68MFfkiIbQmR2tL24VCUA%3D&reserved=0>
>> >
>> > --------------------------------------
>> > Type: Technical
>> > Reported by: Rob Stradling <rob@sectigo.com <mailto:rob@sectigo.com>>
>> >
>> > Section: 4.2.1.12
>> >
>> > Original Text
>> > -------------
>> >   id-kp-serverAuth             OBJECT IDENTIFIER ::= { id-kp 1 }
>> >   -- TLS WWW server authentication
>> >   -- Key usage bits that may be consistent: digitalSignature,
>> >   -- keyEncipherment or keyAgreement
>> >
>> > Corrected Text
>> > --------------
>> >   id-kp-serverAuth             OBJECT IDENTIFIER ::= { id-kp 1 }
>> >   -- TLS WWW server authentication
>> >   -- Key usage bits that may be consistent: digitalSignature
>> >   -- and/or (keyEncipherment or keyAgreement)
>> >
>> > Notes
>> > -----
>> > In https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fzmap%2Fzlint%2Fissues%2F553&amp;data=04%7C01%7Crob%40sectigo.com%7Cdce250f148ea4d995db108d8c3a6ce56%7C0e9c48946caa465d96604b6968b49fb7%7C0%7C0%7C637474468512413977%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=Kf06%2FZ9o9VIMBcNRiCOk2L%2FUNA7dlgCP6ywIYJZH37I%3D&amp;reserved=0 <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fzmap%2Fzlint%2Fissues%2F553&data=04%7C01%7Crob%40sectigo.com%7Ccbc3b1b2afb94a84540d08d8c3a86002%7C0e9c48946caa465d96604b6968b49fb7%7C0%7C0%7C637474475235080682%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=5et7x5%2F7VXWEh6OwZLlWFkpMPScvHFC4tkPPOf3E%2FDM%3D&reserved=0> there's been some disagreement and confusion about how to correctly interpret the "or" in the Original Text.  "You can only set one of these three bits" is one interpretation, and it's hard to argue that this interpretation is inconsistent with the Original Text.
>> >
>> > However, digitalSignature+keyEncipherment makes sense for an RSA leaf certificate, and digitalSignature+keyAgreement makes sense for an ECC leaf certificate.  Both are widely used, to enable ephemeral and non-ephemeral TLS ciphersuites in conjunction with a single server certificate.
>> >
>> > Given that RFC5480 section 3 explicitly permits digitalSignature+keyAgreement in an ECC leaf certificate, I think it's likely that my proposed Corrected Text conveys the RFC5280 authors' intended meaning.
>> >
>> > Instructions:
>> > -------------
>> > This erratum is currently posted as "Reported". If necessary, please
>> > use "Reply All" to discuss whether it should be verified or
>> > rejected. When a decision is reached, the verifying party
>> > can log in to change the status and edit the report, if necessary.
>> >
>> > --------------------------------------
>> > RFC5280 (draft-ietf-pkix-rfc3280bis-11)
>> > --------------------------------------
>> > Title               : Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile
>> > Publication Date    : May 2008
>> > Author(s)           : D. Cooper, S. Santesson, S. Farrell, S. Boeyen, R. Housley, W. Polk
>> > Category            : PROPOSED STANDARD
>> > Source              : Public-Key Infrastructure (X.509)
>> > Area                : Security
>> > Stream              : IETF
>> > Verifying Party     : IESG