<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="exp" docName="draft-ietf-bfd-optimizing-authentication-36" number="9985" updates="" obsoletes="" ipr="trust200902" submissionType="IETF" consensus="true" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true" xml:lang="en" prepTime="2026-06-19T20:36:55" indexInclude="true" scripts="Common,Latin">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-bfd-optimizing-authentication-36" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9985" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="BFD Authentication Optimization">Optimizing Bidirectional Forwarding Detection (BFD) Authentication</title>
    <seriesInfo name="RFC" value="9985" stream="IETF"/>
    <author fullname="Mahesh Jethanandani" initials="M." surname="Jethanandani">
      <organization showOnFrontPage="true">Arrcus</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>mjethanandani@gmail.com</email>
      </address>
    </author>
    <author fullname="Ashesh Mishra" initials="A." surname="Mishra">
      <organization showOnFrontPage="true">Aalyria Technologies</organization>
      <address>
        <email>ashesh@aalyria.com</email>
      </address>
    </author>
    <author fullname="Jeffrey Haas" initials="J." surname="Haas">
      <organization showOnFrontPage="true">HPE</organization>
      <address>
        <email>jeffrey.haas@hpe.com</email>
      </address>
    </author>
    <author fullname="Ankur Saxena" initials="A." surname="Saxena">
      <organization showOnFrontPage="true">Ciena Corporation</organization>
      <address>
        <postal>
          <street>3939 N 1st Street</street>
          <city>San Jose</city>
          <region>CA</region>
          <code>95134</code>
          <country>United States of America</country>
        </postal>
        <email>ankurpsaxena@gmail.com</email>
      </address>
    </author>
    <author fullname="Manav Bhatia" initials="M." surname="Bhatia">
      <organization showOnFrontPage="true">Google</organization>
      <address>
        <postal>
          <street>Bagmane Capital Park</street>
          <city>Bengaluru</city>
          <region>Karnataka</region>
          <code>560048</code>
          <country>India</country>
        </postal>
        <email>mnvbhatia@google.com</email>
      </address>
    </author>
    <date month="06" year="2026"/>
    <area>RTG</area>
    <workgroup>bfd</workgroup>
    <keyword>BFD</keyword>
    <keyword>authentication</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">
	This document describes an experimental optimization to Bidirectional Forwarding Detection (BFD) Authentication.
	This optimization enables BFD to scale better when there is a desire to
	use authentication where applying the same authentication mechanism to
	every BFD Control Packet may adversely impact performance.
	This optimization partitions BFD Authentication into a more
	computationally intensive (MCI) mechanism that is applied to BFD significant
	changes and a less computationally intensive (LCI) mechanism that is applied to the
	majority of BFD Control Packets.
      </t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This document is not an Internet Standards Track specification; it is
            published for examination, experimental implementation, and
            evaluation.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document defines an Experimental Protocol for the Internet
            community.  This document is a product of the Internet Engineering
            Task Force (IETF).  It represents the consensus of the IETF community.
            It has received public review and has been approved for publication
            by the Internet Engineering Steering Group (IESG).  Not all documents
            approved by the IESG are candidates for any level of Internet
            Standard; see Section 2 of RFC 7841. 
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9985" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2026 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bfd-control-packets-that-re">BFD Control Packets That Require MCI Authentication</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-protecting-bfd-significant-">Protecting BFD Significant Changes with MCI Authentication</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-using-lci-auth-types">Using LCI Auth Types</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-periodic-mci-reauthenticati">Periodic MCI Reauthentication</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-optimized-authentication-mo">Optimized Authentication Modes</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-signaling-optimized-authent">Signaling Optimized Authentication</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2">
              <li pn="section-toc.1-1.7.2.1">
                <t indent="0" pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" format="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-transmitting-and-receiving-">Transmitting and Receiving Using Optimized Authentication</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.2">
                <t indent="0" pn="section-toc.1-1.7.2.2.1"><xref derivedContent="7.2" format="counter" sectionFormat="of" target="section-7.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-optimized-authentication-op">Optimized Authentication Operations</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-optimizing-authentication-y">Optimizing Authentication YANG Data Model</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t indent="0" pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-data-model-overview">Data Model Overview</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.2">
                <t indent="0" pn="section-toc.1-1.8.2.2.1"><xref derivedContent="8.2" format="counter" sectionFormat="of" target="section-8.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-tree-diagram">Tree Diagram</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.3">
                <t indent="0" pn="section-toc.1-1.8.2.3.1"><xref derivedContent="8.3" format="counter" sectionFormat="of" target="section-8.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-the-yang-data-model">The YANG Data Model</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2">
              <li pn="section-toc.1-1.9.2.1">
                <t indent="0" pn="section-toc.1-1.9.2.1.1"><xref derivedContent="9.1" format="counter" sectionFormat="of" target="section-9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ietf-xml-registry">IETF XML Registry</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.2">
                <t indent="0" pn="section-toc.1-1.9.2.2.1"><xref derivedContent="9.2" format="counter" sectionFormat="of" target="section-9.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-the-yang-module-names-regis">The YANG Module Names Registry</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.10.2">
              <li pn="section-toc.1-1.10.2.1">
                <t indent="0" pn="section-toc.1-1.10.2.1.1"><xref derivedContent="10.1" format="counter" sectionFormat="of" target="section-10.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-protocol-security-considera">Protocol Security Considerations</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.2">
                <t indent="0" pn="section-toc.1-1.10.2.2.1"><xref derivedContent="10.2" format="counter" sectionFormat="of" target="section-10.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-yang-security-consideration">YANG Security Considerations</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="11" format="counter" sectionFormat="of" target="section-11"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.11.2">
              <li pn="section-toc.1-1.11.2.1">
                <t indent="0" pn="section-toc.1-1.11.2.1.1"><xref derivedContent="11.1" format="counter" sectionFormat="of" target="section-11.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.11.2.2">
                <t indent="0" pn="section-toc.1-1.11.2.2.1"><xref derivedContent="11.2" format="counter" sectionFormat="of" target="section-11.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="Appendix A" format="default" sectionFormat="of" target="section-appendix.a"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-examples">Examples</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.12.2">
              <li pn="section-toc.1-1.12.2.1">
                <t indent="0" pn="section-toc.1-1.12.2.1.1"><xref derivedContent="A.1" format="counter" sectionFormat="of" target="section-appendix.a.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-single-hop-bfd-configuratio">Single-Hop BFD Configuration</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.13">
            <t indent="0" pn="section-toc.1-1.13.1"><xref derivedContent="Appendix B" format="default" sectionFormat="of" target="section-appendix.b"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-experimental-status">Experimental Status</xref></t>
          </li>
          <li pn="section-toc.1-1.14">
            <t indent="0" pn="section-toc.1-1.14.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgments</xref></t>
          </li>
          <li pn="section-toc.1-1.15">
            <t indent="0" pn="section-toc.1-1.15.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.d"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </li>
          <li pn="section-toc.1-1.16">
            <t indent="0" pn="section-toc.1-1.16.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.e"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1"><xref target="RFC5880" format="default" sectionFormat="of" derivedContent="RFC5880">BFD</xref> authentication procedures, when enabled,
      authenticate each control packet using the same authentication mechanism.
      Devices implementing BFD are often resource-constrained and authentication
      may adversely impact the performance of BFD, thus discouraging the
      deployment of authentication.</t>
      <t indent="0" pn="section-1-2">When implemented in software, BFD Authentication mechanisms compete
      with other necessary work done by the systems implementing the protocol.
      When implemented using hardware acceleration, these mechanisms may scale
      better situationally, but they still impose a cost on the implementation.
      BFD's value is tied to its ability to scale in terms of numbers of
      sessions and a Detection Time that relies on sending its control packets
      at a high rate.  Implementers and operators are forced to evaluate
      trade-offs of the benefits of authentication vs. its impact on BFD
      performance.</t>
      <t indent="0" pn="section-1-3">The authentication mechanisms documented in <xref target="RFC5880" format="default" sectionFormat="of" derivedContent="RFC5880"/>, 
      <xref target="RFC1321" format="default" sectionFormat="of" derivedContent="RFC1321">MD5 Message-Digest Algorithm </xref>, and 
      <xref target="RFC3174" format="default" sectionFormat="of" derivedContent="RFC3174">Secure Hash Algorithm (SHA-1)</xref> are not
      particularly strong in a cryptographic sense.  However, they may still not
      appropriately scale situationally in a given implementation.  In the
      future, there may be a desire to use stronger authentication mechanisms
      than those already specified, and those mechanisms are likely to use even
      more resources.</t>
      <t indent="0" pn="section-1-4">The BFD protocol can broadly be described as the set of procedures
      that handle its state machine changes to reach the Up state, and once BFD
      is in the Up state, it will send those Up packets at the negotiated high rate.
      The number of BFD Control Packets needed to signal state changes (called
      significant changes) is very small, while the majority of the Control
      Packets validate that the session remains in the Up state.</t>
      <t indent="0" pn="section-1-5">This document describes an experimental optimization to BFD
      Authentication.  This optimization partitions BFD Authentication into a
      more computationally intensive (MCI) mechanism used to authenticate
      significant changes, and a less computationally intensive (LCI) mechanism
      applied to the majority of the BFD Control Packets that don't signal such
      significant changes.</t>
      <t indent="0" pn="section-1-6">The details of the motivation for experimental status are given in
      <xref target="experiment" format="default" sectionFormat="of" derivedContent="Appendix B"/>.</t>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-1.1">
        <name slugifiedName="name-requirements-language">Requirements Language</name>
        <t indent="0" pn="section-1.1-1">
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
    described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
        </t>
      </section>
    </section>
    <section numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <t indent="0" pn="section-2-1">The following terms used in this document have been defined in
      <xref target="RFC5880" format="default" sectionFormat="of" derivedContent="RFC5880">BFD</xref>.</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2-2">
        <li pn="section-2-2.1">
          <t indent="0" pn="section-2-2.1.1">Auth Type</t>
        </li>
        <li pn="section-2-2.2">
          <t indent="0" pn="section-2-2.2.1">Detect Multiplier</t>
        </li>
        <li pn="section-2-2.3">
          <t indent="0" pn="section-2-2.3.1">Detection Time</t>
        </li>
      </ul>
      <t indent="0" pn="section-2-3">The following terms are introduced in this document.</t>
      <dl indent="3" newline="false" spacing="normal" pn="section-2-4">
        <dt pn="section-2-4.1">significant change:</dt>
        <dd pn="section-2-4.2">A state change, demand mode change (to D bit), or poll sequence change (P or F bit). Changes to BFD Control Packets that do not require a poll sequence, such as bfd.DetectMult, are also considered a significant change.</dd>
        <dt pn="section-2-4.3">More Computationally Intensive (MCI) authentication:</dt>
        <dd pn="section-2-4.4">The authentication mechanism applied to BFD Control Packets that are significant changes.</dd>
        <dt pn="section-2-4.5">Less Computationally Intensive (LCI) authentication:</dt>
        <dd pn="section-2-4.6">The authentication mechanism applied to BFD Control Packets that are NOT significant changes.</dd>
        <dt pn="section-2-4.7">configured MCI reauthentication interval:</dt>
        <dd pn="section-2-4.8">Interval at which BFD Control Packets are retried using MCI authentication.</dd>
      </dl>
      <t indent="0" pn="section-2-5">
        The authentication mechanisms described in this optimization are paired
	as MCI and LCI.  While it will be generally
	the case that the relationship between these mechanisms will be
	"stronger" and "less strong", this document doesn't use the term
	"strong" to avoid conflation with either mechanism's relative
	cryptographic strength.  The relative criteria for each mechanism is the
	impact on the implementation.
      </t>
    </section>
    <section anchor="strong_authentication" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-bfd-control-packets-that-re">BFD Control Packets That Require MCI Authentication</name>
      <t indent="0" pn="section-3-1">
	The intention of these optimized procedures is to permit more
	computationally intensive
	authentication for BFD state changes and utilize the less
	computationally intensive authentication mechanisms to provide
	protection for the session in the Up state while performing less
	work overall.  Such procedures are intended to aid BFD session scaling
	without compromising BFD session security.
      </t>
      <t indent="0" pn="section-3-2">All BFD Control Packets with the state AdminDown, Down, and Init
      <bcp14>MUST</bcp14> use MCI authentication.</t>
      <t indent="0" pn="section-3-3">Once the BFD state machine has reached the Up state, it will continue
      to send BFD Control Packets with MCI authentication in the Up state for a period as discussed in
      <xref target="operations" format="default" sectionFormat="of" derivedContent="Section 7.2"/>.  If optimized authentication mechanisms are
      in use, as defined in <xref target="optimized_modes" format="default" sectionFormat="of" derivedContent="Section 6"/>, the session <bcp14>MAY</bcp14>
      switch to the LCI mode.</t>
      <t indent="0" pn="section-3-4">The contents of an Up packet must not change aside from the
      Authentication Section unless MCI authentication is in use.</t>
      <section anchor="significant_changes" numbered="true" removeInRFC="false" toc="include" pn="section-3.1">
        <name slugifiedName="name-protecting-bfd-significant-">Protecting BFD Significant Changes with MCI Authentication</name>
        <t indent="0" pn="section-3.1-1">
	  This document proposes that BFD Control Packets that signal a
	  state change, a change in demand mode (D bit), or a poll sequence
	  (P or F bit change) be categorized as a "significant
	  change". Control packets that do not require a poll sequence,
	  such as bfd.DetectMult, are also considered a
	  significant change.
        </t>
        <t indent="0" pn="section-3.1-2">
	  Such significant changes are intended to be protected by more
	  computationally intensive authentication.
        </t>
      </section>
    </section>
    <section anchor="optimized_type" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-using-lci-auth-types">Using LCI Auth Types</name>
      <t indent="0" pn="section-4-1">
	The majority of packets exchanged in a BFD session in the Up state are
	not significant changes.  This document proposes a new optimized
	authentication mode where packets that are not significant changes may
	use an LCI authentication mechanism.
      </t>
      <t indent="0" pn="section-4-2">
	Once the session has reached the Up state, the session can
	use an LCI Auth Type derived from
	the format in <xref target="signaling" format="default" sectionFormat="of" derivedContent="Section 7"/>.
	Currently, this includes:

      </t>
      <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-4-3">
        <li pn="section-4-3.1">
	    Meticulous Keyed ISAAC Authentication as described in
	    <xref target="RFC9986" format="default" sectionFormat="of" derivedContent="RFC9986"/>.
            This authentication type protects the BFD session when BFD Up
            packets do not change, because only the paired devices know the
            shared secret, key, and sequence number to select the ISAAC
            result.
	  </li>
      </ul>
      <t indent="0" pn="section-4-4">
        Other mechanisms may be defined in the future.
      </t>
    </section>
    <section numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-periodic-mci-reauthenticati">Periodic MCI Reauthentication</name>
      <t indent="0" pn="section-5-1">
        When using the LCI authentication
        mechanism, BFD should periodically test the session using the MCI
        authentication mechanism.  MCI authentication is tested using a
        Poll sequence. To test MCI authentication, a Poll sequence <bcp14>SHOULD</bcp14>
        be initiated by the sender using the MCI authentication mode rather    
than the LCI mechanism. If a control packet
        with the Final (F) bit is not received using MCI authentication
	within twice the Detect Interval as would be calculated by the
	receiving system, the session has been compromised, and it <bcp14>MUST</bcp14> be brought
	down.
      </t>
      <t indent="0" pn="section-5-2">
        The value "twice the Detect interval as would be calculated by the
        receiving system" is, roughly, twice the number of packets the local
        system would transmit to the receiving system within its own Detect
        Interval.  This accommodates for possible packet loss from the sending
        system during the Poll sequence to the receiving system, plus time for
        the receiving system to transmit a control packet with the Final (F) bit
        set to the local system.
      </t>
      <t indent="0" pn="section-5-3">
	This "MCI reauthentication interval" for
	performing such periodic tests using the MCI
	authentication mechanism can be configured depending on the capability
	of the system.
      </t>
      <t indent="0" pn="section-5-4">
        Most packets transmitted in a BFD session are BFD Up packets.
        MCI authenticating a limited subset of these packets with a Poll
        sequence as described above, e.g., every one minute,
        significantly reduces the computational demand for the system
        while maintaining security of the session across the
        configured MCI reauthentication interval.
      </t>
    </section>
    <section anchor="optimized_modes" numbered="true" removeInRFC="false" toc="include" pn="section-6">
      <name slugifiedName="name-optimized-authentication-mo">Optimized Authentication Modes</name>
      <t indent="0" pn="section-6-1">The cryptographic authentication mechanisms specified in <xref target="RFC5880" section="6.7" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5880#section-6.7" derivedContent="RFC5880">BFD</xref> describe enabling and
      disabling of authentication as a one-time operation. The following is stated in <xref target="RFC5880" section="6.7.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5880#section-6.7.1" derivedContent="RFC5880"/>:</t>
      <blockquote pn="section-6-2">... implementations using this method <bcp14>SHOULD</bcp14> only allow the
      authentication state to be changed at most once without some form of
      intervention (so that authentication cannot be turned on and off
      repeatedly simply based on the receipt of BFD Control Packets from remote
      systems).</blockquote>
      <t indent="0" pn="section-6-3">Once enabled, every packet must have the Authentication Present (A) bit set and the
      associated Authentication Type appended (<xref target="RFC5880" section="4.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5880#section-4.1" derivedContent="RFC5880"/>).
      In addition, <xref target="RFC5880" section="6.7.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5880#section-6.7.1" derivedContent="RFC5880"/> states that an
      implementation <bcp14>SHOULD NOT</bcp14> allow the authentication state to be changed
      based on the receipt of a BFD Control Packet.</t>
      <t indent="0" pn="section-6-4">
        This document proposes that an "optimized" authentication mode that
	permits both an MCI authentication mode and an LCI mode be used within the same BFD
	session.  This pairing of an MCI and an LCI mode of authentication is
	carried in new BFD Authentication types representing a given optimized
	authentication type pairing.
      </t>
      <t indent="0" pn="section-6-5">
	This document defines which BFD Control Packets require MCI authentication in <xref target="significant_changes" format="default" sectionFormat="of" derivedContent="Section 3.1"/>.
	A BFD Control Packet that fails
	authentication, or a BFD Control Packet that was
	supposed to be MCI-authenticated but was not (e.g., a significant
	change packet), is discarded. However, there is no change to
	the state machine for BFD, as the decision of a significant
	change is still decided by how many valid consecutive packets
	were received.
      </t>
      <t indent="0" pn="section-6-6">
	In this specification, the contents of an Up packet <bcp14>MUST NOT</bcp14> change
	aside from the Authentication Section without MCI
	authentication. The full procedure is documented in the following
	sections.
      </t>
    </section>
    <section anchor="signaling" numbered="true" removeInRFC="false" toc="include" pn="section-7">
      <name slugifiedName="name-signaling-optimized-authent">Signaling Optimized Authentication</name>
      <t indent="0" pn="section-7-1">
        When the
	Authentication Present (A) bit is set and the Auth Type
	(<xref target="RFC5880" section="4.1" sectionFormat="comma" format="default" derivedLink="https://rfc-editor.org/rfc/rfc5880#section-4.1" derivedContent="RFC5880"/>)
	is a type supporting Optimized BFD Authentication, the Auth Type signals a
	pairing of an MCI authentication type and an LCI authentication type.  This pairing is
	advertised in a single Auth Type value in order to permit
	implementations to be aware that:

      </t>
      <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-7-2">
        <li pn="section-7-2.1">Optimized BFD procedures will be in use.</li>
        <li pn="section-7-2.2">The pairing of the MCI and LCI
              authentication mechanisms will be used for that session.</li>
        <li pn="section-7-2.3">There is a requirement to carry a Sequence Number.</li>
        <li pn="section-7-2.4">The current MCI or LCI mode will be carried as described below.</li>
      </ul>
      <figure align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-common-optimized-bfd-authen">Common Optimized BFD Authentication Section</name>
        <artwork align="center" pn="section-7-3.1">
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Auth Type   |   Auth Len    |  Auth Key ID  |   Opt. Mode   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Sequence Number                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   Authentication Specific Data                ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
      </figure>
      <t indent="0" pn="section-7-4">
        The values of Auth Type and Auth Len are defined in their respective
	Optimized BFD Authentication procedural documents.
      </t>
      <t indent="0" pn="section-7-5">
        The values of the Optimized Authentication Mode field are:
      </t>
      <ol indent="adaptive" spacing="normal" start="1" type="1" pn="section-7-6">
	  <li pn="section-7-6.1" derivedCounter="1.">The MCI authentication type for Optimized BFD Auth Types.</li>
        <li pn="section-7-6.2" derivedCounter="2.">The LCI authentication type for Optimized BFD Auth Types.</li>
      </ol>
      <t indent="0" pn="section-7-7">
	Authentication Specific Data: When using the more computationally
	intensive authentication type, the remainder of the Authentication
	Section carries that type's data.
      </t>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-7.1">
        <name slugifiedName="name-transmitting-and-receiving-">Transmitting and Receiving Using Optimized Authentication</name>
        <t indent="0" pn="section-7.1-1">
	  The procedures for authenticating BFD Control Packets using Optimized
	  Authentication are similar to the existing procedures covered in 
	  <xref target="RFC5880" section="6.7" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5880#section-6.7" derivedContent="RFC5880"/>. 
          Optimized Authentication modes have common procedural requirements for 
	  authentication regardless of which more or less computationally
	  intensive authentication modes are used.
        </t>
        <t indent="0" pn="section-7.1-2">
	  The required value of the Auth Len field for a given Optimized
	  Authentication mode is defined in the respective specifications for
	  their respective MCI and LCI modes.
        </t>
        <t indent="0" pn="section-7.1-3">
          The following common procedures apply to authenticating BFD Control
          packets utilizing Optimized Authentication:
        </t>
        <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-7.1-4">
          <li pn="section-7.1-4.1">
          If the received BFD Control Packet does not contain an 
	  Authentication Section (<xref target="RFC5880" sectionFormat="comma" section="4.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc5880#section-4.1" derivedContent="RFC5880"/>), or
	  the Auth Type is not a supported Optimized Authentication Auth Type,
	  then the received packet <bcp14>MUST</bcp14> be discarded.
        </li>
          <li pn="section-7.1-4.2">
	  If the received BFD Control Packet contains an optimized
	  authentication type using these procedures and the Optimized
          Authentication Mode field is not 1 or 2, then the received packet
          <bcp14>MUST</bcp14> be discarded.
        </li>
          <li pn="section-7.1-4.3">
	  If bfd.SessionState is AdminDown, Down, or Init and the Optimized
	  Authentication Mode field is not 1, then the received packet <bcp14>MUST</bcp14> be
	  discarded.
        </li>
          <li pn="section-7.1-4.4">
	  If bfd.SessionState is Up and there is a significant change as defined
	  in <xref target="significant_changes" format="default" sectionFormat="of" derivedContent="Section 3.1"/>, and the Optimized Authentication
	  Mode field is not 1, then the received packet <bcp14>MUST</bcp14> be discarded.
        </li>
          <li pn="section-7.1-4.5">
          If the Auth Len field is not equal to a value appropriate for the
          Optimized Authentication Mode field, the packet <bcp14>MUST</bcp14> be discarded.
        </li>
          <li pn="section-7.1-4.6">
          If bfd.AuthSeqKnown is 1, examine the Sequence Number field. If the sequence number lies outside of the inclusive range of bfd.RcvAuthSeq+1 to bfd.RcvAuthSeq+(3*Detect Mult) when treated as an unsigned 32-bit circular number space, the received packet <bcp14>MUST</bcp14> be discarded.
        </li>
        </ul>
        <t indent="0" pn="section-7.1-5">
          Otherwise (bfd.AuthSeqKnown is 0), bfd.AuthSeqKnown <bcp14>MUST</bcp14> be set to 1,
          bfd.RcvAuthSeq <bcp14>MUST</bcp14> be set to the value of the received Sequence
          Number field, and the received packet <bcp14>MUST</bcp14> be accepted.
        </t>
        <t indent="0" pn="section-7.1-6">
          For the specified Auth Type and Optimized Authentication Mode, perform
          the appropriate authentication procedures.  If authentication
          succeeds, the received packet <bcp14>MUST</bcp14> be accepted.  Otherwise, the
          received packet <bcp14>MUST</bcp14> be discarded.
        </t>
      </section>
      <section anchor="operations" numbered="true" removeInRFC="false" toc="include" pn="section-7.2">
        <name slugifiedName="name-optimized-authentication-op">Optimized Authentication Operations</name>
        <t indent="0" pn="section-7.2-1">
	  As noted in <xref target="significant_changes" format="default" sectionFormat="of" derivedContent="Section 3.1"/>,
	  when using Optimized BFD procedures, MCI
	  authentication is used in the BFD state machine to bring a BFD session
	  to the Up state or to make any change of the BFD parameters as carried
	  in the BFD Control Packet when in the Up state.
        </t>
        <t indent="0" pn="section-7.2-2">
	  Once the BFD session has reached the Up state, the BFD Up state <bcp14>MUST</bcp14>
	  be signaled to the remote BFD system using the MCI authentication mode for
	  an interval that is at least the Detection Time before switching to
	  the LCI authentication mode.  This is to permit mechanisms such as 
	  <xref target="RFC9986" format="default" sectionFormat="of" derivedContent="RFC9986">
	  Meticulous Keyed ISAAC for BFD Optimized Authentication</xref>
	  or other approved, less intensive authentication mechanisms to be
	  bootstrapped before switching to the LCI mode.
        </t>
        <t indent="0" pn="section-7.2-3">
	  It is <bcp14>RECOMMENDED</bcp14> that when using optimized authentication that
	  implementations switch from MCI authentication to LCI
	  authentication mode after an interval that
	  is at least the Detection Time. In the circumstances where a BFD
	  session successfully reaches the Up state with MCI authentication,
	  but there are problems with the LCI authentication, this will
	  permit the remote system to tear down the session as quickly as
	  possible.
        </t>
        <t indent="0" pn="section-7.2-4">
	  BFD sessions using optimized authentication that succeed in reaching the
	  Up state using MCI authentication and fail using LCI authentication
	  <bcp14>SHOULD</bcp14> bring the issue to the attention of the operator.  Furthermore,
	  implementations <bcp14>MAY</bcp14> wish to throttle session restarts.
        </t>
        <t indent="0" pn="section-7.2-5">
	  It is further <bcp14>RECOMMENDED</bcp14> that BFD implementations using optimized
	  authentication defer notifying their client that the session has reached
	  the Up state until it has transitioned to using the LCI
	  authentication mode.  In the event where LCI authentication is
	  failing in the protocol, this avoids propagating the failed transitions
	  to the LCI mode to their clients.
        </t>
      </section>
    </section>
    <section anchor="opt-auth-yang-model" numbered="true" removeInRFC="false" toc="include" pn="section-8">
      <name slugifiedName="name-optimizing-authentication-y">Optimizing Authentication YANG Data Model</name>
      <section anchor="data-model-overview" numbered="true" removeInRFC="false" toc="include" pn="section-8.1">
        <name slugifiedName="name-data-model-overview">Data Model Overview</name>
        <t indent="0" pn="section-8.1-1">
	  The <xref target="RFC7950" format="default" sectionFormat="of" derivedContent="RFC7950">YANG 1.1</xref> data model defined in
	  this document augments the "ietf-bfd" module to add
	  data nodes relevant to the management of the feature defined in this
	  document. It adds an interval value that specifies how often the BFD
	  session should be reauthenticated using more computationally
	  intensive authentication once it is in the Up state.
        </t>
      </section>
      <section anchor="tree-diagram" numbered="true" removeInRFC="false" toc="include" pn="section-8.2">
        <name slugifiedName="name-tree-diagram">Tree Diagram</name>
        <t indent="0" pn="section-8.2-1">
	  The tree diagram for the YANG modules defined in this
	  document uses annotations defined in <xref target="RFC8340" format="default" sectionFormat="of" derivedContent="RFC8340">YANG Tree Diagrams</xref>.
        </t>
        <sourcecode type="yangtree" markers="false" pn="section-8.2-2">
module: ietf-bfd-opt-auth

  augment /rt:routing/rt:control-plane-protocols
            /rt:control-plane-protocol/bfd:bfd/bfd-ip-sh:ip-sh
            /bfd-ip-sh:sessions/bfd-ip-sh:session
            /bfd-ip-sh:authentication:
    +--rw reauth-interval?   uint32
  augment /rt:routing/rt:control-plane-protocols
            /rt:control-plane-protocol/bfd:bfd/bfd-ip-mh:ip-mh
            /bfd-ip-mh:session-groups/bfd-ip-mh:session-group
            /bfd-ip-mh:authentication:
    +--rw reauth-interval?   uint32
  augment /rt:routing/rt:control-plane-protocols
            /rt:control-plane-protocol/bfd:bfd/bfd-lag:lag
            /bfd-lag:sessions/bfd-lag:session/bfd-lag:authentication:
    +--rw reauth-interval?   uint32
  augment /rt:routing/rt:control-plane-protocols
            /rt:control-plane-protocol/bfd:bfd/bfd-mpls:mpls
            /bfd-mpls:session-groups/bfd-mpls:session-group
            /bfd-mpls:authentication:
    +--rw reauth-interval?   uint32</sourcecode>
      </section>
      <section anchor="the-yang-model" numbered="true" removeInRFC="false" toc="include" pn="section-8.3">
        <name slugifiedName="name-the-yang-data-model">The YANG Data Model</name>
        <t indent="0" pn="section-8.3-1">
	  This YANG module imports modules defined in "<xref format="title" target="RFC8349" sectionFormat="of" derivedContent="A YANG Data Model for Routing Management (NMDA Version)"/>" <xref target="RFC8349" format="default" sectionFormat="of" derivedContent="RFC8349"/> and "<xref format="title" target="RFC9314" sectionFormat="of" derivedContent="YANG Data Model for Bidirectional Forwarding Detection (BFD)"/>" <xref target="RFC9314" format="default" sectionFormat="of" derivedContent="RFC9314"/>.
        </t>
        <t indent="0" pn="section-8.3-2">Implementations supporting the optimization procedures defined in this document enable optimization by using one of the newly defined key-chain crypto-algorithms in the ietf-bfd-met-keyed-isaac YANG module in <xref target="RFC9986" format="default" sectionFormat="of" derivedContent="RFC9986"/>.</t>
        <sourcecode markers="true" name="ietf-bfd-opt-auth@2026-06-19.yang" type="yang" pn="section-8.3-3">
module ietf-bfd-opt-auth {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-opt-auth";
  prefix bfd-oa;

  import ietf-routing {
    prefix rt;
    reference
      "RFC 8349: A YANG Data Model for Routing Management
       (NMDA version).";
  }

  import ietf-bfd {
    prefix bfd;
    reference
      "RFC 9314: YANG Data Model for Bidirectional
       Forwarding Detection (BFD).";
  }

  import ietf-bfd-ip-sh {
    prefix bfd-ip-sh;
    reference
      "RFC 9314: YANG Data Model for Bidirectional
       Forwarding Detection (BFD).";
  }

  import ietf-bfd-ip-mh {
    prefix bfd-ip-mh;
    reference
      "RFC 9314: YANG Data Model for Bidirectional
       Forwarding Detection (BFD).";
  }

  import ietf-bfd-lag {
    prefix bfd-lag;
    reference
      "RFC 9314: YANG Data Model for Bidirectional
       Forwarding Detection (BFD).";
  }

  import ietf-bfd-mpls {
    prefix bfd-mpls;
    reference
      "RFC 9314: YANG Data Model for Bidirectional
       Forwarding Detection (BFD).";
  }

  organization
    "IETF Bidirectional Forwarding Detection (BFD) Working Group";

  contact
    "WG Web:   &lt;http://tools.ietf.org/wg/bfd&gt;
     WG List:  &lt;rtg-bfd@ietf.org&gt;

     Authors: Mahesh Jethanandani (mjethanandani@gmail.com)
              Ashesh Mishra (ashesh@aalyria.com)
              Ankur Saxena (ankurpsaxena@gmail.com)
              Manav Bhatia (mnvbhatia@google.com)
              Jeffrey Haas (jeffrey.haas@hpe.com).";

  description
    "This YANG module augments the base BFD YANG module to add
     attributes related to the experimental BFD Optimized
     Authentication.

     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) 2026 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject to
     the license terms contained in, the Revised BSD License set
     forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC 9985
     (https://www.rfc-editor.org/info/rfc9985); see the RFC itself
     for full legal notices.";

  revision "2026-06-19" {
    description
      "Initial Version.";
    reference
      "RFC 9985: Optimizing BFD Authentication.";
  }

  feature optimized-auth {
    description
      "Indicates that the implementation supports optimized
       authentication.";
    reference
      "RFC 9985: Optimizing BFD Authentication.";
  }

  grouping bfd-opt-auth-config {
    description
      "Grouping for BFD Optimized Authentication Parameters.";
    leaf reauth-interval {
      type uint32;
      units "seconds";
      default "60";
      description
        "Interval of time after which more computationally intensive
         authentication should be utilized to prevent an
         on-path-attacker attack.

         A value of zero means that we do not do periodic
         reauthentication using the more computationally intensive
         authentication method.

         This value SHOULD have jitter applied to it to avoid
         self-synchronization during expensive authentication
         operations.";
    }
  }

  augment "/rt:routing/rt:control-plane-protocols"
        + "/rt:control-plane-protocol/bfd:bfd/bfd-ip-sh:ip-sh"
        + "/bfd-ip-sh:sessions/bfd-ip-sh:session"
        + "/bfd-ip-sh:authentication" {
    uses bfd-opt-auth-config;

    description
      "Augment the 'authentication' container for single-hop BFD
       module to add attributes related to BFD Optimized
       Authentication.";
  }

  augment "/rt:routing/rt:control-plane-protocols"
        + "/rt:control-plane-protocol/bfd:bfd/bfd-ip-mh:ip-mh"
        + "/bfd-ip-mh:session-groups/bfd-ip-mh:session-group"
        + "/bfd-ip-mh:authentication" {
    uses bfd-opt-auth-config;

    description
      "Augment the 'authentication' container for multi-hop BFD
       module to add attributes related to BFD Optimized
       Authentication.";
  }

  augment "/rt:routing/rt:control-plane-protocols"
        + "/rt:control-plane-protocol/bfd:bfd/bfd-lag:lag"
        + "/bfd-lag:sessions/bfd-lag:session"
        + "/bfd-lag:authentication" {
    uses bfd-opt-auth-config;

    description
      "Augment the 'authentication' container for BFD over LAG
       module to add attributes related to BFD Optimized
       Authentication.";
  }

  augment "/rt:routing/rt:control-plane-protocols"
        + "/rt:control-plane-protocol/bfd:bfd/bfd-mpls:mpls"
        + "/bfd-mpls:session-groups/bfd-mpls:session-group"
        + "/bfd-mpls:authentication" {
    uses bfd-opt-auth-config;

    description
      "Augment the 'authentication' container for BFD over MPLS
       module to add attributes related to BFD Optimized
       Authentication.";
  }
}</sourcecode>
      </section>
    </section>
    <section anchor="IANA" numbered="true" removeInRFC="false" toc="include" pn="section-9">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-9-1">
	IANA has assigned one URI and one YANG module as described in this section.
      </t>
      <section anchor="ietf-xml-registry" numbered="true" removeInRFC="false" toc="include" pn="section-9.1">
        <name slugifiedName="name-ietf-xml-registry">IETF XML Registry</name>
        <t indent="0" pn="section-9.1-1">
	  IANA has registered the following URI in the "ns"
	  registry within the "IETF XML Registry" group <xref target="RFC3688" format="default" sectionFormat="of" derivedContent="RFC3688"/>:
        </t>
        <dl spacing="compact" newline="false" indent="3" pn="section-9.1-2">
          <dt pn="section-9.1-2.1">URI:</dt>
          <dd pn="section-9.1-2.2">urn:ietf:params:xml:ns:yang:ietf-bfd-opt-auth</dd>
          <dt pn="section-9.1-2.3">Registrant Contact:</dt>
          <dd pn="section-9.1-2.4">The IESG</dd>
          <dt pn="section-9.1-2.5">XML:</dt>
          <dd pn="section-9.1-2.6">N/A; the requested URI is an XML namespace.</dd>
        </dl>
      </section>
      <section anchor="yang-module-names" numbered="true" removeInRFC="false" toc="include" pn="section-9.2">
        <name slugifiedName="name-the-yang-module-names-regis">The YANG Module Names Registry</name>
        <t indent="0" pn="section-9.2-1">
	  IANA has registered the following YANG module in the "YANG Module
	  Names" registry <xref target="RFC6020" format="default" sectionFormat="of" derivedContent="RFC6020"/> within the "YANG Parameters" registry group:
        </t>
        <dl spacing="compact" newline="false" indent="3" pn="section-9.2-2">
          <dt pn="section-9.2-2.1">Name:</dt>
          <dd pn="section-9.2-2.2">ietf-bfd-opt-auth</dd>
          <dt pn="section-9.2-2.3">Maintained by IANA:</dt>
          <dd pn="section-9.2-2.4">N</dd>
          <dt pn="section-9.2-2.5">Namespace:</dt>
          <dd pn="section-9.2-2.6">urn:ietf:params:xml:ns:yang:ietf-bfd-opt-auth</dd>
          <dt pn="section-9.2-2.7">Prefix:</dt>
          <dd pn="section-9.2-2.8">bfd-oa</dd>
          <dt pn="section-9.2-2.9">Reference:</dt>
          <dd pn="section-9.2-2.10">RFC 9985</dd>
        </dl>
      </section>
    </section>
    <section anchor="Security" numbered="true" removeInRFC="false" toc="include" pn="section-10">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <section anchor="Protocol_Security" numbered="true" removeInRFC="false" toc="include" pn="section-10.1">
        <name slugifiedName="name-protocol-security-considera">Protocol Security Considerations</name>
        <t indent="0" pn="section-10.1-1">
	  Devices implementing BFD are often resource-constrained, whether in a
	  single session or a multidimensional set of scaled sessions.
	  Desired detection intervals for the BFD sessions, and their number,
	  are common scaling considerations for BFD implementations.  Security
	  mechanisms also impact the performance of implementations, whether in
	  software or hardware, due to the use of additional computational
	  resources these mechanisms use.
        </t>
        <t indent="0" pn="section-10.1-2">
	  The optimized procedures in this document provide a different level of
	  resistance to attack than methods using a single authentication
	  mechanism:
        </t>
        <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-10.1-3">
          <li pn="section-10.1-3.1">
	      The MCI authentication mechanisms used
	      for optimized authentication are expected to have similar
	      cryptographic strength acceptable for BFD for authenticating the
	      entire session, as described in <xref target="RFC5880" format="default" sectionFormat="of" derivedContent="RFC5880"/>.
	    </li>
          <li pn="section-10.1-3.2">
	      When the BFD state machine is attempting to move from the Down
	      state to the Up state, the MCI
	      authentication mechanism is intended to protect vs. attempt to
	      inappropriately start BFD sessions.
	    </li>
          <li pn="section-10.1-3.3">
	      When the BFD state machine is in the Up state, the MCI authentication mechanism is intended to
	      protect vs. attempt to change BFD session parameters or to reset
	      the BFD session.
	    </li>
          <li pn="section-10.1-3.4">
When the BFD state machine is in the Up state, the LCI authentication mechanism is intended to provide resistance to keeping a BFD session in the Up state inappropriately. Since the procedures for changing BFD state require utilizing the MCI mechanism, and the LCI mechanism requires that the contents of the Control Packet in the Up state remain unchanged, the only thing that successfully spoofing such packets can do is keep the session Up.
	    </li>
          <li pn="section-10.1-3.5">
	      The periodic, MCI reauthentication
	      procedure provides protection against long-term successful
	      spoofing of the LCI authentication
	      mechanism.
	    </li>
        </ul>
        <t indent="0" pn="section-10.1-4">
	  In other words, the intention of Optimized BFD procedures is to make
	  it difficult to reset or inappropriately start BFD sessions.  However,
	  protecting against keeping the session Up is seen as a less
	  interesting attack and can receive less protection.
        </t>
        <t indent="0" pn="section-10.1-5">The recent escalating series of attacks on MD5
	and SHA-1 described in <xref target="SHA-1-attack1" format="default" sectionFormat="of" derivedContent="SHA-1-attack1">Finding Collisions
	in the Full SHA-1 </xref> and <xref target="SHA-1-attack2" format="default" sectionFormat="of" derivedContent="SHA-1-attack2">New Collision
	Search for SHA-1 </xref> raise concerns about their remaining useful
	lifetime as outlined in <xref target="RFC6151" format="default" sectionFormat="of" derivedContent="RFC6151">Updated Security
	Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithm
          </xref> and <xref target="RFC6194" format="default" sectionFormat="of" derivedContent="RFC6194">Security Considerations for the SHA-0
	and SHA-1 Message-Digest Algorithm </xref>. If replaced by stronger
	algorithms, the computational overhead will make the task of
	authenticating every packet even more difficult to achieve.</t>
        <t indent="0" pn="section-10.1-6">The procedures described in this document provide a mechanism that
	could enable implementations to leverage stronger security to address
	the concerns above when strong authentication is required.  
  However,
	this requires operators to evaluate the trade-offs of the less
	computationally intensive mechanisms to adequately address their desired
	security stance.</t>
        <t indent="0" pn="section-10.1-7">Keys generated and distributed out of band for the purposes described
	in this specification are generally limited in the security they can
	provide. It is essential that these keys are selected well and
	protected when stored.</t>
      </section>
      <section anchor="YANG_Security" numbered="true" removeInRFC="false" toc="include" pn="section-10.2">
        <name slugifiedName="name-yang-security-consideration">YANG Security Considerations</name>
        <t indent="0" pn="section-10.2-1">
	  This section is modeled after the template described in <xref section="3.7.1" target="RFC9907" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9907#section-3.7.1" derivedContent="RFC9907"/>.
        </t>
        <t indent="0" pn="section-10.2-2">
	  The "ietf-bfd-opt-auth" YANG module defines a data model that
	  is designed to be accessed via YANG-based management protocols, such
	  as the Network Configuration Protocol (NETCONF) <xref target="RFC6241" format="default" sectionFormat="of" derivedContent="RFC6241"/> and RESTCONF <xref target="RFC8040" format="default" sectionFormat="of" derivedContent="RFC8040"/>.
	  These YANG-based management protocols (1) have to use a secure
	  transport layer (e.g., Secure Shell (SSH) <xref target="RFC4252" format="default" sectionFormat="of" derivedContent="RFC4252"/>,
          TLS <xref target="RFC8446" format="default" sectionFormat="of" derivedContent="RFC8446"/>, and QUIC <xref target="RFC9000" format="default" sectionFormat="of" derivedContent="RFC9000"/>)
	  and (2) have to use mutual authentication.
        </t>
        <t indent="0" pn="section-10.2-3">
	  The Network Configuration Access Control Model (NACM)
	  <xref target="RFC8341" format="default" sectionFormat="of" derivedContent="RFC8341"/> provides the means to restrict
	  access for particular NETCONF or RESTCONF users to a preconfigured
	  subset of all available NETCONF or RESTCONF protocol operations and
	  content.
        </t>
        <t indent="0" pn="section-10.2-4">
	  There are a number of data nodes defined in this YANG module that are
	  writable/creatable/deletable (i.e., "config true", which is the
	  default).  All writable data nodes are likely to be sensitive or
	  vulnerable in some network environments.  Write operations (e.g.,
	  edit-config) and delete operations to these data nodes without proper
	  protection or authentication can have a negative effect on network
	  operations.  The following subtrees and data nodes have particular
	  sensitivities/vulnerabilities:
        </t>
        <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-10.2-5">
          <li pn="section-10.2-5.1">
	    'reauth-interval' specifies the interval in Up state, after
	    which MCI authentication <bcp14>SHOULD</bcp14> be
	    performed to prevent a Person-in-the-Middle (PITM) attack. If this
	    interval is set very low, the utility of these optimization
	    procedures is lessened. If this interval is set very high, attacks
	    detected by the MCI authentication
	    mechanisms may happen overly late.
	  </li>
        </ul>
        <t indent="0" pn="section-10.2-6">
	  There are no particularly sensitive readable data nodes.
        </t>
        <t indent="0" pn="section-10.2-7">
	  There are no RPC operations defined in this model.
        </t>
      </section>
    </section>
  </middle>
  <back>
    <references pn="section-11">
      <name slugifiedName="name-references">References</name>
      <references pn="section-11.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t indent="0">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="RFC3688" target="https://www.rfc-editor.org/info/rfc3688" quoteTitle="true" derivedAnchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t indent="0">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="RFC5880" target="https://www.rfc-editor.org/info/rfc5880" quoteTitle="true" derivedAnchor="RFC5880">
          <front>
            <title>Bidirectional Forwarding Detection (BFD)</title>
            <author fullname="D. Katz" initials="D." surname="Katz"/>
            <author fullname="D. Ward" initials="D." surname="Ward"/>
            <date month="June" year="2010"/>
            <abstract>
              <t indent="0">This document describes a protocol intended to detect faults in the bidirectional path between two forwarding engines, including interfaces, data link(s), and to the extent possible the forwarding engines themselves, with potentially very low latency. It operates independently of media, data protocols, and routing protocols. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5880"/>
          <seriesInfo name="DOI" value="10.17487/RFC5880"/>
        </reference>
        <reference anchor="RFC6020" target="https://www.rfc-editor.org/info/rfc6020" quoteTitle="true" derivedAnchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t indent="0">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="RFC7950" target="https://www.rfc-editor.org/info/rfc7950" quoteTitle="true" derivedAnchor="RFC7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="August" year="2016"/>
            <abstract>
              <t indent="0">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="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t indent="0">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="RFC8341" target="https://www.rfc-editor.org/info/rfc8341" quoteTitle="true" derivedAnchor="RFC8341">
          <front>
            <title>Network Configuration Access Control Model</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t indent="0">The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
              <t indent="0">This document obsoletes RFC 6536.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="91"/>
          <seriesInfo name="RFC" value="8341"/>
          <seriesInfo name="DOI" value="10.17487/RFC8341"/>
        </reference>
        <reference anchor="RFC8349" target="https://www.rfc-editor.org/info/rfc8349" quoteTitle="true" derivedAnchor="RFC8349">
          <front>
            <title>A YANG Data Model for Routing Management (NMDA Version)</title>
            <author fullname="L. Lhotka" initials="L." surname="Lhotka"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <author fullname="Y. Qu" initials="Y." surname="Qu"/>
            <date month="March" year="2018"/>
            <abstract>
              <t indent="0">This document specifies three YANG modules and one submodule. Together, they form the core routing data model that serves as a framework for configuring and managing a routing subsystem. It is expected that these modules will be augmented by additional YANG modules defining data models for control-plane protocols, route filters, and other functions. The core routing data model provides common building blocks for such extensions -- routes, Routing Information Bases (RIBs), and control-plane protocols.</t>
              <t indent="0">The YANG modules in this document conform to the Network Management Datastore Architecture (NMDA). This document obsoletes RFC 8022.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8349"/>
          <seriesInfo name="DOI" value="10.17487/RFC8349"/>
        </reference>
        <reference anchor="RFC9314" target="https://www.rfc-editor.org/info/rfc9314" quoteTitle="true" derivedAnchor="RFC9314">
          <front>
            <title>YANG Data Model for Bidirectional Forwarding Detection (BFD)</title>
            <author fullname="M. Jethanandani" initials="M." role="editor" surname="Jethanandani"/>
            <author fullname="R. Rahman" initials="R." role="editor" surname="Rahman"/>
            <author fullname="L. Zheng" initials="L." role="editor" surname="Zheng"/>
            <author fullname="S. Pallagatti" initials="S." surname="Pallagatti"/>
            <author fullname="G. Mirsky" initials="G." surname="Mirsky"/>
            <date month="September" year="2022"/>
            <abstract>
              <t indent="0">This document defines a YANG data model that can be used to configure and manage Bidirectional Forwarding Detection (BFD).</t>
              <t indent="0">The YANG modules in this document conform to the Network Management Datastore Architecture (NMDA) (RFC 8342). This document updates "YANG Data Model for Bidirectional Forwarding Detection (BFD)" (RFC 9127).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9314"/>
          <seriesInfo name="DOI" value="10.17487/RFC9314"/>
        </reference>
      </references>
      <references pn="section-11.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="RFC1321" target="https://www.rfc-editor.org/info/rfc1321" quoteTitle="true" derivedAnchor="RFC1321">
          <front>
            <title>The MD5 Message-Digest Algorithm</title>
            <author fullname="R. Rivest" initials="R." surname="Rivest"/>
            <date month="April" year="1992"/>
            <abstract>
              <t indent="0">This document describes the MD5 message-digest algorithm. The algorithm takes as input a message of arbitrary length and produces as output a 128-bit "fingerprint" or "message digest" of the input. This memo provides information for the Internet community. It does not specify an Internet standard.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1321"/>
          <seriesInfo name="DOI" value="10.17487/RFC1321"/>
        </reference>
        <reference anchor="RFC2026" target="https://www.rfc-editor.org/info/rfc2026" quoteTitle="true" derivedAnchor="RFC2026">
          <front>
            <title>The Internet Standards Process -- Revision 3</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="October" year="1996"/>
            <abstract>
              <t indent="0">This memo documents the process used by the Internet community for the standardization of protocols and procedures. It defines the stages in the standardization process, the requirements for moving a document between stages and the types of documents used during this process. 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="9"/>
          <seriesInfo name="RFC" value="2026"/>
          <seriesInfo name="DOI" value="10.17487/RFC2026"/>
        </reference>
        <reference anchor="RFC3174" target="https://www.rfc-editor.org/info/rfc3174" quoteTitle="true" derivedAnchor="RFC3174">
          <front>
            <title>US Secure Hash Algorithm 1 (SHA1)</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="P. Jones" initials="P." surname="Jones"/>
            <date month="September" year="2001"/>
            <abstract>
              <t indent="0">The purpose of this document is to make the SHA-1 (Secure Hash Algorithm 1) hash algorithm conveniently available to the Internet community. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3174"/>
          <seriesInfo name="DOI" value="10.17487/RFC3174"/>
        </reference>
        <reference anchor="RFC4252" target="https://www.rfc-editor.org/info/rfc4252" quoteTitle="true" derivedAnchor="RFC4252">
          <front>
            <title>The Secure Shell (SSH) Authentication Protocol</title>
            <author fullname="T. Ylonen" initials="T." surname="Ylonen"/>
            <author fullname="C. Lonvick" initials="C." role="editor" surname="Lonvick"/>
            <date month="January" year="2006"/>
            <abstract>
              <t indent="0">The Secure Shell Protocol (SSH) is a protocol for secure remote login and other secure network services over an insecure network. This document describes the SSH authentication protocol framework and public key, password, and host-based client authentication methods. Additional authentication methods are described in separate documents. The SSH authentication protocol runs on top of the SSH transport layer protocol and provides a single authenticated tunnel for the SSH connection protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4252"/>
          <seriesInfo name="DOI" value="10.17487/RFC4252"/>
        </reference>
        <reference anchor="RFC6151" target="https://www.rfc-editor.org/info/rfc6151" quoteTitle="true" derivedAnchor="RFC6151">
          <front>
            <title>Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms</title>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <author fullname="L. Chen" initials="L." surname="Chen"/>
            <date month="March" year="2011"/>
            <abstract>
              <t indent="0">This document updates the security considerations for the MD5 message digest algorithm. It also updates the security considerations for HMAC-MD5. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6151"/>
          <seriesInfo name="DOI" value="10.17487/RFC6151"/>
        </reference>
        <reference anchor="RFC6194" target="https://www.rfc-editor.org/info/rfc6194" quoteTitle="true" derivedAnchor="RFC6194">
          <front>
            <title>Security Considerations for the SHA-0 and SHA-1 Message-Digest Algorithms</title>
            <author fullname="T. Polk" initials="T." surname="Polk"/>
            <author fullname="L. Chen" initials="L." surname="Chen"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="March" year="2011"/>
            <abstract>
              <t indent="0">This document includes security considerations for the SHA-0 and SHA-1 message digest algorithm. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6194"/>
          <seriesInfo name="DOI" value="10.17487/RFC6194"/>
        </reference>
        <reference anchor="RFC6241" target="https://www.rfc-editor.org/info/rfc6241" quoteTitle="true" derivedAnchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t indent="0">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" target="https://www.rfc-editor.org/info/rfc8040" quoteTitle="true" derivedAnchor="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="January" year="2017"/>
            <abstract>
              <t indent="0">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" target="https://www.rfc-editor.org/info/rfc8340" quoteTitle="true" derivedAnchor="RFC8340">
          <front>
            <title>YANG Tree Diagrams</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
            <date month="March" year="2018"/>
            <abstract>
              <t indent="0">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="RFC8446" target="https://www.rfc-editor.org/info/rfc8446" quoteTitle="true" derivedAnchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t indent="0">This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t indent="0">This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8792" target="https://www.rfc-editor.org/info/rfc8792" quoteTitle="true" derivedAnchor="RFC8792">
          <front>
            <title>Handling Long Lines in Content of Internet-Drafts and RFCs</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="E. Auerswald" initials="E." surname="Auerswald"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="June" year="2020"/>
            <abstract>
              <t indent="0">This document defines two strategies for handling long lines in width-bounded text content. One strategy, called the "single backslash" strategy, is based on the historical use of a single backslash ('\') character to indicate where line-folding has occurred, with the continuation occurring with the first character that is not a space character (' ') on the next line. The second strategy, called the "double backslash" strategy, extends the first strategy by adding a second backslash character to identify where the continuation begins and is thereby able to handle cases not supported by the first strategy. Both strategies use a self-describing header enabling automated reconstitution of the original content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8792"/>
          <seriesInfo name="DOI" value="10.17487/RFC8792"/>
        </reference>
        <reference anchor="RFC9000" target="https://www.rfc-editor.org/info/rfc9000" quoteTitle="true" derivedAnchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t indent="0">This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="RFC9907" target="https://www.rfc-editor.org/info/rfc9907" quoteTitle="true" derivedAnchor="RFC9907">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="March" year="2026"/>
            <abstract>
              <t indent="0">This document provides guidelines for authors and reviewers of specifications containing YANG data models, including IANA-maintained 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.</t>
              <t indent="0">This document obsoletes RFC 8407; it also updates RFC 8126 by providing additional guidelines for writing the IANA considerations for RFCs that specify IANA-maintained YANG modules.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="216"/>
          <seriesInfo name="RFC" value="9907"/>
          <seriesInfo name="DOI" value="10.17487/RFC9907"/>
        </reference>
        <reference anchor="RFC9986" target="https://www.rfc-editor.org/info/rfc9986" quoteTitle="true" derivedAnchor="RFC9986">
          <front>
            <title>Meticulous Keyed ISAAC for Bidirectional Forwarding Detection (BFD) Optimized Authentication</title>
            <author fullname="Alan DeKok" initials="A." surname="DeKok">
              <organization showOnFrontPage="true">InkBridge Networks</organization>
            </author>
            <author fullname="Mahesh Jethanandani" initials="M." surname="Jethanandani">
              <organization showOnFrontPage="true">Kloud Services</organization>
            </author>
            <author fullname="Sonal Agarwal" initials="S." surname="Agarwal">
              <organization showOnFrontPage="true">Cisco Systems, Inc</organization>
            </author>
            <author fullname="Ashesh Mishra" initials="A." surname="Mishra">
              <organization showOnFrontPage="true">Aalyria Technologies</organization>
            </author>
            <author fullname="Jeffrey Haas" initials="J." surname="Haas">
              <organization showOnFrontPage="true">HPE</organization>
            </author>
            <date month="June" year="2026"/>
          </front>
          <seriesInfo name="RFC" value="9986"/>
        </reference>
        <reference anchor="SHA-1-attack1" quoteTitle="true" target="https://doi.org/10.1007/11535218_2" derivedAnchor="SHA-1-attack1">
          <front>
            <title>Finding Collisions in the Full SHA-1</title>
            <author initials="X." surname="Wang">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Yin">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H." surname="Yu">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2005"/>
          </front>
          <refcontent>Advances in Cryptology - CRYPTO 2005, Lecture Notes in Computer Science, vol. 3621, pp. 17-36</refcontent>
          <seriesInfo name="DOI" value="10.1007/11535218_2"/>
        </reference>
        <reference anchor="SHA-1-attack2" target="https://csrc.nist.gov/csrc/media/events/first-cryptographic-hash-workshop/documents/wang_sha1-new-result.pdf" quoteTitle="true" derivedAnchor="SHA-1-attack2">
          <front>
            <title>Cryptanalysis on SHA-1</title>
            <author initials="X." surname="Wang">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Yao">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="F." surname="Yao">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2005"/>
          </front>
        </reference>
      </references>
    </references>
    <section anchor="examples" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-examples">Examples</name>
      <t indent="0" pn="section-appendix.a-1">
	This section tries to show some examples in how the model can
	be configured.
      </t>
      <section anchor="example-a.1.1" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.1">
        <name slugifiedName="name-single-hop-bfd-configuratio">Single-Hop BFD Configuration</name>
        <t indent="0" pn="section-appendix.a.1-1">
          This example demonstrates how a single-hop BFD session can
          be configured for optimized authentication. Note that line wrapping is used per <xref target="RFC8792" format="default" sectionFormat="of" derivedContent="RFC8792"/>.
        </t>
        <sourcecode type="xml" markers="false" pn="section-appendix.a.1-2">
=============== NOTE: '\' line wrapping per RFC 8792 ===============

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;key-chains
    xmlns="urn:ietf:params:xml:ns:yang:ietf-key-chain"
    xmlns:opt-auth="urn:ietf:params:xml:ns:yang:ietf-bfd-opt-auth"
    xmlns:bfd-mki="urn:ietf:params:xml:ns:yang:ietf-bfd-met-keyed-i\
saac"&gt;
  &lt;key-chain&gt;
    &lt;name&gt;bfd-auth-config&lt;/name&gt;
    &lt;description&gt;"An example for BFD Optimized Auth configuration."\
&lt;/description&gt;
    &lt;key&gt;
      &lt;key-id&gt;55&lt;/key-id&gt;
      &lt;lifetime&gt;
        &lt;send-lifetime&gt;
          &lt;start-date-time&gt;2017-01-01T00:00:00Z&lt;/start-date-time&gt;
          &lt;end-date-time&gt;2017-02-01T00:00:00Z&lt;/end-date-time&gt;
        &lt;/send-lifetime&gt;
        &lt;accept-lifetime&gt;
          &lt;start-date-time&gt;2016-12-31T23:59:55Z&lt;/start-date-time&gt;
          &lt;end-date-time&gt;2017-02-01T00:00:05Z&lt;/end-date-time&gt;
        &lt;/accept-lifetime&gt;
      &lt;/lifetime&gt;
      &lt;crypto-algorithm&gt;bfd-mki:optimized-sha1-meticulous-keyed-isa\
ac&lt;/crypto-algorithm&gt;
      &lt;key-string&gt;
        &lt;keystring&gt;testvector&lt;/keystring&gt;
      &lt;/key-string&gt;
    &lt;/key&gt;
  &lt;/key-chain&gt;
&lt;/key-chains&gt;
&lt;interfaces
    xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"
    xmlns:if-type="urn:ietf:params:xml:ns:yang:iana-if-type"&gt;
  &lt;interface&gt;
    &lt;name&gt;eth0&lt;/name&gt;
    &lt;type&gt;if-type:ethernetCsmacd&lt;/type&gt;
  &lt;/interface&gt;
&lt;/interfaces&gt;
&lt;routing
    xmlns="urn:ietf:params:xml:ns:yang:ietf-routing"
    xmlns:bfd-types="urn:ietf:params:xml:ns:yang:ietf-bfd-types"
    xmlns:iana-bfd-types="urn:ietf:params:xml:ns:yang:iana-bfd-type\
s"
    xmlns:opt-auth="urn:ietf:params:xml:ns:yang:ietf-bfd-opt-auth"
    xmlns:bfd-mki="urn:ietf:params:xml:ns:yang:ietf-bfd-met-keyed-i\
saac"&gt;
  &lt;control-plane-protocols&gt;
    &lt;control-plane-protocol&gt;
      &lt;type&gt;bfd-types:bfdv1&lt;/type&gt;
      &lt;name&gt;name:BFD&lt;/name&gt;
      &lt;bfd xmlns="urn:ietf:params:xml:ns:yang:ietf-bfd"&gt;
        &lt;ip-sh xmlns="urn:ietf:params:xml:ns:yang:ietf-bfd-ip-sh"&gt;
          &lt;sessions&gt;
            &lt;session&gt;
              &lt;interface&gt;eth0&lt;/interface&gt;
              &lt;dest-addr&gt;2001:db8:0:113::101&lt;/dest-addr&gt;
              &lt;desired-min-tx-interval&gt;10000&lt;/desired-min-tx-interv\
al&gt;
              &lt;required-min-rx-interval&gt;
                10000
              &lt;/required-min-rx-interval&gt;
              &lt;authentication&gt;
                &lt;key-chain&gt;bfd-auth-config&lt;/key-chain&gt;
                &lt;opt-auth:reauth-interval&gt;30&lt;/opt-auth:reauth-inter\
val&gt;
              &lt;/authentication&gt;
            &lt;/session&gt;
          &lt;/sessions&gt;
        &lt;/ip-sh&gt;
      &lt;/bfd&gt;
    &lt;/control-plane-protocol&gt;
  &lt;/control-plane-protocols&gt;
&lt;/routing&gt;</sourcecode>
      </section>
    </section>
    <section anchor="experiment" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-experimental-status">Experimental Status</name>
      <t indent="0" pn="section-appendix.b-1">
	This document describes an experiment that presents a candidate
	solution to update BFD Authentication that is currently specified in
	<xref target="RFC5880" format="default" sectionFormat="of" derivedContent="RFC5880"/>.  This experiment is intended to
	provide additional insights into what happens when the
	optimized authentication mechanism defined in this document is
	used. Here are the reasons why this document is on the Experimental track:
      </t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.b-2">
        <li pn="section-appendix.b-2.1">
          <t indent="0" pn="section-appendix.b-2.1.1">
	  In the initial stages of the document, there were significant
	  participation and reviews from the working group.  
   Since then, there have been considerable changes to the document,
   such as the use of ISAAC, the allowance for ISAAC bootstrapping
   when a BFD session comes up, and the use of a single Auth Type to
   indicate optimized authentication. These changes did not get significant review from the working
	  group and therefore do not meet the bar set in 
	  <xref target="RFC2026" section="4.1.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc2026#section-4.1.1" derivedContent="RFC2026"/>.
          </t>
        </li>
        <li pn="section-appendix.b-2.2">
          <t indent="0" pn="section-appendix.b-2.2.1">
	  There are no known implementations at this time.
          </t>
        </li>
        <li pn="section-appendix.b-2.3">
          <t indent="0" pn="section-appendix.b-2.3.1">
	  The work in this document could become very valuable in the future,
	  especially if the need for deploying BFD Authentication at scale
	  becomes a reality.
          </t>
        </li>
      </ul>
      <t indent="0" pn="section-appendix.b-3">
	This document is classified as Experimental and is not part of
	the IETF Standards Track. Implementations based on this
	document should not be considered as compliant with <xref target="RFC5880" format="default" sectionFormat="of" derivedContent="RFC5880">BFD</xref>.
      </t>
    </section>
    <section numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t indent="0" pn="section-appendix.c-1">The authors would like to thank <contact fullname="Qiufang Ma"/>,
      <contact fullname="Stephen Farrell"/>, and <contact fullname="Acee       Lindem"/> for providing directorate reviews of this document.</t>
    </section>
    <section anchor="contributors" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.d">
      <name slugifiedName="name-contributors">Contributors</name>
      <t indent="0" pn="section-appendix.d-1">
	The authors of this document would like to acknowledge <contact fullname="Reshad Rahman"/> as a contributor to this document.
      </t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.e">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Mahesh Jethanandani" initials="M." surname="Jethanandani">
        <organization showOnFrontPage="true">Arrcus</organization>
        <address>
          <postal>
            <country>United States of America</country>
          </postal>
          <email>mjethanandani@gmail.com</email>
        </address>
      </author>
      <author fullname="Ashesh Mishra" initials="A." surname="Mishra">
        <organization showOnFrontPage="true">Aalyria Technologies</organization>
        <address>
          <email>ashesh@aalyria.com</email>
        </address>
      </author>
      <author fullname="Jeffrey Haas" initials="J." surname="Haas">
        <organization showOnFrontPage="true">HPE</organization>
        <address>
          <email>jeffrey.haas@hpe.com</email>
        </address>
      </author>
      <author fullname="Ankur Saxena" initials="A." surname="Saxena">
        <organization showOnFrontPage="true">Ciena Corporation</organization>
        <address>
          <postal>
            <street>3939 N 1st Street</street>
            <city>San Jose</city>
            <region>CA</region>
            <code>95134</code>
            <country>United States of America</country>
          </postal>
          <email>ankurpsaxena@gmail.com</email>
        </address>
      </author>
      <author fullname="Manav Bhatia" initials="M." surname="Bhatia">
        <organization showOnFrontPage="true">Google</organization>
        <address>
          <postal>
            <street>Bagmane Capital Park</street>
            <city>Bengaluru</city>
            <region>Karnataka</region>
            <code>560048</code>
            <country>India</country>
          </postal>
          <email>mnvbhatia@google.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
