<?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.30 (Ruby 3.2.3) -->
<?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-36" category="std" consensus="true" obsoletes="8366" updates="8995" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Voucher Artifact">A Voucher Artifact for Onboarding Protocols</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-anima-rfc8366bis-36"/>
    <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" role="editor">
      <organization>Sandelman Software</organization>
      <address>
        <email>mcr+ietf@sandelman.ca</email>
        <email>https://orcid.org/0000-0002-0773-8388</email>
        <uri>https://www.sandelman.ca/</uri>
      </address>
    </author>
    <author initials="E." surname="Dijk" fullname="Esko Dijk">
      <organization>IoTconsultancy.nl</organization>
      <address>
        <email>esko.dijk@iotconsultancy.nl</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="2026" month="September" day="09"/>
    <area>Operations</area>
    <workgroup>ANIMA Working Group</workgroup>
    <keyword>voucher</keyword>
    <abstract>
      <?line 139?>

<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.
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 obsoletes RFC8366: it includes a number of desired extensions into the YANG module.
The Voucher Request YANG module defined in RFC8995 is also updated and now included in this document, as well as other YANG extensions needed for variants of 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 156?>

<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>When <xref target="RFC8366"/> was first published the industry had not yet concluded on a term to describe this process.
A number of terms were used, and the term used by the previous document was "bootstrapping", but the industry has preferred the term "onboarding", and this
document uses that term.</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 '<tt>pinned-domain-cert</tt>' 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.
<xref target="RFC8994"/> explains how this anchor is used to form an overlay management Autonomic Control Plane (ACP) network, using authenticated IPsec (or other) tunnels.
IoT devices can now do mutually authenticated (D)TLS or EDHOC connections, although authorization is best left to mechanisms such as <xref target="RFC9200"/>.
The collection of all these devices, with the same trust anchor is collectively known as the 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>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.
When longer validity periods are important, this document recommends using short lifetimes with programmatic renewal, see <xref target="renewal-over-revocation"/>.
How short the lifetimes can be depends upon the means of conveyance of the Voucher, so the exact times are specified in the onboarding protocol itself.</t>
      <t>Some Onboarding protocols using the Voucher Artifact defined in
this document include: <xref target="SZTP"/>, <xref target="RFC8995"/> and <xref target="cBRSKI"/>.</t>
      <section anchor="extensions-needed">
        <name>Extensions Needed</name>
        <t><xref target="RFC8366"/> originally defined the Voucher as the only Voucher Artifact, leaving the Voucher Request that is used in BRSKI to be defined in <xref target="RFC8995"/>.
This document includes both Voucher and Voucher Request obsoleting <xref target="RFC8366"/>, and updating <xref target="RFC8995"/>.</t>
        <t>A number of variations of <xref target="RFC8995"/> have been developed since the publication of <xref target="RFC8366"/>, and these variations require new Attributes be added to the Voucher and Voucher Request.
At the low-level, JSON (or CBOR) mechanical level, this was thought to be trivial as the artifacts are JSON (or CBOR) maps, and adding new keys seemed easy.</t>
        <t>However, the use of YANG for the information model does not make it as trivial as was thought.   In the end, YANG is not easily extended except by updating the YANG module definition, and that is the major reason for the publication of this document.
The process is further explained in <xref target="extendfail"/>.</t>
        <t>This document introduces a mechanism to support future extensions without requiring the YANG module to be revised.
This includes both a new IETF standard mechanism for extensions modeled after the mechanism present in <xref target="RFC8520"/>, as well as a facility for manufacturer proprietary extensions.</t>
      </section>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>This document uses and defines the following terms.
They are used in this document and related documents.</t>
      <dl>
        <dt>(Voucher) Artifact:</dt>
        <dd>
          <t>Used throughout this document to represent a Voucher or Voucher Request as instantiated in the form
of a signed datastructure. The payload of the signed datastructure is called the Voucher Data.</t>
        </dd>
        <dt>Attribute:</dt>
        <dd>
          <t>A single named data element that can be stored in Voucher Data. The element's name and data type are defined by
one of the YANG models as defined in this document.</t>
        </dd>
        <dt>Bootstrapping:</dt>
        <dd>
          <t>See Onboarding.
 This term was used in <xref target="RFC8366"/>, but has been supplanted by the term Onboarding.</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.
This term is not related to "DNS domain" <xref target="RFC9499"/> although a Domain might be associated to a specific DNS domain.</t>
        </dd>
        <dt>Join Registrar (and Coordinator):</dt>
        <dd>
          <t>A representative of the Domain that is configured
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 and keeps logs of Pledge ownership.
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 towards the Pledge.
This attacker's goal is to trick the Pledge to trust its malicious Domain and let it onboard into that Domain.
The attacker then has control over the Pledge and may then perform various follow-up actions such as operating the
device at another location in a network under the attacker's control, or attempting further device exploits to
compromise its software.
After the software is compromised, the Pledge could be instructed by the attacker to onboard another time but
now with a real Registrar of a target Domain being attacked. This way, a compromised Pledge could become
trusted in the attacker's target Domain.
<xref section="11.4" sectionFormat="of" target="RFC8995"/> describes more details of this attack and its mitigations.</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 include configuration data, but specifically deals with application-specific cryptographic
key material (application-specific security credentials).
Since <xref target="RFC8366"/>, this term has replaced the term Bootstrapping.</t>
        </dd>
        <dt>Owner:</dt>
        <dd>
          <t>The entity that controls the private key of the trust anchor conveyed by the Voucher.
Typically, the Owner is indicated by the '<tt>pinned-domain-cert</tt>' Attribute.</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. This term is not related to the term DNS Registrar <xref target="RFC9499"/>.</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 <xref target="Stajano99theresurrecting"/>.</t>
        </dd>
        <dt>Voucher:</dt>
        <dd>
          <t>A Voucher Artifact that is a 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 preceded 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 data elements of a Voucher (Request) without any enclosing signature.
Current serialization 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.
When clarity is needed, it may be preceded by the type of the signature, such as CMS, JWS or COSE.</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 to the 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 boot or measured boot (which is an attested boot process involving 'measurements' as defined by <xref target="RFC9334"/>.)
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 (<xref target="RFC6125"/>) or DNS-ID
information (as defined in <xref target="RFC9525"/>) is left for future work.</t>
        </dd>
        <dt>Anti-Replay Protections:</dt>
        <dd>
          <t>Time- or nonce-based
information to constrain the Voucher to specific time periods or Onboarding
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, the attacker 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 Voucher</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: The "RTC" column denotes Voucher validation using a Real-Time Clock.</t>
      <t>NOTE: All Voucher types include a "Pledge ID <tt>serial-number</tt>" (column not shown 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 its local policy. The
Registrar mitigates the risk of a Malicious Registrar by auditing that no unknown Registrar, or
known Malicious Registrar, appears in the MASA's log entries for the Pledge.
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 cannot rely on a nonce to be included for freshness.
This compromise in reducing the freshness allows for the resulting Voucher to be carried across air-gapped infrastructure.
In addition, if the validity period has been set sufficiently long, 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 PKIX <xref target="RFC5280"/>) 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>
      <t>This document obsoletes <xref target="RFC8366"/>.</t>
      <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="RFC8995"/>,
<xref target="SZTP"/> 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="RFC8995"/> was Onboarding of ISP and Enterprise owned wired routing and switching equipment, with IoT devices being a less important aspect.
<xref target="SZTP"/> has focused upon Onboarding of CPE equipment like cable modems and other larger IoT devices, again with smaller IoT devices being of lesser importance.</t>
        <t>Since <xref target="RFC8995"/> 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="RFC8995"/> that is usable 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><xref target="cBRSKI"/> uses the serialization mechanism described in <xref target="RFC9254"/> to produce significantly more compact artifacts.</t>
      </section>
      <section anchor="challenges-with-revisions-to-yang">
        <name>Challenges with revisions to YANG</name>
        <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="RFC7950"/> <em>augment</em> mechanism to further extend both the Voucher Request <xref target="RFC8995"/> and Voucher <xref target="RFC8366"/> artifacts.
However, <xref target="PRM"/> needs to extend an enumerated type with additional values and <em>augment</em> cannot 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 for this use case,
nor did it work better when the <xref target="RFC8040"/> "yang-data" extension was replaced with the <xref target="RFC8791"/> "structure" extension.</t>
        <t>After significant discussion the decision was made to simply roll all of the needed extensions into this document.</t>
      </section>
      <section anchor="detailed-changes-since-rfc8366">
        <name>Detailed changes since RFC8366</name>
        <t><xref target="cBRSKI"/>, <xref target="CLOUD"/> and <xref target="PRM"/> require extensions to the Voucher Request and the resulting Voucher.
New Attributes are required to carry the additional data and describe the extended semantics.
The following Attributes are new, and the document that they support is noted:</t>
        <t>To the Voucher Request:</t>
        <dl>
          <dt>agent-signed-data:</dt>
          <dd>
            <t><xref target="PRM"/></t>
          </dd>
          <dt>agent-provided-proximity-registrar-cert:</dt>
          <dd>
            <t><xref target="PRM"/></t>
          </dd>
          <dt>agent-sign-cert:</dt>
          <dd>
            <t><xref target="PRM"/></t>
          </dd>
          <dt>assertion(agent-proximity):</dt>
          <dd>
            <t><xref target="PRM"/></t>
          </dd>
          <dt>proximity-registrar-pubk:</dt>
          <dd>
            <t><xref target="cBRSKI"/></t>
          </dd>
          <dt>proximity-registrar-pubk-sha256:</dt>
          <dd>
            <t><xref target="cBRSKI"/></t>
          </dd>
        </dl>
        <t>To the Voucher:</t>
        <dl>
          <dt>additional-configuration-url:</dt>
          <dd>
            <t><xref target="CLOUD"/></t>
          </dd>
          <dt>est-domain:</dt>
          <dd>
            <t><xref target="CLOUD"/></t>
          </dd>
          <dt>extensions:</dt>
          <dd>
            <t>Added to aid in future extensions</t>
          </dd>
          <dt>manufacturer-proprietary:</dt>
          <dd>
            <t>Added to allow for controlled experiments and custom extensions</t>
          </dd>
          <dt>pinned-domain-pubk:</dt>
          <dd>
            <t><xref target="cBRSKI"/></t>
          </dd>
          <dt>pinned-domain-pubk-sha256:</dt>
          <dd>
            <t><xref target="cBRSKI"/></t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="updates-to-rfc8995">
      <name>Updates to RFC8995</name>
      <t>This document represents a merge of YANG definitions of the Voucher from <xref target="RFC8366"/>, the Voucher Request from <xref target="RFC8995"/>, 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 are not included in this document, but rather in the respective other documents.</t>
      <section anchor="updates-idevid-issuer">
        <name>Updates to the use of <tt>idevid-issuer</tt></name>
        <t>The <tt>voucher-request</tt> module definition that was in <xref target="RFC8995"/> Sections 3.2 (tree diagram) and 3.4 (YANG module) is now included in this document.
There is a change to it: the '<tt>idevid-issuer</tt>' Attribute <bcp14>MUST</bcp14> be included in a Registrar Voucher Request (RVR).
Like the '<tt>serial-number</tt>' value in the RVR, the '<tt>idevid-issuer</tt>' value in the RVR is to be taken from the Pledge's (IDevID) client certificate.
In some variations of BRSKI, such as <xref target="PRM"/>, there is no direct TLS connection between Pledge and Registrar.  Therefore, the Pledge's IDevID certificate cannot be extracted from the TLS connection, so those variations define a different channel binding process and may deviate from the above requirement.</t>
        <t>A Registrar <bcp14>MUST</bcp14> apply the following rules for the value of the '<tt>idevid-issuer</tt>' Attribute in the given order:</t>
        <ol spacing="normal" type="1"><li>
            <t>If the Authority Key Identifier (AKI) field is present in the Pledge's (IDevID) client certificate, the Registrar
copies the full data element as specified in <xref target="idevid-issuer-format"/>.</t>
          </li>
          <li>
            <t>Otherwise, the Registrar generates the full data element in the format specified in <xref target="idevid-issuer-format"/>, using the
SHA-1 hash of the public key of the Pledge's IDevID client certificate.
This is defined as method 1 in <xref section="4.2.1.2" sectionFormat="of" target="RFC5280"/>.</t>
          </li>
        </ol>
      </section>
      <section anchor="clarifications-on-the-use-of-idevid-issuer">
        <name>Clarifications on the use of <tt>idevid-issuer</tt></name>
        <t><xref target="RFC8366"/> and <xref target="RFC8995"/> define the '<tt>idevid-issuer</tt>' Attribute for the '<tt>voucher</tt>' and '<tt>voucher-request</tt>' modules (respectively), but they only summarily explain when to use it, and why it is used.</t>
        <t>The '<tt>idevid-issuer</tt>' Attribute is provided so that the serial number to which the issued Voucher pertains can be relative to the entity that issued the Pledge's IDevID.
In most cases there is a one to one relationship between the trust anchor that signs Vouchers (and is trusted by the Pledge), and the Certification Authority that signs the IDevID.
In that case, the '<tt>serial-number</tt>' in the Voucher Data must refer to the same device as the serial number that is in the IDevID certificate (in the '<tt>serialNumber</tt>' element of type '<tt>X520SerialNumber</tt>' per <xref section="2.3.1" sectionFormat="of" target="RFC8995"/>).</t>
        <t>However, there are situations where the one to one relationship may be broken.
This occurs whenever a manufacturer has a common MASA, but different products (on different assembly lines) are produced with identical serial numbers.
A system of serial numbers which is just a simple counter is a good example of this.
A system of serial numbers where there is some prefix relating the product type does not fit into this, even if the lower digits are a counter.</t>
        <t>Another situation occurs when multiple manufacturers share a common MASA.
In this case, any given serial number in the IDevID certificate may not be unique across all manufacturers.</t>
        <t>It is not possible for the Pledge or the Registrar to know which situation applies.
And because one of the above situations may apply, or may occur in the future, there needs to be a contingency to allow uniquely identifying a Pledge regardless of the current or future situation.
This is realized by the '<tt>idevid-issuer</tt>' Attribute.</t>
        <t>It is clarified next, whether or not to include the '<tt>idevid-issuer</tt>' in the PVR, in the RVR and in the Voucher.</t>
        <t>Analysis of the situation shows that the Pledge never needs to include '<tt>idevid-issuer</tt>' Attribute in its PVR, because the Pledge's IDevID certificate is available to the Registrar, and the Authority Key Identifier needed to fill this Attribute is contained within that IDevID certificate.
The Pledge therefore has no need to repeat this.</t>
        <t>For the RVR, <xref target="updates-idevid-issuer"/> now normatively requires that the '<tt>idevid-issuer</tt>' Attribute be included.</t>
        <t>For the Voucher, as detailed in <xref target="voucher-yang-module"/>, the '<tt>idevid-issuer</tt>' Attribute <bcp14>MUST</bcp14> be included by a MASA in case the MASA issues a Voucher with a serial number that is known to be not unique within the scope of all the serial numbers represented by the MASA.
If this rule does not apply, the MASA <bcp14>SHOULD NOT</bcp14> include the '<tt>idevid-issuer</tt>' Attribute in order to achieve a smaller Voucher size.</t>
      </section>
      <section anchor="idevid-issuer-format">
        <name>Clarifications on the format of <tt>idevid-issuer</tt></name>
        <t><xref target="RFC8366"/> and <xref target="RFC8995"/> were not fully clear on the required binary format of the '<tt>idevid-issuer</tt>' Attribute.
This gave rise to incompatible implementations.</t>
        <t>This section clarifies the format of the '<tt>idevid-issuer</tt>' Attribute, which contains the full Authority Key Identifier from an IDevID certificate.
The entire Authority Key Identifier object from the certificate i.e. the '<tt>extnValue</tt>' OCTET STRING is to be included, comprising the ASN.1 DER encoding of the '<tt>AuthorityKeyIdentifier</tt>' structure as defined in <xref section="4.2.1.1" sectionFormat="of" target="RFC5280"/>.
This includes the ASN.1 DER encoding of the SEQUENCE as well as the OCTET STRING element (tagged 0) that is named '<tt>keyIdentifier</tt>' with type '<tt>KeyIdentifier</tt>'.</t>
        <t>Note that per <xref target="IDEVID"/>, only the first optional element named '<tt>keyIdentifier</tt>' is expected to be found in an IDevID certificate, not the '<tt>authorityCertIssuer</tt>' or the '<tt>authorityCertSerialNumber</tt>'.
However, because of the above requirement to include the full '<tt>extnValue</tt>' OCTET STRING, even if the non-expected elements would be present, they would be included in the '<tt>idevid-issuer</tt>' value in a Voucher Request or Voucher.</t>
      </section>
      <section anchor="errata-closed">
        <name>Errata closed</name>
        <t>The above updates to <xref target="RFC8995"/> addresses errata <xref target="eid7263"/>.</t>
      </section>
    </section>
    <section anchor="signature-mechanisms">
      <name>Signature mechanisms</name>
      <t>Three signature systems have been defined for Voucher Artifacts.</t>
      <t><xref target="cBRSKI"/> defines a mechanism that uses COSE <xref target="COSE"/>, with the Voucher Data encoded using YANG-CBOR <xref target="RFC9254"/>.
However, as the SID <xref target="RFC9254"/> allocation 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 in this document.</t>
      <section anchor="cms-voucher">
        <name>CMS Format Voucher Artifact</name>
        <t>The CMS data structure consists of the <tt>ContentInfo</tt> defined in <xref section="3" sectionFormat="of" target="RFC5652"/>, which contains a single
<tt>SignedData</tt> structure. The <tt>SignedData</tt> structure is 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"/>.</t>
        <t>The <tt>SignedData</tt> structure contains a single <tt>EncapsulatedContentInfo</tt> structure, defined in <xref section="5.2" sectionFormat="of" target="RFC5652"/>.
An object identifier (OID) <xref target="ITU-T.X680"/> for JSON-encoded Voucher Data
is allocated in <xref target="iana-contenttype"/>.
This OID is placed in the <tt>'eContentType'</tt> field in the <tt>EncapsulatedContentInfo</tt>, with the OID defined as follows:</t>
        <artwork><![CDATA[
id-smime OBJECT IDENTIFIER ::= { iso(1) member-body(2)
             us(840) rsadsi(113549) pkcs(1) pkcs9(9) 16 }

id-ct OBJECT IDENTIFIER ::= { id-smime 1 }

id-ct-animaJSONVoucher OBJECT IDENTIFIER ::= { id-ct 40 }
]]></artwork>
        <t>The use of PKCS#7 (<tt>CMSVersion</tt>=1) in the <tt>SignedData</tt> structure is deprecated by this document.</t>
        <t><xref section="9.1" sectionFormat="of" target="RFC5652"/> mandates that <tt>SignedAttributes</tt> <bcp14>MUST</bcp14> be present when the content type is not '<tt>id-data</tt>'.
This mitigates attacks on CMS as described in <xref target="I-D.vangeest-lamps-cms-euf-cma-signeddata"/>.
Decoders <bcp14>MUST</bcp14> verify that <tt>SignedAttributes</tt> is present.</t>
        <t>To facilitate interoperability, per <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 <tt>SignedData</tt> structure <bcp14>MUST</bcp14> contain a '<tt>signerInfo</tt>' structure, as
described in <xref section="5.1" sectionFormat="of" target="RFC5652"/>, containing the
signature generated over the content using a private key
trusted by the recipient.
In a Voucher, the recipient is the Pledge and the signer is the MASA.
In the Voucher Request, the signer is the Pledge (in the PVR), or the Registrar (in the RVR).</t>
        <t>Note that <xref section="5.1" sectionFormat="of" target="RFC5652"/> includes a discussion about how to validate a CMS object.
This object may have a particular CMSVersion (see <xref section="10.2.5" sectionFormat="of" target="RFC5652"/>).
Intermediate systems (such as the
Bootstrapping Remote Secure Key Infrastructures <xref target="RFC8995"/> Registrar)
that might need to evaluate the object in flight <bcp14>MUST</bcp14> be prepared for
any version of this format.
No signaling of the format version (CMSVersion) 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 Certification 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 in the next section, 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 Artifact that is a CMS-signed encoding of the
JSON-encoded Voucher Data as defined by 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 nonceless or which kind of pinned anchor is used, are 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
type in the HTTP "Accept" header <xref target="RFC9110"/>.</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>
      <t>The Attributes <tt>pinned-domain-pubk</tt> (<tt>proximity-registrar-pubk</tt> for a PVR) and <tt>pinned-domain-pubk-sha256</tt> (<tt>proximity-registrar-pubk-sha256</tt> for a PVR) are involved in the process of pinning/identifying a raw public key, instead of a certificate, for such devices.</t>
      <t>Should the SHA256 algorithm need to be replaced in the future, then a new YANG module will be published with new leafs,
obsoleting the <tt>pinned-domain-pubk-sha256</tt> and <tt>proximity-registrar-pubk-sha256</tt> Attributes.</t>
      <t>In the event that more than one of <tt>pinned-domain-pubk-sha256</tt>, <tt>pinned-domain-pubk</tt> or <tt>pinned-domain-cert</tt> Attributes
are present in a Voucher, then the Pledge <bcp14>SHALL</bcp14> prioritize the matching <tt>proximity-*</tt> entry which it used in its voucher-request artifact, ignoring the others.</t>
      <t>If the Voucher is nonceless, then the Pledge <bcp14>SHALL</bcp14> consider the first of the above Attributes that it understands, in the order given above.</t>
      <section anchor="algorithm-choices-for-voucher-artifacts">
        <name>Algorithm Choices for Voucher Artifacts</name>
        <t>When designing Pledge devices, manufacturers choose algorithms and signature formats - which they also need to support in their MASA.
As explained in <xref section="2.5" sectionFormat="comma" target="RFC8995"/>, the Pledge is a creation of the manufacturer, and thus the manufacturer
(in the form of the Manufacturer Authorized Signing Authority (MASA)) has knowledge of the capabilities of the Pledge.
Specifically, the manufacturer knows what signature algorithm the Pledge is going to use (to sign a PVR or to validate a Voucher),
and can verify this, thus there is no need (or opportunity) to negotiate the algorithm or signature (CMS, JWS, COSE) scheme.</t>
        <t>The exact choice of format (CMS, JWS or CBOR) and algorithm depends upon the target operational community for the Voucher.
<xref section="6.2" sectionFormat="comma" target="RFC8994"/> specifies mandatory to implement algorithms for current ANI uses.
<xref target="I-D.richardson-anima-quantum-safe-4ani"/> is future work for quantum-safe (PQ) <xref target="RFC9958"/> algorithms for ANI work.</t>
        <t><xref target="cBRSKI"/> and <xref target="I-D.ietf-uta-tls13-iot-profile"/> specify mandatory to implement algorithms for IoT use cases
involving constrained devices.
A certain class of constrained devices defined in <xref target="cBRSKI"/> minimizes the code size of the code for ASN.1 processing,
PKIX <xref target="RFC5280"/> processing and Voucher/PVR processing, which determines and constrains the algorithm and format choices.
Another class of cBRSKI constrained devices minimizes just the sizes of Voucher and PVR, a benefit on constrained
networks, and these devices have different constraints on the algorithm and format choices.</t>
        <t>Should a manufacturer decide to stop supporting some algorithm that their manufactured Pledges rely on, they will need
to execute a transition operation for any inventory (Pledges) that exists in warehouses or within the supply chain,
to ensure that these devices can still be onboarded in the new situation.
One transition strategy is to recall these Pledges, replace the firmware and update the IDevID certificates present
in the recalled devices.
This is not ideal; a better transition strategy could be defined as part of an onboarding protocol such that a
physical recall is not required.</t>
        <t>The public keys are to be encoded according to <xref section="3" sectionFormat="comma" target="RFC7250"/> for RSA and ECDSA keys,
noting that <xref target="RFC8032"/> extends this to include an OID for EdDSA.
The old (1024-bit) DSA algorithm is not supported.</t>
      </section>
      <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:
    +-- created-on?                      yang:date-and-time
    +-- extensions*                      union
    +-- manufacturer-proprietary?        binary
    +-- assertion?                       enumeration
    +-- serial-number                    string
    +-- idevid-issuer?                   binary
    +-- pinned-domain-cert?              binary
    +-- pinned-domain-pubk?              binary
    +-- pinned-domain-pubk-sha256?       binary
    +-- domain-cert-revocation-checks?   boolean
    +-- last-renewal-date?               yang:date-and-time
    +-- expires-on?                      yang:date-and-time
    +-- 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 JSON 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 '<tt>logged</tt>' 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 (containing no nonce, or "nonceless").
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 '<tt>verified</tt>' 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>The final two examples illustrate a Voucher that includes an (example) extension per <xref target="voucher-ext"/>.
The hypothetical YANG module name of the extension is '<tt>example-my-extension</tt>'.
First, a JSON serialization is shown.</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==",
    "extensions": ["example-my-extension"],
    "extension:example-my-extension": {
      "my-ext-leaf1": "my-ext-leaf1-data"
    }
  }
}
]]></artwork>
        <t>Next, a CBOR serialization is shown in CBOR diagnostic notation.
This uses again the extension module '<tt>example-my-extension</tt>' and refers to it using its SID value 305823299950.
Note that for this example, long binary strings are abbreviated using the ellipsis (<tt>...</tt>) notation.</t>
        <artwork><![CDATA[
{
  2451: {                          / ietf-voucher:voucher  /
    2:  "2016-10-07T19:31:42Z",    / created-on            /
    1:  1,                         / assertion (logged)    /
    11: "JADA123456789",           / serial-number         /
    5:  h'04183016 ... 1736C3E0',  / idevid-issuer         /
    8:  h'30820122 ... 12328CFF',  / pinned-domain-cert    /
    7:  h'831D5198A6CA2C7F',       / nonce                 /
    17: [305823299950],            / extensions            /
    47(305823299950): {            / example-my-extension  /
      1: "my-ext-leaf1-data"       / my-ext-leaf1          /
    }
  }
}
]]></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>
        <t>During development of this merged YANG module, advice was given to better organize mutually exclusive Attributes such as '<tt>pinned-domain-cert</tt>' vs '<tt>pinned-domain-pubk</tt>', or '<tt>expires-on</tt>' vs '<tt>nonce</tt>'.
Unfortunately, <xref target="CORESID"/> does not explain how and why choice statements are assigned SID values,
and the tooling as of the end of 2025 is inconsistent with both the document, and the intuitive notions as to how this should work.
As the simplest way forward, the choice mechanisms that were introduced have been commented out in the YANG, allowing the SID values to be generated correctly.
As a result, the SID values presented in <xref target="voucher-sid-values"/> and <xref target="voucher-request-sid-values"/> are to be considered normative, rather than relying exclusively on the
".sid" file <xref target="CORESID"/> generated from the YANG modules.
The presented SID values are believed to be correct, but future reprocessing of the YANG module to a ".sid" file could result in changes as the tooling is fixed.
Any such changes will be recorded as errata on this document.</t>
        <sourcecode type="yang" markers="true" name="ietf-voucher@2025-12-18.yang"><![CDATA[
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 9911: Common YANG Data Types";
  }
  import ietf-inet-types {
    prefix ietf;
    reference
      "RFC 9911: Common YANG Data Types";
  }
  import ietf-yang-structure-ext {
    prefix sx;
    reference
      "RFC 8791: YANG Data Structure Extensions";
  }

  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:   Toerless Eckert
               <mailto:tte@cs.fau.de>
     Author:   Qiufang Ma
               <mailto:maqiufang1@huawei.com>
     Author:   Esko Dijk
               <mailto:esko.dijk@iotconsultancy.nl>";
  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) 2023-2026 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.

     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.";

  // RFCEDITOR: please replace XXXX in this entire code fragment
  // with the RFC number assigned and remove this notice.
  // Please also update references in the description {{}} to the
  // RFC numbers for the documents.

  revision 2025-12-18 {
    description
      "Updates and additions described by RFC XXXX,
       includes mechanism for constrained BRSKI
       {{I-D.ietf-anima-constrained-voucher}},
       Pledge in Responder Mode {{I-D.ietf-anima-brski-prm}},
       and BRSKI-CLOUD {{I-D.ietf-anima-brski-cloud}}";
    reference
      "RFC XXXX: A Voucher Artifact for Onboarding Protocols";
  }
  revision 2018-05-09 {
    description
      "Initial version";
    reference
      "RFC 8366: Voucher Profile for Bootstrapping Protocols";
  }

  grouping voucher-artifact {
    description
      "Grouping to allow reuse/extensions in future work.";
    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.  Typically, names are registered with the IANA.
         Standard extensions are described in an RFC, while vendor
         proprietary ones are not.";
    }
    leaf manufacturer-proprietary {
      type binary;
      description
        "In CBOR serialization, this is a CBOR bstr containing any
         valid CBOR that the manufacturer wishes to share with its
         Pledge.  In JSON serializations, this contains additional
         JSON instead, and it is base64URL encoded.

         Since a Voucher could be logged or stored by a Registrar
         or another intermediate, this Attribute MUST NOT contain
         any data that requires confidentiality.";
    }
    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.  In the Voucher, it is optional
         as some manufacturers know that all serial-numbers
         are unique within the scope of a MASA. In the Voucher
         Request, whether it is mandatory or optional depends on
         which protocol is used, such as RFC8995 and variations.
         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
    //               MASA to pin the Registrar identity";
    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.X690].

         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 onboarding
         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.X690:
         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.";
    }
    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.";
    }
    // }  choice pinning removed
    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;
      must '../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 Attribute";
    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 onboarding
         protocols to enable anti-replay protection.  This node is
         optional because it is not used by all onboarding
         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
         onboarding message.  If the value is present, but
         the values do not match, then the Pledge MUST NOT process
         this Voucher.

         A nonce value MUST be a cryptographically strong random
         value as detailed in RFC 4086.";
    }
    // } choice nonceless
    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.

         The URL MUST NOT contain any data (such as authen-
         tication tokens) that requires confidentiality.";
    }
  }

  // Top-level statement
  sx:structure voucher {
    uses voucher-artifact;
  }
}
]]></sourcecode>
      </section>
      <section anchor="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.
The below SID values are assigned to the '<tt>ietf-voucher</tt>' YANG module elements and are considered normative.</t>
        <t>The right column shows the schema-node path expression for the YANG data node to which the SID value is assigned.</t>
        <artwork><![CDATA[
SID  Assigned to
---- --------------------------------------------------
2450 module ietf-voucher
2451 data   /ietf-voucher:voucher
2452 data   /ietf-voucher:voucher/assertion
2453 data   /ietf-voucher:voucher/created-on
2454 data   /ietf-voucher:voucher/domain-cert-revocation-checks
2455 data   /ietf-voucher:voucher/expires-on
2456 data   /ietf-voucher:voucher/idevid-issuer
2457 data   /ietf-voucher:voucher/last-renewal-date
2458 data   /ietf-voucher:voucher/nonce
2459 data   /ietf-voucher:voucher/pinned-domain-cert
2460 data   /ietf-voucher:voucher/pinned-domain-pubk
2461 data   /ietf-voucher:voucher/pinned-domain-pubk-sha256
2462 data   /ietf-voucher:voucher/serial-number
2463 data   /ietf-voucher:voucher/additional-configuration-url
2464 data   /ietf-voucher:voucher/est-domain
2465 data   /ietf-voucher:voucher/manufacturer-proprietary
2466 data   /ietf-voucher:voucher/extensions
]]></artwork>
        <t>The '<tt>assertion</tt>' 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 value</name>
          <thead>
            <tr>
              <th align="left">CBOR 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 implicitly accommodates 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 DNS domain name.</t>
        <t>In CBOR serialization <xref target="RFC9254"/>, the situation is not so easy when SID keys are used.
An extension might need to use "Private range" <xref target="CORESID"/> 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 YANG "augment" mechanism), turned out not to be, see <xref target="extendfail"/>.</t>
        <t>Instead, a process similar to what was done by <xref target="RFC8520"/> has been adopted.
In the Voucher Data, any extensions are listed in a list Attribute named '<tt>extensions</tt>'.
In JSON serialization, these extensions each require a unique name, and therefore an IANA registration for these names
is provided and FQDN-based uniqueness is used in certain cases (see <xref target="voucher-ext-reg"/>).
The name <bcp14>MUST</bcp14> be the same as the YANG extension module name.
The '<tt>extensions</tt>' list Attribute allows for new standard extensions to be defined without changes to the '<tt>ietf-voucher</tt>' YANG module.
Items within that list are either strings (in JSON serialization), or integers (in CBOR serialization using SIDs).
If the extension is registered with IANA, then both name and SID are always defined in the Voucher Extensions registry (see <xref target="voucher-ext-reg"/>).</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 of a new key/value pair in the '<tt>voucher</tt>' container element.
In JSON serialization, the corresponding key is the name of the extension, prefixed by the string "extension:".
In CBOR serialization, the corresponding key is the SID which is allocated as the YANG extension module SID.
This will typically require the absolute SID value Tag(47) to be applied to this key (see <xref section="4.2.1" sectionFormat="of" target="RFC9254"/>
or the final example in <xref target="voucher-examples"/>).</t>
        <t>Note that this differs from the mechanism described in <xref target="RFC8520"/>: there, a sub-map is not used.
Instead, keys are created by combining the module name and the Attribute as a string, as a result of using the YANG
"augment" mechanism.
The <xref target="RFC8520"/> mechanism uses more bytes, but is also not easily translatable to CBOR.</t>
        <t>As the Voucher Request YANG module is created by YANG augment of the Voucher YANG module, any extension defined for the Voucher is also valid for a Voucher Request.</t>
      </section>
      <section anchor="manufacturer-proprietary-extensions">
        <name>Manufacturer Proprietary 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 value in order to do minimal-sized encoding in case of CBOR Voucher Data.
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 '<tt>manufacturer-proprietary</tt>' Attribute to put any content they wish, as long as
this content does not require confidentiality.
In CBOR serialization, if a plain CBOR map would be used, it would be subject to delta encoding: so use of this Attribute requires that the contents are bstr-encoded
Section <xref target="RFC8949" section="3.1" sectionFormat="bare"/> of RFC 8949 <xref target="CBOR"/> (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="RFC8995"/> 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 the "yang-data" extension <xref target="RFC8040"/> to the "sx:structure" extension <xref target="RFC8791"/>.</t>
      <t>In the event that more than one of the Attributes <tt>proximity-registrar-pubk-sha256</tt>, <tt>proximity-registrar-pubk</tt> or <tt>proximity-registrar-cert</tt>
are present in a Voucher Request, then the Registrar and MASA <bcp14>SHALL</bcp14> consider them in the order presented here.</t>
      <t>The presence of more than one of these Attributes is legal as it may allow a Pledge to operate in both constrained and non-constrained networks.
However, on constrained networks it wastes significant amounts of space, and it is discouraged in those environments.</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:
    +-- created-on?                                yang:date-and-time
    +-- extensions*                                union
    +-- manufacturer-proprietary?                  binary
    +-- assertion?                                 enumeration
    +-- serial-number                              string
    +-- idevid-issuer?                             binary
    +-- pinned-domain-cert?                        binary
    +-- pinned-domain-pubk?                        binary
    +-- pinned-domain-pubk-sha256?                 binary
    +-- domain-cert-revocation-checks?             boolean
    +-- last-renewal-date?                         yang:date-and-time
    +-- expires-on?                                yang:date-and-time
    +-- nonce?                                     binary
    +-- est-domain?                                ietf:uri
    +-- additional-configuration-url?              ietf:uri
    +-- prior-signed-voucher-request?              binary
    +-- proximity-registrar-cert?                  binary
    +-- proximity-registrar-pubk?                  binary
    +-- 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 '<tt>ietf-voucher-request</tt>' YANG module is derived from the '<tt>ietf-voucher</tt>' module.</t>
        <sourcecode type="yang" markers="true" name="ietf-voucher-request@2025-12-18.yang"><![CDATA[
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;
    reference
      "RFC 8791: YANG Data Structure Extensions";
  }
  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: A Voucher Artifact for
       Onboarding 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:   Toerless Eckert
               <mailto:tte@cs.fau.de>
     Author:   Qiufang Ma
               <mailto:maqiufang1@huawei.com>
     Author:   Esko Dijk
               <mailto:esko.dijk@iotconsultancy.nl>";
  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 procedure and subsequent
     Voucher creation.

     Copyright (c) 2023-2026 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.

     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.";

  // RFCEDITOR: please replace XXXX in this entire code fragment
  // with the RFC number assigned and remove this notice.
  // Please also update references in the description {{}} to the
  // RFC numbers for the documents.

  revision 2025-12-18 {
    description
      "Updates and additions described by RFC XXXX,
       includes mechanism for constrained BRSKI
       {{I-D.ietf-anima-constrained-voucher}},
       Pledge in Responder Mode {{I-D.ietf-anima-brski-prm}},
       and BRSKI-CLOUD {{I-D.ietf-anima-brski-cloud}}";
    reference
      "RFC XXXX: A Voucher Artifact for Onboarding Protocols";
  }
  revision 2021-05-20 {
    description
      "Initial version";
    reference
      "RFC 8995: Bootstrapping Remote Secure Key Infrastructure
       (BRSKI)";
  }

  grouping voucher-request {
    description
      "Grouping to allow reuse/extensions in future work.";
    uses vch:voucher-artifact {
      refine "last-renewal-date" {
        description
          "A last-renewal-date field
           MUST NOT be present in a Voucher Request,
           and any occurrence MUST be ignored";
      }
      refine "domain-cert-revocation-checks" {
        description
          "The domain-cert-revocation-checks field
           MUST NOT be present in a Voucher Request,
           and any occurrence MUST be ignored";
      }
      refine "assertion" {
        description
          "Any assertion included in Registrar Voucher
           Requests SHOULD be ignored by the MASA.";
      }
      refine "idevid-issuer" {
        description
          "The idevid-issuer field MUST be included in
           a Registrar Voucher Request (RVR) (unless
           specified otherwise) per Section 6.1 of
           RFC XXXX.";
      }
    }
    leaf prior-signed-voucher-request {
      type binary;
      description
        "If it is necessary to change a Voucher, or re-sign and
         forward a Voucher Request 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 Request information for the
         purposes of policy decisions. The MASA SHOULD remove
         all prior-signed-voucher-request information when
         signing a Voucher for onboarding so as to minimize
         the final Voucher size and to ensure privacy/security
         sensitive information does not leak into the Voucher.";
    }
    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-T.X690].

         The first certificate in the Registrar TLS server
         certificate_list sequence  (the end-entity TLS
         certificate, see RFC 9846) 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.";
    }
    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-T.X690].
         The first certificate in the Registrar TLS server
         certificate_list sequence (the end-entity TLS
         certificate; see RFC 9846) 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-T.X690: 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 9846: 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-T.X690].
         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's Voucher Request.
         This MUST be populated in a Registrar's
         Voucher Request when an agent-proximity assertion
         is requested.";
      reference
        "ITU-T.X690: 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: called "voucher" to match RFC8995
  sx:structure voucher {
    uses voucher-request;
  }
}
]]></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.
The below SID values are assigned to the '<tt>ietf-voucher-request</tt>' YANG module elements and are considered normative.</t>
        <t>The right column shows the schema-node path expression for the YANG data node to which the SID value is assigned.</t>
        <artwork><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

SID  Assigned to
---- --------------------------------------------------
2500 module ietf-voucher-request
2501 data   /ietf-voucher-request:voucher
2502 data   /ietf-voucher-request:voucher/assertion
2503 data   /ietf-voucher-request:voucher/created-on
2504 data   /ietf-voucher-request:voucher/domain-cert-revocation-\
                                                               checks
2505 data   /ietf-voucher-request:voucher/expires-on
2506 data   /ietf-voucher-request:voucher/idevid-issuer
2507 data   /ietf-voucher-request:voucher/last-renewal-date
2508 data   /ietf-voucher-request:voucher/nonce
2509 data   /ietf-voucher-request:voucher/pinned-domain-cert
2510 data   /ietf-voucher-request:voucher/prior-signed-voucher-\
                                                              request
2511 data   /ietf-voucher-request:voucher/proximity-registrar-cert
2512 data   /ietf-voucher-request:voucher/proximity-registrar-pubk-\
                                                               sha256
2513 data   /ietf-voucher-request:voucher/proximity-registrar-pubk
2514 data   /ietf-voucher-request:voucher/serial-number
2515 data   /ietf-voucher-request:voucher/agent-provided-proximity-\
                                                       registrar-cert
2516 data   /ietf-voucher-request:voucher/agent-sign-cert
2517 data   /ietf-voucher-request:voucher/agent-signed-data
2518 data   /ietf-voucher-request:voucher/pinned-domain-pubk
2519 data   /ietf-voucher-request:voucher/pinned-domain-pubk-sha256
2520 data   /ietf-voucher-request:voucher/additional-configuration-\
                                                                  url
2521 data   /ietf-voucher-request:voucher/est-domain
2522 data   /ietf-voucher-request:voucher/extensions
2523 data   /ietf-voucher-request:voucher/manufacturer-proprietary
]]></artwork>
        <t>The '<tt>assertion</tt>' 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 (such as an OCSP <xref target="RFC6960"/> staple <xref target="RFC9910"/>, or CRL <xref target="RFC5280"/>) is generally used to verify the continued validity
of an assertion such as a PKIX certificate <xref target="RFC5280"/>, web token, or 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
'<tt>expires-on</tt>' Attribute is set to some distant date, the expectation
is for the MASA to instead issue a short-lived Voucher, where the
'<tt>expires-on</tt>' Attribute is set to a relatively near date, along with a promise
(reflected in the '<tt>last-renewal-date</tt>' Attribute) 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?"), renewal does not repeat all those
checks: rather, the checks upon renewal are to confirm that the relationship
established earlier still holds.
The MASA always verifies the RVR, to ensure that the requesting
Registrar still has access to the Domain's private key; it checks the
revocation status of the Domain identity certificate (see
<xref target="sec-con-domain"/>); and it applies any policy that has changed since the
previous Voucher issuance, such as a Domain owner's request to block further
renewals or the expiry of a support contract.
Renewal has therefore lower overhead than the initial issuance and can be
fully automated in most cases.</t>
        <t>The renewal request is created by the Registrar, using a freshly signed Registrar Voucher Request (RVR),
including the old Voucher in the <tt>prior-signed-voucher-request</tt> Attribute.
The Registrar signs the new request.</t>
        <t>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 (<xref target="RFC5280"/> <xref target="RFC6960"/>) is
not reachable.</t>
        <t>The exact definition of "short-lived" is up to the different onboarding mechanisms.</t>
        <t>So, while this document recommends issuing short-lived Vouchers, the
Voucher Artifact does not restrict the ability to create long-lived
Vouchers, 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-accuracy-in-a-pledge">
        <name>Clock Accuracy in a Pledge</name>
        <t>An attacker could use an expired nonceless Voucher to gain control over
a device (Pledge) that has no understanding of time.  The device cannot
trust Network Time Protocol (NTP) as a time reference, as an attacker could
control the NTP stream.</t>
        <t>There are three things to defend against this:
1) a device is required to verify that the '<tt>expires-on</tt>' Attribute's time has not yet passed,
2) a device without access to an internal clock uses a nonce to get a fresh ephemeral Voucher, and
3) a device is required to verify that the trust anchor indicated in the Voucher matches the Registrar
   it is communicating with.</t>
        <t>The third prevents onboarding into a Domain controlled by an attacker which is different to the Domain indicated in
the Voucher. However, by itself it does not prevent a Domain owner trying to onboard a Pledge while the expiration
time in the Voucher has already passed.</t>
        <t>This document defines a Voucher that optionally contains an
expiration time, which requires an accurate clock on the device
in order to be processed correctly.</t>
        <t>Manufacturers issuing Vouchers with expiration time need to ensure that
the devices targeted have an accurate clock when shipped from manufacturing
facilities and need to take measures to prevent clock tampering.
If it is not possible to ensure clock accuracy and tamper-proofness, then
the expiration time values in Vouchers will provide little protection.</t>
      </section>
      <section anchor="nonceless-vouchers">
        <name>Nonceless Vouchers</name>
        <t>A nonceless Voucher cannot be validated by a Pledge for freshness, other than by inspecting the
'<tt>expires-on</tt>' Attribute and comparing its value against the Pledge's internal clock.
See the previous section for considerations on the accuracy of this clock and the risks of relying on NTP for
acquiring the current time.</t>
        <t>A nonceless Voucher can be reused by a Registrar to answer a Pledge's PVR any number of times within its validity
period. This can be a benefit for a Domain owner if repeated onboarding into a Domain is required, but it equally
allows an attacker that came into possession of a nonceless Voucher to attempt a great number of onboarding attempts
with the indicated Pledge.
Still, such repeated attacks are unlikely to succeed because the Voucher explicitly identifies only one Domain
where the Pledge can be onboarded into - which is not the attacker's Domain in this scenario.</t>
      </section>
      <section anchor="protecting-the-masa-signing-key-and-the-masa-ca-key">
        <name>Protecting the MASA Signing Key and the MASA CA Key</name>
        <t>As the MASA needs to be able to respond to Voucher signing requests,
its private key used for signing Vouchers is online.
This key is associated to its End-Entity certificate, which is a short-lived certificate, re-generated frequently.</t>
        <t>The private key <bcp14>MUST</bcp14> be stored such that it cannot be exported and
each use of the key is subject to access control.
A hardware security module (HSM) is one way to achieve this.</t>
        <t>There are many ways to organize the PKI that is used to sign Vouchers.
<xref section="2" sectionFormat="comma" target="I-D.ietf-anima-masa-considerations"/> describes a number of different scenarios.
In some of them, there are long-term keys kept offline, implementing a Certification Authority (CA).
This can be as advanced as an FIPS-certified resin-filled HSM, or as simple as a USB key stored in a locked cabinet.</t>
        <t>The trust anchor configured into the Pledge is the long-term offline anchor.</t>
      </section>
      <section anchor="sec-con-domain">
        <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 PKIX <xref target="RFC5280"/> 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 structures,
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.</t>
        <t>When used with <xref target="RFC8995"/>, or <xref target="cBRSKI"/> then Voucher Requests and Vouchers are conveyed using TLS <xref target="RFC9846"/>, so there is no exposure.</t>
        <t>When used with <xref target="PRM"/>, then the contents can be exposed in the last hop,
where HTTP is used, due to the lack of any way to validate the certificate needed to enable HTTPS.</t>
        <t>When the Voucher is in CMS format, it can contain certificate chains that can disclose 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.
Note that <xref target="PRM"/> specifies use of <xref target="JWS"/> format artifacts rather than CMS, so there are no CRLs to disclose.</t>
        <t><xref target="SZTP"/> uses a wide variety of transports, some of which offer physical privacy for data, and others which do not.
To mitigate this, <xref section="3.4" sectionFormat="comma" target="SZTP"/> specifies a way to encrypt using CMS.</t>
        <t>The use of YANG to define data structures, via the "sx:structure"
extension <xref target="RFC8791"/>, is relatively new and distinct from the conventional
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, this
security considerations section does not follow the 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 updates two URIs in the "IETF XML Registry" <xref target="RFC3688"/>: <tt>urn:ietf:params:xml:ns:yang:ietf-voucher</tt> and
<tt>urn:ietf:params:xml:ns:yang:ietf-voucher-request</tt>:</t>
        <t>IANA is requested to update this registration to point to THIS-DOCUMENT.</t>
      </section>
      <section anchor="the-yang-module-names-registry">
        <name>The YANG Module Names Registry</name>
        <t>IANA is requested to update the <tt>ietf-voucher</tt> and <tt>ietf-voucher-request</tt> registrations
in the "YANG Module Names" registry <xref target="RFC6020"/> <xref target="RFC9890"/> within the "YANG Parameters" registry group to point to this document.
For the <tt>ietf-voucher-request</tt> entry, the prefix should be updated to "vcr".</t>
      </section>
      <section anchor="vcj">
        <name>The Media Types Registry</name>
        <t>IANA is requested to update the registration of media type: <tt>application/voucher-cms+json</tt> to change the Published Specification to THIS-DOCUMENT.</t>
      </section>
      <section anchor="iana-contenttype">
        <name>The SMI Security for S/MIME CMS Content Type Registry</name>
        <t>IANA is requested to update the registration for the OID 1.2.840.113549.1.9.16.1.40, '<tt>id-ct-animaJSONVoucher</tt>'.
This registration should be updated to point to this document.</t>
      </section>
      <section anchor="voucher-ext-reg">
        <name>The Voucher Extensions Registry</name>
        <t>IANA is asked to create a registry of Voucher extensions within the <em>Bootstrapping Remote Secure Key Infrastructures (BRSKI) Parameters</em> as follows.</t>
        <t>The name is: Voucher Extensions, and the Registration Policy is Expert Review.</t>
        <ul empty="true">
          <li>
            <dl spacing="compact">
              <dt>Extension name:</dt>
              <dd>
                <t>UTF-8-encoded string, at most 40 characters.</t>
              </dd>
              <dt>Extension SID:</dt>
              <dd>
                <t>the YANG module SID value that defines the extension per <xref target="voucher-ext"/>.</t>
              </dd>
              <dt>Reference:</dt>
              <dd>
                <t>an optional document reference (URL, or other pointer)</t>
              </dd>
            </dl>
          </li>
        </ul>
        <t>Note that the Extension SID 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.
<xref target="RFC9997"/> allows for PEN-based allocations.
IANA does not need to separately allocate a SID value for this column.</t>
        <t>Extension name strings for documents in the IETF Document Stream and IRTF Document Stream are given by the YANG module name: they do not contain dots.</t>
        <t>For vendor proprietary extensions (including Independent Submission Stream documents), the resulting string still needs to be unique.
This can be done by making the YANG module name unique, basing it on a fully-qualified domain name (FQDN) <xref target="RFC9499"/>.
For example, using a string "fuubar.example.com-mud-thing" rather than "fuubar-mud-thing" if the vendor owns the FQDN "fuubar.example.com".</t>
        <t>Vendor proprietary extensions do not need to be registered with IANA, but vendors are encouraged to do so.</t>
        <t>Designated Experts should review the referenced document for clarity of purpose and to facilitate the checks below.
For IETF/IRTF Document Stream registrations, an expert does not review or change the registered values themselves, as these are tied to IETF processes:</t>
        <ul spacing="normal">
          <li>
            <t>There are no choices in the Extension name: it is always the YANG module name.</t>
          </li>
          <li>
            <t>There is no choice in the Extension SID value: it follows from another IANA process (as explained above).</t>
          </li>
        </ul>
        <t>For documents outside the IETF/IRTF Document Streams, the Designated Expert should pay special attention to the stability
of the reference, which may be a concern.
For example, a URL pointing to the website of a standards development organization may change from time to time.
Also, a Designated Expert could suggest a shorter FQDN in case the Extension name string exceeds the character limit.</t>
        <t>The Designated Expert should determine if the work overlaps with an existing IETF WG effort, suggesting to the registrant
how the work could become part of an (IETF) standard.
However, as extension registration is optional, the Designated Expert should not block any vendor registrations if no
consolidated extension is pursued by the registrant.</t>
      </section>
      <section anchor="the-ietf-yang-sid-ranges-registry">
        <name>The IETF YANG-SID Ranges Registry</name>
        <t>IANA is requested to register the following entries in the IETF YANG-SID Ranges registry:</t>
        <table anchor="ietf-yang-sid-ranges-table">
          <name>Registered SID ranges</name>
          <thead>
            <tr>
              <th align="center">Entry Point</th>
              <th align="center">Size</th>
              <th align="left">Module Name</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">2450</td>
              <td align="center">50</td>
              <td align="left">ietf-voucher</td>
              <td align="left">[This-Document]</td>
            </tr>
            <tr>
              <td align="center">2500</td>
              <td align="center">50</td>
              <td align="left">ietf-voucher-request</td>
              <td align="left">[This-Document]</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="the-ietf-yang-sid-modules-registry">
        <name>The IETF YANG-SID Modules Registry</name>
        <t>IANA is requested to register the following YANG module in the IETF YANG-SID Modules registry, per
<xref section="6.5.1" sectionFormat="of" target="CORESID"/>:</t>
        <ul spacing="normal">
          <li>
            <t>YANG module name: <tt>ietf-voucher</tt></t>
          </li>
          <li>
            <t>URI for the ".yang" file: a pointer to the file defined in <xref target="voucher-yang-module"/></t>
          </li>
          <li>
            <t>URI for the ".sid" file: a pointer to the file defined in <xref target="voucher-sid-allocations"/></t>
          </li>
          <li>
            <t>Number of SIDs: 17</t>
          </li>
        </ul>
        <t>and also the following YANG module:</t>
        <ul spacing="normal">
          <li>
            <t>YANG module name: <tt>ietf-voucher-request</tt></t>
          </li>
          <li>
            <t>URI for the ".yang" file: a pointer to the file defined in <xref target="voucher-request-yang-module"/></t>
          </li>
          <li>
            <t>URI for the ".sid" file: a pointer to the file defined in <xref target="voucher-request-sid-allocations"/></t>
          </li>
          <li>
            <t>Number of SIDs: 24</t>
          </li>
        </ul>
      </section>
    </section>
    <section removeInRFC="true" anchor="yang-references">
      <name>YANG references</name>
      <t>RFC-editor, please remove this section.
This section just lists references present in YANG modules which otherwise do not get included in the references, like <xref target="RFC7250"/>.</t>
      <t>Also <xref target="RFC9911"/>, Common YANG Data Types.</t>
      <t>Also <xref target="RFC4086"/>, Randomness Requirements for Security. (Normative reference)</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="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="RFC9890">
          <front>
            <title>An Update to YANG Module Names Registration</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="October" year="2025"/>
            <abstract>
              <t>This document amends the IANA guidance on the uniqueness of YANG module and submodule names.</t>
              <t>The document updates RFC 6020 to clarify how modules and their revisions are handled by IANA.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9890"/>
          <seriesInfo name="DOI" value="10.17487/RFC9890"/>
        </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="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="8" month="June" year="2026"/>
            <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-31"/>
        </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.X680" target="https://www.itu.int/rec/T-REC-X.680/">
          <front>
            <title>Information Technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation</title>
            <author>
              <organization>International Telecommunication Union</organization>
            </author>
            <date year="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T Recommendation X.680," value="ISO/IEC 8824-1"/>
        </reference>
        <reference anchor="ITU-T.X690" 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="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T Recommendation X.690," value="ISO/IEC 8825-1"/>
        </reference>
        <reference anchor="RFC8995">
          <front>
            <title>Bootstrapping Remote Secure Key Infrastructure (BRSKI)</title>
            <author fullname="M. Pritikin" initials="M." surname="Pritikin"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="T. Eckert" initials="T." surname="Eckert"/>
            <author fullname="M. Behringer" initials="M." surname="Behringer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document specifies automated bootstrapping of an Autonomic Control Plane. To do this, a Secure Key Infrastructure is bootstrapped. This is done using manufacturer-installed X.509 certificates, in combination with a manufacturer's authorizing service, both online and offline. We call this process the Bootstrapping Remote Secure Key Infrastructure (BRSKI) protocol. Bootstrapping a new device can occur when using a routable address and a cloud service, only link-local connectivity, or limited/disconnected networks. Support for deployment models with less stringent security requirements is included. Bootstrapping is complete when the cryptographic identity of the new key infrastructure is successfully deployed to the device. The established secure connection can be used to deploy a locally issued certificate to the device as well.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8995"/>
          <seriesInfo name="DOI" value="10.17487/RFC8995"/>
        </reference>
        <reference anchor="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="RFC8994">
          <front>
            <title>An Autonomic Control Plane (ACP)</title>
            <author fullname="T. Eckert" initials="T." role="editor" surname="Eckert"/>
            <author fullname="M. Behringer" initials="M." role="editor" surname="Behringer"/>
            <author fullname="S. Bjarnason" initials="S." surname="Bjarnason"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>Autonomic functions need a control plane to communicate, which depends on some addressing and routing. This Autonomic Control Plane should ideally be self-managing and be as independent as possible of configuration. This document defines such a plane and calls it the "Autonomic Control Plane", with the primary use as a control plane for autonomic functions. It also serves as a "virtual out-of-band channel" for Operations, Administration, and Management (OAM) communications over a network that provides automatically configured, hop-by-hop authenticated and encrypted communications via automatically configured IPv6 even when the network is not configured or is misconfigured.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8994"/>
          <seriesInfo name="DOI" value="10.17487/RFC8994"/>
        </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="I-D.ietf-uta-tls13-iot-profile">
          <front>
            <title>TLS/DTLS 1.3 Profiles for the Internet of Things</title>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of the Bundeswehr Munich</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>NVIDIA</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Daniel Migault" initials="D." surname="Migault">
              <organization>Ericsson</organization>
            </author>
            <date day="3" month="September" year="2026"/>
            <abstract>
              <t>   RFC 7925 offers guidance to developers on using TLS/DTLS 1.2 for
   Internet of Things (IoT) devices with resource constraints.  This
   document is a companion to RFC 7925, defining TLS/DTLS 1.3 profiles
   for IoT devices.  Additionally, it updates RFC 7925 with respect to
   the X.509 certificate profile and ciphersuite requirements.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Source for this draft and an issue tracker can be found at
   https://github.com/thomas-fossati/draft-tls13-iot.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-uta-tls13-iot-profile-25"/>
        </reference>
        <reference anchor="RFC7250">
          <front>
            <title>Using Raw Public Keys in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author fullname="P. Wouters" initials="P." role="editor" surname="Wouters"/>
            <author fullname="H. Tschofenig" initials="H." role="editor" surname="Tschofenig"/>
            <author fullname="J. Gilmore" initials="J." surname="Gilmore"/>
            <author fullname="S. Weiler" initials="S." surname="Weiler"/>
            <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>This document specifies a new certificate type and two TLS extensions for exchanging raw public keys in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS). The new certificate type allows raw public keys to be used for authentication.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7250"/>
          <seriesInfo name="DOI" value="10.17487/RFC7250"/>
        </reference>
        <reference anchor="RFC8032">
          <front>
            <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8032"/>
          <seriesInfo name="DOI" value="10.17487/RFC8032"/>
        </reference>
        <reference anchor="RFC9911">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="J. Schönwälder" initials="J." role="editor" surname="Schönwälder"/>
            <date month="December" year="2025"/>
            <abstract>
              <t>This document defines a collection of common data types to be used with the YANG data modeling language. It includes several new type definitions and obsoletes RFC 6991.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9911"/>
          <seriesInfo name="DOI" value="10.17487/RFC9911"/>
        </reference>
        <reference anchor="RFC4086">
          <front>
            <title>Randomness Requirements for Security</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="J. Schiller" initials="J." surname="Schiller"/>
            <author fullname="S. Crocker" initials="S." surname="Crocker"/>
            <date month="June" year="2005"/>
            <abstract>
              <t>Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities. The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space.</t>
              <t>Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult. This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities. It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="106"/>
          <seriesInfo name="RFC" value="4086"/>
          <seriesInfo name="DOI" value="10.17487/RFC4086"/>
        </reference>
      </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="RFC9846">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="July" year="2026"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document obsoletes RFC 8446, which specified TLS 1.3. This document obsoletes RFC 5246 (specifying TLS 1.2) and RFCs 5077, 6961, 7627, and 8422, all of which pertain to TLS 1.2 or earlier, and updates RFCs 5705 and 6066. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9846"/>
          <seriesInfo name="DOI" value="10.17487/RFC9846"/>
        </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" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7435.xml">
          <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">
          <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="SZTP">
          <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="RFC8792">
          <front>
            <title>Handling Long Lines in Content of Internet-Drafts and RFCs</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="E. Auerswald" initials="E." surname="Auerswald"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>This document defines two strategies for handling long lines in width-bounded text content. One strategy, called the "single backslash" strategy, is based on the historical use of a single backslash ('\') character to indicate where line-folding has occurred, with the continuation occurring with the first character that is not a space character (' ') on the next line. The second strategy, called the "double backslash" strategy, extends the first strategy by adding a second backslash character to identify where the continuation begins and is thereby able to handle cases not supported by the first strategy. Both strategies use a self-describing header enabling automated reconstitution of the original content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8792"/>
          <seriesInfo name="DOI" value="10.17487/RFC8792"/>
        </reference>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="RFC9525">
          <front>
            <title>Service Identity in TLS</title>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="R. Salz" initials="R." surname="Salz"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>Many application technologies enable secure communication between two entities by means of Transport Layer Security (TLS) with Internet Public Key Infrastructure using X.509 (PKIX) certificates. This document specifies procedures for representing and verifying the identity of application services in such interactions.</t>
              <t>This document obsoletes RFC 6125.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9525"/>
          <seriesInfo name="DOI" value="10.17487/RFC9525"/>
        </reference>
        <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="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="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="eid7263" target="https://www.rfc-editor.org/errata/eid7263">
          <front>
            <title>Errata 7263, RFC8995</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC9200">
          <front>
            <title>Authentication and Authorization for Constrained Environments Using the OAuth 2.0 Framework (ACE-OAuth)</title>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This specification defines a framework for authentication and authorization in Internet of Things (IoT) environments called ACE-OAuth. The framework is based on a set of building blocks including OAuth 2.0 and the Constrained Application Protocol (CoAP), thus transforming a well-known and widely used authorization solution into a form suitable for IoT devices. Existing specifications are used where possible, but extensions are added and profiles are defined to better serve the IoT use cases.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9200"/>
          <seriesInfo name="DOI" value="10.17487/RFC9200"/>
        </reference>
        <reference anchor="RFC8520">
          <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="RFC9499" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9499.xml">
          <front>
            <title>DNS Terminology</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
            <date month="March" year="2024"/>
            <abstract>
              <t>The Domain Name System (DNS) is defined in literally dozens of different RFCs. The terminology used by implementers and developers of DNS protocols, and by operators of DNS systems, has changed in the decades since the DNS was first defined. This document gives current definitions for many of the terms used in the DNS in a single document.</t>
              <t>This document updates RFC 2308 by clarifying the definitions of "forwarder" and "QNAME". It obsoletes RFC 8499 by adding multiple terms and clarifications. Comprehensive lists of changed and new definitions can be found in Appendices A and B.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="219"/>
          <seriesInfo name="RFC" value="9499"/>
          <seriesInfo name="DOI" value="10.17487/RFC9499"/>
        </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="6" month="July" year="2026"/>
            <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-08"/>
        </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="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="I-D.richardson-anima-quantum-safe-4ani">
          <front>
            <title>Quantum Safe (PQ) Considerations for Autonomic Network Infrastructure (ANI)</title>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software</organization>
            </author>
            <date day="12" month="August" year="2026"/>
            <abstract>
              <t>   The imminent arrival of a Cryptographically Relevant Quantum Computer
   (CRQC) makes algorithms such as RSA, ECDSA and EdDSA vulnerable to
   attack.  A transition to Quantum-Safe (PQ) algorithms is occurring.

   This document provides specific requirements (Mandatory to Implement)
   for Autonomic Network Infrastructure (ANI/ACP) and AgenticAI
   manufacturers and operators to be able to seamlessly transition to
   Quantum Safe algorithms.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-richardson-anima-quantum-safe-4ani-00"/>
        </reference>
        <reference anchor="RFC9958">
          <front>
            <title>Post-Quantum Cryptography for Engineers</title>
            <author fullname="A. Banerjee" initials="A." surname="Banerjee"/>
            <author fullname="T. Reddy.K" initials="T." surname="Reddy.K"/>
            <author fullname="D. Schoinianakis" initials="D." surname="Schoinianakis"/>
            <author fullname="T. Hollebeek" initials="T." surname="Hollebeek"/>
            <author fullname="M. Ounsworth" initials="M." surname="Ounsworth"/>
            <date month="June" year="2026"/>
            <abstract>
              <t>The advent of a cryptographically relevant quantum computer (CRQC) would render state-of-the-art, traditional public key algorithms deployed today obsolete, as the mathematical assumptions underpinning their security would no longer hold. To address this, protocols and infrastructure must transition to post-quantum algorithms, which are designed to resist both traditional and quantum attacks. This document explains why engineers need to be aware of and understand post-quantum cryptography (PQC), and it details the impact of CRQCs on existing systems and the challenges involved in transitioning to post-quantum algorithms. Unlike previous cryptographic updates, this shift may require significant protocol redesign due to the unique properties of post-quantum algorithms.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9958"/>
          <seriesInfo name="DOI" value="10.17487/RFC9958"/>
        </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="RFC6960">
          <front>
            <title>X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP</title>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="M. Myers" initials="M." surname="Myers"/>
            <author fullname="R. Ankney" initials="R." surname="Ankney"/>
            <author fullname="A. Malpani" initials="A." surname="Malpani"/>
            <author fullname="S. Galperin" initials="S." surname="Galperin"/>
            <author fullname="C. Adams" initials="C." surname="Adams"/>
            <date month="June" year="2013"/>
            <abstract>
              <t>This document specifies a protocol useful in determining the current status of a digital certificate without requiring Certificate Revocation Lists (CRLs). Additional mechanisms addressing PKIX operational requirements are specified in separate documents. This document obsoletes RFCs 2560 and 6277. It also updates RFC 5912.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6960"/>
          <seriesInfo name="DOI" value="10.17487/RFC6960"/>
        </reference>
        <reference anchor="RFC9910">
          <front>
            <title>Registration Data Access Protocol (RDAP) Regional Internet Registry (RIR) Search</title>
            <author fullname="T. Harrison" initials="T." surname="Harrison"/>
            <author fullname="J. Singh" initials="J." surname="Singh"/>
            <date month="January" year="2026"/>
            <abstract>
              <t>The Registration Data Access Protocol (RDAP) is used by Regional Internet Registries (RIRs) and Domain Name Registries (DNRs) to provide access to their resource registration information. The core specifications for RDAP define basic search functionality, but there are various search options related to IP addresses, IP prefixes, and Autonomous System Numbers (ASNs), which are provided by RIRs via their WHOIS services, but for which there is no corresponding RDAP functionality. This document extends RDAP to support those search options.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9910"/>
          <seriesInfo name="DOI" value="10.17487/RFC9910"/>
        </reference>
        <reference anchor="I-D.ietf-anima-masa-considerations">
          <front>
            <title>Operational Considerations for Voucher infrastructure for BRSKI MASA</title>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Thomas Werner" initials="T." surname="Werner">
              <organization>Siemens AG</organization>
            </author>
            <date day="9" month="August" year="2026"/>
            <abstract>
              <t>   This document describes a number of operational modes that a BRSKI
   Manufacturer Authorized Signing Authority (MASA) may take on.

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-masa-considerations-03"/>
        </reference>
        <reference anchor="RFC9997">
          <front>
            <title>YANG-CBOR: Allocating SID Ranges for Private Enterprise Number (PEN) Holders</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="July" year="2026"/>
            <abstract>
              <t>YANG-CBOR (RFC 9254, "Encoding of Data Modeled with YANG in the Concise Binary Object Representation (CBOR)") defines YANG Schema Item iDentifiers (YANG SIDs), globally unique 63-bit unsigned integers used to identify YANG items. RFC 9595 ("YANG Schema Item iDentifier (YANG SID)") defines ways to allocate these SIDs using IANA registries.</t>
              <t>The present specification employs these SID allocation mechanisms to allocate ranges of 100 000 SIDs (representation size 64 bits) to each holder of an IANA Private Enterprise Number (PEN) of a value below 1 000 000. Holders of PENs of values smaller than 100 000 are also allocated ranges of 10 000 SIDs (representation size 32 bits).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9997"/>
          <seriesInfo name="DOI" value="10.17487/RFC9997"/>
        </reference>
      </references>
    </references>
    <?line 1944?>

<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 the MASA certificate that 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 removeInRFC="true" anchor="sid-allocations">
      <name>SID Allocations</name>
      <t>It is temporarily included for review purposes, following the guidelines in <xref section="6.4.3" sectionFormat="of" target="CORESID"/>.</t>
      <section anchor="voucher-sid-allocations">
        <name>SID Allocations for Voucher</name>
        <sourcecode type="yang-sid+json" markers="true" name="ietf-voucher@2025-12-18.sid"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "ietf-sid-file:sid-file": {
    "module-name": "ietf-voucher",
    "module-revision": "2025-12-18",
    "sid-file-version": 5,
    "sid-file-status": "unpublished",
    "dependency-revision": [
      {
        "module-name": "ietf-yang-types",
        "module-revision": "2013-07-15"
      },
      {
        "module-name": "ietf-inet-types",
        "module-revision": "2013-07-15"
      },
      {
        "module-name": "ietf-yang-structure-ext",
        "module-revision": "2020-06-17"
      }
    ],
    "assignment-range": [
      {
        "entry-point": "2450",
        "size": "50"
      }
    ],
    "item": [
      {
        "namespace": "module",
        "identifier": "ietf-voucher",
        "sid": "2450"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher:voucher",
        "sid": "2451"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher:voucher/assertion",
        "sid": "2452"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher:voucher/created-on",
        "sid": "2453"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher:voucher/domain-cert-revocation-\
                                                             checks",
        "sid": "2454"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher:voucher/expires-on",
        "status": "unstable",
        "sid": "2455"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher:voucher/idevid-issuer",
        "sid": "2456"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher:voucher/last-renewal-date",
        "sid": "2457"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher:voucher/nonce",
        "sid": "2458"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher:voucher/pinned-domain-cert",
        "status": "unstable",
        "sid": "2459"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher:voucher/pinned-domain-pubk",
        "status": "unstable",
        "sid": "2460"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher:voucher/pinned-domain-pubk-\
                                                             sha256",
        "status": "unstable",
        "sid": "2461"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher:voucher/serial-number",
        "sid": "2462"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher:voucher/additional-\
                                                  configuration-url",
        "status": "unstable",
        "sid": "2463"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher:voucher/est-domain",
        "status": "unstable",
        "sid": "2464"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher:voucher/manufacturer-\
                                                        proprietary",
        "status": "unstable",
        "sid": "2465"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher:voucher/extensions",
        "status": "unstable",
        "sid": "2466"
      }
    ]
  }
}
]]></sourcecode>
      </section>
      <section anchor="voucher-request-sid-allocations">
        <name>SID Allocations for Voucher Request</name>
        <sourcecode type="yang-sid+json" markers="true" name="ietf-voucher-request@2025-12-18.sid"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "ietf-sid-file:sid-file": {
    "module-name": "ietf-voucher-request",
    "module-revision": "2025-12-18",
    "sid-file-version": 12,
    "sid-file-status": "unpublished",
    "dependency-revision": [
      {
        "module-name": "ietf-yang-structure-ext",
        "module-revision": "2020-06-17"
      },
      {
        "module-name": "ietf-voucher",
        "module-revision": "2025-12-18"
      },
      {
        "module-name": "ietf-yang-structure-ext",
        "module-revision": "2020-06-17"
      },
      {
        "module-name": "ietf-voucher",
        "module-revision": "2025-12-18"
      }
    ],
    "assignment-range": [
      {
        "entry-point": "2500",
        "size": "50"
      }
    ],
    "item": [
      {
        "namespace": "module",
        "identifier": "ietf-voucher-request",
        "sid": "2500"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher",
        "sid": "2501",
        "status": "unstable"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/assertion",
        "sid": "2502"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/created-on",
        "sid": "2503"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/domain-cert-\
                                                  revocation-checks",
        "sid": "2504"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/expires-on",
        "sid": "2505"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/idevid-issuer",
        "sid": "2506"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/last-renewal-\
                                                               date",
        "sid": "2507"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/nonce",
        "sid": "2508"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/pinned-domain-\
                                                               cert",
        "status": "unstable",
        "sid": "2509"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/prior-signed-\
                                                    voucher-request",
        "sid": "2510"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/proximity-\
                                                     registrar-cert",
        "status": "unstable",
        "sid": "2511"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/proximity-\
                                              registrar-pubk-sha256",
        "status": "unstable",
        "sid": "2512"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/proximity-\
                                                     registrar-pubk",
        "sid": "2513"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/serial-number",
        "sid": "2514"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/agent-provided-\
                                           proximity-registrar-cert",
        "status": "unstable",
        "sid": "2515"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/agent-sign-cert\
                                                                   ",
        "sid": "2516"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/agent-signed-\
                                                               data",
        "sid": "2517"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/pinned-domain-\
                                                               pubk",
        "status": "unstable",
        "sid": "2518"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/pinned-domain-\
                                                        pubk-sha256",
        "status": "unstable",
        "sid": "2519"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/additional-\
                                                  configuration-url",
        "status": "unstable",
        "sid": "2520"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/est-domain",
        "status": "unstable",
        "sid": "2521"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/extensions",
        "status": "unstable",
        "sid": "2522"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-voucher-request:voucher/manufacturer-\
                                                        proprietary",
        "status": "unstable",
        "sid": "2523"
      }
    ]
  }
}
]]></sourcecode>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The authors would like to thank the following people for
lively discussions on list and in the halls (ordered
by last name):
<contact fullname="William Atwood"/>,
<contact fullname="Michael H. Behringer"/>,
<contact fullname="Steffen Fries"/>,
<contact fullname="Sheng Jiang"/>,
<contact fullname="Thomas Werner"/>.</t>
      <t>This document received directorate reviews from <contact fullname="Tim Wicinski"/>,
<contact fullname="Thomas Fossati"/>, and <contact fullname="Michal Vaško"/>.
It was shepherded by <contact fullname="Sheng Jiang"/>.</t>
      <t><contact fullname="Max Pritikin"/> and <contact fullname="Kent Watsen"/> were instrumental in creating the original <xref target="RFC8366"/>.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
uxWn6M/g9wMn3fhA/jrwPrU/lY/h7XBrZ3fTNh7SH7/7VUrs1//x73iltvXY
/8d/4gDabWwG85wfbMakyC9v5tNB+JVTlQXUDY4CbEvB16ScxN+sXlrebKS1
YvXzkp08FRP7H9tKv8xZw3Zq87qfLZSEA1sj+Flnl2sEG/GTboa6MOVr8PDI
28sTo5qtMPBAiMAKB5QaRDKxnlf8uLnyqleFrdYorPAfaBP3xRFmqd0z48vk
+qnd5wEZTQkTfumSPmUpjCXgz1qSxgJ1f9LSuEAPjy3R1k4ABM8QrUmajwaf
A3EfWfD8IACpUuottCyuv8XhLzSM6Nr5K/yArlUOtXWA+B34bM/5JFZdFAwQ
r1lFQi5r6sILu7D+rRADOWDq/yK4jWQHxOtRPtvf75It9TCbTrPUKZJERhn/
2Z3NPfJiAG8E2RqDl8gVkuSCNUGGELGKdMK1M8WZsOMB7RABGvrR4BaNkcdS
ZJt4AurwmCfnhURI9Jo+du2RaDWnwZQdNYWULA7QyVF8d0KI/EfHP7J6yfAq
a45nYl3S10yUBGU1sC/VrLFWTWIRTQQUNKKjBsOQKCQnUQn2eTmbl5Xoi8ur
HrZ9IFAYxOJfHH93chYeH4YXlyc/9q6Pwx+Of2ZkitNXg8Pem+PjkxevzsbP
8r03l/Hd5Tz7S3k8ffF9/PLDmx9Gz/qzl72N/bPvskl595f94izrZd8dHv76
3dXpzn7Quz9+lb19c/Tmpnfce3bWfbMT/zY67f0wzeJBPupvnr84HXR7i+NX
f3nRu759ubv3sri+Wrz4WGxe9a/evf4YvPxwdD6/f7F/8/q7dOu6uH77/Xz6
/bMfL+53f9m4vtgZf3//zTc8i+Ozo8Y52ARk2QYvP8jiQK43rMnh8eX1ycuT
Q2hQFuTk5EX+2yF88O6md3/yondzcvzq44e/7P7W++HFzc2v49sP5xdv3hz1
PvSmp1dv7k9ufj76Ef4+elFm0bthFgy3Xu6+/ulyMth+M//lp/G4/9OL4per
3Q/9rc2bN5vH0OTg7PTD8f3Z0cn26fXN4vz69P7d+Obi9MPt7vn18SI4/e34
/vSoB/+9iE5f3H/87kPv5xc3Zz++6L29Pr7u3b9++wb+e9t9/fbnxWv8+7q3
OH15e398//OrH7JfToLfPmzCnv58gn/A70e9N4Mv2p7A3Z9Ht+fZ2S+nLwf3
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

-->

</rfc>
