<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.23 (Ruby 3.2.3) -->
<?rfc compact="yes"?>
<?rfc iprnotified="no"?>
<?rfc strict="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-anima-brski-prm-18" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.27.0 -->
  <front>
    <title abbrev="BRSKI-PRM">BRSKI with Pledge in Responder Mode (BRSKI-PRM)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-anima-brski-prm-18"/>
    <author initials="S." surname="Fries" fullname="Steffen Fries">
      <organization abbrev="Siemens">Siemens AG</organization>
      <address>
        <postal>
          <street>Otto-Hahn-Ring 6</street>
          <city>Munich</city>
          <code>81739</code>
          <country>Germany</country>
        </postal>
        <email>steffen.fries@siemens.com</email>
        <uri>https://www.siemens.com/</uri>
      </address>
    </author>
    <author initials="T." surname="Werner" fullname="Thomas Werner">
      <organization abbrev="Siemens">Siemens AG</organization>
      <address>
        <postal>
          <street>Otto-Hahn-Ring 6</street>
          <city>Munich</city>
          <code>81739</code>
          <country>Germany</country>
        </postal>
        <email>thomas-werner@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>8304</code>
          <country>Switzerland</country>
        </postal>
        <phone>+41 44 878 9200</phone>
        <email>lear@cisco.com</email>
      </address>
    </author>
    <author initials="M." surname="Richardson" fullname="Michael C. Richardson">
      <organization>Sandelman Software Works</organization>
      <address>
        <email>mcr+ietf@sandelman.ca</email>
        <uri>http://www.sandelman.ca/</uri>
      </address>
    </author>
    <date year="2025"/>
    <area>Operations and Management</area>
    <workgroup>ANIMA WG</workgroup>
    <abstract>
      <?line 134?>

<t>This document defines enhancements to Bootstrapping a Remote Secure Key Infrastructure (BRSKI, RFC8995) to enable bootstrapping in domains featuring no or only limited connectivity between a pledge and the domain registrar.
It specifically changes the interaction model from a pledge-initiated mode, as used in BRSKI, to a pledge-responding mode, where the pledge is in server role.
For this, BRSKI with Pledge in Responder Mode (BRSKI-PRM) introduces new endpoints for the Domain Registrar and pledge, and a new component, the Registrar-Agent, which facilitates the communication between pledge and registrar during the bootstrapping phase.
To establish the trust relation between pledge and registrar, BRSKI-PRM relies on object security rather than transport security.
The approach defined here is agnostic to the enrollment protocol that connects the domain registrar to the Key Infrastructure (e.g., domain CA).</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-anima-brski-prm/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/anima-wg/anima-brski-prm"/>.</t>
    </note>
  </front>
  <middle>
    <?line 142?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>BRSKI as defined in <xref target="RFC8995"/> specifies a solution for secure zero-touch (automated) bootstrapping of devices (pledges) in a customer domain, which may be associated with a specific installation location.
This includes the discovery of the BRSKI registrar in the customer domain and the exchange of security information necessary to establish trust between a pledge and the domain.</t>
      <t>Security information about the customer domain, specifically the customer domain certificate, are exchanged and authenticated utilizing signed data objects, the voucher artifacts as defined in <xref target="RFC8995"/>.
In response to a voucher-request, the Manufacturer Authorized Signing Authority (MASA) issues the voucher and provides it via the domain registrar to the pledge.
<xref target="I-D.ietf-anima-rfc8366bis"/> specifies the format of the voucher artifacts, including the voucher-request artifact.</t>
      <t>For the certificate enrollment of devices, BRSKI relies on EST (Enrollment over Secure Transport, <xref target="RFC7030"/>) to request and distribute customer domain specific device certificates.
EST in turn relies for the authentication and authorization of the certification request on the credentials used by the underlying TLS between the EST client and the EST server.</t>
      <t>BRSKI addresses scenarios in which the pledge initiates the bootstrapping acting as client (referred to as initiator mode by this document).
BRSKI with Pledge in Responder Mode (BRSKI-PRM) defined in this document allows the pledge to act as server, so that it can be triggered externally and at a specific time to generate bootstrapping requests in the customer domain.
For this approach, this document:</t>
      <ul spacing="normal">
        <li>
          <t>defines additional endpoints for the domain registrar and new endpoints for the pledge to enable responder mode.</t>
        </li>
        <li>
          <t>introduces the Registrar-Agent as new component to facilitate the communication between the pledge and the domain registrar.
The Registrar-Agent may be implemented as an integrated functionality of a commissioning tool or be co-located with the domain registrar itself.
BRSKI-PRM supports the identification of the Registrar-Agent that was performing the bootstrapping allowing for accountability of the pledges installation, when the Registrar-Agent is a component used by an installer and not co-located with the domain registrar.</t>
        </li>
        <li>
          <t>specifies additional artifacts for the exchanges between a pledge acting as server, the Registrar-Agent acting as client, and the domain registrar acting as server toward the Registrar-Agent.</t>
        </li>
        <li>
          <t>allows the application of Registrar-Agent credentials to establish TLS connections to the domain registrar; these are different from the pledge IDevID credentials.</t>
        </li>
        <li>
          <t>also enables the usage of alternative transports, both IP-based and non-IP, between the pledge and the domain registrar via the Registrar-Agent;
security is addressed at the application layer through object security with an additional signature wrapping the exchanged artifacts.</t>
        </li>
      </ul>
      <t>The term endpoint used in the context of this document is equivalent to resource in HTTP <xref target="RFC9110"/> and CoAP <xref target="RFC7252"/>; it is not used to describe a device.
Endpoints are accessible via Well-Known URIs <xref target="RFC8615"/>.</t>
      <t>To utilize EST <xref target="RFC7030"/> for enrollment, the domain registrar performs pre-processing of the wrapping signature before actually using EST as defined in <xref target="RFC7030"/>.</t>
      <t>There may be pledges that can support both modes, initiator and responder mode.
In these cases BRSKI-PRM can be combined with BRSKI as defined in <xref target="RFC8995"/> or BRSKI-AE <xref target="I-D.ietf-anima-brski-ae"/> to allow for more bootstrapping flexibility.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This document relies on the terminology defined in <xref section="1.2" sectionFormat="of" target="RFC8995"/>.
The following terms are defined in addition:</t>
      <dl>
        <dt>authenticated self-contained object:</dt>
        <dd>
          <t>Describes a data object, which is cryptographically bound to the end entity (EE) certificate.
The binding is assumed to be provided through a digital signature of the actual object using the corresponding private key of the certificate.</t>
        </dd>
        <dt>CA:</dt>
        <dd>
          <t>Certification Authority.
An entity, which issues certificates and maintains certificate revocation information.</t>
        </dd>
        <dt>Commissioning tool:</dt>
        <dd>
          <t>Tool to interact with devices to provide configuration data.</t>
        </dd>
        <dt>CSR:</dt>
        <dd>
          <t>Certificate Signing Request.</t>
        </dd>
        <dt>EE:</dt>
        <dd>
          <t>End entity, as defined in <xref target="RFC9483"/>.
Typically, a device or service that owns a public-private key pair for which it manages a public key certificate.</t>
        </dd>
        <dt>EE certificate:</dt>
        <dd>
          <t>the certificate of the EE signed by its owner (e.g., CA).
For domain components, the EE certificate is signed by the domain owner.
For the pledge, the EE certificate is either the IDevID certificate signed by the manufacturer or the LDevID certificate signed by the domain owner or an application-specific EE certificate signed by the domain owner.</t>
        </dd>
        <dt>endpoint:</dt>
        <dd>
          <t>Term equivalent to resource in HTTP <xref target="RFC9110"/> and CoAP <xref target="RFC7252"/>.
Endpoints are accessible via Well-Known URIs <xref target="RFC8615"/>.</t>
        </dd>
        <dt>IDevID:</dt>
        <dd>
          <t>An Initial Device Identifier X.509 certificate installed by the vendor on new equipment.
This is a term from 802.1AR <xref target="IEEE-802.1AR"/>.</t>
        </dd>
        <dt>LDevID:</dt>
        <dd>
          <t>A Local Device Identifier X.509 certificate installed by the owner of the equipment.
This is a term from 802.1AR <xref target="IEEE-802.1AR"/>.</t>
        </dd>
        <dt>mTLS:</dt>
        <dd>
          <t>mutual Transport Layer Security.</t>
        </dd>
        <dt>PER:</dt>
        <dd>
          <t>Pledge Enroll-Request is a signature-wrapped CSR, signed by the pledge that requests enrollment to a domain via the Registrar-Agent.</t>
        </dd>
        <dt>POI:</dt>
        <dd>
          <t>Proof-of-Identity, as defined in <xref target="RFC5272"/>.</t>
        </dd>
        <dt>POP:</dt>
        <dd>
          <t>Proof-of-Possession (of a private key), as defined in <xref target="RFC5272"/>.</t>
        </dd>
        <dt>PVR:</dt>
        <dd>
          <t>Pledge Voucher-Request is a signature-wrapped voucher-request, signed by the pledge that sends it to the domain registrar via the Registrar-Agent.</t>
        </dd>
        <dt>RA:</dt>
        <dd>
          <t>Registration Authority, an optional system component to which a CA delegates certificate management functions such as authorization checks.
In BRSKI-PRM, this is a functionality of the domain registrar, as in BRSKI <xref target="RFC8995"/>.</t>
        </dd>
        <dt>Registrar_Agent:</dt>
        <dd>
          <t>Component facilitating the data exchange between a pledge in responder mode and a domain registrar.</t>
        </dd>
        <dt>RVR:</dt>
        <dd>
          <t>Registrar Voucher-Request is a signature-wrapped voucher-request, signed by the domain registrar that sends it to the MASA.
For BRSKI-PRM, it contains a copy of the original PVR received from the pledge.</t>
        </dd>
      </dl>
      <t>This document uses the following encoding notations in the given JWS-signed artifact examples:</t>
      <dl>
        <dt>BASE64(OCTETS):</dt>
        <dd>
          <t>Denotes the base64 encoding of an octet sequence using the character set defined in <xref section="4" sectionFormat="of" target="RFC4648"/> and without the inclusion of any line breaks, whitespace, or other additional characters.
Note that the base64 encoding of the empty octet sequence is the empty string.</t>
        </dd>
        <dt>BASE64URL(OCTETS):</dt>
        <dd>
          <t>Denotes the base64url encoding of an octet sequence, per <xref section="2" sectionFormat="of" target="RFC7515"/>.</t>
        </dd>
        <dt>UTF8(STRING):</dt>
        <dd>
          <t>Denotes the octet sequence of the UTF-8 <xref target="RFC3629"/> representation of STRING, per <xref section="1" sectionFormat="of" target="RFC7515"/>.</t>
        </dd>
      </dl>
      <t>This document includes many examples that would contain many long sequences of base64-encoded objects with no content directly comprehensible to a human reader.
In order to keep those examples short, they use the token <tt>base64encodedvalue==</tt> as a placeholder for base64 data.
The full base64 data is included in the appendices of this document.</t>
    </section>
    <section anchor="scope-of-solution">
      <name>Scope of Solution</name>
      <section anchor="sup-env">
        <name>Supported Environments and Use Case Examples</name>
        <t>BRSKI-PRM is applicable to scenarios where pledges may have no direct connection to the domain registrar, may have no continuous connection, or require coordination of the pledge requests to be provided to a domain registrar.</t>
        <t>This can be motivated by pledges deployed in environments not yet connected to the operational customer domain network, e.g., at a building construction site, or environments intentionally disconnected from the Internet, e.g., critical industrial facilities.
Another example is the assembly of electrical cabinets, which are prepared in advance before the installation at a customer domain.</t>
        <section anchor="building-automation">
          <name>Building Automation</name>
          <t>In building automation a typical use case exists where a detached building or the basement is equipped with sensors, actuators, and controllers, but with only limited or no connection to the central building management system.
This limited connectivity may exist during installation time or also during operation time.</t>
          <t>During the installation, for instance, a service technician collects the device-specific information from the basement network and provides them to the central building management system.
This could be done using a laptop, common mobile device, or dedicated commissioning tool to transport the information.
The service technician may successively collect device-specific information in different parts of the building before connecting to the domain registrar for bulk bootstrapping.</t>
          <t>A domain registrar may be part of the central building management system and already be operational in the installation network.
The central building management system can then provide operational parameters for the specific devices in the basement or other detached areas.
These operational parameters may comprise values and settings required in the operational phase of the sensors/actuators, among them a certificate issued by the operator to authenticate against other components and services.
These operational parameters are then provided to the devices in the basement facilitated by the service technician's laptop.
The Registrar-Agent, defined in this document, may be run on the technician's laptop to interact with pledges.</t>
        </section>
        <section anchor="infrastructure-isolation-policy">
          <name>Infrastructure Isolation Policy</name>
          <t>This refers to any case in which the 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 a domain registrar may be allowed in carefully controlled short periods of time, for example when a batch of new devices are deployed, but prohibited at other times.</t>
        </section>
        <section anchor="less-operational-security-in-the-target-domain">
          <name>Less Operational Security in the Target-Domain</name>
          <t>The registration authority (RA) performing the authorization of a certificate request is a critical PKI component and therefore requires higher operational security than other components utilizing the issued certificates.
CAs may also require higher security in the registration procedures.
There may be situations in which the customer domain does not offer enough physical security to operate an RA/CA and therefore this service is transferred to a backend that offers a higher level of operational security.</t>
        </section>
      </section>
      <section anchor="potential-limitations">
        <name>Potential Limitations</name>
        <t>The mechanism described in this document presumes the ability of the pledge and the Registrar-Agent to communicate with one another.
This may not be possible in constrained environments where, in particular, power must be conserved.
In these situations, it is anticipated that the transceiver will be powered down most of the time.
This presents a rendezvous problem: the pledge is unavailable for certain periods of time, and the Registrar-Agent is similarly presumed to be unavailable for certain periods of time.
To overcome this situation, the pledges may need to be powered on, either manually or by sending a trigger signal.</t>
      </section>
    </section>
    <section anchor="req-sol">
      <name>Requirements Discussion and Mapping to Solution-Elements</name>
      <t>Based on the intended target environment described in <xref target="sup-env"/>, the following boundary conditions are derived to support bootstrapping of pledges in responder mode (acting as server):</t>
      <ul spacing="normal">
        <li>
          <t>To facilitate the communication between a pledge in responder mode and the registrar, additional functionality is needed either on the registrar or as a stand-alone component.
This new functionality is defined as Registrar-Agent and acts as an agent of the registrar to trigger the pledge to generate requests for voucher and enrollment.
These requests are then provided by the Registrar-Agent to the registrar.
This requires the definition of pledge endpoints to allow interaction with the Registrar-Agent.</t>
        </li>
        <li>
          <t>The security of communication between the Registrar-Agent and the pledge must not rely on Transport Layer Security (TLS) to enable application of BRSKI-PRM in environments, in which the communication between the Registrar-Agent and the pledge is done over other technologies like BTLE or NFC, which may not support TLS protected communication.
In addition, the pledge does not have a certificate that can easily be verified by <xref target="RFC9525"/> methods.</t>
        </li>
        <li>
          <t>The use of authenticated self-contained objects addresses both, the TLS challenges and the technology stack challenge.</t>
        </li>
        <li>
          <t>By contrast, the Registrar-Agent can be authenticated by the registrar as a component, acting on behalf of the registrar.
In addition, the registrar must be able to verify, which Registrar-Agent was in direct contact with the pledge.</t>
        </li>
        <li>
          <t>It would be inaccurate for the voucher-request and voucher-response to use the assertion type <tt>proximity</tt> in the voucher, as the pledge was not in direct contact with the registrar for bootstrapping.
Therefore, a new assertion type is necessary for distinguishing assertions the MASA can state.</t>
        </li>
      </ul>
      <t>At least the following properties are required for the voucher and enrollment processing:</t>
      <ul spacing="normal">
        <li>
          <t>POI: provides data-origin authentication of an artifact, e.g., a voucher-request or an Enroll-Request, utilizing an existing IDevID.
Certificate updates may utilize the certificate that is to be updated.</t>
        </li>
        <li>
          <t>POP: proves that an entity possesses and controls the private key corresponding to the public key contained in the certification request, typically by adding a signature computed using the private key to the certification request.</t>
        </li>
      </ul>
      <t>Solution examples based on existing technology are provided with the focus on existing IETF RFCs:</t>
      <ul spacing="normal">
        <li>
          <t>Voucher-Requests and Vouchers as used in <xref target="RFC8995"/> already provide both, POP and POI, through a digital signature to protect the integrity of the voucher, while the corresponding signing certificate contains the identity of the signer.</t>
        </li>
        <li>
          <t>Enroll-Requests are data structures containing the information from a requester for a CA to create a certificate.
The certification request format in BRSKI is PKCS#10 <xref target="RFC2986"/>.
In PKCS#10, the structure is signed to ensure integrity protection and POP of the private key of the requester that corresponds to the contained public key.
In the application examples, this POP alone is not sufficient.
A POI is also required for the certification request and therefore the certification request needs to be additionally bound to the existing pledge IDevID credential.
This binding supports the authorization decision for the certification request and may be provided directly with the certification request.
While BRSKI uses the binding to TLS, BRSKI-PRM aims at an additional signature of the PKCS#10 using existing credentials on the pledge (IDevID). This allows the process to be independent of the selected transport.</t>
        </li>
      </ul>
    </section>
    <section anchor="architecture">
      <name>Solution Architecture</name>
      <section anchor="overview">
        <name>Overview</name>
        <t>For BRSKI with Pledge in Responder Mode (BRSKI-PRM), the base system architecture defined in BRSKI <xref target="RFC8995"/> is enhanced to facilitate new use cases in which the pledge acts as server.
The responder mode allows delegated bootstrapping using a Registrar-Agent instead of a direct connection between the pledge and the domain registrar.</t>
        <t>Necessary enhancements to support authenticated self-contained objects for certificate enrollment are kept at a minimum to enable reuse of already defined architecture elements and interactions.
The format of the bootstrapping objects produced or consumed by the pledge is usually based on JSON Web Signature (JWS) <xref target="RFC7515"/> and further specified in <xref target="exchanges"/> to address the requirements stated in <xref target="req-sol"/> above.
In constrained environments, it may be based on COSE <xref target="RFC9052"/>.</t>
        <t>An abstract overview of the BRSKI-PRM protocol can be found on slide 8 of <xref target="BRSKI-PRM-abstract"/>.</t>
        <t>To support mutual trust establishment between the domain registrar and pledges not directly connected to the customer domain, this document specifies the exchange of authenticated self-contained objects with the help of the Registrar-Agent.</t>
        <t>This leads to extensions of the logical components in the BRSKI architecture as shown in <xref target="uc2figure"/>.</t>
        <t>Note that the Join Proxy is not shown in the figure.
In certain situations the Join Proxy may still be present and could be used by the Registrar-Agent to connect to the Registrar.
For example, a Registrar-Agent application on a smartphone often can connect to local Wi-Fi without giving up their cellular network connection <xref target="androidnsd"/>, but only can make link-local connections.</t>
        <t>The Registrar-Agent interacts with the pledge to transfer the required data objects for bootstrapping, which are then also exchanged between the Registrar-Agent and the domain registrar.
The addition of the Registrar-Agent influences the sequences of the data exchange between the pledge and the domain registrar described in <xref target="RFC8995"/>.
To enable reuse of BRSKI defined functionality as much as possible, BRSKI-PRM:</t>
        <ul spacing="normal">
          <li>
            <t>uses existing endpoints where the required functionality is provided.</t>
          </li>
          <li>
            <t>enhances existing endpoints with new supported media types, e.g., for JWS voucher.</t>
          </li>
          <li>
            <t>defines new endpoints where additional functionality is required, e.g., for wrapped certification request, wrapped CA certificates, and new status information.</t>
          </li>
        </ul>
        <figure anchor="uc2figure">
          <name>BRSKI-PRM architecture overview using Registrar-Agent</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="464" width="456" viewBox="0 0 456 464" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,240 L 8,384" fill="none" stroke="black"/>
                <path d="M 80,240 L 80,384" fill="none" stroke="black"/>
                <path d="M 152,240 L 152,336" fill="none" stroke="black"/>
                <path d="M 208,32 L 208,144" fill="none" stroke="black"/>
                <path d="M 224,368 L 224,416" fill="none" stroke="black"/>
                <path d="M 256,240 L 256,336" fill="none" stroke="black"/>
                <path d="M 328,240 L 328,336" fill="none" stroke="black"/>
                <path d="M 336,64 L 336,144" fill="none" stroke="black"/>
                <path d="M 376,152 L 376,232" fill="none" stroke="black"/>
                <path d="M 376,336 L 376,368" fill="none" stroke="black"/>
                <path d="M 424,240 L 424,336" fill="none" stroke="black"/>
                <path d="M 424,368 L 424,416" fill="none" stroke="black"/>
                <path d="M 432,32 L 432,144" fill="none" stroke="black"/>
                <path d="M 208,32 L 432,32" fill="none" stroke="black"/>
                <path d="M 208,64 L 432,64" fill="none" stroke="black"/>
                <path d="M 208,144 L 432,144" fill="none" stroke="black"/>
                <path d="M 8,240 L 80,240" fill="none" stroke="black"/>
                <path d="M 152,240 L 256,240" fill="none" stroke="black"/>
                <path d="M 328,240 L 424,240" fill="none" stroke="black"/>
                <path d="M 88,304 L 144,304" fill="none" stroke="black"/>
                <path d="M 264,304 L 320,304" fill="none" stroke="black"/>
                <path d="M 152,336 L 256,336" fill="none" stroke="black"/>
                <path d="M 328,336 L 424,336" fill="none" stroke="black"/>
                <path d="M 224,368 L 424,368" fill="none" stroke="black"/>
                <path d="M 8,384 L 80,384" fill="none" stroke="black"/>
                <path d="M 224,416 L 424,416" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="384,232 372,226.4 372,237.6" fill="black" transform="rotate(90,376,232)"/>
                <polygon class="arrowhead" points="384,152 372,146.4 372,157.6" fill="black" transform="rotate(270,376,152)"/>
                <polygon class="arrowhead" points="328,304 316,298.4 316,309.6" fill="black" transform="rotate(0,320,304)"/>
                <polygon class="arrowhead" points="272,304 260,298.4 260,309.6" fill="black" transform="rotate(180,264,304)"/>
                <polygon class="arrowhead" points="152,304 140,298.4 140,309.6" fill="black" transform="rotate(0,144,304)"/>
                <polygon class="arrowhead" points="96,304 84,298.4 84,309.6" fill="black" transform="rotate(180,88,304)"/>
                <g class="text">
                  <text x="56" y="52">.....</text>
                  <text x="100" y="52">Drop</text>
                  <text x="140" y="52">Ship</text>
                  <text x="184" y="52">.....</text>
                  <text x="244" y="52">Vendor</text>
                  <text x="308" y="52">Services</text>
                  <text x="40" y="68">:</text>
                  <text x="40" y="84">:</text>
                  <text x="224" y="84">M</text>
                  <text x="280" y="84">anufacturer</text>
                  <text x="40" y="100">:</text>
                  <text x="224" y="100">A</text>
                  <text x="272" y="100">uthorized</text>
                  <text x="384" y="100">Ownership</text>
                  <text x="40" y="116">:</text>
                  <text x="224" y="116">S</text>
                  <text x="260" y="116">igning</text>
                  <text x="376" y="116">Tracker</text>
                  <text x="40" y="132">:</text>
                  <text x="224" y="132">A</text>
                  <text x="268" y="132">uthority</text>
                  <text x="40" y="148">:</text>
                  <text x="40" y="164">:</text>
                  <text x="40" y="180">:</text>
                  <text x="412" y="180">BRSKI-</text>
                  <text x="40" y="196">:</text>
                  <text x="404" y="196">MASA</text>
                  <text x="40" y="212">:</text>
                  <text x="248" y="212">...............................</text>
                  <text x="416" y="212">.........</text>
                  <text x="40" y="228">V</text>
                  <text x="128" y="228">.</text>
                  <text x="448" y="228">.</text>
                  <text x="128" y="244">.</text>
                  <text x="448" y="244">.</text>
                  <text x="128" y="260">.</text>
                  <text x="448" y="260">.</text>
                  <text x="44" y="276">Pledge</text>
                  <text x="116" y="276">BRSKI-</text>
                  <text x="204" y="276">Registrar-</text>
                  <text x="292" y="276">BRSKI-</text>
                  <text x="364" y="276">Domain</text>
                  <text x="448" y="276">.</text>
                  <text x="112" y="292">PRM</text>
                  <text x="184" y="292">Agent</text>
                  <text x="288" y="292">PRM</text>
                  <text x="376" y="292">Registrar</text>
                  <text x="448" y="292">.</text>
                  <text x="448" y="308">.</text>
                  <text x="128" y="324">.</text>
                  <text x="188" y="324">EE</text>
                  <text x="224" y="324">cert.</text>
                  <text x="356" y="324">EE</text>
                  <text x="392" y="324">cert.</text>
                  <text x="448" y="324">.</text>
                  <text x="128" y="340">.</text>
                  <text x="448" y="340">.</text>
                  <text x="44" y="356">IDevID</text>
                  <text x="128" y="356">.</text>
                  <text x="448" y="356">.</text>
                  <text x="128" y="372">.</text>
                  <text x="448" y="372">.</text>
                  <text x="128" y="388">.</text>
                  <text x="248" y="388">Key</text>
                  <text x="324" y="388">Infrastructure</text>
                  <text x="448" y="388">.</text>
                  <text x="128" y="404">.</text>
                  <text x="260" y="404">(e.g.,</text>
                  <text x="304" y="404">PKI</text>
                  <text x="336" y="404">CA)</text>
                  <text x="448" y="404">.</text>
                  <text x="128" y="420">.</text>
                  <text x="448" y="420">.</text>
                  <text x="288" y="436">.........................................</text>
                  <text x="260" y="452">Customer</text>
                  <text x="324" y="452">Domain</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
                         +---------------------------+
    ..... Drop Ship .....| Vendor Services           |
    :                    +---------------+-----------+
    :                    | M anufacturer |           |
    :                    | A uthorized   | Ownership |
    :                    | S igning      | Tracker   |
    :                    | A uthority    |           |
    :                    +---------------+-----------+
    :                                         ^
    :                                         | BRSKI-
    :                                         | MASA
    :          ...............................|.........
    V          .                              v        .
+--------+     .  +------------+        +-----------+  .
|        |     .  |            |        |           |  .
| Pledge | BRSKI- | Registrar- | BRSKI- | Domain    |  .
|        |  PRM   | Agent      |  PRM   | Registrar |  .
|        |<------>|            |<------>|           |  .
|        |     .  |   EE cert. |        |  EE cert. |  .
|        |     .  +------------+        +-----+-----+  .
| IDevID |     .                              |        .
|        |     .           +------------------+-----+  .
+--------+     .           | Key Infrastructure     |  .
               .           | (e.g., PKI CA)         |  .
               .           +------------------------+  .
               .........................................
                            Customer Domain
]]></artwork>
          </artset>
        </figure>
        <t><xref target="uc2figure"/> shows the relations between the following main components:</t>
        <ul spacing="normal">
          <li>
            <t>Pledge: Is expected to respond with the necessary data objects for bootstrapping to the Registrar-Agent.
The protocol used between the pledge and the Registrar-Agent is assumed to be HTTP(S) in the context of this document.
Any other protocol can be used as long as it supports the exchange of the necessary artifacts.
This includes CoAP or protocols to be used over Bluetooth or NFC connections.
A pledge acting as server leads to the following differences compared to BRSKI <xref target="RFC8995"/>:  </t>
            <ul spacing="normal">
              <li>
                <t>The pledge no longer initiates bootstrapping, but is discovered and triggered by the Registrar-Agent as defined in <xref target="discovery_uc2_ppa"/>.</t>
              </li>
              <li>
                <t>The pledge offers additional endpoints as defined in <xref target="pledge_component"/>, so that the Registrar-Agent can request data required for bootstrapping the pledge.</t>
              </li>
              <li>
                <t>The pledge includes additional data in the PVR, which is provided and signed by the Registrar-Agent as defined in <xref target="tpvr"/>.
This allows the registrar to identify with which Registrar-Agent the pledge was in contact (see <xref target="agt_prx"/>).</t>
              </li>
              <li>
                <t>The artifacts exchanged between the pledge and the registrar via the Registrar-Agent are authenticated self-contained objects (i.e., signature-wrapped artifacts).</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Registrar-Agent: Is a new component defined in <xref target="agent_component"/> that provides a store and forward communication path to exchange data objects between the pledge and the domain registrar.
This is for situations in which the domain registrar is not directly reachable by the pledge, which may be due to a different technology stacks or due to missing connectivity.
A Registrar-Agent acting as client leads to the following new aspects:  </t>
            <ul spacing="normal">
              <li>
                <t>The order of exchanges in the BRSKI-PRM call flow is different from that in BRSKI <xref target="RFC8995"/>, as the Registrar-Agent can trigger one or more pledges and collects the PVR and PER artifacts simultaneously as defined in <xref target="exchanges"/>.
This enables bulk bootstrapping of several devices.</t>
              </li>
              <li>
                <t>There is no trust assumption between the pledge and the Registrar-Agent as only authenticated self-contained objects are used, which are transported via the Registrar-Agent and provided either by the pledge or the domain registrar.</t>
              </li>
              <li>
                <t>The trust assumption between the Registrar-Agent and the domain registrar may be based on EE certificates that are both signed by the domain owner.</t>
              </li>
              <li>
                <t>The Registrar-Agent may be realized as stand-alone component supporting nomadic activities of a service technician moving between different installation sites.</t>
              </li>
              <li>
                <t>Alternatively, the Registrar-Agent may also be realized as co-located functionality for a registrar, to support pledges in responder mode.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Join Proxy (not shown): Has the same functionality as described in <xref target="RFC8995"/> if needed.
Note that a Registrar-Agent may use a join proxy to facilitate the TLS connection to the registrar in the same way that a BRSKI pledge would use a join proxy. This is useful in cases where the Registrar-Agent does not have full IP connectivity via the domain network or cases where it has no other means to locate the registrar on the network.</t>
          </li>
          <li>
            <t>Domain registrar: In general fulfills the same functionality regarding the bootstrapping of the pledge in a customer domain by facilitating the communication of the pledge with the MASA service and the domain key infrastructure (PKI).
However, there are also differences compared to BRSKI <xref target="RFC8995"/>:  </t>
            <ul spacing="normal">
              <li>
                <t>A BRSKI-PRM domain registrar does not interact with a pledge directly, but through the Registrar-Agent as defined in <xref target="exchanges"/>.</t>
              </li>
              <li>
                <t>A BRSKI-PRM domain registrar offers additional endpoints as defined in <xref target="registrar_component"/> to support the signature-wrapped artifacts used by BRSKI-PRM.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Vendor services: Encompass MASA and Ownership Tracker and are used as defined in <xref target="RFC8995"/>.
A MASA responsible for pledges that implement BRSKI-PRM is expected to support BRSKI-PRM extensions:  </t>
            <ul spacing="normal">
              <li>
                <t>The default format for voucher artifacts (incl. voucher-request) is JWS-signed JSON as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>
              </li>
              <li>
                <t>The Agent Proximity Assertion (see <xref target="agt_prx"/>) requires additional validation steps as defined in <xref target="masa_interaction"/>.</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="arch_nomadic">
        <name>Nomadic Connectivity</name>
        <t>In one example instance of the PRM architecture as shown in <xref target="uc3figure"/>, there is no connectivity between the location in which the pledge is installed and the location of the domain registrar.
This is often the case in the aforementioned building automation use case (<xref target="building-automation"/>).</t>
        <figure anchor="uc3figure">
          <name>Registrar-Agent nomadic connectivity example</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="496" width="464" viewBox="0 0 464 496" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 24,128 L 24,176" fill="none" stroke="black"/>
                <path d="M 96,128 L 96,176" fill="none" stroke="black"/>
                <path d="M 208,32 L 208,64" fill="none" stroke="black"/>
                <path d="M 224,400 L 224,448" fill="none" stroke="black"/>
                <path d="M 336,320 L 336,368" fill="none" stroke="black"/>
                <path d="M 384,72 L 384,312" fill="none" stroke="black"/>
                <path d="M 384,368 L 384,400" fill="none" stroke="black"/>
                <path d="M 432,32 L 432,64" fill="none" stroke="black"/>
                <path d="M 432,320 L 432,368" fill="none" stroke="black"/>
                <path d="M 432,400 L 432,448" fill="none" stroke="black"/>
                <path d="M 208,32 L 432,32" fill="none" stroke="black"/>
                <path d="M 208,64 L 432,64" fill="none" stroke="black"/>
                <path d="M 24,128 L 96,128" fill="none" stroke="black"/>
                <path d="M 104,160 L 184,160" fill="none" stroke="black"/>
                <path d="M 24,176 L 96,176" fill="none" stroke="black"/>
                <path d="M 336,320 L 432,320" fill="none" stroke="black"/>
                <path d="M 272,352 L 328,352" fill="none" stroke="black"/>
                <path d="M 336,368 L 432,368" fill="none" stroke="black"/>
                <path d="M 224,400 L 432,400" fill="none" stroke="black"/>
                <path d="M 224,448 L 432,448" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="392,312 380,306.4 380,317.6" fill="black" transform="rotate(90,384,312)"/>
                <polygon class="arrowhead" points="392,72 380,66.4 380,77.6" fill="black" transform="rotate(270,384,72)"/>
                <polygon class="arrowhead" points="336,352 324,346.4 324,357.6" fill="black" transform="rotate(0,328,352)"/>
                <polygon class="arrowhead" points="280,352 268,346.4 268,357.6" fill="black" transform="rotate(180,272,352)"/>
                <polygon class="arrowhead" points="192,160 180,154.4 180,165.6" fill="black" transform="rotate(0,184,160)"/>
                <polygon class="arrowhead" points="112,160 100,154.4 100,165.6" fill="black" transform="rotate(180,104,160)"/>
                <g class="text">
                  <text x="56" y="52">.....</text>
                  <text x="100" y="52">Drop</text>
                  <text x="140" y="52">Ship</text>
                  <text x="184" y="52">.....</text>
                  <text x="244" y="52">Vendor</text>
                  <text x="308" y="52">Services</text>
                  <text x="40" y="68">:</text>
                  <text x="40" y="84">:</text>
                  <text x="164" y="100">........................................</text>
                  <text x="8" y="116">.</text>
                  <text x="40" y="116">v</text>
                  <text x="320" y="116">.</text>
                  <text x="8" y="132">.</text>
                  <text x="248" y="132">.-.-.-.-.-.-.-.</text>
                  <text x="320" y="132">.</text>
                  <text x="8" y="148">.</text>
                  <text x="144" y="148">BRSKI-PRM</text>
                  <text x="192" y="148">:</text>
                  <text x="244" y="148">Registrar-</text>
                  <text x="304" y="148">:</text>
                  <text x="320" y="148">.</text>
                  <text x="8" y="164">.</text>
                  <text x="60" y="164">Pledge</text>
                  <text x="192" y="164">:</text>
                  <text x="224" y="164">Agent</text>
                  <text x="304" y="164">:</text>
                  <text x="320" y="164">.</text>
                  <text x="8" y="180">.</text>
                  <text x="116" y="180">L2</text>
                  <text x="140" y="180">or</text>
                  <text x="164" y="180">L3</text>
                  <text x="248" y="180">:-.-.-.-.-.-.-:</text>
                  <text x="320" y="180">.</text>
                  <text x="420" y="180">BRSKI-</text>
                  <text x="8" y="196">.</text>
                  <text x="140" y="196">connectivity</text>
                  <text x="216" y="196">^</text>
                  <text x="320" y="196">.</text>
                  <text x="412" y="196">MASA</text>
                  <text x="164" y="212">..........................!.............</text>
                  <text x="52" y="228">Pledge</text>
                  <text x="132" y="228">Installation</text>
                  <text x="216" y="228">!</text>
                  <text x="60" y="244">Location</text>
                  <text x="216" y="244">!</text>
                  <text x="256" y="244">Nomadic</text>
                  <text x="216" y="260">!</text>
                  <text x="276" y="260">connectivity</text>
                  <text x="216" y="276">!</text>
                  <text x="252" y="292">...........!....................</text>
                  <text x="424" y="292">.........</text>
                  <text x="128" y="308">.</text>
                  <text x="216" y="308">v</text>
                  <text x="456" y="308">.</text>
                  <text x="128" y="324">.</text>
                  <text x="208" y="324">.-.-.-.-.-.-.-.</text>
                  <text x="300" y="324">BRSKI-</text>
                  <text x="456" y="324">.</text>
                  <text x="128" y="340">.</text>
                  <text x="152" y="340">:</text>
                  <text x="204" y="340">Registrar-</text>
                  <text x="264" y="340">:</text>
                  <text x="296" y="340">PRM</text>
                  <text x="372" y="340">Domain</text>
                  <text x="456" y="340">.</text>
                  <text x="128" y="356">.</text>
                  <text x="152" y="356">:</text>
                  <text x="184" y="356">Agent</text>
                  <text x="264" y="356">:</text>
                  <text x="384" y="356">Registrar</text>
                  <text x="456" y="356">.</text>
                  <text x="128" y="372">.</text>
                  <text x="208" y="372">:-.-.-.-.-.-.-:</text>
                  <text x="456" y="372">.</text>
                  <text x="128" y="388">.</text>
                  <text x="456" y="388">.</text>
                  <text x="128" y="404">.</text>
                  <text x="456" y="404">.</text>
                  <text x="128" y="420">.</text>
                  <text x="248" y="420">Key</text>
                  <text x="324" y="420">Infrastructure</text>
                  <text x="456" y="420">.</text>
                  <text x="128" y="436">.</text>
                  <text x="260" y="436">(e.g.,</text>
                  <text x="304" y="436">PKI</text>
                  <text x="336" y="436">CA)</text>
                  <text x="456" y="436">.</text>
                  <text x="128" y="452">.</text>
                  <text x="456" y="452">.</text>
                  <text x="292" y="468">..........................................</text>
                  <text x="260" y="484">Customer</text>
                  <text x="324" y="484">Domain</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
                         +---------------------------+
    ..... Drop Ship .....| Vendor Services           |
    :                    +---------------------------+
    :                                          ^
........................................       |
.   v                                  .       |
. +--------+           .-.-.-.-.-.-.-. .       |
. |        | BRSKI-PRM : Registrar-  : .       |
. | Pledge |<--------->: Agent       : .       |
. +--------+ L2 or L3  :-.-.-.-.-.-.-: .       | BRSKI-
.          connectivity   ^            .       | MASA
..........................!.............       |
   Pledge Installation    !                    |
   Location               ! Nomadic            |
                          ! connectivity       |
                          !                    |
               ...........!....................|.........
               .          v                    v        .
               .  .-.-.-.-.-.-.-. BRSKI- +-----------+  .
               .  : Registrar-  :  PRM   | Domain    |  .
               .  : Agent       :<------>| Registrar |  .
               .  :-.-.-.-.-.-.-:        +-----+-----+  .
               .                               |        .
               .           +-------------------+-----+  .
               .           | Key Infrastructure      |  .
               .           | (e.g., PKI CA)          |  .
               .           +-------------------------+  .
               ..........................................
                            Customer Domain
]]></artwork>
          </artset>
        </figure>
        <t>PRM enables support of this case through nomadic connectivity of the Registrar-Agent.
To perform enrollment in this setup, multiple round trips of the Registrar-Agent between the pledge installation location and the domain registrar are required.</t>
        <ol spacing="normal" type="1"><li>
            <t>Connectivity to domain registrar: preparation tasks for pledge bootstrapping not part of the BRSKI-PRM protocol definition, like retrieval of list of pledges to enroll.</t>
          </li>
          <li>
            <t>Connectivity to pledge installation location: retrieve information about available pledges (IDevID), collect request objects (i.e., Pledge Voucher-Requests and Pledge Enroll-Requests using the BRSKI-PRM approach described in <xref target="tpvr"/> and <xref target="tper"/>).</t>
          </li>
          <li>
            <t>Connectivity to domain registrar, submit collected request information of pledges, retrieve response objects (i.e., Voucher and Enroll-Response) using the BRSKI-PRM approach described in <xref target="pvr"/> and <xref target="per"/>.</t>
          </li>
          <li>
            <t>Connectivity to pledge installation location, provide retrieved objects to the pledges to enroll pledges and collect status using the BRSKI-PRM approach described in <xref target="voucher"/>, <xref target="cacerts"/>, and <xref target="enroll_response"/>.</t>
          </li>
          <li>
            <t>Connectivity to domain registrar, submit Voucher Status and Enrollment Status using the BRSKI-PRM approach described in <xref target="vstatus"/> and <xref target="estatus"/>.</t>
          </li>
        </ol>
        <t>Variations of this setup include cases where the Registrar-Agent uses for example WiFi to connect to the pledge installation network, and mobile network connectivity to connect to the domain registrar.
Both connections may also be possible in a single location at the same time, based on installation building conditions.</t>
      </section>
      <section anchor="co-located-registrar-agent-and-domain-registrar">
        <name>Co-located Registrar-Agent and Domain Registrar</name>
        <t>Compared to <xref target="RFC8995"/> BRSKI, pledges supporting BRSKI-PRM can be completely passive and only need to react when being requested to react by a Registrar-Agent.
In <xref target="RFC8995"/>, pledges instead need to continuously interact with the domain registrar during onboarding, through discovery, voucher exchange, and enrollment. 
This may increase the load on the domain registrar, specifically, if a larger number of pledges onboards simultaneously.</t>
        <figure anchor="uc4figure">
          <name>Registrar-Agent integrated into Domain Registrar example</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="352" width="464" viewBox="0 0 464 352" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,160 L 8,208" fill="none" stroke="black"/>
                <path d="M 80,160 L 80,208" fill="none" stroke="black"/>
                <path d="M 200,32 L 200,64" fill="none" stroke="black"/>
                <path d="M 208,144 L 208,224" fill="none" stroke="black"/>
                <path d="M 216,256 L 216,288" fill="none" stroke="black"/>
                <path d="M 368,72 L 368,136" fill="none" stroke="black"/>
                <path d="M 368,224 L 368,256" fill="none" stroke="black"/>
                <path d="M 416,144 L 416,224" fill="none" stroke="black"/>
                <path d="M 416,256 L 416,288" fill="none" stroke="black"/>
                <path d="M 424,32 L 424,64" fill="none" stroke="black"/>
                <path d="M 200,32 L 424,32" fill="none" stroke="black"/>
                <path d="M 200,64 L 424,64" fill="none" stroke="black"/>
                <path d="M 208,144 L 416,144" fill="none" stroke="black"/>
                <path d="M 8,160 L 80,160" fill="none" stroke="black"/>
                <path d="M 88,192 L 200,192" fill="none" stroke="black"/>
                <path d="M 8,208 L 80,208" fill="none" stroke="black"/>
                <path d="M 208,224 L 416,224" fill="none" stroke="black"/>
                <path d="M 216,256 L 416,256" fill="none" stroke="black"/>
                <path d="M 216,288 L 416,288" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="376,136 364,130.4 364,141.6" fill="black" transform="rotate(90,368,136)"/>
                <polygon class="arrowhead" points="376,72 364,66.4 364,77.6" fill="black" transform="rotate(270,368,72)"/>
                <polygon class="arrowhead" points="208,192 196,186.4 196,197.6" fill="black" transform="rotate(0,200,192)"/>
                <polygon class="arrowhead" points="96,192 84,186.4 84,197.6" fill="black" transform="rotate(180,88,192)"/>
                <g class="text">
                  <text x="48" y="52">.....</text>
                  <text x="92" y="52">Drop</text>
                  <text x="132" y="52">Ship</text>
                  <text x="176" y="52">.....</text>
                  <text x="236" y="52">Vendor</text>
                  <text x="296" y="52">Service</text>
                  <text x="32" y="68">:</text>
                  <text x="32" y="84">:</text>
                  <text x="32" y="100">:</text>
                  <text x="420" y="100">BRSKI-MASA</text>
                  <text x="32" y="116">:</text>
                  <text x="240" y="116">...............................</text>
                  <text x="408" y="116">.........</text>
                  <text x="32" y="132">:</text>
                  <text x="120" y="132">.</text>
                  <text x="440" y="132">.</text>
                  <text x="32" y="148">v</text>
                  <text x="120" y="148">.</text>
                  <text x="440" y="148">.</text>
                  <text x="120" y="164">.</text>
                  <text x="156" y="164">BRSKI-</text>
                  <text x="268" y="164">..............</text>
                  <text x="440" y="164">.</text>
                  <text x="120" y="180">.</text>
                  <text x="152" y="180">PRM</text>
                  <text x="216" y="180">.</text>
                  <text x="268" y="180">Registrar-</text>
                  <text x="320" y="180">.</text>
                  <text x="356" y="180">Domain</text>
                  <text x="440" y="180">.</text>
                  <text x="44" y="196">Pledge</text>
                  <text x="216" y="196">.</text>
                  <text x="248" y="196">Agent</text>
                  <text x="320" y="196">.</text>
                  <text x="368" y="196">Registrar</text>
                  <text x="440" y="196">.</text>
                  <text x="100" y="212">L2</text>
                  <text x="124" y="212">or</text>
                  <text x="148" y="212">L3</text>
                  <text x="268" y="212">..............</text>
                  <text x="440" y="212">.</text>
                  <text x="140" y="228">connectivity</text>
                  <text x="440" y="228">.</text>
                  <text x="120" y="244">.</text>
                  <text x="440" y="244">.</text>
                  <text x="120" y="260">.</text>
                  <text x="440" y="260">.</text>
                  <text x="120" y="276">.</text>
                  <text x="240" y="276">Key</text>
                  <text x="316" y="276">Infrastructure</text>
                  <text x="440" y="276">.</text>
                  <text x="120" y="292">.</text>
                  <text x="440" y="292">.</text>
                  <text x="280" y="308">.........................................</text>
                  <text x="252" y="324">Customer</text>
                  <text x="316" y="324">Domain</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
                         +---------------------------+
    ..... Drop Ship .....| Vendor Service            |
    :                    +---------------------------+
    :                                         ^
    :                                         | BRSKI-MASA
    :          ...............................|.........
    :          .                              v        .
    v          .          +-------------------------+  .
 +--------+    . BRSKI-   |..............           |  .
 |        |    .  PRM     |. Registrar- . Domain    |  .
 | Pledge |<------------->|. Agent      . Registrar |  .
 +--------+ L2 or L3      |..............           |  .
            connectivity  +-------------------+-----+  .
               .                              |        .
               .           +------------------+-----+  .
               .           | Key Infrastructure     |  .
               .           +------------------------+  .
               .........................................
                            Customer Domain
]]></artwork>
          </artset>
        </figure>
        <t>The benefits of BRSKI-PRM can be achieved even without the operational complexity of stand-alone Registrar-Agents by integrating the necessary functionality of the Registrar-Agent as a module into the domain registrar as shown in <xref target="uc4figure"/> so that it can support the BRSKI-PRM communications to the pledge.</t>
      </section>
      <section anchor="agt_prx">
        <name>Agent Proximity Assertion</name>
        <t>"Agent proximity" is a statement in the PVR and the voucher that the registrar communicates via the Registrar-Agent as defined in <xref target="exchanges"/> and not directly to the pledge.
It is therefore a different assertion than "network proximity", which is defined in <xref section="3" sectionFormat="of" target="RFC8995"/>.
Hence, <xref target="I-D.ietf-anima-rfc8366bis"/> defines the additional assertion type <tt>agent-proximity</tt>.
This assertion type can be verified by the registrar and MASA during BRSKI-PRM voucher-request processing.</t>
        <t>In BRSKI, the pledge verifies POP of the registrar end-entity (EE) credentials via the TLS handshake and pins that public key as the <tt>proximity-registrar-cert</tt> into the voucher request.
This allows the MASA to verify the proximity of the pledge and registrar, facilitating a decision to assign the pledge to that domain owner.
In BRSKI, the TLS session is considered provisional until the pledge receives the voucher to verify POI.</t>
        <t>In contrast, in BRSKI-PRM the pledge has no direct connection to the registrar and <bcp14>MUST</bcp14> accept the supplied registrar EE certificate provisionally until it receives the voucher as described in <xref target="voucher"/> to verify both POP and POI.
The provisional registrar EE certificate is used for the object security along the authenticated self-contained objects that in BRSKI-PRM replace the direct TLS connection to the registrar available in BRSKI <xref target="RFC8995"/>.
See also <xref section="5" sectionFormat="of" target="RFC8995"/> on "provisional state".</t>
        <t>For the Agent Proximity Assertion, the Registrar-Agent EE certificate and registrar EE certificate must be signed by the same domain owner, i.e., <bcp14>MUST</bcp14> possess a common domain trust anchor in their certificate chain.
Akin to the Network Proximity Assertion in BRSKI <xref target="RFC8995"/>, the Agent Proximity Assertion provides pledge proximity evidence to the MASA.
But additionally, the Agent Proximity Assertion allows the domain registrar to be sure that the PVR supplied by the Registrar-Agent was in fact collected by the Registrar-Agent to which the registrar is connected by utilizing an agent-signed data object.</t>
      </section>
    </section>
    <section anchor="system-components">
      <name>System Components</name>
      <section anchor="agent_component">
        <name>Registrar-Agent</name>
        <t>The Registrar-Agent is a new component in BRSKI-PRM that provides a store and forward communication path with secure message passing between pledges in responder mode and the domain registrar.
It uses its own end-entity (EE) certificate and corresponding credentials (i.e., private key) for TLS client authentication and for signing agent-signed data objects.</t>
        <t>The Registrar-Agent EE certificate <bcp14>MUST</bcp14> include a SubjectKeyIdentifier as defined in <xref section="4.2.1.2" sectionFormat="of" target="RFC5280"/>, which is used as a reference within agent-signed data objects as defined in <xref target="jws-asd"/>.
Note that this is an additional requirement for issuing the Registrar-Agent EE certificate.
<xref target="RFC8995"/> has a similar requirement for the registrar EE certificate.</t>
        <t>The SubjectKeyIdentifier is used in favor of providing the complete Registrar-Agent EE certificate in agent-signed data objects to accommodate also constrained environments and reduce bandwidth needed for communication with the pledge.
In addition, it follows the recommendation from BRSKI to use SubjectKeyIdentifier in favor of a certificate fingerprint to avoid additional computations.</t>
        <t>The provisioning of the Registrar-Agent EE certificate is out of scope for this document, but may be done using its own BRSKI run or by other means such as configuration.
It is <bcp14>RECOMMENDED</bcp14> to use short-lived Registrar-Agent EE certificates in the range of days or weeks. 
This is to address the assumed nature of stand-alone Registrar-Agents as nomadic devices (see <xref target="arch_nomadic"/>) and to avoid potential misuse as outlined in <xref target="sec_cons_reg-agt"/>.</t>
        <t>Further, the Registrar-Agent requires the registrar EE certificate to provide it to the pledge.
It <bcp14>MAY</bcp14> use the certificate verified during server authentication within an initial TLS session with the registrar;
in this case, the Registrar-Agent <bcp14>MUST</bcp14> possess the domain trust anchor (i.e., CA certificate) for the registrar EE certificate to verify the certificate chain.
Alternatively, the registrar EE certificate <bcp14>MAY</bcp14> be provided via configuration or a repository.
The registrar IP address or hostname is provided either by configuration or by using the discovery mechanism defined in <xref target="RFC8995"/> (see <xref target="discovery_uc2_reg"/>).</t>
        <t>In addition to the certificates, the Registrar-Agent is provided with the product-serial-number(s) of the pledge(s) to be bootstrapped.
This is necessary to allow for the discovery of pledges by the Registrar-Agent using DNS-SD with mDNS (see <xref target="discovery_uc2_ppa"/>).
The list may be provided by prior administrative means or the Registrar-Agent may get the information via an (out-of-band) interaction with the pledge.
For instance, <xref target="RFC9238"/> describes scanning of a QR code, where the product-serial-number would be initialized from the 12N B005 Product Serial Number data record.</t>
        <t>In summary, the following information <bcp14>MUST</bcp14> be available at the Registrar-Agent before the interaction with a pledge:</t>
        <ul spacing="normal">
          <li>
            <t>Registrar-Agent EE certificate and corresponding private key: own operational credentials to authenticate and sign agent-signed data</t>
          </li>
          <li>
            <t>Registrar EE certificate: certificate of the domain registrar to be provided to the pledge</t>
          </li>
          <li>
            <t>Serial number(s): product-serial-number(s) of pledge(s) to be bootstrapped; used for discovery</t>
          </li>
        </ul>
        <t>Further, the Registrar-Agent <bcp14>SHOULD</bcp14> have synchronized time.</t>
        <t>Finally, the Registrar-Agent <bcp14>MAY</bcp14> possess the IDevID (root or issuing) CA certificate of the pledge manufacturer/vendor to validate the IDevID certificate on returned PVR or in case of optional TLS usage for pledge communication (see <xref target="pledgehttps"/>).
The distribution of IDevID CA certificates to the Registrar-Agent is out of scope of this document and may be done by a manual configuration.</t>
        <section anchor="discovery_uc2_reg">
          <name>Discovery of the Registrar</name>
          <t>While the Registrar-Agent requires the IP address of the domain registrar to initiate a TLS session, a separate discovery of the registrar is likely not needed and a configuration of the domain registrar IP address or hostname is assumed.
Registrar-Agent and registrar are domain components that already have a trust relation, as a Registrar-Agent acts as representative of the domain registrar towards the pledge or may even be collocated with the domain registrar.
Further, other communication (not part of this document) between the Registrar-Agent and the registrar is assumed, e.g., to exchange information about product-serial-number(s) of pledges to be discovered as outlined in <xref target="arch_nomadic"/>.</t>
          <t>Moreover, the standard discovery described in <xref section="4" sectionFormat="of" target="RFC8995"/> and the <xref section="A.2" sectionFormat="of" target="RFC8995"/> does not support identification of registrars with an enhanced feature set (like the support of BRSKI-PRM), and hence this standard discovery is not applicable.</t>
          <t>As a more general solution, the BRSKI discovery mechanism can be extended to provide upfront information on the capabilities of registrars, such as the mode of operation (pledge-responder-mode or registrar-responder-mode).
Defining discovery extensions is out of scope of this document.
For further discussion, see <xref target="I-D.ietf-anima-brski-discovery"/>.</t>
        </section>
        <section anchor="discovery_uc2_ppa">
          <name>Discovery of the Pledge</name>
          <t>The discovery of the pledge by the Registrar-Agent in the context of this document describes the minimum discovery approach that <bcp14>MUST</bcp14> be supported.
A more general discovery mechanism, also supporting GRASP besides DNS-SD with mDNS, is discussed in <xref target="I-D.ietf-anima-brski-discovery"/>.</t>
          <t>Discovery in BRSKI-PRM uses DNS-based Service Discovery <xref target="RFC6763"/> over Multicast DNS <xref target="RFC6762"/> to discover the pledge.
Note that <xref section="9" sectionFormat="of" target="RFC6762"/> provides support for conflict resolution in situations when a DNS-SD with mDNS responder receives an mDNS response with inconsistent data.
Note that <xref target="RFC8990"/> does not support conflict resolution of mDNS, which may be a limitation for its application.</t>
          <t>The pledge constructs a Service Instance Name based on device local information (manufacturer/vendor name and serial number), which results in <tt>&lt;product-serial-number&gt;._brski-pledge._tcp.local</tt>.
The product-serial-number composition is manufacturer dependent and may contain information regarding the manufacturer, the product type, and further information specific to the product instance.
To allow distinction of pledges, the product-serial-number therefore needs to be sufficiently unique.</t>
          <t>Note that this goes against the naming recommendation of <xref target="RFC6763"/>.
The <tt>_brski-pledge._tcp</tt> service, however, targets machine-to-machine discovery.</t>
          <t>In the absence of a more general discovery as defined in <xref target="I-D.ietf-anima-brski-discovery"/> the Registrar-Agent <bcp14>MUST</bcp14> use</t>
          <ul spacing="normal">
            <li>
              <t><tt>&lt;product-serial-number&gt;._brski-pledge._tcp.local</tt>, to discover a specific pledge, e.g., when connected to a local network.</t>
            </li>
            <li>
              <t><tt>_brski-pledge._tcp.local</tt> to get a list of pledges to be bootstrapped.</t>
            </li>
          </ul>
          <t>A manufacturer may allow the pledge to react on DNS-SD with mDNS discovery without its product-serial-number contained.
This allows a commissioning tool to discover pledges to be bootstrapped in the domain.
The manufacturer supports this functionality as outlined in <xref target="sec_cons_mDNS"/>.</t>
          <t>Establishing network connectivity of the pledge is out of scope of this document but necessary to apply DNS-SD with mDNS.
For Ethernet, it is provided by simply connecting the network cable.
For WiFi networks, connectivity can be provided by using a pre-agreed SSID for bootstrapping, e.g., as proposed in <xref target="I-D.richardson-emu-eap-onboarding"/>.
The same approach can be used by 6LoWPAN/mesh using a pre-agreed PAN ID.
How to gain network connectivity is out of scope of this document.</t>
        </section>
      </section>
      <section anchor="pledge_component">
        <name>Pledge in Responder Mode</name>
        <t>In BRSKI-PRM, the pledge is triggered by the Registrar-Agent to create the PVR and PER.
It is also triggered for processing of the responses and the generation of status information once the Registrar-Agent has received the responses from the registrar later in the process.</t>
        <t>To enable interaction as responder with the Registrar-Agent, pledges in responder mode <bcp14>MUST</bcp14> act as servers and <bcp14>MUST</bcp14> provide the endpoints defined in <xref target="pledge_ep_table"/> within the BRSKI-defined <tt>/.well-known/brski/</tt> URI path, except for the <bcp14>OPTIONAL</bcp14> endpoint "qps".
The endpoints are defined with short names to also accommodate for resource-constrained devices.</t>
        <table anchor="pledge_ep_table">
          <name>Well-Known Endpoints on a Pledge in Responder Mode</name>
          <thead>
            <tr>
              <th align="left">Endpoint</th>
              <th align="left">Operation</th>
              <th align="left">Exchange and Artifacts</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">tpvr</td>
              <td align="left">Trigger Pledge Voucher-Request</td>
              <td align="left">
                <xref target="tpvr"/></td>
            </tr>
            <tr>
              <td align="left">tper</td>
              <td align="left">Trigger Pledge Enroll-Request</td>
              <td align="left">
                <xref target="tper"/></td>
            </tr>
            <tr>
              <td align="left">svr</td>
              <td align="left">Supply Voucher to Pledge</td>
              <td align="left">
                <xref target="voucher"/></td>
            </tr>
            <tr>
              <td align="left">scac</td>
              <td align="left">Supply CA Certificates to Pledge</td>
              <td align="left">
                <xref target="cacerts"/></td>
            </tr>
            <tr>
              <td align="left">ser</td>
              <td align="left">Supply Enroll-Response to Pledge</td>
              <td align="left">
                <xref target="enroll_response"/></td>
            </tr>
            <tr>
              <td align="left">qps</td>
              <td align="left">Query Pledge Status</td>
              <td align="left">
                <xref target="query"/></td>
            </tr>
          </tbody>
        </table>
        <t>HTTP(S) uses the Host header field (or :authority in HTTP/2) to allow for name-based virtual hosting as explained in <xref section="7.2" sectionFormat="of" target="RFC9110"/>.
This header field is mandatory, and so a compliant HTTP(S) client is going to insert it, which may be just an IP address.
The pledge <bcp14>MUST</bcp14> respond to all requests regardless of the Host header field provided by the client (i.e., ignore it).
Note that there is no requirement for the pledge to operate its BRSKI-PRM service on port 80 or port 443, so there is no reason for name-based virtual hosting.</t>
        <t>For instance, when the Registrar-Agent reaches out to the "tpvr" endpoint on a pledge in responder mode with the full URI <tt>http://pledge.example.com/.well-known/brski/tpvr</tt>, it sets the Host header field to <tt>pledge.example.com</tt> and the absolute path <tt>/.well-known/brski/tpbr</tt>.
In practice, however, the pledge is usually known by a <tt>.local</tt> hostname or only its IP address as returned by a discovery protocol, which will be included in the Host header field.</t>
        <t>As BRSKI-PRM uses authenticated self-contained objects between the pledge and the domain registrar, the binding of the pledge identity to the voucher-requests is provided by the wrapping signature employing the pledge IDevID credential.
Hence, pledges <bcp14>MUST</bcp14> have an Initial Device Identifier (IDevID) installed in them at the factory.</t>
        <section anchor="pledge-with-combined-functionality">
          <name>Pledge with Combined Functionality</name>
          <t>Pledges <bcp14>MAY</bcp14> support both initiator and responder mode.</t>
          <t>A pledge in initiator mode should listen for announcement messages as described in <xref section="4.1" sectionFormat="of" target="RFC8995"/>.
Upon discovery of a potential registrar, it initiates the bootstrapping to that registrar.
At the same time (so as to avoid the Slowloris-like attack described in <xref target="RFC8995"/>), it <bcp14>SHOULD</bcp14> also respond to the triggers for responder mode described in this document.</t>
          <t>Once a pledge with combined functionality has been bootstrapped, it <bcp14>MAY</bcp14> act as client for enrollment of further certificates needed, e.g., using the enrollment protocol of choice.
If it still acts as server, the defined BRSKI-PRM endpoints to trigger a Pledge Enroll-Request (PER) or to provide an Enroll-Response can be used for further certificates.</t>
        </section>
      </section>
      <section anchor="registrar_component">
        <name>Domain Registrar</name>
        <t>In BRSKI-PRM, the domain registrar provides the endpoints already specified in <xref target="RFC8995"/> (derived from EST <xref target="RFC7030"/>) where suitable.
In addition, it <bcp14>MUST</bcp14> provide the endpoints defined in <xref target="registrar_ep_table"/> within the BRSKI-defined <tt>/.well-known/brski/</tt> Well-Known URI path.
These endpoints accommodate for the authenticated self-contained objects used by BRSKI-PRM to provide Pledge Enroll-Request (PER) artifacts and signature-wrapped CA certificates via the Registrar-Agent.</t>
        <table anchor="registrar_ep_table">
          <name>Additional Well-Known Endpoints on a BRSKI-PRM Registrar</name>
          <thead>
            <tr>
              <th align="left">Endpoint</th>
              <th align="left">Operation</th>
              <th align="left">Exchange and Artifacts</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">requestenroll</td>
              <td align="left">Supply PER to Registrar</td>
              <td align="left">
                <xref target="per"/></td>
            </tr>
            <tr>
              <td align="left">wrappedcacerts</td>
              <td align="left">Obtain CA Certificates</td>
              <td align="left">
                <xref target="obtain_cacerts"/></td>
            </tr>
          </tbody>
        </table>
        <t>The registrar possesses its own EE certificate and corresponding private key for authenticating and signing.
It <bcp14>MUST</bcp14> use the same certificate/credentials for authentication in the TLS session with a Registrar-Agent and for signing artifacts for that Registrar-Agent and its pledges (see <xref target="rcv_artifact"/>).
Overall, this may have operational implications when the registrar is part of a scalable framework as described in <xref section="1.3.1" sectionFormat="of" target="I-D.richardson-anima-registrar-considerations"/>.</t>
        <t>According to <xref section="5.3" sectionFormat="of" target="RFC8995"/>, the domain registrar performs the pledge authorization for bootstrapping within its domain based on the Pledge Voucher-Request.
For this, it <bcp14>MUST</bcp14> possess the IDevID trust anchor(s) (i.e., root or issuing CA certificate(s)) of the pledge vendor(s)/manufacturer(s).
This behavior is retained in BRSKI-PRM.</t>
        <t>In its role as EST server <xref target="RFC7030"/>, the domain registrar <bcp14>MUST</bcp14> also possess the domain CA certificates as defined in <xref section="5.9" sectionFormat="of" target="RFC8995"/>.</t>
        <t>Finally, the domain registrar <bcp14>MUST</bcp14> possess the Registrar-Agent EE certificate(s) to validate agent-signed data and to provide it to the MASA.
The registrar <bcp14>MAY</bcp14> use the certificate verified during client authentication within the TLS sessions with the Registrar-Agent;
in this case, the registrar <bcp14>MUST</bcp14> possess the domain trust anchor (i.e., domain CA certificate) for the Registrar-Agent EE certificate to verify the certificate chain.
Alternatively, the Registrar-Agent EE certificate(s) <bcp14>MAY</bcp14> be provided via configuration or a repository.</t>
        <section anchor="domain-registrar-with-combined-functionality">
          <name>Domain Registrar with Combined Functionality</name>
          <t>A registrar with combined BRSKI and BRSKI-PRM functionality <bcp14>MAY</bcp14> detect if the bootstrapping is performed by the pledge directly (BRSKI case) or by a Registrar-Agent (BRSKI-PRM case) based on the utilized credentials for client authentication during the TLS session establishment and switch the operational mode from BRSKI to BRSKI-PRM.</t>
          <t>This may be supported by a specific naming in the SAN (subject alternative name) component of the Registrar-Agent EE certificate, which allows the domain registrar to explicitly detect already in the TLS session establishment that the connecting client is a Registrar-Agent.</t>
          <t>The registrar <bcp14>MAY</bcp14> be restricted by configuration, if it accepts every Registrar-Agent, which can authenticate with a domain issued certificate or only explicitly authorized ones.</t>
          <t>Note that using an EE certificate for TLS client authentication of the Registrar-Agent is a deviation from <xref target="RFC8995"/>, in which the pledge IDevID certificate is used to perform TLS client authentication.</t>
        </section>
      </section>
      <section anchor="masa">
        <name>MASA</name>
        <t>The Manufacturer Authorized Signing Authority (MASA) is a vendor service that generates and signs voucher artifacts for pledges by the same vendor.
When these pledges support BRSKI-PRM, the MASA needs to implement the following functionality in addition to BRSKI <xref target="RFC8995"/>.</t>
        <t>A MASA for pledges in responder mode <bcp14>MUST</bcp14> support the voucher format defined in <xref target="I-D.ietf-anima-jws-voucher"/> to parse and process JWS-signed voucher-request artifacts and generate JWS-signed voucher artifacts.</t>
        <t>Further, a MASA for pledges in responder mode <bcp14>MUST</bcp14> support the Agent Proximity Assertion (see <xref target="agt_prx"/>) through the validation steps defined in <xref target="masa_interaction"/> based on the Pledge Voucher-Request (PVR) and Registrar Voucher-Request (RVR) artifact fields defined in <xref target="pvr_artifact"/> and <xref target="rvr_artifact"/>, respectively.</t>
      </section>
    </section>
    <section anchor="exchanges">
      <name>Exchanges and Artifacts</name>
      <t>The interaction of the pledge with the Registrar-Agent may be accomplished using different transports (i.e., protocols and/or network technologies).
This specification utilizes HTTP(S) as default transport.
Other specifications may define alternative transports such as CoAP, Bluetooth Low Energy (BLE), or Near Field Communication (NFC).
These transports may differ from and are independent of the ones used between the Registrar-Agent and the registrar.</t>
      <t>Transport independence is realized through authenticated self-contained objects that are not bound to a specific transport security and stay the same along the communication path from the pledge via the Registrar-Agent to the registrar.
<xref target="I-D.ietf-anima-rfc8366bis"/> defines CMS-signed JSON structures as format for artifacts representing authenticated self-contained objects.
This specification utilizes JWS-signed JSON structures as default format for BRSKI-PRM.
Other specifications may define alternative formats for representing authenticated self-contained objects such as COSE-signed CBOR structures.</t>
      <t><xref target="exchangesfig_uc2_all"/> provides an overview of the exchanges detailed in the following subsections.</t>
      <figure anchor="exchangesfig_uc2_all">
        <name>Overview pledge-responder-mode exchanges</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="1904" width="576" viewBox="0 0 576 1904" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
              <path d="M 16,88 L 16,192" fill="none" stroke="black"/>
              <path d="M 16,256 L 16,320" fill="none" stroke="black"/>
              <path d="M 16,384 L 16,448" fill="none" stroke="black"/>
              <path d="M 16,512 L 16,800" fill="none" stroke="black"/>
              <path d="M 16,864 L 16,960" fill="none" stroke="black"/>
              <path d="M 16,1024 L 16,1072" fill="none" stroke="black"/>
              <path d="M 16,1136 L 16,1200" fill="none" stroke="black"/>
              <path d="M 16,1264 L 16,1312" fill="none" stroke="black"/>
              <path d="M 16,1376 L 16,1440" fill="none" stroke="black"/>
              <path d="M 16,1504 L 16,1632" fill="none" stroke="black"/>
              <path d="M 16,1696 L 16,1744" fill="none" stroke="black"/>
              <path d="M 16,1808 L 16,1872" fill="none" stroke="black"/>
              <path d="M 80,32 L 80,80" fill="none" stroke="black"/>
              <path d="M 120,32 L 120,80" fill="none" stroke="black"/>
              <path d="M 168,88 L 168,192" fill="none" stroke="black"/>
              <path d="M 168,256 L 168,320" fill="none" stroke="black"/>
              <path d="M 168,384 L 168,448" fill="none" stroke="black"/>
              <path d="M 168,512 L 168,800" fill="none" stroke="black"/>
              <path d="M 168,864 L 168,960" fill="none" stroke="black"/>
              <path d="M 168,1024 L 168,1072" fill="none" stroke="black"/>
              <path d="M 168,1136 L 168,1200" fill="none" stroke="black"/>
              <path d="M 168,1264 L 168,1312" fill="none" stroke="black"/>
              <path d="M 168,1376 L 168,1440" fill="none" stroke="black"/>
              <path d="M 168,1504 L 168,1632" fill="none" stroke="black"/>
              <path d="M 168,1696 L 168,1744" fill="none" stroke="black"/>
              <path d="M 168,1808 L 168,1872" fill="none" stroke="black"/>
              <path d="M 224,32 L 224,80" fill="none" stroke="black"/>
              <path d="M 264,32 L 264,80" fill="none" stroke="black"/>
              <path d="M 312,88 L 312,192" fill="none" stroke="black"/>
              <path d="M 312,256 L 312,320" fill="none" stroke="black"/>
              <path d="M 312,384 L 312,448" fill="none" stroke="black"/>
              <path d="M 312,512 L 312,544" fill="none" stroke="black"/>
              <path d="M 312,592 L 312,624" fill="none" stroke="black"/>
              <path d="M 312,656 L 312,800" fill="none" stroke="black"/>
              <path d="M 312,864 L 312,960" fill="none" stroke="black"/>
              <path d="M 312,1024 L 312,1072" fill="none" stroke="black"/>
              <path d="M 312,1136 L 312,1200" fill="none" stroke="black"/>
              <path d="M 312,1264 L 312,1312" fill="none" stroke="black"/>
              <path d="M 312,1376 L 312,1440" fill="none" stroke="black"/>
              <path d="M 312,1504 L 312,1600" fill="none" stroke="black"/>
              <path d="M 312,1696 L 312,1744" fill="none" stroke="black"/>
              <path d="M 312,1808 L 312,1872" fill="none" stroke="black"/>
              <path d="M 360,32 L 360,80" fill="none" stroke="black"/>
              <path d="M 400,32 L 400,80" fill="none" stroke="black"/>
              <path d="M 456,88 L 456,192" fill="none" stroke="black"/>
              <path d="M 456,256 L 456,320" fill="none" stroke="black"/>
              <path d="M 456,384 L 456,448" fill="none" stroke="black"/>
              <path d="M 456,512 L 456,664" fill="none" stroke="black"/>
              <path d="M 456,784 L 456,800" fill="none" stroke="black"/>
              <path d="M 456,864 L 456,960" fill="none" stroke="black"/>
              <path d="M 456,1024 L 456,1072" fill="none" stroke="black"/>
              <path d="M 456,1136 L 456,1200" fill="none" stroke="black"/>
              <path d="M 456,1264 L 456,1312" fill="none" stroke="black"/>
              <path d="M 456,1376 L 456,1440" fill="none" stroke="black"/>
              <path d="M 456,1504 L 456,1544" fill="none" stroke="black"/>
              <path d="M 456,1600 L 456,1632" fill="none" stroke="black"/>
              <path d="M 456,1696 L 456,1744" fill="none" stroke="black"/>
              <path d="M 456,1808 L 456,1872" fill="none" stroke="black"/>
              <path d="M 472,32 L 472,80" fill="none" stroke="black"/>
              <path d="M 512,32 L 512,80" fill="none" stroke="black"/>
              <path d="M 560,88 L 560,192" fill="none" stroke="black"/>
              <path d="M 560,256 L 560,320" fill="none" stroke="black"/>
              <path d="M 560,384 L 560,448" fill="none" stroke="black"/>
              <path d="M 560,512 L 560,704" fill="none" stroke="black"/>
              <path d="M 560,752 L 560,800" fill="none" stroke="black"/>
              <path d="M 560,864 L 560,960" fill="none" stroke="black"/>
              <path d="M 560,1024 L 560,1072" fill="none" stroke="black"/>
              <path d="M 560,1136 L 560,1200" fill="none" stroke="black"/>
              <path d="M 560,1264 L 560,1312" fill="none" stroke="black"/>
              <path d="M 560,1376 L 560,1440" fill="none" stroke="black"/>
              <path d="M 560,1504 L 560,1632" fill="none" stroke="black"/>
              <path d="M 560,1696 L 560,1744" fill="none" stroke="black"/>
              <path d="M 560,1808 L 560,1872" fill="none" stroke="black"/>
              <path d="M 568,32 L 568,80" fill="none" stroke="black"/>
              <path d="M 8,32 L 80,32" fill="none" stroke="black"/>
              <path d="M 120,32 L 224,32" fill="none" stroke="black"/>
              <path d="M 264,32 L 360,32" fill="none" stroke="black"/>
              <path d="M 400,32 L 472,32" fill="none" stroke="black"/>
              <path d="M 512,32 L 568,32" fill="none" stroke="black"/>
              <path d="M 8,80 L 80,80" fill="none" stroke="black"/>
              <path d="M 120,80 L 224,80" fill="none" stroke="black"/>
              <path d="M 264,80 L 360,80" fill="none" stroke="black"/>
              <path d="M 400,80 L 472,80" fill="none" stroke="black"/>
              <path d="M 512,80 L 568,80" fill="none" stroke="black"/>
              <path d="M 24,160 L 160,160" fill="none" stroke="black"/>
              <path d="M 24,176 L 160,176" fill="none" stroke="black"/>
              <path d="M 24,272 L 56,272" fill="none" stroke="black"/>
              <path d="M 128,272 L 160,272" fill="none" stroke="black"/>
              <path d="M 24,288 L 72,288" fill="none" stroke="black"/>
              <path d="M 112,288 L 160,288" fill="none" stroke="black"/>
              <path d="M 24,304 L 80,304" fill="none" stroke="black"/>
              <path d="M 112,304 L 160,304" fill="none" stroke="black"/>
              <path d="M 24,400 L 56,400" fill="none" stroke="black"/>
              <path d="M 128,400 L 160,400" fill="none" stroke="black"/>
              <path d="M 24,416 L 72,416" fill="none" stroke="black"/>
              <path d="M 112,416 L 160,416" fill="none" stroke="black"/>
              <path d="M 24,432 L 80,432" fill="none" stroke="black"/>
              <path d="M 112,432 L 160,432" fill="none" stroke="black"/>
              <path d="M 176,528 L 216,528" fill="none" stroke="black"/>
              <path d="M 256,528 L 304,528" fill="none" stroke="black"/>
              <path d="M 176,608 L 224,608" fill="none" stroke="black"/>
              <path d="M 256,608 L 304,608" fill="none" stroke="black"/>
              <path d="M 320,672 L 416,672" fill="none" stroke="black"/>
              <path d="M 456,672 L 552,672" fill="none" stroke="black"/>
              <path d="M 320,688 L 424,688" fill="none" stroke="black"/>
              <path d="M 456,688 L 552,688" fill="none" stroke="black"/>
              <path d="M 320,768 L 408,768" fill="none" stroke="black"/>
              <path d="M 472,768 L 552,768" fill="none" stroke="black"/>
              <path d="M 176,784 L 208,784" fill="none" stroke="black"/>
              <path d="M 280,784 L 304,784" fill="none" stroke="black"/>
              <path d="M 176,880 L 216,880" fill="none" stroke="black"/>
              <path d="M 256,880 L 304,880" fill="none" stroke="black"/>
              <path d="M 176,896 L 224,896" fill="none" stroke="black"/>
              <path d="M 256,896 L 304,896" fill="none" stroke="black"/>
              <path d="M 320,912 L 344,912" fill="none" stroke="black"/>
              <path d="M 424,912 L 448,912" fill="none" stroke="black"/>
              <path d="M 320,928 L 336,928" fill="none" stroke="black"/>
              <path d="M 176,944 L 192,944" fill="none" stroke="black"/>
              <path d="M 288,944 L 304,944" fill="none" stroke="black"/>
              <path d="M 176,1040 L 216,1040" fill="none" stroke="black"/>
              <path d="M 256,1040 L 304,1040" fill="none" stroke="black"/>
              <path d="M 176,1056 L 208,1056" fill="none" stroke="black"/>
              <path d="M 272,1056 L 304,1056" fill="none" stroke="black"/>
              <path d="M 24,1152 L 56,1152" fill="none" stroke="black"/>
              <path d="M 128,1152 L 160,1152" fill="none" stroke="black"/>
              <path d="M 24,1168 L 64,1168" fill="none" stroke="black"/>
              <path d="M 136,1168 L 160,1168" fill="none" stroke="black"/>
              <path d="M 24,1184 L 64,1184" fill="none" stroke="black"/>
              <path d="M 128,1184 L 160,1184" fill="none" stroke="black"/>
              <path d="M 24,1280 L 56,1280" fill="none" stroke="black"/>
              <path d="M 128,1280 L 160,1280" fill="none" stroke="black"/>
              <path d="M 24,1296 L 64,1296" fill="none" stroke="black"/>
              <path d="M 128,1296 L 160,1296" fill="none" stroke="black"/>
              <path d="M 24,1392 L 56,1392" fill="none" stroke="black"/>
              <path d="M 128,1392 L 160,1392" fill="none" stroke="black"/>
              <path d="M 24,1408 L 48,1408" fill="none" stroke="black"/>
              <path d="M 144,1408 L 160,1408" fill="none" stroke="black"/>
              <path d="M 24,1424 L 56,1424" fill="none" stroke="black"/>
              <path d="M 120,1424 L 160,1424" fill="none" stroke="black"/>
              <path d="M 176,1520 L 216,1520" fill="none" stroke="black"/>
              <path d="M 256,1520 L 304,1520" fill="none" stroke="black"/>
              <path d="M 176,1536 L 208,1536" fill="none" stroke="black"/>
              <path d="M 272,1536 L 304,1536" fill="none" stroke="black"/>
              <path d="M 320,1552 L 416,1552" fill="none" stroke="black"/>
              <path d="M 456,1552 L 552,1552" fill="none" stroke="black"/>
              <path d="M 320,1568 L 352,1568" fill="none" stroke="black"/>
              <path d="M 520,1568 L 552,1568" fill="none" stroke="black"/>
              <path d="M 320,1584 L 368,1584" fill="none" stroke="black"/>
              <path d="M 504,1584 L 552,1584" fill="none" stroke="black"/>
              <path d="M 176,1712 L 216,1712" fill="none" stroke="black"/>
              <path d="M 256,1712 L 304,1712" fill="none" stroke="black"/>
              <path d="M 176,1728 L 208,1728" fill="none" stroke="black"/>
              <path d="M 272,1728 L 304,1728" fill="none" stroke="black"/>
              <path d="M 24,1824 L 56,1824" fill="none" stroke="black"/>
              <path d="M 128,1824 L 160,1824" fill="none" stroke="black"/>
              <path d="M 24,1840 L 64,1840" fill="none" stroke="black"/>
              <path d="M 128,1840 L 160,1840" fill="none" stroke="black"/>
              <path d="M 24,1856 L 64,1856" fill="none" stroke="black"/>
              <path d="M 128,1856 L 160,1856" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="560,1568 548,1562.4 548,1573.6" fill="black" transform="rotate(0,552,1568)"/>
              <polygon class="arrowhead" points="560,1552 548,1546.4 548,1557.6" fill="black" transform="rotate(0,552,1552)"/>
              <polygon class="arrowhead" points="560,688 548,682.4 548,693.6" fill="black" transform="rotate(0,552,688)"/>
              <polygon class="arrowhead" points="560,672 548,666.4 548,677.6" fill="black" transform="rotate(0,552,672)"/>
              <polygon class="arrowhead" points="456,912 444,906.4 444,917.6" fill="black" transform="rotate(0,448,912)"/>
              <polygon class="arrowhead" points="328,1584 316,1578.4 316,1589.6" fill="black" transform="rotate(180,320,1584)"/>
              <polygon class="arrowhead" points="328,1552 316,1546.4 316,1557.6" fill="black" transform="rotate(180,320,1552)"/>
              <polygon class="arrowhead" points="328,928 316,922.4 316,933.6" fill="black" transform="rotate(180,320,928)"/>
              <polygon class="arrowhead" points="328,768 316,762.4 316,773.6" fill="black" transform="rotate(180,320,768)"/>
              <polygon class="arrowhead" points="328,672 316,666.4 316,677.6" fill="black" transform="rotate(180,320,672)"/>
              <polygon class="arrowhead" points="312,1728 300,1722.4 300,1733.6" fill="black" transform="rotate(0,304,1728)"/>
              <polygon class="arrowhead" points="312,1712 300,1706.4 300,1717.6" fill="black" transform="rotate(0,304,1712)"/>
              <polygon class="arrowhead" points="312,1536 300,1530.4 300,1541.6" fill="black" transform="rotate(0,304,1536)"/>
              <polygon class="arrowhead" points="312,1520 300,1514.4 300,1525.6" fill="black" transform="rotate(0,304,1520)"/>
              <polygon class="arrowhead" points="312,1040 300,1034.4 300,1045.6" fill="black" transform="rotate(0,304,1040)"/>
              <polygon class="arrowhead" points="312,896 300,890.4 300,901.6" fill="black" transform="rotate(0,304,896)"/>
              <polygon class="arrowhead" points="312,880 300,874.4 300,885.6" fill="black" transform="rotate(0,304,880)"/>
              <polygon class="arrowhead" points="312,608 300,602.4 300,613.6" fill="black" transform="rotate(0,304,608)"/>
              <polygon class="arrowhead" points="312,528 300,522.4 300,533.6" fill="black" transform="rotate(0,304,528)"/>
              <polygon class="arrowhead" points="184,1712 172,1706.4 172,1717.6" fill="black" transform="rotate(180,176,1712)"/>
              <polygon class="arrowhead" points="184,1520 172,1514.4 172,1525.6" fill="black" transform="rotate(180,176,1520)"/>
              <polygon class="arrowhead" points="184,1056 172,1050.4 172,1061.6" fill="black" transform="rotate(180,176,1056)"/>
              <polygon class="arrowhead" points="184,1040 172,1034.4 172,1045.6" fill="black" transform="rotate(180,176,1040)"/>
              <polygon class="arrowhead" points="184,944 172,938.4 172,949.6" fill="black" transform="rotate(180,176,944)"/>
              <polygon class="arrowhead" points="184,880 172,874.4 172,885.6" fill="black" transform="rotate(180,176,880)"/>
              <polygon class="arrowhead" points="184,784 172,778.4 172,789.6" fill="black" transform="rotate(180,176,784)"/>
              <polygon class="arrowhead" points="184,528 172,522.4 172,533.6" fill="black" transform="rotate(180,176,528)"/>
              <polygon class="arrowhead" points="168,1856 156,1850.4 156,1861.6" fill="black" transform="rotate(0,160,1856)"/>
              <polygon class="arrowhead" points="168,1824 156,1818.4 156,1829.6" fill="black" transform="rotate(0,160,1824)"/>
              <polygon class="arrowhead" points="168,1424 156,1418.4 156,1429.6" fill="black" transform="rotate(0,160,1424)"/>
              <polygon class="arrowhead" points="168,1392 156,1386.4 156,1397.6" fill="black" transform="rotate(0,160,1392)"/>
              <polygon class="arrowhead" points="168,1280 156,1274.4 156,1285.6" fill="black" transform="rotate(0,160,1280)"/>
              <polygon class="arrowhead" points="168,1184 156,1178.4 156,1189.6" fill="black" transform="rotate(0,160,1184)"/>
              <polygon class="arrowhead" points="168,1152 156,1146.4 156,1157.6" fill="black" transform="rotate(0,160,1152)"/>
              <polygon class="arrowhead" points="168,432 156,426.4 156,437.6" fill="black" transform="rotate(0,160,432)"/>
              <polygon class="arrowhead" points="168,400 156,394.4 156,405.6" fill="black" transform="rotate(0,160,400)"/>
              <polygon class="arrowhead" points="168,304 156,298.4 156,309.6" fill="black" transform="rotate(0,160,304)"/>
              <polygon class="arrowhead" points="168,272 156,266.4 156,277.6" fill="black" transform="rotate(0,160,272)"/>
              <polygon class="arrowhead" points="168,176 156,170.4 156,181.6" fill="black" transform="rotate(0,160,176)"/>
              <polygon class="arrowhead" points="32,1840 20,1834.4 20,1845.6" fill="black" transform="rotate(180,24,1840)"/>
              <polygon class="arrowhead" points="32,1824 20,1818.4 20,1829.6" fill="black" transform="rotate(180,24,1824)"/>
              <polygon class="arrowhead" points="32,1408 20,1402.4 20,1413.6" fill="black" transform="rotate(180,24,1408)"/>
              <polygon class="arrowhead" points="32,1392 20,1386.4 20,1397.6" fill="black" transform="rotate(180,24,1392)"/>
              <polygon class="arrowhead" points="32,1296 20,1290.4 20,1301.6" fill="black" transform="rotate(180,24,1296)"/>
              <polygon class="arrowhead" points="32,1280 20,1274.4 20,1285.6" fill="black" transform="rotate(180,24,1280)"/>
              <polygon class="arrowhead" points="32,1168 20,1162.4 20,1173.6" fill="black" transform="rotate(180,24,1168)"/>
              <polygon class="arrowhead" points="32,1152 20,1146.4 20,1157.6" fill="black" transform="rotate(180,24,1152)"/>
              <polygon class="arrowhead" points="32,416 20,410.4 20,421.6" fill="black" transform="rotate(180,24,416)"/>
              <polygon class="arrowhead" points="32,400 20,394.4 20,405.6" fill="black" transform="rotate(180,24,400)"/>
              <polygon class="arrowhead" points="32,288 20,282.4 20,293.6" fill="black" transform="rotate(180,24,288)"/>
              <polygon class="arrowhead" points="32,272 20,266.4 20,277.6" fill="black" transform="rotate(180,24,272)"/>
              <polygon class="arrowhead" points="32,160 20,154.4 20,165.6" fill="black" transform="rotate(180,24,160)"/>
              <g class="text">
                <text x="44" y="52">Pledge</text>
                <text x="172" y="52">Registrar-</text>
                <text x="308" y="52">Domain</text>
                <text x="432" y="52">Key</text>
                <text x="540" y="52">MASA</text>
                <text x="168" y="68">Agent</text>
                <text x="312" y="68">Registrar</text>
                <text x="436" y="68">Infra.</text>
                <text x="516" y="100">Internet</text>
                <text x="92" y="116">discover</text>
                <text x="92" y="132">pledge</text>
                <text x="68" y="148">mDNS</text>
                <text x="112" y="148">query</text>
                <text x="16" y="212">~</text>
                <text x="168" y="212">~</text>
                <text x="312" y="212">~</text>
                <text x="456" y="212">~</text>
                <text x="560" y="212">~</text>
                <text x="16" y="228">(1)</text>
                <text x="64" y="228">Trigger</text>
                <text x="124" y="228">Pledge</text>
                <text x="216" y="228">Voucher-Request</text>
                <text x="16" y="244">~</text>
                <text x="168" y="244">~</text>
                <text x="312" y="244">~</text>
                <text x="456" y="244">~</text>
                <text x="560" y="244">~</text>
                <text x="76" y="276">opt.</text>
                <text x="112" y="276">TLS</text>
                <text x="92" y="292">tPVR</text>
                <text x="96" y="308">PVR</text>
                <text x="16" y="340">~</text>
                <text x="168" y="340">~</text>
                <text x="312" y="340">~</text>
                <text x="456" y="340">~</text>
                <text x="560" y="340">~</text>
                <text x="16" y="356">(2)</text>
                <text x="64" y="356">Trigger</text>
                <text x="124" y="356">Pledge</text>
                <text x="212" y="356">Enroll-Request</text>
                <text x="16" y="372">~</text>
                <text x="168" y="372">~</text>
                <text x="312" y="372">~</text>
                <text x="456" y="372">~</text>
                <text x="560" y="372">~</text>
                <text x="76" y="404">opt.</text>
                <text x="112" y="404">TLS</text>
                <text x="92" y="420">tPER</text>
                <text x="96" y="436">PER</text>
                <text x="16" y="468">~</text>
                <text x="168" y="468">~</text>
                <text x="312" y="468">~</text>
                <text x="456" y="468">~</text>
                <text x="560" y="468">~</text>
                <text x="16" y="484">(3)</text>
                <text x="60" y="484">Supply</text>
                <text x="104" y="484">PVR</text>
                <text x="132" y="484">to</text>
                <text x="184" y="484">Registrar</text>
                <text x="268" y="484">(including</text>
                <text x="332" y="484">MASA</text>
                <text x="404" y="484">interaction)</text>
                <text x="16" y="500">~</text>
                <text x="168" y="500">~</text>
                <text x="312" y="500">~</text>
                <text x="456" y="500">~</text>
                <text x="560" y="500">~</text>
                <text x="236" y="532">mTLS</text>
                <text x="308" y="564">[Registrar-Agent</text>
                <text x="308" y="580">authenticated&amp;authorized?]</text>
                <text x="240" y="612">PVR</text>
                <text x="280" y="644">[accept</text>
                <text x="348" y="644">device?]</text>
                <text x="436" y="676">mTLS</text>
                <text x="440" y="692">RVR</text>
                <text x="456" y="708">~</text>
                <text x="460" y="724">[extract</text>
                <text x="536" y="724">DomainID]</text>
                <text x="456" y="740">[update</text>
                <text x="532" y="740">audit-log]</text>
                <text x="456" y="756">~</text>
                <text x="440" y="772">Voucher</text>
                <text x="244" y="788">Voucher'</text>
                <text x="16" y="820">~</text>
                <text x="168" y="820">~</text>
                <text x="312" y="820">~</text>
                <text x="456" y="820">~</text>
                <text x="560" y="820">~</text>
                <text x="16" y="836">(4)</text>
                <text x="60" y="836">Supply</text>
                <text x="104" y="836">PER</text>
                <text x="132" y="836">to</text>
                <text x="184" y="836">Registrar</text>
                <text x="268" y="836">(including</text>
                <text x="328" y="836">Key</text>
                <text x="404" y="836">Infrastructure</text>
                <text x="516" y="836">interaction)</text>
                <text x="16" y="852">~</text>
                <text x="168" y="852">~</text>
                <text x="312" y="852">~</text>
                <text x="456" y="852">~</text>
                <text x="560" y="852">~</text>
                <text x="236" y="884">mTLS</text>
                <text x="240" y="900">PER</text>
                <text x="384" y="916">[Request]</text>
                <text x="396" y="932">[Certificate]-</text>
                <text x="240" y="948">Enroll-Resp</text>
                <text x="16" y="980">~</text>
                <text x="168" y="980">~</text>
                <text x="312" y="980">~</text>
                <text x="456" y="980">~</text>
                <text x="560" y="980">~</text>
                <text x="16" y="996">(5)</text>
                <text x="60" y="996">Obtain</text>
                <text x="100" y="996">CA</text>
                <text x="164" y="996">Certificates</text>
                <text x="16" y="1012">~</text>
                <text x="168" y="1012">~</text>
                <text x="312" y="1012">~</text>
                <text x="456" y="1012">~</text>
                <text x="560" y="1012">~</text>
                <text x="236" y="1044">mTLS</text>
                <text x="240" y="1060">caCerts</text>
                <text x="16" y="1092">~</text>
                <text x="168" y="1092">~</text>
                <text x="312" y="1092">~</text>
                <text x="456" y="1092">~</text>
                <text x="560" y="1092">~</text>
                <text x="16" y="1108">(6)</text>
                <text x="60" y="1108">Supply</text>
                <text x="120" y="1108">Voucher</text>
                <text x="164" y="1108">to</text>
                <text x="204" y="1108">Pledge</text>
                <text x="16" y="1124">~</text>
                <text x="168" y="1124">~</text>
                <text x="312" y="1124">~</text>
                <text x="456" y="1124">~</text>
                <text x="560" y="1124">~</text>
                <text x="76" y="1156">opt.</text>
                <text x="112" y="1156">TLS</text>
                <text x="100" y="1172">Voucher'</text>
                <text x="96" y="1188">vStatus</text>
                <text x="16" y="1220">~</text>
                <text x="168" y="1220">~</text>
                <text x="312" y="1220">~</text>
                <text x="456" y="1220">~</text>
                <text x="560" y="1220">~</text>
                <text x="16" y="1236">(7)</text>
                <text x="60" y="1236">Supply</text>
                <text x="100" y="1236">CA</text>
                <text x="164" y="1236">Certificates</text>
                <text x="228" y="1236">to</text>
                <text x="268" y="1236">Pledge</text>
                <text x="16" y="1252">~</text>
                <text x="168" y="1252">~</text>
                <text x="312" y="1252">~</text>
                <text x="456" y="1252">~</text>
                <text x="560" y="1252">~</text>
                <text x="76" y="1284">opt.</text>
                <text x="112" y="1284">TLS</text>
                <text x="96" y="1300">caCerts</text>
                <text x="16" y="1332">~</text>
                <text x="168" y="1332">~</text>
                <text x="312" y="1332">~</text>
                <text x="456" y="1332">~</text>
                <text x="560" y="1332">~</text>
                <text x="16" y="1348">(8)</text>
                <text x="60" y="1348">Supply</text>
                <text x="152" y="1348">Enroll-Response</text>
                <text x="228" y="1348">to</text>
                <text x="268" y="1348">Pledge</text>
                <text x="16" y="1364">~</text>
                <text x="168" y="1364">~</text>
                <text x="312" y="1364">~</text>
                <text x="456" y="1364">~</text>
                <text x="560" y="1364">~</text>
                <text x="76" y="1396">opt.</text>
                <text x="112" y="1396">TLS</text>
                <text x="96" y="1412">Enroll-Resp</text>
                <text x="88" y="1428">eStatus</text>
                <text x="16" y="1460">~</text>
                <text x="168" y="1460">~</text>
                <text x="312" y="1460">~</text>
                <text x="456" y="1460">~</text>
                <text x="560" y="1460">~</text>
                <text x="16" y="1476">(9)</text>
                <text x="64" y="1476">Voucher</text>
                <text x="124" y="1476">Status</text>
                <text x="192" y="1476">Telemetry</text>
                <text x="276" y="1476">(including</text>
                <text x="352" y="1476">backend</text>
                <text x="436" y="1476">interaction)</text>
                <text x="16" y="1492">~</text>
                <text x="168" y="1492">~</text>
                <text x="312" y="1492">~</text>
                <text x="456" y="1492">~</text>
                <text x="560" y="1492">~</text>
                <text x="236" y="1524">mTLS</text>
                <text x="240" y="1540">vStatus</text>
                <text x="436" y="1556">mTLS</text>
                <text x="368" y="1572">req</text>
                <text x="412" y="1572">device</text>
                <text x="480" y="1572">audit-log</text>
                <text x="396" y="1588">device</text>
                <text x="464" y="1588">audit-log</text>
                <text x="264" y="1620">[verify</text>
                <text x="340" y="1620">audit-log]</text>
                <text x="312" y="1636">|</text>
                <text x="16" y="1652">~</text>
                <text x="168" y="1652">~</text>
                <text x="312" y="1652">~</text>
                <text x="456" y="1652">~</text>
                <text x="560" y="1652">~</text>
                <text x="20" y="1668">(10)</text>
                <text x="68" y="1668">Enroll</text>
                <text x="124" y="1668">Status</text>
                <text x="192" y="1668">Telemetry</text>
                <text x="16" y="1684">~</text>
                <text x="168" y="1684">~</text>
                <text x="312" y="1684">~</text>
                <text x="456" y="1684">~</text>
                <text x="560" y="1684">~</text>
                <text x="236" y="1716">mTLS</text>
                <text x="240" y="1732">eStatus</text>
                <text x="16" y="1764">~</text>
                <text x="168" y="1764">~</text>
                <text x="312" y="1764">~</text>
                <text x="456" y="1764">~</text>
                <text x="560" y="1764">~</text>
                <text x="20" y="1780">(11)</text>
                <text x="64" y="1780">Query</text>
                <text x="116" y="1780">Pledge</text>
                <text x="172" y="1780">Status</text>
                <text x="16" y="1796">~</text>
                <text x="168" y="1796">~</text>
                <text x="312" y="1796">~</text>
                <text x="456" y="1796">~</text>
                <text x="560" y="1796">~</text>
                <text x="76" y="1828">opt.</text>
                <text x="112" y="1828">TLS</text>
                <text x="96" y="1844">tStatus</text>
                <text x="96" y="1860">pStatus</text>
                <text x="16" y="1892">~</text>
                <text x="168" y="1892">~</text>
                <text x="312" y="1892">~</text>
                <text x="456" y="1892">~</text>
                <text x="560" y="1892">~</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 |     discover     |                 |                 |            |
 |      pledge      |                 |                 |            |
 |    mDNS query    |                 |                 |            |
 |<-----------------|                 |                 |            |
 |----------------->|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(1) Trigger Pledge Voucher-Request
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<------tPVR-------|                 |                 |            |
 |--------PVR------>|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(2) Trigger Pledge Enroll-Request
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<------tPER-------|                 |                 |            |
 |--------PER------>|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(3) Supply PVR to Registrar (including MASA interaction)
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<-----mTLS------>|                 |            |
 |                  |                 |                 |            |
 |                  |         [Registrar-Agent          |            |
 |                  |    authenticated&authorized?]     |            |
 |                  |                 |                 |            |
 |                  |-------PVR------>|                 |            |
 |                  |                 |                 |            |
 |                  |          [accept device?]         |            |
 |                  |                 |                 |            |
 |                  |                 |<------------mTLS------------>|
 |                  |                 |--------------RVR------------>|
 |                  |                 |                 ~            |
 |                  |                 |              [extract DomainID]
 |                  |                 |              [update audit-log]
 |                  |                 |                 ~            |
 |                  |                 |<-----------Voucher-----------|
 |                  |<----Voucher''---|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(4) Supply PER to Registrar (including Key Infrastructure interaction)
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<---((mTLS))---->|                 |            |
 |                  |-------PER------>|                 |            |
 |                  |                 |----[Request]--->|            |
 |                  |                 |<--[Certificate]-|            |
 |                  |<--Enroll-Resp---|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(5) Obtain CA Certificates
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<----(mTLS)----->|                 |            |
 |                  |<----caCerts-----|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(6) Supply Voucher to Pledge
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<-----Voucher''---|                 |                 |            |
 |------vStatus---->|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(7) Supply CA Certificates to Pledge
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<-----caCerts-----|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(8) Supply Enroll-Response to Pledge
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<---Enroll-Resp---|                 |                 |            |
 |-----eStatus----->|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(9) Voucher Status Telemetry (including backend interaction)
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<----(mTLS)----->|                 |            |
 |                  |-----vStatus---->|                 |            |
 |                  |                 |<-----------(mTLS)----------->|
 |                  |                 |-----req device audit-log---->|
 |                  |                 |<------device audit-log-------|
 |                  |                 |                 |            |
 |                  |        [verify audit-log]         |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(10) Enroll Status Telemetry
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<----(mTLS)----->|                 |            |
 |                  |-----eStatus---->|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(11) Query Pledge Status
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<-----tStatus-----|                 |                 |            |
 |------pStatus---->|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
        </artset>
      </figure>
      <t>The following subsections split the interactions shown in <xref target="exchangesfig_uc2_all"/> between the different components into:</t>
      <ol spacing="normal" type="1"><li>
          <t><xref target="tpvr"/> describes the acquisition exchange for the Pledge Voucher-Request initiated by the Registrar-Agent to the pledge.</t>
        </li>
        <li>
          <t><xref target="tper"/> describes the acquisition exchange for the Pledge Enroll-Request initiated by the Registrar-Agent to the pledge.</t>
        </li>
        <li>
          <t><xref target="pvr"/> describes the issuing exchange for the Voucher initiated by the Registrar-Agent to the registrar, including the interaction of the registrar with the MASA using the RVR <xref target="rvr_artifact"/>, as well as the artifact processing by these entities.</t>
        </li>
        <li>
          <t><xref target="per"/> describes the enroll exchange initiated by the Registrar-Agent to the registrar including the interaction of the registrar with the CA using the PER as well as the artifact processing by these entities.</t>
        </li>
        <li>
          <t><xref target="obtain_cacerts"/> describes the retrieval exchange for the optional CA certificate provisioning to the pledge initiated by the Registrar-Agent to the CA.</t>
        </li>
        <li>
          <t><xref target="voucher"/> describes the Voucher exchange initiated by the Registrar-Agent to the pledge and the returned status information.</t>
        </li>
        <li>
          <t><xref target="cacerts"/> describes the CA certificate exchange initiated by the Registrar-Agent to the pledge.</t>
        </li>
        <li>
          <t><xref target="enroll_response"/> describes the Enroll-Response exchange initiated by the Registrar-Agent to the pledge (containing a new pledge EE certificate) and the returned status information.</t>
        </li>
        <li>
          <t><xref target="vstatus"/> describes the Voucher Status telemetry exchange initiated by the Registrar-Agent to the registrar, including the interaction of the registrar with the MASA.</t>
        </li>
        <li>
          <t><xref target="estatus"/> describes the Enroll Status telemetry exchange initiated by the Registrar-Agent to the registrar.</t>
        </li>
        <li>
          <t><xref target="query"/> describes the Pledge Status exchange about the general bootstrapping state initiated by the Registrar-Agent to the pledge.</t>
        </li>
      </ol>
      <section anchor="tpvr">
        <name>Trigger Pledge Voucher-Request</name>
        <t>The Registrar-Agent <bcp14>MUST</bcp14> begin the sequence of exchanges by sending the Pledge Voucher-Request Trigger (tPVR).
This assumes that the Registrar-Agent has already discovered the pledge, for instance as described in <xref target="discovery_uc2_ppa"/> based on DNS-SD or similar.</t>
        <t>Optionally, TLS <bcp14>MAY</bcp14> be used to provide transport security, e.g., privacy and peer authentication, for the exchange between the Registrar-Agent and the pledge (see <xref target="pledgehttps"/>).</t>
        <t><xref target="exchangesfig_uc2_1"/> shows the acquisition of the Pledge Voucher-Request (PVR) and the following subsections describe the corresponding artifacts.</t>
        <figure anchor="exchangesfig_uc2_1">
          <name>PVR acquisition exchange</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="576" viewBox="0 0 576 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
                <path d="M 16,160 L 16,224" fill="none" stroke="black"/>
                <path d="M 80,32 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,32 L 120,80" fill="none" stroke="black"/>
                <path d="M 168,160 L 168,224" fill="none" stroke="black"/>
                <path d="M 224,32 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,32 L 264,80" fill="none" stroke="black"/>
                <path d="M 312,160 L 312,224" fill="none" stroke="black"/>
                <path d="M 360,32 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,32 L 400,80" fill="none" stroke="black"/>
                <path d="M 456,160 L 456,224" fill="none" stroke="black"/>
                <path d="M 472,32 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,32 L 512,80" fill="none" stroke="black"/>
                <path d="M 560,160 L 560,224" fill="none" stroke="black"/>
                <path d="M 568,32 L 568,80" fill="none" stroke="black"/>
                <path d="M 8,32 L 80,32" fill="none" stroke="black"/>
                <path d="M 120,32 L 224,32" fill="none" stroke="black"/>
                <path d="M 264,32 L 360,32" fill="none" stroke="black"/>
                <path d="M 400,32 L 472,32" fill="none" stroke="black"/>
                <path d="M 512,32 L 568,32" fill="none" stroke="black"/>
                <path d="M 8,80 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,80 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,80 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,80 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,80 L 568,80" fill="none" stroke="black"/>
                <path d="M 24,176 L 56,176" fill="none" stroke="black"/>
                <path d="M 128,176 L 160,176" fill="none" stroke="black"/>
                <path d="M 24,192 L 72,192" fill="none" stroke="black"/>
                <path d="M 112,192 L 160,192" fill="none" stroke="black"/>
                <path d="M 24,208 L 80,208" fill="none" stroke="black"/>
                <path d="M 112,208 L 160,208" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="168,208 156,202.4 156,213.6" fill="black" transform="rotate(0,160,208)"/>
                <polygon class="arrowhead" points="168,176 156,170.4 156,181.6" fill="black" transform="rotate(0,160,176)"/>
                <polygon class="arrowhead" points="32,192 20,186.4 20,197.6" fill="black" transform="rotate(180,24,192)"/>
                <polygon class="arrowhead" points="32,176 20,170.4 20,181.6" fill="black" transform="rotate(180,24,176)"/>
                <g class="text">
                  <text x="44" y="52">Pledge</text>
                  <text x="172" y="52">Registrar-</text>
                  <text x="308" y="52">Domain</text>
                  <text x="432" y="52">Key</text>
                  <text x="540" y="52">MASA</text>
                  <text x="168" y="68">Agent</text>
                  <text x="312" y="68">Registrar</text>
                  <text x="436" y="68">Infra.</text>
                  <text x="16" y="100">|</text>
                  <text x="168" y="100">|</text>
                  <text x="312" y="100">|</text>
                  <text x="456" y="100">|</text>
                  <text x="516" y="100">Internet</text>
                  <text x="560" y="100">|</text>
                  <text x="16" y="116">~</text>
                  <text x="168" y="116">~</text>
                  <text x="312" y="116">~</text>
                  <text x="456" y="116">~</text>
                  <text x="560" y="116">~</text>
                  <text x="16" y="132">(1)</text>
                  <text x="64" y="132">Trigger</text>
                  <text x="124" y="132">Pledge</text>
                  <text x="216" y="132">Voucher-Request</text>
                  <text x="16" y="148">~</text>
                  <text x="168" y="148">~</text>
                  <text x="312" y="148">~</text>
                  <text x="456" y="148">~</text>
                  <text x="560" y="148">~</text>
                  <text x="76" y="180">opt.</text>
                  <text x="112" y="180">TLS</text>
                  <text x="92" y="196">tPVR</text>
                  <text x="96" y="212">PVR</text>
                  <text x="16" y="244">~</text>
                  <text x="168" y="244">~</text>
                  <text x="312" y="244">~</text>
                  <text x="456" y="244">~</text>
                  <text x="560" y="244">~</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(1) Trigger Pledge Voucher-Request
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<------tPVR-------|                 |                 |            |
 |--------PVR------>|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
          </artset>
        </figure>
        <t>The Registrar-Agent <bcp14>SHALL</bcp14> trigger the pledge to create a PVR via HTTP(S) POST to the pledge endpoint at <tt>/.well-known/brski/tpvr</tt>.
The request body <bcp14>MUST</bcp14> contain the JSON-based Pledge Voucher-Request Trigger (tPVR) artifact as defined in <xref target="tpvr_artifact"/>.
In the request header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/json</tt> and the Accept field <bcp14>SHOULD</bcp14> be set to <tt>application/voucher-jws+json</tt> as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>
        <t>Upon receiving a valid tPVR, the pledge <bcp14>MUST</bcp14> reply with the PVR artifact as defined in <xref target="pvr_artifact"/> in the body of an HTTP 200 OK response.
If the Accept header was not provided in the PVR, the pledge assumes that the accepted response format is <tt>application/voucher-jws+json</tt> and proceeds processing.
In the response header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/voucher-jws+json</tt> as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>
        <t>Note that the pledge provisionally accepts the registrar EE certificate contained in the tPVR until it receives the voucher (see <xref target="agt_prx"/>).</t>
        <t>If the pledge is unable to create the PVR, it <bcp14>SHOULD</bcp14> respond with an HTTP error status code to the Registrar-Agent.
The following client error status codes <bcp14>SHOULD</bcp14> be used:</t>
        <ul spacing="normal">
          <li>
            <t>400 Bad Request: if the pledge detects an error in the format of the request, e.g., missing field, wrong data types, etc. or if the request is not valid JSON even though the Content-Type request header field was set to <tt>application/json</tt></t>
          </li>
          <li>
            <t>406 Not Acceptable: if the Accept request header field indicates a type that is unknown or unsupported, e.g., a type other than <tt>application/voucher-jws+json</tt></t>
          </li>
          <li>
            <t>415 Unsupported Media Type: if the Content-Type request header field indicates a type that is unknown or unsupported, e.g., a type other than <tt>application/json</tt></t>
          </li>
        </ul>
        <t>The pledge <bcp14>MAY</bcp14> use the response body to signal success/failure details to the service technician operating the Registrar-Agent.</t>
        <t>While BRSKI-PRM does not specify which content may be provided in the response body, it is recommended to provided it as JSON encoded information as other BRSKI-PRM exchanges also utilize this encoding.</t>
        <section anchor="tpvr_artifact">
          <name>Request Artifact: Pledge Voucher-Request Trigger (tPVR)</name>
          <t>The Pledge Voucher-Request Trigger (tPVR) artifact <bcp14>SHALL</bcp14> be an unsigned data object, providing the necessary parameters for generating the Pledge Voucher-Request (PVR) artifact such that the Agent Proximity Assertion can be verified by registrar and MASA:
the registrar EE certificate and an agent-signed data object containing the product-serial-number and a timestamp.
The artifact is unsigned because at the time of receiving the tPVR, the pledge could not verify any signature.</t>
          <t>For the JSON-based format used by this specification, the tPVR artifact <bcp14>SHALL</bcp14> be a UTF-8 encoded JSON document <xref target="RFC8259"/> that conforms with the CDDL <xref target="RFC8610"/> data model defined in <xref target="tpvr_CDDL_def"/>:</t>
          <figure anchor="tpvr_CDDL_def">
            <name>CDDL for Pledge Voucher-Request Trigger (pledgevoucherrequesttrigger)</name>
            <artwork type="cddl" align="left"><![CDATA[
  pledgevoucherrequesttrigger = {
    "agent-provided-proximity-registrar-cert": bytes,
    "agent-signed-data": bytes
  }
]]></artwork>
          </figure>
          <t>The <tt>agent-provided-proximity-registrar-cert</tt> member <bcp14>SHALL</bcp14> contain the base64-encoded registrar EE certificate in X.509 v3 (DER) format.
The <tt>agent-signed-data</tt> member <bcp14>SHALL</bcp14> contain the base64-encoded JWS Agent-Signed Data as defined in <xref target="jws-asd"/>.
<xref target="tpvr_example"/> summarizes the serialization the JSON tPVR artifact:</t>
          <figure anchor="tpvr_example">
            <name>tPVR Representation in JSON</name>
            <artwork align="left"><![CDATA[
{
  "agent-provided-proximity-registrar-cert": "base64encodedvalue==",
  "agent-signed-data": BASE64(UTF8(JWS Agent-Signed Data))
}
]]></artwork>
          </figure>
          <section anchor="jws-asd">
            <name>JWS Agent-Signed Data</name>
            <t>To enable alternative formats, the YANG module in <xref target="I-D.ietf-anima-rfc8366bis"/> defines the leaf <tt>agent-signed-data</tt> as binary.
For the JWS-signed JSON format used by this specification, the <tt>agent-signed-data</tt> leaf <bcp14>SHALL</bcp14> be a UTF-8 encoded JWS structure in "General JWS JSON Serialization Syntax" as defined in <xref section="7.2.1" sectionFormat="of" target="RFC7515"/> signing the JSON Agent-Signed Data defined in <xref target="prm-asd"/>.
<xref target="asd_representation"/> summarizes this JWS structure for the <tt>agent-signed-data</tt> member of the tPVR artifact:</t>
            <figure anchor="asd_representation">
              <name>JWS Agent-Signed Data in General JWS JSON Serialization Syntax</name>
              <artwork align="left"><![CDATA[
{
  "payload": BASE64URL(UTF8(JSON Agent-Signed Data)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}
]]></artwork>
            </figure>
            <t>The JSON Agent-Signed Data <bcp14>MUST</bcp14> be UTF-8 encoded to become the octet-based JWS Payload defined in <xref target="RFC7515"/>.
The JWS Payload is further base64url-encoded to become the string value of the <tt>payload</tt> member as described in <xref section="3.2" sectionFormat="of" target="RFC7515"/>.
The octets of the UTF-8 representation of the JWS Protected Header are base64url-encoded to become the string value of the <tt>protected</tt> member.
The generated JWS Signature is base64url-encoded to become the string value of the <tt>signature</tt> member.</t>
            <section anchor="prm-asd">
              <name>JSON Agent-Signed Data</name>
              <t>The JSON Agent-Signed Data <bcp14>SHALL</bcp14> be a JSON document <xref target="RFC8259"/> that <bcp14>MUST</bcp14> conform with the CDDL <xref target="RFC8610"/> data model defined in <xref target="prmasd_CDDL_def"/>:</t>
              <figure anchor="prmasd_CDDL_def">
                <name>CDDL for JSON Agent-Signed Data (prmasd)</name>
                <artwork type="cddl" align="left"><![CDATA[
  prmasd = {
    "created-on": tdate,
    "serial-number": text
  }
]]></artwork>
              </figure>
              <t>The <tt>created-on</tt> member <bcp14>SHALL</bcp14> contain the current date and time at tPVR creation as standard date/time string as defined in <xref section="5.6" sectionFormat="of" target="RFC3339"/>.</t>
              <t>The <tt>serial-number</tt> member <bcp14>SHALL</bcp14> contain the product-serial-number of the pledge with which the Registrar-Agent assumes to communicate as string.
The format <bcp14>MUST</bcp14> correspond to the X520SerialNumber field of IDevID certificates.</t>
              <t><xref target="prmasd_payload"/> below shows an example for the JSON Agent-Signed Data:</t>
              <figure anchor="prmasd_payload">
                <name>JSON Agent-Signed Data Example</name>
                <artwork type="json" align="left"><![CDATA[
{
  "created-on": "2021-04-16T00:00:01.000Z",
  "serial-number": "vendor-pledge4711"
}
]]></artwork>
              </figure>
            </section>
            <section anchor="jws-protected-header">
              <name>JWS Protected Header</name>
              <t>The JWS Protected Header of the <tt>agent-signed-data</tt> member <bcp14>MUST</bcp14> contain the following standard Header Parameters as defined in <xref target="RFC7515"/>:</t>
              <ul spacing="normal">
                <li>
                  <t><tt>alg</tt>: <bcp14>SHALL</bcp14> contain the algorithm type used to create the signature, e.g., <tt>ES256</tt>, as defined in <xref section="4.1.1" sectionFormat="of" target="RFC7515"/></t>
                </li>
                <li>
                  <t><tt>kid</tt>: <bcp14>SHALL</bcp14> contain the base64-encoded OCTET STRING value of the SubjectKeyIdentifier of the Registrar-Agent EE certificate as described in <xref target="agent_component"/></t>
                </li>
              </ul>
              <t><xref target="asd_header"/> below shows an example for this JWS Protected Header:</t>
              <figure anchor="asd_header">
                <name>JWS Protected Header Example for</name>
                <artwork align="left"><![CDATA[
{
  "alg": "ES256",
  "kid": "base64encodedvalue=="
}
]]></artwork>
              </figure>
            </section>
            <section anchor="jws-signature">
              <name>JWS Signature</name>
              <t>The Registrar-Agent <bcp14>MUST</bcp14> sign the <tt>agent-signed-data</tt> member using its EE credentials.
The JWS Signature is generated over the JWS Protected Header and the JWS Payload as described in <xref section="5.1" sectionFormat="of" target="RFC7515"/>.</t>
            </section>
          </section>
        </section>
        <section anchor="pvr_artifact">
          <name>Response Artifact: Pledge Voucher-Request (PVR)</name>
          <t>The Pledge Voucher-Request (PVR) artifact <bcp14>SHALL</bcp14> be an authenticated self-contained object signed by the pledge, containing an extended Voucher-Request artifact based on <xref section="5.2" sectionFormat="of" target="RFC8995"/>.
The BRSKI-PRM related enhancements of the <tt>ietf-voucher-request</tt> YANG module are defined in <xref target="I-D.ietf-anima-rfc8366bis"/>.</t>
          <t>For the JWS-signed JSON format used by this specification, the PVR artifact <bcp14>MUST</bcp14> be a JWS Voucher structure as defined in <xref target="I-D.ietf-anima-jws-voucher"/>, which <bcp14>MUST</bcp14> contain the JSON PVR Data defined in <xref target="pvr_data"/> in the JWS Payload.
<xref target="pvr_representation"/> summarizes the serialization of the JWS-signed JSON PVR artifact:</t>
          <figure anchor="pvr_representation">
            <name>PVR Representation in General JWS JSON Serialization Syntax</name>
            <artwork align="left"><![CDATA[
{
  "payload": BASE64URL(UTF8(JSON PVR Data)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}
]]></artwork>
          </figure>
          <section anchor="pvr_data">
            <name>JSON PVR Data</name>
            <t>The JSON PVR Data <bcp14>MUST</bcp14> contain the following fields of the <tt>ietf-voucher-request</tt> YANG module as defined in <xref target="I-D.ietf-anima-rfc8366bis"/>;
note that this makes optional leaves in the YANG definition mandatory for the PVR artifact:</t>
            <ul spacing="normal">
              <li>
                <t><tt>created-on</tt>: <bcp14>SHALL</bcp14> contain the current date and time at PVR creation as standard date/time string as defined in <xref section="5.6" sectionFormat="of" target="RFC3339"/>;
if the pledge does not have synchronized time, it <bcp14>SHALL</bcp14> use the <tt>created-on</tt> value from the JSON Agent-Signed Data received with the tPVR artifact and <bcp14>SHOULD</bcp14> advance that value based on its local clock to reflect the PVR creation time</t>
              </li>
              <li>
                <t><tt>nonce</tt>: <bcp14>SHALL</bcp14> contain a cryptographically strong pseudo-random number</t>
              </li>
              <li>
                <t><tt>serial-number</tt>: <bcp14>SHALL</bcp14> contain the product-serial-number in the X520SerialNumber field of the pledge IDevID certificate as string as defined in <xref section="2.3.1" sectionFormat="of" target="RFC8995"/></t>
              </li>
              <li>
                <t><tt>assertion</tt>: <bcp14>SHALL</bcp14> contain the assertion type <tt>agent-proximity</tt> to indicate the pledge request (different from BRSKI <xref target="RFC8995"/>)</t>
              </li>
              <li>
                <t><tt>agent-provided-proximity-registrar-cert</tt>: <bcp14>SHALL</bcp14> contain the base64-encoded registrar EE certificate provided in the tPVR by the Registrar-Agent;
enables the registrar and MASA to verify the Agent Proximity Assertion</t>
              </li>
              <li>
                <t><tt>agent-signed-data</tt>: <bcp14>SHALL</bcp14> contain the same value as the <tt>agent-signed-data</tt> member in the tPVR provided by the Registrar-Agent;
enables the registrar and MASA to verify the Agent Proximity Assertion;
also enables the registrar to log which Registrar-Agent was in contact with the pledge</t>
              </li>
            </ul>
            <t><xref target="pvr_data_example"/> below shows an example for the JSON PVR Data:</t>
            <figure anchor="pvr_data_example">
              <name>JSON PVR Data Example</name>
              <artwork type="json" align="left"><![CDATA[
{
  "ietf-voucher-request:voucher": {
     "created-on": "2021-04-16T00:00:02.000Z",
     "nonce": "eDs++/FuDHGUnRxN3E14CQ==",
     "serial-number": "vendor-pledge4711",
     "assertion": "agent-proximity",
     "agent-provided-proximity-registrar-cert": "base64encodedvalue==",
     "agent-signed-data": "base64encodedvalue=="
  }
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-protected-header-1">
            <name>JWS Protected Header</name>
            <t>The JWS Protected Header <bcp14>MUST</bcp14> follow the definitions of <xref section="3.2" sectionFormat="of" target="I-D.ietf-anima-jws-voucher"/>.</t>
          </section>
          <section anchor="jws-signature-1">
            <name>JWS Signature</name>
            <t>The pledge <bcp14>MUST</bcp14> sign the PVR artifact using its IDevID credential following the definitions of <xref section="3.3" sectionFormat="of" target="I-D.ietf-anima-jws-voucher"/>.</t>
          </section>
        </section>
      </section>
      <section anchor="tper">
        <name>Trigger Pledge Enroll-Request</name>
        <t>Once the Registrar-Agent has received the PVR it can trigger the pledge to generate a Pledge Enroll-Request (PER).</t>
        <t>Optionally, TLS <bcp14>MAY</bcp14> be used to provide privacy for this exchange between the Registrar-Agent and the pledge (see <xref target="pledgehttps"/>).</t>
        <t><xref target="exchangesfig_uc2_2"/> shows the acquisition of the PER and the following subsections describe the corresponding artifacts.</t>
        <figure anchor="exchangesfig_uc2_2">
          <name>PER acquisition exchange</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="576" viewBox="0 0 576 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
                <path d="M 16,160 L 16,224" fill="none" stroke="black"/>
                <path d="M 80,32 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,32 L 120,80" fill="none" stroke="black"/>
                <path d="M 168,160 L 168,224" fill="none" stroke="black"/>
                <path d="M 224,32 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,32 L 264,80" fill="none" stroke="black"/>
                <path d="M 312,160 L 312,224" fill="none" stroke="black"/>
                <path d="M 360,32 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,32 L 400,80" fill="none" stroke="black"/>
                <path d="M 456,160 L 456,224" fill="none" stroke="black"/>
                <path d="M 472,32 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,32 L 512,80" fill="none" stroke="black"/>
                <path d="M 560,160 L 560,224" fill="none" stroke="black"/>
                <path d="M 568,32 L 568,80" fill="none" stroke="black"/>
                <path d="M 8,32 L 80,32" fill="none" stroke="black"/>
                <path d="M 120,32 L 224,32" fill="none" stroke="black"/>
                <path d="M 264,32 L 360,32" fill="none" stroke="black"/>
                <path d="M 400,32 L 472,32" fill="none" stroke="black"/>
                <path d="M 512,32 L 568,32" fill="none" stroke="black"/>
                <path d="M 8,80 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,80 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,80 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,80 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,80 L 568,80" fill="none" stroke="black"/>
                <path d="M 24,176 L 56,176" fill="none" stroke="black"/>
                <path d="M 128,176 L 160,176" fill="none" stroke="black"/>
                <path d="M 24,192 L 72,192" fill="none" stroke="black"/>
                <path d="M 112,192 L 160,192" fill="none" stroke="black"/>
                <path d="M 24,208 L 80,208" fill="none" stroke="black"/>
                <path d="M 112,208 L 160,208" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="168,208 156,202.4 156,213.6" fill="black" transform="rotate(0,160,208)"/>
                <polygon class="arrowhead" points="168,176 156,170.4 156,181.6" fill="black" transform="rotate(0,160,176)"/>
                <polygon class="arrowhead" points="32,192 20,186.4 20,197.6" fill="black" transform="rotate(180,24,192)"/>
                <polygon class="arrowhead" points="32,176 20,170.4 20,181.6" fill="black" transform="rotate(180,24,176)"/>
                <g class="text">
                  <text x="44" y="52">Pledge</text>
                  <text x="172" y="52">Registrar-</text>
                  <text x="308" y="52">Domain</text>
                  <text x="432" y="52">Key</text>
                  <text x="540" y="52">MASA</text>
                  <text x="168" y="68">Agent</text>
                  <text x="312" y="68">Registrar</text>
                  <text x="436" y="68">Infra.</text>
                  <text x="16" y="100">|</text>
                  <text x="168" y="100">|</text>
                  <text x="312" y="100">|</text>
                  <text x="456" y="100">|</text>
                  <text x="516" y="100">Internet</text>
                  <text x="560" y="100">|</text>
                  <text x="16" y="116">~</text>
                  <text x="168" y="116">~</text>
                  <text x="312" y="116">~</text>
                  <text x="456" y="116">~</text>
                  <text x="560" y="116">~</text>
                  <text x="16" y="132">(2)</text>
                  <text x="64" y="132">Trigger</text>
                  <text x="124" y="132">Pledge</text>
                  <text x="212" y="132">Enroll-Request</text>
                  <text x="16" y="148">~</text>
                  <text x="168" y="148">~</text>
                  <text x="312" y="148">~</text>
                  <text x="456" y="148">~</text>
                  <text x="560" y="148">~</text>
                  <text x="76" y="180">opt.</text>
                  <text x="112" y="180">TLS</text>
                  <text x="92" y="196">tPER</text>
                  <text x="96" y="212">PER</text>
                  <text x="16" y="244">~</text>
                  <text x="168" y="244">~</text>
                  <text x="312" y="244">~</text>
                  <text x="456" y="244">~</text>
                  <text x="560" y="244">~</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(2) Trigger Pledge Enroll-Request
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<------tPER-------|                 |                 |            |
 |--------PER------>|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
          </artset>
        </figure>
        <t>The Registrar-Agent <bcp14>SHALL</bcp14> trigger the pledge to create the PER via HTTP(S) POST to the pledge endpoint at <tt>/.well-known/brski/tper</tt>.
The request body <bcp14>MUST</bcp14> contain the JSON-based Pledge Enroll-Request Trigger (tPER) artifact as defined in <xref target="tper_artifact"/>.
In the request header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/json</tt> and the Accept field <bcp14>SHOULD</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>Upon receiving a valid tPER, the pledge <bcp14>MUST</bcp14> reply with the PER artifact as defined in <xref target="per_artifact"/> in the body of an HTTP 200 OK response.
If the Accept header was not provided in the PER, the pledge assumes that the accepted response format is <tt>application/voucher-jws+json</tt> and proceeds processing.
In the response header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>If the pledge is unable to create the PER, it <bcp14>SHOULD</bcp14> respond with an HTTP error status code to the Registrar-Agent.
The following client error status codes <bcp14>MAY</bcp14> be used:</t>
        <ul spacing="normal">
          <li>
            <t>400 Bad Request: if the pledge detects an error in the format of the request</t>
          </li>
          <li>
            <t>406 Not Acceptable: if the Accept request header field indicates a type that is unknown or unsupported, e.g., a type other than <tt>application/jose+json</tt></t>
          </li>
          <li>
            <t>415 Unsupported Media Type: if the Content-Type request header field indicates a type that is unknown or unsupported, e.g., a type other than <tt>application/json</tt></t>
          </li>
        </ul>
        <t>The pledge <bcp14>MAY</bcp14> use the response body to signal success/failure details to the service technician operating the Registrar-Agent.
While BRSKI-PRM does not specify which content may be provided in the response body, it is recommended to provided it as JSON encoded information as other BRSKI-PRM exchanges also utilize this encoding.</t>
        <section anchor="tper_artifact">
          <name>Request Artifact: Pledge Enroll-Request Trigger (tPER)</name>
          <t>The Pledge Enroll-Request Trigger (tPVR) artifact <bcp14>SHALL</bcp14> be an unsigned data object, providing enrollment parameters.
This document specifies only the basic parameter for a generic, device-related LDevID certificate with no CSR attributes provided to the pledge.
If specific attributes in the certificate are required, they have to be inserted by the issuing Key Infrastructure.</t>
          <t>The Pledge Enroll-Request Trigger (tPER) artifact <bcp14>MAY</bcp14> be used to provide additional enrollment parameters such as CSR attributes.
How to provide and use such additional data is out of scope for this specification.</t>
          <t>For the JSON-based format used by this specification, the tPER artifact <bcp14>MUST</bcp14> be a UTF-8 encoded JSON document <xref target="RFC8259"/> that conforms with the CDDL <xref target="RFC8610"/> data model defined in <xref target="tper_CDDL_def"/>:</t>
          <figure anchor="tper_CDDL_def">
            <name>CDDL for Pledge Enroll-Request Trigger (pledgeenrollrequesttrigger)</name>
            <artwork type="cddl" align="left"><![CDATA[
pledgeenrollrequesttrigger = {
        "enroll-type": $enroll-type
}

$enroll-type /= "enroll-generic-cert"
]]></artwork>
          </figure>
          <t>The <tt>enroll-type</tt> member allows for specifying which type of certificate is to be enrolled.
As shown in <xref target="tper_CDDL_def"/>, BRSKI-PRM only defines the enumeration value <tt>enroll-generic-cert</tt> for the enrollment of the generic, device-related LDevID certificate.
Other specifications using this artifact may define further enum values, e.g., to bootstrap application-related EE certificates with additional CSR attributes.</t>
        </section>
        <section anchor="per_artifact">
          <name>Response Artifact: Pledge Enroll-Request (PER)</name>
          <t>The Pledge Enroll-Request (PER) artifact <bcp14>SHALL</bcp14> be an authenticated self-contained object signed by the pledge, containing a PKCS#10 Certificate Signing Request (CSR) <xref target="RFC2986"/>.
The CSR already assures POP of the private key corresponding to the contained public key.
In addition, based on the PER signature using the IDevID of the pledge, POI is provided.</t>
          <t>For the JWS-signed JSON format used by this specification, the PER artifact <bcp14>MUST</bcp14> use the "General JWS JSON Serialization Syntax" defined in <xref section="7.2.1" sectionFormat="of" target="RFC7515"/>, which <bcp14>MUST</bcp14> contain the JSON CSR Data defined in <xref target="per_data"/> in the JWS Payload.
<xref target="per_representation"/> summarizes the serialization of the JWS-signed JSON PER artifact:</t>
          <figure anchor="per_representation">
            <name>PER Representation in General JWS JSON Serialization Syntax</name>
            <artwork align="left"><![CDATA[
{
  "payload": BASE64URL(UTF8(JSON CSR Data)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}
]]></artwork>
          </figure>
          <t>The JSON CSR Data <bcp14>MUST</bcp14> be UTF-8 encoded to become the octet-based JWS Payload defined in <xref target="RFC7515"/>.
The JWS Payload is further base64url-encoded to become the string value of the <tt>payload</tt> member as described in <xref section="3.2" sectionFormat="of" target="RFC7515"/>.
The octets of the UTF-8 representation of the JWS Protected Header are base64url-encoded to become the string value of the <tt>protected</tt> member.
The generated JWS Signature is base64url-encoded to become the string value of the <tt>signature</tt> member.</t>
          <section anchor="per_data">
            <name>JSON CSR Data</name>
            <t>The JSON CSR Data <bcp14>SHALL</bcp14> be a JSON document <xref target="RFC8259"/> that <bcp14>MUST</bcp14> conform with the data model described by the <tt>csr-grouping</tt> of the <tt>ietf-ztp-types</tt> YANG module defined in <xref section="3.2" sectionFormat="of" target="RFC9646"/> and <bcp14>MUST</bcp14> be encoded using the rules defined in <xref target="RFC7951"/>.
Note that <xref target="RFC9646"/> also allows for inclusion of CSRs in different formats used by CMP and CMC.
For PKCS#10 CSRs as used in BRSKI and BRSKI-PRM, the <tt>p10-csr</tt> case of the <tt>csr-grouping</tt> <bcp14>MUST</bcp14> be used.</t>
            <t><xref target="csr_example"/> below shows an example for the JSON CSR Data:</t>
            <figure anchor="csr_example">
              <name>JSON CSR Data Example</name>
              <artwork align="left"><![CDATA[
{
  "ietf-ztp-types": {
     "p10-csr": "base64encodedvalue=="
   }
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-protected-header-2">
            <name>JWS Protected Header</name>
            <t>The JWS Protected Header of the PER artifact <bcp14>MUST</bcp14> contain the following standard Header Parameters as defined in <xref target="RFC7515"/>:</t>
            <ul spacing="normal">
              <li>
                <t><tt>alg</tt>: <bcp14>SHALL</bcp14> contain the algorithm type used to create the signature, e.g., <tt>ES256</tt>, as defined in <xref section="4.1.1" sectionFormat="of" target="RFC7515"/></t>
              </li>
              <li>
                <t><tt>x5c</tt>: <bcp14>SHALL</bcp14> contain the base64-encoded pledge EE certificate used to sign the PER artifact;
it <bcp14>SHOULD</bcp14> also contain the certificate chain for this certificate;
if the certificate chain is not included in the <tt>x5c</tt> Header Parameter, it <bcp14>MUST</bcp14> be available at the domain registrar for verification</t>
              </li>
              <li>
                <t><tt>crit</tt>: <bcp14>SHALL</bcp14> indicate the extension Header Parameter <tt>created-on</tt> to ensure that it must be understood and validated by the receiver as defined in <xref section="4.1.11" sectionFormat="of" target="RFC7515"/></t>
              </li>
            </ul>
            <t>In addition, the JWS Protected Header of the PER artifact <bcp14>MUST</bcp14> contain the following extension Header Parameter:</t>
            <ul spacing="normal">
              <li>
                <t><tt>created-on</tt>: <bcp14>SHALL</bcp14> contain the current date and time at PER creation as standard date/time string as defined in <xref section="5.6" sectionFormat="of" target="RFC3339"/>;
if the pledge does not have synchronized time, it <bcp14>SHALL</bcp14> use the <tt>created-on</tt> value from the JSON Agent-Signed Data received with the tPVR artifact and <bcp14>SHOULD</bcp14> advance that value based on its local clock to reflect the PER creation time</t>
              </li>
            </ul>
            <t>The new protected Header Parameter <tt>created-on</tt> is introduced to reflect freshness of the PER.
It allows the registrar to verify the timely correlation between the PER artifact and previous exchanges, i.e., <tt>created-on</tt> of PER &gt;= <tt>created-on</tt> of PVR &gt;= <tt>created-on</tt> of PVR trigger.
The registrar <bcp14>MAY</bcp14> consider ignoring any but the newest PER artifact from the same pledge in case the registrar has at any point in time more than one pending PER from the pledge.</t>
            <t><xref target="per_header"/> below shows an example for this JWS Protected Header:</t>
            <figure anchor="per_header">
              <name>JWS Protected Header Example within PER</name>
              <artwork align="left"><![CDATA[
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ],
  "crit": ["created-on"],
  "created-on": "2022-09-13T00:00:02.000Z"
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-signature-2">
            <name>JWS Signature</name>
            <t>The pledge <bcp14>MUST</bcp14> sign the PER artifact using its IDevID credential.
The JWS Signature is generated over the JWS Protected Header and the JWS Payload as described in <xref section="5.1" sectionFormat="of" target="RFC7515"/>.</t>
            <t>While BRSKI-PRM targets the initial enrollment, re-enrollment can be supported similarly.
In this case, the pledge <bcp14>MAY</bcp14> use its current, potentially application-related EE credential instead of its IDevID credential to sign the PER artifact.
The issuing CA can associate the re-enrollment request with the pledge based on the previously issued and still valid EE certificate.
Note that a pledge that does not have synchronized time needs to advance the last known current date and time based on its local clock over a longer period, which also requires persisting the local clock advancements across reboots.</t>
          </section>
        </section>
      </section>
      <section anchor="pvr">
        <name>Supply PVR to Registrar (including MASA interaction)</name>
        <t>Once the Registrar-Agent has acquired one or more PVR and PER object pairs, it starts the interaction with the domain registrar.
Collecting multiple pairs allows bulk bootstrapping of several pledges using the same session with the registrar.</t>
        <t>The Registrar-Agent <bcp14>MUST</bcp14> establish a TLS session to the registrar with mutual authentication.
In contrast to BRSKI <xref target="RFC8995"/>, the TLS client authentication uses the Registrar-Agent EE certificate instead of the pledge IDevID certificate.
Consequently, the domain registrar can distinguish BRSKI (pledge-initiator-mode) from BRSKI-PRM (pledge-responder-mode).</t>
        <t>The registrar <bcp14>SHOULD</bcp14> verify the TLS client authentication of the Registrar-Agent, in particular if the TLS session is used to obtain the Registrar-Agent EE certificate (see <xref target="registrar_component"/>).
Note that authentication and authorization of the pledge verified during the TLS session based on the signatures inside the PVR artifact.</t>
        <t>As already stated in <xref target="RFC8995"/>, the use of TLS 1.3 (or newer) is encouraged.
TLS 1.2 or newer is <bcp14>REQUIRED</bcp14> on the Registrar-Agent side.
TLS 1.3 (or newer) <bcp14>SHOULD</bcp14> be available on the registrar, but TLS 1.2 <bcp14>MAY</bcp14> be used.
TLS 1.3 (or newer) <bcp14>SHOULD</bcp14> be available on the MASA, but TLS 1.2 <bcp14>MAY</bcp14> be used.</t>
        <t><xref target="exchangesfig_uc2_3"/> shows the voucher-request processing and the following subsections describe the corresponding artifacts.</t>
        <figure anchor="exchangesfig_uc2_3">
          <name>Voucher issuing exchange</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="480" width="576" viewBox="0 0 576 480" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
                <path d="M 16,160 L 16,448" fill="none" stroke="black"/>
                <path d="M 80,32 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,32 L 120,80" fill="none" stroke="black"/>
                <path d="M 168,160 L 168,448" fill="none" stroke="black"/>
                <path d="M 224,32 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,32 L 264,80" fill="none" stroke="black"/>
                <path d="M 312,160 L 312,192" fill="none" stroke="black"/>
                <path d="M 312,240 L 312,272" fill="none" stroke="black"/>
                <path d="M 312,304 L 312,448" fill="none" stroke="black"/>
                <path d="M 360,32 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,32 L 400,80" fill="none" stroke="black"/>
                <path d="M 456,160 L 456,312" fill="none" stroke="black"/>
                <path d="M 456,432 L 456,448" fill="none" stroke="black"/>
                <path d="M 472,32 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,32 L 512,80" fill="none" stroke="black"/>
                <path d="M 560,160 L 560,352" fill="none" stroke="black"/>
                <path d="M 560,400 L 560,448" fill="none" stroke="black"/>
                <path d="M 568,32 L 568,80" fill="none" stroke="black"/>
                <path d="M 8,32 L 80,32" fill="none" stroke="black"/>
                <path d="M 120,32 L 224,32" fill="none" stroke="black"/>
                <path d="M 264,32 L 360,32" fill="none" stroke="black"/>
                <path d="M 400,32 L 472,32" fill="none" stroke="black"/>
                <path d="M 512,32 L 568,32" fill="none" stroke="black"/>
                <path d="M 8,80 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,80 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,80 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,80 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,80 L 568,80" fill="none" stroke="black"/>
                <path d="M 176,176 L 216,176" fill="none" stroke="black"/>
                <path d="M 256,176 L 304,176" fill="none" stroke="black"/>
                <path d="M 176,256 L 224,256" fill="none" stroke="black"/>
                <path d="M 256,256 L 304,256" fill="none" stroke="black"/>
                <path d="M 320,320 L 416,320" fill="none" stroke="black"/>
                <path d="M 456,320 L 552,320" fill="none" stroke="black"/>
                <path d="M 320,336 L 424,336" fill="none" stroke="black"/>
                <path d="M 456,336 L 552,336" fill="none" stroke="black"/>
                <path d="M 320,416 L 408,416" fill="none" stroke="black"/>
                <path d="M 472,416 L 552,416" fill="none" stroke="black"/>
                <path d="M 176,432 L 208,432" fill="none" stroke="black"/>
                <path d="M 280,432 L 304,432" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="560,336 548,330.4 548,341.6" fill="black" transform="rotate(0,552,336)"/>
                <polygon class="arrowhead" points="560,320 548,314.4 548,325.6" fill="black" transform="rotate(0,552,320)"/>
                <polygon class="arrowhead" points="328,416 316,410.4 316,421.6" fill="black" transform="rotate(180,320,416)"/>
                <polygon class="arrowhead" points="328,320 316,314.4 316,325.6" fill="black" transform="rotate(180,320,320)"/>
                <polygon class="arrowhead" points="312,256 300,250.4 300,261.6" fill="black" transform="rotate(0,304,256)"/>
                <polygon class="arrowhead" points="312,176 300,170.4 300,181.6" fill="black" transform="rotate(0,304,176)"/>
                <polygon class="arrowhead" points="184,432 172,426.4 172,437.6" fill="black" transform="rotate(180,176,432)"/>
                <polygon class="arrowhead" points="184,176 172,170.4 172,181.6" fill="black" transform="rotate(180,176,176)"/>
                <g class="text">
                  <text x="44" y="52">Pledge</text>
                  <text x="172" y="52">Registrar-</text>
                  <text x="308" y="52">Domain</text>
                  <text x="432" y="52">Key</text>
                  <text x="540" y="52">MASA</text>
                  <text x="168" y="68">Agent</text>
                  <text x="312" y="68">Registrar</text>
                  <text x="436" y="68">Infra.</text>
                  <text x="16" y="100">|</text>
                  <text x="168" y="100">|</text>
                  <text x="312" y="100">|</text>
                  <text x="456" y="100">|</text>
                  <text x="516" y="100">Internet</text>
                  <text x="560" y="100">|</text>
                  <text x="16" y="116">~</text>
                  <text x="168" y="116">~</text>
                  <text x="312" y="116">~</text>
                  <text x="456" y="116">~</text>
                  <text x="560" y="116">~</text>
                  <text x="16" y="132">(3)</text>
                  <text x="60" y="132">Supply</text>
                  <text x="104" y="132">PVR</text>
                  <text x="132" y="132">to</text>
                  <text x="184" y="132">Registrar</text>
                  <text x="268" y="132">(including</text>
                  <text x="344" y="132">backend</text>
                  <text x="428" y="132">interaction)</text>
                  <text x="16" y="148">~</text>
                  <text x="168" y="148">~</text>
                  <text x="312" y="148">~</text>
                  <text x="456" y="148">~</text>
                  <text x="560" y="148">~</text>
                  <text x="236" y="180">mTLS</text>
                  <text x="308" y="212">[Registrar-Agent</text>
                  <text x="308" y="228">authenticated&amp;authorized?]</text>
                  <text x="240" y="260">PVR</text>
                  <text x="280" y="292">[accept</text>
                  <text x="348" y="292">device?]</text>
                  <text x="436" y="324">mTLS</text>
                  <text x="440" y="340">RVR</text>
                  <text x="456" y="356">~</text>
                  <text x="460" y="372">[extract</text>
                  <text x="536" y="372">DomainID]</text>
                  <text x="456" y="388">[update</text>
                  <text x="532" y="388">audit-log]</text>
                  <text x="456" y="404">~</text>
                  <text x="440" y="420">Voucher</text>
                  <text x="244" y="436">Voucher'</text>
                  <text x="16" y="468">~</text>
                  <text x="168" y="468">~</text>
                  <text x="312" y="468">~</text>
                  <text x="456" y="468">~</text>
                  <text x="560" y="468">~</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(3) Supply PVR to Registrar (including backend interaction)
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<-----mTLS------>|                 |            |
 |                  |                 |                 |            |
 |                  |         [Registrar-Agent          |            |
 |                  |    authenticated&authorized?]     |            |
 |                  |                 |                 |            |
 |                  |-------PVR------>|                 |            |
 |                  |                 |                 |            |
 |                  |          [accept device?]         |            |
 |                  |                 |                 |            |
 |                  |                 |<------------mTLS------------>|
 |                  |                 |--------------RVR------------>|
 |                  |                 |                 ~            |
 |                  |                 |              [extract DomainID]
 |                  |                 |              [update audit-log]
 |                  |                 |                 ~            |
 |                  |                 |<-----------Voucher-----------|
 |                  |<----Voucher''---|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
          </artset>
        </figure>
        <t>As a first step of the interaction with the domain registrar, the Registrar-Agent <bcp14>SHALL</bcp14> supply the PVR artifact(s) to the registrar via HTTP-over-TLS POST to the registrar endpoint at <tt>/.well-known/brski/requestvoucher</tt>.
Note that this is the same endpoint as for BRSKI described in <xref section="5.2" sectionFormat="of" target="RFC8995"/>.
The request body <bcp14>MUST</bcp14> contain one previously acquired PVR artifact as defined in <xref target="pvr_artifact"/>.
In the request header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/voucher-jws+json</tt> and the Accept field <bcp14>SHOULD</bcp14> be set to <tt>application/voucher-jws+json</tt> as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>
        <t>Upon receiving a PVR artifact, the registrar accepts or declines the request to join the domain.
For this, it <bcp14>MUST</bcp14> perform pledge authorization as defined in <xref section="5.3" sectionFormat="of" target="RFC8995"/>.
Due to the Registrar-Agent in the middle, the registrar <bcp14>MUST</bcp14> verify in addition that</t>
        <ul spacing="normal">
          <li>
            <t>the <tt>agent-provided-proximity-registrar-cert</tt> field of the PVR contains a registrar EE certificate signed by the same domain owner as the registrar EE certificate used to sign the RVR;
note that this check allows for installations with multiple domain registrars and for registrar EE certificate renewal between exchanges with the Registrar-Agent (see <xref target="arch_nomadic"/>);
in many installations with a single registrar the contained certificate is identical to the signing certificate</t>
          </li>
          <li>
            <t>the <tt>agent-signed-data</tt> field of the PVR is signed with the private key corresponding to the Registrar-Agent EE certificate as known by the registrar (see <xref target="registrar_component"/>);
this is done via the SubjectKeyIdentifier of the certificate in the <tt>kid</tt> Header Parameter of the JWS Protected Header of the <tt>agent-signed-data</tt> field.</t>
          </li>
          <li>
            <t>the product-serial-number inside the <tt>agent-signed-data</tt> is equal to the <tt>serial-number</tt> field of the PVR as well as the X520SerialNumber field of the pledge IDevID certificate, which is contained in the JWS Protected Header of the PVR.</t>
          </li>
          <li>
            <t>the Registrar-Agent EE certificate is still valid;
this is necessary to avoid that a rogue Registrar-Agent generates <tt>agent-signed-data</tt> objects to onboard arbitrary pledges at a later point in time, see also <xref target="sec_cons_reg-agt"/>.</t>
          </li>
        </ul>
        <t>If the registrar is unable to process the request or validate the PVR, it <bcp14>MUST</bcp14> respond with an HTTP client error status code to the Registrar-Agent.
The following client error status codes <bcp14>SHOULD</bcp14> be used:</t>
        <ul spacing="normal">
          <li>
            <t>400 Bad Request: if the registrar detects an error in the format of the request</t>
          </li>
          <li>
            <t>403 Forbidden: if the registrar detected that one or more security related fields are not valid or if the pledge-provided information could not be used with automated allowance</t>
          </li>
          <li>
            <t>406 Not Acceptable: if the Accept request header field indicates a type that is unknown or unsupported</t>
          </li>
          <li>
            <t>415 Unsupported Media Type: if the Content-Type request header field indicates a type that is unknown or unsupported</t>
          </li>
        </ul>
        <t>Otherwise, the registrar converts the PVR artifact to a Registrar Voucher-Request (RVR) artifact (see <xref target="rvr_artifact"/>) and starts the backend interaction with the MASA.</t>
        <t>Optionally, the domain registrar <bcp14>MAY</bcp14> respond with an HTTP 202 Accepted response status code to the Registrar-Agent at this point following <xref section="5.6" sectionFormat="of" target="RFC8995"/>, while the rules defined for the pledge also apply to the Registrar-Agent;
in this case, the registrar still continues with the MASA interaction to provide the Voucher artifact to the retry request.</t>
        <t>The registrar <bcp14>MAY</bcp14> use the response body to signal success/failure details to the service technician operating the Registrar-Agent.</t>
        <section anchor="masa_interaction">
          <name>MASA Interaction</name>
          <t>The domain registrar <bcp14>MUST</bcp14> establish a TLS session with mutual authentication to the MASA of the pledge according to <xref section="5.4" sectionFormat="of" target="RFC8995"/>.
It requests the voucher from the MASA according to <xref section="5.5" sectionFormat="of" target="RFC8995"/> via HTTP-over-TLS POST to the MASA endpoint at <tt>/.well-known/brski/requestvoucher</tt>.
The request body <bcp14>MUST</bcp14> contain the RVR artifact as defined in <xref target="rvr_artifact"/>.
In the request header, the Content-Type field and the Accept field <bcp14>MUST</bcp14> be set to the same media type as the incoming PVR artifact.
For the default format used in this specification, this is <tt>application/voucher-jws+json</tt> as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>
          <t>The assumption is that a pledge typically supports a single artifact format and creates the PVR in the supported format;
to ensure that the pledge is able to process the voucher, the registrar requests this format via the HTTP Accept header field when requesting the voucher.
Further, the RVR artifact and the PVR artifact inside should also use the same format to limit the number of required format encoders.
Note that BRSKI-PRM allows for alternative formats such as CMS-signed JSON as used in BRSKI <xref target="RFC8995"/> or COSE-signed CBOR for constrained environments, when defined by other specifications.
Overall, a MASA responsible for BRSKI-PRM capable pledges <bcp14>MUST</bcp14> support the same formats as supported by those pledges.</t>
          <t>Once the MASA receives the RVR artifact, it <bcp14>MUST</bcp14> perform the verification as described in <xref section="5.5" sectionFormat="of" target="RFC8995"/>.
Depending on policy, the MASA <bcp14>MAY</bcp14> choose the type of assertion to perform.
For the Agent Proximity Assertion of BRSKI-PRM (see <xref target="agt_prx"/>), the MASA <bcp14>MUST</bcp14> skip the verification described in <xref section="5.5.5" sectionFormat="of" target="RFC8995"/> and instead <bcp14>MUST</bcp14> verify for the PVR contained in the <tt>prior-signed-voucher-request</tt> field of the RVR that</t>
          <ul spacing="normal">
            <li>
              <t>the <tt>agent-provided-proximity-registrar-cert</tt> field contains an EE certificate that is signed by the same domain owner as the EE certificate/credentials used to sign the RVR;
note that this check allows for installations with multiple domain registrars and for registrar EE certificate renewal while PVRs are collected by the Registrar-Agent</t>
            </li>
            <li>
              <t>the registrar EE certificate in the <tt>agent-provided-proximity-registrar-cert</tt> field and the Registrar-Agent EE certificate in the <tt>agent-sign-cert</tt> field of the RVR are signed by the same domain owner.</t>
            </li>
            <li>
              <t>the <tt>agent-signed-data</tt> field is signed with the credentials corresponding to the Registrar-Agent EE certificate in the <tt>agent-sign-cert</tt> field of the RVR;
this is done via the SubjectKeyIdentifier of the certificate in the <tt>kid</tt> Header Parameter of the JWS Protected Header in the <tt>agent-signed-data</tt> field.</t>
            </li>
            <li>
              <t>the product-serial-number inside the <tt>agent-signed-data</tt> is equal to the <tt>serial-number</tt> field of PVR and the <tt>serial-number</tt> field of the RVR as well as the X520SerialNumber field of the pledge IDevID certificate, which is contained in the JWS Protected Header of the PVR.</t>
            </li>
          </ul>
          <t>If the <tt>agent-sign-cert</tt> field in the RVR is not set, the MASA <bcp14>MAY</bcp14> state a lower level assertion value instead of failing the verification, e.g., "logged" or "verified".</t>
          <t>If the verification fails, the MASA <bcp14>SHOULD</bcp14> respond with an HTTP client error status code to the registrar.
The client error status codes are kept the same as defined in <xref section="5.6" sectionFormat="of" target="RFC8995"/>:</t>
          <ul spacing="normal">
            <li>
              <t>403 Forbidden: if the voucher-request is not signed correctly or is stale or if the pledge has another outstanding voucher that cannot be overridden</t>
            </li>
            <li>
              <t>404 Not Found: if the request is for a device that is not known to the MASA</t>
            </li>
            <li>
              <t>406 Not Acceptable: if a voucher of the desired type or that uses the desired algorithms (as indicated by the "Accept" header fields and algorithms used in the signature) cannot be issued as such because the MASA knows the pledge cannot process that type</t>
            </li>
            <li>
              <t>415 Unsupported Media Type: if the request uses an artifact format or Accept header value that is not supported by the MASA</t>
            </li>
          </ul>
          <t>Otherwise, the MASA creates a Voucher artifact as defined in <xref target="voucher_artifact"/> and updates the audit-log as described in <xref section="5.5" sectionFormat="of" target="RFC8995"/>.
The Voucher is then supplied to the registrar within the body of an HTTP 200 OK response according to <xref section="5.6" sectionFormat="of" target="RFC8995"/>.
In the response header, the Content-Type field <bcp14>MUST</bcp14> be set to the media type of the incoming RVR artifact.
For the default format used in this specification, this is <tt>application/voucher-jws+json</tt> as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>
        </section>
        <section anchor="supply-voucher-to-registrar-agent">
          <name>Supply Voucher to Registrar-Agent</name>
          <t>After receiving the Voucher from the MASA, the registrar <bcp14>SHOULD</bcp14> evaluate it for transparency and logging purposes as outlined in <xref section="5.6" sectionFormat="of" target="RFC8995"/>.
It then countersigns the Voucher for delivery to the pledge via the Registrar-Agent.</t>
          <t>The registrar <bcp14>MUST</bcp14> reply to the Registrar-Agent with the Registrar-Countersigned Voucher artifact (Voucher') as defined in <xref target="rcv_artifact"/> in the body of an HTTP 200 OK response.
In the response header, the Content-Type field <bcp14>MUST</bcp14> be set to the media type of the incoming PVR artifact.
For the default format used in this specification, this is <tt>application/voucher-jws+json</tt> as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>
          <t>If the domain registrar is unable to return the Voucher, it <bcp14>MUST</bcp14> respond with an HTTP server error status code to the Registrar-Agent.
The following server error status codes <bcp14>SHOULD</bcp14> be used:</t>
          <ul spacing="normal">
            <li>
              <t>500 Internal Server Error: if both Registrar-Agent request and MASA response are valid, but the registrar still failed to return the Voucher, e.g., due to missing configuration or a program failure</t>
            </li>
            <li>
              <t>502 Bad Gateway: if the registrar received an invalid response from the MASA</t>
            </li>
            <li>
              <t>503 Service Unavailable: if a simple retry of the Registrar-Agent request might lead to a successful response;
this error response <bcp14>SHOULD</bcp14> include the <tt>Retry-After</tt> response header field with an appropriate value</t>
            </li>
            <li>
              <t>504 Gateway Timeout: if the backend request to the MASA timed out</t>
            </li>
          </ul>
        </section>
        <section anchor="request-artifact-pledge-voucher-request-pvr">
          <name>Request Artifact: Pledge Voucher-Request (PVR)</name>
          <t>Identical to the PVR artifact received from the pledge as defined in <xref target="pvr_artifact"/>.
The Registrar-Agent <bcp14>MUST NOT</bcp14> modify PVRs.</t>
        </section>
        <section anchor="rvr_artifact">
          <name>Backend Request Artifact: Registrar Voucher-Request (RVR)</name>
          <t>The Registrar Voucher-Request (RVR) artifact <bcp14>SHALL</bcp14> be an extended Voucher-Request artifact based on <xref section="5.5" sectionFormat="of" target="RFC8995"/>.
The BRSKI-PRM related enhancements of the <tt>ietf-voucher-request</tt> YANG module are defined in <xref target="I-D.ietf-anima-rfc8366bis"/>.</t>
          <t>For the JWS-signed JSON format used by this specification, the RVR artifact <bcp14>MUST</bcp14> be a JWS Voucher structure as defined in <xref target="I-D.ietf-anima-jws-voucher"/>, which <bcp14>MUST</bcp14> contain the JSON RVR Data defined in <xref target="rvr_data"/> in the JWS Payload.
<xref target="rvr_representation"/> summarizes the serialization of the JWS-signed JSON RVR artifact:</t>
          <figure anchor="rvr_representation">
            <name>RVR Representation in General JWS JSON Serialization Syntax</name>
            <artwork align="left"><![CDATA[
{
  "payload": BASE64URL(UTF8(JSON RVR Data)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}
]]></artwork>
          </figure>
          <section anchor="rvr_data">
            <name>JSON RVR Data</name>
            <t>The JSON RVR Data <bcp14>MUST</bcp14> contain the following fields of the <tt>ietf-voucher-request</tt> YANG module as defined in <xref target="I-D.ietf-anima-rfc8366bis"/>;
note that this makes optional leaves in the YANG definition mandatory for the RVR artifact:</t>
            <ul spacing="normal">
              <li>
                <t><tt>created-on</tt>: <bcp14>SHALL</bcp14> contain the current date and time at RVR creation as standard date/time string as defined in <xref section="5.6" sectionFormat="of" target="RFC3339"/></t>
              </li>
              <li>
                <t><tt>nonce</tt>: <bcp14>SHALL</bcp14> contain a copy of the <tt>nonce</tt> field from the JSON PVR Data
the registrar provides this information to assure successful verification of Registrar-Agent proximity based on the agent-signed-data</t>
              </li>
              <li>
                <t><tt>serial-number</tt>: <bcp14>SHALL</bcp14> contain the product-serial-number of the pledge;
note the required verification by the registrar defined in <xref target="pvr"/></t>
              </li>
              <li>
                <t><tt>idevid-issuer</tt>: <bcp14>SHALL</bcp14> contain the issuer value from the pledge IDevID certificate obtained from the PVR JWS Protected Header <tt>x5c</tt> field</t>
              </li>
              <li>
                <t><tt>prior-signed-voucher-request</tt>: <bcp14>SHALL</bcp14> contain the PVR artifact as received from the Registrar-Agent, see <xref target="tpvr"/></t>
              </li>
            </ul>
            <t>As BRSKI-PRM uses the Agent Proximity Assertion (see <xref target="agt_prx"/>), the JSON RVR Data <bcp14>MUST</bcp14> also contain the following fields:</t>
            <ul spacing="normal">
              <li>
                <t><tt>assertion</tt>: <bcp14>SHALL</bcp14> contain the value <tt>agent-proximity</tt> to indicate successful verification of the Agent Proximity Assertion (see <xref target="agt_prx"/>) by the registrar</t>
              </li>
              <li>
                <t><tt>agent-sign-cert</tt>: <bcp14>SHALL</bcp14> be a JSON array that contains the base64-encoded Registrar-Agent EE certificate as possessed by the registrar (see <xref target="registrar_component"/>) as the first item;
subsequent items <bcp14>MUST</bcp14> contain the corresponding certificate chain for verification at the MASA;
the field is used for verification of the <tt>agent-signed-data</tt> field of the contained PVR</t>
              </li>
            </ul>
            <t>Note that the <tt>ietf-voucher-request</tt> YANG module defines the leaf <tt>agent-sign-cert</tt> as binary;
this specification refines it as a JSON array structure similar to the <tt>x5c</tt> Header Parameter defined in <xref section="4.1.6" sectionFormat="of" target="RFC7515"/>.</t>
            <t><xref target="rvr_data_example"/> below shows an example for the JSON RVR Data:</t>
            <figure anchor="rvr_data_example">
              <name>JSON RVR Data Example</name>
              <artwork type="json" align="left"><![CDATA[
{
  "ietf-voucher-request:voucher": {
     "created-on": "2022-01-04T02:37:39.235Z",
     "nonce": "eDs++/FuDHGUnRxN3E14CQ==",
     "serial-number": "vendor-pledge4711",
     "idevid-issuer": "base64encodedvalue==",
     "prior-signed-voucher-request": "base64encodedvalue==",
     "assertion": "agent-proximity",
     "agent-sign-cert": [
       "base64encodedvalue==",
       "base64encodedvalue==",
       "..."
     ]
  }
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-protected-header-3">
            <name>JWS Protected Header</name>
            <t>The JWS Protected Header <bcp14>MUST</bcp14> follow the definitions of <xref section="3.2" sectionFormat="of" target="I-D.ietf-anima-jws-voucher"/>.</t>
          </section>
          <section anchor="jws-signature-3">
            <name>JWS Signature</name>
            <t>The domain registrar <bcp14>MUST</bcp14> sign the RVR artifact using its EE credentials following the definitions of <xref section="3.3" sectionFormat="of" target="I-D.ietf-anima-jws-voucher"/>.</t>
          </section>
        </section>
        <section anchor="voucher_artifact">
          <name>Backend Response Artifact: Voucher</name>
          <t>The Voucher artifact is defined in <xref section="5.6" sectionFormat="of" target="RFC8995"/> (cf. "voucher response").
The only difference for BRSKI-PRM is that the <tt>assertion</tt> field <bcp14>MAY</bcp14> contain the value <tt>agent-proximity</tt> as defined in <xref target="I-D.ietf-anima-rfc8366bis"/>, when the Agent-Proximity Assertion (see <xref target="agt_prx"/>) is performed by the MASA.</t>
          <t>For the JWS-signed JSON format used by this specification, the Voucher artifact <bcp14>MUST</bcp14> be a JWS Voucher structure as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.
It contains JSON Voucher Data in the JWS Payload, for which an example is given in <xref target="voucher_data_example"/>:</t>
          <figure anchor="voucher_data_example">
            <name>JSON RVR Data Example</name>
            <artwork type="json" align="left"><![CDATA[
{
  "ietf-voucher:voucher": {
    "created-on": "2022-01-04T00:00:02.000Z",
    "nonce": "base64encodedvalue==",
    "assertion": "agent-proximity",
    "pinned-domain-cert": "base64encodedvalue==",
    "serial-number": "vendor-pledge4711"
  }
}
]]></artwork>
          </figure>
        </section>
        <section anchor="rcv_artifact">
          <name>Response Artifact: Registrar-Countersigned Voucher</name>
          <t>The Registrar-Countersigned Voucher (Voucher') artifact <bcp14>SHALL</bcp14> be an extended Voucher artifact based on <xref section="5.6" sectionFormat="of" target="RFC8995"/> using the format defined in <xref target="voucher_artifact"/>.</t>
          <t>For BRSKI-PRM, the domain registrar <bcp14>MUST</bcp14> add an JWS Protected Header and JWS Signature to the MASA-provided Voucher.
<xref target="rcv_representation"/> summarizes the serialization of the JWS-signed JSON Voucher' artifact:</t>
          <figure anchor="rcv_representation">
            <name>Voucher' Representation in General JWS JSON Serialization Syntax</name>
            <artwork align="left"><![CDATA[
{
  "payload": BASE64URL(JSON Voucher Data),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header (MASA))),
      "signature": BASE64URL(JWS Signature (MASA))
    },
    {
      "protected": BASE64URL(UTF8(JWS Protected Header (Registrar))),
      "signature": BASE64URL(JWS Signature (Registrar))
    }
  ]
}
]]></artwork>
          </figure>
          <t>In BRSKI <xref target="RFC8995"/>, the registrar proves possession of its credential through the server authentication within the TLS session with the pledge.
While the pledge cannot verify the registrar certificate at the time of TLS session establishment, it can verify the TLS server certificate through the certificate in the <tt>pinned-domain-cert</tt> field upon receiving the Voucher artifact (see <xref section="5.6.2" sectionFormat="of" target="RFC8995"/>).</t>
          <t>In BRSKI-PRM with the Registrar-Agent mediating all communication, this second signature provides verification and POP of the private key for the registrar EE certificate provided in the initial tPVR artifact from the Registrar-Agent (see <xref target="tpvr_artifact"/>).</t>
          <t>Depending on the security policy of the operator, this signature can also be interpreted as explicit authorization of the registrar to install the contained trust anchor (i.e., pinned domain certificate).</t>
          <section anchor="json-voucher-data">
            <name>JSON Voucher Data</name>
            <t>As provided by the MASA inside the JWS Payload.
The domain registrar <bcp14>MUST NOT</bcp14> modify the JWS Payload.</t>
          </section>
          <section anchor="jws-protected-header-registrar">
            <name>JWS Protected Header (Registrar)</name>
            <t>The registrar-added JWS Protected Header (Registrar) <bcp14>MUST</bcp14> contain the following standard Header Parameters as defined in <xref target="RFC7515"/>:</t>
            <ul spacing="normal">
              <li>
                <t><tt>alg</tt>: <bcp14>SHALL</bcp14> contain the algorithm type used to create the signature, e.g., <tt>ES256</tt>, as defined in <xref section="4.1.1" sectionFormat="of" target="RFC7515"/></t>
              </li>
              <li>
                <t><tt>x5c</tt>: <bcp14>SHALL</bcp14> contain the base64-encoded registrar EE certificate used to sign the voucher as well as the certificate chain up to (but not including) the pinned domain certificate (the initial domain trust anchor);
the pinned domain certificate is already contained in the JSON Voucher Data</t>
              </li>
            </ul>
            <t>Note that for many installations with a single registrar credential, the registrar EE certificate is pinned.</t>
          </section>
          <section anchor="jws-signature-registrar">
            <name>JWS Signature (Registrar)</name>
            <t>The signature is created by signing the registrar-added JWS Protected Header (Registrar) and the original JWS Payload produced by the MASA as described in <xref section="5.1" sectionFormat="of" target="RFC7515"/>.
The registrar <bcp14>MUST</bcp14> use its EE credentials to sign.</t>
            <t>Note that the credentials need to be the same as used for server authentication in the TLS session with the Registrar-Agent receiving this artifact (see <xref target="registrar_component"/>).</t>
          </section>
        </section>
      </section>
      <section anchor="per">
        <name>Supply PER to Registrar (including Key Infrastructure interaction; requestenroll)</name>
        <t>After receiving the Voucher artifact, the Registrar-Agent sends the PER to the domain registrar within the same TLS session.</t>
        <t>In case the TLS session to the registrar is already closed, the Registrar-Agent establishes a new session as described in <xref target="pvr"/>.
The registrar is able to correlate the PVR and PER artifacts based on the signatures and the contained product-serial-number.
Note that this also addresses situations in which a nonceless voucher is used and may be pre-provisioned to the pledge.</t>
        <t><xref target="exchangesfig_uc2_4"/> depicts exchanges for the PER-request handling and the following subsections describe the corresponding artifacts.
Note that "Request" and "Certificate" do not denote BRSKI-PRM defined artifacts, but are data objects depending on the certificate management protocol used by the domain Key Infrastructure.</t>
        <figure anchor="exchangesfig_uc2_4">
          <name>Enroll exchange</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="288" width="576" viewBox="0 0 576 288" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
                <path d="M 16,160 L 16,256" fill="none" stroke="black"/>
                <path d="M 80,32 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,32 L 120,80" fill="none" stroke="black"/>
                <path d="M 168,160 L 168,256" fill="none" stroke="black"/>
                <path d="M 224,32 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,32 L 264,80" fill="none" stroke="black"/>
                <path d="M 312,160 L 312,256" fill="none" stroke="black"/>
                <path d="M 360,32 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,32 L 400,80" fill="none" stroke="black"/>
                <path d="M 456,160 L 456,256" fill="none" stroke="black"/>
                <path d="M 472,32 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,32 L 512,80" fill="none" stroke="black"/>
                <path d="M 560,160 L 560,256" fill="none" stroke="black"/>
                <path d="M 568,32 L 568,80" fill="none" stroke="black"/>
                <path d="M 8,32 L 80,32" fill="none" stroke="black"/>
                <path d="M 120,32 L 224,32" fill="none" stroke="black"/>
                <path d="M 264,32 L 360,32" fill="none" stroke="black"/>
                <path d="M 400,32 L 472,32" fill="none" stroke="black"/>
                <path d="M 512,32 L 568,32" fill="none" stroke="black"/>
                <path d="M 8,80 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,80 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,80 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,80 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,80 L 568,80" fill="none" stroke="black"/>
                <path d="M 176,176 L 216,176" fill="none" stroke="black"/>
                <path d="M 256,176 L 304,176" fill="none" stroke="black"/>
                <path d="M 176,192 L 224,192" fill="none" stroke="black"/>
                <path d="M 256,192 L 304,192" fill="none" stroke="black"/>
                <path d="M 320,208 L 344,208" fill="none" stroke="black"/>
                <path d="M 424,208 L 448,208" fill="none" stroke="black"/>
                <path d="M 320,224 L 336,224" fill="none" stroke="black"/>
                <path d="M 176,240 L 192,240" fill="none" stroke="black"/>
                <path d="M 288,240 L 304,240" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="456,208 444,202.4 444,213.6" fill="black" transform="rotate(0,448,208)"/>
                <polygon class="arrowhead" points="328,224 316,218.4 316,229.6" fill="black" transform="rotate(180,320,224)"/>
                <polygon class="arrowhead" points="312,192 300,186.4 300,197.6" fill="black" transform="rotate(0,304,192)"/>
                <polygon class="arrowhead" points="312,176 300,170.4 300,181.6" fill="black" transform="rotate(0,304,176)"/>
                <polygon class="arrowhead" points="184,240 172,234.4 172,245.6" fill="black" transform="rotate(180,176,240)"/>
                <polygon class="arrowhead" points="184,176 172,170.4 172,181.6" fill="black" transform="rotate(180,176,176)"/>
                <g class="text">
                  <text x="44" y="52">Pledge</text>
                  <text x="172" y="52">Registrar-</text>
                  <text x="308" y="52">Domain</text>
                  <text x="432" y="52">Key</text>
                  <text x="540" y="52">MASA</text>
                  <text x="168" y="68">Agent</text>
                  <text x="312" y="68">Registrar</text>
                  <text x="436" y="68">Infra.</text>
                  <text x="16" y="100">|</text>
                  <text x="168" y="100">|</text>
                  <text x="312" y="100">|</text>
                  <text x="456" y="100">|</text>
                  <text x="516" y="100">Internet</text>
                  <text x="560" y="100">|</text>
                  <text x="16" y="116">~</text>
                  <text x="168" y="116">~</text>
                  <text x="312" y="116">~</text>
                  <text x="456" y="116">~</text>
                  <text x="560" y="116">~</text>
                  <text x="16" y="132">(4)</text>
                  <text x="60" y="132">Supply</text>
                  <text x="104" y="132">PER</text>
                  <text x="132" y="132">to</text>
                  <text x="184" y="132">Registrar</text>
                  <text x="268" y="132">(including</text>
                  <text x="328" y="132">Key</text>
                  <text x="404" y="132">Infrastructure</text>
                  <text x="516" y="132">interaction)</text>
                  <text x="16" y="148">~</text>
                  <text x="168" y="148">~</text>
                  <text x="312" y="148">~</text>
                  <text x="456" y="148">~</text>
                  <text x="560" y="148">~</text>
                  <text x="236" y="180">mTLS</text>
                  <text x="240" y="196">PER</text>
                  <text x="384" y="212">[Request]</text>
                  <text x="396" y="228">[Certificate]-</text>
                  <text x="240" y="244">Enroll-Resp</text>
                  <text x="16" y="276">~</text>
                  <text x="168" y="276">~</text>
                  <text x="312" y="276">~</text>
                  <text x="456" y="276">~</text>
                  <text x="560" y="276">~</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(4) Supply PER to Registrar (including Key Infrastructure interaction)
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<----(mTLS)----->|                 |            |
 |                  |-------PER------>|                 |            |
 |                  |                 |----[Request]--->|            |
 |                  |                 |<--[Certificate]-|            |
 |                  |<--Enroll-Resp---|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
          </artset>
        </figure>
        <t>As a second step of the interaction with the domain registrar, the Registrar-Agent <bcp14>SHALL</bcp14> supply the PER artifact(s) to the registrar via HTTP-over-TLS POST to the registrar endpoint at <tt>/.well-known/brski/requestenroll</tt>.
The request body <bcp14>MUST</bcp14> contain one previously acquired PER artifact as defined in <xref target="per_artifact"/>.
In the request header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/jose+json</tt> and the Accept field <bcp14>SHOULD</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>Note that this is different from the EST <xref target="RFC7030"/> endpoint used in BRSKI, as the PER artifact is signature-wrapped.
Hence, upon receiving a PER artifact, the registrar <bcp14>MUST</bcp14> verify that</t>
        <ul spacing="normal">
          <li>
            <t>the PER was signed with the private key corresponding to the pledge EE certificate, which is contained in the JWS Protected Header of the PER.</t>
          </li>
          <li>
            <t>the pledge identified by its EE certificate is accepted to join the domain after successful validation of the corresponding PVR.</t>
          </li>
        </ul>
        <t>If the registrar is unable to process the request or validate the PER, it <bcp14>MUST</bcp14> respond with an HTTP client error status code to the Registrar-Agent.
The following client error status codes <bcp14>SHOULD</bcp14> be used:</t>
        <ul spacing="normal">
          <li>
            <t>400 Bad Request: if the registrar detects an error in the format of the request</t>
          </li>
          <li>
            <t>401 Unauthorized: if the signature of the PER cannot be verified</t>
          </li>
          <li>
            <t>404 Not Found: if the PER is for a device that is not known to the registrar</t>
          </li>
          <li>
            <t>406 Not Acceptable: if the Accept request header field indicates a type that is unknown or unsupported, e.g., a type other than <tt>application/jose+json</tt></t>
          </li>
          <li>
            <t>415 Unsupported Media Type: if the PER uses an artifact format that is not supported by the registrar, e.g., a type other than <tt>application/jose+json</tt></t>
          </li>
        </ul>
        <t>Otherwise, the registrar extracts the PKCS#10 Certificate Signing Request (CSR) inside the PER (see <xref target="per_artifact"/>) and uses the CSR to request a new pledge EE certificate from the domain Key Infrastructure.
The exact interaction and exchanged data objects depends on the certificate management protocol used by the Key Infrastructure, and is out of scope for this document.</t>
        <t>A successful interaction with the Key Infrastructure will result in a pledge EE certificate signed by the domain owner (e.g., LDevID certificate).
The registrar <bcp14>MUST</bcp14> reply to the Registrar-Agent with the Enroll-Response (Enroll-Resp) as defined in <xref target="er_artifact"/> in the body of an HTTP 200 OK response.
In the response header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/pkcs7-mime</tt>.</t>
        <t>If the domain registrar is unable to return the Enroll-Resp, it <bcp14>MUST</bcp14> respond with an HTTP server error status code to the Registrar-Agent.
The following server error status codes <bcp14>SHOULD</bcp14> be used:</t>
        <ul spacing="normal">
          <li>
            <t>500 Internal Server Error: if the Key Infrastructure response is valid, but the registrar still failed to return the Enroll-Resp, e.g., due to missing configuration or a program failure</t>
          </li>
          <li>
            <t>502 Bad Gateway: if the registrar received an invalid response from the Key Infrastructure</t>
          </li>
          <li>
            <t>503 Service Unavailable: if a simple retry of the Registrar-Agent request might lead to a successful response; this error response <bcp14>SHOULD</bcp14> include the Retry-After response header field with an appropriate value</t>
          </li>
          <li>
            <t>504 Gateway Timeout: if the backend request to the Key Infrastructure timed out</t>
          </li>
        </ul>
        <t>Note that while BRSKI-PRM targets the initial enrollment, re-enrollment may be supported similarly with the exception that the current, potentially application-related pledge EE certificate is used instead of the IDevID certificate to sign the PER artifact (see also <xref target="tper"/>).
Hence, there is no verification whether the pledge is accepted to join the domain, as the still valid EE certificate signed by the domain owner identifies the pledge as already accepted component of the domain.</t>
        <section anchor="request-artifact-pledge-enroll-request-per">
          <name>Request Artifact: Pledge Enroll-Request (PER)</name>
          <t>Identical to the PER artifact defined in <xref target="per_artifact"/>.
The Registrar-Agent <bcp14>MUST NOT</bcp14> modify PERs received from pledges.</t>
        </section>
        <section anchor="er_artifact">
          <name>Response Artifact: Registrar Enroll-Response (Enroll-Resp)</name>
          <t>The Enroll-Response (Enroll-Resp) artifact <bcp14>SHALL</bcp14> be an authenticated self-contained object signed by the domain owner, containing a pledge EE certificate.</t>
          <t>For this specification, the Enroll-Resp artifact <bcp14>MUST</bcp14> be a certs-only CMC Simple PKI Response (PKCS#7) as defined in <xref section="4.1" sectionFormat="of" target="RFC5272"/> (following EST <xref target="RFC7030"/>).
Note that it only contains the pledge EE certificate, but not the certificate chain.
The chain is provided with the CA certificates.</t>
        </section>
      </section>
      <section anchor="obtain_cacerts">
        <name>Obtain CA Certificates (wrappedcacerts)</name>
        <t>The pinned domain certificate in the voucher is only the initial trust anchor for only the domain registrar.
To fully trust the domain and also to verify its own EE certificate, the pledge also needs the corresponding domain CA certificate(s).
A bag of CA certificates signed by the registrar will allow the pledge to verify the authorization to install the received CA certificate(s) through the pinned domain certificate in the voucher.</t>
        <t>Note that this is a deviation from EST <xref target="RFC7030"/> used in BRSKI <xref target="RFC8995"/>.</t>
        <t>The Registrar-Agent obtains this artifact within the same TLS session.
In case the TLS session to the registrar is already closed, the Registrar-Agent establishes a new session as described in <xref target="pvr"/>.
The CA certificates do not need to be correlated to a specific voucher or Enroll-Response; they only need to be fresh.</t>
        <t><xref target="exchangesfig_uc2_5"/> shows the acquisition of the CA certificate(s) and the following subsections describe the corresponding artifact.</t>
        <figure anchor="exchangesfig_uc2_5">
          <name>CA certificates retrieval exchange</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="240" width="576" viewBox="0 0 576 240" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
                <path d="M 16,160 L 16,208" fill="none" stroke="black"/>
                <path d="M 80,32 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,32 L 120,80" fill="none" stroke="black"/>
                <path d="M 168,160 L 168,208" fill="none" stroke="black"/>
                <path d="M 224,32 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,32 L 264,80" fill="none" stroke="black"/>
                <path d="M 312,160 L 312,208" fill="none" stroke="black"/>
                <path d="M 360,32 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,32 L 400,80" fill="none" stroke="black"/>
                <path d="M 456,160 L 456,208" fill="none" stroke="black"/>
                <path d="M 472,32 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,32 L 512,80" fill="none" stroke="black"/>
                <path d="M 560,160 L 560,208" fill="none" stroke="black"/>
                <path d="M 568,32 L 568,80" fill="none" stroke="black"/>
                <path d="M 8,32 L 80,32" fill="none" stroke="black"/>
                <path d="M 120,32 L 224,32" fill="none" stroke="black"/>
                <path d="M 264,32 L 360,32" fill="none" stroke="black"/>
                <path d="M 400,32 L 472,32" fill="none" stroke="black"/>
                <path d="M 512,32 L 568,32" fill="none" stroke="black"/>
                <path d="M 8,80 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,80 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,80 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,80 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,80 L 568,80" fill="none" stroke="black"/>
                <path d="M 176,176 L 216,176" fill="none" stroke="black"/>
                <path d="M 256,176 L 304,176" fill="none" stroke="black"/>
                <path d="M 176,192 L 208,192" fill="none" stroke="black"/>
                <path d="M 272,192 L 304,192" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="312,176 300,170.4 300,181.6" fill="black" transform="rotate(0,304,176)"/>
                <polygon class="arrowhead" points="184,192 172,186.4 172,197.6" fill="black" transform="rotate(180,176,192)"/>
                <polygon class="arrowhead" points="184,176 172,170.4 172,181.6" fill="black" transform="rotate(180,176,176)"/>
                <g class="text">
                  <text x="44" y="52">Pledge</text>
                  <text x="172" y="52">Registrar-</text>
                  <text x="308" y="52">Domain</text>
                  <text x="432" y="52">Key</text>
                  <text x="540" y="52">MASA</text>
                  <text x="168" y="68">Agent</text>
                  <text x="312" y="68">Registrar</text>
                  <text x="436" y="68">Infra.</text>
                  <text x="16" y="100">|</text>
                  <text x="168" y="100">|</text>
                  <text x="312" y="100">|</text>
                  <text x="456" y="100">|</text>
                  <text x="516" y="100">Internet</text>
                  <text x="560" y="100">|</text>
                  <text x="16" y="116">~</text>
                  <text x="168" y="116">~</text>
                  <text x="312" y="116">~</text>
                  <text x="456" y="116">~</text>
                  <text x="560" y="116">~</text>
                  <text x="16" y="132">(5)</text>
                  <text x="60" y="132">Obtain</text>
                  <text x="100" y="132">CA</text>
                  <text x="164" y="132">Certificates</text>
                  <text x="16" y="148">~</text>
                  <text x="168" y="148">~</text>
                  <text x="312" y="148">~</text>
                  <text x="456" y="148">~</text>
                  <text x="560" y="148">~</text>
                  <text x="236" y="180">mTLS</text>
                  <text x="240" y="196">caCerts</text>
                  <text x="16" y="228">~</text>
                  <text x="168" y="228">~</text>
                  <text x="312" y="228">~</text>
                  <text x="456" y="228">~</text>
                  <text x="560" y="228">~</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(5) Obtain CA Certificates
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<----(mTLS)----->|                 |            |
 |                  |<----caCerts-----|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
          </artset>
        </figure>
        <t>As a third step of the interaction with the domain registrar, the Registrar-Agent <bcp14>SHALL</bcp14> obtain the CA-Certificates artifact from the registrar via HTTP-over-TLS GET to the registrar endpoint at <tt>/.well-known/brski/wrappedcacerts</tt>.
In the request header, the Accept field <bcp14>SHOULD</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>Upon receiving a GET request at <tt>/.well-known/brski/wrappedcacerts</tt>, the domain registrar <bcp14>MUST</bcp14> reply with the CA-Certificates artifact as defined in <xref target="cacerts_artifact"/> in the body of an HTTP 200 OK response.
In the response header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <section anchor="request-no-artifact">
          <name>Request (no artifact)</name>
          <t>In this exchange, the request is a result of the HTTP(S) default transport for this specification.
There is no artifact provided to the registrar.</t>
        </section>
        <section anchor="cacerts_artifact">
          <name>Response Artifact: CA-Certificates (caCerts)</name>
          <t>The CA-Certificates (caCerts) artifact <bcp14>SHALL</bcp14> be an authenticated self-contained object signed by the registrar, containing the domain trust anchors and the certificate chain for the pledge domain EE certificate, i.e., the root CA certificate(s) and possibly intermediate certificate(s) as described in <xref section="4.1.3" sectionFormat="of" target="RFC7030"/>.</t>
          <t>For the JWS-signed JSON format used by this specification, the caCerts artifact <bcp14>MUST</bcp14> use the "General JWS JSON Serialization Syntax" defined in <xref section="7.2.1" sectionFormat="of" target="RFC7515"/>, which <bcp14>MUST</bcp14> contain the JSON CA Data defined in <xref target="cacerts_data"/> in the JWS Payload.</t>
          <t><xref target="cacerts_representation"/> summarizes the serialization of the JWS-signed JSON caCerts artifact:</t>
          <figure anchor="cacerts_representation">
            <name>Voucher' Representation in General JWS JSON Serialization Syntax</name>
            <artwork align="left"><![CDATA[
{
  "payload": BASE64URL(UTF8(JSON CA Data)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}
]]></artwork>
          </figure>
          <t>The JSON CA Data <bcp14>MUST</bcp14> be UTF-8 encoded to become the octet-based JWS Payload defined in <xref target="RFC7515"/>.
The JWS Payload is further base64url-encoded to become the string value of the <tt>payload</tt> member as described in <xref section="3.2" sectionFormat="of" target="RFC7515"/>.
The octets of the UTF-8 representation of the JWS Protected Header are base64url-encoded to become the string value of the <tt>protected</tt> member.
The generated JWS Signature is base64url-encoded to become the string value of the <tt>signature</tt> member.</t>
          <section anchor="cacerts_data">
            <name>JSON CA Data</name>
            <t>The JSON CA Data <bcp14>SHALL</bcp14> be a JSON document <xref target="RFC8259"/> that <bcp14>MUST</bcp14> conform with the CDDL <xref target="RFC8610"/> data model defined in <xref target="cacerts_CDDL_def"/>:</t>
            <figure anchor="cacerts_CDDL_def">
              <name>CDDL for JSON CA Data (cacerts)</name>
              <artwork type="cddl" align="left"><![CDATA[
cacerts = {
        "x5bag": bytes / [2* bytes]
}
]]></artwork>
            </figure>
            <t>The <tt>x5bag</tt> member <bcp14>MUST</bcp14> follow the definition of the <tt>x5bag</tt> COSE Header Parameter in <xref section="2" sectionFormat="of" target="RFC9360"/>.
It is either a single X.509 v3 certificate or an array of at least two X.509 v3 certificates in DER format.
For JSON syntax, the octet-based certificates <bcp14>MUST</bcp14> be base64-encoded.
It <bcp14>SHALL</bcp14> contain one or more domain CA (root or issuing) certificates.</t>
            <t>Note that as per <xref target="RFC8995"/>, the domain registrar acts as EST server, and hence is expected to possess the CA certificates applicable for the domain and can thus deliver them to the pledge (see <xref target="registrar_component"/>).</t>
            <t><xref target="cacerts_data_example"/> below shows an example for the JSON CA Data:</t>
            <figure anchor="cacerts_data_example">
              <name>JSON CA Data Example</name>
              <artwork align="left"><![CDATA[
{
  "x5bag": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-protected-header-4">
            <name>JWS Protected Header</name>
            <t>The JWS Protected Header of the caCerts artifact <bcp14>MUST</bcp14> contain the following standard Header Parameters as defined in <xref target="RFC7515"/>:</t>
            <ul spacing="normal">
              <li>
                <t><tt>alg</tt>: <bcp14>SHALL</bcp14> contain the algorithm type used to create the signature, e.g., <tt>ES256</tt>, as defined in <xref section="4.1.1" sectionFormat="of" target="RFC7515"/></t>
              </li>
              <li>
                <t><tt>x5c</tt>: <bcp14>SHALL</bcp14> contain the base64-encoded registrar EE certificate used to sign the caCerts artifact as well as the certificate chain up to (but not including) the pinned domain certificate</t>
              </li>
            </ul>
            <t><xref target="cacerts_header"/> below shows an example for this JWS Protected Header:</t>
            <figure anchor="cacerts_header">
              <name>JWS Protected Header Example within PER</name>
              <artwork align="left"><![CDATA[
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-signature-4">
            <name>JWS Signature</name>
            <t>The registrar <bcp14>MUST</bcp14> sign the caCerts artifact using its EE credentials.
The JWS Signature is generated over the JWS Protected Header and the JWS Payload as described in <xref section="5.1" sectionFormat="of" target="RFC7515"/>.</t>
          </section>
        </section>
      </section>
      <section anchor="voucher">
        <name>Supply Voucher to Pledge (svr)</name>
        <t>Once the Registrar-Agent has acquired the following three bootstrapping artifacts, it can supply them to the pledge starting with the Voucher':</t>
        <ul spacing="normal">
          <li>
            <t>Voucher': voucher countersigned by the registrar (from MASA via Registrar)</t>
          </li>
          <li>
            <t>Enroll-Resp: pledge EE certificate signed by the domain owner (from Key Infrastructure via registrar)</t>
          </li>
          <li>
            <t>caCerts: domain trust anchors (from Key Infrastructure via Registrar)</t>
          </li>
        </ul>
        <t>Reconnecting to the pledge might require to re-discover the pledge as described in <xref target="discovery_uc2_ppa"/>.
The Registrar-Agent <bcp14>MAY</bcp14> store information from the first connection with the pledge to optimize.</t>
        <t>Optionally, TLS <bcp14>MAY</bcp14> be used to provide privacy for this exchange between the Registrar-Agent and the pledge (see <xref target="pledgehttps"/>).</t>
        <t><xref target="exchangesfig_uc2_6"/> shows the provisioning of the voucher to the pledge and the following subsections describe the corresponding artifacts.</t>
        <figure anchor="exchangesfig_uc2_6">
          <name>Voucher exchange</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="576" viewBox="0 0 576 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
                <path d="M 16,160 L 16,224" fill="none" stroke="black"/>
                <path d="M 80,32 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,32 L 120,80" fill="none" stroke="black"/>
                <path d="M 168,160 L 168,224" fill="none" stroke="black"/>
                <path d="M 224,32 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,32 L 264,80" fill="none" stroke="black"/>
                <path d="M 312,160 L 312,224" fill="none" stroke="black"/>
                <path d="M 360,32 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,32 L 400,80" fill="none" stroke="black"/>
                <path d="M 456,160 L 456,224" fill="none" stroke="black"/>
                <path d="M 472,32 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,32 L 512,80" fill="none" stroke="black"/>
                <path d="M 560,160 L 560,224" fill="none" stroke="black"/>
                <path d="M 568,32 L 568,80" fill="none" stroke="black"/>
                <path d="M 8,32 L 80,32" fill="none" stroke="black"/>
                <path d="M 120,32 L 224,32" fill="none" stroke="black"/>
                <path d="M 264,32 L 360,32" fill="none" stroke="black"/>
                <path d="M 400,32 L 472,32" fill="none" stroke="black"/>
                <path d="M 512,32 L 568,32" fill="none" stroke="black"/>
                <path d="M 8,80 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,80 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,80 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,80 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,80 L 568,80" fill="none" stroke="black"/>
                <path d="M 24,176 L 56,176" fill="none" stroke="black"/>
                <path d="M 128,176 L 160,176" fill="none" stroke="black"/>
                <path d="M 24,192 L 64,192" fill="none" stroke="black"/>
                <path d="M 136,192 L 160,192" fill="none" stroke="black"/>
                <path d="M 24,208 L 64,208" fill="none" stroke="black"/>
                <path d="M 128,208 L 160,208" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="168,208 156,202.4 156,213.6" fill="black" transform="rotate(0,160,208)"/>
                <polygon class="arrowhead" points="168,176 156,170.4 156,181.6" fill="black" transform="rotate(0,160,176)"/>
                <polygon class="arrowhead" points="32,192 20,186.4 20,197.6" fill="black" transform="rotate(180,24,192)"/>
                <polygon class="arrowhead" points="32,176 20,170.4 20,181.6" fill="black" transform="rotate(180,24,176)"/>
                <g class="text">
                  <text x="44" y="52">Pledge</text>
                  <text x="172" y="52">Registrar-</text>
                  <text x="308" y="52">Domain</text>
                  <text x="432" y="52">Key</text>
                  <text x="540" y="52">MASA</text>
                  <text x="168" y="68">Agent</text>
                  <text x="312" y="68">Registrar</text>
                  <text x="436" y="68">Infra.</text>
                  <text x="16" y="100">|</text>
                  <text x="168" y="100">|</text>
                  <text x="312" y="100">|</text>
                  <text x="456" y="100">|</text>
                  <text x="516" y="100">Internet</text>
                  <text x="560" y="100">|</text>
                  <text x="16" y="116">~</text>
                  <text x="168" y="116">~</text>
                  <text x="312" y="116">~</text>
                  <text x="456" y="116">~</text>
                  <text x="560" y="116">~</text>
                  <text x="16" y="132">(6)</text>
                  <text x="60" y="132">Supply</text>
                  <text x="120" y="132">Voucher</text>
                  <text x="164" y="132">to</text>
                  <text x="204" y="132">Pledge</text>
                  <text x="16" y="148">~</text>
                  <text x="168" y="148">~</text>
                  <text x="312" y="148">~</text>
                  <text x="456" y="148">~</text>
                  <text x="560" y="148">~</text>
                  <text x="76" y="180">opt.</text>
                  <text x="112" y="180">TLS</text>
                  <text x="100" y="196">Voucher'</text>
                  <text x="96" y="212">vStatus</text>
                  <text x="16" y="244">~</text>
                  <text x="168" y="244">~</text>
                  <text x="312" y="244">~</text>
                  <text x="456" y="244">~</text>
                  <text x="560" y="244">~</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(6) Supply Voucher to Pledge
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<-----Voucher''---|                 |                 |            |
 |------vStatus---->|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
          </artset>
        </figure>
        <t>The Registrar-Agent <bcp14>SHALL</bcp14> supply the voucher to the pledge via HTTP(S) POST to the pledge endpoint at <tt>/.well-known/brski/svr</tt>.
The request body <bcp14>MUST</bcp14> contain the Registrar-Countersigned Voucher (Voucher') artifact previously acquired from the domain registrar as defined in <xref target="rcv_artifact"/>.
In the request header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/voucher-jws+json</tt> as defined in <xref target="I-D.ietf-anima-jws-voucher"/> and the Accept field <bcp14>SHOULD</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>Upon receiving the voucher, the pledge <bcp14>SHALL</bcp14> perform the signature verification in the following order:</t>
        <ol spacing="normal" type="1"><li>
            <t>Verify the MASA signature as described in <xref section="5.6.1" sectionFormat="of" target="RFC8995"/> against the pre-installed manufacturer trust anchor (e.g., IDevID).</t>
          </li>
          <li>
            <t>Provisionally install the initial domain trust anchor contained in the <tt>pinned-domain-cert</tt> field of the voucher.</t>
          </li>
          <li>
            <t>Validate the registrar EE certificate received in the <tt>agent-provided-proximity-registrar-cert</tt> field of the previously received tPVR artifact using the pinned domain certificate;
this terminates the "provisional state" for the object security within the authenticated self-contained objects that in BRSKI-PRM replace the direct TLS connection to the registrar in BRSKI <xref target="RFC8995"/> (see <xref target="agt_prx"/>).</t>
          </li>
          <li>
            <t>Verify registrar signature of the Voucher' artifact similar as described in <xref section="5.6.1" sectionFormat="of" target="RFC8995"/>, but using the pinned domain certificate instead of the MASA certificate for the verification.</t>
          </li>
        </ol>
        <t>If all steps above complete successfully, the pledge <bcp14>SHALL</bcp14> terminate the "provisional state" for the initial domain trust anchor (i.e., the pinned domain certificate).</t>
        <t>A nonceless voucher <bcp14>MAY</bcp14> be accepted as in <xref target="RFC8995"/> if allowed by the pledge implementation of the manufacturer.</t>
        <t>After voucher validation and verification, the pledge needs to reply with a status telemetry message as defined in <xref section="5.7" sectionFormat="of" target="RFC8995"/>.
The pledge <bcp14>MUST</bcp14> generate the Voucher Status (vStatus) artifact as defined in <xref target="vstatus_artifact"/> and <bcp14>MUST</bcp14> provide it to the Registrar-Agent in the body of an HTTP 200 OK response.
In the response header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>If the pledge is unable to validate or verify the voucher, it <bcp14>MUST</bcp14> report the reason in the corresponding field of the Voucher Status.</t>
        <t>If the pledge did not provide voucher status telemetry information after processing the voucher, the Registrar-Agent <bcp14>MAY</bcp14> query the pledge status explicitly as described in <xref target="query"/>.
It <bcp14>MAY</bcp14> resend the voucher depending on the Pledge status following the same procedure.</t>
        <section anchor="request-artifact-registrar-countersigned-voucher">
          <name>Request Artifact: Registrar-Countersigned Voucher</name>
          <t>Identical to the Registrar-Countersigned Voucher (Voucher') artifact received from the registrar as defined in <xref target="rcv_artifact"/>.
The Registrar-Agent <bcp14>MUST NOT</bcp14> modify countersigned vouchers.</t>
        </section>
        <section anchor="vstatus_artifact">
          <name>Response Artifact: Voucher Status (vStatus)</name>
          <t>The Voucher Status (vStatus) artifact <bcp14>SHALL</bcp14> be an authenticated self-contained object signed by the pledge, containing status telemetry as defined in <xref section="5.7" sectionFormat="of" target="RFC8995"/>.</t>
          <t>For the JWS-signed JSON format used by this specification, the vStatus artifact <bcp14>MUST</bcp14> use the "General JWS JSON Serialization Syntax" defined in <xref section="7.2.1" sectionFormat="of" target="RFC7515"/>, which <bcp14>MUST</bcp14> contain the JSON Voucher Status Data defined in <xref target="vstatus_data"/> in the JWS Payload.
<xref target="vstatus_representation"/> summarizes the serialization of the JWS-signed JSON vStatus artifact:</t>
          <figure anchor="vstatus_representation">
            <name>vStatus Representation in General JWS JSON Serialization Syntax</name>
            <artwork align="left"><![CDATA[
{
  "payload": BASE64URL(UTF8(JSON Voucher Status Data)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}
]]></artwork>
          </figure>
          <t>The JSON Status Data <bcp14>MUST</bcp14> be UTF-8 encoded to become the octet-based JWS Payload defined in <xref target="RFC7515"/>.
The JWS Payload is further base64url-encoded to become the string value of the <tt>payload</tt> member as described in <xref section="3.2" sectionFormat="of" target="RFC7515"/>.
The octets of the UTF-8 representation of the JWS Protected Header are base64url-encoded to become the string value of the <tt>protected</tt> member.
The generated JWS Signature is base64url-encoded to become the string value of the <tt>signature</tt> member.</t>
          <section anchor="vstatus_data">
            <name>JSON Voucher Status Data</name>
            <t>The JSON Status Data <bcp14>SHALL</bcp14> be a JSON document <xref target="RFC8259"/> that <bcp14>MUST</bcp14> conform with the <tt>voucherstatus-post</tt> CDDL <xref target="RFC8610"/> data model defined in <xref section="5.7" sectionFormat="of" target="RFC8995"/>:</t>
            <ul spacing="normal">
              <li>
                <t><tt>version</tt>: contains a version number for the format and semantics of the other fields;
this specification assumes version <tt>1</tt> just like BRSKI <xref target="RFC8995"/></t>
              </li>
              <li>
                <t><tt>status</tt>: contains the boolean value <tt>true</tt> in case of success and <tt>false</tt> in case of failure</t>
              </li>
              <li>
                <t><tt>reason</tt>: contains a human-readable message;
<bcp14>SHOULD NOT</bcp14> provide information beneficial to an attacker</t>
              </li>
              <li>
                <t><tt>reason-context</tt>: contains a JSON object that provides additional information specific to a failure;
in contrast to <xref section="5.7" sectionFormat="of" target="RFC8995"/>, <bcp14>MUST</bcp14> be provided;
<bcp14>SHOULD NOT</bcp14> provide information beneficial to an attacker</t>
              </li>
            </ul>
            <t>BRSKI-PRM implementations utilize the <tt>reason-context</tt> field to provide a distinguishable token, which enables the registrar to detect status artifacts provided to the wrong endpoint.
For vStatus artifacts, the JSON object in the <tt>reason-context</tt> field <bcp14>MUST</bcp14> contain the member <tt>pvs-details</tt>.</t>
            <t><xref target="vstatus_data_example_success"/> below shows an example for the JSON Voucher Status Data in case of success and <xref target="vstatus_data_example_error"/> in case of failure:</t>
            <figure anchor="vstatus_data_example_success">
              <name>JSON Voucher Status Data Success Example</name>
              <artwork type="json" align="left"><![CDATA[
{
  "version": 1,
  "status": true,
  "reason": "Voucher successfully processed.",
  "reason-context": {
    "pvs-details": "Current date 5/23/2024"
  }
}
]]></artwork>
            </figure>
            <figure anchor="vstatus_data_example_error">
              <name>JSON Voucher Status Data Failure Example</name>
              <artwork type="json" align="left"><![CDATA[
{
  "version": 1,
  "status": false,
  "reason": "Failed to authenticate MASA certificate.",
  "reason-context": {
    "pvs-details": "Current date 1/1/1970 < valid from 1/1/2023"
  }
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-protected-header-5">
            <name>JWS Protected Header</name>
            <t>The JWS Protected Header of the vStatus artifact <bcp14>MUST</bcp14> contain the following standard Header Parameters as defined in <xref target="RFC7515"/>:</t>
            <ul spacing="normal">
              <li>
                <t><tt>alg</tt>: <bcp14>SHALL</bcp14> contain the algorithm type used to create the signature, e.g., <tt>ES256</tt>, as defined in <xref section="4.1.1" sectionFormat="of" target="RFC7515"/></t>
              </li>
              <li>
                <t><tt>x5c</tt>: <bcp14>SHALL</bcp14> contain the base64-encoded pledge IDevID certificate used to sign the vStatus artifact;
it <bcp14>SHOULD</bcp14> also contain the certificate chain for this certificate;
if the certificate chain is not included in the <tt>x5c</tt> Header Parameter, it <bcp14>MUST</bcp14> be available at the domain registrar for verification</t>
              </li>
            </ul>
            <t><xref target="vstatus_header"/> below shows an example for this JWS Protected Header:</t>
            <figure anchor="vstatus_header">
              <name>JWS Protected Header Example within vStatus</name>
              <artwork type="json" align="left"><![CDATA[
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-signature-5">
            <name>JWS Signature</name>
            <t>The pledge <bcp14>MUST</bcp14> sign the vStatus artifact using its IDevID credential.
The JWS Signature is generated over the JWS Protected Header and the JWS Payload as described in <xref section="5.1" sectionFormat="of" target="RFC7515"/>.</t>
          </section>
        </section>
      </section>
      <section anchor="cacerts">
        <name>Supply CA Certificates to Pledge (scac)</name>
        <t>Before supplying the pledge EE certificate, the Registrar-Agent supplies the domain CA certificates to the pledge, so the pledge can verify its EE certificate in the next exchange.
As the CA certificate provisioning is crucial from a security perspective, this exchange <bcp14>SHOULD</bcp14> only be done, if supplying the voucher in the previous exchange (<xref target="voucher"/>) has been successfully processed by the pledge as reflected in the vStatus artifact.</t>
        <t>Optionally, TLS <bcp14>MAY</bcp14> be used to provide privacy for this exchange between the Registrar-Agent and the pledge (see <xref target="pledgehttps"/>).</t>
        <t><xref target="exchangesfig_uc2_7"/> shows the provisioning of the CA certificates to the pledge and the following subsections describe the corresponding artifacts.</t>
        <figure anchor="exchangesfig_uc2_7">
          <name>Certificate provisioning exchange</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="240" width="576" viewBox="0 0 576 240" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
                <path d="M 16,160 L 16,208" fill="none" stroke="black"/>
                <path d="M 80,32 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,32 L 120,80" fill="none" stroke="black"/>
                <path d="M 168,160 L 168,208" fill="none" stroke="black"/>
                <path d="M 224,32 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,32 L 264,80" fill="none" stroke="black"/>
                <path d="M 312,160 L 312,208" fill="none" stroke="black"/>
                <path d="M 360,32 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,32 L 400,80" fill="none" stroke="black"/>
                <path d="M 456,160 L 456,208" fill="none" stroke="black"/>
                <path d="M 472,32 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,32 L 512,80" fill="none" stroke="black"/>
                <path d="M 560,160 L 560,208" fill="none" stroke="black"/>
                <path d="M 568,32 L 568,80" fill="none" stroke="black"/>
                <path d="M 8,32 L 80,32" fill="none" stroke="black"/>
                <path d="M 120,32 L 224,32" fill="none" stroke="black"/>
                <path d="M 264,32 L 360,32" fill="none" stroke="black"/>
                <path d="M 400,32 L 472,32" fill="none" stroke="black"/>
                <path d="M 512,32 L 568,32" fill="none" stroke="black"/>
                <path d="M 8,80 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,80 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,80 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,80 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,80 L 568,80" fill="none" stroke="black"/>
                <path d="M 24,176 L 56,176" fill="none" stroke="black"/>
                <path d="M 128,176 L 160,176" fill="none" stroke="black"/>
                <path d="M 24,192 L 64,192" fill="none" stroke="black"/>
                <path d="M 128,192 L 160,192" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="168,176 156,170.4 156,181.6" fill="black" transform="rotate(0,160,176)"/>
                <polygon class="arrowhead" points="32,192 20,186.4 20,197.6" fill="black" transform="rotate(180,24,192)"/>
                <polygon class="arrowhead" points="32,176 20,170.4 20,181.6" fill="black" transform="rotate(180,24,176)"/>
                <g class="text">
                  <text x="44" y="52">Pledge</text>
                  <text x="172" y="52">Registrar-</text>
                  <text x="308" y="52">Domain</text>
                  <text x="432" y="52">Key</text>
                  <text x="540" y="52">MASA</text>
                  <text x="168" y="68">Agent</text>
                  <text x="312" y="68">Registrar</text>
                  <text x="436" y="68">Infra.</text>
                  <text x="16" y="100">|</text>
                  <text x="168" y="100">|</text>
                  <text x="312" y="100">|</text>
                  <text x="456" y="100">|</text>
                  <text x="516" y="100">Internet</text>
                  <text x="560" y="100">|</text>
                  <text x="16" y="116">~</text>
                  <text x="168" y="116">~</text>
                  <text x="312" y="116">~</text>
                  <text x="456" y="116">~</text>
                  <text x="560" y="116">~</text>
                  <text x="16" y="132">(7)</text>
                  <text x="60" y="132">Supply</text>
                  <text x="100" y="132">CA</text>
                  <text x="164" y="132">Certificates</text>
                  <text x="228" y="132">to</text>
                  <text x="268" y="132">Pledge</text>
                  <text x="16" y="148">~</text>
                  <text x="168" y="148">~</text>
                  <text x="312" y="148">~</text>
                  <text x="456" y="148">~</text>
                  <text x="560" y="148">~</text>
                  <text x="76" y="180">opt.</text>
                  <text x="112" y="180">TLS</text>
                  <text x="96" y="196">caCerts</text>
                  <text x="16" y="228">~</text>
                  <text x="168" y="228">~</text>
                  <text x="312" y="228">~</text>
                  <text x="456" y="228">~</text>
                  <text x="560" y="228">~</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(7) Supply CA Certificates to Pledge
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<-----caCerts-----|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
          </artset>
        </figure>
        <t>The Registrar-Agent <bcp14>SHALL</bcp14> provide the bag of CA certificates requested from and signed by the registrar to the pledge by HTTP(S) POST to the pledge endpoint at <tt>/.well-known/brski/scac</tt>.
The request body <bcp14>MUST</bcp14> contain the caCerts artifact as defined in <xref target="cacerts_artifact"/>.
In the request header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>Upon receiving valid caCerts artifact, the pledge <bcp14>MUST</bcp14> first verify the signature of the registrar using the initial trust anchor (pinned domain certificate).
In the case of success, the pledge <bcp14>MUST</bcp14> install the contained CA certificates as trust anchors as described in <xref section="4.1.3" sectionFormat="of" target="RFC7030"/>.
This includes the verification of all intermediate CA certificates (i.e., not self-signed CA certificates).</t>
        <t>If the pledge is unable to process the caCerts, it <bcp14>SHOULD</bcp14> respond with an HTTP error status code to the Registrar-Agent.
The following client error status codes <bcp14>SHOULD</bcp14> be used:</t>
        <ul spacing="normal">
          <li>
            <t>400 Bad Request: if the pledge detects an error in the format of the request</t>
          </li>
          <li>
            <t>401 Unauthorized: if the signature of the registrar cannot be verified against the installed initial trust anchor (pinned domain certificate)</t>
          </li>
          <li>
            <t>403 Forbidden: if one of the intermediate CA certificates cannot be verified against the available trust anchors (e.g., self-signed CA certificates)</t>
          </li>
          <li>
            <t>415 Unsupported Media Type: if the Content-Type request header field indicates a type that is unknown or unsupported, e.g., a type other than <tt>application/jose+json</tt></t>
          </li>
        </ul>
        <t>Otherwise, if processing completes successfully, the pledge <bcp14>SHOULD</bcp14> reply with HTTP 200 OK without a response body.
The pledge <bcp14>MAY</bcp14> use the response body to signal success/failure details to the service technician operating the Registrar-Agent.</t>
        <section anchor="request-artifact-ca-certificates-cacerts">
          <name>Request Artifact: CA-Certificates (caCerts)</name>
          <t>Identical to the CA-Certificates (caCerts) artifact received from the registrar as defined in <xref target="cacerts_artifact"/>.
The Registrar-Agent <bcp14>MUST NOT</bcp14> modify CA-Certificates artifacts.</t>
        </section>
        <section anchor="response-no-artifact">
          <name>Response (no artifact)</name>
          <t>In this exchange, the response is a result of the HTTP(S) default transport for this specification.
There is no artifact provided to the Registrar-Agent.</t>
        </section>
      </section>
      <section anchor="enroll_response">
        <name>Supply Enroll-Response to Pledge (ser)</name>
        <t>After supplying the CA certificates, the Registrar-Agent supplies the pledge EE certificate to the pledge.</t>
        <t>Optionally, TLS <bcp14>MAY</bcp14> be used to provide privacy for this exchange between the Registrar-Agent and the pledge (see <xref target="pledgehttps"/>).</t>
        <t><xref target="exchangesfig_uc2_8"/> shows the provisioning of the domain-owner signed EE certificate to the pledge and the following subsections describe the corresponding artifacts.</t>
        <figure anchor="exchangesfig_uc2_8">
          <name>Enroll-Response exchange</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="576" viewBox="0 0 576 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
                <path d="M 16,160 L 16,224" fill="none" stroke="black"/>
                <path d="M 80,32 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,32 L 120,80" fill="none" stroke="black"/>
                <path d="M 168,160 L 168,224" fill="none" stroke="black"/>
                <path d="M 224,32 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,32 L 264,80" fill="none" stroke="black"/>
                <path d="M 312,160 L 312,224" fill="none" stroke="black"/>
                <path d="M 360,32 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,32 L 400,80" fill="none" stroke="black"/>
                <path d="M 456,160 L 456,224" fill="none" stroke="black"/>
                <path d="M 472,32 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,32 L 512,80" fill="none" stroke="black"/>
                <path d="M 560,160 L 560,224" fill="none" stroke="black"/>
                <path d="M 568,32 L 568,80" fill="none" stroke="black"/>
                <path d="M 8,32 L 80,32" fill="none" stroke="black"/>
                <path d="M 120,32 L 224,32" fill="none" stroke="black"/>
                <path d="M 264,32 L 360,32" fill="none" stroke="black"/>
                <path d="M 400,32 L 472,32" fill="none" stroke="black"/>
                <path d="M 512,32 L 568,32" fill="none" stroke="black"/>
                <path d="M 8,80 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,80 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,80 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,80 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,80 L 568,80" fill="none" stroke="black"/>
                <path d="M 24,176 L 56,176" fill="none" stroke="black"/>
                <path d="M 128,176 L 160,176" fill="none" stroke="black"/>
                <path d="M 24,192 L 48,192" fill="none" stroke="black"/>
                <path d="M 144,192 L 160,192" fill="none" stroke="black"/>
                <path d="M 24,208 L 56,208" fill="none" stroke="black"/>
                <path d="M 120,208 L 160,208" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="168,208 156,202.4 156,213.6" fill="black" transform="rotate(0,160,208)"/>
                <polygon class="arrowhead" points="168,176 156,170.4 156,181.6" fill="black" transform="rotate(0,160,176)"/>
                <polygon class="arrowhead" points="32,192 20,186.4 20,197.6" fill="black" transform="rotate(180,24,192)"/>
                <polygon class="arrowhead" points="32,176 20,170.4 20,181.6" fill="black" transform="rotate(180,24,176)"/>
                <g class="text">
                  <text x="44" y="52">Pledge</text>
                  <text x="172" y="52">Registrar-</text>
                  <text x="308" y="52">Domain</text>
                  <text x="432" y="52">Key</text>
                  <text x="540" y="52">MASA</text>
                  <text x="168" y="68">Agent</text>
                  <text x="312" y="68">Registrar</text>
                  <text x="436" y="68">Infra.</text>
                  <text x="16" y="100">|</text>
                  <text x="168" y="100">|</text>
                  <text x="312" y="100">|</text>
                  <text x="456" y="100">|</text>
                  <text x="516" y="100">Internet</text>
                  <text x="560" y="100">|</text>
                  <text x="16" y="116">~</text>
                  <text x="168" y="116">~</text>
                  <text x="312" y="116">~</text>
                  <text x="456" y="116">~</text>
                  <text x="560" y="116">~</text>
                  <text x="16" y="132">(8)</text>
                  <text x="60" y="132">Supply</text>
                  <text x="152" y="132">Enroll-Response</text>
                  <text x="228" y="132">to</text>
                  <text x="268" y="132">Pledge</text>
                  <text x="16" y="148">~</text>
                  <text x="168" y="148">~</text>
                  <text x="312" y="148">~</text>
                  <text x="456" y="148">~</text>
                  <text x="560" y="148">~</text>
                  <text x="76" y="180">opt.</text>
                  <text x="112" y="180">TLS</text>
                  <text x="96" y="196">Enroll-Resp</text>
                  <text x="88" y="212">eStatus</text>
                  <text x="16" y="244">~</text>
                  <text x="168" y="244">~</text>
                  <text x="312" y="244">~</text>
                  <text x="456" y="244">~</text>
                  <text x="560" y="244">~</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(8) Supply Enroll-Response to Pledge
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<---Enroll-Resp---|                 |                 |            |
 |-----eStatus----->|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
          </artset>
        </figure>
        <t>The Registrar-Agent <bcp14>SHALL</bcp14> send the domain-owner signed EE certificate to the pledge by HTTP(S) POST to the pledge endpoint at <tt>/.well-known/brski/ser</tt>.
The request body <bcp14>MUST</bcp14> contain the Enroll-Response (Enroll-Resp) artifact previously acquired from the domain registrar as defined in <xref target="er_artifact"/>.
In the request header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/pkcs7-mime</tt> and the Accept field <bcp14>SHOULD</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>Upon reception, the pledge <bcp14>SHALL</bcp14> verify the received EE certificate using the installed trust anchors.
After Enroll-Resp validation and verification, the pledge needs to reply with a status telemetry message as defined in <xref section="5.9.4" sectionFormat="of" target="RFC8995"/>.
The pledge <bcp14>MUST</bcp14> generate the Enroll Status (eStatus) artifact as defined in <xref target="estatus_artifact"/> and <bcp14>MUST</bcp14> provide it to the Registrar-Agent in the body of an HTTP 200 OK response.
In the response header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>If the pledge is unable to validate or verify the Enroll-Response, it <bcp14>MUST</bcp14> report the reason in the corresponding field of the Enroll Status.</t>
        <section anchor="request-artifact-enroll-response-enroll-resp">
          <name>Request Artifact: Enroll-Response (Enroll-Resp)</name>
          <t>Identical to the Enroll-Response (Enroll-Resp) artifact received from the registrar as defined in <xref target="er_artifact"/>.
The Registrar-Agent <bcp14>MUST NOT</bcp14> modify Enroll-Response artifacts.</t>
        </section>
        <section anchor="estatus_artifact">
          <name>Response Artifact: Enroll Status (eStatus)</name>
          <t>The Enroll Status (eStatus) artifact <bcp14>SHALL</bcp14> be an authenticated self-contained object signed by the pledge, containing status telemetry as defined in <xref section="5.9.4" sectionFormat="of" target="RFC8995"/>.</t>
          <t>For the JWS-signed JSON format used by this specification, the eStatus artifact <bcp14>MUST</bcp14> use the "General JWS JSON Serialization Syntax" defined in <xref section="7.2.1" sectionFormat="of" target="RFC7515"/>, which <bcp14>MUST</bcp14> contain the JSON Enroll Status Data defined in <xref target="estatus_data"/> in the JWS Payload.
<xref target="estatus_representation"/> summarizes the serialization of the JWS-signed JSON eStatus artifact:</t>
          <figure anchor="estatus_representation">
            <name>eStatus Representation in General JWS JSON Serialization Syntax</name>
            <artwork align="left"><![CDATA[
{
  "payload": BASE64URL(UTF8(JSON Enroll Status Data)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}
]]></artwork>
          </figure>
          <t>The JSON Enroll Status Data <bcp14>MUST</bcp14> be UTF-8 encoded to become the octet-based JWS Payload defined in <xref target="RFC7515"/>.
The JWS Payload is further base64url-encoded to become the string value of the <tt>payload</tt> member as described in <xref section="3.2" sectionFormat="of" target="RFC7515"/>.
The octets of the UTF-8 representation of the JWS Protected Header are base64url-encoded to become the string value of the <tt>protected</tt> member.
The generated JWS Signature is base64url-encoded to become the string value of the <tt>signature</tt> member.</t>
          <section anchor="estatus_data">
            <name>JSON Enroll Status Data</name>
            <t>The JSON Status Data <bcp14>SHALL</bcp14> be a JSON document <xref target="RFC8259"/> that <bcp14>MUST</bcp14> conform with the <tt>enrollstatus-post</tt> CDDL <xref target="RFC8610"/> data model defined in <xref section="5.9.4" sectionFormat="of" target="RFC8995"/>.
The members are the same as for the JSON Voucher Status Data and follow the same definitions as given in <xref target="vstatus_data"/> (incl. making <tt>reason-context</tt> mandatory).</t>
            <t>BRSKI-PRM implementations again utilize the <tt>reason-context</tt> field to provide a distinguishable token.
For eStatus artifacts, the JSON object in the <tt>reason-context</tt> field <bcp14>MUST</bcp14> contain the member <tt>pes-details</tt>.</t>
            <t><xref target="estatus_data_example_success"/> below shows an example for the JSON Enroll Status Data in case of success and <xref target="estatus_data_example_error"/> in case of failure:</t>
            <figure anchor="estatus_data_example_success">
              <name>JSON Enroll Status Data Success Example</name>
              <artwork type="json" align="left"><![CDATA[
{
  "version": 1,
  "status": true,
  "reason": "Enroll-Response successfully processed.",
  "reason-context": {
    "pes-details": "Success"
  }
}
]]></artwork>
            </figure>
            <figure anchor="estatus_data_example_error">
              <name>JSON Enroll Status Data Failure Example</name>
              <artwork type="json" align="left"><![CDATA[
{
  "version": 1,
  "status": false,
  "reason": "Enroll-Response could not be verified.",
  "reason-context": {
    "pes-details": "No matching trust anchor"
  }
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-protected-header-6">
            <name>JWS Protected Header</name>
            <t>The JWS Protected Header of the eStatus artifact <bcp14>MUST</bcp14> contain the following standard Header Parameters as defined in <xref target="RFC7515"/>:</t>
            <ul spacing="normal">
              <li>
                <t><tt>alg</tt>: <bcp14>SHALL</bcp14> contain the algorithm type used to create the signature, e.g., <tt>ES256</tt>, as defined in <xref section="4.1.1" sectionFormat="of" target="RFC7515"/></t>
              </li>
              <li>
                <t><tt>x5c</tt>: <bcp14>SHALL</bcp14> contain the base64-encoded pledge EE certificate used to sign the eStatus artifact;
it <bcp14>SHOULD</bcp14> also contain the certificate chain for this certificate;
if the certificate chain is not included in the <tt>x5c</tt> Header Parameter, it <bcp14>MUST</bcp14> be available at the domain registrar for verification</t>
              </li>
            </ul>
            <t><xref target="estatus_header"/> below shows an example for this JWS Protected Header:</t>
            <figure anchor="estatus_header">
              <name>JWS Protected Header Example within eStatus</name>
              <artwork type="json" align="left"><![CDATA[
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-signature-6">
            <name>JWS Signature</name>
            <t>If the pledge verified the received EE certificate successfully, it <bcp14>MUST</bcp14> sign the eStatus artifact using its new EE credentials.
In failure case, the pledge <bcp14>MUST</bcp14> sign it using its IDevID credentials.
The JWS Signature is generated over the JWS Protected Header and the JWS Payload as described in <xref section="5.1" sectionFormat="of" target="RFC7515"/>.</t>
          </section>
        </section>
      </section>
      <section anchor="vstatus">
        <name>Voucher Status Telemetry (including MASA interaction)</name>
        <t>Once the Registrar-Agent has collected both status artifacts from one or more pledges, it <bcp14>SHALL</bcp14> provide the status information to the domain registrar for further processing, beginning with the voucher status telemetry.</t>
        <t>In case the TLS session to the registrar is closed, the Registrar-Agent establishes a new session as described in <xref target="pvr"/>.</t>
        <t><xref target="exchangesfig_uc2_9"/> shows the provisioning of the voucher status information from the pledge(s) to the registrar and the following subsections describe the corresponding artifact and MASA interaction.</t>
        <figure anchor="exchangesfig_uc2_9">
          <name>Voucher Status telemetry exchange</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="320" width="576" viewBox="0 0 576 320" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
                <path d="M 16,160 L 16,288" fill="none" stroke="black"/>
                <path d="M 80,32 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,32 L 120,80" fill="none" stroke="black"/>
                <path d="M 168,160 L 168,288" fill="none" stroke="black"/>
                <path d="M 224,32 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,32 L 264,80" fill="none" stroke="black"/>
                <path d="M 312,160 L 312,256" fill="none" stroke="black"/>
                <path d="M 360,32 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,32 L 400,80" fill="none" stroke="black"/>
                <path d="M 456,160 L 456,200" fill="none" stroke="black"/>
                <path d="M 456,256 L 456,288" fill="none" stroke="black"/>
                <path d="M 472,32 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,32 L 512,80" fill="none" stroke="black"/>
                <path d="M 560,160 L 560,288" fill="none" stroke="black"/>
                <path d="M 568,32 L 568,80" fill="none" stroke="black"/>
                <path d="M 8,32 L 80,32" fill="none" stroke="black"/>
                <path d="M 120,32 L 224,32" fill="none" stroke="black"/>
                <path d="M 264,32 L 360,32" fill="none" stroke="black"/>
                <path d="M 400,32 L 472,32" fill="none" stroke="black"/>
                <path d="M 512,32 L 568,32" fill="none" stroke="black"/>
                <path d="M 8,80 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,80 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,80 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,80 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,80 L 568,80" fill="none" stroke="black"/>
                <path d="M 176,176 L 216,176" fill="none" stroke="black"/>
                <path d="M 256,176 L 304,176" fill="none" stroke="black"/>
                <path d="M 176,192 L 208,192" fill="none" stroke="black"/>
                <path d="M 272,192 L 304,192" fill="none" stroke="black"/>
                <path d="M 320,208 L 416,208" fill="none" stroke="black"/>
                <path d="M 456,208 L 552,208" fill="none" stroke="black"/>
                <path d="M 320,224 L 352,224" fill="none" stroke="black"/>
                <path d="M 520,224 L 552,224" fill="none" stroke="black"/>
                <path d="M 320,240 L 368,240" fill="none" stroke="black"/>
                <path d="M 504,240 L 552,240" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="560,224 548,218.4 548,229.6" fill="black" transform="rotate(0,552,224)"/>
                <polygon class="arrowhead" points="560,208 548,202.4 548,213.6" fill="black" transform="rotate(0,552,208)"/>
                <polygon class="arrowhead" points="328,240 316,234.4 316,245.6" fill="black" transform="rotate(180,320,240)"/>
                <polygon class="arrowhead" points="328,208 316,202.4 316,213.6" fill="black" transform="rotate(180,320,208)"/>
                <polygon class="arrowhead" points="312,192 300,186.4 300,197.6" fill="black" transform="rotate(0,304,192)"/>
                <polygon class="arrowhead" points="312,176 300,170.4 300,181.6" fill="black" transform="rotate(0,304,176)"/>
                <polygon class="arrowhead" points="184,176 172,170.4 172,181.6" fill="black" transform="rotate(180,176,176)"/>
                <g class="text">
                  <text x="44" y="52">Pledge</text>
                  <text x="172" y="52">Registrar-</text>
                  <text x="308" y="52">Domain</text>
                  <text x="432" y="52">Key</text>
                  <text x="540" y="52">MASA</text>
                  <text x="168" y="68">Agent</text>
                  <text x="312" y="68">Registrar</text>
                  <text x="436" y="68">Infra.</text>
                  <text x="16" y="100">|</text>
                  <text x="168" y="100">|</text>
                  <text x="312" y="100">|</text>
                  <text x="456" y="100">|</text>
                  <text x="516" y="100">Internet</text>
                  <text x="560" y="100">|</text>
                  <text x="16" y="116">~</text>
                  <text x="168" y="116">~</text>
                  <text x="312" y="116">~</text>
                  <text x="456" y="116">~</text>
                  <text x="560" y="116">~</text>
                  <text x="16" y="132">(9)</text>
                  <text x="64" y="132">Voucher</text>
                  <text x="124" y="132">Status</text>
                  <text x="192" y="132">Telemetry</text>
                  <text x="276" y="132">(including</text>
                  <text x="352" y="132">backend</text>
                  <text x="436" y="132">interaction)</text>
                  <text x="16" y="148">~</text>
                  <text x="168" y="148">~</text>
                  <text x="312" y="148">~</text>
                  <text x="456" y="148">~</text>
                  <text x="560" y="148">~</text>
                  <text x="236" y="180">mTLS</text>
                  <text x="240" y="196">vStatus</text>
                  <text x="436" y="212">mTLS</text>
                  <text x="368" y="228">req</text>
                  <text x="412" y="228">device</text>
                  <text x="480" y="228">audit-log</text>
                  <text x="396" y="244">device</text>
                  <text x="464" y="244">audit-log</text>
                  <text x="264" y="276">[verify</text>
                  <text x="340" y="276">audit-log]</text>
                  <text x="312" y="292">|</text>
                  <text x="16" y="308">~</text>
                  <text x="168" y="308">~</text>
                  <text x="312" y="308">~</text>
                  <text x="456" y="308">~</text>
                  <text x="560" y="308">~</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(9) Voucher Status Telemetry (including backend interaction)
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<---((mTLS))---->|                 |            |
 |                  |-----vStatus---->|                 |            |
 |                  |                 |<----------((mTLS))---------->|
 |                  |                 |-----req device audit-log---->|
 |                  |                 |<------device audit-log-------|
 |                  |                 |                 |            |
 |                  |        [verify audit-log]         |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
          </artset>
        </figure>
        <t>First, the Registrar-Agent <bcp14>SHALL</bcp14> supply the voucher status telemetry to the registrar via HTTP-over-TLS POST to the registrar endpoint at <tt>/.well-known/brski/voucher_status</tt>.
The request body <bcp14>MUST</bcp14> contain one previously acquired vStatus artifact as defined in <xref target="vstatus_artifact"/>.
In the request header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>Upon receiving a vStatus artifact, the registrar <bcp14>MUST</bcp14> process it as described in <xref section="5.7" sectionFormat="of" target="RFC8995"/>.
Due to the Registrar-Agent in the middle, the registrar <bcp14>MUST</bcp14> in addition verify the signature of the vStatus and that it belongs to an accepted device of the domain based on the <tt>serial-number</tt> field of the IDevID certificate contained in the JWS Protected Header of the vStatus.</t>
        <t>According to <xref section="5.7" sectionFormat="of" target="RFC8995"/>, the registrar <bcp14>SHOULD</bcp14> respond with an HTTP 200 OK without a response body in the success case or fail with an HTTP error status code.
The registrar <bcp14>MAY</bcp14> use the response body to signal success/failure details to the service technician operating the Registrar-Agent.</t>
        <t>The registrar <bcp14>SHOULD</bcp14> proceed with the audit-log request to the MASA as in BRSKI described in <xref section="5.8" sectionFormat="of" target="RFC8995"/>.</t>
        <section anchor="request-artifact-voucher-status-vstatus">
          <name>Request Artifact: Voucher Status (vStatus)</name>
          <t>Identical to the Voucher Status (vStatus) artifact received from the pledge as defined in <xref target="vstatus_artifact"/>.
The Registrar-Agent <bcp14>MUST NOT</bcp14> modify vStatus artifacts.</t>
        </section>
        <section anchor="response-no-artifact-1">
          <name>Response (no artifact)</name>
          <t>In this exchange, the response is a result of the HTTP(S) default transport for this specification.
There is no artifact provided to the Registrar-Agent.</t>
        </section>
      </section>
      <section anchor="estatus">
        <name>Enroll Status Telemetry</name>
        <t>The Registrar-Agent <bcp14>SHALL</bcp14> complete the sequence of exchanges for bootstrapping with providing the enroll status telemetry to the domain registrar.
This status indicates whether the pledge could process the Enroll-Response (pledge EE certificate signed by the domain owner) and holds the corresponding private key.</t>
        <t>In case the TLS session to the registrar is already closed, the Registrar-Agent establishes a new session as described in <xref target="pvr"/>.</t>
        <t><xref target="exchangesfig_uc2_10"/> shows the provisioning of the enroll status information from the pledge(s) to the registrar and the following subsections describe the corresponding artifact.</t>
        <figure anchor="exchangesfig_uc2_10">
          <name>Enroll Status telemetry exchange</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="240" width="576" viewBox="0 0 576 240" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
                <path d="M 16,160 L 16,208" fill="none" stroke="black"/>
                <path d="M 80,32 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,32 L 120,80" fill="none" stroke="black"/>
                <path d="M 168,160 L 168,208" fill="none" stroke="black"/>
                <path d="M 224,32 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,32 L 264,80" fill="none" stroke="black"/>
                <path d="M 312,160 L 312,208" fill="none" stroke="black"/>
                <path d="M 360,32 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,32 L 400,80" fill="none" stroke="black"/>
                <path d="M 456,160 L 456,208" fill="none" stroke="black"/>
                <path d="M 472,32 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,32 L 512,80" fill="none" stroke="black"/>
                <path d="M 560,160 L 560,208" fill="none" stroke="black"/>
                <path d="M 568,32 L 568,80" fill="none" stroke="black"/>
                <path d="M 8,32 L 80,32" fill="none" stroke="black"/>
                <path d="M 120,32 L 224,32" fill="none" stroke="black"/>
                <path d="M 264,32 L 360,32" fill="none" stroke="black"/>
                <path d="M 400,32 L 472,32" fill="none" stroke="black"/>
                <path d="M 512,32 L 568,32" fill="none" stroke="black"/>
                <path d="M 8,80 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,80 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,80 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,80 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,80 L 568,80" fill="none" stroke="black"/>
                <path d="M 176,176 L 216,176" fill="none" stroke="black"/>
                <path d="M 256,176 L 304,176" fill="none" stroke="black"/>
                <path d="M 176,192 L 208,192" fill="none" stroke="black"/>
                <path d="M 272,192 L 304,192" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="312,192 300,186.4 300,197.6" fill="black" transform="rotate(0,304,192)"/>
                <polygon class="arrowhead" points="312,176 300,170.4 300,181.6" fill="black" transform="rotate(0,304,176)"/>
                <polygon class="arrowhead" points="184,176 172,170.4 172,181.6" fill="black" transform="rotate(180,176,176)"/>
                <g class="text">
                  <text x="44" y="52">Pledge</text>
                  <text x="172" y="52">Registrar-</text>
                  <text x="308" y="52">Domain</text>
                  <text x="432" y="52">Key</text>
                  <text x="540" y="52">MASA</text>
                  <text x="168" y="68">Agent</text>
                  <text x="312" y="68">Registrar</text>
                  <text x="436" y="68">Infra.</text>
                  <text x="16" y="100">|</text>
                  <text x="168" y="100">|</text>
                  <text x="312" y="100">|</text>
                  <text x="456" y="100">|</text>
                  <text x="516" y="100">Internet</text>
                  <text x="560" y="100">|</text>
                  <text x="16" y="116">~</text>
                  <text x="168" y="116">~</text>
                  <text x="312" y="116">~</text>
                  <text x="456" y="116">~</text>
                  <text x="560" y="116">~</text>
                  <text x="20" y="132">(10)</text>
                  <text x="68" y="132">Enroll</text>
                  <text x="124" y="132">Status</text>
                  <text x="192" y="132">Telemetry</text>
                  <text x="16" y="148">~</text>
                  <text x="168" y="148">~</text>
                  <text x="312" y="148">~</text>
                  <text x="456" y="148">~</text>
                  <text x="560" y="148">~</text>
                  <text x="236" y="180">mTLS</text>
                  <text x="240" y="196">eStatus</text>
                  <text x="16" y="228">~</text>
                  <text x="168" y="228">~</text>
                  <text x="312" y="228">~</text>
                  <text x="456" y="228">~</text>
                  <text x="560" y="228">~</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(10) Enroll Status Telemetry
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<---((mTLS))---->|                 |            |
 |                  |-----eStatus---->|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
          </artset>
        </figure>
        <t>The Registrar-Agent <bcp14>SHALL</bcp14> supply the enroll status telemetry to the registrar via HTTP-over-TLS POST to the registrar endpoint at <tt>/.well-known/brski/enrollstatus</tt>.
The request body <bcp14>MUST</bcp14> contain one previously acquired eStatus artifact as defined in <xref target="estatus_artifact"/>.
In the request header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>Upon receiving an eStatus artifact, the registrar <bcp14>MUST</bcp14> process it as described in <xref section="5.9.4" sectionFormat="of" target="RFC8995"/>.
Due to the Registrar-Agent in the middle, instead of the BRSKI TLS session with the pledge, the registrar <bcp14>MUST</bcp14> verify the signature of the eStatus artifact and that it belongs to an accepted device of the domain based on the <tt>serial-number</tt> field of the EE certificate contained in the JWS Protected Header of the eStatus.
Note that if the Enroll Status indicates success, the eStatus artifact is signed with the new pledge EE credentials;
if it indicates failure, the pledge was unable to process the supplied EE certificate and therefore signed with its IDevID credentials.</t>
        <t>According to <xref section="5.9.4" sectionFormat="of" target="RFC8995"/>, the registrar <bcp14>SHOULD</bcp14> respond with an HTTP 200 OK in the success case or <bcp14>MAY</bcp14> fail with an HTTP 404 client error status code.
The registrar <bcp14>MAY</bcp14> use the response body to signal success/failure details to the service technician operating the Registrar-Agent.</t>
        <t>If the eStatus indicates failure, the registrar <bcp14>MAY</bcp14> decide that for security reasons the pledge is not allowed to reside in the domain.
In this case, the registrar <bcp14>MUST</bcp14> revoke the pledge EE certificate.
An example case for the registrar revoking the issued certificate is when the pledge was not able to verify the received EE certificate and therefore did not accept it for installation.</t>
        <section anchor="request-artifact-enroll-status-estatus">
          <name>Request Artifact: Enroll Status (eStatus)</name>
          <t>Identical to the Enroll Status (eStatus) artifact received from the pledge as defined in <xref target="estatus_artifact"/>.
The Registrar-Agent <bcp14>MUST NOT</bcp14> modify eStatus artifacts.</t>
        </section>
        <section anchor="response-no-artifact-2">
          <name>Response (no artifact)</name>
          <t>In this exchange, the response is a result of the HTTP(S) default transport for this specification.
There is no artifact provided to the Registrar-Agent.</t>
        </section>
      </section>
      <section anchor="query">
        <name>Query Pledge Status (qps)</name>
        <t>The following assumes that a Registrar-Agent <bcp14>MAY</bcp14> need to query the overall status of a pledge.
This information can be useful to solve errors, when the pledge was not able to connect to the target domain during bootstrapping.
A pledge <bcp14>MAY</bcp14> omit the dedicated endpoint for the Query Pledge Status operation (see <xref target="pledge_component"/>).</t>
        <t>Optionally, TLS <bcp14>MAY</bcp14> be used to provide privacy for this exchange between the Registrar-Agent and the pledge (see <xref target="pledgehttps"/>).</t>
        <t><xref target="exchangesfig_uc2_11"/> shows the query and response for the overall pledge status and the following subsections describe the corresponding artifacts.</t>
        <figure anchor="exchangesfig_uc2_11">
          <name>Pledge Status exchange</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="576" viewBox="0 0 576 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
                <path d="M 16,160 L 16,224" fill="none" stroke="black"/>
                <path d="M 80,32 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,32 L 120,80" fill="none" stroke="black"/>
                <path d="M 168,160 L 168,224" fill="none" stroke="black"/>
                <path d="M 224,32 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,32 L 264,80" fill="none" stroke="black"/>
                <path d="M 312,160 L 312,224" fill="none" stroke="black"/>
                <path d="M 360,32 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,32 L 400,80" fill="none" stroke="black"/>
                <path d="M 456,160 L 456,224" fill="none" stroke="black"/>
                <path d="M 472,32 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,32 L 512,80" fill="none" stroke="black"/>
                <path d="M 560,160 L 560,224" fill="none" stroke="black"/>
                <path d="M 568,32 L 568,80" fill="none" stroke="black"/>
                <path d="M 8,32 L 80,32" fill="none" stroke="black"/>
                <path d="M 120,32 L 224,32" fill="none" stroke="black"/>
                <path d="M 264,32 L 360,32" fill="none" stroke="black"/>
                <path d="M 400,32 L 472,32" fill="none" stroke="black"/>
                <path d="M 512,32 L 568,32" fill="none" stroke="black"/>
                <path d="M 8,80 L 80,80" fill="none" stroke="black"/>
                <path d="M 120,80 L 224,80" fill="none" stroke="black"/>
                <path d="M 264,80 L 360,80" fill="none" stroke="black"/>
                <path d="M 400,80 L 472,80" fill="none" stroke="black"/>
                <path d="M 512,80 L 568,80" fill="none" stroke="black"/>
                <path d="M 24,176 L 56,176" fill="none" stroke="black"/>
                <path d="M 128,176 L 160,176" fill="none" stroke="black"/>
                <path d="M 24,192 L 64,192" fill="none" stroke="black"/>
                <path d="M 128,192 L 160,192" fill="none" stroke="black"/>
                <path d="M 24,208 L 64,208" fill="none" stroke="black"/>
                <path d="M 128,208 L 160,208" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="168,208 156,202.4 156,213.6" fill="black" transform="rotate(0,160,208)"/>
                <polygon class="arrowhead" points="168,176 156,170.4 156,181.6" fill="black" transform="rotate(0,160,176)"/>
                <polygon class="arrowhead" points="32,192 20,186.4 20,197.6" fill="black" transform="rotate(180,24,192)"/>
                <polygon class="arrowhead" points="32,176 20,170.4 20,181.6" fill="black" transform="rotate(180,24,176)"/>
                <g class="text">
                  <text x="44" y="52">Pledge</text>
                  <text x="172" y="52">Registrar-</text>
                  <text x="308" y="52">Domain</text>
                  <text x="432" y="52">Key</text>
                  <text x="540" y="52">MASA</text>
                  <text x="168" y="68">Agent</text>
                  <text x="312" y="68">Registrar</text>
                  <text x="436" y="68">Infra.</text>
                  <text x="16" y="100">|</text>
                  <text x="168" y="100">|</text>
                  <text x="312" y="100">|</text>
                  <text x="456" y="100">|</text>
                  <text x="516" y="100">Internet</text>
                  <text x="560" y="100">|</text>
                  <text x="16" y="116">~</text>
                  <text x="168" y="116">~</text>
                  <text x="312" y="116">~</text>
                  <text x="456" y="116">~</text>
                  <text x="560" y="116">~</text>
                  <text x="20" y="132">(11)</text>
                  <text x="64" y="132">Query</text>
                  <text x="116" y="132">Pledge</text>
                  <text x="172" y="132">Status</text>
                  <text x="16" y="148">~</text>
                  <text x="168" y="148">~</text>
                  <text x="312" y="148">~</text>
                  <text x="456" y="148">~</text>
                  <text x="560" y="148">~</text>
                  <text x="76" y="180">opt.</text>
                  <text x="112" y="180">TLS</text>
                  <text x="96" y="196">tStatus</text>
                  <text x="96" y="212">pStatus</text>
                  <text x="16" y="244">~</text>
                  <text x="168" y="244">~</text>
                  <text x="312" y="244">~</text>
                  <text x="456" y="244">~</text>
                  <text x="560" y="244">~</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(11) Query Pledge Status
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<-----tStatus-----|                 |                 |            |
 |------pStatus---->|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
          </artset>
        </figure>
        <t>The Registrar-Agent <bcp14>SHALL</bcp14> query the pledge via HTTP(S) POST to the pledge endpoint at <tt>/.well-known/brski/qps</tt>.
The request body <bcp14>MUST</bcp14> contain the Status Trigger (tStatus) artifact as defined in <xref target="tstatus_artifact"/>.
In the request header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/jose+json</tt> and the Accept field <bcp14>SHOULD</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>If the pledge implements the Query Pledge Status endpoint, it <bcp14>MUST</bcp14> first verify the signature of the tStatus artifact using its trust anchors.
If the pledge does not possess any domain trust anchor yet, it <bcp14>MAY</bcp14> skip the signature verification and choose to reply without it.
In the case of success, it <bcp14>MUST</bcp14> reply with the Pledge Status (pStatus) artifact as defined in <xref target="pstatus_artifact"/> in the body of an HTTP 200 OK response.
In the response header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>If the pledge is unable to create the pStatus artifact, the pledge <bcp14>SHOULD</bcp14> respond with an HTTP error status code to the Registrar-Agent.
The following client error status codes <bcp14>SHOULD</bcp14> be used:</t>
        <ul spacing="normal">
          <li>
            <t>400 Bad Request: if the pledge detects an error in the format of the request</t>
          </li>
          <li>
            <t>401 Unauthorized: if the signature of the Registrar-Agent cannot be verified using the installed trust anchors</t>
          </li>
          <li>
            <t>406 Not Acceptable: if the Accept request header field indicates a type that is unknown or unsupported, e.g., a type other than <tt>application/jose+json</tt></t>
          </li>
          <li>
            <t>415 Unsupported Media Type: if the Content-Type request header field indicates a type that is unknown or unsupported, e.g., a type other than <tt>application/jose+json</tt></t>
          </li>
        </ul>
        <t>The pledge <bcp14>MAY</bcp14> use the response body to signal failure details to the service technician operating the Registrar-Agent.</t>
        <section anchor="tstatus_artifact">
          <name>Request Artifact: Status Trigger (tStatus)</name>
          <t>The Status Query (tStatus) artifact <bcp14>SHALL</bcp14> be an authenticated self-contained object signed by the pledge, providing status query parameters.</t>
          <t>For the JWS-signed JSON format used by this specification, the tStatus artifact <bcp14>MUST</bcp14> use the "General JWS JSON Serialization Syntax" defined in <xref section="7.2.1" sectionFormat="of" target="RFC7515"/>, which <bcp14>MUST</bcp14> contain the JSON Status Trigger Data defined in <xref target="tstatus_data"/> in the JWS Payload.
<xref target="tstatus_representation"/> summarizes the serialization of the JWS-signed JSON PER artifact:</t>
          <figure anchor="tstatus_representation">
            <name>tStatus Representation in General JWS JSON Serialization Syntax</name>
            <artwork align="left"><![CDATA[
{
  "payload": BASE64URL(UTF8(JSON Status Trigger Data)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}
]]></artwork>
          </figure>
          <t>The JSON Status Trigger Data <bcp14>MUST</bcp14> be UTF-8 encoded to become the octet-based JWS Payload defined in <xref target="RFC7515"/>.
The JWS Payload is further base64url-encoded to become the string value of the <tt>payload</tt> member as described in <xref section="3.2" sectionFormat="of" target="RFC7515"/>.
The octets of the UTF-8 representation of the JWS Protected Header are base64url-encoded to become the string value of the <tt>protected</tt> member.
The generated JWS Signature is base64url-encoded to become the string value of the <tt>signature</tt> member.</t>
          <section anchor="tstatus_data">
            <name>JSON Status Trigger Data</name>
            <t>The JSON Status Trigger Data <bcp14>SHALL</bcp14> be a JSON document <xref target="RFC8259"/> that <bcp14>MUST</bcp14> conform with the CDDL <xref target="RFC8610"/> data model defined in <xref target="stat_req_def"/>:</t>
            <figure anchor="stat_req_def">
              <name>CDDL for JSON Status Trigger Data (statustrigger)</name>
              <artwork type="cddl" align="left"><![CDATA[
  statustrigger = {
      "version": uint,
      "serial-number": text,
      "created-on": tdate,
      "status-type": $status-type
  }

  $status-type /= "bootstrap"
  $status-type /= "operation"
]]></artwork>
            </figure>
            <t>The <tt>version</tt> member is included to permit significant changes to the pledge status artifacts in the future.
The format and semantics in this document follow the status telemetry definitions of <xref target="RFC8995"/>.
Hence, the <tt>version</tt> <bcp14>SHALL</bcp14> be set to <tt>1</tt>.
A pledge (or Registrar-Agent) that receives a version larger than it knows about <bcp14>SHOULD</bcp14> log the contents and emit an operational notification.</t>
            <t>The <tt>serial-number</tt> member <bcp14>SHALL</bcp14> contain the product-serial-number corresponding to the X520SerialNumber field of the pledge IDevID certificate;
it can be correlated with the product-serial-number in the signing certificate contained in the JWS Protected Header of the Pledge Status response artifact.</t>
            <t>The <tt>created-on</tt> member <bcp14>SHALL</bcp14> contain the current date and time at tStatus creation as standard date/time string as defined in <xref section="5.6" sectionFormat="of" target="RFC3339"/>;
it can be used as reference time for the corresponding Pledge Status response artifact after correlating via the product-serial-number;
note that pledges may not have synchronized time to provide the created-on date and time on their own.</t>
            <t>The <tt>status-type</tt> allows for specifying which status information is to be returned.
As shown in <xref target="stat_req_def"/>, BRSKI-PRM defines two enumeration values:</t>
            <ul spacing="normal">
              <li>
                <t><tt>bootstrap</tt> to query current status information regarding the bootstrapping status (e.g., voucher processing and enrollment of the pledge into a domain)</t>
              </li>
              <li>
                <t><tt>operation</tt> to query current status information regarding the operational status (e.g., utilization of the bootstrapped EE credentials in communication with other peers)</t>
              </li>
            </ul>
            <t>Other specifications using this artifact may define further enumeration values, e.g., to query application-related status.</t>
            <t><xref target="stat_req_data"/> below shows an example for the JSON Status Trigger Data using the status type <tt>bootstrap</tt>:</t>
            <figure anchor="stat_req_data">
              <name>JSON Status Trigger Data Example</name>
              <artwork type="json" align="left"><![CDATA[
{
  "version": 1,
  "created-on": "2022-08-12T02:37:39.235Z",
  "serial-number": "vendor-pledge4711",
  "status-type": "bootstrap"
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-protected-header-7">
            <name>JWS Protected Header</name>
            <t>The JWS Protected Header of the tStatus artifact <bcp14>MUST</bcp14> contain the following standard Header Parameters as defined in <xref target="RFC7515"/>:</t>
            <ul spacing="normal">
              <li>
                <t><tt>alg</tt>: <bcp14>SHALL</bcp14> contain the algorithm type used to create the signature, e.g., <tt>ES256</tt>, as defined in <xref section="4.1.1" sectionFormat="of" target="RFC7515"/></t>
              </li>
              <li>
                <t><tt>x5c</tt>: <bcp14>SHALL</bcp14> contain the base64-encoded Registrar-Agent EE certificate used to sign the tStatus artifact as well as the certificate chain</t>
              </li>
            </ul>
            <t><xref target="tstatus_header"/> below shows an example for this JWS Protected Header:</t>
            <figure anchor="tstatus_header">
              <name>JWS Protected Header Example within tStatus</name>
              <artwork type="json" align="left"><![CDATA[
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-signature-7">
            <name>JWS Signature</name>
            <t>The Registrar-Agent <bcp14>MUST</bcp14> sign the tStatus artifact using its EE credentials.
The JWS Signature is generated over the JWS Protected Header and the JWS Payload as described in <xref section="5.1" sectionFormat="of" target="RFC7515"/>.</t>
          </section>
        </section>
        <section anchor="pstatus_artifact">
          <name>Response Artifact: Pledge Status (pStatus)</name>
          <t>The Pledge Status (pStatus) artifact <bcp14>SHALL</bcp14> be an authenticated self-contained object signed by the pledge, containing status telemetry information.
The exact content depends on the Status Trigger parameter <tt>status-type</tt>.</t>
          <t>For the JWS-signed JSON format used by this specification, the pStatus artifact <bcp14>MUST</bcp14> use the "General JWS JSON Serialization Syntax" defined in <xref section="7.2.1" sectionFormat="of" target="RFC7515"/>, which <bcp14>MUST</bcp14> contain the JSON Pledge Status Data defined in <xref target="pstatus_data"/> in the JWS Payload.
<xref target="pstatus_representation"/> summarizes the serialization of the JWS-signed JSON PER artifact:</t>
          <figure anchor="pstatus_representation">
            <name>pStatus Representation in General JWS JSON Serialization Syntax</name>
            <artwork align="left"><![CDATA[
{
  "payload": BASE64URL(UTF8(JSON Pledge Status Data)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}
]]></artwork>
          </figure>
          <t>The JSON Pledge Status Data <bcp14>MUST</bcp14> be UTF-8 encoded to become the octet-based JWS Payload defined in <xref target="RFC7515"/>.
The JWS Payload is further base64url-encoded to become the string value of the <tt>payload</tt> member as described in <xref section="3.2" sectionFormat="of" target="RFC7515"/>.
The octets of the UTF-8 representation of the JWS Protected Header are base64url-encoded to become the string value of the <tt>protected</tt> member.
The generated JWS Signature is base64url-encoded to become the string value of the <tt>signature</tt> member.</t>
          <section anchor="pstatus_data">
            <name>JSON Pledge Status Data</name>
            <t>The JSON Pledge Status Data <bcp14>SHALL</bcp14> be a JSON document <xref target="RFC8259"/> that <bcp14>MUST</bcp14> conform with the CDDL <xref target="RFC8610"/> data model defined in <xref target="stat_res_def"/>, which has the same members as the <tt>voucherstatus-post</tt> CDDL defined in <xref section="5.7" sectionFormat="of" target="RFC8995"/> and the  <tt>enrollstatus-post</tt> CDDL defined in <xref section="5.9.4" sectionFormat="of" target="RFC8995"/>.</t>
            <figure anchor="stat_res_def">
              <name>CDDL for JSON Pledge Status Data (pledgestatus)</name>
              <artwork type="cddl" align="left"><![CDATA[
  pledgestatus = {
    "version": uint,
    "status": bool,
    ?"reason" : text,
    "reason-context": { * $$arbitrary-map }
  }
]]></artwork>
            </figure>
            <t>The <tt>version</tt> member follows the definition in <xref target="tstatus_data"/> (same as in JSON Status Query Data).</t>
            <t>The <tt>reason</tt> and <tt>reason-context</tt> members follow the definitions in <xref target="vstatus_data"/>, i.e., in contrast to <xref target="RFC8995"/>, <tt>reason-context</tt> <bcp14>MUST</bcp14> be provided.</t>
            <t>The new pStatus artifact also utilizes the <tt>reason-context</tt> field to provide a distinguishable token.
For pStatus artifacts, the JSON object in the <tt>reason-context</tt> field <bcp14>MUST</bcp14> contain either the</t>
            <ul spacing="normal">
              <li>
                <t><tt>pbs-details</tt> member for status information corresponding to the status-type <tt>bootstrap</tt>, or the</t>
              </li>
              <li>
                <t><tt>pos-details</tt> member for status information corresponding to the status-type <tt>operation</tt> (see <xref target="tstatus_data"/>)</t>
              </li>
            </ul>
            <t>Other documents may add additional <tt>reason-context</tt> members correlating to other <tt>statustrigger</tt> status-types or to include further status information.</t>
            <t>For the <tt>pbs-details</tt> member, the following values with the given semantics are defined, while additional information <bcp14>MAY</bcp14> be provided in the top-level <tt>reason</tt> member:</t>
            <ul spacing="normal">
              <li>
                <t><tt>factory-default</tt>: Pledge has not been bootstrapped.
The pledge signs the response message using its IDevID certificate/credentials.</t>
              </li>
              <li>
                <t><tt>voucher-success</tt>: Pledge processed the voucher exchange successfully.
The pledge signs the response message using its IDevID certificate/credentials.</t>
              </li>
              <li>
                <t><tt>voucher-error</tt>: Pledge voucher processing terminated with error.
Additional information may be provided in the <tt>reason</tt> or <tt>reason-context</tt> members.
The pledge signs the response message using its IDevID certificate/credentials.</t>
              </li>
              <li>
                <t><tt>enroll-success</tt>: Pledge processed the enrollment exchange successfully.
Additional information may be provided in the <tt>reason</tt> or <tt>reason-context</tt> members.
The pledge signs the response message using its domain-owner signed EE certificate/credentials.</t>
              </li>
              <li>
                <t><tt>enroll-error</tt>: Pledge enrollment-response processing terminated with error.
Additional information may be provided in the <tt>reason</tt> or <tt>reason-context</tt> members.
The pledge signs the response message using its IDevID certificate/credentials.</t>
              </li>
            </ul>
            <t>The <tt>pbs-details</tt> values <bcp14>SHALL</bcp14> be cumulative in the sense that <tt>enroll-success</tt> and <tt>enroll-error</tt> imply <tt>voucher-success</tt>.
<xref target="stat_example_bootstrap"/> below provides an example for bootstrap status information in the JSON Pledge Status Data:</t>
            <figure anchor="stat_example_bootstrap">
              <name>status-bootstrap JSON Pledge Status Data Example</name>
              <artwork type="json" align="left"><![CDATA[
{
  "version": 1,
  "status": true,
  "reason": "Pledge processed enrollment exchange successfully.",
  "reason-context": {
    "pbs-details": "Pledge processed enrollment exchange successfully."
  }
}
]]></artwork>
            </figure>
            <t>For the <tt>pos-details</tt> member, the following values with the given semantics are defined, while additional information <bcp14>MAY</bcp14> be provided in the top-level <tt>reason</tt> member:</t>
            <ul spacing="normal">
              <li>
                <t><tt>connect-success</tt>: Pledge could successfully establish a connection to another peer.
The pledge signs the response message using its domain-owner signed EE certificate/credentials.</t>
              </li>
              <li>
                <t><tt>connect-error</tt>: Pledge connection establishment terminated with error.
The pledge signs the response message using its domain-owner signed EE certificate/credentials.</t>
              </li>
            </ul>
            <t><xref target="stat_example_operation"/> below provides an example for operational status information in the JSON Pledge Status Data:</t>
            <figure anchor="stat_example_operation">
              <name>status-operation JSON Pledge Status Data Example</name>
              <artwork type="json" align="left"><![CDATA[
{
  "version": 1,
  "status": "connect-error",
  "reason": "TLS certificate could not be verified.",
  "reason-context": {
    "connect-error" : "Connection establishment terminated with error."
  }
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-protected-header-8">
            <name>JWS Protected Header</name>
            <t>The JWS Protected Header of the pStatus artifact <bcp14>MUST</bcp14> contain the following standard Header Parameters as defined in <xref target="RFC7515"/>:</t>
            <ul spacing="normal">
              <li>
                <t><tt>alg</tt>: <bcp14>SHALL</bcp14> contain the algorithm type used to create the signature, e.g., <tt>ES256</tt>, as defined in <xref section="4.1.1" sectionFormat="of" target="RFC7515"/></t>
              </li>
              <li>
                <t><tt>x5c</tt>: <bcp14>SHALL</bcp14> contain the base64-encoded pledge EE certificate used to sign the pStatus artifact;
it <bcp14>SHOULD</bcp14> also contain the certificate chain for this certificate;
if the certificate chain is not included in the x5c Header Parameter, it <bcp14>MUST</bcp14> be available at the Registrar-Agent for verification</t>
              </li>
            </ul>
            <t><xref target="pstatus_header"/> below shows an example for this JWS Protected Header:</t>
            <figure anchor="pstatus_header">
              <name>JWS Protected Header Example within pStatus</name>
              <artwork type="json" align="left"><![CDATA[
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-signature-8">
            <name>JWS Signature</name>
            <t>The pledge <bcp14>MUST</bcp14> sign the tStatus artifact using its IDevID or domain-owner signed EE credentials according to its bootstrapping status as defined in <xref target="pstatus_data"/>.
The JWS Signature is generated over the JWS Protected Header and the JWS Payload as described in <xref section="5.1" sectionFormat="of" target="RFC7515"/>.</t>
          </section>
        </section>
      </section>
    </section>
    <section anchor="log_hints">
      <name>Logging Considerations</name>
      <t>The registrar <bcp14>SHOULD</bcp14> log certain events to provide an audit trail for the onboarding of pledges into its domain.
This audit trail may support the root cause analysis in case of device or system failures.
Recommend key events for logging comprise:</t>
      <ul spacing="normal">
        <li>
          <t>Communication attempts between the pledge, Registrar-Agent, and registrar.</t>
        </li>
        <li>
          <t>Protocol handshakes and onboarding steps.</t>
        </li>
        <li>
          <t>Voucher requests and responses.</t>
        </li>
        <li>
          <t>Authentication successes or failures.</t>
        </li>
      </ul>
      <t>The logging <bcp14>SHOULD</bcp14> include the identity of the pledge, the identity of the Registrar-Agent that was interacting with the pledge, and relevant artifact fields, in particular telemetry information:</t>
      <ul spacing="normal">
        <li>
          <t>PVR received from Registrar-Agent</t>
        </li>
        <li>
          <t>Acceptance of a pledge into the domain</t>
        </li>
        <li>
          <t>Voucher provided to Registrar-Agent</t>
        </li>
        <li>
          <t>PER received from Registrar-Agent</t>
        </li>
        <li>
          <t>Pledge EE certificate requested</t>
        </li>
        <li>
          <t>Pledge EE certificate received from Domain CA</t>
        </li>
        <li>
          <t>Pledge EE certificate provided to Registrar-Agent</t>
        </li>
        <li>
          <t>CA Certificates provided to Registrar-Agent</t>
        </li>
        <li>
          <t>Voucher Status received from Registrar-Agent</t>
        </li>
        <li>
          <t>Enroll Status received from Registrar-Agent</t>
        </li>
        <li>
          <t>Pledge Status received from Registrar-Agent</t>
        </li>
        <li>
          <t>Pledge EE certificate revoked</t>
        </li>
      </ul>
      <t>Furthermore, it is recommended to</t>
      <ul spacing="normal">
        <li>
          <t>support adjustable logging levels (severity) to cater to different operational needs or failure situations.</t>
        </li>
        <li>
          <t>include meta information to distinguish logs that relate to different BRSKI approaches (e.g., BRSKI, BRSKI-AE, BRSKI-PRM, constraint BRSKI) that are likely supported in the same domain in parallel.</t>
        </li>
        <li>
          <t>include detailed error codes and diagnostics information as defined throughout the document or stemming from other used components or libraries also in the logging information.</t>
        </li>
        <li>
          <t>support synchronized time (e.g., via NTP) to include timestamps in logging to enable sequencing and  correlation of events.</t>
        </li>
        <li>
          <t>utilize standard logging formats (e.g., syslog) to allow for easy integration into log analysis tools and SIEM systems.</t>
        </li>
        <li>
          <t>utilize secure transmission of logs to centralized log servers, particularly in cloud or distributed environments (e.g., in case of syslog, <xref target="RFC9662"/> updates the utilized cipher suites for TLS and DTLS).</t>
        </li>
        <li>
          <t>allow for definition of key operational thresholds (e.g., high latency, failed onboarding attempts) to trigger alerts for proactive issue resolution.</t>
        </li>
        <li>
          <t>avoid inclusion of sensitive information (see also <xref target="priv_cons"/>)</t>
        </li>
      </ul>
      <t>For log analysis the following may be considered:</t>
      <ul spacing="normal">
        <li>
          <t>The registrar knows which Registrar-Agent collected which PVR from the included agent-signed-data object.</t>
        </li>
        <li>
          <t>The registrar always knows the connecting Registrar-Agent from the TLS client authentication using the Registrar-Agent EE certificate and can log it accordingly.</t>
        </li>
        <li>
          <t>The telemetry information from the pledge can be correlated to the voucher through the product-serial-number in the EE certificate contained in the JWS Protected Header of the status artifacts and the product-serial-number contained in the voucher. By this it can also be related to the PER.</t>
        </li>
      </ul>
      <t>With this, it can for instance be analyzed if multiple Registrar-Agents are involved in bootstrapping devices.
In addition, within the domain it can be analyzed, if the onboarding involved different Registrar-Agents or if different registrars have been used.</t>
    </section>
    <section anchor="op_cons">
      <name>Operational Considerations</name>
      <t>As outlined in <xref target="architecture"/> BRSKI-PRM introduces an additional component with the Registrar-Agent in the BRSKI architecture in addition to new modes of interaction to facilitate the communication between the pledge and the registrar. 
This has an influence on the configuration and operation not only of the Registrar-Agent, but also for the registrar and the pledge.</t>
      <t>As outlined in <xref target="system-components"/> there are additional configuration items dues to the introduction of the Registrar-Agent. This may increase operational complexity and potential misconfigurations in deploying and managing this entity.</t>
      <ul spacing="normal">
        <li>
          <t>A Registrar-Agent needs to be provided with a Registrar-Agent EE certificate, the domain registrar EE certificate and the list of pledges. BRSKI-PRM is open regarding the selected provisioning method, which may be automated or by configuration.</t>
        </li>
        <li>
          <t>Pledges may support either BRSKI-PRM only or combined with other modes of operation.</t>
        </li>
        <li>
          <t>Registrars may support either BRSKI-PRM only or combined with other BRSKI modes of operation. The distinction of BRSKI and BRSKI-PRM is done based on the provided endpoints of the registrar. An operator deploying pledges with a mixed set of operation need to ensure that the domain registrar supports all necessary options to ensure bootstrapping of pledges depending of the supported operational mode.</t>
        </li>
        <li>
          <t>In addition, registrars may  support a co-located Registrar-Agent, if nomadic operation of the Registrar-Agent is not required. This facilitates situations in which an operator wants to deploy BRSKI pledges acting as clients and BSKI pledges acting as servers.</t>
        </li>
      </ul>
      <t>With the Registrar-Agent enhancement a new component is introduced in the communication path between the pledge and the registrar. 
This likely increases the latency of the communication between the pledge and the registrar.
The increase in latency due to this additional component may be neglected given that the Registrar-Agent operates with nomadic connectivity as outlined in <xref target="arch_nomadic"/>.</t>
      <t>BRSKI-PRM requires pledges to possess an IDevID to enable onboarding in new domains. 
IDevID (and corresponding trust anchors) are expected to have a rather long lifetime. 
This may allow for a longer period between device acquisition and initial onboarding. 
Contrary, if devices that have been provided with an LDevID (and corresponding trust anchors) and temporarily taken out of service, immediate connectivity when bringing them back to operation may not be given, as the LDevIDs typically have a much shorter validity period compared to IDevIDs. 
It is therefore recommended to onboard them as new devices to ensure they possess valid LDevIDs.</t>
      <t>Besides the above, also consider the existing documents on operational modes for</t>
      <ul spacing="normal">
        <li>
          <t>BRSKI registrars in <xref target="I-D.richardson-anima-registrar-considerations"/></t>
        </li>
        <li>
          <t>BRSKI MASA in <xref target="I-D.richardson-anima-masa-considerations"/></t>
        </li>
      </ul>
    </section>
    <section anchor="iana_con">
      <name>IANA Considerations</name>
      <t>This document requires the following IANA actions.</t>
      <section anchor="brski-well-known-uris">
        <name>BRSKI Well-Known URIs</name>
        <t>IANA is requested to enhance the Registry entitled: "BRSKI Well-Known URIs" with the following endpoints:</t>
        <table anchor="iana_table_uri">
          <name>BRSKI Well-Known URIs Additions</name>
          <thead>
            <tr>
              <th align="left">Path Segment</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">requestenroll</td>
              <td align="left">Supply PER to registrar</td>
              <td align="left">[THISRFC]</td>
            </tr>
            <tr>
              <td align="left">wrappedcacerts</td>
              <td align="left">Obtain wrapped CA certificates</td>
              <td align="left">[THISRFC]</td>
            </tr>
            <tr>
              <td align="left">tpvr</td>
              <td align="left">Trigger Pledge Voucher-Request</td>
              <td align="left">[THISRFC]</td>
            </tr>
            <tr>
              <td align="left">tper</td>
              <td align="left">Trigger Pledge Enroll-Request</td>
              <td align="left">[THISRFC]</td>
            </tr>
            <tr>
              <td align="left">svr</td>
              <td align="left">Supply voucher to pledge</td>
              <td align="left">[THISRFC]</td>
            </tr>
            <tr>
              <td align="left">scac</td>
              <td align="left">Supply CA certificates to pledge</td>
              <td align="left">[THISRFC]</td>
            </tr>
            <tr>
              <td align="left">ser</td>
              <td align="left">Supply Enroll-Response to pledge</td>
              <td align="left">[THISRFC]</td>
            </tr>
            <tr>
              <td align="left">qps</td>
              <td align="left">Query pledge status</td>
              <td align="left">[THISRFC]</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sn_reg">
        <name>Service Name and Transport Protocol Port Number Registry</name>
        <t>IANA has registered the following service names:</t>
        <t><strong>Service Name:</strong> brski-pledge<br/>
          <strong>Transport Protocol(s):</strong> tcp<br/>
          <strong>Assignee:</strong> IESG <eref target="mailto:iesg@ietf.org">iesg@ietf.org</eref><br/>
          <strong>Contact:</strong> IETF Chair <eref target="mailto:chair@ietf.org">chair@ietf.org</eref><br/>
          <strong>Description:</strong> The Bootstrapping Remote Secure Key Infrastructure Pledge<br/>
          <strong>Reference:</strong> [THISRFC]</t>
      </section>
    </section>
    <section anchor="priv_cons">
      <name>Privacy Considerations</name>
      <t>In general, the privacy considerations of <xref target="RFC8995"/> apply for BRSKI-PRM also.
Further privacy aspects need to be considered for:</t>
      <ul spacing="normal">
        <li>
          <t>the introduction of the additional component Registrar-Agent</t>
        </li>
        <li>
          <t>potentially no transport layer security between Registrar-Agent and pledge</t>
        </li>
      </ul>
      <t><xref target="tpvr"/> describes to optionally apply TLS to protect the communication between the Registrar-Agent and the pledge.
The following is therefore applicable to the communication without the TLS protection.</t>
      <t>The credentials used by the Registrar-Agent to sign the data for the pledge <bcp14>SHOULD NOT</bcp14> contain any personal information.
Therefore, it is recommended to use an EE certificate associated with the commissioning device instead of an EE certificate associated with the service technician operating the device.
This avoids revealing potentially included personal information to Registrar and MASA.</t>
      <t>As logging is recommended to better handle failure situations, it is necessary to avoid capturing  sensitive or personal data.
Privacy-preserving measures in logs <bcp14>SHOULD</bcp14> be applied, such as:
* Avoid logging personally identifiable information unless unavoidable.
* Anonymize or pseudonymize data where possible.</t>
      <t>The communication between the pledge and the Registrar-Agent is performed over plain HTTP.
Therefore, it is subject to disclosure by a Dolev-Yao attacker (an "oppressive observer")<xref target="onpath"/>.
Depending on the requests and responses, the following information is disclosed.</t>
      <ul spacing="normal">
        <li>
          <t>the Pledge product-serial-number is contained in the trigger message for the PVR and in all responses from the pledge.
This information reveals the identity of the devices being bootstrapped and allows deduction of which products an operator is using in their environment.
As the communication between the pledge and the Registrar-Agent may be realized over wireless link, this information could easily be eavesdropped, if the wireless network is not encrypted.
Even if the wireless network is encrypted, if it uses a network-wide key, then layer-2 attacks (ARP/ND spoofing) could insert an on-path observer into the path.</t>
        </li>
        <li>
          <t>the Timestamp data could reveal the activation time of the device.</t>
        </li>
        <li>
          <t>the Status data of the device could reveal information about the current state of the device in the domain network.</t>
        </li>
      </ul>
    </section>
    <section anchor="sec_cons">
      <name>Security Considerations</name>
      <t>In general, the security considerations of <xref target="RFC8995"/> apply for BRSKI-PRM also.
Further security aspects are considered here related to:</t>
      <ul spacing="normal">
        <li>
          <t>the introduction of the additional component Registrar-Agent</t>
        </li>
        <li>
          <t>the reversal of the pledge communication direction (push mode, compared to BRSKI)</t>
        </li>
        <li>
          <t>no transport layer security between Registrar-Agent and pledge</t>
        </li>
      </ul>
      <section anchor="sec_cons-dos">
        <name>Denial of Service (DoS) Attack on Pledge</name>
        <t>Disrupting the pledge behavior by a DoS attack may prevent the bootstrapping of the pledge to a new domain.
Because in BRSKI-PRM the pledge responds to requests from real or illicit Registrar-Agents, pledges are more subject to DoS-attacks from Registrar-Agents in BRSKI-PRM than they are from illicit registrars in <xref target="RFC8995"/>, where pledges do initiate the connections.</t>
        <t>A DoS attack with a faked Registrar-Agent may block the bootstrapping of the pledge due changing state on the pledge (the pledge may produce a voucher-request, and refuse to produce another one).
One mitigation may be that the pledge does not limit the number of voucher-requests it creates until at least one has finished.
An alternative may be that the onboarding state may expire after a certain time, if no further interaction has happened.</t>
        <t>In addition, the pledge may assume that repeated triggering for PVR are the result of a communication error with the Registrar-Agent.
In that case the pledge <bcp14>MAY</bcp14> simply resend the PVR previously sent.
Note that in case of re-sending, a contained nonce and also the contained agent-signed-data in the PVR would consequently be reused.</t>
      </section>
      <section anchor="misuse-of-acquired-pvr-and-per-by-registrar-agent">
        <name>Misuse of acquired PVR and PER by Registrar-Agent</name>
        <t>A Registrar-Agent that uses previously requested PVR and PER for domain-A, may attempt to onboard the device into domain-B.  This can be detected by the domain registrar while PVR processing.
The domain registrar needs to verify that the <tt>proximity-registrar-cert</tt> field in the PVR matches its own registrar EE certificate.
In addition, the domain registrar needs to verify the association of the pledge to its domain based on the product-serial-number contained in the PVR and in the pledge IDevID certificate. (This is just part of the supply chain integration).
Moreover, the domain registrar verifies if the Registrar-Agent is authorized to interact with the pledge for voucher-requests and enroll-requests, based on the Registrar-Agent EE certificate data contained in the PVR.</t>
        <t>Mis-binding of a pledge by a faked domain registrar is countered as described in BRSKI security considerations <xref section="11.4" sectionFormat="of" target="RFC8995"/>.</t>
      </section>
      <section anchor="sec_cons_reg-agt">
        <name>Misuse of Registrar-Agent</name>
        <t>Concerns of misuse of a Registrar-Agent with a valid Registrar-Agent EE certificate may be addressed by utilizing short-lived certificates (e.g., valid for a day) to authenticate the Registrar-Agent against the domain registrar.
The Registrar-Agent EE certificate may have been acquired by a prior BRSKI run for the Registrar-Agent, if an IDevID is available on Registrar-Agent.
Alternatively, the Registrar-Agent EE certificate may be acquired by a service technician from the domain PKI system in an authenticated way.</t>
        <t>In addition, it is required that the Registrar-Agent EE certificate is valid for the complete bootstrapping phase.
This avoids that a Registrar-Agent could be misused to create arbitrary "agent-signed-data" objects to perform an authorized bootstrapping of a rogue pledge at a later point in time.
In this misuse "agent-signed-data" could be dated after the validity time of the Registrar-Agent EE certificate, due to missing trusted timestamp in the Registrar-Agents signature.
To address this, the registrar <bcp14>SHOULD</bcp14> verify the certificate used to create the signature on "agent-signed-data".</t>
        <t>Furthermore, the registrar also verifies the Registrar-Agent EE certificate used in the TLS handshake with the Registrar-Agent. 
If both certificates are verified successfully, the Registrar-Agent's signature can be considered as valid.
If the registrar detects a mismatch in the utilized certificates, it may conclude the usage of either an outdated "agent-signed-data" component in the PVR or a man-in-the-middle attack by a potentially unauthorized Registrar-Agent.</t>
      </section>
      <section anchor="sec_cons_mDNS">
        <name>Misuse of DNS-SD with mDNS to obtain list of pledges</name>
        <t>To discover a specific pledge a Registrar-Agent may query the Service Type in combination with the product-serial-number of a specific pledge, e.g., in the Service Instance Name or Service Subtype.
The pledge reacts on this if its product-serial-number is part of the query message.</t>
        <t>If the Registrar-Agent performs DNS-based Service Discovery without a specific product-serial-number, all pledges in the domain react if the functionality is supported.
This functionality enumerates and reveals the information of devices available in the domain.
The information about this is provided here as a feature to support the commissioning of devices.
A manufacturer may decide to support this feature only for devices not possessing an LDevID or to not support this feature at all, to avoid an enumeration in an operative domain.</t>
      </section>
      <section anchor="yang-module-security-considerations">
        <name>YANG Module Security Considerations</name>
        <t>The enhanced voucher-request described in <xref target="I-D.ietf-anima-rfc8366bis"/> is based on <xref target="RFC8995"/>, but uses a different encoding based on <xref target="I-D.ietf-anima-jws-voucher"/>.
The security considerations as described in <xref section="11.7" sectionFormat="of" target="RFC8995"/> (Security Considerations) apply.</t>
        <t>The YANG module specified in <xref target="I-D.ietf-anima-rfc8366bis"/> defines the schema for data that is subsequently encapsulated by a JOSE signed-data Content-type as described in <xref target="I-D.ietf-anima-jws-voucher"/>.
As such, all of the YANG-modeled data is protected against modification.</t>
        <t>The use of YANG to define data structures via the <xref target="RFC8971"/> "structure" statement, is relatively
new and distinct from the common use of YANG to define an API accessed by network management protocols such as NETCONF <xref target="RFC6241"/> and RESTCONF <xref target="RFC8040"/>.
For this reason, these guidelines do not follow the template described by <xref section="3.7" sectionFormat="of" target="RFC8407"/> (Security Considerations).</t>
      </section>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>We would like to thank the various reviewers, in particular Brian E. Carpenter, Charlie Kaufman (Early SECDIR review), Martin Björklund (Early YANGDOCTORS review), Marco Tiloca (Early IOTDIR review), Oskar Camenzind, Hendrik Brockhaus, and Ingo Wenda for their input and discussion on use cases and call flows.
Further review input was provided by Jesser Bouzid, Dominik Tacke, Christian Spindler, and Julian Krieger.
Special thanks to Esko Dijk for the in deep review and the improving proposals.
Another special thanks for the detailed Shepherad review and connected discussions to Matthias Kovatsch.
Support in PoC implementations and comments resulting from the implementation was provided by Hong Rui Li and He Peng Jia.
Review comments in the context of a formal analysis of BRSKI-PRM have been provided by Marco Calipari.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC5272">
          <front>
            <title>Certificate Management over CMS (CMC)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="M. Myers" initials="M." surname="Myers"/>
            <date month="June" year="2008"/>
            <abstract>
              <t>This document defines the base syntax for CMC, a Certificate Management protocol using the Cryptographic Message Syntax (CMS). This protocol addresses two immediate needs within the Internet Public Key Infrastructure (PKI) community:</t>
              <t>1. The need for an interface to public key certification products and services based on CMS and PKCS #10 (Public Key Cryptography Standard), and</t>
              <t>2. The need for a PKI enrollment protocol for encryption only keys due to algorithm or hardware design.</t>
              <t>CMC also requires the use of the transport document and the requirements usage document along with this document for a full definition. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5272"/>
          <seriesInfo name="DOI" value="10.17487/RFC5272"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC6762">
          <front>
            <title>Multicast DNS</title>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
            <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">
          <front>
            <title>DNS-Based Service Discovery</title>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
            <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">
          <front>
            <title>Enrollment over Secure Transport</title>
            <author fullname="M. Pritikin" initials="M." role="editor" surname="Pritikin"/>
            <author fullname="P. Yee" initials="P." role="editor" surname="Yee"/>
            <author fullname="D. Harkins" initials="D." role="editor" surname="Harkins"/>
            <date month="October" year="2013"/>
            <abstract>
              <t>This document profiles certificate enrollment for clients using Certificate Management over CMS (CMC) messages over a secure transport. This profile, called Enrollment over Secure Transport (EST), describes a simple, yet functional, certificate management protocol targeting Public Key Infrastructure (PKI) clients that need to acquire client certificates and associated Certification Authority (CA) certificates. It also supports client-generated public/private key pairs as well as key pairs generated by the CA.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7030"/>
          <seriesInfo name="DOI" value="10.17487/RFC7030"/>
        </reference>
        <reference anchor="RFC7515">
          <front>
            <title>JSON Web Signature (JWS)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <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="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC8615">
          <front>
            <title>Well-Known Uniform Resource Identifiers (URIs)</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes.</t>
              <t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space. It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8615"/>
          <seriesInfo name="DOI" value="10.17487/RFC8615"/>
        </reference>
        <reference anchor="RFC8995">
          <front>
            <title>Bootstrapping Remote Secure Key Infrastructure (BRSKI)</title>
            <author fullname="M. Pritikin" initials="M." surname="Pritikin"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="T. Eckert" initials="T." surname="Eckert"/>
            <author fullname="M. Behringer" initials="M." surname="Behringer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document specifies automated bootstrapping of an Autonomic Control Plane. To do this, a Secure Key Infrastructure is bootstrapped. This is done using manufacturer-installed X.509 certificates, in combination with a manufacturer's authorizing service, both online and offline. We call this process the Bootstrapping Remote Secure Key Infrastructure (BRSKI) protocol. Bootstrapping a new device can occur when using a routable address and a cloud service, only link-local connectivity, or limited/disconnected networks. Support for deployment models with less stringent security requirements is included. Bootstrapping is complete when the cryptographic identity of the new key infrastructure is successfully deployed to the device. The established secure connection can be used to deploy a locally issued certificate to the device as well.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8995"/>
          <seriesInfo name="DOI" value="10.17487/RFC8995"/>
        </reference>
        <reference anchor="RFC9360">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Header Parameters for Carrying and Referencing X.509 Certificates</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="February" year="2023"/>
            <abstract>
              <t>The CBOR Object Signing and Encryption (COSE) message structure uses references to keys in general. For some algorithms, additional properties are defined that carry parameters relating to keys as needed. The COSE Key structure is used for transporting keys outside of COSE messages. This document extends the way that keys can be identified and transported by providing attributes that refer to or contain X.509 certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9360"/>
          <seriesInfo name="DOI" value="10.17487/RFC9360"/>
        </reference>
        <reference anchor="RFC9646">
          <front>
            <title>Conveying a Certificate Signing Request (CSR) in a Secure Zero-Touch Provisioning (SZTP) Bootstrapping Request</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="October" year="2024"/>
            <abstract>
              <t>This document extends the input to the "get-bootstrapping-data" 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., a Local Device Identifier (LDevID) from IEEE 802.1AR) as part of the "onboarding information" response provided in the RPC-reply.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9646"/>
          <seriesInfo name="DOI" value="10.17487/RFC9646"/>
        </reference>
        <reference anchor="I-D.ietf-anima-jws-voucher">
          <front>
            <title>JWS signed Voucher Artifacts for Bootstrapping Protocols</title>
            <author fullname="Thomas Werner" initials="T." surname="Werner">
              <organization>Siemens AG</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="15" month="January" year="2025"/>
            <abstract>
              <t>   This document introduces a variant of the RFC8366 voucher artifact in
   which CMS is replaced by the JSON Object Signing and Encryption
   (JOSE) mechanism described in RFC7515.  This supports deployments in
   which JOSE is preferred over CMS.  In addition to specifying the
   format, the "application/voucher-jws+json" media type is registered
   and examples are provided.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-jws-voucher-16"/>
        </reference>
        <reference anchor="I-D.ietf-anima-rfc8366bis">
          <front>
            <title>A Voucher Artifact for Bootstrapping Protocols</title>
            <author fullname="Kent Watsen" initials="K." surname="Watsen">
              <organization>Watsen Networks</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software</organization>
            </author>
            <author fullname="Max Pritikin" initials="M." surname="Pritikin">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Toerless Eckert" initials="T. T." surname="Eckert">
              <organization>Futurewei Technologies Inc.</organization>
            </author>
            <author fullname="Qiufang Ma" initials="Q." surname="Ma">
              <organization>Huawei</organization>
            </author>
            <date day="8" month="July" year="2024"/>
            <abstract>
              <t>   This document defines a strategy to securely assign a pledge to an
   owner using an artifact signed, directly or indirectly, by the
   pledge's manufacturer.  This artifact is known as a "voucher".

   This document defines an artifact format as a YANG-defined JSON or
   CBOR document that has been signed using a variety of cryptographic
   systems.

   The voucher artifact is normally generated by the pledge's
   manufacturer (i.e., the Manufacturer Authorized Signing Authority
   (MASA)).

   This document updates RFC8366, merging a number of extensions into
   the YANG.  The RFC8995 voucher request is also merged into this
   document.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-rfc8366bis-12"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="RFC3339">
          <front>
            <title>Date and Time on the Internet: Timestamps</title>
            <author fullname="G. Klyne" initials="G." surname="Klyne"/>
            <author fullname="C. Newman" initials="C." surname="Newman"/>
            <date month="July" year="2002"/>
            <abstract>
              <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3339"/>
          <seriesInfo name="DOI" value="10.17487/RFC3339"/>
        </reference>
        <reference anchor="RFC7951">
          <front>
            <title>JSON Encoding of Data Modeled with YANG</title>
            <author fullname="L. Lhotka" initials="L." surname="Lhotka"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>This document defines encoding rules for representing configuration data, state data, parameters of Remote Procedure Call (RPC) operations or actions, and notifications defined using YANG as JavaScript Object Notation (JSON) text.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7951"/>
          <seriesInfo name="DOI" value="10.17487/RFC7951"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC2986">
          <front>
            <title>PKCS #10: Certification Request Syntax Specification Version 1.7</title>
            <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <date month="November" year="2000"/>
            <abstract>
              <t>This memo represents a republication of PKCS #10 v1.7 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process. The body of this document, except for the security considerations section, is taken directly from the PKCS #9 v2.0 or the PKCS #10 v1.7 document. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2986"/>
          <seriesInfo name="DOI" value="10.17487/RFC2986"/>
        </reference>
        <reference anchor="RFC3629">
          <front>
            <title>UTF-8, a transformation format of ISO 10646</title>
            <author fullname="F. Yergeau" initials="F." surname="Yergeau"/>
            <date month="November" year="2003"/>
            <abstract>
              <t>ISO/IEC 10646-1 defines a large character set called the Universal Character Set (UCS) which encompasses most of the world's writing systems. The originally proposed encodings of the UCS, however, were not compatible with many current applications and protocols, and this has led to the development of UTF-8, the object of this memo. UTF-8 has the characteristic of preserving the full US-ASCII range, providing compatibility with file systems, parsers and other software that rely on US-ASCII values but are transparent to other values. This memo obsoletes and replaces RFC 2279.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="63"/>
          <seriesInfo name="RFC" value="3629"/>
          <seriesInfo name="DOI" value="10.17487/RFC3629"/>
        </reference>
        <reference anchor="RFC9525">
          <front>
            <title>Service Identity in TLS</title>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="R. Salz" initials="R." surname="Salz"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>Many application technologies enable secure communication between two entities by means of Transport Layer Security (TLS) with Internet Public Key Infrastructure using X.509 (PKIX) certificates. This document specifies procedures for representing and verifying the identity of application services in such interactions.</t>
              <t>This document obsoletes RFC 6125.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9525"/>
          <seriesInfo name="DOI" value="10.17487/RFC9525"/>
        </reference>
        <reference anchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="RFC7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8040"/>
          <seriesInfo name="DOI" value="10.17487/RFC8040"/>
        </reference>
        <reference anchor="RFC8407">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <date month="October" year="2018"/>
            <abstract>
              <t>This memo provides guidelines for authors and reviewers of specifications containing YANG modules. Recommendations and procedures are defined, which are intended to increase interoperability and usability of Network Configuration Protocol (NETCONF) and RESTCONF protocol implementations that utilize YANG modules. This document obsoletes RFC 6087.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="216"/>
          <seriesInfo name="RFC" value="8407"/>
          <seriesInfo name="DOI" value="10.17487/RFC8407"/>
        </reference>
        <reference anchor="RFC8792">
          <front>
            <title>Handling Long Lines in Content of Internet-Drafts and RFCs</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="E. Auerswald" initials="E." surname="Auerswald"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>This document defines two strategies for handling long lines in width-bounded text content. One strategy, called the "single backslash" strategy, is based on the historical use of a single backslash ('\') character to indicate where line-folding has occurred, with the continuation occurring with the first character that is not a space character (' ') on the next line. The second strategy, called the "double backslash" strategy, extends the first strategy by adding a second backslash character to identify where the continuation begins and is thereby able to handle cases not supported by the first strategy. Both strategies use a self-describing header enabling automated reconstitution of the original content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8792"/>
          <seriesInfo name="DOI" value="10.17487/RFC8792"/>
        </reference>
        <reference anchor="RFC8990">
          <front>
            <title>GeneRic Autonomic Signaling Protocol (GRASP)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="B. Carpenter" initials="B." role="editor" surname="Carpenter"/>
            <author fullname="B. Liu" initials="B." role="editor" surname="Liu"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document specifies the GeneRic Autonomic Signaling Protocol (GRASP), which enables autonomic nodes and Autonomic Service Agents to dynamically discover peers, to synchronize state with each other, and to negotiate parameter settings with each other. GRASP depends on an external security environment that is described elsewhere. The technical objectives and parameters for specific application scenarios are to be described in separate documents. Appendices briefly discuss requirements for the protocol and existing protocols with comparable features.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8990"/>
          <seriesInfo name="DOI" value="10.17487/RFC8990"/>
        </reference>
        <reference anchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="RFC9238">
          <front>
            <title>Loading Manufacturer Usage Description (MUD) URLs from QR Codes</title>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="J. Latour" initials="J." surname="Latour"/>
            <author fullname="H. Habibi Gharakheili" initials="H." surname="Habibi Gharakheili"/>
            <date month="May" year="2022"/>
            <abstract>
              <t>This informational document details a protocol to load Manufacturer Usage Description (MUD) definitions from RFC 8520 for devices that do not have them integrated.</t>
              <t>This document is published to inform the Internet community of this mechanism to allow interoperability and to serve as a basis of other standards work if there is interest.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9238"/>
          <seriesInfo name="DOI" value="10.17487/RFC9238"/>
        </reference>
        <reference anchor="RFC9662">
          <front>
            <title>Updates to the Cipher Suites in Secure Syslog</title>
            <author fullname="C. Lonvick" initials="C." surname="Lonvick"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <author fullname="J. Salowey" initials="J." surname="Salowey"/>
            <date month="October" year="2024"/>
            <abstract>
              <t>RFCs 5425 and 6012 describe using TLS and DTLS to securely transport syslog messages. This document updates the cipher suites required by RFC 5245 (TLS Transport Mapping for Syslog) and RFC 6012 (DTLS Transport Mapping for Syslog). It also updates the protocol recommended by RFC 6012 for secure datagram transport.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9662"/>
          <seriesInfo name="DOI" value="10.17487/RFC9662"/>
        </reference>
        <reference anchor="I-D.ietf-anima-brski-ae">
          <front>
            <title>BRSKI-AE: Alternative Enrollment Protocols in BRSKI</title>
            <author fullname="David von Oheimb" initials="D." surname="von Oheimb">
              <organization>Siemens AG</organization>
            </author>
            <author fullname="Steffen Fries" initials="S." surname="Fries">
              <organization>Siemens AG</organization>
            </author>
            <author fullname="Hendrik Brockhaus" initials="H." surname="Brockhaus">
              <organization>Siemens AG</organization>
            </author>
            <date day="17" month="September" year="2024"/>
            <abstract>
              <t>   This document defines enhancements to the Bootstrapping Remote Secure
   Key Infrastructure (BRSKI) protocol, known as BRSKI-AE (Alternative
   Enrollment).
   BRSKI-AE extends BRSKI to support certificate enrollment mechanisms
   instead of the originally specified use of EST.  It supports
   certificate enrollment protocols, such as CMP, that use authenticated
   self-contained signed objects for certification messages, allowing
   for flexibility in network device onboarding scenarios.
   The enhancements address use cases where the existing enrollment
   mechanism may not be feasible or optimal, providing a framework for
   integrating suitable alternative enrollment protocols.
   This document also updates the BRSKI reference architecture to
   accommodate these alternative methods, ensuring secure and scalable
   deployment across a range of network environments.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-brski-ae-13"/>
        </reference>
        <reference anchor="I-D.richardson-emu-eap-onboarding">
          <front>
            <title>EAP defaults for devices that need to onboard</title>
            <author fullname="Alan DeKok" initials="A." surname="DeKok">
              <organization>FreeRADIUS</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="2" month="April" year="2023"/>
            <abstract>
              <t>   This document describes a method by which an unconfigured device can
   use EAP to join a network on which further device onboarding, network
   attestation or other remediation can be done.  While RFC 5216
   supports EAP-TLS without a client certificate, that document defines
   no method by which unauthenticated EAP-TLS can be used.  This draft
   addresses that issue.  First, by defining the @eap.arpa domain, and
   second by showing how it can be used to provide quarantined network
   access for onboarding unauthenticated devices.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-richardson-emu-eap-onboarding-03"/>
        </reference>
        <reference anchor="I-D.richardson-anima-masa-considerations">
          <front>
            <title>Operational Considerations for Voucher infrastructure for BRSKI MASA</title>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="22" month="January" year="2025"/>
            <abstract>
              <t>   This document describes a number of operational modes that a BRSKI
   Manufacturer Authorized Signing Authority (MASA) may take on.

   Each mode is defined, and then each mode is given a relevance within
   an over applicability of what kind of organization the MASA is
   deployed into.  This document does not change any protocol
   mechanisms.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-richardson-anima-masa-considerations-09"/>
        </reference>
        <reference anchor="I-D.richardson-anima-registrar-considerations">
          <front>
            <title>Operational Considerations for BRSKI Registrar</title>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="22" month="January" year="2025"/>
            <abstract>
              <t>   This document describes a number of operational modes that a BRSKI
   Registration Authority (Registrar) may take on.

   Each mode is defined, and then each mode is given a relevance within
   an over applicability of what kind of organization the Registrar is
   deployed into.  This document does not change any protocol
   mechanisms.

   This document includes operational advice about avoiding unwanted
   consequences.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-richardson-anima-registrar-considerations-09"/>
        </reference>
        <reference anchor="I-D.ietf-anima-brski-discovery">
          <front>
            <title>BRSKI discovery and variations</title>
            <author fullname="Toerless Eckert" initials="T. T." surname="Eckert">
              <organization>Futurewei USA</organization>
            </author>
            <author fullname="Esko Dijk" initials="E." surname="Dijk">
              <organization>IoTconsultancy.nl</organization>
            </author>
            <date day="21" month="October" year="2024"/>
            <abstract>
              <t>   This document specifies how BRSKI entities, such as registrars,
   proxies, pledges or others that are acting as responders, can be
   discovered and selected by BRSKI entities acting as initiators,
   especially in the face of variations in the protocols that can
   introduce non-interoperability when not equally supported by both
   responder and initiator.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-brski-discovery-05"/>
        </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="BRSKI-PRM-abstract" target="https://datatracker.ietf.org/meeting/113/materials/slides-113-anima-update-on-brski-with-pledge-in-responder-mode-brski-prm-00">
          <front>
            <title>Abstract BRSKI-PRM Protocol Overview</title>
            <author>
              <organization/>
            </author>
            <date year="2022" month="March"/>
          </front>
        </reference>
        <reference anchor="onpath" target="https://mailarchive.ietf.org/arch/msg/saag/m1r9uo4xYznOcf85Eyk0Rhut598/">
          <front>
            <title>can an on-path attacker drop traffic?</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="androidnsd" target="https://developer.android.com/training/connect-devices-wirelessly">
          <front>
            <title>Android Developer: Connect devices wirelessly</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="archived at" value="https://web.archive.org/web/20230000000000*/https://developer.android.com/training/connect-devices-wirelessly"/>
        </reference>
        <reference anchor="androidtrustfail" target="https://developer.android.com/training/articles/security-ssl">
          <front>
            <title>Security with Network Protocols</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="archived at" value="https://web.archive.org/web/20230326153937/https://developer.android.com/training/articles/security-ssl"/>
        </reference>
        <reference anchor="RFC9483">
          <front>
            <title>Lightweight Certificate Management Protocol (CMP) Profile</title>
            <author fullname="H. Brockhaus" initials="H." surname="Brockhaus"/>
            <author fullname="D. von Oheimb" initials="D." surname="von Oheimb"/>
            <author fullname="S. Fries" initials="S." surname="Fries"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document aims at simple, interoperable, and automated PKI management operations covering typical use cases of industrial and Internet of Things (IoT) scenarios. This is achieved by profiling the Certificate Management Protocol (CMP), the related Certificate Request Message Format (CRMF), and transfer based on HTTP or Constrained Application Protocol (CoAP) in a succinct but sufficiently detailed and self-contained way. To make secure certificate management for simple scenarios and constrained devices as lightweight as possible, only the most crucial types of operations and options are specified as mandatory. More specialized or complex use cases are supported with optional features.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9483"/>
          <seriesInfo name="DOI" value="10.17487/RFC9483"/>
        </reference>
        <reference anchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC8971">
          <front>
            <title>Bidirectional Forwarding Detection (BFD) for Virtual eXtensible Local Area Network (VXLAN)</title>
            <author fullname="S. Pallagatti" initials="S." role="editor" surname="Pallagatti"/>
            <author fullname="G. Mirsky" initials="G." role="editor" surname="Mirsky"/>
            <author fullname="S. Paragiri" initials="S." surname="Paragiri"/>
            <author fullname="V. Govindan" initials="V." surname="Govindan"/>
            <author fullname="M. Mudigonda" initials="M." surname="Mudigonda"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>This document describes the use of the Bidirectional Forwarding Detection (BFD) protocol in point-to-point Virtual eXtensible Local Area Network (VXLAN) tunnels used to form an overlay network.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8971"/>
          <seriesInfo name="DOI" value="10.17487/RFC8971"/>
        </reference>
        <reference anchor="I-D.irtf-t2trg-taxonomy-manufacturer-anchors">
          <front>
            <title>A Taxonomy of operational security considerations for manufacturer installed keys and Trust Anchors</title>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="2" month="January" year="2025"/>
            <abstract>
              <t>   This document provides a taxonomy of methods used by manufacturers of
   silicon and devices to secure private keys and public trust anchors.
   This deals with two related activities: how trust anchors and private
   keys are installed into devices during manufacturing, and how the
   related manufacturer held private keys are secured against
   disclosure.

   This document does not evaluate the different mechanisms, but rather
   just serves to name them in a consistent manner in order to aid in
   communication.

   RFCEDITOR: please remove this paragraph.  This work is occurring in
   https://github.com/mcr/idevid-security-considerations

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-irtf-t2trg-taxonomy-manufacturer-anchors-05"/>
        </reference>
      </references>
    </references>
    <?line 2814?>

<section anchor="examples">
      <name>Examples</name>
      <t>These examples are folded according to <xref target="RFC8792"/> Single Backslash rule.</t>
      <section anchor="example-pledge-voucher-request-pvr-from-pledge-to-registrar-agent">
        <name>Example Pledge Voucher-Request (PVR) - from Pledge to Registrar-Agent</name>
        <t>The following is an example request sent from a Pledge to the Registrar-Agent, in "General JWS JSON Serialization".
The message size of this PVR is: 2973 bytes</t>
        <figure anchor="ExamplePledgeVoucherRequestfigure">
          <name>Example Pledge-Voucher-Request - PVR</name>
          <artwork align="left"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "payload": "eyJpZXRmLXZvdWNoZXItcmVxdWVzdC1wcm06dm91Y2hlciI6eyJhc3\
NlcnRpb24iOiJhZ2VudC1wcm94aW1pdHkiLCJzZXJpYWwtbnVtYmVyIjoiMDEyMzQ1Nj\
c4OSIsIm5vbmNlIjoia2hOeUtwTXRoY2NpYTFyWHc0NC92UT09IiwiY3JlYXRlZC1vbi\
I6IjIwMjQtMDYtMjRUMDk6MDE6MjQuNTU2WiIsImFnZW50LXByb3ZpZGVkLXByb3hpbW\
l0eS1yZWdpc3RyYXItY2VydCI6Ik1JSUI0akNDQVlpZ0F3SUJBZ0lHQVhZNzJiYlpNQW\
9HQ0NxR1NNNDlCQU1DTURVeEV6QVJCZ05WQkFvTUNrMTVRblZ6YVc1bGMzTXhEVEFMQm\
dOVkJBY01CRk5wZEdVeER6QU5CZ05WQkFNTUJsUmxjM1JEUVRBZUZ3MHlNREV5TURjd0\
5qRTRNVEphRncwek1ERXlNRGN3TmpFNE1USmFNRDR4RXpBUkJnTlZCQW9NQ2sxNVFuVn\
phVzVsYzNNeERUQUxCZ05WQkFjTUJGTnBkR1V4R0RBV0JnTlZCQU1NRDBSdmJXRnBibE\
psWjJsemRISmhjakJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCQmsxNk\
svaTc5b1JrSzVZYmVQZzhVU1I4L3VzMWRQVWlaSE10b2tTZHFLVzVmbldzQmQrcVJMN1\
dSZmZlV2t5Z2Vib0pmSWxsdXJjaTI1d25oaU9WQ0dqZXpCNU1CMEdBMVVkSlFRV01CUU\
dDQ3NHQVFVRkJ3TUJCZ2dyQmdFRkJRY0RIREFPQmdOVkhROEJBZjhFQkFNQ0I0QXdTQV\
lEVlIwUkJFRXdQNElkY21WbmFYTjBjbUZ5TFhSbGMzUXVjMmxsYldWdWN5MWlkQzV1Wl\
hTQ0huSmxaMmx6ZEhKaGNpMTBaWE4wTmk1emFXVnRaVzV6TFdKMExtNWxkREFLQmdncW\
hrak9QUVFEQWdOSUFEQkZBaUJ4bGRCaFpxMEV2NUpMMlByV0N0eVM2aERZVzF5Q08vUm\
F1YnBDN01hSURnSWhBTFNKYmdMbmdoYmJBZzBkY1dGVVZvL2dHTjAvand6SlowU2wyaD\
R4SVhrMSIsImFnZW50LXNpZ25lZC1kYXRhIjoiZXlKd1lYbHNiMkZrSWpvaVpYbEtjRn\
BZVW0xTVdGcDJaRmRPYjFwWVNYUmpiVlo0WkZkV2VtUkRNWGRqYlRBMldWZGtiR0p1VV\
hSak1teHVZbTFXYTB4WFVtaGtSMFZwVDI1emFWa3pTbXhaV0ZKc1drTXhkbUpwU1RaSm\
FrbDNUV3BKZEUxRWEzUk5ha3BWVFVSVk5rNUVUVFpPVkVGMVRWUkpNVmRwU1hOSmJrNX\
NZMjFzYUdKRE1YVmtWekZwV2xoSmFVOXBTWGROVkVsNlRrUlZNazU2WnpWSmJqRTVJaX\
dpYzJsbmJtRjBkWEpsY3lJNlczc2ljSEp2ZEdWamRHVmtJam9pWlhsS2NtRlhVV2xQYV\
VwVlZFZE5NMWRZYUV4V2JGWldaVzVLTTFKVVRsSlhWRlpEV2xaa2IyTXlNVVZOTW1NNV\
NXbDNhVmxYZUc1SmFtOXBVbFpOZVU1VVdXbG1VU0lzSW5OcFoyNWhkSFZ5WlNJNklrd3\
lZVEJsY3pWZkxXZHNZVjkwTjFVME1VbFJXRmxJU1RSQlMxVldVRkZmTTFSbGQxUTFiMF\
ZWWVVOdFVIQktaMmRyU0c1d09WTk1aVFZ1YWkxbldGbFRiMk5sT1RoeFFXSnROa0YwZF\
MxRlIxUkxZMDVSSW4xZGZRMEsifX0",
  "signatures": [
    {
      "protected": "eyJ4NWMiOlsiTUlJQitUQ0NBYUNnQXdJQkFnSUdBWG5WanNV\
NU1Bb0dDQ3FHU000OUJBTUNNRDB4Q3pBSkJnTlZCQVlUQWtGUk1SVXdFd1lEVlFRS0RB\
eEthVzVuU21sdVowTnZjbkF4RnpBVkJnTlZCQU1NRGtwcGJtZEthVzVuVkdWemRFTkJN\
Q0FYRFRJeE1EWXdOREExTkRZeE5Gb1lEems1T1RreE1qTXhNak0xT1RVNVdqQlNNUXN3\
Q1FZRFZRUUdFd0pCVVRFVk1CTUdBMVVFQ2d3TVNtbHVaMHBwYm1kRGIzSndNUk13RVFZ\
RFZRUUZFd293TVRJek5EVTJOemc1TVJjd0ZRWURWUVFEREE1S2FXNW5TbWx1WjBSbGRt\
bGpaVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCQzc5bGlhUmNCalpj\
RUVYdzdyVWVhdnRHSkF1SDRwazRJNDJ2YUJNc1UxMWlMRENDTGtWaHRVVjIxbXZhS0N2\
TXgyWStTTWdROGZmd0wyM3ozVElWQldqZFRCek1Dc0dDQ3NHQVFVRkJ3RWdCQjhXSFcx\
aGMyRXRkR1Z6ZEM1emFXVnRaVzV6TFdKMExtNWxkRG81TkRRek1COEdBMVVkSXdRWU1C\
YUFGRlFMak56UC9TL2tvdWpRd2pnNUU1ZnZ3Y1liTUJNR0ExVWRKUVFNTUFvR0NDc0dB\
UVVGQndNQ01BNEdBMVVkRHdFQi93UUVBd0lIZ0RBS0JnZ3Foa2pPUFFRREFnTkhBREJF\
QWlCdTN3UkJMc0pNUDVzTTA3MEgrVUZyeU5VNmdLekxPUmNGeVJST2xxcUhpZ0lnWENt\
SkxUekVsdkQycG9LNmR4NmwxL3V5bVRuYlFERGZKbGF0dVgyUm9PRT0iXSwidHlwIjoi\
dm91Y2hlci1qd3MranNvbiIsImFsZyI6IkVTMjU2In0",
      "signature": "ntAgC7GT7xIDYcHBXoYej8uIUI6WR2Iv-7T1CaR-J6-xS60D\
iWS1-vfc5Uu5INZS1dyWZ4vVH6uaoPceRxNc8g"
    }
  ]
}
]]></artwork>
        </figure>
      </section>
      <section anchor="example-parboiled-registrar-voucher-request-rvr-from-registrar-to-masa">
        <name>Example Parboiled Registrar Voucher-Request (RVR) - from Registrar to MASA</name>
        <t>The term parboiled refers to food which is partially cooked.  In <xref target="RFC8995"/>, the term refers to a pledge-voucher-request (PVR) which has
been received by the Registrar, and then has been processed by the Registrar ("cooked"), and is now being forwarded to the MASA.</t>
        <t>The following is an example registrar-voucher-request (RVR) sent from the Registrar to the MASA, in "General JWS JSON Serialization".
Note that the previous PVR can be seen in the payload as "prior-signed-voucher-request".
The message size of this RVR is: 7533 bytes</t>
        <figure anchor="ExampleRegistrarVoucherRequestfigure">
          <name>Example Registrar-Voucher-Request - RVR</name>
          <artwork align="left"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "payload": "eyJpZXRmLXZvdWNoZXItcmVxdWVzdC1wcm06dm91Y2hlciI6eyJhc3\
NlcnRpb24iOiJhZ2VudC1wcm94aW1pdHkiLCJzZXJpYWwtbnVtYmVyIjoiMDEyMzQ1Nj\
c4OSIsImlkZXZpZC1pc3N1ZXIiOiJCQmd3Rm9BVVZBdU0zTS85TCtTaTZORENPRGtUbC\
svQnhocz0iLCJub25jZSI6ImtoTnlLcE10aGNjaWExclh3NDQvdlE9PSIsInByaW9yLX\
NpZ25lZC12b3VjaGVyLXJlcXVlc3QiOiJleUp3WVhsc2IyRmtJam9pWlhsS2NGcFlVbT\
FNV0ZwMlpGZE9iMXBZU1hSamJWWjRaRmRXZW1SRE1YZGpiVEEyWkcwNU1Wa3lhR3hqYV\
VrMlpYbEthR016VG14amJsSndZakkwYVU5cFNtaGFNbFoxWkVNeGQyTnRPVFJoVnpGd1\
pFaHJhVXhEU25wYVdFcHdXVmQzZEdKdVZuUlpiVlo1U1dwdmFVMUVSWGxOZWxFeFRtcG\
pORTlUU1hOSmJUVjJZbTFPYkVscWIybGhNbWhQWlZWMGQxUllVbTlaTWs1d1dWUkdlVm\
RJWXpCT1F6a3lWVlF3T1VscGQybFpNMHBzV1ZoU2JGcERNWFppYVVrMlNXcEpkMDFxVV\
hSTlJGbDBUV3BTVlUxRWF6Wk5SRVUyVFdwUmRVNVVWVEpYYVVselNXMUdibHBYTlRCTV\
dFSjVZak5hY0ZwSFZtdE1XRUo1WWpOb2NHSlhiREJsVXpGNVdsZGtjR016VW5sWldFbD\
BXVEpXZVdSRFNUWkphekZLVTFWSk1HRnJUa1JSVm14d1dqQkdNMU5WU2tKYU1HeElVVl\
pvV2s1NlNtbFpiSEJPVVZjNVNGRXdUbmhTTVU1T1RrUnNRMUZWTVVSVVZWSldaVVZXTm\
xGV1NrTmFNRFZYVVd0R2RsUlZUbkpOVkZaU1lteGFObGxXWXpGaVIwMTZWRmhvUlZaRl\
JrMVJiV1JQVm10S1Fsa3dNVU5TYXpWM1drVmtWbVZGVWpaUlZUVkRXakExVjFGclJrNV\
VWVXB6VlcxNGFrMHhTa1ZWVmxKQ1dsVmFNMDFJYkU1U1JWWTFWRlZTYW1Rd05YRlNWRk\
pPVmtWd2FGSnVZM2RsYXpGRlVsaHNUbEpIVGpOVWJYQkdUa1V4VlZOdFJrNVNSRkkwVW\
xod1FsVnJTbTVVYkZwRFVWYzVUbEV5YzNoT1ZrWjFWbTV3YUZaNlZuTlplazVPWlVWU1\
ZWRlZlRU5hTURWWFVXdEdhbFJWU2tkVWJrSnJVakZXTkZJd1VrSldNRXB1Vkd4YVExRl\
ZNVTVTUkVKVFpHMUtXRkp1UW1saVJYQnpWMnBLYzJWdFVrbFRiV2hxWVd0S1lWUlZTaz\
VTTUVvMVkxVmtWRlJVVVRWUlYyUkdVakJPUkdOVlpGUlVWRkUxVVZoa1JsTkZSWGRUVl\
VaRFVXMXplRTVyYzNaaFZHTTFZakZLY2xONlZscFpiVlpSV25wb1ZsVXhTVFJNTTFaNl\
RWZFNVVlpYYkdGVFJURXdZakowVkZwSVJreFdlbFp0WW14a2VsRnRVWEpqVmtwTlRqRm\
tVMXB0V214V01uUTFXakpXYVdJd2NHMVRWM2h6WkZoS2FtRlVTVEZrTWpWdllWVTVWMU\
V3WkhGYVdIQkRUbFV4UTAxRlpFSk5WbFpyVTJ4R1VsWXdNVU5WVldSRVVUTk9TRkZXUm\
xaU2Ewb3pWRlZLUTFveVpIbFJiV1JHVW10S1Vsa3dVa2xTUlVaUVVXMWtUMVpyYUZKUF\
JVcENXbXBvUmxGclJrNVJNRWt3VVZoa1ZGRldiRVZXYkVsM1ZXdEtSbEpZWkZGT1JXeH\
JXVEl4VjJKdFJsbFVha0pxWWxWYU5WUkdhRk5pUjAxNlZWaFdhazF0ZUhOWmJHUlhaRm\
RPTlUxWGJHdFJlbFl4VjJ4b1ZGRXdhSFZUYlhoaFRXMTRObHBGYUV0aFIwNXdUVlJDWV\
ZkRk5IZFViV3N4WlcxR1dGWnVVbUZXZWxZMlZFWmtTMDFGZUhST1YzaHJVa1ZHVEZGdF\
pHNWpWMmh5WVdzNVVWVldSa1ZSVjJSUFUxVkdSVkZyV2tKaFZVbzBZa2RTUTJGR2NIaE\
5SVll5VGxWd1RVMXNRbmxXTUU0d1pWWk5NbUZGVWxwV2VrWTFVVEE0ZGxWdFJqRlpia0\
pFVGpBeGFGTlZVbTVUVjJoQ1ZFWk9TMWx0WkUxaWJXUnZXVzFLUWxwNlFtdFpNV1JIVm\
xaYWRrd3laRWhVYWtGMllXNWtObE5zYjNkVk1uZDVZVVJTTkZOV2FISk5VMGx6U1cxR2\
JscFhOVEJNV0U1d1dqSTFiRnBETVd0WldGSm9TV3B2YVZwWWJFdGtNV3haWWtoT2FVMX\
JXbkpUVjNCMllWWndXV0pGZEdwU2JrSmFWbGN3ZUZSV1pFZGpSRXBoVW0xU1VGbHFSbm\
RYVms1WlZXMXdhVlpzYnpCWGExcHJWakpXZEZWclVrNVhSMUp4V1d4U1FrMXNaRmRhUj\
NScFVqQndNVlpXYUZOaGF6RjBaVWhXV21KVVJsaFpWRUkwVjBaV2RHRkhkRk5OUmxwM1\
ZrUkpNV1Z0UmxkaE0zQlVZbGhvWVZZd1drdGpNV1J5VkZob2EySlZjSGRWTVZKaFUyMU\
djbUpFVGxWV00wSkxXa1ZWZUZKWFJYcFZhelZvWVROQ1YxWkdWbE5XYXpWeVRsVldWVl\
pHY0ZCV2ExWkhUVlpTVjFWcmNFNVdiVkozVlRGb1QxTnRTbkpPV0U1YVRXcEdlbGxWWk\
V0U1JURlpWbTEwVjJWclduZFdNbmh2VTIxR1ZrOVlRbFJYUjFKUFZtdFdjMDVzVW5KVm\
JGcE9ZWHBWTWxkdWNGZFRiVXB4VWxSV1NtRllaSEJaZWtwelltMUtkRkpxUW10WFJYQn\
pXVE5zU2s1c1kzcGpNbXhxVTBWd01scEZaRmRoYlZKSVZtMTBTbUZ0T1hCWGJHaHpVek\
pPZEZKc2FGWldNbmhSV1ZaV2QxWnNXa1phUlRWT1RWZFNXbGxWVmpSV01rcEhWMnhrWV\
ZaNlZreFVWRVpMVmxaU2MxTnNhRmRTYkhCRlZqSjRZV0V5U1hsVVdHeE9WbFphVDFSWE\
1VNU9WazVZWWtST2FGWnRlRmxhVldNeFUyMUdkRTlZUWxaaVJuQlBXbFpWTVZaV1pGaG\
lSekZXVlRCc2VsTlhOVTlqUm05NVRsZG9hMU5HV2pWWGJFNUtUbXRzY21RemJGcFdSVX\
B6V1ROd1YxcHJlRmhhU0U1YVZtcHJkMVJxUmxaTlJURldZa1pLV0ZKdGVFcFZNVkpUVV\
d4TmVGWnNaRlpTYTFwdFZGUkdVMkpIVVhoVlZFWnBUVVphVjFkV1ZrOWtSbFpKVVd0MF\
lVMXRVbmxWTUdNeFpEQTVWMVJyTVdGV1Jsb3hXVmRyZUdKc1pFZGlSbEpwVFdzMWMxUX\
hVbTlsUmtaWVUyNVNUMkV3V1hkYVJrMTRVbXhKZUZWcmVGcE5SRlpUVTFjMGVGcEhXbE\
pOUlhOcFpsZ3dJaXdpYzJsbmJtRjBkWEpsY3lJNlczc2ljSEp2ZEdWamRHVmtJam9pWl\
hsS05FNVhUV2xQYkhOcFZGVnNTbEZwZEZWUk1FNUNXVlZPYmxGWVpFcFJhMFp1VTFWa1\
FsZEhOVmRoYms1V1RsVXhRbUl3WkVSUk0wWklWVEF3TUU5VlNrSlVWVTVPVWtSQ05GRX\
pjRUpUYTBwdVZHeGFRMUZXYkZWUlYzUkhWV3N4VTFaWVpFWmtNV3hGVm14R1VsTXdVa0\
psUlhSb1ZucFdkVlV5TVhOa1ZtOTNWRzVhYW1KclJqUlNibkJDVm10S2JsUnNXa05SVl\
RGT1VrZDBkMk5IU25SYVJYUm9WbnBXZFZaclpGZGxiVkpHVkd0S1RsRXdSbGxTUmxKS1\
pVVXhSVmRZWkU5U1JVVjRWR3RTV21WRk5VZGlNV3hGWlcxek1WUXhVbkpsUlRGeFZGaG\
9UbUZyTUhoVU1WSldUbFprY1ZGc1RrNVZXRTR6VVRGR1dsSkdXbEpWVldSR1pEQndRMV\
pXVWtaV2F6RkRWRlZrUWsxV1ZrWlJNbVF6VkZaT2RHSklWbUZOU0VKM1dXMHhhMUpIU1\
hwVGJtUk9WV3N4TTFKV1JscFNSbHBTVlZWYVJtUXlPVE5VVmxKS1pXczFSVlpVU2s5bG\
JXTXhWRlpLYW1Rd1dsSlhWVkpYVlZaR1JWSkZSVEZUTWtaWVRsYzFWR0pYZURGWGFrSl\
RZa2RTZEdKSGNHRldSVXBoVkZWS1RsSXdTalZqVldSVVZGUlJOVkZYWkVaU01FNUVZMV\
ZrVkZSVVVUVlJXR1JHVTBWRmQxTlZSa05SZW1NMVlrZHNhRlZ0VGtOaGJIQnFVbFZXV1\
dSNlpIbFdWMVpvWkc1U1NGTnJSakZUUkZKM1lYcFNTazVFU2pKWlZVcE9ZekZWZUUxWG\
JFMVNSVTVFVkVkMFYyRklVbFpXYWtsNFlsaGFhRk13VGpKVVdHZDVWMU4wVkZSWFpGSl\
BSMXB0WkRCM2VVMHpiM3BXUld4WFVXeGtjVnBHVWtObGF6RkVZekJrUkZFelRraFJWa1\
pXVW10S00xSlhaRU5SYW1oWVUwWmplR0ZIVFhsU1dGSnJVakZhTmxwRlRURmxiVVpZVm\
01U1lWWjZWalpVUm1STFRVVjRkRTVYZUd0U1J6Z3hWR3RTVW1Wck1VTlBSV1JDVFZaV2\
ExTllaRkpYVlRGRFdWVkdSMUpzUmsxaGF6VTJWVU01VkV3eWRIWmtWM0JTWkRKd2JrNV\
ZWVEZhYmxveldURnNhVlJWU2s1U01FVjRWbGRTUzFWV1JrNVVWVVoyVWpCT1JHTXdaRU\
pWVmxaSFVXNWtUbEV3TVVKT1JXUkNUVlpXYTFKSVpFWlJhVGt6VlZWV1FtUXdiRWxhTU\
ZKQ1V6QktibG96Um05aE1uQlFWVVpHVWxKRlJtNVVhMmhDVWtWS1JsRlhiRU5rVkU0el\
ZXdEtUV013Y0U1VlJGWjZWRlJCTTAxRlozSldWVnA1WlZVMVZrNXRaRXhsYTNoUVZXMU\
9SMlZXU2xOVU1uaDRZMVZvY0Zvd2JHNVhSVTUwVTJ0NFZXVnJWbk5rYTFGNVkwYzVURT\
V0VWpST2JYZDRURE5XTldKV1VuVlpiRVpGVWtkYVMySkhSakJrVm1kNVZXMDVVRkpVTU\
dsWVUzZHBaRWhzZDBscWIybGtiVGt4V1RKb2JHTnBNWEZrTTAxeVlXNU9kbUpwU1hOSm\
JVWnpXbmxKTmtsclZsUk5hbFV5U1c0d0lpd2ljMmxuYm1GMGRYSmxJam9pYm5SQlowTT\
NSMVEzZUVsRVdXTklRbGh2V1dWcU9IVkpWVWsyVjFJeVNYWXROMVF4UTJGU0xVbzJMWG\
hUTmpCRWFWZFRNUzEyWm1NMVZYVTFTVTVhVXpGa2VWZGFOSFpXU0RaMVlXOVFZMlZTZU\
U1ak9HY2lmVjE5IiwiY3JlYXRlZC1vbiI6IjIwMjQtMDYtMjRUMDk6MDI6MTUuNTczWi\
IsImFnZW50LXNpZ24tY2VydCI6WyJNSUlCOWpDQ0FaMmdBd0lCQWdJRVl4WHM3VEFLQm\
dncWhrak9QUVFEQWpBK01STXdFUVlEVlFRS0RBcE5lVUoxYzJsdVpYTnpNUTB3Q3dZRF\
ZRUUhEQVJUYVhSbE1SZ3dGZ1lEVlFRRERBOVVaWE4wVUhWemFFMXZaR1ZzUTBFd0hoY0\
5Nakl3T1RBMU1USXpORFV6V2hjTk1qVXdPVEExTVRJek5EVXpXakJnTVFzd0NRWURWUV\
FHRXdKQlVURVNNQkFHQTFVRUNnd0pUWGxEYjIxd1lXNTVNUlV3RXdZRFZRUUxEQXhOZV\
ZOMVluTnBaR2xoY25reEpqQWtCZ05WQkFNTUhVMTVVMmwwWlZCMWMyaE5iMlJsYkZKbF\
oybHpkSEpoY2tGblpXNTBNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQU\
V4aHZuYWtDSmVpZ3pqWkFVYU5adVAwMWUrUWxVY1E5UjJMSWs2UkI2dmtjdFdMS3BaWC\
85TGthNEdxckFWWmhhM3ZKcmhGc0l4OEdUQkhqWnZLMVd1Nk5uTUdVd0RnWURWUjBQQV\
FIL0JBUURBZ09JTUI4R0ExVWRJd1FZTUJhQUZHK2hQVzUxN1ovb3NSQ0ZUc2NlUDY4bj\
kzc2pNQjBHQTFVZERnUVdCQlJNdHp0akVwVlJUT3ZBVGRCamtGNWFHeVlQZURBVEJnTl\
ZIU1VFRERBS0JnZ3JCZ0VGQlFjREFqQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQmJoRG\
pwbDJ2cWNONnBSVjRuZVU0dFFsWWFOTit4ZjNnSnUrMHBKblNBL1FJZ0ljcXpsZmhYaU\
Qxc0g3VTVQdUtwVVpzSWpkRjRSenhzQTZxSnRFTEQyUHM9Il19fQ",
  "signatures": [
    {
      "protected": "eyJ4NWMiOlsiTUlJQm96Q0NBVXFnQXdJQkFnSUdBVzBlTHVJ\
Rk1Bb0dDQ3FHU000OUJBTUNNRFV4RXpBUkJnTlZCQW9NQ2sxNVFuVnphVzVsYzNNeERU\
QUxCZ05WQkFjTUJGTnBkR1V4RHpBTkJnTlZCQU1NQmxSbGMzUkRRVEFlRncweE9UQTVN\
VEV3TWpNM016SmFGdzB5T1RBNU1URXdNak0zTXpKYU1GUXhFekFSQmdOVkJBb01DazE1\
UW5WemFXNWxjM014RFRBTEJnTlZCQWNNQkZOcGRHVXhMakFzQmdOVkJBTU1KVkpsWjJs\
emRISmhjaUJXYjNWamFHVnlJRkpsY1hWbGMzUWdVMmxuYm1sdVp5QkxaWGt3V1RBVEJn\
Y3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVQ2eFZ2QXZxVHoxWlVpdU5XaFhwUXNr\
YVB5N0FISFFMd1hpSjBpRUx0NnVOUGFuQU4wUW5XTVlPLzBDREVqSWtCUW9idzhZS3Fq\
dHhKSFZTR1RqOUtPb3ljd0pUQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RIREFPQmdO\
VkhROEJBZjhFQkFNQ0I0QXdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdZcjJMZnFvYUNL\
REY0UkFjTW1KaStOQ1pxZFNpdVZ1Z0lTQTdPaEtScTNZQ0lEeG5QTU1ucFhBTVRyUEp1\
UFd5Y2VFUjExUHhIT24rMENwU0hpMnFncFdYIl0sInR5cCI6InZvdWNoZXItandzK2pz\
b24iLCJhbGciOiJFUzI1NiJ9",
      "signature": "_mcsO5vo0g2rFmBvTb-UsOWkEmhYNfQ5XmbuKHKH0ZLjea-7\
911BilAMdFORmT4vCzWKBSH6HSqtpIRcSSxx7Q"
    }
  ]
}
]]></artwork>
        </figure>
      </section>
      <section anchor="example-voucher-from-masa-to-pledge-via-registrar-and-registrar-agent">
        <name>Example Voucher - from MASA to Pledge, via Registrar and Registrar-Agent</name>
        <t>The following is an example voucher-response from MASA to Pledge via Registrar and Registrar-Agent, in "General JWS JSON Serialization". The message size of this Voucher is: 1916 bytes</t>
        <figure anchor="ExampleVoucherResponsefigure">
          <name>Example Voucher-Response from MASA</name>
          <artwork align="left"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "payload":"eyJpZXRmLXZvdWNoZXI6dm91Y2hlciI6eyJhc3NlcnRpb24iOiJhZ2V\
udC1wcm94aW1pdHkiLCJzZXJpYWwtbnVtYmVyIjoiMDEyMzQ1Njc4OSIsIm5vbmNlIjo\
iTDNJSjZocHRIQ0lRb054YWFiOUhXQT09IiwiY3JlYXRlZC1vbiI6IjIwMjItMDQtMjZ\
UMDU6MTY6MjguNzI2WiIsInBpbm5lZC1kb21haW4tY2VydCI6Ik1JSUJwRENDQVVtZ0F\
3SUJBZ0lHQVcwZUx1SCtNQW9HQ0NxR1NNNDlCQU1DTURVeEV6QVJCZ05WQkFvTUNrMTV\
RblZ6YVc1bGMzTXhEVEFMQmdOVkJBY01CRk5wZEdVeER6QU5CZ05WQkFNTUJsUmxjM1J\
EUVRBZUZ3MHhPVEE1TVRFd01qTTNNekphRncweU9UQTVNVEV3TWpNM016SmFNRFV4RXp\
BUkJnTlZCQW9NQ2sxNVFuVnphVzVsYzNNeERUQUxCZ05WQkFjTUJGTnBkR1V4RHpBTkJ\
nTlZCQU1NQmxSbGMzUkRRVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUF\
CT2t2a1RIdThRbFQzRkhKMVVhSTcrV3NIT2IwVVMzU0FMdEc1d3VLUURqaWV4MDYvU2N\
ZNVBKaWJ2Z0hUQitGL1FUamdlbEhHeTFZS3B3Y05NY3NTeWFqUlRCRE1CSUdBMVVkRXd\
FQi93UUlNQVlCQWY4Q0FRRXdEZ1lEVlIwUEFRSC9CQVFEQWdJRU1CMEdBMVVkRGdRV0J\
CVG9aSU16UWRzRC9qLytnWC83Y0JKdWNIL1htakFLQmdncWhrak9QUVFEQWdOSkFEQkd\
BaUVBdHhRMytJTEdCUEl0U2g0YjlXWGhYTnVocVNQNkgrYi9MQy9mVllEalE2b0NJUUR\
HMnVSQ0hsVnEzeWhCNThUWE1VYnpIOCtPbGhXVXZPbFJEM1ZFcURkY1F3PT0ifX0",
  "signatures":[{
    "protected":"eyJ4NWMiOlsiTUlJQmt6Q0NBVGlnQXdJQkFnSUdBV0ZCakNrWU1\
Bb0dDQ3FHU000OUJBTUNNRDB4Q3pBSkJnTlZCQVlUQWtGUk1SVXdFd1lEVlFRS0RBeEt\
hVzVuU21sdVowTnZjbkF4RnpBVkJnTlZCQU1NRGtwcGJtZEthVzVuVkdWemRFTkJNQjR\
YRFRFNE1ERXlPVEV3TlRJME1Gb1hEVEk0TURFeU9URXdOVEkwTUZvd1R6RUxNQWtHQTF\
VRUJoTUNRVkV4RlRBVEJnTlZCQW9NREVwcGJtZEthVzVuUTI5eWNERXBNQ2NHQTFVRUF\
3d2dTbWx1WjBwcGJtZERiM0p3SUZadmRXTm9aWElnVTJsbmJtbHVaeUJMWlhrd1dUQVR\
CZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFTQzZiZUxBbWVxMVZ3NmlRclJzOFI\
wWlcrNGIxR1d5ZG1XczJHQU1GV3diaXRmMm5JWEgzT3FIS1Z1OHMyUnZpQkdOaXZPS0d\
CSEh0QmRpRkVaWnZiN294SXdFREFPQmdOVkhROEJBZjhFQkFNQ0I0QXdDZ1lJS29aSXp\
qMEVBd0lEU1FBd1JnSWhBSTRQWWJ4dHNzSFAyVkh4XC90elVvUVwvU3N5ZEwzMERRSU5\
FdGNOOW1DVFhQQWlFQXZJYjNvK0ZPM0JUbmNMRnNhSlpSQWtkN3pPdXNuXC9cL1pLT2F\
FS2JzVkRpVT0iXSwiYWxnIjoiRVMyNTYifQ",
    "signature":"0TB5lr-cs1jqka2vNbQm3bBYWfLJd8zdVKIoV53eo2YgSITnKKY\
TvHMUw0wx9wdyuNVjNoAgLysNIgEvlcltBw"
  }]
}
]]></artwork>
        </figure>
      </section>
      <section anchor="example-voucher-masa-issued-voucher-with-additional-registrar-signature-from-masa-to-pledge-via-registrar-and-registrar-agent">
        <name>Example Voucher, MASA issued Voucher with additional Registrar signature (from MASA to Pledge, via Registrar and Registrar-Agent)</name>
        <t>The following is an example voucher-response from MASA to Pledge via Registrar and Registrar-Agent, in "General JWS JSON Serialization".
The message size of this Voucher is: 2994 bytes</t>
        <figure anchor="ExampleVoucherResponseWithRegSignfigure">
          <name>Example Voucher-Response from MASA, with additional Registrar signature</name>
          <artwork align="left"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "payload": "eyJpZXRmLXZvdWNoZXI6dm91Y2hlciI6eyJhc3NlcnRpb24iOiJhZ2\
VudC1wcm94aW1pdHkiLCJzZXJpYWwtbnVtYmVyIjoiMDEyMzQ1Njc4OSIsIm5vbmNlIj\
oia2hOeUtwTXRoY2NpYTFyWHc0NC92UT09IiwiY3JlYXRlZC1vbiI6IjIwMjQtMDYtMj\
RUMDk6MDI6MTYuMjQ0WiIsInBpbm5lZC1kb21haW4tY2VydCI6Ik1JSUJwRENDQVVtZ0\
F3SUJBZ0lHQVcwZUx1SCtNQW9HQ0NxR1NNNDlCQU1DTURVeEV6QVJCZ05WQkFvTUNrMT\
VRblZ6YVc1bGMzTXhEVEFMQmdOVkJBY01CRk5wZEdVeER6QU5CZ05WQkFNTUJsUmxjM1\
JEUVRBZUZ3MHhPVEE1TVRFd01qTTNNekphRncweU9UQTVNVEV3TWpNM016SmFNRFV4RX\
pBUkJnTlZCQW9NQ2sxNVFuVnphVzVsYzNNeERUQUxCZ05WQkFjTUJGTnBkR1V4RHpBTk\
JnTlZCQU1NQmxSbGMzUkRRVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSU\
FCT2t2a1RIdThRbFQzRkhKMVVhSTcrV3NIT2IwVVMzU0FMdEc1d3VLUURqaWV4MDYvU2\
NZNVBKaWJ2Z0hUQitGL1FUamdlbEhHeTFZS3B3Y05NY3NTeWFqUlRCRE1CSUdBMVVkRX\
dFQi93UUlNQVlCQWY4Q0FRRXdEZ1lEVlIwUEFRSC9CQVFEQWdJRU1CMEdBMVVkRGdRV0\
JCVG9aSU16UWRzRC9qLytnWC83Y0JKdWNIL1htakFLQmdncWhrak9QUVFEQWdOSkFEQk\
dBaUVBdHhRMytJTEdCUEl0U2g0YjlXWGhYTnVocVNQNkgrYi9MQy9mVllEalE2b0NJUU\
RHMnVSQ0hsVnEzeWhCNThUWE1VYnpIOCtPbGhXVXZPbFJEM1ZFcURkY1F3PT0ifX0",
  "signatures": [
    {
      "protected": "eyJ4NWMiOlsiTUlJQmt6Q0NBVGlnQXdJQkFnSUdBV0ZCakNr\
WU1Bb0dDQ3FHU000OUJBTUNNRDB4Q3pBSkJnTlZCQVlUQWtGUk1SVXdFd1lEVlFRS0RB\
eEthVzVuU21sdVowTnZjbkF4RnpBVkJnTlZCQU1NRGtwcGJtZEthVzVuVkdWemRFTkJN\
QjRYRFRFNE1ERXlPVEV3TlRJME1Gb1hEVEk0TURFeU9URXdOVEkwTUZvd1R6RUxNQWtH\
QTFVRUJoTUNRVkV4RlRBVEJnTlZCQW9NREVwcGJtZEthVzVuUTI5eWNERXBNQ2NHQTFV\
RUF3d2dTbWx1WjBwcGJtZERiM0p3SUZadmRXTm9aWElnVTJsbmJtbHVaeUJMWlhrd1dU\
QVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFTQzZiZUxBbWVxMVZ3NmlRclJz\
OFIwWlcrNGIxR1d5ZG1XczJHQU1GV3diaXRmMm5JWEgzT3FIS1Z1OHMyUnZpQkdOaXZP\
S0dCSEh0QmRpRkVaWnZiN294SXdFREFPQmdOVkhROEJBZjhFQkFNQ0I0QXdDZ1lJS29a\
SXpqMEVBd0lEU1FBd1JnSWhBSTRQWWJ4dHNzSFAyVkh4L3R6VW9RL1NzeWRMMzBEUUlO\
RXRjTjltQ1RYUEFpRUF2SWIzbytGTzNCVG5jTEZzYUpaUkFrZDd6T3Vzbi8vWktPYUVL\
YnNWRGlVPSJdLCJ0eXAiOiJ2b3VjaGVyLWp3cytqc29uIiwiYWxnIjoiRVMyNTYifQ",
      "signature": "SFtc2xqK8xN2KVqkYKJl7EUU8UJAai3VvCuK8LIfH8HZFvrr\
hqGiY8vK5cbQHQCjVcroFLn7IyhH708XAdstAQ"
    },
    {
      "protected": "eyJ4NWMiOlsiTUlJQjRqQ0NBWWlnQXdJQkFnSUdBWFk3MmJi\
Wk1Bb0dDQ3FHU000OUJBTUNNRFV4RXpBUkJnTlZCQW9NQ2sxNVFuVnphVzVsYzNNeERU\
QUxCZ05WQkFjTUJGTnBkR1V4RHpBTkJnTlZCQU1NQmxSbGMzUkRRVEFlRncweU1ERXlN\
RGN3TmpFNE1USmFGdzB6TURFeU1EY3dOakU0TVRKYU1ENHhFekFSQmdOVkJBb01DazE1\
UW5WemFXNWxjM014RFRBTEJnTlZCQWNNQkZOcGRHVXhHREFXQmdOVkJBTU1EMFJ2YldG\
cGJsSmxaMmx6ZEhKaGNqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJC\
azE2Sy9pNzlvUmtLNVliZVBnOFVTUjgvdXMxZFBVaVpITXRva1NkcUtXNWZuV3NCZCtx\
Ukw3V1JmZmVXa3lnZWJvSmZJbGx1cmNpMjV3bmhpT1ZDR2plekI1TUIwR0ExVWRKUVFX\
TUJRR0NDc0dBUVVGQndNQkJnZ3JCZ0VGQlFjREhEQU9CZ05WSFE4QkFmOEVCQU1DQjRB\
d1NBWURWUjBSQkVFd1A0SWRjbVZuYVhOMGNtRnlMWFJsYzNRdWMybGxiV1Z1Y3kxaWRD\
NXVaWFNDSG5KbFoybHpkSEpoY2kxMFpYTjBOaTV6YVdWdFpXNXpMV0owTG01bGREQUtC\
Z2dxaGtqT1BRUURBZ05JQURCRkFpQnhsZEJoWnEwRXY1SkwyUHJXQ3R5UzZoRFlXMXlD\
Ty9SYXVicEM3TWFJRGdJaEFMU0piZ0xuZ2hiYkFnMGRjV0ZVVm8vZ0dOMC9qd3pKWjBT\
bDJoNHhJWGsxIl0sInR5cCI6InZvdWNoZXItandzK2pzb24iLCJhbGciOiJFUzI1NiJ9\
",
      "signature": "0Q7_a7L4ahn2vmfSxxkKg1xsOMMc8_D7B_Ilzqv5DKzCMkc7\
8YeeezDsuh4Z5JNVQUYHPp7LsK_AS_WH8TdVzA"
    }
  ]
}

]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="pledgehttps">
      <name>HTTP-over-TLS operations between Registrar-Agent and Pledge</name>
      <t>The use of HTTP-over-TLS between Registrar-Agent and pledge has been identified as an optional mechanism.</t>
      <t>Provided that the key-agreement in the underlying TLS protocol connection can be properly authenticated, the use of TLS provides privacy for the voucher and enrollment operations between the pledge and the Registrar-Agent.
The authenticity of the onboarding and enrollment is not dependent upon the security of the TLS connection.</t>
      <t>The use of HTTP-over-TLS is not mandated by this document for two main reasons:</t>
      <ol spacing="normal" type="1"><li>
          <t>A certificate is generally required in order to do TLS.  While there are other modes of authentication including PSK, various EAP methods, and raw public key, they do not help as there is no previous relationship between the Registrar-Agent and the pledge.</t>
        </li>
        <li>
          <t>The pledge can use its IDevID certificate to authenticate itself, but <xref target="RFC9525"/> DNS-ID methods do not apply, as the pledge does not have a FQDN, and hence cannot be identified by DNS name.  Instead a new mechanism is required, which authenticates the X520SerialNumber DN attribute that must be present in every IDevID.</t>
        </li>
      </ol>
      <t>If the Registrar-Agent has a pre-configured list of which product-serial-number(s), from which manufacturers it expects to see, then it can attempt to match this pledge against a list of potential devices.</t>
      <t>In many cases only the list of manufacturers is known ahead of time, so at most the Registrar-Agent can show the X520SerialNumber to the (human) operator who may then attempt to confirm that they are standing in front of a device with that product-serial-number.
The use of scannable QR codes may help automate this in some cases.</t>
      <t>The CA used to sign the IDevID will be a manufacturer private PKI as described in <xref section="4.1" sectionFormat="of" target="I-D.irtf-t2trg-taxonomy-manufacturer-anchors"/>.
The anchors for this PKI will never be part of the public WebPKI anchors which are distributed with most smartphone operating systems.
A Registrar-Agent application will need to use different APIs in order to initiate an HTTPS connection without performing WebPKI verification.
The application will then have to do its own certificate chain verification against a store of manufacturer trust anchors.
In the Android ecosystem this involves use of a customer TrustManager: many application developers do not create these correctly, and there is significant push to remove this option as it has repeatedly resulted in security failures (see <xref target="androidtrustfail"/>).</t>
      <t>Also note that an Extended Key Usage (EKU) for TLS WWW Server authentication cannot be expected in the pledge IDevID certificate.
IDevID certificates are intended to be widely usable and EKU does not support that use.</t>
    </section>
    <section anchor="app_history">
      <name>History of Changes [RFC Editor: please delete]</name>
      <t>Proof of Concept Code available</t>
      <t>From IETF draft 17 -&gt; IETF draft 18:</t>
      <ul spacing="normal">
        <li>
          <t>addressed nits received from the GenART review</t>
        </li>
        <li>
          <t>addressed comment from IANA to update contact for service name registration from IESG to IETF Chair in <xref target="sn_reg"/></t>
        </li>
        <li>
          <t>SECDIR review: included reasoning for short lived certificates in <xref target="agent_component"/></t>
        </li>
        <li>
          <t>SECDIR review: enhanced reasoning for optional TLS usage in <xref target="tpvr"/></t>
        </li>
        <li>
          <t>SECDIR review: added hint for handling if the accept header is not used in <xref target="tpvr"/> and <xref target="tper"/></t>
        </li>
        <li>
          <t>SECDIR review: added hint for response body encoding in <xref target="tpvr"/> and <xref target="tper"/></t>
        </li>
        <li>
          <t>SECDIR review: added hint regarding IDevID and LDevID validity in <xref target="op_cons"/></t>
        </li>
        <li>
          <t>DNSDIR review: renamed <xref target="sn_reg"/> to Service Name and Transport Protocol Port Number Registry</t>
        </li>
        <li>
          <t>from IANA expert review: included registered service names in headings</t>
        </li>
      </ul>
      <t>From IETF draft 16 -&gt; IETF draft 17:</t>
      <ul spacing="normal">
        <li>
          <t>updated formatting of key events in <xref target="log_hints"/></t>
        </li>
        <li>
          <t>updated reference to corresponding sections for JWS Header and Signature in <xref target="I-D.ietf-anima-jws-voucher"/> in <xref target="pvr_data"/> and <xref target="rvr_data"/></t>
        </li>
        <li>
          <t>simplified description for JWS Protected Header aligning with the update in draft-ietf-anima-jws-voucher-15 to always include the certificate chain in <xref target="pvr_data"/> and <xref target="rvr_data"/></t>
        </li>
      </ul>
      <t>From IETF draft 15 -&gt; IETF draft 16:</t>
      <ul spacing="normal">
        <li>
          <t>issue #135: corrections from IOTDIR review (clarification regarding minimum supported discovery in <xref target="discovery_uc2_ppa"/>, clarification regarding CDDl notation in <xref target="cacerts_CDDL_def"/> and editorial nits.</t>
        </li>
        <li>
          <t>updated references (draft-ietf-netconf-sztp-csr became RFC 9646, included RFC 9662, operational considerations drafts for registrar and MASA)</t>
        </li>
        <li>
          <t>AD review: included term Registrar-Agent in Terminology section</t>
        </li>
        <li>
          <t>AD review: enhanced interaction information in <xref target="uc2figure"/> and <xref target="uc3figure"/></t>
        </li>
        <li>
          <t>AD review: included new section on <xref target="op_cons"/> to outline operational considerations</t>
        </li>
        <li>
          <t>AD review: enhanced <xref target="log_hints"/> with more detailed recommendations on logging</t>
        </li>
        <li>
          <t>AD review: enhanced <xref target="priv_cons"/> with enhanced recommendations concerning logging</t>
        </li>
        <li>
          <t>AD review: enhanced <xref target="sec_cons_reg-agt"/> with more information about misuse of the Registrar-Agent</t>
        </li>
        <li>
          <t>IOTDIR/OPSDIR/AD review: addressed various nits received throughout the draft</t>
        </li>
      </ul>
      <t>From IETF draft 14 -&gt; IETF draft 15:</t>
      <ul spacing="normal">
        <li>
          <t>issue #134: editorial clarifications on references to <xref target="I-D.ietf-anima-brski-discovery"/> in <xref target="discovery_uc2_reg"/> and  <xref target="discovery_uc2_ppa"/></t>
        </li>
      </ul>
      <t>From IETF draft 13 -&gt; IETF draft 14:</t>
      <ul spacing="normal">
        <li>
          <t>Update of the examples in <xref target="examples"/> to align with the defined prototypes</t>
        </li>
        <li>
          <t>Changes incorporated based on Shepherd review PR #133:
          </t>
          <ul spacing="normal">
            <li>
              <t>Terminology alignment and clarification throughout the document to use terms more consistently</t>
            </li>
            <li>
              <t>Restructuring of <xref target="exchanges"/> for protocol steps to align to the general approach: Overview, data description, CDDL description (if necessary), JWS Header an Signature. This lead to some movement of text between existing and new subsections.</t>
            </li>
            <li>
              <t>Inclusion of new section on logging hints <xref target="log_hints"/> to give recommendations on which events to be logged for auditing</t>
            </li>
            <li>
              <t>Alignment of pledge status response data across <xref target="vstatus_data"/>, <xref target="estatus_data"/>, and <xref target="pstatus_data"/>.</t>
            </li>
            <li>
              <t>Included MASA component in description of affected components in <xref target="system-components"/></t>
            </li>
            <li>
              <t>Moved host header field handling from <xref target="pledgehttps"/> to <xref target="pledge_component"/> as generally applicable</t>
            </li>
            <li>
              <t>Updated status artifacts (vStatus, eStatus, pStatus) to align with BRSKI CDDL definition, but made reason-context mandatory  to have distinguishable objects for the registrar-agent</t>
            </li>
            <li>
              <t>Correction of terminology of local host name vs. service instance name in <xref target="discovery_uc2_ppa"/></t>
            </li>
          </ul>
        </li>
        <li>
          <t>Update of informative references and nits</t>
        </li>
      </ul>
      <t>From IETF draft 12 -&gt; IETF draft 13:</t>
      <ul spacing="normal">
        <li>
          <t>Deleted figure in Section "Request Artifact: Pledge Voucher-Request Trigger (tPVR)" for JSON representation of tPVR, as it has been replaced by CDDL</t>
        </li>
        <li>
          <t>Updated reason-content description in status response messages (enroll-status, voucher-status, and status-response).</t>
        </li>
        <li>
          <t>Updated CDDL source code integration to allow for automatic verification</t>
        </li>
        <li>
          <t>Reordered description in <xref target="pvr"/> in <xref target="tper"/> to better match the order of communication and artifact processing.</t>
        </li>
        <li>
          <t>Updated CDDL for the request-enroll trigger in <xref target="tper_CDDL_def"/> according to the outcome of the interim ANIMA WG meeting discussions on April 19, 2024</t>
        </li>
        <li>
          <t>Included statement in <xref target="per_artifact"/> for using the advanced created-on time from the agent-signed-data also for the PER, when the pledge has no synchronized clock</t>
        </li>
      </ul>
      <t>From IETF draft 11 -&gt; IETF draft 12:</t>
      <ul spacing="normal">
        <li>
          <t>Updated acknowledgments to reflect early reviews</t>
        </li>
        <li>
          <t>Addressed Shepherd review part 2 (Pull Request #132); containing: terminology alignment, structural improvements of the document; deletion of leftovers from previous draft versions; change of definitions to CDDL, when no YANG is available</t>
        </li>
      </ul>
      <t>From IETF draft 10 -&gt; IETF draft 11:</t>
      <ul spacing="normal">
        <li>
          <t>issue #79, clarified that BRSKI discovery in the context of BRSKI-PRM is not needed in <xref target="discovery_uc2_reg"/>.</t>
        </li>
        <li>
          <t>issue #103, removed step 6 in verification handling for the wrapped CA certificate provisioning as only applicable after enrollment <xref target="cacerts"/></t>
        </li>
        <li>
          <t>issue #128: included notation of nomadic operation of the Registrar-Agent in <xref target="architecture"/>, including proposed text from PR #131</t>
        </li>
        <li>
          <t>issue #130, introduced DNS service discovery name for brski_pledge to enable discovery by the Registrar-Agent in <xref target="iana_con"/></t>
        </li>
        <li>
          <t>removed unused reference RFC 5280</t>
        </li>
        <li>
          <t>removed site terminology</t>
        </li>
        <li>
          <t>deleted duplicated text in <xref target="pledge_component"/></t>
        </li>
        <li>
          <t>clarified registrar discovery and relation to BRSKI-Discovery in <xref target="discovery_uc2_reg"/></t>
        </li>
        <li>
          <t>clarified discovery of pledges by the Registrar-Agent in <xref target="discovery_uc2_ppa"/>, deleted reference to GRASP as handled in BRSKI-Discovery</t>
        </li>
        <li>
          <t>addressed comments from SECDIR early review</t>
        </li>
      </ul>
      <t>From IETF draft 09 -&gt; IETF draft 10:</t>
      <ul spacing="normal">
        <li>
          <t>issue #79, clarified discovery in the context of BRSKI-PRM and included information about future discovery enhancements in a separate draft in <xref target="discovery_uc2_reg"/>.</t>
        </li>
        <li>
          <t>issue #93, included information about conflict resolution in mDNS and GRASP in <xref target="discovery_uc2_ppa"/></t>
        </li>
        <li>
          <t>issue #103, included verification handling for the wrapped CA certificate provisioning in <xref target="cacerts"/></t>
        </li>
        <li>
          <t>issue #106, included additional text to elaborate more the registrar status handling in <xref target="vstatus"/> and <xref target="estatus"/></t>
        </li>
        <li>
          <t>issue #116, enhanced DoS description in <xref target="sec_cons-dos"/></t>
        </li>
        <li>
          <t>issue #120, included statement regarding pledge host header processing in <xref target="pledge_component"/></t>
        </li>
        <li>
          <t>issue #122, availability of product-serial-number information on registrar agent clarified in <xref target="tpvr"/></t>
        </li>
        <li>
          <t>issue #123, Clarified usage of alternative voucher formats in  <xref target="rvr_artifact"/></t>
        </li>
        <li>
          <t>issue #124, determination of pinned domain certificate done as in RFC 8995 included in <xref target="voucher_artifact"/></t>
        </li>
        <li>
          <t>issue #125, remove strength comparison of voucher assertions in <xref target="agt_prx"/> and <xref target="exchanges"/></t>
        </li>
        <li>
          <t>issue #130, aligned the usage of site and domain throughout the document</t>
        </li>
        <li>
          <t>changed naming of registrar certificate from LDevID(RegAgt) to Registrar-Agent EE certificate throughout the document</t>
        </li>
        <li>
          <t>change x5b to x5bag according to <xref target="RFC9360"/></t>
        </li>
        <li>
          <t>updated JSON examples -&gt; "signature": BASE64URL(JWS Signature)</t>
        </li>
      </ul>
      <t>From IETF draft 08 -&gt; IETF draft 09:</t>
      <ul spacing="normal">
        <li>
          <t>issue #80, enhanced <xref target="discovery_uc2_ppa"/> with clarification on the product-serial-number and the inclusion of GRASP</t>
        </li>
        <li>
          <t>issue #81, enhanced introduction with motivation for agent_signed_data</t>
        </li>
        <li>
          <t>issue #82, included optional TLS protection of the communication link between Registrar-Agent and pledge in the introduction <xref target="req-sol"/>, and <xref target="tpvr"/></t>
        </li>
        <li>
          <t>issue #83, enhanced <xref target="tper"/> and <xref target="pvr"/> with note to re-enrollment</t>
        </li>
        <li>
          <t>issue #87, clarified available information at the Registrar-Agent in <xref target="tpvr"/></t>
        </li>
        <li>
          <t>issue #88, clarified, that the PVR in <xref target="tpvr"/> and PER in <xref target="tper"/> may contain the certificate chain. If not contained it <bcp14>MUST</bcp14> be available at the registrar.</t>
        </li>
        <li>
          <t>issue #91, clarified that a separate HTTP connection may also be used to provide the PER in <xref target="per"/></t>
        </li>
        <li>
          <t>resolved remaining editorial issues discovered after WGLC (responded to on the mailing list in Reply 1 and Reply 2) resulting in more consistent descriptions</t>
        </li>
        <li>
          <t>issue #92: kept separate endpoint for wrapped CSR on registrar <xref target="obtain_cacerts"/></t>
        </li>
        <li>
          <t>issue #94: clarified terminology (possess vs. obtained)</t>
        </li>
        <li>
          <t>issue #95: clarified optional IDevID CA certificates on Registrar-Agent</t>
        </li>
        <li>
          <t>issue #96: updated exchangesfig_uc2_3 to correct to just one CA certificate provisioning</t>
        </li>
        <li>
          <t>issue #97: deleted format explanation in exchanges_uc2_3 as it may be misleading</t>
        </li>
        <li>
          <t>issue #99: motivated verification of second signature on voucher in <xref target="voucher"/></t>
        </li>
        <li>
          <t>issue #100: included negative example in <xref target="vstatus_data_example_error"/></t>
        </li>
        <li>
          <t>issue #101: included handling if <xref target="voucher"/> voucher telemetry information has not been received by the Registrar-Agent</t>
        </li>
        <li>
          <t>issue #102: relaxed requirements for CA certs provisioning in <xref target="cacerts"/></t>
        </li>
        <li>
          <t>issue #105: included negative example in <xref target="estatus_data_example_error"/></t>
        </li>
        <li>
          <t>issue #107: included example for certificate revocation in <xref target="estatus"/></t>
        </li>
        <li>
          <t>issue #108: renamed heading to Pledge-Status Request of <xref target="query"/></t>
        </li>
        <li>
          <t>issue #111: included pledge-status response processing for authenticated requests in <xref target="query"/></t>
        </li>
        <li>
          <t>issue #112: added "Example key word in pledge-status response in <xref target="stat_example_bootstrap"/></t>
        </li>
        <li>
          <t>issue #113: enhanced description of status reply for "factory-default" in  <xref target="query"/></t>
        </li>
        <li>
          <t>issue #114: Consideration of optional TLS usage in Privacy Considerations</t>
        </li>
        <li>
          <t>issue #115: Consideration of optional TLS usage in Privacy Considerations to protect potentially privacy related information in the bootstrapping like status information, etc.</t>
        </li>
        <li>
          <t>issue #116: Enhanced DoS description and mitigation options in security consideration section</t>
        </li>
        <li>
          <t>updated references</t>
        </li>
      </ul>
      <t>From IETF draft 07 -&gt; IETF draft 08:</t>
      <ul spacing="normal">
        <li>
          <t>resolved editorial issues discovered after WGLC (still open issues remaining)</t>
        </li>
        <li>
          <t>resolved first comments from the Shepherd review as discussed in PR #85 on the ANIMA github</t>
        </li>
      </ul>
      <t>From IETF draft 06 -&gt; IETF draft 07:</t>
      <ul spacing="normal">
        <li>
          <t>WGLC resulted in a removal of the voucher enhancements completely from this document to RFC 8366bis, containing all enhancements and augmentations of the voucher, including the voucher-request as well as the tree diagrams</t>
        </li>
        <li>
          <t>smaller editorial corrections</t>
        </li>
      </ul>
      <t>From IETF draft 05 -&gt; IETF draft 06:</t>
      <ul spacing="normal">
        <li>
          <t>Update of list of reviewers</t>
        </li>
        <li>
          <t>Issue #67, shortened the pledge endpoints to prepare for constraint deployments</t>
        </li>
        <li>
          <t>Included table for new endpoints on the registrar in the overview of the Registrar-Agent</t>
        </li>
        <li>
          <t>addressed review comments from SECDIR early review (terminology clarifications, editorial improvements)</t>
        </li>
        <li>
          <t>addressed review comments from IOTDIR early review (terminology clarifications, editorial improvements)</t>
        </li>
      </ul>
      <t>From IETF draft 04 -&gt; IETF draft 05:</t>
      <ul spacing="normal">
        <li>
          <t>Restructured document to have a distinct section for the object flow and handling and shortened introduction, issue #72</t>
        </li>
        <li>
          <t>Added security considerations for using mDNS without a specific product-serial-number, issue #75</t>
        </li>
        <li>
          <t>Clarified pledge-status responses are cumulative, issue #73</t>
        </li>
        <li>
          <t>Removed agent-sign-cert from trigger data to save bandwidth and remove complexity through options, issue #70</t>
        </li>
        <li>
          <t>Changed terminology for LDevID(Reg) certificate to registrar LDevID certificate, as it does not need to be an LDevID, issue #66</t>
        </li>
        <li>
          <t>Added new protected header parameter (created-on) in PER to support freshness validation, issue #63</t>
        </li>
        <li>
          <t>Removed reference to CAB Forum as not needed for BRSKI-PRM specifically, issue #65</t>
        </li>
        <li>
          <t>Enhanced error codes in section 5.5.1, issue #39, #64</t>
        </li>
        <li>
          <t>Enhanced security considerations and privacy considerations, issue #59</t>
        </li>
        <li>
          <t>Issue #50 addressed by referring to the utilized enrollment protocol</t>
        </li>
        <li>
          <t>Issue #47 MASA verification of LDevID(RegAgt) to the same registrar LDevID certificate domain CA</t>
        </li>
        <li>
          <t>Reworked terminology of "enrollment object", "certification object", "enrollment request object", etc., issue #27</t>
        </li>
        <li>
          <t>Reworked all message representations to align with encoding</t>
        </li>
        <li>
          <t>Added explanation of MASA requiring domain CA cert in section 5.5.1 and section 5.5.2, issue #36</t>
        </li>
        <li>
          <t>Defined new endpoint for pledge bootstrapping status inquiry, issue #35 in section <xref target="query"/>, IANA considerations and section <xref target="pledge_component"/></t>
        </li>
        <li>
          <t>Included examples for several objects in section <xref target="examples"/> including message example sizes, issue #33</t>
        </li>
        <li>
          <t>PoP for private key to registrar certificate included as mandatory, issues #32 and #49</t>
        </li>
        <li>
          <t>Issue #31, clarified that combined pledge may act as client/server for further (re)enrollment</t>
        </li>
        <li>
          <t>Issue #42, clarified that Registrar needs to verify the status responses with and ensure that they match the audit log response from the MASA, otherwise it needs drop the pledge and revoke the certificate</t>
        </li>
        <li>
          <t>Issue #43, clarified that the pledge shall use the create time from the trigger message if the time has not been synchronized, yet.</t>
        </li>
        <li>
          <t>Several editorial changes and enhancements to increasing readability.</t>
        </li>
      </ul>
      <t>From IETF draft 03 -&gt; IETF draft 04:</t>
      <ul spacing="normal">
        <li>
          <t>In deep Review by Esko Dijk lead to issues #22-#61, which are bein stepwise integrated</t>
        </li>
        <li>
          <t>Simplified YANG definition by augmenting the voucher-request from RFC 8995 instead of redefining it.</t>
        </li>
        <li>
          <t>Added explanation for terminology "endpoint" used in this document, issue #16</t>
        </li>
        <li>
          <t>Added clarification that Registrar-Agent may collect PVR or PER or both in one run, issue #17</t>
        </li>
        <li>
          <t>Added a statement that nonceless voucher may be accepted, issue #18</t>
        </li>
        <li>
          <t>Simplified structure in section <xref target="sup-env"/>, issue #19</t>
        </li>
        <li>
          <t>Removed join proxy in <xref target="uc2figure"/> and added explanatory text, issue #20</t>
        </li>
        <li>
          <t>Added description of pledge-CAcerts endpoint plus further handling of providing a wrapped CA certs response to the pledge in section <xref target="cacerts"/>; also added new required registrar endpoint (section <xref target="pvr"/> and IANA considerations) for the registrar to provide a wrapped CA certs response, issue #21</t>
        </li>
        <li>
          <t>utilized defined abbreviations in the document consistently, issue #22</t>
        </li>
        <li>
          <t>Reworked text on discovery according to issue #23 to clarify scope and handling</t>
        </li>
        <li>
          <t>Added several clarifications based on review comments</t>
        </li>
      </ul>
      <t>From IETF draft 02 -&gt; IETF draft 03:</t>
      <ul spacing="normal">
        <li>
          <t>Updated examples to state "base64encodedvalue==" for x5c occurrences</t>
        </li>
        <li>
          <t>Include link to SVG graphic as general overview</t>
        </li>
        <li>
          <t>Restructuring of section 5 to flatten hierarchy</t>
        </li>
        <li>
          <t>Enhanced requirements and motivation in <xref target="req-sol"/></t>
        </li>
        <li>
          <t>Several editorial improvements based on review comments</t>
        </li>
      </ul>
      <t>From IETF draft 01 -&gt; IETF draft 02:</t>
      <ul spacing="normal">
        <li>
          <t>Issue #15 included additional signature on voucher from registrar in section <xref target="pvr"/> and section <xref target="agt_prx"/>
The verification of multiple signatures is described in section <xref target="voucher"/></t>
        </li>
        <li>
          <t>Included representation for General JWS JSON Serialization for examples</t>
        </li>
        <li>
          <t>Included error responses from pledge if it is not able to create a Pledge-Voucher-Request or an enrollment request in section <xref target="tpvr"/></t>
        </li>
        <li>
          <t>Removed open issue regarding handling of multiple CSRs and Enroll-Responses during the bootstrapping as the initial target it the provisioning of a generic LDevID certificate. The defined endpoint on the pledge may also be used for management of further certificates.</t>
        </li>
      </ul>
      <t>From IETF draft 00 -&gt; IETF draft 01:</t>
      <ul spacing="normal">
        <li>
          <t>Issue #15 lead to the inclusion of an option for an additional signature of the registrar on the voucher received from the MASA before forwarding to the Registrar-Agent to support verification of POP of the registrars private key in section <xref target="pvr"/> and exchanges_uc2_3.</t>
        </li>
        <li>
          <t>Based on issue #11, a new endpoint was defined for the registrar to enable delivery of the wrapped enrollment request from the pledge (in contrast to plain PKCS#10 in simple enroll).</t>
        </li>
        <li>
          <t>Decision on issue #8 to not provide an additional signature on the enrollment-response object by the registrar. As the Enroll-Response will only contain the generic LDevID certificate. This credential builds the base for further configuration outside the initial enrollment.</t>
        </li>
        <li>
          <t>Decision on issue #7 to not support multiple CSRs during the bootstrapping, as based on the generic LDevID certificate the pledge may enroll for further certificates.</t>
        </li>
        <li>
          <t>Closed open issue #5 regarding verification of ietf-ztp-types usage as verified
via a proof-of-concept in section <xref target="tpvr"/>.</t>
        </li>
        <li>
          <t>Housekeeping: Removed already addressed open issues stated in the draft directly.</t>
        </li>
        <li>
          <t>Reworked text in from introduction to section pledge-responder-mode</t>
        </li>
        <li>
          <t>Fixed "serial-number" encoding in PVR/RVR</t>
        </li>
        <li>
          <t>Added prior-signed-voucher-request in the parameter description of the
registrar-voucher-request in <xref target="pvr"/>.</t>
        </li>
        <li>
          <t>Note added in <xref target="pvr"/> if sub-CAs are used, that the
corresponding information is to be provided to the MASA.</t>
        </li>
        <li>
          <t>Inclusion of limitation section (pledge sleeps and needs to be waked
up. Pledge is awake but Registrar-Agent is not available) (Issue #10).</t>
        </li>
        <li>
          <t>Assertion-type aligned with voucher in RFC8366bis, deleted related
open issues. (Issue #4)</t>
        </li>
        <li>
          <t>Included table for endpoints in <xref target="pledge_component"/> for better readability.</t>
        </li>
        <li>
          <t>Included registrar authorization check for Registrar-Agent during
TLS handshake  in section <xref target="pvr"/>. Also enhanced figure
<xref target="exchangesfig_uc2_all"/> with the authorization step on TLS level.</t>
        </li>
        <li>
          <t>Enhanced description of registrar authorization check for Registrar-Agent
based on the agent-signed-data in section <xref target="pvr"/>. Also
enhanced figure <xref target="exchangesfig_uc2_all"/> with the authorization step
on Pledge-Voucher-Request level.</t>
        </li>
        <li>
          <t>Changed agent-signed-cert to an array to allow for providing further
certificate information like the issuing CA cert for the LDevID(RegAgt)
certificate in case the registrar and the Registrar-Agent have different
issuing CAs in <xref target="exchangesfig_uc2_all"/> (issue #12).
This also required changes in the YANG module in <xref target="I-D.ietf-anima-rfc8366bis"/></t>
        </li>
        <li>
          <t>Addressed YANG warning (issue #1)</t>
        </li>
        <li>
          <t>Inclusion of examples for a trigger to create a Pledge-Voucher-Request
and a Pledge Enroll-Request.</t>
        </li>
      </ul>
      <t>From IETF draft-ietf-anima-brski-async-enroll-03 -&gt; IETF anima-brski-prm-00:</t>
      <ul spacing="normal">
        <li>
          <t>Moved UC2 related parts defining the Pledge in Responder Mode from
draft-ietf-anima-brski-async-enroll-03 to this document
This required changes and adaptations in several sections to remove
the description and references to UC1.</t>
        </li>
        <li>
          <t>Addressed feedback for voucher-request enhancements from YANG doctor
early review, meanwhile moved to <xref target="I-D.ietf-anima-rfc8366bis"/> as well as in the security considerations (formerly named ietf-async-voucher-request).</t>
        </li>
        <li>
          <t>Renamed ietf-async-voucher-request to IETF-voucher-request-prm to
to allow better listing of voucher related extensions; aligned with
constraint voucher (#20)</t>
        </li>
        <li>
          <t>Utilized ietf-voucher-request-async instead of ietf-voucher-request
in voucher exchanges to utilize the enhanced voucher-request.</t>
        </li>
        <li>
          <t>Included changes from draft-ietf-netconf-sztp-csr-06 regarding the
YANG definition of csr-types into the enrollment request exchange.</t>
        </li>
      </ul>
      <t>From IETF draft 02 -&gt; IETF draft 03:</t>
      <ul spacing="normal">
        <li>
          <t>Housekeeping, deleted open issue regarding YANG voucher-request
in <xref target="tpvr"/> as voucher-request was
enhanced with additional leaf.</t>
        </li>
        <li>
          <t>Included open issues in YANG model in <xref target="architecture"/> regarding assertion
value agent-proximity and csr encapsulation using SZTP sub module).</t>
        </li>
      </ul>
      <t>From IETF draft 01 -&gt; IETF draft 02:</t>
      <ul spacing="normal">
        <li>
          <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"/>.</t>
        </li>
        <li>
          <t>Terminology change: issue #2 pledge-agent -&gt; Registrar-Agent to
better underline Registrar-Agent relation.</t>
        </li>
        <li>
          <t>Terminology change: issue #3 PULL/PUSH -&gt; pledge-initiator-mode
and pledge-responder-mode to better address the pledge operation.</t>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t>Details on trust relationship between Registrar-Agent and
registrar (issue #4, #5, #9) included in <xref target="architecture"/>.</t>
        </li>
        <li>
          <t>Recommendation regarding short-lived certificates for
Registrar-Agent authentication towards registrar (issue #7) in
the security considerations.</t>
        </li>
        <li>
          <t>Introduction of reference to Registrar-Agent signing certificate using
SubjectKeyIdentifier in Registrar-Agent signed data (issue #37).</t>
        </li>
        <li>
          <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"/>.</t>
        </li>
        <li>
          <t>Details on trust relationship between Registrar-Agent and
pledge (issue #5) included in <xref target="architecture"/>.</t>
        </li>
        <li>
          <t>Split of use case 2 call flow into sub sections in <xref target="exchanges"/>.</t>
        </li>
      </ul>
      <t>From IETF draft 00 -&gt; IETF draft 01:</t>
      <ul spacing="normal">
        <li>
          <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>
        </li>
        <li>
          <t>Rework of use case 2 in <xref target="architecture"/> 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>
        </li>
        <li>
          <t>First description of exchanged object types (needs more work)</t>
        </li>
        <li>
          <t>Clarification in discovery options for enrollment endpoints at
the domain registrar based on well-known endpoints 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>
        </li>
        <li>
          <t>Updated references.</t>
        </li>
        <li>
          <t>Included Thomas Werner as additional author for the document.</t>
        </li>
      </ul>
      <t>From individual version 03 -&gt; IETF draft 00:</t>
      <ul spacing="normal">
        <li>
          <t>Inclusion of discovery options of enrollment endpoints at
the domain registrar based on well-known endpoints in
new section 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>
        </li>
        <li>
          <t>Missing details provided for the description and call flow in
pledge-agent use case <xref target="architecture"/>, e.g. to
accommodate distribution of CA certificates.</t>
        </li>
        <li>
          <t>Updated CMP example in to use lightweight CMP instead of CMP, as the
draft already provides the necessary /.well-known endpoints.</t>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t>Removal of copied call flows for voucher exchange and registrar
discovery flow from <xref target="RFC8995"/> in UC1 to avoid doubling or text or
inconsistencies.</t>
        </li>
        <li>
          <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>
        </li>
      </ul>
      <t>From individual version 02 -&gt; 03:</t>
      <ul spacing="normal">
        <li>
          <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>
        </li>
        <li>
          <t>Simplification of the architecture approach for the initial use
case having an offsite PKI.</t>
        </li>
        <li>
          <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-PRM call flow.</t>
        </li>
      </ul>
      <t>From individual version 01 -&gt; 02:</t>
      <ul spacing="normal">
        <li>
          <t>Update of introduction text to clearly relate to the usage of
IDevID and LDevID.</t>
        </li>
        <li>
          <t>Update of description of architecture elements and
changes to BRSKI in <xref target="architecture"/>.</t>
        </li>
        <li>
          <t>Enhanced consideration of existing enrollment protocols in the
context of mapping the requirements to existing solutions in
<xref target="req-sol"/>.</t>
        </li>
      </ul>
      <t>From individual version 00 -&gt; 01:</t>
      <ul spacing="normal">
        <li>
          <t>Update of examples, specifically for building automation as
well as two new application use cases in <xref target="sup-env"/>.</t>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t>Enhancement of description of architecture elements and
changes to BRSKI in <xref target="architecture"/>.</t>
        </li>
        <li>
          <t>Consideration of existing enrollment protocols in the context
of mapping the requirements to existing solutions in <xref target="req-sol"/>.</t>
        </li>
        <li>
          <t>New section starting with the
mapping to existing enrollment protocols by collecting
boundary conditions.</t>
        </li>
      </ul>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="E." surname="Dijk" fullname="Esko Dijk">
        <organization>IoTconsultancy.nl</organization>
        <address>
          <email>esko.dijk@iotconsultancy.nl</email>
        </address>
      </contact>
      <contact initials="T." surname="Eckert" fullname="Toerless Eckert">
        <organization>Futurewei</organization>
        <address>
          <email>tte@cs.fau.de</email>
        </address>
      </contact>
      <contact initials="M." surname="Kovatsch" fullname="Matthias Kovatsch">
        <organization>Siemens Schweiz AG</organization>
        <address>
          <email>ietf@kovatsch.net</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
Z2zQIVcfhwCXBJO4+jhh6UPy215pnMYwf7nO/qzwVnqc/22O0/zRgp/870e3
1rc2FqCUbu5bN7Z2PtNqPO2hoXGNsxDamIL6diO04cb5bdDGdoM2wjDP74I0
9m6INPZ+U6Sxs+ECXd9Ega51BqKgdCe5aWyNjfeRYhLj8OGfCwUtPrObPKG5
43wX68irjxPohf+X9zf99fuff12rss2fbZ+z76TWIsONZW9+wfnoTwJtxhOo
bt/S44SqzL6Tf6uO0/hJcE+vOs53xQ9TqvLOavmzp99fdaDZmGNLwI+m3WF1
etWBsiuvzJ6Yqlb+z1wOJI9//PFi6fM+yoi7G61gCCMjEmW2f6USY30dL+TG
xnU42arawmo3/jtR3L5vjLwSPX9nMCjfd5fdH4MM+3XS872NFhjOr4hGu0yj
16ItGqef4w7Uy2jG7+NZ3t9oTWl5H0/zZq2aFeRKyzjMnC44s+W3Y9U82FiY
g/Tbp44VbnbLOI1HftlTfbixMOnrt36qK8nelnGIIAp/5X8jd/7RRtwc7bDA
yP10cmnV1GNssT0a/Fp105uQ+6vy/KvZSGaiK1uj9Pyk+JfWYHFm34rjyHxS
o8yx2Vb9yaJxvhNcnzderzbOKvO5sbDC5oZw28at+j3emuJd3JrF49zYaW5t
pFKa38eTvFldaGrE3XU05fFvTFP23cVSuABNKXmhgIB05Tv36sLGYkm8QFaP
h6UWInZCOWjW1QJasCgbD14yZTCxq9FjaWHsCjSExefy/r9mpZTPcoUgFbLd
AhPTNMl5lVE8LobwENs9X7xh9QlEWVlX+P5Oz/XWDT+vKRGNT6sytezHbCap
07amaYxaBBN3qEufFLn/zX4CM5fXGabNaW1GB8IzRWV4kpQwN6XijrT8uz2X
shUuX/K9TAnQFVd7pcU+sUtFp+qVF3avl0obC9foW2c3DtlVFo6KGgd9G+IW
vcvt0JNdmuD9XlBQJJzZN1Hz1hUp20DpJMW+WSuIJvGgFxQcCScRLf2Kc6Hv
POwla46E34uN16sufl1gYFxaauTYcwQq31h6lx71gn7Q6aMSLXDqbKurX52r
Mwqa7tZmz/arTu7yTU6XP0qSRCu+hJ8My8S4D3ElYXxAS/yFmS3Uaewq1Cbw
+wXFid7eJrnX1pRIiqueCqKvxrekMKHH/WHFtmLkDqrlSzqRdcThOCww11uu
fZ5HqmaXZouYKsp+sR2u7KlVOpu5kImGCR7uLdXpKPeTegpxJYCxbzOGSQ6S
Q+LyHzThuwGS1fx9ynPtM2Z2XDR6knQci3V0sAwmWK92SxH3JIBzCzuYnml2
jlUnwvq+7WD3Viin22iBANtE3zAL4APe8xfCe37AD37AD7aN8+6NxC0xEdeo
+mPCkllbZBI2u3jsPn/uipYYnuirTeaEVcNsA00oefkChFioHblqVSB10gWg
LiZaWFlToI4rEEEkELVMMg6IuH+pq7WU4PPae5yUPQ0Tg3quGrBOgKs8cRra
EyyePpp2D7ExMZe9coXQC1IHjkyh6zv/rKuRL4C1y6gnfk1q6bS8qHlg/3xT
fyKDRNP+Q3uamSS2UY0hrrvJ2ihlZ2W4HUExLSnJhiEcp88R5bTtWJRJJSdC
54SlEriQXba9uZm9+Ier9ck1c8w2SPGsNzmXGXe50L7DdjDLhsbCGLJi4L6g
CR+g3izaS02+w3TCoCe0O3oZ8hpnfxNHGFSwMz1bTe9hzZ4NFfMohdXnpsju
IhEsaFvcyPTj4glxceIZl2RtlJ21BaO0VpQ2sSD6KCYTVP9YL8fGUy0tbnqx
l0pSXxvv1+ZOocoobZ7uAh1+lmPyIF3nx5rJrnnqlBlNKTY8osuiIWJyJg+9
rHomVZfGfFOkgk72ZoIJWVRVAcux1/DYtN+j2hbB69plgy8ipS5RRxasdC0Z
lAGRhRxIaO4NVZpq4TW84PsZEI7cMzwdt2a5eslxsaSclK3gvuvcBhpPmGvs
wXJmI5fu7ko188PcIYb6zM+/BTTDrXvZ136o7MtiAHIDl+xmungf3s18ZY5h
zUpT+8JxBmJ3cAZUeGmIuV7IRe6c5OVwRvV4MSnLtW1yydOYmFn2y9w1D0u3
Y+35nkq+MoJvyUDJa5eaGs9b1ehAV46aM9ay367IfmBZDSgdvxbKHOGlGoT9
d2rZOFPWzCfGYlUUydHLqHYHDaGlLm9TS2Q+SM2ffbyk8GZz2QsdPaAVRT+r
McdUSg1Io9EothP1nvVl1bHr1DlwCilwp7Ww55ve6+HXKR3QMfP2FGsp6uYq
q4CdbzpLYWVqMKCAuc3l+JQQ294SNzNuKmKGyQr73DQLawgCmz0fCyd2C6K7
ps3Ri35O/Ut5dVR3kBr4qPqhUicQ6n2qrUgsUaKxo0tfyizo824UPmHNWjlt
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
CVXff72p7OEKVklln14xlb0VK9F+GN5t30hL16vxy6WTt1SKa/POv73dcMPr
rix06L/7SnFG2snmAgnDSKJbS0PzWnF7Ea9znrtQJ7kJN17s//8F3XjhMTW9
eHq+8714+tQv7cVrruZ9d+Kld05ZlxLKO3TiJQjggw/v9+DDSxy8Z+dNF17i
8Z/dg1er2cYc7Uz0GSr75mrI1eK/aWuZvVxrbCdO24vfrVSFNHA4iiHNW+n8
jWlvo6/hhe2u5Yd/1SpeWeB7TBTpyv6Y/cd/5JPjEhWUy+55PmY+lNL/a+Mp
/Dj0FCZOf92uYmMBq2n4CVmHl96IzimXjBytazlA+KU1SjigR0zeuw+kkTf3
/G6U9BMaMR5C6xBMFAnsZNxSqPz/yXvz5saxJE/w/zHr78CNNNuOKJNUACkq
QtnHjkgRPCRCIo4HEj1j0SABCSAAEkGA4lFd333d34GLVETk0TO9O2lVlimJ
fKcfPz+ee72ZdjnB/GSeejvtfHk0u/4EnWMlLF4+kBPvH6wfWJ/ij9UP9AIe
Lfa45ZTMiyKCxX2eLVRz1qNYdl+XTOWLxprPgnOs/8Q5Sp4RnvlZJbGSS0LI
MOblcly33Hj9XYIq+9NgAczb8e8VT/q/l5eU0q2uhas814Snu6vAzXMnf1Ez
iZlHpBCyrP5l4S53Np6QXFSOYsWz863leQJunjrNSSZbJ5eR9+ZFBbOxlQjD
GiluDbKG52z/e24++DwnmTb8LPuQrlAilbINUHWJpu7cFhGV2E8LchXG7F+r
1tRfciVwybOPiqUUHUZxFuF8y1OJy+XG/tMXR1NoiqWd8QRi06tgVbjP6Tfo
uu7OXx3S7pmryy8M6Ok9Wv5P2y5Toz+6ipLD8/3b+C+y6x/3onj3FGp3Xuz6
Mp/v/1f3z7VzRX5xSZWjSBC8W5Shb/mzIUDiKY891MmHKfjKadLEy8Mp01/l
Dl9RYTSXPbmTi5/UiZ8r/+TZcMN37eg/o3LtCYv8kD1+WK11XqnW+jsmOFfH
9fzpCijJFV/x+/cg5Y+LuRaa8BQf/NfThPzRzanMYxUpKnWI85oOgO3493iJ
CGdVRE/+l8kpsfSaoCqtLF8wJZb3RdR/+mpP2DuHez9k7zNRr/88Bv9QOdMP
dV7HN0/VcPfvqcZcnQPMww/d33ZlP+bv4kVXlb+L3/9+/v5DkaPzbtX/kyNH
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
7CIpoiTWgk59/y/JwO8SIngDAA==

-->

</rfc>
