<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.5.16 -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?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-richardson-anima-rfc8366bis-01" category="std" consensus="yes" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" symRefs="true" sortRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.5.0 -->
  <front>
    <title abbrev="Voucher Profile">A Voucher Artifact for Bootstrapping Protocols</title>
    <seriesInfo name="Internet-Draft" value="draft-richardson-anima-rfc8366bis-01"/>
    <author initials="K." surname="Watsen" fullname="Kent Watsen">
      <organization>Juniper Networks</organization>
      <address>
        <email>kwatsen@juniper.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>
    <date year="2021" month="December"/>
    <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" numbered="true" toc="default">
      <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" format="default"/> document that
conforms with a data model described by YANG <xref target="RFC7950" format="default"/>, is
encoded using the rules defined in <xref target="RFC8259" format="default"/>, and
is signed using (by default) a CMS structure <xref target="RFC5652" format="default"/>.</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" format="default"/>.</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" format="default"/>, <xref target="SECUREJOIN" format="default"/>, and
<xref target="BRSKI" format="default"/>).</t>
    </section>
    <section anchor="terminology" numbered="true" toc="default">
      <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" format="default"/>. 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" format="default"/>.</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" format="default"/>.
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" numbered="true" toc="default">
      <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&nbsp;14 <xref target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they
appear in all capitals, as shown here.</t>
    </section>
    <section anchor="survey-of-voucher-types" numbered="true" toc="default">
      <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" format="default"/>) 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 name="" type="" align="left" alt=""><![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).
]]></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" numbered="true" toc="default">
      <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" format="default"/> 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" numbered="true" toc="default">
        <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" format="default"/>.
Each node in the diagram is fully described by the YANG module in
<xref target="voucher-yang-module" format="default"/>.
Please review the YANG module for a detailed description of the
voucher format.</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
module: ietf-voucher

  grouping voucher-artifact-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
]]></artwork>
      </section>
      <section anchor="voucher-examples" numbered="true" toc="default">
        <name>Examples</name>
        <t>This section provides voucher examples for illustration
purposes.  These examples conform to the encoding rules
defined in <xref target="RFC8259" format="default"/>.</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 name="" type="" align="left" alt=""><![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 name="" type="" align="left" alt=""><![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" numbered="true" toc="default">
        <name>YANG Module</name>
        <section anchor="iana-voucher-assertion-type-module" numbered="true" toc="default">
          <name>"iana-voucher-assertion-type" Module</name>
          <t>Following is a YANG <xref target="RFC7950" format="default"/> module formally
describing the voucher's assertion type.</t>
          <sourcecode type="yang" markers="true">
 module iana-voucher-assertion-type {
  namespace "urn:ietf:params:xml:ns:yang:iana-voucher-assertion-type";
  prefix ianavat;
  
  organization
    "IETF ANIMA Working Group";
  contact
    "WG Web:   &lt;https://datatracker.ietf.org/wg/anima/&gt;
     WG List:  &lt;mailto:anima@ietf.org&gt;
     Author:   Kent Watsen
               &lt;mailto:kwatsen@juniper.net&gt;
     Author:   Max Pritikin
               &lt;mailto:pritikin@cisco.com&gt;
     Author:   Michael Richardson
               &lt;mailto:mcr+ietf@sandelman.ca&gt;
     Author:   Toerless Eckert
               &lt;mailto:tte+ietf@cs.fau.de&gt;";
  description
    "This YANG module defines a YANG enumeration type for IANA
     -registered voucher assertion type. This YANG module is
     maintained by IANA and reflects the 'voucher assertion types'
     registry. The lastest revision of this YANG module can be
     obtained from the IANA web site.  Request for new enumerations
     should be made to IANA via email(iana@iana.org).
     
     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 XXX; see the
     RFC itself for full legal notices.";
     
  revision 2021-07-04 {
    description
      "Initial version";
    reference "RFC ZZZZ: Voucher Profile for Bootstrapping Protocols";
  }
  
  typedef voucher-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...support of asynchronous enrollment in BRSKI";
     }
    }
  }
}
</sourcecode>
        </section>
        <section anchor="ietf-voucher-module" numbered="true" toc="default">
          <name>"ietf-voucher" Module</name>
          <t>The revised ietf-voucher YANG module imports the typedef defined in
"iana-voucher-assertion-type" YANG module specified in this document.</t>
          <sourcecode type="yang" markers="true">
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-restconf {
    prefix rc;
    description
      "This import statement is only present to access
       the yang-data extension defined in RFC 8040.";
    reference "RFC 8040: RESTCONF Protocol";
  }

  import iana-voucher-assertion-type {
    prefix ianavat;
    reference "RFCZZZZ: Voucher Profile for Bootstrapping Protocols";
  }

  organization
    "IETF ANIMA Working Group";
  contact
    "WG Web:   &lt;https://datatracker.ietf.org/wg/anima/&gt;
     WG List:  &lt;mailto:anima@ietf.org&gt;
     Author:   Kent Watsen
               &lt;mailto:kwatsen@juniper.net&gt;
     Author:   Max Pritikin
               &lt;mailto:pritikin@cisco.com&gt;
     Author:   Michael Richardson
               &lt;mailto:mcr+ietf@sandelman.ca&gt;
     Author:   Toerless Eckert
               &lt;mailto:tte+ietf@cs.fau.de&gt;";
  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 2021-07-04 {
    description
      "updated to support new assertion enumerated type";
    reference "RFC ZZZZ Voucher Profile for Bootstrapping Protocols";
  }

  // Top-level statement
  rc:yang-data 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 true;
        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 ianavat:voucher-assertion;
        mandatory true;
        description
          "The assertion is a statement from the MASA regarding how
           the owner was verified.  This statement enables pledges
           to support more detailed policy checks.  Pledges MUST
           ensure that the assertion provided is acceptable, per
           local policy, before processing the voucher.";
      }
      leaf serial-number {
        type string;
        mandatory true;
        description
          "The serial-number of the hardware.  When processing a
           voucher, a pledge MUST ensure that its serial-number
           matches this value.  If no match occurs, then the
           pledge MUST NOT process this voucher.";
      }
      leaf idevid-issuer {
        type binary;
        description
          "The Authority Key Identifier OCTET STRING (as defined in
           Section 4.2.1.1 of RFC 5280) from the pledge's IDevID
           certificate.  Optional since some serial-numbers are
           already unique within the scope of a MASA.
           Inclusion of the statistically unique key identifier
           ensures statistically unique identification of the hardware.
           When processing a voucher, a pledge MUST ensure that its
           IDevID Authority Key Identifier matches this value.  If no
           match occurs, then the pledge MUST NOT process this voucher.

           When issuing a voucher, the MASA MUST ensure that this field
           is populated for serial-numbers that are not otherwise unique
           within the scope of the MASA.";
      }
      leaf pinned-domain-cert {
        type binary;
        mandatory true;
        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 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>
      <section anchor="cms-voucher" numbered="true" toc="default">
        <name>CMS Format Voucher Artifact</name>
        <t>The IETF evolution of PKCS#7 is CMS <xref target="RFC5652" format="default"/>.
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" format="default"/>, encoded using ASN.1 Distinguished Encoding
Rules (DER), as specified in ITU-T X.690 <xref target="ITU-T.X690.2015" format="default"/>.</t>
        <t>To facilitate interoperability, <xref target="vcj" format="default"/> 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" format="default"/>, 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" format="default"/> 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" format="default"/> 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="design-con" numbered="true" toc="default">
      <name>Design Considerations</name>
      <section anchor="renewal-over-revocation" numbered="true" toc="default">
        <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" numbered="true" toc="default">
        <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" numbered="true" toc="default">
      <name>Security Considerations</name>
      <section anchor="clock-sensitivity" numbered="true" toc="default">
        <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" numbered="true" toc="default">
        <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" numbered="true" toc="default">
        <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" numbered="true" toc="default">
        <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" format="default"/>.  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" format="default"/>) or by encapsulating the signed-data
content type with an enveloped-data content type (Section 6
of <xref target="RFC5652" format="default"/>), 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" format="default"/> and RESTCONF <xref target="RFC8040" format="default"/>. For this reason, these
guidelines do not follow template described by Section 3.7 of
<xref target="YANG-GUIDE" format="default"/>.</t>
      </section>
    </section>
    <section anchor="iana-considerations" numbered="true" toc="default">
      <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>
      <artwork name="" type="" align="left" alt=""><![CDATA[
"value": Use the decimal value from the registry.

"status": 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".

"description": Replicate the corresponding information from the registry, namely the full name of the new assertion type.

"reference": Replicate the reference(s) from the registry.
]]></artwork>
      <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:
| [RFC8366]
NEW:
| [RFC8366][RFCXXX]</t>
      <section anchor="the-ietf-xml-registry" numbered="true" toc="default">
        <name>The IETF XML Registry</name>
        <t>This document registers two URIs in the "IETF XML Registry" <xref target="RFC3688" format="default"/>.</t>
        <t>IANA has registered the following:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
   URI: urn:ietf:params:xml:ns:yang:ietf-voucher
   Registrant Contact: The ANIMA WG of the IETF.
   XML: N/A, the requested URI is an XML namespace.
]]></artwork>
        <t>IANA is asked to register a second URI as follows:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
    URI: urn:ietf:params:xml:ns:yang:iana-voucher-assertion-type
    Registrant Contact: The ANIMA WG of the IETF.
    XML: N/A, the requested URI is an XML namespace.
]]></artwork>
      </section>
      <section anchor="the-yang-module-names-registry" numbered="true" toc="default">
        <name>The YANG Module Names Registry</name>
        <t>This document registers two YANG module in the "YANG Module Names"
registry <xref target="RFC6020" format="default"/>.</t>
        <t>IANA has registered the following:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
   name:         ietf-voucher
   namespace:    urn:ietf:params:xml:ns:yang:ietf-voucher
   prefix:       vch
   reference:    RFC 8366
]]></artwork>
        <t>IANA is asked to register a second YANG module as follows:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
   name:         iana-voucher-assertion-type
   namespace:    urn:ietf:params:xml:ns:yang:iana-voucher-assertion-type
   prefix:       ianavat
   reference:    RFC XXXX
]]></artwork>
      </section>
      <section anchor="vcj" numbered="true" toc="default">
        <name>The Media Types Registry</name>
        <t>This document registers a new media type in the "Media Types"
registry <xref target="RFC6838" format="default"/>. IANA has registered the following:</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" format="default"/></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&nbsp;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" numbered="true" toc="default">
        <name>The SMI Security for S/MIME CMS Content Type Registry</name>
        <t>IANA has registered the following OID in the "SMI Security for S/MIME
CMS Content Type (1.2.840.113549.1.9.16.1)" registry:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
            Decimal  Description                             References
            -------  --------------------------------------  ----------
            40       id-ct-animaJSONVoucher                  RFC 8366
]]></artwork>
      </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="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="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">
	 </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 surname="Wikipedia">
              <organization/>
            </author>
            <date year="2018" month="February"/>
          </front>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgements" toc="default">
      <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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
crFh9H8Az9/Eof2gAAA=

-->

</rfc>
