<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.1 (Ruby 2.7.4) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc compact="yes"?>
<?rfc iprnotified="no"?>
<?rfc strict="yes"?>

<rfc ipr="trust200902" docName="draft-ietf-anima-brski-prm-10" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="BRSKI-PRM">BRSKI with Pledge in Responder Mode (BRSKI-PRM)</title>

    <author initials="S." surname="Fries" fullname="Steffen Fries">
      <organization abbrev="Siemens">Siemens AG</organization>
      <address>
        <postal>
          <street>Otto-Hahn-Ring 6</street>
          <city>Munich</city>
          <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>CH-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="2023"/>

    <area>Operations and Management</area>
    <workgroup>ANIMA WG</workgroup>
    

    <abstract>


<?line 131?>

<t>This document defines enhancements to Bootstrapping a Remote Secure Key Infrastructure (BRSKI, RFC8995) to enable bootstrapping in domains featuring no or only limited connectivity between a pledge and the domain registrar.
It specifically changes the interaction model from a pledge-initiated mode, as used in BRSKI, to a pledge-responding mode, where the pledge is in server role.
For this, BRSKI with Pledge in Responder Mode (BRSKI-PRM) introduces a new component, the registrar-agent, which facilitates the communication between pledge and registrar during the bootstrapping phase.
To establish the trust relation between pledge and registrar, BRSKI-PRM relies on object security rather than transport security.
The approach defined here is agnostic to the enrollment protocol that connects the domain registrar to the domain CA.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-anima-brski-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 139?>

<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 site) domain.
This includes the discovery of the BRSKI registrar in the customer domain and the exchange of security information necessary to establish trust between a pledge and the domain.</t>

<t>Security information about the customer domain, specifically the customer domain certificate, are exchanged and authenticated utilizing voucher-request and voucher-response artifacts as defined in <xref target="RFC8995"/>.
Vouchers are signed objects from the Manufacturer's Authorized Signing Authority (MASA).
The MASA issues the voucher and provides it via the domain registrar to the pledge.
<xref target="RFC8366"/> specifies the format of the voucher artifacts.
<xref target="I-D.ietf-anima-rfc8366bis"/> further enhances the format of the voucher artifacts and also the voucher-request.</t>

<t>For the certificate enrollment of devices, BRSKI relies on 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 the EST server.</t>

<t>BRSKI addresses scenarios in which the pledge initiates the bootstrapping acting as client (referred to as initiator mode by this document).
BRSKI with pledge in responder mode (BRSKI-PRM) defined in this document allows the pledge to act as server, so that it can be triggered to generate bootstrapping requests in the customer domain.
For this approach, this document:</t>

<t><list style="symbols">
  <t>introduces the registrar-agent as new component to facilitate the communication between the pledge and the domain registrar.
The registrar-agent may be implemented as an integrated functionality of a commissioning tool or be co-located with the 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 registrar.</t>
  <t>specifies the interaction (data exchange and data objects) between a pledge acting as server, the registrar-agent acting as client, and the domain registrar.</t>
  <t>enables the usage of arbitrary transports between the pledge and the domain registrar via the registrar-agent; security is addressed at the application layer, and both IP-based and non-IP connectivity can be used between pledge and registrar-agent.</t>
  <t>allows the application of registrar-agent credentials to establish TLS connections to the domain registrar; these are different from the IDevID of the pledge.</t>
</list></t>

<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"/>.
For the interaction with the domain registrar, the registrar-agent will use existing BRSKI <xref target="RFC8995"/> endpoints as well as additional endpoints defined in this document.
To utilize the EST server endpoints on the domain registrar, the registrar-agent will act as client toward the registrar.</t>

<t>The registrar-agent also acts as a client when communicating with a pledge in responder mode.
Here, TLS with server-side, certificate-based authentication is only optionally supported.
If TLS is optionally used between the registrar-agent and the pledge, the registrar-agent needs to identify the pledge based on its product serial number rather than the hostname as this is not set in an IDevID certificate.</t>

<t>BRSKI-PRM is designed to rely on object security to support also for alternative transports for which TLS may not be available, e.g., Bluetooth or NFC.
This is achieved through an additional signature wrapping of the exchanged data objects involving the registrar-agent for transport.</t>

<t>To utilize EST <xref target="RFC7030"/> for enrollment, the domain registrar must perform the pre-processing of this wrapping signature before actually using EST as defined in <xref target="RFC7030"/>.</t>

<t>There may be pledges which can support both modes, initiator and responder mode.
In these cases BRSKI-PRM can be combined with BRSKI as defined in <xref target="RFC8995"/> or BRSKI-AE <xref target="I-D.ietf-anima-brski-ae"/> to allow for more bootstrapping flexibility.</t>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

<t>This document relies on the terminology defined in <xref target="RFC8995"/>, section 1.2.
The following terms are defined additionally:</t>

<dl>
  <dt>authenticated self-contained object:</dt>
  <dd>
    <t>Describes an object, which is cryptographically bound to the end entity (EE) certificate (IDevID certificate or LDEVID 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, issues certificates.</t>
  </dd>
  <dt>Commissioning tool:</dt>
  <dd>
    <t>Tool to interact with devices to provide configuration data.</t>
  </dd>
  <dt>CSR:</dt>
  <dd>
    <t>Certificate Signing Request.</t>
  </dd>
  <dt>EE:</dt>
  <dd>
    <t>End Entity.</t>
  </dd>
  <dt>endpoint:</dt>
  <dd>
    <t>term equivalent to resource in HTTP <xref target="RFC9110"/> and CoAP <xref target="RFC7252"/>.
Endpoints are accessible via .well-known URIs.</t>
  </dd>
  <dt>mTLS:</dt>
  <dd>
    <t>mutual Transport Layer Security.</t>
  </dd>
  <dt>on-site:</dt>
  <dd>
    <t>Describes a component or service or functionality available in the customer domain.</t>
  </dd>
  <dt>off-site:</dt>
  <dd>
    <t>Describes a component or service or functionality not available on-site.
It may be at a central site or an internet resident "cloud" service.
The on-site to off-site connection may also be temporary and, e.g., only available at times when workers are present on a construction side, for instance.</t>
  </dd>
  <dt>PER:</dt>
  <dd>
    <t>Pledge Enrollment-Request is a signature wrapped CSR, signed by the pledge that requests enrollment to a domain.</t>
  </dd>
  <dt>POP:</dt>
  <dd>
    <t>Proof-of-Possession (of a private key), as defined in <xref target="RFC5272"/>.</t>
  </dd>
  <dt>POI:</dt>
  <dd>
    <t>Proof-of-Identity, as defined in <xref target="RFC5272"/>.</t>
  </dd>
  <dt>PVR:</dt>
  <dd>
    <t>Pledge Voucher-Request is a request for a voucher sent to the domain registrar.
The PVR is signed by the Pledge.</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>RER:</dt>
  <dd>
    <t>Registrar Enrollment-Request is the CSR of a PER sent to the CA by the domain registrar (RA).</t>
  </dd>
  <dt>RVR:</dt>
  <dd>
    <t>Registrar Voucher-Request is a request for a voucher signed by the domain registrar to the MASA.
It may contain the PVR received from the pledge.</t>
  </dd>
  <dt>site:</dt>
  <dd>
    <t>In the context of this document the term site is considered as synonymously to domain as defined in <xref target="RFC8995"/>.</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 "base64encodedvalue==" as a placeholder for base64 data.
The full base64 data is included in the appendices of this document.</t>

<t>This protocol unavoidably has a mix of both base64 encoded data (as is normal for many JSON encoded protocols), and also BASE64URL encoded data, as specified by JWS.
The latter is indicated by a string like "BASE64URL(content-name)".</t>

</section>
<section anchor="scope-of-solution"><name>Scope of Solution</name>

<section anchor="sup-env"><name>Supported Environments and Use Case Examples</name>

<t>BRSKI-PRM is applicable to scenarios where pledges may have no direct connection to the domain registrar, may have no continuous connection, or require coordination of the pledge requests to be provided to a domain registrar.</t>

<t>This can be motivated by pledges deployed in environments not yet connected to the operational customer domain network, e.g., at a building construction site, or environments intentionally disconnected from the Internet, e.g., critical industrial facilities.
Another example is the assembly of electrical cabinets, which are prepared in advance before the installation at a customer domain.</t>

<section anchor="building-automation"><name>Building Automation</name>

<t>In building automation a typical use case exists where a detached building or the basement is equipped with sensors, actuators, and controllers, but with only limited or no connection to the central building management system.
This limited connectivity may exist during installation time or also during operation time.</t>

<t>During the installation, for instance, a service technician collects the device-specific information from the basement network and provides them to the central building management system.
This could be done using a laptop, common mobile device, or dedicated commissioning tool to transport the information.
The service technician may successively collect device-specific information in different parts of the building before connecting to the domain registrar for bulk bootstrapping.</t>

<t>A domain registrar may be part of the central building management system and already be operational in the installation network.
The central building management system can then provide operational parameters for the specific devices in the basement or other detached areas.
These operational parameters may comprise values and settings required in the operational phase of the sensors/actuators, among them a certificate issued by the operator to authenticate against other components and services.
These operational parameters are then provided to the devices in the basement facilitated by the service technician's laptop.
The registrar-agent, defined in this document, may be run on the technician's laptop to interact with pledges.</t>

</section>
<section anchor="infrastructure-isolation-policy"><name>Infrastructure Isolation Policy</name>

<t>This refers to any case in which the network infrastructure is normally isolated from the Internet as a matter of policy, most likely for security reasons.
In such a case, limited access to a domain registrar may be allowed in carefully controlled short periods of time, for example when a batch of new devices are deployed, but prohibited at other times.</t>

</section>
<section anchor="less-operational-security-in-the-target-domain"><name>Less Operational Security in the Target-Domain</name>

<t>The registration authority (RA) performing the authorization of a certificate request is a critical PKI component and therefore requires higher operational security than other components utilizing the issued certificates.
CAs may also require higher security in the registration procedures.
There may be situations in which the customer domain does not offer enough physical security to operate a RA/CA and therefore this service is transferred to a backend that offers a higher level of operational security.</t>

</section>
</section>
<section anchor="limitations"><name>Limitations</name>

<t>The mechanism described in this document presumes the availability of the pledge and the registrar-agent to communicate with another.
This may not be possible in constrained environments where, in particular, power must be conserved.
In these situations, it is anticipated that the transceiver will be powered down most of the time.
This presents a rendezvous problem: the pledge is unavailable for certain periods of time, and the registrar-agent is similarly presumed to be unavailable for certain periods of time.
To overcome this situation, the pledges may need to be powered on, either manually or by sending a trigger signal.</t>

</section>
</section>
<section anchor="req-sol"><name>Requirements Discussion and Mapping to Solution-Elements</name>

<t>Based on the intended target environment described in <xref target="sup-env"/>, the following requirements are derived to support bootstrapping of pledges in responder mode (acting as server):</t>

<t><list style="symbols">
  <t>To facilitate the communication between a pledge in responder mode and the registrar, additional functionality is needed either on the registrar or as a stand-alone component.
This new functionality is defined as registrar-agent and acts as an agent of the registrar to trigger the pledge to generate requests for voucher and enrollment.
These requests are then provided by the registrar-agent to the registrar.
This requires the definition of pledge endpoints to allow interaction with the registrar-agent.</t>
  <t>The security of communication between the registrar-agent and the pledge must not rely on Transport Layer Security (TLS) to enable application of BRSKI-PRM in environments, in which the communication between the registrar-agent and the pledge is done over other technologies like BTLE or NFC, which may not support TLS protected communication.
In addition, the pledge does not have a certificate that can easily be verified by <xref target="RFC6125"/> methods.</t>
  <t>The use of authenticated self-contained objects addresses both, the TLS challenges and the technology stack challenge.</t>
  <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>
  <t>It would be inaccurate for the voucher-request and voucher-response to use an assertion with value "proximity" in the voucher, as the pledge was not in direct contact with the registrar for bootstrapping.
Therefore, a new "agent-proximity" assertion value is necessary for distinguishing assertions the MASA can state.</t>
</list></t>

<t>At least the following properties are required for the voucher and enrollment processing:</t>

<t><list style="symbols">
  <t>POI: provides data-origin authentication of a data object, e.g., a voucher-request or an enrollment-request, utilizing an existing IDevID.
Certificate updates may utilize the certificate that is to be updated.</t>
  <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>
</list></t>

<t>Solution examples based on existing technology are provided with the focus on existing IETF RFCs:</t>

<t><list style="symbols">
  <t>Voucher-requests and -responses 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>
  <t>Certification 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 credential of the pledge (IDevID).
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>
</list></t>

</section>
<section anchor="architecture"><name>Architectural Overview</name>

<t>For BRSKI with pledge in responder mode, 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 based on JOSE <xref target="RFC7515"/> and further specified in <xref target="exchanges_uc2"/> to address the requirements stated in <xref target="req-sol"/> above.
In constrained environments it may be provided based on COSE <xref target="RFC9052"/> and <xref target="RFC9053"/>.</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 a 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, having been replaced by the Registrar Agent.
The Join Proxy may still be present, and there <bcp14>MAY</bcp14> be some situations in which the Join Proxy can be used by the Registrar-Agent to connect to the Registrar.
For example, the Registrar-Agent application on a smartphone often can connect to local wifi without giving up their LTE 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>

<t><list style="symbols">
  <t>uses existing endpoints where the required functionality is provided.</t>
  <t>enhances existing endpoints with new supported media types, e.g., for JWS voucher.</t>
  <t>defines new endpoints where additional functionality is required, e.g., for wrapped certification request, CA certificates, or new status information.</t>
</list></t>

<figure title="BRSKI-PRM architecture overview using registrar-agent" anchor="uc2figure"><artset><artwork  type="svg" align="left"><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 40,48 L 40,232" 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 40,48 L 72,48" fill="none" stroke="black"/>
<path d="M 168,48 L 200,48" 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)"/>
<polygon class="arrowhead" points="48,232 36,226.4 36,237.6" fill="black" transform="rotate(90,40,232)"/>
<g class="text">
<text x="100" y="52">Drop</text>
<text x="140" y="52">Ship</text>
<text x="244" y="52">Vendor</text>
<text x="304" y="52">Service</text>
<text x="224" y="84">M</text>
<text x="280" y="84">anufacturer</text>
<text x="224" y="100">A</text>
<text x="272" y="100">uthorized</text>
<text x="384" y="100">Ownership</text>
<text x="224" y="116">S</text>
<text x="260" y="116">igning</text>
<text x="376" y="116">Tracker</text>
<text x="224" y="132">A</text>
<text x="268" y="132">uthority</text>
<text x="412" y="180">BRSKI-</text>
<text x="404" y="196">MASA</text>
<text x="248" y="212">...............................</text>
<text x="416" y="212">.........</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="356" y="308">(PKI</text>
<text x="392" y="308">RA)</text>
<text x="448" y="308">.</text>
<text x="128" y="324">.</text>
<text x="220" y="324">LDevID</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="236" y="452">&quot;Domain&quot;</text>
<text x="316" y="452">Components</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="left"><![CDATA[
                         +---------------------------+
    +---- Drop Ship -----| Vendor Service            |
    |                    +---------------+-----------+
    |                    | M anufacturer |           |
    |                    | A uthorized   | Ownership |
    |                    | S igning      | Tracker   |
    |                    | A uthority    |           |
    |                    +---------------+-----------+
    |                                         ^
    |                                         | BRSKI-
    |                                         | MASA
    |          ...............................|.........
    V          .                              v        .
+--------+     .  +------------+        +-----------+  .
|        |     .  |            |        |           |  .
| Pledge | BRSKI- | Registrar- | BRSKI- | Domain    |  .
|        |  PRM   | Agent      |  PRM   | Registrar |  .
|        |<------>|            |<------>| (PKI RA)  |  .
|        |     .  |     LDevID |        |           |  .
|        |     .  +------------+        +-----+-----+  .
| IDevID |     .                              |        .
|        |     .           +------------------+-----+  .
+--------+     .           | Key Infrastructure     |  .
               .           | (e.g., PKI CA)         |  .
               .           +------------------------+  .
               .........................................
                         "Domain" Components
]]></artwork></artset></figure>

<t><xref target="uc2figure"/> shows the relations between the following main components:</t>

<t><list style="symbols">
  <t>Pledge: The pledge is expected to respond with the necessary data objects for bootstrapping to the registrar-agent.
The protocol used between the pledge and the registrar-agent is assumed to be HTTP in the context of this document.
Any other protocols (including HTTPS) can be used as long as they support the exchange of the necessary data objects.
This includes CoAP or protocol to be used over Bluetooth or NFC connections
A pledge acting as a server during bootstrapping leads to some differences for BRSKI:  <list style="symbols">
      <t>Discovery of the pledge by the registrar-agent <bcp14>MUST</bcp14> be possible.</t>
      <t>As the registrar-agent <bcp14>MUST</bcp14> be able to request data objects for bootstrapping of the pledge, the pledge <bcp14>MUST</bcp14> offer corresponding endpoints as defined in <xref target="pledge_ep"/>.</t>
      <t>The registrar-agent <bcp14>MUST</bcp14> provide additional data to the pledge in the context of the voucher-request trigger, which the pledge <bcp14>MUST</bcp14> include into the PVR as defined in <xref target="pvrt"/> and <xref target="pvrr"/>.
This allows the registrar to identify, with which registrar-agent the pledge was in contact.</t>
      <t>The order of exchanges in the BRSKI-PRM call flow is different those in BRSKI <xref target="RFC8995"/>, as the PVR and PER are collected at once and provided to the registrar.
This enables bulk bootstrapping of several devices.</t>
      <t>The data objects utilized for the data exchange between the pledge and the registrar are self-contained authenticated objects (signature-wrapped objects).</t>
    </list></t>
  <t>Registrar-agent: provides a store and forward communication path to exchange data objects between the pledge and the domain registrar.
The registrar-agent brokers in situations in which the domain registrar is not directly reachable by the pledge.
This may be due to a different technology stack or due to missing connectivity.
The registrar-agent triggers a pledge to create bootstrapping artifacts such as the voucher-request and the enrollment-request on one or multiple pledges.
It can then perform a (bulk) bootstrapping based on the collected data.
The registrar-agent is expected to possess information about the domain registrar: the registrar EE certificate, LDevID(CA) certificate, IP address, either by configuration or by using the discovery mechanism defined in <xref target="RFC8995"/>.
There is no trust assumption between the pledge and the registrar-agent as only authenticated self-contained objects are used, which are transported via the registrar-agent and provided either by the pledge or the registrar.
The trust assumption between the registrar-agent and the registrar is based on the LDevID of the registrar-agent, provided by the PKI responsible for the domain.
This allows the registrar-agent to authenticate towards the registrar, e.g., in a TLS handshake.
Based on this, the registrar is able to distinguish a pledge from a registrar-agent during the TLS session establishment and also to verify that this registrar-agent is authorized to perform the bootstrapping of the distinct pledge.</t>
  <t>Join Proxy (not shown): 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>
  <t>Domain Registrar: In general, the domain registrar fulfills the same functionality regarding the bootstrapping of the pledge in a (customer site) domain by facilitating the communication of the pledge with the MASA service and the domain PKI service.
In contrast to <xref target="RFC8995"/>, the domain registrar does not interact with a pledge directly but through the registrar-agent.
A registrar with combined functionality of BRSKI and BRSKI-PRM detects if the bootstrapping is performed by the pledge directly (BRSKI case) or by the registrar-agent (BRSKI-PRM case) based on the utilized credential for authentication (either pledge’s IDevID or LDevID from registrar-agent), see also <xref target="exchanges_uc2_2"/>.</t>
  <t>The manufacturer provided components/services (MASA and Ownership tracker) are used as defined in <xref target="RFC8995"/>.
A MASA is able to support enrollment via registrar-agent without changes unless it checks the vouchers proximity indication, in which case it would need to be enhanced to support BRSKI-PRM to also accept the agent-proximity.</t>
</list></t>

<section anchor="agt_prx"><name>Agent-Proximity Assertion</name>

<t>"Agent-proximity" is a statement in the PVR and in the voucher, that the registrar certificate was provided via the registrar-agent as defined in <xref target="exchanges_uc2"/> and not directly to the pledge.
"Agent-proximity" is therefore a different assertion then "proximity", which is defined in section 4 of <xref target="RFC8366"/>.
"Agent-proximity" is defined as additional assertion type in <xref target="I-D.ietf-anima-rfc8366bis"/>.
This can be verified by the registrar and also by the MASA during the voucher-request processing.</t>

<t>In BRSKI, the pledge verifies POP of the registrar via the TLS handshake and pins that public key as the "proximity-registrar-cert" 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 connection is considered provisional until the pledge receives the voucher.</t>

<t>In contrast, in BRSKI-PRM, the pledge has no direct connection to the registrar and must take the Registrar-Agent LDevID provisionally.
The registrar-agent has included its LDevID, a certificate signed by the domain owner, into the PVR trigger message.
The registrar-agent identity is therefore included into the Pledge Voucher Request (PVR).</t>

<t>Akin to the BRSKI case, the pledge has provided proximity evidence to the MASA.
But additionally, this allows the Registrar to be sure that the PVR collected by the Registrar-Agent was in fact collected by the Registrar-Agent to which the Registrar is connected to.</t>

<t>In a similar fashion, the pledge accepts the registrar certificate provisionally until it receives the voucher as described in <xref target="exchanges_uc2_3"/>.
See also Section 5 of <xref target="RFC8995"/> on "PROVISIONAL accept of server cert".</t>

</section>
<section anchor="pledge_ep"><name>Behavior of Pledge in Pledge-Responder-Mode</name>

<t>The pledge is triggered by the registrar-agent to generate the PVR and PER.
It will also be 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.
Due to the use of the registrar-agent, the interaction with the domain registrar is changed as shown in <xref target="exchangesfig_uc2_1"/>.
To enable interaction as responder with the registrar-agent, the pledge provides endpoints using the BRSKI defined endpoints based on the "/.well-known/brski" URI tree.</t>

<t>When the registrar-agent reaches out to a pledge, for instance with an example URI path "http://pledge.example/.well-known/brski/tpvr", it will in fact send a Host: header of "pledge.example", with a relative path of "/.well-known/brski/tpbr".
However in practice the pledge will often be known only by its IP address as returned by a discovery protocol, and that is what will be present in the Host: header.</t>

<t>The pledge <bcp14>MUST</bcp14> respond to all queries regardless of what Host: header is provided by the client.
<xref section="7.2" sectionFormat="comma" target="RFC9110"/> makes the Host: header mandatory, so it will always be present.</t>

<t>The following endpoints are defined for the <em>pledge</em> in this document.
The endpoints are defined with short names to also accommodate for the constraint case.</t>

<t>When the registrar-agent reaches out to a pledge, for instance with an example URI path "http://pledge.example/.well-known/brski/tpvr", it will in fact send a Host: header of "pledge.example", with a relative path of "/.well-known/brski/tpbr".
However in practice the pledge will often be known only by its IP address as returned by a discovery protocol, and that is what will be present in the Host: header.</t>

<t>The pledge <bcp14>MUST</bcp14> respond to all queries regardless of what Host: header is provided by the client.
<xref section="7.2" sectionFormat="comma" target="RFC9110"/> makes the Host: header mandatory, so it will always be present.</t>

<t>Operations and their corresponding URIs:</t>

<texttable title="Endpoints on the pledge" anchor="eppfigure1">
      <ttcol align='left'>Operation</ttcol>
      <ttcol align='left'>Endpoint</ttcol>
      <ttcol align='left'>Details</ttcol>
      <c>Trigger pledge voucher-request creation - Returns PVR</c>
      <c>/tpvr</c>
      <c><xref target="exchanges_uc2_1"/></c>
      <c>Trigger pledge enrollment-request - Returns PER</c>
      <c>/tper</c>
      <c><xref target="exchanges_uc2_1"/></c>
      <c>Supply voucher to pledge - Returns pledge voucher-status</c>
      <c>/svr</c>
      <c><xref target="exchanges_uc2_3"/></c>
      <c>Supply enrollment-response to pledge - Returns pledge enrollment-status</c>
      <c>/ser</c>
      <c><xref target="exchanges_uc2_3"/></c>
      <c>Supply CA certs to pledge</c>
      <c>/scac</c>
      <c><xref target="exchanges_uc2_3"/></c>
      <c>Query status of pledge - Returns pledge-status</c>
      <c>/qps</c>
      <c><xref target="exchanges_uc2_5"/></c>
</texttable>

</section>
<section anchor="behavior-of-registrar-agent"><name>Behavior of Registrar-Agent</name>

<t>The registrar-agent as a new component provides a message passing service between the pledge and the domain registrar.
It facilitates the exchange of data between the pledge and the domain registrar, which are the voucher-request/response, the enrollment-request/response, as well as related telemetry and status information.</t>

<t>For the communication with the pledge the registrar-agent utilizes communication endpoints provided by the pledge.
The transport in this specification is based on HTTP but may also be done using other transport mechanisms.</t>

<t>The communication between the registrar-agent and the pledge <bcp14>MAY</bcp14> be protected using TLS as outlined in <xref target="exchanges_uc2_1"/>.
The details of doing TLS validation are <xref target="pledgehttps"/>.</t>

<t>For the communication with the registrar, the registrar-agent uses the endpoints of the domain registrar side already specified in <xref target="RFC8995"/> (derived from EST <xref target="RFC7030"/>) where suitable.
These endpoints do not expect signature wrapped-objects, which are used b BRSKI-PRM.
This specifically applies for the enrollment-request and the provisioning of CA certificates.
To accommodate the use of signature-wrapped object, the following additional endpoints are defined for the <em>registrar</em>.
Operations and their corresponding URIs:</t>

<texttable title="Additional endpoints on the registrar" anchor="eppfigure2">
      <ttcol align='left'>Operation</ttcol>
      <ttcol align='left'>Endpoint</ttcol>
      <ttcol align='left'>Details</ttcol>
      <c>Supply PER to registrar - Returns enrollment-response</c>
      <c>/requestenroll</c>
      <c><xref target="exchanges_uc2_2_per"/></c>
      <c>Request (wrapped) CA certificates - Returns wrapped CA Certificates</c>
      <c>/wrappedcacerts</c>
      <c><xref target="exchanges_uc2_2_wca"/></c>
</texttable>

<t>For authentication to the domain registrar, the registrar-agent uses its EE (RegAgt) certificate.
The provisioning of the registrar-agent LDevID is out of scope for this document, but may be done in advance using a separate BRSKI run or by other means like configuration.
It is recommended to use short lived registrar-agent LDevIDs in the range of days or weeks as outlined in <xref target="sec_cons_reg-agt"/>.</t>

<t>The registrar-agent will use its EE certificate when establishing a TLS session with the domain registrar for TLS client authentication.
The EE (RegAgt) certificate <bcp14>MUST</bcp14> include a SubjectKeyIdentifier (SKID), which is used as reference in the context of an agent-signed-data object as defined in <xref target="exchanges_uc2_1"/>.
Note that this is an additional requirement for issuing the certificate, as <xref target="IEEE-802.1AR"/> only requires the SKID to be included for intermediate CA certificates.
<xref target="RFC8995"/> makes a similar requirement.
In BRSKI-PRM, the SKID is used in favor of providing the complete EE (RegAgt) certificate to accommodate also constraint environments and reduce bandwidth needed for communication with the pledge.
In addition, it follows the recommendation from BRSKI to use SKID in favor of a certificate fingerprint to avoid additional computations.</t>

<t>Using an LDevID for TLS client authentication of the registrar-agent is a deviation from <xref target="RFC8995"/>, in which the pledge's IDevID credential is used to perform TLS client authentication.
The use of the EE (RegAgt) certificate allows the domain registrar to distinguish, if bootstrapping is initiated from a pledge or from a registrar-agent and to adopt different internal handling accordingly.
If a registrar detects a request that originates from a registrar-agent it is able to switch the operational mode from BRSKI to BRSKI-PRM.
This may be supported by a specific naming in the SAN (subject alternative name) component of the EE (RegAgt) certificate.
Alternatively, the domain may feature a CA specifically for issuing registrar-agent LDevID certificates.
This allows the registrar to detect registrar-agents based on the issuing CA.</t>

<t>As BRSKI-PRM uses authenticated self-contained data objects between the pledge and the domain registrar, the binding of the pledge identity to the requests is provided by the data object signature employing the pledge's IDevID.
The objects exchanged between the pledge and the domain registrar used in the context of this specifications are JOSE objects.</t>

<t>In addition to the EE (RegAgt) certificate, the registrar-agent is provided with the product-serial-number(s) of the pledge(s) to be bootstrapped.
This is necessary to allow the discovery of pledge(s) by the registrar-agent using 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 interaction with the pledge.
For instance, <xref target="RFC9238"/> describes scanning of a QR code, the product-serial-number would be initialized from the 12N B005 Product Serial Number.</t>

<t>According to <xref target="RFC8995"/> section 5.3, the domain registrar performs the pledge authorization for bootstrapping within his domain based on the pledge voucher-request object.
This behavior is retained also in BRSKI-PRM.</t>

<t>The following information <bcp14>MUST</bcp14> be available at the registrar-agent before interaction with a pledge:</t>

<t><list style="symbols">
  <t>EE (RegAgt) certificate and corresponding private key: own operational key pair (to sign agent-signed-data).</t>
  <t>Registrar EE certificate: certificate of the domain registrar (to be provided to the pledge).</t>
  <t>Serial-number(s): product-serial-number(s) of pledge(s) to be bootstrapped (to query discover specific pledges based on the serial number).</t>
</list></t>

<section anchor="discovery_uc2_reg"><name>Discovery of Registrar by Registrar-Agent</name>

<t>As a registrar-agent acts as representative of the domain registrar towards the pledge or may even be collocated with the domain registrar, a separate discovery of the registrar is likely not needed as registrar-agent and registrar are domain components and have a trust relation. 
Nevertheless, a registrar-agent may discover a registrar using the basic mechanism specified in section 4 and the appendix A.2 of <xref target="RFC8995"/>. 
Note that this discovery, does not provide information on specific capabilities of registrars. 
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. 
This may be provided in <xref target="I-D.eckert-anima-brski-discovery"/>.</t>

</section>
<section anchor="discovery_uc2_ppa"><name>Discovery of Pledge by Registrar-Agent</name>

<t>The discovery of the pledge by registrar-agent should be done by using DNS-based Service Discovery <xref target="RFC6763"/> over Multicast DNS <xref target="RFC6762"/> to discover the pledge.
Note that <xref target="RFC6762"/> Section 9 provides support for conflict resolution in situations when an mDNS responder receives a mDNS response with inconsistent rdata.
The pledge constructs a local host name based on device local information (product-serial-number), which results in "product-serial-number._brski-pledge._tcp.local".
The product-serial-number composition is vendor dependent and may contain information regarding the vendor, the product type, and further information specific to the product instance. To allow distinction of pledges, the product-serial-number therfore needs to be sufficiently unique.</t>

<t>The registrar-agent <bcp14>MAY</bcp14> use</t>

<t><list style="symbols">
  <t>"product-serial-number._brski-pledge._tcp.local", to discover a specific pledge, e.g., when connected to a local network.</t>
  <t>"_brski-pledge._tcp.local" to get a list of pledges to be bootstrapped.</t>
</list></t>

<t>A manufacturer may allow the pledge to react on mDNS discovery without his product-serial-number contained. This allows a commissioning tool to discover pledges to be bootstrapped in the domain. The manufacturer support 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 mDNS.
For Ethernet it is provided by simply connecting the network cable.
For WiFi networks, connectivity can be provided by using a pre-agreed SSID for bootstrapping, e.g., as proposed in <xref target="I-D.richardson-emu-eap-onboarding"/>.
The same approach can be used by 6LoWPAN/mesh using a pre-agreed PAN ID.
How to gain network connectivity is out of scope of this document.</t>

<t>As an alternative discovery mechanism GRASP M_DISCOVERY multicast with M_RESPONSE, based on <xref target="RFC8990"/>, may be used.
The specification of this approach to discover a pledge from the registrar-agent is left for further study.
Note that <xref target="RFC8990"/> does not support conflict resolution as mDNS, which may be a limitation for its application.</t>

</section>
</section>
<section anchor="behavior-of-pledge-with-combined-functionality"><name>Behavior of Pledge with Combined Functionality</name>

<t>Pledges <bcp14>MAY</bcp14> support both initiator or 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-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 enrollment-request (PER) or to provide an enrollment-response can be used for further certificates.</t>

</section>
</section>
<section anchor="exchanges_uc2"><name>Bootstrapping Data Objects and Corresponding Exchanges</name>

<t>The interaction of the pledge with the registrar-agent may be accomplished using different transport means (protocols and/or network technologies).
This specification utilizes HTTP as transport.
Alternative transport channels may be CoAP, Bluetooth Low Energy (BLE), or Nearfield Communication (NFC).
These transport means may differ from, and are independent of, the ones used between the registrar-agent and the registrar.
Transport channel independence is realized by data objects, which are not bound to specific transport security and stay the same across the communication from the pledge via the registrar-agent to the registrar..
Therefore, authenticated self-contained objects (here: signature-wrapped objects) are applied for data exchanges between the pledge and the registrar.</t>

<t>The registrar-agent provides the domain registrar certificate (registrar LDevID certificate) to the pledge to be included in the PVR leaf "agent-provided-proximity-registrar-certificate".
This enables the registrar to verify that it is the desired registrar for handling the request.</t>

<t>The registrar certificate may be configured at the registrar-agent or may be fetched by the registrar-agent based on a prior TLS connection with this domain registrar.
In addition, the registrar-agent provides agent-signed-data containing the pledge product-serial-number, signed with the private key corresponding to the EE (RegAgt) certificate, as described in <xref target="exchanges_uc2_1"/>.
This enables the registrar to verify and log, which registrar-agent was in contact with the pledge, when verifying the PVR.</t>

<t>The registrar <bcp14>MUST</bcp14> provide the EE (RegAgt) certificate identified by the SubjectKeyIdentifier (SKID) in the header of the agent-signed-data from the PVR in its RVR (see also <contact fullname="pvr-proc-reg"/>.</t>

<t>The MASA in turn verifies the registrar LDevID certificate is included in the PVR (contained in the "prior-signed-voucher-request" field of RVR) in the "agent-provided-proximity-registrar-certificate" leaf and may assert the PVR as "verified" or "logged".</t>

<t>In addition, the MASA <bcp14>MAY</bcp14> issue the assertion "agent-proximity" as follows:
The MASA verifies the signature of the agent-signed-data contained in the prior-signed-voucher-request, based on the provided EE (RegAgt) certificate in the "agent-sign-cert" leaf of the RVR.
If both can be verified successfully, the MASA can assert "agent-proximity" in the voucher.
The assertion of "agent-proximity" is similar to the proximity assertion by the MASA when using BRSKI.
Note that the different assertions do not provide a metric of strength as the security properties are not comparable.</t>

<t>Depending on the MASA verification policy, it may also respond with a suitable 4xx or 5xx error status code as described in section 5.6 of <xref target="RFC8995"/>.
When successful, the voucher will then be supplied via the registrar to the registrar-agent.</t>

<t><xref target="exchangesfig_uc2_all"/> provides an overview of the exchanges detailed in the following sub sections.</t>

<figure title="Overview pledge-responder-mode exchanges" anchor="exchangesfig_uc2_all"><artset><artwork  type="svg" align="left"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="1088" width="560" viewBox="0 0 560 1088" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,32 L 8,96" fill="none" stroke="black"/>
<path d="M 32,104 L 32,208" fill="none" stroke="black"/>
<path d="M 32,248 L 32,336" fill="none" stroke="black"/>
<path d="M 32,392 L 32,592" fill="none" stroke="black"/>
<path d="M 32,632 L 32,712" fill="none" stroke="black"/>
<path d="M 32,728 L 32,752" fill="none" stroke="black"/>
<path d="M 32,808 L 32,896" fill="none" stroke="black"/>
<path d="M 32,952 L 32,1072" fill="none" stroke="black"/>
<path d="M 80,32 L 80,96" fill="none" stroke="black"/>
<path d="M 112,32 L 112,96" fill="none" stroke="black"/>
<path d="M 168,104 L 168,208" fill="none" stroke="black"/>
<path d="M 168,256 L 168,336" fill="none" stroke="black"/>
<path d="M 168,384 L 168,592" fill="none" stroke="black"/>
<path d="M 168,624 L 168,704" fill="none" stroke="black"/>
<path d="M 168,736 L 168,752" fill="none" stroke="black"/>
<path d="M 168,816 L 168,896" fill="none" stroke="black"/>
<path d="M 168,960 L 168,1072" fill="none" stroke="black"/>
<path d="M 208,32 L 208,96" fill="none" stroke="black"/>
<path d="M 240,32 L 240,96" fill="none" stroke="black"/>
<path d="M 312,104 L 312,208" fill="none" stroke="black"/>
<path d="M 312,256 L 312,336" fill="none" stroke="black"/>
<path d="M 312,512 L 312,592" fill="none" stroke="black"/>
<path d="M 312,640 L 312,704" fill="none" stroke="black"/>
<path d="M 312,736 L 312,752" fill="none" stroke="black"/>
<path d="M 312,816 L 312,896" fill="none" stroke="black"/>
<path d="M 312,960 L 312,1008" fill="none" stroke="black"/>
<path d="M 312,1040 L 312,1072" fill="none" stroke="black"/>
<path d="M 336,32 L 336,96" fill="none" stroke="black"/>
<path d="M 376,32 L 376,96" fill="none" stroke="black"/>
<path d="M 432,104 L 432,208" fill="none" stroke="black"/>
<path d="M 432,256 L 432,336" fill="none" stroke="black"/>
<path d="M 432,400 L 432,496" fill="none" stroke="black"/>
<path d="M 432,576 L 432,592" fill="none" stroke="black"/>
<path d="M 432,640 L 432,704" fill="none" stroke="black"/>
<path d="M 432,736 L 432,752" fill="none" stroke="black"/>
<path d="M 432,816 L 432,896" fill="none" stroke="black"/>
<path d="M 432,960 L 432,976" fill="none" stroke="black"/>
<path d="M 432,1040 L 432,1072" fill="none" stroke="black"/>
<path d="M 448,32 L 448,96" fill="none" stroke="black"/>
<path d="M 472,32 L 472,96" fill="none" stroke="black"/>
<path d="M 536,104 L 536,208" fill="none" stroke="black"/>
<path d="M 536,256 L 536,336" fill="none" stroke="black"/>
<path d="M 536,400 L 536,512" fill="none" stroke="black"/>
<path d="M 536,560 L 536,592" fill="none" stroke="black"/>
<path d="M 536,640 L 536,704" fill="none" stroke="black"/>
<path d="M 536,736 L 536,752" fill="none" stroke="black"/>
<path d="M 536,816 L 536,896" fill="none" stroke="black"/>
<path d="M 536,960 L 536,1008" fill="none" stroke="black"/>
<path d="M 536,1040 L 536,1072" fill="none" stroke="black"/>
<path d="M 552,32 L 552,96" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 112,32 L 208,32" fill="none" stroke="black"/>
<path d="M 240,32 L 336,32" fill="none" stroke="black"/>
<path d="M 376,32 L 448,32" fill="none" stroke="black"/>
<path d="M 472,32 L 552,32" fill="none" stroke="black"/>
<path d="M 8,96 L 80,96" fill="none" stroke="black"/>
<path d="M 112,96 L 208,96" fill="none" stroke="black"/>
<path d="M 240,96 L 336,96" fill="none" stroke="black"/>
<path d="M 376,96 L 448,96" fill="none" stroke="black"/>
<path d="M 472,96 L 552,96" fill="none" stroke="black"/>
<path d="M 40,176 L 160,176" fill="none" stroke="black"/>
<path d="M 40,192 L 160,192" fill="none" stroke="black"/>
<path d="M 40,256 L 56,256" fill="none" stroke="black"/>
<path d="M 136,256 L 160,256" fill="none" stroke="black"/>
<path d="M 40,272 L 80,272" fill="none" stroke="black"/>
<path d="M 136,272 L 160,272" fill="none" stroke="black"/>
<path d="M 40,288 L 80,288" fill="none" stroke="black"/>
<path d="M 128,288 L 160,288" fill="none" stroke="black"/>
<path d="M 40,320 L 80,320" fill="none" stroke="black"/>
<path d="M 136,320 L 160,320" fill="none" stroke="black"/>
<path d="M 40,336 L 80,336" fill="none" stroke="black"/>
<path d="M 128,336 L 160,336" fill="none" stroke="black"/>
<path d="M 176,400 L 216,400" fill="none" stroke="black"/>
<path d="M 264,400 L 304,400" fill="none" stroke="black"/>
<path d="M 176,448 L 208,448" fill="none" stroke="black"/>
<path d="M 256,448 L 304,448" fill="none" stroke="black"/>
<path d="M 320,512 L 408,512" fill="none" stroke="black"/>
<path d="M 456,512 L 528,512" fill="none" stroke="black"/>
<path d="M 320,560 L 392,560" fill="none" stroke="black"/>
<path d="M 472,560 L 528,560" fill="none" stroke="black"/>
<path d="M 176,576 L 200,576" fill="none" stroke="black"/>
<path d="M 280,576 L 304,576" fill="none" stroke="black"/>
<path d="M 176,640 L 216,640" fill="none" stroke="black"/>
<path d="M 264,640 L 304,640" fill="none" stroke="black"/>
<path d="M 320,656 L 344,656" fill="none" stroke="black"/>
<path d="M 392,656 L 424,656" fill="none" stroke="black"/>
<path d="M 320,672 L 344,672" fill="none" stroke="black"/>
<path d="M 400,672 L 424,672" fill="none" stroke="black"/>
<path d="M 176,688 L 192,688" fill="none" stroke="black"/>
<path d="M 288,688 L 304,688" fill="none" stroke="black"/>
<path d="M 288,736 L 304,736" fill="none" stroke="black"/>
<path d="M 176,752 L 192,752" fill="none" stroke="black"/>
<path d="M 40,816 L 56,816" fill="none" stroke="black"/>
<path d="M 136,816 L 160,816" fill="none" stroke="black"/>
<path d="M 40,832 L 64,832" fill="none" stroke="black"/>
<path d="M 144,832 L 160,832" fill="none" stroke="black"/>
<path d="M 40,848 L 64,848" fill="none" stroke="black"/>
<path d="M 144,848 L 160,848" fill="none" stroke="black"/>
<path d="M 40,864 L 64,864" fill="none" stroke="black"/>
<path d="M 144,864 L 160,864" fill="none" stroke="black"/>
<path d="M 40,880 L 56,880" fill="none" stroke="black"/>
<path d="M 40,896 L 56,896" fill="none" stroke="black"/>
<path d="M 136,896 L 160,896" fill="none" stroke="black"/>
<path d="M 176,960 L 224,960" fill="none" stroke="black"/>
<path d="M 272,960 L 304,960" fill="none" stroke="black"/>
<path d="M 176,976 L 200,976" fill="none" stroke="black"/>
<path d="M 288,976 L 304,976" fill="none" stroke="black"/>
<path d="M 320,992 L 336,992" fill="none" stroke="black"/>
<path d="M 512,992 L 528,992" fill="none" stroke="black"/>
<path d="M 320,1008 L 352,1008" fill="none" stroke="black"/>
<path d="M 504,1008 L 528,1008" fill="none" stroke="black"/>
<path d="M 176,1056 L 200,1056" fill="none" stroke="black"/>
<path d="M 280,1056 L 304,1056" fill="none" stroke="black"/>
<polygon class="arrowhead" points="536,992 524,986.4 524,997.6" fill="black" transform="rotate(0,528,992)"/>
<polygon class="arrowhead" points="536,512 524,506.4 524,517.6" fill="black" transform="rotate(0,528,512)"/>
<polygon class="arrowhead" points="432,656 420,650.4 420,661.6" fill="black" transform="rotate(0,424,656)"/>
<polygon class="arrowhead" points="328,1008 316,1002.4 316,1013.6" fill="black" transform="rotate(180,320,1008)"/>
<polygon class="arrowhead" points="328,672 316,666.4 316,677.6" fill="black" transform="rotate(180,320,672)"/>
<polygon class="arrowhead" points="328,560 316,554.4 316,565.6" fill="black" transform="rotate(180,320,560)"/>
<polygon class="arrowhead" points="312,1056 300,1050.4 300,1061.6" fill="black" transform="rotate(0,304,1056)"/>
<polygon class="arrowhead" points="312,976 300,970.4 300,981.6" fill="black" transform="rotate(0,304,976)"/>
<polygon class="arrowhead" points="312,960 300,954.4 300,965.6" fill="black" transform="rotate(0,304,960)"/>
<polygon class="arrowhead" points="312,736 300,730.4 300,741.6" fill="black" transform="rotate(0,304,736)"/>
<polygon class="arrowhead" points="312,640 300,634.4 300,645.6" fill="black" transform="rotate(0,304,640)"/>
<polygon class="arrowhead" points="312,448 300,442.4 300,453.6" fill="black" transform="rotate(0,304,448)"/>
<polygon class="arrowhead" points="312,400 300,394.4 300,405.6" fill="black" transform="rotate(0,304,400)"/>
<polygon class="arrowhead" points="184,960 172,954.4 172,965.6" fill="black" transform="rotate(180,176,960)"/>
<polygon class="arrowhead" points="184,752 172,746.4 172,757.6" fill="black" transform="rotate(180,176,752)"/>
<polygon class="arrowhead" points="184,688 172,682.4 172,693.6" fill="black" transform="rotate(180,176,688)"/>
<polygon class="arrowhead" points="184,576 172,570.4 172,581.6" fill="black" transform="rotate(180,176,576)"/>
<polygon class="arrowhead" points="184,400 172,394.4 172,405.6" fill="black" transform="rotate(180,176,400)"/>
<polygon class="arrowhead" points="168,896 156,890.4 156,901.6" fill="black" transform="rotate(0,160,896)"/>
<polygon class="arrowhead" points="168,848 156,842.4 156,853.6" fill="black" transform="rotate(0,160,848)"/>
<polygon class="arrowhead" points="168,816 156,810.4 156,821.6" fill="black" transform="rotate(0,160,816)"/>
<polygon class="arrowhead" points="168,336 156,330.4 156,341.6" fill="black" transform="rotate(0,160,336)"/>
<polygon class="arrowhead" points="168,288 156,282.4 156,293.6" fill="black" transform="rotate(0,160,288)"/>
<polygon class="arrowhead" points="168,256 156,250.4 156,261.6" fill="black" transform="rotate(0,160,256)"/>
<polygon class="arrowhead" points="168,192 156,186.4 156,197.6" fill="black" transform="rotate(0,160,192)"/>
<polygon class="arrowhead" points="48,880 36,874.4 36,885.6" fill="black" transform="rotate(180,40,880)"/>
<polygon class="arrowhead" points="48,864 36,858.4 36,869.6" fill="black" transform="rotate(180,40,864)"/>
<polygon class="arrowhead" points="48,832 36,826.4 36,837.6" fill="black" transform="rotate(180,40,832)"/>
<polygon class="arrowhead" points="48,816 36,810.4 36,821.6" fill="black" transform="rotate(180,40,816)"/>
<polygon class="arrowhead" points="48,320 36,314.4 36,325.6" fill="black" transform="rotate(180,40,320)"/>
<polygon class="arrowhead" points="48,272 36,266.4 36,277.6" fill="black" transform="rotate(180,40,272)"/>
<polygon class="arrowhead" points="48,256 36,250.4 36,261.6" fill="black" transform="rotate(180,40,256)"/>
<polygon class="arrowhead" points="48,176 36,170.4 36,181.6" fill="black" transform="rotate(180,40,176)"/>
<path class="jump" d="M 32,728 C 26,728 26,712 32,712" fill="none" stroke="black"/><circle cx="168" cy="384" r="6" class="opendot" fill="white" stroke="black"/>
<circle cx="168" cy="624" r="6" class="opendot" fill="white" stroke="black"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="160" y="52">Registrar</text>
<text x="276" y="52">Domain</text>
<text x="412" y="52">Domain</text>
<text x="508" y="52">Vendor</text>
<text x="144" y="68">Agent</text>
<text x="288" y="68">Registrar</text>
<text x="396" y="68">CA</text>
<text x="512" y="68">Service</text>
<text x="156" y="84">(RegAgt)</text>
<text x="280" y="84">(JRC)</text>
<text x="508" y="84">(MASA)</text>
<text x="492" y="116">Internet</text>
<text x="92" y="132">discover</text>
<text x="92" y="148">pledge</text>
<text x="60" y="164">mDNS</text>
<text x="104" y="164">query</text>
<text x="40" y="244">(1)</text>
<text x="88" y="244">trigger</text>
<text x="136" y="244">PVR</text>
<text x="180" y="244">(tPVR)</text>
<text x="224" y="244">and</text>
<text x="256" y="244">PER</text>
<text x="300" y="244">(tPER)</text>
<text x="372" y="244">generation</text>
<text x="428" y="244">on</text>
<text x="468" y="244">pledge</text>
<text x="76" y="260">opt.</text>
<text x="112" y="260">TLS</text>
<text x="108" y="276">tPVR</text>
<text x="104" y="292">PVR</text>
<text x="108" y="324">tPER</text>
<text x="104" y="340">PER</text>
<text x="32" y="356">~</text>
<text x="168" y="356">~</text>
<text x="312" y="356">~</text>
<text x="432" y="356">~</text>
<text x="536" y="356">~</text>
<text x="40" y="388">(2)</text>
<text x="88" y="388">provide</text>
<text x="136" y="388">PVR</text>
<text x="160" y="388">t</text>
<text x="236" y="388">infrastructure</text>
<text x="240" y="404">TLS</text>
<text x="312" y="404">|</text>
<text x="276" y="420">[Reg-Agt</text>
<text x="368" y="420">authenticated</text>
<text x="264" y="436">and</text>
<text x="332" y="436">authorized?]</text>
<text x="232" y="452">PVR</text>
<text x="312" y="452">|</text>
<text x="276" y="468">[Reg-Agt</text>
<text x="364" y="468">authorized?]</text>
<text x="272" y="484">[accept</text>
<text x="340" y="484">device?]</text>
<text x="276" y="500">[contact</text>
<text x="344" y="500">vendor]</text>
<text x="432" y="516">RVR</text>
<text x="436" y="532">[extract</text>
<text x="512" y="532">DomainID]</text>
<text x="432" y="548">[update</text>
<text x="488" y="548">audit</text>
<text x="532" y="548">log]</text>
<text x="432" y="564">Voucher</text>
<text x="240" y="580">Voucher</text>
<text x="40" y="628">(2)</text>
<text x="88" y="628">provide</text>
<text x="136" y="628">PER</text>
<text x="160" y="628">t</text>
<text x="236" y="628">infrastructure</text>
<text x="240" y="644">PER</text>
<text x="368" y="660">CSR</text>
<text x="372" y="676">Cert</text>
<text x="240" y="692">Enroll-Resp</text>
<text x="44" y="724">2)</text>
<text x="80" y="724">query</text>
<text x="136" y="724">cACerts</text>
<text x="188" y="724">from</text>
<text x="268" y="724">infrastructure</text>
<text x="180" y="740">--</text>
<text x="236" y="740">cACert-Req</text>
<text x="256" y="756">cACert-Resp--</text>
<text x="32" y="772">~</text>
<text x="168" y="772">~</text>
<text x="312" y="772">~</text>
<text x="432" y="772">~</text>
<text x="536" y="772">~</text>
<text x="40" y="804">(3)</text>
<text x="88" y="804">provide</text>
<text x="152" y="804">voucher</text>
<text x="200" y="804">and</text>
<text x="264" y="804">certificate</text>
<text x="328" y="804">and</text>
<text x="376" y="804">collect</text>
<text x="436" y="804">status</text>
<text x="484" y="804">info</text>
<text x="76" y="820">opt.</text>
<text x="112" y="820">TLS</text>
<text x="104" y="836">Voucher</text>
<text x="104" y="852">vStatus</text>
<text x="104" y="868">cACerts</text>
<text x="112" y="884">Enroll-Resp--</text>
<text x="96" y="900">eStatus</text>
<text x="32" y="916">~</text>
<text x="168" y="916">~</text>
<text x="312" y="916">~</text>
<text x="432" y="916">~</text>
<text x="536" y="916">~</text>
<text x="40" y="948">(4)</text>
<text x="88" y="948">provide</text>
<text x="152" y="948">voucher</text>
<text x="212" y="948">status</text>
<text x="256" y="948">and</text>
<text x="300" y="948">enroll</text>
<text x="356" y="948">status</text>
<text x="396" y="948">to</text>
<text x="448" y="948">registrar</text>
<text x="248" y="964">TLS</text>
<text x="248" y="980">vStatus</text>
<text x="360" y="996">req</text>
<text x="404" y="996">device</text>
<text x="456" y="996">audit</text>
<text x="496" y="996">log</text>
<text x="388" y="1012">device</text>
<text x="440" y="1012">audit</text>
<text x="480" y="1012">log</text>
<text x="288" y="1028">[verify</text>
<text x="344" y="1028">audit</text>
<text x="388" y="1028">log]</text>
<text x="240" y="1060">eStatus</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="left"><![CDATA[
+--------+   +-----------+   +-----------+    +--------+  +---------+
| Pledge |   | Registrar |   | Domain    |    | Domain |  | Vendor  |
|        |   | Agent     |   | Registrar |    | CA     |  | Service |
|        |   | (RegAgt)  |   |  (JRC)    |    |        |  | (MASA)  |
+--------+   +-----------+   +-----------+    +--------+  +---------+
   |                |                 |              |   Internet |
   |   discover     |                 |              |            |
   |    pledge      |                 |              |            |
   | mDNS query     |                 |              |            |
   |<---------------|                 |              |            |
   |--------------->|                 |              |            |
   |                |                 |              |            |

   (1) trigger PVR (tPVR) and PER (tPER) generation on pledge
   |<--opt. TLS --->|                 |              |            |
   |<----- tPVR ----|                 |              |            |
   |------ PVR ---->|                 |              |            |
   |                |                 |              |            |
   |<----- tPER ----|                 |              |            |
   |------ PER ---->|                 |              |            |
   ~                ~                 ~              ~            ~

   (2) provide PVR to infrastructure
   |                |<----- TLS ----->|              |            |
   |                |         [Reg-Agt authenticated |            |
   |                |          and authorized?]      |            |
   |                |----- PVR ------>|              |            |
   |                |         [Reg-Agt authorized?]  |            |
   |                |         [accept device?]       |            |
   |                |         [contact vendor]       |            |
   |                |                 |------------ RVR --------->|
   |                |                 |           [extract DomainID]
   |                |                 |           [update audit log]
   |                |                 |<--------- Voucher --------|
   |                |<--- Voucher ----|              |            |
   |                |                 |              |            |

   (2) provide PER to infrastructure
   |                |------ PER ----->|              |            |
   |                |                 |---- CSR ---->|            |
   |                |                 |<--- Cert ----|            |
   |                |<--Enroll-Resp---|              |            |
   |                |                 |              |            |
   (2) query cACerts from infrastructure
   |                |-- cACert-Req -->|              |            |
   |                |<-- cACert-Resp--|              |            |
   ~                ~                 ~              ~            ~

   (3) provide voucher and certificate and collect status info
   |<--opt. TLS --->|                 |              |            |
   |<--- Voucher ---|                 |              |            |
   |---- vStatus -->|                 |              |            |
   |<--- cACerts ---|                 |              |            |
   |<--Enroll-Resp--|                 |              |            |
   |--- eStatus --->|                 |              |            |
   ~                ~                 ~              ~            ~

   (4) provide voucher status and enroll status to registrar
   |                |<------ TLS ---->|              |            |
   |                |----  vStatus -->|              |            |
   |                |                 |--- req device audit log-->|
   |                |                 |<---- device audit log ----|
   |                |           [verify audit log]
   |                |                 |              |            |
   |                |---- eStatus --->|              |            |
   |                |                 |              |            |
]]></artwork></artset></figure>

<t>The following sub sections split the interactions shown in <xref target="exchangesfig_uc2_all"/> between the different components into:</t>

<t><list style="numbers">
  <t><xref target="exchanges_uc2_1"/> describes the request object acquisition by the registrar-agent from pledge.</t>
  <t><xref target="exchanges_uc2_2"/> describes the request object processing initiated by the registrar-agent to the registrar and also the interaction of the registrar with the MASA and the domain CA including the response object processing by these entities.</t>
  <t><xref target="exchanges_uc2_3"/> describes the supply of response objects between the registrar-agent and the pledge including the status information.</t>
  <t><xref target="exchanges_uc2_5"/> describes the general status handling and addresses corresponding exchanges between the registrar-agent and the registrar.</t>
</list></t>

<section anchor="exchanges_uc2_1"><name>Request Objects Acquisition by Registrar-Agent from Pledge</name>

<t>The following description assumes that the registrar-agent has already discovered the pledge.
This may be done as described in <xref target="discovery_uc2_ppa"/> and <xref target="exchangesfig_uc2_all"/> based on DNS-SD or similar.</t>

<t>The focus is on the exchange of signature-wrapped objects using endpoints defined for the pledge in <xref target="pledge_ep"/>.</t>

<t>Preconditions:</t>

<t><list style="symbols">
  <t>Pledge: possesses IDevID</t>
  <t>Registrar-agent:
  <list style="symbols">
      <t><bcp14>MAY</bcp14> handle/trusts pledge's IDevID CA certificate to validate IDevID certificate on returned PVR or in case of TLS usage for pledge communication.
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>
      <t>possesses own credentials (EE (RegAgt) certificate and corresponding private key) for the registrar domain (site).
In addition, the registrar-agent <bcp14>SHOULD</bcp14> know the product-serial-number(s) of the pledge(s) to be bootstrapped.
The registrar-agent <bcp14>MAY</bcp14> be provided with the product-serial-number(s) in different ways:
      <list style="symbols">
          <t>configured, e.g., as a list of pledges to be bootstrapped via QR code scanning</t>
          <t>discovered by using standard approaches like mDNS as described in <xref target="discovery_uc2_ppa"/></t>
          <t>discovered by using a vendor specific approach, e.g., RF beacons.
If the serial numbers are not known in advance, the registrar-agent cannot perform a distinct triggering of pledges but and triggers  all pledges discovered .</t>
        </list></t>
    </list>
The registrar-agent <bcp14>SHOULD</bcp14> have synchronized time.</t>
  <t>Registrar (same as in BRSKI): possesses/trusts IDevID CA certificate and has own registrar EE credentials.</t>
</list></t>

<figure title="Request collection (registrar-agent - pledge)" anchor="exchangesfig_uc2_1"><artset><artwork  type="svg" align="left"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="352" width="520" viewBox="0 0 520 352" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,32 L 8,96" fill="none" stroke="black"/>
<path d="M 40,104 L 40,336" fill="none" stroke="black"/>
<path d="M 80,32 L 80,96" fill="none" stroke="black"/>
<path d="M 320,32 L 320,96" fill="none" stroke="black"/>
<path d="M 368,104 L 368,336" fill="none" stroke="black"/>
<path d="M 416,32 L 416,96" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 320,32 L 416,32" fill="none" stroke="black"/>
<path d="M 8,96 L 80,96" fill="none" stroke="black"/>
<path d="M 320,96 L 416,96" fill="none" stroke="black"/>
<path d="M 48,144 L 64,144" fill="none" stroke="black"/>
<path d="M 48,176 L 72,176" fill="none" stroke="black"/>
<path d="M 336,176 L 360,176" fill="none" stroke="black"/>
<path d="M 48,240 L 80,240" fill="none" stroke="black"/>
<path d="M 280,240 L 360,240" fill="none" stroke="black"/>
<path d="M 48,272 L 88,272" fill="none" stroke="black"/>
<path d="M 320,272 L 360,272" fill="none" stroke="black"/>
<path d="M 48,320 L 88,320" fill="none" stroke="black"/>
<path d="M 312,320 L 360,320" fill="none" stroke="black"/>
<polygon class="arrowhead" points="368,320 356,314.4 356,325.6" fill="black" transform="rotate(0,360,320)"/>
<polygon class="arrowhead" points="368,240 356,234.4 356,245.6" fill="black" transform="rotate(0,360,240)"/>
<polygon class="arrowhead" points="56,272 44,266.4 44,277.6" fill="black" transform="rotate(180,48,272)"/>
<polygon class="arrowhead" points="56,176 44,170.4 44,181.6" fill="black" transform="rotate(180,48,176)"/>
<polygon class="arrowhead" points="56,144 44,138.4 44,149.6" fill="black" transform="rotate(180,48,144)"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="368" y="52">Registrar</text>
<text x="352" y="68">Agent</text>
<text x="364" y="84">(RegAgt)</text>
<text x="400" y="116">-create</text>
<text x="448" y="132">agent-signed-data</text>
<text x="108" y="148">optional</text>
<text x="184" y="148">establish</text>
<text x="240" y="148">TLS</text>
<text x="300" y="148">connection</text>
<text x="356" y="148">--</text>
<text x="112" y="180">trigger</text>
<text x="172" y="180">pledge</text>
<text x="264" y="180">voucher-request</text>
<text x="204" y="196">-agent-provided-proximity-registrar-cert</text>
<text x="116" y="212">-agent-signed-data</text>
<text x="116" y="244">pledge</text>
<text x="208" y="244">voucher-request</text>
<text x="396" y="244">-store</text>
<text x="440" y="244">PVR</text>
<text x="128" y="276">trigger</text>
<text x="236" y="276">enrollment-request</text>
<text x="128" y="292">(empty)</text>
<text x="124" y="324">pledge</text>
<text x="228" y="324">enrollment-request</text>
<text x="396" y="324">-store</text>
<text x="448" y="324">(PER)</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="left"><![CDATA[
+--------+                             +-----------+
| Pledge |                             | Registrar |
|        |                             | Agent     |
|        |                             | (RegAgt)  |
+--------+                             +-----------+
    |                                        |-create
    |                                        | agent-signed-data
    |<-- optional establish TLS connection --|
    |                                        |
    |<--- trigger pledge voucher-request ----|
    |-agent-provided-proximity-registrar-cert|
    |-agent-signed-data                      |
    |                                        |
    |----- pledge voucher-request ---------->|-store PVR
    |                                        |
    |<----- trigger enrollment-request ------|
    |       (empty)                          |
    |                                        |
    |------ pledge enrollment-request ------>|-store (PER)
    |                                        |
]]></artwork></artset></figure>

<t>TLS <bcp14>MAY</bcp14> be optionally used to provide privacy for the interaction between the registrar-agent and the pledge, see <xref target="pledgehttps"/>.</t>

<t>Note: The registrar-agent may trigger the pledge for the PVR or the PER or both. It is expected that this will be aligned with a service technician workflow, visiting and installing each pledge.</t>

<section anchor="pvrt"><name>Pledge-Voucher-Request (PVR) - Trigger</name>

<t>Triggering the pledge to create the PVR is done using HTTP POST on the defined pledge endpoint: "/.well-known/brski/tpvr"</t>

<t>The registrar-agent PVR trigger Content-Type header is: <spanx style="verb">application/json</spanx>.
Following parameters are provided in the JSON object:</t>

<t><list style="symbols">
  <t>agent-provided-proximity-registrar-cert: base64-encoded registrar EE TLS certificate.</t>
  <t>agent-signed-data: base64-encoded JSON-in-JWS object.</t>
</list></t>

<t>The trigger for the pledge to create a PVR is depicted in the following figure:</t>

<figure title="Representation of trigger to create PVR" anchor="pavrt"><artwork align="left"><![CDATA[
{
  "agent-provided-proximity-registrar-cert": "base64encodedvalue==",
  "agent-signed-data": "base64encodedvalue=="
}
]]></artwork></figure>

<t>Note that at the time of receiving the PVR trigger, the pledge cannot verify the registrar LDevID certificate and has no proof-of-possession of the corresponding private key for the certificate. The pledge therefore accepts the registrar LDevID certificate provisionally until it receives the voucher as described in <xref target="exchanges_uc2_3"/>.</t>

<t>The pledge will also be unable to verify the agent-signed-data itself as it does not possess the EE (RegAgt) certificate and the domain trust has not been established at this point of the communication.
Verification <bcp14>SHOULD</bcp14> be done, after the voucher has been received.</t>

<t>The agent-signed-data is a JSON-in-JWS object and contains the following information:</t>

<t>The header of the agent-signed-data contains:</t>

<t><list style="symbols">
  <t>alg: algorithm used for creating the object signature.</t>
  <t>kid: <bcp14>MUST</bcp14> contain the base64-encoded bytes of the SubjectKeyIdentifier (the "KeyIdentifier" OCTET STRING value) of the EE (RegAgt) certificate.</t>
</list></t>

<t>The body of the agent-signed-data contains an "ietf-voucher-request:agent-signed-data" element (defined in <xref target="I-D.ietf-anima-rfc8366bis"/>):</t>

<t><list style="symbols">
  <t>created-on: <bcp14>MUST</bcp14> contain the creation date and time in yang:date-and-time format.</t>
  <t>serial-number: <bcp14>MUST</bcp14> contain the product-serial-number as type string as defined in <xref target="RFC8995"/>, section 2.3.1.
The serial-number corresponds with the product-serial-number contained in the X520SerialNumber field of the IDevID certificate of the pledge.</t>
</list></t>

<figure title="Representation of agent-signed-data in General JWS Serialization syntax" anchor="asd"><artwork align="left"><![CDATA[
# The agent-signed-data in General JWS Serialization syntax
{
  "payload": "BASE64URL(ietf-voucher-request-prm:agent-signed-data)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": BASE64URL(JWS Signature)
    }
  ]
}

# Example: Decoded payload representation in JSON syntax of
  "ietf-voucher-request-prm:agent-signed-data"

"ietf-voucher-request-prm:agent-signed-data": {
  "created-on": "2021-04-16T00:00:01.000Z",
  "serial-number": "callee4711"
}

# Example: Decoded "JWS Protected Header" representation
  in JSON syntax
{
  "alg": "ES256",
  "kid": "base64encodedvalue=="
}
]]></artwork></figure>

</section>
<section anchor="pvrr"><name>Pledge-Voucher-Request (PVR) - Response</name>

<t>Upon receiving the voucher-request trigger, the pledge <bcp14>SHALL</bcp14> construct the body of the PVR as defined in <xref target="RFC8995"/>.
It will contain additional information provided by the registrar-agent as specified in the following.
This PVR becomes a JSON-in-JWS object as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.
If the pledge is unable to construct the PVR it <bcp14>SHOULD</bcp14> respond with a HTTP error code to the registrar-agent to indicate that it is not able to create the PVR.</t>

<t>The following client error responses <bcp14>MAY</bcp14> be used:</t>

<t><list style="symbols">
  <t>400 Bad Request: if the pledge detected 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 PVR media type was set to <spanx style="verb">application/json</spanx>.</t>
  <t>403 Forbidden: if the pledge detected that one or more security parameters from the trigger message to create the PVR were not valid, e.g., the LDevID (Reg) certificate.</t>
</list></t>

<t>The header of the PVR <bcp14>SHALL</bcp14> contain the following parameters as defined in <xref target="RFC7515"/> to support JWS signing of the object:</t>

<t><list style="symbols">
  <t>alg: algorithm used for creating the object signature.</t>
  <t>x5c: contains the base64-encoded pledge IDevID certificate.
It <bcp14>MAY</bcp14> optionally contain the certificate chain for this certificate. If the certificate chain is not included it <bcp14>MUST</bcp14> be available at the registrar for verification of the IDevID certificate.</t>
</list></t>

<t>The payload of the PVR <bcp14>MUST</bcp14> contain the following parameters as part of the ietf-voucher-request-prm:voucher as defined in <xref target="RFC8995"/>:</t>

<t><list style="symbols">
  <t>created-on: <bcp14>SHALL</bcp14> contain the current date and time in yang:date-and-time format.
If the pledge does not have synchronized time, it <bcp14>SHALL</bcp14> use the created-on time from the agent-signed-data, received in the trigger to create a PVR.</t>
  <t>nonce: <bcp14>SHALL</bcp14> contain a cryptographically strong pseudo-random number.</t>
  <t>serial-number: <bcp14>SHALL</bcp14> contain the pledge product-serial-number as X520SerialNumber.</t>
  <t>assertion: <bcp14>SHALL</bcp14> contain the requested voucher assertion "agent-proximity" (different value as in RFC 8995)..</t>
</list></t>

<t>The ietf-voucher-request:voucher is extended with additional parameters:</t>

<t><list style="symbols">
  <t>agent-provided-proximity-registrar-cert: <bcp14>MUST</bcp14> be included and contains the base64-encoded registrar LDevID certificate (provided as PVR trigger parameter by the registrar-agent).</t>
  <t>agent-signed-data: <bcp14>MUST</bcp14> contain the base64-encoded agent-signed-data (as defined in <xref target="asd"/>) and provided as a PVR trigger parameter by the registrar-agent.</t>
</list></t>

<t>The enhancements of the YANG module for the ietf-voucher-request with these new leaves are defined in <xref target="I-D.ietf-anima-rfc8366bis"/>.</t>

<t>The PVR is signed using the pledge's IDevID credential contained as x5c parameter of the JOSE header.</t>

<figure title="Representation of PVR" anchor="pvr"><artwork align="left"><![CDATA[
# The PVR in General JWS Serialization syntax
{
  "payload": "BASE64URL(ietf-voucher-request-prm:voucher)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": BASE64URL(JWS Signature)
    }
  ]
}

# Example: Decoded Payload "ietf-voucher-request-prm:voucher"
  representation in JSON syntax
"ietf-voucher-request-prm:voucher": {
   "created-on": "2021-04-16T00:00:02.000Z",
   "nonce": "eDs++/FuDHGUnRxN3E14CQ==",
   "serial-number": "callee4711",
   "assertion": "agent-proximity",
   "agent-provided-proximity-registrar-cert": "base64encodedvalue==",
   "agent-signed-data": "base64encodedvalue=="
}

# Example: Decoded "JWS Protected Header" representation
  in JSON syntax
{
    "alg": "ES256",
    "x5c": [
      "base64encodedvalue==",
      "base64encodedvalue=="
    ],
    "typ": "voucher-jws+json"
}
]]></artwork></figure>

<t>The PVR Media-Type is defined in <xref target="I-D.ietf-anima-jws-voucher"/> as <spanx style="verb">application/voucher-jws+json</spanx>.</t>

<t>The pledge <bcp14>MUST</bcp14> include this Media-Type header field indicating the included media type for the PVR.
The PVR is included by the registrar in its RCR as described in <xref target="exchanges_uc2_2"/>.</t>

</section>
<section anchor="pledge-enrollment-request-per-trigger"><name>Pledge-Enrollment-Request (PER) - Trigger</name>

<t>Once the registrar-agent has received the PVR it can trigger the pledge to generate a PER.
As in BRSKI the PER contains a PKCS#10, but additionally signed using the pledge's IDevID.
Note, as the initial enrollment aims to request a generic certificate, no certificate attributes are provided to the pledge.</t>

<t>Triggering the pledge to create the enrollment-request is done using HTTP POST on the defined pledge endpoint: "/.well-known/brski/tper"</t>

<t>The registrar-agent PER trigger Content-Type header is: <spanx style="verb">application/json</spanx> with an empty body by default.
Note that using HTTP POST allows for an empty body, but also to provide additional data, like CSR attributes or information about the enroll type "enroll-generic-cert" or "re-enroll-generic-cert".
The "enroll-generic-cert" case is shown in <xref target="raer"/>.</t>

<figure title="Example of trigger to create a PER" anchor="raer"><artwork align="left"><![CDATA[
{
  "enroll-type" : "enroll-generic-cert"
}
]]></artwork></figure>

<t>This document specifies the request of a generic 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 RA/CA.
How the HTTP POST can be used to provide CSR attributes is out of scope for this specification.</t>

</section>
<section anchor="PER-response"><name>Pledge-Enrollment-Request (PER) - Response</name>

<t>In the following the enrollment is described as initial enrollment with an empty HTTP POST body.</t>

<t>Upon receiving the PER  trigger, the pledge <bcp14>SHALL</bcp14> construct the PER as authenticated self-contained object.
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, POI is provided.
Here, a JOSE object is being created in which the body utilizes the YANG module ietf-ztp-types with the grouping for csr-grouping for the CSR as defined in <xref target="I-D.ietf-netconf-sztp-csr"/>.</t>

<t>Depending on the capability of the pledge, it constructs the pledge enrollment-request (PER) as plain PKCS#10.
Note, the focus in this use case is placed on PKCS#10 as PKCS#10 can be transmitted in different enrollment protocols in the infrastructure like EST, CMP, CMS, and SCEP.
If the pledge has already implemented an enrollment protocol, it may leverage that functionality for the creation of the CSR.
Note, <xref target="I-D.ietf-netconf-sztp-csr"/> also allows for inclusion of certification requests in different formats used by CMP or CMC.</t>

<t>The pledge <bcp14>MUST</bcp14> construct the PER as PKCS#10.
In BRSKI-PRM it <bcp14>MUST</bcp14> sign it additionally with its IDevID credentials to provide proof-of-identity bound to the PKCS#10 as described below.</t>

<t>If the pledge is unable to construct the PER it <bcp14>SHOULD</bcp14> respond with a HTTP 4xx/5xx error code to the registrar-agent to indicate that it is not able to create the PER.</t>

<t>The following 4xx client error codes <bcp14>MAY</bcp14> be used:</t>

<t><list style="symbols">
  <t>400 Bad Request: if the pledge detected an error in the format of the request or detected invalid JSON even though the PER media type was set to <spanx style="verb">application/json</spanx>.</t>
  <t>403 Forbidden: if the pledge detected that one or more security parameters (if provided) from the trigger message to create the PER are not valid.</t>
  <t>406 Not Acceptable: if the request's Accept header indicates a type that is unknown or unsupported. For example, a type other than <spanx style="verb">application/jose+json</spanx>.</t>
  <t>415 Unsupported Media Type: if the request's Content-Type header indicates a type that is unknown or unsupported. For example, a type other than 'application/json'.</t>
</list></t>

<t>A successful enrollment will result in a generic LDevID certificate for the pledge in the new domain, which can be used to request further (application specific) LDevID certificates if necessary for operation.
The registrar-agent <bcp14>SHALL</bcp14> use the endpoints specified in this document.</t>

<t><xref target="I-D.ietf-netconf-sztp-csr"/> considers PKCS#10 but also CMP and CMC as certification request format.
Note that the wrapping of the PER signature is only necessary for plain PKCS#10 as other request formats like CMP and CMS support the signature wrapping as part of their own certificate request format.</t>

<t>The registrar-agent enrollment-request Content-Type header for a signature-wrapped PKCS#10 is: <spanx style="verb">application/jose+json</spanx></t>

<t>The header of the pledge enrollment-request <bcp14>SHALL</bcp14> contain the following parameter as defined in <xref target="RFC7515"/>:</t>

<t><list style="symbols">
  <t>alg: algorithm used for creating the object signature.</t>
  <t>x5c: contains the base64-encoded pledge IDevID certificate.
It <bcp14>MAY</bcp14> optionally contain the certificate chain for this certificate. If the certificate chain is not included it <bcp14>MUST</bcp14> be available at the registrar for verification of the IDevID certificate.
The body of the pledge enrollment-request <bcp14>SHOULD</bcp14> contain a P10 parameter (for PKCS#10) as defined for ietf-ztp-types:p10-csr in <xref target="I-D.ietf-netconf-sztp-csr"/>:</t>
  <t>P10: contains the base64-encoded PKCS#10 of the pledge.</t>
</list></t>

<t>The JOSE object is signed using the pledge's IDevID credential, which corresponds to the certificate signaled in the JOSE header.</t>

<t>While BRSKI-PRM targets the initial enrollment, re-enrollment <bcp14>SHOULD</bcp14> be supported as described in a similar way as for enrollment in this document, if no other re-enrollment mechanism is supported.
Note that in this case the current LDevID credential is used instead of the IDevID credential to create the signature of the PKCS#10 request.</t>

<figure title="Representation of PER" anchor="per"><artwork align="left"><![CDATA[
# The PER in General JWS Serialization syntax
{
  "payload": "BASE64URL(ietf-ztp-types)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": BASE64URL(JWS Signature)
    }
  ]
}

# Example: Decoded Payload "ietf-ztp-types" Representation
  in JSON Syntax
"ietf-ztp-types": {
  "p10-csr": "base64encodedvalue=="
}

# Example: Decoded "JWS Protected Header" Representation
  in JSON Syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ],
  "crit":["created-on"],
  "created-on": "2022-09-13T00:00:02.000Z"
}
]]></artwork></figure>

<t>With the collected PVR and PER, the registrar-agent starts the interaction with the domain registrar.</t>

<t>The new protected header field "created-on" is introduced to reflect freshness of the PER.
The field is marked critical "crit" to ensure that it must be understood and validated by the receiver (here the domain registrar) according to section 4.1.11 of <xref target="RFC7515"/>.
It allows the registrar to verify the timely correlation between the PER and previously exchanged messages, i.e., created-on of PER &gt;= created-on of PVR &gt;= created-on of PVR trigger.
The registrar <bcp14>MAY</bcp14> consider to ignore any but the newest PER from the same pledge in the case the registrar has at any point in time more than one pending PER from the pledge.</t>

<t>As the registrar-agent is intended to facilitate communication between the pledge and the domain registrar, a collection of requests from more than one pledge is possible.
This allows bulk bootstrapping of several pledges using the same connection between the registrar-agent and the domain registrar.</t>

</section>
</section>
<section anchor="exchanges_uc2_2"><name>Request Object Handling initiated by the Registrar-Agent on Registrar, MASA and Domain CA</name>

<t>The BRSKI-PRM bootstrapping exchanges between registrar-agent and domain registrar resemble the BRSKI exchanges between pledge and domain registrar (pledge-initiator-mode) with some deviations.</t>

<t>Preconditions:</t>

<t><list style="symbols">
  <t>Registrar-agent: possesses its own credentials (EE (RegAgt) certificate and corresponding private key) of the domain.
In addition, it <bcp14>MAY</bcp14> possess the IDevID CA certificate of the pledge vendor/manufacturer to verify the pledge certificate in the received request messages.
It has the address of the domain registrar through configuration or by discovery, e.g., mDNS/DNSSD.
The registrar-agent has acquired one or more PVR and PER objects.</t>
  <t>Registrar (same as in BRSKI): possesses the IDevID CA certificate of the pledge vendor/manufacturer and its own registrar EE credentials of the domain.</t>
  <t>MASA (same as in BRSKI): possesses its own vendor/manufacturer credentials (voucher signing key and certificate, TLS server certificate and private key) related to pledges IDevID and <bcp14>MAY</bcp14> possess the site-specific domain CA certificate.</t>
</list></t>

<figure title="Request processing between registrar-agent and bootstrapping services" anchor="exchangesfig_uc2_2"><artset><artwork  type="svg" align="left"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="624" width="504" viewBox="0 0 504 624" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,32 L 8,96" fill="none" stroke="black"/>
<path d="M 40,144 L 40,608" fill="none" stroke="black"/>
<path d="M 104,32 L 104,96" fill="none" stroke="black"/>
<path d="M 152,32 L 152,96" fill="none" stroke="black"/>
<path d="M 200,104 L 200,176" fill="none" stroke="black"/>
<path d="M 200,224 L 200,256" fill="none" stroke="black"/>
<path d="M 200,320 L 200,608" fill="none" stroke="black"/>
<path d="M 248,32 L 248,96" fill="none" stroke="black"/>
<path d="M 312,32 L 312,96" fill="none" stroke="black"/>
<path d="M 352,104 L 352,288" fill="none" stroke="black"/>
<path d="M 352,416 L 352,608" fill="none" stroke="black"/>
<path d="M 384,32 L 384,96" fill="none" stroke="black"/>
<path d="M 416,32 L 416,96" fill="none" stroke="black"/>
<path d="M 456,104 L 456,352" fill="none" stroke="black"/>
<path d="M 456,400 L 456,608" fill="none" stroke="black"/>
<path d="M 496,32 L 496,96" fill="none" stroke="black"/>
<path d="M 8,32 L 104,32" fill="none" stroke="black"/>
<path d="M 152,32 L 248,32" fill="none" stroke="black"/>
<path d="M 312,32 L 384,32" fill="none" stroke="black"/>
<path d="M 416,32 L 496,32" fill="none" stroke="black"/>
<path d="M 8,96 L 104,96" fill="none" stroke="black"/>
<path d="M 152,96 L 248,96" fill="none" stroke="black"/>
<path d="M 312,96 L 384,96" fill="none" stroke="black"/>
<path d="M 416,96 L 496,96" fill="none" stroke="black"/>
<path d="M 48,176 L 88,176" fill="none" stroke="black"/>
<path d="M 144,176 L 192,176" fill="none" stroke="black"/>
<path d="M 48,240 L 64,240" fill="none" stroke="black"/>
<path d="M 176,240 L 192,240" fill="none" stroke="black"/>
<path d="M 208,320 L 304,320" fill="none" stroke="black"/>
<path d="M 360,320 L 448,320" fill="none" stroke="black"/>
<path d="M 208,336 L 272,336" fill="none" stroke="black"/>
<path d="M 384,336 L 448,336" fill="none" stroke="black"/>
<path d="M 208,400 L 288,400" fill="none" stroke="black"/>
<path d="M 368,400 L 448,400" fill="none" stroke="black"/>
<path d="M 48,416 L 80,416" fill="none" stroke="black"/>
<path d="M 160,416 L 192,416" fill="none" stroke="black"/>
<path d="M 48,448 L 64,448" fill="none" stroke="black"/>
<path d="M 168,448 L 192,448" fill="none" stroke="black"/>
<path d="M 208,480 L 248,480" fill="none" stroke="black"/>
<path d="M 304,480 L 344,480" fill="none" stroke="black"/>
<path d="M 208,496 L 224,496" fill="none" stroke="black"/>
<path d="M 328,496 L 344,496" fill="none" stroke="black"/>
<path d="M 208,528 L 224,528" fill="none" stroke="black"/>
<path d="M 328,528 L 344,528" fill="none" stroke="black"/>
<path d="M 48,544 L 64,544" fill="none" stroke="black"/>
<path d="M 176,544 L 192,544" fill="none" stroke="black"/>
<path d="M 48,576 L 64,576" fill="none" stroke="black"/>
<path d="M 176,576 L 192,576" fill="none" stroke="black"/>
<path d="M 48,592 L 64,592" fill="none" stroke="black"/>
<path d="M 176,592 L 192,592" fill="none" stroke="black"/>
<polygon class="arrowhead" points="456,336 444,330.4 444,341.6" fill="black" transform="rotate(0,448,336)"/>
<polygon class="arrowhead" points="456,320 444,314.4 444,325.6" fill="black" transform="rotate(0,448,320)"/>
<polygon class="arrowhead" points="352,496 340,490.4 340,501.6" fill="black" transform="rotate(0,344,496)"/>
<polygon class="arrowhead" points="352,480 340,474.4 340,485.6" fill="black" transform="rotate(0,344,480)"/>
<polygon class="arrowhead" points="216,528 204,522.4 204,533.6" fill="black" transform="rotate(180,208,528)"/>
<polygon class="arrowhead" points="216,480 204,474.4 204,485.6" fill="black" transform="rotate(180,208,480)"/>
<polygon class="arrowhead" points="216,400 204,394.4 204,405.6" fill="black" transform="rotate(180,208,400)"/>
<polygon class="arrowhead" points="200,576 188,570.4 188,581.6" fill="black" transform="rotate(0,192,576)"/>
<polygon class="arrowhead" points="200,448 188,442.4 188,453.6" fill="black" transform="rotate(0,192,448)"/>
<polygon class="arrowhead" points="200,240 188,234.4 188,245.6" fill="black" transform="rotate(0,192,240)"/>
<polygon class="arrowhead" points="200,176 188,170.4 188,181.6" fill="black" transform="rotate(0,192,176)"/>
<polygon class="arrowhead" points="56,592 44,586.4 44,597.6" fill="black" transform="rotate(180,48,592)"/>
<polygon class="arrowhead" points="56,544 44,538.4 44,549.6" fill="black" transform="rotate(180,48,544)"/>
<polygon class="arrowhead" points="56,416 44,410.4 44,421.6" fill="black" transform="rotate(180,48,416)"/>
<polygon class="arrowhead" points="56,176 44,170.4 44,181.6" fill="black" transform="rotate(180,48,176)"/>
<g class="text">
<text x="60" y="52">Registrar-</text>
<text x="188" y="52">Domain</text>
<text x="348" y="52">Domain</text>
<text x="452" y="52">Vendor</text>
<text x="40" y="68">agent</text>
<text x="200" y="68">Registrar</text>
<text x="332" y="68">CA</text>
<text x="456" y="68">Service</text>
<text x="52" y="84">(RegAgt)</text>
<text x="192" y="84">(JRC)</text>
<text x="452" y="84">(MASA)</text>
<text x="40" y="116">|</text>
<text x="412" y="116">Internet</text>
<text x="36" y="132">[voucher</text>
<text x="80" y="132">+</text>
<text x="136" y="132">enrollment]</text>
<text x="20" y="148">[PVR</text>
<text x="64" y="148">PER</text>
<text x="120" y="148">available</text>
<text x="168" y="148">]</text>
<text x="116" y="180">mTLS</text>
<text x="164" y="196">[Reg-Agt</text>
<text x="256" y="196">authenticated</text>
<text x="152" y="212">and</text>
<text x="220" y="212">authorized?]</text>
<text x="120" y="244">Voucher-Req</text>
<text x="120" y="260">(PVR)</text>
<text x="164" y="276">[Reg-Agt</text>
<text x="252" y="276">authorized?]</text>
<text x="160" y="292">[accept</text>
<text x="228" y="292">device?]</text>
<text x="164" y="308">[contact</text>
<text x="232" y="308">vendor]</text>
<text x="332" y="324">mTLS</text>
<text x="328" y="340">Voucher-Req</text>
<text x="328" y="356">(RVR)</text>
<text x="388" y="372">[extract</text>
<text x="464" y="372">DomainID]</text>
<text x="384" y="388">[update</text>
<text x="440" y="388">audit</text>
<text x="484" y="388">log]</text>
<text x="328" y="404">Voucher</text>
<text x="120" y="420">Voucher</text>
<text x="116" y="452">Enroll-Req</text>
<text x="112" y="468">(PER)</text>
<text x="276" y="484">mTLS</text>
<text x="276" y="500">Enroll-Req</text>
<text x="264" y="516">(RER)</text>
<text x="280" y="532">Enroll-Resp</text>
<text x="120" y="548">Enroll-Resp</text>
<text x="120" y="580">caCerts-Req</text>
<text x="120" y="596">caCerts-Res</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="left"><![CDATA[
+-----------+     +-----------+       +--------+   +---------+
| Registrar-|     | Domain    |       | Domain |   | Vendor  |
| agent     |     | Registrar |       | CA     |   | Service |
| (RegAgt)  |     |  (JRC)    |       |        |   | (MASA)  |
+-----------+     +-----------+       +--------+   +---------+
    |                   |                  |   Internet |
[voucher + enrollment]  |                  |            |
[PVR, PER available ]   |                  |            |
    |                   |                  |            |
    |<----- mTLS ------>|                  |            |
    |           [Reg-Agt authenticated     |            |
    |            and authorized?]          |            |
    |                   |                  |            |
    |--- Voucher-Req -->|                  |            |
    |       (PVR)       |                  |            |
    |           [Reg-Agt authorized?]      |            |
    |           [accept device?]           |            |
    |           [contact vendor]                        |
    |                   |------------- mTLS ----------->|
    |                   |--------- Voucher-Req -------->|
    |                   |             (RVR)             |
    |                   |                   [extract DomainID]
    |                   |                   [update audit log]
    |                   |<---------- Voucher -----------|
    |<---- Voucher -----|                  |            |
    |                   |                  |            |
    |--- Enroll-Req --->|                  |            |
    |      (PER)        |                  |            |
    |                   |<----- mTLS ----->|            |
    |                   |--- Enroll-Req -->|            |
    |                   |     (RER)        |            |
    |                   |<-- Enroll-Resp---|            |
    |<-- Enroll-Resp ---|                  |            |
    |                   |                  |            |
    |--- caCerts-Req -->|                  |            |
    |<-- caCerts-Res ---|                  |            |
    |                   |                  |            |
]]></artwork></artset></figure>

<t>The registrar-agent establishes a TLS connection to the registrar.
As already stated in <xref target="RFC8995"/>, the use of TLS 1.3 (or newer) is encouraged.
TLS 1.2 or newer is <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>

<section anchor="connection-establishment-registrar-agent-to-registrar"><name>Connection Establishment (Registrar-Agent to Registrar)</name>

<t>In contrast to BRSKI <xref target="RFC8995"/> TLS client authentication to the registrar is achieved by using registrar-agent EE credentials instead of pledge IDevID credentials.
Consequently BRSKI (pledge-initiator-mode) is distinguishable from BRSKI-PRM (pledge-responder-mode) by the registrar.
The registrar <bcp14>SHOULD</bcp14> verify that the registrar-agent is authorized to establish a connection to the registrar based on the TLS client authentication.
If the connection from registrar-agent to registrar is established, the authorization <bcp14>SHOULD</bcp14> be verified again based on agent-signed-data contained in the PVR.
This ensures that the pledge has been triggered by an authorized registrar-agent.</t>

<t>With BRSKI-PRM, the pledge generates PVR and PER as JSON-in-JWS objects and the registrar agent forwards them to the registrar.
In <xref target="RFC8995"/>, the pledge generates PVR as CMS-signed JSON and PER as PKCS#10 or PKCS#7 according to <xref target="RFC7030"/> and inherited by <xref target="RFC8995"/>.</t>

<t>For BRSKI-PRM, the registrar agent sends the PVR by HTTP POST to the same registrar endpoint as introduced by BRSKI: "/.well-
known/brski/requestvoucher", but with a Content-Type header field for JSON-in-JWS"</t>

<t>The Content-Type header field for JSON-in-JWS PVR is: <spanx style="verb">application/voucher-jws+json</spanx> (see <xref target="pvr"/> for the content definition), as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>

<t>The registrar-agent sets the Accept field in the request-header indicating the acceptable Content-Type for the voucher-response.
The voucher-response Content-Type header field is set to <spanx style="verb">application/voucher-jws+json</spanx> as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>

</section>
<section anchor="pvr-proc-reg"><name>Pledge-Voucher-Request (PVR) Processing by Registrar</name>

<t>After receiving the PVR from registrar-agent, the registrar <bcp14>SHALL</bcp14> perform the verification as defined in section 5.3 of <xref target="RFC8995"/>.
In addition, the registrar <bcp14>SHALL</bcp14> verify the following parameters from the PVR:</t>

<t><list style="symbols">
  <t>agent-provided-proximity-registrar-cert: <bcp14>MUST</bcp14> contain registrar's own registrar LDevID certificate to ensure the registrar in proximity of the registrar-agent is the desired registrar for this PVR.</t>
  <t>agent-signed-data: The registrar <bcp14>MUST</bcp14> verify that the agent provided data has been signed with the private key corresponding to the EE (RegAgt) certificate indicated in the "kid" JOSE header parameter.
The registrar <bcp14>MUST</bcp14> verify that the LDevID(ReAgt) certificate, corresponding to the signature, is still valid.
If the certificate is already expired, the registrar <bcp14>SHALL</bcp14> reject the request.
Validity of used signing certificates at the time of signing the agent-signed-data is necessary to avoid that a rogue registrar-agent generates agent-signed-data objects to onboard arbitrary pledges at a later point in time, see also <xref target="sec_cons_reg-agt"/>.
The registrar <bcp14>MUST</bcp14> fetch the EE (RegAgt) certificate, based on the provided SubjectKeyIdentifier (SKID) contained in the "kid" header parameter of the agent-signed-data, and perform this verification.
This requires, that the registrar has access to the EE (RegAgt) certificate data (including intermediate CA certificates if existent) based on the SKID.
Note, the registrar may have stored the EE (RegAgt) certificate if used during TLS establishment between registrar-agent and registrar or it may be provided via a repository.</t>
</list></t>

<t>If the registrar is unable to validate the PVR it <bcp14>SHOULD</bcp14> respond with a HTTP 4xx/5xx error code to the registrar-agent.</t>

<t>The following 4xx client error codes <bcp14>SHOULD</bcp14> be used:</t>

<t><list style="symbols">
  <t>403 Forbidden: if the registrar detected that one or more security related parameters are not valid.</t>
  <t>404 Not Found status code if the pledge provided information could not be used with automated allowance, as described in section 5.3 of <xref target="RFC8995"/>.</t>
  <t>406 Not Acceptable: if the Content-Type indicated by the Accept header is unknown or unsupported.</t>
</list></t>

<t>If the validation succeeds, the registrar performs pledge authorization according to <xref target="RFC8995"/>, Section 5.3 followed by obtaining a voucher from the pledge's MASA according to <xref target="RFC8995"/>, Section 5.4 with the modifications described below in <xref target="rvr-proc"/>.</t>

</section>
<section anchor="rvr-proc"><name>Registrar-Voucher-Request (RVR) Processing (Registrar to MASA)</name>

<t>If the MASA address/URI is learned from the <xref target="RFC8995"/> Section 2.3 IDevID MASA URI extension, then the MASA on that URI <bcp14>MUST</bcp14> support the procedures defined in this document if the PVR used JSON-JWS encoding.
If the MASA is only configured on the registrar, then a registrar supporting BRKSI-PRM and other voucher encoding formats (such as those in <xref target="RFC8995"/>) <bcp14>SHOULD</bcp14> support per-message-format MASA address/URI configuration for the same IDevID trust anchor."</t>

<t>The registrar <bcp14>SHALL</bcp14> construct the payload of the RVR as defined in <xref target="RFC8995"/>, Section 5.5.
The RVR encoding <bcp14>SHALL</bcp14> be JSON-in-JWS as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>

<t>The header of the RVR <bcp14>SHALL</bcp14> contain the following parameter as defined for JWS <xref target="RFC7515"/>:</t>

<t><list style="symbols">
  <t>alg: algorithm used to create the object signature</t>
  <t>x5c: base64-encoded registrar LDevID certificate(s)
(It optionally contains the certificate chain for this certificate)</t>
</list></t>

<t>The payload of the RVR <bcp14>MUST</bcp14> contain the following parameter as part of the voucher-request as defined in <xref target="RFC8995"/>:</t>

<t><list style="symbols">
  <t>created-on: current date and time in yang:date-and-time format of RVR creation</t>
  <t>nonce: copied from the PVR</t>
  <t>serial-number: product-serial-number of pledge.
The registrar <bcp14>MUST</bcp14> verify that the IDevID certificate subject serialNumber of the pledge (X520SerialNumber) matches the serial-number value in the PVR.
In addition, it <bcp14>MUST</bcp14> be equal to the serial-number value contained in the agent-signed data of PVR.</t>
  <t>assertion: voucher assertion requested by the pledge (agent-proximity).
The registrar provides this information to assure successful verification of agent proximity based on the agent-signed-data.</t>
  <t>prior-signed-voucher-request: PVR as received from registrar-agent, see <xref target="pvrr"/></t>
</list></t>

<t>The RVR <bcp14>MUST</bcp14> be extended with the following parameter, when the assertion "agent-proximity" is requested, as defined in <xref target="I-D.ietf-anima-rfc8366bis"/>:</t>

<t><list style="symbols">
  <t>agent-sign-cert: EE (RegAgt) certificate or the EE (RegAgt) certificate including certificate chain.
In the context of this document it is a JSON array of base64encoded certificate information and handled in the same way as x5c header objects.
If only a single object is contained in the x5c it <bcp14>MUST</bcp14> be the base64-encoded EE (RegAgt) certificate.
If multiple certificates are included in the x5c, the first <bcp14>MUST</bcp14> be the base64-encoded EE (RegAgt) certificate.</t>
</list></t>

<t>The MASA uses this information for verification that the registrar-agent is in proximity to the registrar to state the corresponding assertion "agent-proximity".</t>

<t>The object is signed using the registrar LDevID credentials, which corresponds to the certificate referenced in the JOSE header.</t>

<figure title="Representation of RVR" anchor="rvr"><artwork align="left"><![CDATA[
# The RVR in General JWS Serialization syntax
{
  "payload": "BASE64URL(ietf-voucher-request-prm:voucher)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": BASE64URL(JWS Signature)
    }
  ]
}

# Example: Decoded payload "ietf-voucher-request-prm:voucher"
  representation in JSON syntax
"ietf-voucher-request-prm:voucher": {
   "created-on": "2022-01-04T02:37:39.235Z",
   "nonce": "eDs++/FuDHGUnRxN3E14CQ==",
   "serial-number": "callee4711",
   "assertion": "agent-proximity",
   "prior-signed-voucher-request": "base64encodedvalue==",
   "agent-sign-cert": [
     "base64encodedvalue==",
     "base64encodedvalue==",
     "..."
   ]
}

# Example: Decoded "JWS Protected Header" representation
  in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ],
  "typ": "voucher-jws+json"
}
]]></artwork></figure>

<t>The registrar <bcp14>SHALL</bcp14> send the RVR to the MASA endpoint by HTTP POST: "/.well-known/brski/requestvoucher"</t>

<t>The RVR Content-Type header field is defined in <xref target="I-D.ietf-anima-jws-voucher"/> as: <spanx style="verb">application/voucher-jws+json</spanx></t>

<t>The registrar <bcp14>SHOULD</bcp14> set the Accept header of the RVR indicating the desired media type for the voucher-response.
The media type is <spanx style="verb">application/voucher-jws+json</spanx> as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>

<t>This document uses the JSON-in-JWS format throughout the definition of exchanges and in the examples.
Nevertheless, alternative encodings of the voucher as used in BRSKI <xref target="RFC8995"/> with JSON-in-CMS or CBOR-in-COSE_Sign <xref target="RFC8152"/> for constraint environments are possible as well.
The assumption is that a pledge typically supports a single encoding variant and creates the PVR in the supported format.
To ensure that the pledge is able to process the voucher, the registrar <bcp14>MUST</bcp14> use the media type for Accept header in the RVR based on the media type used for the PVR.</t>

<t>Once the MASA receives the RVR it <bcp14>SHALL</bcp14> perform the verification as described in Section 5.5 in <xref target="RFC8995"/>.</t>

<t>In addition, the following processing <bcp14>SHALL</bcp14> be performed for PVR contained in RVR "prior-signed-voucher-request" field:</t>

<t><list style="symbols">
  <t>agent-provided-proximity-registrar-cert: The MASA <bcp14>MAY</bcp14> verify that this field contains the registrar LDevID certificate.
If so, it <bcp14>MUST</bcp14> correspond to the registrar LDevID credentials used to sign the RVR.
Note: Correspond here relates to the case that a single registrar LDevID certificate is used or that different registrar LDevID certificates are used, which are issued by the same CA.</t>
  <t>agent-signed-data: The MASA <bcp14>MAY</bcp14> verify this data to issue "agent-proximity" assertion.
If so, the agent-signed-data <bcp14>MUST</bcp14> contain the pledge product-serial-number, contained in the "serial-number" field of the PVR (from "prior-signed-voucher-request" field) and also in "serial-number" field of the RVR.
The EE (RegAgt) certificate to be used for signature verification is identified by the "kid" parameter of the JOSE header.
If the assertion "agent-proximity" is requested, the RVR <bcp14>MUST</bcp14> contain the corresponding EE (RegAgt) certificate data in the "agent-sign-cert" field of the RVR.
It <bcp14>MUST</bcp14> be verified by the MASA to the same domain CA as the registrar LDevID certificate.
If the "agent-sign-cert" field is not set, the MASA <bcp14>MAY</bcp14> state a lower level assertion value, e.g.: "logged" or "verified".
Note: Sub-CA certificate(s) <bcp14>MUST</bcp14> also be carried by "agent-sign-cert", in case the EE (RegAgt) certificate is issued by a sub-CA and not the domain CA known to the MASA.
As the "agent-sign-cert" field is defined as array (x5c), it can handle multiple certificates.</t>
</list></t>

<t>If validation fails, the MASA <bcp14>SHOULD</bcp14> respond with an HTTP 4xx client error status code to the registrar.
The HTTP error status codes are kept the same as defined in Section 5.6 of <xref target="RFC8995"/> and comprise the codes: 403, 404, 406, and 415.</t>

</section>
<section anchor="exchanges_uc2_2_vc"><name>Voucher Issuance by MASA</name>

<t>The MASA creates a voucher with Media-Type of <spanx style="verb">application/voucher-jws+json</spanx> as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.
If the MASA detects that the Accept header of the PVR does not match <spanx style="verb">application/voucher-jws+json</spanx> it <bcp14>SHOULD</bcp14> respond with the HTTP status code "406 Not Acceptable" as the pledge will not be able to parse the response.
The voucher is according to <xref target="I-D.ietf-anima-rfc8366bis"/> but uses the new assertion value specified <xref target="agt_prx"/>.</t>

<t><xref target="MASA-vr"/> shows an example of the contents of a voucher.</t>

<figure title="Representation of MASA issued voucher" anchor="MASA-vr"><artwork align="left"><![CDATA[
# The MASA issued voucher in General JWS Serialization syntax
{
  "payload": "BASE64URL(ietf-voucher:voucher)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": BASE64URL(JWS Signature)
    }
  ]
}

# Example: Decoded payload "ietf-voucher:voucher" representation
  in JSON syntax
"ietf-voucher:voucher": {
  "assertion": "agent-proximity",
  "serial-number": "callee4711",
  "nonce": "base64encodedvalue==",
  "created-on": "2022-01-04T00:00:02.000Z",
  "pinned-domain-cert": "base64encodedvalue=="
}

# Example: Decoded "JWS Protected Header" representation
  in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ],
  "typ": "voucher-jws+json"
}
]]></artwork></figure>

<t>The pinned-domain certificate to be put into the voucher is determined by the MASA as described in section 5.5 of <xref target="RFC8995"/>.
The MASA returns the voucher-response (voucher) to the registrar.</t>

</section>
<section anchor="exchanges_uc2_2_vs"><name>MASA issued Voucher Processing by Registrar</name>

<t>After receiving the voucher the registrar <bcp14>SHOULD</bcp14> evaluate it for transparency and logging purposes as outlined in Section 5.6 of <xref target="RFC8995"/>.
The registrar <bcp14>MUST</bcp14> add an additional signature to the MASA provided voucher using its registrar EE credentials.</t>

<t>The signature is created by signing the original "JWS Payload" produced by MASA and the registrar added "JWS Protected Header" using the registrar EE credentials (see <xref target="RFC7515"/>, Section 5.2 point 8.
The x5c component of the "JWS Protected Header" <bcp14>MUST</bcp14> contain the registrar EE certificate as well as potential subordinate CA certificates up to (but not including) the pinned domain certificate.
The pinned domain certificate is already contained in the voucher payload ("pinned-domain-cert").</t>

<t>(For many installations, with a single registrar credential, the registrar credential is what is pinned)</t>

<t>In <xref target="RFC8995"/>, the Registrar proved possession of the it's credential when the TLS session was setup.
While the pledge could not, at the time, validate the certificate truly belonged the registrar, it did validate that the certificate it was provided was able to authenticate the TLS connection.</t>

<t>In the BRSKI-PRM mode, with the Registrar agent mediating all communication, the Pledge has not as yet been able to witness that the intended Registrar really does possess the relevant private key.
This second signature provides for the same level of assurance to the pledge, and that it matches the public key that the pledge received in the trigger for the PVR (see <xref target="pavrt"/>).</t>

<t>The registrar <bcp14>MUST</bcp14> use the same registrar EE credentials used for authentication in the TLS handshake to authenticate towards the registrar-agent.
This has some operational implications when the registrar may be part of a scalable framework as described in <xref section="1.3.1" sectionFormat="comma" target="I-D.richardson-anima-registrar-considerations"/>.</t>

<t>The second signature <bcp14>MUST</bcp14> either be done with the private key associated with the registrar EE certificate provided to the Registrar-Agent, or the use of a certificate chain is necessary.
This ensures that the same registrar EE certificate can be used to verify the signature as transmitted in the voucher-request as also transferred in the PVR in the "agent-provided-proximity-registrar-cert".</t>

<t><xref target="MASA-REG-vr"/> below provides an example of the voucher with two signatures.</t>

<figure title="Representation of MASA issued voucher with additional registrar signature" anchor="MASA-REG-vr"><artwork align="left"><![CDATA[
# The MASA issued voucher with additional registrar signature in
  General JWS Serialization syntax
{
  "payload": "BASE64URL(ietf-voucher:voucher)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header (MASA)))",
      "signature": BASE64URL(JWS Signature)
    },
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header (Reg)))",
      "signature": BASE64URL(JWS Signature)
    }
  ]
}

# Example: Decoded payload "ietf-voucher:voucher" representation in
  JSON syntax
"ietf-voucher:voucher": {
   "assertion": "agent-proximity",
   "serial-number": "callee4711",
   "nonce": "base64encodedvalue==",
   "created-on": "2022-01-04T00:00:02.000Z",
   "pinned-domain-cert": "base64encodedvalue=="
}

# Example: Decoded "JWS Protected Header (MASA)" representation
  in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ],
  "typ": "voucher-jws+json"
}

# Example: Decoded "JWS Protected Header (Reg)" representation
  in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork></figure>

<t>Depending on the security policy of the operator, this signature can also be interpreted by the pledge as explicit authorization of the registrar to install the contained trust anchor.
The registrar sends the voucher to the registrar-agent.</t>

</section>
<section anchor="exchanges_uc2_2_per"><name>Pledge-Enrollment-Request (PER) Processing (Registrar-Agent to Registrar)</name>

<t>After receiving the voucher, the registrar-agent sends the PER to the registrar in the same HTTP-over-TLS connection. Which is similar to the PER processing described in Section 5.2 of <xref target="RFC8995"/>.
In case the PER cannot be send in the same HTTP-over-TLS connection the registrar-agent may send the PER in a new HTTP-over-TLS connection. The registrar is able to correlate the PVR and the PER based on the signatures and the contained product-serial-number information.
Note, this also addresses situations in which a nonceless voucher is used and may be pre-provisioned to the pledge.
As specified in <xref target="PER-response"/> deviating from BRSKI the PER is not a raw PKCS#10.
As the registrar-agent is involved in the exchange, the PKCS#10 is wrapped in a JWS object by the pledge and signed with pledge's IDevID to ensure proof-of-identity as outlined in <xref target="per"/>.</t>

<t>EST <xref target="RFC7030"/> standard endpoints (/simpleenroll, /simplereenroll, /serverkeygen, /cacerts) on the registrar cannot be used for BRSKI-PRM.
This is caused by the utilization of signature wrapped-objects in BRSKI-PRM.
As EST requires to sent a raw PKCS#10 request to e.g., "/.well-known/est/simpleenroll" endpoint, this document makes an enhancement by utilizing EST but with the exception to transport a signature wrapped PKCS#10 request.
Therefore a new endpoint for BRSKI-PRM on the registrar is defined as "/.well-known/brski/requestenroll"</t>

<t>The Content-Type header of PER is: <spanx style="verb">application/jose+json</spanx>.</t>

<t>This is a deviation from the Content-Type header values used in <xref target="RFC7030"/> and results in additional processing at the domain registrar (as EST server).
Note, the registrar is already aware that the bootstrapping is performed in a pledge-responder-mode due to the use of the EE (RegAgt) certificate for TLS and the provided PVR as JSON-in-JWS object.</t>

<t><list style="symbols">
  <t>If the registrar receives a PER with Content-Type header: <spanx style="verb">application/jose+json</spanx>, it <bcp14>MUST</bcp14> verify the wrapping signature using the certificate indicated in the JOSE header.</t>
  <t>The registrar verifies that the pledge's certificate (here IDevID), carried in "x5c" header field, is accepted to join the domain after successful validation of the PVR.</t>
  <t>If both succeed, the registrar utilizes the PKCS#10 request contained in the JWS object body as "P10" parameter of "ietf-sztp-csr:csr" for further processing of the enrollment-request with the corresponding domain CA.
It creates a registrar enrollment-request (RER) by utilizing the protocol expected by the domain CA.
The domain registrar may either directly forward the provided PKCS#10 request to the CA or provide additional information about attributes to be included by the CA into the requested LDevID certificate.
The approach of sending this information to the CA depends on the utilized certificate management protocol between the RA and the CA and is out of scope for this document.</t>
</list></t>

<t>Note while BRSKI-PRM targets the initial enrollment, re-enrollment may be supported in a similar way with the exception that the current LDevID certificate is used instead of the IDevID certificate to verify the wrapping signature of the PKCS#10 request (see also <xref target="PER-response"/>).</t>

<t>The registrar-agent <bcp14>SHALL</bcp14> send the PER to the registrar by HTTP POST to the endpoint: "/.well-known/brski/requestenroll"</t>

<t>The registrar <bcp14>SHOULD</bcp14> respond with an HTTP 200 OK in the success case or fail with HTTP 4xx/5xx status codes as defined by the HTTP standard.</t>

<t>A successful interaction with the domain CA will result in a pledge LDevID certificate, which is then forwarded by the registrar to the registrar-agent using the Content-Type header: <spanx style="verb">application/pkcs7-mime</spanx>.</t>

</section>
<section anchor="exchanges_uc2_2_wca"><name>Request Wrapped-CA-certificate(s) (Registrar-Agent to Registrar)</name>

<t>As the pledge will verify it own certificate LDevID certificate when received, it also needs the corresponding CA certificates.
This is done in EST <xref target="RFC7030"/> using the "/.well-known/est/cacerts" endpoint, which provides the CA certificates over a TLS protected connection.
BRSKI-PRM requires a signature wrapped CA certificate object, to avoid that the pledge can be provided with arbitrary CA certificates in an authorized way.
The registrar signed CA certificate object will allow the pledge to verify the authorization to install the received CA certificate(s).
As the CA certificate(s) are provided to the pledge after the voucher, the pledge has the required information (the domain certificate) to verify the wrapped CA certificate object.</t>

<t>To support registrar-agents requesting a signature wrapped CA certificate(s) object, a new endpoint for BRSKI-PRM is defined on the registrar: "/.well-known/brski/wrappedcacerts"</t>

<t>The registrar-agent <bcp14>SHALL</bcp14> requests the EST CA trust anchor database information (in form of CA certificates) by HTTP GET.</t>

<t>The Content-Type header of the response <bcp14>SHALL</bcp14> be: <spanx style="verb">application/jose+json</spanx>.</t>

<t>This is a deviation from the Content-Type header values used in EST <xref target="RFC7030"/> and results in additional processing at the domain registrar (as EST server).
The additional processing is to sign the CA certificate(s) information using the registrar LDevID credentials.
This results in a signed CA certificate(s) object (JSON-in-JWS), the CA certificates are provided as base64 encoded "x5bag" (see definition in <xref target="RFC9360"/>) in the JWS payload.</t>

<figure title="Representation of CA certificate(s) data with registrar signature" anchor="PCAC"><artwork align="left"><![CDATA[
# The CA certificates data with registrar signature in General JWS Serialization syntax
{
  "payload": "BASE64URL(certs)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": BASE64URL(JWS Signature)
    }
  ]
}

# Example: Decoded payload "certs" representation in JSON syntax
{
  "x5bag": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}


# Example: Decoded "JWS Protected Header" representation
  in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork></figure>

</section>
</section>
<section anchor="exchanges_uc2_3"><name>Response Objects supplied by the Registrar-Agent to the Pledge</name>

<t>It is assumed that the registrar-agent already obtained the bootstrapping response objects from the domain registrar and can supply them to the pledge:</t>

<t><list style="symbols">
  <t>voucher-response - Voucher (from MASA via Registrar)</t>
  <t>wrapped-CA-certificate(s)-response - CA certificates</t>
  <t>enrollment-response - LDevID (Pledge) certificate (from CA via registrar)</t>
</list></t>

<t>To deliver these response objects, the registrar-agent will re-connect to the pledge.
To contact the pledge, it may either discover the pledge as described in <xref target="discovery_uc2_ppa"/> or use stored information from the first contact with the pledge.</t>

<t>Preconditions in addition to <xref target="exchanges_uc2_2"/>:</t>

<t><list style="symbols">
  <t>Registrar-agent: obtained voucher and LDevID certificate and optionally IDevID CA certificates.
The IDevID CA certificate is necessary, when the connection between the Registrar-agent and the pledge is established using TLS to enable the registrar-agent to validate the pledges' IDevID certificate during the TLS handshake as described in <xref target="exchanges_uc2_1"/>.</t>
</list></t>

<figure title="Responses and status handling between pledge and registrar-agent" anchor="exchangesfig_uc2_3"><artset><artwork  type="svg" align="left"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="368" width="528" viewBox="0 0 528 368" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,32 L 8,96" fill="none" stroke="black"/>
<path d="M 40,104 L 40,336" fill="none" stroke="black"/>
<path d="M 80,32 L 80,96" fill="none" stroke="black"/>
<path d="M 280,32 L 280,96" fill="none" stroke="black"/>
<path d="M 328,144 L 328,336" fill="none" stroke="black"/>
<path d="M 376,32 L 376,96" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 280,32 L 376,32" fill="none" stroke="black"/>
<path d="M 8,96 L 80,96" fill="none" stroke="black"/>
<path d="M 280,96 L 376,96" fill="none" stroke="black"/>
<path d="M 48,160 L 88,160" fill="none" stroke="black"/>
<path d="M 296,160 L 320,160" fill="none" stroke="black"/>
<path d="M 48,192 L 104,192" fill="none" stroke="black"/>
<path d="M 240,192 L 320,192" fill="none" stroke="black"/>
<path d="M 48,224 L 112,224" fill="none" stroke="black"/>
<path d="M 248,224 L 320,224" fill="none" stroke="black"/>
<path d="M 48,256 L 72,256" fill="none" stroke="black"/>
<path d="M 296,256 L 320,256" fill="none" stroke="black"/>
<path d="M 48,288 L 72,288" fill="none" stroke="black"/>
<path d="M 304,288 L 320,288" fill="none" stroke="black"/>
<path d="M 48,320 L 112,320" fill="none" stroke="black"/>
<path d="M 240,320 L 320,320" fill="none" stroke="black"/>
<polygon class="arrowhead" points="328,320 316,314.4 316,325.6" fill="black" transform="rotate(0,320,320)"/>
<polygon class="arrowhead" points="328,224 316,218.4 316,229.6" fill="black" transform="rotate(0,320,224)"/>
<polygon class="arrowhead" points="56,288 44,282.4 44,293.6" fill="black" transform="rotate(180,48,288)"/>
<polygon class="arrowhead" points="56,256 44,250.4 44,261.6" fill="black" transform="rotate(180,48,256)"/>
<polygon class="arrowhead" points="56,192 44,186.4 44,197.6" fill="black" transform="rotate(180,48,192)"/>
<polygon class="arrowhead" points="56,160 44,154.4 44,165.6" fill="black" transform="rotate(180,48,160)"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="332" y="52">Registrar-</text>
<text x="312" y="68">Agent</text>
<text x="324" y="84">(RegAgt)</text>
<text x="284" y="116">[voucher</text>
<text x="336" y="116">and</text>
<text x="400" y="116">enrollment]</text>
<text x="292" y="132">[responses</text>
<text x="380" y="132">available]</text>
<text x="132" y="164">optional</text>
<text x="184" y="164">TLS</text>
<text x="244" y="164">connection</text>
<text x="140" y="196">supply</text>
<text x="200" y="196">voucher</text>
<text x="152" y="228">voucher</text>
<text x="212" y="228">status</text>
<text x="344" y="228">-</text>
<text x="376" y="228">store</text>
<text x="380" y="244">pledge</text>
<text x="440" y="244">voucher</text>
<text x="500" y="244">status</text>
<text x="108" y="260">supply</text>
<text x="168" y="260">CAcerts</text>
<text x="244" y="260">(optional)</text>
<text x="108" y="292">supply</text>
<text x="216" y="292">enrollment-response</text>
<text x="148" y="324">enroll</text>
<text x="204" y="324">status</text>
<text x="344" y="324">-</text>
<text x="376" y="324">store</text>
<text x="380" y="340">pledge</text>
<text x="436" y="340">enroll</text>
<text x="492" y="340">status</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="left"><![CDATA[
+--------+                        +-----------+
| Pledge |                        | Registrar-|
|        |                        | Agent     |
|        |                        | (RegAgt)  |
+--------+                        +-----------+
    |                          [voucher and enrollment]
    |                          [responses available]
    |                                   |
    |<----- optional TLS connection ----|
    |                                   |
    |<------- supply voucher -----------|
    |                                   |
    |--------- voucher status --------->| - store
    |                                   |   pledge voucher status
    |<--- supply CAcerts (optional) ----|
    |                                   |
    |<--- supply enrollment-response ---|
    |                                   |
    |--------- enroll status ---------->| - store
    |                                   |   pledge enroll status

]]></artwork></artset></figure>

<t>The registrar-agent <bcp14>MAY</bcp14> optionally use TLS to protect the communication as outlined in <xref target="exchanges_uc2_1"/>.</t>

<t>The registrar-agent provides the information via distinct pledge endpoints as following.</t>

<section anchor="exchanges_uc2_3a"><name>Pledge: Voucher-Response Processing</name>

<t>The registrar-agent <bcp14>SHALL</bcp14> send the voucher-response to the pledge by HTTP POST to the endpoint: "/.well-known/brski/svr".</t>

<t>The registrar-agent voucher-response Content-Type header is <spanx style="verb">application/voucher-jws+json</spanx> and contains the voucher as provided by the MASA. An example is given in <xref target="MASA-vr"/> for a MASA  signed voucher and in <xref target="MASA-REG-vr"/> for the voucher with the additional signature of the registrar.</t>

<t>A nonceless voucher may be accepted as in <xref target="RFC8995"/> and may be allowed by a manufacture's pledge implementation.</t>

<t>To perform the validation of several signatures on the voucher object, the pledge <bcp14>SHALL</bcp14> perform the signature verification in the following order:</t>

<t><list style="numbers">
  <t>Verify MASA signature as described in Section 5.6.1 in <xref target="RFC8995"/>, against pre-installed manufacturer trust anchor (IDevID).</t>
  <t>Install trust anchor contained in the voucher ("pinned-domain-cert")  provisionally</t>
  <t>Validate the LDevID(Reg) certificate received in the agent-provided-proximity-registrar-cert in the pledge-voucher-request trigger request (in the field "agent-provided-proximity-registrar-cert")</t>
  <t>Verify registrar signature of the voucher similar as described in Section 5.6.1 in <xref target="RFC8995"/>, but take the registrar certificate instead of the MASA certificate for the verification</t>
</list></t>

<t>Step3 and step 4 have been introduced in BRSKI-PRM to enable verification of LDevID(Reg) certificate and also the proof-of-possession of the corresponding private key by the registrar, which is done in BRSKI based on the established TLS channel.
If all steps stated above have been performed successfully, the pledge <bcp14>SHALL</bcp14> terminate the "PROVISIONAL accept" state for the domain trust anchor and the registrar LDevID certificate.</t>

<t>If an error occurs during the verification and validation of the voucher, this <bcp14>SHALL</bcp14> be reported in the reason field of the pledge voucher status.</t>

</section>
<section anchor="exchanges_uc2_3b"><name>Pledge: Voucher Status Telemetry</name>

<t>After voucher verification and validation the pledge <bcp14>MUST</bcp14> reply with a status telemetry message as defined in Section 5.7 of <xref target="RFC8995"/>.
The pledge generates the voucher-status and provides it as signed JSON-in-JWS object in response to the registrar-agent.</t>

<t>The response has the Content-Type <spanx style="verb">application/jose+json</spanx> and is signed using the IDevID of the pledge as shown in <xref target="vstat"/>.
As the reason field is optional (see <xref target="RFC8995"/>), it <bcp14>MAY</bcp14> be omitted in case of success.</t>

<figure title="Representation of pledge voucher status telemetry" anchor="vstat"><artwork align="left"><![CDATA[
# The "pledge-voucher-status" telemetry in general JWS
  serialization syntax
{
  "payload": "BASE64URL(pledge-voucher-status)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": BASE64URL(JWS Signature)
    }
  ]
}

# Example: Decoded payload "pledge-voucher-status" representation
  in JSON syntax for success case
{
  "version": 1,
  "status": true,
  "reason": "Voucher successfully processed",
  "reason-context": {
    "pvs-details": "JSON"
  }
}

# Example: Decoded payload "pledge-voucher-status" representation
  in JSON syntax for error case
{
  "version": 1,
  "status": false,
  "reason": "Failed to authenticate MASA certificate because
  it starts in the future (1/1/2023).",
  "reason-context": {
    "pvs-details": "Current date: 1/1/1970"
  }
}

# Example: Decoded "JWS Protected Header" representation
  in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork></figure>

<t>If the pledge did not 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="exchanges_uc2_5"/> and <bcp14>MAY</bcp14> re-sent the voucher depending on the Pledge status following the procedure described in <xref target="exchanges_uc2_3a"/>.</t>

</section>
<section anchor="exchanges_uc2_3c"><name>Pledge: Wrapped-CA-Certificate(s) Processing</name>

<t>The registrar-agent <bcp14>SHALL</bcp14> provide the set of CA certificates requested from the registrar to the pledge by HTTP POST to the endpoint: "/.well-known/brski/scac".</t>

<t>As the CA certificate provisioning is crucial from a security perspective, this provisioning <bcp14>SHOULD</bcp14> only be done, if the voucher-response has been successfully processed by pledge as reflected in the voucher status telemetry.</t>

<t>The CA certificates message has the Content-Type <spanx style="verb">application/jose+json</spanx> and is signed using the credential of the registrar as shown in <xref target="PCAC"/>.</t>

<t>The CA certificates are provided as base64 encoded "x5bag".
The pledge <bcp14>SHALL</bcp14> install the received CA certificates as trust anchor after successful verification of the registrar's signature.</t>

<t>The verification comprises the following steps the pledge <bcp14>MUST</bcp14> perform. Maintaining the order of versification steps as indicated allows to determine, which verification has already been passed:</t>

<t><list style="numbers">
  <t>Check content-type of the CA certificates message. If no Content-Type is contained in the HTTP header, the default Content-Type utilized in this document (JSON-in-JWS) is used. If the Content-Type of the response is in an unknown or unsupported format, the pledge <bcp14>SHOULD</bcp14> reply with a 415 Unsupported media type error code.</t>
  <t>Check the encoding of the payload. If the pledge detects errors in the encoding of the payload, it <bcp14>SHOULD</bcp14> reply with 400 Bad Request error code.</t>
  <t>Verify that the wrapped CA certificate object is signed using the registrar certificate against the pinned-domain certificate. This <bcp14>MAY</bcp14> be done by comparing the hash that is indicating the certificate used to sign the message is that of the pinned-domain certificate. If the validation against the pinned domain-certificate fails, the client <bcp14>SHOULD</bcp14> reply with a 401 Unauthorized error code. It signals that the authentication has failed and therefore the object was not accepted.</t>
  <t>Verify signature of the the received wrapped CA certificate object. If the validation of the signature fails, the pledge <bcp14>SHOULD</bcp14> reply with a 406 Not Acceptable. It signals that the object has not been accepted.</t>
  <t>If the received CA certificates are not self-signed, i.e., an intermediate CA certificate, verify them against an already installed trust anchor, as described in section 4.1.3 of <xref target="RFC7030"></xref>.</t>
  <t>The pledge <bcp14>MAY</bcp14> may verify that the LDevID and the pinned-domain-cert can be validated against one of the received TA.</t>
</list></t>

</section>
<section anchor="pledge-enrollment-response-processing"><name>Pledge: Enrollment-Response Processing</name>

<t>The registrar-agent <bcp14>SHALL</bcp14> send the enroll-response to the pledge by HTTP POST to the endpoint: "/.well-known/brski/ser".</t>

<t>The registrar-agent enroll-response Content-Type header, when using EST <xref target="RFC7030"/> as enrollment protocol between the registrar-agent and the infrastructure is: <spanx style="verb">application/pkcs7-mime</spanx>.
Note: It only contains the LDevID certificate for the pledge, not the certificate chain.</t>

<t>Upon reception, the pledge <bcp14>SHALL</bcp14> verify the received LDevID certificate.
The pledge <bcp14>SHALL</bcp14> generate the enroll status and provide it in the response to the registrar-agent.
If the verification of the LDevID certificate succeeds, the status property <bcp14>SHALL</bcp14> be set to "status": true, otherwise to "status": false</t>

</section>
<section anchor="pledge-enrollment-status-telemetry"><name>Pledge: Enrollment-Status Telemetry</name>

<t>The pledge <bcp14>MUST</bcp14> reply with a status telemetry message as defined in Section 5.9.4 of <xref target="RFC8995"/>.
As for the other objects, the enroll-status is signed and results in a JSON-in-JWS object.
If the pledge verified the received LDevID certificate successfully it <bcp14>SHALL</bcp14> sign the response using its new LDevID credentials as shown in <xref target="estat"/>.
In the failure case, the pledge <bcp14>SHALL</bcp14> use the available IDevID credentials.
As the reason field is optional, it <bcp14>MAY</bcp14> be omitted in case of success.</t>

<t>The response has the Content-Type <spanx style="verb">application/jose+json</spanx>.</t>

<figure title="Representation of pledge enroll status telemetry" anchor="estat"><artwork align="left"><![CDATA[
# The "pledge-enroll-status" telemetry in General JWS Serialization
  syntax
{
  "payload": "BASE64URL(pledge-enroll-status)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": BASE64URL(JWS Signature)
    }
  ]
}

# Example: Decoded payload "pledge-enroll-status" representation
  in JSON syntax for success case
{
  "version": 1,
  "status": true,
  "reason": "Enrollment response successfully processed",
  "reason-context": {
    "pes-details": "JSON"
  }
}

# Example: Decoded payload "pledge-voucher-status" representation
  in JSON syntax for error case
{
  "version": 1,
  "status": false,
  "reason": "Enrollment response could not be verified.",
  "reason-context": {
    "pes-details": "no matching trust anchor"
  }
}

# Example: Decoded "JWS Protected Header" representation
  in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork></figure>

<t>Once the registrar-agent has collected the information, it can connect to the registrar to provide it with the status responses.</t>

</section>
<section anchor="exchanges_uc2_4"><name>Telemetry Voucher Status and Enroll Status Handling (Registrar-Agent to Domain Registrar)</name>

<t>The following description requires that the registrar-agent has collected the status information from the pledge.
It <bcp14>SHALL</bcp14> provide the status information to the registrar for further processing.</t>

<t>Preconditions in addition to <xref target="exchanges_uc2_2"/>:</t>

<t><list style="symbols">
  <t>Registrar-agent: obtained voucher status and enroll status from pledge.</t>
</list></t>

<figure title="Bootstrapping status handling" anchor="exchangesfig_uc2_4"><artset><artwork  type="svg" align="left"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="320" width="496" viewBox="0 0 496 320" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,32 L 8,96" fill="none" stroke="black"/>
<path d="M 40,160 L 40,304" fill="none" stroke="black"/>
<path d="M 104,32 L 104,96" fill="none" stroke="black"/>
<path d="M 176,32 L 176,96" fill="none" stroke="black"/>
<path d="M 224,104 L 224,240" fill="none" stroke="black"/>
<path d="M 224,272 L 224,304" fill="none" stroke="black"/>
<path d="M 272,32 L 272,96" fill="none" stroke="black"/>
<path d="M 304,32 L 304,96" fill="none" stroke="black"/>
<path d="M 344,104 L 344,208" fill="none" stroke="black"/>
<path d="M 344,272 L 344,304" fill="none" stroke="black"/>
<path d="M 376,32 L 376,96" fill="none" stroke="black"/>
<path d="M 408,32 L 408,96" fill="none" stroke="black"/>
<path d="M 448,104 L 448,240" fill="none" stroke="black"/>
<path d="M 448,272 L 448,304" fill="none" stroke="black"/>
<path d="M 488,32 L 488,96" fill="none" stroke="black"/>
<path d="M 8,32 L 104,32" fill="none" stroke="black"/>
<path d="M 176,32 L 272,32" fill="none" stroke="black"/>
<path d="M 304,32 L 376,32" fill="none" stroke="black"/>
<path d="M 408,32 L 488,32" fill="none" stroke="black"/>
<path d="M 8,96 L 104,96" fill="none" stroke="black"/>
<path d="M 176,96 L 272,96" fill="none" stroke="black"/>
<path d="M 304,96 L 376,96" fill="none" stroke="black"/>
<path d="M 408,96 L 488,96" fill="none" stroke="black"/>
<path d="M 48,176 L 104,176" fill="none" stroke="black"/>
<path d="M 160,176 L 216,176" fill="none" stroke="black"/>
<path d="M 48,208 L 64,208" fill="none" stroke="black"/>
<path d="M 200,208 L 216,208" fill="none" stroke="black"/>
<path d="M 232,224 L 248,224" fill="none" stroke="black"/>
<path d="M 424,224 L 440,224" fill="none" stroke="black"/>
<path d="M 232,240 L 264,240" fill="none" stroke="black"/>
<path d="M 416,240 L 440,240" fill="none" stroke="black"/>
<path d="M 48,288 L 64,288" fill="none" stroke="black"/>
<path d="M 192,288 L 216,288" fill="none" stroke="black"/>
<polygon class="arrowhead" points="448,224 436,218.4 436,229.6" fill="black" transform="rotate(0,440,224)"/>
<polygon class="arrowhead" points="240,240 228,234.4 228,245.6" fill="black" transform="rotate(180,232,240)"/>
<polygon class="arrowhead" points="224,288 212,282.4 212,293.6" fill="black" transform="rotate(0,216,288)"/>
<polygon class="arrowhead" points="224,208 212,202.4 212,213.6" fill="black" transform="rotate(0,216,208)"/>
<polygon class="arrowhead" points="224,176 212,170.4 212,181.6" fill="black" transform="rotate(0,216,176)"/>
<polygon class="arrowhead" points="56,176 44,170.4 44,181.6" fill="black" transform="rotate(180,48,176)"/>
<g class="text">
<text x="56" y="52">Registrar</text>
<text x="212" y="52">Domain</text>
<text x="340" y="52">Domain</text>
<text x="444" y="52">Vendor</text>
<text x="40" y="68">Agent</text>
<text x="224" y="68">Registrar</text>
<text x="324" y="68">CA</text>
<text x="448" y="68">Service</text>
<text x="48" y="84">RegAgt)</text>
<text x="216" y="84">(JRC)</text>
<text x="444" y="84">(MASA)</text>
<text x="40" y="116">|</text>
<text x="404" y="116">Internet</text>
<text x="36" y="132">[voucher</text>
<text x="80" y="132">+</text>
<text x="116" y="132">enroll</text>
<text x="152" y="132">]</text>
<text x="32" y="148">[status</text>
<text x="84" y="148">info</text>
<text x="148" y="148">available]</text>
<text x="132" y="180">mTLS</text>
<text x="104" y="212">Voucher</text>
<text x="164" y="212">Status</text>
<text x="300" y="228">req-device</text>
<text x="368" y="228">audit</text>
<text x="408" y="228">log</text>
<text x="300" y="244">device</text>
<text x="352" y="244">audit</text>
<text x="392" y="244">log</text>
<text x="184" y="260">[verify</text>
<text x="240" y="260">audit</text>
<text x="280" y="260">log</text>
<text x="304" y="260">]</text>
<text x="100" y="292">Enroll</text>
<text x="156" y="292">Status</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="left"><![CDATA[
+-----------+        +-----------+   +--------+   +---------+
| Registrar |        | Domain    |   | Domain |   | Vendor  |
| Agent     |        | Registrar |   | CA     |   | Service |
| RegAgt)   |        |  (JRC)    |   |        |   | (MASA)  |
+-----------+        +-----------+   +--------+   +---------+
    |                      |              |   Internet |
[voucher + enroll ]        |              |            |
[status info available]    |              |            |
    |                      |              |            |
    |<------- mTLS ------->|              |            |
    |                      |              |            |
    |--- Voucher Status -->|              |            |
    |                      |--- req-device audit log-->|
    |                      |<---- device audit log ----|
    |              [verify audit log ]
    |                      |              |            |
    |--- Enroll Status --->|              |            |
    |                      |              |            |
]]></artwork></artset></figure>

<t>The registrar-agent <bcp14>MUST</bcp14> provide the collected pledge voucher status to the registrar.
This status indicates if the pledge could process the voucher successfully or not.</t>

<t>In case the TLS connection to the registrar is already closed, the registrar-agent opens a new TLS connection with the registrar as stated in <xref target="exchanges_uc2_2"/>.</t>

<t>The registrar-agent sends the pledge voucher status without modification to the registrar with an HTTP-over-TLS POST using the registrar endpoint "/.well-known/brski/voucher_status". The Content-Type header is kept as <spanx style="verb">application/jose+json</spanx> as described in <xref target="exchangesfig_uc2_3"/> and depicted in the example in <xref target="vstat"/>.</t>

<t>The registrar <bcp14>SHOULD</bcp14> log the transaction provided for a pledge via registrar-agent and include the identity of the registrar-agent in these logs. For log analysis the following may be considered:</t>

<t><list style="symbols">
  <t>The registrar knows the interacting registrar-agent from the authentication of the registrar-agent towards the registrar using LDevID (RegAgt) and can log it accordingly.</t>
  <t>The telemetry information from the pledge can be correlated to the voucher response provided from the registrar to the registrar-agent and further to the pledge.</t>
  <t>The telemetry information, when provided to the registrar is provided via the registrar-agent and can thus be correlated.</t>
</list></t>

<t>The registrar <bcp14>SHALL</bcp14> verify the signature of the pledge voucher status and validate that it belongs to an accepted device of the domain based on the contained "serial-number" in the IDevID certificate referenced in the header of the voucher status.</t>

<t>According to <xref target="RFC8995"/> Section 5.7, the registrar <bcp14>SHOULD</bcp14> respond with an HTTP 200 OK in the success case or fail with HTTP 4xx/5xx status codes as defined by the HTTP standard.
The registrar-agent may use the response to signal success / failure to the service technician operating the registrar agent.
Within the server logs the server <bcp14>SHOULD</bcp14> capture this telemetry information.</t>

<t>The registrar <bcp14>SHOULD</bcp14> proceed with collecting and logging status information by requesting the MASA audit-log from the MASA service as described in Section 5.8 of <xref target="RFC8995"/>.</t>

<t>The registrar-agent <bcp14>MUST</bcp14> provide the pledge's enroll status to the registrar.
The status indicates the pledge could process the enroll-response (certificate) and holds the corresponding private key.</t>

<t>The registrar-agent sends the pledge enroll status without modification to the registrar with an HTTP-over-TLS POST using the registrar endpoint "/.well-known/brski/enrollstatus".
The Content-Type header is kept as <spanx style="verb">application/jose+json</spanx> as described in <xref target="exchangesfig_uc2_3"/> and depicted in the example in <xref target="estat"/>.</t>

<t>The registrar <bcp14>MUST</bcp14> verify the signature of the pledge enroll status.
Also, the registrar <bcp14>SHALL</bcp14> validate that the pledge is an accepted device of the domain based on the contained product-serial-number in the LDevID certificate referenced in the header of the enroll status.
The registrar <bcp14>SHOULD</bcp14> log this event.
In case the pledge enroll status indicates a failure, the pledge was unable to verify the received LDevID certificate and therefore signed the enroll status with its IDevID credential.
Note that the signature verification of the status information is an addition to the described handling in Section 5.9.4 of <xref target="RFC8995"/>, and is replacing the pledges TLS client authentication by DevID credentials in <xref target="RFC8995"></xref>.</t>

<t>According to <xref target="RFC8995"/> Section 5.9.4, the registrar <bcp14>SHOULD</bcp14> respond with an HTTP 200 OK in the success case or fail with HTTP 4xx/5xx status codes as defined by the HTTP standard.
Based on the failure case 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 certificate.
An example case for the registrar revoking the issued LDevID for the pledge is when the pledge was not able to verify the received LDevID certificate and therefore did send a 406 (Not Acceptable) response.
In this case the registrar may revoke the LDevID certificate as the pledge did no accepted it for installation.</t>

<t>The registrar-agent may use the response to signal success / failure to the service technician operating the registrar agent.
Within the server log the registrar <bcp14>SHOULD</bcp14> capture this telemetry information.</t>

</section>
</section>
<section anchor="exchanges_uc2_5"><name>Request Pledge-Status by Registrar-Agent from Pledge</name>

<t>The following assumes that a registrar-agent may need to query the status of a pledge.
This information may be useful to solve errors, when the pledge was not able to connect to the target domain during the bootstrapping.
The pledge <bcp14>MAY</bcp14> provide a dedicated endpoint to accept status-requests.</t>

<t>Preconditions:</t>

<t><list style="symbols">
  <t>Registrar-agent: possesses LDevID (RegAgt), may have a list of serial numbers of pledges to be queried and a list of corresponding manufacturer trust anchors to be able to verify signatures performed with the IDevID credential.</t>
  <t>Pledge: may already possess domain credentials and LDevID(Pledge), or may not possess one or both of these.</t>
</list></t>

<figure title="Pledge-status handling between registrar-agent and pledge" anchor="exchangesfig_uc2_5"><artset><artwork  type="svg" align="left"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="192" width="360" viewBox="0 0 360 192" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,32 L 8,96" fill="none" stroke="black"/>
<path d="M 40,104 L 40,176" fill="none" stroke="black"/>
<path d="M 80,32 L 80,96" fill="none" stroke="black"/>
<path d="M 256,32 L 256,96" fill="none" stroke="black"/>
<path d="M 304,104 L 304,176" fill="none" stroke="black"/>
<path d="M 352,32 L 352,96" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 256,32 L 352,32" fill="none" stroke="black"/>
<path d="M 8,96 L 80,96" fill="none" stroke="black"/>
<path d="M 256,96 L 352,96" fill="none" stroke="black"/>
<path d="M 48,128 L 72,128" fill="none" stroke="black"/>
<path d="M 264,128 L 296,128" fill="none" stroke="black"/>
<path d="M 48,160 L 72,160" fill="none" stroke="black"/>
<path d="M 272,160 L 296,160" fill="none" stroke="black"/>
<polygon class="arrowhead" points="304,160 292,154.4 292,165.6" fill="black" transform="rotate(0,296,160)"/>
<polygon class="arrowhead" points="56,128 44,122.4 44,133.6" fill="black" transform="rotate(180,48,128)"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="308" y="52">Registrar-</text>
<text x="288" y="68">Agent</text>
<text x="300" y="84">(RegAgt)</text>
<text x="136" y="132">pledge-status</text>
<text x="224" y="132">request</text>
<text x="136" y="164">pledge-status</text>
<text x="228" y="164">response</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="left"><![CDATA[
+--------+                     +-----------+
| Pledge |                     | Registrar-|
|        |                     | Agent     |
|        |                     | (RegAgt)  |
+--------+                     +-----------+
    |                                |
    |<--- pledge-status request -----|
    |                                |
    |---- pledge-status response --->|
    |                                |
]]></artwork></artset></figure>

<section anchor="exchanges_uc2_5a"><name>Pledge-Status - Request (Registrar-Agent to Pledge)</name>

<t>The registrar-agent requests the pledge-status via HTTP POST on the defined pledge endpoint: "/.well-known/brski/qps"</t>

<t>The registrar-agent Content-Type header for the pledge-status request is: <spanx style="verb">application/jose+json</spanx>.
It contains information on the requested status-type, the time and date the request is created, and the product serial-number of the pledge contacted as shown in <xref target="stat_req_def"/>.
The pledge-status request is signed by registrar-agent using the private key corresponding to the EE (RegAgt) certificate.</t>

<t>The following Concise Data Definition Language (CDDL) <xref target="RFC8610"/> explains the structure of the format for the pledge-status request. It is defined following the status telemetry definitions in BRSKI <xref target="RFC8995"/>.
Consequently, format and semantics of pledge-status requests below are for version 1.
The version field is included to permit significant changes to the pledge-status request and response in the future.
A pledge or a registrar-agent that receives a pledge-status request with a version larger than it knows about <bcp14>SHOULD</bcp14> log the contents and alert a human.</t>

<figure title="CDDL for pledge-status request" anchor="stat_req_def"><artwork align="left"><![CDATA[
<CODE BEGINS>
  status-request = {
      "version": uint,
      "created-on": tdate ttime,
      "serial-number": text,
      "status-type": text
  }
<CODE ENDS>
]]></artwork></figure>

<t>The status-type defined for BRSKI-PRM is "bootstrap".
This indicates the pledge to provide current status information regarding the bootstrapping status (voucher processing and enrollment of the pledge into the new domain).
As the pledge-status request is defined generic, it may be used by other specifications to request further status information, e.g., for onboarding to get further information about enrollment of application specific LDevIDs or other parameters.
This is out of scope for this specification.</t>

<t><xref target="stat_req"/> below shows an example for querying pledge-status using status-type bootstrap.</t>

<figure title="Example of registrar-agent request of pledge-status using status-type bootstrap" anchor="stat_req"><artwork align="left"><![CDATA[
# The registrar-agent request of "pledge-status" in general JWS
  serialization syntax
{
  "payload": "BASE64URL(status-request)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": BASE64URL(JWS Signature)
    }
  ]
}

# Example: Decoded payload "status-request" representation
  in JSON syntax
{
  "version": 1,
  "created-on": "2022-08-12T02:37:39.235Z",
  "serial-number": "pledge-callee4711",
  "status-type": "bootstrap"
}

# Example: Decoded "JWS Protected Header" representation
  in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork></figure>

</section>
<section anchor="exchanges_uc2_5b"><name>Pledge-Status - Response (Pledge - Registrar-Agent)</name>

<t>If the pledge receives the pledge-status request with status-type "bootstrap" it <bcp14>SHALL</bcp14> react with a status response message based on the telemetry information described in <xref target="exchanges_uc2_3"/>.</t>

<t>The pledge-status response Content-Type header is <spanx style="verb">application/jose+json</spanx>.</t>

<t>The following CDDL explains the structure of the format for the status response, which is:</t>

<figure title="CDDL for pledge-status response" anchor="stat_res_def"><artwork align="left"><![CDATA[
<CODE BEGINS>
  status-response = {
    "version": uint,
    "status":
      "factory-default" /
      "voucher-success" /
      "voucher-error" /
      "enroll-success" /
      "enroll-error" /
      "connect-success" /
      "connect-error",
    ?"reason" : text,
    ?"reason-context": { $$arbitrary-map }
  }
<CODE ENDS>
]]></artwork></figure>

<t>Different cases for pledge bootstrapping status may occur, which <bcp14>SHOULD</bcp14> be reflected using the status enumeration.
This document specifies the status values in the context of the bootstrapping process and credential application.
Other documents may enhance the above enumeration to reflect further status information.</t>

<t>The pledge-status response message is signed with IDevID or LDevID, depending on bootstrapping state of the pledge.</t>

<t><list style="symbols">
  <t>"factory-default": Pledge has not been bootstrapped.
Additional information may be provided in the reason or reason-context.
The pledge signs the response message using its IDevID(Pledge).</t>
  <t>"voucher-success": Pledge processed the voucher exchange successfully.
Additional information may be provided in the reason or reason-context.
The pledge signs the response message using its IDevID(Pledge).</t>
  <t>"voucher-error": Pledge voucher processing terminated with error.
Additional information may be provided in the reason or reason-context.
The pledge signs the response message using its IDevID(Pledge).</t>
  <t>"enroll-success": Pledge has processed the enrollment exchange successfully.
Additional information may be provided in the reason or reason-context.
The pledge signs the response message using its LDevID(Pledge).</t>
  <t>"enroll-error": Pledge enrollment-response processing terminated with error.
Additional information may be provided in the reason or reason-context.
The pledge signs the response message using its IDevID(Pledge).</t>
</list></t>

<t>The reason and the reason-context <bcp14>SHOULD</bcp14> contain the telemetry information as described in <xref target="exchanges_uc2_3"/>.</t>

<t>As the pledge is assumed to utilize its bootstrapped credentials (LDevID) in communication with other peers, additional status information is provided for the connectivity to other peers, which may be helpful in analyzing potential error cases.</t>

<t><list style="symbols">
  <t>"connect-success": Pledge could successfully establish a connection to another peer.
Additional information may be provided in the reason or reason-context.
The pledge signs the response message using its LDevID(Pledge).</t>
  <t>"connect-error": Pledge connection establishment terminated with error.
Additional information may be provided in the reason or reason-context.
The pledge signs the response message using its LDevID(Pledge).</t>
</list></t>

<t>The pledge-status responses are cumulative in the sense that connect-success implies enroll-success, which in turn implies voucher-success.</t>

<t><xref target="stat_res"/> provides an example for the bootstrapping-status information.</t>

<figure title="Example of pledge-status response" anchor="stat_res"><artwork align="left"><![CDATA[
# The pledge "status-response" in General JWS Serialization syntax
{
  "payload": "BASE64URL(status-response)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": BASE64URL(JWS Signature)
    }
  ]
}

# Example: Decoded payload "status-response" representation
  in JSON syntax
{
  "version": 1,
  "status": "enroll-success",
  "reason-context": {
    "additional" : "JSON"
  }
}

# Example: Decoded "JWS Protected Header" representation
  in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ],
  "typ": "jose+json
}
]]></artwork></figure>

<t><list style="symbols">
  <t>In case "factory-default" the pledge does not possess the domain certificate resp. the domain trust-anchor.
It will not be able to verify the signature of the registrar-agent in the bootstrapping-status request.</t>
  <t>In cases "vouchered" and "enrolled" the pledge already possesses the domain certificate (has domain trust-anchor) and can therefore validate the signature of the registrar-agent.
If validation of the JWS signature fails, the pledge <bcp14>SHOULD</bcp14> respond with the HTTP 403 Forbidden status code.</t>
  <t>The HTTP 406 Not Acceptable status code <bcp14>SHOULD</bcp14> be used, if the Accept header in the request indicates an unknown or unsupported format.</t>
  <t>The HTTP 415 Unsupported Media Type status code <bcp14>SHOULD</bcp14> be used, if the Content-Type of the request is an unknown or unsupported format.</t>
  <t>The HTTP 400 Bad Request status code <bcp14>SHOULD</bcp14> be used, if the Accept/Content-Type headers are correct but nevertheless the status-request cannot be correctly parsed.</t>
</list></t>

<t>The pledge <bcp14>SHOULD</bcp14> by default only respond to requests from nodes it can authenticate (such as registrar
agent), once the pledge is enrolled with CA certificates and a matching domain certificate.</t>

</section>
</section>
</section>
<section anchor="artifacts"><name>Artifacts</name>

<section anchor="voucher-request-prm-yang"><name>Voucher-Request Artifact</name>

<t><xref target="I-D.ietf-anima-rfc8366bis"/> extends the voucher-request as defined in <xref target="RFC8995"/> to include additional fields necessary for handling bootstrapping in the pledge-responder-mode.
These additional fields are defined in <xref target="exchanges_uc2_1"/> as:</t>

<t><list style="symbols">
  <t>agent-signed-data to provide a JSON encoded artifact from the involved registrar-agent, which allows the registrar to verify the agent's involvement</t>
  <t>agent-provided-proximity-registrar-cert to provide the registrar certificate visible to the registrar-agent, comparable to the registrar-proximity-certificate used in <xref target="RFC8995"/></t>
  <t>agent-signing certificate to optionally provide the registrar agent signing certificate.</t>
</list></t>

<t>Examples for the application of these fields in the context of a PVR are provided in <xref target="exchanges_uc2_2"/>.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document requires the following IANA actions.</t>

<section anchor="brski-well-known-registry"><name>BRSKI .well-known Registry</name>

<t>IANA is requested to enhance the Registry entitled: "BRSKI Well-Known URIs" with the following endpoints:</t>

<figure><artwork align="left"><![CDATA[
 URI                Description                       Reference
 tpvr               create pledge voucher-request     [THISRFC]
 tper               create pledge enrollment-request  [THISRFC]
 svr                supply voucher-response           [THISRFC]
 ser                supply enrollment-response        [THISRFC]
 scac               supply CA certificates to pledge  [THISRFC]
 qps                query pledge status               [THISRFC]
 requestenroll      supply PER to registrar           [THISRFC]
 wrappedcacerts     request wrapped CA certificates   [THISRFC]

]]></artwork></figure>

</section>
</section>
<section anchor="privacy-considerations"><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>

<t><list style="symbols">
  <t>the introduction of the additional component registrar-agent</t>
  <t>potentially no transport layer security between registrar-agent and pledge</t>
</list></t>

<t><xref target="exchanges_uc2_1"/> describes to optional 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 credential 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 LDevID certificate associated with the commissioning device instead of an LDevID certificate associated with the service technician operating the device.
This avoids revealing potentially included personal information to Registrar and MASA.</t>

<t>The communication between the pledge and the registrar-agent is performed over plain HTTP.
Therefore, it is subject to disclosure by a Dolev-Yao attacker (an "oppressive observer")<xref target="onpath"/>.
Depending on the requests and responses, the following information is disclosed.</t>

<t><list style="symbols">
  <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 unencrypted.
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>
  <t>the Timestamp data could reveal the activation time of the device.</t>
  <t>the Status data of the device could reveal information about the current state of the device in the domain network.</t>
</list></t>

</section>
<section anchor="sec_cons"><name>Security Considerations</name>

<t>In general, the security considerations of <xref target="RFC8995"/> apply for BRSKI-PRM also.
Further security aspects are considered here related to:</t>

<t><list style="symbols">
  <t>the introduction of the additional component registrar-agent</t>
  <t>the reversal of the pledge communication direction (push mode, compared to BRSKI)</t>
  <t>no transport layer security between registrar-agent and pledge</t>
</list></t>

<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 limited 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 resent the PVR previously sent.
Note that in case of resending, 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 "proximity-registrar-cert" field in the PVR matches its own registrar LDevID 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 IDevID certificate of the pledge. (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 EE (RegAgt) certificate data contained in the PVR.</t>

<t>Misbinding of a pledge by a faked domain registrar is countered as described in BRSKI security considerations <xref target="RFC8995"/> (Section 11.4).</t>

</section>
<section anchor="sec_cons_reg-agt"><name>Misuse of Registrar-Agent Credentials</name>

<t>Concerns of misusage of a registrar-agent with a valid EE (RegAgt) 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 EE (RegAgt) certificate may have been acquired by a prior BRSKI run for the registrar-agent, if an IDevID is available on registrar-agent.
Alternatively, the EE (RegAgt) 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 EE (RegAgt) 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 EE (RegAgt) 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".
Furthermore the registrar also verifies the EE (RegAgt) 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.</t>

</section>
<section anchor="sec_cons_mDNS"><name>Misuse of mDNS to obtain list of pledges</name>

<t>To discover a specific pledge a registrar-agent may request the service name in combination with the product-serial-number of a specific pledge.
The pledge reacts on this if its product-serial-number is part of the request 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 a 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 target="RFC8995"/> Section 11.7 (Security Considerations) apply.</t>

<t>The YANG module specified in <xref target="I-D.ietf-anima-rfc8366bis"/> defines the schema for data that is subsequently encapsulated by a JOSE signed-data Content-type as described in <xref target="I-D.ietf-anima-jws-voucher"/>.
As such, all of the YANG-modeled data is protected against modification.</t>

<t>The use of YANG to define data structures via the <xref target="RFC8971"/> "structure" statement, is relatively
new and distinct from the traditional use of YANG to define an API accessed by network management protocols such as NETCONF <xref target="RFC6241"/> and RESTCONF <xref target="RFC8040"/>.
For this reason, these guidelines do not follow the template described by <xref target="RFC8407"/> Section 3.7 (Security Considerations Section).</t>

</section>
</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>We would like to thank the various reviewers, in particular Brian E. Carpenter, 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, and Christian Spindler.
Special thanks to Esko Dijk for the in deep review and the improving proposals.
Support in PoC implementations and comments resulting from the implementation was provided by Hong Rui Li and He Peng Jia.</t>

</section>


  </middle>

  <back>


    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC5280">
  <front>
    <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
    <author fullname="D. Cooper" initials="D." surname="Cooper"/>
    <author fullname="S. Santesson" initials="S." surname="Santesson"/>
    <author fullname="S. Farrell" initials="S." surname="Farrell"/>
    <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
    <author fullname="R. Housley" initials="R." surname="Housley"/>
    <author fullname="W. Polk" initials="W." surname="Polk"/>
    <date month="May" year="2008"/>
    <abstract>
      <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5280"/>
  <seriesInfo name="DOI" value="10.17487/RFC5280"/>
</reference>

<reference anchor="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="RFC8040">
  <front>
    <title>RESTCONF Protocol</title>
    <author fullname="A. Bierman" initials="A." surname="Bierman"/>
    <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
    <author fullname="K. Watsen" initials="K." surname="Watsen"/>
    <date month="January" year="2017"/>
    <abstract>
      <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8040"/>
  <seriesInfo name="DOI" value="10.17487/RFC8040"/>
</reference>

<reference anchor="RFC8366">
  <front>
    <title>A Voucher Artifact for Bootstrapping Protocols</title>
    <author fullname="K. Watsen" initials="K." surname="Watsen"/>
    <author fullname="M. Richardson" initials="M." surname="Richardson"/>
    <author fullname="M. Pritikin" initials="M." surname="Pritikin"/>
    <author fullname="T. Eckert" initials="T." surname="Eckert"/>
    <date month="May" year="2018"/>
    <abstract>
      <t>This document defines a strategy to securely assign a pledge to an owner using an artifact signed, directly or indirectly, by the pledge's manufacturer. This artifact is known as a "voucher".</t>
      <t>This document defines an artifact format as a YANG-defined JSON document that has been signed using a Cryptographic Message Syntax (CMS) structure. Other YANG-derived formats are possible. The voucher artifact is normally generated by the pledge's manufacturer (i.e., the Manufacturer Authorized Signing Authority (MASA)).</t>
      <t>This document only defines the voucher artifact, leaving it to other documents to describe specialized protocols for accessing it.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8366"/>
  <seriesInfo name="DOI" value="10.17487/RFC8366"/>
</reference>

<reference anchor="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="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="29" month="August" year="2023"/>
      <abstract>
	 <t>   [TODO: I-D.draft-ietf-anima-rfc8366bis] defines a digital artifact
   called voucher as a YANG-defined JSON document that is signed using a
   Cryptographic Message Syntax (CMS) structure.  This document
   introduces a variant of the voucher artifact in which CMS is replaced
   by the JSON Object Signing and Encryption (JOSE) mechanism described
   in RFC7515 to support deployments in which JOSE is preferred over
   CMS.

   In addition to explaining how the format is created, the
   &quot;application/voucher-jws+json&quot; media type is registered and examples
   are provided.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-anima-jws-voucher-09"/>
   
</reference>


<reference anchor="I-D.ietf-netconf-sztp-csr">
   <front>
      <title>Conveying a Certificate Signing Request (CSR) in a Secure Zero Touch Provisioning (SZTP) Bootstrapping Request</title>
      <author fullname="Kent Watsen" initials="K." surname="Watsen">
         <organization>Watsen Networks</organization>
      </author>
      <author fullname="Russ Housley" initials="R." surname="Housley">
         <organization>Vigil Security, LLC</organization>
      </author>
      <author fullname="Sean Turner" initials="S." surname="Turner">
         <organization>sn3rd</organization>
      </author>
      <date day="2" month="March" year="2022"/>
      <abstract>
	 <t>   This draft extends the input to the &quot;get-bootstrapping-data&quot; RPC
   defined in RFC 8572 to include an optional certificate signing
   request (CSR), enabling a bootstrapping device to additionally obtain
   an identity certificate (e.g., an LDevID from IEEE 802.1AR) as part
   of the &quot;onboarding information&quot; response provided in the RPC-reply.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-netconf-sztp-csr-14"/>
   
</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="22" month="August" year="2023"/>
      <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&#x27;s manufacturer.  This artifact is known as a &quot;voucher&quot;.

   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&#x27;s
   manufacturer (i.e., the Manufacturer Authorized Signing Authority
   (MASA)).

   This document updates RFC8366, merging a number of extensions into
   the YANG.  The RFC8995 voucher request is also merged into this
   document.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-anima-rfc8366bis-10"/>
   
</reference>

<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>

<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>




    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="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="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="RFC6125">
  <front>
    <title>Representation and Verification of Domain-Based Application Service Identity within Internet Public Key Infrastructure Using X.509 (PKIX) Certificates in the Context of Transport Layer Security (TLS)</title>
    <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
    <author fullname="J. Hodges" initials="J." surname="Hodges"/>
    <date month="March" year="2011"/>
    <abstract>
      <t>Many application technologies enable secure communication between two entities by means of Internet Public Key Infrastructure Using X.509 (PKIX) certificates in the context of Transport Layer Security (TLS). This document specifies procedures for representing and verifying the identity of application services in such interactions. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6125"/>
  <seriesInfo name="DOI" value="10.17487/RFC6125"/>
</reference>

<reference anchor="RFC6241">
  <front>
    <title>Network Configuration Protocol (NETCONF)</title>
    <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
    <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
    <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
    <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
    <date month="June" year="2011"/>
    <abstract>
      <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6241"/>
  <seriesInfo name="DOI" value="10.17487/RFC6241"/>
</reference>

<reference anchor="RFC7252">
  <front>
    <title>The Constrained Application Protocol (CoAP)</title>
    <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
    <author fullname="K. Hartke" initials="K." surname="Hartke"/>
    <author fullname="C. Bormann" initials="C." surname="Bormann"/>
    <date month="June" year="2014"/>
    <abstract>
      <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
      <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7252"/>
  <seriesInfo name="DOI" value="10.17487/RFC7252"/>
</reference>

<reference anchor="RFC8152">
  <front>
    <title>CBOR Object Signing and Encryption (COSE)</title>
    <author fullname="J. Schaad" initials="J." surname="Schaad"/>
    <date month="July" year="2017"/>
    <abstract>
      <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need for the ability to have basic security services defined 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>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8152"/>
  <seriesInfo name="DOI" value="10.17487/RFC8152"/>
</reference>

<reference anchor="RFC8407">
  <front>
    <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
    <author fullname="A. Bierman" initials="A." surname="Bierman"/>
    <date month="October" year="2018"/>
    <abstract>
      <t>This memo provides guidelines for authors and reviewers of specifications containing YANG modules. Recommendations and procedures are defined, which are intended to increase interoperability and usability of Network Configuration Protocol (NETCONF) and RESTCONF protocol implementations that utilize YANG modules. This document obsoletes RFC 6087.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="216"/>
  <seriesInfo name="RFC" value="8407"/>
  <seriesInfo name="DOI" value="10.17487/RFC8407"/>
</reference>

<reference anchor="RFC8792">
  <front>
    <title>Handling Long Lines in Content of Internet-Drafts and RFCs</title>
    <author fullname="K. Watsen" initials="K." surname="Watsen"/>
    <author fullname="E. Auerswald" initials="E." surname="Auerswald"/>
    <author fullname="A. Farrel" initials="A." surname="Farrel"/>
    <author fullname="Q. Wu" initials="Q." surname="Wu"/>
    <date month="June" year="2020"/>
    <abstract>
      <t>This document defines two strategies for handling long lines in width-bounded text content. One strategy, called the "single backslash" strategy, is based on the historical use of a single backslash ('\') character to indicate where line-folding has occurred, with the continuation occurring with the first character that is not a space character (' ') on the next line. The second strategy, called the "double backslash" strategy, extends the first strategy by adding a second backslash character to identify where the continuation begins and is thereby able to handle cases not supported by the first strategy. Both strategies use a self-describing header enabling automated reconstitution of the original content.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8792"/>
  <seriesInfo name="DOI" value="10.17487/RFC8792"/>
</reference>

<reference anchor="RFC8990">
  <front>
    <title>GeneRic Autonomic Signaling Protocol (GRASP)</title>
    <author fullname="C. Bormann" initials="C." surname="Bormann"/>
    <author fullname="B. Carpenter" initials="B." role="editor" surname="Carpenter"/>
    <author fullname="B. Liu" initials="B." role="editor" surname="Liu"/>
    <date month="May" year="2021"/>
    <abstract>
      <t>This document specifies the GeneRic Autonomic Signaling Protocol (GRASP), which enables autonomic nodes and Autonomic Service Agents to dynamically discover peers, to synchronize state with each other, and to negotiate parameter settings with each other. GRASP depends on an external security environment that is described elsewhere. The technical objectives and parameters for specific application scenarios are to be described in separate documents. Appendices briefly discuss requirements for the protocol and existing protocols with comparable features.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8990"/>
  <seriesInfo name="DOI" value="10.17487/RFC8990"/>
</reference>

<reference anchor="RFC9052">
  <front>
    <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
    <author fullname="J. Schaad" initials="J." surname="Schaad"/>
    <date month="August" year="2022"/>
    <abstract>
      <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
      <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="96"/>
  <seriesInfo name="RFC" value="9052"/>
  <seriesInfo name="DOI" value="10.17487/RFC9052"/>
</reference>

<reference anchor="RFC9053">
  <front>
    <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</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 a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
      <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9053"/>
  <seriesInfo name="DOI" value="10.17487/RFC9053"/>
</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="I-D.ietf-anima-brski-ae">
   <front>
      <title>BRSKI-AE: Alternative Enrollment Protocols in BRSKI</title>
      <author fullname="David von Oheimb" initials="D." surname="von Oheimb">
         <organization>Siemens AG</organization>
      </author>
      <author fullname="Steffen Fries" initials="S." surname="Fries">
         <organization>Siemens AG</organization>
      </author>
      <author fullname="Hendrik Brockhaus" initials="H." surname="Brockhaus">
         <organization>Siemens AG</organization>
      </author>
      <date day="20" month="October" year="2023"/>
      <abstract>
	 <t>   This document defines an enhancement of Bootstrapping Remote Secure
   Key Infrastructure (BRSKI, RFC 8995) that supports alternative
   certificate enrollment protocols, such as CMP.  This offers the
   following advantages.

   Using authenticated self-contained signed objects for certification
   requests and responses, their origin can be authenticated
   independently of message transfer.  This supports end-to-end
   authentication (proof of origin) also over multiple hops, as well as
   asynchronous operation of certificate enrollment.  This in turn
   provides architectural flexibility where to ultimately authenticate
   and authorize certification requests while retaining full-strength
   integrity and authenticity of certification requests.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-anima-brski-ae-06"/>
   
</reference>


<reference anchor="I-D.richardson-emu-eap-onboarding">
   <front>
      <title>EAP defaults for devices that need to onboard</title>
      <author fullname="Alan DeKok" initials="A." surname="DeKok">
         <organization>FreeRADIUS</organization>
      </author>
      <author fullname="Michael Richardson" initials="M." surname="Richardson">
         <organization>Sandelman Software Works</organization>
      </author>
      <date day="2" month="April" year="2023"/>
      <abstract>
	 <t>   This document describes a method by which an unconfigured device can
   use EAP to join a network on which further device onboarding, network
   attestation or other remediation can be done.  While RFC 5216
   supports EAP-TLS without a client certificate, that document defines
   no method by which unauthenticated EAP-TLS can be used.  This draft
   addresses that issue.  First, by defining the @eap.arpa domain, and
   second by showing how it can be used to provide quarantined network
   access for onboarding unauthenticated devices.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-richardson-emu-eap-onboarding-03"/>
   
</reference>


<reference anchor="I-D.eckert-anima-brski-discovery">
   <front>
      <title>Discovery for BRSKI variations</title>
      <author fullname="Toerless Eckert" initials="T. T." surname="Eckert">
         <organization>Futurewei USA</organization>
      </author>
      <date day="18" month="September" year="2023"/>
      <abstract>
	 <t>   This document specifies how BRSKI entities, such as registrars,
   proxies, pledges or others that are acting as responders, can be
   discovered and selected by BRSKI entities acting as initiators.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-eckert-anima-brski-discovery-00"/>
   
</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" >
  <front>
    <title>Abstract BRSKI-PRM Protocol Overview</title>
    <author >
      <organization></organization>
    </author>
    <date year="2022" month="March"/>
  </front>
  <format type="PDF" target="https://datatracker.ietf.org/meeting/113/materials/slides-113-anima-update-on-brski-with-pledge-in-responder-mode-brski-prm-00"/>
</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></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="androidnsd" target="https://developer.android.com/training/connect-devices-wirelessly">
  <front>
    <title>Android Developer: Connect devices wirelessly</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </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></organization>
    </author>
    <date year="n.d."/>
  </front>
  <seriesInfo name="archived at" value="https://web.archive.org/web/20230326153937/https://developer.android.com/training/articles/security-ssl"/>
</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="11" month="May" year="2023"/>
      <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-07"/>
   
</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="6" month="August" year="2023"/>
      <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-02"/>
   
</reference>




    </references>


<?line 2163?>

<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: 4649 bytes</t>

<figure title="Example Pledge Voucher-Request - PVR" anchor="ExamplePledgeVoucherRequestfigure"><artwork align="left"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "payload":
    "eyJpZXRmLXZvdWNoZXItcmVxdWVzdC1wcm06dm91Y2hlciI6eyJhc3NlcnRpb24\
iOiJhZ2VudC1wcm94aW1pdHkiLCJzZXJpYWwtbnVtYmVyIjoiMDEyMzQ1Njc4OSIsIm5\
vbmNlIjoiTDNJSjZocHRIQ0lRb054YWFiOUhXQT09IiwiY3JlYXRlZC1vbiI6IjIwMjI\
tMDQtMjZUMDU6MTY6MTcuNzA5WiIsImFnZW50LXByb3ZpZGVkLXByb3hpbWl0eS1yZWd\
pc3RyYXItY2VydCI6Ik1JSUI0akNDQVlpZ0F3SUJBZ0lHQVhZNzJiYlpNQW9HQ0NxR1N\
NNDlCQU1DTURVeEV6QVJCZ05WQkFvTUNrMTVRblZ6YVc1bGMzTXhEVEFMQmdOVkJBY01\
CRk5wZEdVeER6QU5CZ05WQkFNTUJsUmxjM1JEUVRBZUZ3MHlNREV5TURjd05qRTRNVEp\
hRncwek1ERXlNRGN3TmpFNE1USmFNRDR4RXpBUkJnTlZCQW9NQ2sxNVFuVnphVzVsYzN\
NeERUQUxCZ05WQkFjTUJGTnBkR1V4R0RBV0JnTlZCQU1NRDBSdmJXRnBibEpsWjJsemR\
ISmhjakJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCQmsxNksvaTc5b1J\
rSzVZYmVQZzhVU1I4L3VzMWRQVWlaSE10b2tTZHFLVzVmbldzQmQrcVJMN1dSZmZlV2t\
5Z2Vib0pmSWxsdXJjaTI1d25oaU9WQ0dqZXpCNU1CMEdBMVVkSlFRV01CUUdDQ3NHQVF\
VRkJ3TUJCZ2dyQmdFRkJRY0RIREFPQmdOVkhROEJBZjhFQkFNQ0I0QXdTQVlEVlIwUkJ\
FRXdQNElkY21WbmFYTjBjbUZ5TFhSbGMzUXVjMmxsYldWdWN5MWlkQzV1WlhTQ0huSmx\
aMmx6ZEhKaGNpMTBaWE4wTmk1emFXVnRaVzV6TFdKMExtNWxkREFLQmdncWhrak9QUVF\
EQWdOSUFEQkZBaUJ4bGRCaFpxMEV2NUpMMlByV0N0eVM2aERZVzF5Q08vUmF1YnBDN01\
hSURnSWhBTFNKYmdMbmdoYmJBZzBkY1dGVVZvL2dHTjAvand6SlowU2wyaDR4SVhrMSI\
sImFnZW50LXNpZ25lZC1kYXRhIjoiZXlKd1lYbHNiMkZrSWpvaVpYbEtjRnBZVW0xTVd\
GcDJaRmRPYjFwWVNYUmpiVlo0WkZkV2VtUkRNWGRqYlRBMldWZGtiR0p1VVhSak1teHV\
ZbTFXYTB4WFVtaGtSMFZwVDI1emFWa3pTbXhaV0ZKc1drTXhkbUpwU1RaSmFrbDNUV3B\
KZEUxRVVYUk5hbHBWVFVSVk5rMUVZelpPUkVWMVRrUlJORmRwU1hOSmJrNXNZMjFzYUd\
KRE1YVmtWekZwV2xoSmFVOXBTWGROVkVsNlRrUlZNazU2WnpWSmJqRTVJaXdpYzJsbmJ\
tRjBkWEpsY3lJNlczc2ljSEp2ZEdWamRHVmtJam9pWlhsS2NtRlhVV2xQYVVwWlkwaHd\
jMVJWZERSaVNFSkNUbXBvYWxaVVZrZFZWVEZaVmxoYWRWTldVVEpWV0dNNVNXbDNhVmx\
YZUc1SmFtOXBVbFpOZVU1VVdXbG1VU0lzSW5OcFoyNWhkSFZ5WlNJNklrY3pWM2hHU0d\
WMFdGQTRiR3hTVmkwNWRXSnlURmxxU25aUllUWmZlUzFRYWxGWk5FNWhkMW81Y0ZKaGI\
yeE9TbTlFTm1SbFpXdHVTVjlGV0daemVWWlRZbmM0VTBONlRWcE1iakJoUVhWb2FVZFp\
UakJSSW4xZGZRPT0iLCJhZ2VudC1zaWduLWNlcnQiOlsiTUlJQjFEQ0NBWHFnQXdJQkF\
nSUVZbWQ0T1RBS0JnZ3Foa2pPUFFRREFqQStNUk13RVFZRFZRUUtEQXBOZVVKMWMybHV\
aWE56TVEwd0N3WURWUVFIREFSVGFYUmxNUmd3RmdZRFZRUUREQTlVWlhOMFVIVnphRTF\
2WkdWc1EwRXdIaGNOTWpJd05ESTJNRFEwTWpNeldoY05Nekl3TkRJMk1EUTBNak16V2p\
BOU1STXdFUVlEVlFRS0RBcE5lVUoxYzJsdVpYTnpNUTB3Q3dZRFZRUUhEQVJUYVhSbE1\
SY3dGUVlEVlFRRERBNVNaV2RwYzNSeVlYSkJaMlZ1ZERCWk1CTUdCeXFHU000OUFnRUd\
DQ3FHU000OUF3RUhBMElBQkd4bHJOZmozaVJiNy9CUW9kVys1WWlvT3poK2pJdHlxdVJ\
JTy9XejdZb1czaXdEYzNGeGV3TFZmekNyNU52RDEzWmFGYjdmcmFuK3Q5b3RZNVdMaEo\
2alp6QmxNQTRHQTFVZER3RUIvd1FFQXdJSGdEQWZCZ05WSFNNRUdEQVdnQlJ2b1QxdWR\
lMmY2TEVRaFU3SEhqK3ZKL2Q3SXpBZEJnTlZIUTRFRmdRVVhwemxNS3hscEE2OGNVNUZ\
RTVhVdm5JVDZRd3dFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUtvWkl6ajB\
FQXdJRFNBQXdSUUlnYzJ5NnhvT3RvUUJsSnNnbE9MMVZ4SEdvc1R5cEVxUmZ6MFF2NFp\
FUHY0d0NJUUNWeWIyRjl6VjNuOTUrb2xnZkZKZ1pUV0V6NGRTYUYzaHpSUWIzWnVCMjl\
RPT0iLCJNSUlCekRDQ0FYR2dBd0lCQWdJRVhYakhwREFLQmdncWhrak9QUVFEQWpBMU1\
STXdFUVlEVlFRS0RBcE5lVUoxYzJsdVpYTnpNUTB3Q3dZRFZRUUhEQVJUYVhSbE1ROHd\
EUVlEVlFRRERBWlVaWE4wUTBFd0hoY05NVGt3T1RFeE1UQXdPRE0yV2hjTk1qa3dPVEV\
4TVRBd09ETTJXakErTVJNd0VRWURWUVFLREFwTmVVSjFjMmx1WlhOek1RMHdDd1lEVlF\
RSERBUlRhWFJsTVJnd0ZnWURWUVFEREE5VVpYTjBVSFZ6YUUxdlpHVnNRMEV3V1RBVEJ\
nY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVRsRzBmd1QzM29leloxdmtIUWJldGV\
ibWorQm9WK1pGc2pjZlF3MlRPa0pQaE9rT2ZBYnU5YlMxcVppOHlhRVY4b2VyS2wvNlp\
YYmZ4T21CanJScmNYbzJZd1pEQVNCZ05WSFJNQkFmOEVDREFHQVFIL0FnRUFNQTRHQTF\
VZER3RUIvd1FFQXdJQ0JEQWZCZ05WSFNNRUdEQVdnQlRvWklNelFkc0Qvai8rZ1gvN2N\
CSnVjSC9YbWpBZEJnTlZIUTRFRmdRVWI2RTliblh0bitpeEVJVk94eDQvcnlmM2V5TXd\
DZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBUG5CMHcxTkN1cmhNeEp3d2ZqejdnRGlpeGt\
VWUxQU1o5ZU45a29oTlFVakFpRUF3NFk3bHR4V2lQd0t0MUo5bmp5ZkRObDVNdUVEQml\
teFIzQ1hvWktHUXJVPSJdfX0",
    "signatures":[{
      "protected":"eyJ4NWMiOlsiTUlJQitUQ0NBYUNnQXdJQkFnSUdBWG5WanNVN\
U1Bb0dDQ3FHU000OUJBTUNNRDB4Q3pBSkJnTlZCQVlUQWtGUk1SVXdFd1lEVlFRS0RBe\
EthVzVuU21sdVowTnZjbkF4RnpBVkJnTlZCQU1NRGtwcGJtZEthVzVuVkdWemRFTkJNQ\
0FYRFRJeE1EWXdOREExTkRZeE5Gb1lEems1T1RreE1qTXhNak0xT1RVNVdqQlNNUXN3Q\
1FZRFZRUUdFd0pCVVRFVk1CTUdBMVVFQ2d3TVNtbHVaMHBwYm1kRGIzSndNUk13RVFZR\
FZRUUZFd293TVRJek5EVTJOemc1TVJjd0ZRWURWUVFEREE1S2FXNW5TbWx1WjBSbGRtb\
GpaVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCQzc5bGlhUmNCalpjR\
UVYdzdyVWVhdnRHSkF1SDRwazRJNDJ2YUJNc1UxMWlMRENDTGtWaHRVVjIxbXZhS0N2T\
XgyWStTTWdROGZmd0wyM3ozVElWQldqZFRCek1Dc0dDQ3NHQVFVRkJ3RWdCQjhXSFcxa\
GMyRXRkR1Z6ZEM1emFXVnRaVzV6TFdKMExtNWxkRG81TkRRek1COEdBMVVkSXdRWU1CY\
UFGRlFMak56UFwvU1wva291alF3amc1RTVmdndjWWJNQk1HQTFVZEpRUU1NQW9HQ0NzR\
0FRVUZCd01DTUE0R0ExVWREd0VCXC93UUVBd0lIZ0RBS0JnZ3Foa2pPUFFRREFnTkhBR\
EJFQWlCdTN3UkJMc0pNUDVzTTA3MEgrVUZyeU5VNmdLekxPUmNGeVJST2xxcUhpZ0lnW\
ENtSkxUekVsdkQycG9LNmR4NmwxXC91eW1UbmJRRERmSmxhdHVYMlJvT0U9Il0sImFsZ\
yI6IkVTMjU2In0",
      "signature":"Y_ohapnmvbwjLuUicOB7NAmbGM7igBfpUlkKUuSNdG-eDI4BQ\
yuXZ2aw93zZId45R7XxAK-12YKIx6qLjiPjMw"
  }]
}
]]></artwork></figure>

</section>
<section anchor="example-parboiled-registrar-voucher-request-rvr-from-registrar-to-masa"><name>Example Parboiled Registrar Voucher-Request - RVR (from Registrar to MASA)</name>

<t>The term parboiled refers to food which is partially cooked.  In <xref target="RFC8995"/>, the term refers to a Pledge voucher-request (PVR) which has
been received by the Registrar, and then has been processed by the Registrar ("cooked"), and is now being forwarded to the MASA.</t>

<t>The following is an example Registrar voucher-request (RVR) sent from the Registrar to the MASA, in "General JWS JSON Serialization".
Note that the previous PVR can be seen in the payload as "prior-signed-voucher-request".
The message size of this RVR is: 13257 bytes</t>

<figure title="Example Registrar Voucher-Request - RVR" anchor="ExampleRegistrarVoucherRequestfigure"><artwork align="left"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "payload":
    "eyJpZXRmLXZvdWNoZXItcmVxdWVzdC1wcm06dm91Y2hlciI6eyJhc3NlcnRpb24\
iOiJhZ2VudC1wcm94aW1pdHkiLCJzZXJpYWwtbnVtYmVyIjoiY2FmZmUtOTg3NDUiLCJ\
ub25jZSI6ImM1VEVPb29NTE5hNEN4L1UrVExoQ3c9PSIsInByaW9yLXNpZ25lZC12b3V\
jaGVyLXJlcXVlc3QiOiJleUp3WVhsc2IyRmtJam9pWlhsS2NGcFlVbTFNV0ZwMlpGZE9\
iMXBZU1hSamJWWjRaRmRXZW1SRE1YZGpiVEEyWkcwNU1Wa3lhR3hqYVVrMlpYbEthR01\
6VG14amJsSndZakkwYVU5cFNtaGFNbFoxWkVNeGQyTnRPVFJoVnpGd1pFaHJhVXhEU25\
wYVdFcHdXVmQzZEdKdVZuUlpiVlo1U1dwdmFWa3lSbTFhYlZWMFQxUm5NMDVFVldsTVE\
wcDFZakkxYWxwVFNUWkpiVTB4VmtWV1VHSXlPVTVVUlRWb1RrVk9ORXd4VlhKV1JYaHZ\
VVE5qT1ZCVFNYTkpiVTU1V2xkR01GcFhVWFJpTWpScFQybEplVTFFU1hsTVZFRjVURlJ\
KZVZaRVFUTlBhazE2VDJwQk5FeHFSVFZPYkc5cFRFTkthRm95Vm5Wa1F6RjNZMjA1TW1\
GWFVteGFRekYzWTIwNU5HRlhNWEJrU0d0MFkyMVdibUZZVGpCamJVWjVURmRPYkdOdVV\
XbFBhVXBPVTFWc1JGSkdVa1JSTUVacFZESmtRbVF3YkVOUlYyUktVakJHV1ZkWVRuZFR\
WMVoyVkZWR2RsSXdUa1JqVldSVVZGUlJOVkZyUms1Uk1ERkhaRE5vUkdWclJrdFJiV1J\
QVm10S1FsZFdVa0poTUZwVFZGWktTbVF3VmtKWFZWSlhWVlpHVEZKRlJuTlViVlpXVkc\
1YWFWZEZTbTlaYlRWeVpVVmFWVkZXVWtOYU1EVlhVV3RHZWxSVlVrWk5WRlpXVFRGYWN\
GbDZTbk5oTWtaWVVtNXNiRlpGVmxGVVZVVjNVakJGZUZaVlZrTmtNMlJJVmtab2MxWkh\
SbGxWYlhoT1ZXdFdNMUpJWkZwU1JscFNWVlZTUlZGWGFFOWFWbHBQWTBkU1NGWnJVbEp\
XUlVac1VtNWpkMlZWTVVWU1dHeE9Va1pHTTFSdWNFcE5WVFZGWVVkR1IyUjZRalpVVlZ\
KR1pWVXhSVlZZWkU5bGEydDRWR3RTYjFsVk1VaFRXR2hFWld0R1MxRnRaRTlXYTBwQ1Y\
xWlNRbUV3V2xOVVZrcEtaREJXUWxkVlVsZFZWa1pNVWtWR2MxUnRWbFpVYmxwcFYwVkt\
iMWx0TlhKbFJWcEZVVlpPUTFvd05WZFJhMFo2VkZWTmQwMVVWbFpOTVZwd1dYcEtjMkV\
4YkZsVGFsWk9WVlJvTTFKR1JscFNSbHBTVlZWb1JWRldjRTlhVmxwUFkwZFNTRlpZYUV\
oU1JVWllVVzFrVDFaclNrSlVWVEZGVFVSRk1WWlVTbk5OUm5CWFUyMTRZVTF0ZURaYVJ\
XaExZVWRPY1ZGc2NFNVJhekZJVVc1c2VGSXhUazVPUkd4Q1dqQldTRkV3VG5oU01VNU9\
Ua1JzUW1Rd1ZrbFJWRUpLVVZWS1NsVklhRmhrVlRGSlVucG9TMVJIV2taVlJVVTFUMWh\
hZDAxdVZrbFNWVFZxVlROc2JWa3pWVE5VUjJSYVRraEJlRTVGUmtOT01GSk9XbFJGTkU\
xSVRrWmxSV1J4VkZOME0yTnJOVFJPTURVMVdWaE9lRXQ2Um5CTlJXUlVVVEZKTlU1VVV\
UTk5SRVp0VWpKV1dGUldSbWxqVjNCWVpXdEtZVlJWU1hkU01FVjRWbGRTUzFWV1JsaFV\
WVXBTVWpCT1JHTXdaRUpWVmxaSFVXNWtUbEZyU201YU0wcERXakJXUjFGc1JtcFNSV2h\
GVVZVNVExb3dOVmRUUmtVMFVXdEdiVTlGVmtOUlZURkVVV3BTUW1Rd2RFSlhWVkpYVld\
wQ1UxRnJUa1prTUdjd1UxZFNhVmRIZURaWlZtaFRZa2RPZEZadE5XaFhSVFIzV1RJeFI\
yVlZlSFJOVkZaYVRXcHNNRmt3WkVka1YxWlVUbGR3YVUxcVFqTlJNbVJhVTFWMGRsZHJ\
iRFpoYWtKR1VWaGtTbEpHVGtKUldHUlRWVlZzYjFGV1FqVlBXRnBOVTFkR01WVnJWbEp\
qYlhnMVlteGtNRlI2VmxOaVZYQXdZVmhTVW1GNlpFOVhSRkpMVlVoV2RWVklRazlVYXp\
BeFZWUnNRbUZWUm5sa1JVNTBWRVprWVZSVmJFMVdiRTEyVFZWc1JWbFhjR2xqTVU1Sll\
tNXdkbUpYYjNkV1F6a3paVmhKY21Nd2RFdGpRM1IxVFhwU1VsQlVNR2xNUTBwb1dqSld\
kV1JETVhwaFYyUjFXbGRSZEZwSFJqQlpVMGsyU1cxV05WTnVaRnBYUjNoNldXcEtSMkV\
3YkhGaU1teGhWMGQ0VEZrd1duZFhWbFowVFZVeFdGSnVRWGxYYTFwclZESkplR05HYkZ\
SWFJrcHhXV3hhWVU1R2NFZGFSbVJzWWxaS1JWUldhR3RoYlVwVlVWUktXRlp0VW5KWmE\
yUkxaRlpXV1ZWdGNFNWlXR2d4VjFjd2VGWXlSWGRsUm1oV1lsZG9jbFZxUWxkalJsRjV\
UbGh3YUZadGREWlZNakUwVjJ4a1IxTnVUbGhoTURFMFdrY3hTMk5HVGxWWGEzQm9ZVEo\
zZWxaR1pIZFNiVkpHVFZaV1UxZEdTazlXYTFwM1ZteFNWbFZyY0U5aGVrVXlWVlpTWVZ\
Sc1NrWlNha1pWVmxaS1ExcEVSbXRqUms1WlZHdHdhV0Y2Vm5wWFZFbDRZekpHU0ZOclV\
rNVhSbHB5Vm01d1IyTkdaSE5oUlhCb1ZsUnNkMVV5TVhkWGJGbDRZMGhTV0dKRk1UTlV\
iRlUxVWxac05sRnJPVlpOUnpneFYyMTRSbUZWZUVSVGJuQm9WakpTTVZkV2FGTk5WMDU\
wVm01d1NtRnVRbWxhV0d4TFpESk9kRTlVUW1GV01EUjNWMnhrVW1GVk9YQlRiWGhzVmx\
oQ2RsZFhkR3RoYlVaV1QxaENWR0V4Y0ZkYVYzUnlaVVpTZEdKRmNHcE5SM2d3V2tWb1E\
xbFdSWGRoZWtwVVZqTm9kbFZ0ZEhwbFZsWlpVMnhTYVdKclNrcFdhMVpUVVcxV2MxSnV\
VbFJpVlZwVlZXdGFjbVZzVFhwalJ6bFhUVlpHTmxkWWNFTmhiRWw1V1ROa1ZVMUdSak5\
aVm1SaFZXdHNjR1F5YkdwTmJYaDFXVzB4UjAxSFVsbFRiWGhLWVcwNWNGZEVRazlsYXp\
sV1QxWm9VMkpyY0dGWmJHTTFaV3hOZDA5WVZsSlhSMUpUVjFSR1YyRXhiM2RqUlZaWVV\
qRndUVmxzVWt0WFZUbFhVMnhXVjFJd05URlVSazE0WXpGUmQwNVdRbWxTZWxaMlZqSjB\
SazFGT1VaWGJYUlhZa2hCZDFReFVrOWhNbEY0Vld0d1YxWlVWbGRYUkVwaFYyczVWMWR\
1UWxkaVJHdzFWWHBPVDFaV1JuSmhSa3BRVmpOQ2Vsa3haSHBsVjBsNldUSnNiVlpxUlR\
WSmFYZHBXVmRrYkdKdVVYUmpNbXh1WW1reGFscFlTakJKYW5CaVNXc3hTbE5WVGt0U1J\
VNUVVVmRPZUZvd1JqTlRWVXBDV2pCc1JsZEhlSEZSTURGRlVWVjBRMW95WkhoaFIzUnh\
WREZDVWxWVlVrSmhhMHB6VkZaR2VtUXdUbEpYVlZKWFZWWkdTRkpZWkV0UmJGWlZVbFp\
PVGxGclJraFJWRVpXVWxWT2JtUXdjRlZYUjNoRldXcEplR1F4YkZoT1ZGWk9WV3hXTTF\
KWVpGcFNSbHBTVlZWNFJWRllhRTlhVmxwUFRWWnNkVlJ1UW1GU01uaHZXVEkxY21WRlV\
qWlJWVFZEV2pBMVYxRnJSbXBVVlVweVRWUldWazF0ZDNkWGJGSkdXVlV4UTFvd1pFSk5\
WbFpHVVZoa00xVnNVbGxpUmxKb1YwWktjMVpWYUZkbGJVWkdUVmhhWVZJeFducFZWRUp\
HWkRCb2Ixa3dOVTVoYTBZelZGZHdTazVGTVVWWk0zQk9aV3RGZDFZeWFHcFVhekUyVVZ\
oa1RtRnJhekJVVlZKcVpXc3hObEZVUWxoaGEwcDBWRlpHZW1Rd1RsSlhWVkpYVlZaR1N\
GSllaRXRSYkZaVlVsWk9UbEZyUmtoUlZFWldVbFZPYm1Rd2NGVlhSM2hGV1dwSmVHUXh\
iRmhPVkZaT1ZXeFdNMUpZWkZwU1JscFNWVlY0UlZGWWFFOWFWbHBQVFZac2RWUnVRbUZ\
TTW5odldUSTFjbVZGVWpaUlZUVkRXakExVjFGclJtcFVWVXB5VFZSV1ZrMXRkM2RYYkZ\
KR1dXc3hRMkV3WkVKTlZsWkdVVmhrTTFVeFVsbGlSbEpvVjBaS2MxWlZhRmRsYlVaR1R\
WaGFZVkl4V25wVlZtaERaREF4UjJFelpFWmtNV3hKVXpJNVlWTlljSEZOUlU1Q1ZWWnN\
TbE15T1dGVFdIQnhUVVZTUWxWWFRrVlZWMlJDVWxSWmQwMVZPSEppTW5CRVlUTktSVlZ\
1WXpOYU1Hd3lWMnRWTUdGVVRUQmFSMHB2VVROR2NGSjZaSEZpTWprelYyNUJNR1ZJV2p\
aU2JsSk5XbnBhVlZaNlFtOVViVkpKWkd4Q1JWVXhVbnBrVm1oVVpWWmpOV1JJU1hwUld\
HUkVZa2RhUkdJd1VsZFVia1pRWkhwc05WUldaekpVYlRWT1VqRldNMUpIWkZwU1JscFR\
UVVpDUWxWVlozWlJhMFpTVWtWR2JscFZSazVSYW1oSVVWUkdWbHBGYkROVlZteE9VVzF\
HUWxKcmJ6TlRTRkpVWkROQ1RWUklWbEJYYW1ScVlUQkdjMVZWYUZaTk1tUkNWRmRqZGx\
Ock1VTk5SV1JDVFZaV2ExSkhaRkpXTUVwRFZXMU9WVTVVVFRCaWF6RmFaR3hTYWxKdVV\
uSmFia295VGpOb1ZrNHdVbkJpVldoeFpXdEdWVkZ0WkU5V2EyaFVWbFZXUlZKRlJreFJ\
iV1J1WTJ0S2JsSlZXa05WVjA1RlVWZHdRbE13U201YU0wWnZZVEp3VUZWR1JsSlNSVVp\
1Vkd0c1FsSkZTa2RSVjJ4R1VWaENTMDR6YUhkVWJGWXlWVlZ3U0UxRk5XOVVSMGwyV2x\
oU2FVMXFRazFTUmxWNFRtMTRkMVV3YUZCT01rWnNZbnBDVjFkWVozZGxTR1JFVTFWRmN\
sUjZWWFpYVkZwRllVTjBhVkZxU1RSTmFsSXhZVmRHVUZWWFJsWlNSRnB1VVZVMWIxZFV\
iRmRTYlZGeVlXNUtlVmt3VmpKVGJsRnBURU5LVGxOVmJFUlNNVkpFVVRCR2FVc3laRUp\
rTUd4RFVWZGtTbEpXYUhOaGEwVjJaV3RHVEZGdFpHNWpWMmh5WVdzNVVWVldSa1ZSVjN\
CRFdUQXhVbU16WkVSVlZteEZWbXhHVWxJd1ZqTlRhMHBXVmtWV1ZGUlZTa0pTTUVWNFZ\
sVldSRm96WkV0V1JtaHpVa2RKZVUxWVpGcFdlbFV4VkZaS1ZtUXdWak5YVlZKWFZWWkd\
UVkpGUmpSVWJWWlhWR3BHV21Kck5YZFhhMlJ6WVVkT2RXRXphRVZsYTBaUFVXMWtUMVp\
yU2tKWk1ERkRZWHBGTVZaVVNuTk5SbkJWVWxaS1RsRlVhRWhSVkVaV1VsVkdNMlF3YkZ\
WWFIzaFZXVlpvVTJKR1JYZFNXR1JKWVVkT1QxUlhjRUprTURGeFUxUlNUbEpIVGpWVWJ\
uQldUbFprYjFrd05VNWxhMFl6VkZkd1NrNUZNVVZaTTJ4UFpXeFZNVll5Y0VOaVJURlN\
Zek5rUkZWV2JFVldiRVpTVWpCV00xTnJTbFpXUlZaVVZGVktRbEl3UlhoV1ZWWkVXak5\
rUzFaR2FITlNSMGw1VFZoa1dsWjZWVEZVVmtwV1pEQldNMWRWVWxkVlZrWk5Va1ZHTkZ\
SdFZsZFVha1phWW1zMWQxZHJaSE5oUjA1MVlUTm9SV1ZyUms5UmJXUlBWbXRLUWxrd01\
VTmhla1V4VmxSS2MwMUdjRlZTVjBaT1VXMWtTRkZVUmxaU1ZVWXpaREZLVlZkSGVGVlp\
WbWhUWWtaV1NWWnVjR2hTVkVZeVYydGtWMk14UlhkU1dHUllWa1ZHVlZGdFpHcGpWMmh\
5WVdzNVVWVlZiRU5SYldSdVkxZG9jbUZyT1ZGVlZURkRVVzVrVDFFd1JrSlZhM0JEVm0\
wNWVscEZkRE5YVlRVMFlWWkNORk5JV25CU2JrWk1aV3RTYzA5WFdqQlVTRlpPV1ZjeGQ\
xSnNSbXBYU0dONFRXcGthRlJ0T1ZOWmJrNUpUREJhVG1OdE1UWlJNRVpKVFhwak0wMTZ\
UbXBOYlRscFZVZE9jMlJzVG5sWFZVb3lUVVZPTUZZeFJqQlpWRnBvU3pKT2RrMXNiRE5\
YYTFKQ1ZUQktibFJzV2tsVmF6RkRVVmRaTkZKVlRrVlJWV1JDVlZWbmRsRlhaRVpSVlR\
GQ1RrVmtRazFXVm10U1NHUkdVV2s1TTFWVlZrSmtNR3hFVVd0U1FscHJTbTVVYkZwSlZ\
UQXhSbEl3VWtKV01tUkRWVmh3TkdWdVpIZFZia0pOWlZNNWVWUldWbHBsYlVadlRXNU5\
lRTB5VmxaUFYyUkhaV3RHYTFGdFpFOVdhMmhTVGtWV1Ixb3hSbFppYms1c1RWVjRSR0V\
6VGpGT1JGWjFaRWhzVWxFeFdrSmFSbEpzVVZWR05WSkVhSEprTUU1dVYxVnNUR0l4Y0V\
wbGJXOTNVbFZHTTFOVlVsUlJWVVl6Vld4R1NtRkZSa3BqTVd4eldsWndUR015Y0VkVWE\
wNTZVMnQwYkZWSGVFaFVWVVpOV2xoQ1YxcFViRVpVUkdSUFlqTlJNVTFVVmpObFJ6Rlh\
aRlZ3UTFGWGJFSlpNRlpPVmxaV2IxSldUbnBVUm1SUlRsaG9WRlZXVlhkWFNFWTJWbTV\
GTkZkWVduQlNha1pwVm0wNU5sSXpjRFJPV0hCUFdqSk9lbVI2TURsSmJERTVabEVpTEN\
KemFXZHVZWFIxY21WeklqcGJleUp3Y205MFpXTjBaV1FpT2lKbGVVbzBUbGROYVU5c2M\
ybFVWV3hLVVRCb2NWRXdUa0paTVU1dVVWaGtTbEZyUm01VFZXUkNWMGRvTUUxVVVucGl\
NREZDWWpCa1JGRXpSa2hWTURBd1QxVktRbFJWVGs1U1ZtdzBVVE53UWxOclNtNVViRnB\
EVVZac1ZWRlhkRTlUVlRGVFZGaGtSbFZXYkVWV2JFWlNVekJTUW1OR1VtaFdNVm93VjJ\
4ak1XVnJiRVpTYTJoT1ZWUm9NMUpHUmxwU1JscFNWVlY0UlZGV2NFUldhMDVEVWtaV1I\
xUllhRVpXUlVaUlVXMWtUMVpyU2tKVVZURkVVbXh3YzFsdE1WTmtiVTV5Vkd0S1RsRXd\
SbGxTUmxKS1pVVXhSVlJZYkU5aGEwVXhWRmR3U21WVk5WZGlNV3hGWlcxek1WUXhVbkp\
sUlRGeFZGaG9UbUZyTUhoVU1WSldUbFprY1ZGdGFFNVZXRTR6VVRGR1dsSkdXbEpWVld\
SR1pEQndSVlV3VWtaV1JURkRVbFZrUWsxV1ZrWlJNbVF6VXpGVmVXSkhlR2xXTVZveFd\
UTnNRMUZzU2paU1ZrSk9VVlJDU0ZGVVJsWlNWVTR6WkRCa1VtSkdSbTVWVkVaRFZrVXh\
VMVZZWkVaYU1XeEZWbXhHVWxKclZqTmtSM0JhVmpGd2RGZHNUWGRPVlRsRldYcENUMVp\
GVmxoVVZVcFNVakJGZUZaVlZrSmtNMlJQVmxWYWIxSkZNVFZPVlZwUFpXeFdNRlJXVWt\
Ka01VWlZVV3h3VGxGck1VaFJibXg0VWpGT1RrNUViRUphTUZaSVVUQk9lRkl4VGs1T1J\
HeENaREJXU1ZGVVFrcFJWVXBQVFVSb2NWWXdlSHBOUjBadlV6Qm9XbGR1Vm05aVZ6Rmp\
UREpqTkdScVVsaFRNR2d5VVZoU2FGcHNSazFSVTNSS1pGVXhUMkZITVc1aFZ6RllUakJ\
HVG1OdVJtOWlWMHBWVFRCc2FGVkZUalZoUnpGaFUxWk9kMVI2V20xaVUzTXlVMWhhWTB\
3eldrcGphM1J2VlZaU01WWnRPVXhoYldSYVVWaGtiV0ZyUm5aUmJXUnVZMnRLYmxKVld\
rTlZWMDVEVTFWR1Vsa3dVa05qU0ZKYVYwVTFiMVJHYUZOaVIwMTZWVmhXYWsxdGVITlp\
iR1JYWkZkT05VNVhjR2xOYWtFeVZERlNVazFGTVRaUlZsSkRXakExVjFOR1RsWlNWVkp\
GVVZWMFExb3laSGxSYldSR1VtdEtVbGt3VWtKV1JVWlFVVzFrVDFacmFGSlBSVXBDV21\
wb1JsRnJSazVSTUVrd1VWaGtUVlZXYkVWV2JFbDNWV3RLUkZkWVpFdFRWV3h3V2tWa2I\
ySkZlSFZYYlhocFlsWktNbGt5YXpGaGJHeFlUa2hXYVdKVWEzZFVSekV3WkZkSmVsa3p\
WbXRTTW1oM1dUTnJNVTFzYkZobFJFWmhWa1ZHVEZGdFpHNWpWMmh5WVdzNVVWVldSa1Z\
SVjJSUFUxVkdSVkZyV2tKaFZVazFVVzB4ZUZRemNIRlZWR2hzV1ZkamVWTnVVblprVmx\
KdlVsWm9lVm93T1VOWFZsRjNVWHBvWVdSRGREVlBWemxKVWtad1JWbHNVbEpUVjJoQ1Z\
HMXpNbVJIT1ZOaU1sWkVXVmMxYUZSWGNFNVdSWGgwWWxaV2RXSlhTbkphYWtKNldsaGF\
jbEV3YnpSTmJXc3hWbGhHY1ZWcldsZFZVMHBrVEVOS2FHSkhZMmxQYVVwR1ZYcEpNVTV\
wU2praUxDSnphV2R1WVhSMWNtVWlPaUphWTFwa1dYbzBiMUl3UjJKc09UWnFNWGxZWm5\
kdlRYZGxVVGt6VGpCdFNVUmxjVFkyVTBacWRFdG9lR1pSWjNJMGRUWkpOVEJKWldNMmE\
xWTJhSEV3YVcxdlptTlBhVGs0VW1OSVpXUmpNVzFuZHpCWVp5SjlYWDA9IiwiY3JlYXR\
lZC1vbiI6IjIwMjItMDItMjJUMDc6MzM6MjUuMDIwWiIsImFnZW50LXNpZ24tY2VydCI\
6WyJNSUlDSkRDQ0FjcWdBd0lCQWdJRVhsakNNREFLQmdncWhrak9QUVFEQWpCbE1Rc3d\
DUVlEVlFRR0V3SkJVVEVTTUJBR0ExVUVDZ3dKVFhsRGIyMXdZVzU1TVJVd0V3WURWUVF\
MREF4TmVWTjFZbk5wWkdsaGNua3hEekFOQmdOVkJBY01CazE1VTJsMFpURWFNQmdHQTF\
VRUF3d1JUWGxUYVhSbFVIVnphRTF2WkdWc1EwRXdIaGNOTWpBd01qSTRNRGN6TXpBMFd\
oY05NekF3TWpJNE1EY3pNekEwV2pCbU1Rc3dDUVlEVlFRR0V3SkJVVEVTTUJBR0ExVUV\
DZ3dKVFhsRGIyMXdZVzU1TVJVd0V3WURWUVFMREF4TmVWTjFZbk5wWkdsaGNua3hEekF\
OQmdOVkJBY01CazE1VTJsMFpURWJNQmtHQTFVRUF3d1NUWGxUYVhSbFVIVnphRTF2Wkd\
Wc1FYQndNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUU2MDFPK29qQ2t\
yRFJ3N2dJdlpFNGkzNGRiaENxaUc3am9vd1pwNHh2ekZ0TGc2VFcwaE5kSHZQRFNUc3V\
YU3lXOXRyM0F3Q2xmQ29EVk5xT3c5eU1YNk5uTUdVd0RnWURWUjBQQVFIL0JBUURBZ2V\
BTUI4R0ExVWRJd1FZTUJhQUZKN0h0U3dwTEx1T1o3Y2tBbFFIVTNnQU1nL0pNQjBHQTF\
VZERnUVdCQlJjVDUzNG5NWXZUY0Z0a2Zydjd4VTdEaW1IanpBVEJnTlZIU1VFRERBS0J\
nZ3JCZ0VGQlFjREFqQUtCZ2dxaGtqT1BRUURBZ05JQURCRkFpRUFwSjd4cE5VdlFKRzB\
OaExiL2V0YjIwTERVMTZscFNITzdhZW8wVll4MHh3Q0lBK081L1k2RGgrYkIyODI0dWl\
hT1FhVUQ2Z0FOaFk5VkZkK2pycmNFdkp0IiwiTUlJQ0dUQ0NBYitnQXdJQkFnSUVYbGp\
BL3pBS0JnZ3Foa2pPUFFRREFqQmNNUXN3Q1FZRFZRUUdFd0pCVVRFU01CQUdBMVVFQ2d\
3SlRYbERiMjF3WVc1NU1SVXdFd1lEVlFRTERBeE5lVk4xWW5OcFpHbGhjbmt4RHpBTkJ\
nTlZCQWNNQmsxNVUybDBaVEVSTUE4R0ExVUVBd3dJVFhsVGFYUmxRMEV3SGhjTk1qQXd\
Nakk0TURjeU56VTVXaGNOTXpBd01qSTRNRGN5TnpVNVdqQmxNUXN3Q1FZRFZRUUdFd0p\
CVVRFU01CQUdBMVVFQ2d3SlRYbERiMjF3WVc1NU1SVXdFd1lEVlFRTERBeE5lVk4xWW5\
OcFpHbGhjbmt4RHpBTkJnTlZCQWNNQmsxNVUybDBaVEVhTUJnR0ExVUVBd3dSVFhsVGF\
YUmxVSFZ6YUUxdlpHVnNRMEV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkN\
BQVJKQlZvc2RLd1lOeGlQeEh2aUZxS3pEbDlmdEx1TWFtcEZRY1h3MTI3YU5vUmJzSC9\
GTXJtekNBSDM3NzMzYzJvYlBjbHZTcllCdjBDdFdRdGE2YStjbzJZd1pEQVNCZ05WSFJ\
NQkFmOEVDREFHQVFIL0FnRUFNQTRHQTFVZER3RUIvd1FFQXdJQ0JEQWZCZ05WSFNNRUd\
EQVdnQlF6eHp3cFJwTHkvck1VWXphaDJzMTNlVTlnRnpBZEJnTlZIUTRFRmdRVW5zZTF\
MQ2tzdTQ1bnR5UUNWQWRUZUFBeUQ4a3dDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSXN\
ZbGVaS3NqRk5Dc0pLZVBsR01BTGVwVmU5RUw3Tm90NTE1d3htVnVKQkFpQWNFTVVVaEV\
Tc0xXUDV4U1FVMFhxelZxOFl2aUYxYlZvekd6eDV6Tmdjc3c9PSJdfX0",
  "signatures":[{
    "protected":"eyJ4NWMiOlsiTUlJQjhEQ0NBWmFnQXdJQkFnSUdBWEJoTUtZSU1\
Bb0dDQ3FHU000OUJBTUNNRnd4Q3pBSkJnTlZCQVlUQWtGUk1SSXdFQVlEVlFRS0RBbE5\
lVU52YlhCaGJua3hGVEFUQmdOVkJBc01ERTE1VTNWaWMybGthV0Z5ZVRFUE1BMEdBMVV\
FQnd3R1RYbFRhWFJsTVJFd0R3WURWUVFEREFoTmVWTnBkR1ZEUVRBZUZ3MHlNREF5TWp\
Bd05qQXlNak5hRncwek1EQXlNakF3TmpBeU1qTmFNSGt4Q3pBSkJnTlZCQVlUQWtGUk1\
SSXdFQVlEVlFRS0RBbE5lVU52YlhCaGJua3hGVEFUQmdOVkJBc01ERTE1VTNWaWMybGt\
hV0Z5ZVRFUE1BMEdBMVVFQnd3R1RYbFRhWFJsTVM0d0xBWURWUVFERENWU1pXZHBjM1J\
5WVhJZ1ZtOTFZMmhsY2lCU1pYRjFaWE4wSUZOcFoyNXBibWNnUzJWNU1Ga3dFd1lIS29\
aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRUJUVFwvc1JmTDlsSnVGbVwvY24zU2pHcWp\
QXC9xdnBrNytoSTIwOE5oVkRvR2hcLzdLUCt2TXpYeVFRQStqUjZrNnJhTTI4ZlwvbHV\
FK1h1aHVwN1Vmem05Q3FNbk1DVXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUhBeHd3RGd\
ZRFZSMFBBUUhcL0JBUURBZ2VBTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSUhOK3VBbUp\
ldVhlc1wveWQxd1M0Mlo0RFhKNEptMWErZzNYa1pnZjhUaGxuQWlFQXBVdTZzZnljRWt\
veDdSWlhtZitLOHc0cDZzUldyamExUVJwWTAyNjQxSFk9IiwiTUlJQjhEQ0NBWmVnQXd\
JQkFnSUdBWEJoTUtZQk1Bb0dDQ3FHU000OUJBTUNNRnd4Q3pBSkJnTlZCQVlUQWtGUk1\
SSXdFQVlEVlFRS0RBbE5lVU52YlhCaGJua3hGVEFUQmdOVkJBc01ERTE1VTNWaWMybGt\
hV0Z5ZVRFUE1BMEdBMVVFQnd3R1RYbFRhWFJsTVJFd0R3WURWUVFEREFoTmVWTnBkR1Z\
EUVRBZUZ3MHlNREF5TWpBd05qQXlNak5hRncwek1EQXlNakF3TmpBeU1qTmFNRnd4Q3p\
BSkJnTlZCQVlUQWtGUk1SSXdFQVlEVlFRS0RBbE5lVU52YlhCaGJua3hGVEFUQmdOVkJ\
Bc01ERTE1VTNWaWMybGthV0Z5ZVRFUE1BMEdBMVVFQnd3R1RYbFRhWFJsTVJFd0R3WUR\
WUVFEREFoTmVWTnBkR1ZEUVRCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMEl\
BQkluQ3VoV1ZzZ2NONzFvWmVzMUZHXC9xZFZnTVBva01wZlMyNzFcL2V5SWNcL29EVmJ\
NRkhDYmV2SjVMTTgxOTVOYVpLTlNvSFAzS3dMeXVCaDh2MncwOVp1alJUQkRNQklHQTF\
VZEV3RUJcL3dRSU1BWUJBZjhDQVFFd0RnWURWUjBQQVFIXC9CQVFEQWdJRU1CMEdBMVV\
kRGdRV0JCUXp4endwUnBMeVwvck1VWXphaDJzMTNlVTlnRnpBS0JnZ3Foa2pPUFFRREF\
nTkhBREJFQWlCZGJIU212YW9qaDBpZWtaSUtOVzhRMGxTbGI1K0RLTlFcL05LY1I3dWx\
6dGdJZ2RwejZiUkYyREZtcGlKb3JCMkd5VmE4YVdkd2xIc0RvRVdZY0k0UEdKYmc9Il0\
sImFsZyI6IkVTMjU2In0",
    "signature":"67t3n8zyEek4IM2Ko3Y_UvE1hzp794QFNTqG-HzTrBQtE4_4-yS\
yyFd3kP6YCn35YYJ7yK35d3styo_yoiPfKA"
  }]
}
]]></artwork></figure>

</section>
<section anchor="example-voucher-response-from-masa-to-pledge-via-registrar-and-registrar-agent"><name>Example Voucher-Response (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 title="Example Voucher-Response from MASA" anchor="ExampleVoucherResponsefigure"><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-response-masa-issued-voucher-with-additional-registrar-signature-from-masa-to-pledge-via-registrar-and-registrar-agent"><name>Example Voucher-Response, 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: 3006 bytes</t>

<figure title="Example Voucher-Response from MASA, with additional Registrar signature" anchor="ExampleVoucherResponseWithRegSignfigure"><artwork align="left"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "payload":"eyJpZXRmLXZvdWNoZXI6dm91Y2hlciI6eyJhc3NlcnRpb24iOiJhZ2V\
udC1wcm94aW1pdHkiLCJzZXJpYWwtbnVtYmVyIjoiMDEyMzQ1Njc4OSIsIm5vbmNlIjo\
iUUJiSXMxNTJzbkFvVzdSeVFMWENvZz09IiwiY3JlYXRlZC1vbiI6IjIwMjItMDktMjl\
UMDM6Mzc6MjYuMzgyWiIsInBpbm5lZC1kb21haW4tY2VydCI6Ik1JSUJwRENDQVVtZ0F\
3SUJBZ0lHQVcwZUx1SCtNQW9HQ0NxR1NNNDlCQU1DTURVeEV6QVJCZ05WQkFvTUNrMTV\
RblZ6YVc1bGMzTXhEVEFMQmdOVkJBY01CRk5wZEdVeER6QU5CZ05WQkFNTUJsUmxjM1J\
EUVRBZUZ3MHhPVEE1TVRFd01qTTNNekphRncweU9UQTVNVEV3TWpNM016SmFNRFV4RXp\
BUkJnTlZCQW9NQ2sxNVFuVnphVzVsYzNNeERUQUxCZ05WQkFjTUJGTnBkR1V4RHpBTkJ\
nTlZCQU1NQmxSbGMzUkRRVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUF\
CT2t2a1RIdThRbFQzRkhKMVVhSTcrV3NIT2IwVVMzU0FMdEc1d3VLUURqaWV4MDYvU2N\
ZNVBKaWJ2Z0hUQitGL1FUamdlbEhHeTFZS3B3Y05NY3NTeWFqUlRCRE1CSUdBMVVkRXd\
FQi93UUlNQVlCQWY4Q0FRRXdEZ1lEVlIwUEFRSC9CQVFEQWdJRU1CMEdBMVVkRGdRV0J\
CVG9aSU16UWRzRC9qLytnWC83Y0JKdWNIL1htakFLQmdncWhrak9QUVFEQWdOSkFEQkd\
BaUVBdHhRMytJTEdCUEl0U2g0YjlXWGhYTnVocVNQNkgrYi9MQy9mVllEalE2b0NJUUR\
HMnVSQ0hsVnEzeWhCNThUWE1VYnpIOCtPbGhXVXZPbFJEM1ZFcURkY1F3PT0ifX0",
  "signatures":[{
    "protected":"eyJ4NWMiOlsiTUlJQmt6Q0NBVGlnQXdJQkFnSUdBV0ZCakNrWU1\
Bb0dDQ3FHU000OUJBTUNNRDB4Q3pBSkJnTlZCQVlUQWtGUk1SVXdFd1lEVlFRS0RBeEt\
hVzVuU21sdVowTnZjbkF4RnpBVkJnTlZCQU1NRGtwcGJtZEthVzVuVkdWemRFTkJNQjR\
YRFRFNE1ERXlPVEV3TlRJME1Gb1hEVEk0TURFeU9URXdOVEkwTUZvd1R6RUxNQWtHQTF\
VRUJoTUNRVkV4RlRBVEJnTlZCQW9NREVwcGJtZEthVzVuUTI5eWNERXBNQ2NHQTFVRUF\
3d2dTbWx1WjBwcGJtZERiM0p3SUZadmRXTm9aWElnVTJsbmJtbHVaeUJMWlhrd1dUQVR\
CZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFTQzZiZUxBbWVxMVZ3NmlRclJzOFI\
wWlcrNGIxR1d5ZG1XczJHQU1GV3diaXRmMm5JWEgzT3FIS1Z1OHMyUnZpQkdOaXZPS0d\
CSEh0QmRpRkVaWnZiN294SXdFREFPQmdOVkhROEJBZjhFQkFNQ0I0QXdDZ1lJS29aSXp\
qMEVBd0lEU1FBd1JnSWhBSTRQWWJ4dHNzSFAyVkh4XC90elVvUVwvU3N5ZEwzMERRSU5\
FdGNOOW1DVFhQQWlFQXZJYjNvK0ZPM0JUbmNMRnNhSlpSQWtkN3pPdXNuXC9cL1pLT2F\
FS2JzVkRpVT0iXSwidHlwIjoidm91Y2hlci1qd3MranNvbiIsImFsZyI6IkVTMjU2In0\
",
    "signature":"ShqW8uFRkuAXIzjAhB4bolMMndcY7GYq3Kbo94yvGtjCaxEX3Hp\
6QXZUTEJ_kulQ1G7DnaU4igDPdUGtcV9Lkw"},{
    "protected":"eyJ4NWMiOlsiTUlJQjRqQ0NBWWlnQXdJQkFnSUdBWFk3MmJiWk1\
Bb0dDQ3FHU000OUJBTUNNRFV4RXpBUkJnTlZCQW9NQ2sxNVFuVnphVzVsYzNNeERUQUx\
CZ05WQkFjTUJGTnBkR1V4RHpBTkJnTlZCQU1NQmxSbGMzUkRRVEFlRncweU1ERXlNRGN\
3TmpFNE1USmFGdzB6TURFeU1EY3dOakU0TVRKYU1ENHhFekFSQmdOVkJBb01DazE1UW5\
WemFXNWxjM014RFRBTEJnTlZCQWNNQkZOcGRHVXhHREFXQmdOVkJBTU1EMFJ2YldGcGJ\
sSmxaMmx6ZEhKaGNqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJCazE\
2S1wvaTc5b1JrSzVZYmVQZzhVU1I4XC91czFkUFVpWkhNdG9rU2RxS1c1Zm5Xc0JkK3F\
STDdXUmZmZVdreWdlYm9KZklsbHVyY2kyNXduaGlPVkNHamV6QjVNQjBHQTFVZEpRUVd\
NQlFHQ0NzR0FRVUZCd01CQmdnckJnRUZCUWNESERBT0JnTlZIUThCQWY4RUJBTUNCNEF\
3U0FZRFZSMFJCRUV3UDRJZGNtVm5hWE4wY21GeUxYUmxjM1F1YzJsbGJXVnVjeTFpZEM\
1dVpYU0NIbkpsWjJsemRISmhjaTEwWlhOME5pNXphV1Z0Wlc1ekxXSjBMbTVsZERBS0J\
nZ3Foa2pPUFFRREFnTklBREJGQWlCeGxkQmhacTBFdjVKTDJQcldDdHlTNmhEWVcxeUN\
PXC9SYXVicEM3TWFJRGdJaEFMU0piZ0xuZ2hiYkFnMGRjV0ZVVm9cL2dHTjBcL2p3ekp\
aMFNsMmg0eElYazEiXSwidHlwIjoidm91Y2hlci1qd3MranNvbiIsImFsZyI6IkVTMjU\
2In0",
    "signature":"N4oXV48V6umsHMKkhdSSmJYFtVb6agjD32uXpIlGx6qVE7Dh0-b\
qhRRyjnxp80IV_Fy1RAOXIIzs3Q8CnMgBgg"
  }]
}
]]></artwork></figure>

</section>
</section>
<section anchor="pledgehttps"><name>HTTP-over-TLS operations between Registrar-Agent and Pledge</name>

<t>The use of HTTPS between the Registrar-Agent and the 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 dependant upon the security of the TLS connection.</t>

<t>The use of HTTPS is not mandated by this document for a number of reasons:</t>

<t><list style="numbers">
  <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 no help as there is no previous relationship between the Registrar-Agent.</t>
  <t>The pledge can use it's IDevID certificate to authenticate itself, but <xref target="RFC6125"/> DNS-ID methods do not apply as the pledge does not have a FQDN.  Instead a new mechanism is required, which authenticates the X520SerialNumber DN attribute which must be present in every IDevID.</t>
</list></t>

<t>If the Registrar-Agent has a preconfigured list of which serial numbers, 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 serial number.
The use of scannable QRcodes may help automate this in some cases.</t>

<t><list style="numbers">
  <t>The CA used to sign the IDevID will be a manufacturer private PKI as described in <xref section="4.1" sectionFormat="comma" target="I-D.irtf-t2trg-taxonomy-manufacturer-anchors"/>.
The anchors for this PKI will never be part of the public WebPKI anchors which are distributed with most smartphone operating systems.
A registrar-agent application will need to use different APIs in order to initiate an HTTPS connection without performing WebPKI verification.
The application will then have to do it's own certificate chain verification against a store of manufacturer trust anchors.
In the Android ecosystem this involved 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>The use of the Host: (or :authority in HTTP/2) is explained in <xref section="7.2" sectionFormat="comma" target="RFC9110"/>. This header is mandatory, and so a compliant HTTPS client is going to insert it.
But, the contents of this header will at best be an IP address that came from the discovery process.
The pledge <bcp14>MUST</bcp14> therefore ignore the Host: header when it processes requests, and the pledge <bcp14>MUST NOT</bcp14> do any kind of name-base virtual hosting using the IP address/port combination.
Note that there is no requirement for the pledge to operate it's BRSKI-PRM service on port 80 or port 443, so if there is no reason for name-based virtual hosting.</t>
  <t>Note that an Extended Key Usage (EKU) for TLS WWW Server authentication cannot be expected in the pledge's IDevID certificate.
IDevID certificates are intended to be widely useable and EKU does not support that use.</t>
</list></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 09 -&gt; IETF draft 10:</t>

<t><list style="symbols">
  <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>
  <t>issue #93, included information about conflict resolution in mDNS and GRASP in <xref target="discovery_uc2_ppa"/></t>
  <t>issue #103, included verification handling for the wrapped CA certificate provisioning in <xref target="exchanges_uc2_3c"/></t>
  <t>issue #106, included additional text to elaborate more the registrar status handling in <xref target="exchanges_uc2_4"/></t>
  <t>issue #116, enhanced DoS description in <xref target="sec_cons-dos"/></t>
  <t>issue #120, included statement regarding pledge host header processing in <xref target="pledge_ep"/></t>
  <t>issue #122, availability of serial number information on registrar agent clarified in <xref target="exchanges_uc2_1"/></t>
  <t>issue #123, Clarified usage of alternative voucher formats in  <xref target="rvr-proc"/></t>
  <t>issue #124, determination of pinned domain certificate done as in RFC 8995 included in <xref target="exchanges_uc2_2_vc"/></t>
  <t>issue #125, remove strength comparison of voucher assertions in <xref target="agt_prx"/> and <xref target="exchanges_uc2"/></t>
  <t>issue #130, aligned the usage of site and domain throughout the document</t>
  <t>changed naming of registrar certificate from LDevID(RegAgt) to EE (RegAgt) certificate throughout the document</t>
  <t>change x5b to x5bag according to <xref target="RFC9360"/></t>
  <t>updated JSON examples -&gt; "signature": BASE64URL(JWS Signature)</t>
</list></t>

<t>From IETF draft 08 -&gt; IETF draft 09:</t>

<t><list style="symbols">
  <t>issue #80, enhanced <xref target="discovery_uc2_ppa"/> with clarification on the serial number and the inclusion of GRASP</t>
  <t>issue #81, enhanced introduction with motivation for agent_signed_data</t>
  <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="exchanges_uc2_1"/></t>
  <t>issue #83, enhanced <xref target="PER-response"/> and <xref target="exchanges_uc2_2_per"/> with note to re-enrollment</t>
  <t>issue #87, clarified available information at the registrar-agent in <xref target="exchanges_uc2_1"/></t>
  <t>issue #88, clarified, that the PVR in <xref target="pvrr"/> and PER in <xref target="PER-response"/> may contain the certificate chain. If not contained it <bcp14>MUST</bcp14> be available at the registrar.</t>
  <t>issue #91, clarified that a separate HTTP connection may also be used to provide the PER in <xref target="exchanges_uc2_2_per"/></t>
  <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>
  <t>issue #92: kept separate endpoint for wrapped CSR on registrar <xref target="exchanges_uc2_2_wca"/></t>
  <t>issue #94: clarified terminology (possess vs. obtained)</t>
  <t>issue #95: clarified optional IDevID CA certificates on registrar-agent <xref target="exchanges_uc2_3"/></t>
  <t>issue #96: updated <xref target="exchangesfig_uc2_3"/> to correct to just one CA certificate provisioning</t>
  <t>issue #97: deleted format explanation in <xref target="exchanges_uc2_3"/> as it may be misleading</t>
  <t>issue #99: motivated verification of second signature on voucher in <xref target="exchanges_uc2_3"/></t>
  <t>issue #100: included negative example in <xref target="vstat"/></t>
  <t>issue #101: included handling if <xref target="exchanges_uc2_3b"/> voucher telemetry information has not been received by the registrar-agent</t>
  <t>issue #102: relaxed requirements for CA certs provisioning in <xref target="exchanges_uc2_3c"/></t>
  <t>issue #105: included negative example in <xref target="estat"/></t>
  <t>issue #107: included example for certificate revocation in <xref target="exchanges_uc2_4"/></t>
  <t>issue #108: renamed heading to Pledge-Status Request of <xref target="exchanges_uc2_5a"/></t>
  <t>issue #111: included pledge-status response processing for authenticated requests in <xref target="exchanges_uc2_5b"/></t>
  <t>issue #112: added "Example key word in pledge-status response in <xref target="stat_res"/></t>
  <t>issue #113: enhanced description of status reply for "factory-default" in  <xref target="exchanges_uc2_5b"/></t>
  <t>issue #114: Consideration of optional TLS usage in Privacy Considerations</t>
  <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>
  <t>issue #116: Enhanced DoS description and mitigation options in security consideration section</t>
  <t>updated references</t>
</list></t>

<t>From IETF draft 07 -&gt; IETF draft 08:</t>

<t><list style="symbols">
  <t>resolved editorial issues discovered after WGLC (still open issues remaining)</t>
  <t>resolved first comments from the Shepherd review as discussed in PR #85 on the ANIMA github</t>
</list></t>

<t>From IETF draft 06 -&gt; IETF draft 07:</t>

<t><list style="symbols">
  <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>
  <t>smaller editorial corrections</t>
</list></t>

<t>From IETF draft 05 -&gt; IETF draft 06:</t>

<t><list style="symbols">
  <t>Update of list of reviewers</t>
  <t>Issue #67, shortened the pledge endpoints to prepare for constraint deployments</t>
  <t>Included table for new endpoints on the registrar in the overview of the registrar-agent</t>
  <t>addressed review comments from SECDIR early review (terminology clarifications, editorial improvements)</t>
  <t>addressed review comments from IOTDIR early review (terminology clarifications, editorial improvements)</t>
</list></t>

<t>From IETF draft 04 -&gt; IETF draft 05:</t>

<t><list style="symbols">
  <t>Restructured document to have a distinct section for the object flow and handling and shortened introduction, issue #72</t>
  <t>Added security considerations for using mDNS without a specific product-serial-number, issue #75</t>
  <t>Clarified pledge-status responses are cumulative, issue #73</t>
  <t>Removed agent-sign-cert from trigger data to save bandwidth and remove complexity through options, issue #70</t>
  <t>Changed terminology for LDevID(Reg) certificate to registrar LDevID certificate, as it does not need to be an LDevID, issue #66</t>
  <t>Added new protected header parameter (created-on) in PER to support freshness validation, issue #63</t>
  <t>Removed reference to CAB Forum as not needed for BRSKI-PRM specifically, issue #65</t>
  <t>Enhanced error codes in section 5.5.1, issue #39, #64</t>
  <t>Enhanced security considerations and privacy considerations, issue #59</t>
  <t>Issue #50 addressed by referring to the utilized enrollment protocol</t>
  <t>Issue #47 MASA verification of LDevID(RegAgt) to the same registrar LDevID certificate domain CA</t>
  <t>Reworked terminology of "enrollment object", "certification object", "enrollment request object", etc., issue #27</t>
  <t>Reworked all message representations to align with encoding</t>
  <t>Added explanation of MASA requiring domain CA cert in section 5.5.1 and section 5.5.2, issue #36</t>
  <t>Defined new endpoint for pledge bootstrapping status inquiry, issue #35 in section <xref target="exchanges_uc2_5"/>, IANA considerations and section <xref target="pledge_ep"/></t>
  <t>Included examples for several objects in section <xref target="examples"/> including message example sizes, issue #33</t>
  <t>PoP for private key to registrar certificate included as mandatory, issues #32 and #49</t>
  <t>Issue #31, clarified that combined pledge may act as client/server for further (re)enrollment</t>
  <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>
  <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>
  <t>Several editorial changes and enhancements to increasing readability.</t>
</list></t>

<t>From IETF draft 03 -&gt; IETF draft 04:</t>

<t><list style="symbols">
  <t>In deep Review by Esko Dijk lead to issues #22-#61, which are bein stepwise integrated</t>
  <t>Simplified YANG definition by augmenting the voucher-request from RFC 8995 instead of redefining it.</t>
  <t>Added explanation for terminology "endpoint" used in this document, issue #16</t>
  <t>Added clarification that registrar-agent may collect PVR or PER or both in one run, issue #17</t>
  <t>Added a statement that nonceless voucher may be accepted, issue #18</t>
  <t>Simplified structure in section <xref target="sup-env"/>, issue #19</t>
  <t>Removed join proxy in <xref target="uc2figure"/> and added explanatory text, issue #20</t>
  <t>Added description of pledge-CAcerts endpoint plus further handling of providing a wrapped CA certs response to the pledge in section <xref target="exchanges_uc2_3"/>; also added new required registrar endpoint (section <xref target="exchanges_uc2_2"/> and IANA considerations) for the registrar to provide a wrapped CA certs response, issue #21</t>
  <t>utilized defined abbreviations in the document consistently, issue #22</t>
  <t>Reworked text on discovery according to issue #23 to clarify scope and handling</t>
  <t>Added several clarifications based on review comments</t>
</list></t>

<t>From IETF draft 02 -&gt; IETF draft 03:</t>

<t><list style="symbols">
  <t>Updated examples to state "base64encodedvalue==" for x5c occurrences</t>
  <t>Include link to SVG graphic as general overview</t>
  <t>Restructuring of section 5 to flatten hierarchy</t>
  <t>Enhanced requirements and motivation in <xref target="req-sol"/></t>
  <t>Several editorial improvements based on review comments</t>
</list></t>

<t>From IETF draft 01 -&gt; IETF draft 02:</t>

<t><list style="symbols">
  <t>Issue #15 included additional signature on voucher from registrar in section <xref target="exchanges_uc2_2"/> and section <xref target="agt_prx"/>
The verification of multiple signatures is described in section <xref target="exchanges_uc2_3"/></t>
  <t>Included representation for General JWS JSON Serialization for examples</t>
  <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="exchanges_uc2_1"/></t>
  <t>Removed open issue regarding handling of multiple CSRs and enrollment 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>
</list></t>

<t>From IETF draft 00 -&gt; IETF draft 01:</t>

<t><list style="symbols">
  <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="exchanges_uc2_2"/> and <xref target="exchanges_uc2_3"/>.</t>
  <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>
  <t>Decision on issue #8 to not provide an additional signature on the enrollment-response object by the registrar. As the enrollment response will only contain the generic LDevID certificate. This credential builds the base for further configuration outside the initial enrollment.</t>
  <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>
  <t>Closed open issue #5 regarding verification of ietf-ztp-types usage as verified
via a proof-of-concept in section {#exchanges_uc2_1}.</t>
  <t>Housekeeping: Removed already addressed open issues stated in the draft directly.</t>
  <t>Reworked text in from introduction to section pledge-responder-mode</t>
  <t>Fixed "serial-number" encoding in PVR/RVR</t>
  <t>Added prior-signed-voucher-request in the parameter description of the
registrar-voucher-request in <xref target="exchanges_uc2_2"/>.</t>
  <t>Note added in <xref target="exchanges_uc2_2"/> if sub-CAs are used, that the
corresponding information is to be provided to the MASA.</t>
  <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>
  <t>Assertion-type aligned with voucher in RFC8366bis, deleted related
open issues. (Issue #4)</t>
  <t>Included table for endpoints in <xref target="pledge_ep"/> for better readability.</t>
  <t>Included registrar authorization check for registrar-agent during
TLS handshake  in section <xref target="exchanges_uc2_2"/>. Also enhanced figure
<xref target="exchangesfig_uc2_2"/> with the authorization step on TLS level.</t>
  <t>Enhanced description of registrar authorization check for registrar-agent
based on the agent-signed-data in section <xref target="exchanges_uc2_2"/>. Also
enhanced figure <xref target="exchangesfig_uc2_2"/> with the authorization step
on pledge-voucher-request level.</t>
  <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_2"/> (issue #12).
This also required changes in the YANG module in <xref target="I-D.ietf-anima-rfc8366bis"/></t>
  <t>Addressed YANG warning (issue #1)</t>
  <t>Inclusion of examples for a trigger to create a pledge-voucher-request
and an enrollment-request.</t>
</list></t>

<t>From IETF draft-ietf-anima-brski-async-enroll-03 -&gt; IETF anima-brski-prm-00:</t>

<t><list style="symbols">
  <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>
  <t>Addressed feedback for voucher-request enhancements from YANG doctor
early review in <xref target="voucher-request-prm-yang"/> as well as in the
security considerations (formerly named ietf-async-voucher-request).</t>
  <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>
  <t>Utilized ietf-voucher-request-async instead of ietf-voucher-request
in voucher exchanges to utilize the enhanced voucher-request.</t>
  <t>Included changes from draft-ietf-netconf-sztp-csr-06 regarding the
YANG definition of csr-types into the enrollment request exchange.</t>
</list></t>

<t>From IETF draft 02 -&gt; IETF draft 03:</t>

<t><list style="symbols">
  <t>Housekeeping, deleted open issue regarding YANG voucher-request
in <xref target="exchanges_uc2_1"/> as voucher-request was
enhanced with additional leaf.</t>
  <t>Included open issues in YANG model in <xref target="architecture"/> regarding assertion
value agent-proximity and csr encapsulation using SZTP sub module).</t>
</list></t>

<t>From IETF draft 01 -&gt; IETF draft 02:</t>

<t><list style="symbols">
  <t>Defined call flow and objects for interactions in UC2. Object format
based on draft for JOSE signed voucher artifacts and aligned the
remaining objects with this approach in <xref target="exchanges_uc2"/>.</t>
  <t>Terminology change: issue #2 pledge-agent -&gt; registrar-agent to
better underline agent relation.</t>
  <t>Terminology change: issue #3 PULL/PUSH -&gt; pledge-initiator-mode
and pledge-responder-mode to better address the pledge operation.</t>
  <t>Communication approach between pledge and registrar-agent
changed by removing TLS-PSK (former section TLS establishment)
and associated references to other drafts in favor of relying on
higher layer exchange of signed data objects. These data objects
are included also in the pledge-voucher-request and lead to an
extension of the YANG module for the voucher-request (issue #12).</t>
  <t>Details on trust relationship between registrar-agent and
registrar (issue #4, #5, #9) included in <xref target="architecture"/>.</t>
  <t>Recommendation regarding short-lived certificates for
registrar-agent authentication towards registrar (issue #7) in
the security considerations.</t>
  <t>Introduction of reference to agent signing certificate using SKID
in agent signed data (issue #37).</t>
  <t>Enhanced objects in exchanges between pledge and registrar-agent
to allow the registrar to verify agent-proximity to the pledge
(issue #1) in <xref target="exchanges_uc2"/>.</t>
  <t>Details on trust relationship between registrar-agent and
pledge (issue #5) included in <xref target="architecture"/>.</t>
  <t>Split of use case 2 call flow into sub sections in <xref target="exchanges_uc2"/>.</t>
</list></t>

<t>From IETF draft 00 -&gt; IETF draft 01:</t>

<t><list style="symbols">
  <t>Update of scope in <xref target="sup-env"/> to include in
which the pledge acts as a server. This is one main motivation
for use case 2.</t>
  <t>Rework of use case 2 in <xref target="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>
  <t>First description of exchanged object types (needs more work)</t>
  <t>Clarification in discovery options for enrollment endpoints at
the domain registrar based on well-known endpoints do not
result in additional /.well-known URIs. Update of the illustrative example.
Note that the change to /brski for the voucher related endpoints
has been taken over in the BRSKI main document.</t>
  <t>Updated references.</t>
  <t>Included Thomas Werner as additional author for the document.</t>
</list></t>

<t>From individual version 03 -&gt; IETF draft 00:</t>

<t><list style="symbols">
  <t>Inclusion of discovery options of enrollment endpoints at
the domain registrar based on well-known endpoints in
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>
  <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>
  <t>Updated CMP example in to use lightweight CMP instead of CMP, as the draft already provides
the necessary /.well-known endpoints.</t>
  <t>Requirements discussion moved to separate section in
<xref target="req-sol"/>. Shortened description of proof
of identity binding and mapping to existing protocols.</t>
  <t>Removal of copied call flows for voucher exchange and registrar
discovery flow from <xref target="RFC8995"/> in UC1 to avoid doubling or text or
inconsistencies.</t>
  <t>Reworked abstract and introduction to be more crisp regarding
the targeted solution. Several structural changes in the document
to have a better distinction between requirements, use case
description, and solution description as separate sections.
History moved to appendix.</t>
</list></t>

<t>From individual version 02 -&gt; 03:</t>

<t><list style="symbols">
  <t>Update of terminology from self-contained to authenticated
self-contained object to be consistent in the wording and to
underline the protection of the object with an existing
credential. Note that the naming of this object may be discussed.
An alternative name may be attestation object.</t>
  <t>Simplification of the architecture approach for the initial use
case having an offsite PKI.</t>
  <t>Introduction of a new use case utilizing authenticated
self-contain objects to onboard a pledge using a commissioning
tool containing a pledge-agent. This requires additional changes
in the BRSKI call flow sequence and led to changes in the
introduction, the application example,and also in the
related BRSKI-PRM call flow.</t>
</list></t>

<t>From individual version 01 -&gt; 02:</t>

<t><list style="symbols">
  <t>Update of introduction text to clearly relate to the usage of
IDevID and LDevID.</t>
  <t>Update of description of architecture elements and
changes to BRSKI in <xref target="architecture"/>.</t>
  <t>Enhanced consideration of existing enrollment protocols in the
context of mapping the requirements to existing solutions in
<xref target="req-sol"/>.</t>
</list></t>

<t>From individual version 00 -&gt; 01:</t>

<t><list style="symbols">
  <t>Update of examples, specifically for building automation as
well as two new application use cases in <xref target="sup-env"/>.</t>
  <t>Deletion of asynchronous interaction with MASA to not
complicate the use case. Note that the voucher exchange can
already be handled in an asynchronous manner and is therefore
not considered further. This resulted in removal of the
alternative path the MASA in Figure 1 and the associated
description in <xref target="architecture"/>.</t>
  <t>Enhancement of description of architecture elements and
changes to BRSKI in <xref target="architecture"/>.</t>
  <t>Consideration of existing enrollment protocols in the context
of mapping the requirements to existing solutions in <xref target="req-sol"/>.</t>
  <t>New section starting with the
mapping to existing enrollment protocols by collecting
boundary conditions.</t>
</list></t>

</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></organization>
      <address>
        <email>ietf@kovatsch.net</email>
      </address>
    </contact>
    </section>

  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA+y96XIjR5Yu+J9PEUNdM5ESgCSZi1Ls2igmVWJVbk1S0tSV
1aiDQJCMSgCBigiQYmVm27zG/LvPch9lnmTO6n7cwwMEU6mu0lin1UIAEb77
2c93hsPhRlu202I/++rk9M/H2U3ZXmWvp8XkssjKeXZSNItqPinq7EU1KbIt
emj4+uTF9kZ+fl4X1/IefrUxqcbzfAZNTer8oh2WRXsxzOflLB+e182bcrio
Z8PdnY28LvL97NWiqPO2rOZNls8n2Yt8nl8Ws2Lebtxc7mcHL49fHGTf/3Fj
krfQ4N7O3sONpoUHf8yn1Ry+aetlsVEuavqrafd2dr7c2dtoluezsmmg1bPb
BTx1fHT2ddjeXZ2P83Y/a9rJxqLc38iythrvZ5/eFs2n8GFczRb5uPVfNLez
urhozBdV3YbfwBDnVVtelMUEvpxX9FRbl76ZfNleVfX+xhDWG148HWVf12XR
wHO8mKdtcXFRzN23VQ3zOS1xuE128Ef4RndCvuQeigJ6eNW21fCb/Go+PCnn
l9kTnETZ3u5nL5bzcnxFc5pAH58+3f3i4Zc8x+W8reGJPxb1LJ/fwlfFLC+n
uCg0jtEFjuMPDfc1gjWBR5Z1uZ9dte2i2X/w4ObmZmR+fqAzOxtl3xf1vKjd
1M6uqlne+G//WVNraRzDGxrHh0ztaJQ9L3I/saNpWbX6Fc3qsGzGVXZ6C6s4
s9M4gbG2JXzKm6bIvnCz+D6fTsummE6LuZvK4TfDpw93HtmpnMJ9/UdRT+EU
w9eLK7obm58/2s0ePcqefvE0+xJuxqaf6RSG9IcxjoWmJ8N/MaJx5PWkqeZu
Ei/wq2KaHUa/8i5Bj8UUljE7rS7aG7hW2fdV/abxXc3G9edIAv7Q6KOjcW4X
VNfT/PxgY1zBxMrzZWuuBKzus/Jvb/zqNm8q/YYGc1ydwXvNcgoUYnw7mk/9
KAp4djSBZ/8AOxI9NNRjWMEKFk2THY3fFHWrrX69bJd1cVOU5qC0xR/Gzegi
X44mhXv/Rd62VyUc5D9X13nb0OGTF2gB3sjXo3nRblwX82WBpOWyrpYLoUx4
0pFQZvzWW/rwB3x5BEN5j08DXV6e7/Njw5vLBxFh3ZhXcKjb8praPvn68PHe
0x3588kXT/b8nw/lzy92HuoDXzzefSx/Pt15pN8+ffjkif75ZHfH/+me/fJL
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
rznkvNfqVrYdguEGe+gGi8A8Mlj9/JAibA7mDmyCdEC6VTbDnAiFCxQRDeaC
CCZ64xH7JXuKb7x920Wr4SAef2okvJJzyl2mFR0Ie0A75n5ylopJB5mGidCJ
ggw6eeah1TTM2bM58WsdaEeBr4rpgq9a147AXms4tJxP9lOL8UOoBMiyomZN
EQPelC6SpiQL2BPuQtPpZMA5oqjbghb2ZaWiMr78pwoeeQ3ayq1jrfoiyYL0
3gAVbfatFrjAFGnkzruPPTvguZyF7ZKjt1XbK9tVB579gobzF7LRo92yz1Bv
mgvS+qIRDA+8lZphb2SDTzyZ+tq7cQbJtwNjCtrumllet4T4BpvRYl4VOfNd
B5jxOYVdvihpqxG84LKk9VpiaFdR1tnzsyNLV9++9XhAaLtEJxHFP4zJMf4G
trucvxlywyabsCcFTGlYE6vczjN/IUY5JxsFyTwd1daGo5DpjQQrnwq0jqko
HR3qzA09Sb4gL08l9I4ZuwnEo1aDHNn7ZKBGlmMTMHjW5R98p5R7ROHYoIVK
RKl6OIx4RCoSSVFO5PHGRQ8e44XU2A6rBHlEubgCn5Bqi+IPge66NLsMmFBJ
kTwoOLM+jlv7p+9PVT3CRhUOCN+Nh7bK9KxDtk1rRHSPtguqjXXtUSQJDRn4
1rIJw0Q2Nv4T/mV53lxfCphS4t/nw/5/n2+4J7JnCMd1elUuMvrpXfYdTLVC
Eyr75My/d/Tau3V6+7zTW/K1dxlIyR7hI3hoRW/vQJHxSCD4+dUNaKANzmLl
a6eZ6Lby+Ywh2NbtDbY3eujjL0ny3/91z+ffyTW792toRItfGq3+9879RS9+
Z15c3du1e27Drc3n+mKwep/rk5+HX4423DDf6YvBbN91/uC/8UUJ6delgj88
f7PfciiBedE3g7IbnQ+iyPG3nt1HL/6GJ/C7cKj+2y2MKMDohG6Pdo7POalq
1RzjF1et6ud2VY9t23fso+sm1aP7l6BHpsfuATDNJwDW3ByjsYQvbjH9xeU8
xOW0i7PixV7S+XnqxXX/9ZPqTT5im9mhE1mJxG+83c8+cTIpA/D99lNjX7CS
rNMuWIONxIVPET0Iw4+GwKUu57/dnBYX7SYo9IHQSyKtak9TES+t6OCt6Iwh
5cbLNnG6UftkifO6XfHTwqkQoot76csb+FfLWR2XpaoDbPfzkfZxpvwdYRqd
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
Falsq24LkgBISABFLBcEOsbSQAARIAGQCBISl7L673P8YiGoJTJfVc+YzUy1
1etISeRd/LofP+538TcvDnAn3pnpOYvSbZCWoX5g+kt1ow/mGOcFB4xadS7d
IPHX6guDTzVpq9+LqZ6xP8c0ryp9g4FlzQqcn+Oz3/ooBaq7i1xgrc6/vFs6
r7m2cRY4zwvzLDT86r7b/FtvJL/S5r8xqHNc0/GiZ+Cnjt96j+BtYv2KVXfY
M/34xlMvl0fIrn9tjrmv6NYknGx7uK7Og/CHpblJf68IBxBMh5sgPvrOpOsX
RNvXvd4IgzpP3fOUdgUYLyuCVzduXiLd+QJD+7sPl8J653pTwxJfywy2BDNa
LNdN9YT27SjuxysP82qePKx5orFXV7ouDshUWcX3OFuXsP3avBMgip9ufvv0
0qpf3uUbdo7LnFnJnxgWxFuCmdClLWA7J4Y5NUPhFZ/Ty4VoLgLRzt67QmsK
mkbRtq0kU53l4Q4Cy1h+zPjF+Is016/VrY2q7eo5rig4/vaq8tWb2ZVOaYWX
Uq+s/2eDPRdQbAGRr2KxXTak+Hr7tH79dECTvl/yjERtO8tOXe7rzStGSa+R
tJ60Kc74V6K8GNYbKY021K0n/0iadAQS59WBpAsJRtf74HjpWtucTd1PC4Xv
DWy56yxUHbbCAMpXR2zhzl8kV965IF/FTou40sDKzOvMdHu6ualx2nF+vzSv
ndf353jh2nrCNV68onLofPP96RxQ03AodtleV9fZa5Zyfm2hGtKbvbfDrmsl
cLbDt+hIPPzYWCeQfEecHzilxAR40qt5EJlk0MaryzfTihdVguxNY3N81O+8
H9LxK29VPKlFXl5u8q/fmnsbH+ab7autJOItLaz/TJOajawmm0m7kLuE6sa+
S8eoVAe/Af+qPkf7Qv3r+qcvGukWWDo/RtdGtEGt36/ANR8ZPAtcvczbPi/Q
BCMdfKVP/jsv0kzJL56NCc43yRrdezMMaQv+dhKY6yCP60OOCzold/HA5NvO
nqv6ix4vHnbgd07qutDLXZWZ2b2fkus6+2aITZmm9l7My/nUNrm7hjg+Vk63
iZxHtVyObUq7O9y3RvGBp/haaV8mTKobNDWF+Pa0Dqs0A9kgz43WByRqNLr8
QHOAP27Smp20YPcS+Lc2K3jG+MuHarh838r9VKyp3f7kMWzAn1+KKy2kfHw1
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
7vC67fH60F9QA/gn+P5Gmd273q3A5/pUVEkEvovflugFTnYzcNeDL5Z8e+OY
D7/Sjr/V/OW3N0D29xcgK9x1QfZ3oWN1byJQxcxrPQ5bRa9SJV1LaCsik9rs
ao3j6NbpTux0B5+13URPZ8INHCkpgFnWvpib0J9VKYc/qYZ4pyGpY/JtyqtJ
WtU0rmaEVGr5ad2MHWiUthmKV7EE5lCDRe1mLgYJW4t/fASMU5mPN7T10qJ/
713I9lE227Mebys7rKqgouyVMNabKv2xjT+eE1ed1j933WPrZi89UPlWvuxt
KOq0/Hun5Q/nlCGvicyx8nm7rWeASVW/ezE7inTJQweNt34Z+Xy6nnyrYovq
U6QPZUUvFx3W8GoKXccrdiVQcbKz/yY+3o3oaERBtuP0qAmr6/RkNbtmJm8u
CXrl/vuZl4YhkCHrjTkzIhvgQ9q1zIJW5BvA99pVH4bXv1aCqelZbTxogztG
nhgh2I0pUyXWZ3zovxGsnIuDE2UgL0sOEN+gZew4yF1HKtIf1ynRr1YSIIYF
gpGKQbfUwDIv/dXrie/DCwJyd/NHV9zcs2yyzffj9a/FhqKG3fUzYrXNolrO
3zrf7He/2VprzWUvScruYlS1wr4iKhfjuv2jRc3OB78tvzefrZI8PGql/1xR
FE3+7if0qNP85z9qyhvVfreKH9fBmZm8Gl0d5ZLOQd3y5Q7UObps9u6PBu5e
0jnOMbDOUecIGn7d+M+3e+zyNuGPMzauQYI4d2iOnfGvPxNLovi58y2x860z
bfv2urMF5tcMpoypUn3JafkZdyi6r6KbN6oZvVjc7hCgupRIPnAjayO/Kt9U
L9bun2ax/b+URlxLo/Olz50vNZ+lUXT1ZRs/b8J3teCS3Qq/09QouIw4A619
f7Wb89GqyHJz22TzWuj9y1hA7C5W5bA+1oy7PU7YYbjcmXY3atoA/62R9xeX
fWFVwP7xpV+a/bUU4e4eDIa+/U7vFWPHLxEvXbJ1sffH2S12ST7pfdMK4R+N
+hdKfiG+/BjF3wJA4S815/35iIFUQ8LJqN5NoqYvSELFHNHUY70vdfHxXbet
/n+yrdrPECc558uzY7sjxndOXkSOtdNcbDYlWUp1yDJbpnEjoM6HwTHK8FN3
xMBD+b1AirxLjkDuez2XoiXibdotvJjtrnKfHWbKq5rFaH139Qbd/PySbv7O
6WbrPP+uy9yVlArbFJSZqj7Yut3fuu19W253PJVUI0WTGLOSuABA0XCfl/Ge
p8PR0xOvlEaLZYLo9Btn/MWY6F+uv4N2PS3emNTty0l95pPiI+2mLoMqBMLk
aurZwORFnoHnDOFPSMWr4XY3C6EuPALr3d4ulrsPDT/ie5iQyEVLtJrB03f6
oVa2y34bjtxk4F5WbYNQ9jFlHKtNLMRtlBwJvm+DnGxgl6NHGn27ZrUX5Tby
Wkz9l2K65WJyuOLQ0JpNoGpN4i11MqnU9hZ0dpdstjCQ+CLj2LCX2pCI1NRQ
jEHAOJacCRXZ5shlQi02wFhyBsmzetCAc0P1op+5T21vpIZcWWopvvZUdf4y
btXqUvEseTiamNdxsOU5bf6JX7tM6SKMwuJ2rCEnv1at629/3dNkav/v6en1
Kt68XMU+X0UTCrN94jsR0YW21ruotJkDbSsbxGiTUZvFirDvW7bZc4VtuQVP
ordL3g20PrQ5QAk9f+HO5218qrhBlWPmKbVm4waRQBGHJAFCX2r3YxWufqzC
1XMXfXRxzru87c6qJCvm/JRx/nD+do+LhvIeURWv8tKDH4kn1Na9XX7/DiOi
+JVv5ZG4Fpj7fhnRSZR11ORNKlw40BzrfEKDz+fuBBpsncPoLjdJ4Zyu+O3l
FvpZ1R9eJZA/1GS1TQ43+2fV/kP1hXYEt7ftipBRtSf+2rwaYo6c8k7Xv1a7
RtHHzfo3jrgIsGj+der5G2SbrHnUEGTLKLhY99uuWFuHQ18ffhlcK5vtU34d
nEdbUfPuFkC99uRpz43SSreeMd5uOYjQvuyy9XPX/U/9T2L7ld7dB3zvpvu9
9/SQpw5qn375p7a1/t0Z7/pCx8QXx2qS25oW8uQWHODyFF+cWmkO5Jybuflc
3Rh5GUC8Tl3xhA3tHf1MF5oE2vALlz+dgXqhaGj7l+6BHW7cv3y4/uXcCh9C
+/vOhxu30/6RmEsrHelzt0/ydc2FFYB+dWTizKh4GrDKk0AzNnVsVellNzzD
cLl8qnCCxNvOkM/71dJXqNT5jXRWBlL9UfyNJyu6HoUrX+2uLjlbS9eo97Mm
9vrdfl+xWcouTb4YX95SsfOXLjPWkxfRSgWMO9qWJzrCJb572Wv1SYRzZ5rQ
yLwJeuiy0FmDe2SXj5vHasb1aQOKBi4w5uJAU7uBcLGBWnO6f/QkPqt/3HRM
o/c6r1NtFbbwXCVzQk5gqh3Xf9lVu2w0rm9PW34U6tdt/NtF5qyxGelV++dD
gAQnXMO4RVUR6ytnUJ0h5CfKdvz4YXtypDk1Q+fR4HGvYTPXlxe8zoVw+YGt
/ZIffqr7jbab4uWJNwoz0/hlFq0znd6r6XRa2CVkSbQ/zhuoN/KX3T3kxkM1
S19tjlYfuojkd8d1CMe0Jlj6cH2MSwo7rFrFOiSx3jysBNShq3wznIbA3TX+
jeptlU9v0JDeSxpyw2nIhM4nxAVWjHMeIKe8SzfXo+UqvaYkC++kVi5J+viP
W/FD58QJlT7GcsZFJfZ1GX+nFFlE81jSTj6XoffFUNHLN35CBKayODYs+z0i
XVWWPm+cVCfJONOt2qFUBRfXa4jiPKmDsL80sPJLlafk5LQTIbTGKJ5d8WV6
nuvAyxxalZEFn4fZUCYXvZJHxj8LKCI/GbMG1D6dnbD4uW0/6Gyr8dbXtMeb
ce9dhzh1risIae+X9KNp5fdL4bYs8hKMQAs+xutngr7mi3cdDrDaLHmp68Ox
yiwAJ6uTcHUeOrgQK+1i0y7l2bcI7VReZBxqvjf8UiWXWkgvMlh8gyQtZaUv
8Jwx568v91k76Y/a4Z73Et4D+96///t/r/LSQUuq2nOfZ0htx/Xrew1JtSTe
cBy/tVz83GAn+/2TeZwFKFIGoKEkUe0Eg8WCYo+gTSJcbH6dU9UdEiZJl8yC
dvDXnR35i62x5js9nsHlOn68xieL+CKS6MQIFRZdBj/X1XEOnle+CKXeQB3p
Jer0OiFsx7kSkSWLuP6FGr+94SQkjkBln+J//ddfuMAP/fB6E4It1tmS1klX
e1BowmLqNQCoAD6RK6tP/rZx6EXUVatfS014afqMjjGur5MlvrcNk2OXqF5k
UHne57y7trzYy3oTxbth4j8jQfGlBKUKt2uj7mwrd44UvJno5qB6EaT/le6f
/95uKl9d8wNiL/lxTtsqFb9p7h/SWaCLE5M/MdmrLuO6pKd86X9+H5t/pFGl
i6aqoORMNLgIGhD5RjyhPmzOMxtkFJVDD5oPvXRMlPhdX7/BwX8yP7GaXwO9
5xxc50RFFxFbWQ4ts/H6nf6auUSVDr9ObNbZp+o8ZnZdBtvvMZ2XqxC0m+3n
xxi5lcBgXkcv1VnABpxayNxcXCJ4tQ9Ii5Hzw5BVRPOthf3uttRbFEV4qeri
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
9/W36sb/AQJ/jx+gtwIA

-->

</rfc>

