<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 2.7.4) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc compact="yes"?>
<?rfc iprnotified="no"?>
<?rfc strict="yes"?>

<rfc ipr="trust200902" docName="draft-ietf-anima-brski-ae-05" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="BRSKI-AE">BRSKI-AE: Alternative Enrollment Protocols in BRSKI</title>

    <author initials="D." surname="von&nbsp;Oheimb" fullname="David von&nbsp;Oheimb" role="editor">
      <organization abbrev="Siemens">Siemens AG</organization>
      <address>
        <postal>
          <street>Otto-Hahn-Ring 6</street>
          <city>Munich</city>
          <code>81739</code>
          <country>Germany</country>
        </postal>
        <email>david.von.oheimb@siemens.com</email>
        <uri>https://www.siemens.com/</uri>
      </address>
    </author>
    <author initials="S." surname="Fries" fullname="Steffen Fries">
      <organization abbrev="Siemens">Siemens AG</organization>
      <address>
        <postal>
          <street>Otto-Hahn-Ring 6</street>
          <city>Munich</city>
          <code>81739</code>
          <country>Germany</country>
        </postal>
        <email>steffen.fries@siemens.com</email>
        <uri>https://www.siemens.com/</uri>
      </address>
    </author>
    <author initials="H." surname="Brockhaus" fullname="Hendrik Brockhaus">
      <organization abbrev="Siemens">Siemens AG</organization>
      <address>
        <postal>
          <street>Otto-Hahn-Ring 6</street>
          <city>Munich</city>
          <code>81739</code>
          <country>Germany</country>
        </postal>
        <email>hendrik.brockhaus@siemens.com</email>
        <uri>https://www.siemens.com/</uri>
      </address>
    </author>

    <date year="2023"/>

    <area>Operations and Management</area>
    <workgroup>ANIMA WG</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document defines an enhancement of
Bootstrapping Remote Secure Key Infrastructure (BRSKI, RFC 8995)
that supports alternative certificate enrollment protocols, such as CMP.
This offers the following advantages.</t>

<t>Using authenticated self-contained signed objects
for certification requests and responses,
their origin can be authenticated independently of message transfer.
This supports end-to-end authentication (proof of origin) also over
multiple hops, as well as asynchronous operation of certificate enrollment.
This in turn provides architectural flexibility where to
ultimately authenticate and authorize certification requests while retaining
full-strength integrity and authenticity of certification requests.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-anima-brski-ae/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/anima-wg/anima-brski-ae"/>.</t>
    </note>


  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>BRSKI <xref target="RFC8995"/> is typically used with EST as the enrollment protocol
for device certificates employing HTTP over TLS for its message transfer.
BRSKI-AE is a variant using alternative enrollment protocols with
authenticated self-contained objects for device certificate enrollment.
<!--
This enhancement of BRSKI is named BRSKI-AE, where AE stands for
**A**lternative **E**nrollment.
(while originally it was used to abbreviate **A**synchronous **E**nrollment)
--></t>

<t>This specification carries over the main characteristics of BRSKI, namely:</t>

<t><list style="symbols">
  <t>The pledge is assumed to have got IDevID credentials during its production.
It uses them to authenticate itself to the MASA, the Manufacturer Authorized
Signing Authority, and to the registrar, the access point of the target domain,
and to possibly further components of the domain where it will be operated.</t>
  <t>The pledge first obtains via the voucher exchange a trust anchor
for authenticating entities in the domain such as the domain registrar.</t>
  <t>The pledge then generates a device private key, called the LDevID secret,
and obtains a domain-specific device certificate, called the LDevID certificate,
along with its certificate chain.</t>
</list></t>

<t>The goals of BRSKI-AE are to provide an enhancement of BRSKI for
LDevID certificate enrollment using, alternatively to EST, a protocol that</t>

<t><list style="symbols">
  <t>supports end-to-end authentication over multiple hops</t>
  <t>enables secure message exchange over any kind of transfer,
including asynchronous delivery.</t>
</list></t>

<t>Note: The BRSKI voucher exchange of the pledge with the registrar and MASA
uses authenticated self-contained objects,
so the voucher exchange already has these properties.</t>

<t>The well-known URI approach of BRSKI and EST messages is extended
with an additional path element indicating the enrollment protocol being used.
<!--- not really: and
* defining a certificate waiting indication and handling, for the case that the
  certifying component is (temporarily) not available.
--></t>

<t>Based on the definition of the overall approach and specific endpoints,
this specification enables the registrar to offer multiple enrollment protocols,
from which pledges and their developers can then pick the most suitable one.</t>

<t>Note: BRSKI (RFC 8995) specifies how to use HTTP over TLS, but further variants
are known, such as
Constrained BRSKI <xref target="I-D.ietf-anima-constrained-voucher"/> using CoAP over DTLS.
In the sequel, 'HTTP' and 'TLS' are just references to the most common case,
where variants such as using CoAP and/or DTLS are meant to be subsumed -
the differences are not relevant here.</t>

<section anchor="sup-env"><name>Supported Scenarios</name>

<t>BRSKI-AE is intended to be used situations like the following.</t>

<t><list style="symbols">
  <t>pledges and/or the target domain reusing an already established
certificate enrollment protocol different from EST, such as CMP</t>
  <t>scenarios indirectly excluding the use of EST for certificate enrollment,
such as:
  <list style="symbols">
      <t>the RA not being co-located with the registrar while requiring end-to-end
authentication of requesters, which EST does not support over multiple hops</t>
      <t>the RA or CA operator requiring auditable proof of origin of CSRs, which is
not possible neither with the transient source authentication provided by TLS.</t>
      <t>certificate requests for types of keys that do not support signing,
such as KEM and key agreement keys, which is not supported by EST because
it uses PKCS#10 CSRs expecting proof-of-possession via a self-signature</t>
      <t>pledge implementations using security libraries not providing EST support or
a TLS library that does not support providing the so-called tls-unique value
<xref target="RFC5929"/> needed by EST for strong binding of the source authentication</t>
    </list></t>
  <t>no full RA functionality being available on-site in the target domain, while
connectivity to an off-site RA may be intermittent or entirely offline.
<!-- in the latter case a message store-and-forward mechanism is needed. --></t>
  <t>authoritative actions of a local RA at the registrar being not sufficient
for fully and reliably authorizing pledge certification requests, which
may be due to missing data access or due to an insufficient level of security,
for instance regarding the local storage of private keys
<!-- Final authorization then is done by a RA residing in the backend. --></t>
</list></t>

</section>
<section anchor="list-examples"><name>List of Application Examples</name>

<t>Bootstrapping can be handled in various ways,
depending on the application domains.
The informative <xref target="app-examples"/> provides illustrative examples from
various industrial control system environments and operational setups.
They motivate the support of alternative enrollment protocols,
based on the following examples of operational environments:</t>

<t><list style="symbols">
  <t>rolling stock</t>
  <t>building automation</t>
  <t>electrical substation automation</t>
  <t>electric vehicle charging infrastructures</t>
  <t>infrastructure isolation policy</t>
  <t>sites with insufficient level of operational security</t>
</list></t>

</section>
</section>
<section anchor="terminology"><name>Terminology</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<t>This document relies on the terminology defined in <xref target="RFC8995"/>, <xref target="RFC5280"/>,
and <xref target="IEEE_802.1AR-2018"/>.
The following terms are described partly in addition.</t>

<dl>
  <dt>asynchronous communication:</dt>
  <dd>
    <t>time-wise interrupted delivery of messages,
here between a pledge and the registrar or an RA</t>
  </dd>
  <dt>authenticated self-contained object:</dt>
  <dd>
    <t>data structure that is cryptographically bound to the identity of
its originator by an attached digital signature on the actual object,
using a private key of the originator such as the IDevID secret.</t>
  </dd>
  <dt>backend:</dt>
  <dd>
    <t>placement of a domain component separately from the domain registrar;
may be on-site or off-site</t>
  </dd>
  <dt>BRSKI-AE:</dt>
  <dd>
    <t>BRSKI with <strong>A</strong>lternative <strong>E</strong>nrollment, a variation of BRSKI <xref target="RFC8995"/>
in which BRSKI-EST, the enrollment protocol between pledge and the registrar,
is replaced by enrollment protocols that support end-to-end authentication
of the pledge to the RA, such as Lightweight CMP.</t>
  </dd>
  <dt>local RA (LRA):</dt>
  <dd>
    <t>a subordinate RA that is close to entities being enrolled and separate from
a subsequent RA.  In BRSKI-AE it is needed if a backend RA is used,
and in this case the LRA is co-located with the registrar.</t>
  </dd>
  <dt>LCMPP:</dt>
  <dd>
    <t>Lightweight CMP Profile <xref target="I-D.ietf-lamps-lightweight-cmp-profile"/></t>
  </dd>
  <dt>on-site:</dt>
  <dd>
    <t>locality of a component or service or functionality
at the site of the registrar</t>
  </dd>
  <dt>off-site:</dt>
  <dd>
    <t>locality of component or service or functionality, such as RA or CA,
not at the site of the registrar.
This may be a central site or a cloud service,
to which connection may be intermittent.</t>
  </dd>
  <dt>pledge:</dt>
  <dd>
    <t>device that is to be bootstrapped to a target domain.
It requests an LDevID, a Locally significant Device IDentifier,
using IDevID credentials installed by its manufacturer.</t>
  </dd>
  <dt>RA:</dt>
  <dd>
    <t>Registration Authority, the PKI component to which
a CA typically delegates certificate management functions
such as authenticating pledges and performing authorization checks
on certification requests</t>
  </dd>
  <dt>registrar:</dt>
  <dd>
    <t>short for domain registrar</t>
  </dd>
  <dt>site:</dt>
  <dd>
    <t>the locality where an entity, such as a pledge, registrar, or PKI component
is deployed.  The target domain may have multiple sites.</t>
  </dd>
  <dt>synchronous communication:</dt>
  <dd>
    <t>time-wise uninterrupted delivery of messages,
here between a pledge and a registrar or PKI component</t>
  </dd>
  <dt>target domain:</dt>
  <dd>
    <t>the domain that a pledge is going to be bootstrapped to</t>
  </dd>
</dl>

</section>
<section anchor="req-sol"><name>Basic Requirements and Mapping to Solutions</name>

<t>Based on the intended target scenarios described in <xref target="sup-env"/> and
the application examples described in <xref target="app-examples"/>, the following
requirements are derived to support authenticated self-contained objects
as containers carrying certification requests.</t>

<t>At least the following properties are required for a certification request:</t>

<t><list style="symbols">
  <t>Proof of possession: demonstrates access to the private
key corresponding to the public key contained in a certification request.
This is typically achieved by a self-signature using the corresponding
private key but can also be achieved indirectly, see <xref section="4.3" sectionFormat="comma" target="RFC4210"/>.</t>
  <t>Proof of identity, also called proof of origin:
provides data origin authentication of the certification request.
Typically this is achieved by a signature using the pledge IDevID secret
over some data, which needs to include a sufficiently strong identifier
of the pledge, such as the device serial number
typically included in the subject of the IDevID certificate.</t>
</list></t>

<t>The rest of this section gives an non-exhaustive list of solution examples,
based on existing technology described in IETF documents:</t>

<section anchor="solutions-PoP"><name>Solution Options for Proof of Possession</name>

<t>Certificate signing request (CSR) objects: CSRs are
  data structures protecting only the integrity of the contained data
  and providing proof of possession for a (locally generated) private key.
  Important types of CSR data structures are:</t>

<t><list style="symbols">
  <t>PKCS#10 <xref target="RFC2986"/>. This very common form of CSR is
self-signed to protect its integrity and to prove possession of
the private key that corresponds to the public key included in the request.</t>
  <t>CRMF <xref target="RFC4211"/>. This less common but more general CSR format
supports several ways of integrity protection and proof of possession-
Typically a self-signature is used generated over (part of) the structure
with the private key corresponding to the included public key.
CRMF also supports further proof-of-possession methods for types of keys
that do not have signing capability. For details see <xref section="4" sectionFormat="comma" target="RFC4211"/>.</t>
</list></t>

<t>Note: The integrity protection of CSRs includes the public key
  because it is part of the data signed by the corresponding private key.
  Yet this signature does not provide data origin authentication, i.e.,
  proof of identity of the requester because the key pair involved is fresh.
  <!-- already covered by the next paragraph:
  This extra property can be
  achieved by an additional binding to the IDevID of the pledge.
  This binding to the source authentication supports the
  authorization decision of the certification request.
  --></t>

</section>
<section anchor="solutions-PoI"><name>Solution Options for Proof of Identity</name>

<t>Binding a certificate signing request (CSR) to an existing authenticated
  credential (the BRSKI context, the IDevID certificate) enables
  proof of origin, which in turn supports an authorization decision on the CSR.</t>

<t>The binding of data origin authentication to the CSR
  is typically delegated to the protocol used for certificate management.
  This binding may be achieved through security options in an
  underlying transport protocol such as TLS if the authorization of the
  certification request is (sufficiently) done at the next communication hop.
  Depending on the key type, the binding can also be done in a stronger,
  transport-independent way by wrapping the CSR with a signature.</t>

<t>This requirement is addressed by existing enrollment protocols
  in various ways, such as:</t>

<t><list style="symbols">
  <t>EST <xref target="RFC7030"/>, also its variant EST-coaps <xref target="RFC9148"/>,
utilizes PKCS#10 to encode Certificate Signing Requests (CSRs).
While such a CSR was not designed
to include a proof of origin, there is a limited, indirect way of
binding it to the source authentication of the underlying TLS session.
This is achieved by including in the CSR the tls-unique value <xref target="RFC5929"/>
resulting from the TLS handshake.  As this is optionally supported
by the EST <spanx style="verb">"/simpleenroll"</spanx> endpoint used in BRSKI
and the TLS handshake employed in BRSKI includes certificate-based client
authentication of the pledge with its IDevID credentials, the proof of
pledge identity being an authenticated TLS client can be bound to the CSR.  <vspace blankLines='1'/>
Yet this binding is only valid in the context of the TLS session
established with the registrar acting as the EST server and typically also
as an RA.  So even such a cryptographic binding of the authenticated
pledge identity to the CSR is not visible nor verifiable to
authorization points outside the registrar, such as a RA in the backend.
What the registrar must do is to authenticate and pre-authorize the pledge
and to indicate this to the RA
by signing the forwarded certificate request with its private key and
a related certificate that has the id-kp-cmcRA extended key usage attribute.  <vspace blankLines='1'/>
<xref section="2.5" sectionFormat="comma" target="RFC7030"/> sketches wrapping PKCS#10-formatted CSRs
with a Full PKI Request message sent to the <spanx style="verb">"/fullcmc"</spanx> endpoint.
This would allow for source authentication at message level, such that
the registrar could forward it to external RAs in a meaningful way.
This approach is so far not sufficiently described
and likely has not been implemented.</t>
</list></t>

<!--
Note that, besides the existing enrollment protocols, there is
ongoing work in the ACE WG to define an encapsulation of EST messages
in OSCORE, which will result in a TLS-independent way of protecting EST.
This approach {{draft.selander-ace-coap-est-oscore}}
may be considered as a further variant.
-->

<t><list style="symbols">
  <t>SCEP <xref target="RFC8894"/> supports using a shared secret (passphrase) or
an existing certificate to protect CSRs based on
SCEP Secure Message Objects using CMS wrapping
(<xref target="RFC5652"/>). Note that the wrapping using
an existing IDevID in SCEP is referred to as 'renewal'.
This way
SCEP does not rely on the security of the underlying message transfer.</t>
  <t>CMP <xref target="RFC4210"/> supports using a shared secret (passphrase) or an existing
certificate, which may be an IDevID credential, to authenticate
certification requests via the PKIProtection structure in a PKIMessage.
The certification request is typically encoded utilizing CRMF,
while PKCS#10 is supported as an alternative.
Thus, CMP does not rely on the security of the underlying message transfer.</t>
  <t>CMC <xref target="RFC5272"/> also supports utilizing a shared secret (passphrase) or
an existing certificate to protect certification requests,
which can be either in CRMF or PKCS#10 structure.
The proof of identity can be provided as part of a FullCMCRequest,
based on CMS <xref target="RFC5652"/> and signed with an existing IDevID secret.
Thus
also CMC does not rely on the security of the underlying message transfer.</t>
</list></t>

</section>
</section>
<section anchor="uc1"><name>Adaptations to BRSKI</name>

<t>To enable using alternative certificate enrollment protocols supporting end-to-end
authentication, asynchronous enrollment, and more general system architectures,
BRSKI-AE provides some generalizations on BRSKI <xref target="RFC8995"/>.
This way, authenticated self-contained objects such as those described in
<xref target="req-sol"/> above can be used for certificate enrollment,
and RA functionality can be distributed freely in the target domain.</t>

<t>The enhancements needed are kept to a minimum in order to ensure reuse of
already defined architecture elements and interactions.
In general, the communication follows the BRSKI model and utilizes the existing
BRSKI architecture elements.
In particular, the pledge initiates communication with the domain registrar and
interacts with the MASA as usual for voucher request and response processing.</t>

<section anchor="architecture"><name>Architecture</name>

<t>The key element of BRSKI-AE is that the authorization of a certification request
<bcp14>MUST</bcp14> be performed based on an authenticated self-contained object.
The certification request is bound in a self-contained way
to a proof of origin based on the IDevID credentials.
Consequently, the certification request may be transferred using any mechanism
or protocol. Authentication and authorization of the certification request
can be done by the domain registrar and/or by backend domain components.
As mentioned in <xref target="sup-env"/>, these components may be offline or off-site.
The registrar and other on-site domain components
may have no or only temporary (intermittent) connectivity to them.</t>

<t>This leads to generalizations in the
placement and enhancements of the logical elements as shown in <xref target="uc1figure"/>.</t>

<figure title="Architecture Overview Using Backend PKI Components" anchor="uc1figure"><artset><artwork  type="svg" align="left"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="560" width="544" viewBox="0 0 544 560" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
<path d="M 8,208 L 8,336" fill="none" stroke="black"/>
<path d="M 32,48 L 32,200" fill="none" stroke="black"/>
<path d="M 32,464 L 32,512" fill="none" stroke="black"/>
<path d="M 80,208 L 80,336" fill="none" stroke="black"/>
<path d="M 112,464 L 112,512" fill="none" stroke="black"/>
<path d="M 152,240 L 152,304" fill="none" stroke="black"/>
<path d="M 160,464 L 160,512" fill="none" stroke="black"/>
<path d="M 216,240 L 216,304" fill="none" stroke="black"/>
<path d="M 304,240 L 304,304" fill="none" stroke="black"/>
<path d="M 336,32 L 336,144" fill="none" stroke="black"/>
<path d="M 376,312 L 376,456" fill="none" stroke="black"/>
<path d="M 424,240 L 424,304" fill="none" stroke="black"/>
<path d="M 456,72 L 456,144" fill="none" stroke="black"/>
<path d="M 472,152 L 472,256" fill="none" stroke="black"/>
<path d="M 504,464 L 504,512" fill="none" stroke="black"/>
<path d="M 536,32 L 536,144" fill="none" stroke="black"/>
<path d="M 336,32 L 536,32" fill="none" stroke="black"/>
<path d="M 32,48 L 144,48" fill="none" stroke="black"/>
<path d="M 224,48 L 328,48" fill="none" stroke="black"/>
<path d="M 336,64 L 536,64" fill="none" stroke="black"/>
<path d="M 336,144 L 536,144" fill="none" stroke="black"/>
<path d="M 8,208 L 80,208" fill="none" stroke="black"/>
<path d="M 152,240 L 216,240" fill="none" stroke="black"/>
<path d="M 304,240 L 424,240" fill="none" stroke="black"/>
<path d="M 432,256 L 472,256" fill="none" stroke="black"/>
<path d="M 88,272 L 144,272" fill="none" stroke="black"/>
<path d="M 224,272 L 296,272" fill="none" stroke="black"/>
<path d="M 152,304 L 216,304" fill="none" stroke="black"/>
<path d="M 304,304 L 424,304" fill="none" stroke="black"/>
<path d="M 8,336 L 80,336" fill="none" stroke="black"/>
<path d="M 32,464 L 112,464" fill="none" stroke="black"/>
<path d="M 160,464 L 504,464" fill="none" stroke="black"/>
<path d="M 120,480 L 160,480" fill="none" stroke="black"/>
<path d="M 112,496 L 152,496" fill="none" stroke="black"/>
<path d="M 32,512 L 112,512" fill="none" stroke="black"/>
<path d="M 160,512 L 504,512" fill="none" stroke="black"/>
<polygon class="arrowhead" points="480,152 468,146.4 468,157.6" fill="black" transform="rotate(270,472,152)"/>
<polygon class="arrowhead" points="440,256 428,250.4 428,261.6" fill="black" transform="rotate(180,432,256)"/>
<polygon class="arrowhead" points="384,456 372,450.4 372,461.6" fill="black" transform="rotate(90,376,456)"/>
<polygon class="arrowhead" points="384,312 372,306.4 372,317.6" fill="black" transform="rotate(270,376,312)"/>
<polygon class="arrowhead" points="336,48 324,42.4 324,53.6" fill="black" transform="rotate(0,328,48)"/>
<polygon class="arrowhead" points="304,272 292,266.4 292,277.6" fill="black" transform="rotate(0,296,272)"/>
<polygon class="arrowhead" points="232,272 220,266.4 220,277.6" fill="black" transform="rotate(180,224,272)"/>
<polygon class="arrowhead" points="160,496 148,490.4 148,501.6" fill="black" transform="rotate(0,152,496)"/>
<polygon class="arrowhead" points="152,272 140,266.4 140,277.6" fill="black" transform="rotate(0,144,272)"/>
<polygon class="arrowhead" points="128,480 116,474.4 116,485.6" fill="black" transform="rotate(180,120,480)"/>
<polygon class="arrowhead" points="96,272 84,266.4 84,277.6" fill="black" transform="rotate(180,88,272)"/>
<polygon class="arrowhead" points="40,200 28,194.4 28,205.6" fill="black" transform="rotate(90,32,200)"/>
<g class="text">
<text x="184" y="52">Drop-Ship</text>
<text x="372" y="52">Vendor</text>
<text x="432" y="52">Service</text>
<text x="352" y="84">M</text>
<text x="408" y="84">anufacturer</text>
<text x="352" y="100">A</text>
<text x="400" y="100">uthorized</text>
<text x="496" y="100">Ownership</text>
<text x="352" y="116">S</text>
<text x="388" y="116">igning</text>
<text x="488" y="116">Tracker</text>
<text x="352" y="132">A</text>
<text x="396" y="132">uthority</text>
<text x="288" y="212">.........................................</text>
<text x="128" y="228">.</text>
<text x="448" y="228">.</text>
<text x="508" y="228">BRSKI-</text>
<text x="128" y="244">.</text>
<text x="448" y="244">.</text>
<text x="500" y="244">MASA</text>
<text x="44" y="260">Pledge</text>
<text x="128" y="260">.</text>
<text x="180" y="260">Join</text>
<text x="340" y="260">Domain</text>
<text x="184" y="276">Proxy</text>
<text x="352" y="276">Registrar</text>
<text x="404" y="276">w/</text>
<text x="448" y="276">.</text>
<text x="128" y="292">.</text>
<text x="184" y="292">.......</text>
<text x="328" y="292">LRA</text>
<text x="356" y="292">or</text>
<text x="380" y="292">RA</text>
<text x="448" y="292">.</text>
<text x="44" y="308">IDevID</text>
<text x="128" y="308">.</text>
<text x="448" y="308">.</text>
<text x="140" y="324">BRSKI-AE</text>
<text x="196" y="324">over</text>
<text x="232" y="324">TLS</text>
<text x="448" y="324">.</text>
<text x="132" y="340">using,</text>
<text x="184" y="340">e.g.,</text>
<text x="240" y="340">[LCMPP]</text>
<text x="448" y="340">.</text>
<text x="128" y="356">.</text>
<text x="448" y="356">.</text>
<text x="248" y="372">...............................</text>
<text x="416" y="372">.........</text>
<text x="128" y="388">on-site</text>
<text x="192" y="388">(local)</text>
<text x="252" y="388">domain</text>
<text x="324" y="388">components</text>
<text x="408" y="404">e.g.,</text>
<text x="464" y="404">[LCMPP]</text>
<text x="192" y="436">.............................................</text>
<text x="452" y="436">..................</text>
<text x="16" y="452">.</text>
<text x="68" y="452">Public-Key</text>
<text x="172" y="452">Infrastructure</text>
<text x="520" y="452">.</text>
<text x="16" y="468">.</text>
<text x="520" y="468">.</text>
<text x="16" y="484">.</text>
<text x="236" y="484">Registration</text>
<text x="328" y="484">Authority</text>
<text x="520" y="484">.</text>
<text x="16" y="500">.</text>
<text x="76" y="500">CA</text>
<text x="196" y="500">RA</text>
<text x="240" y="500">(unless</text>
<text x="292" y="500">part</text>
<text x="324" y="500">of</text>
<text x="364" y="500">Domain</text>
<text x="436" y="500">Registrar)</text>
<text x="520" y="500">.</text>
<text x="16" y="516">.</text>
<text x="520" y="516">.</text>
<text x="268" y="532">................................................................</text>
<text x="104" y="548">backend</text>
<text x="172" y="548">(central</text>
<text x="220" y="548">or</text>
<text x="272" y="548">off-site)</text>
<text x="340" y="548">domain</text>
<text x="412" y="548">components</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="left"><![CDATA[
                                         +------------------------+
   +--------------Drop-Ship------------->| Vendor Service         |
   |                                     +------------------------+
   |                                     | M anufacturer|         |
   |                                     | A uthorized  |Ownership|
   |                                     | S igning     |Tracker  |
   |                                     | A uthority   |         |
   |                                     +--------------+---------+
   |                                                      ^
   |                                                      |
   V                                                      |
+--------+     .........................................  |
|        |     .                                       .  | BRSKI-
|        |     .  +-------+          +--------------+  .  | MASA
| Pledge |     .  | Join  |          | Domain       |<----+
|        |<------>| Proxy |<-------->| Registrar w/ |  .
|        |     .  |.......|          | LRA or RA    |  .
| IDevID |     .  +-------+          +--------------+  .
|        |   BRSKI-AE over TLS                ^        .
+--------+   using, e.g., [LCMPP]             |        .
               .                              |        .
               ...............................|.........
            on-site (local) domain components |
                                              | e.g., [LCMPP]
                                              |
 .............................................|..................
 . Public-Key Infrastructure                  v                 .
 . +---------+     +------------------------------------------+ .
 . |         |<----+   Registration Authority                 | .
 . |    CA   +---->|   RA (unless part of Domain Registrar)   | .
 . +---------+     +------------------------------------------+ .
 ................................................................
         backend (central or off-site) domain components
]]></artwork></artset></figure>

<t>The architecture overview in <xref target="uc1figure"/>
has the same logical elements as BRSKI, but with more flexible placement
of the authentication and authorization checks on certification requests.
Depending on the application scenario, the registrar <bcp14>MAY</bcp14> still do all of these
checks (as is the case in BRSKI), or part of them.</t>

<t>The following list describes the on-site components in the target domain
of the pledge shown in <xref target="uc1figure"/>.</t>

<t><list style="symbols">
  <t>Join Proxy: same functionality as described in BRSKI <xref section="4" sectionFormat="comma" target="RFC8995"/></t>
  <t>Domain Registrar including LRA or RA functionality: in BRSKI-AE,
the domain registrar has mostly the same functionality as in BRSKI, namely
to act as the gatekeeper of the domain for onboarding new devices and
to facilitate the communication of pledges with their MASA and the domain PKI.
Yet there are some generalizations and specific requirements:  <list style="numbers">
      <t>The registrar <bcp14>MUST</bcp14> support at least one certificate enrollment protocol
with authenticated self-contained objects for certification requests.
To this end, the URI scheme for addressing endpoints at the registrar
is generalized (see <xref target="addressing"/>).</t>
      <t>Rather than having full RA functionality, the registrar <bcp14>MAY</bcp14> act as
a local registration authority (LRA) and delegate part of its involvement
in certificate enrollment to a backend RA, called RA.
In such scenarios the registrar optionally checks certification requests
it receives from pledges and forwards them to the RA. The RA performs
the remaining parts of the enrollment request validation and authorization.
On the way back, the registrar forwards responses by the PKI
to the pledge on the same channel.      <vspace blankLines='1'/>
Note:
In order to support end-to-end authentication of the pledge across the
registrar to the RA, the certification request structure signed by
the pledge needs to be retained by the registrar,
and the registrar cannot use for its communication with
the PKI a enrollment protocol different to the one used by the pledge.</t>
      <t>The use of a certificate enrollment protocol with
authenticated self-contained objects gives freedom how to transfer
enrollment messages between pledge and RA.
Regardless how this transfer is protected and how messages are routed,
also in case that the RA is not part of the registrar
it <bcp14>MUST</bcp14> be guaranteed, like in BRSKI, that the RA accepts
certification requests for LDevIDs only with the consent of the registrar.
See <xref target="sec-consider"/> for details how this can be achieved.</t>
    </list></t>
</list></t>

<!-- is already covered by paragraph a little further below:
     Note:
     As far as (at least part of) the certificate enrollment traffic is routed
     via the registrar, BRSKI-AE re-uses during the certificate enrollment phase
     the channel that has been established in the BRSKI steps before between the
     pledge and the registrar.  Consequently, tunneling via this channel needs
     to be supported by the certificate enrollment protocol.
     By default, this channel is based on HTTP over TLS,
     but it may also be based on, for instance, CoAP over DTLS
     in the context of Constrained BRSKI {{I-D.ietf-anima-constrained-voucher}}.
-->
<!--
     In the latter scenario,
     the EST-specific parts of that specification do not apply.
-->

<t>Despite of the above generalizations to the enrollment phase, the final
step of BRSKI, namely the enrollment status telemetry, is kept as it is.</t>

<t>The following list describes the components provided by
the vendor or manufacturer outside the target domain.</t>

<t><list style="symbols">
  <t>MASA: functionality as described in BRSKI <xref target="RFC8995"/>.
The voucher exchange with the MASA via the domain registrar
is performed as described in BRSKI.  <vspace blankLines='1'/>
Note: From the definition of the interaction with the MASA in
<xref section="5" sectionFormat="comma" target="RFC8995"/> follows that it may be synchronous (using voucher
request with nonces) or asynchronous (using nonceless voucher requests).</t>
  <t>Ownership tracker: as defined in BRSKI.</t>
</list></t>

<t>The following list describes backend target domain components,
which may be located on-site or off-site in the target domain.</t>

<t><list style="symbols">
  <t>RA: performs centralized certificate management functions
as a public-key infrastructure for the domain operator.
As far as not already done by the domain registrar, it performs the final
validation and authorization of certification requests.  Otherwise,
the RA co-located with the domain registrar directly connects to the CA.</t>
  <t>CA, also called domain CA: generates domain-specific certificates
according to certification requests that have been
authenticated and authorized by the registrar and/or and an extra RA.</t>
</list></t>

<t>Based on the diagram in BRSKI <xref section="2.1" sectionFormat="comma" target="RFC8995"/> and the architectural
changes, the original protocol flow is divided into four phases
showing commonalities and differences to the original approach as follows.</t>

<t><list style="symbols">
  <t>Discovery phase: same as in BRSKI steps (1) and (2).</t>
  <t>Voucher exchange phase: same as in BRSKI steps (3) and (4).</t>
  <t>Certificate enrollment phase: the use of EST in step (5) is changed
to employing a certificate enrollment protocol that uses
an authenticated self-contained object for requesting the LDevID certificate.  <vspace blankLines='1'/>
For transporting the certificate enrollment request and response messages, the
(D)TLS channel established between pledge and registrar is <bcp14>RECOMMENDED</bcp14> to use.
To this end, the enrollment protocol, the pledge, and the registrar
need to support the usage of the existing channel for certificate enrollment.
Due to this recommended architecture, typically the pledge does not need
to establish additional connections for certificate enrollment and
the registrar retains full control over the certificate enrollment traffic.</t>
  <t>Enrollment status telemetry phase: the final exchange of BRSKI step (5).</t>
</list></t>

</section>
<section anchor="message_ex"><name>Message Exchange</name>

<t>The behavior of a pledge described in BRSKI <xref section="2.1" sectionFormat="comma" target="RFC8995"/>
is kept, with one major exception.
After finishing the Imprint step (4), the Enroll step (5) <bcp14>MUST</bcp14> be performed
with an enrollment protocol utilizing authenticated self-contained objects,
as explained in <xref target="req-sol"/>.
<!--
the certificate request MUST be performed using an
authenticated self-contained object providing not only proof of possession
but also proof of identity (source authentication).
-->
<xref target="exist_prot"/> discusses selected suitable enrollment protocols
and options applicable.</t>

<t>An abstract overview of the BRSKI-AE protocol
can be found at <xref target="BRSKI-AE-overview"/>.</t>

<section anchor="pledge-registrar-discovery"><name>Pledge - Registrar Discovery</name>

<t>The discovery is done as specified in <xref target="RFC8995"/>.</t>

</section>
<section anchor="pledge-registrar-masa-voucher-exchange"><name>Pledge - Registrar - MASA Voucher Exchange</name>

<t>The voucher exchange is performed as specified in <xref target="RFC8995"/>.</t>

</section>
<section anchor="pledge-registrar-raca-certificate-enrollment"><name>Pledge - Registrar - RA/CA Certificate Enrollment</name>

<t>This replaces the EST integration for PKI bootstrapping described in
<xref section="5.9" sectionFormat="comma" target="RFC8995"/>
(while <xref section="5.9.4" sectionFormat="comma" target="RFC8995"/> remains as the final phase, see below).</t>

<t>The certificate enrollment phase may involve transmission of several messages.
Details can depend on the application scenario,
the employed enrollment protocol, and other factors.
<!-- <br>
In line with the generalizations described in {{architecture}},
It is RECOMMENDED to transfer these messages
via the channel established between the pledge and the registrar.
--></t>

<t>The only message exchange <bcp14>REQUIRED</bcp14> is for
the actual certificate request and response.
Further message exchanges <bcp14>MAY</bcp14> be performed as needed.</t>

<t>Note:
The message exchanges marked <bcp14>OPTIONAL</bcp14> in the below <xref target="enrollfigure"/>
cover all those supported by the use of EST in BRSKI.
The last <bcp14>OPTIONAL</bcp14> one, namely certificate confirmation,
is not supported by EST, but by CMP and other enrollment protocols.</t>

<figure title="Certificate Enrollment" anchor="enrollfigure"><artset><artwork  type="svg" align="left"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="576" width="560" viewBox="0 0 560 576" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
<path d="M 8,32 L 8,96" fill="none" stroke="black"/>
<path d="M 16,104 L 16,560" fill="none" stroke="black"/>
<path d="M 80,32 L 80,96" fill="none" stroke="black"/>
<path d="M 280,32 L 280,96" fill="none" stroke="black"/>
<path d="M 352,104 L 352,560" fill="none" stroke="black"/>
<path d="M 384,32 L 384,96" fill="none" stroke="black"/>
<path d="M 448,32 L 448,96" fill="none" stroke="black"/>
<path d="M 544,104 L 544,560" fill="none" stroke="black"/>
<path d="M 552,32 L 552,96" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 280,32 L 384,32" fill="none" stroke="black"/>
<path d="M 448,32 L 552,32" fill="none" stroke="black"/>
<path d="M 8,96 L 80,96" fill="none" stroke="black"/>
<path d="M 280,96 L 384,96" fill="none" stroke="black"/>
<path d="M 448,96 L 552,96" fill="none" stroke="black"/>
<path d="M 24,144 L 88,144" fill="none" stroke="black"/>
<path d="M 272,144 L 344,144" fill="none" stroke="black"/>
<path d="M 360,176 L 376,176" fill="none" stroke="black"/>
<path d="M 520,176 L 536,176" fill="none" stroke="black"/>
<path d="M 360,192 L 376,192" fill="none" stroke="black"/>
<path d="M 520,192 L 536,192" fill="none" stroke="black"/>
<path d="M 24,208 L 88,208" fill="none" stroke="black"/>
<path d="M 280,208 L 344,208" fill="none" stroke="black"/>
<path d="M 24,272 L 88,272" fill="none" stroke="black"/>
<path d="M 280,272 L 344,272" fill="none" stroke="black"/>
<path d="M 360,304 L 376,304" fill="none" stroke="black"/>
<path d="M 512,304 L 536,304" fill="none" stroke="black"/>
<path d="M 360,320 L 376,320" fill="none" stroke="black"/>
<path d="M 520,320 L 536,320" fill="none" stroke="black"/>
<path d="M 24,336 L 88,336" fill="none" stroke="black"/>
<path d="M 288,336 L 344,336" fill="none" stroke="black"/>
<path d="M 24,384 L 88,384" fill="none" stroke="black"/>
<path d="M 296,384 L 344,384" fill="none" stroke="black"/>
<path d="M 360,416 L 376,416" fill="none" stroke="black"/>
<path d="M 512,416 L 536,416" fill="none" stroke="black"/>
<path d="M 360,432 L 376,432" fill="none" stroke="black"/>
<path d="M 512,432 L 536,432" fill="none" stroke="black"/>
<path d="M 24,448 L 88,448" fill="none" stroke="black"/>
<path d="M 304,448 L 344,448" fill="none" stroke="black"/>
<path d="M 24,496 L 88,496" fill="none" stroke="black"/>
<path d="M 296,496 L 344,496" fill="none" stroke="black"/>
<path d="M 360,528 L 376,528" fill="none" stroke="black"/>
<path d="M 512,528 L 536,528" fill="none" stroke="black"/>
<path d="M 360,544 L 392,544" fill="none" stroke="black"/>
<path d="M 504,544 L 536,544" fill="none" stroke="black"/>
<path d="M 24,560 L 88,560" fill="none" stroke="black"/>
<path d="M 312,560 L 344,560" fill="none" stroke="black"/>
<polygon class="arrowhead" points="544,528 532,522.4 532,533.6" fill="black" transform="rotate(0,536,528)"/>
<polygon class="arrowhead" points="544,416 532,410.4 532,421.6" fill="black" transform="rotate(0,536,416)"/>
<polygon class="arrowhead" points="544,304 532,298.4 532,309.6" fill="black" transform="rotate(0,536,304)"/>
<polygon class="arrowhead" points="544,176 532,170.4 532,181.6" fill="black" transform="rotate(0,536,176)"/>
<polygon class="arrowhead" points="368,544 356,538.4 356,549.6" fill="black" transform="rotate(180,360,544)"/>
<polygon class="arrowhead" points="368,432 356,426.4 356,437.6" fill="black" transform="rotate(180,360,432)"/>
<polygon class="arrowhead" points="368,320 356,314.4 356,325.6" fill="black" transform="rotate(180,360,320)"/>
<polygon class="arrowhead" points="368,192 356,186.4 356,197.6" fill="black" transform="rotate(180,360,192)"/>
<polygon class="arrowhead" points="352,496 340,490.4 340,501.6" fill="black" transform="rotate(0,344,496)"/>
<polygon class="arrowhead" points="352,384 340,378.4 340,389.6" fill="black" transform="rotate(0,344,384)"/>
<polygon class="arrowhead" points="352,272 340,266.4 340,277.6" fill="black" transform="rotate(0,344,272)"/>
<polygon class="arrowhead" points="352,144 340,138.4 340,149.6" fill="black" transform="rotate(0,344,144)"/>
<polygon class="arrowhead" points="32,560 20,554.4 20,565.6" fill="black" transform="rotate(180,24,560)"/>
<polygon class="arrowhead" points="32,448 20,442.4 20,453.6" fill="black" transform="rotate(180,24,448)"/>
<polygon class="arrowhead" points="32,336 20,330.4 20,341.6" fill="black" transform="rotate(180,24,336)"/>
<polygon class="arrowhead" points="32,208 20,202.4 20,213.6" fill="black" transform="rotate(180,24,208)"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="316" y="52">Domain</text>
<text x="492" y="52">Operator</text>
<text x="328" y="68">Registrar</text>
<text x="480" y="68">RA/CA</text>
<text x="320" y="84">(JRC)</text>
<text x="480" y="84">(PKI)</text>
<text x="72" y="132">[OPTIONAL</text>
<text x="144" y="132">request</text>
<text x="188" y="132">of</text>
<text x="212" y="132">CA</text>
<text x="280" y="132">certificates]</text>
<text x="108" y="148">CA</text>
<text x="144" y="148">Certs</text>
<text x="200" y="148">Request</text>
<text x="248" y="148">(1)</text>
<text x="400" y="164">[OPTIONAL</text>
<text x="488" y="164">forwarding]</text>
<text x="388" y="180">CA</text>
<text x="424" y="180">Certs</text>
<text x="480" y="180">Request</text>
<text x="388" y="196">CA</text>
<text x="424" y="196">Certs</text>
<text x="484" y="196">Response</text>
<text x="108" y="212">CA</text>
<text x="144" y="212">Certs</text>
<text x="204" y="212">Response</text>
<text x="256" y="212">(2)</text>
<text x="72" y="244">[OPTIONAL</text>
<text x="144" y="244">request</text>
<text x="188" y="244">of</text>
<text x="244" y="244">attributes</text>
<text x="52" y="260">to</text>
<text x="96" y="260">include</text>
<text x="140" y="260">in</text>
<text x="200" y="260">Certificate</text>
<text x="284" y="260">Request]</text>
<text x="136" y="276">Attribute</text>
<text x="208" y="276">Request</text>
<text x="256" y="276">(3)</text>
<text x="400" y="292">[OPTIONAL</text>
<text x="488" y="292">forwarding]</text>
<text x="424" y="308">Attribute</text>
<text x="484" y="308">Req.</text>
<text x="424" y="324">Attribute</text>
<text x="488" y="324">Resp.</text>
<text x="136" y="340">Attribute</text>
<text x="212" y="340">Response</text>
<text x="264" y="340">(4)</text>
<text x="72" y="372">[REQUIRED</text>
<text x="160" y="372">certificate</text>
<text x="244" y="372">request]</text>
<text x="144" y="388">Certificate</text>
<text x="224" y="388">Request</text>
<text x="272" y="388">(5)</text>
<text x="400" y="404">[OPTIONAL</text>
<text x="488" y="404">forwarding]</text>
<text x="432" y="420">Certificate</text>
<text x="496" y="420">Req</text>
<text x="424" y="436">Certificate</text>
<text x="492" y="436">Resp</text>
<text x="144" y="452">Certificate</text>
<text x="228" y="452">Response</text>
<text x="280" y="452">(6)</text>
<text x="72" y="484">[OPTIONAL</text>
<text x="160" y="484">certificate</text>
<text x="264" y="484">confirmation]</text>
<text x="144" y="500">Certificate</text>
<text x="224" y="500">Confirm</text>
<text x="272" y="500">(7)</text>
<text x="400" y="516">[OPTIONAL</text>
<text x="488" y="516">forwarding]</text>
<text x="424" y="532">Certificate</text>
<text x="492" y="532">Conf</text>
<text x="416" y="548">PKI</text>
<text x="464" y="548">Confirm</text>
<text x="152" y="564">PKI/Registrar</text>
<text x="240" y="564">Confirm</text>
<text x="288" y="564">(8)</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="left"><![CDATA[
+--------+                        +------------+       +------------+
| Pledge |                        | Domain     |       | Operator   |
|        |                        | Registrar  |       | RA/CA      |
|        |                        |  (JRC)     |       | (PKI)      |
+--------+                        +------------+       +------------+
 |                                         |                       |
 |  [OPTIONAL request of CA certificates]  |                       |
 |--------- CA Certs Request (1) --------->|                       |
 |                                         | [OPTIONAL forwarding] |
 |                                         |---CA Certs Request -->|
 |                                         |<--CA Certs Response---|
 |<-------- CA Certs Response (2) ---------|                       |
 |                                         |                       |
 |  [OPTIONAL request of attributes        |                       |
 |   to include in Certificate Request]    |                       |
 |--------- Attribute Request (3) -------->|                       |
 |                                         | [OPTIONAL forwarding] |
 |                                         |--- Attribute Req. --->|
 |                                         |<-- Attribute Resp. ---|
 |<-------- Attribute Response (4) --------|                       |
 |                                         |                       |
 |  [REQUIRED certificate request]         |                       |
 |--------- Certificate Request (5) ------>|                       |
 |                                         | [OPTIONAL forwarding] |
 |                                         |--- Certificate Req.-->|
 |                                         |<--Certificate Resp.---|
 |<-------- Certificate Response (6) ------|                       |
 |                                         |                       |
 |  [OPTIONAL certificate confirmation]    |                       |
 |--------- Certificate Confirm (7) ------>|                       |
 |                                         | [OPTIONAL forwarding] |
 |                                         |---Certificate Conf.-->|
 |                                         |<---- PKI Confirm -----|
 |<-------- PKI/Registrar Confirm (8) -----|                       |
]]></artwork></artset></figure>

<t>Note: Connections between the registrar and the PKI components
of the operator (RA, CA, etc.) may be intermittent or off-line.
Messages should be sent as soon as sufficient transfer capacity is available.</t>

<t>The label <spanx style="verb">[OPTIONAL forwarding]</spanx> in <xref target="enrollfigure"/>
means that on receiving from a pledge a request message of the given type,
the registrar <bcp14>MAY</bcp14> answer the request directly itself.
In this case, it <bcp14>MUST</bcp14> authenticate its responses with the same credentials
as used for authenticating itself at TLS level for the voucher exchange.
Otherwise the registrar <bcp14>MUST</bcp14> forward the request to the RA
and forward any resulting response back to the pledge.</t>

<t>Note:
The decision whether to forward a request or to answer it directly can depend
on various static and dynamic factors. They include the application scenario,
the capabilities of the registrar and of the local RA possibly co-located
with the registrar, the enrollment protocol being used, and the specific
contents of the request.</t>

<t>Note:
There are several options how the registrar could be able to directly answer
requests for CA certificates or for certificate request attributes.
It could cache responses obtained from the domain PKI and
later use their contents for responding to requests asking for the same data.
The contents could also be explicit provisioned at the registrar.</t>

<t>Note:
Certificate requests typically need to be handled by the backend PKI,
but the registrar can answer them directly with an error response
in case it determines that such a request should be rejected,
for instance because is not properly authenticated or not authorized.<br />
Also certificate confirmation messages
will usually be forwarded to the backend PKI,
but if the registrar knows that they are not needed or wanted there
it can acknowledge such messages directly.</t>

<t>The following list provides an abstract description of the flow
depicted in <xref target="enrollfigure"/>.</t>

<t><list style="symbols">
  <t>CA Certs Request (1): The pledge optionally requests the latest relevant
CA certificates. This ensures that the pledge has the
complete set of current CA certificates beyond the
pinned-domain-cert (which is contained in the voucher
and may be just the domain registrar certificate).</t>
  <t>CA Certs Response (2): This <bcp14>MUST</bcp14> contain any intermediate CA certificates
that the pledge may need to validate certificates
and <bcp14>MAY</bcp14> contain the LDevID trust anchor.</t>
  <t>Attribute Request (3): Typically, the automated bootstrapping occurs
without local administrative configuration of the pledge.
Nevertheless, there are cases in which the pledge may also
include additional attributes specific to the target domain
into the certification request. To get these attributes in
advance, the attribute request may be used.  <vspace blankLines='1'/>
For example, <xref section="6.11.7.2" sectionFormat="comma" target="RFC8994"/> specifies
how the attribute request is used to signal to the pledge
the acp-node-name field required for enrollment into an ACP domain.</t>
  <t>Attribute Response (4): This <bcp14>MUST</bcp14> contain the attributes to be included
in the subsequent certification request.</t>
  <t>Certificate Request (5): This <bcp14>MUST</bcp14> contain the
authenticated self-contained object ensuring both proof of possession of the
corresponding private key and proof of identity of the requester.</t>
  <t>Certificate Response (6): This <bcp14>MUST</bcp14> contain on success
the requested certificate and <bcp14>MAY</bcp14> include further information,
like certificates of intermediate CAs and any additional trust anchors.</t>
  <t>Certificate Confirm (7): An optional confirmation sent
after the requested certificate has been received and validated.
If sent, it <bcp14>MUST</bcp14> contain a positive or negative confirmation by the pledge to
the PKI whether the certificate was successfully enrolled and fits its needs.</t>
  <t>PKI/Registrar Confirm (8): An acknowledgment by the PKI
that <bcp14>MUST</bcp14> be sent on reception of the Cert Confirm.</t>
</list></t>

<t>The generic messages described above may be implemented using any certificate
enrollment protocol that supports authenticated self-contained objects for the
certificate request as described in <xref target="req-sol"/>.
Examples are available in <xref target="exist_prot"/>.</t>

<t>Note that the optional certificate confirmation by the pledge to the PKI
described above is independent of the mandatory enrollment status telemetry
done between the pledge and the registrar in the final phase of BRSKI-AE,
described next.</t>

</section>
<section anchor="pledge-registrar-enrollment-status-telemetry"><name>Pledge - Registrar Enrollment Status Telemetry</name>

<t>The enrollment status telemetry is performed as specified in
<xref section="5.9.4" sectionFormat="comma" target="RFC8995"/>.</t>

<t>In BRSKI this is described as part of the certificate enrollment step, but
due to the generalization on the enrollment protocol described in this document
its regarded as a separate phase here.</t>

</section>
</section>
<section anchor="addressing"><name>Enhancements to the Endpoint Addressing Scheme of BRSKI</name>

<t>BRSKI-AE provides generalizations to the addressing scheme defined in
BRSKI <xref section="5" sectionFormat="comma" target="RFC8995"/> to accommodate alternative enrollment protocols
that use authenticated self-contained objects for certification requests.
As this is supported by various existing enrollment protocols,
they can be employed without modifications to existing RAs/CAs
supporting the respective enrollment protocol (see also <xref target="exist_prot"/>).</t>

<t>The addressing scheme in BRSKI for certification requests and
the related CA certificates and CSR attributes retrieval functions
uses the definition from EST <xref target="RFC7030"/>,
here on the example of simple enrollment: <spanx style="verb">"/.well-known/est/simpleenroll"</spanx>.
This approach is generalized to the following notation:
<spanx style="verb">"/.well-known/&lt;enrollment-protocol&gt;/&lt;request&gt;"</spanx>
in which <spanx style="verb">&lt;enrollment-protocol&gt;</spanx> refers to a certificate enrollment protocol.
Note that enrollment is considered here a message sequence
that contains at least a certification request and a certification response.
The following conventions are used to provide maximal compatibility with BRSKI:</t>

<t><list style="symbols">
  <t><spanx style="verb">&lt;enrollment-protocol&gt;</spanx>: <bcp14>MUST</bcp14> reference the protocol being used.
Existing values include '<spanx style="verb">est</spanx>' <xref target="RFC7030"/> as in BRSKI and '<spanx style="verb">cmp</spanx>' as in
<xref target="I-D.ietf-lamps-lightweight-cmp-profile"/> and <xref target="brski-cmp-instance"/> below.
Values for other existing protocols such as CMC and SCEP,
or for newly defined protocols are outside the scope of this document.
For use of the <spanx style="verb">&lt;enrollment-protocol&gt;</spanx> and <spanx style="verb">&lt;request&gt;</spanx> URI components,
they would need to specified in a suitable RFC and
placed into the Well-Known URIs registry, like done for EST in <xref target="RFC7030"/>.</t>
  <t><spanx style="verb">&lt;request&gt;</spanx>: if present, this path component <bcp14>MUST</bcp14> describe,
depending on the enrollment protocol being used, the operation requested.
Enrollment protocols are expected to define their request endpoints,
as done by existing protocols (see also <xref target="exist_prot"/>).</t>
</list></t>

<!-- ## Domain Registrar Support of Alternative Enrollment Protocols -->

<t>Well-known URIs for various endpoints on the domain registrar are
already defined as part of the base BRSKI specification or indirectly by EST.
In addition, alternative enrollment endpoints <bcp14>MAY</bcp14> be supported at the registrar.</t>

<t>A pledge <bcp14>SHOULD</bcp14> use the endpoints defined for the enrollment protocol(s)
that it is capable of and is willing to use.
It will recognize whether its preferred protocol or the request that it tries
to perform is understood and supported by the domain registrar
by sending a request to its preferred enrollment endpoint according to the above
addressing scheme and evaluating the HTTP status code in the response.
If the pledge uses endpoints that are not standardized,
it risks that the registrar does not recognize and accept them
even if supporting the intended protocol and operation.</t>

<t>The following list of endpoints provides an illustrative example for
a domain registrar supporting several options for EST as well as for
CMP to be used in BRSKI-AE. The listing contains the supported
endpoints to which the pledge may connect for bootstrapping. This
includes the voucher handling as well as the enrollment endpoints.
The CMP-related enrollment endpoints are defined as well-known URIs
in CMP Updates <xref target="I-D.ietf-lamps-cmp-updates"/>
and the Lightweight CMP Profile <xref target="I-D.ietf-lamps-lightweight-cmp-profile"/>.</t>

<figure><artwork align="left"><![CDATA[
  </brski/voucherrequest>,ct=voucher-cms+json
  </brski/voucher_status>,ct=json
  </brski/enrollstatus>,ct=json
  </est/cacerts>;ct=pkcs7-mime
  </est/csrattrs>;ct=pkcs7-mime
  </est/fullcmc>;ct=pkcs7-mime
  </cmp/getcacerts>;ct=pkixcmp
  </cmp/getcertreqtemplate>;ct=pkixcmp
  </cmp/initialization>;ct=pkixcmp
  </cmp/p10>;ct=pkixcmp

]]></artwork></figure>

</section>
</section>
<section anchor="exist_prot"><name>Instantiation to Existing Enrollment Protocols</name>

<t>This section maps the generic requirements to support proof of possession
and proof of identity to selected existing certificate enrollment protocols
and specifies further aspects of using such enrollment protocols in BRSKI-AE.</t>

<section anchor="brski-cmp-instance"><name>BRSKI-CMP: Instantiation to CMP</name>

<t>Instead of referring to CMP
as specified in <xref target="RFC4210"/> and <xref target="I-D.ietf-lamps-cmp-updates"/>,
this document refers to the Lightweight CMP Profile (LCMPP)
<xref target="I-D.ietf-lamps-lightweight-cmp-profile"/> because
the subset of CMP defined there is sufficient for the functionality needed here.</t>

<t>When using CMP, adherence to
the LCMPP <xref target="I-D.ietf-lamps-lightweight-cmp-profile"/> is mandatory.
In particular, the following specific requirements apply (cf. <xref target="enrollfigure"/>).</t>

<t><list style="symbols">
  <t>CA Certs Request (1) and Response (2):<br />
Requesting CA certificates over CMP is <bcp14>OPTIONAL</bcp14>.<br />
If supported, it <bcp14>SHALL</bcp14> be implemented as specified in
<xref section="4.3.1" sectionFormat="comma" target="I-D.ietf-lamps-lightweight-cmp-profile"/>.</t>
  <t>Attribute Request (3) and Response (4):<br />
Requesting certificate request attributes over CMP is <bcp14>OPTIONAL</bcp14>.<br />
If supported, it <bcp14>SHALL</bcp14> be implemented as specified in
<xref section="4.3.3" sectionFormat="comma" target="I-D.ietf-lamps-lightweight-cmp-profile"/>.  <vspace blankLines='1'/>
Alternatively, the registrar <bcp14>MAY</bcp14> modify
the contents of requested certificate contents
as specified in <xref section="5.2.3.2" sectionFormat="comma" target="I-D.ietf-lamps-lightweight-cmp-profile"/>.</t>
  <t>Certificate Request (5) and Response (6):<br />
Certificates <bcp14>SHALL</bcp14> be requested and provided
as specified in the LCMPP
<xref section="4.1.1" sectionFormat="comma" target="I-D.ietf-lamps-lightweight-cmp-profile"/> (based on CRMF) or
<xref section="4.1.4" sectionFormat="comma" target="I-D.ietf-lamps-lightweight-cmp-profile"/> (based on PKCS#10).  <vspace blankLines='1'/>
Proof of possession <bcp14>SHALL</bcp14> be provided in a way suitable for the key type.
Proof of identity <bcp14>SHALL</bcp14> be provided by signature-based
protection of the certification request message
as outlined in <xref section="3.2" sectionFormat="comma" target="I-D.ietf-lamps-lightweight-cmp-profile"/>
using the IDevID secret.  <vspace blankLines='1'/>
Note: When the registrar forwards a certification request by the pledge to
a backend RA, the registrar is recommended to wrap the original
certification request in a nested message signed with its own credentials
as described in <xref section="5.2.2.1" sectionFormat="comma" target="I-D.ietf-lamps-lightweight-cmp-profile"/>.
This explicitly conveys the consent by the registrar to the RA
while retaining the certification request
with its proof of origin provided by the pledge signature.  <vspace blankLines='1'/>
In case additional trust anchors (besides the pinned-domain-cert)
need to be conveyed to the pledge,
this <bcp14>SHOULD</bcp14> be done in the <spanx style="verb">caPubs</spanx> field of the certificate response message
rather than in a CA Certs Response.</t>
  <t>Certificate Confirm (7) and PKI/Registrar Confirm (8):<br />
Explicit confirmation of new certificates to the RA/CA
<bcp14>MAY</bcp14> be used as specified in
<xref section="4.1.1" sectionFormat="comma" target="I-D.ietf-lamps-lightweight-cmp-profile"/>.  <vspace blankLines='1'/>
Note: Independently of certificate confirmation within CMP,
enrollment status telemetry with the registrar will be performed
as described in BRSKI <xref section="5.9.4" sectionFormat="comma" target="RFC8995"/>.</t>
  <t>If delayed delivery of responses
(for instance, to support asynchronous enrollment) within CMP is needed,
it <bcp14>SHALL</bcp14> be performed as specified in
Section <xref target="I-D.ietf-lamps-lightweight-cmp-profile" section="4.4" sectionFormat="bare"/> and Section <xref target="I-D.ietf-lamps-lightweight-cmp-profile" section="5.1.2" sectionFormat="bare"/> of <xref target="I-D.ietf-lamps-lightweight-cmp-profile"/>.</t>
</list></t>

<t>Note:
The way in which messages are exchanged between the registrar and backend PKI
components (i.e., RA or CA) is out of scope of this document.
Due to the general independence of CMP of message transfer, it can be freely
chosen according to the needs of the application scenario (e.g., using HTTP),
while security considerations apply, see <xref target="sec-consider"/>, and
guidance can be found in <xref section="6" sectionFormat="comma" target="I-D.ietf-lamps-lightweight-cmp-profile"/>.</t>

<!--
CMP Updates {{I-D.ietf-lamps-cmp-updates}} and
the LCMPP {{I-D.ietf-lamps-lightweight-cmp-profile}}
provide requirements for interoperability.
-->

<t>BRSKI-AE with CMP can also be combined with
Constrained BRSKI <xref target="I-D.ietf-anima-constrained-voucher"/>,
using CoAP for enrollment message transport as described by
CoAP Transport for CMP <xref target="I-D.ietf-ace-cmpv2-coap-transport"/>.
In this scenario, of course the EST-specific parts
of <xref target="I-D.ietf-anima-constrained-voucher"/> do not apply.</t>

</section>
<section anchor="support-of-other-enrollment-protocols"><name>Support of Other Enrollment Protocols</name>

<t>Further instantiations of BRSKI-AE can be done.  They are left for future work.</t>

<t>In particular, CMC <xref target="RFC5272"/> (using its in-band source authentication options)
and SCEP <xref target="RFC8894"/> (using its 'renewal' option) could be used.</t>

<t>The fullCMC variant of EST sketched in <xref section="2.5" sectionFormat="comma" target="RFC7030"/>
might also be used here. For EST-fullCMC further specification is necessary.
<!--
Yet most likely it will not be followed up
because, by now, no implementations of this EST variant are known,
and no reasons are known why it could be preferable over using BRSKI-CMP.
--></t>

<!--
 ## BRSKI-EST-fullCMC: Instantiation to EST

When using EST {{RFC7030}}, the following aspects and constraints
need to be considered and the given extra requirements need to be fulfilled,
which adapt BRSKI {{RFC8995, Section 5.9.3}}:

* Proof of possession is provided typically by using the specified PKCS#10
  structure in the request.
  Together with Full PKI requests, also CRMF can be used.

* Proof of identity needs to be achieved by signing the certification request
  object using the Full PKI Request option (including the /fullcmc endpoint).
  This provides sufficient information for the RA to authenticate the pledge
  as the origin of the request and to make an authorization decision on the
  received certification request.
  Note:
  EST references CMC {{RFC5272}} for the definition of the Full PKI Request.
  For proof of identity, the signature of the SignedData of the Full PKI Request
  is performed using the IDevID secret of the pledge.  The data signed
  must include include a sufficiently strong identifier of the pledge,
  e.g, the subject of its IDevID certificate.

  Note:
  In this case the binding to the underlying TLS channel is not necessary.

* When the RA is temporarily not available, as per {{RFC7030, Section 4.2.3}},
  an HTTP status code 202 should be returned by the registrar,
  and the pledge will repeat the initial Full PKI Request later.
-->

<!--
Note that the work in the ACE WG described in
{{draft-selander-ace-coap-est-oscore}} may be considered here as well,
as it also addresses the encapsulation of EST in a way that
makes it independent of the underlying TLS channel using OSCORE,
which also entails that authenticated self-contained objects are used.
-->

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document does not require IANA actions.</t>

</section>
<section anchor="sec-consider"><name>Security Considerations</name>

<t>The security considerations  laid out in BRSKI <xref target="RFC8995"/> apply for the
discovery and voucher exchange as well as for the status exchange information.</t>

<t>In particular,
even if the registrar delegates part or all of its RA role
during certificate enrollment to a separate system,
it still must be made sure that the registrar takes part in the decision
on accepting or declining a request to join the domain,
as required in <xref section="5.3" sectionFormat="comma" target="RFC8995"/>.
As this pertains also to obtaining a valid domain-specific certificate,
it must be made sure that a pledge cannot circumvent the registrar
in the decision whether it is granted an LDevID certificate by the CA.
There are various ways how to fulfill this, including:</t>

<t><list style="symbols">
  <t>implicit consent</t>
  <t>the registrar signals its consent to the RA out-of-band before or during
the enrollment phase, for instance by entering the pledge identity in a database.</t>
  <t>the registrar provides its consent using an extra message that is transferred
on the same channel as the enrollment messages, possibly in a TLS tunnel.</t>
  <t>the registrar explicitly states its consent by signing, in addition to the pledge,
the authenticated self-contained certificate enrollment request message.</t>
</list></t>

<t>Note: If EST was used, the registrar could give implicit consent on a
certification request by forwarding the request to a PKI entity using a
connection authenticated with a certificate containing an id-kp-cmcRA extension.</t>

<t>When CMP is used, the security considerations laid out in the
LCMPP <xref target="I-D.ietf-lamps-lightweight-cmp-profile"/> apply.</t>

<t>Note that CMP messages are not encrypted.
This may give eavesdroppers insight on which devices are bootstrapped in the
domain, and this in turn might also be used to selectively block the enrollment
of certain devices.
To prevent this, the underlying message transport channel can be encrypted,
for instance by employing TLS.
On the link between the pledge and the registrar this is easily achieved by
reusing the existing TLS channel between them.</t>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>We thank Eliot Lear
for his contributions as a co-author at an earlier draft stage.</t>

<t>We thank Brian E. Carpenter, Michael Richardson, and Giorgio Romanenghi
for their input and discussion on use cases and call flows.</t>

<t>Moreover, we thank Toerless Eckert, Barry Lea, Michael Richardson, Rajeev
Ranjan, and Rufus Buschart for their reviews with suggestions for improvements.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>





<reference anchor='RFC4210' target='https://www.rfc-editor.org/info/rfc4210'>
<front>
<title>Internet X.509 Public Key Infrastructure Certificate Management Protocol (CMP)</title>
<author fullname='C. Adams' initials='C.' surname='Adams'><organization/></author>
<author fullname='S. Farrell' initials='S.' surname='Farrell'><organization/></author>
<author fullname='T. Kause' initials='T.' surname='Kause'><organization/></author>
<author fullname='T. Mononen' initials='T.' surname='Mononen'><organization/></author>
<date month='September' year='2005'/>
<abstract><t>This document describes the Internet X.509 Public Key Infrastructure (PKI) Certificate Management Protocol (CMP).  Protocol messages are defined for X.509v3 certificate creation and management.  CMP provides on-line interactions between PKI components, including an exchange between a Certification Authority (CA) and a client system.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='4210'/>
<seriesInfo name='DOI' value='10.17487/RFC4210'/>
</reference>



<reference anchor='RFC5280' target='https://www.rfc-editor.org/info/rfc5280'>
<front>
<title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
<author fullname='D. Cooper' initials='D.' surname='Cooper'><organization/></author>
<author fullname='S. Santesson' initials='S.' surname='Santesson'><organization/></author>
<author fullname='S. Farrell' initials='S.' surname='Farrell'><organization/></author>
<author fullname='S. Boeyen' initials='S.' surname='Boeyen'><organization/></author>
<author fullname='R. Housley' initials='R.' surname='Housley'><organization/></author>
<author fullname='W. Polk' initials='W.' surname='Polk'><organization/></author>
<date month='May' year='2008'/>
<abstract><t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet.  An overview of this approach and model is provided as an introduction.  The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms.  Standard certificate extensions are described and two Internet-specific extensions are defined.  A set of required certificate extensions is specified.  The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions.  An algorithm for X.509 certification path validation is described.  An ASN.1 module and examples are provided in the appendices.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5280'/>
<seriesInfo name='DOI' value='10.17487/RFC5280'/>
</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>


<reference anchor='I-D.ietf-lamps-cmp-updates' target='https://datatracker.ietf.org/doc/html/draft-ietf-lamps-cmp-updates-23'>
   <front>
      <title>Certificate Management Protocol (CMP) Updates</title>
      <author fullname='Hendrik Brockhaus' initials='H.' surname='Brockhaus'>
         <organization>Siemens</organization>
      </author>
      <author fullname='David von Oheimb' initials='D.' surname='von Oheimb'>
         <organization>Siemens</organization>
      </author>
      <author fullname='John Gray' initials='J.' surname='Gray'>
         <organization>Entrust</organization>
      </author>
      <date day='29' month='June' year='2022'/>
      <abstract>
	 <t>   This document contains a set of updates to the syntax and transfer of
   Certificate Management Protocol (CMP) version 2.  This document
   updates RFC 4210, RFC 5912, and RFC 6712.

   The aspects of CMP updated in this document are using EnvelopedData
   instead of EncryptedValue, clarifying the handling of p10cr messages,
   improving the crypto agility, as well as adding new general message
   types, extended key usages to identify certificates for use with CMP,
   and well-known URI path segments.

   CMP version 3 is introduced to enable signaling support of
   EnvelopedData instead of EncryptedValue and signaling the use of an
   explicit hash AlgorithmIdentifier in certConf messages, as far as
   needed.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-lamps-cmp-updates-23'/>
   
</reference>


<reference anchor='I-D.ietf-lamps-lightweight-cmp-profile' target='https://datatracker.ietf.org/doc/html/draft-ietf-lamps-lightweight-cmp-profile-21'>
   <front>
      <title>Lightweight Certificate Management Protocol (CMP) Profile</title>
      <author fullname='Hendrik Brockhaus' initials='H.' surname='Brockhaus'>
         <organization>Siemens</organization>
      </author>
      <author fullname='David von Oheimb' initials='D.' surname='von Oheimb'>
         <organization>Siemens</organization>
      </author>
      <author fullname='Steffen Fries' initials='S.' surname='Fries'>
         <organization>Siemens AG</organization>
      </author>
      <date day='17' month='February' year='2023'/>
      <abstract>
	 <t>   This document aims at simple, interoperable, and automated PKI
   management operations covering typical use cases of industrial and
   IoT scenarios.  This is achieved by profiling the Certificate
   Management Protocol (CMP), the related Certificate Request Message
   Format (CRMF), and HTTP-based or CoAP-based transfer in a succinct
   but sufficiently detailed and self-contained way.  To make secure
   certificate management for simple scenarios and constrained devices
   as lightweight as possible, only the most crucial types of operations
   and options are specified as mandatory.  More specialized or complex
   use cases are supported with optional features.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-lamps-lightweight-cmp-profile-21'/>
   
</reference>


<reference anchor="IEEE_802.1AR-2018" >
  <front>
    <title>IEEE Standard for Local and Metropolitan Area Networks - Secure Device Identity</title>
    <author >
      <organization>IEEE</organization>
    </author>
    <date year="2018" month="August"/>
  </front>
  <seriesInfo name="IEEE" value="802.1AR-2018"/>
  <seriesInfo name="DOI" value="10.1109/IEEESTD.2018.8423794"/>
</reference>




<reference anchor='RFC2119' target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author fullname='S. Bradner' initials='S.' surname='Bradner'><organization/></author>
<date month='March' year='1997'/>
<abstract><t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='2119'/>
<seriesInfo name='DOI' value='10.17487/RFC2119'/>
</reference>



<reference anchor='RFC8174' 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>




    </references>

    <references title='Informative References'>




<reference anchor='I-D.ietf-anima-constrained-voucher' target='https://datatracker.ietf.org/doc/html/draft-ietf-anima-constrained-voucher-20'>
   <front>
      <title>Constrained Bootstrapping Remote Secure Key Infrastructure (BRSKI)</title>
      <author fullname='Michael Richardson' initials='M.' surname='Richardson'>
         <organization>Sandelman Software Works</organization>
      </author>
      <author fullname='Peter Van der Stok' initials='P.' surname='Van der Stok'>
         <organization>vanderstok consultancy</organization>
      </author>
      <author fullname='Panos Kampanakis' initials='P.' surname='Kampanakis'>
         <organization>Cisco Systems</organization>
      </author>
      <author fullname='Esko Dijk' initials='E.' surname='Dijk'>
         <organization>IoTconsultancy.nl</organization>
      </author>
      <date day='13' month='March' year='2023'/>
      <abstract>
	 <t>   This document defines the Constrained Bootstrapping Remote Secure Key
   Infrastructure (Constrained BRSKI) protocol, which provides a
   solution for secure zero-touch bootstrapping of resource-constrained
   (IoT) devices into the network of a domain owner.  This protocol is
   designed for constrained networks, which may have limited data
   throughput or may experience frequent packet loss.  Constrained BRSKI
   is a variant of the BRSKI protocol, which uses an artifact signed by
   the device manufacturer called the &quot;voucher&quot; which enables a new
   device and the owner&#x27;s network to mutually authenticate.  While the
   BRSKI voucher is typically encoded in JSON, Constrained BRSKI uses a
   compact CBOR-encoded voucher.  The BRSKI voucher is extended with new
   data types that allow for smaller voucher sizes.  The Enrollment over
   Secure Transport (EST) protocol, used in BRSKI, is replaced with EST-
   over-CoAPS; and HTTPS used in BRSKI is replaced with CoAPS.  This
   document Updates RFC 8366 and RFC 8995.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-anima-constrained-voucher-20'/>
   
</reference>


<reference anchor='I-D.ietf-ace-cmpv2-coap-transport' target='https://datatracker.ietf.org/doc/html/draft-ietf-ace-cmpv2-coap-transport-10'>
   <front>
      <title>CoAP Transfer for the Certificate Management Protocol</title>
      <author fullname='Mohit Sahni' initials='M.' surname='Sahni'>
         <organization>Palo Alto Networks</organization>
      </author>
      <author fullname='Saurabh Tripathi' initials='S.' surname='Tripathi'>
         <organization>Palo Alto Networks</organization>
      </author>
      <date day='15' month='May' year='2023'/>
      <abstract>
	 <t>   This document specifies the use of Constrained Application Protocol
   (CoAP) as a transfer mechanism for the Certificate Management
   Protocol (CMP).  CMP defines the interaction between various PKI
   entities for the purpose of certificate creation and management.
   CoAP is an HTTP-like client-server protocol used by various
   constrained devices in the IoT space.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-ace-cmpv2-coap-transport-10'/>
   
</reference>


<reference anchor="BRSKI-AE-overview" >
  <front>
    <title>BRSKI-AE Protocol Overview</title>
    <author initials="" surname="S.&nbsp;Fries" fullname="S.&nbsp;Fries">
      <organization></organization>
    </author>
    <author initials="D." surname="von&nbsp;Oheimb">
      <organization></organization>
    </author>
    <date year="2023" month="March"/>
  </front>
  <format type="PDF" target="https://datatracker.ietf.org/meeting/116/materials/slides-116-anima-update-on-brski-ae-alternative-enrollment-protocols-in-brski-00"/>
<annotation>Graphics on slide 4 of the BRSKI-AE draft 04 status update at IETF 116.</annotation></reference>




<reference anchor='RFC2986' target='https://www.rfc-editor.org/info/rfc2986'>
<front>
<title>PKCS #10: Certification Request Syntax Specification Version 1.7</title>
<author fullname='M. Nystrom' initials='M.' surname='Nystrom'><organization/></author>
<author fullname='B. Kaliski' initials='B.' surname='Kaliski'><organization/></author>
<date month='November' year='2000'/>
<abstract><t>This memo represents a republication of PKCS #10 v1.7 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process.  The body of this document, except for the security considerations section, is taken directly from the PKCS #9 v2.0 or the PKCS #10 v1.7 document.  This memo provides information for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='2986'/>
<seriesInfo name='DOI' value='10.17487/RFC2986'/>
</reference>



<reference anchor='RFC4211' target='https://www.rfc-editor.org/info/rfc4211'>
<front>
<title>Internet X.509 Public Key Infrastructure Certificate Request Message Format (CRMF)</title>
<author fullname='J. Schaad' initials='J.' surname='Schaad'><organization/></author>
<date month='September' year='2005'/>
<abstract><t>This document describes the Certificate Request Message Format (CRMF) syntax and semantics.  This syntax is used to convey a request for a certificate to a Certification Authority (CA), possibly via a Registration Authority (RA), for the purposes of X.509 certificate production.  The request will typically include a public key and the associated registration information.  This document does not define a certificate request protocol.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='4211'/>
<seriesInfo name='DOI' value='10.17487/RFC4211'/>
</reference>



<reference anchor='RFC5272' target='https://www.rfc-editor.org/info/rfc5272'>
<front>
<title>Certificate Management over CMS (CMC)</title>
<author fullname='J. Schaad' initials='J.' surname='Schaad'><organization/></author>
<author fullname='M. Myers' initials='M.' surname='Myers'><organization/></author>
<date month='June' year='2008'/>
<abstract><t>This document defines the base syntax for CMC, a Certificate Management protocol using the Cryptographic Message Syntax (CMS). This protocol addresses two immediate needs within the Internet Public Key Infrastructure (PKI) community:</t><t>1.  The need for an interface to public key certification products and services based on CMS and PKCS #10 (Public Key Cryptography Standard), and</t><t>2.  The need for a PKI enrollment protocol for encryption only keys due to algorithm or hardware design.</t><t>CMC also requires the use of the transport document and the requirements usage document along with this document for a full definition.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5272'/>
<seriesInfo name='DOI' value='10.17487/RFC5272'/>
</reference>



<reference anchor='RFC5652' target='https://www.rfc-editor.org/info/rfc5652'>
<front>
<title>Cryptographic Message Syntax (CMS)</title>
<author fullname='R. Housley' initials='R.' surname='Housley'><organization/></author>
<date month='September' year='2009'/>
<abstract><t>This document describes the Cryptographic Message Syntax (CMS).  This syntax is used to digitally sign, digest, authenticate, or encrypt arbitrary message content.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='STD' value='70'/>
<seriesInfo name='RFC' value='5652'/>
<seriesInfo name='DOI' value='10.17487/RFC5652'/>
</reference>



<reference anchor='RFC5929' target='https://www.rfc-editor.org/info/rfc5929'>
<front>
<title>Channel Bindings for TLS</title>
<author fullname='J. Altman' initials='J.' surname='Altman'><organization/></author>
<author fullname='N. Williams' initials='N.' surname='Williams'><organization/></author>
<author fullname='L. Zhu' initials='L.' surname='Zhu'><organization/></author>
<date month='July' year='2010'/>
<abstract><t>This document defines three channel binding types for Transport Layer Security (TLS), tls-unique, tls-server-end-point, and tls-unique-for-telnet, in accordance with RFC 5056 (On Channel Binding).</t><t>Note that based on implementation experience, this document changes the original definition of 'tls-unique' channel binding type in the channel binding type IANA registry.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5929'/>
<seriesInfo name='DOI' value='10.17487/RFC5929'/>
</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='RFC8894' target='https://www.rfc-editor.org/info/rfc8894'>
<front>
<title>Simple Certificate Enrolment Protocol</title>
<author fullname='P. Gutmann' initials='P.' surname='Gutmann'><organization/></author>
<date month='September' year='2020'/>
<abstract><t>This document specifies the Simple Certificate Enrolment Protocol (SCEP), a PKI protocol that leverages existing technology by using Cryptographic Message Syntax (CMS, formerly known as PKCS #7) and PKCS #10 over HTTP.  SCEP is the evolution of the enrolment protocol sponsored by Cisco Systems, which enjoys wide support in both client and server implementations, as well as being relied upon by numerous other industry standards that work with certificates.</t></abstract>
</front>
<seriesInfo name='RFC' value='8894'/>
<seriesInfo name='DOI' value='10.17487/RFC8894'/>
</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 &quot;Autonomic Control Plane&quot;, with the primary use as a control plane for autonomic functions.  It also serves as a &quot;virtual out-of-band channel&quot; 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='RFC9148' target='https://www.rfc-editor.org/info/rfc9148'>
<front>
<title>EST-coaps: Enrollment over Secure Transport with the Secure Constrained Application Protocol</title>
<author fullname='P. van der Stok' initials='P.' surname='van der Stok'><organization/></author>
<author fullname='P. Kampanakis' initials='P.' surname='Kampanakis'><organization/></author>
<author fullname='M. Richardson' initials='M.' surname='Richardson'><organization/></author>
<author fullname='S. Raza' initials='S.' surname='Raza'><organization/></author>
<date month='April' year='2022'/>
<abstract><t>Enrollment over Secure Transport (EST) is used as a certificate provisioning protocol over HTTPS. Low-resource devices often use the lightweight Constrained Application Protocol (CoAP) for message exchanges. This document defines how to transport EST payloads over secure CoAP (EST-coaps), which allows constrained devices to use existing EST functionality for provisioning certificates.</t></abstract>
</front>
<seriesInfo name='RFC' value='9148'/>
<seriesInfo name='DOI' value='10.17487/RFC9148'/>
</reference>


<reference anchor="IEC-62351-9" >
  <front>
    <title>IEC 62351 - Power systems management and associated information exchange - Data and communications security - Part 9: Cyber security key management for power system equipment</title>
    <author >
      <organization>International Electrotechnical Commission</organization>
    </author>
    <date year="2017" month="May"/>
  </front>
  <seriesInfo name="IEC" value="62351-9 "/>
</reference>
<reference anchor="NERC-CIP-005-5" >
  <front>
    <title>Cyber Security - Electronic Security Perimeter</title>
    <author >
      <organization>North American Reliability Council</organization>
    </author>
    <date year="2013" month="December"/>
  </front>
  <seriesInfo name="CIP" value="005-5"/>
</reference>
<reference anchor="ISO-IEC-15118-2" >
  <front>
    <title>ISO/IEC 15118-2 Road vehicles - Vehicle-to-Grid Communication Interface - Part 2: Network and application protocol requirements</title>
    <author >
      <organization>International Standardization Organization / International Electrotechnical Commission</organization>
    </author>
    <date year="2014" month="April"/>
  </front>
  <seriesInfo name="ISO/IEC" value="15118-2 "/>
</reference>
<reference anchor="UNISIG-Subset-137" >
  <front>
    <title>Subset-137; ERTMS/ETCS On-line Key Management FFFIS; V1.0.0</title>
    <author >
      <organization>UNISIG</organization>
    </author>
    <date year="2015" month="December"/>
  </front>
  <format type="PDF" target="https://www.era.europa.eu/sites/default/files/filesystem/ertms/ccs_tsi_annex_a_-_mandatory_specifications/set_of_specifications_3_etcs_b3_r2_gsm-r_b1/index083_-_subset-137_v100.pdf"/>
<annotation>http://www.kmc-subset137.eu/index.php/download/</annotation></reference>
<reference anchor="OCPP" >
  <front>
    <title>Open Charge Point Protocol 2.0.1 (Draft)</title>
    <author >
      <organization>Open Charge Alliance</organization>
    </author>
    <date year="2019" month="December"/>
  </front>
</reference>


    </references>


<section anchor="app-examples"><name>Application Examples</name>

<t>This informative annex provides some detail to
the application examples listed in <xref target="list-examples"/>.</t>

<section anchor="rolling-stock"><name>Rolling Stock</name>

<t>Rolling stock or railroad cars contain a variety of sensors,
actuators, and controllers, which communicate within the railroad car
but also exchange information between railroad cars forming a train,
with track-side equipment, and/or possibly with backend systems.
These devices are typically unaware of backend system connectivity.
Enrolling certificates may be done during maintenance cycles
of the railroad car, but can already be prepared during operation.
Such asynchronous enrollment will include generating certification requests,
which are collected and later forwarded for processing whenever
the railroad car gets connectivity with the backend PKI of the operator.
The authorization of the certification request is then done based on
the operator's asset/inventory information in the backend.</t>

<t>UNISIG has included a CMP profile for enrollment of TLS client and
server X.509 certificates of on-board and track-side components
in the Subset-137 specifying the ETRAM/ETCS
online key management for train control systems <xref target="UNISIG-Subset-137"/>.</t>

</section>
<section anchor="building-automation"><name>Building Automation</name>

<t>In building automation scenarios, a detached
building or the basement of a building may be equipped with sensors, actuators,
and controllers that are connected with each other in a local network but
with only limited or no connectivity to a central building management system.
This problem may occur during installation time but also during operation.
In such a situation a service technician collects the necessary data
and transfers it between the local network and the central building management
system, e.g., using a laptop or a mobile phone.
This data may comprise parameters and settings
required in the operational phase of the sensors/actuators, like a
component certificate issued by the operator to authenticate against other
components and services.</t>

<t>The collected data may be provided by a domain registrar
already existing in the local network. In this case
connectivity to the backend PKI may be facilitated by the service
technician's laptop.
Alternatively, the data can also be collected from the
pledges directly and provided to a domain registrar deployed in a
different network as preparation for the operational phase.
In this case, connectivity to the domain registrar
may also be facilitated by the service technician's laptop.</t>

</section>
<section anchor="substation-automation"><name>Substation Automation</name>

<t>In electrical substation automation scenarios, a control center typically hosts
PKI services to issue certificates for Intelligent Electronic Devices operated
in a substation. Communication between the substation and control center
is performed through a proxy/gateway/DMZ, which terminates protocol flows.
Note that <xref target="NERC-CIP-005-5"/> requires inspection of protocols
at the boundary of a security perimeter (the substation in this case).
In addition, security management in substation automation assumes
central support of several enrollment protocols in order to support
the various capabilities of IEDs from different vendors.
The IEC standard IEC62351-9 <xref target="IEC-62351-9"/>
specifies for the infrastructure side mandatory support of
two enrollment protocols: SCEP <xref target="RFC8894"/> and EST <xref target="RFC7030"/>,
while an Intelligent Electronic Device may support only one of them.</t>

</section>
<section anchor="electric-vehicle-charging-infrastructure"><name>Electric Vehicle Charging Infrastructure</name>

<t>For electric vehicle charging infrastructure, protocols have been
defined for the interaction between the electric vehicle and the
charging point (e.g., ISO 15118-2 <xref target="ISO-IEC-15118-2"/>)
as well as between the charging point and the charging point operator
(e.g. OCPP <xref target="OCPP"/>). Depending on the authentication
model, unilateral or mutual authentication is required. In both cases
the charging point uses an X.509 certificate to authenticate itself
in TLS channels between the electric vehicle and
the charging point. The management of this certificate depends,
among others, on the selected backend connectivity protocol.
In the case of OCPP, this protocol is meant to be the only communication
protocol between the charging point and the backend, carrying all
information to control the charging operations and maintain the
charging point itself. This means that the certificate management
needs to be handled in-band of OCPP. This requires the ability to
encapsulate the certificate management messages in a transport-independent way.
Authenticated self-containment will support this by
allowing the transport without a separate enrollment protocol,
binding the messages to the identity of the communicating endpoints.</t>

</section>
<section anchor="infrastructure-isolation"><name>Infrastructure Isolation Policy</name>

<t>This refers to any case in which network infrastructure is normally
isolated from the Internet as a matter of policy, most likely for
security reasons. In such a case, limited access to external PKI
services will be allowed in carefully controlled short periods of
time, for example when a batch of new devices is deployed, and
forbidden or prevented at other times.</t>

</section>
<section anchor="sites-with-insufficient-level-of-operational-security"><name>Sites with Insufficient Level of Operational Security</name>

<t>The RA performing (at least part of) the authorization of a
certification request is a critical PKI component and therefore requires higher
operational security than components utilizing the issued
certificates for their security features. CAs may also demand higher
security in the registration procedures from RAs, which domain registrars
with co-located RAs may not be able to fulfill.
Especially the CA/Browser forum currently increases the security requirements
in the certificate issuance procedures for publicly trusted certificates,
i.e., those placed in trust stores of browsers,
which may be used to connect with devices in the domain.
In case the on-site components of the target domain cannot be operated securely
enough for the needs of an RA, this service should be transferred to
an off-site backend component that has a sufficient level of security.</t>

</section>
</section>
<section anchor="app_history"><name>History of Changes TBD RFC Editor: please delete</name>

<t>List of reviewers:</t>

<t><list style="symbols">
  <t>Toerless Eckert (document shepherd)</t>
  <t>Barry Lea (SECDIR Early Review)</t>
  <t>Michael Richardson</t>
  <t>Rajeev Ranjan, Siemens</t>
  <t>Rufus Buschart, Siemens</t>
  <t><eref target="https://datatracker.ietf.org/doc/review-ietf-anima-brski-async-enroll-03-yangdoctors-early-rahman-2021-08-15/">YANGDOCTORS Early review of 2021-08-15</eref>
referred to the PRM aspect of <eref target="https://datatracker.ietf.org/doc/draft-ietf-anima-brski-async-enroll/03/">draft-ietf-anima-brski-async-enroll-03</eref>.
This has been carved out of the draft to a different one and thus is no more
applicable here.</t>
</list></t>

<t>From IETF draft ae-04 -&gt; IETF draft ae-05:</t>

<t><list style="symbols">
  <t>Remove entries from the terminology section that should be clear from BRSKI</t>
  <t>Tweak use of the terms IDevID and LDevID and replace PKI RA/CA by RA/CA</t>
  <t>Add the abbreviation 'LCMPP' for Lightweight CMP Profile to the terminology section</t>
  <t>State clearly in <xref target="brski-cmp-instance"/> that LCMPP is mandatory when using CMP</t>
  <t>Change URL of BRSKI-AE-overview graphics to slide on IETF 116 meeting material</t>
</list></t>

<t>From IETF draft ae-03 -&gt; IETF draft ae-04:</t>

<t><list style="symbols">
  <t>In response to SECDIR Early Review of ae-03 by Barry Lea,
  <list style="symbols">
      <t>replace 'end-to-end security' by the more clear 'end-to-end authentication'</t>
      <t>restrict the meaning of the abbreviation 'AE' to 'Alternative Enrollment'</t>
      <t>replace '<bcp14>MAY</bcp14>' by 'may' in requirement on delegated registrar actions</t>
      <t>re-phrase requirement on certificate request exchange, avoiding MANDATORY</t>
      <t>mention that further protocol names need be put in Well-Known URIs registry</t>
      <t>explain consequence of using non-standard endpoints, not following <bcp14>SHOULD</bcp14></t>
      <t>remove requirement that 'caPubs' field in CMP responses <bcp14>SHOULD NOT</bcp14> be used</t>
      <t>add paragraph in security considerations on additional use of TLS for CMP</t>
    </list></t>
  <t>In response to further internal reviews and suggestions for generalization,
  <list style="symbols">
      <t>significantly cut down the introduction because the original motivations and
most explanations are no more needed and would just make it lengthy to read</t>
      <t>sort out asynchronous vs. offline transfer, offsite  vs. backend components</t>
      <t>improve description of CSRs and proof of possession vs. proof of origin</t>
      <t>clarify that the channel between pledge and registrar is not restricted
to TLS, but in connection with constrained BRSKI may also be DTLS.
Also move the references to Constrained BRSKI and CoAPS to better contexts.</t>
      <t>clarify that the registrar must not be circumvented in the decision to grant
and LDevID, and give hints and recommendations how to make sure this</t>
      <t>clarify that the cert enrollment phase may involve additional messages
and that BRSKI-AE replaces <xref section="5.9" sectionFormat="comma" target="RFC8995"/> (except Section 5.9.4)
<!--
clarify that messages of the cert enrollment phase are RECOMMENDED to be
transmitted on the existing channel between the pledge and the registrar
--></t>
      <t>the certificate enrollment protocol needs to support transport over (D)TLS
only as far as its messages are transported between pledge and registrar.</t>
      <t>the certificate enrollment protocol chosen between pledge and registrar
needs to be used also for the upstream enrollment exchange with the PKI only
if end-to-end authentication shall be achieved across the registrar to the PKI.</t>
      <t>add that with CMP, further trust anchors <bcp14>SHOULD</bcp14> be transported via <spanx style="verb">caPubs</spanx></t>
      <t>remove the former Appendix A: "Using EST for Certificate Enrollment",
moving relevant points to the list of scenarios in
<xref target="sup-env"/>: "Supported Scenarios",</t>
      <t>streamline the item on EST in
<xref target="solutions-PoI"/>: "Solution Options for Proof of Identity",</t>
      <t>various minor editorial improvements like making the wording more consistent</t>
    </list></t>
</list></t>

<t>From IETF draft ae-02 -&gt; IETF draft ae-03:</t>

<t><list style="symbols">
  <t>In response to review by Toerless Eckert,
  <list style="symbols">
      <t>many editorial improvements and clarifications as suggested, such as
the comparison to plain BRSKI, the description of offline vs. synchronous
message transfer and enrollment, and better differentiation of RA flavors.</t>
      <t>clarify that for transporting certificate enrollment messages between
pledge and registrar, the TLS channel established between these two
(via the join proxy) is used and the enrollment protocol <bcp14>MUST</bcp14> support this.</t>
      <t>clarify that the enrollment protocol chosen between pledge and registrar
<bcp14>MUST</bcp14> also be used for the upstream enrollment exchange with the PKI.</t>
      <t>extend the description and requirements on how during the certificate
enrollment phase the registrar <bcp14>MAY</bcp14> handle requests by the pledge itself and
otherwise <bcp14>MUST</bcp14> forward them to the PKI and forward responses to the pledge.</t>
    </list></t>
  <t>Change "The registrar <bcp14>MAY</bcp14> offer different enrollment protocols" to
"The registrar <bcp14>MUST</bcp14> support at least one certificate enrollment protocol ..."</t>
  <t>In response to review by Michael Richardson,
  <list style="symbols">
      <t>slightly improve the structuring of the Message Exchange <xref target="message_ex"/> and
add some detail on the request/response exchanges for the enrollment phase</t>
      <t>merge the 'Enhancements to the Addressing Scheme' <xref target="addressing"/>
with the subsequent one:
'Domain Registrar Support of Alternative Enrollment Protocols'</t>
      <t>add reference to SZTP (RFC 8572)</t>
      <t>extend venue information</t>
      <t>convert output of ASCII-art figures to SVG format</t>
      <t>various small other text improvements as suggested/provided</t>
    </list></t>
  <t>Remove the tentative informative instantiation to EST-fullCMC</t>
  <t>Move Eliot Lear from co-author to contributor, add him to the acknowledgments</t>
  <t>Add explanations for terms such as 'target domain' and 'caPubs'</t>
  <t>Fix minor editorial issues and update some external references</t>
</list></t>

<t>From IETF draft ae-01 -&gt; IETF draft ae-02:</t>

<t><list style="symbols">
  <t>Architecture: clarify registrar role including RA/LRA/enrollment proxy</t>
  <t>CMP: add reference to CoAP Transport for CMPV2 and Constrained BRSKI</t>
  <t>Include venue information</t>
</list></t>

<t>From IETF draft 05 -&gt; IETF draft ae-01:</t>

<t><list style="symbols">
  <t>Renamed the repo and files from anima-brski-async-enroll to anima-brski-ae</t>
  <t>Added graphics for abstract protocol overview as suggested by Toerless Eckert</t>
  <t>Balanced (sub-)sections and their headers</t>
  <t>Added details on CMP instance, now called BRSKI-CMP</t>
</list></t>

<t>From IETF draft 04 -&gt; IETF draft 05:</t>

<t><list style="symbols">
  <t>David von Oheimb became the editor.</t>
  <t>Streamline wording, consolidate terminology, improve grammar, etc.</t>
  <t>Shift the emphasis towards supporting alternative enrollment protocols.</t>
  <t>Update the title accordingly - preliminary change to be approved.</t>
  <t>Move comments on EST and detailed application examples to informative annex.</t>
  <t>Move the remaining text of section 3 as two new sub-sections of section 1.</t>
</list></t>

<t>From IETF draft 03 -&gt; IETF draft 04:</t>

<t><list style="symbols">
  <t>Moved UC2-related parts defining the pledge in responder mode to a
separate document. This required changes and adaptations in several
sections. Main changes concerned the removal of the subsection for UC2
as well as the removal of the YANG model related text as it is not
applicable in UC1.</t>
  <t>Updated references to the Lightweight CMP Profile (LCMPP).</t>
  <t>Added David von Oheimb as co-author.</t>
</list></t>

<t>From IETF draft 02 -&gt; IETF draft 03:</t>

<t><list style="symbols">
  <t>Housekeeping, deleted open issue regarding YANG voucher-request
in UC2 as voucher-request was enhanced with additional leaf.</t>
  <t>Included open issues in YANG model in UC2 regarding assertion
value agent-proximity and CSR encapsulation using SZTP sub module).</t>
</list></t>

<t>From IETF draft 01 -&gt; IETF draft 02:</t>

<t><list style="symbols">
  <t>Defined call flow and objects for interactions in UC2. Object format
based on draft for JOSE signed voucher artifacts and aligned the
remaining objects with this approach in UC2 .</t>
  <t>Terminology change: issue #2 pledge-agent -&gt; registrar-agent to
better underline agent relation.</t>
  <t>Terminology change: issue #3 PULL/PUSH -&gt; pledge-initiator-mode
and pledge-responder-mode to better address the pledge operation.</t>
  <t>Communication approach between pledge and registrar-agent
changed by removing TLS-PSK (former section TLS establishment)
and associated references to other drafts in favor of relying on
higher layer exchange of signed data objects. These data objects
are included also in the pledge-voucher-request and lead to an
extension of the YANG module for the voucher-request (issue #12).</t>
  <t>Details on trust relationship between registrar-agent and
registrar (issue #4, #5, #9) included in UC2.</t>
  <t>Recommendation regarding short-lived certificates for
registrar-agent authentication towards registrar (issue #7) in
the security considerations.</t>
  <t>Introduction of reference to agent signing certificate using SKID
in agent signed data (issue #11).</t>
  <t>Enhanced objects in exchanges between pledge and registrar-agent
to allow the registrar to verify agent-proximity to the pledge
(issue #1) in UC2.</t>
  <t>Details on trust relationship between registrar-agent and
pledge (issue #5) included in UC2.</t>
  <t>Split of use case 2 call flow into sub sections in UC2.</t>
</list></t>

<t>From IETF draft 00 -&gt; IETF draft 01:</t>

<t><list style="symbols">
  <t>Update of scope in <xref target="sup-env"/> to include in
which the pledge acts as a server. This is one main motivation
for use case 2.</t>
  <t>Rework of use case 2 to consider the
transport between the pledge and the pledge-agent. Addressed is
the TLS channel establishment between the pledge-agent and the
pledge as well as the endpoint definition on the pledge.</t>
  <t>First description of exchanged object types (needs more work)</t>
  <t>Clarification in discovery options for enrollment endpoints at
the domain registrar based on well-known endpoints in <xref target="addressing"/>
do not result in additional /.well-known URIs.
Update of the illustrative example.
Note that the change to /brski for the voucher-related endpoints
has been taken over in the BRSKI main document.</t>
  <t>Updated references.</t>
  <t>Included Thomas Werner as additional author for the document.</t>
</list></t>

<t>From individual version 03 -&gt; IETF draft 00:</t>

<t><list style="symbols">
  <t>Inclusion of discovery options of enrollment endpoints at
the domain registrar based on well-known endpoints in
<xref target="addressing"/> as replacement of section 5.1.3
in the individual draft. This is intended to support both use
cases in the document. An illustrative example is provided.</t>
  <t>Missing details provided for the description and call flow in
pledge-agent use case UC2, e.g. to
accommodate distribution of CA certificates.</t>
  <t>Updated CMP example in <xref target="exist_prot"/> to use
Lightweight CMP instead of CMP, as the draft already provides
the necessary /.well-known endpoints.</t>
  <t>Requirements discussion moved to separate section in
<xref target="req-sol"/>. Shortened description of proof-of-identity binding
and mapping to existing protocols.</t>
  <t>Removal of copied call flows for voucher exchange and registrar
discovery flow from <xref target="RFC8995"/> in <xref target="uc1"/> to avoid doubling or text or
inconsistencies.</t>
  <t>Reworked abstract and introduction to be more crisp regarding
the targeted solution. Several structural changes in the document
to have a better distinction between requirements, use case
description, and solution description as separate sections.
History moved to appendix.</t>
</list></t>

<t>From individual version 02 -&gt; 03:</t>

<t><list style="symbols">
  <t>Update of terminology from self-contained to authenticated
self-contained object to be consistent in the wording and to
underline the protection of the object with an existing
credential. Note that the naming of this object may be discussed.
An alternative name may be attestation object.</t>
  <t>Simplification of the architecture approach for the initial use
case having an offsite PKI.</t>
  <t>Introduction of a new use case utilizing authenticated
self-contain objects to onboard a pledge using a commissioning
tool containing a pledge-agent. This requires additional changes
in the BRSKI call flow sequence and led to changes in the
introduction, the application example,and also in the
related BRSKI-AE call flow.</t>
  <t>Update of provided examples of the addressing approach used in
BRSKI to allow for support of multiple enrollment protocols in
<xref target="addressing"/>.</t>
</list></t>

<t>From individual version 01 -&gt; 02:</t>

<t><list style="symbols">
  <t>Update of introduction text to clearly relate to the usage of
IDevID and LDevID.</t>
  <t>Definition of the addressing approach used in BRSKI to allow for
support of multiple enrollment protocols in <xref target="addressing"/>.  This
section also contains a first
discussion of an optional discovery mechanism to address
situations in which the registrar supports more than one enrollment
approach. Discovery should avoid that the pledge performs a trial
and error of enrollment protocols.</t>
  <t>Update of description of architecture elements and
changes to BRSKI in <xref target="architecture"/>.</t>
  <t>Enhanced consideration of existing enrollment protocols in the
context of mapping the requirements to existing solutions in
<xref target="req-sol"/> and in <xref target="exist_prot"/>.</t>
</list></t>

<t>From individual version 00 -&gt; 01:</t>

<t><list style="symbols">
  <t>Update of examples, specifically for building automation as
well as two new application use cases in <xref target="app-examples"/>.</t>
  <t>Deletion of asynchronous interaction with MASA to not
complicate the use case. Note that the voucher exchange can
already be handled in an asynchronous manner and is therefore
not considered further. This resulted in removal of the
alternative path the MASA in Figure 1 and the associated
description in <xref target="architecture"/>.</t>
  <t>Enhancement of description of architecture elements and
changes to BRSKI in <xref target="architecture"/>.</t>
  <t>Consideration of existing enrollment protocols in the context
of mapping the requirements to existing solutions in <xref target="req-sol"/>.</t>
  <t>New section starting <xref target="exist_prot"/> with the
mapping to existing enrollment protocols by collecting
boundary conditions.</t>
</list></t>

<!--
LocalWords: bcp uc prot vexchange enrollfigure req eo selander coap br
LocalWords: oscore fullcmc simpleenroll tls env brski UC seriesinfo IDevID
LocalWords: Attrib lt docname ipr toc anima async wg symrefs ann ae pkcs
LocalWords: sortrefs iprnotified Instantiation caPubs raVerified repo reqs Conf
LocalWords: IDentity IDentifier coaps aasvg acp cms json pkixcmp kp DOI
LocalWords: PoP PoI anufacturer uthorized igning uthority SECDIR nbsp
LocalWords: 
LocalWords: 
LocalWords: 
-->

</section>

    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
        <name>Contributors</name>
    <contact initials="E." surname="Lear" fullname="Eliot Lear">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <street>Richtistrasse 7</street>
          <city>Wallisellen</city>
          <code>CH-8304</code>
          <country>Switzerland</country>
        </postal>
        <phone>+41 44 878 9200</phone>
        <email>lear@cisco.com</email>
      </address>
    </contact>
    </section>

  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA81963bb1pLmfzzFbnutkeSQ1MV2bOuks5qh5ER9bEsjKsmk
zzrtgCQoIgYBNgBK5nE8zzLPMk82dd0XAJRlJ9PdXt0nNkls7Evtun5V1e/3
o6hO6yw5NjvfXY7/etYfnh6bYVYnZR7X6U1iTvOyyLJlktfmoizqYlpklUlz
Q7/eieLJpExujo0+HM2KaR4vYbxZGc/rfprU836cp8u4Pymrd2k/TvoHT6Oq
jvPZ2zgrcvhlXa6TKF2V9LeqPjo4eHFwFFXryTKtqrTIrzYr+NXZ6dXLKC6T
+Nicr5ISZlfklYFhzOs4j68TnGJ0ew2zf3P2emh+/j56dwtP5biUpO6f4HSi
aVwfm6qeRVN4OMmrdSWvn8U1vOPo4OhxtEqPI2NgpbAnm6TagX9Mi+Uqntbu
g2qzLJN55X1QlHX4CSwoL+p0niYz+DAv6Fd1mbph4nW9KMrjqA/7CQ+eDMxN
kf+PfFKt/nK+SNLlBJ7gvTyJb9JZx7dwNPBtMkvrooR/FiUsf5ziVlRm+D18
oscjH/IUkgSmcF7XRf+HeJH3L9P82nyNq0zrzbF5vc7T6YIWPUOyeH747PEL
3oR1Xpfwi++TchnnG/goWcZpBkeN0xvA9AYFzexfKn7dAPYNfrUu02OzqOtV
dby/f3t7O/C+3tfVjwfmZZkmlV3zuE7m8yS3n/5XLa7ieQzmOI8vWdkPA/Nd
WUzfLeK1W90PST4r03fBN/9VK1zwXAYTnctnrRJuElD1ZF0jKevyTrO0qM2r
JLZkOUqraWHGG9jOpb+QS5htncK/4qpKzDO7jp/jLEurJMuS3C5m9EP/+eOD
J/5ixrdp/Y+kzIAPwMerBTGUB189OTRPnpjnz56bF8BOHri1ZjClf5niXGhx
N0m+TnDa12WxXh0b4lS48fhfw498oH/8C3KyASzlI/46rRfrify8f3u9H3K4
KC9gi5F94tCXL0dPjg4P5K9Pj57rX5+/ePEU/3rWPxkQn8zi5arqT5er/nqF
DKnq+DZLrxf1bYL/S79clcU8zehFZ6enp2+fHxwNDoeX/aODw+f4IXAy4e/4
Ndwq2Km4nJl5UZpXxTTOmIUmdVmsiiyFr80QmKx5k9S3RfmuMn0aZJxM12Vi
TpKbdJqYsxkwWzimHfpO+Rj+vc+nje+ifytfPXzeP3hOn1QJXqQ0nxf8BM/7
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
thrEtD1ObNMFC7D9xNo1hMyYZd6JQDDj5uuw2hcaQ1bA1JwKYGNWDM1UC9YV
8PIKInirjbbiXVwN1fvmzeCl6dSiWyE1L7pu+9khv3fNEln98ILXorY6aejI
bpvK1jx7u/HNzaL+rq5WmGz7Eo4bnQObu6CpEUPt7hHJU87nhVX9mh49b1ZY
UfWOOLIHDRnzdK7sdKTOy3bsyF1x7C3B4wEXmNbOPkbLZ3rbGFaL3hIbRjAH
xdqi2dqeRxh81cBvZ66GT0NBD7iIvQzXrIYTmNI2KuKNlg5tiIU59YtPyCRO
taTn0GVvjTmnyzWKeuhlZkUdZYW2oKG9hDBJE3Po1WgrpAaxt5TfR2g9UvE+
1eEwUpjaH89082qkBsFSdUncXe0vIqNGq2lpoF71Q1iNfWXFlQ1lsMthtQ8S
KfLqQtViaVPdkW6yoLQ5soBDhqFAhfb+WyjT9i2wLVS0gGXTtsDrjQVBPVWn
hPuVgm2TedBeSrqoQzy2NmoOygVHpPMq9TNPJLQEcXBv4cdYkXLgesjvw3Qb
FWqbZQ0beYZCl85KBNNT2uw0hv7Gvbav+/3t/jeySd8++DWyqvmvnb/9lQsA
cp3STydmOAbva6SVX2mRTQOvUifqkNMkksYHOaPubDrNllpI0geo+Z3CIkIj
Gka94QI9LKRU49Y69sv4fbok9We5gpG4cD87O4jMqAHNlv05ZulvO6SzBGk7
0FAPOtV7QqWPbR1/s/MrrOjXHZ+cAiAtdWT/dbpcwW/iStH+922KZrhB46Ss
3qX0jTpb4CsCdeDUfuIZUaYxYyd0rn61N+1KPqIxsd4jaqnifsuT28zVFHOP
4Y77eRnVtFgltlWKSoCBWFcCF8EfbqNIfPevloZ/pfxdPxPAsE+G67pa0KqP
9oodag52XOCf0uTPmpM/4zX6K14jfEOlesBG8t5IbcB1C7LFO7wB04ud4TE6
kFZAnaQE07KBzhZeYzKiIRWPuIJWb99PuWddMMS7JUJ2XaX78FS4NTjvjxRu
Zf+mXjKb/9zjFAfNSuggjruYOEO3QHK38u/Hrv3v0BOO3owv7BsIRvWz5W18
KFS0TWWazdZWvH6rnFeZtIvfhZoPZoIpAjdIqSIvpfWEMu6IAihqdvW2yXc3
L8FkeZU6267doeqf0hRWO2O4UXTm6lruII3dai/ShB8K76y4gfmcq/pVVG5X
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

-->

</rfc>

