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


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

]>

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

<rfc ipr="trust200902" docName="draft-ietf-anima-brski-ae-03" 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 Oheimb" fullname="David von 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="2022"/>

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

    <abstract>


<t>This document enhances
Bootstrapping Remote Secure Key Infrastructure (BRSKI, RFC 8995)
to allow employing alternative enrollment protocols, such as CMP.</t>

<t>Using self-contained signed objects,
the origin of enrollment requests and responses
can be authenticated independently of message transfer.
This supports end-to-end security and asynchronous operation of
certificate enrollment and provides flexibility
where to authenticate and authorize certification requests.</t>



    </abstract>

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


  </front>

  <middle>


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

<section anchor="motivation"><name>Motivation</name>

<t>BRSKI, as defined in <xref target="RFC8995"/>, specifies a solution for
secure automated zero-touch bootstrapping of new devices,
which are given the name <em>pledges</em>, in the domain they should operate with.
This includes the discovery of the registrar representing the target domain,
time synchronization or validation, and the exchange of security information
necessary to establish mutual trust between pledges and the target domain.
As explained in <xref target="terminology"/>, the <em>target domain</em>, or <em>domain</em> for short,
is defined as the set of entities that share a common local trust anchor.</t>

<section anchor="voucher-exchange-for-trust-anchor-establishment"><name>Voucher Exchange for Trust Anchor Establishment</name>

<t>Initially, a pledge has a trust anchor only of its manufacturer, not yet
of any target domain.  In order for the pledge to automatically and securely
obtain trust in a suitable target domain represented by its registrar,
BRSKI uses vouchers as defined in <xref target="RFC8366"></xref>.
A voucher is a cryptographic object issued by
the Manufacturer Authorized Signing Authority (MASA) of the pledge manufacturer
to the specific pledge identified by the included device serial number.
It is signed with the credentials of the MASA and
can be validated by the manufacturer trust anchor imprinted with the pledge.
So the pledge can accept the voucher contents, which indicate to the pledge
that it can trust the domain identified by the given certificate.</t>

<t>While RFC 8995 only specifies a single, online set of protocol option to
communicate the voucher between MASA, registrar, and pledge
(BRSKI-EST and BRSKI-MASA, see <xref section="2" sectionFormat="comma" target="RFC8995"/>),
it also describes the architecture for how the voucher
may be provided in online mode (synchronously) or offline mode (asynchronously).
So for the voucher exchange offline mode is basically supported
because the vouchers are self-contained signed objects,
such that their security does not rely on protection by the underlying transfer.</t>

<t>SZTP <xref target="RFC8572"/> is an example of another protocol where vouchers may be
delivered asynchronously by tools such as portable USB "thumb" drives.
However, SZTP does not do signed voucher requests,
so it does not allow the domain to verify the identity of the device
in the same way, nor does it deploy LDevIDs to the device in the same way.</t>

</section>
<section anchor="enrollment-of-ldevid-certificate"><name>Enrollment of LDevID Certificate</name>

<t>Trust in a pledge by other devices in the target domain is enabled
by enrolling the pledge
with a domain-specific Locally significant Device IDentity (LDevID) certificate.</t>

<t>Recall that for certificate enrollment it is crucial to authenticate the
entity requesting the certificate.  Checking both the identity and the
authorization of the requester is the job of a registration authority (RA).
With BRSKI-EST, there is only one RA instance, co-located with the registrar.</t>

<t>The certification request of the pledge is signed using its IDevID secret.
It can be validated by the target domain (e.g., by the domain registrar)
using the trust anchor of the pledge manufacturer,
which needs to pre-installed in the domain.</t>

<t>For enrolling devices with LDevID certificates, BRSKI specifies
how Enrollment over Secure Transport (EST) <xref target="RFC7030"/> can be used.
EST has its specific characteristics, detailed in <xref target="using-est"/>.
In particular, it requires online on-site availability of the RA
for performing the data origin authentication
and final authorization decision on the certification request.
This type of enrollment can be called 'synchronous enrollment'.
EST, BRSKI-EST, and BRSKI-MASA as used in RFC 8995 are tied to a specific
transport, TLS, which may not be suitable for the target use case outlined
by the examples in <xref target="list-examples"/>. Therefore deployments may require
different transport, see Constrained Voucher Artifacts for Bootstrapping
Protocols <xref target="I-D.ietf-anima-constrained-voucher"/> and EST-coaps <xref target="RFC9148"/>.</t>

<t>Since EST does not support offline enrollment, it may be preferable
for the reasons given in this section and depending on
application scenarios as outlined in <xref target="list-examples"/> and <xref target="app-examples"/>
to use alternative enrollment protocols such as
the Certificate Management Protocol (CMP) <xref target="RFC4210"/>
profiled in <xref target="I-D.ietf-lamps-lightweight-cmp-profile"/>
or Certificate Management over CMS (CMC) <xref target="RFC5272"/>.
These protocols are more flexible, and by representing the certification
request messages as authenticated self-contained objects,
they are designed to be independent of the transfer mechanism.</t>

<t>Depending on the application scenario, the required components of an RA
may not be part of the BRSKI registrar. They even may not be available on-site
but rather be provided by remote backend systems.
The RA functionality may also be split into an on-site local RA (LRA)
and a central RA component in the backend, referred to as PKI RA.
For certification authorities (CAs) it is common to be located in the backend.
The registrar or its deployment site may not have an online connection
with these RA/CA components or the connectivity may be intermittent.
This may be due to security requirements for operating the backend systems
or due to deployments where on-site or always-online operation
may be not feasible or too costly.
In such scenarios, the authentication and authorization of certification
requests will not or can not be performed on-site.</t>

<t>In this document, enrollment that is not performed over an online connection
is called 'asynchronous enrollment'.
Asynchronous enrollment means that messages need to be forwarded through
offline methods (e.g., Sneakernet/USB sticks) and/or at some point in time
only part of the communication path is available.
Messages need to be stored,
along with the information needed for authenticating their origin,
in front of an unavailable segment for potentially long time (e.g., days)
before they can be forwarded.
This implies that end-to-end security between the parties involved
can not be provided by an authenticated (and often confidential)
communications channel such as TLS used in EST/BRSKI-EST/BRSKI-MASA.</t>

<t>Application scenarios may also involve network segmentation, which is utilized
in industrial systems to separate domains with different security needs --
see also <xref target="infrastructure-isolation"/>.
Such scenarios lead to similar requirements if the TLS channel
that carries the requester authentication is terminated
before the actual requester authorization is performed.
Thus request messages need to be forwarded on further channels
before the registrar or RA can authorize the certification request.
In order to preserve the requester authentication, authentication information
needs to be retained and ideally bound directly to the certification request.</t>

<t>There are basically two approaches for forwarding certification requests
along with requester authentication information:</t>

<t><list style="symbols">
  <t>The component in the target domain that forwards the certification request,
such as a local RA being part of the registrar, combines
the certification request with the validated identity of the requester
(e,g., its IDevID certificate) and an indication of successful verification of
the proof of possession (of the corresponding private key) in a way
preventing changes to the combined information.
This implies that it must be trusted by the PKI.
When connectivity is available, the trusted component
forwards the certification request together with the requester information
(authentication and proof of possession) for further processing.
This approach offers hop-by-hop security, but not end-to-end security.  <vspace blankLines='1'/>
In BRSKI, the EST server, being co-located with the registrar in the domain,
is such a component that needs to be trusted by the backend PKI components.
They must rely on the local pledge authentication result provided by that
component
when performing the final authorization of the certification request.</t>
  <t>A trusted intermediate domain component is not needed when involved
components use authenticated self-contained objects for the enrollment,
directly binding the certification request and the requester authentication
in a cryptographic way.  This approach supports end-to-end security,
without the need to trust in intermediate domain components.
Manipulation of the request and the requester identity information
can be detected during the validation of the self-contained signed object.  <vspace blankLines='1'/>
Note that with this approach the way in which enrollment requests are
forwarded by the registrar to the backend PKI components does not contribute
to their security and therefore does not need to be addressed here.</t>
</list></t>

<t>Focus of this document is the support of alternative enrollment protocols that
allow the second approach, i.e.,
using authenticated self-contained objects for device certificate enrollment.
This enhancement of BRSKI is named BRSKI-AE, where AE stands for
<strong>A</strong>lternative <strong>E</strong>nrollment and for <strong>A</strong>synchronous <strong>E</strong>nrollment.
This specification carries over the main characteristics of BRSKI,
namely that the pledge obtains trust anchor information
for authenticating the domain registrar and other target domain components
as well as a domain-specific X.509 device certificate (the LDevID certificate)
along with the corresponding private key (the LDevID secret)
and certificate chain.</t>

<t>The goals are to provide an enhancement of BRSKI
using enrollment protocols alternatively to EST that</t>

<t><list style="symbols">
  <t>support end-to-end security for LDevID certificate enrollment and</t>
  <t>make it applicable to scenarios involving asynchronous enrollment.</t>
</list></t>

<t>This is achieved by</t>

<t><list style="symbols">
  <t>extending the well-known URI approach of BRSKI and EST message
with an additional path element
indicating the enrollment protocol being used, and</t>
  <t>defining a certificate waiting indication and handling, for the case that the
certifying component is (temporarily) not available.</t>
</list></t>

<t>This specification can be applied to
both synchronous and asynchronous enrollment.</t>

<t>As an improvement over BRSKI,
this specification supports offering multiple enrollment protocols
which enables pledges and their developers to pick the preferred one.</t>

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

<t>BRSKI-AE is intended to be used in domains that may have limited support of
on-site PKI services and comprises application scenarios like the following.</t>

<t><list style="symbols">
  <t>Scenarios indirectly excluding the use of EST for certificate enrollment,
such as the requirement for end-to-end authentication of the requester
while the RA is not co-located with the registrar.</t>
  <t>Scenarios having implementation restrictions
that speak against using EST for certificate enrollment,
such as the use of a library that does not support EST but CMP.</t>
  <t>Pledges and/or the target domain already having an established
certificate management approach different from EST that shall be reused
(e.g., in brownfield installations where CMP is used).</t>
  <t>No RA being available on site in the target domain.
Connectivity to an off-site PKI RA is intermittent or entirely offline.
A store-and-forward mechanism is used
for communicating with the off-site services.</t>
  <t>Authoritative actions of a local RA being not sufficient
for fully authorizing certification requests by pledges.
Final authorization then is done by a PKI RA residing in the backend.</t>
</list></t>

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

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

<t><list style="symbols">
  <t>Rolling stock</t>
  <t>Building automation</t>
  <t>Electrical substation automation</t>
  <t>Electric vehicle charging infrastructures</t>
  <t>Infrastructure isolation policy</t>
  <t>Sites with insufficient level of operational security</t>
</list></t>

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

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

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

<dl>
  <dt>asynchronous communication:</dt>
  <dd>
    <t>time-wise interrupted communication
between a pledge and a registrar or PKI component.</t>
  </dd>
  <dt>authenticated self-contained object:</dt>
  <dd>
    <t>data structure
that is cryptographically bound to the IDevID certificate of a pledge.
The binding is assumed to be provided through a digital signature
of the actual object using the IDevID secret.</t>
  </dd>
  <dt>backend:</dt>
  <dd>
    <t>same as off-site</t>
  </dd>
  <dt>BRSKI-AE:</dt>
  <dd>
    <t>Variation of BRSKI <xref target="RFC8995"/> in which BRSKI-EST, the enrollment protocol
between pledge and the registrar including the RA, is replaced by
alternative enrollment protocols such as Lightweight CMP.
To this end a new URI scheme used for performing the certificate enrollment.
BRSKI-AE enables the use of other enrollment protocols between pledge and
registrar and to any backend RA components with end-to-end security.</t>
  </dd>
  <dt>CA:</dt>
  <dd>
    <t>Certification Authority, which is the PKI component that issues certificates
and provides certificate status information.</t>
  </dd>
  <dt>domain:</dt>
  <dd>
    <t>shorthand for target domain</t>
  </dd>
  <dt>IDevID:</dt>
  <dd>
    <t>Initial Device IDentifier, provided by the manufacturer and comprising of
a private key, an X.509 certificate with chain, and a related trust anchor.</t>
  </dd>
  <dt>LDevID:</dt>
  <dd>
    <t>Locally significant Device IDentifier, provided by the target domain
and comprising of
a private key, an X.509 certificate with chain, and a related trust anchor.</t>
  </dd>
  <dt>local RA (LRA):</dt>
  <dd>
    <t>RA that is on site with the registrar and that may be needed in addition
to an off-site RA.</t>
  </dd>
  <dt>on-site:</dt>
  <dd>
    <t>locality of a component or service or functionality
in the local target deployment site of the registrar.</t>
  </dd>
  <dt>off-site:</dt>
  <dd>
    <t>locality of component or service or functionality
in an operator site different from
the target deployment site. This may be a central site or a
cloud service, to which only a temporary connection is available.</t>
  </dd>
  <dt>PKI RA:</dt>
  <dd>
    <t>off-site RA in the backend of the target domain</t>
  </dd>
  <dt>pledge:</dt>
  <dd>
    <t>device that is to be bootstrapped to the target domain.
It requests an LDevID using an IDevID installed by its manufacturer.</t>
  </dd>
  <dt>RA:</dt>
  <dd>
    <t>Registration Authority, which is the PKI component to which
a CA typically delegates certificate management functions
such as authenticating requesters and performing authorization checks
on certification requests.</t>
  </dd>
  <dt>site:</dt>
  <dd>
    <t>the locality where an entity, e.g., pledge, registrar, RA, CA, is deployed.
Different sites can belong to the same target domain.</t>
  </dd>
  <dt>synchronous communication:</dt>
  <dd>
    <t>time-wise uninterrupted communication
between a pledge and a registrar or PKI component.</t>
  </dd>
  <dt>target domain:</dt>
  <dd>
    <t>the set of entities that the pledge should be able to operate with
and that share a common local trust anchor,
independent of where the entities are deployed.</t>
  </dd>
</dl>

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

<section anchor="basic-reqs"><name>Basic Requirements</name>

<t>There are two main drivers for the definition of BRSKI-AE:</t>

<t><list style="symbols">
  <t>The solution architecture may already use or require
a certificate management protocol other than EST.  Therefore,
this other protocol should be usable for requesting LDevID certificates.</t>
  <t>The domain registrar may not be the (final) point
that authenticates and authorizes certification requests,
and the pledge may not have a direct connection to it.
Therefore, certification requests should be self-contained signed objects.</t>
</list></t>

<t>Based on the intended target environment 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><em>Proof of possession</em>: 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.</t>
  <t><em>Proof of identity</em>, also called <em>proof of origin</em>:
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>
<section anchor="solution-options-for-proof-of-possession"><name>Solution Options for Proof of Possession</name>

<t>Certification request objects: Certification requests are
  data structures protecting only the integrity of the contained data
  and providing proof of possession for a (locally generated) private key.
  Examples for certification request data structures are:</t>

<t><list style="symbols">
  <t>PKCS#10 <xref target="RFC2986"/>. This certification request structure is self-signed to
protect its integrity and to prove possession of the private key
that corresponds to the public key included in the request.</t>
  <t>CRMF <xref target="RFC4211"/>. This certificate request message format also supports
integrity protection and proof of possession,
typically by a self-signature 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 support any signature algorithm.</t>
</list></t>

<t>The integrity protection of certification request fields includes the public
  key because it is part of the data signed by the corresponding private key.
  Yet note that for the above examples this is not sufficient to provide data
  origin authentication, i.e., proof of identity. 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.
  The binding of data
  origin authentication to the certification request may be
  delegated to the protocol used for certificate management.</t>

</section>
<section anchor="solution-options-for-proof-of-identity"><name>Solution Options for Proof of Identity</name>

<t>The certification request should be bound to an existing authenticated
  credential (here, the IDevID certificate) to enable a proof of identity
  and, based on it, an authorization of the certification request.
  The binding may be achieved through security options in an
  underlying transport protocol such as TLS if the authorization of the
  certification request is (completely) done at the next communication hop.
  This binding can also be done in a transport-independent way by wrapping the
  certification request with a signature employing an existing IDevID.
  In the BRSKI context, this will be the IDevID.
  This requirement is addressed by existing enrollment protocols
  in various ways, such as:</t>

<t><list style="symbols">
  <t>EST <xref target="RFC7030"/> utilizes PKCS#10 to
encode the certification request. The Certificate Signing
Request (CSR) optionally provides a binding to the underlying TLS session
by including the tls-unique value in the self-signed PKCS#10 structure.
The tls-unique value results from the TLS handshake.
Since the TLS handshake includes certificate-based client
authentication and the pledge utilizes its IDevID for it,
the proof of identity is provided by such a binding to the TLS session.
This can be supported using the EST /simpleenroll endpoint.
Note that the binding of the TLS handshake to the CSR is optional in EST.  <vspace blankLines='1'/>
<xref section="2.5" sectionFormat="comma" target="RFC7030"/> sketches wrapping the CSR with a Full PKI Request
message sent to the /fullcmc endpoint.
This would allow for source authentication
<!-- removed as it is not the only option: using an existing certificate -->
at message level as an alternative to indirectly binding
to the underlying TLS authentication in the transport layer.</t>
  <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 <em>renewal</em>.
This way
SCEP does not rely on the security of the underlying message transfer.</t>
  <t>CMP <xref target="RFC4210"/> supports using a shared secret (passphrase) or an existing
certificate, which may be an IDevID credential, to authenticate
certification requests via the PKIProtection structure in a PKIMessage.
The certification request is typically encoded utilizing CRMF,
while PKCS#10 is supported as an alternative.
Thus, CMP does not rely on the security of the underlying message transfer.</t>
  <t>CMC <xref target="RFC5272"/> also supports utilizing a shared secret (passphrase) or
an existing certificate to protect certification requests,
which can be either in CRMF or PKCS#10 structure.
The proof of identity can be provided as part of a FullCMCRequest,
based on CMS <xref target="RFC5652"/> and signed with an existing IDevID secret.
Thus
also CMC does not rely on the security of the underlying message transfer.</t>
</list></t>

<!--
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 {{I-D.selander-ace-coap-est-oscore}}
may be considered as a further variant.
-->

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

<t>In order to support alternative certificate enrollment protocols,
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.
Consequently, the authentication and authorization of the certification request
<bcp14>MAY</bcp14> be done by the domain registrar and/or by other domain components.
These components may be offline or
reside in some central backend of the domain operator (off-site)
as described in <xref target="sup-env"/>. The registrar and other on-site domain components
may have no or only temporary (intermittent) connectivity to them.
The certification request <bcp14>MAY</bcp14> also be piggybacked on another protocol.</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 Off-site PKI Components" anchor="uc1figure"><artset><artwork  type="svg" align="left"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="560" width="544" viewBox="0 0 544 560" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
<path d="M 8,208 L 8,368" 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,368" fill="none" stroke="black"/>
<path d="M 112,464 L 112,512" fill="none" stroke="black"/>
<path d="M 152,240 L 152,320" fill="none" stroke="black"/>
<path d="M 160,464 L 160,512" fill="none" stroke="black"/>
<path d="M 216,240 L 216,320" fill="none" stroke="black"/>
<path d="M 304,240 L 304,320" fill="none" stroke="black"/>
<path d="M 336,32 L 336,144" fill="none" stroke="black"/>
<path d="M 376,328 L 376,456" fill="none" stroke="black"/>
<path d="M 424,240 L 424,320" 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,288 L 144,288" fill="none" stroke="black"/>
<path d="M 224,288 L 296,288" fill="none" stroke="black"/>
<path d="M 152,320 L 216,320" fill="none" stroke="black"/>
<path d="M 304,320 L 424,320" fill="none" stroke="black"/>
<path d="M 8,368 L 80,368" 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,328 372,322.4 372,333.6" fill="black" transform="rotate(270,376,328)"/>
<polygon class="arrowhead" points="336,48 324,42.4 324,53.6" fill="black" transform="rotate(0,328,48)"/>
<polygon class="arrowhead" points="304,288 292,282.4 292,293.6" fill="black" transform="rotate(0,296,288)"/>
<polygon class="arrowhead" points="232,288 220,282.4 220,293.6" fill="black" transform="rotate(180,224,288)"/>
<polygon class="arrowhead" points="160,496 148,490.4 148,501.6" fill="black" transform="rotate(0,152,496)"/>
<polygon class="arrowhead" points="152,288 140,282.4 140,293.6" fill="black" transform="rotate(0,144,288)"/>
<polygon class="arrowhead" points="128,480 116,474.4 116,485.6" fill="black" transform="rotate(180,120,480)"/>
<polygon class="arrowhead" points="96,288 84,282.4 84,293.6" fill="black" transform="rotate(180,88,288)"/>
<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="128" y="276">.</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="184" y="292">.......</text>
<text x="356" y="292">Enrollment</text>
<text x="448" y="292">.</text>
<text x="128" y="308">.</text>
<text x="364" y="308">Proxy/LRA/RA</text>
<text x="448" y="308">.</text>
<text x="44" y="324">IDevID</text>
<text x="128" y="324">.</text>
<text x="448" y="324">.</text>
<text x="140" y="340">BRSKI-AE</text>
<text x="200" y="340">(over</text>
<text x="244" y="340">TLS)</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="448" y="404">RFC</text>
<text x="488" y="404">4210,</text>
<text x="448" y="420">RFC</text>
<text x="488" y="420">7030,</text>
<text x="528" y="420">...</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="220" y="484">Registration</text>
<text x="312" y="484">Authority</text>
<text x="520" y="484">.</text>
<text x="16" y="500">.</text>
<text x="56" y="500">PKI</text>
<text x="84" y="500">CA</text>
<text x="184" y="500">PKI</text>
<text x="212" y="500">RA</text>
<text x="256" y="500">(unless</text>
<text x="308" y="500">part</text>
<text x="340" y="500">of</text>
<text x="380" y="500">Domain</text>
<text x="452" 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="108" y="548">off-site</text>
<text x="184" y="548">(central,</text>
<text x="260" y="548">backend)</text>
<text x="324" y="548">domain</text>
<text x="396" 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/ |  .
|        |<------>|.......|<-------->| Enrollment   |  .
|        |     .  |       |          | Proxy/LRA/RA |  .
| IDevID |     .  +-------+          +--------------+  .
|        |   BRSKI-AE (over TLS)              ^        .
|        |     .                              |        .
+--------+     ...............................|.........
            on-site (local) domain components |
                                              | e.g., RFC 4210,
                                              |       RFC 7030, ...
 .............................................|..................
 . Public-Key Infrastructure                  v                 .
 . +---------+     +------------------------------------------+ .
 . |         |<----+ Registration Authority                   | .
 . | PKI CA  +---->| PKI RA (unless part of Domain Registrar) | .
 . +---------+     +------------------------------------------+ .
 ................................................................
         off-site (central, backend) 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, or none of them.</t>

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

<t><list style="symbols">
  <t>Join Proxy: same functionality as described in BRSKI <xref section="4" sectionFormat="comma" target="RFC8995"/></t>
  <t>Domain Registrar including RA, LRA, or Enrollment Proxy: in BRSKI-AE,
the domain registrar has mostly the same functionality as in BRSKI, namely
to facilitate the communication of the pledge with the MASA and the PKI.
Yet there are two generalizations:  <list style="numbers">
      <t>The registrar <bcp14>MUST</bcp14> support at least one certificate enrollment protocol
that uses for certificate requests authenticated self-contained objects.
To this end, the URI scheme for addressing the endpoint at the registrar
is generalized (see <xref target="addressing"/>).      <vspace blankLines='1'/>
To support the end-to-end proof of identity of the pledge,
the enrollment protocol used by the pledge
<bcp14>MUST</bcp14> also be used by the registrar for its upstream certificate enrollment
message exchange with backend PKI components.
Between the pledge and the registrar the enrollment request messages are
tunneled over the TLS channel already established between these entities.
The registrar optionally checks the requests and then passes them on to
the PKI. On the way back, it forwards responses by the PKI to the pledge
on the existing TLS channel.</t>
      <t>The registrar <bcp14>MAY</bcp14> also delegate all or part of its certificate enrollment
support to a separate system. That is, alternatively to having full RA
functionality, the registrar may act as a local registration authority
(LRA) or just as an enrollment proxy.
In such cases, the domain registrar may forward the certification request
to some off-site RA component, also called PKI RA here, that performs
the remaining parts of the enrollment request validation and authorization.
This also covers the case that the registrar has only intermittent
connection and forwards certification requests to off-site PKI components
upon re-established connectivity.      <vspace blankLines='1'/>
Still all certificate enrollment traffic goes via the registrar, such that
from the pledge perspective there is no difference in connectivity and
the registrar is involved in all steps.  The final step of BRSKI,
namely the enrollment status telemetry, is also kept.</t>
    </list></t>
</list></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
(voucher request with nonce) or asynchronous (voucher request without nonce).</t>
  <t>Ownership tracker: as defined in BRSKI.</t>
</list></t>

<t>The following list describes the target domain components that can optionally be
operated in the off-site backend of the target domain.</t>

<t><list style="symbols">
  <t>PKI RA: Performs certificate management functions for the domain
as a centralized 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 PKI CA.</t>
  <t>PKI CA: Performs certificate generation by signing the certificate structure
requested in already authenticated and authorized certification requests.</t>
</list></t>

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

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

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

<t>The behavior of a pledge described in BRSKI <xref section="2.1" sectionFormat="comma" target="RFC8995"/>
is kept with one 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.
<!-- Note that EST with simple-enroll cannot be applied here because
it binds the pledge authentication to the transport channel (TLS) rather than
to the certification request object itself, so this form of authentication
is not visible / verifiable to authorization points outside the registrar.-->
<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 in <xref target="BRSKI-AE-overview"/>.</t>

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

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

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

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

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

<t>The certificate enrollment phase may involve several exchanges of requests
and responses.
Which of the message exchanges marked <bcp14>OPTIONAL</bcp14> in the below <xref target="enrollfigure"/>
are potentially used, or are actually required or prohibited to be used,
depends on the application scenario and on the employed enrollment protocol.</t>

<t>These <bcp14>OPTIONAL</bcp14> exchanges 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>

<t>The only generally MANDATORY message exchange is for the actual certificate
request and response.  As stated in <xref target="req-sol"/>, the certificate request
<bcp14>MUST</bcp14> be performed using an authenticated self-contained object providing
not only proof of possession but also proof of identity (source authentication).</t>

<figure title="Certificate Enrollment" anchor="enrollfigure"><artset><artwork  type="svg" align="left"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="576" width="560" viewBox="0 0 560 576" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
<path d="M 8,32 L 8,96" fill="none" stroke="black"/>
<path d="M 16,128 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,112 L 40,112" fill="none" stroke="black"/>
<path d="M 24,144 L 96,144" fill="none" stroke="black"/>
<path d="M 264,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 96,208" fill="none" stroke="black"/>
<path d="M 272,208 L 344,208" fill="none" stroke="black"/>
<path d="M 24,224 L 40,224" fill="none" stroke="black"/>
<path d="M 24,272 L 96,272" fill="none" stroke="black"/>
<path d="M 272,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 96,336" fill="none" stroke="black"/>
<path d="M 280,336 L 344,336" fill="none" stroke="black"/>
<path d="M 24,352 L 40,352" fill="none" stroke="black"/>
<path d="M 24,384 L 96,384" fill="none" stroke="black"/>
<path d="M 288,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 96,448" fill="none" stroke="black"/>
<path d="M 296,448 L 344,448" fill="none" stroke="black"/>
<path d="M 24,464 L 40,464" fill="none" stroke="black"/>
<path d="M 24,496 L 96,496" fill="none" stroke="black"/>
<path d="M 288,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 96,560" fill="none" stroke="black"/>
<path d="M 304,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="48,464 36,458.4 36,469.6" fill="black" transform="rotate(0,40,464)"/>
<polygon class="arrowhead" points="48,352 36,346.4 36,357.6" fill="black" transform="rotate(0,40,352)"/>
<polygon class="arrowhead" points="48,224 36,218.4 36,229.6" fill="black" transform="rotate(0,40,224)"/>
<polygon class="arrowhead" points="48,112 36,106.4 36,117.6" fill="black" transform="rotate(0,40,112)"/>
<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="16" y="116">/</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="116" y="148">CA</text>
<text x="152" y="148">Certs</text>
<text x="208" y="148">Request</text>
<text x="252" 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="116" y="212">CA</text>
<text x="152" y="212">Certs</text>
<text x="212" y="212">Response</text>
<text x="260" 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="144" y="276">Attribute</text>
<text x="216" y="276">Request</text>
<text x="260" 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="144" y="340">Attribute</text>
<text x="220" y="340">Response</text>
<text x="268" y="340">(4</text>
<text x="76" y="372">[MANDATORY</text>
<text x="168" y="372">certificate</text>
<text x="252" y="372">request]</text>
<text x="152" y="388">Certificate</text>
<text x="232" y="388">Request</text>
<text x="276" 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="152" y="452">Certificate</text>
<text x="236" y="452">Response</text>
<text x="284" 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="152" y="500">Certificate</text>
<text x="232" y="500">Confirm</text>
<text x="276" 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="160" y="564">PKI/Registrar</text>
<text x="248" y="564">Confirm</text>
<text x="292" 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)--------|                       |
 |-->                                      |                       |
 |  [MANDATORY 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>The various connections between the registrar and the PKI components
of the operator (RA/CA) may be intermittent or off-line.
Messages are to be sent as soon as sufficient transfer capacity is available.</t>

<t>The label <spanx style="verb">[OPTIONAL forwarding]</spanx> means that on receiving from a pledge a
request of the given type, the registrar <bcp14>MAY</bcp14> answer the request directly itself.
Otherwise the registrar <bcp14>MUST</bcp14> forward the request to a backend PKI component
and forward any resulting response back to the pledge.</t>

<t>Notes:
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>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 backend 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>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.</t>

<t>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 the current root CA certificate,
which typically is the LDevID trust anchor, and any additional certificates
that the pledge may need to validate certificates.</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 can 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.</t>
  <t>Certificate Confirm (7): An optional confirmation sent
after the requested certificate has been received and validated.
It contains 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"/> and tunneling over TLS.
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 target="RFC8995"/>.</t>

<t>In BRSKI this is described as part of the 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 PKI 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 EST <xref target="RFC7030"></xref> as in BRSKI and CMP as in
<xref target="I-D.ietf-lamps-lightweight-cmp-profile"></xref> and <xref target="brski-cmp-instance"/> below.
Values for other existing protocols such as CMC and SCEP,
or for newly defined protocols, require their own specifications
for their use of the <spanx style="verb">&lt;enrollment-protocol&gt;</spanx> and <spanx style="verb">&lt;request&gt;</spanx> URI components
and are outside the scope of this document.</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.
It will recognize whether its preferred protocol or the request that it tries
to perform is 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.</t>

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

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

]]></artwork></figure>

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

<t>This section maps the requirements to support proof of possession and
proof of identity to selected existing enrollment protocols
and provides further aspects of instantiating them in BRSKI-AE.</t>

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

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

<t>When using CMP, the following specific implementation requirements apply
(cf. <xref target="enrollfigure"/>).</t>

<t><list style="symbols">
  <t>CA Certs Request
  <list style="symbols">
      <t>Requesting CA certificates over CMP is <bcp14>OPTIONAL</bcp14>.<br />
If supported, it <bcp14>SHALL</bcp14> be implemented as specified in
<xref section="4.3.1" sectionFormat="comma" target="I-D.ietf-lamps-lightweight-cmp-profile"/>.</t>
    </list></t>
  <t>Attribute Request
  <list style="symbols">
      <t>Requesting certificate request attributes over CMP is <bcp14>OPTIONAL</bcp14>.<br />
If supported, it <bcp14>SHALL</bcp14> be implemented as specified in
<xref section="4.3.3" sectionFormat="comma" target="I-D.ietf-lamps-lightweight-cmp-profile"/>.<br />
Note that alternatively the registrar <bcp14>MAY</bcp14> modify
the contents of requested certificate contents
as specified in <xref section="5.2.3.2" sectionFormat="comma" target="I-D.ietf-lamps-lightweight-cmp-profile"/>.</t>
    </list></t>
  <t>Certificate Request
  <list style="symbols">
      <t>Proof of possession <bcp14>SHALL</bcp14> be provided as defined in
the Lightweight CMP Profile
<xref section="4.1.1" sectionFormat="comma" target="I-D.ietf-lamps-lightweight-cmp-profile"/> (based on CRMF) or
<xref section="4.1.4" sectionFormat="comma" target="I-D.ietf-lamps-lightweight-cmp-profile"/> (based on PKCS#10).
<br />
In certificate response messages the <spanx style="verb">caPubs</spanx> field, which generally in CMP
may convey CA certificates to the requester, <bcp14>SHOULD NOT</bcp14> be used.</t>
      <t>Proof of identity <bcp14>SHALL</bcp14> be provided by using signature-based
protection of the certification request message
as outlined in <xref section="3.2" sectionFormat="comma" target="I-D.ietf-lamps-lightweight-cmp-profile"/>
using the IDevID secret.</t>
    </list></t>
  <t>Certificate Confirm
  <list style="symbols">
      <t>Explicit confirmation of new certificates to the RA/CA
<bcp14>MAY</bcp14> be used as specified in the Lightweight CMP Profile
<xref section="4.1.1" sectionFormat="comma" target="I-D.ietf-lamps-lightweight-cmp-profile"/>.<br />
Note that 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>
    </list></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 the Lightweight CMP Profile
<xref section="4.4" sectionFormat="comma" target="I-D.ietf-lamps-lightweight-cmp-profile"/> and
<xref section="5.1.2" sectionFormat="comma" target="I-D.ietf-lamps-lightweight-cmp-profile"/>.</t>
  <t>Due to the use of self-contained signed request messages providing
end-to-end security and the general independence of CMP of message transfer,
the way in which messages are exchanged by the registrar with backend PKI
(RA/CA) components is out of scope of this document. It can be freely chosen
according to the needs of the application scenario (e.g., using HTTP).
CMP Updates <xref target="I-D.ietf-lamps-cmp-updates"/> and
the Lightweight CMP Profile <xref target="I-D.ietf-lamps-lightweight-cmp-profile"/>
provide requirements for interoperability.</t>
</list></t>

<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 CMPV2 <xref target="I-D.ietf-ace-cmpv2-coap-transport"/>.
In this scenario, of course the EST-specific parts
of <xref target="I-D.ietf-anima-constrained-voucher"/> do not apply.</t>

</section>
<section anchor="other-instantiations-of-brski-ae"><name>Other Instantiations of BRSKI-AE</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
{{I-D.selander-ace-coap-est-oscore}} may be considered
here as well, as it also addresses the encapsulation of EST in a way to
make it independent of the underlying TLS channel using OSCORE,
which also entails that authenticated self-contained objects are used.
-->

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

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

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

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

<t>The security considerations as laid out in the Lightweight CMP Profile
<xref target="I-D.ietf-lamps-lightweight-cmp-profile"/> apply as far as CMP is used.</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 Michael Richardson and Rajeev Ranjan for their reviews.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>





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



<reference anchor='RFC8366' target='https://www.rfc-editor.org/info/rfc8366'>
<front>
<title>A Voucher Artifact for Bootstrapping Protocols</title>
<author fullname='K. Watsen' initials='K.' surname='Watsen'><organization/></author>
<author fullname='M. Richardson' initials='M.' surname='Richardson'><organization/></author>
<author fullname='M. Pritikin' initials='M.' surname='Pritikin'><organization/></author>
<author fullname='T. Eckert' initials='T.' surname='Eckert'><organization/></author>
<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 &quot;voucher&quot;.</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='RFC8995' target='https://www.rfc-editor.org/info/rfc8995'>
<front>
<title>Bootstrapping Remote Secure Key Infrastructure (BRSKI)</title>
<author fullname='M. Pritikin' initials='M.' surname='Pritikin'><organization/></author>
<author fullname='M. Richardson' initials='M.' surname='Richardson'><organization/></author>
<author fullname='T. Eckert' initials='T.' surname='Eckert'><organization/></author>
<author fullname='M. Behringer' initials='M.' surname='Behringer'><organization/></author>
<author fullname='K. Watsen' initials='K.' surname='Watsen'><organization/></author>
<date month='May' year='2021'/>
<abstract><t>This document specifies automated bootstrapping of an Autonomic Control Plane.  To do this, a Secure Key Infrastructure is bootstrapped.  This is done using manufacturer-installed X.509 certificates, in combination with a manufacturer's authorizing service, both online and offline.  We call this process the Bootstrapping Remote Secure Key Infrastructure (BRSKI) protocol. Bootstrapping a new device can occur when using a routable address and a cloud service, only link-local connectivity, or limited/disconnected networks. Support for deployment models with less stringent security requirements is included. Bootstrapping is complete when the cryptographic identity of the new key infrastructure is successfully deployed to the device.  The established secure connection can be used to deploy a locally issued certificate to the device as well.</t></abstract>
</front>
<seriesInfo name='RFC' value='8995'/>
<seriesInfo name='DOI' value='10.17487/RFC8995'/>
</reference>


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

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

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

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-lamps-cmp-updates-23'/>
   <format target='https://www.ietf.org/archive/id/draft-ietf-lamps-cmp-updates-23.txt' type='TXT'/>
</reference>


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

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-lamps-lightweight-cmp-profile-14'/>
   <format target='https://www.ietf.org/archive/id/draft-ietf-lamps-lightweight-cmp-profile-14.txt' type='TXT'/>
</reference>


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

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-ace-cmpv2-coap-transport-05'/>
   <format target='https://www.ietf.org/archive/id/draft-ietf-ace-cmpv2-coap-transport-05.txt' type='TXT'/>
</reference>


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

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-anima-constrained-voucher-18'/>
   <format target='https://www.ietf.org/archive/id/draft-ietf-anima-constrained-voucher-18.txt' type='TXT'/>
</reference>


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




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



<reference anchor='RFC8174' target='https://www.rfc-editor.org/info/rfc8174'>
<front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author fullname='B. Leiba' initials='B.' surname='Leiba'><organization/></author>
<date month='May' year='2017'/>
<abstract><t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='8174'/>
<seriesInfo name='DOI' value='10.17487/RFC8174'/>
</reference>




    </references>

    <references title='Informative References'>

<reference anchor="BRSKI-AE-overview" >
  <front>
    <title>BRSKI-AE Protocol Overview</title>
    <author >
      <organization></organization>
    </author>
    <date year="2022" month="April"/>
  </front>
  <format type="PNG" target="https://raw.githubusercontent.com/anima-wg/anima-brski-ae/main/BRSKI-AE_overview.png"/>
</reference>




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



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



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



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



<reference anchor='RFC5929' target='https://www.rfc-editor.org/info/rfc5929'>
<front>
<title>Channel Bindings for TLS</title>
<author fullname='J. Altman' initials='J.' surname='Altman'><organization/></author>
<author fullname='N. Williams' initials='N.' surname='Williams'><organization/></author>
<author fullname='L. Zhu' initials='L.' surname='Zhu'><organization/></author>
<date month='July' year='2010'/>
<abstract><t>This document defines three channel binding types for Transport Layer Security (TLS), tls-unique, tls-server-end-point, and tls-unique-for-telnet, in accordance with RFC 5056 (On Channel Binding).</t><t>Note that based on implementation experience, this document changes the original definition of 'tls-unique' channel binding type in the channel binding type IANA registry.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5929'/>
<seriesInfo name='DOI' value='10.17487/RFC5929'/>
</reference>



<reference anchor='RFC6402' target='https://www.rfc-editor.org/info/rfc6402'>
<front>
<title>Certificate Management over CMS (CMC) Updates</title>
<author fullname='J. Schaad' initials='J.' surname='Schaad'><organization/></author>
<date month='November' year='2011'/>
<abstract><t>This document contains a set of updates to the base syntax for CMC, a Certificate Management protocol using the Cryptographic Message Syntax (CMS).  This document updates RFC 5272, RFC 5273, and RFC 5274.</t><t>The new items in this document are: new controls for future work in doing server side key generation, definition of a Subject Information Access value to identify CMC servers, and the registration of a port number for TCP/IP for the CMC service to run on.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6402'/>
<seriesInfo name='DOI' value='10.17487/RFC6402'/>
</reference>



<reference anchor='RFC7030' target='https://www.rfc-editor.org/info/rfc7030'>
<front>
<title>Enrollment over Secure Transport</title>
<author fullname='M. Pritikin' initials='M.' role='editor' surname='Pritikin'><organization/></author>
<author fullname='P. Yee' initials='P.' role='editor' surname='Yee'><organization/></author>
<author fullname='D. Harkins' initials='D.' role='editor' surname='Harkins'><organization/></author>
<date month='October' year='2013'/>
<abstract><t>This document profiles certificate enrollment for clients using Certificate Management over CMS (CMC) messages over a secure transport.  This profile, called Enrollment over Secure Transport (EST), describes a simple, yet functional, certificate management protocol targeting Public Key Infrastructure (PKI) clients that need to acquire client certificates and associated Certification Authority (CA) certificates.  It also supports client-generated public/private key pairs as well as key pairs generated by the CA.</t></abstract>
</front>
<seriesInfo name='RFC' value='7030'/>
<seriesInfo name='DOI' value='10.17487/RFC7030'/>
</reference>



<reference anchor='RFC8572' target='https://www.rfc-editor.org/info/rfc8572'>
<front>
<title>Secure Zero Touch Provisioning (SZTP)</title>
<author fullname='K. Watsen' initials='K.' surname='Watsen'><organization/></author>
<author fullname='I. Farrer' initials='I.' surname='Farrer'><organization/></author>
<author fullname='M. Abrahamsson' initials='M.' surname='Abrahamsson'><organization/></author>
<date month='April' year='2019'/>
<abstract><t>This document presents a technique to securely provision a networking device when it is booting in a factory-default state.  Variations in the solution enable it to be used on both public and private networks.  The provisioning steps are able to update the boot image, commit an initial configuration, and execute arbitrary scripts to address auxiliary needs.  The updated device is subsequently able to establish secure connections with other systems.  For instance, a device may establish NETCONF (RFC 6241) and/or RESTCONF (RFC 8040) connections with deployment-specific network management systems.</t></abstract>
</front>
<seriesInfo name='RFC' value='8572'/>
<seriesInfo name='DOI' value='10.17487/RFC8572'/>
</reference>



<reference anchor='RFC8894' target='https://www.rfc-editor.org/info/rfc8894'>
<front>
<title>Simple Certificate Enrolment Protocol</title>
<author fullname='P. Gutmann' initials='P.' surname='Gutmann'><organization/></author>
<date month='September' year='2020'/>
<abstract><t>This document specifies the Simple Certificate Enrolment Protocol (SCEP), a PKI protocol that leverages existing technology by using Cryptographic Message Syntax (CMS, formerly known as PKCS #7) and PKCS #10 over HTTP.  SCEP is the evolution of the enrolment protocol sponsored by Cisco Systems, which enjoys wide support in both client and server implementations, as well as being relied upon by numerous other industry standards that work with certificates.</t></abstract>
</front>
<seriesInfo name='RFC' value='8894'/>
<seriesInfo name='DOI' value='10.17487/RFC8894'/>
</reference>



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



<reference anchor='RFC9148' target='https://www.rfc-editor.org/info/rfc9148'>
<front>
<title>EST-coaps: Enrollment over Secure Transport with the Secure Constrained Application Protocol</title>
<author fullname='P. van der Stok' initials='P.' surname='van der Stok'><organization/></author>
<author fullname='P. Kampanakis' initials='P.' surname='Kampanakis'><organization/></author>
<author fullname='M. Richardson' initials='M.' surname='Richardson'><organization/></author>
<author fullname='S. Raza' initials='S.' surname='Raza'><organization/></author>
<date month='April' year='2022'/>
<abstract><t>Enrollment over Secure Transport (EST) is used as a certificate provisioning protocol over HTTPS. Low-resource devices often use the lightweight Constrained Application Protocol (CoAP) for message exchanges. This document defines how to transport EST payloads over secure CoAP (EST-coaps), which allows constrained devices to use existing EST functionality for provisioning certificates.</t></abstract>
</front>
<seriesInfo name='RFC' value='9148'/>
<seriesInfo name='DOI' value='10.17487/RFC9148'/>
</reference>


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


    </references>


<section anchor="using-est"><name>Using EST for Certificate Enrollment</name>

<t>When using EST with BRSKI, pledges interact via TLS with the domain registrar,
which acts both as EST server and as the PKI RA.
The TLS channel is mutually authenticated,
where the pledge uses its IDevID certificate issued by its manufacturer.</t>

<t>Using BRSKI-EST has the advantage that the mutually authenticated TLS
channel established between the pledge and the registrar can be reused
for protecting the message exchange needed for enrolling the LDevID certificate.
This strongly simplifies the implementation of the enrollment message exchange.</t>

<t>Yet the use of TLS has the limitation that this cannot provide auditability
nor end-to-end authentication of the CSR by the pledge at a remote PKI RA/CA
because the TLS session is transient and terminates at the registrar.
This is a problem in particular if the enrollment is done via multiple hops,
part of which may not even be network-based.</t>

<t>With enrollment protocols that use for CSRs self-contained signed objects,
logs of CSRs can be audited because CSRs can be third-party authenticated
in retrospect, whereas TLS connections can not.</t>

<t>Furthermore, the BRSKI registrars in each site have to be hardened so that they
can be trusted to be the TLS initiator of the EST connection to the PKI RA/CA,
and in result, their keying material needs to be managed with more security
care than that of pledges because of trust requirements,
for example they need to have the id-kp-cmcRA extended key usage attribute
according to <xref target="RFC7030"/>, see <xref target="RFC6402"/>.
Impairment to a BRSKI registrar can result in arbitrarily
many fake certificate registrations because real authentication and
authorization checks can then be circumvented.</t>

<t>Relying on TLS authentication of the TLS client, which is supposed to
be the certificate requester, for a strong proof of origin for the CSR
is conceptually non-trivial and can have implementation challenges.
EST has the option to include in the certification request, which is a PKCS#10
CSR, the so-called tls-unique value <xref target="RFC5929"/> of the underlying TLS channel.
This binding of the proof of identity of the TLS client to the proof of
possession for the private key requires specific support by TLS implementations.</t>

<t>The registrar terminates the security association with the pledge at
TLS level and thus the binding between the certification request and
the authentication of the pledge. In BRSKI <xref target="RFC8995"/>, the registrar
typically doubles as the PKI RA and thus also authenticates the CSR
and filters/denies requests from non-authorized pledges.
If the registrar cannot do the final authorization checks on the CSR and needs
to forward it to the PKI RA, there is no end-to-end proof of identity and thus
the decision of the PKI RA must trust on the pledge authentication performed
by the registrar.  If successfully authorized, the CSR is passed to the PKI CA,
which will issue the domain-specific certificate (LDevID).
If in this setup the protocol between the on-site registrar and the remote PKI
RA is also EST, this approach requires online or at least intermittent
connectivity between registrar and PKI RA, as well as availability of the PKI RA
for performing the final authorization decision on the certification request.</t>

<t>A further limitation of using EST as the certificate enrollment protocol is that
due to using PKCS#10 structures in enrollment requests,
the only possible proof-of-possession method is a self-signature, which
excludes requesting certificates for key types that do not support signing.
CMP, for instance, has special proof-of-possession options for key agreement
and KEM keys, see <xref section="5.2.8" sectionFormat="comma" target="RFC4210"/>.</t>

</section>
<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 building a train,
with track-side equipment, and/or possibly with backend systems.
These devices are typically unaware of backend system
connectivity. Managing certificates may be done during maintenance
cycles of the railroad car, but can already be prepared during
operation. Preparation will include generating certification requests,
which are collected and later forwarded for
processing, once the railroad car is connected to the operator backend.
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
on-line 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 (besides the authors):</t>

<t><list style="symbols">
  <t>Toerless Eckert (document shepherd)</t>
  <t>Michael Richardson</t>
  <t>Rajeev Ranjan</t>
</list></t>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

</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:
H4sIAAAAAAAAA82963bbVpYu+h9PgW3/sOSQ1MV2YqvTGa3IcqIuO/aWnGRX
96jtQCQkogwS3AAoWe34PMt5lvNkZ37zsi4AKMup9O7WqIolEliXueaa98t4
PE6StmjL/CB98P3p2V9OxofHB+lh2eb1MmuLqzw9XtZVWS7yZZu+qau2mlZl
kxbLlJ9+kGTn53V+dZDay8msmi6zBY03q7OLdlzk7cU4WxaLbHxeN++LcZaP
dx8lTZstZ++yslrSk229zpNiVfNvTbu/u/tsdz9p1ueLommKavn2ZkVPnRy/
fZFkdZ4dpK9XeU2rq5ZNSsOkr7Jldpljicn1Ja3+p5NXh+mvPyTvr+mtJbaS
t+PnWE4yzdqDtGlnyZRezpfNutHpZ1lLc+zv7u8nq+IgSVPaKcHkJm8e0B/T
arHKpq3/oLlZ1PlFE3xQ1W38CW1oWbXFRZHP6MNlxU+1deGHydbtvKoPkjHB
k158PkmvqmX6ep4Xi3N6WMD4PLsqZvEXdCD0RT4r2qqmP6uaNn1WAABNevgD
fWKHoh/KxHlOE79u22r8YzZfjk+L5WX6NfZWtDcH6av1spjOeaszIMPTvW8e
PZOtr5dtTU/8kNeLbHlDH+WLrCjpgLGyCa1sUvHK/qWR6SYELXpqXRcH6bxt
V83Bzs719fUk+HrH9nw2SV/URd647Z61+cVFvnSf/ldtrpF1TC6wjj+ysx8n
6fd1NX0/z9Z+dz/my1ldvI+++a/a4VzWMjm3tXzRLun+EC6fr1sgsG3vuCyq
Nn2ZZw4tj4pmWqVnNwTORbiRU1ptW9BfWdPk6TduH79mZVk0eVnmS7eZox/H
Tx/tPg43c3ZdtP+R1yXdfvp4NWcycu+rx3vp48fp02+eps+IiNzzey1pSf8y
xVp4c1f5cp1j2Zd1tV4dpEyfAHj8m8orH/mPfwH9mtBWPuHpop2vz/Xx8fXl
TkzXkmVFIAbRxNCnL44e7+/t6q9PH339tf367NkT/Hoyfj5h6lhmi1Uzni5W
4/UKZKgZ+LYsLuftdY7/8pOrurooyjx6Mpvm+O5qfzytstWYYLtsVkSW4od4
yaB+9H2xzGfjq2o9ned8iifHx8eTp7v7k73D0/H+7t5TfEikUBkEvqYLSkDP
6ll6UdXpy2qalUyDF3lbV6uqLOjrFFQ6JaJ7XdXvm3TMg5zl03Wdp8/zq2Ka
pyczotZ04g/4OyOE+H0siIO5+G8jzHtPx7tP+ZMmx50slheVvCHrPkjDhesX
z1+fHKR7u5O9vd1nO3jq7O3zCb6fPH28/+ibZ4/5uQjTizzPP6zKqs4n+BVn
v0M8bQ32smNvYfLgrI35jaurvL4q8usYbva1Y6Dpa33uQbDFw1VdlMKB8KFM
YDt889MPfol1dj0RXFwTLHATaW18LTdg5g6h9HLHlvHOVjlZLS8FJ/efPf3a
I+2e/vpk/5t9+/XrJ+7XZ/vP9NevH+/ap9/sPnK4/sS99vTps8ce7e3XZ3uP
nwq6HY2/3n/0ZG/8rItoRyl/obhD+6+u85q4LtMRuqHG8Bn3iIZU04KAOEvd
wRC/zD9M59nyMneDPM/ajF8gUC1AMFWGaICahIx+tqxu02dEeW7OMat9/T6/
CafGBVgF60rz/7MuVvhqM1YvVbCqlnRvjst8SremzadzLKZMj2hdIvLEqP/N
ePfJRtQ/IoApFFNM/NPx6dH46OTNeHf3yfhJBFjZz5nbrq2AZvefvqE56Dbn
9aZN/EQ0ZZ4eLui5KV3207wssvOixLtHRKCnRRmv/tF4b3/D6mmZBymvE+hw
9noMlNh7skeXfb+DEmevd4AW+mV6WmUkFeXzYlqynCDr+0U+GBOX/KEmseko
PGiB/gWRSfc8H/Q+bUlolWDTalXaGyu7sDXOtuZzbzae7oP4eI1SFv8hg72u
L+la6h87uob07jjxIAbr4/Hu401IIcCiFRm48O7PP52cnfwwPlufNyQP7z36
5mDTRuTJCP7+rX9Kj0/fvjrbOX57dJa+XhJrWubpX+hqeDE8ffHixcnZP6W/
7E12J7vhup/n03wBJKQNPBmic89fxEIHCfqTfE2sBf/sNAWxx51ZfpGty3YH
HLCR//IF3MnrdtHsTKfNu7Yp3mXLZf7hXfZu/G6BgyBJ5eZds8qnJJLrzd+h
Lb2rLjqfvnv0Lm9pjPNH7+r9d5fNYly/O9/bKZaz/MPu00c0XuOA8e5qb3d3
sppdCCiXS1m9Lv79YjqWZ+lRrJ/HmKzmK2Ip18uScBh48ProzZsI20m/WaZH
86wm4vWmKgLVK90niO6lW6zNbG86v/D9QxKosqXivEOeZ7iTSTIej0nahCgw
bZPk7bxoUuN1ab6c470m+b6qWjyyWkHmPM0XhJ3GznHuJ8sLEuNIi5q2+GiL
+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
J4YXlxrVbqvWUAdmSsv/audRk1nm8NCwC61wlkqamYT19WI23mosJPecIhmA
vXpeXbWUrjhgjWNpcCEWyBRFBMG8WjWjxIJRfDdMgCKHLnKOcxTfKVuTQY9w
k4Z8kamL9uSbjAamw7YxZW+jpKwuWefjZxXDGPKMlQKn8Ds6qXo2xnI7uJ3w
jSb0YbUL9vgcSqLc0iChGePQ3ibOXID2AiLlCT9zIOZ4tRxxilwflNtMWaZh
TVIAdlO5K3djpbI428npanbG2pOtclLmseRLWK27oAYmI4lourwnJPWOlIS+
z6WzIyQqyFqhaiQlSGdB0wRjlrS0Wmi2LBfqn1JJgzFWxWlaodIpeYsWa4JN
OjVUoIGbORu/XxHbnJKISmor5KMZ55as+T46j10S2QAjvVnqxNMHXz/eZSvr
yWKVFbUU6UN8Zudg+AyDTpH1edGKVEyy2pLkj+x9twySL6rtt0zoUQ50j0gG
u0dMGXZyHaZFTYLWFXsRCY9Oc5EA6eGBTsJBe2dpam2uIotckqDN5LzbMTzy
C3ExflNZuj3mTHqie5KImIE8DaH/y2o5phO4ArIIS1/K2XUoKlHNssxRdGuS
hLxFteO4kstGhTvYW+YsBbQs1aKqsRYJ77URFxX02f4zErpula2V7nWaZ2/M
YfJgdyll+mgSGEAMgGFqlN6DIPPOPB5E4vlGx4YrlU+DUv6eeLeh4Jo1TTUt
Oh0ZHb9IMLQ2tWYOvG4iJTLk1BsjiDmoYRgPTWk+GRDfOzUNEm8LmlXrc855
CaUgv0DRqgJq3Dh8lMwkOMObHTqbgsPRLcMd8eZA0KDwrtIlogHdjGRlzzMN
EpdSthsavRg3ZmshSGQS1DUo2pja+ta2sCze2orCdpyIicSsMBchVNj2ILS0
iiWq+EC8266ra080giHI9PIQGrnNcUBv0/jAeamabNIsq+csTwZCr7fIh4Rm
S+SxbYa65bE0ebte2ZWx0F+PfNZ+pl8UxMs7iZgtGD24kF4bhf+7K1Yttb+k
j4+P6vNH1eltEfHEdpSBUqnWEYl6j85IhFeBv4mkQwjVsbNtTPE8dNbyQLCk
Gb2Cohfnc2WJteuppSLJ+7121SKY9CoIS46LlueTShhK7sb0v4DcLXLa5EyI
NItnzlan9DshKVqCMevBeBxR2EElUQpFpT512RiVVOPsJOEYqNh9PDdvr1S7
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
AQA=

-->

</rfc>

