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

Stefan Santesson <stefan@aaa-sec.com> Thu, 28 January 2021 16:30 UTC

Return-Path: <stefan@aaa-sec.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 E0CD73A1628 for <pkix@ietfa.amsl.com>; Thu, 28 Jan 2021 08:30:23 -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, MIME_QP_LONG_LINE=0.001, RCVD_IN_MSPIKE_H2=-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 MBRYJ8NueOsx for <pkix@ietfa.amsl.com>; Thu, 28 Jan 2021 08:30:20 -0800 (PST)
Received: from smtp.outgoing.loopia.se (smtp.outgoing.loopia.se [93.188.3.37]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6B3373A162C for <pkix@ietf.org>; Thu, 28 Jan 2021 08:30:19 -0800 (PST)
Received: from s807.loopia.se (localhost [127.0.0.1]) by s807.loopia.se (Postfix) with ESMTP id 8FEDC10D060C for <pkix@ietf.org>; Thu, 28 Jan 2021 17:30:11 +0100 (CET)
Received: from s630.loopia.se (unknown [172.22.191.6]) by s807.loopia.se (Postfix) with ESMTP id 6F9D32E325B4; Thu, 28 Jan 2021 17:30:11 +0100 (CET)
Received: from s476.loopia.se (unknown [172.22.191.5]) by s630.loopia.se (Postfix) with ESMTP id E688713ABDA3; Thu, 28 Jan 2021 17:30:10 +0100 (CET)
X-Virus-Scanned: amavisd-new at amavis.loopia.se
Received: from s630.loopia.se ([172.22.191.5]) by s476.loopia.se (s476.loopia.se [172.22.190.16]) (amavisd-new, port 10024) with UTF8LMTP id cIcXDjsasnWr; Thu, 28 Jan 2021 17:30:09 +0100 (CET)
X-Loopia-Auth: user
X-Loopia-User: mailstore2@aaa-sec.com
X-Loopia-Originating-IP: 85.235.7.89
Received: from [192.168.2.54] (gw.aaa-sec.ideon.se [85.235.7.89]) (Authenticated sender: mailstore2@aaa-sec.com) by s630.loopia.se (Postfix) with ESMTPSA id 6703A13B9330; Thu, 28 Jan 2021 17:30:09 +0100 (CET)
User-Agent: Microsoft-MacOutlook/16.44.20121301
Date: Thu, 28 Jan 2021 17:30:08 +0100
From: Stefan Santesson <stefan@aaa-sec.com>
To: Russ Housley <housley@vigilsec.com>, Rob Stradling <rob@sectigo.com>
CC: "Roman D. Danyliw" <rdd@cert.org>, Ben Kaduk <kaduk@mit.edu>, Stephen Kent <kent@bbn.com>, IETF PKIX <pkix@ietf.org>, David Cooper <david.cooper@nist.gov>, "wpolk@nist.gov" <wpolk@nist.gov>, Stephen Farrell <stephen.farrell@cs.tcd.ie>
Message-ID: <549A9111-F97A-4D42-A602-EF655C954915@aaa-sec.com>
Thread-Topic: [Technical Errata Reported] RFC5280 (6414)
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>
In-Reply-To: <A077CE9B-35E3-4FF2-BA3A-213122D59843@vigilsec.com>
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3694699809_1232914603"
Archived-At: <https://mailarchive.ietf.org/arch/msg/pkix/IbPKlTs_8VrgUWrox_D2-FoqpLU>
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:30:24 -0000

Russ,

 

If I read the proposal correct Rob is providing text where the following is allowed:

 
DS
KA
KE
DS + KA
DS + KE
 

And he argues that the current wording suggest that only the following is allowed:

 
DS
KA
KE
 

Right?

(DS = digitalISignature, KA = keyAgreement, KE = keyEncipherment)

 

Stefan Santesson 

 

From: Russ Housley <housley@vigilsec.com>
Date: Thursday, 28 January 2021 at 17:18
To: Rob Stradling <rob@sectigo.com>
Cc: "Roman D. Danyliw" <rdd@cert.org>rg>, Ben Kaduk <kaduk@mit.edu>du>, Stephen Kent <kent@bbn.com>om>, IETF PKIX <pkix@ietf.org>rg>, Stefan Santesson <stefan@aaa-sec.com>om>, David Cooper <david.cooper@nist.gov>ov>, Tim Polk <wpolk@nist.gov>ov>, Stephen Farrell <stephen.farrell@cs.tcd.ie>
Subject: Re: [Technical Errata Reported] RFC5280 (6414)

 

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> 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>
Sent: 28 January 2021 16:07
To: Rob Stradling <rob@sectigo.com>
Cc: Roman D. Danyliw <rdd@cert.org>rg>; Ben Kaduk <kaduk@mit.edu>du>; Stephen Kent <kent@bbn.com>om>; IETF PKIX <pkix@ietf.org>rg>; Stefan Santesson <stefan@aaa-sec.com>om>; David Cooper <david.cooper@nist.gov>ov>; wpolk@nist.gov<wpolk@nist.gov>; Stephen Farrell <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> 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
>
> --------------------------------------
> Type: Technical
> Reported by: Rob Stradling <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 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