<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.3.8) -->
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc linkmailto="no"?>
<?rfc editing="no"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc rfcedstyle="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-anima-rfc8366bis-16" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Voucher Artifact">A Voucher Artifact for Bootstrapping Protocols</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-anima-rfc8366bis-16"/>
    <author initials="K." surname="Watsen" fullname="Kent Watsen">
      <organization>Watsen Networks</organization>
      <address>
        <email>kent+ietf@watsen.net</email>
      </address>
    </author>
    <author initials="M." surname="Richardson" fullname="Michael C. Richardson">
      <organization>Sandelman Software</organization>
      <address>
        <email>mcr+ietf@sandelman.ca</email>
        <email>https://orcid.org/0000-0002-0773-8388</email>
        <uri>http://www.sandelman.ca/</uri>
      </address>
    </author>
    <author initials="M." surname="Pritikin" fullname="Max Pritikin">
      <organization>Cisco Systems</organization>
      <address>
        <email>pritikin@cisco.com</email>
      </address>
    </author>
    <author initials="T." surname="Eckert" fullname="Toerless Eckert">
      <organization>Futurewei Technologies Inc.</organization>
      <address>
        <postal>
          <street>2330 Central Expy</street>
          <city>Santa Clara</city>
          <code>95050</code>
          <country>United States of America</country>
        </postal>
        <email>tte@cs.fau.de</email>
      </address>
    </author>
    <author initials="Q." surname="Ma" fullname="Qiufang Ma">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street>101 Software Avenue, Yuhua District</street>
          <city>Nanjing</city>
          <code>210012</code>
          <country>China</country>
        </postal>
        <email>maqiufang1@huawei.com</email>
      </address>
    </author>
    <date year="2025" month="October" day="20"/>
    <area>Operations</area>
    <workgroup>ANIMA Working Group</workgroup>
    <keyword>voucher</keyword>
    <abstract>
      <?line 127?>

<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 or CBOR document
that has been signed using a variety of cryptographic systems.</t>
      <t>The voucher artifact is normally generated by
the Pledge's manufacturer (i.e., the Manufacturer Authorized Signing
Authority (MASA)).</t>
      <t>This document updates RFC8366, includes a number of desired extensions into the YANG.
The voucher request defined in RFC8995 is also now included in this document, as well as other YANG extensions needed for variants of BRSKI/RFC8995.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-anima-rfc8366bis/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        anima Working Group mailing list (<eref target="mailto:anima@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/anima/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/anima/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/anima-wg/voucher"/>.</t>
    </note>
  </front>
  <middle>
    <?line 144?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document defines a strategy to securely assign a candidate device
(Pledge) to an owner using an artifact signed, directly or indirectly,
by the Pledge's manufacturer, i.e., the Manufacturer Authorized
Signing Authority (MASA).  This artifact is known as the "voucher".</t>
      <t>The voucher artifact is a JSON <xref target="RFC8259"/> document that
conforms with a data model described by YANG <xref target="RFC7950"/>.
It may also be serialized to CBOR <xref target="CBOR"/>.
It is encoded using the rules defined in <xref target="RFC7951"/> or <xref target="RFC9254"/>, and
is signed using (by default) a CMS structure <xref target="RFC5652"/>.</t>
      <t>The primary purpose of a voucher is to securely convey a trust anchor
that a Pledge can use to authenticate subsequent interactions.
The trust anchor may be in the form of a certificate (the "pinned-domain-cert" attribute), a hash of a certificate, or it can be a raw public key (in constrained use cases).</t>
      <t>This trust anchor represents the authority of the owner of a network.
Communicating this trust anchor securely to the Pledge is the job of the voucher artifact.
The act of communicating this trust anchor is known as pinning the trust anchor, as the Pledge can then use the resulting anchor to authenticate other actors who are part of the network.
The collection of all these actors is collectively known as the network domain.
(This is not related to the domain name system, but rather the term is of mathematical origin)</t>
      <t>A voucher may be useful in several contexts, but the driving motivation herein is to support secure onboarding mechanisms.
This is accomplished by assigning an owner to the Pledge, enabling it to authenticate the network that it is connected to.</t>
      <t><xref target="RFC8366"/> originally defined just the voucher artifact, leaving the Voucher Request artifiact that is important to BRSKI to be defined in <xref target="BRSKI"/>.
This document includes both Voucher and Voucher-Request, and therefore updates <xref target="BRSKI"/>.</t>
      <t>YANG is not easily extended except by updating the YANG definition.
Since <xref target="RFC8366"/> was written, the pattern is to publish YANG modules as two documents: one with only the YANG module, and the other one with usage, motivation and further explanation.
This allows the YANG module to be updated without replacing all of the context.
This document does not follow that pattern, but future updates may update only the YANG.</t>
      <t>This document also introduces an experimental mechanism to support future extensions without requiring the YANG module to be replaced.
This includes both new IETF Standard mechanisms, as well as a facility for manufacturer private extensions.</t>
      <t>The lifetimes of vouchers may vary.
In some onboarding protocols, the vouchers may include a nonce restricting them to a single use,  whereas the vouchers in other onboarding protocols may have an
indicated lifetime.
In order to support long lifetimes, this document recommends using short lifetimes with programmatic renewal, see <xref target="renewal-over-revocation"/>.</t>
      <t>Some onboarding protocols using the voucher artifact defined in
this document include: <xref target="ZERO-TOUCH"/>, <xref target="SECUREJOIN"/>, <xref target="BRSKI"/> and <xref target="cBRSKI"/>.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>This document uses the following terms:</t>
      <dl>
        <dt>(Voucher) Artifact:</dt>
        <dd>
          <t>Used throughout to represent the voucher as instantiated in the form
of a signed datastructure.</t>
        </dd>
        <dt>Bootstrapping:</dt>
        <dd>
          <t>The process where a Pledge obtains cryptographic key material to identify
 and trust future interactions within a specific domain network. Based on imprinted
 key material provided during the manufacturing process (see: Imprint).</t>
        </dd>
        <dt>Domain:</dt>
        <dd>
          <t>The set of entities or infrastructure under common administrative
control.
The goal of the onboarding protocol is to enable a Pledge to
join a domain and obtain domain specific security credentials.</t>
        </dd>
        <dt>Imprint:</dt>
        <dd>
          <t>The process where a device obtains the cryptographic key material to
identify and trust future interactions generally as part of the manufacturing.
This term is taken from Konrad Lorenz's work in biology with new ducklings:
"during a critical period, the duckling would assume that anything
that looks like a mother duck is in fact their mother"
<xref target="Stajano99theresurrecting"/>. An equivalent for a device is to
obtain the fingerprint of the manufacturer's root certification authority (root ca)
certificate. A device that imprints on an attacker suffers a similar
fate to a duckling that imprints on a hungry wolf. Imprinting is a
term from psychology and ethology, as described in <xref target="imprinting"/>.</t>
        </dd>
        <dt>Join Registrar (and Coordinator):</dt>
        <dd>
          <t>A representative of the domain that is configured, perhaps
autonomically, to decide whether a new device is allowed to join the
domain. The administrator of the domain interfaces with a join
registrar (and Coordinator) to control this process.
Typically, a join registrar is "inside" its domain. For simplicity,
this document often refers to this as just "registrar".</t>
        </dd>
        <dt>MASA (Manufacturer Authorized Signing Authority):</dt>
        <dd>
          <t>The entity that, for the purpose of this document, issues and signs the
vouchers for a manufacturer's Pledges.
In some onboarding protocols, the MASA may have an Internet
presence and be integral to the onboarding process, whereas in
other protocols the MASA may be an offline service that has no
active role in the onboarding process.</t>
        </dd>
        <dt>Malicious Registrar:</dt>
        <dd>
          <t>An on-path active attacker that presents itself as a legitimate registrar, but which is in fact under the control of an attacker.</t>
        </dd>
        <dt>Onboarding:</dt>
        <dd>
          <t>Onboarding describes the process to provide necessary operational data to a Pledge
and to complete the process of bringing the Pledge into an operational state.
This data may be configuration data, or also application-specific cryptographic
key material (application-specific security credentials).</t>
        </dd>
        <dt>Owner:</dt>
        <dd>
          <t>The entity that controls the private key of the trust anchor conveyed by the voucher.
Typically, this is indicated by the "pinned-domain-cert" data item.</t>
        </dd>
        <dt>Pledge:</dt>
        <dd>
          <t>The prospective component/device attempting to find and securely join a
domain.
When shipped or in factory reset mode, it only trusts authorized representatives of the
manufacturer.</t>
        </dd>
        <dt>Registrar:</dt>
        <dd>
          <t>See join registrar.</t>
        </dd>
        <dt>TOFU (Trust on First Use):</dt>
        <dd>
          <t>When a Pledge makes no security decisions but rather simply
trusts the first domain entity it is contacted by.
Used similarly to <xref target="RFC7435"/>.
This is also known as the "resurrecting duckling" model.</t>
        </dd>
        <dt>Voucher:</dt>
        <dd>
          <t>A short form for Voucher Artifact.  It refers to the signed statement
from the MASA service that indicates to a Pledge
the cryptographic identity of the domain it should trust.
When clarity is needed, it may be preceeded by the type of the signature, such as CMS, JWS or COSE.</t>
        </dd>
        <dt>Voucher Data:</dt>
        <dd>
          <t>The raw (serialized) representation of the YANG without any enclosing signature.
Current formats include JSON and CBOR.</t>
        </dd>
        <dt>Voucher Request:</dt>
        <dd>
          <t>A signed artifact sent from the Pledge to the Registrar, or from the Registrar to the MASA for Voucher acquisition.</t>
        </dd>
        <dt>Pledge Voucher Request (PVR):</dt>
        <dd>
          <t>A signed artifact sent from the Pledge to the Registrar. It is a specific form of Voucher Request.</t>
        </dd>
        <dt>Registrar Voucher Request (RVR):</dt>
        <dd>
          <t>A signed artifact sent from the Registrar to the MASA. It is a specific form of Voucher Request.</t>
        </dd>
      </dl>
    </section>
    <section anchor="requirements-language">
      <name>Requirements Language</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?>

</section>
    <section anchor="survey-of-voucher-types">
      <name>Survey of Voucher Types</name>
      <t>A voucher is a cryptographically protected statement to the Pledge
authorizing a zero-touch onboarding with the join registrar of the
domain. The specific information a voucher provides is influenced by the
onboarding use case.</t>
      <t>The voucher can convey the following information to
the join registrar and Pledge:</t>
      <dl>
        <dt>Assertion Basis:</dt>
        <dd>
          <t>Indicates the method that protects
the onboarding (this is distinct from the voucher signature that
protects the voucher itself). Methods include
manufacturer-asserted ownership verification, assured
logging operations, or reliance on Pledge behavior
such as secure or measured boot.
The join registrar uses this information to make a determination as to whether to accept the Pledge into the network.
Only some methods are normatively defined in this
document. Other methods are left for future work.</t>
        </dd>
        <dt>Authentication of Join Registrar:</dt>
        <dd>
          <t>Indicates how the Pledge
can authenticate the join registrar.  This document defines
a mechanism to pin the domain certificate, or a raw public key.
Pinning a symmetric key, or "CN-ID" or "DNS-ID"
information (as defined in <xref target="RFC6125"/>) is left for future work.</t>
        </dd>
        <dt>Anti-Replay Protections:</dt>
        <dd>
          <t>Time- or nonce-based
information to constrain the voucher to time periods or bootstrapping
attempts.</t>
        </dd>
      </dl>
      <t>A number of onboarding scenarios can be met using differing
combinations of this information. All scenarios address the primary
threat of an on-path active attacker (or MiTM) impersonating the registrar.
If successful, this would gain control over the Pledge.
The following combinations are "types" of vouchers:</t>
      <table anchor="voucher-types-table">
        <name>Overview of voucher types</name>
        <thead>
          <tr>
            <th align="left">Voucher Type</th>
            <th align="right">Assertion</th>
            <th align="right"> </th>
            <th align="right">Registrar ID</th>
            <th align="right"> </th>
            <th align="right">Validity</th>
            <th align="right"> </th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left"> </td>
            <td align="right">Logged</td>
            <td align="right">Verified</td>
            <td align="right">Trust Anchor</td>
            <td align="right">CN-ID or DNS-ID</td>
            <td align="right">RTC</td>
            <td align="right">Nonce</td>
          </tr>
          <tr>
            <td align="left">Audit voucher</td>
            <td align="right">X</td>
            <td align="right"> </td>
            <td align="right">X</td>
            <td align="right"> </td>
            <td align="right"> </td>
            <td align="right">X</td>
          </tr>
          <tr>
            <td align="left">Nonceless Audit</td>
            <td align="right">X</td>
            <td align="right"> </td>
            <td align="right">X</td>
            <td align="right"> </td>
            <td align="right">X</td>
            <td align="right"> </td>
          </tr>
          <tr>
            <td align="left">Owner Audit</td>
            <td align="right">X</td>
            <td align="right">X</td>
            <td align="right">X</td>
            <td align="right"> </td>
            <td align="right">X</td>
            <td align="right">X</td>
          </tr>
          <tr>
            <td align="left">Owner ID</td>
            <td align="right"> </td>
            <td align="right">X</td>
            <td align="right">X</td>
            <td align="right">X</td>
            <td align="right">X</td>
            <td align="right"> </td>
          </tr>
          <tr>
            <td align="left">Bearer voucher</td>
            <td align="right">X</td>
            <td align="right"> </td>
            <td align="right">wildcard</td>
            <td align="right">wildcard</td>
            <td align="right">optional</td>
            <td align="right">opt</td>
          </tr>
        </tbody>
      </table>
      <t>NOTE: All voucher types include a 'Pledge ID serial-number'
      (not shown here for space reasons).</t>
      <dl>
        <dt>Audit Voucher:</dt>
        <dd>
          <t>An Audit Voucher is named after the logging assertion mechanisms
that the registrar then "audits" to enforce local policy. The
registrar mitigates a malicious registrar by auditing that an unknown
malicious registrar does not appear in the log entries.
This does not
directly prevent a malicious registrar but provides a response mechanism that
ensures the on-path-attack is unsuccessful.
An advantage is that actual ownership knowledge (i.e., sales integration providing an indication of who purchased the device) is not required on the MASA service.</t>
        </dd>
        <dt>Nonceless Audit Voucher:</dt>
        <dd>
          <t>An Audit Voucher with a validity period statement, but no guarantee of freshness. Fundamentally,
it is the same as an Audit Voucher except that it can be issued in
advance to support network partitions or to provide a permanent
voucher for remote deployments.
Being issued in advance of the Pledge being online, the Pledge can not rely on a nonce to be included for freshness.
This compromise in reducing the freshness allows for the resulting voucher can be carried across air-gapped infrastructure.
In addition, as there is no end to the validity period, the voucher can be used after the manufacturer (and its delegates) has gone out of business.</t>
        </dd>
        <dt>Ownership Audit Voucher:</dt>
        <dd>
          <t>An Audit Voucher where the MASA service has verified the registrar
as the authorized owner.
The MASA service mitigates a MiTM registrar by refusing to generate
Audit Vouchers for unauthorized registrars. The registrar uses audit
techniques to supplement the MASA. This provides an ideal sharing of
policy decisions and enforcement between the vendor and the owner.</t>
        </dd>
        <dt>Ownership ID Voucher:</dt>
        <dd>
          <t>Named after inclusion of the Pledge's CN-ID or DNS-ID within the
voucher. The MASA service mitigates a MiTM registrar by identifying
the specific registrar (via WebPKI) authorized to own the Pledge.</t>
        </dd>
        <dt>Bearer Voucher:</dt>
        <dd>
          <t>A Bearer Voucher is named after the inclusion of a registrar ID
wildcard. Because the registrar identity is not indicated, this
voucher type must be treated as a secret and protected from exposure
as any 'bearer' of the voucher can claim the Pledge.
This variation is included in the above table in order to clearly
show how other voucher types differ.
This specification does not support bearer vouchers at this time.
There are other specifications in the industry which are equivalent though.
Publishing a nonceless bearer voucher effectively turns the
specified pledge into a "TOFU" device with minimal mitigation
against MiTM registrars. Bearer vouchers are therefore out of scope.</t>
        </dd>
      </dl>
    </section>
    <section anchor="changes-since-rfc8366">
      <name>Changes since RFC8366</name>
      <section anchor="extendfail">
        <name>Attempts and motivation to extend RFC8366</name>
        <t><xref target="RFC8366"/> was published in 2018 during the development of <xref target="BRSKI"/>,
<xref target="ZERO-TOUCH"/> and other work-in-progress efforts.
Since then the industry has matured significantly, and the in-the-field activity which this document supports has become known as <em>onboarding</em> rather than <em>bootstrapping</em>.</t>
        <t>The focus of <xref target="BRSKI"/> was onboarding of ISP and Enterprise owned wired routing and switching equipment, with IoT devices being a less important aspect.
<xref target="ZERO-TOUCH"/> has focused upon onboarding of CPE equipment like cable modems and other larger IoT devices, again with smaller IoT devices being of less import.</t>
        <t>Since <xref target="BRSKI"/> was published there is now a mature effort to do application-level onboarding of constrained IoT devices defined by the Thread Group and the Fairhair Alliance (now OCF) <xref target="fairhair"/>.
The <xref target="cBRSKI"/> document has defined a version of <xref target="BRSKI"/> that is useable over constrained IEEE 802.15.4 6LoWPAN networks using CoAP and DTLS, while <xref target="I-D.ietf-lake-authz"/> provides for using CoAP and EDHOC on even more constrained devices with very constrained networks.</t>
        <t><xref target="PRM"/> has created a new methodology for onboarding that does not depend upon a synchronous connection between the Pledge and the Registrar.
This mechanism uses a mobile Registrar Agent that works to collect and transfer signed artifacts via physical travel from one network to another.</t>
        <t>Both <xref target="cBRSKI"/> and <xref target="PRM"/> require extensions to the Voucher Request and the resulting Voucher. The new attribtes are required to carry the additional attributes and describe the extended semantics.
In addition <xref target="cBRSKI"/> uses the serialization mechanism described in <xref target="RFC9254"/> to produce significantly more compact artifacts.</t>
        <t>When the process to define <xref target="cBRSKI"/> and <xref target="PRM"/> was started, there was a belief that the appropriate process was to use the <xref target="RFC8040"/> <em>augment</em> mechanism to further extend both the voucher request <xref target="BRSKI"/> and voucher <xref target="RFC8366"/> artifacts.
However, <xref target="PRM"/> needs to extend an enumerated type with additional values and <em>augment</em> can not do this, so that was initially the impetus for this document.</t>
        <t>An attempt was then made to determine what would happen if one wanted to have a constrained version of the <xref target="PRM"/> voucher artifact.
The result was invalid YANG, with multiple definitions of the core attributes from the <xref target="RFC8366"/> voucher artifact.
After some discussion, it was determined that the <em>augment</em> mechanism did not work, nor did it work better when <xref target="RFC8040"/> yang-data was replaced with the <xref target="RFC8791"/> structure mechanisms.</t>
        <t>After significant discussion the decision was made to simply roll all of the needed extensions  into this document.</t>
      </section>
      <section anchor="informational-model-changes-since-rfc8366">
        <name>Informational Model changes since RFC8366</name>
        <t>This document therefore represents a merge of YANG definitions from <xref target="RFC8366"/>, the voucher-request from <xref target="BRSKI"/>, and extensions to each of these from <xref target="cBRSKI"/>, <xref target="CLOUD"/> and <xref target="PRM"/>.
The difficulty with this approach is that the semantics of the definitions needed for the other documents is not included in this document, but rather in the respective other documents.</t>
      </section>
    </section>
    <section anchor="signature-mechanisms">
      <name>Signature mechanisms</name>
      <t>Three signature systems have been defined for vouchers and voucher-requests.</t>
      <t><xref target="cBRSKI"/> defines a mechanism that uses COSE <xref target="RFC9052"/>, with the voucher data encoded using <xref target="RFC9254"/>.
However, as the SID process requires up-to-date YANG, the SID values for this mechanism are presented in this document.</t>
      <t><xref target="jBRSKI"/> defines a mechanism that uses JSON <xref target="RFC8259"/> and <xref target="JWS"/>.</t>
      <t>The CMS signing mechanism first defined in <xref target="RFC8366"/> continues to be defined here.</t>
      <section anchor="cms-voucher">
        <name>CMS Format Voucher Artifact</name>
        <t>The IETF evolution of PKCS#7 is CMS <xref target="RFC5652"/>.
A CMS-signed voucher, the default type, contains a ContentInfo
structure with the voucher content.
An OID for JSON-encoded voucher is allocated in <xref target="iana-contenttype"/>, and
it is to be placed in the eContentType field in the ContentInfo.</t>
        <t>The signing structure is a CMS SignedData structure, as specified by
Section 5.1 of <xref target="RFC5652"/>, encoded using ASN.1 Distinguished Encoding
Rules (DER), as specified in ITU-T X.690 <xref target="ITU-T.X690.2015"/>.</t>
        <t><xref target="RFC5652"/> mandates that SignedAttributes <bcp14>MUST</bcp14> be present when the content type is not id-data.
This mitigates attacks on CMS as described in <xref target="I-D.vangeest-lamps-cms-euf-cma-signeddata"/>.
Decoders <bcp14>MUST</bcp14> verify that SignedAttributes are present.</t>
        <t>To facilitate interoperability, <xref target="vcj"/> the media type "application/voucher-cms+json" and the filename extension ".vcj" were registered by <xref target="RFC8366"/>.</t>
        <t>The CMS structure <bcp14>MUST</bcp14> contain a 'signerInfo' structure, as
described in Section 5.1 of <xref target="RFC5652"/>, containing the
signature generated over the content using a private key
trusted by the recipient.
Normally, the recipient is the Pledge and the signer is the MASA.
In the Voucher Request, the signer is the Pledge, or the Registrar.</t>
        <t>Note that Section 5.1 of <xref target="RFC5652"/> includes a
discussion about how to validate a CMS object, which is really a
PKCS7 object (cmsVersion=1).  Intermediate systems (such the
Bootstrapping Remote Secure Key Infrastructures <xref target="BRSKI"/> registrar)
that might need to evaluate the voucher in flight <bcp14>MUST</bcp14> be prepared for
such an older format.
No signaling of the format version is necessary, as the manufacturer knows the capabilities
of the Pledge and will use an appropriate format voucher for each
Pledge.</t>
        <t>The CMS structure <bcp14>SHOULD</bcp14> also contain all of the certificates
leading up to and including the signer's trust anchor certificate
known to the recipient.  The inclusion of the trust anchor is
unusual in many applications, but third parties cannot accurately
audit the transaction without it.</t>
        <t>The CMS structure <bcp14>MAY</bcp14> also contain revocation objects for any
intermediate certificate authorities (CAs) between the
voucher issuer and the trust anchor known to the recipient.
However, the use of CRLs and other validity mechanisms is
discouraged, as the Pledge is unlikely to be able to perform
online checks and is unlikely to have a trusted clock source.
As described below, the use of short-lived vouchers and/or a
Pledge-provided nonce provides a freshness guarantee.</t>
      </section>
    </section>
    <section anchor="voucher">
      <name>Voucher Artifact</name>
      <t>The voucher's primary purpose is to securely assign a Pledge to an
owner.
The voucher informs the Pledge which entity it should consider to be
its owner.</t>
      <t>This document defines a voucher that is JSON-encoded, and CMS signed encoding of the
data defined in the YANG module <xref target="voucher-yang-module"/>.
Also, this document defines voucher data that is CBOR-encoded based on the same YANG model.
The CBOR-encoded (signed) voucher based on this CBOR voucher data is defined in <xref target="cBRSKI"/>.</t>
      <t>The voucher data format is described here as a practical basis for some uses (such
as in NETCONF), but more to clearly indicate what vouchers look like
in practice.
This description also serves to validate the YANG data model.</t>
      <t><xref target="RFC8366"/> defined a media type and a filename extension for the
CMS-encoded JSON type.
The media type for JOSE format vouchers is defined in <xref target="jBRSKI"/> and the media type for COSE format vouchers is defined in <xref target="cBRSKI"/>.
Both include respective filename extensions.</t>
      <t>The Media Type is used by the Pledge (requesting to the Registrar) and by the Registrar (requesting to the MASA) to signal what voucher format is expected.
Other aspects of the voucher, such as it being nonce-less or which kind of pinned anchor is used, is not part of the Media Type.</t>
      <t>Only the format of voucher that is expected is signaled in the form of a (MIME) Media
Content-Type in the HTTP Accept: header.</t>
      <t>For vouchers stored/transferred via methods like a USB storage device (USB key), the voucher format is usually signaled by a filename extension.</t>
      <section anchor="voucher-tree-diagram">
        <name>Tree Diagram</name>
        <t>The following tree diagram illustrates a high-level view of a voucher
document.
The notation used in this diagram is described in <xref target="RFC8340"/>.
Each node in the diagram is fully described by the YANG module in
<xref target="voucher-yang-module"/>.
Please review the YANG module for a detailed description of the
voucher format.</t>
        <artwork><![CDATA[
module: ietf-voucher

  structure voucher:
    +-- voucher
       +-- created-on?                        yang:date-and-time
       +-- extensions*                        union
       +-- manufacturer-private?              binary
       +-- assertion?                         enumeration
       +-- serial-number                      string
       +-- idevid-issuer?                     binary
       +-- (pinning)?
       |  +--:(pinned-domain-cert)
       |  |  +-- pinned-domain-cert?          binary
       |  +--:(pinned-domain-pubk)
       |  |  +-- pinned-domain-pubk?          binary
       |  +--:(pinned-domain-pubk-sha256)
       |     +-- pinned-domain-pubk-sha256?   binary
       +-- domain-cert-revocation-checks?     boolean
       +-- last-renewal-date?                 yang:date-and-time
       +-- (nonceless)?
       |  +--:(expires-on)
       |  |  +-- expires-on?                  yang:date-and-time
       |  +--:(nonce)
       |     +-- nonce?                       binary
       +-- est-domain?                        ietf:uri
       +-- additional-configuration-url?      ietf:uri
]]></artwork>
      </section>
      <section anchor="voucher-examples">
        <name>Examples</name>
        <t>This section provides voucher data examples for illustration
purposes.  These examples conform to the encoding rules
defined in <xref target="RFC8259"/>.</t>
        <t>The following example illustrates an ephemeral voucher (uses a nonce).
The MASA generated this voucher using the 'logged' assertion type, knowing
that it would be suitable for the Pledge making the request.</t>
        <artwork><![CDATA[
{
  "ietf-voucher:voucher": {
    "created-on": "2016-10-07T19:31:42Z",
    "assertion": "logged",
    "serial-number": "JADA123456789",
    "idevid-issuer": "base64encodedvalue==",
    "pinned-domain-cert": "base64encodedvalue==",
    "nonce": "base64encodedvalue=="
  }
}
]]></artwork>
        <t>The following example illustrates a non-ephemeral voucher (no nonce).
While the voucher itself expires after two weeks, it presumably can
be renewed for up to a year.   The MASA generated this voucher
using the 'verified' assertion type, which should satisfy all Pledges.</t>
        <artwork><![CDATA[
{
  "ietf-voucher:voucher": {
    "created-on": "2016-10-07T19:31:42Z",
    "expires-on": "2016-10-21T19:31:42Z",
    "assertion": "verified",
    "serial-number": "JADA123456789",
    "idevid-issuer": "base64encodedvalue==",
    "pinned-domain-cert": "base64encodedvalue==",
    "domain-cert-revocation-checks": true,
    "last-renewal-date": "2017-10-07T19:31:42Z"
  }
}
]]></artwork>
        <t><xref section="8" sectionFormat="comma" target="jBRSKI"/> contains examples of vouchers encoded in JSON, and signed with <xref target="JWS"/>.
<xref section="9" sectionFormat="comma" target="cBRSKI"/> contains examples of vouchers encoded in CBOR, and signed with <xref target="COSE"/>.</t>
      </section>
      <section anchor="voucher-yang-module">
        <name>YANG Module</name>
        <sourcecode type="yang" markers="true"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

module ietf-voucher {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-voucher";
  prefix vch;

  import ietf-yang-types {
    prefix yang;
    reference
      "RFC 6991: Common YANG Data Types";
  }
  import ietf-inet-types {
    prefix ietf;
    reference
      "RFC 6991: Common YANG Data Types";
  }
  import ietf-yang-structure-ext {
    prefix sx;
  }

  organization
    "IETF ANIMA Working Group";
  contact
    "WG Web:   <https://datatracker.ietf.org/wg/anima/>
     WG List:  <mailto:anima@ietf.org>
     Author:   Kent Watsen
               <mailto:kent+ietf@watsen.net>
     Author:   Michael Richardson
               <mailto:mcr+ietf@sandelman.ca>
     Author:   Max Pritikin
               <mailto:pritikin@cisco.com>
     Author:   Toerless Eckert
               <mailto:tte@cs.fau.de>
     Author:   Qiufang Ma
               <mailto:maqiufang1@huawei.com>";
  description
    "This module defines the format for a voucher, which is
     produced by a pledge's manufacturer or delegate (MASA)
     to securely assign a pledge to an 'owner', so that the
     pledge may establish a secure connection to the owner's
     network infrastructure.

     Copyright (c) 2024 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject to
     the license terms contained in, the Revised BSD License set
     forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX
     (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
     for full legal notices.

     RFCEDITOR: please replace XXXX with the RFC number assigned.

     The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
     NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
     'MAY', and 'OPTIONAL' in this document are to be interpreted as
     described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
     they appear in all capitals, as shown here.";

  revision 2023-01-10 {
    description
      "updated to support new assertion enumerated type";
    reference
      "RFC XXXX Voucher Profile for Bootstrapping Protocols";
  }

  grouping voucher-artifact-grouping {
    description
      "Grouping to allow reuse/extensions in future work.";
    container voucher {
      description
        "A voucher assigns a pledge to an owner using
         the (pinned-domain-cert) value.";
      leaf created-on {
        type yang:date-and-time;
        description
          "A value indicating the date this voucher was created.
           This node is primarily for human consumption and auditing.
           Future work MAY create verification requirements based on
           this node.";
      }
      leaf-list extensions {
        type union {
          type uint64; // when serialized to CBOR with SID
          type string; // when serialized to CBOR or JSON
        }
        description
          "A list of extension names that are used in this Voucher
           file.  Each name is registered with the IANA.  Standard
           extensions are described in an RFC, while vendor \
                                                          proprietary
           ones are not.";
      }
      leaf manufacturer-private {
        type binary;
        description
          "In CBOR serialization, this is a CBOR bstr containing \
                                                  any valid CBOR that
           the manufacturer wishes to share with it's Pledge.  In \
                                                 JSON serializations,
           this contains additional JSON instead, and it is \
                                                 base64URL encoded.";
      }
      leaf assertion {
        type enumeration {
          enum verified {
            value 0;
            description
              "Indicates that the ownership has been positively
               verified by the MASA (e.g., through sales channel
               integration).";
          }
          enum logged {
            value 1;
            description
              "Indicates that the voucher has been issued after
               minimal verification of ownership or control.  The
               issuance has been logged for detection of
               potential security issues (e.g., recipients of
               vouchers might verify for themselves that unexpected
               vouchers are not in the log).  This is similar to
               unsecured trust-on-first-use principles but with the
               logging providing a basis for detecting unexpected
               events.";
          }
          enum proximity {
            value 2;
            description
              "Indicates that the voucher has been issued after
               the MASA verified a proximity proof provided by the
               device and target domain.  The issuance has been
               logged for detection of potential security issues.";
          }
          enum agent-proximity {
            value 3;
            description
              "Mostly identical to proximity, but
               indicates that the voucher has been issued
               after the MASA has verified a statement that
               a registrar agent has made contact with the device.";
          }
        }
        description
          "The assertion is a statement from the MASA regarding how
           the owner was verified.  This statement enables pledges
           to support more detailed policy checks.  Pledges MUST
           ensure that the assertion provided is acceptable, per
           local policy, before processing the voucher.";
      }
      leaf serial-number {
        type string;
        mandatory true;
        description
          "The serial-number of the hardware.  When processing a
           voucher, a pledge MUST ensure that its serial-number
           matches this value.  If no match occurs, then the
           pledge MUST NOT process this voucher.";
      }
      leaf idevid-issuer {
        type binary;
        description
          "The Authority Key Identifier OCTET STRING (as defined in
           Section 4.2.1.1 of RFC 5280) from the pledge's IDevID
           certificate.  Optional since some serial-numbers are
           already unique within the scope of a MASA.
           Inclusion of the statistically unique key identifier
           ensures statistically unique identification of the
           hardware.
           When processing a voucher, a pledge MUST ensure that its
           IDevID Authority Key Identifier matches this value.  If no
           match occurs, then the pledge MUST NOT process this
           voucher.
           When issuing a voucher, the MASA MUST ensure that this
           field is populated for serial-numbers that are not
           otherwise unique within the scope of the MASA.";
      }
      choice pinning {
        description
          "One of these attributes is used by the pledge to
           specify the registrar, and how the pledge would like
           the registrar's identity to be pinned";
        leaf pinned-domain-cert {
          type binary;
          description
            "An X.509 v3 certificate structure, as specified by
             RFC 5280, using Distinguished Encoding Rules (DER)
             encoding, as defined in ITU-T X.690.

             This certificate is used by a pledge to trust a Public \
                                                                  Key
             Infrastructure in order to verify a domain certificate
             supplied to the pledge separately by the bootstrapping
             protocol.  The domain certificate MUST have this
             certificate somewhere in its chain of certificates.
             This certificate MAY be an end-entity certificate,
             including a self-signed entity.";
          reference
            "RFC 5280:
               Internet X.509 Public Key Infrastructure Certificate
               and Certificate Revocation List (CRL) Profile.
             ITU-T X.690:
                Information technology - ASN.1 encoding rules:
                Specification of Basic Encoding Rules (BER),
                Canonical Encoding Rules (CER) and Distinguished
                Encoding Rules (DER).";
        }
        leaf pinned-domain-pubk {
          type binary;
          description
            "The pinned-domain-pubk may replace the
             pinned-domain-cert in constrained uses of
             the voucher. The pinned-domain-pubk
             is the Raw Public Key of the Registrar.
             This field is encoded as a Subject Public Key Info block
             as specified in RFC7250, in section 3.
             The ECDSA algorithm MUST be supported.
             The EdDSA algorithm as specified in
             draft-ietf-tls-rfc4492bis-17 SHOULD be supported.
             Support for the DSA algorithm is not recommended.
             Support for the RSA algorithm is a MAY.";
        }
        leaf pinned-domain-pubk-sha256 {
          type binary;
          description
            "The pinned-domain-pubk-sha256 is a second
             alternative to pinned-domain-cert.  In many cases the
             public key of the domain has already been transmitted
             during the key agreement process, and it is wasteful
             to transmit the public key another two times.
             The use of a hash of public key info, at 32-bytes for
             sha256 is a significant savings compared to an RSA
             public key, but is only a minor savings compared to
             a 256-bit ECDSA public-key.
             Algorithm agility is provided by extensions to this
             specification which can define a new leaf for another
             hash type.";
        }
      }
      leaf domain-cert-revocation-checks {
        type boolean;
        description
          "A processing instruction to the pledge that it MUST (true)
           or MUST NOT (false) verify the revocation status for the
           pinned domain certificate.  If this field is not set, then
           normal PKIX behavior applies to validation of the domain
           certificate.";
      }
      leaf last-renewal-date {
        type yang:date-and-time;
        // this does not work, the XPath does not evaluate
        // must '../nonceless/expires-on';
        description
          "The date that the MASA projects to be the last date it
           will renew a voucher on. This field is merely
           informative; it is not processed by pledges.

           Circumstances may occur after a voucher is generated that
           may alter a voucher's validity period.  For instance,
           a vendor may associate validity periods with support
           contracts, which may be terminated or extended
           over time.";
      }
      choice nonceless {
        description
          "Either a nonce must be present, or an expires-on header";
        leaf expires-on {
          type yang:date-and-time;
          description
            "A value indicating when this voucher expires.  The \
                                                              node is
             optional as not all pledges support expirations, such as
             pledges lacking a reliable clock.

             If this field exists, then the pledges MUST ensure that
             the expires-on time has not yet passed. A pledge without
             an accurate clock cannot meet this requirement.

             The expires-on value MUST NOT exceed the expiration date
             of any of the listed 'pinned-domain-cert' certificates.\
                                                                   ";
        }
        leaf nonce {
          type binary {
            length "8..32";
          }
          description
            "A value that can be used by a pledge in some \
                                                        bootstrapping
             protocols to enable anti-replay protection.  This node \
                                                                   is
             optional because it is not used by all bootstrapping
             protocols.

             When present, the pledge MUST compare the provided nonce
             value with another value that the pledge randomly
             generated and sent to a bootstrap server in an earlier
             bootstrapping message.  If the value is present, but
             the values do not match, then the pledge MUST NOT \
                                                              process
             this voucher.";
        }
      }
      leaf est-domain {
        type ietf:uri;
        description
          "The est-domain is a URL from which the Pledge should
             continue doing enrollment rather than with the
             Cloud Registrar.
             The pinned-domain-cert contains a trust-anchor
             which is to be used to authenticate the server
             found at this URI.
            ";
      }
      leaf additional-configuration-url {
        type ietf:uri;
        description
          "The additional-configuration attribute contains a
             URL to which the Pledge can retrieve additional
             configuration information.
             The contents of this URL are manufacturer specific.
             This is intended to do things like configure
             a VoIP phone to point to the correct hosted
             PBX, for example.";
      }
    }
  }

  // Top-level statement
  sx:structure voucher {
    uses voucher-artifact-grouping;
  }
}
]]></sourcecode>
      </section>
      <section anchor="ietf-voucher-sid-values">
        <name>ietf-voucher SID values</name>
        <t><xref target="RFC9254"/> explains how to serialize YANG into CBOR, and for this a series of SID values are required.
While <xref target="CORESID"/> defines the management process for these values, due to the immaturity of the tooling around this YANG-SID mechanism, the following values are considered normative.</t>
        <artwork><![CDATA[
      SID Assigned to
--------- -------------------------------------------------- 
     2451 data /ietf-voucher:voucher/voucher
     2452 data /ietf-voucher:voucher/voucher/assertion
     2453 data /ietf-voucher:voucher/voucher/created-on
     2454 data .../domain-cert-revocation-checks
     2455 data /ietf-voucher:voucher/voucher/expires-on
     2456 data /ietf-voucher:voucher/voucher/idevid-issuer
     2457 data /ietf-voucher:voucher/voucher/last-renewal-date
     2458 data /ietf-voucher:voucher/nonce
     2459 data /ietf-voucher:voucher/voucher/pinned-domain-cert
     2460 data /ietf-voucher:voucher/voucher/pinned-domain-pubk
     2461 data .../pinned-domain-pubk-sha256
     2462 data /ietf-voucher:voucher/voucher/serial-number
     2463 data .../additional-configuration-url
     2464 data /ietf-voucher:voucher/voucher/est-domain
     2465 data .../manufacturer-private
     2466 data /ietf-voucher:voucher/voucher/extensions
           
]]></artwork>
        <t>The "assertion" attribute is an enumerated type in <xref target="RFC8366"/>, but no values were provided as part of the enumeration.
This document provides enumerated values as part of the YANG module.</t>
        <t>In the JSON serialization, the literal strings from the enumerated types are used so there is no ambiguity.</t>
        <t>In the CBOR serialization, a small integer is used, and the enumeration values are repeated here for convenience.
However, the YANG module should be considered authoritative.
No IANA registry is provided or necessary because the YANG module (and this document) would be extended when there are new entries required.</t>
        <table anchor="assertion-enums">
          <name>CBOR integers for the "assertion" attribute enum</name>
          <thead>
            <tr>
              <th align="left">Integer</th>
              <th align="left">Assertion Type</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">verified</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">logged</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">proximity</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">agent-proximity</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="voucher-ext">
        <name>Voucher Extensions</name>
        <t>An unstated assumption in <xref target="RFC8366"/> was that vouchers could be extended in proprietary ways by manufacturers.
This allows for manufacturers to communicate new things from the MASA to the Pledge, and since both are under control of the same entity, it seemed perfectly fine, even though it would violate the strict definition of the YANG model.</t>
        <t>The JSON serialization of vouchers implicitely accomodates the above, since the voucher is just a map (or dictionary).
Map keys are just strings, and creating unique strings is easy to do by including the manufacturer's domain name.</t>
        <t>In CBOR serialization <xref target="RFC9254"/>, the situation is not so easy.
The delta encoding for keys requires new keys to use the absolute Tag(47) for new entities.
An extension might need to use the Private Use SID values, or acquire SID values for their own use.</t>
        <t>Where the process has become complex is when making standard extensions, as has happened recently, resulting in this document.
The processes which were anticipated to be useful, (the "augment" mechanism) turned out not to be, see <xref target="extendfail"/>.</t>
        <t>Instead, a process similiar to what was done by <xref target="RFC8520"/> has been adopted.
In this, extensions are listed in a leaf named "extensions".
In JSON serialization, these extensions require a unique name, and this <bcp14>MUST</bcp14> be allocated by IANA.
The name <bcp14>MUST</bcp14> be the same as the YANG extension module name.
The "extensions" list attribute definied in this model allows for new standard extensions to be defined.
Items within that list are strings (in JSON serialization), or integers (in CBOR serialization), as defined by the Voucher Extension Registry.</t>
        <t>Extensions are full YANG modules, which are subject to the SID allocation process described in <xref target="RFC9254"/>.
When an extension is serialized,  the extension is placed in a sub-map in the value section.
In JSON serialization, the key is the name of the extension, prefixed by the string "extension:".
In CBOR serialization, the key is the SID which is allocated as the module SID.
This will typically require the absolute Tag(47) to be applied to this key.</t>
        <t>Note that this differs from the mechanism described in <xref target="RFC8520"/> in that a sub-map is not used.
Instead keys are created by combining the module name and the attribute as a string.
The <xref target="RFC8520"/> mechanism uses more bytes, but is also not easily translateable to CBOR.</t>
        <t>As the Voucher Request artifact is created by YANG augment of the voucher artifact, any extension defined for the voucher is also valid for a Voucher Request.</t>
      </section>
      <section anchor="manufacturer-private-extensions">
        <name>Manufacturer Private extensions</name>
        <t>A manufacturer might need to communicate content in the voucher (or in the voucher request), which are never subject to standardization.
While they can use the voucher extensions mechanism defined in <xref target="voucher-ext"/>, it does require allocation of a SID in order to do minimal-sized encoding.
Note that <xref target="RFC9254"/> does not strictly require use of SIDs: instead of a SID value, the full string name can always
be used. But this would significantly increase the size of the voucher data.</t>
        <t>Instead, a manufacturer <bcp14>MAY</bcp14> use the manufacturer-private leaf to put any content they wish.
In CBOR serialization, if a plain CBOR map would be used, it would be subject to delta encoding: so use of this leaf requires that the contents are bstr-encoded <xref section="3.1" sectionFormat="comma" target="RFC8949"/> (Major type 2).
In JSON serialization, delta-encoding does not get in the way, and the manufacturer <bcp14>MAY</bcp14> use any encoding that is convenient for them, but base64URL encoding <xref section="5" sectionFormat="comma" target="RFC4648"/> is <bcp14>RECOMMENDED</bcp14>.</t>
      </section>
    </section>
    <section anchor="voucher-request">
      <name>Voucher Request Artifact</name>
      <t><xref section="3" sectionFormat="comma" target="BRSKI"/> defined a Voucher-Request Artifact as an augmented artifact from the Voucher Artifact originally defined in <xref target="RFC8366"/>.
That definition has been moved to this document, and translated from YANG-DATA <xref target="RFC8040"/> to the SX:STRUCTURE extension <xref target="RFC8791"/>.</t>
      <section anchor="voucher-request-tree-diagram">
        <name>Tree Diagram</name>
        <t>The following tree diagram illustrates a high-level view of a voucher
request document.
The notation used in this diagram is described in <xref target="RFC8340"/>.
Each node in the diagram is fully described by the YANG module in
<xref target="voucher-request-yang-module"/>.</t>
        <artwork><![CDATA[
module: ietf-voucher-request

  structure voucher:
    +-- voucher
       +-- created-on?
       |       yang:date-and-time
       +-- extensions*                                union
       +-- manufacturer-private?                      binary
       +-- assertion?                                 enumeration
       +-- serial-number                              string
       +-- idevid-issuer?                             binary
       +-- (pinning)?
       |  +--:(pinned-domain-cert)
       |  |  +-- pinned-domain-cert?                  binary
       |  +--:(pinned-domain-pubk)
       |  |  +-- pinned-domain-pubk?                  binary
       |  +--:(pinned-domain-pubk-sha256)
       |     +-- pinned-domain-pubk-sha256?           binary
       +-- domain-cert-revocation-checks?             boolean
       +-- last-renewal-date?
       |       yang:date-and-time
       +-- (nonceless)?
       |  +--:(expires-on)
       |  |  +-- expires-on?
       |  |          yang:date-and-time
       |  +--:(nonce)
       |     +-- nonce?                               binary
       +-- est-domain?                                ietf:uri
       +-- additional-configuration-url?              ietf:uri
       +-- prior-signed-voucher-request?              binary
       +-- (registrar-identity)?
       |  +--:(proximity-registrar-cert)
       |  |  +-- proximity-registrar-cert?            binary
       |  +--:(proximity-registrar-pubk)
       |  |  +-- proximity-registrar-pubk?            binary
       |  +--:(proximity-registrar-pubk-sha256)
       |     +-- proximity-registrar-pubk-sha256?     binary
       +-- agent-signed-data?                         binary
       +-- agent-provided-proximity-registrar-cert?   binary
       +-- agent-sign-cert?                           binary
]]></artwork>
      </section>
      <section anchor="voucher-request-yang-module">
        <name>"ietf-voucher-request" Module</name>
        <t>The ietf-voucher-request YANG module is derived from the ietf-voucher module.</t>
        <sourcecode type="yang" markers="true"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

module ietf-voucher-request {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-voucher-request";
  prefix vcr;

  import ietf-yang-structure-ext {
    prefix sx;
  }
  import ietf-voucher {
    prefix vch;
    description
      "This module defines the format for a voucher,
       which is produced by a pledge's manufacturer or
       delegate (MASA) to securely assign a pledge to
       an 'owner', so that the pledge may establish a secure
       connection to the owner's network infrastructure";
    reference
      "RFC XXXX: Voucher Artifact for
       Bootstrapping Protocols";
  }

  organization
    "IETF ANIMA Working Group";
  contact
    "WG Web:   <https://datatracker.ietf.org/wg/anima/>
     WG List:  <mailto:anima@ietf.org>
     Author:   Kent Watsen
               <mailto:kent+ietf@watsen.net>
     Author:   Michael Richardson
               <mailto:mcr+ietf@sandelman.ca>
     Author:   Max Pritikin
               <mailto:pritikin@cisco.com>
     Author:   Toerless Eckert
               <mailto:tte@cs.fau.de>
     Author:   Qiufang Ma
               <mailto:maqiufang1@huawei.com>";
  description
    "This module defines the format for a voucher request.
     It is a superset of the voucher itself.
     It provides content to the MASA for consideration
     during a voucher request.

     The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
     NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
     'MAY', and 'OPTIONAL' in this document are to be interpreted as
     described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
     they appear in all capitals, as shown here.

      Copyright (c) 2024 IETF Trust and the persons identified as
      authors of the code.  All rights reserved.

      Redistribution and use in source and binary forms, with or
      without modification, is permitted pursuant to, and subject to
      the license terms contained in, the Revised BSD License set
      forth in Section 4.c of the IETF Trust's Legal Provisions
      Relating to IETF Documents
      (https://trustee.ietf.org/license-info).

      This version of this YANG module is part of RFC XXXX
      (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
      for full legal notices.

     RFCEDITOR: please replace XXXX with the RFC number assigned.

      The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
      NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
      'MAY', and 'OPTIONAL' in this document are to be interpreted as
      described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
      they appear in all capitals, as shown here.";

  revision 2023-01-10 {
    description
      "Initial version";
    reference
      "RFC XXXX: Bootstrapping Remote Secure Key Infrastructure";
  }

  grouping voucher-request-grouping {
    description
      "Grouping to allow reuse/extensions in future work.";
    uses vch:voucher-artifact-grouping {
      refine "voucher/created-on" {
        mandatory false;
      }
      refine "voucher/last-renewal-date" {
        description
          "A last-renewal-date field
           is not valid in a voucher request, and
           any occurrence MUST be ignored";
      }
      refine "voucher/domain-cert-revocation-checks" {
        description
          "The domain-cert-revocation-checks field
           is not valid in a voucher request, and
           any occurrence MUST be ignored";
      }
      refine "voucher/assertion" {
        mandatory false;
        description
          "Any assertion included in registrar voucher
           requests SHOULD be ignored by the MASA.";
      }
      augment "voucher" {
        description
          "Adds leaf nodes appropriate for requesting vouchers.";
        leaf prior-signed-voucher-request {
          type binary;
          description
            "If it is necessary to change a voucher, or re-sign and
             forward a voucher that was previously provided along a
             protocol path, then the previously signed voucher SHOULD
             be included in this field.

             For example, a pledge might sign a voucher request
             with a proximity-registrar-cert, and the registrar
             then includes it as the prior-signed-voucher-request
             field.  This is a simple mechanism for a chain of
             trusted parties to change a voucher request, while
             maintaining the prior signature information.

             The Registrar and MASA MAY examine the prior signed
             voucher information for the
             purposes of policy decisions. For example this
             information could be useful to a MASA to determine
             that both pledge and registrar agree on proximity
             assertions. The MASA SHOULD remove all
             prior-signed-voucher-request information when
             signing a voucher for imprinting so as to minimize
             the final voucher size.";
        }
        choice registrar-identity {
          description
            "One of these three attributes will be used to pin the \
                                                 registrar identity";
          leaf proximity-registrar-cert {
            type binary;
            description
              "An X.509 v3 certificate structure as specified by
               RFC 5280, Section 4 encoded using the ASN.1
               distinguished encoding rules (DER), as specified
               in [ITU.X690.1994].

               The first certificate in the Registrar TLS server
               certificate_list sequence  (the end-entity TLS
               certificate, see [RFC8446]) presented by the Registrar
               to the Pledge.
               This MUST be populated in a Pledge's voucher request
               when a proximity assertion is requested.";
          }
          leaf proximity-registrar-pubk {
            type binary;
            description
              "The proximity-registrar-pubk replaces
               the proximity-registrar-cert in constrained uses of
               the voucher-request.
               The proximity-registrar-pubk is the
               Raw Public Key of the Registrar. This field is encoded
               as specified in RFC7250, section 3.
               The ECDSA algorithm MUST be supported.
               The EdDSA algorithm as specified in
               draft-ietf-tls-rfc4492bis-17 SHOULD be supported.
               Support for the DSA algorithm is not recommended.
               Support for the RSA algorithm is a MAY, but due to
               size is discouraged.";
          }
          leaf proximity-registrar-pubk-sha256 {
            type binary;
            description
              "The proximity-registrar-pubk-sha256
               is an alternative to both
               proximity-registrar-pubk and pinned-domain-cert.
               In many cases the public key of the domain has already
               been transmitted during the key agreement protocol,
               and it is wasteful to transmit the public key another
               two times.
               The use of a hash of public key info, at 32-bytes for
               sha256 is a significant savings compared to an RSA
               public key, but is only a minor savings compared to
               a 256-bit ECDSA public-key.
               Algorithm agility is provided by extensions to this
               specification which may define a new leaf for another
               hash type.";
          }
        }
        leaf agent-signed-data {
          type binary;
          description
            "The agent-signed-data field contains a data artifact \
                                                             provided
             by the Registrar-Agent to the Pledge for inclusion \
                                                             into the
             voucher request.

             This artifact is signed by the Registrar-Agent and \
                                                             contains
             data, which can be verified by the pledge and the \
                                                           registrar.
             This data contains the pledge's serial-number and a \
                                                           created-on
             information of the agent-signed-data.

             The format is intentionally defined as binary to allow
             the document using this leaf to determine the encoding.\
                                                                   ";
        }
        leaf agent-provided-proximity-registrar-cert {
          type binary;
          description
            "An X.509 v3 certificate structure, as specified by
             RFC 5280, Section 4, encoded using the ASN.1
             distinguished encoding rules (DER), as specified
             in ITU X.690.
             The first certificate in the registrar TLS server
             certificate_list sequence (the end-entity TLS
             certificate; see RFC 8446) presented by the
             registrar to the registrar-agent and provided to
             the pledge.
             This MUST be populated in a pledge's voucher-request
             when an agent-proximity assertion is requested.";
          reference
            "ITU X.690: Information Technology - ASN.1 encoding
             rules: Specification of Basic Encoding Rules (BER),
             Canonical Encoding Rules (CER) and Distinguished
             Encoding Rules (DER)
             RFC 5280: Internet X.509 Public Key Infrastructure
             Certificate and Certificate Revocation List (CRL)
             Profile
             RFC 8446: The Transport Layer Security (TLS)
             Protocol Version 1.3";
        }
        leaf agent-sign-cert {
          type binary;
          description
            "An X.509 v3 certificate structure, as specified by
             RFC 5280, Section 4, encoded using the ASN.1
             distinguished encoding rules (DER), as specified
             in ITU X.690.
             This certificate can be used by the pledge,
             the registrar, and the MASA to verify the signature
             of agent-signed-data. It is an optional component
             for the pledge-voucher request.
             This MUST be populated in a registrar's
             voucher-request when an agent-proximity assertion
             is requested.";
          reference
            "ITU X.690: Information Technology - ASN.1 encoding
             rules: Specification of Basic Encoding Rules (BER),
             Canonical Encoding Rules (CER) and Distinguished
             Encoding Rules (DER)
             RFC 5280: Internet X.509 Public Key Infrastructure
             Certificate and Certificate Revocation List (CRL)
             Profile";
        }
      }
    }
  }

  // Top-level statement
  sx:structure voucher {
    uses voucher-request-grouping;
  }
}
]]></sourcecode>
      </section>
      <section anchor="voucher-request-sid-values">
        <name>ietf-voucher-request SID values</name>
        <t><xref target="RFC9254"/> explains how to serialize YANG into CBOR, and for this a series of SID values are required.
While <xref target="CORESID"/> defines the management process for these values, due to the immaturity  of the tooling around this YANG-SID mechanisms, the following values are considered normative.</t>
        <artwork><![CDATA[
      SID Assigned to
--------- --------------------------------------------------
     2501 data /ietf-voucher-request:voucher/voucher
     2502 data /ietf-voucher-request:voucher/voucher/assertion
     2503 data /ietf-voucher-request:voucher/voucher/created-on
     2504 data .../domain-cert-revocation-checks
     2505 data /ietf-voucher-request:voucher/voucher/expires-on
     2506 data .../idevid-issuer
     2507 data .../last-renewal-date
     2508 data /ietf-voucher-request:voucher/nonce
     2509 data .../pinned-domain-cert
     2510 data .../prior-signed-voucher-request
     2511 data .../proximity-registrar-cert
     2512 data .../proximity-registrar-pubk-sha256
     2513 data .../proximity-registrar-pubk
     2514 data .../serial-number
     2515 data .../agent-provided-proximity-registrar-cert
     2516 data .../agent-sign-cert
     2517 data .../agent-signed-data
     2518 data .../pinned-domain-pubk
     2519 data .../pinned-domain-pubk-sha256
     2520 data .../additional-configuration-url
     2521 data /ietf-voucher-request:voucher/est-domain
     2522 data /ietf-voucher-request:voucher/expires-on
     2523 data /ietf-voucher-request:voucher/voucher/extensions
     2524 data .../manufacturer-private

]]></artwork>
        <t>The "assertion" attribute is an enumerated type, and has values as defined in <xref target="assertion-enums"/>.</t>
      </section>
    </section>
    <section anchor="design-con">
      <name>Design Considerations</name>
      <section anchor="renewal-over-revocation">
        <name>Renewals Instead of Revocations</name>
        <t>The lifetimes of vouchers may vary.  In some onboarding protocols,
the vouchers may be created and consumed immediately, whereas in other
onboarding solutions, there may be a significant time delay between
when a voucher is created and when it is consumed.
In cases when there is a time delay, there is a need for the Pledge
to ensure that the assertions made when the voucher was created are
still valid.</t>
        <t>A revocation artifact is generally used to verify the continued validity
of an assertion such as a PKIX certificate, web token, or a "voucher".  With
this approach, a potentially long-lived assertion is paired with a reasonably
fresh revocation status check to ensure that the assertion is still valid.
However, this approach increases solution complexity, as it introduces the
need for additional protocols and code paths to distribute and process the
revocations.</t>
        <t>Addressing the shortcomings of revocations, this document recommends
instead the use of lightweight renewals of short-lived non-revocable
vouchers.  That is, rather than issue a long-lived voucher, where the
'expires-on' leaf is set to some distant date, the expectation
is for the MASA to instead issue a short-lived voucher, where the
'expires-on' leaf is set to a relatively near date, along with a promise
(reflected in the 'last-renewal-date' field) to reissue the voucher again
when needed.  Importantly, while issuing the initial voucher may incur
heavyweight verification checks ("Are you who you say you are?" "Does the
Pledge actually belong to you?"), reissuing the voucher should be a
lightweight process, as it ostensibly only updates the voucher's
validity period.
With this approach, there is
only the one artifact, and only one code path is needed to process
it; there is no possibility of a Pledge choosing to skip the
revocation status check because, for instance, the OCSP Responder is
not reachable.</t>
        <t>While this document recommends issuing short-lived vouchers, the
voucher artifact does not restrict the ability to create long-lived
voucher, if required; however, no revocation method is described.</t>
        <t>Note that a voucher may be signed by a chain of intermediate CAs
leading up to the trust anchor CA known by the Pledge.  Even
though the voucher itself is not revocable, it is still revoked,
per se, if one of the intermediate CA certificates is revoked.</t>
      </section>
      <section anchor="voucher-per-pledge">
        <name>Voucher Per Pledge</name>
        <t>The solution described herein originally enabled a single voucher to
apply to many Pledges, using lists of regular expressions to represent
ranges of serial-numbers.  However, it was determined that blocking the
renewal of a voucher that applied to many devices would be excessive
when only the ownership for a single Pledge needed to be blocked.
Thus, the voucher format now only supports a single serial-number
to be listed.</t>
      </section>
    </section>
    <section anchor="sec-con">
      <name>Security Considerations</name>
      <section anchor="clock-sensitivity">
        <name>Clock Sensitivity</name>
        <t>An attacker could use an expired voucher to gain control over
a device that has no understanding of time.  The device cannot
trust NTP as a time reference, as an attacker could control
the NTP stream.</t>
        <t>There are three things to defend against this: 1) devices are
required to verify that the expires-on field has not yet passed,
2) devices without access to time can use nonces to
get ephemeral vouchers, and 3) vouchers without expiration times
may be used, which will appear in the audit log, informing the
security decision.</t>
        <t>This document defines a voucher format that contains time values
for expirations, which require an accurate clock
in order to be processed correctly.  Vendors planning on
issuing vouchers with expiration values must ensure that devices
have an accurate clock when shipped from manufacturing
facilities and take steps to prevent clock tampering.
If it is not possible to ensure clock accuracy, then
vouchers with time values for expirations should not be issued.</t>
      </section>
      <section anchor="protect-voucher-pki-in-hsm">
        <name>Protect Voucher PKI in HSM</name>
        <t>Pursuant the recommendation made in Section 6.1 for the MASA to be
deployed as an online voucher signing service, it is <bcp14>RECOMMENDED</bcp14> that
the MASA's private key used for signing vouchers is protected by
a hardware security module (HSM).</t>
      </section>
      <section anchor="test-domain-certificate-validity-when-signing">
        <name>Test Domain Certificate Validity When Signing</name>
        <t>If a domain certificate is compromised, then any outstanding
vouchers for that domain could be used by the attacker.  In this case, the domain
administrator is clearly expected to initiate revocation of any
domain identity certificates (as is normal in PKI solutions).</t>
        <t>Similarly, they are expected to contact the MASA to indicate that
an outstanding (presumably short lifetime) voucher should be blocked from
automated renewal.
Protocols for voucher distribution are
<bcp14>RECOMMENDED</bcp14> to check for revocation of domain identity certificates
before the signing of vouchers.</t>
      </section>
      <section anchor="yang-module-security-considerations">
        <name>YANG Module Security Considerations</name>
        <t>The YANG modules specified in this document define the schema
for data that is subsequently encapsulated by secure signed-data structure,
such as the CMS signed-data described in <xref target="cms-voucher"/>.  As such,
all of the YANG modeled data is protected from modification.</t>
        <t>Implementations should be aware that the signed data is only
protected from external modification; the data is still visible.
This potential disclosure of information doesn't affect security
so much as privacy.  In particular, adversaries can glean
information such as which devices belong to which organizations
and which CRL Distribution Point and/or OCSP Responder URLs are
accessed to validate the vouchers.  When privacy is important,
the CMS signed-data content type <bcp14>SHOULD</bcp14> be encrypted, either by
conveying it via a mutually authenticated secure transport protocol
(e.g., TLS <xref target="RFC5246"/>) or by encapsulating the signed-data
content type with an enveloped-data content type (Section 6
of <xref target="RFC5652"/>), though details for how to do this are outside
the scope of this document.</t>
        <t>The use of YANG to define data structures, via the 'yang-data'
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 template described by Section 3.7 of
<xref target="YANG-GUIDE"/>.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="the-ietf-xml-registry">
        <name>The IETF XML Registry</name>
        <t>This document registers two URIs in the "IETF XML Registry" <xref target="RFC3688"/>.</t>
        <t>IANA has registered the following:</t>
        <ul empty="true">
          <li>
            <dl spacing="compact">
              <dt>URI:</dt>
              <dd>
                <t>urn:ietf:params:xml:ns:yang:ietf-voucher</t>
              </dd>
              <dt>Registrant Contact:</dt>
              <dd>
                <t>The ANIMA WG of the IETF.</t>
              </dd>
              <dt>XML:</dt>
              <dd>
                <t>N/A, the requested URI is an XML namespace.</t>
              </dd>
            </dl>
          </li>
        </ul>
        <t>This reference should be updated to point to this document.</t>
      </section>
      <section anchor="the-yang-module-names-registry">
        <name>The YANG Module Names Registry</name>
        <t>This document registers two YANG module in the "YANG Module Names"
registry <xref target="RFC6020"/>.</t>
        <t>IANA has registred the following:</t>
        <ul empty="true">
          <li>
            <dl spacing="compact">
              <dt>name:</dt>
              <dd>
                <t>ietf-voucher</t>
              </dd>
              <dt>namespace:</dt>
              <dd>
                <t>urn:ietf:params:xml:ns:yang:ietf-voucher</t>
              </dd>
              <dt>prefix:</dt>
              <dd>
                <t>vch</t>
              </dd>
              <dt>reference:</dt>
              <dd>
                <t>RFC 8366</t>
              </dd>
            </dl>
          </li>
        </ul>
        <t>This reference should be updated to point to this document.</t>
      </section>
      <section anchor="vcj">
        <name>The Media Types Registry</name>
        <t>IANA has registered the media type: application/voucher-cms+json, and this registration should be updated to point to this document.</t>
      </section>
      <section anchor="iana-contenttype">
        <name>The SMI Security for S/MIME CMS Content Type Registry</name>
        <t>IANA has registered the OID 1.2.840.113549.1.9.16.1.40, id-ct-animaJSONVoucher.
This registration should be updated to point to this document.</t>
      </section>
      <section anchor="extensions-registry">
        <name>Extensions Registry</name>
        <t>IANA is asked to create a registry of extensions as follows:</t>
        <artwork><![CDATA[
  Registry name: Voucher Extensions Registry
  Registry policy: First Come First Served
  Reference: an optional document
  Extension name: UTF-8-encoded string, not to exceed 40 characters.
  Extension SID: the module SID value as allocated
]]></artwork>
        <t>Each extension <bcp14>MUST</bcp14> follow the rules specified in this specification.
As is usual, the IANA issues early allocations in accordance with <xref target="RFC7120"/>.</t>
        <t>Note that the SID module value is allocated as part of a <xref target="CORESID"/> process.
This may be from a SID range managed by IANA, or from any other MegaRange.
Future work may allow for PEN based allocations.
IANA does not need to separately allocate a SID value for this column.</t>
        <t>Extension name strings for standards track documents are single words, given by the YANG Module Name.
They do not contain dots.
For vendor proprietary extensions, the string <bcp14>SHOULD</bcp14> be made unique by putting the extension name in the form a fully-qualified domain name (FQDN) <xref target="RFC3696"/>, such as "fuubar.example.com"</t>
        <t>Vendor proprietary extensions do not need to be registered with IANA, but vendors <bcp14>MAY</bcp14> do so.</t>
        <t>Designated Experts should review for standards track documents for clarity, but the process is essentially tied to WG and IESG process:
There are no choices in the extension names (which is always the YANG module name), or SID value (which is from another IANA process).
For non-standards track extensions, the Designated Expert should review whatever document is provided, if any.  The stability of the reference may be of concern.  The Designated Expert should determine if the work overlaps with existing efforts; and if so suggest merging.
However, as registration is optional, the Designated Expert should not block any registrations.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC5652">
          <front>
            <title>Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="September" year="2009"/>
            <abstract>
              <t>This document describes the Cryptographic Message Syntax (CMS). This syntax is used to digitally sign, digest, authenticate, or encrypt arbitrary message content. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="70"/>
          <seriesInfo name="RFC" value="5652"/>
          <seriesInfo name="DOI" value="10.17487/RFC5652"/>
        </reference>
        <reference anchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
        <reference anchor="RFC7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols. This document describes the syntax and semantics of version 1.1 of the YANG language. YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification. There are a small number of backward incompatibilities from YANG version 1. This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7950"/>
          <seriesInfo name="DOI" value="10.17487/RFC7950"/>
        </reference>
        <reference anchor="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="RFC9148">
          <front>
            <title>EST-coaps: Enrollment over Secure Transport with the Secure Constrained Application Protocol</title>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok"/>
            <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="S. Raza" initials="S." surname="Raza"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>Enrollment over Secure Transport (EST) is used as a certificate provisioning protocol over HTTPS. Low-resource devices often use the lightweight Constrained Application Protocol (CoAP) for message exchanges. This document defines how to transport EST payloads over secure CoAP (EST-coaps), which allows constrained devices to use existing EST functionality for provisioning certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9148"/>
          <seriesInfo name="DOI" value="10.17487/RFC9148"/>
        </reference>
        <reference anchor="RFC9254">
          <front>
            <title>Encoding of Data Modeled with YANG in the Concise Binary Object Representation (CBOR)</title>
            <author fullname="M. Veillette" initials="M." role="editor" surname="Veillette"/>
            <author fullname="I. Petrov" initials="I." role="editor" surname="Petrov"/>
            <author fullname="A. Pelov" initials="A." surname="Pelov"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>YANG (RFC 7950) is a data modeling language used to model configuration data, state data, parameters and results of Remote Procedure Call (RPC) operations or actions, and notifications.</t>
              <t>This document defines encoding rules for YANG in the Concise Binary Object Representation (CBOR) (RFC 8949).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9254"/>
          <seriesInfo name="DOI" value="10.17487/RFC9254"/>
        </reference>
        <referencegroup anchor="CBOR" target="https://www.rfc-editor.org/info/std94">
          <reference anchor="RFC8949" target="https://www.rfc-editor.org/info/rfc8949">
            <front>
              <title>Concise Binary Object Representation (CBOR)</title>
              <author fullname="C. Bormann" initials="C." surname="Bormann"/>
              <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
              <date month="December" year="2020"/>
              <abstract>
                <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
                <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
              </abstract>
            </front>
            <seriesInfo name="STD" value="94"/>
            <seriesInfo name="RFC" value="8949"/>
            <seriesInfo name="DOI" value="10.17487/RFC8949"/>
          </reference>
        </referencegroup>
        <reference anchor="CORESID">
          <front>
            <title>YANG Schema Item iDentifier (YANG SID)</title>
            <author fullname="M. Veillette" initials="M." role="editor" surname="Veillette"/>
            <author fullname="A. Pelov" initials="A." role="editor" surname="Pelov"/>
            <author fullname="I. Petrov" initials="I." role="editor" surname="Petrov"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <date month="July" year="2024"/>
            <abstract>
              <t>YANG Schema Item iDentifiers (YANG SIDs) are globally unique 63-bit unsigned integers used to identify YANG items. SIDs provide a more compact method for identifying those YANG items that can be used efficiently, notably in constrained environments (RFC 7228). This document defines the semantics, registration processes, and assignment processes for YANG SIDs for IETF-managed YANG modules. To enable the implementation of these processes, this document also defines a file format used to persist and publish assigned YANG SIDs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9595"/>
          <seriesInfo name="DOI" value="10.17487/RFC9595"/>
        </reference>
        <reference anchor="cBRSKI">
          <front>
            <title>Constrained Bootstrapping Remote Secure Key Infrastructure (cBRSKI)</title>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Peter Van der Stok" initials="P." surname="Van der Stok">
              <organization>vanderstok consultancy</organization>
            </author>
            <author fullname="Panos Kampanakis" initials="P." surname="Kampanakis">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Esko Dijk" initials="E." surname="Dijk">
              <organization>IoTconsultancy.nl</organization>
            </author>
            <date day="18" month="October" year="2025"/>
            <abstract>
              <t>   This document defines the Constrained Bootstrapping Remote Secure Key
   Infrastructure (cBRSKI) protocol, which provides a solution for
   secure zero-touch onboarding of resource-constrained (IoT) devices
   into the network of a domain owner.  This protocol is designed for
   constrained networks, which may have limited data throughput or may
   experience frequent packet loss. cBRSKI is a variant of the BRSKI
   protocol, which uses an artifact signed by the device manufacturer
   called the "voucher" which enables a new device and the owner's
   network to mutually authenticate.  While the BRSKI voucher data is
   encoded in JSON, cBRSKI uses a compact CBOR-encoded voucher.  The
   BRSKI voucher data definition is extended with new data types that
   allow for smaller voucher sizes.  The Enrollment over Secure
   Transport (EST) protocol, used in BRSKI, is replaced with EST-over-
   CoAPS; and HTTPS used in BRSKI is replaced with DTLS-secured CoAP
   (CoAPS).  This document Updates RFC 8995 and RFC 9148.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-constrained-voucher-29"/>
        </reference>
        <reference anchor="jBRSKI">
          <front>
            <title>JWS signed Voucher Artifacts for Bootstrapping Protocols</title>
            <author fullname="Thomas Werner" initials="T." surname="Werner">
              <organization>Siemens AG</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="15" month="January" year="2025"/>
            <abstract>
              <t>   This document introduces a variant of the RFC8366 voucher artifact in
   which CMS is replaced by the JSON Object Signing and Encryption
   (JOSE) mechanism described in RFC7515.  This supports deployments in
   which JOSE is preferred over CMS.  In addition to specifying the
   format, the "application/voucher-jws+json" media type is registered
   and examples are provided.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-jws-voucher-16"/>
        </reference>
        <reference anchor="ITU-T.X690.2015" target="https://www.itu.int/rec/T-REC-X.690/">
          <front>
            <title>Information Technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <author>
              <organization>International Telecommunication Union</organization>
            </author>
            <date year="2015" month="August"/>
          </front>
          <seriesInfo name="ITU-T Recommendation X.690," value="ISO/IEC 8825-1"/>
        </reference>
        <reference anchor="ZERO-TOUCH">
          <front>
            <title>Secure Zero Touch Provisioning (SZTP)</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="I. Farrer" initials="I." surname="Farrer"/>
            <author fullname="M. Abrahamsson" initials="M." surname="Abrahamsson"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This document presents a technique to securely provision a networking device when it is booting in a factory-default state. Variations in the solution enable it to be used on both public and private networks. The provisioning steps are able to update the boot image, commit an initial configuration, and execute arbitrary scripts to address auxiliary needs. The updated device is subsequently able to establish secure connections with other systems. For instance, a device may establish NETCONF (RFC 6241) and/or RESTCONF (RFC 8040) connections with deployment-specific network management systems.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8572"/>
          <seriesInfo name="DOI" value="10.17487/RFC8572"/>
        </reference>
        <reference anchor="BRSKI">
          <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="PRM">
          <front>
            <title>BRSKI with Pledge in Responder Mode (BRSKI-PRM)</title>
            <author fullname="Steffen Fries" initials="S." surname="Fries">
              <organization>Siemens AG</organization>
            </author>
            <author fullname="Thomas Werner" initials="T." surname="Werner">
              <organization>Siemens AG</organization>
            </author>
            <author fullname="Eliot Lear" initials="E." surname="Lear">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="3" month="June" year="2025"/>
            <abstract>
              <t>   This document defines enhancements to Bootstrapping Remote Secure Key
   Infrastructure (BRSKI, RFC8995) as BRSKI with Pledge in Responder
   Mode (BRSKI-PRM).  BRSKI-PRM supports the secure bootstrapping of
   devices, referred to as pledges, into a domain where direct
   communication with the registrar is either limited or not possible at
   all.  To facilitate interaction between a pledge and a domain
   registrar the registrar-agent is introduced as new component.  The
   registrar-agent supports the reversal of the interaction model from a
   pledge-initiated mode, to a pledge-responding mode, where the pledge
   is in a server role.  To establish the trust relation between pledge
   and registrar, BRSKI-PRM relies on object security rather than
   transport security.  This approach is agnostic to enrollment
   protocols that connect a domain registrar to a key infrastructure
   (e.g., domain Certification Authority).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-brski-prm-23"/>
        </reference>
        <reference anchor="CLOUD">
          <front>
            <title>Bootstrapping Remote Secure Key Infrastructure (BRSKI) Cloud Registrar</title>
            <author fullname="Owen Friel" initials="O." surname="Friel">
              <organization>Cisco</organization>
            </author>
            <author fullname="Rifaat Shekh-Yusef" initials="R." surname="Shekh-Yusef">
              <organization>Ciena</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="9" month="September" year="2025"/>
            <abstract>
              <t>   Bootstrapping Remote Secure Key Infrastructures (BRSKI) defines how
   to onboard a device securely into an operator-maintained
   infrastructure.  It assumes that there is local network
   infrastructure for the device to discover.  On networks without that,
   there is nothing present to help onboard the device.

   This document extends BRSKI and defines behavior for bootstrapping
   devices for deployments where no local infrastructure is available,
   such as in a home or remote office.  This document defines how the
   device can use a well-defined "call-home" mechanism to find the
   operator-maintained infrastructure.

   This document defines how to contact a well-known Cloud Registrar,
   and two ways in which the device may be redirected towards the
   operator-maintained infrastructure.  The Cloud Registrar enables
   discovery of the operator-maintained infrastructure, and may enable
   establishment of trust with operator-maintained infrastructure that
   does not support BRSKI mechanisms.

   This document updates RFC 8995 (BRSKI).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-brski-cloud-19"/>
        </reference>
        <reference anchor="IDEVID" target="https://1.ieee802.org/security/802-1ar/">
          <front>
            <title>IEEE 802.1AR Secure Device Identifier</title>
            <author>
              <organization>IEEE Standard</organization>
            </author>
            <date year="2018"/>
          </front>
        </reference>
        <reference anchor="RFC8791">
          <front>
            <title>YANG Data Structure Extensions</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Björklund" initials="M." surname="Björklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>This document describes YANG mechanisms for defining abstract data structures with YANG.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8791"/>
          <seriesInfo name="DOI" value="10.17487/RFC8791"/>
        </reference>
        <reference anchor="RFC7951">
          <front>
            <title>JSON Encoding of Data Modeled with YANG</title>
            <author fullname="L. Lhotka" initials="L." surname="Lhotka"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>This document defines encoding rules for representing configuration data, state data, parameters of Remote Procedure Call (RPC) operations or actions, and notifications defined using YANG as JavaScript Object Notation (JSON) text.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7951"/>
          <seriesInfo name="DOI" value="10.17487/RFC7951"/>
        </reference>
        <reference anchor="RFC2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC7120">
          <front>
            <title>Early IANA Allocation of Standards Track Code Points</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <date month="January" year="2014"/>
            <abstract>
              <t>This memo describes the process for early allocation of code points by IANA from registries for which "Specification Required", "RFC Required", "IETF Review", or "Standards Action" policies apply. This process can be used to alleviate the problem where code point allocation is needed to facilitate desired or required implementation and deployment experience prior to publication of an RFC, which would normally trigger code point allocation. The procedures in this document are intended to apply only to IETF Stream documents.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="100"/>
          <seriesInfo name="RFC" value="7120"/>
          <seriesInfo name="DOI" value="10.17487/RFC7120"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
        <reference anchor="RFC5246">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.2</title>
            <author fullname="T. Dierks" initials="T." surname="Dierks"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2008"/>
            <abstract>
              <t>This document specifies Version 1.2 of the Transport Layer Security (TLS) protocol. The TLS protocol provides communications security over the Internet. The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5246"/>
          <seriesInfo name="DOI" value="10.17487/RFC5246"/>
        </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="RFC7435">
          <front>
            <title>Opportunistic Security: Some Protection Most of the Time</title>
            <author fullname="V. Dukhovni" initials="V." surname="Dukhovni"/>
            <date month="December" year="2014"/>
            <abstract>
              <t>This document defines the concept "Opportunistic Security" in the context of communications protocols. Protocol designs based on Opportunistic Security use encryption even when authentication is not available, and use authentication when possible, thereby removing barriers to the widespread use of encryption on the Internet.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7435"/>
          <seriesInfo name="DOI" value="10.17487/RFC7435"/>
        </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="RFC8340">
          <front>
            <title>YANG Tree Diagrams</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="215"/>
          <seriesInfo name="RFC" value="8340"/>
          <seriesInfo name="DOI" value="10.17487/RFC8340"/>
        </reference>
        <reference anchor="RFC8366" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8366.xml">
          <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="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>
        <referencegroup anchor="COSE" target="https://www.rfc-editor.org/info/std96">
          <reference anchor="RFC9052" target="https://www.rfc-editor.org/info/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="RFC9338" target="https://www.rfc-editor.org/info/rfc9338">
            <front>
              <title>CBOR Object Signing and Encryption (COSE): Countersignatures</title>
              <author fullname="J. Schaad" initials="J." surname="Schaad"/>
              <date month="December" year="2022"/>
              <abstract>
                <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. CBOR Object Signing and Encryption (COSE) defines a set of security services for CBOR. This document defines a countersignature algorithm along with the needed header parameters and CBOR tags for COSE. This document updates RFC 9052.</t>
              </abstract>
            </front>
            <seriesInfo name="STD" value="96"/>
            <seriesInfo name="RFC" value="9338"/>
            <seriesInfo name="DOI" value="10.17487/RFC9338"/>
          </reference>
        </referencegroup>
        <reference anchor="JWS">
          <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="SECUREJOIN">
          <front>
            <title>6tisch Zero-Touch Secure Join protocol</title>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="8" month="July" year="2019"/>
            <abstract>
              <t>   This document describes a Zero-touch Secure Join (ZSJ) mechanism to
   enroll a new device (the "pledge") into a IEEE802.15.4 TSCH network
   using the 6tisch signaling mechanisms.  The resulting device will
   obtain a domain specific credential that can be used with either
   802.15.9 per-host pair keying protocols, or to obtain the network-
   wide key from a coordinator.  The mechanism describe here is an
   augmentation to the one-touch mechanism described in
   [I-D.ietf-6tisch-minimal-security], and is a profile of the
   constrained voucher mechanism [I-D.ietf-anima-constrained-voucher].

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-6tisch-dtsecurity-zerotouch-join-04"/>
        </reference>
        <reference anchor="YANG-GUIDE">
          <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="Stajano99theresurrecting" target="https://www.cl.cam.ac.uk/research/dtg/www/files/publications/public/files/tr.1999.2.pdf">
          <front>
            <title>The Resurrecting Duckling: Security Issues for Ad-Hoc Wireless Networks</title>
            <author initials="F." surname="Stajano" fullname="Frank Stajano">
              <organization/>
            </author>
            <author initials="R." surname="Anderson" fullname="Ross Anderson">
              <organization/>
            </author>
            <date year="1999"/>
          </front>
        </reference>
        <reference anchor="imprinting" target="https://en.wikipedia.org/w/index.php?title=Imprinting_(psychology)&amp;oldid=1314466188">
          <front>
            <title>Wikipedia article: Imprinting (psychology)</title>
            <author>
              <organization>Wikipedia</organization>
            </author>
            <date year="2025" month="October" day="01"/>
          </front>
        </reference>
        <reference anchor="fairhair" target="https://openconnectivity.org/developer/specifications/fairhair/">
          <front>
            <title>Fairhair Specification</title>
            <author>
              <organization>Open Connectivity Foundation</organization>
            </author>
            <date year="2019" month="November" day="01"/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-lake-authz">
          <front>
            <title>Lightweight Authorization using Ephemeral Diffie-Hellman Over COSE (ELA)</title>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Mališa Vučinić" initials="M." surname="Vučinić">
              <organization>INRIA</organization>
            </author>
            <author fullname="Geovane Fedrecheski" initials="G." surname="Fedrecheski">
              <organization>INRIA</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="7" month="July" year="2025"/>
            <abstract>
              <t>   Ephemeral Diffie-Hellman Over COSE (EDHOC) is a lightweight
   authenticated key exchange protocol intended for use in constrained
   scenarios.  This document specifies Lightweight Authorization using
   EDHOC (ELA).  The procedure allows authorizing enrollment of new
   devices using the extension point defined in EDHOC.  ELA is
   applicable to zero-touch onboarding of new devices to a constrained
   network leveraging trust anchors installed at manufacture time.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lake-authz-05"/>
        </reference>
        <reference anchor="I-D.vangeest-lamps-cms-euf-cma-signeddata">
          <front>
            <title>Best Practices for CMS SignedData with Regards to Signed Attributes</title>
            <author fullname="Daniel Van Geest" initials="D." surname="Van Geest">
              <organization>CryptoNext Security</organization>
            </author>
            <author fullname="Falko Strenzke" initials="F." surname="Strenzke">
              <organization>MTG AG</organization>
            </author>
            <date day="20" month="October" year="2025"/>
            <abstract>
              <t>   The Cryptographic Message Syntax (CMS) has different signature
   verification behaviour based on whether signed attributes are present
   or not.  This results in a potential existential forgery
   vulnerability in CMS and protocols which use CMS.  This document
   describes the vulnerability and lists best practices and mitigations
   for such a vulnerability.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-vangeest-lamps-cms-euf-cma-signeddata-02"/>
        </reference>
        <reference anchor="RFC8520" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8520.xml">
          <front>
            <title>Manufacturer Usage Description Specification</title>
            <author fullname="E. Lear" initials="E." surname="Lear"/>
            <author fullname="R. Droms" initials="R." surname="Droms"/>
            <author fullname="D. Romascanu" initials="D." surname="Romascanu"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>This memo specifies a component-based architecture for Manufacturer Usage Descriptions (MUDs). The goal of MUD is to provide a means for end devices to signal to the network what sort of access and network functionality they require to properly function. The initial focus is on access control. Later work can delve into other aspects.</t>
              <t>This memo specifies two YANG modules, IPv4 and IPv6 DHCP options, a Link Layer Discovery Protocol (LLDP) TLV, a URL, an X.509 certificate extension, and a means to sign and verify the descriptions.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8520"/>
          <seriesInfo name="DOI" value="10.17487/RFC8520"/>
        </reference>
        <reference anchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC3696">
          <front>
            <title>Application Techniques for Checking and Transformation of Names</title>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <date month="February" year="2004"/>
            <abstract>
              <t>Many Internet applications have been designed to deduce top-level domains (or other domain name labels) from partial information. The introduction of new top-level domains, especially non-country-code ones, has exposed flaws in some of the methods used by these applications. These flaws make it more difficult, or impossible, for users of the applications to access the full Internet. This memo discusses some of the techniques that have been used and gives some guidance for minimizing their negative impact as the domain name environment evolves. This document draws summaries of the applicable rules together in one place and supplies references to the actual standards. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3696"/>
          <seriesInfo name="DOI" value="10.17487/RFC3696"/>
        </reference>
      </references>
    </references>
    <?line 1639?>

<section anchor="examples">
      <name>Examples</name>
      <section anchor="key-pairs-associated-with-examples">
        <name>Key pairs associated with examples</name>
        <t>The following voucher request has been produced using the IDevID <xref target="IDEVID"/> public (certificate) and private key.
They are included so that other developers can match the same output.</t>
        <t>The private RSA key:</t>
        <artwork><![CDATA[
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIBHNh6r8QRevRuo+tEmBJeFjQKf6bpFA/9NGoltv+9sNoAoGCCqGSM49
AwEHoUQDQgAEA6N1Q4ezfMAKmoecrfb0OBMc1AyEH+BATkF58FsTSyBxs0SbSWLx
FjDOuwB9gLGn2TsTUJumJ6VPw5Z/TP4hJw==
-----END EC PRIVATE KEY-----
]]></artwork>
        <t>The IDevID certificate (public key):</t>
        <artwork><![CDATA[
-----BEGIN CERTIFICATE-----
MIIBrzCCATWgAwIBAgIEHxj+5zAKBggqhkjOPQQDAjAmMSQwIgYDVQQDDBtoaWdo
d2F5LXRlc3QuZXhhbXBsZS5jb20gQ0EwIBcNMjEwNDI3MTgyOTMwWhgPMjk5OTEy
MzEwMDAwMDBaMBwxGjAYBgNVBAUTETAwLUQwLUU1LUYyLTAwLTAyMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEA6N1Q4ezfMAKmoecrfb0OBMc1AyEH+BATkF58FsT
SyBxs0SbSWLxFjDOuwB9gLGn2TsTUJumJ6VPw5Z/TP4hJ6NZMFcwHQYDVR0OBBYE
FEWIzJaWAGQ3sLojZWRkVAgGbFatMAkGA1UdEwQCMAAwKwYIKwYBBQUHASAEHxYd
aGlnaHdheS10ZXN0LmV4YW1wbGUuY29tOjk0NDMwCgYIKoZIzj0EAwIDaAAwZQIw
YirbvjT3G8uF3iaOQwD5DYjId6jdPAhAVLzsPbbccCvDf8oZIZqgq8VRjqrfNt6L
AjEAsl1Z+EfH7QOXqMDHqIH6qIbtZ2Q3UXpunKOCTW2tvPM1np1qom1/fyUcA+/w
uptx
-----END CERTIFICATE-----
]]></artwork>
        <t>The Certification Authority that created the IDevID:</t>
        <artwork><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 1016146354 (0x3c9129b2)
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: CN = highway-test.example.com CA
        Validity
            Not Before: Apr  5 19:36:57 2021 GMT
            Not After : May  6 05:36:57 2021 GMT
        Subject: CN = highway-test.example.com CA
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (3072 bit)
                Modulus:
                    00:b4:7b:27:42:49:9f:ed:85:47:74:ff:f6:50:cd:
                    5d:22:1a:64:38:22:f8:09:d2:d6:f3:60:d8:98:7f:
                    e5:84:52:1e:d9:ce:96:b4:dc:a6:43:74:67:27:d9:
                    9d:42:7d:bf:1a:43:92:9b:d1:dd:34:9b:41:d2:e3:
                    d5:59:b3:40:fc:b3:c9:e1:58:84:3f:87:f7:06:45:
                    25:26:4c:bf:a1:45:72:a0:0a:5b:86:41:d7:8e:be:
                    d3:38:b5:aa:66:69:bd:3a:fd:e9:b5:b8:a2:79:c4:
                    f0:a5:3c:9e:91:94:32:1e:9c:b0:7f:25:46:5b:76:
                    1d:86:23:85:b0:62:45:5c:a8:6f:fb:c5:26:e1:dd:
                    a8:f2:68:ab:c5:8c:b4:58:b4:2e:96:49:fa:fe:d2:
                    ea:a5:11:68:c2:8d:f4:58:ab:30:bd:dd:1b:29:97:
                    00:18:6f:59:40:9c:3a:2a:e4:96:25:bb:12:f4:1a:
                    11:72:6d:31:f6:b4:e1:cc:d8:9a:0c:aa:a8:aa:a4:
                    64:e3:f1:06:1c:c0:09:df:62:ba:04:cb:70:b0:c4:
                    f7:ca:35:22:ea:a9:c7:52:e1:ce:27:fb:6c:52:39:
                    b7:22:b3:5d:97:cb:0a:9f:75:a3:af:16:ef:e6:b2:
                    1b:6a:c3:0b:1d:15:fd:b8:d8:e7:8a:f6:f4:99:1c:
                    23:97:4b:80:e9:79:a3:85:16:f8:dd:bd:77:ef:3a:
                    3c:8e:e7:75:56:67:36:3a:dd:42:7b:84:2f:64:2f:
                    13:0e:fa:b0:3b:11:13:7e:ae:78:a6:2f:46:dd:4b:
                    11:88:e4:7b:19:ab:21:2d:1f:34:ba:61:cd:51:84:
                    a5:ec:6a:c1:90:20:70:e3:aa:f4:01:fd:0c:6e:cd:
                    04:47:99:31:70:79:6c:af:41:78:c1:04:2a:43:78:
                    84:8a:fe:c3:3d:f2:41:c8:2a:a1:10:e0:b7:b4:4f:
                    4e:e6:26:79:ac:49:64:cf:57:1e:2e:e3:2f:58:bd:
                    6f:30:00:67:d7:8b:d6:13:60:bf
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints: critical
                CA:TRUE
            X509v3 Key Usage: critical
                Certificate Sign, CRL Sign
            X509v3 Subject Key Identifier: 
                33:12:45:B7:1B:10:BE:F3:CB:64:E5:4C:50:80:7C:9D:88:\
                                                             65:74:40
            X509v3 Authority Key Identifier: 
                33:12:45:B7:1B:10:BE:F3:CB:64:E5:4C:50:80:7C:9D:88:\
                                                             65:74:40
    Signature Algorithm: sha256WithRSAEncryption
    Signature Value:
        05:37:28:85:37:39:71:87:ec:5c:f0:51:19:55:4a:b7:e0:2a:
        e6:61:30:d4:e2:2b:ad:7a:db:12:fc:8a:a6:6e:15:82:80:10:
        fa:5d:67:60:e8:54:14:e3:89:d6:4e:60:89:98:5b:ab:fe:32:
        26:aa:02:35:68:4e:c6:2e:ce:08:36:d1:ea:a0:97:3d:76:38:
        6e:9d:4b:6f:33:d2:fa:c2:7e:b0:59:bc:75:97:17:d1:1b:c5:
        c4:58:ae:7b:7e:87:e5:87:2b:8b:6b:10:16:70:7c:c8:65:c7:
        d0:62:5d:f3:b5:06:af:03:8b:32:dd:88:f0:07:2b:5d:61:58:
        61:35:54:a6:ce:95:81:a2:6e:fa:b5:aa:25:e1:41:53:9d:e7:
        4b:7e:93:88:79:6b:dd:a3:6e:9a:0d:bd:85:b4:2d:66:b9:cc:
        01:13:f1:b5:d5:91:cc:86:5e:a7:c8:4a:8f:4d:9d:f8:17:31:
        32:7d:50:d5:c2:79:a0:41:a0:69:83:33:16:14:35:26:10:3b:
        23:eb:60:d9:28:68:99:d5:55:61:89:b5:35:5d:8b:fe:b1:96:
        32:69:3e:8b:c2:a2:4e:e1:d8:76:04:3c:87:91:5d:66:9e:81:
        a5:bf:18:2e:3e:39:da:4f:68:57:46:d2:1d:aa:81:51:3b:33:
        72:da:e9:7d:12:b6:a1:fc:c7:1d:c1:9c:bd:92:e8:1b:d2:06:
        e8:0b:82:2a:4f:23:5a:7a:fa:7b:86:a0:d7:c1:46:e7:04:47:
        77:11:cd:da:7c:50:32:d2:6f:fd:1e:0a:df:cf:b1:20:d2:86:
        ce:40:5a:27:61:49:2f:71:f5:04:ac:eb:c6:03:70:a4:70:13:
        4a:af:41:35:83:dc:55:c0:29:7f:12:4f:d0:f1:bb:f7:61:4a:
        9f:8d:61:b0:5e:89:46:49:e3:27:8b:42:82:5e:af:14:d5:d9:
        91:69:3d:af:11:70:5b:a3:92:3b:e3:c8:2a:a4:38:e5:88:f2:
        6f:09:f4:e5:04:3b
-----BEGIN CERTIFICATE-----
MIIELTCCApWgAwIBAgIEPJEpsjANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBto
aWdod2F5LXRlc3QuZXhhbXBsZS5jb20gQ0EwHhcNMjEwNDA1MTkzNjU3WhcNMjEw
NTA2MDUzNjU3WjAmMSQwIgYDVQQDDBtoaWdod2F5LXRlc3QuZXhhbXBsZS5jb20g
Q0EwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQC0eydCSZ/thUd0//ZQ
zV0iGmQ4IvgJ0tbzYNiYf+WEUh7Zzpa03KZDdGcn2Z1Cfb8aQ5Kb0d00m0HS49VZ
s0D8s8nhWIQ/h/cGRSUmTL+hRXKgCluGQdeOvtM4tapmab06/em1uKJ5xPClPJ6R
lDIenLB/JUZbdh2GI4WwYkVcqG/7xSbh3ajyaKvFjLRYtC6WSfr+0uqlEWjCjfRY
qzC93RsplwAYb1lAnDoq5JYluxL0GhFybTH2tOHM2JoMqqiqpGTj8QYcwAnfYroE
y3CwxPfKNSLqqcdS4c4n+2xSObcis12XywqfdaOvFu/mshtqwwsdFf242OeK9vSZ
HCOXS4DpeaOFFvjdvXfvOjyO53VWZzY63UJ7hC9kLxMO+rA7ERN+rnimL0bdSxGI
5HsZqyEtHzS6Yc1RhKXsasGQIHDjqvQB/QxuzQRHmTFweWyvQXjBBCpDeISK/sM9
8kHIKqEQ4Le0T07mJnmsSWTPVx4u4y9YvW8wAGfXi9YTYL8CAwEAAaNjMGEwDwYD
VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDMSRbcbEL7z
y2TlTFCAfJ2IZXRAMB8GA1UdIwQYMBaAFDMSRbcbEL7zy2TlTFCAfJ2IZXRAMA0G
CSqGSIb3DQEBCwUAA4IBgQAFNyiFNzlxh+xc8FEZVUq34CrmYTDU4iutetsS/Iqm
bhWCgBD6XWdg6FQU44nWTmCJmFur/jImqgI1aE7GLs4INtHqoJc9djhunUtvM9L6
wn6wWbx1lxfRG8XEWK57foflhyuLaxAWcHzIZcfQYl3ztQavA4sy3YjwBytdYVhh
NVSmzpWBom76taol4UFTnedLfpOIeWvdo26aDb2FtC1mucwBE/G11ZHMhl6nyEqP
TZ34FzEyfVDVwnmgQaBpgzMWFDUmEDsj62DZKGiZ1VVhibU1XYv+sZYyaT6LwqJO
4dh2BDyHkV1mnoGlvxguPjnaT2hXRtIdqoFROzNy2ul9Erah/McdwZy9kugb0gbo
C4IqTyNaevp7hqDXwUbnBEd3Ec3afFAy0m/9Hgrfz7Eg0obOQFonYUkvcfUErOvG
A3CkcBNKr0E1g9xVwCl/Ek/Q8bv3YUqfjWGwXolGSeMni0KCXq8U1dmRaT2vEXBb
o5I748gqpDjliPJvCfTlBDs=
-----END CERTIFICATE-----
]]></artwork>
        <t>The private key for the Certification Authority that created the IDevID:</t>
        <artwork><![CDATA[
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----
]]></artwork>
        <t>The MASA certificate that signs the voucher:</t>
        <artwork><![CDATA[
-----BEGIN CERTIFICATE-----
MIIBcDCB9qADAgECAgQLhwoxMAoGCCqGSM49BAMCMCYxJDAiBgNVBAMMG2hpZ2h3
YXktdGVzdC5leGFtcGxlLmNvbSBDQTAeFw0yMTA0MTMyMTQwMTZaFw0yMzA0MTMy
MTQwMTZaMCgxJjAkBgNVBAMMHWhpZ2h3YXktdGVzdC5leGFtcGxlLmNvbSBNQVNB
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqgQVo0S54kT4yfkbBxumdHOcHrps
qbOpMKmiMln3oB1HAW25MJV+gqi4tMFfSJ0iEwt8kszfWXK4rLgJS2mnpaMQMA4w
DAYDVR0TAQH/BAIwADAKBggqhkjOPQQDAgNpADBmAjEArsthLdRcjW6GqgsGHcbT
YLoyczYl0yOFSYcczpQjeRqeQVUkHRUioUi7CsCrPBNzAjEAhjxns5Wi4uX5rfkd
nME0Mnj1z+rVRwOfAL/QWctRwpgEgSSKURNQsXWyL52otPS5
-----END CERTIFICATE-----
]]></artwork>
        <t>The private key for MASA certificate signs the voucher:</t>
        <artwork><![CDATA[
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIFhdd0eDdzip67kXx72K+KHGJQYJHNy8pkiLJ6CcvxMGoAoGCCqGSM49
AwEHoUQDQgAEqgQVo0S54kT4yfkbBxumdHOcHrpsqbOpMKmiMln3oB1HAW25MJV+
gqi4tMFfSJ0iEwt8kszfWXK4rLgJS2mnpQ==
-----END EC PRIVATE KEY-----
]]></artwork>
      </section>
      <section anchor="example-cms-signed-voucher-request">
        <name>Example CMS signed voucher request</name>
        <artwork><![CDATA[
MIIGjQYJKoZIhvcNAQcCoIIGfjCCBnoCAQExDTALBglghkgBZQMEAgEwggOl
BgkqhkiG9w0BBwGgggOWBIIDknsiaWV0Zi12b3VjaGVyLXJlcXVlc3Q6dm91
Y2hlciI6eyJhc3NlcnRpb24iOiJwcm94aW1pdHkiLCJjcmVhdGVkLW9uIjoi
MjAyMi0wNy0xMFQxNzowODoxOC41OTgtMDQ6MDAiLCJzZXJpYWwtbnVtYmVy
IjoiMDAtRDAtRTUtRjItMDAtMDIiLCJub25jZSI6IjR2VHNwcFMyQ2VxQnpo
RWRvaWZNMmciLCJwcm94aW1pdHktcmVnaXN0cmFyLWNlcnQiOiJNSUlDRURD
Q0FaYWdBd0lCQWdJRVlGYTZaVEFLQmdncWhrak9QUVFEQWpCdE1SSXdFQVlL
Q1pJbWlaUHlMR1FCR1JZQ1kyRXhHVEFYQmdvSmtpYUprL0lzWkFFWkZnbHpZ
VzVrWld4dFlXNHhQREE2QmdOVkJBTU1NMlp2ZFc1MFlXbHVMWFJsYzNRdVpY
aGhiWEJzWlM1amIyMGdWVzV6ZEhKMWJtY2dSbTkxYm5SaGFXNGdVbTl2ZENC
RFFUQWVGdzB5TVRFeE1qUXhPVFF6TURWYUZ3MHlNekV4TWpReE9UUXpNRFZh
TUZNeEVqQVFCZ29Ka2lhSmsvSXNaQUVaRmdKallURVpNQmNHQ2dtU0pvbVQ4
aXhrQVJrV0NYTmhibVJsYkcxaGJqRWlNQ0FHQTFVRUF3d1pabTkxYm5SaGFX
NHRkR1Z6ZEM1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0Nx
R1NNNDlBd0VIQTBJQUJKWmxVSEkwdXAvbDNlWmY5dkNCYitsSW5vRU1FZ2M3
Um8rWFpDdGpBSTBDRDFmSmZKUi9oSXl5RG1IV3lZaU5GYlJDSDlmeWFyZmt6
Z1g0cDB6VGl6cWpQakE4TUNvR0ExVWRKUUVCL3dRZ01CNEdDQ3NHQVFVRkJ3
TWNCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RGdZRFZSMFBBUUgvQkFR
REFnZUFNQW9HQ0NxR1NNNDlCQU1DQTJnQU1HVUNNUUNkU1pSSjgzTU5SQ3ph
Myt2T0JhMDFoNHFadjJsS2hkK0RmaEI0WURodkdwa1dvbFplSEh3TmI3QXRC
Q010YlV3Q01Ib054b2lrK3hXN0F0MWhYRWhwMy9NY1hpQWR6blpicFZxK3hK
RVppaFhVMzZJQmp2WWdXREY5aXZxeEpwRGJ5dz09In19oIIBszCCAa8wggE1
oAMCAQICBB8Y/ucwCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbaGlnaHdheS10
ZXN0LmV4YW1wbGUuY29tIENBMCAXDTIxMDQyNzE4MjkzMFoYDzI5OTkxMjMx
MDAwMDAwWjAcMRowGAYDVQQFExEwMC1EMC1FNS1GMi0wMC0wMjBZMBMGByqG
SM49AgEGCCqGSM49AwEHA0IABAOjdUOHs3zACpqHnK329DgTHNQMhB/gQE5B
efBbE0sgcbNEm0li8RYwzrsAfYCxp9k7E1CbpielT8OWf0z+ISejWTBXMB0G
A1UdDgQWBBRFiMyWlgBkN7C6I2VkZFQIBmxWrTAJBgNVHRMEAjAAMCsGCCsG
AQUFBwEgBB8WHWhpZ2h3YXktdGVzdC5leGFtcGxlLmNvbTo5NDQzMAoGCCqG
SM49BAMCA2gAMGUCMGIq27409xvLhd4mjkMA+Q2IyHeo3TwIQFS87D223HAr
w3/KGSGaoKvFUY6q3zbeiwIxALJdWfhHx+0Dl6jAx6iB+qiG7WdkN1F6bpyj
gk1trbzzNZ6daqJtf38lHAPv8LqbcTGCAQQwggEAAgEBMC4wJjEkMCIGA1UE
AwwbaGlnaHdheS10ZXN0LmV4YW1wbGUuY29tIENBAgQfGP7nMAsGCWCGSAFl
AwQCAaBpMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkF
MQ8XDTIyMDcxMDIxMDgxOFowLwYJKoZIhvcNAQkEMSIEIFc4jO6OnilTLkM/
fcc9p5au4ANjvJvjRXsAKK6+RcTvMAoGCCqGSM49BAMCBEcwRQIhAOjoOdgh
Sr+Hk2r2APsfs1+QJba0uRf/+zXA70yb6mRCAiB9aS6Wj8kBcWEvvfsDue41
KWo0ukOBQxdPGpJqg+GAMw==
]]></artwork>
      </section>
      <section anchor="example-cms-signed-voucher-from-masa">
        <name>Example CMS signed voucher from MASA</name>
        <artwork><![CDATA[
MIIGPQYJKoZIhvcNAQcCoIIGLjCCBioCAQExDTALBglghkgBZQMEAgEwggOU
BgkqhkiG9w0BBwGgggOFBIIDgXsiaWV0Zi12b3VjaGVyOnZvdWNoZXIiOnsi
YXNzZXJ0aW9uIjoibG9nZ2VkIiwiY3JlYXRlZC1vbiI6IjIwMjItMDctMTBU
MTc6MDg6MTguNzIwLTA0OjAwIiwic2VyaWFsLW51bWJlciI6IjAwLUQwLUU1
LUYyLTAwLTAyIiwibm9uY2UiOiI0dlRzcHBTMkNlcUJ6aEVkb2lmTTJnIiwi
cGlubmVkLWRvbWFpbi1jZXJ0IjoiTUlJQ0VEQ0NBWmFnQXdJQkFnSUVZRmE2
WlRBS0JnZ3Foa2pPUFFRREFqQnRNUkl3RUFZS0NaSW1pWlB5TEdRQkdSWUNZ
MkV4R1RBWEJnb0praWFKay9Jc1pBRVpGZ2x6WVc1a1pXeHRZVzR4UERBNkJn
TlZCQU1NTTJadmRXNTBZV2x1TFhSbGMzUXVaWGhoYlhCc1pTNWpiMjBnVlc1
emRISjFibWNnUm05MWJuUmhhVzRnVW05dmRDQkRRVEFlRncweU1URXhNalF4
T1RRek1EVmFGdzB5TXpFeE1qUXhPVFF6TURWYU1GTXhFakFRQmdvSmtpYUpr
L0lzWkFFWkZnSmpZVEVaTUJjR0NnbVNKb21UOGl4a0FSa1dDWE5oYm1SbGJH
MWhiakVpTUNBR0ExVUVBd3daWm05MWJuUmhhVzR0ZEdWemRDNWxlR0Z0Y0d4
bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCSlps
VUhJMHVwL2wzZVpmOXZDQmIrbElub0VNRWdjN1JvK1haQ3RqQUkwQ0QxZkpm
SlIvaEl5eURtSFd5WWlORmJSQ0g5ZnlhcmZremdYNHAwelRpenFqUGpBOE1D
b0dBMVVkSlFFQi93UWdNQjRHQ0NzR0FRVUZCd01jQmdnckJnRUZCUWNEQWdZ
SUt3WUJCUVVIQXdFd0RnWURWUjBQQVFIL0JBUURBZ2VBTUFvR0NDcUdTTTQ5
QkFNQ0EyZ0FNR1VDTVFDZFNaUko4M01OUkN6YTMrdk9CYTAxaDRxWnYybEto
ZCtEZmhCNFlEaHZHcGtXb2xaZUhId05iN0F0QkNNdGJVd0NNSG9OeG9payt4
VzdBdDFoWEVocDMvTWNYaUFkem5aYnBWcSt4SkVaaWhYVTM2SUJqdllnV0RG
OWl2cXhKcERieXc9PSJ9faCCAXQwggFwMIH2oAMCAQICBAuHCjEwCgYIKoZI
zj0EAwIwJjEkMCIGA1UEAwwbaGlnaHdheS10ZXN0LmV4YW1wbGUuY29tIENB
MB4XDTIxMDQxMzIxNDAxNloXDTIzMDQxMzIxNDAxNlowKDEmMCQGA1UEAwwd
aGlnaHdheS10ZXN0LmV4YW1wbGUuY29tIE1BU0EwWTATBgcqhkjOPQIBBggq
hkjOPQMBBwNCAASqBBWjRLniRPjJ+RsHG6Z0c5weumyps6kwqaIyWfegHUcB
bbkwlX6CqLi0wV9InSITC3ySzN9ZcrisuAlLaaeloxAwDjAMBgNVHRMBAf8E
AjAAMAoGCCqGSM49BAMCA2kAMGYCMQCuy2Et1FyNboaqCwYdxtNgujJzNiXT
I4VJhxzOlCN5Gp5BVSQdFSKhSLsKwKs8E3MCMQCGPGezlaLi5fmt+R2cwTQy
ePXP6tVHA58Av9BZy1HCmASBJIpRE1CxdbIvnai09LkxggEEMIIBAAIBATAu
MCYxJDAiBgNVBAMMG2hpZ2h3YXktdGVzdC5leGFtcGxlLmNvbSBDQQIEC4cK
MTALBglghkgBZQMEAgGgaTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwG
CSqGSIb3DQEJBTEPFw0yMjA3MTAyMTA4MThaMC8GCSqGSIb3DQEJBDEiBCBA
77EhoAybh5R6kK89jDefpxRy8Q6rDo1cnlwgvCzXbzAKBggqhkjOPQQDAgRH
MEUCIQD4RnuXwKvYVvwamwVq3VYv7dXcM7bzLg7FXTkhvYqPzwIgXTJxVV5a
cLMAroeHgThS5JU5QA2PJMLGF82UcSNTsEY=
]]></artwork>
      </section>
      <section anchor="example-jws-signed-voucher-from-masa">
        <name>Example JWS signed voucher from MASA</name>
        <t>These examples are folded according to the <xref target="RFC8792"/> Single Backslash rule.</t>
        <figure anchor="ExampleVoucherJWSfigure">
          <name>Example JWS Voucher</name>
          <artwork align="left"><![CDATA[
{
  "payload": "eyJpZXRmLXZvdWNoZXI6dm91Y2hlciI6eyJhc3NlcnRpb24iOiJwcm\
94aW1pdHkiLCJzZXJpYWwtbnVtYmVyIjoiY2FmZmUtOTg3NDUiLCJub25jZSI6IjYyYT\
JlNzY5M2Q4MmZjZGEyNjI0ZGU1OGZiNjcyMmU1IiwiY3JlYXRlZC1vbiI6IjIwMjUtMT\
AtMTVUMDA6MDA6MDBaIiwicGlubmVkLWRvbWFpbi1jZXJ0IjoiTUlJQmd6Q0NBU3FnQX\
dJQkFnSUdBV09XZTBSRk1Bb0dDQ3FHU000OUJBTUNNRFV4RXpBUkJnTlZCQW9NQ2sxNV\
FuVnphVzVsYzNNeERUQUxCZ05WQkFjTUJGTnBkR1V4RHpBTkJnTlZCQU1NQmxSbGMzUk\
RRVEFlRncweE9EQTFNalV3T0RRM016QmFGdzB5T0RBMU1qVXdPRFEzTXpCYU1EVXhFek\
FSQmdOVkJBb01DazE1UW5WemFXNWxjM014RFRBTEJnTlZCQWNNQkZOcGRHVXhEekFOQm\
dOVkJBTU1CbFJsYzNSRFFUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQU\
JIOUVCdXVXVjdJS09ya040YjdsYTVJb2J5dFduV1p3Rm5QdHVsMDlhd3dVSEZQZStOWW\
M1WjVwdUo2ZEFuK0FrVzFnY1poQlhWR0JBM0crSXlSV1VXU2pKakFrTUJJR0ExVWRFd0\
VCL3dRSU1BWUJBZjhDQVFBd0RnWURWUjBQQVFIL0JBUURBZ0lFTUFvR0NDcUdTTTQ5Qk\
FNQ0EwY0FNRVFDSURlWlc2SWZjeUsvLzBBVFk2S21NYjRNMFFJU1FTZFVGVjdQNzlLWV\
ZJWVVBaUJRMVYrd0xSM1Uzd2NJWnhHSE1ISGx0N2M3ZzFDaFdNRVkveEFoU1NZaWlnPT\
0ifX0",
  "signatures": [
    {
      "protected": "eyJ4NWMiOlsiTUlJQmNEQ0I5cUFEQWdFQ0FnUUxod294TUFv\
R0NDcUdTTTQ5QkFNQ01DWXhKREFpQmdOVkJBTU1HMmhwWjJoM1lYa3RkR1Z6ZEM1bGVH\
RnRjR3hsTG1OdmJTQkRRVEFlRncweU1UQTBNVE15TVRRd01UWmFGdzB5TXpBME1UTXlN\
VFF3TVRaYU1DZ3hKakFrQmdOVkJBTU1IV2hwWjJoM1lYa3RkR1Z6ZEM1bGVHRnRjR3hs\
TG1OdmJTQk5RVk5CTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFcWdR\
Vm8wUzU0a1Q0eWZrYkJ4dW1kSE9jSHJwc3FiT3BNS21pTWxuM29CMUhBVzI1TUpWK2dx\
aTR0TUZmU0owaUV3dDhrc3pmV1hLNHJMZ0pTMm1ucGFNUU1BNHdEQVlEVlIwVEFRSC9C\
QUl3QURBS0JnZ3Foa2pPUFFRREFnTnBBREJtQWpFQXJzdGhMZFJjalc2R3Fnc0dIY2JU\
WUxveWN6WWwweU9GU1ljY3pwUWplUnFlUVZVa0hSVWlvVWk3Q3NDclBCTnpBakVBaGp4\
bnM1V2k0dVg1cmZrZG5NRTBNbmoxeityVlJ3T2ZBTC9RV2N0UndwZ0VnU1NLVVJOUXNY\
V3lMNTJvdFBTNSJdLCJ0eXAiOiJ2b3VjaGVyLWp3cytqc29uIiwiYWxnIjoiRVMyNTYi\
fQ",
      "signature": "s_gJM_4qzz1bxDtqh6Ybip42J_0_Y4CMdrMFb8lpPsAhDHVR\
AESNRL3n6M_F8dGQHm1fu66x83cK9E5cPtEdag"
    }
  ]
}
]]></artwork>
        </figure>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The authors would like to thank for following for
lively discussions on list and in the halls (ordered
by last name):
<contact fullname="William Atwood"/>,
<contact fullname="Michael H. Behringer"/>,
<contact fullname="Esko Dijk"/>,
<contact fullname="Steffen Fries"/>,
<contact fullname="Sheng Jiang"/>,
<contact fullname="Thomas Werner"/>.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
s9e47ra6jfnJ9SX8e50/ub5fnODf3cbi9OBx3prfHx37X9vG60MOzvS+jX/A
7/uNS/uHjsfQz+fd46mcfT09sOdHlwCHK5hv775lHLRu269frNvG4WUxPPEf
vt5ePd40Boe9Ays6bTweNvLXTmt+2TxtNObHc1jp/H5v7/L6qNFpALDvHcM6
HE2sI2fodvK5r3dnuZPxTen+Nj/vHV7P7gu16PzhMXe2fzpvDtQ2W3Ba+xZM
+PWyPTfuvaD3/NAtHlZnB0XPOr+c75f37x/aTuXBuWgMGzcnr+FFr2fbzef9
fhVm+Po0eKreXD08Bf2zqHJiNB5ajXCU//q51T/avTy/ezrdP3pqH1We2r3o
a+GyeH03nU2Oz5vd20L0fHGan0zzT/44v9NfXNuNzztzYzaNXmK8XcKzGGnj
qAQywoa4AVXEI2WCXcxkJBL/TV27tZgIX7yxb0VWXZVNiLqrulk0N3MvhbjM
okMhavOMQtR1M5/LV/KlChhD+FzRruULtZ7+uGpQpYrm66LeH3NpgGm12FOo
19a0KdW7bjbPzD/oehQQz5kIS340ncZsxl0AZFAnUQwCKrS5R+77utmYBqZZ
NvO1erFSL+9i48i8eXjaXRrQ6IPkAxP6FESmWTFz5XUDOtyO9QcWKUakKmH8
emIN2pcawILQWgGm5JgMjKmbm8XcbsHsedHW0mOk587C+tIX+JPL1Xul+m6v
Xtitlwr1Uq1e69ddp14t10u79d1Svd+v9wESubrtrJ6h7NQLhXreqldK9WIV
f+9X67la3SnUnUq9X6xXcnWnWq9V67v91TO45Xq1VC/DJG7dqdXBZqxVcFWO
Xbcq9VIRl1HZxRXCtytnqDm4+F2n3uvjSmBIrVCv9epOvu449WIJfy/lcUlu
cfUMTrlertV7xXopV+/b+Itdq7v5ermKayv269Xden+3noP1lFfPUCjXC/Ct
jWuw8vjYbqFu5eo5q17u1asVWsBuverWe+6aNRQRgL1y3QJgVuoVWA8s3qr3
nbpbw8971boF2wQQlVbP0M/VLcBcu14DGObrNVg5QbUGq8oh/GGRpQquZ7ey
eoa8g0stFBEBYEilgBspw0FU6xXAhF7dpm26BNiVM8CT/UK9Akulh6s2HiWA
Ef5boJMFHOvDplw8jtX4YOEu8nmcxC7Uq069TzPAhMUcwgRenQeMBVzdXYvV
eVownCkcKGwfwFiw6m4JFwBA6PXq+QJOm7fWwCGPx1cB+OcR/2HxsGXbJky2
6jkbzwh2iv9dcxZADoBs/TziTN6u2zkiij6CtAczlOo2nEIOgbz2NHfrtlUv
lpGmECZw7rtIJrgSF8kBjqNi4yfFNXTR28WxgMxApAAreCNgIxD4LuBYsW4B
scBRAr3DBtecBcC5YtXtYj0HEAOwlxEbAQ8BDi4gs4XAATDWarjH1XRRxFeX
gARyiMaAvRZhF7waGAUcJRzo7i4uo7jmLACfgWrgdbDscgVZAfBmeNhhqu8h
hRb6yH8KazhMHtbvItYBtIs9RC34ZNetW259t4pMBgYCXeCEvbX4UK0i/sDr
QJoAKhby9QIApI/sBQ60kkcOWc7jYlbTRbnu2gRMIMxcvZDD0wcMARQCAOby
CFjAq4q7ltMCzgBPBlADTsJYgCScPhwiMBbYBUwLDxSI+8GfK2eAtVWJ9OBA
iw7SKYy1qzgKWFYe1gMIuYvYXloDyZKL2AIcAM/RRloGsNtAaLvIZ4DAYUcA
TKT3NbsAqgQqBgqFc0R+2EMxkScx0VvqPYa2IBUI181KuVzcRWUjn8vl8rGY
uyvnas9FzcROvlZ8zYWyTdntLArroGp5GHYcLb2z2ah3r65bq6ZB+XwdWgP3
reGaNYJq0DYFbfG3VTNK7YDUAtmlHnSgpWmLRWRZwI33ANR7eFh7rfpBsd7c
wyNoAWNvopgGKttt1mv7iK6/2DGkUkbJW8qtWnastv5nX/gPa6LxgBt0/cTo
hEohMNQqci/4BZjubh71AiBrkJAge4H6gTeUYUcWkhEQU0FjaUA3wCQA9x2Q
DIV6oVe3gPMBG2NZZCNpAisCBgBctlpAgACs1HDgXsDFgWiAUNxqvQyyiyRM
tYYEBHQJn8PvoGeBeAf+BFRe1Jg6kCxwmlwB5QnIVXjeriC9giTJVZGhgq6E
QiaH3Bp4AygIRY2LwKpqxB2RfIsoumE9IJyBiQJPRdXJRvYMY/O7OFWehL8a
brMAd5F9whAEWhn/C0AABlDp4U5BICBXs5EhwQnammx3SBOB7YM6CXoQSFRg
e7kijoU9AtsGnAH452hChBIpbvHi87hrgBiAF7VLeHUeNakKywRSuEApALkK
7LBcxJ262ttLtOZaEd+CTLeHbwQhhjABkJIEQ3WphAIBFLdeDTWFGG1I2oAi
AC8CNbNGegQoWWWQP7u4WcCWKnBxB98LIhEACAxeDS+SYgsEAmNt0v7gjGCd
8F/QEKtFPA4AHSBDkVSzPIm4+NyLdbdHOngNUReOHgQIartlhFKV9EoEjoPA
BJzp5VFF0t8Obym6+C28HYCGEiCP8h8wBAQOCudd3FSZ9g6KZ1VbPAg9VMmr
iGkwCZCMY6FsgWWAxECRW0C1AuAPo4B8YOVFTUMHFQyeR63BQRrpVVBMAaUA
bsAoFKQ2Ah+UfaAIQDmYLactHj4EtQVIqUAvBVCULaQ4OPRdUskBhiCCYB5Y
CZw4C9j47buoKYA0hjUAWsIRILIVSBF2UNyBMgUKHUg/ABrIc/iqqr0dMA10
T3gjaGoAahCVIBiBY/TL+CIQnnAuQIOAxoD2oEXCf/Pa3gErWLbD6cApgzEE
RwZaJKi9oMgjR+3XgS4Qr3pomuArNG4DWl6VCAHJ08WDLpHqjfKZpC6oTgAZ
RMI+Ig+ghG5dwYHiuTv0LakbyFXIroIzgkmE1kA2H9Iyaf0xxfVR2wW9xqXN
Fnvv+eBaJ91mszGNfXAXX1rT8KFxtjd4fBo+eoe1eW6vcRkeNPaX/XAGOuLe
88MdDaUfrpE/7T6+nj1cF2/FZ8ZZt1E43b/mD9d4+t56gYFvGAwOvdNG7rDZ
eTrstHvF/csWLPm60Si19x7mDfz+uOG39waXzZy7cJqdrzvR8NrJ7ex8vTRe
b3Le4fiy1H4efMlFvdf7M+++//m2dT3c/fo6tXLF46/7zqE9KXzNN/u9qnVZ
Pu7lnFxunDvqlGo3X40wt18Nq5PhbftyZ7hjH151rsfdk8/Dq7vjQXM0O7x0
3PPn6LQUWdOx1ctVdtxxfnb8pfxy0RxdfKlcGaP9tjs52dv5cv215wwLh+3S
7fz+8cZ+OtzZfen0hkXrYWEdPx88nFzdR83KbacffM7Nnkat24fmQ//q3nh6
bdaKV+F0NG/c9/KjxmTffyp/uR/NXk5yh8ODRa97VIjOj04LX/zTpyfvaXrY
fahe3tvzxqR/H/gtY1Fszl8u+sdnnZOnJ9vplOzS5HPhpXPes70wX7hbzJ/6
jnX+fDDbGYfD6Gk+D52DfqFUOHePa8+dr8ZR8/yuU9qfutb5wcHzg/N8138+
f1icl4s3t19f7yvF6y+7w2bt8eTl9Pxz0NhtXZ19Dibe+CTXczovh22jfBR+
fVq0oqPXTuXezl8Nj+9CKzy8bB/tPzw9X+7tXL7MXi+vjsbdg7l7u3i+vHvY
22tO991253gnPK0Z1cej9vFT67J04ua6ud3xl8k47Nx2L25eSrPSonb/fFud
Nw77d17tvnt/Um025q1Gwzp7OD1szffn9/vGzVWu27g82tlrXAPKtPZ2Xhvn
6A0+uqzuNfpVwKhTdPYm/K8H+6edq57da53svhqLQnfUPWg2+l8K7a93V43T
vSr5X9vzy/vTPauhP7z0LGCvoaNvc87oO7hsHJwtvIOz19HL8POLXT1ofb25
fiqWmsH4vrt/XfJmkRuFnZ3209joDW+bg739yt2tM6gcXF6XSpPb7rj5ZXww
C3Ye2uOnQTtvtXYPT8JS+yw6evK/2DXnYTibXEfPp7WTijGfVOa3vZf86KV/
dVi9a90el3f7fn80XMxOrJfGrX302v5q9y/vR8XX6NJ6bpTCRfH+Yb63iJz7
m+HQOLvpjF+nt3v+eLcSWf6odH3QnbjOSX963nZvnx2/ULH2e4WDqJkfz+z5
XmvnMJ//enQ6HFUmi9bThdH9WiwdvLYW/Zv9m/lkPLi09qaD19Pbg/3rcWs/
fKgU9r8eH3pf8zc3Q693nb+7f/4cfr1fWN3Kyfzpy7lRAgra218cPd7kxxP/
cPT8MphdPEysbmF4dxW1nSf/4Or89WxRmI1qrcAa7pzazvzrovY4G/Ryg55v
NEvtp+7izHKfp7vDp/27+XVvstdyii27aPUPGovceKd2NAj6r7utQc7vnV8e
+JP768dnu3/dCs6fD41Gsflo750dB7lWflB7uZk3Rzutx53Lau+5eH/91H+4
PZzf+aPDjns68XLHzbun6nXeGV/BEp9bd3s9wy+3d0vVwdN0/2HkXXx5bva7
o7398I8PObn1HH9ZU/CTjm9NcmCsazmk1W4flhsgNRrHzcZ9qxEdhZPLx3F/
9/7myLnYKVyf5p32cPp43jwpNZ2T22ph/358tDMaHrTdgl25NaKzxfiyeDX5
Uhs7l5PCzuHjeWdcO3LOvkR7udnFzW3vrLFzcvGldOO1Lkr94t7j9ejL42LH
v75Z+I1pzxg+Ht09BLvd85Pbp6/jce38uTiNep7n2t35tLtwH79eLo6mi3l/
cXN4W7x3ht75QXj45eDuePj8uXo9Bmwp+NWxF7zcL3K3J5ez0eOkshOdPE2v
Dvy5X8zdHofzZyfXO/5qNw4Pa18vv8wrx7PO7Zde2Knt+VeGPc691ILu8PXM
s/aPn/ynp6vH0k7r8Oi08aVYOK7snUbz8LRbXDxce5WnydH17Oj8y04UXj+M
i+3gzDFG1fB4AqIveOk9l4N2zwpPT46u7mqzs4eJ99zLja/mD6PcrFG5Gz8M
r3qlYi9f3H31qw8zJ38ztgvGeZRvuqXL56/Nanf/+Wl+/tLq9p/KpalXOyxe
h1fe+dXuoRUOT66qudn46Oz6vjPaPQz2Hpt781IlyBmNfu60F+ZaV+XHF/to
FAa5g9L88vLpsui1vOfd/Yv+l71F82nYOm8Wo1btvOx9LQet0eNr3nZPZqfP
xu1J/vm0sTfJl55vW4XmTmNwCjjRaoLYbTSuDypHRxeF8Hz42J9dTJtwPLX5
Ubtx8lx7cC5eZrOdL8bj4P5qER5Nhpcvi92darl5XnWt42ZnpxTN7Yuvd1/D
0qRRq8wDf7d4ddVsnr/uPO7sXo1qi/B176wxNm4Hd25Q9K7Pyw+3hYe9k4NK
GF5c7R8Og53RuBPtHp01r1tn3Ztabc8+Htqjktd8/NwrNKa1L83H0ZVtVO3r
2tXjzkG0e7zj+if310OndDv53G737voXVy+Fp2kVuMVDrmN93T+7eNqt7d3X
5t5VJ1fzFv1H787YmV/5X+bh+UnQ6c8mICLOnVEn/HzXCD+fHbvH472KPRxf
DC8+h/fdu5fPrwcPn4uVs6uHp4Lz8njfOTKGe7Wp+6W8eO3uD08up9bgprxf
rNzcXYZPR9b8edCaVezLRt/+CuxpPJkF1u7r/d4i7D+W7l9fvddzIwjtWnB/
eJHPARhuc63p8dVO2z7rnx7Oo/3ekZvf2X39nPvSudl3d0bOMKreB/O7oj9w
ysFZbzjqG6Pr1uf93cAHWVcdVK5fS93bdtWZnu5bd83Xh8Fr5angebe7u7n/
t7Mz63EcRxLwu35FoeZlgdzd1GE77QHmQfdhi7YokTq2Fg0dtu7Dp45B//el
Miurs6q7uhv74ExIliiRDEZ8ESaDcDmIXbZTojvInu0mKn3gA7mlyjUPnpTh
qefk/YuYLsJQdoSXVQ48LPCtJvD7PAofykL37xci3NwmeF499GzPMcoLTkBB
DZs02OzrlVkHQLEjtD7sxtaSR32xGtPT2tk/C/Yp10ZkNnGb1Z57bZGXKwFe
MGyIzyWlpUH6ZLrX7d2/O7VaPovt3bem5AXeLrtq7XSHJvayq6EHi3XXxVht
TK1xA4JrxfP2fFpRrXS66i9WFozrExpS3eAebisuJ+Vo+ZPX6dLisCUqovbi
6bbyc0tTjPvjjIvuVOFs4wZUddQzURha/WVVMHfEBfledk9lPdhukuiHUe+3
Qm9Jahs1msFUunFsxudtqAn4tt7LIqZ6WVtV/NAtinjwCbBGB6waE7g+Cddb
sc/9JyRdVNbEo/GUFE+jzVYnSTDicWqfa/m5HSi6TdRua2xMXC7MaFEvF5xR
VWlElFdt1NvJyDui3o632sMsawn01RhDf7cwuenSnnvmhbrJJzJkmUcdbzyr
50Vjf6nqp3LBJMX91td3UWYNvwXRLokvYpqc9vQq4KIMlGUTXS6KRO0vwoIe
BkZb3rl1KaGXOUBlLYoHkt1yFS6frjp8uiAxjWV+7J54QzbGqKr3kZ1tszSU
qd0DgUX8OMVdt+MuZ3x7ZOV5f8mn3sPXyxgmmbxQi2K6XXkj9zuxW7P7zKjY
hAtW4J5Bajs0RrpOH4n4Ejfmcw5RsuwnsLSOBy88mjXjPulPKHjOfWm0lbo5
yXtHqnG5AbRslY1NsSe2O8SN4EVjNJGRZT9EUX4oVbEZ81J10qcC0w5jPvrR
WJ9dwRI6XAwNI3NdO7ZR2lLj9nhGIn0+sovizk7XAbT7q+0pl5f5N9uXleDm
y2P8jByDL8jY4P3gSe3h5PTnw+MavDxRa4LvGe24IQL7c3694YuznNh6v763
T/siYKXjcsVZy706yfjpkIiL8ESY5n45C9WFM28hNWn3zT7E0kqexPjlkF/1
MkxbL9XhJZDv9pQ4XVGs4XJ1Cu9SwRuTHRrKrYv9A4vccq9Qy2193stW15bT
8U4PAUo75DHTtc7lOxusMoN9zldbwTisVChmLyKjg8AYe7PjNtdcfBmpq8Cc
1tx572+Xtxbb1uN0kp+v5aN6TmLuwcvQyujnh3ssT/ie6vfuVUcYxQY9hwp6
jpfUNn7eLLL6CFdOVejAtBta1jdNZSyV0ieUV0/pkZc2zyUQooMGC300w+W+
f7lo+8XuRm8otOZexvEmx1EtX8Bk3oVs7z01+cXzzozULXcmKLUDlzaHkfZE
Vrwva/ahPZ8jJdMrKEOKUT1xEC7ufmofnnKnN3SrF/usF6Ph9qK6gfasmggZ
qmdET1dGnCwwMefc2zbpi9dVd56yNwWOs2W3PdfuQ/L9i+DVtXjcGHcaNoKY
7vW7inLxUMgELZ/qcZcQn5n/OBHnD9HrN957XQ34cR7OK9TNU7q+y63xd2fk
xJIobM7E109lkU+tXda3g/lhGtLsBZmiPxgSn7/NlTFNlc26gM04yvfKW6Li
KRGX1VFVbrE6VLsaPCJbkCyHPyo9PZoOT5uOSf5bvekE4eu56e0c9X7SFNPB
KPjy/Qma+/aEP3kAsDAQqI/Tc342O+ecWril7eWidBbEeEfCcK8TbR9rl+5K
naN9Z27r3KwarhUYjXfZpWngp/ScL26mcrINOpf727q8TifX2y4uu9Sw2brp
QtMy+UVPSfyre/jVldR70pTfT2dKQcdLQj1Pe7lcb9kugXHhrtRzelW1OHIo
f9eO8eRX9LhXbD+Op84qjvB8tDAqNYjyFuUv4lW8HAQwzYVkRPFcl26+uHvL
y6lMqMaUabMpmOnpgmG/P/G7Z8uNb7DvUjm17S2CwLp67rhbsu3tYC//X27F
78Tu70jcn86LU7IkoY9SMuXd6qX0hhd2+7TVVMPyDQ2M667Md8ZKjB+Dqf50
Xtyfde3Pepb6y661/t68uH98mwj5Yc3e7zY/ert4dp0KUrNZNrNHDIhsii05
dypEUWjauUUGyeF3QlqlWZkKgWXKZEj2abqvqI+ROaFXU3LSFXRdKptrHrqY
DnKGjThchCoed55RxR6eY2erpN4wlM9mVZzrq+NoZDEHqriBXcQu8n1u9HG9
WYQu0yUaaWzRKOIaZ2S4lTt3c9eLNqfMgh/NnO7BSA+mYg1gavu91A57ccHs
nfRmStbKJJqB3DwFntH5bn+LGnzzazxScwnkyxucPw66EX19m49NSZ9vuEfs
sghsfaUXkMUa6GPFHC0WD1bTtRR04SN0A2DW8Xzxx1e9kddsQg/Qca2MO3eu
kjVXB9iokiCCEmXRSui7iZDQlWi5iQFxpfpEzWBZ2Vl10sRudgnLjYWwIltu
JyYyY9teoli42lEW0xmRW4VIq0zIKCJkjMBiyhF6mUYK8EkBD7u+dT7qLju6
mtxSUdwyaCKtCyg84YtbJYtEqTygZRaUZZbcsMelITiIAWbVsYESMyb5PtKw
6SrG1Z8ATHDnU6Ga5a5sTG5lMmFNjJuauKTAVSBnW9M1bj6b2JFTDn69tENV
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
AQA=

-->

</rfc>
