<?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.7.1 (Ruby 2.6.10) -->


<!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-10" 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="2024"/>

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

    <abstract>


<?line 148?>

<t>This document defines an enhancement of
Bootstrapping Remote Secure Key Infrastructure (BRSKI, RFC 8995).
It supports alternative certificate enrollment protocols, such as CMP, that
use authenticated self-contained signed objects for certification messages.</t>

<t>This offers the following advantages.
The origin of requests and responses
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 and when 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>


<?line 164?>

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

<t>BRSKI <xref target="RFC8995"/> is typically used with Enrollment over Secure Transport
(EST, <xref target="RFC7030"/>) 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 received its Initial Device IDentifier
(IDevID, <xref target="IEEE_802.1AR-2018"/>) credentials during its production.
It uses them to authenticate itself to the
Manufacturer Authorized Signing Authority (MASA, <xref target="RFC8995"/>),
and to the registrar, which is 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 <xref target="RFC8366"/> exchange a trust anchor
for authenticating entities in the domain such as the domain registrar.</t>
  <t>The pledge then obtains its
Locally significant Device IDentifier (IDevID, <xref target="IEEE_802.1AR-2018"/>).
To this end, the pledge generates a private key, called LDevID secret,
and requests via the domain registrar from the PKI of its new domain
a domain-specific device certificate, called LDevID certificate.
On success it receives 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>

<t>This specification is sufficient together with its references to
support BRSKI with the Certificate Management Protocol (CMP, <xref target="RFC9480"/>)
profiled in the Lightweight CMP Profile (LCMPP, <xref target="RFC9483"/>).
Combining BRSKI with a protocol or profile other than LCMPP will require
additional IANA registrations based on the rules specified in this document.
It may also require additional specifications for details of the protocol or
profile (similar to <xref target="RFC9483"></xref>), which are outside the scope of this document.</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 registration Authority (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 certification authority (CA) operator requiring
auditable proof of origin for Certificate Signing Requests (CSRs), which is
not possible with the transient source authentication provided by TLS.</t>
      <t>certificate requests for types of keys that do not support signing,
such as Key Encapsulation Mechanism (KEM) and key agreement keys,
which is not supported by EST because it uses CSR in PKCS #10 <xref target="RFC2986"/>
format 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 and abbreviations</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>

<?line -18?>

<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:</dt>
  <dd>
    <t>Bootstrapping Remote Secure Key Infrastructure <xref target="RFC8995"/></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 (see LCMPP).</t>
  </dd>
  <dt>CMP:</dt>
  <dd>
    <t>Certificate Management Protocol <xref target="RFC9480"/></t>
  </dd>
  <dt>CSR:</dt>
  <dd>
    <t>Certificate Signing Request</t>
  </dd>
  <dt>EST:</dt>
  <dd>
    <t>Enrollment over Secure Transport <xref target="RFC7030"/></t>
  </dd>
  <dt>IDevID:</dt>
  <dd>
    <t>Initial Device IDentifier of a pledge, provided by the manufacturer
and comprising a private key and the related X.509 certificate with its chain</t>
  </dd>
  <dt>LDevID:</dt>
  <dd>
    <t>Locally significant Device IDentifier of a pledge, provided by its target domain
and comprising a private key and the related X.509 certificate with its chain</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="RFC9483"/></t>
  </dd>
  <dt>MASA:</dt>
  <dd>
    <t>Manufacturer Authorized Signing Authority</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 into a target domain.
It requests an LDevID 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 into</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>Certificate Request Message Format (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 (second) RA in the backend.
What the registrar must do is to authenticate and pre-authorize the pledge
and to indicate this to the (second) 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"/> <xref target="RFC9480"/> 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>

<t>To sum up, EST does not meet the requirements for authenticated self-contained
objects, but SCEP, CMP, and CMC do. This document primarily focuses on CMP as
it has more industrial relevance than CMC and SCEP has issues not detailed here.</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" stroke-linecap="round">
<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="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 requirements as in BRSKI, see <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.
Note that to this end the RA may need information regarding
the authorization of pledges from the registrar or from other sources.
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 several phases
showing commonalities and differences to the original approach as follows.</t>

<t><list style="symbols">
  <t>Discovery phase: mostly as in BRSKI step (1). For details see <xref target="discovery"/>.</t>
  <t>Identification phase: same as in BRSKI step (2).</t>
  <t>Voucher exchange phase: same as in BRSKI steps (3) and (4).</t>
  <t>Voucher status telemetry: same as in BRSKI directly after step (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: 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="discovery"><name>Pledge - Registrar Discovery</name>

<t>Discovery as specified in BRSKI <xref section="4" sectionFormat="comma" target="RFC8995"/> does not support
discovery of registrars with enhanced feature sets.
A pledge cannot find out in this way whether discovered registrars
support the certificate enrollment protocol it expects, such as CMP.</t>

<t>As a more general solution, the BRSKI discovery mechanism can be extended
to provide up-front information on the capabilities of registrars.
Future work such as <xref target="I-D.eckert-anima-brski-discovery"/> may provide this.</t>

<t>In the absence of such a generally applicable solution,
BRSKI-AE deployments may use their particular way of doing discovery.
<xref target="brski-cmp-instance"/> defines a minimalist approach that <bcp14>MAY</bcp14> be used for CMP.</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-masa-voucher-status-telemetry"><name>Pledge - Registrar - MASA Voucher Status Telemetry</name>

<t>The voucher status telemetry is performed
as specified in <xref section="5.7" sectionFormat="comma" 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" stroke-linecap="round">
<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="RFC9483"/> 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 be specified in a suitable RFC and
placed into the Well-Known URIs registry, as 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="RFC9480"/> and the Lightweight CMP Profile <xref target="RFC9483"/>.</t>

<figure><artwork align="left"><![CDATA[
  /.well-known/brski/voucherrequest
  /.well-known/brski/voucher_status
  /.well-known/brski/enrollstatus
  /.well-known/est/cacerts
  /.well-known/est/csrattrs
  /.well-known/est/fullcmc
  /.well-known/cmp/getcacerts
  /.well-known/cmp/getcertreqtemplate
  /.well-known/cmp/initialization
  /.well-known/cmp/pkcs10
]]></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="RFC9480"/>,
this document refers to the Lightweight CMP Profile (LCMPP)
<xref target="RFC9483"/> 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="RFC9483"/> is <bcp14>REQUIRED</bcp14>.
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="RFC9483"/>.</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="RFC9483"/>.  <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="RFC9483"/>.</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="RFC9483"/> (based on CRMF) or
<xref section="4.1.4" sectionFormat="comma" target="RFC9483"/> (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="RFC9483"/>
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="RFC9483"/>.
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="RFC9483"/>.  <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="RFC9483" section="4.4" sectionFormat="bare"/> and Section <xref target="RFC9483" section="5.1.2" sectionFormat="bare"/> of <xref target="RFC9483"/>.</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="RFC9483"/>.</t>

<!--
CMP Updates {{RFC9480}} and
the LCMPP {{RFC9483}}
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="RFC9482"/>.
In this scenario, of course the EST-specific parts
of <xref target="I-D.ietf-anima-constrained-voucher"/> do not apply.</t>

<t>For BRSKI-AE scenarios where a general solution (cf. <xref target="discovery"/>)
for discovering registrars with CMP support is not available,
the following minimalist approach <bcp14>MAY</bcp14> be used.
Perform discovery as defined in BRSKI <xref section="B" sectionFormat="comma" target="RFC8995"/> but using
the service name <spanx style="verb">"brski-registrar-cmp"</spanx> (defined in <xref target="iana-consider"/>)
instead of <spanx style="verb">"brski-registrar"</spanx> (defined in <xref section="8.6" sectionFormat="comma" target="RFC8995"/>).
Note that this approach does not support join proxies.</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-consider"><name>IANA Considerations</name>

<t>This document requires one IANA action: register in the
<eref target="https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml">Service Name and Transport Protocol Port Number Registry</eref>
the following service name.</t>

<t><strong>Service Name:</strong> brski-registrar-cmp<br />
<strong>Transport Protocol(s):</strong> tcp<br />
<strong>Assignee:</strong> IESG <eref target="mailto:iesg@ietf.org">iesg@ietf.org</eref><br />
<strong>Contact:</strong> IESG <eref target="mailto:iesg@ietf.org">iesg@ietf.org</eref><br />
<strong>Description:</strong> Bootstrapping Remote Secure Key Infrastructure registrar with
CMP capabilities according to the Lightweight CMP Profile (LCMPP, <xref target="RFC9483"/>)<br />
<strong>Reference:</strong> [THISRFC]</t>

<t>Note:
We chose here the suffix "cmp" rather than some other abbreviation like "lcmpp"
mainly because this document defines the normative CMP instantiation of
BRSKI-AE, which implies adherence to LCMPP being necessary and sufficient.</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="RFC9483"/> apply.</t>

<t>Note that CMP messages are not encrypted.
This may give eavesdroppers insight on which devices are bootstrapped into 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 (document shepherd),
Barry Leiba (SECdir review),
Michael Richardson (ANIMA design team member),
as well as Rajeev Ranjan, Rufus Buschart,
Andreas Reiter, and Szofia Fazekas-Zisch (Siemens colleagues)
for their reviews with suggestions for improvements.</t>

</section>


  </middle>

  <back>


    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="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"/>
    <author fullname="S. Santesson" initials="S." surname="Santesson"/>
    <author fullname="S. Farrell" initials="S." surname="Farrell"/>
    <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
    <author fullname="R. Housley" initials="R." surname="Housley"/>
    <author fullname="W. Polk" initials="W." surname="Polk"/>
    <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">
  <front>
    <title>Bootstrapping Remote Secure Key Infrastructure (BRSKI)</title>
    <author fullname="M. Pritikin" initials="M." surname="Pritikin"/>
    <author fullname="M. Richardson" initials="M." surname="Richardson"/>
    <author fullname="T. Eckert" initials="T." surname="Eckert"/>
    <author fullname="M. Behringer" initials="M." surname="Behringer"/>
    <author fullname="K. Watsen" initials="K." surname="Watsen"/>
    <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="RFC9483">
  <front>
    <title>Lightweight Certificate Management Protocol (CMP) Profile</title>
    <author fullname="H. Brockhaus" initials="H." surname="Brockhaus"/>
    <author fullname="D. von Oheimb" initials="D." surname="von Oheimb"/>
    <author fullname="S. Fries" initials="S." surname="Fries"/>
    <date month="November" year="2023"/>
    <abstract>
      <t>This document aims at simple, interoperable, and automated PKI management operations covering typical use cases of industrial and Internet of Things (IoT) scenarios. This is achieved by profiling the Certificate Management Protocol (CMP), the related Certificate Request Message Format (CRMF), and transfer based on HTTP or Constrained Application Protocol (CoAP) 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="RFC" value="9483"/>
  <seriesInfo name="DOI" value="10.17487/RFC9483"/>
</reference>


<reference anchor="IEEE_802.1AR-2018" target="https://ieeexplore.ieee.org/document/8423794">
  <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">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <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">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <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' anchor="sec-informative-references">




<reference anchor="I-D.ietf-anima-constrained-voucher">
   <front>
      <title>Constrained Bootstrapping Remote Secure Key Infrastructure (cBRSKI)</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="10" month="January" year="2024"/>
      <abstract>
	 <t>   This document defines the Constrained Bootstrapping Remote Secure Key
   Infrastructure (cBRSKI) protocol, which provides a solution for
   secure zero-touch onboarding 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. cBRSKI 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 data is
   encoded in JSON, cBRSKI uses a compact CBOR-encoded voucher.  The
   BRSKI voucher data definition 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 DTLS-secured CoAP
   (CoAPS).  This document Updates RFC 8995 and RFC 9148.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-anima-constrained-voucher-23"/>
   
</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">
  <front>
    <title>PKCS #10: Certification Request Syntax Specification Version 1.7</title>
    <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
    <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
    <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="RFC4210">
  <front>
    <title>Internet X.509 Public Key Infrastructure Certificate Management Protocol (CMP)</title>
    <author fullname="C. Adams" initials="C." surname="Adams"/>
    <author fullname="S. Farrell" initials="S." surname="Farrell"/>
    <author fullname="T. Kause" initials="T." surname="Kause"/>
    <author fullname="T. Mononen" initials="T." surname="Mononen"/>
    <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="RFC4211">
  <front>
    <title>Internet X.509 Public Key Infrastructure Certificate Request Message Format (CRMF)</title>
    <author fullname="J. Schaad" initials="J." surname="Schaad"/>
    <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">
  <front>
    <title>Certificate Management over CMS (CMC)</title>
    <author fullname="J. Schaad" initials="J." surname="Schaad"/>
    <author fullname="M. Myers" initials="M." surname="Myers"/>
    <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">
  <front>
    <title>Cryptographic Message Syntax (CMS)</title>
    <author fullname="R. Housley" initials="R." surname="Housley"/>
    <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">
  <front>
    <title>Channel Bindings for TLS</title>
    <author fullname="J. Altman" initials="J." surname="Altman"/>
    <author fullname="N. Williams" initials="N." surname="Williams"/>
    <author fullname="L. Zhu" initials="L." surname="Zhu"/>
    <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">
  <front>
    <title>Enrollment over Secure Transport</title>
    <author fullname="M. Pritikin" initials="M." role="editor" surname="Pritikin"/>
    <author fullname="P. Yee" initials="P." role="editor" surname="Yee"/>
    <author fullname="D. Harkins" initials="D." role="editor" surname="Harkins"/>
    <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="RFC8366">
  <front>
    <title>A Voucher Artifact for Bootstrapping Protocols</title>
    <author fullname="K. Watsen" initials="K." surname="Watsen"/>
    <author fullname="M. Richardson" initials="M." surname="Richardson"/>
    <author fullname="M. Pritikin" initials="M." surname="Pritikin"/>
    <author fullname="T. Eckert" initials="T." surname="Eckert"/>
    <date month="May" year="2018"/>
    <abstract>
      <t>This document defines a strategy to securely assign a pledge to an owner using an artifact signed, directly or indirectly, by the pledge's manufacturer. This artifact is known as a "voucher".</t>
      <t>This document defines an artifact format as a YANG-defined JSON document that has been signed using a Cryptographic Message Syntax (CMS) structure. Other YANG-derived formats are possible. The voucher artifact is normally generated by the pledge's manufacturer (i.e., the Manufacturer Authorized Signing Authority (MASA)).</t>
      <t>This document only defines the voucher artifact, leaving it to other documents to describe specialized protocols for accessing it.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8366"/>
  <seriesInfo name="DOI" value="10.17487/RFC8366"/>
</reference>

<reference anchor="RFC8894">
  <front>
    <title>Simple Certificate Enrolment Protocol</title>
    <author fullname="P. Gutmann" initials="P." surname="Gutmann"/>
    <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">
  <front>
    <title>An Autonomic Control Plane (ACP)</title>
    <author fullname="T. Eckert" initials="T." role="editor" surname="Eckert"/>
    <author fullname="M. Behringer" initials="M." role="editor" surname="Behringer"/>
    <author fullname="S. Bjarnason" initials="S." surname="Bjarnason"/>
    <date month="May" year="2021"/>
    <abstract>
      <t>Autonomic functions need a control plane to communicate, which depends on some addressing and routing. This Autonomic Control Plane should ideally be self-managing and be as independent as possible of configuration. This document defines such a plane and calls it the "Autonomic Control Plane", with the primary use as a control plane for autonomic functions. It also serves as a "virtual out-of-band channel" for Operations, Administration, and Management (OAM) communications over a network that provides automatically configured, hop-by-hop authenticated and encrypted communications via automatically configured IPv6 even when the network is not configured or is misconfigured.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8994"/>
  <seriesInfo name="DOI" value="10.17487/RFC8994"/>
</reference>

<reference anchor="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"/>
    <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
    <author fullname="M. Richardson" initials="M." surname="Richardson"/>
    <author fullname="S. Raza" initials="S." surname="Raza"/>
    <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="RFC9480">
  <front>
    <title>Certificate Management Protocol (CMP) Updates</title>
    <author fullname="H. Brockhaus" initials="H." surname="Brockhaus"/>
    <author fullname="D. von Oheimb" initials="D." surname="von Oheimb"/>
    <author fullname="J. Gray" initials="J." surname="Gray"/>
    <date month="November" year="2023"/>
    <abstract>
      <t>This document contains a set of updates to the syntax of Certificate Management Protocol (CMP) version 2 and its HTTP transfer mechanism. This document updates RFCs 4210, 5912, and 6712.</t>
      <t>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.</t>
      <t>CMP version 3 is introduced to enable signaling support of EnvelopedData instead of EncryptedValue and signal the use of an explicit hash AlgorithmIdentifier in certConf messages, as far as needed.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9480"/>
  <seriesInfo name="DOI" value="10.17487/RFC9480"/>
</reference>

<reference anchor="RFC9482">
  <front>
    <title>Constrained Application Protocol (CoAP) Transfer for the Certificate Management Protocol</title>
    <author fullname="M. Sahni" initials="M." role="editor" surname="Sahni"/>
    <author fullname="S. Tripathi" initials="S." role="editor" surname="Tripathi"/>
    <date month="November" year="2023"/>
    <abstract>
      <t>This document specifies the use of the 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 Internet of Things space.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9482"/>
  <seriesInfo name="DOI" value="10.17487/RFC9482"/>
</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>



<reference anchor="I-D.eckert-anima-brski-discovery">
   <front>
      <title>Discovery for BRSKI variations</title>
      <author fullname="Toerless Eckert" initials="T. T." surname="Eckert">
         <organization>Futurewei USA</organization>
      </author>
      <author fullname="David von Oheimb" initials="D." surname="von Oheimb">
         <organization>Siemens AG</organization>
      </author>
      <author fullname="Esko Dijk" initials="E." surname="Dijk">
         <organization>IoTconsultancy.nl</organization>
      </author>
      <date day="23" month="October" year="2023"/>
      <abstract>
	 <t>   This document specifies how BRSKI entities, such as registrars,
   proxies, pledges or others that are acting as responders, can be
   discovered and selected by BRSKI entities acting as initiators.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-eckert-anima-brski-discovery-01"/>
   
</reference>




    </references>


<?line 1245?>

<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 Leiba (SECdir)</t>
  <t>Michael Richardson (ANIMA design team)</t>
  <t>Rajeev Ranjan, Rufus Buschart, Szofia Fazekas-Zisch, etc. (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>IETF draft ae-09 -&gt; ae-10:</t>

<t><list style="symbols">
  <t>Add reference to RFC 8633 at first occurrence of 'voucher' (fixes #37)</t>
  <t>Update reference of CoAP Transfer for CMP from I-D to RFC 9482</t>
  <t>Move RFC 4210 and RFC 9480 references from normative to informative</t>
  <t>Fix <spanx style="verb">p10</spanx> vs. <spanx style="verb">pkcs10</spanx> entry in list of example endpoints in <xref target="addressing"/></t>
  <t>Minor fix in <xref target="uc1figure"/> and few text tweaks due to Siemens-internal review</t>
  <t>Extend the list of reviewers and acknowledgments by two Siemens colleagues</t>
</list></t>

<t>IETF draft ae-08 -&gt; ae-09:</t>

<t><list style="symbols">
  <t>In response to review by Toerless,
  <list style="symbols">
      <t>tweak abstract to make meaning of 'alternative enrollment' more clear</t>
      <t>expand on first use not "well-known" abbreviations, such as 'EST',<br />
adding also a references on their first use</t>
      <t>add summary and reason for choosing CMP at end of <xref target="solutions-PoI"/></t>
      <t>remove paragraph on optimistic discovery in controlled environments</t>
      <t>mention role of reviewers also in acknowledgments section</t>
    </list></t>
  <t>A couple of grammar and spelling fixes</t>
</list></t>

<t>IETF draft ae-07 -&gt; ae-08:</t>

<t><list style="symbols">
  <t>Update references to service names in <xref target="brski-cmp-instance"/></t>
</list></t>

<t>IETF draft ae-06 -&gt; ae-07:</t>

<t><list style="symbols">
  <t>Update subsections on discovery according to discussion in the design team</t>
  <t>In <xref target="brski-cmp-instance"/>,
replace 'mandatory' by '<bcp14>REQUIRED</bcp14>' regarding adherence to LCMPP,<br />
in response to SECDIR Last Call Review of ae-06 by Barry Leiba</t>
</list></t>

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

<t><list style="symbols">
  <t>Extend section on discovery according to discussion in the design team</t>
  <t>Make explicit that MASA voucher status telemetry is as in BRSKI</t>
  <t>Add note that on delegation, RA may need info on pledge authorization</t>
</list></t>

<t>IETF draft ae-04 -&gt; 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>IETF draft ae-03 -&gt; ae-04:</t>

<t><list style="symbols">
  <t>In response to SECDIR Early Review of ae-03 by Barry Leiba,
  <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, off-site 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>IETF draft ae-02 -&gt; 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>IETF draft ae-01 -&gt; 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 off-site 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>

<!--
Local IspellDict: american
LocalWords: bcp uc prot vexchange enrollfigure req eo selander coap br iana tcp
LocalWords: oscore fullcmc simpleenroll tls env brski UC seriesinfo IDevID Resp
LocalWords: Attrib lt docname ipr toc anima async wg symrefs ann ae pkcs cert
LocalWords: sortrefs iprnotified Instantiation caPubs raVerified repo reqs Conf
LocalWords: IDentity IDentifier coaps aasvg acp cms json pkixcmp kp DOI abbrev
LocalWords: PoP PoI anufacturer uthorized igning uthority SECDIR nbsp passphrase
LocalWords: ietf cmp lcmpp submissionType kw std org uri cmpv app sol est Certs
LocalWords: github eckert lternative nrollment sec
-->

</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:
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
pFvj6K7GErk0oQ3BEQ2jJoRQMXmCodqn305FG4vDQD2zjJ/qFpZBKJVUMArB
NNrkJEJ1tTR/Ale24hzeWvYaJLW75PdMsbmJIWrumk2J2nEzkRNu9JtgsaDK
uOP80jleZit3hkLy9Se6ykLndF+wop/k6uoIUynTw0AhdOoDyxE/e82pp22k
st/hg+6CbVkNDV2Z/l5ik09CgsWAfPWt08Booecei3AYPoRRVX7hdZYo6i+n
KgXUvCfz3UTIA+qRn57ZVtnfyKE/SKJWar76py/TucSSD62wSMmFg0LIfUR+
oTEhAdboDMGjQzV5KDd8fstufq0kJXyhsz15+7Jh096Q6X3rG9hK6n6JbtqC
ijDiJcDqD7SnU3xOkiNwYzyaUne4H6fi6yOkJorBPq6lRfBghB87tuUUKekR
OIKZ6Nq/+7aTvIF5GwAEAceyOjTpTVz7IkpBDC5LYBLhZVxJvkkcyfF51lBo
goAjq4owtu2LPcluS2Y78NAyLxDeJmgO/J3b9L0so0LpRq4kjA4WdYA6HfcC
TWyJz/YuBYt4nxdIkkjeSHKG1YxslpPiNm4jTNob4QHmQG+Cqck6qBTqd/4X
/xoTim+qFfkBp1cI8YG59lqq+6FwMTN46S2HXCByPpdT2H58Jd5uDAix+Ehn
GDDwvfroKgEV9cDBMaz9Dlk8fIRILa2qhZcC+UIdmhm1NkGq5vlakCGGbSx/
j9uR29luYkM4ljgkZevOIg7gkpNf6syOyx1wZtcMxaQd8vvYql7AbdgF9SA1
0QfeEf8kOOKfjXZ3R89HWBLHNwWHx1TgdV+gFaQRYYClQuexbiIB+nS6HBbl
LBsWlIeUZ/OZJuiwwmWENzc5Kdz44MSiz/ot9z6CjiaqEHwtRp14gKppxbOm
4G/SX/MbDOw1r+3gqvpj0MRfkHInJYijvprsoZTsuvrQccnvtYWdexYRLOK+
VVCtZGr44LEVPFQM89PbrZSvQHATvUSoHCHgY1Xnos1saoGV3drrY1lE3VmE
sYP33bjwDD+WlzWnFDGaaf1SPOZbkn0YDadsjcpGHl/QYMHA8LwTDy0n/oIi
HbObPK/RaUR5FtjTPaRseB29Fc26IeONToHbx0ZdpS4obUrq7PDmrDWIaXuC
2KYLFiXfcABVMBWcVMA7EQlm3HwdVkQ8hayAqQUVwMesGDutFmyodGgKp5jV
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
xunRVoMOTRqzKQGE/w8PwfgxZSkBAA==

-->

</rfc>

