Internet-Draft BFD Authentication Optimization October 2025
Jethanandani, et al. Expires 11 April 2026 [Page]
Workgroup:
Network Working Group
Internet-Draft:
draft-ietf-bfd-optimizing-authentication-35
Published:
Intended Status:
Experimental
Expires:
Authors:
M. Jethanandani
Arrcus
A. Mishra
Aalyria Technologies
J. Haas
HPE
A. Saxena
Ciena Corporation
M. Bhatia
Google

Optimizing BFD Authentication

Abstract

This document describes an experimental optimization to 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 mechanism that is applied to BFD significant changes, and a less computationally intensive mechanism applied to the majority of BFD Control Packets.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 11 April 2026.

Table of Contents

1. Introduction

BFD [RFC5880] 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.

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 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 tradeoffs of the benefits of authentication vs. its impact on BFD performance.

The authentication mechanisms documented in [RFC5880], MD5 Message-Digest Algorithm [RFC1321] and Secure Hash Algorithm (SHA-1) [RFC3174], 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.

The BFD prototocol 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 sending 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.

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.

The details of the motivation for experimental status are given in Appendix B.

1.1. Requirements Language

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 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

1.2. Note to RFC Editor

This document uses several placeholder values throughout the document. Please replace them as follows and remove this note before publication.

RFC XXXX, where XXXX is the number assigned to this document at the time of publication.

RFC YYYY, where YYYY is the number assigned to [I-D.ietf-bfd-secure-sequence-numbers]

2025-10-08 with the actual date of the publication of this document.

2. Terminology

The following terms used in this document have been defined in BFD [RFC5880].

The following terms are introduced in this document.

Table 1
Term Meaning
significant change State change, a demand mode change (to D bit) or a 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 as a significant change.
More Computationally Intensive (MCI) authentication The authentication mechanism applied to BFD Control Packets that are significant changes.
Less Computationally Intensive (LCI) authentication The authentication mechanism applied to BFD Control Packets that are NOT significant changes.
configured MCI reauthentication interval Interval at which BFD control packets are retried using more computationally intensive authentication.

The authentication mechanisms described in this optimization are paired as more and less computationally intensive. 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.

3. BFD Control Packets That Require More Computationally Intensive Authentication

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 overall work. Such procedures are intended to aid BFD session scaling without compromising BFD session security.

All BFD Control Packets with the state AdminDown, Down, and Init MUST use MCI authentication.

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 Section 7.2. If optimized authentication mechanisms are in use, as defined in Section 6, the session MAY switch to the LCI mode.

The contents of an Up packet must not change aside from the Authentication Section unless MCI authentication is in use.

3.1. Protecting BFD Significant Changes with More Computationally Intensive Authentication

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 as a significant change.

Such significant changes are intended to be protected by more computationally intensive authentication.

4. Using Less Computationally Intensive Auth Types

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 a less computationally intensive authentication mechanism.

Once the session has reached the Up state, the session can use a less computationally intensive Auth Type derived from the format in Section 7. Currently, this includes:

Other mechanisms may be defined in the future.

5. Periodic More Computationally Intensive Reauthentication

When using the less computationally intensive 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 SHOULD 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 MUST be brought down.

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 control packet with the Final (F) bit set to the local system.

This "more computationally intensive reauthentication interval" for performing such periodic tests using the more computationally intensive authentication mechanism can be configured depending on the capability of the system.

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, for example every one minute, significantly reduces the computational demand for the system while maintaining security of the session across the configured MCI reauthentication interval.

6. Optimized Authentication Modes

The cryptographic authentication mechanisms specified in Section 6.7 of BFD [RFC5880] describe enabling and disabling of authentication as a one time operation. "... implementations using this mechanism SHOULD 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)." (Section 6.7.1 of [RFC5880]) Once enabled, every packet must have Authentication Bit set and the associated Authentication Type appended (Section 4.1 of [RFC5880]). In addition, it states that an implementation SHOULD NOT allow the authentication state to be changed based on the receipt of a BFD control packet.

This document proposes that an "optimized" authentication mode that permits both a more computationally intensive authentication mode and a less computationally intensive mode to be used within the same BFD session. This pairing of a MCI and a LCI mode of authentication is carried in new BFD authentication types representing a given optimized authentication type pairing.

This document defines in Section 3.1 which BFD control packets require MCI authentication. A BFD control packet that fails authentication is discarded, 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.

In this specification, the contents of an Up packet MUST NOT change aside from the Authentication Section without MCI authentication. The full procedure is documented in the following sections.

7. Signaling Optimized Authentication

When the Authentication Present (A) bit is set and the Auth Type ([RFC5880], Section 4.1) is a type supporting Optimized BFD Authentication, the Auth Type signals a pairing of a more computationally intensive authentication type and a less computationally intensive authentication type. This pairing is advertised in a single Auth Type value in order to permit implementations to be aware that:

       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                ~
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Common Optimized BFD Authentication Section

The values of Auth Type and Auth Len are defined in their respective optimized BFD authentication procedural documents.

The values of the Optimized Authentication Mode field are:

  1. When using the more computationally intensive authentication type for optimized BFD Auth Types.
  2. When using the less computationally intensive authentication type for optimized BFD Auth Types.

Authentication Specific Data: When using the more computationally intensive authentication type, the remainder of the Authentication Section carries that type's data.

7.1. Transmitting and Receiving Using Optimized Authentication

The procedures for authenticating BFD Control packets using Optimized Authentication is similar to the existing procedures covered in Section 6.7 of [RFC5880]. Optimized Authentication modes have common procedural requirements for authentication regardless of which more or less computationally intensive authentication modes are used.

The required value of the Auth Len field for a given Optimized Authentication mode is defined in the respective specifications for their respective more and less computationally intensive modes.

The following common procedures apply to authenticating BFD Control packets utilizing Optimized Authentication:

If the received BFD Control packet does not contain an Authentication Section ([RFC5880], Section 4.1), or the Auth Type is not a supported Optimized Authentication Auth Type, then the received packet MUST be discarded.

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 MUST be discarded.

If bfd.SessionState is AdminDown, Down, or Init and the Optimized Authentication Mode field is not 1, then the received packet MUST be discarded.

If bfd.SessionState is Up and there is a significant change as defined Section 3.1, and the Optimized Authentication Mode field is not 1, then the received packet MUST be discarded.

If the Auth Len field is not equal to a value appropriate for the Optimized Authentication Mode field, the packet MUST be discarded.

If bfd.AuthSeqKnown is 1, examine the Sequence Number field. If the sequence number lies outside of the range of bfd.RcvAuthSeq+1 to bfd.RcvAuthSeq+(3*Detect Mult) inclusive (when treated as an unsigned 32-bit circular number space) the received packet MUST be discarded.

Otherwise (bfd.AuthSeqKnown is 0), bfd.AuthSeqKnown MUST be set to 1, bfd.RcvAuthSeq MUST be set to the value of the received Sequence Number field, and the received packet MUST be accepted.

For the specified Auth Type and Optimized Authentication Mode, perform the appropriate authentication procedures. If authentication succeeds, the received packet MUST be accepted. Otherwise, the received packet MUST be discarded.

7.2. Optimized Authentication Operations

As noted in Section 3.1, when using optimized BFD procedures, more computationally intensive 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.

Once the BFD session has reached the Up state, the BFD Up state MUST 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 Meticulous Keyed ISAAC for BFD Authentication [I-D.ietf-bfd-secure-sequence-numbers], or other approved less intensive authentication mechanisms, to be bootstrapped before switching to the LCI mode.

It is RECOMMENDED 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.

BFD sessions using optimized authentication that succeed in reaching the Up state using MCI authentication and fail using LCI authentication SHOULD bring the issue to the attention of the operator. Further, implementations MAY wish to throttle session restarts.

It is further RECOMMENDED 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.

8. Optimizing Authentication YANG Data Model

8.1. Data Model Overview

The YANG 1.1 [RFC7950] 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 re-authenticated using more computationally intensive authentication once it is in the Up state.

8.2. Tree Diagram

The tree diagram for the YANG modules defined in this document use annotations defined in YANG Tree Diagrams. [RFC8340].

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

8.3. The YANG Data Model

This YANG module imports modules defined in YANG Key Chain [RFC8177], A YANG Data Model for Routing Management (NMDA version) [RFC8349], and YANG Data Model for Bidirectional Forwarding Detection (BFD) [RFC9314].

Implementations supporting the optimization procedures defined in this document enable optimization by using one of the newly defined key-chain crypto-algorithms defined in this YANG module.

<CODE BEGINS> file "ietf-bfd-opt-auth@2025-10-08.yang"

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).";
  }

  import ietf-bfd-met-keyed-isaac {
    prefix bfd-mki;
    reference
      "RFC YYYY: Meticulous Keyed ISAAC for BFD Optimized
                 Authentication.";
  }

  organization
    "IETF BFD Working Group";

  contact
    "WG Web:   <http://tools.ietf.org/wg/bfd>
     WG List:  <rtg-bfd@ietf.org>

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


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

     Copyright (c) 2025 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 XXXX
     (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
     for full legal notices.

     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.";

  revision "2025-10-08" {
    description
      "Initial Version.";
    reference
      "RFC XXXX: Optimizing BFD Authentication.";
  }

  feature optimized-auth {
    description
      "Indicates that the implementation supports optimized
       authentication.";
    reference
      "RFC XXXX: 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.";
  }
}

<CODE ENDS>

9. IANA Considerations

This documents requests the assignment of one URI and one YANG model.

9.1. IETF XML Registry

This document registers one URIs in the "ns" subregistry of the "IETF XML" registry [RFC3688]. Following the format in [RFC3688], the following registration is requested:


URI: urn:ietf:params:xml:ns:yang:ietf-bfd-opt-auth
Registrant Contact: The IESG
XML: N/A, the requested URI is an XML namespace.

9.2. The YANG Module Names Registry

This document registers one YANG modules in the "YANG Module Names" registry [RFC6020]. Following the format in [RFC6020], the following registrations are requested:


name:         ietf-bfd-opt-auth
namespace:    urn:ietf:params:xml:ns:yang:ietf-bfd-opt-auth
prefix:       bfd-oa
maintained by IANA: No
reference:    RFC XXXX

10. Security Considerations

10.1. Protocol Security Considerations

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.

The optimized procedures in this document provide a different level of resistance to attack than methods using a single authentication mechanism:

  • The more computationally intensive authentication mechanisms used for optimized authentication are expected to have similar cryptographic strength acceptable for BFD for authenticating the entire session, as described in [RFC5880].
  • When the BFD state machine is attempting to move from the Down state to the Up state, the more computationally intensive authentication mechanism is intended to protect vs. attempts to inappropriately start BFD sessions.
  • When the BFD state machine is in the Up state, the more computationally intensive authentication mechanism is intended to protect vs. attempts to change BFD session parameters or to reset the BFD session.
  • When the BFD state machine is in the Up state, the less computationally intensive 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 the more computationally intensive mechanism and the less computationally intensive mechanism requires that the contents of the Control Packet in the Up state not change its contents, the only thing that successfully spoofing such packets can do is keep the session Up.
  • The periodic more computationally intensive re-authentication procedure provides protection against long-term successful spoofing of the less computationally intensive authentication mechanism.

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.

The recent escalating series of attacks on MD5 and SHA-1 described in Finding Collisions in the Full SHA-1 [SHA-1-attack1] and New Collision Search for SHA-1 [SHA-1-attack2] raise concerns about their remaining useful lifetime as outlined in Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithm [RFC6151] and Security Considerations for the SHA-0 and SHA-1 Message-Digest Algorithm [RFC6194]. If replaced by stronger algorithms the computational overhead will make the task of authenticating every packet even more difficult to achieve.

The procedures described in this document provide a mechanism which could enable implementations to leverage stronger security to address the concerns above when strong authentication is required. However, this requires operators to evaluate the tradeoffs of the less computationally intensive mechanisms adequately address their desired security stance.

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.

10.2. YANG Security Considerations

This section is modeled after the template described in Section 3.7 of [I-D.ietf-netmod-rfc8407bis].

The "ietf-bfd-opt-auth" YANG module defines a data model that is designed to be accessed via YANG-based management protocols, such as NETCONF [RFC6241] or RESTCONF [RFC8040]. These YANG-based management protocols (1) have to use a secure transport layer (e.g., SSH [RFC4252] TLS [RFC8446], and QUIC [RFC9000]) and (2) have to use mutual authentication.

The Network Configuration Access Control Model (NACM) [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.

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:

  • 'reauth-interval' specifies the interval in Up state, after which more computationally intensive authentication SHOULD 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 more computationally intensive authentication mechanisms may happen overly late.

There are no particularly sensitive readable data nodes.

There are no RPC operations defined in this model.

11. Contributors

The authors of this document would like to acknowledge Reshad Rahman as a contributor to this document.

12. Acknowledgments

The authors would like to thank Qiufang Ma, Stephen Farrell, and Acee Lindem for providing directorate review of this document.

13. References

13.1. Normative References

[I-D.ietf-bfd-secure-sequence-numbers]
DeKok, A., Jethanandani, M., Agarwal, S., Mishra, A., and J. Haas, "Meticulous Keyed ISAAC for BFD Optimized Authentication", Work in Progress, Internet-Draft, draft-ietf-bfd-secure-sequence-numbers-25, , <https://datatracker.ietf.org/doc/html/draft-ietf-bfd-secure-sequence-numbers-25>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC3688]
Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10.17487/RFC3688, , <https://www.rfc-editor.org/info/rfc3688>.
[RFC5880]
Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD)", RFC 5880, DOI 10.17487/RFC5880, , <https://www.rfc-editor.org/info/rfc5880>.
[RFC6020]
Bjorklund, M., Ed., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, DOI 10.17487/RFC6020, , <https://www.rfc-editor.org/info/rfc6020>.
[RFC7950]
Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10.17487/RFC7950, , <https://www.rfc-editor.org/info/rfc7950>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
[RFC8177]
Lindem, A., Ed., Qu, Y., Yeung, D., Chen, I., and J. Zhang, "YANG Data Model for Key Chains", RFC 8177, DOI 10.17487/RFC8177, , <https://www.rfc-editor.org/info/rfc8177>.
[RFC8349]
Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for Routing Management (NMDA Version)", RFC 8349, DOI 10.17487/RFC8349, , <https://www.rfc-editor.org/info/rfc8349>.
[RFC9314]
Jethanandani, M., Ed., Rahman, R., Ed., Zheng, L., Ed., Pallagatti, S., and G. Mirsky, "YANG Data Model for Bidirectional Forwarding Detection (BFD)", RFC 9314, DOI 10.17487/RFC9314, , <https://www.rfc-editor.org/info/rfc9314>.

13.2. Informative References

[I-D.ietf-netmod-rfc8407bis]
Bierman, A., Boucadair, M., and Q. Wu, "Guidelines for Authors and Reviewers of Documents Containing YANG Data Models", Work in Progress, Internet-Draft, draft-ietf-netmod-rfc8407bis-28, , <https://datatracker.ietf.org/doc/html/draft-ietf-netmod-rfc8407bis-28>.
[RFC1321]
Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, DOI 10.17487/RFC1321, , <https://www.rfc-editor.org/info/rfc1321>.
[RFC2026]
Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, DOI 10.17487/RFC2026, , <https://www.rfc-editor.org/info/rfc2026>.
[RFC3174]
Eastlake 3rd, D. and P. Jones, "US Secure Hash Algorithm 1 (SHA1)", RFC 3174, DOI 10.17487/RFC3174, , <https://www.rfc-editor.org/info/rfc3174>.
[RFC4252]
Ylonen, T. and C. Lonvick, Ed., "The Secure Shell (SSH) Authentication Protocol", RFC 4252, DOI 10.17487/RFC4252, , <https://www.rfc-editor.org/info/rfc4252>.
[RFC6151]
Turner, S. and L. Chen, "Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms", RFC 6151, DOI 10.17487/RFC6151, , <https://www.rfc-editor.org/info/rfc6151>.
[RFC6194]
Polk, T., Chen, L., Turner, S., and P. Hoffman, "Security Considerations for the SHA-0 and SHA-1 Message-Digest Algorithms", RFC 6194, DOI 10.17487/RFC6194, , <https://www.rfc-editor.org/info/rfc6194>.
[RFC6241]
Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., and A. Bierman, Ed., "Network Configuration Protocol (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, , <https://www.rfc-editor.org/info/rfc6241>.
[RFC8040]
Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10.17487/RFC8040, , <https://www.rfc-editor.org/info/rfc8040>.
[RFC8340]
Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", BCP 215, RFC 8340, DOI 10.17487/RFC8340, , <https://www.rfc-editor.org/info/rfc8340>.
[RFC8341]
Bierman, A. and M. Bjorklund, "Network Configuration Access Control Model", STD 91, RFC 8341, DOI 10.17487/RFC8341, , <https://www.rfc-editor.org/info/rfc8341>.
[RFC8446]
Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, DOI 10.17487/RFC8446, , <https://www.rfc-editor.org/info/rfc8446>.
[RFC9000]
Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based Multiplexed and Secure Transport", RFC 9000, DOI 10.17487/RFC9000, , <https://www.rfc-editor.org/info/rfc9000>.
[SHA-1-attack1]
Wang, X., Yin, Y., and H. Yu, "Finding Collisions in the Full SHA-1", .
[SHA-1-attack2]
Wang, X., Yao, A., and F. Yao, "New Collision Search for SHA-1", .

Appendix A. Examples

This section tries to show some examples in how the model can be configured.

A.1. Single Hop BFD Configuration

This example demonstrates how a Single Hop BFD session can be configured for optimized authentication.

=============== NOTE: '\' line wrapping per RFC 8792 ===============

<?xml version="1.0" encoding="UTF-8"?>
<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">
  <key-chain>
    <name>bfd-auth-config</name>
    <description>"An example for BFD Optimized Auth configuration."\
</description>
    <key>
      <key-id>55</key-id>
      <lifetime>
        <send-lifetime>
          <start-date-time>2017-01-01T00:00:00Z</start-date-time>
          <end-date-time>2017-02-01T00:00:00Z</end-date-time>
        </send-lifetime>
        <accept-lifetime>
          <start-date-time>2016-12-31T23:59:55Z</start-date-time>
          <end-date-time>2017-02-01T00:00:05Z</end-date-time>
        </accept-lifetime>
      </lifetime>
      <crypto-algorithm>bfd-mki:optimized-sha1-meticulous-keyed-isa\
ac</crypto-algorithm>
      <key-string>
        <keystring>testvector</keystring>
      </key-string>
    </key>
  </key-chain>
</key-chains>
<interfaces
    xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"
    xmlns:if-type="urn:ietf:params:xml:ns:yang:iana-if-type">
  <interface>
    <name>eth0</name>
    <type>if-type:ethernetCsmacd</type>
  </interface>
</interfaces>
<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">
  <control-plane-protocols>
    <control-plane-protocol>
      <type>bfd-types:bfdv1</type>
      <name>name:BFD</name>
      <bfd xmlns="urn:ietf:params:xml:ns:yang:ietf-bfd">
        <ip-sh xmlns="urn:ietf:params:xml:ns:yang:ietf-bfd-ip-sh">
          <sessions>
            <session>
              <interface>eth0</interface>
              <dest-addr>2001:db8:0:113::101</dest-addr>
              <desired-min-tx-interval>10000</desired-min-tx-interv\
al>
              <required-min-rx-interval>
                10000
              </required-min-rx-interval>
              <authentication>
                <key-chain>bfd-auth-config</key-chain>
                <opt-auth:reauth-interval>30</opt-auth:reauth-inter\
val>
              </authentication>
            </session>
          </sessions>
        </ip-sh>
      </bfd>
    </control-plane-protocol>
  </control-plane-protocols>
</routing>

Appendix B. Experimental Status

This document describes an experiment that presents a candidate solution to update BFD Authentication that is currently specified in [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:

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 BFD [RFC5880].

Authors' Addresses

Mahesh Jethanandani
Arrcus
United States of America
Ashesh Mishra
Aalyria Technologies
Jeffrey Haas
HPE
Ankur Saxena
Ciena Corporation
3939 N 1st Street
San Jose, CA 95134
United States of America
Manav Bhatia
Google
Doddanekkundi
Bangalore 560048
India