<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.4.15 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc compact="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no"?>
<?rfc strict="yes"?>

<rfc ipr="trust200902" docName="draft-ietf-anima-brski-async-enroll-03" category="std">

  <front>
    <title abbrev="BRSKI-AE">Support of asynchronous Enrollment in BRSKI (BRSKI-AE)</title>

    <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>
          <region>Bavaria</region>
          <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>
          <region>Bavaria</region>
          <code>81739</code>
          <country>Germany</country>
        </postal>
        <email>hendrik.brockhaus@siemens.com</email>
        <uri>https://www.siemens.com/</uri>
      </address>
    </author>
    <author 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>
    </author>
    <author initials="T." surname="Werner" fullname="Thomas Werner">
      <organization abbrev="Siemens">Siemens AG</organization>
      <address>
        <postal>
          <street>Otto-Hahn-Ring 6</street>
          <city>Munich</city>
          <region>Bavaria</region>
          <code>81739</code>
          <country>Germany</country>
        </postal>
        <email>thomas-werner@siemens.com</email>
        <uri>https://www.siemens.com/</uri>
      </address>
    </author>

    <date year="2021"/>

    <area>Operations and Management</area>
    <workgroup>ANIMA WG</workgroup>
    

    <abstract>


<t>This document describes enhancements of bootstrapping a remote secure
key infrastructure (BRSKI, <xref target="RFC8995"/> ) to also operate
in domains featuring no or only timely limited connectivity between
involved components.
Further enhancements are provided to perform the BRSKI approach
in environments, in which the role of the pledge changes from a client
to a server . This changes the interaction model from a
pledge-initiator-mode to a pledge-responder-mode. To support both
use cases, BRSKI-AE relies on the exchange of authenticated self-contained
objects (signature-wrapped objects) also for requesting and
distributing of domain specific device certificates.
The defined approach is agnostic regarding the utilized enrollment
protocol allowing the application of existing and potentially new
certificate management protocols.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>BRSKI as defined in <xref target="RFC8995"/> specifies a solution for
secure zero-touch (automated) bootstrapping of devices (pledges) in a
(customer) site domain. This includes the discovery of network elements
in the target domain, time synchronization, and the exchange of security
information necessary to establish trust between a pledge and the
domain. Security information about the target domain, specifically the
target domain certificate, is exchanged utilizing voucher objects as
defined in <xref target="RFC8366"/>.
These vouchers are authenticated self-contained (signed) objects, which
may be provided online (synchronous) or offline (asynchronous) via the
domain registrar to the pledge and originate from a Manufacturer’s
Authorized Signing Authority (MASA).</t>

<t>For the enrollment of devices BRSKI relies on EST <xref target="RFC7030"/> to
request and distribute target domain
specific device certificates. EST in turn relies on a binding of the
certification request to an underlying TLS connection between the EST
client and the EST server. According to BRSKI the domain registrar acts
as EST server and is also acting as registration authority (RA) or
local registration authority (LRA).
The binding to TLS is used to protect the exchange of a certification
request (for a LDevID EE certificate) and to provide data origin
authentication (client identity information), to support the authorization
decision for processing the certification request. The TLS connection
is mutually authenticated and the client-side authentication utilizes
the pledge’s manufacturer issued device certificate (IDevID certificate).
This approach requires an on-site availability of a local asset or
inventory management system performing the authorization decision based
on tuple of the certification request and the pledge authentication
using the IDevID certificate, to issue a domain specific certificate to
the pledge. The EST server (the domain registrar) terminates the security
association with the pledge and thus the binding between the
certification request and the authentication of the pledge via TLS.
This type of enrollment utilizing an online connection to the PKI
is considered as synchronous enrollment.</t>

<t>For certain use cases on-site support of a RA/CA component and/or an
asset management is not available and rather provided by an operator’s
backend and may be provided timely limited or completely through
offline interactions.
This may be due to higher security requirements for operating the
certification authority or for optimization of operation for smaller
deployments to avoid the always on-site operation. The authorization of
a certification request based on an asset management in this case will
not / can not be performed on-site at enrollment time. Enrollment,
which cannot be performed in a (timely) consistent fashion is considered
as asynchronous enrollment in this document. It requires the support of
a store and forward functionality of certification request together
with the requester authentication (and identity) information. This
enables processing of the request at a later point in time.
A similar situation may occur through network segmentation, which is
utilized in industrial systems to separate domains with different
security needs. Here, a similar requirement arises if the communication
channel carrying the requester authentication is terminated before
the RA/CA authorization handling of the certification request. If a
second communication channel is opened to forward the certification
request to the issuing RA/ CA, the requester authentication information
needs to be retained and ideally bound to the certification request.
This uses case is independent from timely limitations of the first use
case. For both cases, it is assumed that the requester authentication
information is utilized in the process of authorization of a
certification request.
There are different options to perform store and forward of
certification requests including the requester authentication
information:</t>

<t><list style="symbols">
  <t>Providing a trusted component (e.g., an LRA) in the target
domain, which stores the certification request combined with
the requester authentication information (based on the IDevID)
and potentially the information about a successful proof of
possession (of the corresponding private key) in a way
prohibiting changes to the combined information.
Note that the assumption is that the information elements may
not be cryptographically bound together.
Once connectivity to the backend is available, the trusted
component forwards the certification request together with
the requester information (authentication and proof of
possession) to the off-site PKI for further processing.
It is assumed that the off-site PKI in this case relies on the
local pledge authentication result and thus performs the
authorization and issues the requested certificate.
In BRSKI the trusted component may be the EST server residing
co-located with the registrar in the target domain.</t>
  <t>Utilization of authenticated self-contained objects for the
enrollment, binding the certification request and the
requester authentication in a cryptographic way. This approach
reduces the necessary trust in a domain component to storage
and delivery. Unauthorized modifications of the requester
information (request and authentication) can be detected during
the verification of the authenticated self-contained object.</t>
</list></t>

<t>Focus of this document the support of handling authenticated
self-contained objects for bootstrapping. As it is intended to enhance
BRSKI it is named BRSKI-AE, where AE stands for asynchronous enrollment.
As BRSKI, BRSKI-AE results in the pledge storing an X.509 domain
certificate and sufficient information for verifying the domain
registrar / proxy identity (LDevID CA Certificate) as well as
domain specific X.509 device certificates (LDevID EE certificate).</t>

<t>Based on the proposed approach, a second set of scenarios can be
addressed, in which the pledge has either no direct communication path
to the domain registrar, e.g., due to missing network connectivity or a
different technology stack. In such scenarios the pledge is expected to
act as a server rather than a client. The pledge will be triggered to
generate request objects to be onboarded in the registrar’s domain.
For this, an additional component is introduced acting as an agent for
the domain registrar (registrar-agent) towards the pledge. This could
be a functionality of a commissioning tool or it may be even co-located
with the registrar.
In contrast to BRSKI the registrar-agent performs the object exchange
with the pledge and provides/retrieves data objects to/from the domain
registrar. For the interaction with the domain registrar the registrar
agent will use existing BRSKI endpoints.</t>

<t>The goal is to enhance BRSKI to be applicable to the additional use
cases. This is addressed by</t>

<t><list style="symbols">
  <t>enhancing the well-known URI approach with an additional path
for the utilized enrollment protocol.</t>
  <t>defining a certificate waiting indication and handling, if the
certifying component is (temporarily) not available.</t>
  <t>allowing to utilize credentials different from the pledge’s
IDevID to establish a TLS connection to the domain registrar,
which is necessary in case of using a registrar-agent.</t>
  <t>defining the interaction (dta exchange and data objects) between
a pledge acting as server an a registrar-agent and the domain
registrar.</t>
</list></t>

<t>Note that in contrast to BRSKI, BRSKI-AE assumes support of multiple
enrollment protocols on the infrastructure side, allowing the pledge
manufacturer to select the most appropriate. Thus, BRSKI-AE can be
applied for both, asynchronous and synchronous enrollment.</t>

</section>
<section anchor="terminology" title="Terminology">

<t>The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL
NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”,
“MAY”, and “OPTIONAL” 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"/>.
The following terms are defined additionally:</t>

<t><list style="hanging">
  <t hangText="CA:">
  Certification authority, issues
certificates.</t>
  <t hangText="RA:">
  Registration authority, an optional system
component to which a CA delegates certificate management
functions such as authorization checks.</t>
  <t hangText="LRA:">
  Local registration authority, an optional RA
system component with proximity to end entities.</t>
  <t hangText="IED:">
  Intelligent Electronic Device (in essence a
pledge).</t>
  <t hangText="on-site:">
  Describes a component or service or
functionality available in the target deployment domain.</t>
  <t hangText="off-site:">
  Describes a component or service or
functionality available in an operator domain different from
the target deployment domain. This may be a central site or a
cloud service, to which only a temporary connection is available,
or which is in a different administrative domain.</t>
  <t hangText="asynchronous communication:">
  Describes a timely
interrupted communication between an end entity and a PKI
component.</t>
  <t hangText="synchronous communication:">
  Describes a timely
uninterrupted communication between an end entity and a PKI
component.</t>
  <t hangText="authenticated self-contained object:">
  Describes an
object, which is cryptographically bound to the EE certificate
(IDevID certificate or LDEVID certificate) of a pledge. The
binding is assumed to be provided through a digital signature
of the actual object using the corresponding private key of
the EE certificate.</t>
</list></t>

</section>
<section anchor="scope-of-solution" title="Scope of solution">

<section anchor="sup-env" title="Supported environment">

<t>This solution is intended to be used in domains with limited support
of on-site PKI services and comprises use cases in which:</t>

<t><list style="symbols">
  <t>there is no registration authority available in the target
domain. The connectivity to an off-site RA in an operator’s
network may only be available temporarily. A local store and
forward device is used for the communication with the off-site
services.</t>
  <t>authoritative actions of a LRA are limited and may not comprise
authorization of certification requests of pledges. Final
authorization is done at the RA residing in the operator
domain.</t>
  <t>the target deployment domain already has an established
certificate management approach that shall be reused to (e.g.,
in brownfield installations).</t>
</list></t>

<t>In addition, the solution is intended to be applicable in domains
in which pledges have no direct connection to the domain registrar,
but are expected to be managed by the registrar. This can be motivated
by pledges featuring a different technology stack or by pledges without
an existing connection to the domain registrar during bootstrapping.
These pledges are likely to act in a server role. Therefore, the
pledge has to offer endpoints on which it can be triggered for
the generation of voucher-request objects and certification
objects as well as to provide the response objects to the pledge.</t>

</section>
<section anchor="app-examples" title="Application Examples">

<t>The following examples are intended to motivate the support of
different enrollment approaches in general and asynchronous enrollment
specifically, by introducing industrial applications cases,
which could leverage BRSKI as such but also require support of
asynchronous operation as intended with BRSKI-AE.</t>

<section anchor="rolling-stock" title="Rolling stock">

<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,
or with a backend. These devices are typically unaware of backend
connectivity. Managing certificates may be done during maintenance
cycles of the railroad car, but can already be prepared during
operation. The preparation may comprise the generation of certification
requests by the components which are collected and 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>

</section>
<section anchor="building-automation" title="Building automation">

<t>In building automation, a use case can be described by a detached
building or the basement of a building equipped with sensor,
actuators, and controllers connected, but with only limited or no
connection to the centralized building management system. This
limited connectivity may be during the installation time but also
during operation time. During the installation in the basement, a
service technician collects the necessary information from the
basement network and provides them to the central building management
system, e.g., using a laptop or even a mobile phone to transport the
information. This information may comprise parameters and settings
required in the operational phase of the sensors/actuators, like a
certificate issued by the operator to authenticate against other
components and services.</t>

<t>The collected information may be provided by a domain registrar
already existing in the installation network. In this case
connectivity to the backend PKI may be facilitated by the service
technician’s laptop.
Contrary, the information can also be collected from the
pledges directly and provided to a domain registrar deployed in a
different network. In this cases connectivity to the domain registrar
may be facilitated by the service technician’s laptop.</t>

</section>
<section anchor="substation-automation" title="Substation automation">

<t>In electrical substation automation a control center typically hosts
PKI services to issue certificates for Intelligent Electronic Devices
(IED)s operated in a substation. Communication between the substation
and control center is done 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 different enrollment protocols to facilitate the
capabilities of IEDs from different vendors. The IEC standard
IEC62351-9 <xref target="IEC-62351-9"/> specifies the mandatory
support of two enrollment protocols, SCEP <xref target="RFC8894"/> and EST
<xref target="RFC7030"/> for the infrastructure side, while
the IED must only support one of the two.</t>

</section>
<section anchor="electric-vehicle-charging-infrastructure" title="Electric vehicle charging infrastructure">

<t>For the electric vehicle charging infrastructure protocols have been
defined for the interaction between the electric vehicle (EV) 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 the context of a TLS connection between the EV and
the charging point. The management of this certificate depends
(beyond others) on the selected backend connectivity protocol.
Specifically, in case of OCPP it is intended as single 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 is
intended to be handled in-band of OCPP. This requires to be able to
encapsulate the certificate management exchanges in a transport
independent way. Authenticated self-containment will ease this by
allowing the transport without a separate enrollment protocol. This
provides a binding of the exchanges to the identity of the
communicating endpoints.</t>

</section>
<section anchor="infrastructure-isolation-policy" title="Infrastructure isolation policy">

<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
resources will be allowed in carefully controlled short periods of
time, for example when a batch of new devices are deployed, but
impossible at other times.</t>

</section>
<section anchor="less-operational-security-in-the-target-domain" title="Less operational security in the target domain">

<t>The registration point performing the authorization of a certificate
request is a critical PKI component and therefore implicates higher
operational security than other components utilizing the issued
certificates for their security features. CAs may also demand higher
security in the registration procedures. Especially the CA/Browser
forum currently increases the security requirements in the certificate
issuance procedures for publicly trusted certificates.
There may be the situation that the target domain does not offer
enough security to operate a registration point and therefore wants
to transfer this service to a backend that offers a higher level of
operational security.</t>

</section>
</section>
</section>
<section anchor="req-sol" title="Requirement discussion and mapping to solution elements">

<t>For the requirements discussion it is assumed that the domain
registrar receiving a certification request as authenticated
self-contained object is not the authorization point for this
certification request. If the domain registrar is the authorization
point and the pledge has a direct connection to the registrar,
BRSKI can be used directly. Note that BRSKI-AE could also be used
in this case.</t>

<t>Based on the intended target environment described in <xref target="sup-env"/> and
the motivated application examples
described in <xref target="app-examples"/> the following
base requirements are derived to support authenticated self-contained
objects as container carrying the certification request and further
information to support asynchronous operation.</t>

<t>At least the following properties are required:</t>

<t><list style="symbols">
  <t>Proof of Possession: proves to possess and control the private
key corresponding to the public key contained in the
certification request, typically by adding a signature using
the private key.</t>
  <t>Proof of Identity: provides data-origin authentication of a
data object, e.g., a certificate request, utilizing an existing
IDevID. Certificate updates may utilize the certificate that
is to be updated.</t>
</list></t>

<t>Solution examples (not complete) based on existing technology are
provided with the focus on existing IETF documents:</t>

<t><list style="symbols">
  <t>Certification request objects: Certification requests are
structures protecting only the integrity of the contained data
providing a proof-of-private-key-possession for locally
generated key pairs. Examples for certification requests are:  <list style="symbols">
      <t>PKCS#10 <xref target="RFC2986"/>: Defines a structure
for a certification request. The structure is signed to
ensure integrity protection and proof of possession of
the private key of the requester that corresponds to the
contained public key.</t>
      <t>CRMF <xref target="RFC4211"/>: Defines a structure for
the certification request message. The structure supports
integrity protection and proof of possession, through a
signature generated over parts of the structure by using
the private key corresponding to the contained public
key. CRMF also supports further proof-of-possession methods
for key pairs not capable to be used for signing.</t>
    </list>
Note that the integrity of the certification request is bound to
the public key contained in the certification request by
performing the signature operation with the corresponding
private key. In the considered application examples, this is
not sufficient to provide data origin authentication and needs to
be bound to the existing credential of the pledge (IDevID)
additionally. This binding supports the
authorization decision for the certification request through
the provisioning of a proof of identity. The binding of data
origin authentication to the certification request may be
delegated to the protocol used for certificate management.</t>
  <t>Proof of Identity options: The certification request should be
bound to an existing credential (here IDevID) to enable a proof
of identity and based on it an authorization of the certification
request.
The binding may be realized through security options in an
underlying transport protocol if the authorization of the
certification request is done at the next communication hop.
Alternatively, this binding can be done by a wrapping signature
employing an existing credential (initial: IDevID,
renewal: LDevID).
This requirement is addressed by existing enrollment protocols
in different ways, for instance:  <list style="symbols">
      <t>EST <xref target="RFC7030"/>: Utilizes PKCS#10 to
encode the certification request. The Certificate Signing
Request (CSR) may contain a binding to the underlying TLS
by including the tls-unique value in the self-signed CSR
structure. The tls-unique value is one result of the
TLS handshake. As the TLS handshake is performed mutually
authenticated and the pledge utilized its IDevID for it,
the proof of identity can be provided by the binding to
the TLS session. This is supported in EST using the
simpleenroll endpoint. To avoid the binding to the underlying
authentication in the transport layer, EST offers the
support of a wrapping the CSR with an existing certificate
by using Full PKI Request messages.</t>
      <t>SCEP <xref target="RFC8894"/>: Provides the
option to utilize either an existing secret (password) or
an existing certificate to protect the CSR based on
SCEP Secure Message Objects using CMS wrapping
(<xref target="RFC5652"/>). Note that the wrapping using
an existing IDevID credential in SCEP is referred to as
renewal. SCEP therefore does not rely on the security of
an underlying transport.</t>
      <t>CMP <xref target="RFC4210"/> Provides the option to
utilize either an existing secret (password) or an
existing certificate to protect the PKIMessage containing
the certification request. The certification request is
encoded utilizing CRMF. PKCS#10 is optionally supported.
The proof of identity of the PKIMessage containing the
certification request can be achieved by using IDevID
credentials to a PKIProtection carrying the actual signature
value. CMP therefore does not rely on the security of an
underlying transport protocol.</t>
      <t>CMC <xref target="RFC5272"/> Provides the option to
utilize either an existing secret (password) or an
existing certificate to protect the certification request
(either in CRMF or PKCS#10) based on CMS <xref target="RFC5652"/>).
Here a FullCMCRequest can
be used, which allows signing with an existing IDevID
credential to provide a proof of identity. CMC therefore
does not rely on the security of an underlying transport.</t>
    </list></t>
</list></t>

<t>Note that besides the already existing enrollment protocols there is
ongoing work in the ACE WG to define an encapsulation of EST messages in
OSCORE to result in a TLS independent way of protecting EST. This
approach <xref target="I-D.selander-ace-coap-est-oscore"/> may be
considered as further variant.</t>

</section>
<section anchor="architecture" title="Architectural Overview and Communication Exchanges">

<t>To support asynchronous enrollment, the base system architecture
defined in BRSKI <xref target="RFC8995"/> is enhanced to facilitate the two target
use cases.</t>

<t><list style="symbols">
  <t>Use case 1 (Pledge-initiator-mode): the pledge requests
certificates from a PKI operated off-site via the domain
registrar.
The communication model follows the BRSKI model in which
the pledge initiates the communication.</t>
  <t>Use case 2 (Pledge-responder-mode): allows delegated
bootstrapping using a registrar-agent instead a direct
connection from the pledge to the domain registrar.
The communication model between registrar-agent and
pledge assumes that the pledge is acting as server and
responds to requests.</t>
</list></t>

<t>Both use cases are described in the next subsections. They utilize
the existing BRSKI architecture elements as much as possible.
Necessary enhancements to support authenticated self-contained objects
for certificate enrollment are kept on a minimum to ensure reuse of
already defined architecture elements and interactions.</t>

<t>For the authenticated self-contained objects used for the certification
request, BRSKI-AE relies on the defined message wrapping mechanisms
of the enrollment protocols stated in <xref target="req-sol"/> above.</t>

<section anchor="uc1" title="Use Case 1 (pledge-initiator-mode): Support of off-site PKI service">

<t>One assumption of BRSKI-AE is that the authorization of a
certification request is performed based on an authenticated
self-contained object, binding the certification request to the
authentication using the IDevID. This supports interaction with
off-site or off-line PKI (RA/CA) components.
In addition, the authorization of the certification request may not
be done by the domain registrar but by a PKI residing in the backend
of the domain operator (off-site) as described in <xref target="sup-env"/>.
Also, the certification request may be
piggybacked by another protocol. This leads to changes in the
placement or enhancements of the logical elements as shown in <xref target="uc1figure"/>.</t>

<figure title="Architecture overview using off-site PKI components" anchor="uc1figure"><artwork 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/ |  .
|        <-------->............<-------> Enrollment |  .
|        |     .  |        BRSKI-AE    | Proxy      |  .
| IDevID |     .  |            |       +------^-----+  .
|        |     .  +------------+              |        .
|        |     .                              |        .
+--------+     ...............................|.........
                "on-site domain" components   |
                                              |e.g., RFC 7030,
                                              |      RFC 4210, ...
 .............................................|.....................
 . +---------------------------+     +--------v------------------+ .
 . | Public Key Infrastructure |<----+ PKI RA                    | .
 . | PKI CA                    |---->+                           | .
 . +---------------------------+     +---------------------------+ .
 ...................................................................
         "off-site domain" components
]]></artwork></figure>

<t>The architecture overview in <xref target="uc1figure"/> utilizes
the same logical elements as BRSKI but with a different placement in
the deployment architecture for some of the elements.
The main difference is the placement of the PKI RA/CA component, which
is performing the authorization decision for the certification request
message. It is placed in the off-site domain of the operator (not
the deployment site directly), which may have no or only temporary
connectivity to the deployment or on-site domain of the pledge.
This is to underline the authorization decision for the certification
request in the backend rather than on-site.
The following list describes the components in the target domain:</t>

<t><list style="symbols">
  <t>Join Proxy: same functionality as described in BRSKI.</t>
  <t>Domain Registrar / Enrollment Proxy: In general the domain
registrar proxy has a similar functionality regarding the
imprinting of the pledge in the deployment domain to facilitate
the communication of the pledge with the MASA and the PKI.
Different is the authorization of the certification
request. BRSKI-AE allows to perform this in the operator’s
backend (off-site), and not directly at the domain registrar.  <list style="symbols">
      <t>Voucher exchange: The voucher exchange with the MASA  via
the domain registrar is performed as described in BRSKI <xref target="RFC8995"/>.</t>
      <t>Certificate enrollment: For the pledge enrollment the
domain registrar in the deployment domain supports the
adoption of the pledge in the domain based on the voucher
request. Nevertheless, it may not have sufficient
information for authorizing the certification request.
If the authorization of the certification request is done
in the off-site domain, the domain registrar forwards the
certification request to the RA to perform the authorization.
Note that this requires, that the certification request object
is enhanced with a proof-of-identity to allow the authorization
based on the bound identity information of the pledge. As
stated above, this can be done by an additional signature
using the IDevID.
The domain registrar here acts as an enrollment proxy or
local registration authority. It is also able to handle the
case having no connection temporarily to an off-site PKI,
by storing the authenticated certification request and
forwarding it to the RA upon reestablished connectivity.
As authenticated self-contained objects are used, it
requires an enhancement of the domain registrar. This is
done by supporting alternative enrollment approaches
(protocol options, protocols, encoding) by enhancing the
addressing scheme to communicate with the domain registrar
(see <xref target="addressing"/>).</t>
    </list></t>
</list></t>

<t>The following list describes the vendor related components/service
outside the deployment domain:</t>

<t><list style="symbols">
  <t>MASA: general functionality as described in <xref target="RFC8995"/>.
Assumption is that the interaction with the MASA may be
synchronous (voucher request with nonce) or asynchronous
(voucher request without nonce).</t>
  <t>Ownership tracker: as defined in <xref target="RFC8995"/>.</t>
</list></t>

<t>The following list describes the operator related components/service
operated in the backend:</t>

<t><list style="symbols">
  <t>PKI RA: Performs certificate management functions (validation
of certification requests, interaction with inventory/asset
management for authorization of certification requests, etc.)
for issuing, updating, and revoking certificates for a domain
as a centralized infrastructure for the domain operator.
The inventory (asset) management may be a separate component
or integrated into the RA directly.</t>
  <t>PKI CA: Performs certificate generation by signing the
certificate structure provided in the certification request.</t>
</list></t>

<t>Based on BRSKI and the architectural changes the original protocol
flow is divided into three phases showing commonalities and
differences to the original approach as depicted in the following.</t>

<t><list style="symbols">
  <t>Discovery phase (same as BRSKI)</t>
  <t>Voucher exchange with deployment domain registrar
(same as BRSKI).</t>
  <t>Enrollment phase (changed to support the application of
authenticated self-contained objects).</t>
</list></t>

<section anchor="behavior-of-a-pledge" title="Behavior of a pledge">

<t>The behavior of a pledge as described in <xref target="RFC8995"/> is kept with one exception.
After finishing the imprinting phase (4)
the enrollment phase (5) is performed with a method supporting
authenticated self-contained objects. Using EST with simple-enroll
cannot be applied here, as it binds the pledge authentication with
the existing IDevID to the transport channel (TLS) rather than to
the certification request object directly. This authentication in
the transport layer is not visible / verifiable at the authorization
point in the off-site domain. <xref target="exist_prot"/> discusses
potential enrollment protocols and options applicable.</t>

</section>
<section anchor="discovery" title="Pledge - Registrar discovery and voucher exchange">

<t>The discovery phase is applied as specified in <xref target="RFC8995"/>.</t>

</section>
<section anchor="vexchange" title="Registrar - MASA voucher exchange">

<t>The voucher exchange is performed as specified in <xref target="RFC8995"/>.</t>

</section>
<section anchor="enroll" title="Pledge - Registrar - RA/CA certificate enrollment">

<t>As stated in <xref target="req-sol"/> the enrollment shall be
performed using an authenticated self-contained object providing
proof of possession and proof of identity.</t>

<figure title="Certificate enrollment" anchor="enrollfigure"><artwork align="left"><![CDATA[
+--------+         +---------+    +------------+     +------------+
| Pledge |         | Circuit |    | Domain     |     | Operator   |
|        |         | Join    |    | Registrar  |     | RA/CA      |
|        |         | Proxy   |    |  (JRC)     |     | (OPKI)     |
+--------+         +---------+    +------------+     +------------+
  /-->                                      |                    |
[Request of CA Certificates]                |                    |
  |---------- CA Certs Request ------------>|                    |
  |              [if connection to operator domain is available] |
  |                                         |-Request CA Certs ->|
  |                                         |<- CA Certs Response|
  |<-------- CA Certs Response--------------|                    |
  /-->                                      |                    |
[Request of Certificate Attributes to be included]               |
  |---------- Attribute Request ----------->|                    |
  |              [if connection to operator domain is available] |
  |                                         |Attribute Request ->|
  |                                         |<-Attribute Response|
  |<--------- Attribute Response -----------|                    |
  /-->                                      |                    |
[Certification request]                     |                    |
  |-------------- Cert Request ------------>|                    |
  |              [if connection to operator domain is available] |
  |                                         |--- Cert Request -->|
  |                                         |                    |
[Optional Certificate waiting indication]   |                    |
  /-->                                      |                    |
  |<----- Cert Response (with Waiting) -----|                    |
  |-- Cert Polling (with orig request ID) ->|                    |
  |                                         |                    |
  /-->                                      |                    |
  |                                         |<-- Cert Response --|
  |                                         |                    |
  |<-- Cert Response (with Certificate) ----|                    |
  /-->                                      |                    |
[Certificate confirmation]                  |                    |
  |-------------- Cert Confirm ------------>|                    |
  |                                         /-->                 |
  |                                         |[optional]          |
  |                                         |--- Cert Confirm -->|
  |                                         |<-- PKI Confirm ----|
  |<------------- PKI/Registrar Confirm ----|                    |
]]></artwork></figure>

<t>The following list provides an abstract description of the flow
depicted in <xref target="enrollfigure"/>.</t>

<t><list style="symbols">
  <t>CA Cert Request: The pledge SHOULD request the full distribution
of CA Certificates. This ensures that the pledge has the
complete set of current CA certificates beyond the
pinned-domain-cert (which may be the domain registrar certificate
contained in the voucher).</t>
  <t>CA Cert Response: Contains at least one CA certificate of
the issuing CA.</t>
  <t>Attribute Request: 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 deployment domain
into the certification request. To get these attributes in
advance, the attribute request SHOULD be used.</t>
  <t>Attribute Response: Contains the attributes to be included
in the certification request message.</t>
  <t>Cert Request: Depending on the utilized enrollment protocol,
this certification request contains the authenticated
self-contained object ensuring both, proof-of-possession of the
corresponding private key and proof-of-identity of the
requester.</t>
  <t>Cert Response: certification response message containing the
requested certificate and potentially further information like
certificates of intermediary CAs on the certification path.</t>
  <t>Cert Waiting: waiting indication for the pledge to retry
after a given time. For this a request identifier is necessary.
This request identifier may be either part of the enrollment
protocol or build based on the certification request.</t>
  <t>Cert Polling: querying the registrar, if the certificate request
was already processed; can be answered either with another
Cert Waiting, or a Cert Response.</t>
  <t>Cert Confirm: confirmation message from pledge after receiving
and verifying the certificate.</t>
  <t>PKI/Registrar Confirm: confirmation message from PKI/registrar
about reception of the pledge’s certificate confirmation.</t>
</list></t>

<t>The generic messages described above can implemented using various
protocols implementing authenticated self-contained objects,
as described in <xref target="req-sol"/>. Examples are available
in <xref target="exist_prot"/>.</t>

</section>
<section anchor="addressing" title="Addressing Scheme Enhancements">

<t>BRSKI-AE provides enhancements to the addressing scheme defined in <xref target="RFC8995"/> to
accommodate the additional handling of authenticated self-contained
objects for the certification request. As this is supported by
different enrollment protocols, they can be directly employed
(see also <xref target="exist_prot"/>).</t>

<t>The addressing scheme in BRSKI for client certificate request and
CA certificate distribution function during the enrollment uses
the definition from EST <xref target="RFC7030"/>, here on the
example on simple enroll: “/.well-known/est/simpleenroll”
This approach is generalized to the following notation:
“/.well-known/enrollment-protocol/request”
in which enrollment-protocol may be an already existing protocol or
a newly defined approach. Note that enrollment is considered here
as a sequence of at least a certification request and a certification
response. In case of existing enrollment protocols the following
notation is used proving compatibility to BRSKI:</t>

<t><list style="symbols">
  <t>enrollment-protocol: references either EST <xref target="RFC7030"/> as in BRSKI or
CMP, CMC, SCEP, or newly defined approaches as alternatives.
Note: additional endpoints (well-known URI) at the registrar
may need to be defined by the utilized enrollment protocol.</t>
  <t>request: depending on the utilized enrollment protocol,
the request describes the required operation at the
registrar side. Enrollment protocols are expected to
define the request endpoints as done by existing protocols
(see also <xref target="exist_prot"/>).</t>
</list></t>

</section>
</section>
<section anchor="uc2" title="Use Case 2 (pledge-responder-mode): Registrar-agent communication with Pledges">

<t>To support mutual trust establishment of pledges, not directly
connected to the domain registrar. It relies on the exchange of
authenticated self-contained objects (the voucher request/response
objects as known from BRSKI and the enrollment request/response
objects as introduced by BRSKI-AE). This approach has also been applied
also for the use case 1.
This allows independence of a potential protection provided by the
used transport protocol.</t>

<t>In contrast to BRSKI, the object exchanges performed with the help of
a registrar-agent component, supporting the interaction of
the pledge with the domain registrar. It may be an integrated
functionality of a commissioning tool. This leads to enhancements
of the logical elements in the BRSKI architecture as shown in <xref target="uc2figure"/>.
The registrar-agent interacts with the pledge to acquire and to supply
the required data objects for bootstrapping, which are also exchanged
between the registrar-agent and the domain registrar.
Moreover, the addition of the registrar-agent
also influences the sequences for the data exchange between the pledge
and the domain registrar described in <xref target="RFC8995"/>.
The general goal for the registrar-agent application is the reuse of
already defined endpoints of the domain registrar side. The
functionality of the already existing registrar endpoints may need
small enhancements.</t>

<figure title="Architecture overview using registrar-agent" anchor="uc2figure"><artwork align="left"><![CDATA[
                                          +------------------------+
   +--------------Drop Ship---------------| Vendor Service         |
   |                                      +------------------------+
   |                                      | M anufacturer|         |
   |                                      | A uthorized  |Ownership|
   |                                      | S igning     |Tracker  |
   |                                      | A uthority   |         |
   |                                      +--------------+---------+
   |                                                     ^
   |                                                     |  BRSKI-
   V                                                     |   MASA
+-------+     +---------+   .............................|.........
|       |     |         |   .                            |        .
|       |     |         |   .  +-----------+       +-----v-----+  .
|       |     |Registrar|   .  |           |       |           |  .
|Pledge |     |Agent    |   .  |   Join    |       | Domain    |  .
|       |     |         |   .  |   Proxy   |       | Registrar |  .
|       <----->.........<------>...........<-------> (PKI RA)  |  .
|       |     |         |   .  |       BRSKI-AE    |           |  .
|       |     |         |   .  |           |       +-----+-----+  .
|IDevID |     | LDevID  |   .  +-----------+             |        .
|       |     |         |   .         +------------------+-----+  .
+-------+     +---------+   .         | Key Infrastructure     |  .
                            .         | (e.g., PKI Certificate |  .
                            .         |       Authority)       |  .
                            .         +------------------------+  .
                            .......................................
                                      "Domain" components
]]></artwork></figure>

<t>The architecture overview in <xref target="uc2figure"/> utilizes
the same logical components as BRSKI with the registrar-agent
component in addition.</t>

<t>For authentication towards the domain registrar, the registrar-agent
uses its LDevID. The provisioning of the registrar-agent LDevID may
be done by a separate BRSKI run or other means in advance. It is
recommended to use short lived registrar-agent LDevIDs in the range
of days or weeks.</t>

<t>If a registrar detects a request originates from a registrar-agent
it is able to switch the operational mode from BRSKI to BRSKI-AE.</t>

<t>In addition, the domain registrar may authenticate the user operating
the registrar-agent to perform additional authorization of a pledge
enrollment action. Examples for such user level authentication are
the application of HTTP authentication or the usage of authorization
tokens or other. This is out of scope of this document.</t>

<t>The following list describes the components in a (customer) site domain:</t>

<t><list style="symbols">
  <t>Pledge: The pledge is expected to respond with the necessary data
objects for bootstrapping to the registrar-agent.
The transport protocol used between the pledge and the
registrar-agent is assumed to be HTTP in the context of this
document. Other transport protocols may be used but are out of
scope of this document.
As the pledge is acting as a server during bootstrapping it
leads to some differences to BRSKI:  <list style="symbols">
      <t>Discovery of the domain registrar by the pledge is not needed
as the pledge will be triggered by the registrar-agent.</t>
      <t>Discovery of the pledge by the registrar-agent must be
possible.</t>
      <t>As the registrar-agent must be able to request data objects
for bootstrapping of the pledge, the pledge must offer
corresponding endpoints.</t>
      <t>The registrar-agent may provide additional data to the pledge,
in the context of the triggering request.</t>
      <t>Order of exchanges in the call flow may be different as
the registrar-agent collects both objects, pledge-voucher-request
objects and pledge-enrollment-request objects, at once and provides
them to the registrar. This approach may also be used to
perform a bulk bootstrapping of several devices.</t>
      <t>The data objects utilized for the data exchange between
the pledge and the registrar are self-contained authenticated
objects (signature-wrapped objects) as in use case 1 <xref target="uc1"/>.</t>
    </list></t>
  <t>Registrar-agent: provides a communication path to exchange
data objects between the pledge and the domain registrar.
The registrar-agent facilitates situations, in which the domain
registrar is not directly reachable by the pledge, either due
to a different technology stack or due to missing connectivity.
The registrar-agent triggers
the pledge to create bootstrapping information such as voucher
request objects and enrollment request objects from one or
multiple pledges at once and performs a bulk bootstrapping based
on the collected data.
The registrar-agent is expected to possess information of the
domain registrar, either by configuration or by using the
discovery mechanism defined in <xref target="RFC8995"/>.
There is no trust assumption between the pledge and the
registrar-agent as only authenticated self-contained objects
are applied, which are transported via the registrar-agent and
provided either by the pledge or the registrar.
The trust assumption between the registrar-agent and the registrar
bases on an own LDevID of the registrar-agent, acting as registrar
component. This allows the registrar-agent to authenticate towards
the registrar. The registrar can utilize this authentication to
distinguish communication with a pledge from a registrar-agent
based on the exchanged objects.</t>
  <t>Join Proxy: same functionality as described in <xref target="RFC8995"/>. Note
that it may be used by the registrar-agent instead of the pledge
to find the registrar, if not configured.</t>
  <t>Domain Registrar: In general the domain registrar fulfills the
same functionality regarding the bootstrapping of the pledge in
a (customer) site domain by facilitating the communication of the
pledge with the MASA service and the domain PKI service. In
contrast to <xref target="RFC8995"/>, the
domain registrar does not interact with a pledge directly but
through the registrar-agent. The registrar detects if
the bootstrapping is performed by the pledge directly or by the
registrar-agent.
The manufacturer provided components/services (MASA and Ownership
tracker) are used as defined in <xref target="RFC8995"/>. For issuing
a voucher, the MASA may perform additional checks on voucher-request
objects, to issue a voucher indicating agent-proximity instead of
registrar-proximity.</t>
</list></t>

<t>[RFC Editor: please delete] /*</t>

<t>Open Issues: The voucher defined in <xref target="RFC8366"/> defines
the leaf assertion as enum, which cannot be extended. To define an
additional assertion RFC 8366 may be revised. */</t>

<!--
[ YANG-doctor review note this section to be removed before publishing as RFC (or resolution of issue).
We do have a YANG process issue with this document. We need to inroduce a new value for the agent-proximity,
but it is an enum, and these seem to be intrinsically non-extensible even though the transport encodings would give us what we need, so it seems o be a yang process, but not encoding issue:
If we would amend the assertion with the new agent-proximity enum value, binary transport would indicate this as a new numerical value, and string transports would indicate this as the new string value "agent-proximity". In both cases, pre-exising voucher implementation would recognize an unrecognized values and would fail on the voucher, which is exactly what we want. Aka: if it was not for the fact that enum are not meant to be extensible, it seems there would be no issue ?
We are looking for YANG doctor guidance/recommendations for this issue, boh for how to deal with this extension, but also (ideally) with the best option how to minimize he overhead when the next assertion extension comes along. Ideally, the solution would allow us to automatically get a string value encoding for string transports and a numerical encoding vor binary transports. And new values would just require additions to a TBD IANA registry we would define into an appropriate draft.
This issue tracked at: #18
Please discuss on anima@ietf.org so the discussion reaches the whole community.
]
-->

<t>“Agent-proximity” is a weaker assertion then “proximity”.
In case of “agent-proximity” it is a statement, that the
proximity-registrar-certificate was provided via the registrar-agent
and not directly. This can be verified by the registrar and also by the
MASA through voucher-request processing. Note that at the time of
creating the voucher-request, the pledge cannot verify the
LDevID(Reg) EE certificate and has no proof-of-possession of the
corresponding private key for the certificate. Trust handover to the
domain is established via the “pinned-domain-certificate” in the
voucher.</t>

<t>In contrast, “proximity” provides a statement, that the pledge was in
direct contact with the registrar and was able to verify
proof-of-possession of the private key in the context of the TLS
handshake. The provisionally accepted LDevID(Reg) EE certificate can
be verified after the voucher has been processed by the pledge.</t>

<section anchor="pledge_ep" title="Behavior of a pledge in pledge-responder-mode">

<t>In contrast to use case 1 <xref target="uc1"/> the pledge acts as
a server component if data is triggered by the registrar-agent for
the generation of pledge-voucher-request and pledge-enrollment-request
objects as well as for the processing of the response objects and the
generation of status information.
Due to the use of the registrar-agent, the interaction with
the domain registrar is changed as shown in <xref target="exchangesfig_uc2_1"/>.
To enable interaction with the registrar-agent, the pledge provides
endpoints using the BRSKI interface based on the
“/.well-known/brski” URI tree.
The following endpoints are defined for the pledge in this document:</t>

<t><list style="symbols">
  <t>/.well-known/brski/pledge-voucher-request: trigger pledge to
create voucher request. It returns the pledge-voucher-request.</t>
  <t>/.well-known/brski/pledge-enrollment-request: trigger pledge to
create enrollment request. it returns the pledge-enrollment-request.</t>
  <t>/.well-known/brski/pledge-voucher: supply MASA provided
voucher to pledge. It returns the pledge-voucher-status.</t>
  <t>/.well-known/brski/pledge-enrollment: supply enroll
response (certificate) to pledge. It returns the
pledge-enrollment-status.</t>
  <t>/.well-known/brski/pledge-CACerts: supply CACerts to
pledge (optional).</t>
</list></t>

</section>
<section anchor="behavior-of-a-registrar-agent" title="Behavior of a registrar-agent">

<t>The registrar-agent is a new component in the BRSKI context. It
provides connectivity between the pledge and the domain registrar
and reuses the endpoints of the domain registrar side already
specified in <xref target="RFC8995"/>.
It facilitates the exchange of data objects between the pledge and
the domain registrar, which are the voucher request/response objects,
the enrollment request/response objects, as well as related status
objects.
For the communication the registrar-agent utilizes communication
endpoints provided by the pledge.
The transport in this specification is based on HTTP but may also
be done using other transport mechanisms. This new component changes
the general interaction between the pledge and the domain registrar
as shown in <xref target="exchangesfig_uc2_2"/>.</t>

<t>The registrar-agent is expected to already possess an LDevID(RegAgt)
to authenticate towards the domain registrar. The registrar-agent
will use this LDevID(RegAgt) when establishing the TLS session
with the domain registrar in the context of for TLS client-side
authentication. The LDevID(RegAgt) certificate MUST include a
SubjectKeyIdentifier (SKID), which is used as reference in the
context of an agent-signed-data object. Note that this is an additional
requirement for issuing the certificate, as <xref target="IEEE-802.1AR"/> only requires the SKID to be included for intermediate CA certificates.
In the specific application of BRSKI-AE, it is used in favor of a
certificate fingerprint to avoid additional computations.</t>

<t>Using an LDevID for TLS client-side authentication is a deviation
from <xref target="RFC8995"/>,
in which the pledge’s IDevID credential is used to perform
TLS client authentication. The use of the LDevID(RegAgt) allows the
domain registrar to distinguish, if bootstrapping is initiated from a
pledge or from a registrar-agent and adopt the internal handling
accordingly.
As BRSKI-AE uses authenticated self-contained data objects between
the pledge and the domain registrar, the binding of the pledge
identity to the request object is provided by the data object
signature employing the pledge’s IDevID. The objects exchanged between
the pledge and the domain registrar used in the context of this
specifications are JOSE objects</t>

<t>In addition to the LDevID(RegAgt), the registrar-agent is provided
with the product-serial-numbers of the pledges to be bootstrapped.
This is necessary to allow the discovery of pledges by the
registrar-agent using mDNS. The list may be provided by administrative
means or the registrar agent may get the information via an interaction
with the pledge, like scanning of product-serial-number information
using a QR code or similar.</t>

<t>According to <xref target="RFC8995"/> section 5.3, the domain
registrar performs the pledge authorization for bootstrapping within
his domain based on the pledge voucher-request object.</t>

<t>The following information is therefore available at the registrar-agent:</t>

<t><list style="symbols">
  <t>LDevID(RegAgt): own operational key pair.</t>
  <t>LDevID(reg) certificate: certificate of the domain registrar.</t>
  <t>Serial-number(s): product-serial-number(s) of pledge(s)
to be bootstrapped.</t>
</list></t>

<section anchor="discovery_uc2_reg" title="Registrar discovery by the registrar-agent">

<t>The discovery of the domain registrar may be done as specified in
<xref target="RFC8995"/> with the
deviation that it is done between the registrar-agent and the domain
registrar. Alternatively, the registrar-agent may be configured
with the address of the domain registrar and the certificate
of the domain registrar.</t>

</section>
<section anchor="discovery_uc2_ppa" title="Pledge discovery by the registrar-agent">

<t>The discovery of the pledge by registrar-agent should be done
by using DNS-based Service Discovery <xref target="RFC6763"/> over Multicast DNS
<xref target="RFC6762"/> to discover the
pledge at “product-serial-number.brski-pledge._tcp.local.”
The pledge constructs a local host name based on device local
information (product-serial-number), which results in
“product-serial-number.brski-pledge._tcp.local.”. It can then be
discovered by the registrar-agent via mDNS. Note that other
mechanisms for discovery may be used.</t>

<t>The registrar-agent is able to build the same information based
on the provided list of product-serial-number.</t>

</section>
</section>
<section anchor="exchanges_uc2" title="Bootstrapping objects and corresponding exchanges">

<t>The interaction of the pledge with the registrar-agent may be
accomplished using different transport means (protocols and or
network technologies). For this document the usage of HTTP is
targeted as in BRSKI. Alternatives may be CoAP, Bluetooth Low
Energy (BLE), or Nearfield Communication (NFC). This requires
independence of the exchanged data objects between the pledge and
the registrar from transport security. Therefore, authenticated
self-contained objects (here: signature-wrapped objects) are applied
in the data exchange between the pledge and the registrar.</t>

<t>The registrar-agent provides the domain-registrar certificate
(LDevID(Reg) EE certificate) to the pledge to be included into
the “agent-provided-proximity-registrar-certificate” leaf in the
pledge-voucher-request object. This enables the registrar to verify,
that it is the target registrar for handling the request. The registrar
certificate may be configured at the registrar-agent or may be
fetched by the registrar-agent based on a prior TLS connection
establishment with the domain registrar.
In addition, the registrar-agent provides agent-signed-data containing
the product-serial-number in the body, signed with the LDevID(RegAgt).
This enables the registrar to verify and log, which registrar-agent was
in contact with the pledge.
Optionally the registrar-agent may provide its LDevID(RegAgt)
certificate to the pledge for inclusion into the pledge-voucher-request
as “agent-sign-cert” leaf.
Note that this may be omitted in constraint environments to safe
bandwidth between the registrar-agent and the pledge.
If not contained, the registrar-agent MUST fetch the LDevID(RegAgt)
certificate based on the SubjectKeyIdentifier (SKID) in the header
of the agent-signed-data. The registrar may include the LDevID(RegAgt)
certificate information into the registrar-voucher-request.</t>

<t>The MASA in turn verifies the LDevID(Reg) certificate is included
in the pledge-voucher-request (prior-signed-voucher-request) in the
“agent-provided-proximity-registrar-certificate” leaf and may assert
in the voucher “verified” or “logged”
instead of “proximity”, as there is no direct connection between the
pledge and the registrar.
If the LDevID(RegAgt) certificate is included contained in the “agent-sign-cert”
leave of the registrar-voucher-request, the MASA can verify the
LDevID(RegAgt) certificate and the signature of the registrar-agent
in the agent-signed-data provided in the prior-signed-voucher-request.
If both can be verified successfully, the MASA can assert
“agent-proximity” in the voucher. Otherwise, it may assert “verified”
or “logged”. The voucher can then be supplied via the registrar
to the registrar-agent.</t>

<t><xref target="exchangesfig_uc2_all"/> provides an overview of
the exchanges detailed in the following sub sections.</t>

<figure title="Overview pledge-responder-mode exchanges" anchor="exchangesfig_uc2_all"><artwork align="left"><![CDATA[
+--------+  +-----------+    +-----------+   +--------+   +---------+
| Pledge |  | Registrar |    | Domain    |   | Domain |   | Vendor  |
|        |  | Agent     |    | Registrar |   | CA     |   | Service |
|        |  | (RegAgt)  |    |  (JRC)    |   |        |   | (MASA)  |
+--------+  +-----------+    +-----------+   +--------+   +---------+
     |              |                  |              |   Internet |
[discovery of pledge]
     | mDNS query   |                  |              |            |
     |<-------------|                  |              |            |
     |------------->|                  |              |            |
     |              |                  |              |            |
[trigger pledge-voucher-request and
 pledge-enrollment-request generation]
     |<- vTrigger --|                  |              |            |
     |-Voucher-Req->|                  |              |            |
     |              |                  |              |            |
     |<- eTrigger --|                  |              |            |
     |- Enroll-Req->|                  |              |            |
     ~              ~                  ~              ~            ~
[provide pledge-voucher-request to infrastructure]
     |              |<------ TLS ----->|              |            |
     |              |-- Voucher-Req -->|              |            |
     |              |          [accept device?]       |            |
     |              |          [contact vendor]       |            |
     |              |                  |------- Voucher-Req ------>|
     |              |                  |           [extract DomainID]
     |              |                  |           [update audit log]
     |              |                  |<-------- Voucher ---------|
     |              |<---- Voucher ----|              |            |
     |              |                  |              |            |
[provide pledge enrollment request to infrastructure]
     |              |-- Enroll-Req --->|              |            |
     |              |                  |- Cert-Req -->|            |
     |              |                  |<-Certificate-|            |
     |              |<-- Enroll-Resp --|              |            |
     ~              ~                  ~              ~            ~
[provide voucher and certificate
 to pledge and collect status info]
     |<-- Voucher --|                  |              |            |
     |-- vStatus -->|                  |              |            |
     |<-Enroll-Resp-|                  |              |            |
     |-- eStatus -->|                  |              |            |
     ~              ~                  ~              ~            ~
[provide voucher-status and enrollment status to registrar]
     |              |<------ TLS ----->|              |            |
     |              |----  vStatus --->|              |            |
     |              |                  |-- req. device audit log ->|
     |              |                  |<---- device audit log ----|
     |              |           [verify audit log]
     |              |                  |              |            |
     |              |----  eStatus --->|              |            |
     |              |                  |              |            |
]]></artwork></figure>

<t>The following sub sections split the interactions between the different
components into:</t>

<t><list style="symbols">
  <t>Request objects acquisition targets exchanges and objects between
the registrar-agent and the pledge.</t>
  <t>Request handling targets exchanges and objects between
the registrar-agent and the registrar and also the interaction
of the registrar with the MASA and the domain CA.</t>
  <t>Response object supply targets the exchanges and objects between
the registrar-agent and the pledge including the status
objects.</t>
  <t>Status handling addresses the exchanges between the
registrar-agent and the registrar.</t>
</list></t>

<section anchor="exchanges_uc2_1" title="Request objects acquisition (registrar-agent - pledge)">

<t>The following description assumes that the registrar-agent already
discovered the pledge. This may be done as described in
<xref target="discovery_uc2_ppa"/> based on mDNS.</t>

<t>The focus is on the exchange of signature-wrapped objects using
endpoints defined for the pledge in <xref target="pledge_ep"/>.</t>

<t>Preconditions:</t>

<t><list style="symbols">
  <t>Pledge: possesses IDevID</t>
  <t>Registrar-agent: possesses IDevID CA certificate and an own
LDevID(RegAgt) EE credential for the registrar domain. In addition,
the registrar-agent can be configured with the
product-serial-number(s) of the pledge(s) to be bootstrapped.
Note that the product-serial-number may have been used during
the pledge discovery already.</t>
  <t>Registrar: possesses IDevID CA certificate and an own
LDevID/Reg) credential.</t>
  <t>MASA: possesses own credentials (voucher signing key, TLS
server certificate) as well as IDevID CA certificate of pledge
vendor / manufacturer and site-specific LDevID CA certificate.</t>
</list></t>

<figure title="Request collection (registrar-agent - pledge)" anchor="exchangesfig_uc2_1"><artwork align="left"><![CDATA[
+--------+                             +-----------+
| Pledge |                             | Registrar |
|        |                             | Agent     |
|        |                             | (RegAgt)  |
+--------+                             +-----------+
    |                                        |-create
    |                                        | agent-signed-data
    |<--- trigger pledge-voucher-request ----|
    |-agent-provided-proximity-registrar-cert|
    |-agent-signed-data                      |
    |-agent-sign-cert (optional)             |
    |                                        |
    |----- pledge-voucher-request ---------->|-store
    |                                        | pledge-voucher-request
    |<----- trigger enrollment request ------|
    |       (empty)                          |
    |                                        |
    |------ pledge-enrollment-request ------>|-store
    |                                        | pledge-enrollment-req.
]]></artwork></figure>

<t>Triggering the pledge to create the pledge-voucher-request is done using
HTTPS POST on the defined pledge endpoint
“/.well-known/brski/pledge-voucher-request”.</t>

<t>The registrar-agent pledge-voucher-request Content-Type header is:</t>

<t>application/json: defines a JSON document to provide three parameter:</t>

<t><list style="symbols">
  <t>agent-provided-proximity-registrar-cert: base64-encoded LDevID(Reg)
TLS EE certificate.</t>
  <t>agent-sign-cert: base64-encoded LDevID(RegAgt) signing
certificate (optional).</t>
  <t>agent-signed-data: base64-encoded JWS-object.</t>
</list></t>

<t>Note that optionally including the agent-sign-cert enables the pledge
to verify at least the signature of the agent-signed-data. It may
not verify the agent-sign-cert itself due to missing issuing CA
information.</t>

<t>The agent-signed-data is a JOSE object and contains the following
information:</t>

<t>The header of the agent-signed-data contains:</t>

<t><list style="symbols">
  <t>alg: algorithm used for creating the object signature.</t>
  <t>kid: contains the base64-encoded SubjectKeyIdentifier of the
LDevID(RegAgt) certificate.</t>
</list></t>

<t>The body of the agent-signed-data contains an
ietf-voucher-request:agent-signed-data element
(defined in <xref target="yang-module"/>):</t>

<t><list style="symbols">
  <t>created-on: MUST contain the creation date and time
in yang:date-and-time format.</t>
  <t>serial-number: MUST contain the product-serial-number
as type string as defined in <xref target="RFC8995"/>,
section 2.3.1. The serial-number corresponds with the
product-serial-number contained in the X520SerialNumber field
of the IDevID certificate of the pledge.</t>
</list></t>

<figure title="Example of agent-signed-data" anchor="asd"><artwork align="left"><![CDATA[
{
    "alg": "ES256",
    "kid": "base64encodedvalue=="
}
{
  "ietf-voucher-request-trigger:agent-signed-data": {
    "created-on": "2021-04-16T00:00:01.000Z",
    "serial-number": "callee4711"
  }
}
{
    SIGNATURE
}
]]></artwork></figure>

<t>Upon receiving the voucher-request trigger, the pledge SHOULD
construct the body of the pledge-voucher-request object as defined in
<xref target="RFC8995"/>. This object
becomes a JSON-in-JWS object as defined in <xref target="I-D.richardson-anima-jose-voucher"/>.</t>

<t>The header of the pledge-voucher-request SHALL contain the following
parameter as defined in <xref target="RFC7515"/>:</t>

<t><list style="symbols">
  <t>alg: algorithm used for creating the object signature.</t>
  <t>x5c: contains the base64-encoded pledge IDevID certificate.</t>
</list></t>

<t>The body of the pledge-voucher-request object MUST contain the
following parameter as part of the ietf-voucher-request:voucher as
defined in <xref target="RFC8995"/>:</t>

<t><list style="symbols">
  <t>created-on: contains the current date and time in
yang:date-and-time format.</t>
  <t>nonce: contains a cryptographically strong random or
pseudo-random number.</t>
  <t>serial-number: contains the base64-encoded pledge
product-serial-number.</t>
  <t>assertion: contains the requested voucher assertion.</t>
</list></t>

<t>The ietf-voucher-request:voucher is enhanced with additional parameters:</t>

<t><list style="symbols">
  <t>agent-provided-proximity-registrar-cert: MUST be included and
contains the base64-encoded LDevID(Reg) EE certificate
(provided as trigger parameter by the registrar-agent).</t>
  <t>agent-signed-data: MUST contain the base64-encoded
agent-signed-data (as defined in <xref target="asd"/>)
and provided as trigger parameter.</t>
  <t>agent-sign-cert: May contain the base64-encoded LDevID(RegAgt)
EE certificate if provided as trigger parameter.</t>
</list></t>

<t>The enhancements of the YANG module for the ietf-voucher-request
with these new leafs are defined in <xref target="yang-module"/>.</t>

<t>The object is signed using the pledges IDevID credential contained
as x5c parameter of the JOSE header.</t>

<figure title="Example of pledge-voucher-request" anchor="pvr"><artwork align="left"><![CDATA[
{
   "alg": "ES256",
   "x5c": ["MIIB2jCC...dA=="]
}
{
  "ietf-voucher-request:voucher": {
   "created-on": "2021-04-16T00:00:02.000Z",
   "nonce": "eDs++/FuDHGUnRxN3E14CQ==",
   "serial-number": "callee4711",
   "assertion": "agent-proximity",
   "agent-provided-proximity-registrar-cert": "base64encodedvalue==",
   "agent-signed-data": "base64encodedvalue==",
   "agent-sign-cert": "base64encodedvalue=="
  }
}
{
    SIGNATURE
}
]]></artwork></figure>

<t>The pledge-voucher-request Content-Type is defined in
<xref target="I-D.richardson-anima-jose-voucher"/> as:</t>

<t>application/voucher-jose+json</t>

<t>The pledge SHOULD include an “Accept” header field indicating the
acceptable media type for the voucher response. The media type
“application/voucher-jose+json” is defined in
<xref target="I-D.richardson-anima-jose-voucher"/>.</t>

<t>Once the registrar-agent has received the pledge-voucher-request
it can trigger the pledge to generate an enrollment-request object.
As in BRSKI the enrollment request object is a PKCS#10,
additionally signed by the IDevID.
Note, as the initial enrollment aims to request a general certificate,
no certificate attributes are provided to the pledge.</t>

<t>Triggering the pledge to create the enrollment-request is done using
HTTPS GET on the defined pledge endpoint
“/.well-known/brski/pledge-enrollment-request”.</t>

<t>The registrar-agent pledge-enrollment-request Content-Type header
is:</t>

<t>application/json:</t>

<t>with an empty body.</t>

<t>Upon receiving the enrollment-trigger, the pledge SHALL construct
the pledge-enrollment-request as authenticated self-contained object.
The CSR already assures proof of possession of the private key
corresponding to the contained public key. In addition, based on the
additional signature using the IDevID, proof of identity is provided.
Here, a JOSE object is being created in which the body utilizes
the YANG module for the CSR as defined in <xref target="I-D.ietf-netconf-sztp-csr"/>.</t>

<t>[RFC Editor: please delete] /*
Open Issues: Reuse of the sub-tree ietf-sztp-csr:csr may not be
possible as it is not the complete module. */</t>

<t>Depending on the capability of the pledge, it MAY construct the
enrollment request as plain PKCS#10.
Note that the focus here is placed on PKCS#10 as PKCS#10 can be
transmitted in different enrollment protocols like EST, CMP, CMS,
and SCEP. If the pledge is already implementing an enrollment
protocol, it may leverage that functionality for the creation of
the enrollment request object. Note also that
<xref target="I-D.ietf-netconf-sztp-csr"/> also allows for inclusion
of certificate request objects from CMP or CMC.</t>

<t>The pledge SHOULD construct the pledge-enrollment-request as PKCS#10
object and sign it additionally with its IDevID credential. The
pledge-enrollment-request should be encoded as JOSE object.</t>

<t>[RFC Editor: please delete] /*
Open Issues: Depending on target environment, it may be useful to
assume that the pledge may already “know” its functional scope and
therefore the number of certificates needed during operation. As a
result, multiple CSRs may be generated to provide achieve multiple
certificates as a result of the enrollment. This would need further
description and potential enhancements also in the enrollment-request
object to transport different CSRs. */</t>

<t><xref target="I-D.ietf-netconf-sztp-csr"/> considers PKCS#10 but
also CMP and CMC as certificate request format. Note that the wrapping
signature is only necessary for plain PKCS#10 as other request formats
like CMP and CMS support the signature wrapping as part of their own
certificate request format.</t>

<t>The registrar-agent enrollment-request Content-Type header for a
wrapped PKCS#10 is:</t>

<t>application/jose:</t>

<t>The header of the pledge enrollment-request SHALL contain the following
parameter as defined in <xref target="RFC7515"/>:</t>

<t><list style="symbols">
  <t>alg: algorithm used for creating the object signature.</t>
  <t>x5c: contains the base64-encoded pledge IDevID certificate.</t>
</list></t>

<t>The body of the pledge enrollment-request object SHOULD contain a P10
parameter (for PKCS#10) as defined for ietf-sztp-csr:csr in
<xref target="I-D.ietf-netconf-sztp-csr"/>:</t>

<t><list style="symbols">
  <t>P10: contains the base64-encoded PKCS#10 of the pledge.</t>
</list></t>

<t>The JOSE object is signed using the pledge’s IDevID credential, which
corresponds to the certificate signaled in the JOSE header.</t>

<figure title="Example of pledge-enrollment-request" anchor="per"><artwork align="left"><![CDATA[
{
    "alg": "ES256",
    "x5c": ["MIIB2jCC...dA=="]
}
{
  "ietf-sztp-csr:csr": {
    "p10": "base64encodedvalue=="
  }
}
{
    SIGNATURE
}
]]></artwork></figure>

<t>With the collected pledge-voucher-request object and the
pledge-enrollment-request object, the registrar-agent starts the
interaction with the domain registrar.</t>

<t>[RFC Editor: please delete] /*</t>

<t>Open Issues: further description necessary at least for */</t>

<t><list style="symbols">
  <t>Values to be taken from the IDevID into the PKCS#10
(like product-serial-number or subjectName, or certificate
template)</t>
</list></t>

<t>Once the registrar-agent has collected the pledge-voucher-request and
pledge-enrollment-request objects, it connects to the registrar
and sends the request objects. As the registrar-agent is intended
to work between the pledge and the domain registrar, a collection
of requests from more than one pledges is possible, allowing a bulk
bootstrapping of multiple pledges using the same connection between
the registrar-agent and the domain registrar.</t>

</section>
<section anchor="exchanges_uc2_2" title="Request handling (registrar-agent - infrastructure)">

<t>The bootstrapping exchange between the registrar-agent and the domain
registrar resembles the exchanges between the pledge and the domain
registrar from BRSKI in the pledge-initiator-mode with some deviations.</t>

<t>Preconditions:</t>

<t><list style="symbols">
  <t>Registrar-agent: possesses IDevID CA certificate and own
LDevID(RegAgt) EE credential of registrar domain. It knows the
address of the domain registrar through configuration or
discovery by, e.g., mDNS/DNSSD. The registrar-agent has
acquired pledge-voucher-request and pledge-enrollment-request
objects(s).</t>
  <t>Registrar: possesses IDevID CA certificate of pledge vendors
/ manufacturers and an own LDevID(Reg) EE credential.</t>
  <t>MASA: possesses own credentials (voucher signing key, TLS
server certificate) as well as IDevID CA certificate of
pledge vendor / manufacturer and site-specific LDevID CA
certificate.</t>
</list></t>

<figure title="Request processing between registrar-agent and infrastructure bootstrapping services" anchor="exchangesfig_uc2_2"><artwork align="left"><![CDATA[
+-----------+    +-----------+   +--------+   +---------+
| Registrar |    | Domain    |   | Domain |   | Vendor  |
| Agent     |    | Registrar |   | CA     |   | Service |
| (RegAgt)  |    |  (JRC)    |   |        |   | (MASA)  |
+-----------+    +-----------+   +--------+   +---------+
    |                  |              |   Internet |
[exchange between pledge and ]
[registrar-agent done. ]
    |                  |              |            |
    |<------ TLS ----->|              |            |
    |                  |              |            |
    |-- Voucher-Req -->|              |            |
    |          [accept device?]       |            |
    |          [contact vendor]       |            |
    |                  |------------ TLS --------->|
    |                  |-- Voucher-Req ----------->|
    |                  |                   [extract DomainID]
    |                  |                   [update audit log]
    |<---- Voucher ----|<-------- Voucher ---------|
    |                  |              |            |
[certification request handling registrar-agent]
[and site infrastructure]
    |--- Enroll-Req -->|              |            |
    |                  |---- TLS ---->|            |
    |                  |- Enroll-Req->|            |
    |                  |<-Enroll-Resp-|            |
    |<-- Enroll-Resp---|              |            |
    |                  |              |            |
]]></artwork></figure>

<t>The registrar-agent establishes a TLS connection with the
registrar. As already stated in <xref target="RFC8995"/>, the use
of TLS 1.3 (or newer) is encouraged.  TLS 1.2 or newer is REQUIRED
on the registrar-agent side.  TLS 1.3 (or newer) SHOULD be available
on the registrar, but TLS 1.2 MAY be used.  TLS 1.3 (or newer) SHOULD be
available on the MASA, but TLS 1.2 MAY be used.</t>

<t>In contrast to <xref target="RFC8995"/> client authentication is achieved by using
the LDevID(RegAgt) of the
registrar-agent instead of the IDevID of the pledge. This allows
the registrar to distinguish between pledge-initiator-mode and
pledge-responder-mode. In pledge-responder-mode the registrar
has no direct connection to the pledge but via the registrar-agent.
The registrar can receive request objects in different forms as
defined in <xref target="RFC8995"/>. Specifically,
the registrar will receive JOSE objects from the pledge for
voucher-request and enrollment-request (instead of the objects for
voucher-request (CMS-signed JSON) and enrollment-request (PKCS#10).</t>

<t>The registrar-agent sends the pledge-voucher-request to the
registrar with an HTTPS POST to the endpoint
“/.well-known/brski/requestvoucher”.</t>

<t>The pledge-voucher-request Content-Type used in the
pledge-responder-mode is defined in <xref target="I-D.richardson-anima-jose-voucher"/> as:</t>

<t>application/voucher-jose+json (see <xref target="pvr"/> for the
content definition).</t>

<t>The registrar-agent SHOULD include the “Accept” header field received
during the communication with the pledge, indicating the pledge
acceptable Content-Type for the voucher-response. The voucher-response
Content-Type “application/voucher-jose+json” is defined in
<xref target="I-D.richardson-anima-jose-voucher"/>.</t>

<t>Upon reception of the pledge-voucher-request, the registrar SHALL
perform the verification of the voucher-request parameter as defined
in section 5.3 of <xref target="RFC8995"/>.
In addition, the registrar shall verify the following parameters from
the pledge-voucher-request:</t>

<t><list style="symbols">
  <t>agent-provided-proximity-registrar-cert: MUST contain the
own LDevID(Reg) EE certificate to ensure the registrar in
proximity is the target registrar for the request.</t>
  <t>agent-signed-data: The registrar MUST verify that the data
has been signed with the LDevID(RegAgt) credential indicated
in the “kid” JOSE header parameter. If the certificate is
not contained in the agent-sign-cert component of the
pledge-voucher-request, it must fetch the certificate from
a repository.</t>
  <t>agent-sign-cert: May contain the base64-encoded LDevID(RegAgt)
certificate. If contained the registrar MUST verify that the
connected credential used to sign the data was valid at
signature creation time and that the corresponding
registrar-agent was authorized to be involved in the
bootstrapping.</t>
</list></t>

<t>If validation fails the registrar SHOULD respond with the HTTP 404
error code to the registrar-agent. If the pledge-voucher-request is in an
unknown format, then an HTTP 406 error code is more appropriate.</t>

<t>If validation succeeds, the registrar will accept the pledge request
to join the domain as defined in section 5.3 of <xref target="RFC8995"/>. The registrar
then establishes a TLS connection with the MASA as described in section
5.4 of <xref target="RFC8995"/> to
obtain a voucher for the pledge.</t>

<t>The registrar SHALL construct the body of the registrar-voucher-request
object as defined in <xref target="RFC8995"/>.
The encoding SHALL be done as JOSE object as defined in
<xref target="I-D.richardson-anima-jose-voucher"/>.</t>

<t>The header of the registrar-voucher-request SHALL contain the following
parameter as defined in <xref target="RFC7515"/>:</t>

<t><list style="symbols">
  <t>alg: algorithm used for creating the object signature.</t>
  <t>x5c: contains the base64-encoded registrar LDevID certificate.</t>
</list></t>

<t>The body of the registrar-voucher-request object MUST contain the
following parameter as part of the ietf-voucher-request:voucher as
defined in <xref target="RFC8995"/>:</t>

<t><list style="symbols">
  <t>created-on: contains the current date and time in
yang:date-and-time format for the registrar-voucher-request
creation time.</t>
  <t>nonce: copied form the pledge-voucher-request</t>
  <t>serial-number: contains the base64-encoded product-serial-number.
The registrar MUST verify that the product-serial-number
contained in the IDevID certificate of the pledge matches
the serial-number field in the pledge-voucher-request.
In addition, it MUST be equal to the serial-number field
contained in the agent-signed data of pledge-voucher-request.</t>
  <t>assertion: contains the voucher assertion requested the pledge
(agent-proximity). The registrar provides this
information to assure successful verification of agent
proximity based on the agent-signed-data.</t>
</list></t>

<t>The ietf-voucher-request:voucher can be optionally enhanced with the
following additional parameter:</t>

<t><list style="symbols">
  <t>agent-sign-cert: Contain the base64-encoded LDevID(RegAgt)
EE certificate if MASA verification of agent-proximity is
required to provide the assertion “agent-proximity”.</t>
</list></t>

<t>The object is signed using the registrar LDevID(Reg) credential,
which corresponds to the certificate signaled in the JOSE header.</t>

<figure title="Example of registrar-voucher-request" anchor="rvr"><artwork align="left"><![CDATA[
{
   "alg": "ES256",
   "x5c": ["MIIB2jCC...dA=="]
}
{
  "ietf-voucher-request:voucher": {
   "created-on": "2021-04-16T02:37:39.235Z",
   "nonce": "eDs++/FuDHGUnRxN3E14CQ==",
   "serial-number": "callee4711",
   "assertion": "agent-proximity",
   "prior-signed-voucher-request": "base64encodedvalue==",
   "agent-sign-cert": "base64encodedvalue=="
  }
}
{
    SIGNATURE
}
]]></artwork></figure>

<t>The registrar sends the registrar-voucher-request to the
MASA with an HTTPS POST at the endpoint
“/.well-known/brski/requestvoucher”.</t>

<t>The registrar-voucher-request Content-Type is defined in
<xref target="I-D.richardson-anima-jose-voucher"/> as:</t>

<t>application/voucher-jose+json</t>

<t>The registrar SHOULD include an “Accept” header field indicating the
acceptable media type for the voucher-response. The media type
“application/voucher-jose+json” is defined in <xref target="I-D.richardson-anima-jose-voucher"/>.</t>

<t>Once the MASA receives the registrar-voucher-request it SHALL
perform the verification of the contained components as described in
section 5.5 in <xref target="RFC8995"/>.
In addition, the following additional processing SHALL be done for
components contained in the prior-signed-voucher-request:</t>

<t><list style="symbols">
  <t>agent-provided-proximity-registrar-cert: The MASA MAY verify
that this field contains the LDevID(Reg) certificate. If so,
it MUST be consistent with the certificate used to sign the
registrar-voucher-request.</t>
  <t>agent-signed-data: The MASA MAY verify this field to be able
to provide an assertion “agent-proximity”. If so, the
agent-signed-data MUST contain the product-serial-number of
the pledge contained in the serial-number component of the
prior-signed-voucher and also in serial-number component of
the registrar-voucher-request. The LDevID(RegAgt) used to
generate provide the signature is identified by the “kid”
parameter of the JOSE header (agent-signed-data). If the
assertion “agent-proximity” is requested, the
registrar-voucher-request MUST contain the corresponding
LDevID(RegAgt) EE certificate in the agent-sign-cert, which
can be verified by the MASA as issued by the same domain CA
as the LDevID(Reg) EE certificate. If the agent-sign-cert is
not provided, the MASA MAY provide a lower level assertion
“logged” or “verified”</t>
</list></t>

<t>If validation fails, the MASA SHOULD respond with an HTTP
error code to the registrar. The error codes are kept as defined in
section 5.6 of <xref target="RFC8995"/>. <!-- XXX -->
and comprise the response codes 403, 404, 406, and 415.</t>

<t>The voucher response format is as indicated in the submitted
Accept header fields or based on the MASA’s prior understanding of
proper format for this pledge. Specifically for the
pledge-responder-mode the “application/voucher-jose+json” as defined
in <xref target="I-D.richardson-anima-jose-voucher"/> is applied.
The syntactic details of vouchers are described in detail in
<xref target="RFC8366"/>. <xref target="MASA-vr"/> shows an example of the contents of a voucher.</t>

<figure title="Example of MASA issued voucher" anchor="MASA-vr"><artwork align="left"><![CDATA[
{
    "alg": "ES256",
    "x5c": ["MIIBkzCCAT...dA=="]
}
{
  "ietf-voucher:voucher": {
    "assertion": "agent-proximity",
    "serial-number": "callee4711",
    "nonce": "eDs++/FuDHGUnRxN3E14CQ==",
    "created-on": "2021-04-17T00:00:02.000Z",
    "pinned-domain-cert": "MIIBpDCCA...w=="
  }
}
{
    SIGNATURE
}

]]></artwork></figure>

<t>The MASA sends the voucher in the indicated form to the
registrar. After receiving the voucher the registrar may evaluate
the voucher for transparency and logging purposes as outlined in
section 5.6 of <xref target="RFC8995"/>.
The registrar forwards the voucher without changes to the
registrar-agent.</t>

<t>After receiving the voucher, the registrar-agent sends the
pledge’s enrollment-request to the registrar. Deviating from BRSKI
the enrollment-request is not a raw PKCS#10 request. As the
registrar-agent is involved in the exchange, the PKCS#10 is contained
in the JOSE object. The signature is created using the pledge’s
IDevID to provide proof-of-identity as outlined in <xref target="per"/>.</t>

<t>When using EST, the registrar-agent sends the enrollment request
to the registrar with an HTTPS POST at the endpoint
“/.well-known/est/simpleenroll”.</t>

<t>The enrollment-request Content-Type is:</t>

<t>application/jose</t>

<t>If validation of the wrapping signature fails, the registrar SHOULD
respond with the HTTP 404 error code.  If the voucher-request is
in an unknown format, then an HTTP 406 error code is more appropriate.
A situation that could be resolved with administrative action (such
as adding a vendor/manufacturer IDevID CA as trusted party) MAY be
responded with an 403 HTTP error code.</t>

<t>This results in a deviation from the content types used in <xref target="RFC7030"/>
and results in additional processing at
the domain registrar as EST server as following. Note that the
registrar is already aware that the bootstrapping is performed in
a pledge-responder-mode due to the use of the LDevID(RegAgt)
certificate in the TLS establishment and the provided
pledge-voucher-request in JOSE object.</t>

<t><list style="symbols">
  <t>If registrar receives the enrollment-request with the Content
Type application/jose, it MUST verify the signature using the
certificate indicated in the JOSE header.</t>
  <t>The domain registrar verifies that the serial-number contained
in the pledge’s IDevID certificate contained in the JOSE header
as being accepted to join the domain, based on the verification
of the pledge-voucher-request.</t>
  <t>If both succeed, the registrar utilizes the PKCS#10 request
contained in the JOSE body as “P10” parameter of
“ietf-sztp-csr:csr” for further processing of the enrollment
request with the domain CA.</t>
</list></t>

<t>[RFC Editor: please delete] /*</t>

<t>Open Issues:</t>

<t><list style="symbols">
  <t>The domain registrar may either enhance the PKCS#10 request
or generate a structure containing the attributes to be
included by the CA and sends both (the original PKCS#10
request and the enhancements) to the domain CA. As enhancing
the PKCS#10 request destroys the initial proof of possession
of the corresponding private key, the CA would need to
accept RA-verified requests.</t>
</list></t>

<t>A successful interaction with the domain CA will result in the pledge
LDevID EE certificate, which is then forwarded by the registrar to the
registrar-agent using the content type “application/pkcs7-mime”.</t>

<t>The registrar-agent has now finished the exchanges with the
domain registrar. Now the registrar-agent can supply the voucher-response
(from MASA via Registrar) and the enrollment-response (LDevID EE
certificate) to the pledge. It can close the TLS connection to the
domain registrar and provide the objects to the pledge(s). The content
of the response objects is defined through the voucher <xref target="RFC8366"/> and
the certificate <xref target="RFC5280"/>.</t>

</section>
<section anchor="exchanges_uc2_3" title="Response object supply (registrar-agent - pledge)">

<t>The following description assumes that the registrar-agent has
obtained the response objects from the domain registrar. It will
re-start the interaction with the pledge. To contact the pledge,
it may either discover the pledge as described in
<xref target="discovery_uc2_ppa"/> or use stored information
from the first contact with the pledge.</t>

<t>Preconditions in addition to <xref target="exchanges_uc2_2"/>:</t>

<t><list style="symbols">
  <t>Registrar-agent: possesses voucher and LDevID certificate.</t>
</list></t>

<figure title="Response and status handling between pledge and registrar-agent" anchor="exchangesfig_uc2_3"><artwork align="left"><![CDATA[
+--------+                        +-----------+
| Pledge |                        | Registrar |
|        |                        | Agent     |
|        |                        | (RegAgt)  |
+--------+                        +-----------+
    |                                   |
    |<------- supply voucher -----------|
    |                                   |
    |--------- voucher-status --------->| - store
    |                                   |   pledge voucher-status
    |<--- supply enrollment response ---|
    |                                   |
    |--------- enroll-status ---------->| - store
    |                                   |   pledge enroll-status
]]></artwork></figure>

<t>The registrar-agent provides the information via two distinct
endpoints to the pledge as following.</t>

<t>The voucher response is provided with a HTTP POST using the
operation path value of “/.well-known/brski/pledge-voucher”.</t>

<t>The registrar-agent voucher-response Content-Type header is
“application/voucher-jose+json and contains the voucher as provided
by the MASA. An example if given in <xref target="MASA-vr"/>.</t>

<t>The pledge verifies the voucher as described in section 5.6.1 in <xref target="RFC8995"/>.</t>

<t>After successful verification the pledge MUST reply with a status
telemetry message as defined in section 5.7 of <xref target="RFC8995"/>. As for the
other objects, the defined object is provided with an additional
signature using JOSE. The pledge generates the voucher-status-object
and provides it in the response message to the registrar-agent.</t>

<t>The response has the Content-Type “application/jose”, signed using
the IDevID of the pledge as shown in <xref target="vstat"/>.
As the reason field is optional (see <xref target="RFC8995"/>),
it MAY be omitted in case of success.</t>

<figure title="Example of pledge voucher-status telemetry" anchor="vstat"><artwork align="left"><![CDATA[
{
    "alg": "ES256",
    "x5c": ["MIIB2jCC...dA=="]
{
    "version": 1,
    "status":true,
    "reason":"Informative human readable message",
    "reason-context": { "additional" : "JSON" }
}
{
    SIGNATURE
}
]]></artwork></figure>

<t>The enrollment response is provided with a HTTP POST using the
operation path value of “/.well-known/brski/pledge-enrollment”.</t>

<t>The registrar-agent enroll-response Content-Type header when using
EST <xref target="RFC7030"/> as enrollment protocol, from the
registrar-agent to the infrastructure is:</t>

<t>application/pkcs7-mime: note that it only contains the LDevID
certificate for the pledge, not the certificate chain.</t>

<t>[RFC Editor: please delete] /*</t>

<t>Open Issue: the enrollment response object may also be an
application/jose object with a signature of the domain registrar.
This may be used either to transport additional data which is bound
to the LDevID or it may be considered for enrollment status to
ensure that in an error case the registrar providing the certificate
can be identified. */</t>

<t>After successful verification the pledge MUST reply with a status
telemetry message as defined in section 5.9.4 of <xref target="RFC8995"/>. As for the
other objects, the defined object is provided with an additional
signature using the JOSE. The pledge generates the enrollment status
and provides it in the response message to the registrar-agent.</t>

<t>The response has the Content-Type “application/jose”, signed using
the LDevID of the pledge as shown in <xref target="estat"/>.
As the reason field is optional, it MAY be omitted in case of
success.</t>

<figure title="Example of pledge enroll-status telemetry" anchor="estat"><artwork align="left"><![CDATA[
{
  "alg": "ES256",
  "x5c": ["MIIB56uz...dA=="]
{
  "version": 1,
  "status":true,
  "reason":"Informative human readable message",
  "reason-context": { "additional" : "JSON" }
}
{
  SIGNATURE
}
]]></artwork></figure>

<t>Once the registrar-agent has collected the information, it can
connect to the registrar agent to provide the status responses to
the registrar.</t>

</section>
<section anchor="exchanges_uc2_4" title="Telemetry status handling (registrar-agent - domain registrar)">

<t>The following description assumes that the registrar-agent has
collected the status objects from the pledge. It will provide the
status objects to the registrar for further processing and audit log
information of voucher-status for MASA.</t>

<t>Preconditions in addition to <xref target="exchanges_uc2_2"/>:</t>

<t><list style="symbols">
  <t>Registrar-agent: possesses voucher-status and enroll-status
objects from pledge.</t>
</list></t>

<figure title="Bootstrapping status handling" anchor="exchangesfig_uc2_4"><artwork align="left"><![CDATA[
+-----------+    +-----------+   +--------+   +---------+
| Registrar |    | Domain    |   | Domain |   | Vendor  |
| Agent     |    | Registrar |   | CA     |   | Service |
| RegAgt)   |    |  (JRC)    |   |        |   | (MASA)  |
+-----------+    +-----------+   +--------+   +---------+
    |                  |              |   Internet |
    |                  |              |            |
    |<------ TLS ----->|              |            |
    |                  |              |            |
    |--Voucher-Status->|              |            |
    |                  |<---- device audit log ----|
    |           [verify audit log ]
    |                  |              |            |
    |--Enroll-Status-->|              |            |
    |                  |              |            |
    |                  |              |            |
]]></artwork></figure>

<t>The registrar-agent MUST provide the collected pledge voucher-status
to the registrar. This status indicates the pledge could process the
voucher successfully or not.</t>

<t>If the TLS connection to the registrar was closed, the registrar-agent
establishes a TLS connection with the registrar as stated in
<xref target="exchanges_uc2_2"/>.</t>

<t>The registrar-agent sends the pledge voucher-status object
without modification to the registrar with an HTTPS POST using the
operation path value of “/.well-known/brski/voucher_status”. The
Content-Type header is kept as “application/jose” as described in
<xref target="exchangesfig_uc2_3"/> and depicted in the example in <xref target="vstat"/>.</t>

<t>The registrar SHALL verify the signature of the pledge voucher-status
and validate that it belongs to an accepted device in his domain
based on the contained “serial-number” in the IDevID certificate
referenced in the header of the voucher-status object.</t>

<t>According to <xref target="RFC8995"/> section 5.7, the registrar SHOULD respond
with an HTTP 200 but MAY
simply fail with an HTTP 404 error.  The registrar-agent may use the
response to signal success / failure to the service technician
operating the registrar agent. Within the server logs the server
SHOULD capture this telemetry information.</t>

<t>The registrar SHOULD proceed with the collecting and logging the
status information by requesting the MASA audit-log from the MASA
service as described in section 5.8 of <xref target="RFC8995"/>.</t>

<t>The registrar-agent MUST provide the enroll-status object to the
registrar. The status indicates the pledge could process the
enroll-response object and holds the corresponding private key.</t>

<t>The registrar-agent sends the pledge enroll-status object
without modification to the registrar with an HTTPS POST using the
operation path value of “/.well-known/brski/enrollstatus”. The
Content-Type header is kept as “application/jose” as described in
<xref target="exchangesfig_uc2_3"/> and depicted in the example in <xref target="estat"/>.</t>

<t>The registrar SHALL verify the signature of the pledge enroll-status
object and validate that it belongs to an accepted device in his domain
based on the contained product-serial-number in the LDevID EE certificate
referenced in the header of the enroll-status object. Note that
the verification of a signature of the object is a deviation form
the described handling in section 5.9.4 of <xref target="RFC8995"/>.</t>

<t>According to <xref target="RFC8995"/> section 5.9.4, the registrar SHOULD respond
with an HTTP 200 but MAY
simply fail with an HTTP 404 error.  The registrar-agent may use the
response to signal success / failure to the service technician
operating the registrar agent. Within the server log the registrar
SHOULD capture this telemetry information.</t>

</section>
</section>
</section>
<section anchor="discovery_eo" title="Domain registrar support of different enrollment options">

<t>Well-known URIs for different endpoints on the domain registrar are
already defined as part of the base BRSKI specification. In
addition, alternative enrollment endpoints may be supported at the
domain registrar. The pledge / registrar-agent will recognize if its
supported enrollment option is supported by the domain registrar
by sending a request to its preferred enrollment endpoint.</t>

<t>The following provides an illustrative example for a domain
registrar supporting different options for EST as well as
CMP to be used in BRSKI-AE. The listing contains the supported
endpoints for the bootstrapping, to which the pledge may connect. This
includes the voucher handling as well as the enrollment endpoints.
The CMP related enrollment endpoints are defined as well-known URI
in CMP Updates <xref target="I-D.ietf-lamps-cmp-updates"/>.</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/simpleenroll>;ct=pkcs7-mime
  </est/simplereenroll>;ct=pkcs7-mime
  </est/fullcmc>;ct=pkcs7-mime
  </est/serverkeygen>;ct= pkcs7-mime
  </est/csrattrs>;ct=pkcs7-mime
  </cmp/initialization>;ct=pkixcmp
  </cmp/certification>;ct=pkixcmp
  </cmp/keyupdate>;ct=pkixcmp
  </cmp/p10>;ct=pkixcmp
  </cmp/getCAcert>;ct=pkixcmp
  </cmp/getCSRparam>;ct=pkixcmp

]]></artwork></figure>

<t>[RFC Editor: please delete] /*</t>

<t>Open Issues:</t>

<t><list style="symbols">
  <t>In addition to the current content types, we may specify that
the response provide information about different content types
as multiple values. This would allow to further adopt the
encoding of the objects exchanges (ASN.1, JSON, CBOR, …).
-&gt; dependent on the utilized protocol.
*/</t>
</list></t>

</section>
</section>
<section anchor="yang-module" title="YANG Extensions to Voucher Request">

<t>The following modules extends the <xref target="RFC8995"/> Voucher
Request to include a signed artifact from the registrar-agent as well
as the registrar-proximity-certificate and the agent-signing certificate.</t>

<figure><artwork align="left"><![CDATA[
module ietf-async-voucher-request {
  yang-version 1.1;

  namespace
    "urn:ietf:params:xml:ns:yang:ietf-async-voucher-request";
  prefix "constrained";

  import ietf-restconf {
    prefix rc;
    description
      "This import statement is only present to access
       the yang-data extension defined in RFC 8040.";
    reference "RFC 8040: RESTCONF Protocol";
  }

  import ietf-voucher-request {
    prefix ivr;
    description
      "This module defines the format for a voucher request,
          which is produced by a pledge as part of the RFC8995
          onboarding process.";
    reference
      "RFC 8995: Bootstrapping Remote Secure Key Infrastructure";
  }

  organization
   "IETF ANIMA Working Group";

  contact
   "WG Web:   <http://tools.ietf.org/wg/anima/>
    WG List:  <mailto:anima@ietf.org>
    Author:   Steffen Fries
              <mailto:steffen.fries@siemens.com>
    Author:   Hendrik Brockhaus
              <mailto: hendrik.brockhaus@siemens.com>
    Author:   Eliot Lear
              <mailto: lear@cisco.com>";
    Author:   Thomas Werner
              <mailto: thomas-werner@siemens.com>";
  description
   "This module defines an extension of the RFC8995 voucher
    request to permit a registrar-agent to convey the adjacency
    relationship from the registrar-agent to the registrar.

    The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL',
    'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'MAY',
    and 'OPTIONAL' in the module text are to be interpreted as
    described in RFC 2119.";
  revision "YYYY-MM-DD" {
    description
     "Initial version";
    reference
     "RFC XXXX: Voucher Request for Asynchronous Enrollment";
  }
  rc:yang-data voucher-request-async-artifact {
    // YANG data template for a voucher.
    uses voucher-request-async-grouping;
  }
  // Grouping defined for future usage
  grouping voucher-request-async-grouping {
    description
      "Grouping to allow reuse/extensions in future work.";
    uses ivr:voucher-request-grouping {
      augment "voucher-request" {
        description "Base the constrained voucher-request upon the
          regular one";
        leaf agent-signed-data {
          type binary;
          description
            "The agent-signed-data field contains a JOSE [RFC7515]
             object provided by the Registrar-Agent to the Pledge.

             This artifact is signed by the Registrar-Agent
             and contains a copy of the pledge's serial-number.";
        }

        leaf agent-provided-proximity-registrar-cert {
          type binary;
          description
            "An X.509 v3 certificate structure, as specified by
             RFC 5280, Section 4, encoded using the ASN.1
             distinguished encoding rules (DER), as specified
             in ITU X.690.
             The first certificate in the registrar TLS server
             certificate_list sequence (the end-entity TLS
             certificate; see RFC 8446) presented by the
             registrar to the registrar-agent and provided to
             the pledge.
             This MUST be populated in a pledge's voucher-request
             when an agent-proximity assertion is requested.";
          reference
            "ITU X.690: Information Technology - ASN.1 encoding
             rules: Specification of Basic Encoding Rules (BER),
             Canonical Encoding Rules (CER) and Distinguished
             Encoding Rules (DER)
             RFC 5280: Internet X.509 Public Key Infrastructure
             Certificate and Certificate Revocation List (CRL)
             Profile
             RFC 8446: The Transport Layer Security (TLS)
             Protocol Version 1.3";
        }

        leaf agent-sign-cert {
          type binary;
          description
            "An X.509 v3 certificate structure, as specified by
             RFC 5280, Section 4, encoded using the ASN.1
             distinguished encoding rules (DER), as specified
             in ITU X.690.
             This certificate can be used by the pledge,
             the registrar, and the MASA to verify the signature
             of agent-signed-data. It is an optional component
             for the pledge-voucher request.
             This MUST be populated in a registrar's
             voucher-request when an agent-proximity assertion
             is requested.";
          reference
            "ITU X.690: Information Technology - ASN.1 encoding
             rules: Specification of Basic Encoding Rules (BER),
             Canonical Encoding Rules (CER) and Distinguished
             Encoding Rules (DER)
             RFC 5280: Internet X.509 Public Key Infrastructure
             Certificate and Certificate Revocation List (CRL)
             Profile";
        }
      }
    }
  }
}
]]></artwork></figure>

</section>
<section anchor="exist_prot" title="Example for signature-wrapping using existing enrollment protocols">

<t>This section map the requirements to support proof of possession and
proof of identity to selected existing enrollment protocols.
Note that that the work in the ACE WG described in
<xref target="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 from the underlying TLS using OSCORE resulting in
an authenticated self-contained object.</t>

<section anchor="est-handling" title="EST Handling">

<t>When using EST <xref target="RFC7030"/>, the following constraints
should be considered:</t>

<t><list style="symbols">
  <t>Proof of possession is provided by using the specified PKCS#10
structure in the request.</t>
  <t>Proof of identity is achieved by signing the certification
request object, which is only supported when Full PKI Request
(the /fullcmc endpoint) is used. This contains sufficient
information for the RA to make an authorization decision on the
received certification request.
Note: EST references CMC <xref target="RFC5272"/> for the
definition of the Full PKI Request. For proof of identity, the
signature of the SignedData of the Full PKI Request would be
calculated using the IDevID credential of the pledge.</t>
  <t>[RFC Editor: please delete] /* TBD: in this case the binding to
the underlying TLS connection is not be necessary. */</t>
  <t>When the RA is not available, as per <xref target="RFC7030"/> Section 4.2.3, a
202 return code should be returned by the
Registrar. The pledge in this case would retry a simpleenroll
with a PKCS#10 request. Note that if the TLS connection is teared
down for the waiting time, the PKCS#10 request would need to be
rebuilt if it contains the unique identifier (tls_unique) from
the underlying TLS connection for the binding.</t>
  <t>[RFC Editor: please delete] /* TBD: clarification of retry for
fullcmc is necessary as not specified in the context of EST */</t>
</list></t>

</section>
<section anchor="cmp-handling" title="CMP Handling">

<t>Instead of using CMP <xref target="RFC4210"/>, this specification
refers to the lightweight CMP profile
<xref target="I-D.ietf-lamps-lightweight-cmp-profile"/>, as it
restricts the full featured CMP to the functionality needed here.
For this, the following constrains should be observed:</t>

<t><list style="symbols">
  <t>For proof of possession, the defined approach in Lightweight CMP
Profile section 4.1.1 (based on CRMF) and 4.1.5 (based on PCKS#10)
should be supported.</t>
  <t>Proof of identity can be provided by using the signatures to
protect the certificate request message as outlined in section
3.2. of <xref target="I-D.ietf-lamps-lightweight-cmp-profile"/>.</t>
  <t>When the RA/CA is not available, a waiting indication should be
returned in the PKIStatus by the Registrar. The pledge in this
case would retry using the PollReqContent with a request
identifier certReqId provided in the initial CertRequest message
as specified in section 5.2.4 of
<xref target="I-D.ietf-lamps-lightweight-cmp-profile"/> with delayed enrollment.</t>
</list></t>

</section>
</section>
<section anchor="iana-considerations" title="IANA Considerations">

<t>This document requires the following IANA actions:</t>

<t>IANA is requested to enhance the Registry entitled: “BRSKI well-
known URIs” with the following:</t>

<figure><artwork align="left"><![CDATA[
 URI                       document  description
 pledge-voucher-request    [THISRFC] create pledge-voucher-request
 pledge-enrollment-request [THISRFC] create pledge-enrollment-request
 pledge-voucher            [THISRFC] supply voucher response
 pledge-enrollment         [THISRFC] supply enrollment response
 pledge-CACerts            [THISRFC] supply CA certs to pledge
]]></artwork></figure>

</section>
<section anchor="privacy-considerations" title="Privacy Considerations">

<t>The credential used by the registrar-agent to sign the data for the
pledge in case of the pledge-initiator-mode should not
contain personal information. Therefore, it is recommended to use an
LDevID certificate associated with the device instead of a potential
service technician operating the device, to avoid revealing this
information to the MASA.</t>

</section>
<section anchor="security-considerations" title="Security Considerations">

<section anchor="exhaustion-attack-on-pledge" title="Exhaustion attack on pledge">

<t>Exhaustion attack on pledge based on DoS attack (connection
establishment, etc.)</t>

</section>
<section anchor="misuse-of-acquired-voucher-and-enrollment-responses" title="Misuse of acquired voucher and enrollment responses">

<t>Registrar-agent that uses acquired voucher and enrollment response for
domain 1 in domain 2: can be detected in Voucher Request processing
on domain registrar side. Requires domain registrar to verify the
proximity-registrar-cert leaf in the pledge-voucher-request against
his own as well as the association of the pledge to his domain based
on the product-serial-number contained in the voucher.</t>

<t>Misbinding of pledge by a faked domain registrar is countered as
described in BRSKI security considerations (section 11.4).</t>

<t>Misuse of registrar-agent LDevID may be addressed by utilizing
short-lived certificates to be used for authenticating the
registrar-agent against the registrar. The LDevID certificate for
the registrar-agent may be provided by a prior BRSKI execution based
on an existing IDevID. Alternatively, the LDevID may be acquired  by
a service technician after authentication against the issuing CA.</t>

</section>
</section>
<section anchor="acknowledgments" title="Acknowledgments">

<t>We would like to thank the various reviewers for their input, in
particular Brian E. Carpenter, Michael Richardson, Giorgio Romanenghi,
Oskar Camenzind, for their input and discussion on use cases and
call flows.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference anchor='RFC6762' target='https://www.rfc-editor.org/info/rfc6762'>
<front>
<title>Multicast DNS</title>
<author fullname='S. Cheshire' initials='S.' surname='Cheshire'><organization/></author>
<author fullname='M. Krochmal' initials='M.' surname='Krochmal'><organization/></author>
<date month='February' year='2013'/>
<abstract><t>As networked devices become smaller, more portable, and more ubiquitous, the ability to operate with less configured infrastructure is increasingly important.  In particular, the ability to look up DNS resource record data types (including, but not limited to, host names) in the absence of a conventional managed DNS server is useful.</t><t>Multicast DNS (mDNS) provides the ability to perform DNS-like operations on the local link in the absence of any conventional Unicast DNS server.  In addition, Multicast DNS designates a portion of the DNS namespace to be free for local use, without the need to pay any annual fee, and without the need to set up delegations or otherwise configure a conventional DNS server to answer for those names.</t><t>The primary benefits of Multicast DNS names are that (i) they require little or no administration or configuration to set them up, (ii) they work when no infrastructure is present, and (iii) they work during infrastructure failures.</t></abstract>
</front>
<seriesInfo name='RFC' value='6762'/>
<seriesInfo name='DOI' value='10.17487/RFC6762'/>
</reference>



<reference anchor='RFC6763' target='https://www.rfc-editor.org/info/rfc6763'>
<front>
<title>DNS-Based Service Discovery</title>
<author fullname='S. Cheshire' initials='S.' surname='Cheshire'><organization/></author>
<author fullname='M. Krochmal' initials='M.' surname='Krochmal'><organization/></author>
<date month='February' year='2013'/>
<abstract><t>This document specifies how DNS resource records are named and structured to facilitate service discovery.  Given a type of service that a client is looking for, and a domain in which the client is looking for that service, this mechanism allows clients to discover a list of named instances of that desired service, using standard DNS queries. This mechanism is referred to as DNS-based Service Discovery, or DNS-SD.</t></abstract>
</front>
<seriesInfo name='RFC' value='6763'/>
<seriesInfo name='DOI' value='10.17487/RFC6763'/>
</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='RFC7515' target='https://www.rfc-editor.org/info/rfc7515'>
<front>
<title>JSON Web Signature (JWS)</title>
<author fullname='M. Jones' initials='M.' surname='Jones'><organization/></author>
<author fullname='J. Bradley' initials='J.' surname='Bradley'><organization/></author>
<author fullname='N. Sakimura' initials='N.' surname='Sakimura'><organization/></author>
<date month='May' year='2015'/>
<abstract><t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures.  Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification.  Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t></abstract>
</front>
<seriesInfo name='RFC' value='7515'/>
<seriesInfo name='DOI' value='10.17487/RFC7515'/>
</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.richardson-anima-jose-voucher'>
   <front>
      <title>JOSE signed Voucher Artifacts for Bootstrapping Protocols</title>
      <author fullname='Michael Richardson'>
	 <organization>Sandelman Software Works</organization>
      </author>
      <author fullname='Thomas Werner'>
	 <organization>Siemens</organization>
      </author>
      <date day='23' month='June' year='2021'/>
      <abstract>
	 <t>   This document describes a serialiation of the RFC8366 voucher format
   to a JSON format is then signed using the JSON Object Signing and
   Encryption mechanism described in RFC7515.

   In addition to explaining how the format is created, MIME types are
   registered and examples are provided.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-richardson-anima-jose-voucher-01'/>
   <format target='https://www.ietf.org/archive/id/draft-richardson-anima-jose-voucher-01.txt' type='TXT'/>
</reference>


<reference anchor='I-D.ietf-netconf-sztp-csr'>
   <front>
      <title>Conveying a Certificate Signing Request (CSR) in a Secure Zero Touch Provisioning (SZTP) Bootstrapping Request</title>
      <author fullname='Kent Watsen'>
	 <organization>Watsen Networks</organization>
      </author>
      <author fullname='Russ Housley'>
	 <organization>Vigil Security, LLC</organization>
      </author>
      <author fullname='Sean Turner'>
	 <organization>sn3rd</organization>
      </author>
      <date day='15' month='June' year='2021'/>
      <abstract>
	 <t>   This draft extends the &quot;get-bootstrapping-data&quot; RPC defined in RFC
   8572 to include an optional certificate signing request (CSR),
   enabling a bootstrapping device to additionally obtain an identity
   certificate (e.g., an LDevID, from IEEE 802.1AR) as part of the
   &quot;onboarding information&quot; response provided in the RPC-reply.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-netconf-sztp-csr-03'/>
   <format target='https://www.ietf.org/archive/id/draft-ietf-netconf-sztp-csr-03.txt' type='TXT'/>
</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='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='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='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='RFC5280' target='https://www.rfc-editor.org/info/rfc5280'>
<front>
<title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
<author fullname='D. Cooper' initials='D.' surname='Cooper'><organization/></author>
<author fullname='S. Santesson' initials='S.' surname='Santesson'><organization/></author>
<author fullname='S. Farrell' initials='S.' surname='Farrell'><organization/></author>
<author fullname='S. Boeyen' initials='S.' surname='Boeyen'><organization/></author>
<author fullname='R. Housley' initials='R.' surname='Housley'><organization/></author>
<author fullname='W. Polk' initials='W.' surname='Polk'><organization/></author>
<date month='May' year='2008'/>
<abstract><t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet.  An overview of this approach and model is provided as an introduction.  The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms.  Standard certificate extensions are described and two Internet-specific extensions are defined.  A set of required certificate extensions is specified.  The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions.  An algorithm for X.509 certification path validation is described.  An ASN.1 module and examples are provided in the appendices.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5280'/>
<seriesInfo name='DOI' value='10.17487/RFC5280'/>
</reference>



<reference anchor='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='I-D.ietf-lamps-lightweight-cmp-profile'>
   <front>
      <title>Lightweight Certificate Management Protocol (CMP) Profile</title>
      <author fullname='Hendrik Brockhaus'>
	 <organization>Siemens AG</organization>
      </author>
      <author fullname='Steffen Fries'>
	 <organization>Siemens AG</organization>
      </author>
      <author fullname='David von Oheimb'>
	 <organization>Siemens AG</organization>
      </author>
      <date day='22' month='February' year='2021'/>
      <abstract>
	 <t>   The goal of this document is to facilitate interoperability and
   automation by profiling the Certificate Management Protocol (CMP)
   version 2, the related Certificate Request Message Format (CRMF)
   version 2, and the HTTP Transfer for the Certificate Management
   Protocol.  It specifies a subset of CMP and CRMF focusing on typical
   use cases relevant for managing certificates of devices in many
   industrial and IoT scenarios.  To limit the overhead of certificate
   management for more constrained devices only the most crucial types
   of operations are specified as mandatory.  To foster interoperability
   in more complex scenarios, other types of operations are specified as
   recommended or optional.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-lamps-lightweight-cmp-profile-05'/>
   <format target='https://www.ietf.org/archive/id/draft-ietf-lamps-lightweight-cmp-profile-05.txt' type='TXT'/>
</reference>


<reference anchor='I-D.ietf-lamps-cmp-updates'>
   <front>
      <title>Certificate Management Protocol (CMP) Updates</title>
      <author fullname='Hendrik Brockhaus'>
	 <organization>Siemens AG</organization>
      </author>
      <author fullname='David von Oheimb'>
	 <organization>Siemens AG</organization>
      </author>
      <date day='4' month='May' year='2021'/>
      <abstract>
	 <t>   This document contains a set of updates to the syntax and transport
   of Certificate Management Protocol (CMP) version 2.  This document
   updates RFC 4210 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 &#39;.well-known&#39; HTTP path segments.

   To properly differentiate the support of EnvelopedData instead of
   EncryptedValue, the CMP version 3 is introduced in case a transaction
   is supposed to use EnvelopedData.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-lamps-cmp-updates-10'/>
   <format target='https://www.ietf.org/archive/id/draft-ietf-lamps-cmp-updates-10.txt' type='TXT'/>
</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='I-D.selander-ace-coap-est-oscore'>
   <front>
      <title>Protecting EST Payloads with OSCORE</title>
      <author fullname='Goeran Selander'>
	 <organization>Ericsson AB</organization>
      </author>
      <author fullname='Shahid Raza'>
	 <organization>RISE</organization>
      </author>
      <author fullname='Martin Furuhed'>
	 <organization>Nexus</organization>
      </author>
      <author fullname='Malisa Vucinic'>
	 <organization>INRIA</organization>
      </author>
      <author fullname='Timothy Claeys'>
	 </author>
      <date day='5' month='May' year='2021'/>
      <abstract>
	 <t>   This document specifies public-key certificate enrollment procedures
   protected with lightweight application-layer security protocols
   suitable for Internet of Things (IoT) deployments.  The protocols
   leverage payload formats defined in Enrollment over Secure Transport
   (EST) and existing IoT standards including the Constrained
   Application Protocol (CoAP), Concise Binary Object Representation
   (CBOR) and the CBOR Object Signing and Encryption (COSE) format.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-selander-ace-coap-est-oscore-05'/>
   <format target='https://www.ietf.org/archive/id/draft-selander-ace-coap-est-oscore-05.txt' type='TXT'/>
</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="IEEE-802.1AR" >
  <front>
    <title>IEEE 802.1AR Secure Device Identifier</title>
    <author >
      <organization>Institute of Electrical and Electronics Engineers</organization>
    </author>
    <date year="2018" month="June"/>
  </front>
  <seriesInfo name="IEEE" value="802.1AR "/>
</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="OCPP" >
  <front>
    <title>Open Charge Point Protocol 2.0.1 (Draft)</title>
    <author >
      <organization>Open Charge Alliance</organization>
    </author>
    <date year="2019" month="December"/>
  </front>
</reference>


    </references>


<section anchor="app_history" title="History of changes [RFC Editor: please delete]">

<t>From IETF draft 02 -&gt; IETF draft 03:</t>

<t><list style="symbols">
  <t>Housekeeping, deleted open issue regarding YANG voucher-request
in <xref target="exchanges_uc2_1"/> as voucher-request was
enhanced with additional leaf.</t>
  <t>Included open issues in YANG model in <xref target="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 <xref target="exchanges_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 <xref target="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 <xref target="exchanges_uc2"/>.</t>
  <t>Details on trust relationship between registrar-agent and
pledge (issue #5) included in <xref target="uc2"/>.</t>
  <t>Split of use case 2 call flow into sub sections in <xref target="exchanges_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 in <xref target="uc2"/> 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="discovery_eo"/> 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="discovery_eo"/> 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 <xref target="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>

</section>


  </back>

<!-- ##markdown-source:
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
Q8HKKwmszAVgsdo1xz8z+olrwe6S7QUYLmhfX91AWJFXvm3NwKiqUMZND1NV
OE6S/b8pqiyGiitTEEX58RmwUBd0DJ18cwP1NzC4GJqFNcATsOkkEXh+7/E0
WYgV41LcQLRVo2Xj2rqbGWp1GM1d7aRQiFmZyEiP80L3vXfmjeVcLuWf19v4
9XkLpRhzs7ti7uAjcCsCDmMbwkuPc+NvGJg2Z0FnuUlmOxWsbw9v0d4v6mWJ
EfpBoJ75cprBOEy0YOtNV4LhuSqdqPQKGi3BXVs7L8G19E1nDfTPaeVwaJc1
wgZdDetoqQaGUyn37snZN90jeypIM0uHj3dJj/YrVkX8m35slWdZg8X8A3L8
gNTij5JZ/FESiz9KXvFHSSv+KFnFHyWp+KPkFP8tUop/Q0bxr5qM+uGJxfhh
Ss/VtcQoCvz3hsmSDvTxq/lf/dvatNRENmvPGPYEwpzja/1ZZwynTckYdrN/
jf4rf4cxAhzNr4fEwvw8bO5yKnX51w3WYnOYEynM4RgcWfHZyxJpsenMPpt5
m0HGO5vPA/+Eic3xfmw2hv3lZ+aS8LkEqdG/SmHOtWcbjnj3PIJPJy7rZzbx
OUnrZsREfq7bj3zNHzuGtLWiaJlxKNxrDP5zqOxrx/9i0zH6JcKdY9w3h3ft
n61na/N69zfP6420iw/P593fIJ/X9qjUjF6nRMaqmG8uU/nUIikv1KmD7JK2
ur3Gk4NTozCsb/rc1bHp1mdOaV9y10DlyYJ6uw4rz6taruaUIUvuCG5nRaug
SJLkJ2VgM4Ju7xpYoQ7HLYWm1IQi/WmnyS9R+cyoRPRtgx8DJfQtKlwnF7ZQ
Fza9ZXvOI3sZkW6ql8XbI/1RJHWqgTOS4Jxt3IJGtjUu1dzihtWdYj4d1ZMi
fLYnmxiKS/3K/DJLHYFJubMRwW4TI1HGbX4SabhRuwBqEkXf5f40cbnxJRf1
CuHv+Xdv3rzudJlQY7e4LNXr6zHObf22nDeOLHztW/TkY2/uMazbNY7TXg2b
5NKEec1Fvj1eNW09K5c7ucFRc9oM7UkQY8cwuffcaGk0fzF9K18tRt5nvHW6
yfCJadZJomA2GfJdA8o1N8y75qfp20PuMzqIbh8/aqeT+23MX9Fd7M7BdQbn
uay4RBqfCYY7e04l15rLqVpzhVabm2hQ1O4S5eQ5650KEkR5I+rxxAxhnwrS
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
ucchl8wBAA==

-->

</rfc>

