<?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.7.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-xu-sidrops-rpa-verification-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="RPA-based AS_PATH Verification">BGP AS_PATH Verification Based on Route Path Authorizations (RPA) Objects</title>
    <seriesInfo name="Internet-Draft" value="draft-xu-sidrops-rpa-verification-01"/>
    <author fullname="Ke Xu">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>xuke@tsinghua.edu.cn</email>
      </address>
    </author>
    <author fullname="Shenglin Jiang">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>jiangshl@zgclab.edu.cn</email>
      </address>
    </author>
    <author fullname="Yangfei Guo">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>guoyangfei@zgclab.edu.cn</email>
      </address>
    </author>
    <author fullname="Xiaoliang Wang">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>wangxiaoliang0623@foxmail.com</email>
      </address>
    </author>
    <date year="2025" month="December" day="01"/>
    <area/>
    <workgroup>SIDR Operations</workgroup>
    <abstract>
      <?line 72?>

<t>The Route Path Authorizations (RPA) is an RPKI object that attests to the routing paths description which an Autonomous System (AS) would obey in Border Gateway Protocol (BGP) route propagation. This document specifies an RPA-based AS Path Verification methodology to mitigate, even solve, AS Path forgery and route leaks. This document also explains the various BGP security threats that RPA can help address and provides operational considerations associated with RPA deployment.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://FCBGP.github.io/rpki-rpa-verification/draft-xu-sidrops-rpa-verification.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-xu-sidrops-rpa-verification/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        SIDR Operations  mailing list (<eref target="mailto:sidrops@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/sidrops/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/sidrops/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/FCBGP/rpki-rpa-verification"/>.</t>
    </note>
  </front>
  <middle>
    <?line 76?>

<section anchor="Introduction">
      <name>Introduction</name>
      <t>The Border Gateway Protocol (BGP) is vulnerable to route hijacks and route leaks <xref target="RFC7908"/>. Several existing BGP extensions can mitigate these attacks to some extent. Resource Public Key Infrastructure (RPKI) based route origin validation (RPKI-ROV) <xref target="RFC6480"/> <xref target="RFC6811"/> <xref target="RFC9319"/> <xref target="RFC9582"/> and Signed Prefix List-based Route Origin Verification (SPL-ROV) <xref target="RPKI-SPL-Profile"/> can be used to detect and filter accidental mis-originations. BGPsec is designed to provide assurance for the AS-path attribute in the BGP UPDATE message <xref target="RFC8205"/>. <xref target="RFC9234"/> and Autonomous System Provider Authorization (ASPA) <xref target="RPKI-ASPA-Profile"/> aim at detecting and mitigating accidental route leaks.</t>
      <t>However, there are still some issues that need to be addressed. ASPA is a genius mechanism to verify BGP AS-path attribute content, which only stores customer-to-provider information in RPKI. Though the validity of the ASPA objects is verified, the relationship between two BGP neighbors cannot be attested. When two ASes announce mutually exclusive relationships, for example, AS A says AS B is its Provider and AS B says AS A is its Provider, no other ASes can verify their real relationships.</t>
      <t>The Route Path Authorizations (RPA) <xref target="RPKI-RPA-Profile"/> is a Resource Public Key Infrastructure (RPKI) object that attests to the routing paths description an Autonomous System (AS) would obey in Border Gateway Protocol (BGP) route propagation.</t>
      <t>This document specifies an RPA-based AS Path Verification methodology to prevent AS path forgery in the BGP AS-path attribute of advertised routes. RPA-based AS_PATH verification also detects and mitigates route leaks.</t>
    </section>
    <section anchor="requirements-language">
      <name>Requirements Language</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="DefinitionOfCommonlyUsedTerms">
      <name>Definition of Commonly Used Terms</name>
      <t>The definitions and semantics of Route Path Authorizations (RPA) provided in <xref target="RPKI-RPA-Profile"/> are applied here.</t>
      <ul spacing="normal">
        <li>
          <t><strong>Route is ineligible</strong>: The term has the same meaning as in <xref target="RFC4271"/>, i.e., "route is ineligible to be installed in Loc-RIB and will be excluded from the next phase of route selection."</t>
        </li>
        <li>
          <t><strong>Weakly Valid</strong>: This is one of the verification status of using RPA objects to verify AS_PATH, indicating that at least one AS in the path is validated as VALID by RPA, while all other ASes yield an UNKNOWN verification result.</t>
        </li>
        <li>
          <t><strong>VRPP</strong>: Validated RPA Payload (see <xref target="RoutePathAuthorizations"/>).</t>
        </li>
      </ul>
    </section>
    <section anchor="RoutePathAuthorizations">
      <name>Route Path Authorizations (RPA)</name>
      <t>Route Path Authorizations (RPA) objects encapsulate the routing paths description of an AS. Similar to most RPKI-signed objects, the verification results for RPA are classified into four distinct states: Valid, Weakly Valid, Invalid, and Unknown.</t>
      <t>It is <bcp14>RECOMMENDED</bcp14> that all routing paths be explicitly enumerated within a single RPA object. However, due to the inherent complexity of routing paths, providing a comprehensive list can be challenging. Consequently, it is <bcp14>RECOMMENDED</bcp14> to include routing paths with the origins/prefixes field designated as 'NONE' when the issuer is unable to specify which routes will be propagated from previousHops to nextHops. It may have a few of these routePathBlocks with the origins/prefixes field set as 'NONE'.</t>
      <t>In general, there exists a singular valid RPA object corresponding to a specific asID. However, in instances where multiple valid RPA objects containing the same asID are present, the union of the resulting routePathBlocks members constitutes the comprehensive set of members. This set, which may arise from either a single or multiple RPAs, is locally maintained by a Relying Party (RP) or a compliant router. Such an object is referred to as the Validated RPA Payload (VRPP) for the asID.</t>
      <t>Except for the empty origins, there would also be empty previousHops and nextHops in a routing path. It is <bcp14>NOT RECOMMENDED</bcp14> to describe routing path without nextHops as this does not help verify BGP AS_PATH.</t>
      <t>It is <bcp14>REQUIRED</bcp14> at least one routing path description in an RPA object. Otherwise, the empty RPA object means no routes can be transited or transformed from this asID.</t>
    </section>
    <section anchor="aspath-verification-using-rpa">
      <name>AS_PATH Verification Using RPA</name>
      <t>RPAs describe the local routing paths of an AS. They can be used to verify the AS_PATH attribute in BGP UPDATE messages.</t>
      <t>Upon receiving a BGP UPDATE message, the AS_PATH verification procedure is initiated. This process involves querying the corresponding RPA for each AS along the path individually. If the prefixes field of an RPA object is non-empty, prefix matching is performed. Furthermore, if the origins field is present, additional validations are carried out using ROA-based Route Origin Validation (ROA-ROV) as defined in <xref section="2" sectionFormat="of" target="RFC6811"/> and SPL-ROV as defined in <xref section="4" sectionFormat="of" target="RPKI-SPL-Verification"/>.</t>
      <t>An eBGP router that conforms to this specification <bcp14>MUST</bcp14> implement RPA-based AS_PATH verification procedures defined below. These procedures operates in a two-stage process:</t>
      <ol spacing="normal" type="1"><li>
          <t>Per-AS Verification: At the first stage, each AS in the AS_PATH is evaluated individually based on its corresponding RPA object, if available. This stage validates whether each AS's declared routing path is consistent with the received AS_PATH attributes.</t>
        </li>
        <li>
          <t>Path-Level Verification: At the second stage, the system derives an overall path verification status by aggregating the outcomes of the per-AS verifications. The final status reflects the consistency and completeness of the entire path with respect to the available RPAs.</t>
        </li>
      </ol>
      <section anchor="per-as-verification-algorithm">
        <name>Per-AS Verification Algorithm</name>
        <t>The verification algorithm is applied to each individual AS in the AS_PATH of the received BGP UPDATE message. For each AS, its corresponding RPA object is examined to verify attributes such as prefix scope, authorized neighbors, and origin declaration. The verification result for each AS is one of: Valid, Invalid, or Unknown, depending on the presence and content of the RPA and its alignment with the BGP announcement.</t>
        <ol spacing="normal" type="1"><li>
            <t>Query the RPA associated with AS.</t>
          </li>
          <li>
            <t>If RPA is not available, then set AS verification result is Unknown.</t>
          </li>
          <li>
            <t>Perform authorized neighbors matching against the AS_PATH. If RPA.previousHops or RPA.nextHops do not match the AS_PATH context, set AS verification result is Invalid.</t>
          </li>
          <li>
            <t>If RPA.prefixes is non-empty, perform prefix matching with the UPDATE message.</t>
          </li>
          <li>
            <t>If RPA.origins is non-empty, perform ROA-ROV and SPL-ROV validation.</t>
          </li>
          <li>
            <t>If both prefix and origin checks succeed, set AS verification result is Valid.</t>
          </li>
          <li>
            <t>If either check fails, set AS verification result is Invalid.</t>
          </li>
          <li>
            <t>Else, set AS verification result is Unknown.</t>
          </li>
        </ol>
      </section>
      <section anchor="path-level-verification-algorithm">
        <name>Path-Level Verification Algorithm</name>
        <t>This process determines whether the sequence of ASes in the AS_PATH attribute conforms to the collectively declared routing paths published in RPAs. By aggregating the per-AS verification results, the algorithm computes a comprehensive path verification result for each received BGP route.</t>
        <ol spacing="normal" type="1"><li>
            <t>Let valid_count is set equal to number of ASes with Valid. Let invalid_count is set equal to number of ASes with Invalid. Let unknown_count is set equal to number of ASes with Unknown.</t>
          </li>
          <li>
            <t>If valid_count == 0 AND invalid_count == 0, then the verification result is Unknown.</t>
          </li>
          <li>
            <t>Else, if invalid_count == 0 AND unknown_count == 0, then the verification result is Valid.</t>
          </li>
          <li>
            <t>Else, if valid_count &gt;= 1 AND invalid_count == 0, then the verification result is Weakly Valid.</t>
          </li>
          <li>
            <t>Else, if invalid_count &gt;= 1, then the verification result is Invalid.</t>
          </li>
          <li>
            <t>Else, the verification result is Unkown.</t>
          </li>
        </ol>
      </section>
      <section anchor="MitigationPolicy">
        <name>Mitigation Policy</name>
        <t>The specific configuration of a mitigation policy based on AS_PATH verification using RPA is at the discretion of the network operator. However, the following mitigation policy is highly recommended.</t>
        <t><strong>Invalid</strong>: If the AS_PATH is determined to be Invalid, then the route <bcp14>SHOULD</bcp14> be considered ineligible for route selection and <bcp14>MUST</bcp14> be kept in the Adj-RIB-In for potential future re-evaluation (see <xref target="RFC9324"/>).</t>
        <t><strong>Valid, Weakly Valid, or Unknown</strong>: When a route is evaluated as Unknown (using RPA-based AS_PATH verification), it <bcp14>SHOULD</bcp14> be treated at the same preference level as a route evaluated as Valid. But Valid has the highest priority in BGP route selection while Weakly Valid has a second priority.</t>
      </section>
    </section>
    <section anchor="OperationalConsiderations">
      <name>Operational Considerations</name>
      <t>Multiple valid RPA objects that contain the same asID could exist. In such a case, the union of these objects forms the routing path set of this AS. For a given asID, it is <bcp14>RECOMMENDED</bcp14> that a CA maintains a single RPA. If an AS holder publishes an RPA, then relying parties <bcp14>SHOULD</bcp14> assume that this object is complete for that issuer AS.</t>
      <t>If one AS receives a BGP UPDATE message with the issuer AS in the AS-path attribute which cannot match any routing path of this issuer AS, it implies that there is an AS-path forgery in this message.</t>
    </section>
    <section anchor="SecurityConsiderations">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section>
    <section anchor="IANAConsiderations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC4271">
          <front>
            <title>A Border Gateway Protocol 4 (BGP-4)</title>
            <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
            <author fullname="T. Li" initials="T." role="editor" surname="Li"/>
            <author fullname="S. Hares" initials="S." role="editor" surname="Hares"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>This document discusses the Border Gateway Protocol (BGP), which is an inter-Autonomous System routing protocol.</t>
              <t>The primary function of a BGP speaking system is to exchange network reachability information with other BGP systems. This network reachability information includes information on the list of Autonomous Systems (ASes) that reachability information traverses. This information is sufficient for constructing a graph of AS connectivity for this reachability from which routing loops may be pruned, and, at the AS level, some policy decisions may be enforced.</t>
              <t>BGP-4 provides a set of mechanisms for supporting Classless Inter-Domain Routing (CIDR). These mechanisms include support for advertising a set of destinations as an IP prefix, and eliminating the concept of network "class" within BGP. BGP-4 also introduces mechanisms that allow aggregation of routes, including aggregation of AS paths.</t>
              <t>This document obsoletes RFC 1771. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4271"/>
          <seriesInfo name="DOI" value="10.17487/RFC4271"/>
        </reference>
        <reference anchor="RFC6480">
          <front>
            <title>An Infrastructure to Support Secure Internet Routing</title>
            <author fullname="M. Lepinski" initials="M." surname="Lepinski"/>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="February" year="2012"/>
            <abstract>
              <t>This document describes an architecture for an infrastructure to support improved security of Internet routing. The foundation of this architecture is a Resource Public Key Infrastructure (RPKI) that represents the allocation hierarchy of IP address space and Autonomous System (AS) numbers; and a distributed repository system for storing and disseminating the data objects that comprise the RPKI, as well as other signed objects necessary for improved routing security. As an initial application of this architecture, the document describes how a legitimate holder of IP address space can explicitly and verifiably authorize one or more ASes to originate routes to that address space. Such verifiable authorizations could be used, for example, to more securely construct BGP route filters. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6480"/>
          <seriesInfo name="DOI" value="10.17487/RFC6480"/>
        </reference>
        <reference anchor="RFC6811">
          <front>
            <title>BGP Prefix Origin Validation</title>
            <author fullname="P. Mohapatra" initials="P." surname="Mohapatra"/>
            <author fullname="J. Scudder" initials="J." surname="Scudder"/>
            <author fullname="D. Ward" initials="D." surname="Ward"/>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>To help reduce well-known threats against BGP including prefix mis- announcing and monkey-in-the-middle attacks, one of the security requirements is the ability to validate the origination Autonomous System (AS) of BGP routes. More specifically, one needs to validate that the AS number claiming to originate an address prefix (as derived from the AS_PATH attribute of the BGP route) is in fact authorized by the prefix holder to do so. This document describes a simple validation mechanism to partially satisfy this requirement. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6811"/>
          <seriesInfo name="DOI" value="10.17487/RFC6811"/>
        </reference>
        <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="RFC9582">
          <front>
            <title>A Profile for Route Origin Authorizations (ROAs)</title>
            <author fullname="J. Snijders" initials="J." surname="Snijders"/>
            <author fullname="B. Maddison" initials="B." surname="Maddison"/>
            <author fullname="M. Lepinski" initials="M." surname="Lepinski"/>
            <author fullname="D. Kong" initials="D." surname="Kong"/>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="May" year="2024"/>
            <abstract>
              <t>This document defines a standard profile for Route Origin Authorizations (ROAs). A ROA is a digitally signed object that provides a means of verifying that an IP address block holder has authorized an Autonomous System (AS) to originate routes to one or more prefixes within the address block. This document obsoletes RFC 6482.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9582"/>
          <seriesInfo name="DOI" value="10.17487/RFC9582"/>
        </reference>
        <reference anchor="RFC9234">
          <front>
            <title>Route Leak Prevention and Detection Using Roles in UPDATE and OPEN Messages</title>
            <author fullname="A. Azimov" initials="A." surname="Azimov"/>
            <author fullname="E. Bogomazov" initials="E." surname="Bogomazov"/>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <author fullname="K. Sriram" initials="K." surname="Sriram"/>
            <date month="May" year="2022"/>
            <abstract>
              <t>Route leaks are the propagation of BGP prefixes that violate assumptions of BGP topology relationships, e.g., announcing a route learned from one transit provider to another transit provider or a lateral (i.e., non-transit) peer or announcing a route learned from one lateral peer to another lateral peer or a transit provider. These are usually the result of misconfigured or absent BGP route filtering or lack of coordination between autonomous systems (ASes). Existing approaches to leak prevention rely on marking routes by operator configuration, with no check that the configuration corresponds to that of the External BGP (eBGP) neighbor, or enforcement of the two eBGP speakers agreeing on the peering relationship. This document enhances the BGP OPEN message to establish an agreement of the peering relationship on each eBGP session between autonomous systems in order to enforce appropriate configuration on both sides. Propagated routes are then marked according to the agreed relationship, allowing both prevention and detection of route leaks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9234"/>
          <seriesInfo name="DOI" value="10.17487/RFC9234"/>
        </reference>
        <reference anchor="RPKI-RPA-Profile">
          <front>
            <title>A Profile for Forwarding Commitments (FCs)</title>
            <author fullname="Yangfei (Basil) Guo" initials="Y. B." surname="Guo">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <author fullname="Xiaoliang Wang" initials="X." surname="Wang">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Ke Xu" initials="K." surname="Xu">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Zhuotao liu" initials="Z." surname="liu">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Li Qi" initials="L." surname="Qi">
              <organization>Tsinghua University</organization>
            </author>
            <date day="18" month="February" year="2025"/>
            <abstract>
              <t>   This document defines a Cryptographic Message Syntax (CMS) protected
   content type for Forwarding Commitments (FCs) objects used in
   Resource Public Key Infrastructure (RPKI).  An FC is a digitally
   signed object that provides a means of verifying whether an IP
   address block is received from AS a to AS b and announced from AS b
   to AS c.  When validated, an FC's eContent can be used for the
   detection and mitigation of route hijacking, especially providing
   protection for the AS_PATH attribute in BGP-UPDATE.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-guo-sidrops-fc-profile-00"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <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="RFC9319">
          <front>
            <title>The Use of maxLength in the Resource Public Key Infrastructure (RPKI)</title>
            <author fullname="Y. Gilad" initials="Y." surname="Gilad"/>
            <author fullname="S. Goldberg" initials="S." surname="Goldberg"/>
            <author fullname="K. Sriram" initials="K." surname="Sriram"/>
            <author fullname="J. Snijders" initials="J." surname="Snijders"/>
            <author fullname="B. Maddison" initials="B." surname="Maddison"/>
            <date month="October" year="2022"/>
            <abstract>
              <t>This document recommends ways to reduce the forged-origin hijack attack surface by prudently limiting the set of IP prefixes that are included in a Route Origin Authorization (ROA). One recommendation is to avoid using the maxLength attribute in ROAs except in some specific cases. The recommendations complement and extend those in RFC 7115. This document also discusses the creation of ROAs for facilitating the use of Distributed Denial of Service (DDoS) mitigation services. Considerations related to ROAs and RPKI-based Route Origin Validation (RPKI-ROV) in the context of destination-based Remotely Triggered Discard Route (RTDR) (elsewhere referred to as "Remotely Triggered Black Hole") filtering are also highlighted.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="185"/>
          <seriesInfo name="RFC" value="9319"/>
          <seriesInfo name="DOI" value="10.17487/RFC9319"/>
        </reference>
        <reference anchor="RFC9324">
          <front>
            <title>Policy Based on the Resource Public Key Infrastructure (RPKI) without Route Refresh</title>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <author fullname="P. Smith" initials="P." surname="Smith"/>
            <author fullname="M. Tinka" initials="M." surname="Tinka"/>
            <date month="December" year="2022"/>
            <abstract>
              <t>A BGP speaker performing policy based on the Resource Public Key Infrastructure (RPKI) should not issue route refresh to its neighbors because it has received new RPKI data. This document updates RFC 8481 by describing how to avoid doing so by either keeping a full Adj-RIB-In or saving paths dropped due to ROV (Route Origin Validation) so they may be reevaluated with respect to new RPKI data.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9324"/>
          <seriesInfo name="DOI" value="10.17487/RFC9324"/>
        </reference>
        <reference anchor="RPKI-ASPA-Profile">
          <front>
            <title>A Profile for Autonomous System Provider Authorization</title>
            <author fullname="Alexander Azimov" initials="A." surname="Azimov">
              <organization>Yandex</organization>
            </author>
            <author fullname="Eugene Uskov" initials="E." surname="Uskov">
              <organization>JetLend</organization>
            </author>
            <author fullname="Randy Bush" initials="R." surname="Bush">
              <organization>Internet Initiative Japan</organization>
            </author>
            <author fullname="Job Snijders" initials="J." surname="Snijders">
         </author>
            <author fullname="Russ Housley" initials="R." surname="Housley">
              <organization>Vigil Security, LLC</organization>
            </author>
            <author fullname="Ben Maddison" initials="B." surname="Maddison">
              <organization>Workonline</organization>
            </author>
            <date day="18" month="August" year="2025"/>
            <abstract>
              <t>   This document defines a Cryptographic Message Syntax (CMS) protected
   content type for Autonomous System Provider Authorization (ASPA)
   objects for use with the Resource Public Key Infrastructure (RPKI).
   An ASPA is a digitally signed object through which the issuer (the
   holder of an Autonomous System identifier), can authorize one or more
   other Autonomous Systems (ASes) as its upstream providers.  When
   validated, an ASPA's eContent can be used for detection and
   mitigation of route leaks.


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sidrops-aspa-profile-20"/>
        </reference>
        <reference anchor="RPKI-SPL-Profile">
          <front>
            <title>A profile for Signed Prefix Lists for Use in the Resource Public Key Infrastructure (RPKI)</title>
            <author fullname="Job Snijders" initials="J." surname="Snijders">
              <organization>Fastly</organization>
            </author>
            <author fullname="Geoff Huston" initials="G." surname="Huston">
              <organization>APNIC</organization>
            </author>
            <date day="16" month="September" year="2024"/>
            <abstract>
              <t>   This document defines a "Signed Prefix List", a Cryptographic Message
   Syntax (CMS) protected content type for use with the Resource Public
   Key Infrastructure (RPKI) to carry the complete list of prefixes
   which an Autonomous System (the subject AS) may originate to all or
   any of its routing peers.  The validation of a Signed Prefix List
   confirms that the holder of the subject AS produced the object, and
   that this list is a current, accurate and complete description of
   address prefixes that may be announced into the routing system
   originated by the subject AS.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sidrops-rpki-prefixlist-04"/>
        </reference>
        <reference anchor="RPKI-SPL-Verification">
          <front>
            <title>Signed Prefix List (SPL) Based Route Origin Verification and Operational Considerations</title>
            <author fullname="Kotikalapudi Sriram" initials="K." surname="Sriram">
              <organization>USA National Institute of Standards and Technology</organization>
            </author>
            <author fullname="Job Snijders" initials="J." surname="Snijders">
              <organization>Fastly</organization>
            </author>
            <author fullname="Doug Montgomery" initials="D." surname="Montgomery">
              <organization>USA National Institute of Standards and Technology</organization>
            </author>
            <date day="16" month="June" year="2025"/>
            <abstract>
              <t>   The Signed Prefix List (SPL) is an RPKI object that attests to the
   complete list of prefixes which an Autonomous System (AS) may
   originate in the Border Gateway Protocol (BGP).  This document
   specifies an SPL-based Route Origin Verification (SPL-ROV)
   methodology and combines it with the ROA-based ROV (ROA-ROV) to
   facilitate an integrated mitigation strategy for prefix hijacks and
   AS forgery.  The document also explains the various BGP security
   threats that SPL can help address and provides operational
   considerations associated with SPL-ROV deployment.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sidrops-spl-verification-02"/>
        </reference>
      </references>
    </references>
    <?line 195?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
