<?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-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <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-00"/>
    <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="June" day="09"/>
    <area/>
    <workgroup>SIDR Operations</workgroup>
    <abstract>
      <?line 72?>

<t>The Route Path Authorizations (RPA) is an RPKI object that attests to the complete 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"/>. Some existing BGP extensions can partially solve or alleviate these problems. 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 security 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 complete 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>AS-path</strong>: This term defines a sequence of ASes listed in the BGP UPDATE AS_PATH or AS4_PATH attribute. This document uses the terms AS-path, AS_PATH, and AS4_PATH interchangeably.</t>
        </li>
        <li>
          <t><strong>Weakly Valid</strong>: This is one of the verification results 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 Autonomous System (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 complete 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 result 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 complete 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 Guo" initials="Y." 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="6" month="January" 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-19"/>
        </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="14" month="December" year="2024"/>
            <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-01"/>
        </reference>
      </references>
    </references>
    <?line 196?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA7Va63LcNpb+z6fASj9iu9QtS3YSRzXJpGXZsSaypNEtk93a
mkKT6G7YJMEBSEk9Lr3LPss+2X7nAOClu2V7ZmdSScQmgYNz/c6FHI1GSa3r
XB2IrcNfzsXk8q/nk6t34kZZPdOprLUpxaF0KhO4uDBNrcS5rBdi0tQLY/Xf
eYUTTy7OJ0/F2fSDSmu3lcjp1Kpb0MTt0ZS3b6K8leCvmhu7PBCuzpIkM2kp
CzCTWTmrR/fNyOnMmsqNbCVHt72to+fPE9dMC+0cftXLCpuO31y9FWJbyNwZ
nK3LTFUK/yvrrR2xpTJdg2OZ04/jySH+GIuri6u3W0nZFFNlD5IM/BwkKURS
pWvcgahtoxJI8iKRVklQ3UrujP04t6ap8Ovy+OhCnFXKej1sJdvio1piRXaA
y5Eo1X0t5qoMC/heU+rUWH/tKmk/5rqci0y72uopFJyJXGVzZZNbVTbgRohH
TxPCS75Fl4XUOS6Dxn7Wqp6NjZ3TI2nTBR4t6rpyB7u7tJJu6Vs1jst26cbu
1Jo7p3YDjV3aO9f1opli99vX8JBdW33Ua9agdTlU5+reKbx+7LePtdm8c/eL
lh4v6iLfShLJHkfqGOE/+mfW5Ll3l1+V+EsT7kKWA3HloNNFI8V1CSGt0/Uy
PE5xeSAOlf6AFfGeacqanPD1Qpcy3FRen/fNR/VzHciNVdaM03IjD5cLVc5h
SvEnLVvKzMx/Lkw5nzeyTJtSnMipgf3g8/8kQx+IvFvkP/99nuZy+jmWfsfK
mdLil8b8+/iZN2bpz/kKjv6ipclJAPHbipL+dRa7A+X7eM7z7/Zf/Dwz9/Ro
nJoiSUpjCzjWLUfWxdvXL/e/3wuX37189TxevtqLd1/tP//2ALACb3Yq9fd+
+PbVfnj8w/6Ll3x5/uvxiPDu3JqZJkQ9Hh2NoZ3Ws2fpqPLPQG31Ibl9eLqD
x1dnR2cHojCZni3FQlklpmpm8IdBrx4niS5nK5J8/8PzV5GpF3s/tJf7HX+T
y1UGKf5bJqTruBDxn21Bu0S4nYjA/PrGftQe9Hb270dGLs9PPsMHQ0Vl1Uzf
58DFyAc29dho6dwMzl0j5qp8wFqP2ApnwSqI455gttXIwUAlF+sqcVZbWQz3
blTKxYpSktFoJOQUGUCmdZJcLdQXc612QpasA2E47Yp6IWsha0JhJ2qD3wpx
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
kSXZroRo/wf1ZczE4S8AAA==

-->

</rfc>
