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

Benjamin Kaduk <kaduk@mit.edu> Sun, 31 January 2021 21:19 UTC

Return-Path: <kaduk@mit.edu>
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 30D793A1268; Sun, 31 Jan 2021 13:19:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.919
X-Spam-Level:
X-Spam-Status: No, score=-1.919 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-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 zYJPqpdlJHNH; Sun, 31 Jan 2021 13:19:24 -0800 (PST)
Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) (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 1028C3A1262; Sun, 31 Jan 2021 13:19:23 -0800 (PST)
Received: from kduck.mit.edu ([24.16.140.251]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 10VLJBou023995 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 31 Jan 2021 16:19:15 -0500
Date: Sun, 31 Jan 2021 13:19:11 -0800
From: Benjamin Kaduk <kaduk@mit.edu>
To: RFC Errata System <rfc-editor@rfc-editor.org>
Cc: david.cooper@nist.gov, sharon.boeyen@entrust.com, rdd@cert.org, pkix@ietf.org, spasm@ietf.org
Message-ID: <20210131211911.GQ21@kduck.mit.edu>
References: <20210128154420.4B40EF40715@rfc-editor.org> <20210128161318.GV21@kduck.mit.edu>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20210128161318.GV21@kduck.mit.edu>
Archived-At: <https://mailarchive.ietf.org/arch/msg/pkix/bATtKUv9Nuo-Sp6uvB4UlAsq0qU>
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: Sun, 31 Jan 2021 21:19:26 -0000

On Thu, Jan 28, 2021 at 08:13:25AM -0800, Benjamin Kaduk wrote:
> On Thu, Jan 28, 2021 at 07:44:20AM -0800, RFC Errata System 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://www.rfc-editor.org/errata/eid6414
> > 
> > --------------------------------------
> > 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://github.com/zmap/zlint/issues/553 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.
> 
> I would be inclined to mark this as "editorial" and "hold for document
> update".  Given that across the list of EKU values both "or" and "and/or"
> are used, it seems like there was probably some intent to distinguish
> between them, but I don't see that we will get clear agreement on what wa
> intended at the time of publication.

In light of the subsequent discussion, my new proposal is to adopt Paul
Hoffman's suggestion and use "editorial"+"rejected", with a verifier note
along the lines of:

  This errata report correctly notes that the description for other extended
  key usage values appear to differentiate between "or" and "and/or".
  However, the suggestion that the lists of "key usage bits that may be
  consistent" with a given extended key usage value are somehow restrictive
  with normative force on which key usage bits can appear seems to be based
  on a mistaken premise.  What key usage bits can appear are governed by the
  rules for the key usage extension, which are in practice (but not by
  protocol) limited by the capabilities of current cryptographic algorithms,
  and the descriptive text here seems to just be an attempt to reflect those
  algorithmic limitations.  It should not be interpreted as making a
  normative restriction on which key usage bits can appear with a given
  extended key usage value -- doing so would raise the prospect of
  conflicting restrictions imposed by different extended key usage values,
  and it is well-known that multiple extended key usage values are permitted
  in any given certificate.

Any other comments?

Thanks,

Ben