<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.5.21 -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-richardson-lamps-rfc7030-csrattrs-02" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" obsoletes="" updates="" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.5.0 -->
  <front>
    <title abbrev="CSRAttrs">Clarification of RFC7030 CSR Attributes definition</title>
    <seriesInfo name="Internet-Draft" value="draft-richardson-lamps-rfc7030-csrattrs-02"/>
    <author initials="M." surname="Richardson" fullname="Michael Richardson" role="editor">
      <organization>Sandelman Software Works</organization>
      <address>
        <email>mcr+ietf@sandelman.ca</email>
      </address>
    </author>
    <author initials="O." surname="Friel" fullname="Owen Friel">
      <organization>Cisco</organization>
      <address>
        <email>ofriel@cisco.com</email>
      </address>
    </author>
    <author initials="D." surname="von Oheimb" fullname="Dr. David von Oheimb">
      <organization>Siemens</organization>
      <address>
        <email>dev@ddvo.net</email>
      </address>
    </author>
    <author initials="D." surname="Harkins" fullname="Dan Harkins">
      <organization>The Industrial Lounge</organization>
      <address>
        <email>dharkins@lounge.org</email>
      </address>
    </author>
    <date year="2022" month="March" day="07"/>
    <area>Internet</area>
    <workgroup>LAMPS Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>Enrollment over Secure Transport (EST) is ambiguous in specification of the CSR Attributes Response.
This has resulted in implementation challenges and implementor confusion.
This document updates EST and clarifies how the CSR Attributes Response can be used by an EST server to specify both CSR attribute OIDs and also CSR attribute values that the server expects the client to include in its CSR request.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>Enrollment over Secure Transport <xref target="RFC7030" format="default"/> (EST) has been used in a wide variety of applications.
In particular, <xref target="RFC8994" format="default"/> and <xref target="RFC8995" format="default"/> describe a way to use it in order to build out an autonomic control plane (ACP) <xref target="RFC8368" format="default"/>.</t>
      <t>The ACP requires that each node be given a very specific SubjectAltName.
In the ACP specification, the solution was for the EST server to use section 2.6 of <xref target="RFC7030" format="default"/> to convey to the EST client the actual SubjectAltName that will end up in its certificate.</t>
      <t>As a result of some implementation challenges, it came to light that this particular way of using the CSR attributes was not universally agreed upon, and in fact runs contrary to section 2.6.
Section 2.6 says that the CSR attributes "provide additional descriptive information that the EST server cannot access itself".
This extends to specifying that a particular attribute should exist, but not to the point of having the EST server actually specify the value.</t>
      <t>The way in which the CSRattributes were understood by <xref target="RFC8994" format="default"/> turns out to be invalid.
This document, therefore, updates section 2.6 to define this behavior.</t>
      <t>This document also updates section 4.5 to include revised ASN.1 that covers all uses and is backward compatible with the existing use.</t>
      <t>Additional examples are provided in an appendix.</t>
    </section>
    <section anchor="csr-attributes-handling" numbered="true" toc="default">
      <name>CSR Attributes Handling</name>
      <section anchor="current-est-specification" numbered="true" toc="default">
        <name>Current EST Specification</name>
        <t>The ASN.1 for CSR Attributes as defined in EST section 4.5.2 is:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
   CsrAttrs ::= SEQUENCE SIZE (0..MAX) OF AttrOrOID

   AttrOrOID ::= CHOICE (oid OBJECT IDENTIFIER, attribute Attribute }

   Attribute { ATTRIBUTE:IOSet } ::= SEQUENCE {
        type   ATTRIBUTE.&id({IOSet}),
        values SET SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{@type}) }
]]></artwork>
        <t>That section also states the following:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
   the values indicating the particular
   attributes desired to be included in the resulting certificate's
   extensions
]]></artwork>
        <t>This has been interpreted by some implementations as meaning that the CSR Attributes response can only include values for the attribute OIDs that the client should include in its CSR, and cannot include the actual values of those attributes.
This is further reinforced by the example:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
   Attribute:  type = extensionRequest (1.2.840.113549.1.9.14)
                      value = macAddress (1.3.6.1.1.1.1.22)
]]></artwork>
        <t>This example illustrates that the 'value' specified is an attribute OID, for example the macAddress OID, and not the value (such as "10-00-00-12-23-45") of the attribute itself.</t>
        <t>There is no clearly documented mechanism with supporting examples that specifies how a CSR Attributes response can include a value for a given attribute such as SubjectAltName.</t>
        <t>EST section 4.5.2 also states the following:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
   The structure of the CSR Attributes Response SHOULD, to the
   greatest extent possible, reflect the structure of the CSR
   it is requesting.
]]></artwork>
        <t>This statement aligns closely with the goal of this document.
Additionally, EST Extensions <xref target="RFC8295" format="default"/> Appendix A has an informative appendix that outlines how a full CSR can be included in the CSR Attributes response.</t>
      </section>
    </section>
    <section anchor="updated-csr-attributes-handling" numbered="true" toc="default">
      <name>Updated CSR Attributes Handling</name>
      <t>The WG will pick one option as part of the adoption call.</t>
      <section anchor="option-two-extend-csr-structure-to-allow-values" numbered="true" toc="default">
        <name>Option two: Extend CSR structure to allow values:</name>
        <t>This ASN.1 needs fixing.</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
   CsrAttrs ::= SEQUENCE SIZE (0..MAX) OF AttrOrOID

   AttrOrOID ::= CHOICE (oid OBJECT IDENTIFIER,
                         attribute Attribute,
                         value Value }

   Attribute { ATTRIBUTE:IOSet } ::= SEQUENCE {
        extType  ATTRIBUTE.&id({IOSet}),
        extAttr  SET SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{@type})
   }

   Value { ATTRIBUTE:IOSet } ::= SEQUENCE {
        extType  ATTRIBUTE.&id({IOSet}),
        type     ATTRIBUTE.&Type({IOSet}{@type}),
        value    OCTET STRING
   }
]]></artwork>
        <t>This would just add a value to the SEQUENCE:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
     OBJECT challengePassword
     SEQUENCE
       OBJECT subjectAltName
       SET
         OBJECT someACPgoo
     SEQUENCE
       OBJECT id-ecPublicKey
       SET
         OBJECT secp384r1
         OBJECT ecdsa-with-SHA384
]]></artwork>
        <t>For example:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  0  30: SEQUENCE {
  2  28:   SEQUENCE {
  4   3:     OBJECT IDENTIFIER subjectAltName (2 5 29 17)
  9  21:     SET {
 11  19:       [1] {
 13  17:         UTF8String 'hello@example.com'
       :         }
       :       }
       :     }
       :   }
]]></artwork>
      </section>
      <section anchor="option-three-explicit-content-for-the-key-specification" numbered="true" toc="default">
        <name>Option three: explicit content for the key specification</name>
        <t>The following options support complete and unambiguous specification of</t>
        <ul spacing="normal">
          <li>CSR ingredients optionally including values to use,</li>
          <li>the type of the public key, which is given in the form of a public-key algorithm,</li>
          <li>and the hash algorithm to use for the self-signature.</li>
        </ul>
        <t>CSR ingredients may be the subject DN, any X.509 extensions,
and special attributes like a challenge password.</t>
        <t>For specifying the type of keys allowed in CSRs,
they use a to-the-point <tt>KeySpec</tt> type.
It can be defined for instance as</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
   KeySpec ::= CHOICE {
                   keyAlg AlgorithmIdentifier,
                   rsaKeyLen INTEGER
   }
]]></artwork>
        <t>The <tt>keyAlg</tt> type use used to specify public-key alorithms
and can include parameters, such as the name of an elliptic curve.
The <tt>rsaKeyLen</tt> choice allows specifying the size of RSA keys,
which it is not possible using values of type <tt>AlgorithmIdentifier</tt>.</t>
        <t>The <tt>keySpec</tt> could also be sequence of such specs,
such that the server can give several key types from which the client can choose,
e.g., EC keys on certain curves and/or RSA keys of certain sizes.</t>
        <t>Stick for syntactic backward compatibility with</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
    CsrAttrs ::= SEQUENCE SIZE (0..MAX) OF AttrOrOID
]]></artwork>
        <t>Each OID given in AttrOrOID must occur only once.</t>
        <t>Plain OIDs are used mostly for challengePassword.</t>
        <t>Attributes are used mostly for any X.509 extensions, subject DN, key spec, and hash alg,
while defining new generally usable OIDs for</t>
        <ul spacing="normal">
          <li>a subject DN    of type <tt>Name</tt></li>
          <li>a key spec      of type <tt>KeySpec</tt></li>
          <li>a hash alg spec of type <tt>AlgorithmIdentifier</tt></li>
        </ul>
        <t>to be given on demand as attribute IDs of type <tt>ATTRIBUTE.&amp;id({IOSet})</tt>.</t>
      </section>
      <section anchor="option-four-explicit-members-for-unique-attributes" numbered="true" toc="default">
        <name>Option four: explicit members for unique attributes</name>
        <t>Define a new and more to-the-point type, which does not require new OIDs:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
   CsrAttrs ::= SEQUENCE {
        oids      SEQUENCE OF OBJECT IDENTIFIER,
        attrs     SEQUENCE OF Attribute,
        subject   [0] Name OPTIONAL,
        keySpec   [1] KeySpec OPTIONAL,
        hashAlg   [2] AlgorithmIdentifier OPTIONAL

   }
]]></artwork>
        <t>Each OID given in oids or attrs must occur only once.</t>
        <t>The oids are used mostly for requiring a challenge password.</t>
        <t>The atttrs are used mostly for requiring certain X.509 extensions.</t>
        <t>This is, typically just challengePassword and extensionRequest are used.</t>
      </section>
      <section anchor="option-five-more-specific-structure-simpler-extensions" numbered="true" toc="default">
        <name>Option five: more specific structure, simpler extensions</name>
        <t>Define a new fully to-the-point type, which does not require any (direct) OIDs:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
   CsrAttrs ::= SEQUENCE {
        subject               Name OPTIONAL,
        extensions            SEQUENCE OF Extension,
        challengePassword     BOOLEAN,
        keySpec           [0] KeySpec OPTIONAL,
        hashAlg           [1] AlgorithmIdentifier OPTIONAL

   }
]]></artwork>
      </section>
    </section>
    <section anchor="co-existence-with-existing-implementations" numbered="true" toc="default">
      <name>Co-existence with existing implementations</name>
      <t>There are some ways in which the new CSRattributes could co-exist with RFC7030.</t>
      <section anchor="use-a-new-mime-type" numbered="true" toc="default">
        <name>Use a new MIME type</name>
        <t>The client can signal that it supports the new attribute format by using an Accept: header in the transaction.
This acts as a signal to a server that it can/should return the attributes in the new format.</t>
      </section>
      <section anchor="use-a-new-end-point-of-the-new-format" numbered="true" toc="default">
        <name>Use a new end point of the new format</name>
        <t>Clients that want to use the new format would use a new end point, such as "csrvalues"
which would only support the new format.
A client which supported both would have to try both "csrvalues" and then fall back "csrattrs" if the EST server did not support the new format.
Some uses (such as <xref target="RFC8994" format="default"/>) require the new format, so if it was not suppored, that would be a protocol error.</t>
      </section>
      <section anchor="insist-new-format-is-upwardly-compatible-with-old-format" numbered="true" toc="default">
        <name>Insist new format is upwardly compatible with old format</name>
        <t>ASN.1 encoding is self-describing, and some formats proposed above could possibly be parsed by legacy clients without a problem.</t>
      </section>
      <section anchor="return-new-format-to-new-clients-only" numbered="true" toc="default">
        <name>Return new format to new clients only</name>
        <t>The Registrar may know which clients are which by the kind of authentication that they do.
An <xref target="RFC8994" format="default"/> client which has just performed a <xref target="RFC8995" format="default"/> enrollment would be assumed to require the new format only.
A client which authenticates with an LDevID for a renewal would be strongly identified, and the Registrar could be programmed whether to return new format, or legacy CSR attributes.</t>
      </section>
    </section>
    <section anchor="whether-or-not-to-base64-encoding-of-results" numbered="true" toc="default">
      <name>Whether or not to Base64 encoding of results</name>
      <t><xref target="RFC8951" format="default"/> clarified that the csrattrs end point was to be Base64 encoded even though the HTTP transport was 8-bit clean.</t>
      <t>If this document establishes a new end point, then the new end point will not be base64 encoded according to current HTTP usage.</t>
    </section>
    <section anchor="examples" numbered="true" toc="default">
      <name>Examples</name>
      <section anchor="rfc8994acp-subjectaltname-with-specific-othername-included" numbered="true" toc="default">
        <name>RFC8994/ACP subjectAltName with specific otherName included</name>
        <t>TBD</t>
      </section>
      <section anchor="est-server-requires-public-keys-of-a-specific-size" numbered="true" toc="default">
        <name>EST server requires public keys of a specific size</name>
        <t>TBD</t>
      </section>
      <section anchor="est-server-requires-a-public-key-of-a-specific-algorithmcurve" numbered="true" toc="default">
        <name>EST server requires a public key of a specific algorithm/curve</name>
        <t>TBD</t>
      </section>
      <section anchor="est-server-requires-a-specific-extension-to-be-present" numbered="true" toc="default">
        <name>EST server requires a specific extension to be present</name>
        <t>TBD</t>
      </section>
    </section>
    <section anchor="security-considerations" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>All security considertions from EST <xref target="RFC7030" format="default"/> section 6 are applicable.</t>
      <section anchor="identity-and-privacy-considerations" numbered="true" toc="default">
        <name>Identity and Privacy Considerations</name>
        <t>An EST server may use this mechanism to instruct the EST client about the identities it should include in the CSR it sends as part of enrollment.
The client may only be aware of its IDevID Subject, which includes a manufacturer serial number.
The EST server can use this mechanism to tell the client to include a specific fully qualified domain name in the CSR in order to complete domain ownership proofs required by the CA.
Additionally, the EST server may deem the manufacturer serial number in an IDevID as personally identifiable information, and may want to specify a new random opaque identifier that the pledge should use in its CSR.
This may be desirable if the CA and EST server have different operators.</t>
      </section>
    </section>
    <section anchor="iana-considerations" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>None.</t>
    </section>
    <section anchor="acknowledgements" numbered="true" toc="default">
      <name>Acknowledgements</name>
      <t>TODO</t>
    </section>
    <section anchor="changelog" numbered="true" toc="default">
      <name>Changelog</name>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="BCP14" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC7030" target="https://www.rfc-editor.org/info/rfc7030">
          <front>
            <title>Enrollment over Secure Transport</title>
            <author fullname="M. Pritikin" initials="M." role="editor" surname="Pritikin">
              <organization/>
            </author>
            <author fullname="P. Yee" initials="P." role="editor" surname="Yee">
              <organization/>
            </author>
            <author fullname="D. Harkins" initials="D." role="editor" surname="Harkins">
              <organization/>
            </author>
            <date month="October" year="2013"/>
            <abstract>
              <t>This document profiles certificate enrollment for clients using Certificate Management over CMS (CMC) messages over a secure transport.  This profile, called Enrollment over Secure Transport (EST), describes a simple, yet functional, certificate management protocol targeting Public Key Infrastructure (PKI) clients that need to acquire client certificates and associated Certification Authority (CA) certificates.  It also supports client-generated public/private key pairs as well as key pairs generated by the CA.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7030"/>
          <seriesInfo name="DOI" value="10.17487/RFC7030"/>
        </reference>
        <reference anchor="RFC8994" target="https://www.rfc-editor.org/info/rfc8994">
          <front>
            <title>An Autonomic Control Plane (ACP)</title>
            <author fullname="T. Eckert" initials="T." role="editor" surname="Eckert">
              <organization/>
            </author>
            <author fullname="M. Behringer" initials="M." role="editor" surname="Behringer">
              <organization/>
            </author>
            <author fullname="S. Bjarnason" initials="S." surname="Bjarnason">
              <organization/>
            </author>
            <date month="May" year="2021"/>
            <abstract>
              <t>Autonomic functions need a control plane to communicate, which depends on some addressing and routing.  This Autonomic Control Plane should ideally be self-managing and be as independent as possible of configuration.  This document defines such a plane and calls it the "Autonomic Control Plane", with the primary use as a control plane for autonomic functions.  It also serves as a "virtual out-of-band channel" for Operations, Administration, and Management (OAM) communications over a network that provides automatically configured, hop-by-hop authenticated and encrypted communications via automatically configured IPv6 even when the network is not configured or is misconfigured.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8994"/>
          <seriesInfo name="DOI" value="10.17487/RFC8994"/>
        </reference>
        <reference anchor="RFC8995" target="https://www.rfc-editor.org/info/rfc8995">
          <front>
            <title>Bootstrapping Remote Secure Key Infrastructure (BRSKI)</title>
            <author fullname="M. Pritikin" initials="M." surname="Pritikin">
              <organization/>
            </author>
            <author fullname="M. Richardson" initials="M." surname="Richardson">
              <organization/>
            </author>
            <author fullname="T. Eckert" initials="T." surname="Eckert">
              <organization/>
            </author>
            <author fullname="M. Behringer" initials="M." surname="Behringer">
              <organization/>
            </author>
            <author fullname="K. Watsen" initials="K." surname="Watsen">
              <organization/>
            </author>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document specifies automated bootstrapping of an Autonomic Control Plane.  To do this, a Secure Key Infrastructure is bootstrapped.  This is done using manufacturer-installed X.509 certificates, in combination with a manufacturer's authorizing service, both online and offline.  We call this process the Bootstrapping Remote Secure Key Infrastructure (BRSKI) protocol. Bootstrapping a new device can occur when using a routable address and a cloud service, only link-local connectivity, or limited/disconnected networks. Support for deployment models with less stringent security requirements is included. Bootstrapping is complete when the cryptographic identity of the new key infrastructure is successfully deployed to the device.  The established secure connection can be used to deploy a locally issued certificate to the device as well.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8995"/>
          <seriesInfo name="DOI" value="10.17487/RFC8995"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC8368" target="https://www.rfc-editor.org/info/rfc8368">
          <front>
            <title>Using an Autonomic Control Plane for Stable Connectivity of Network Operations, Administration, and Maintenance (OAM)</title>
            <author fullname="T. Eckert" initials="T." role="editor" surname="Eckert">
              <organization/>
            </author>
            <author fullname="M. Behringer" initials="M." surname="Behringer">
              <organization/>
            </author>
            <date month="May" year="2018"/>
            <abstract>
              <t>Operations, Administration, and Maintenance (OAM), as per BCP 161, for data networks is often subject to the problem of circular dependencies when relying on connectivity provided by the network to be managed for the OAM purposes.</t>
              <t>Provisioning while bringing up devices and networks tends to be more difficult to automate than service provisioning later on.  Changes in core network functions impacting reachability cannot be automated because of ongoing connectivity requirements for the OAM equipment itself, and widely used OAM protocols are not secure enough to be carried across the network without security concerns.</t>
              <t>This document describes how to integrate OAM processes with an autonomic control plane in order to provide stable and secure connectivity for those OAM processes.  This connectivity is not subject to the aforementioned circular dependencies.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8368"/>
          <seriesInfo name="DOI" value="10.17487/RFC8368"/>
        </reference>
        <reference anchor="RFC8295" target="https://www.rfc-editor.org/info/rfc8295">
          <front>
            <title>EST (Enrollment over Secure Transport) Extensions</title>
            <author fullname="S. Turner" initials="S." surname="Turner">
              <organization/>
            </author>
            <date month="January" year="2018"/>
            <abstract>
              <t>The EST (Enrollment over Secure Transport) protocol defines the Well-Known URI (Uniform Resource Identifier) -- /.well-known/est -- along with a number of other path components that clients use for PKI (Public Key Infrastructure) services, namely certificate enrollment (e.g., /simpleenroll).  This document defines a number of other PKI services as additional path components -- specifically, firmware and trust anchors as well as symmetric, asymmetric, and encrypted keys. This document also specifies the PAL (Package Availability List), which is an XML (Extensible Markup Language) file or JSON (JavaScript Object Notation) object that clients use to retrieve packages available and authorized for them.  This document extends the EST server path components to provide these additional services.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8295"/>
          <seriesInfo name="DOI" value="10.17487/RFC8295"/>
        </reference>
        <reference anchor="RFC8951" target="https://www.rfc-editor.org/info/rfc8951">
          <front>
            <title>Clarification of Enrollment over Secure Transport (EST): Transfer Encodings and ASN.1</title>
            <author fullname="M. Richardson" initials="M." surname="Richardson">
              <organization/>
            </author>
            <author fullname="T. Werner" initials="T." surname="Werner">
              <organization/>
            </author>
            <author fullname="W. Pan" initials="W." surname="Pan">
              <organization/>
            </author>
            <date month="November" year="2020"/>
            <abstract>
              <t>This document updates RFC 7030: Enrollment over Secure Transport to resolve some errata that were reported and that have proven to cause interoperability issues when RFC 7030 was extended.</t>
              <t>This document deprecates the specification of "Content-Transfer-Encoding" headers for Enrollment over Secure Transport (EST) endpoints. This document fixes some syntactical errors in ASN.1 that were present.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8951"/>
          <seriesInfo name="DOI" value="10.17487/RFC8951"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
