<?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.18 (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-03" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.3 -->
  <front>
    <title abbrev="Voucher Artifact">A Voucher Artifact for Bootstrapping Protocols</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-anima-rfc8366bis-03"/>
    <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="January" day="11"/>
    <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 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>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
  Autonomic Networking Integrated Model and Approach Working Group mailing list (anima@ietf.org),
  which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/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"/>, 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", 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 bootstrapping mechanisms.  Assigning
ownership is important to bootstrapping 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 bootstrapping protocols,
the vouchers may include a nonce restricting them to a single use,
whereas the vouchers in other bootstrapping 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 bootstrapping 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>Domain:</dt>
        <dd>
          <t>The set of entities or infrastructure under common administrative
control.
The goal of the bootstrapping 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 bootstrapping protocols, the MASA may have an Internet
presence and be integral to the bootstrapping process, whereas in
other protocols the MASA may be an offline service that has no
active role in the bootstrapping process.</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
bootstrapping 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 bootstrapping 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>
      <artwork><![CDATA[
             |Assertion   |Registrar ID    | Validity    |
Voucher      |Log-|Veri-  |Trust  |CN-ID or| RTC | Nonce |
Type         | ged|  fied |Anchor |DNS-ID  |     |       |
---------------------------------------------------------|
Audit        |  X |       | X     |        |     | X     |
-------------|----|-------|-------|--------|-----|-------|
Nonceless    |  X |       | X     |        | X   |       |
Audit        |    |       |       |        |     |       |
-------------|----|-------|-------|--------|-----|-------|
Owner Audit  |  X |   X   | X     |        | X   | X     |
-------------|----|-------|-------|--------|-----|-------|
Owner ID     |    |   X   | X     |  X     | X   |       |
-------------|----|-------|----------------|-----|-------|
Bearer       |  X |       |   wildcard     | optional    |
out-of-scope |    |       |                |             |
-------------|----|-------|----------------|-------------|

NOTE: All voucher types include a 'pledge ID serial-number'
      (not shown here for space reasons).
(XXX - translate me to markdown table)
]]></artwork>
      <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="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 instance of the
YANG module defined in <xref target="voucher-yang-module"/> that has been, by
default, CMS signed.</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>Future work is expected to define new mappings of the voucher to
Concise Binary Object Representation (CBOR) (from JSON) and to change
the signature container from CMS to JSON Object Signing and Encryption
(JOSE) or CBOR Object Signing and Encryption (COSE).
XML or ASN.1 formats are also conceivable.</t>
      <t>This document defines a media type and a filename extension for the
CMS-encoded JSON type.  Future documents on additional formats
would define additional media types.  Signaling is 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-artifact:
    +-- 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
]]></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[
=============== NOTE: '\' line wrapping per RFC 8792 ================

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

  import ietf-yang-types {
    prefix yang;
    reference
      "RFC 6991: Common YANG Data Types";
  }
  import ietf-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) 2018 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-artifact {
    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 (pinned-domain-cert)\
                                                                  .";
      leaf created-on {
        type yang:date-and-time;
        mandatory false;
        must 'not(../created-on-integer)';
        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.";
          }
        }
      }
      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 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.";
      }
    } // 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-constrained:voucher
     2452 data /ietf-voucher-constrained:voucher/assertion
     2453 data /ietf-voucher-constrained:voucher/created-on
     2454 data .../domain-cert-revocation-checks
     2455 data /ietf-voucher-constrained:voucher/expires-on
     2456 data /ietf-voucher-constrained:voucher/idevid-issuer
     2457 data .../last-renewal-date
     2458 data /ietf-voucher-constrained:voucher/nonce
     2459 data .../pinned-domain-cert
     2460 data .../pinned-domain-pubk
     2461 data .../pinned-domain-pubk-sha256
     2462 data /ietf-voucher-constrained: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>
          </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

  grouping voucher-request-grouping:
    +-- voucher
       +-- created-on?                      yang:date-and-time
       +-- expires-on?                      yang:date-and-time
       +-- assertion?                       ianavat:voucher-assertion
       +-- serial-number                    string
       +-- idevid-issuer?                   binary
       +-- pinned-domain-cert?              binary
       +-- domain-cert-revocation-checks?   boolean
       +-- nonce?                           binary
       +-- last-renewal-date?               yang:date-and-time
       +-- prior-signed-voucher-request?    binary
       +-- proximity-registrar-cert?        binary
]]></artwork>
      </section>
      <section anchor="voucher-request-yang-module">
        <name>"ietf-voucher-request" Module</name>
        <t>The ietf-voucher-request YANG module is derived from the ietf-voucher module.</t>
        <sourcecode type="yang" markers="true"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

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

  import ietf-yang-structure-ext {
    prefix sx;
  }
  import ietf-voucher {
    prefix vch;
    description
      "This module defines the format for a voucher,
       which is produced by a pledge's manufacturer or
       delegate (MASA) to securely assign a pledge to
       an 'owner', so that the pledge may establish a secure
       connection to the owner's network infrastructure";
    reference
      "RFC 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-artifact {
    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.";
        }
      }
    }
  }
}
]]></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-constrained:voucher
     2502 data .../assertion
     2503 data .../created-on
     2504 data .../domain-cert-revocation-checks
     2505 data .../expires-on
     2506 data .../idevid-issuer
     2507 data .../last-renewal-date
     2508 data /ietf-voucher-request-constrained:voucher/nonce
     2509 data .../pinned-domain-cert
     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 bootstrapping protocols,
the vouchers may be created and consumed immediately, whereas in other
bootstrapping 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>
      <t>This section deals with actions and processes necessary for IANA to undertake to maintain
the "iana-voucher-assertion-type" YANG module.
The iana-voucher-assertion-type YANG module is intended to reflect the "voucher assertion types" registry in [TBD].</t>
      <t>IANA is asked to create the "iana-voucher-assertion-type YANG module" registry.</t>
      <t>Voucher assertion types must not be directly added to the iana-voucher-type YANG module.
They must instead be added to the "voucher assertion types" registry.</t>
      <t>Whenever a new enumerated type is added to the "voucher assertion types" registry, IANA
must also update the "ietf-voucher-assertion-type" YANG module and add a new "enum"
statement to the "voucher-assertion-type" type.
The assigned name defined by the "enum" statement <bcp14>SHALL</bcp14> be the same as the mnemonic name of the new assertion type.
The following substatements to the "enum" statement <bcp14>SHALL</bcp14> be defined:</t>
      <ul empty="true">
        <li>
          <dl>
            <dt>"value":</dt>
            <dd>
              <t>Use the decimal value from the registry.</t>
            </dd>
            <dt>"status":</dt>
            <dd>
              <t>Include only if a class or type registration has been deprecated or obsoleted.
IANA "deprecated" maps to YANG status "deprecated", and IANA "obsolete" maps to YANG status   "obsolete".</t>
            </dd>
            <dt>"description":</dt>
            <dd>
              <t>Replicate the corresponding information from the registry, namely the full name of the new assertion type.</t>
            </dd>
            <dt>"reference":</dt>
            <dd>
              <t>Replicate the reference(s) from the registry.</t>
            </dd>
          </dl>
        </li>
      </ul>
      <t>Each time the "iana-voucher-assertion-type" YANG module is updated, a new "revision" statement <bcp14>SHALL</bcp14> be added before the existing "revision" statements.
IANA has added this note to the "voucher assertion types" registries:</t>
      <t>When this registry is modified, the YANG module "iana-voucher-assertion-type" must
be updated as defined in [RFCXXXX].
The "Reference" text in the "voucher assertion types" registry has been updated
as follows:
OLD:
| <xref target="RFC8366"/>
NEW:
| [RFC8366][RFCXXX]</t>
      <section anchor="the-ietf-xml-registry">
        <name>The IETF XML Registry</name>
        <t>This document registers two URIs in the "IETF XML Registry" <xref target="RFC3688"/>.</t>
        <t>IANA has registered the following:</t>
        <ul empty="true">
          <li>
            <dl spacing="compact">
              <dt>URI:</dt>
              <dd>
                <t>urn:ietf:params:xml:ns:yang:ietf-voucher</t>
              </dd>
              <dt>Registrant Contact:</dt>
              <dd>
                <t>The ANIMA WG of the IETF.</t>
              </dd>
              <dt>XML:</dt>
              <dd>
                <t>N/A, the requested URI is an XML namespace.</t>
              </dd>
            </dl>
          </li>
        </ul>
        <t>IANA is asked to register a second URI as follows:</t>
        <ul empty="true">
          <li>
            <dl spacing="compact">
              <dt>URI:</dt>
              <dd>
                <t>urn:ietf:params:xml:ns:yang:iana-voucher-assertion-type</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="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="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="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="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="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="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>
      </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:
H4sIACYtv2MAA+197VIcR5bo/3qKvO2IC9zpbgECJPB6bAzIZiyBFpAl7+zE
RnVVNl2muqqnqhqEJW7Mg9yN2GfZR5knuecrv6qrAVmend2NbceMmurKr5Mn
z/c5ORgMorRMiniq91RaxeNmkOlmPIiLbBoPqnHy/OnOziirB+tPo7qJi/Rf
4rws4N2mmusom1X0rW4219d31zejJG72VN2kUVIWtS7qeb2nVm51vRLNsr1I
qaZMzAOl6ttppce196CsmvBJUk5ncdJ4r8xH7llR4qM8K66mcZY3pX2k06zJ
ikv7NzSZ6qLxOs4KaKbd37BSndbNbW6fNVmDf+yrH8t5MtGV2q+abAwDq3FZ
qW/LsqmbKp7NYBz1uiphZWVeR/FoVOnrvYVGUVzpeE+dznQVNxkAJ7qB6e2f
HL/aV2/L6gp7+a4q57Po6mZPXXPrKJ43k7LaiwYwX5j8D0P1Nm4ArjBh3rEf
YFXuWVlBn/yXOtHNDfRbIzQQOnvqCt79HW7uNzf0yrDQjen51VCdZckkrtK6
dL2/wkc6VwetX2mcc0AGnU/jQp2X4+YG1ueGmiYVj1Sbl4ZJDD/Pq2xPTZpm
tvfkyc3NzdD/+Yk3l9cV7B/AxM0kfu8/pAkcZHVSqvPbutFTb5kzee2bBH8f
wtabji+G6ii50lVju70odZXrunbPqecX82Ze6RudqQudTIoyLy8zXavjIhnC
K2aLv5/H8AriJCCtBnzcfPp0XR0AlKs4V0fvZ7eIeVlzS7BqYnWQx1VM2Jgi
lu1ur2+vM3bOoQ289qbIGp2q8yZuYLhyrPanusoIcrK4ptEM2KQejuP5MNVm
cf84BCDZhf1jNh/HgFL0iNa0MNuN9Q27c2r/Whdz3Vc/zSfzWB1m8FKWNHb+
J3HxM2Com/vmxvr6xmYw+YNJVngzncZ/5jlsfDOhoWknirKaAv5fayQGZy8O
tne2N+Xrzvrmunx9vrm9K1+fAZTw6/HgcEiEKSkrPaizVH7f3dh6Tr9fvBlc
DN/t7K4PN9c3tvERUJu4usSlIsbVgnJZMx9mRfOk0smTi8HZ0cHg3RBaPeEG
fOZXjosxT7QsHArcqoHaPz8ZbihdABjwxFZzwB7Y3plOsjFsFDWAffs2rrOE
elTqyLx8hi+r1W+Pztb66iAuygJa5Au/H8DvCs4F7QI8n2f1BJDCvCa9ysuH
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
9P8BkQIq/FXKAAA=

-->

</rfc>
