<?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-rfc2629 version 1.6.4 (Ruby 2.6.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mohammed-anima-voucher-security-profile-02" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.4 -->
  <front>
    <title abbrev="voucher-security-profile">Security Profiles in Bootstrap Voucher Artifacts</title>
    <seriesInfo name="Internet-Draft" value="draft-mohammed-anima-voucher-security-profile-02"/>
    <author initials="J." surname="Mohammed" fullname="Jabir Mohammed">
      <organization>Cisco Systems</organization>
      <address>
        <email>jamohamm@cisco.com</email>
      </address>
    </author>
    <author initials="R." surname="Haddad" fullname="Reda Haddad">
      <organization>Cisco Systems</organization>
      <address>
        <email>rehaddad@cisco.com</email>
      </address>
    </author>
    <author initials="S." surname="Raghavan" fullname="Srihari Raghavan">
      <organization>Cisco Systems</organization>
      <address>
        <email>srihari@cisco.com</email>
      </address>
    </author>
    <author initials="S." surname="Rao" fullname="Sandesh Rao">
      <organization>Cisco Systems</organization>
      <address>
        <email>sandeshr@cisco.com</email>
      </address>
    </author>
    <date year="2024" month="May" day="26"/>
    <area>Internet</area>
    <workgroup>Anima Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document describes an extension of the RFC8366 Voucher Artifact
in order to support security profiles.  This allows the owner to change and 
customize the security posture of the device dynamically and securely.  This
lets the owner to selectively enable or disable each of the underlying security
parameters that make up the security posture of the device.
</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>The <xref target="RFC8366"/> voucher artifact provides a proof from a manufacturer's
authorizing signing authority (MASA) of the intended owner of a device.  This is
used by an onboarding Pledge device in BRSKI (<xref target="RFC8995"/>,
<xref target="I-D.ietf-anima-constrained-voucher"/>), and SZTP (<xref target="RFC8572"/>).</t>
      <t>The security profile for a device can be defined as a sum collection of the
settings of the different underlying security parameters that determine the overall security
posture of a device. There are many reasons for the need and they include:</t>
      <ul spacing="normal">
      <li> The values and combinations of values of these underlying security 
parameters are better customized and selected dynamically during run time to allow 
maximum flexibility for the owner and thus prevent hardcoding during device manufacturing
workflows.</li>
      <li> There are cases where the security posture of the devices are not known or not
possible to be configured till the end customer takes ownership of the devices.  In these
cases, it is not possible to do this during manufacturing workflows. </li>
      <li> The value added security profile settings facilitate ease of use for the owner
to select the combination of security parameters that best suites the fine-grained security
posture requirements for different devices that belong to the owner.</li>
      <li> The scaling requirement to automate customization and configuration of the 
security posture for each device at scale is made possible.</li>
      <li> The underlying security parameters are envisaged to be types of parameters that influence
a system wide security posture of a device that are better configured at the initial provisioning phases.</li>
      <li> The underlying security parameters are sensitive and critical enough that any change to these parameters need to be authenticated before applying the same.</li>
      <li> The enumeration and standardization of the security profiles can potentially help achieve
security posture interoperability in devices from different vendors.</li>
      </ul>
      <section anchor="overview-of-proposed-solution">
        <name>Overview of Proposed Solution</name>
        <t>There are various underlying security parameters that are possible. These can be 
           divided into Common, OEM specific and Reserved (for future use).</t>
        <t>Some examples of common and standard ones (others may be added in future revisions of the draft) are below.</t>
        <ul spacing="normal">
        <li>Enable or disable Secure Zero Touch Provisioning (SZTP).  This could be used in cases where disabling sZTP is required.</li>
        <li>Enable or disable Federal Information Processing Standards (FIPS) mode support.  This could be needed where FIPS mode need to be disabled or enabled depending on deployment scenarios.</li>
        <li>Enable or disable Linux Integrity Measurement Architecture (IMA) enforcement.  This could be needed where IMA measurement is the need while appraisal is not.</li>
        </ul>
        <t>
        Extensions to standards-based RFC8366 Voucher Artifact handles different and varying security postures
for the owner that would have otherwise needed complex manufacturing end-customer security
profile handling and tracking.
        </t>
        <t>
        In the context of standalone EST [RFC 7030] or BRSKI-EST [RFC 8995] protocol, the owner's security policies can be sent as a policy update during LDevID renewal via BRSKI-EST link with new actions and the policy data can be an update signed by domain CA.  However, to keep it nice and simple and in the context of the nature of the policies addressed here (i.e., may need security gates, under manufacturer's purview, to be opened in the device and licensing aspects to be addressed with the vendor or manufacturer), it is thought that it could be better served via voucher extensions, that includes MASA in the loop.
        </t>
        <t>
        This allows ease of use and management for owners by providing secure ways for
dynamic changes and alteration of security postures for the owner, at scale.
        </t>
        <t>
        The OEM specific aspects are kept private while the Reserved aspects are reserved for future use.
        </t>
      </section>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>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 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <dl>
        <dt>Security Profile Voucher:</dt>
        <dd>
          <t>A security profile voucher is an <xref target="RFC8366"/> format voucher that has additional
fields to provide configuration details of all the underlying security parameters that determine the 
overall security posture of the device under consideration.</t>
        </dd>
      </dl>
    </section>
    <section anchor="security-profile-voucher-artifact">
      <name>Security Profile Voucher Artifact</name>
      <t>The following tree diagram shows the extensions to the <xref target="RFC8366"/> voucher.</t>
      <t>There are a few new fields:</t>
      <dl>
        <dt>security-profile-enable-flag:</dt>
        <dd>
          <t>A global enable flag to the pledge that security profiles for this pledge is enabled(true) or not (false). With default, this flag is false, which is consistent with the voucher artifact in RFC8366.</t>
        </dd>
        <dt>security-profile-selector:</dt>
        <dd>
          <t>Bitmask value of all the underlying security parameters</t>
        </dd>
      </dl>
      <artwork><![CDATA[
module: ietf-voucher-security-profile

  grouping voucher-security-profile-grouping:
    +-- voucher
       +-- created-on                          yang:date-and-time
       +-- expires-on?                         yang:date-and-time
       +-- serial-number                       string
       +-- idevid-issuer?                      binary
       +-- pinned-domain-cert?                 binary
       +-- domain-cert-revocation-checks?      boolean
       +-- nonce?                              binary
       +-- last-renewal-date?                  yang:date-and-time
       +-- security-profile-enable-flag?       boolean
       +-- (security-parameters)?
]]></artwork>
      <section anchor="yang-module">
        <name>YANG Module</name>
        <t>This module uses the grouping that was created in <xref target="RFC8366"/> to extend the
definition.</t>
        <sourcecode markers="true" name="ietf-voucher-security-profile@2024-05-26.yang"><![CDATA[
module ietf-voucher-security-profile {
  yang-version 1.1;

  namespace
    "urn:ietf:params:xml:ns:yang:ietf-voucher-security-profile";
  prefix "security-profile";

  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 ietf-voucher {
    prefix "iv";
  }

  organization
   "IETF ANIMA Working Group";

  contact
   "WG Web:   <http://tools.ietf.org/wg/anima/>
    WG List:  <mailto:anima@ietf.org>
    Author:   Srihari Raghavan
              <mailto:srihari@cisco.com>";

  description
  "This module extends the RFC8366 voucher format to provide
   a mechanism by which the authority can configure the security
   posture of the device.

   The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL',
   'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'MAY',
   and 'OPTIONAL' in the module text are to be interpreted as
   described in BCP 14 RFC 2119, and RFC8174.";

    revision "2024-05-26" {
      description
        "Updates to security profile aspects";
      reference
        "RFC XXXX: Voucher extensions for security profile";
    }

    revision "2023-11-27" {
      description
        "Updates to security profile aspects";
      reference
        "RFC XXXX: Voucher extensions for security profile";
    }

    revision "2023-05-30" {
      description
        "Initial version";
      reference
        "RFC XXXX: Voucher extensions for security profile";
    }

  feature security-profile-ietf
  {
    description
      "This feature indicates that the IETF version of the security profile 
       feature is supported";
    reference "RFC XXXX: Voucher extensions for security profile";
  }

  feature security-profile-oem
  {
    description
      "This feature indicates that the oem version of the security profile 
       feature is supported.  The OEM list is expected to be based on 
       https://www.iana.org/assignments/enterprise-numbers/ (PENs).";
    reference "RFC XXXX: Voucher extensions for security profile";
  }

  rc:yang-data voucher-security-profile-artifact {
    // YANG data template for a voucher.
    uses voucher-security-profile-grouping;
  }

  typedef bitmask64 {
    type uint64;
      description
        "The bitmask64 type represents a non-negative integer
         that represents a bit mask type field with each bit
         set (or unset) representing a different intent along
         with a range of bits/values representing a group.  Using
         an appropriate mask, the individual bits can be set/reset.
         In addition, a range of bits can also be manipulated using
         an appropriate mask.
  
         The 'type bits' and 'position' yang based bit fields do
         not lend itself easily to range based comparisons and
         hence the need for a customized type definition.

         The bitmask64 type can be used for configuration
         schema nodes.  A default statement can be used in
         combination with the type bitmask64.";

       reference
        "RFC 2578: Structure of Management Information Version 2
                   (SMIv2)";
  }


  // Grouping for security parameters forming the security profile
  //
  // These are separated into two-groups: standardized and OEM.
  //
  // The security-parameters-standard are subject to standards definition
  // for inter-operability while the OEM range is expected to be
  // implementation dependent.
  //
  //
  // The specific bits are expected to be defined 
  // following discussions with WG members and some examples
  // could be FIPS mode handling, SELinux handling,
  // Linux IMA handling etc., which could decide the
  // overall security posture of a device.";
  //
  //
  grouping security-parameters-group {
    leaf security-params-value {
      type bitmask64;
      description
        "Bit map for the different underlying security
         parameters. This is only valid if
         security-profile-enable-flag is true.
        
         Range: - 0x1, 0x2, 0x4..0x8000..0x10000..
        ";
    }

    leaf security-params-mask {
      type bitmask64;
      description
        "This represents the mask for the value above.
         If this mask is on for a bit, the corresponding
         value of the bit will be treated accordingly.  If 
         the mask is off, the value of the bit could be 
         treated as a don't care or default value";
    }
    description "The underlying security profile parameters.";
  }

  grouping security-parameters {
    container security-parameters-standard {
      if-feature security-profile-ietf;
      description
        "Security profiles based on IETF version.";

      leaf enabled {
        type boolean;
        default false;
        description
          "When true, IETF version of security profiles MUST be processed.";
      }
 
      uses security-parameters-group;
    }
    container security-parameters-oem {
      if-feature security-profile-oem;
      description
        "Security profiles based on OEM version.";

      leaf enabled {
        type boolean;
        default false;
        description
          "When true, OEM version of security profiles MUST be processed.";
      }
 
      uses security-parameters-group;
    }
    description "Security profile parameters.";
  }

  grouping voucher-security-profile-grouping {
    description
      "Grouping to allow reuse/extensions in future work.";

    uses iv:voucher-artifact-grouping {
      augment "voucher" {
        description "Base the security profile voucher
                     upon the regular voucher";

        leaf security-profile-enable-flag {
          type boolean;
          description
            "A global enable flag to the pledge that security 
             profiles for this pledge is enabled(true) or 
             not (false). With default, this flag is false,
             which is consistent with the voucher
             artifact in RFC8366. ";
        }

        uses security-parameters;

      }
    }
  }
}
]]></sourcecode>
      </section>
   </section>

    <section anchor="enhanced-pledge-behavior">
      <name>Enhanced Pledge Behavior</name>
      <t>The use of a security profile voucher requires changes to how the pledge evaluates
the voucher that is returned to by the Registrar.</t>
      <t>If the pledge supports this extension, it looks for security-profile-enable-flag
and if set, the security-profile-selector MUST be processed.</t>
    </section>

    <section anchor="changes-to-registrar-behavior">
      <name>Changes to Domain Components' Behavior</name>
      <t>
      The Registrar (Join Registrar or Co-ordinator) is the representative of the domain that is configured to decide whether a new device is allowed to join a domain.  The Manufacturer Authorized Signing Authority (MASA) signs vouchers and if the extensions are supported, it MUST process a security profile selector request from owner that identifies what underlying security parameters need to be enabled in the security-profile-selector to be sent down to the pledge as part of these extensions.

      As outlined in RFC 8995, the domain Registrar authenticates the pledge, makes authorization decisions, and distributes vouchers obtained from the MASA service and this is not expected to change.
      </t>
      <t>
      The security profile selector request from owner could take the form of a programmatic API based parameterized interaction with the MASA service.
      </t>
    </section>

    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD</t>

    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requires the following IANA actions:</t>
      <section anchor="the-ietf-xml-registry">
        <name>The IETF XML Registry</name>
        <t>This document registers a URI in the "IETF XML Registry" <xref target="RFC3688"/>.
IANA is asked to register the following:</t>
        <artwork><![CDATA[
     URI: urn:ietf:params:xml:ns:yang:ietf-voucher-security-profile
     Registrant Contact: The ANIMA WG of the IETF.
     XML: N/A, the requested URI is an XML namespace.
]]></artwork>
      </section>
      <section anchor="yang-module-names-registry">
        <name>YANG Module Names Registry</name>
        <t>This document registers a YANG module in the "YANG Module Names" registry <xref target="RFC6020"/>.
IANA is asked to register the following:</t>
        <artwork><![CDATA[
     name:         ietf-voucher-security-profile
     namespace:    urn:ietf:params:xml:ns:yang:ietf-voucher-security-profile
     prefix:       NONE
     reference:    THIS DOCUMENT
]]></artwork>
      </section>
    </section>
    <section anchor="implementation-considerations">
      <name>Implementation Considerations</name>
      <t>Implementation of the proposal is under active development.</t>

    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The authors would like to thank Michael Richardson and Esko Dijk for their valuable comments and guidance.</t>
    </section>
    <section anchor="changelog">
      <name>Changelog</name>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/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>
        <reference anchor="RFC8366" target="https://www.rfc-editor.org/info/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>
        <reference anchor="RFC8995" target="https://www.rfc-editor.org/info/rfc8995">
          <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="I-D.ietf-anima-constrained-voucher" target="https://www.ietf.org/archive/id/draft-ietf-anima-constrained-voucher-17.txt">
          <front>
            <title>Constrained Bootstrapping Remote Secure Key Infrastructure (BRSKI)</title>
            <author fullname="Michael Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Peter van der Stok">
              <organization>vanderstok consultancy</organization>
            </author>
            <author fullname="Panos Kampanakis">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Esko Dijk">
              <organization>IoTconsultancy.nl</organization>
            </author>
            <date day="7" month="April" year="2022"/>
            <abstract>
              <t>   This document defines the Constrained Bootstrapping Remote Secure Key
   Infrastructure (Constrained BRSKI) protocol, which provides a
   solution for secure zero-touch bootstrapping of resource-constrained
   (IoT) devices into the network of a domain owner.  This protocol is
   designed for constrained networks, which may have limited data
   throughput or may experience frequent packet loss.  Constrained BRSKI
   is a variant of the BRSKI protocol, which uses an artifact signed by
   the device manufacturer called the "voucher" which enables a new
   device and the owner's network to mutually authenticate.  While the
   BRSKI voucher is typically encoded in JSON, Constrained BRSKI defines
   a compact CBOR-encoded voucher.  The BRSKI voucher is extended with
   new data types that allow for smaller voucher sizes.  The Enrollment
   over Secure Transport (EST) protocol, used in BRSKI, is replaced with
   EST-over-CoAPS; and HTTPS used in BRSKI is replaced with CoAPS.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-constrained-voucher-17"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/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>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC3688" target="https://www.rfc-editor.org/info/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="RFC8572" target="https://www.rfc-editor.org/info/rfc8572">
          <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="RFC8040" target="https://www.rfc-editor.org/info/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="RFC6020" target="https://www.rfc-editor.org/info/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>
      </references>
    </references>
    <section anchor="extra-references">
      <name>Extra references</name>
      <t>RFC Editor, please remove this section.
This section lists references in the YANG. <xref target="RFC8174"/>, <xref target="RFC8040"/>.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
AA==

-->

</rfc>
