<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.35 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-liu-on-network-path-validation-00" category="std" consensus="true" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.4 -->
  <front>
    <title abbrev="On Network Path Validation">On Network Path Validation</title>
    <seriesInfo name="Internet-Draft" value="draft-liu-on-network-path-validation-00"/>
    <author initials="C." surname="Liu" fullname="Chunchi Liu" role="editor">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>101 Ruanjian Ave</street>
          <city>Nanjing</city>
          <code>210012</code>
          <country>China</country>
        </postal>
        <email>liuchunchi@huawei.com</email>
      </address>
    </author>
    <author initials="Q." surname="Wu" fullname="Qin Wu">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>bill.wu@huawei.com</email>
      </address>
    </author>
    <author initials="L." surname="Xia" fullname="Liang Xia">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>frank.xialiang@huawei.com</email>
      </address>
    </author>
    <date year="2023" month="July" day="09"/>
    <keyword>Path Validation</keyword>
    <keyword>Routing Security</keyword>
    <abstract>
      <?line 69?>

<t>Network path validation refers to a technology that ensures data packets to strictly travel along a chosen network path. It aims to enforce data to travel only on the assigned network path and provide evidence that the data has indeed followed this path. While existing efforts primarily focus on the control plane, path validation protects and monitors routing security in the data plane. This document provides a technical definition of the Network Path Validation problem, briefly overviews past efforts, models its ideal solution and design goals, and lists out different use case across various layers of the Internet.</t>
    </abstract>
  </front>
  <middle>
    <?line 73?>

<section anchor="intro">
      <name>Introduction</name>
      <t>In the current Internet architecture, the network layer provides best-effort service to the endpoints using it <xref target="RFC9217"/>. This means that the endpoints are unaware, unable to visualize, and unable to control the network path between them, and thus the traffic inside the path too. This deficiency not only undermines Internet routing security but also hampers the development of new concepts like path-aware networking <xref target="RFC9217"/><xref target="PAIA"/>. Exploiting this vulnerability, various routing attacks have emerged, including:</t>
      <ul spacing="normal">
        <li>Routing Hijack / Prefix Hijack: AS (Autonomous System) incorrectly announces prefix ownership, diverting normal traffic to the wrong AS.</li>
        <li>Route Injection / Traffic Detour: Attacker injects additional hops into a path, redirecting traffic to locations where it can be monitored, analyzed, or even manipulated before being sent back to the original destination.</li>
        <li>Route leak: Propagation of routing announcements beyond their intended scope <xref target="RFC7908"/>, causing unintended ASes to receive traffic.</li>
        <li>Denial of Service (DOS): Adversary overwhelms important routers with interfering traffic, preventing them from receiving and processing valid traffic.</li>
      </ul>
      <t>These attacks exploit the trusting and flexible nature of the Internet, resulting in unreliability in both path establishment and actual data forwarding. To address this issue, several works are proposed focusing on securing network path in the control plane. Resource Public Key Infrastructure (RPKI) <xref target="RFC6810"/> consider IP prefixes as resources, and their ownership must be proven by signed statements called Route Origin Authorizations (ROAs), issued by the root CA or authorized CAs of the Internet Routing Registry -- similar to how certificates work in regular PKI. Through a chain of ROAs, BGPSec <xref target="RFC8205"/> can secure an AS path.</t>
      <t>While these measures provide necessary authentication services and enhance routing security in the control plane, they have limitations. Securing a path in the control plane does not necessarily mean we can control and track the actual forwarding of traffic within these paths. To put it simply, even though we have secured highways to connect correct locations so that cars can reach their intended destinations, controlling how cars actually travel on the highways and reliably logging their movements is a separate challenge. In order to achieve this goal, an effective path validation mechanism should enable data packets to carry both mandatory routing directives and cryptographically secure transit proofs in their headers. This mechanism should serve as an orthogonal complement to existing techniques that primarily focus on the control plane. Cisco made an exploratory attempt by designing a Proof of Transit scheme using modified Shamir Secret Sharing <xref target="I-D.ietf-sfc-proof-of-transit-08"/>. Although they did not provide a rigorous security proof and the work regretfully discontinued but the question they asked is too significant to be left undiscussed.</t>
    </section>
    <section anchor="usecases">
      <name>Use Cases</name>
      <t>We have compiled a list of use cases that highlight the importance of path validation. We invite discussions to add more cases, aiming to cover as many scenarios as possible.</t>
      <section anchor="use-case-1-proof-of-service-level-assurance">
        <name>Use Case 1: Proof of Service Level Assurance</name>
        <t>Internet Service Providers (ISPs) often have different levels of routing nodes with varying service qualities. When customers like Alice subscribe to premium plans with higher prices, it is reasonable for them to expect superior connection quality, including higher bandwidth and lower latency. Therefore, it would be beneficial to have a mechanism that ensures Alice's traffic exclusively traverses premium routing nodes. Additionally, it is important to provide Alice with verifiable proof that such premium services are indeed being delivered.</t>
      </section>
      <section anchor="use-case-2-proof-of-security-service-processing">
        <name>Use Case 2: Proof of Security Service Processing</name>
        <t>Service Function Chaining enables the abstraction of services such as firewall filtering and intrusion prevention systems. Enterprises need to demonstrate to others or verify internally that their outbound and inbound traffic has passed through trusted security service functions. In this context, the service function acts as the node that must be transited. After the processing and endorsing of these security service functions, traffic becomes verifiably more reliable and more traceable, making it possible to reduce spamming and mitigate Distributed Denial-of-Service (DDoS) attacks.</t>
      </section>
      <section anchor="use-case-3-security-sensitive-communication">
        <name>Use Case 3: Security-sensitive Communication</name>
        <t>Routing security is a critical concern not only on the Internet but also within private networks. End-to-end encryption alone may not be sufficient since bad cryptographic implementations could lead to statistical information leak, and bad cryptographic implementation or API misuse is not uncommon <xref target="BADCRYPTOIMPL1"/><xref target="BADCRYPTOIMPL2"/>. If a flow of traffic is maliciously detoured to the opposing AS and secretly stored for cryptanalysis, useful information (such as pattern of plaintexts) could be extracted by the adversary. Thus, when given a specific path or connection, it is crucial to ensure that data packets have solely traveled along that designated route without exceeding any limits. Ultimately, it would be advantageous to provide customers with verifiable evidence of this fact.</t>
      </section>
    </section>
    <section anchor="designgoals">
      <name>Design Goals</name>
      <t>As the name suggests, the Network Path Validation mechanism aims to achieve two main goals:</t>
      <ol spacing="normal" type="1"><li>Enforcement: Committing to a given network path and enforcing traffic to traverse the designated nodes in the specified order.</li>
        <li>Validation: Verify the traffic indeed transited the designated nodes in exact order specified for this path.</li>
      </ol>
      <t>The enforcement and validation to the traffic forwarding are two sides of a coin. In order to achieve these goals, two additional pieces of information must be added to the data header.</t>
      <ol spacing="normal" type="1"><li>Routing Directive: A routing directive commands the exact forwarding of the data packet hop-by-hop, disobeying which will cause failure and/or undeniable misconduct records.</li>
        <li>Transit Proof: A transit proof is a cryptographic proof that securely logs the exact nodes transited by this data packet.</li>
      </ol>
    </section>
    <section anchor="idealsolution">
      <name>Modelling the Ideal Solution</name>
      <section anchor="roles">
        <name>Roles:</name>
        <t>The path validation mechanism should include three roles:</t>
        <ul spacing="normal">
          <li>The network operator chooses or be given a routing path P and commit to it. P = (n_1, n_2, ..., n_i, ..., n_N) is an ordered vector consists of N nodes. The network operator also does the setup and pre-distribution of the public parameters.</li>
          <li>The forwarding "node" is a physical network device or a virtual service that processes and forwards the data traffic. Within that path, this node is the minimal atomic transit unit meaning there are no other perceptible inferior nodes between these regular nodes.</li>
          <li>The observer is an abstract role that represents public knowledge. Any publicized information is known to the observer. Any person or device who is interested in examining the trustworthiness of this routing path could be an instance of observer. An observer can verify publicized information such as node identity or transit proof with an unbiased property.</li>
        </ul>
      </section>
      <section anchor="required-functionality">
        <name>Required Functionality:</name>
        <t>The path validation mechanism consists of the following algorithms:</t>
        <ol spacing="normal" type="1"><li>
            <t>Configure: Setup control plane parameters based on a security parameter.
            </t>
            <ul spacing="normal">
              <li>Input: Security parameter</li>
              <li>Output: Control plane parameter distributed</li>
            </ul>
          </li>
          <li>
            <t>Commit: Generates a commitment proof for the chosen path using public parameters and the path itself.
            </t>
            <ul spacing="normal">
              <li>Input: public parameters, path P</li>
              <li>Output: Commitment Proof C of the path P</li>
            </ul>
          </li>
          <li>
            <t>CreateTransitProof (in-situ / altogether): Generates transit proofs for individual nodes or sets of nodes, either during data processing or when transmission finishes.
            </t>
            <ul spacing="normal">
              <li>Input: public parameters, index i of node n_i or indices I of a set of node n_I, identity information of node n_i or set of nodes n_I.</li>
              <li>Output: Transit proof p_i or batch transit proof p_I</li>
            </ul>
          </li>
          <li>
            <t>VerifyTransitProof (in-situ / altogether): Verifies transit proofs for individual nodes or sets of nodes, either in-step or all at once.
            </t>
            <ul spacing="normal">
              <li>Input: public parameters, transit proof p_i/p_I, index i of node n_i or indices I of a set of node n_I, identity information of node n_i or set of nodes n_I.</li>
              <li>Output: success = 1, fail = 0</li>
            </ul>
          </li>
        </ol>
        <t>The Network Operator performs the Configure and Commit steps. The CreateTransitProof step could be done by either each node n_i during he is processing the data, or the end node n_N when the transmission finishes altogether. That being said, the VerifyTransitProof step can also be executed in an in-situ (for step-by-step control and visibility) or one-time fashion. Usually the VerifyTransitProof step is executed by the observer, but it can also be executed by the next-hop node for origin verification.</t>
      </section>
    </section>
    <section anchor="security">
      <name>Security</name>
      <t>As we can see, the creation and verification of the transit proof is the critical part of the mechanism. Therefore, we define the security of the Network Path Validation mechanism around the security of the transit proof:</t>
      <t>We say a Network Path Validation mechanism is secure if the transit proof is correct, unforgeable and binding.</t>
      <ul spacing="normal">
        <li>
          <strong>Correctness:</strong>
Transit proof created by the right node n_i at the position i must pass the verification. (probability of a correct proof not passing verification is smaller than a negligible function)</li>
        <li>
          <strong>Unforgeability:</strong> Transit proof at position i must only be created by the node n_i. (probability of a forged proof passing verification is smaller than a negligible function)</li>
        <li>
          <strong>Binding:</strong> An identity value at position i different than what is committed created by polynomial adversary cannot pass a verification check.</li>
      </ul>
      <t>Other security discussions like replay attack resistance are discussed separately. Since transit proof is added to the header, the compactness of proof, short proof creation and verification time is also critical. Ideally:</t>
      <ul spacing="normal">
        <li>
          <strong>Efficiency:</strong> The creation time, verification time and size of the transit proof is sublinear to the number of total nodes on a path.</li>
      </ul>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC8205">
          <front>
            <title>BGPsec Protocol Specification</title>
            <author fullname="M. Lepinski" initials="M." role="editor" surname="Lepinski"/>
            <author fullname="K. Sriram" initials="K." role="editor" surname="Sriram"/>
            <date month="September" year="2017"/>
            <abstract>
              <t>This document describes BGPsec, an extension to the Border Gateway Protocol (BGP) that provides security for the path of Autonomous Systems (ASes) through which a BGP UPDATE message passes. BGPsec is implemented via an optional non-transitive BGP path attribute that carries digital signatures produced by each AS that propagates the UPDATE message. The digital signatures provide confidence that every AS on the path of ASes listed in the UPDATE message has explicitly authorized the advertisement of the route.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8205"/>
          <seriesInfo name="DOI" value="10.17487/RFC8205"/>
        </reference>
        <reference anchor="RFC6810">
          <front>
            <title>The Resource Public Key Infrastructure (RPKI) to Router Protocol</title>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>In order to verifiably validate the origin Autonomous Systems of BGP announcements, routers need a simple but reliable mechanism to receive Resource Public Key Infrastructure (RFC 6480) prefix origin data from a trusted cache. This document describes a protocol to deliver validated prefix origin data to routers. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6810"/>
          <seriesInfo name="DOI" value="10.17487/RFC6810"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC9217">
          <front>
            <title>Current Open Questions in Path-Aware Networking</title>
            <author fullname="B. Trammell" initials="B." surname="Trammell"/>
            <date month="March" year="2022"/>
            <abstract>
              <t>In contrast to the present Internet architecture, a path-aware internetworking architecture has two important properties: it exposes the properties of available Internet paths to endpoints, and it provides for endpoints and applications to use these properties to select paths through the Internet for their traffic. While this property of "path awareness" already exists in many Internet-connected networks within single domains and via administrative interfaces to the network layer, a fully path-aware internetwork expands these concepts across layers and across the Internet.</t>
              <t>This document poses questions in path-aware networking, open as of 2021, that must be answered in the design, development, and deployment of path-aware internetworks. It was originally written to frame discussions in the Path Aware Networking Research Group (PANRG), and has been published to snapshot current thinking in this space.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9217"/>
          <seriesInfo name="DOI" value="10.17487/RFC9217"/>
        </reference>
        <reference anchor="RFC7908">
          <front>
            <title>Problem Definition and Classification of BGP Route Leaks</title>
            <author fullname="K. Sriram" initials="K." surname="Sriram"/>
            <author fullname="D. Montgomery" initials="D." surname="Montgomery"/>
            <author fullname="D. McPherson" initials="D." surname="McPherson"/>
            <author fullname="E. Osterweil" initials="E." surname="Osterweil"/>
            <author fullname="B. Dickson" initials="B." surname="Dickson"/>
            <date month="June" year="2016"/>
            <abstract>
              <t>A systemic vulnerability of the Border Gateway Protocol routing system, known as "route leaks", has received significant attention in recent years. Frequent incidents that result in significant disruptions to Internet routing are labeled route leaks, but to date a common definition of the term has been lacking. This document provides a working definition of route leaks while keeping in mind the real occurrences that have received significant attention. Further, this document attempts to enumerate (though not exhaustively) different types of route leaks based on observed events on the Internet. The aim is to provide a taxonomy that covers several forms of route leaks that have been observed and are of concern to the Internet user community as well as the network operator community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7908"/>
          <seriesInfo name="DOI" value="10.17487/RFC7908"/>
        </reference>
        <reference anchor="I-D.ietf-sfc-proof-of-transit-08">
          <front>
            <title>Proof of Transit</title>
            <author fullname="Frank Brockners" initials="F." surname="Brockners">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Shwetha Bhandari" initials="S." surname="Bhandari">
              <organization>Thoughtspot</organization>
            </author>
            <author fullname="Tal Mizrahi" initials="T." surname="Mizrahi">
              <organization>Huawei Network.IO Innovation Lab</organization>
            </author>
            <author fullname="Sashank Dara" initials="S." surname="Dara">
              <organization>Seconize</organization>
            </author>
            <author fullname="Stephen Youell" initials="S." surname="Youell">
              <organization>JP Morgan Chase</organization>
            </author>
            <date day="1" month="November" year="2020"/>
            <abstract>
              <t>   Several technologies such as Traffic Engineering (TE), Service
   Function Chaining (SFC), and policy based routing are used to steer
   traffic through a specific, user-defined path.  This document defines
   mechanisms to securely prove that traffic transited a defined path.
   These mechanisms allow to securely verify whether, within a given
   path, all packets traversed all the nodes that they are supposed to
   visit.  This document specifies a data model to enable these
   mechanisms using YANG.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sfc-proof-of-transit-08"/>
        </reference>
        <reference anchor="PAIA" target="https://ieeexplore.ieee.org/document/8345560">
          <front>
            <title>Adding Path Awareness to the Internet Architecture</title>
            <author>
              <organization/>
            </author>
            <date year="2018" month="April"/>
          </front>
        </reference>
        <reference anchor="BADCRYPTOIMPL1" target="https://dl.acm.org/doi/10.1145/3180155.3180201">
          <front>
            <title>Secure coding practices in Java":" challenges and vulnerabilities</title>
            <author>
              <organization/>
            </author>
            <date year="2018" month="May"/>
          </front>
        </reference>
        <reference anchor="BADCRYPTOIMPL2" target="https://www.usenix.org/conference/usenixsecurity12/technical-sessions/presentation/heninger">
          <front>
            <title>Mining Your Ps and Qs":" Detection of Widespread Weak Keys in Network Devices</title>
            <author>
              <organization/>
            </author>
            <date year="2012" month="August"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 178?>



  </back>
  <!-- ##markdown-source:
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
I0EwAAA=

-->

</rfc>
