<?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.6.21 (Ruby 2.6.6) -->
<?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-07" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.16.0 -->
  <front>
    <title abbrev="Voucher Artifact">A Voucher Artifact for Bootstrapping Protocols</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-anima-rfc8366bis-07"/>
    <author initials="K." surname="Watsen" fullname="Kent Watsen">
      <organization>Watsen Networks</organization>
      <address>
        <email>kent+ietf@watsen.net</email>
      </address>
    </author>
    <author initials="M." surname="Richardson" fullname="Michael C. Richardson">
      <organization>Sandelman Software</organization>
      <address>
        <email>mcr+ietf@sandelman.ca</email>
        <uri>http://www.sandelman.ca/</uri>
      </address>
    </author>
    <author initials="M." surname="Pritikin" fullname="Max Pritikin">
      <organization>Cisco Systems</organization>
      <address>
        <email>pritikin@cisco.com</email>
      </address>
    </author>
    <author initials="T." surname="Eckert" fullname="Toerless Eckert">
      <organization abbrev="Huawei">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+ietf@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="2023" month="February" day="07"/>
    <area>Operations</area>
    <workgroup>ANIMA Working Group</workgroup>
    <keyword>voucher</keyword>
    <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 or CBOR document
that has been signed using a variety of cryptographic systems.</t>
      <t>The voucher artifact is normally generated by
the pledge's manufacturer (i.e., the Manufacturer Authorized Signing
Authority (MASA)).</t>
      <t>This document updates RFC8366, merging a number of extensions into the YANG.
The RFC8995 voucher request is also merged into this document.</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>
    <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="RFC8259"/>, and
is signed using (by default) a CMS structure <xref target="RFC5652"/>.</t>
      <t>The primary purpose of a voucher is to securely convey a
certificate, the "pinned-domain-cert" (and constrained variations), that a pledge can
use to authenticate subsequent interactions.
A voucher may be useful in several contexts, but the driving motivation
herein is to support secure onboarding mechanisms.
Assigning ownership is important to device onboarding mechanisms so that the pledge
can authenticate the network that is trying to take control of it.</t>
      <t>The lifetimes of vouchers may vary. In some onboarding protocols,
the vouchers may include a nonce restricting them to a single use,
whereas the vouchers in other onboarding protocols may have an
indicated lifetime.
In order to support long lifetimes, this document recommends using short lifetimes with programmatic renewal, see <xref target="renewal-over-revocation"/>.</t>
      <t>This document only defines the voucher artifact, leaving it to other
documents to describe specialized protocols for accessing it.
Some onboarding protocols using the voucher artifact defined in
this document include: <xref target="ZERO-TOUCH"/>, <xref target="SECUREJOIN"/>, and <xref target="BRSKI"/>.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>This document uses the following terms:</t>
      <dl>
        <dt>Artifact:</dt>
        <dd>
          <t>Used throughout to represent the voucher as instantiated in the form
of a signed structure.</t>
        </dd>
        <dt>Bootstrapping:</dt>
        <dd>
          <t>See 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
discover and join a domain.</t>
        </dd>
        <dt>Imprint:</dt>
        <dd>
          <t>The process where a device obtains the cryptographic key material to
identify and trust future interactions with a network. This term is
taken from Konrad Lorenz's work in biology with new ducklings:
"during a critical period, the duckling would assume that anything
that looks like a mother duck is in fact their mother"
<xref target="Stajano99theresurrecting"/>. An equivalent for a device is to
obtain the fingerprint of the network's root certification authority
certificate. A device that imprints on an attacker suffers a similar
fate to a duckling that imprints on a hungry wolf. Imprinting is a
term from psychology and ethology, as described in <xref target="imprinting"/>.</t>
        </dd>
        <dt>Join Registrar (and Coordinator):</dt>
        <dd>
          <t>A representative of the domain that is configured, perhaps
autonomically, to decide whether a new device is allowed to join the
domain. The administrator of the domain interfaces with a join
registrar (and Coordinator) to control this process.
Typically, a join registrar is "inside" its domain. For simplicity,
this document often refers to this as just "registrar".</t>
        </dd>
        <dt>MASA (Manufacturer Authorized Signing Authority):</dt>
        <dd>
          <t>The entity that, for the purpose of this document, signs the
vouchers for a manufacturer's pledges.
In some onboarding protocols, the MASA may have an Internet
presence and be integral to the onboarding process, whereas in
other protocols the MASA may be an offline service that has no
active role in the onboarding process.</t>
        </dd>
        <dt>Onboarding:</dt>
        <dd>
          <t>In previous documents the term "bootstrapping" has been used to describe mechanisms such as
<xref target="BRSKI"/>.
The industry has however, converged upon the term "onboarding", and this document uses that
term throughout.</t>
        </dd>
        <dt>Owner:</dt>
        <dd>
          <t>The entity that controls the private key of the "pinned-domain-cert"
certificate conveyed by the voucher.</t>
        </dd>
        <dt>Pledge:</dt>
        <dd>
          <t>The prospective device attempting to find and securely join a
domain.
When shipped, it only trusts authorized representatives of the
manufacturer.</t>
        </dd>
        <dt>Registrar:</dt>
        <dd>
          <t>See join registrar.</t>
        </dd>
        <dt>TOFU (Trust on First Use):</dt>
        <dd>
          <t>Where a pledge device makes no security decisions but rather simply
trusts the first domain entity it is contacted by.
Used similarly to <xref target="RFC7435"/>.
This is also known as the "resurrecting duckling" model.</t>
        </dd>
        <dt>Voucher:</dt>
        <dd>
          <t>A signed statement from the MASA service that indicates to a pledge
the cryptographic identity of the domain it should trust.</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>
    </section>
    <section anchor="survey-of-voucher-types">
      <name>Survey of Voucher Types</name>
      <t>A voucher is a cryptographically protected statement to the pledge
device authorizing a zero-touch "imprint" on the join registrar of the
domain. The specific information a voucher provides is influenced by the
onboarding use case.</t>
      <t>The voucher can impart the following information to
the join registrar and pledge:</t>
      <dl>
        <dt>Assertion Basis:</dt>
        <dd>
          <t>Indicates the method that protects
the imprint (this is distinct from the voucher signature that
protects the voucher itself). This might include
manufacturer-asserted ownership verification, assured
logging operations, or reliance on pledge endpoint behavior
such as secure root of trust
of measurement. The join registrar might use this information.
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.
Pinning a symmetric key, a raw key, or "CN-ID" or "DNS-ID"
information (as defined in <xref target="RFC6125"/>) is left for future work.</t>
        </dd>
        <dt>Anti-Replay Protections:</dt>
        <dd>
          <t>Time- or nonce-based
information to constrain the voucher to time periods or bootstrap
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 a Man-in-The-Middle (MiTM) registrar gaining control over
the pledge device. The following combinations are "types" of vouchers:</t>
      <table>
        <thead>
          <tr>
            <th align="left"> </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">Voucher Type</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</td>
            <td align="right">X</td>
            <td align="right"> </td>
            <td align="right">X</td>
            <td align="right"> </td>
            <td align="right"> </td>
            <td align="right">X</td>
          </tr>
          <tr>
            <td align="left">Nonceless Audit</td>
            <td align="right">X</td>
            <td align="right"> </td>
            <td align="right">X</td>
            <td align="right"> </td>
            <td align="right">X</td>
            <td align="right"> </td>
          </tr>
          <tr>
            <td align="left">Owner Audit</td>
            <td align="right">X</td>
            <td align="right">X</td>
            <td align="right">X</td>
            <td align="right"> </td>
            <td align="right">X</td>
            <td align="right">X</td>
          </tr>
          <tr>
            <td align="left">Owner ID</td>
            <td align="right"> </td>
            <td align="right">X</td>
            <td align="right">X</td>
            <td align="right">X</td>
            <td align="right">X</td>
            <td align="right"> </td>
          </tr>
          <tr>
            <td align="left">Bearer out-of-scope</td>
            <td align="right">X</td>
            <td align="right"> </td>
            <td align="right">wildcard</td>
            <td align="right">wildcard</td>
            <td align="right">optional</td>
            <td align="right">opt</td>
          </tr>
        </tbody>
      </table>
      <t>NOTE: All voucher types include a 'pledge ID serial-number'
      (not shown here for space reasons).</t>
      <dl>
        <dt>Audit Voucher:</dt>
        <dd>
          <t>An Audit Voucher is named after the logging assertion mechanisms
that the registrar then "audits" to enforce local policy. The
registrar mitigates a MiTM registrar by auditing that an unknown
MiTM registrar does not appear in the log entries. This does not
directly prevent the MiTM but provides a response mechanism that
ensures the MiTM is unsuccessful. The advantage is that actual
ownership knowledge is not required on the MASA service.</t>
        </dd>
        <dt>Nonceless Audit Voucher:</dt>
        <dd>
          <t>An Audit Voucher without a validity period statement. 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.</t>
        </dd>
        <dt>Ownership Audit Voucher:</dt>
        <dd>
          <t>An Audit Voucher where the MASA service has verified the registrar
as the authorized owner.
The MASA service mitigates a MiTM registrar by refusing to generate
Audit Vouchers for unauthorized registrars. The registrar uses audit
techniques to supplement the MASA. This provides an ideal sharing of
policy decisions and enforcement between the vendor and the owner.</t>
        </dd>
        <dt>Ownership ID Voucher:</dt>
        <dd>
          <t>Named after inclusion of the pledge's CN-ID or DNS-ID within the
voucher. The MASA service mitigates a MiTM registrar by identifying
the specific registrar (via WebPKI) authorized to own the pledge.</t>
        </dd>
        <dt>Bearer Voucher:</dt>
        <dd>
          <t>A Bearer Voucher is named after the inclusion of a registrar ID
wildcard. Because the registrar identity is not indicated, this
voucher type must be treated as a secret and protected from exposure
as any 'bearer' of the voucher can claim the pledge
device. Publishing a nonceless bearer voucher effectively turns the
specified pledge into a "TOFU" device with minimal mitigation
against MiTM registrars. Bearer vouchers are out of scope.</t>
        </dd>
      </dl>
    </section>
    <section anchor="changes-since-rfc8366">
      <name>Changes since RFC8366</name>
      <t><xref target="RFC8366"/> was published in 2018 during the development of <xref target="BRSKI"/>,
<xref target="ZERO-TOUCH"/> and other work-in-progress efforts.
Since then the industry has matured significantly, and the in-the-field activity which this document supports has become known as <em>onboarding</em> rather than <em>bootstrapping</em>.</t>
      <t>The focus of <xref target="BRSKI"/> was onboarding of ISP and Enterprise owned wired routing and switching equipment, with IoT devices being a less important aspect.
<xref target="ZERO-TOUCH"/> has focused upon onboarding of CPE equipment like cable modems and other larger IoT devices, again with smaller IoT devices being of less import.</t>
      <t>Since <xref target="BRSKI"/> was published there is now a mature effort to do application-level onboarding of constrained IoT devices defined by The Thread and Fairhair (now OCF) consortia.
The <xref target="cBRSKI"/> document has defined a version of <xref target="BRSKI"/> that is useable over constrained 802.15.4 networks using CoAP and DTLS, while <xref target="I-D.selander-ace-ake-authz"/> provides for using CoAP and EDHOC on even more constrained devices with very constrained networks.</t>
      <t><xref target="PRM"/> has created a new methodology for onboarding that does not depend upon a synchronous connection between the Pledge and the Registrar.
This mechanism uses a mobile Registrar Agent that works to collect and transfer signed artifacts via physical travel from one network to another.</t>
      <t>Both <xref target="cBRSKI"/> and <xref target="PRM"/> require extensions to the Voucher Request and the resulting Voucher. The new attribtes are required to carry the additional attributes and describe the extended semantics.
In addition <xref target="cBRSKI"/> uses the serialization mechanism described in <xref target="YANGCBOR"/> to produce significantly more compact artifacts.</t>
      <t>When the process to define <xref target="cBRSKI"/> and <xref target="PRM"/> was started, there was a belief that the appropriate process was to use the <xref target="RFC8040"/> <em>augment</em> mechanism to further extend both the voucher request <xref target="BRSKI"/> and voucher <xref target="RFC8366"/> artifacts.
However, <xref target="PRM"/> needs to extend an enumerated type with additional values and <em>augment</em> can not do this, so that was initially the impetus for this document.</t>
      <t>An attempt was then made to determine what would happen if one wanted to have a constrained version of the <xref target="PRM"/> voucher artifact.
The result was invalid YANG, with multiple definitions of the core attributes from the <xref target="RFC8366"/> voucher artifact.
After some discussion, it was determined that the <em>augment</em> mechanism did not work, nor did it work better when <xref target="RFC8040"/> yang-data was replaced with the <xref target="RFC8971"/> structure mechanisms.</t>
      <t>After significant discussion the decision was made to simply roll all of the needed extensions up into this document as "RFC8366bis".</t>
      <t>This document therefore represents a merge of YANG definitions from <xref target="RFC8366"/>, the voucher-request from <xref target="BRSKI"/>, and then extensions to each of these from <xref target="cBRSKI"/>, <xref target="CLOUD"/> and <xref target="PRM"/>.
There are some difficulties with this approach: this document does not attempt to establish rigorous semantic definitions for how some attributes are to be used, referring normatively instead to the other relevant documents.</t>
    </section>
    <section anchor="voucher">
      <name>Voucher Artifact</name>
      <t>The voucher's primary purpose is to securely assign a pledge to an
owner.
The voucher informs the pledge which entity it should consider to be
its owner.</t>
      <t>This document defines a voucher that is a JSON-encoded or CBOR-encoded instance of the
YANG module defined in <xref target="voucher-yang-module"/> that has been, by default, CMS signed.
<xref target="cBRSKI"/> definies how to encode with CBOR and sign the voucher with <xref target="COSE"/>, while <xref target="jBRSKI"/> explains how to use <xref target="JWS"/> to do JSON signatures.</t>
      <t>This 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.
Which type of voucher is expected is signaled (where possible) in the form of a MIME
Content-Type, an HTTP Accept: header, or more mundane methods like use of a filename extension  when a voucher is transferred on a USB key.</t>
      <section anchor="voucher-tree-diagram">
        <name>Tree Diagram</name>
        <t>The following tree diagram illustrates a high-level view of a voucher
document.
The notation used in this diagram is described in <xref target="RFC8340"/>.
Each node in the diagram is fully described by the YANG module in
<xref target="voucher-yang-module"/>.
Please review the YANG module for a detailed description of the
voucher format.</t>
        <artwork><![CDATA[
module: ietf-voucher

  structure voucher:
    +-- voucher
       +-- created-on?                      yang:date-and-time
       +-- expires-on?                      yang:date-and-time
       +-- assertion?                       enumeration
       +-- serial-number                    string
       +-- idevid-issuer?                   binary
       +-- pinned-domain-cert?              binary
       +-- domain-cert-revocation-checks?   boolean
       +-- nonce?                           binary
       +-- pinned-domain-pubk?              binary
       +-- pinned-domain-pubk-sha256?       binary
       +-- last-renewal-date?               yang:date-and-time
       +-- est-domain?                      ietf:uri
       +-- additional-configuration?        ietf:uri
]]></artwork>
      </section>
      <section anchor="voucher-examples">
        <name>Examples</name>
        <t>This section provides voucher examples for illustration
purposes.  These examples conform to the encoding rules
defined in <xref target="RFC8259"/>.</t>
        <t>The following example illustrates an ephemeral voucher (uses a nonce).
The MASA generated this voucher using the 'logged' assertion type, knowing
that it would be suitable for the pledge making the request.</t>
        <artwork><![CDATA[
{
  "ietf-voucher:voucher": {
    "created-on": "2016-10-07T19:31:42Z",
    "assertion": "logged",
    "serial-number": "JADA123456789",
    "idevid-issuer": "base64encodedvalue==",
    "pinned-domain-cert": "base64encodedvalue==",
    "nonce": "base64encodedvalue=="
  }
}
]]></artwork>
        <t>The following example illustrates a non-ephemeral voucher (no nonce).
While the voucher itself expires after two weeks, it presumably can
be renewed for up to a year.   The MASA generated this voucher
using the 'verified' assertion type, which should satisfy all pledges.</t>
        <artwork><![CDATA[
{
  "ietf-voucher:voucher": {
    "created-on": "2016-10-07T19:31:42Z",
    "expires-on": "2016-10-21T19:31:42Z",
    "assertion": "verified",
    "serial-number": "JADA123456789",
    "idevid-issuer": "base64encodedvalue==",
    "pinned-domain-cert": "base64encodedvalue==",
    "domain-cert-revocation-checks": "true",
    "last-renewal-date": "2017-10-07T19:31:42Z"
  }
}
]]></artwork>
      </section>
      <section anchor="voucher-yang-module">
        <name>YANG Module</name>
        <sourcecode type="yang" markers="true"><![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 6991: Common YANG Data Types";
  }
  import ietf-inet-types {
    prefix ietf;
    reference
      "RFC 6991: Common YANG Data Types";
  }
  import ietf-yang-structure-ext {
    prefix sx;
  }

  organization
    "IETF ANIMA Working Group";
  contact
    "WG Web:   <https://datatracker.ietf.org/wg/anima/>
     WG List:  <mailto:anima@ietf.org>
     Author:   Kent Watsen
               <mailto:kwatsen@juniper.net>
     Author:   Max Pritikin
               <mailto:pritikin@cisco.com>
     Author:   Michael Richardson
               <mailto:mcr+ietf@sandelman.ca>
     Author:   Toerless Eckert
               <mailto:tte+ietf@cs.fau.de>";
  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.

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

     Copyright (c) 2023 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 Simplified 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 8366; see the
     RFC itself for full legal notices.";

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

  // Top-level statement
  sx:structure voucher {
    uses voucher-artifact-grouping;
  }

  // Grouping defined for future augmentations

  grouping voucher-artifact-grouping {
    description
      "Grouping to allow reuse/extensions in future work.";
    container voucher {
      description
        "A voucher assigns a pledge to an owner using
         the (pinned-domain-cert) value.";
      leaf created-on {
        type yang:date-and-time;
        mandatory false;
        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 expires-on {
        type yang:date-and-time;
        must 'not(../nonce)';
        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 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.
               This is stronger than just logging, because it
               requires some verification that the pledge and owner
               are in communication but is still dependent on
               analysis of the logs to detect unexpected events.";
          }
          enum agent-proximity {
            value 3;
            description
              "Indicates that the voucher has been issued
               after the MASA has verified a statement that
               a registrar agent has made contact with the device.
               This type of voucher is weaker than straight
               proximity, but stronger than logged.";
          }
        }
      }
      leaf serial-number {
        type string;
        mandatory true;
        description
          "The serial-number of the hardware.  When processing a
           voucher, a pledge MUST ensure that its serial-number
           matches this value.  If no match occurs, then the
           pledge MUST NOT process this voucher.";
      }
      leaf idevid-issuer {
        type binary;
        description
          "The Authority Key Identifier OCTET STRING (as defined in
           Section 4.2.1.1 of RFC 5280) from the pledge's IDevID
           certificate.  Optional since some serial-numbers are
           already unique within the scope of a MASA.
           Inclusion of the statistically unique key identifier
           ensures statistically unique identification of the
           hardware.
           When processing a voucher, a pledge MUST ensure that its
           IDevID Authority Key Identifier matches this value.  If no
           match occurs, then the pledge MUST NOT process this
           voucher.
           When issuing a voucher, the MASA MUST ensure that this
           field is populated for serial-numbers that are not
           otherwise unique within the scope of the MASA.";
      }
      leaf pinned-domain-cert {
        type binary;
        mandatory false;
        description
          "An X.509 v3 certificate structure, as specified by
           RFC 5280, using Distinguished Encoding Rules (DER)
           encoding, as defined in ITU-T X.690.

           This certificate is used by a pledge to trust a Public Key
           Infrastructure in order to verify a domain certificate
           supplied to the pledge separately by the bootstrapping
           protocol.  The domain certificate MUST have this
           certificate somewhere in its chain of certificates.
           This certificate MAY be an end-entity certificate,
           including a self-signed entity.";
        reference
          "RFC 5280:
             Internet X.509 Public Key Infrastructure Certificate
             and Certificate Revocation List (CRL) Profile.
           ITU-T X.690:
              Information technology - ASN.1 encoding rules:
              Specification of Basic Encoding Rules (BER),
              Canonical Encoding Rules (CER) and Distinguished
              Encoding Rules (DER).";
      }
      leaf 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 nonce {
        type binary {
          length "8..32";
        }
        must 'not(../expires-on)';
        description
          "A value that can be used by a pledge in some bootstrapping
           protocols to enable anti-replay protection.  This node is
           optional because it is not used by all bootstrapping
           protocols.

           When present, the pledge MUST compare the provided nonce
           value with another value that the pledge randomly
           generated and sent to a bootstrap server in an earlier
           bootstrapping message.  If the value is present, but
           the values do not match, then the pledge MUST NOT process
           this voucher.";
      }
      leaf pinned-domain-pubk {
        type binary;
        description
          "The pinned-domain-pubk may replace the
             pinned-domain-cert in constrained uses of
             the voucher. The pinned-domain-pubk
             is the Raw Public Key of the Registrar.
             This field is encoded as a Subject Public Key Info block
             as specified in RFC7250, in section 3.
             The ECDSA algorithm MUST be supported.
             The EdDSA algorithm as specified in
             draft-ietf-tls-rfc4492bis-17 SHOULD be supported.
             Support for the DSA algorithm is not recommended.
             Support for the RSA algorithm is a MAY.";
      }
      leaf pinned-domain-pubk-sha256 {
        type binary;
        description
          "The pinned-domain-pubk-sha256 is a second
             alternative to pinned-domain-cert.  In many cases the
             public key of the domain has already been transmitted
             during the key agreement process, and it is wasteful
             to transmit the public key another two times.
             The use of a hash of public key info, at 32-bytes for
             sha256 is a significant savings compared to an RSA
             public key, but is only a minor savings compared to
             a 256-bit ECDSA public-key.
             Algorithm agility is provided by extensions to this
             specification which can define a new leaf for another
             hash type.";
      }
      leaf 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.";
      }
      // from BRSKI-CLOUD
      leaf est-domain {
        type ietf:uri;
        description
          "The est-domain is a URL to 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 {
        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 vendor specific.
             This is intended to do things like configure
             a VoIP phone to point to the correct hosted
             PBX, for example.";
      }
    } // end voucher
  } // end voucher-grouping

}
]]></sourcecode>
      </section>
      <section anchor="ietf-voucher-sid-values">
        <name>ietf-voucher SID values</name>
        <t><xref target="RFC9148"/> explains how to serialize YANG into CBOR, and for this a series of SID values are required.
While <xref target="I-D.ietf-core-sid"/> defines the management process for these values, due to the immaturity  of the tooling around this YANG-SID mechanisms, the following values are considered normative.
It is believed, however, that they will not change.</t>
        <artwork><![CDATA[
           
      SID Assigned to
--------- -------------------------------------------------- 
     2451 data /ietf-voucher:voucher/voucher
     2452 data /ietf-voucher:voucher/voucher/assertion
     2453 data /ietf-voucher:voucher/voucher/created-on
     2454 data .../domain-cert-revocation-checks
     2455 data /ietf-voucher:voucher/voucher/expires-on
     2456 data /ietf-voucher:voucher/voucher/idevid-issuer
     2457 data /ietf-voucher:voucher/voucher/last-renewal-date
     2458 data /ietf-voucher:voucher/voucher/nonce
     2459 data /ietf-voucher:voucher/voucher/pinned-domain-cert
     2460 data /ietf-voucher:voucher/voucher/pinned-domain-pubk
     2461 data .../pinned-domain-pubk-sha256
     2462 data /ietf-voucher:voucher/voucher/serial-number
           
 WARNING, obsolete definitions
]]></artwork>
        <t>The "assertion" attribute is an enumerated type <xref target="RFC8366"/>, and the current PYANG tooling does not document the valid values for this attribute.
In the JSON serialization, the literal strings from the enumerated types are used so there is no ambiguity.
In the CBOR serialization, a small integer is used.
This following values are documented here, but the YANG module should be considered authoritative. No IANA registry is provided or necessary because the YANG module provides for extensions.</t>
        <table anchor="assertion-enums">
          <name>CBOR integers for the "assertion" attribute enum</name>
          <thead>
            <tr>
              <th align="left">Integer</th>
              <th align="left">Assertion Type</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">verified</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">logged</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">proximity</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">agent-proximity</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="cms-voucher">
        <name>CMS Format Voucher Artifact</name>
        <t>The IETF evolution of PKCS#7 is CMS <xref target="RFC5652"/>.
A CMS-signed voucher, the default type, contains a ContentInfo
structure with the voucher content. An eContentType of 40
indicates that the content is a JSON-encoded voucher.</t>
        <t>The signing structure is a CMS SignedData structure, as specified by
Section 5.1 of <xref target="RFC5652"/>, encoded using ASN.1 Distinguished Encoding
Rules (DER), as specified in ITU-T X.690 <xref target="ITU-T.X690.2015"/>.</t>
        <t>To facilitate interoperability, <xref target="vcj"/> in this document registers the
media type "application/voucher-cms+json" and the filename extension
".vcj".</t>
        <t>The CMS structure <bcp14>MUST</bcp14> contain a 'signerInfo' structure, as
described in Section 5.1 of <xref target="RFC5652"/>, containing the
signature generated over the content using a private key
trusted by the recipient. Normally, the recipient is the pledge and the
signer is the MASA. Another possible use could be as a "signed
voucher request" format originating from the pledge or registrar
toward the MASA.
Within this document, the signer is assumed to be the MASA.</t>
        <t>Note that Section 5.1 of <xref target="RFC5652"/> includes a
discussion about how to validate a CMS object, which is really a
PKCS7 object (cmsVersion=1).  Intermediate systems (such the
Bootstrapping Remote Secure Key Infrastructures <xref target="BRSKI"/> registrar)
that might need to evaluate the voucher in flight <bcp14>MUST</bcp14> be prepared for
such an older format.
No signaling is necessary, as the manufacturer knows the capabilities
of the pledge and will use an appropriate format voucher for each
pledge.</t>
        <t>The CMS structure <bcp14>SHOULD</bcp14> also contain all of the certificates
leading up to and including the signer's trust anchor certificate
known to the recipient.  The inclusion of the trust anchor is
unusual in many applications, but third parties cannot accurately
audit the transaction without it.</t>
        <t>The CMS structure <bcp14>MAY</bcp14> also contain revocation objects for any
intermediate certificate authorities (CAs) between the
voucher issuer and the trust anchor known to the recipient.
However, the use of CRLs and other validity mechanisms is
discouraged, as the pledge is unlikely to be able to perform
online checks and is unlikely to have a trusted clock source.
As described below, the use of short-lived vouchers and/or a
pledge-provided nonce provides a freshness guarantee.</t>
      </section>
    </section>
    <section anchor="voucher-request">
      <name>Voucher Request Artifact</name>
      <t><xref section="3" sectionFormat="comma" target="BRSKI"/> defined a Voucher-Request Artifact as an augmented artifact from the Voucher Artifact originally defined in <xref target="RFC8366"/>.
That definition has been moved to this document, and translated from YANG-DATA <xref target="RFC8040"/> to the SX:STRUCTURE extension <xref target="RFC8971"/>.</t>
      <section anchor="voucher-request-tree-diagram">
        <name>Tree Diagram</name>
        <t>The following tree diagram illustrates a high-level view of a voucher
request document.
The notation used in this diagram is described in <xref target="RFC8340"/>.
Each node in the diagram is fully described by the YANG module in
<xref target="voucher-request-yang-module"/>.</t>
        <artwork><![CDATA[
module: ietf-voucher-request

  structure voucher:
    +-- voucher
       +-- created-on?
       |       yang:date-and-time
       +-- expires-on?
       |       yang:date-and-time
       +-- assertion?                                 enumeration
       +-- serial-number                              string
       +-- idevid-issuer?                             binary
       +-- pinned-domain-cert?                        binary
       +-- domain-cert-revocation-checks?             boolean
       +-- nonce?                                     binary
       +-- pinned-domain-pubk?                        binary
       +-- pinned-domain-pubk-sha256?                 binary
       +-- last-renewal-date?
       |       yang:date-and-time
       +-- est-domain?                                ietf:uri
       +-- additional-configuration?                  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 ietf-voucher-request YANG module is derived from the ietf-voucher module.</t>
        <sourcecode type="yang" markers="true"><![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;
  }
  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 8366: Voucher Artifact for
       Bootstrapping Protocols";
  }

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

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

     Copyright (c) 2019 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 Simplified BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (http://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX; see the
     RFC itself for full legal notices.";

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

  // Top-level statement
  sx:structure voucher {
    uses voucher-request-grouping;
  }

  // Grouping defined for future usage

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

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

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

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

             This artifact is signed by the Registrar-Agent
             and contains a copy of the pledge's serial-number.";
        }
        leaf agent-provided-proximity-registrar-cert {
          type binary;
          description
            "An X.509 v3 certificate structure, as specified by
             RFC 5280, Section 4, encoded using the ASN.1
             distinguished encoding rules (DER), as specified
             in ITU X.690.
             The first certificate in the registrar TLS server
             certificate_list sequence (the end-entity TLS
             certificate; see RFC 8446) presented by the
             registrar to the registrar-agent and provided to
             the pledge.
             This MUST be populated in a pledge's voucher-request
             when an agent-proximity assertion is requested.";
          reference
            "ITU X.690: Information Technology - ASN.1 encoding
             rules: Specification of Basic Encoding Rules (BER),
             Canonical Encoding Rules (CER) and Distinguished
             Encoding Rules (DER)
             RFC 5280: Internet X.509 Public Key Infrastructure
             Certificate and Certificate Revocation List (CRL)
             Profile
             RFC 8446: The Transport Layer Security (TLS)
             Protocol Version 1.3";
        }
        leaf agent-sign-cert {
          type binary;
          description
            "An X.509 v3 certificate structure, as specified by
             RFC 5280, Section 4, encoded using the ASN.1
             distinguished encoding rules (DER), as specified
             in ITU X.690.
             This certificate can be used by the pledge,
             the registrar, and the MASA to verify the signature
             of agent-signed-data. It is an optional component
             for the pledge-voucher request.
             This MUST be populated in a registrar's
             voucher-request when an agent-proximity assertion
             is requested.";
          reference
            "ITU X.690: Information Technology - ASN.1 encoding
             rules: Specification of Basic Encoding Rules (BER),
             Canonical Encoding Rules (CER) and Distinguished
             Encoding Rules (DER)
             RFC 5280: Internet X.509 Public Key Infrastructure
             Certificate and Certificate Revocation List (CRL)
             Profile";
        }
      }
    }
  }
}
]]></sourcecode>
      </section>
      <section anchor="voucher-request-sid-values">
        <name>ietf-voucher-request SID values</name>
        <t><xref target="RFC9148"/> explains how to serialize YANG into CBOR, and for this a series of SID values are required.
While <xref target="I-D.ietf-core-sid"/> defines the management process for these values, due to the immaturity  of the tooling around this YANG-SID mechanisms, the following values are considered normative.
It is believed, however, that they will not change.</t>
        <artwork><![CDATA[
           
      SID Assigned to
--------- -------------------------------------------------- 
     2501 data /ietf-voucher-request:voucher/voucher
     2515 data .../agent-provided-proximity-registrar-cert
     2516 data .../agent-sign-cert
     2517 data .../agent-signed-data
     2502 data /ietf-voucher-request:voucher/voucher/assertion
     2503 data /ietf-voucher-request:voucher/voucher/created-on
     2504 data .../domain-cert-revocation-checks
     2505 data /ietf-voucher-request:voucher/voucher/expires-on
     2506 data .../idevid-issuer
     2507 data .../last-renewal-date
     2508 data /ietf-voucher-request:voucher/voucher/nonce
     2509 data .../pinned-domain-cert
     2518 data .../pinned-domain-pubk
     2519 data .../pinned-domain-pubk-sha256
     2510 data .../prior-signed-voucher-request
     2511 data .../proximity-registrar-cert
     2513 data .../proximity-registrar-pubk
     2512 data .../proximity-registrar-pubk-sha256
     2514 data .../serial-number
           
 WARNING, obsolete definitions
]]></artwork>
        <t>The "assertion" attribute is an enumerated type, and has values as defined above in <xref target="assertion-enums"/>.</t>
      </section>
    </section>
    <section anchor="design-con">
      <name>Design Considerations</name>
      <section anchor="renewal-over-revocation">
        <name>Renewals Instead of Revocations</name>
        <t>The lifetimes of vouchers may vary.  In some onboarding protocols,
the vouchers may be created and consumed immediately, whereas in other
onboarding solutions, there may be a significant time delay between
when a voucher is created and when it is consumed.
In cases when there is a time delay, there is a need for the pledge
to ensure that the assertions made when the voucher was created are
still valid.</t>
        <t>A revocation artifact is generally used to verify the continued validity
of an assertion such as a PKIX certificate, web token, or a "voucher".  With
this approach, a potentially long-lived assertion is paired with a reasonably
fresh revocation status check to ensure that the assertion is still valid.
However, this approach increases solution complexity, as it introduces the
need for additional protocols and code paths to distribute and process the
revocations.</t>
        <t>Addressing the shortcomings of revocations, this document recommends
instead the use of lightweight renewals of short-lived non-revocable
vouchers.  That is, rather than issue a long-lived voucher, where the
'expires-on' leaf is set to some distant date, the expectation
is for the MASA to instead issue a short-lived voucher, where the
'expires-on' leaf is set to a relatively near date, along with a promise
(reflected in the 'last-renewal-date' field) to reissue the voucher again
when needed.  Importantly, while issuing the initial voucher may incur
heavyweight verification checks ("Are you who you say you are?" "Does the
pledge actually belong to you?"), reissuing the voucher should be a
lightweight process, as it ostensibly only updates the voucher's
validity period.
With this approach, there is
only the one artifact, and only one code path is needed to process
it; there is no possibility of a pledge choosing to skip the
revocation status check because, for instance, the OCSP Responder is
not reachable.</t>
        <t>While this document recommends issuing short-lived vouchers, the
voucher artifact does not restrict the ability to create long-lived
voucher, if required; however, no revocation method is described.</t>
        <t>Note that a voucher may be signed by a chain of intermediate CAs
leading up to the trust anchor certificate known by the pledge.  Even
though the voucher itself is not revocable, it may still be revoked,
per se, if one of the intermediate CA certificates is revoked.</t>
      </section>
      <section anchor="voucher-per-pledge">
        <name>Voucher Per Pledge</name>
        <t>The solution described herein originally enabled a single voucher to
apply to many pledges, using lists of regular expressions to represent
ranges of serial-numbers.  However, it was determined that blocking the
renewal of a voucher that applied to many devices would be excessive
when only the ownership for a single pledge needed to be blocked.
Thus, the voucher format now only supports a single serial-number
to be listed.</t>
      </section>
    </section>
    <section anchor="sec-con">
      <name>Security Considerations</name>
      <section anchor="clock-sensitivity">
        <name>Clock Sensitivity</name>
        <t>An attacker could use an expired voucher to gain control over
a device that has no understanding of time.  The device cannot
trust NTP as a time reference, as an attacker could control
the NTP stream.</t>
        <t>There are three things to defend against this: 1) devices are
required to verify that the expires-on field has not yet passed,
2) devices without access to time can use nonces to
get ephemeral vouchers, and 3) vouchers without expiration times
may be used, which will appear in the audit log, informing the
security decision.</t>
        <t>This document defines a voucher format that contains time values
for expirations, which require an accurate clock
in order to be processed correctly.  Vendors planning on
issuing vouchers with expiration values must ensure that devices
have an accurate clock when shipped from manufacturing
facilities and take steps to prevent clock tampering.
If it is not possible to ensure clock accuracy, then
vouchers with expirations should not be issued.</t>
      </section>
      <section anchor="protect-voucher-pki-in-hsm">
        <name>Protect Voucher PKI in HSM</name>
        <t>Pursuant the recommendation made in Section 6.1 for the MASA to be
deployed as an online voucher signing service, it is <bcp14>RECOMMENDED</bcp14> that
the MASA's private key used for signing vouchers is protected by
a hardware security module (HSM).</t>
      </section>
      <section anchor="test-domain-certificate-validity-when-signing">
        <name>Test Domain Certificate Validity When Signing</name>
        <t>If a domain certificate is compromised, then any outstanding
vouchers for that domain could be used by the attacker.  The domain
administrator is clearly expected to initiate revocation of any
domain identity certificates (as is normal in PKI solutions).</t>
        <t>Similarly, they are expected to contact the MASA to indicate that
an outstanding (presumably short lifetime) voucher should be blocked from
automated renewal.
Protocols for voucher distribution are
<bcp14>RECOMMENDED</bcp14> to check for revocation of domain identity certificates
before the signing of vouchers.</t>
      </section>
      <section anchor="yang-module-security-considerations">
        <name>YANG Module Security Considerations</name>
        <t>The YANG module specified in this document defines the schema
for data that is subsequently encapsulated by a CMS signed-data
content type, as described in Section 5 of <xref target="RFC5652"/>.  As such,
all of the YANG modeled data is protected from modification.</t>
        <t>Implementations should be aware that the signed data is only
protected from external modification; the data is still visible.
This potential disclosure of information doesn't affect security
so much as privacy.  In particular, adversaries can glean
information such as which devices belong to which organizations
and which CRL Distribution Point and/or OCSP Responder URLs are
accessed to validate the vouchers.  When privacy is important,
the CMS signed-data content type <bcp14>SHOULD</bcp14> be encrypted, either by
conveying it via a mutually authenticated secure transport protocol
(e.g., TLS <xref target="RFC5246"/>) or by encapsulating the signed-data
content type with an enveloped-data content type (Section 6
of <xref target="RFC5652"/>), though details for how to do this are outside
the scope of this document.</t>
        <t>The use of YANG to define data structures, via the 'yang-data'
statement, is relatively new and distinct from the traditional use of
YANG to define an API accessed by network management protocols such as
NETCONF <xref target="RFC6241"/> and RESTCONF <xref target="RFC8040"/>. For this reason, these
guidelines do not follow template described by Section 3.7 of
<xref target="YANG-GUIDE"/>.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="the-ietf-xml-registry">
        <name>The IETF XML Registry</name>
        <t>This document registers two URIs in the "IETF XML Registry" <xref target="RFC3688"/>.</t>
        <t>IANA has registered the following:</t>
        <ul empty="true">
          <li>
            <dl spacing="compact">
              <dt>URI:</dt>
              <dd>
                <t>urn:ietf:params:xml:ns:yang:ietf-voucher</t>
              </dd>
              <dt>Registrant Contact:</dt>
              <dd>
                <t>The ANIMA WG of the IETF.</t>
              </dd>
              <dt>XML:</dt>
              <dd>
                <t>N/A, the requested URI is an XML namespace.</t>
              </dd>
            </dl>
          </li>
        </ul>
      </section>
      <section anchor="the-yang-module-names-registry">
        <name>The YANG Module Names Registry</name>
        <t>This document registers two YANG module in the "YANG Module Names"
registry <xref target="RFC6020"/>.</t>
        <t>IANA is asked to registrar the following:</t>
        <ul empty="true">
          <li>
            <dl spacing="compact">
              <dt>name:</dt>
              <dd>
                <t>ietf-voucher</t>
              </dd>
              <dt>namespace:</dt>
              <dd>
                <t>urn:ietf:params:xml:ns:yang:ietf-voucher</t>
              </dd>
              <dt>prefix:</dt>
              <dd>
                <t>vch</t>
              </dd>
            </dl>
            <t>reference:
  :RFC 8366</t>
          </li>
        </ul>
        <t>IANA is asked to register a second YANG module as follows:</t>
        <ul empty="true">
          <li>
            <dl spacing="compact">
              <dt>name:</dt>
              <dd>
                <t>iana-voucher-assertion-type</t>
              </dd>
              <dt>namespace:</dt>
              <dd>
                <t>urn:ietf:params:xml:ns:yang:iana-voucher-assertion-type</t>
              </dd>
              <dt>prefix:</dt>
              <dd>
                <t>ianavat</t>
              </dd>
              <dt>reference:</dt>
              <dd>
                <t>RFC XXXX</t>
              </dd>
            </dl>
          </li>
        </ul>
      </section>
      <section anchor="vcj">
        <name>The Media Types Registry</name>
        <t>This document requests IANA to update the following "Media Types" entry to point to the RFC number that will be assigned to this document:</t>
        <dl>
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>voucher-cms+json</t>
          </dd>
          <dt>Required parameters:</dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>Optional parameters:</dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>CMS-signed JSON vouchers are ASN.1/DER encoded.</t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t>See <xref target="sec-con"/></t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>The format is designed to be broadly interoperable.</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t>RFC 8366</t>
          </dd>
          <dt>Applications that use this media type:</dt>
          <dd>
            <t>ANIMA, 6tisch, and NETCONF zero-touch imprinting systems.</t>
          </dd>
          <dt>Fragment identifier considerations:</dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>Additional information:</dt>
          <dd>
            <dl>
              <dt>Deprecated alias names for this type:</dt>
              <dd>
                <t>none</t>
              </dd>
              <dt>Magic number(s):</dt>
              <dd>
                <t>None</t>
              </dd>
              <dt>File extension(s):</dt>
              <dd>
                <t>.vcj</t>
              </dd>
              <dt>Macintosh file type code(s):</dt>
              <dd>
                <t>none</t>
              </dd>
            </dl>
          </dd>
          <dt>Person and email address to contact for further information:</dt>
          <dd>
            <t>IETF ANIMA WG</t>
          </dd>
          <dt>Intended usage:</dt>
          <dd>
            <t>LIMITED</t>
          </dd>
          <dt>Restrictions on usage:</dt>
          <dd>
            <t>NONE</t>
          </dd>
          <dt>Author:</dt>
          <dd>
            <t>ANIMA WG</t>
          </dd>
          <dt>Change controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Provisional registration? (standards tree only):</dt>
          <dd>
            <t>NO</t>
          </dd>
        </dl>
      </section>
      <section anchor="the-smi-security-for-smime-cms-content-type-registry">
        <name>The SMI Security for S/MIME CMS Content Type Registry</name>
        <t>This document requests IANA to update this  registered OID in the "SMI Security for S/MIME CMS Content Type (1.2.840.113549.1.9.16.1)" registry to point to the RFC number to be assigned to this document:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Decimal</th>
              <th align="left">Description</th>
              <th align="left">References</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">40</td>
              <td align="left">id-ct-animaJSONVoucher</td>
              <td align="left">RFC 8366</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC5652">
          <front>
            <title>Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray">
              <organization/>
            </author>
            <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="RFC7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund">
              <organization/>
            </author>
            <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="I-D.ietf-core-sid">
          <front>
            <title>YANG Schema Item iDentifier (YANG SID)</title>
            <author fullname="Michel Veillette" initials="M." surname="Veillette">
              <organization>Trilliant Networks Inc.</organization>
            </author>
            <author fullname="Alexander Pelov" initials="A." surname="Pelov">
              <organization>Acklio</organization>
            </author>
            <author fullname="Ivaylo Petrov" initials="I." surname="Petrov">
              <organization>Google Switzerland GmbH</organization>
            </author>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="26" month="July" year="2022"/>
            <abstract>
              <t>   YANG Schema Item iDentifiers (YANG SID) are globally unique 63-bit
   unsigned integers used to identify YANG items, as a more compact
   method to identify YANG items that can be used for efficiency and in
   constrained environments (RFC 7228).  This document defines the
   semantics, the registration, and assignment processes of 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.


   // The present version (-19) adds in draft text about objectives,
   // parties, and roles.  This attempts to record discussions at side
   // meetings before, at, and after IETF 113.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-sid-19"/>
        </reference>
        <reference anchor="RFC9148">
          <front>
            <title>EST-coaps: Enrollment over Secure Transport with the Secure Constrained Application Protocol</title>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok">
              <organization/>
            </author>
            <author fullname="P. Kampanakis" initials="P." surname="Kampanakis">
              <organization/>
            </author>
            <author fullname="M. Richardson" initials="M." surname="Richardson">
              <organization/>
            </author>
            <author fullname="S. Raza" initials="S." surname="Raza">
              <organization/>
            </author>
            <date month="April" year="2022"/>
            <abstract>
              <t>Enrollment over Secure Transport (EST) is used as a certificate provisioning protocol over HTTPS. Low-resource devices often use the lightweight Constrained Application Protocol (CoAP) for message exchanges. This document defines how to transport EST payloads over secure CoAP (EST-coaps), which allows constrained devices to use existing EST functionality for provisioning certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9148"/>
          <seriesInfo name="DOI" value="10.17487/RFC9148"/>
        </reference>
        <reference anchor="cBRSKI">
          <front>
            <title>Constrained Bootstrapping Remote Secure Key Infrastructure (BRSKI)</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="2" month="January" year="2023"/>
            <abstract>
              <t>   This document defines the Constrained Bootstrapping Remote Secure Key
   Infrastructure (Constrained BRSKI) protocol, which provides a
   solution for secure zero-touch bootstrapping 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.  Constrained BRSKI
   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 is typically encoded in JSON, Constrained BRSKI defines
   a compact CBOR-encoded voucher.  The BRSKI voucher 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 CoAPS.  This
   document Updates RFC 8366 and RFC 8995.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-constrained-voucher-19"/>
        </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="24" month="October" year="2022"/>
            <abstract>
              <t>   [RFC8366] defines a digital artifact called voucher as a YANG-defined
   JSON document that has been signed using a Cryptographic Message
   Syntax (CMS) structure.  This memo introduces a variant of the
   voucher structure in which CMS is replaced by the JSON Object Signing
   and Encryption (JOSE) mechanism described in [RFC7515] to support
   deployments in which JOSE is preferred over CMS.

   In addition to explaining how the format is created, MIME types are
   registered and examples are provided.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-jws-voucher-05"/>
        </reference>
        <reference anchor="ITU-T.X690.2015" target="https://www.itu.int/rec/T-REC-X.690/">
          <front>
            <title>Information Technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <author>
              <organization>International Telecommunication Union</organization>
            </author>
            <date year="2015" month="August"/>
          </front>
          <seriesInfo name="ITU-T Recommendation X.690," value="ISO/IEC 8825-1"/>
        </reference>
        <reference anchor="ZERO-TOUCH">
          <front>
            <title>Secure Zero Touch Provisioning (SZTP)</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen">
              <organization/>
            </author>
            <author fullname="I. Farrer" initials="I." surname="Farrer">
              <organization/>
            </author>
            <author fullname="M. Abrahamsson" initials="M." surname="Abrahamsson">
              <organization/>
            </author>
            <date month="April" year="2019"/>
            <abstract>
              <t>This document presents a technique to securely provision a networking device when it is booting in a factory-default state.  Variations in the solution enable it to be used on both public and private networks.  The provisioning steps are able to update the boot image, commit an initial configuration, and execute arbitrary scripts to address auxiliary needs.  The updated device is subsequently able to establish secure connections with other systems.  For instance, a device may establish NETCONF (RFC 6241) and/or RESTCONF (RFC 8040) connections with deployment-specific network management systems.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8572"/>
          <seriesInfo name="DOI" value="10.17487/RFC8572"/>
        </reference>
        <reference anchor="BRSKI">
          <front>
            <title>Bootstrapping Remote Secure Key Infrastructure (BRSKI)</title>
            <author fullname="M. Pritikin" initials="M." surname="Pritikin">
              <organization/>
            </author>
            <author fullname="M. Richardson" initials="M." surname="Richardson">
              <organization/>
            </author>
            <author fullname="T. Eckert" initials="T." surname="Eckert">
              <organization/>
            </author>
            <author fullname="M. Behringer" initials="M." surname="Behringer">
              <organization/>
            </author>
            <author fullname="K. Watsen" initials="K." surname="Watsen">
              <organization/>
            </author>
            <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="11" month="January" year="2023"/>
            <abstract>
              <t>   This document defines enhancements to bootstrapping a remote secure
   key infrastructure (BRSKI, RFC8995) to facilitate bootstrapping in
   domains featuring no or only time limited connectivity between a
   pledge and the domain registrar.  It specifically targets situations
   in which the interaction model changes from a pledge-initiated-mode,
   as used in BRSKI, to a pledge-responding-mode as described in this
   document.  To support the pledge-responding mode, BRSKI-PRM
   introduces a new component, the registrar-agent, which facilitates
   the communication between pledge and registrar during the
   bootstrapping phase.  To establish the trust relation between pledge
   and domain registrar, BRSKI-PRM relies on object security rather than
   transport security.

   The approach defined here is agnostic with respect to the underlying
   enrollment protocol which connects the pledge and the domain
   registrar to the Domain CA.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-brski-prm-06"/>
        </reference>
        <reference anchor="CLOUD">
          <front>
            <title>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>Auth0</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="13" month="November" year="2022"/>
            <abstract>
              <t>   This document specifies the behavior of a BRSKI Cloud Registrar, and
   how a pledge can interact with a BRSKI Cloud Registrar when
   bootstrapping.

   RFCED REMOVE: It is being actively worked on at https://github.com/
   anima-wg/brski-cloud

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-brski-cloud-05"/>
        </reference>
        <reference anchor="RFC8971">
          <front>
            <title>Bidirectional Forwarding Detection (BFD) for Virtual eXtensible Local Area Network (VXLAN)</title>
            <author fullname="S. Pallagatti" initials="S." role="editor" surname="Pallagatti">
              <organization/>
            </author>
            <author fullname="G. Mirsky" initials="G." role="editor" surname="Mirsky">
              <organization/>
            </author>
            <author fullname="S. Paragiri" initials="S." surname="Paragiri">
              <organization/>
            </author>
            <author fullname="V. Govindan" initials="V." surname="Govindan">
              <organization/>
            </author>
            <author fullname="M. Mudigonda" initials="M." surname="Mudigonda">
              <organization/>
            </author>
            <date month="December" year="2020"/>
            <abstract>
              <t>This document describes the use of the Bidirectional Forwarding Detection (BFD) protocol in point-to-point Virtual eXtensible Local Area Network (VXLAN) tunnels used to form an overlay network.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8971"/>
          <seriesInfo name="DOI" value="10.17487/RFC8971"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC5246">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.2</title>
            <author fullname="T. Dierks" initials="T." surname="Dierks">
              <organization/>
            </author>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla">
              <organization/>
            </author>
            <date month="August" year="2008"/>
            <abstract>
              <t>This document specifies Version 1.2 of the Transport Layer Security (TLS) protocol.  The TLS protocol provides communications security over the Internet.  The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5246"/>
          <seriesInfo name="DOI" value="10.17487/RFC5246"/>
        </reference>
        <reference anchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling">
              <organization/>
            </author>
            <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="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed">
              <organization/>
            </author>
            <author fullname="J. Klensin" initials="J." surname="Klensin">
              <organization/>
            </author>
            <author fullname="T. Hansen" initials="T." surname="Hansen">
              <organization/>
            </author>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols.  This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
        <reference anchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns">
              <organization/>
            </author>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund">
              <organization/>
            </author>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder">
              <organization/>
            </author>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman">
              <organization/>
            </author>
            <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="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman">
              <organization/>
            </author>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund">
              <organization/>
            </author>
            <author fullname="K. Watsen" initials="K." surname="Watsen">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger">
              <organization/>
            </author>
            <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="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">
              <organization/>
            </author>
            <author fullname="J. Hodges" initials="J." surname="Hodges">
              <organization/>
            </author>
            <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="RFC7435">
          <front>
            <title>Opportunistic Security: Some Protection Most of the Time</title>
            <author fullname="V. Dukhovni" initials="V." surname="Dukhovni">
              <organization/>
            </author>
            <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="RFC8366">
          <front>
            <title>A Voucher Artifact for Bootstrapping Protocols</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen">
              <organization/>
            </author>
            <author fullname="M. Richardson" initials="M." surname="Richardson">
              <organization/>
            </author>
            <author fullname="M. Pritikin" initials="M." surname="Pritikin">
              <organization/>
            </author>
            <author fullname="T. Eckert" initials="T." surname="Eckert">
              <organization/>
            </author>
            <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>
        <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>
        <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">
              <organization/>
            </author>
            <author fullname="J. Bradley" initials="J." surname="Bradley">
              <organization/>
            </author>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura">
              <organization/>
            </author>
            <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="YANGCBOR">
          <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">
              <organization/>
            </author>
            <author fullname="I. Petrov" initials="I." role="editor" surname="Petrov">
              <organization/>
            </author>
            <author fullname="A. Pelov" initials="A." surname="Pelov">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="M. Richardson" initials="M." surname="Richardson">
              <organization/>
            </author>
            <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>
        <reference anchor="SECUREJOIN">
          <front>
            <title>6tisch Secure Join protocol</title>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="25" month="February" year="2017"/>
            <abstract>
              <t>   This document describes a zero-touch mechanism to enroll a new device
   (the "pledge") into a IEEE802.15.4 TSCH network using the 6tisch
   signaling mechanisms.  The resulting device will obtain a domain
   specific credential that can be used with either 802.15.9 per-host
   pair keying protocols, or to obtain the network-wide key from a
   coordinator.  The mechanism describe her is an augmentation to the
   one-touch mechanism described in [I-D.ietf-6tisch-minimal-security].

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-6tisch-dtsecurity-secure-join-01"/>
        </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">
              <organization/>
            </author>
            <date month="October" year="2018"/>
            <abstract>
              <t>This memo provides guidelines for authors and reviewers of specifications containing YANG modules.  Recommendations and procedures are defined, which are intended to increase interoperability and usability of Network Configuration Protocol (NETCONF) and RESTCONF protocol implementations that utilize YANG modules.  This document obsoletes RFC 6087.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="216"/>
          <seriesInfo name="RFC" value="8407"/>
          <seriesInfo name="DOI" value="10.17487/RFC8407"/>
        </reference>
        <reference anchor="Stajano99theresurrecting" target="https://www.cl.cam.ac.uk/research/dtg/www/files/publications/public/files/tr.1999.2.pdf">
          <front>
            <title>The Resurrecting Duckling: Security Issues for Ad-Hoc Wireless Networks</title>
            <author initials="F." surname="Stajano" fullname="Frank Stajano">
              <organization/>
            </author>
            <author initials="R." surname="Anderson" fullname="Ross Anderson">
              <organization/>
            </author>
            <date year="1999"/>
          </front>
        </reference>
        <reference anchor="imprinting" target="https://en.wikipedia.org/w/index.php?title=Imprinting_(psychology)&amp;oldid=825757556">
          <front>
            <title>Wikipedia article: Imprinting</title>
            <author>
              <organization>Wikipedia</organization>
            </author>
            <date year="2018" month="February"/>
          </front>
        </reference>
        <reference anchor="I-D.selander-ace-ake-authz">
          <front>
            <title>Lightweight Authorization for Authenticated Key Exchange.</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="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Aurelio Schellenbaum" initials="A." surname="Schellenbaum">
              <organization>Institute of Embedded Systems, ZHAW</organization>
            </author>
            <date day="18" month="April" year="2022"/>
            <abstract>
              <t>   This document describes a procedure for augmenting the lightweight
   authenticated Diffie-Hellman key exchange protocol EDHOC with third
   party assisted authorization, targeting constrained IoT deployments
   (RFC 7228).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-selander-ace-ake-authz-05"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The authors would like to thank for following for
lively discussions on list and in the halls (ordered
by last name): William Atwood, Toerless Eckert, and Sheng Jiang.</t>
      <t>Russ Housley provided the upgrade from PKCS7 to CMS (RFC 5652) along
with the detailed CMS structure diagram.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
