<?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.29 (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-20" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title abbrev="BRSKI-PRM">BRSKI with Pledge in Responder Mode (BRSKI-PRM)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-anima-brski-prm-20"/>
    <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 136?>

<t>This document defines enhancements to Bootstrapping Remote Secure Key Infrastructure (BRSKI, RFC8995) as BRSKI with Pledge in Responder Mode (BRSKI-PRM).
BRSKI-PRM supports the secure bootstrapping of devices, referred to as pledges, into a domain where direct communication with the registrar is either limited or not possible at all.
To facilitate interaction between a pledge and a domain registrar the registrar-agent is introduced as new component.
The registrar-agent supports the reversal of the interaction model from a pledge-initiated mode, to a pledge-responding mode, where the pledge is in a server role.
To establish the trust relation between pledge and registrar, BRSKI-PRM relies on object security rather than transport security.
This approach is agnostic to enrollment protocols that connect a domain registrar to a key infrastructure (e.g., domain Certification Authority).</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 146?>

<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 pertaining to the customer domain, specifically, the customer domain certificate, is exchanged and authenticated through the use of signed data objects, namely the voucher artifacts, as defined in <xref target="I-D.ietf-anima-rfc8366bis"/>.
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 Enrollment over Secure Transport (EST, <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 an EST server.</t>
      <t>BRSKI addresses scenarios in which a 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 a 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 a 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 (e.g., Bluetooth-based or NFC-based communication), 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="RFC9733"/> to allow for more bootstrapping flexibility.
Providing information about capabilities of BRSKI components like the pledge or registrar is handled as part of the discovery. BRSKI-PRM relies only on a minimum necessary set of capabilities for the interaction and leaves the definition of more advanced mechanisms allowing to signal specific capabilities to <xref target="I-D.ietf-anima-brski-discovery"/>.</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 makes use of the terms 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 an 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>CMS:</dt>
        <dd>
          <t>Cryptographic Message Syntax, as defined in <xref target="RFC5652"/>.</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, as defined in <xref target="RFC2986"/>.</t>
        </dd>
        <dt>Domain registrar:</dt>
        <dd>
          <t>An entity in the customer domain, which facilitates the interaction of a pledge or Registrar-Agent with a manufacturer service (MASA). 
It operates as BRSKI-EST server for the pledge when requesting vouchers and certificates and acts as the client BRSKI-MASA client when requesting vouchers from the MASA. This component was introduced in <xref target="RFC8995"/>.</t>
        </dd>
        <dt>Drop ship:</dt>
        <dd>
          <t>delivery of a component or product. This component was introduced in <xref target="RFC8995"/>.</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"/>.
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, refers to mutual authenticated TLS as specified in <xref target="RFC8446"/>.</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.
Note, base64-encoded values are mainly used for fields related to certificates like:
x5bag, x5c, agent-provided-proximity-registrar-cert, p10-csr</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 a 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 BRSKI-PRM Functional 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 a 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 does 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 Bluetooth Low Energy (BLE) 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 connection establishment challenges and the technology stack challenge.
Note that the chosen approach does not provide confidentiality for the self-contained object, which can be provided by employing TLS.</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-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"/>.
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 a 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 a 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 a 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 a 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 a domain registrar.
This is for situations in which a 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 (including 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 building automation use case mentioned in <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>BRSKI-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="colo-regagt">
        <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 a 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 a 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 uses its own 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.
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.
In case the registrar-agent does not have synchronized time, it may not be able to verify the registrar EE certificate during the optional TLS handshake.
As the registrar-agent is recommended to utilize short-lived certificates in <xref target="sec_cons_reg-agt"/>, a registrar-agent may use the valid from time of its short-lived certificate for time synchronization.</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 an IP address of a 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 discovery described in <xref section="4" sectionFormat="of" target="RFC8995"/> and <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 that 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 the service name definition is not fully inline with the naming recommendation of <xref target="RFC6763"/> due to the positioning of <tt>_tcp</tt>. However, the definition of the <tt>product-serial-number</tt> has to align with the allowed character set (see <xref target="RFC6763"/>) to avoid discovery problems. This check is necessary as the <tt>product-serial-number</tt> is also contained in the certificate as X520SerialNumber, that has a larger allowed character set. Using the <tt>product-serial-number</tt> as part of the service name allows to discover specific instances of a pledge.</t>
          <t>The <tt>_brski-pledge._tcp</tt> service, however, targets machine-to-machine discovery.</t>
          <t>For 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>if it does not support a more general discovery such as defined in <xref target="I-D.ietf-anima-brski-discovery"/>.</t>
          <t>When supporting different options for discovery, as outlined in <xref target="I-D.ietf-anima-brski-discovery"/>, a manufacturer may support configuration of preferred options.</t>
          <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, network connectivity can be provided, e.g., via a switch to an operational network or to a specific VLAN for bootstrapping, depending on an operators security policy.
For WiFi networks, connectivity can be provided by using a pre-agreed SSID for bootstrapping, e.g., as proposed in <xref target="I-D.draft-ietf-emu-eap-arpa"/>.
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 a 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 a Registrar-Agent, pledges in responder mode <bcp14>MUST</bcp14> act as servers and <bcp14>MUST</bcp14> provide the endpoints "tpvr", "tper", "svr", "scac", and "ser" defined in <xref target="pledge_ep_table"/> within the BRSKI-defined <tt>/.well-known/brski/</tt> URI path.
The optional endpoint "qps" <bcp14>SHOULD</bcp14> be supported.
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.
In the absence of a security policy the pledge <bcp14>MUST</bcp14> respond to all requests regardless of the Host header field provided by the client (i.e., ignore it).
A security policy  may include a rate limiting for requests to avoid susceptibility of the pledge to overload.
Note that there is no requirement for the pledge to operate its BRSKI-PRM service on port numbers 80 or 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 may 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>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>For the supply of the PVR to the registrar, the pledge uses the endpoint "requestvoucher", defined in <xref target="RFC8995"/> as described in <xref target="pvr"/>.</t>
        <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"/>).</t>
        <t>According to <xref section="5.3" sectionFormat="of" target="RFC8995"/>, a 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 configured to only accept certain Registrar-Agents, which authenticate using the Registrar-Agent EE certificate.</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 (<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 begins 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>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 triggers 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"/>).
The pledge will take the last received tPVR for the provisional accept of the received registrar EE certificate, if it does not have the capability to store more that one registrar EE certificate.</t>
        <t>If the pledge is unable to create the PVR, it responds with an HTTP error status code to the Registrar-Agent.
The following client error status codes can 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"/> 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"/>.
Algorithms used for JWS signatures <bcp14>MUST</bcp14> support ES256 as recommended in <xref target="RFC7518"/> and <bcp14>MAY</bcp14> support further algorithms.</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 leaf data nodes 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 random or pseudo-random number nonce (see <xref section="6.2" sectionFormat="of" target="RFC4086"/>).</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"/> 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"/>.
Algorithms used for JWS signatures <bcp14>MUST</bcp14> support ES256 as recommended in <xref target="RFC7518"/> and <bcp14>MAY</bcp14> support further algorithms.</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>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 triggers 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 responds with an HTTP error status code to the Registrar-Agent.
The following client error status codes can 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 and
it <bcp14>SHOULD</bcp14> also contain the certificate chain for this certificate.
The certificate chain <bcp14>MUST</bcp14> be available for certificate verification. 
If it is not contained in the x5c Header Parameter it is provided to the relying party by other means such as configuration.</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> ignore 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"/> 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": "2025-01-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"/>.
Algorithms used for JWS signatures <bcp14>MUST</bcp14> support ES256 as recommended in <xref target="RFC7518"/> and <bcp14>MAY</bcp14> support further algorithms.</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>As already stated in <xref target="RFC8995"/>, and required by <xref target="I-D.ietf-uta-require-tls13"/>, 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 responds with an HTTP client error status code to the Registrar-Agent.
The following client error status codes can 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>The domain registrar can 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 consequently supports 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 responds 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 responds with an HTTP server error status code to the Registrar-Agent.
The following server error status codes can 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"/> 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": "2025-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"/>.
Algorithms used for JWS signatures <bcp14>MUST</bcp14> support ES256 as recommended in <xref target="RFC7518"/> and <bcp14>MAY</bcp14> support further algorithms.</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": "2025-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"/>.
Algorithms used for JWS signatures <bcp14>MUST</bcp14> support ES256 as recommended in <xref target="RFC7518"/> and <bcp14>MAY</bcp14> support further algorithms.</t>
            <t>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 responds with an HTTP client error status code to the Registrar-Agent.
The following client error status codes can 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 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> with an smime-type parameter <tt>certs-only</tt>, as specified in <xref target="RFC7030"/> and <xref target="RFC5273"/>.</t>
        <t>If the domain registrar is unable to return the Enroll-Resp, it responds with an HTTP server error status code to the Registrar-Agent.
The following server error status codes can 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>MUST</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.
As the caCerts artifact processing on the pledge may result in errors, signaled via HTTP status codes, the Registrar-Agent should log these for evaluation as outlined in <xref target="log_hints"/>.</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"/>.
Algorithms used for JWS signatures <bcp14>MUST</bcp14> support ES256 as recommended in <xref target="RFC7518"/> and <bcp14>MAY</bcp14> support further algorithms.</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 this process.</t>
        <t>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>,
to indicate the encoding of the vStatus response object status telemetry message.</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.
A manufacturer may opt to provide the acceptance of nonceless voucher  as configurable item.</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;
should not provide information beneficial to an attacker.
As the pledge is not localized at this point in time language selection cannot be done.
Therefore, English is taken as a default here for this diagnostic messages.
The internationalization of text is expected to be done on another level.</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;</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"/> 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>
            <artwork><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/jose+json
Content-Language: en
]]></artwork>
            <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>
            <artwork><![CDATA[
HTTP/1.1 400 Bad Request
Content-Type: application/jose+json
Content-Language: en
]]></artwork>
            <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 and
it <bcp14>SHOULD</bcp14> also contain the certificate chain for this certificate.
The certificate chain <bcp14>MUST</bcp14> be available for certificate verification. 
If it is not contained in the x5c Header Parameter it is provided to the relying party by other means such as configuration.</t>
              </li>
            </ul>
            <t><xref target="vstatus_header"/> 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"/>.
Algorithms used for JWS signatures <bcp14>MUST</bcp14> support ES256 as recommended in <xref target="RFC7518"/> and <bcp14>MAY</bcp14> support further algorithms.</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>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 responds with an HTTP error status code to the Registrar-Agent.
The following client error status codes can 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>403 Forbidden: 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.
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>
      </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>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> with an smime-type parameter <tt>certs-only</tt>, as specified in <xref target="RFC7030"/> and <xref target="RFC5273"/>, 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"/> (including 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 and
it <bcp14>SHOULD</bcp14> also contain the certificate chain for this certificate.
The certificate chain <bcp14>MUST</bcp14> be available for certificate verification. 
If it is not contained in the x5c Header Parameter it is provided to the relying party by other means such as configuration.</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"/>.
Algorithms used for JWS signatures <bcp14>MUST</bcp14> support ES256 as recommended in <xref target="RFC7518"/> and <bcp14>MAY</bcp14> support further algorithms.</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 responds 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 responds with an HTTP 200 OK in the success case or can 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 may 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>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 responds with an HTTP error status code to the Registrar-Agent.
The following client error status codes can 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>403 Forbidden: 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"/> 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": "2025-01-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"/> 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"/>.
Algorithms used for JWS signatures <bcp14>MUST</bcp14> support ES256 as recommended in <xref target="RFC7518"/> and <bcp14>MAY</bcp14> support further algorithms.</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"/> 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 and
it <bcp14>SHOULD</bcp14> also contain the certificate chain for this certificate
The certificate chain <bcp14>MUST</bcp14> be available for certificate verification. 
If it is not contained in the x5c Header Parameter it is provided to the relying party by other means such as configuration.</t>
              </li>
            </ul>
            <t><xref target="pstatus_header"/> 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"/>.
Algorithms used for JWS signatures <bcp14>MUST</bcp14> support ES256 as recommended in <xref target="RFC7518"/> and <bcp14>MAY</bcp14> support further algorithms.</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>
      <t>In order to protect the registrar from overload attacks, a rate-limiting may be used by logging events from the same type just once.</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.
As outlined in <xref target="colo-regagt"/> the functional support of BRSKI-PRM can also be achieved using a Registrar-Agent co-located with the Registrar instead of a stand-alone Registrar-Agent, which may reduce operational complexity.</t>
      <t>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>The key infrastructure as part of the customer domain discussed in <xref target="architecture"/> may be operated locally by the operator of that domain or may be provided as a third party service.</t>
      <t>Requirements to the utilized credentials authenticating and artifact signatures on the registrar as outlined in <xref target="registrar_component"/> 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>Besides the above, also consider the existing document on operational modes for BRSKI MASA in <xref target="I-D.richardson-anima-masa-considerations"/>.</t>
    </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 is requested to register 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:</t>
      <ul spacing="normal">
        <li>
          <t>Avoid logging personally identifiable information unless unavoidable.</t>
        </li>
        <li>
          <t>Anonymize or pseudonymize data where possible.</t>
        </li>
      </ul>
      <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 in the following subsections related to:</t>
      <ul spacing="normal">
        <li>
          <t>the introduction of the additional component Registrar-Agent and related attack options.</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 and the impact on transport of sensitive information.</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>Documents that define exclusively modules following the extension in <xref target="RFC8971"/> are not required to include the YANG security template per guidance in <xref section="3.7" sectionFormat="of" target="I-D.ietf-netmod-rfc8407bis"/>.</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="RFC7518">
          <front>
            <title>JSON Web Algorithms (JWA)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification registers cryptographic algorithms and identifiers to be used with the JSON Web Signature (JWS), JSON Web Encryption (JWE), and JSON Web Key (JWK) specifications. It defines several IANA registries for these identifiers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7518"/>
          <seriesInfo name="DOI" value="10.17487/RFC7518"/>
        </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="1" month="April" year="2025"/>
            <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, includes a number of desired
   extensions into the YANG.  The voucher request defined in RFC8995 is
   also now included in this document, as well as other YANG extensions
   needed for variants of BRSKI/RFC8995.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-rfc8366bis-14"/>
        </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="RFC4086">
          <front>
            <title>Randomness Requirements for Security</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="J. Schiller" initials="J." surname="Schiller"/>
            <author fullname="S. Crocker" initials="S." surname="Crocker"/>
            <date month="June" year="2005"/>
            <abstract>
              <t>Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities. The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space.</t>
              <t>Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult. This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities. It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications. 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="106"/>
          <seriesInfo name="RFC" value="4086"/>
          <seriesInfo name="DOI" value="10.17487/RFC4086"/>
        </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>
        <reference anchor="RFC5273">
          <front>
            <title>Certificate Management over CMS (CMC): Transport Protocols</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 a number of transport mechanisms that are used to move CMC (Certificate Management over CMS (Cryptographic Message Syntax)) messages. The transport mechanisms described in this document are HTTP, file, mail, and TCP. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5273"/>
          <seriesInfo name="DOI" value="10.17487/RFC5273"/>
        </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="RFC5652">
          <front>
            <title>Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="September" year="2009"/>
            <abstract>
              <t>This document describes the Cryptographic Message Syntax (CMS). This syntax is used to digitally sign, digest, authenticate, or encrypt arbitrary message content. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="70"/>
          <seriesInfo name="RFC" value="5652"/>
          <seriesInfo name="DOI" value="10.17487/RFC5652"/>
        </reference>
        <reference anchor="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="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="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </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="RFC9733">
          <front>
            <title>BRSKI with Alternative Enrollment (BRSKI-AE)</title>
            <author fullname="D. von Oheimb" initials="D." role="editor" surname="von Oheimb"/>
            <author fullname="S. Fries" initials="S." surname="Fries"/>
            <author fullname="H. Brockhaus" initials="H." surname="Brockhaus"/>
            <date month="March" year="2025"/>
            <abstract>
              <t>This document defines enhancements to the Bootstrapping Remote Secure Key Infrastructure (BRSKI) protocol, known as BRSKI with Alternative Enrollment (BRSKI-AE). BRSKI-AE extends BRSKI to support certificate enrollment mechanisms instead of the originally specified use of Enrollment over Secure Transport (EST). It supports certificate enrollment protocols such as the Certificate Management Protocol (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="RFC" value="9733"/>
          <seriesInfo name="DOI" value="10.17487/RFC9733"/>
        </reference>
        <reference anchor="I-D.ietf-uta-require-tls13">
          <front>
            <title>New Protocols Using TLS Must Require TLS 1.3</title>
            <author fullname="Rich Salz" initials="R." surname="Salz">
              <organization>Akamai Technologies</organization>
            </author>
            <author fullname="Nimrod Aviram" initials="N." surname="Aviram">
         </author>
            <date day="14" month="April" year="2025"/>
            <abstract>
              <t>   TLS 1.3 use is widespread, it has had comprehensive security proofs,
   and it improves both security and privacy over TLS 1.2.  Therefore,
   new protocols that use TLS must require TLS 1.3.  As DTLS 1.3 is not
   widely available or deployed, this prescription does not pertain to
   DTLS (in any DTLS version); it pertains to TLS only.

   This document updates RFC9325 and discusses post-quantum cryptography
   and the security and privacy improvements over TLS 1.2 as a rationale
   for that update.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-uta-require-tls13-12"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-rfc8407bis">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="Andy Bierman" initials="A." surname="Bierman">
              <organization>YumaWorks</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <date day="15" month="April" year="2025"/>
            <abstract>
              <t>   This memo provides guidelines for authors and reviewers of
   specifications containing YANG modules, including IANA-maintained
   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 8407.

   Also, this document updates RFC 8126 by providing additional
   guidelines for writing the IANA considerations for RFCs that specify
   IANA-maintained modules.  The document also updates RFC 6020 by
   clarifying how modules and their revisions are handled by IANA.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-rfc8407bis-23"/>
        </reference>
        <reference anchor="I-D.draft-ietf-emu-eap-arpa">
          <front>
            <title>The eap.arpa domain and EAP provisioning</title>
            <author fullname="Alan DeKok" initials="A." surname="DeKok">
              <organization>InkBridge Networks</organization>
            </author>
            <date day="29" month="January" year="2025"/>
            <abstract>
              <t>   This document defines the eap.arpa domain as a way for Extensible
   Authentication Protocol (EAP) peers to signal to EAP servers that
   they wish to obtain limited, and unauthenticated, network access.
   EAP peers signal which kind of access is required via certain pre-
   defined identifiers which use the Network Access Identifier (NAI)
   format of RFC 7542.  A table of identifiers and meanings is defined,
   which includes entries for RFC 9140.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-emu-eap-arpa-06"/>
        </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="29" month="March" 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-07"/>
        </reference>
      </references>
    </references>
    <?line 2879?>

<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-registrar-voucher-request-rvr-from-registrar-to-masa">
        <name>Example Registrar Voucher-Request (RVR) - from Registrar to MASA</name>
        <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 HTTP-over-TLS 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 19 -&gt; IETF draft 20:</t>
      <ul spacing="normal">
        <li>
          <t>addressed last comments and nits before telechat</t>
        </li>
      </ul>
      <t>From IETF draft 18 -&gt; IETF draft 19:</t>
      <ul spacing="normal">
        <li>
          <t>addressed DISCUSS received during telechat preparation:
          </t>
          <ul spacing="normal">
            <li>
              <t>issue 136: included hint for reaction on HTTP requests to avoid DoS (rate limiting) in <xref target="pledge_component"/></t>
            </li>
            <li>
              <t>issue 137: HTTP error handling BCP RFC 9205: removed normative language for HTTP status codes</t>
            </li>
            <li>
              <t>issue 139: usage of TLS 1.3 emphasized by also referencing UTA draft in <xref target="pvr"/></t>
            </li>
            <li>
              <t>issue 140: provided hint for time synchronization of registrar-agent in <xref target="agent_component"/></t>
            </li>
            <li>
              <t>issue 145: clarified language tagging in status information in <xref target="vstatus_data"/></t>
            </li>
          </ul>
        </li>
        <li>
          <t>addressed COMMENT, NITS, received during telechat preparation, specifically
          </t>
          <ul spacing="normal">
            <li>
              <t>issue 140: synchronized time</t>
            </li>
            <li>
              <t>issue 141: config options for discovery and nonceless vouchers in <xref target="voucher"/> and <xref target="agent_component"/></t>
            </li>
            <li>
              <t>issue 142: addressed TTL of provisional accept state by utilizing the last received tPVR for the binding in <xref target="tpvr"/></t>
            </li>
            <li>
              <t>issue 144: clarified usage of "<bcp14>MUST</bcp14> ...unless" in <xref target="pledge_component"/></t>
            </li>
            <li>
              <t>issue 146: added MTI algorithm for JWS signatures</t>
            </li>
            <li>
              <t>issue 147: definitions of reason-context in status objects</t>
            </li>
          </ul>
        </li>
        <li>
          <t>updated reference of BRSKI-AE (now RFC 9733).</t>
        </li>
        <li>
          <t>removed unused references</t>
        </li>
      </ul>
      <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:
H4sIAAAAAAAAA+y9+XYbR5I3+r/O8TtUU/d8JtsAxEV7r7REtzUtWxqStmeu
rz+xCBTJaoEoNKpAmSPre5b7LPfJbqyZkVlZAEgtlhf1nLEEoLJyiYz1FxH9
fv+TG03ZjIuH2ef7B/98kr0qm7Ps+bgYnRZZOcn2i3paTUbFLPuqGhXZOv2o
/3z/q41PbuTHx7PiQh7Ezz65MaqGk/wcBhvN8pOmXxbNST+flOd5/3hWvyz7
09l5f3sTHp0V+cPs2bSY5U1ZTeosn4yyr/JJflqcF5PmkxuvTh9mu18/+Wo3
++4fMGzewJjbm9t3PrlRN/DbF/m4msBHzWxefHKjnM7or3Wzvbn5YHMbfjQ/
Pi/rGoY+vJzC757sHX4RD7p0DsO8eZjVzeiTG9Py4Sc3sqyphg+zTy+L+lP8
17A6n+bDxnxSX57PipPaflLNmugjmOykasqTshjBp5OKf9fMSjNUPm/Oqhm8
sw9nAA8fDLIvZmVR4095fw+a4uSkmPiPqxks7qDEqdfZ7j/wIz0f+VTeUxTw
nmdNU/W/zM8m/f1ycprdpfWUzeXD7Kv5pBye8fpG8KJP72/d23kgC55Pmhn8
5h/F7DyfXOJnxXlejnGXaDqDE5zO32t+4QB2CH8zn5UPs7OmmdYPb9169erV
wHx/y63xcJB9V8wmxcwv8vCsOs9r8/HPu8iGptN/RdO53iL3BtnTIjdL3BuX
VeM+o/U9KuthlR1cwp6eB+vZhzk3Jfwrr+siu+eX810+Hpd1MR4XE7+mR1/2
7+9s3g7WdAC3+3+K2RgoHT+fntElWvvs9lZ2+3Z2/9797AHcoDWz5jHM7O9D
nBEvVNbx1YBmk89GdTXxq/kKPyvG2aP4az44eG0xhk3NDqqT5hXcv+y7avay
Nq87H84+Q6bx91p/Oxjmwfbq7prvYXuHFSywPJ439tbAZj8u//XSbHb9snIf
0ZSeVIfwaD0fA1MZXg4mYzOXAn49GMGv/w5HFP+qryRawXYWdZ3tDV8Ws8YN
/MW8mc+KV0Vp6acp/j6sByf5fDAq7Fb+s7rIm5oJUjYyb5qzEmjffhVQ/8Hw
DEb/H7kF8gbaupfyyGBSwHwuism8IO51OqvmU2GAdHOQL2f84Gv6x9/x+QG8
5g39HiTB/Pgh/67/6vRWxMg/uTGp4Io05QWPv//Fozvb97b93+9v6t/v3ru7
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
tRHfnlFpWjS1Z6a2EsU6AdkVkePyfNjjdQmxMoQNKxbjdvsCqEZpCaSxF9Su
Z3RaQ5DIltV6urWUO21q21Wyrn0XAVKnnRYb1iCkE+IGKt4B6Kr9w7D3pYof
+jxdx2pRwtwd0qYE7NIT9+JSn966uPKu4slb73bgrVAtLFPnlK2K27O+L6J4
aVwfv9u91YFs7FFst6pH4zK8X3RWjGlixeQsl24jTpM8IpMzKkl5FFintlfd
Mks19JNdz/gMfGWq3edES4qH8ybalQJxWks2GYKm9yaMSCARvIA+OmpuCBmW
+IvFhmXsRPGaerA/b2FD6tw/dtOxvVeqr6YdMivZjUs9NsHp8q2nIw3sBveD
BeqA1B29wt1Z3NHYXp0/fXJjYmLEVFL6JXbqUrQwOWDI8JhQiFFmR68z/cRd
fziPZ4/p6o+BWp/SDzoV+vegz/8JCSUKhgZR4vpyMjybVROuxwmvkBZCOGkN
hgV2CmswrlJmh8bpYtbOzgvd9Lhs7VME+sJEKyPz6I4ToyjmRtpD+M9L7uJ8
Mkaer5vvNgwnz4rZBHu1trY+h59eTpvqdJZPgVMRKgC2E6O6M5gOrAdr/NbF
fFT15QMxZmg8DfTrVt/1ouH25v27HPj/Y2w3pc4/bTHJl91mjDnCRKFrZyx1
0sb2YCfR4gp1aQ1JpTVqF7Aijdp78tnpfMTdD0dSw9/PUaO56z6PxdR5D7pW
yTRWDBGsoHJ3BgfioCkRZRqeTDeHHc0xakSDc1HLgs5Qn12fVTtTK+EK33QL
JHVigb5qVxG3jHt/y6GhKAqcHg+GGVenog7EujgiG2DatGS4xY49GBS41wts
4GShTa7yJW2Kp0TJQ22189DJ7qUm+7Yx2fH3xBfwp8Xj+rPPbn0xf/zlP76Z
7P/49c7e1u1H/6mhlpS3KWHgu9+6G4e/i66b+dW7iAJ1hQ+77DnSPFpKhz0q
VTlCsS823Srhnyv5H0idYBWCiMGLalIkWp7f5VAyM5OWXWmBgM6cDMSaNyBb
nRiNprNkpjurzPTntQhTaRpRSh9iOQrO0ni2cut03ExQPxAaoeFxI1KwYb1W
8F/Ykm9ZUoSmPjjvx3tPcdhemuKwt/97JkM09G81k+H36ra/V7dNfLI4kWHb
JTLsfZBEBmVab53KUFw7lSFi/QYOuLc4k6H4+DIZ/lXVxWceltqZlLC3QlLC
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
5u3OfOCPxvp7ElJ6x+GF8xyBhTES+kLd3RWXYexCqlamtgggNHjNxTfNBRl4
Y8jH+KKLCryyelnYsUNCwSCbj+HS0Sh4xp4uDOJA73U9L4K+sThdMBAmMcXS
EhRPvRxXH5KslpJnFoFX5ISyuQlx7+PTixHTLTjwAqz0AujwyqZwUsqsYgq3
MFW/HlP4P6lQv1gFusf/nhKam+vxq3LizRmtnst9glu7h0mpmCeBb/d9AFAR
yb3ugjkFPvVSaip4O8tXFjiZEyXU1fiiYJ5T95bSs/Rt0fU3+ez/Z+9Nm9vW
srPR76nKf+B1p27bXZIbIEXZctLJFSmCg0RIxLBBIu9bbpCABRAACROgOHT6
v9+19oCBg+Vz7E5O0jnVVW2R4MYe1vCsYa/1DLCAKy53TbMoK9Y5bdtRuvi7
jAN2XQB2keeh51BJcOCprePCCVZQuet53If4N3XVVJYrJjE7NBwwJ9a88w4/
xWpXh/+9V1r7X5MXTV753Smu+C2auz+3wlNWugT6A3dJL5PvN5LPjHP0yG/W
bJaF2VyVoD9oLB81nvnBdoSgCr/viqjw8ayC52fs/ZK9ekEv+88yen/CzcyD
u3giiz09qwjFvhbJcq/Xi8rOZ9Ed3uA8aGwkqmQkyzRl6eK7k53Ddh6fECaY
hUFyMI9KISfcNPjRMvWq9z0xZBZk36hLVbp0KK6I4nMHGCt5lT6S4wucv+1b
maXE4uSkQ4X/6O+wPtWhsDpRDep7Li7j+65rKvySsTLufP5Szt3/VZWd/jvV
oDKKI/8eJ8XPdE6cM4nP6o+//O5IUYgl8N8w+XtC4/ycS7VFzJIzF9OxedWA
9Gdclz2S/f9112UPTuL4vqw4j2/flxVP/ZT7sk+doq/qL7wre2I5v/XLsqe3
TlwNEKTyt++sVSGB/70t+/dwW/bUyRcS+Ox12crzP3pt9vuvyOK0gEu+foZP
+X0w6kSZuW5EG0TR2WV8cn8qMXdx3W+NKL3g3HIcB+9EetvStwzhuZf0hxlW
4Cj9kpmuqIbhy38q/clv7+H/lT+u/fFPtTe5F+7Nya9zf9qbsnwoLzsvOIyb
Rm+gnDuWt5XdeHdkYFblQN6PTLBSUfWVeeuwlTFTmVSVIajjuT9VC/PoyojA
lOuM9f0y/DMNzQLuQM7pp3xl+TAEXL6+DMR+0L2shxlKTNMWC8vpVMB++c9l
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
amyDsgd+CEphtMvLS5pPXQ6s8Zo7iAJ5LaG85krqifJCDKCDIKGJweXqN6zc
9ocbvHCt491Yr9bCEETkpD7Y55FXYFNR3edMfuFbAMXvapdsa59yx9oJJ6hx
mItTqoMkdGaaXwZ2SoOddhQsXmt78IZrPRGHT2lGxBeGFRDLB+mnWv3mQwN2
H1CVqLb0j//wp+p/mJjT+VT7/f/5PYamPZauyVM0sDZPDTeydvCjP9Gcp4MG
BG+83SCxx1r8MLZfXEtd2uN+NovJ1rXI3m3Lm1ksXbvxjTyp+9Es6F/D8/6s
8X/+8R/UaLbQkmn9KngMBr5dJ2v2+M2VY8mJ2wuDh/Zgb48HycTaZNMFySYx
2fXny2B419kN9yNZncMws6tHvZ/24+bLNFYj/Nqp+4+emW2Msbac1NVkYig7
qzeT1PZN3TSkm36wCSaNQTQZa5Hdll+mAQzTv+7P+5vhfJQN7ybZcK6Zw7vw
Gt50DZ+tVcOsWwG+RlnYVlN6GLd204ad2F0Ssn/7ydSCYSLJ0+WdbbnJrKHt
JrAXkzrZuW0YPpQHutmXnFC9G5EosSWloZuDli1FvRHxbXU/CCZRoo5wmJve
SFK3mqyq6l3UHpnynWFqxOuQ6xEZtG2paY1C5cUw1dXQINo0sq8nZCZPu8O9
MfY7pKMMRzEM4z6ScNCaSHJbC5sbu+PCENr1yGyKIWBdg9SMt/OhPOiYRGvZ
pt0Y9iJV65AmvHLuSjBM86tmaCrpJL62mG28UO5oY3ikqzaMOFHUjmzqsaJq
d9qVNk5aZjhYGLCxI+tGHdXTrUqUNVnAMIlP9iSd7FUVZmGOzK2YxRxm0TUW
rVCTyZUmaS0i8SFMGYZt6W48GGuLVjDt4DCpNR+kXqz19difO+HAgZ+rmjRo
zkzXMIxRc2S5iiapd/nfY1fRO52NbirtUQwzCmGY9MUxZs2pPFjpe2IDaY3s
vU9MuX/10CD7oaWNiBU5ekeWpvXMsHvKA8w+nkbufhSPVjMyGKoybrFux3ZE
6lkTKDiYSkmsW9vUHQ/mjtGX3Xpz6Zg31khyv9rjpK2acnvYcVtDQkI9UjQC
R2OaOMzdqKECHShECwcNWFDbrru7UQwLCQfaRNL6Wkd5gr/hRH3tsQN0M/cV
PMGR1JdggcaIIPl1SNTfwAko2tgdqZ0onNRlaxorE2Pemk9Nu2kovo50Yo7J
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
OCvjqzaYSPAogbWgFtv/N/dkflPjkQMA

-->

</rfc>
