<?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.19 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-sriram-sidrops-asra-verification-00" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.2 -->
  <front>
    <title abbrev="Enhancement using ASPA and ASRA">Autonomous System Relationship Authorization (ASRA) as an Extension to ASPA for Enhanced AS Path Verification</title>
    <seriesInfo name="Internet-Draft" value="draft-sriram-sidrops-asra-verification-00"/>
    <author initials="K." surname="Sriram" fullname="Kotikalapudi Sriram">
      <organization>NIST</organization>
      <address>
        <postal>
          <city>Gaithersburg, MD 20899</city>
          <country>United States of America</country>
        </postal>
        <email>ksriram@nist.gov</email>
      </address>
    </author>
    <author initials="N." surname="Geng" fullname="Nan Geng">
      <organization>Huawei</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>gengnan@huawei.com</email>
      </address>
    </author>
    <author initials="A." surname="Herzberg" fullname="Amir Herzberg">
      <organization>University of Connecticut</organization>
      <address>
        <postal>
          <city>Storrs, CT 06269</city>
          <country>United States of America</country>
        </postal>
        <email>amir.herzberg@uconn.edu</email>
      </address>
    </author>
    <date year="2024" month="October" day="13"/>
    <area>ops</area>
    <workgroup>sidrops</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 50?>

<t>Autonomous System Provider Authorization (ASPA) record authorizes provider ASes of a customer AS (CAS).
While ASPA-based AS_PATH verification can correctly detect and mitigate route leaks and some forged-origin or forged-path-segment hijacks, it fails to detect some malicious path manipulations for routes that are received from transit providers.
This document utilizes a new RPKI object called Autonomous System Relationship Authorization (ASRA) that significantly enhances AS_PATH verification complementing ASPA.
ASRA fills in a significant gap in the ASPA method by adding the capability to detect fake links in the AS_PATHs in BGP Updates propagated from providers to customers.
ASRA achieves this by allowing an AS to register additional AS relationships, i.e., customers and lateral peers.</t>
    </abstract>
  </front>
  <middle>
    <?line 58?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Autonomous System Provider Authorization (ASPA) record authorizes provider ASes of a customer (subject) AS <xref target="I-D.ietf-sidrops-aspa-profile"/>.
While ASPA-based AS_PATH verification can correctly detect and mitigate route leaks and some forged-origin or forged-path-segment hijacks, it fails to detect some malicious path manipulations for routes that are received from transit providers (see Appendix B and Section 9 of <xref target="I-D.ietf-sidrops-aspa-verification"/>).
This document utilizes a new RPKI object called Autonomous System Relationship Authorization (ASRA) that significantly enhances AS_PATH verification complementing ASPA.
The Cryptographic Message Syntax (CMS) protected content type for the RPKI ASRA object is defined in [I-D.geng-sidrops-asra-profile]. 
ASRA fills in a significant gap in the ASPA method by adding the capability to detect fake links in the AS_PATHs in BGP Updates propagated from providers to customers.
ASRA achieves this by allowing an AS to register additional AS relationships, i.e., customers and lateral peers.</t>
      <t>ASPA already has the capability of detecting forged-origin or forged-path-segment hijacks (<xref target="use-case"/>) when a verifying AS receives a BGP Update from a customer or lateral peer.
ASRA adds the capability of detecting the same when a verifying AS receives a BGP Update from a provider.
A forged-origin or forged-path-segment hijack involves a fake link (i.e., forged AS peering).
The ASRA algorithm operates in conjunction with ASPA in such a way that it fully preserves the route leak detection capabilities of ASPA while adding the fake link detection capability.
<!--
The algorithm is designed judiciously so that it introduces no vulnerability (or fragility) in the fundamental ASPA-based method.
This is accomplished by the following principle in the design: Given AS(i) and AS(i+1) are two consecutive unique ASes in the AS path, an ASRA attestation from AS(i+1) to AS(i), i.e., ASRA in the direction opposite to the BGP Update flow, is given no consideration ({{Alg}}).
-->
      </t>
      <t>Incremental benefit is accrued by early adopters. An AS that deploys ASPA and ASRA prevents an offending AS from faking a link to it if the receiving/verifying AS also deploys ASPA and ASRA. The fake link will be detected by the receiving AS even if no other AS in the received AS path has adopted ASPA or ASRA.</t>
      <t>The reader is expected to be familiar with the following related documents: <xref target="I-D.ietf-sidrops-aspa-profile"/>, <xref target="I-D.ietf-sidrops-aspa-verification"/>, <xref target="I-D.ietf-sidrops-8210bis"/>.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>The usage of terms follows Section 3 of <xref target="I-D.ietf-sidrops-aspa-verification"/>.</t>
        <!--
Additional term used in this document:

        - Fake-Link function: The function Fake-Link(AS(i), AS(i+1)) =
          Detected/Not Detected indicates whether or not AS(i+1)
          is detected to be faking the link to AS(i) in the AS_PATH.   

Detected/Not Detected better because False implied not Fake 
-->

</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>
    <section anchor="use-case">
      <name>AS Path Security Problems Addressed by ASRA</name>
      <section anchor="fake-link-attack-provider-attacking-a-customer">
        <name>Fake-Link Attack: Provider Attacking a Customer</name>
        <t>ASPA's properties of detection of forged-origin or forged-path-segment hijacks work only when the BGP Update is received from a customer or lateral peer (see Appendix B in <xref target="I-D.ietf-sidrops-aspa-verification"/>).
The use of ASRA (together with ASPA) extends these properties to scenarios where the Update is received from a transit provider.
This is achieved due to the added capability of detecting fake links in the AS path with the assistance of ASRAs.
ASPA alone cannot detect fake links.</t>
        <t>An example scenario is illustrated in <xref target="fig-path-shortened-1"/>.
Assume that all ASes shown in the Figure (the attacker AS(6) being a possible exception) register ASPA records and do ASPA-based AS_PATH verification.
Where a link is marked C2P (Customer-to-Provider), it indicates that the AS shown below is a customer of the provider AS shown above.
AS(1) originates the BGP route for prefix P which propagates to the other ASes. The AS_PATH received by AS(6) is path{5,4,3,2,1}.
However, the misbehaving AS(6) shortens the path by faking link with AS(2) and propagates the route to AS(7) with a shortened path {6,2,1} to AS(7).
AS(7) fails to detect the manipulated path based on verification using only ASPAs.
It chooses this path over the other valid path via AS(8).
However, if ASRA is deployed by AS(2), then AS(2)'s ASPA and ASRA can indicate that AS(6) is not connected to AS(2), and the faked link from AS(6) to AS(2) will be detected.
If ASRA is deployed by AS(1), AS(2), and AS(4) also, then AS(6) is prevented from conducting the forged-origin or forged-path segment type of attack on its customer AS(7) (in this scenario).
The details about the registration of ASRA and the algorithms for AS path verification using ASPAs and ASRAs are provided in <xref target="record"/> and <xref target="Alg"/>, respectively.</t>
        <figure anchor="fig-path-shortened-1">
          <name>AS_PATH shortened by a misbehaving provider.</name>
          <artwork><![CDATA[
            +-------+      +-------+  path{5,4,3,2,1}
            | AS(4) |------| AS(5) |--------------
            +-------+      +-------+              \
    path{3,2,1}/                \                  \ (C2P)
              /(C2P)             \                  \
      +-------+                   \              +-------+
      | AS(3) |    path{5,4,3,2,1} \             | AS(8) |
      +-------+               (C2P) \            +-------+
path{2,1} |                          \               |
    (C2P) |                           \              |
      +-------+    (Fake link)     +-------+         |path{8,5,4,
      | AS(2) |********************| AS(6) |         |    3,2,1}
      +-------+                    +-------+         | (C2P)
  path{1} |                            |path{6,2,1}  |
    (C2P) |                       (C2P)|(shortened)  |
      +-------+                    +-------+         /
      | AS(1) |                    | AS(7) |--------/
      +-------+                    +-------+
          | (Origin)            (Validating AS)
          P     
]]></artwork>
        </figure>
      </section>
      <section anchor="fake-link-attack-customer-attacking-its-non-adopting-provider-and-other-customer">
        <name>Fake-Link Attack: Customer Attacking its Non-Adopting Provider and Other Customer</name>
        <t><xref target="fig-path-shortened-2"/> illustrates a scenario in which one customer AS(6) of the non-adopting provider AS(7) attacks the provider which in turn propagates the attack (Update) to its other customer AS(5).
In this example (<xref target="fig-path-shortened-2"/>), the provider AS(7) has not adopted ASPA but all other ASes have.
AS(5) is the receiver performing ASPA-based AS path verification.
AS(6) conducts a fake-link (forged-origin) attack on AS(7) which accepts the route and propagates it to AS(5).
AS(5) receives two routes (one each from AS(7) and AS(4)) and per-ASPA verification, the shorter route from AS(7) is Unknown while the longer route is Valid.
But since both Valid and Unknown routes are eligible for path selection, AS(5) would select the shorter path from AS(7) and is thus deceived in effect by AS(6).
If ASRA is deployed by AS(1) and AS(5), then AS(5) can detect and mitigate the fake-link (forged-origin) attack using ASRA and ASPA data (<xref target="Alg"/>).</t>
        <figure anchor="fig-path-shortened-2">
          <name>Customer attacking its non-adopting provider and another customer.</name>
          <artwork><![CDATA[
            +-------+                                 +-------+
            | AS(3) |---------------------------------| AS(4) |
            +-------+                                 +-------+
      path{2,1}/                                             |
              /(C2P)                            path{4,3,2,1}|
      +-------+                        +-------+       (C2P) |
      | AS(2) |                        | AS(7) |             |
      +-------+                        +-------+             |
  path{1} |                     path{6,1}/    \path{7,6,1}   /
    (C2P) |                       (C2P) /      \(C2P)       /
      +-------+  (Fake link)     +-------+      +-------+  /
      | AS(1) |******************| AS(6) |      | AS(5) |_/
      +-------+                  +-------+      +-------+
          | (Origin)                          (Validating AS)
          P     
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="record">
      <name>ASRA Registration Recommendations</name>
      <t>The term "Compliant AS" or "compliant BGP router" in this document refers to one that is compliant with the specifications in this document.
A compliant AS that has a valid ASRA record <bcp14>MUST</bcp14> also have a valid ASPA record.
A valid ASRA record(s) for a signer (subject) AS that does not have a valid ASPA record <bcp14>MUST</bcp14> be ignored (considered unusable) for AS path verification purposes.</t>
      <t>There are three subcategories of ASRAs defined: ASRA1, ASRA2, and ASRA3 [I-D.geng-sidrops-asra-profile].
They are distinguished by a subcategory field by setting its value to 1, 2, or 3, respectively.
ASRA1 and ASRA2 are used to register the lists of customers and lateral peers, respectively.
Alternatively, if the subject AS does not wish to separately disclose customers and lateral peers, it <bcp14>MAY</bcp14> choose to register an ASRA3 to register the combined list of customers and lateral peers.
An ASRA-compliant AS <bcp14>MUST</bcp14> either register ASRA3 alone or register both ASRA1 and ASRA2.
To signal that there are no neighbors to report in a subcategory, AS 0 <bcp14>MUST</bcp14> be included in the corresponding ASRA subcategory in the payload field.
<!-- To signal that the AS does not wish to disclose certain type of neighbors (e.g., Customers), it MAY create an ASRA of the corresponding type and include a special AS number (TBD) in the payload field. -->
      </t>
      <t>If it is found that an AS has X.509 valid ASRA3 and simultaneously has X.509 valid ASRA1 and/or ASRA2, then only the ASRA3 <bcp14>MUST</bcp14> be considered for AS path verification and the ASRA subcategories ASRA1 and ASRA2 <bcp14>MUST</bcp14> be ignored.</t>
      <t>It is highly <bcp14>RECOMMENDED</bcp14> that an AS (compliant signer AS) register and maintain either a single ASRA3 object or a single object of each subcategory ASRA1 and ASRA2.
Such a practice helps prevent race conditions during ASRA updates.
If multiple X.509 valid ASRAs of a subcategory exist for given subject AS, the ASes listed in all such ASRAs will be combined (by the relying party) into one list of neighbors of the subcategory in consideration.
This combined list will be used for AS path verification purposes.</t>
      <t>All neighbors that are customers or lateral peers of the signer AS <bcp14>MUST</bcp14> be included in an ASRA(s) of an appropriate subcategory following above-mentioned recommendations.</t>
      <t>A pair of compliant ASes in a mutual transit relationship are required to include each other in their respective ASPA (per <xref target="I-D.ietf-sidrops-aspa-verification"/>).
They <bcp14>MUST NOT</bcp14> further include each other in ASRA1, ASRA2, or ASRA3.
A compliant AS that has a complex relationship with a neighbor AS where one of the relationships is Provider is required to include the other AS in its ASPA (per <xref target="I-D.ietf-sidrops-aspa-verification"/>).
The AS <bcp14>MUST NOT</bcp14> further include the other AS in ASRA1, ASRA2, or ASRA3.
A compliant AS that has a complex relationship with a neighbor AS where none of the relationships are Provider implies that its relationships with the neighbor AS are customer and lateral peer.
In such a case, the AS <bcp14>MUST</bcp14> include the neighbor AS in its ASRA3 if doing ASRA3, otherwise in its ASRA1 as well as ASRA2.</t>
      <t>The Route Server (RS) to RS-client relationship is similar to the provider-to-customer relationship. So, a compliant non-transparent RS AS <bcp14>MUST</bcp14> either (1) list all its RS-clients as customers in ASRA3, or (2) list all its RS-clients as customers in ASRA1 and register an ASRA2 with only AS 0 listed in the set of lateral peers.</t>
    </section>
    <section anchor="Alg">
      <name>Algorithms for Enhancement of AS Path Verification Using ASRA</name>
      <t>In this section, two algorithms are described which enhance AS path verification by augmenting ASPA-based verification <xref target="I-D.ietf-sidrops-aspa-verification"/> with ASRA data. 
The basic principles behind each algorithm are explained.
(The intention is that the SIDROPS WG discussions will help decide which algorithm to select.)</t>
      <t>Let the sequence {AS(N), AS(N-1),..., AS(2), AS(1)} represent the AS_PATH in terms of unique ASNs, where AS(1) is the origin AS and AS(N) is the most recently added AS and neighbor of the receiving/verifying AS.
The terms AS path and AS_PATH are interchangeably used in this document.
N is the AS path length in unique ASes.
Let AS(N+1) represent the receiving AS that is verifying the entire received AS path.
For a given AS hop, say AS(i) to AS(i+1), AS(i) is the sender and AS(i+1) is the receiver.
For each such AS hop in the AS path, the algorithms seek to check if the hop is a fake link, i.e., AS(i+1) forging a connection to AS(i).</t>
      <t>In the descriptions that follow, a valid ASPA or ASRA is one that is X.509 valid.</t>
      <section anchor="AlgA">
        <name>Algorithm A (Less Strict)</name>
        <t>For a given AS hop AS(i) to AS(i+1), algorithm A gives precedence to the ASPA created by the receiver AS(i+1) over the ASRA created by the sender AS(i), and hence it is less strict (compared to Algorithm B (<xref target="AlgB"/>)).
This algorithm can be used under the assumption that AS(i+1) is very unlikely to create a false ASPA record (i.e., falsely including AS(i) as a provider) because it is a digitally signed object and hence repudiation is hard.
However, this algorithm does not guard against the creation of a false ASPA record and under such conditions the stricter Algorithm B (<xref target="AlgB"/>) must be used.</t>
        <section anchor="FL-a">
          <name>Fake Link Determination (Alg. A)</name>
          <t>The following is the procedure (per Algorithm A) for determining if the AS(i) to AS(i+1) hop in the AS path is a fake link.</t>
          <artwork><![CDATA[
    - If AS(i) has valid ASPA(s) and they do not include 
      AS(i+1) as a Provider,
    - AND if AS(i) has valid ASRA(s) and they do not include 
      AS(i+1) as a customer or lateral peer,
    - AND {EITHER AS(i+1) has no valid ASPA OR {AS(i+1) has 
      valid ASPA(s) and they do not include AS(i) as a Provider},
    - then set Fake-Link(AS(i), AS(i+1)) = Detected,
    - Else, set Fake-Link(AS(i), AS(i+1)) = Not Detected.
]]></artwork>
        </section>
        <section anchor="enhancement-to-as-path-verification-using-asra-alg-a">
          <name>Enhancement to AS Path Verification Using ASRA (Alg. A)</name>
          <section anchor="algorithm-for-upstream-paths">
            <name>Algorithm for Upstream Paths</name>
            <t>Remains unchanged and the same as described in Section 7.2 of <xref target="I-D.ietf-sidrops-aspa-verification"/>.</t>
          </section>
          <section anchor="DA-a">
            <name>Algorithm for Downstream Paths (Alg. A)</name>
            <t>The parameters min_up_ramp and min_down_ramp represent ramp lengths (in # ASes), and are computed using only ASPAs (see Section 7 of <xref target="I-D.ietf-sidrops-aspa-verification"/> and <xref target="ramps"/> below).
Successive ASPAs affirm the up-ramp from AS(1) to AS(K), where K = min_up_ramp.<br/>
The up-ramp stops at AS(K) because AS(K) does not have a valid ASPA or its valid ASPA(s) do not include AS(K+1) as a provider.
The down-ramp from AS(L) to AS(N) is also affirmed by successive ASPAs, where L = N - min_down_ramp + 1.
The top of the down-ramp is at AS(L) because AS(L) does not have a valid ASPA or its valid ASPA(s) do not include AS(L-1) as a provider.
<!-- The up-ramp ends at K due to ASPA-Auth(AS(K), AS(K+1)) = Not Provider+ or No Authorization, while all other hops from 1 to K satisfy are attested customer-to-provider per ASPA. The down-ramp begins at L due to ASPA-Auth(AS(L), AS(L-1)) = Not Provider+ or No Authorization. -->
            </t>
            <figure anchor="ramps">
              <name>Illustration of min-up-ramp and min-down-ramp</name>
              <artwork><![CDATA[
          L = N - min_down_ramp + 1       K = min_up_ramp

                    AS(L) ............. AS(K)  
                     /                     \
                 AS(L+1)                  AS(K-1)
                    .                       .
                   .                         .
    (down-ramp)   .                           .  (up-ramp)
                 .                             .
                .                               .
              AS(N-1)                          AS(2)
                /                                \
             AS(N)                               AS(1)
              /                                (Origin AS)
    Receiving & verifying AS
           (customer)

        Each ramp has consecutive ASPA-attested
        customer-to-provider hops in the bottom-to-top direction
]]></artwork>
            </figure>
            <t>First, run the verification algorithm for downstream paths as described in Section 7.3 of <xref target="I-D.ietf-sidrops-aspa-verification"/>.
The obtained outcome is one of these: Valid, Invalid, Unknown. 
Now enhance the outcome using the following algorithm where ASRA data is applied.
For the Fake-Link(AS(i), AS(i+1)) function, use the one described in <xref target="FL-a"/>.</t>
            <artwork><![CDATA[
    1. If the outcome is Invalid, it remains unchanged 
       and the procedure halts. 
    2. Else, if min_up_ramp = N or {min_up_ramp + min_down_ramp} > N, 
       then the outcome remains unchanged (Valid)and the procedure halts.
    3. Else, let i = min_up_ramp.
    4. If Fake-Link(AS(i), AS(i+1)) = Detected, then change the outcome 
       to Invalid and the procedure halts. 
    5. Else, if i = N - min_down_ramp, then the procedure halts 
      (outcome remains unchanged).
    6. Else, increment i to i+1. Go to Step #4. 
]]></artwork>
          </section>
        </section>
      </section>
      <section anchor="AlgB">
        <name>Algorithm B (Strict)</name>
        <t>Algorithm B does not give precedence to the ASPA created by the receiver AS(i+1) over the ASRA created by the sender AS(i), and hence it is strict (compared to Algorithm A).
This algorithm is used to counter the possibility that AS(i+1) could maliciously create a false ASPA record (i.e., falsely including AS(i) as a provider) even though repudiation is hard.</t>
        <section anchor="FL-b">
          <name>Fake Link Determination (Alg. B)</name>
          <t>The following is the procedure (per Algorithm B) for determining if the AS(i) to AS(i+1) hop in the AS path is a fake link.</t>
          <artwork><![CDATA[
    - If AS(i) has valid ASPA(s) and they do not include AS(i+1) 
      as a Provider,
    - AND if AS(i) has valid ASRA(s) and they do not include 
      AS(i+1) as a customer or lateral peer,
    - then set Fake-Link(AS(i), AS(i+1)) = Detected,
    - Else, set Fake-Link(AS(i), AS(i+1)) = Not Detected.
]]></artwork>
        </section>
        <section anchor="enhancement-to-as-path-verification-using-asra-alg-b">
          <name>Enhancement to AS Path Verification Using ASRA (Alg. B)</name>
          <section anchor="algorithm-for-upstream-paths-1">
            <name>Algorithm for Upstream Paths</name>
            <t>Remains unchanged and the same as described in Section 7.2 of <xref target="I-D.ietf-sidrops-aspa-verification"/>.</t>
          </section>
          <section anchor="DA-b">
            <name>Algorithm for Downstream Paths (Alg. B)</name>
            <t>Here the min_up_ramp parameter is the same as discussed in <xref target="DA-a"/>.
First, run the verification algorithm for downstream paths as described in Section 7.3 of <xref target="I-D.ietf-sidrops-aspa-verification"/>.
The obtained outcome is one of these: Valid, Invalid, Unknown.
Now enhance the outcome using the following algorithm where ASRA data is applied.
For the Fake-Link(AS(i), AS(i+1)) function, use the one described in <xref target="FL-b"/>.</t>
            <artwork><![CDATA[
    1. If the outcome is Invalid, it remains unchanged and the procedure halts. 
    2. Else, if min_up_ramp = N, then also the outcome remains unchanged (Valid)
       and the procedure halts.
    3. Else, let i = min_up_ramp.
    4. If Fake-Link(AS(i), AS(i+1)) = Detected, then change 
       the outcome to Invalid and the procedure halts. 
    5. Else, if i = N - 1, then the procedure halts 
       (outcome remains unchanged).
    6. Else, increment i to i+1. Go to Step #4.
]]></artwork>
            <t>The differences between the above procedure and the corresponding procedure in <xref target="DA-a"/> for Algorithm A are at steps #2 and #5.</t>
          </section>
        </section>
      </section>
    </section>
    <section anchor="ops">
      <name>Operational Considerations</name>
      <t>Every AS operator doing ASPA/ASRA <bcp14>SHOULD</bcp14> periodically check their own ASPA/ASRA objects for correctness and completeness. They <bcp14>SHOULD</bcp14> also ensure that the same are refreshed well before their expiry dates.</t>
      <t>Every AS operator doing ASPA <bcp14>SHOULD</bcp14> periodically monitor all the ASPAs in the RPKI repositories to check if their AS number is incorrectly included as a provider in an ASPA (X.509 valid), and if so, they <bcp14>SHOULD</bcp14> report it to the responsible party (or parties) so that the ASPA can be rectified.</t>
      <t>Every AS operator doing ASPA <bcp14>SHOULD</bcp14> periodically monitor all the ASPAs in the RPKI repositories to check if their AS number is incorrectly not included as a provider in the ASPA of a customer AS (CAS), and if so, they <bcp14>SHOULD</bcp14> report it to the CAS operator so that the ASPA can be rectified.</t>
      <t>Every AS operator doing ASRA <bcp14>SHOULD</bcp14> periodically monitor all the ASRAs in the RPKI repositories to check if their AS number is incorrectly included (or incorrectly not included) in an ASRA (X.509 valid), and if so, they <bcp14>SHOULD</bcp14> report it to the responsible party (or parties) so that the ASRA can be rectified.</t>
    </section>
    <section anchor="sec-security">
      <name>Security Considerations</name>
      <t>Security concerns for AS path verification using ASPA and ASRA are largely alleviated if the operational recommendations (<xref target="ops"/>) are followed.</t>
    </section>
    <section anchor="sec-iana">
      <name>IANA Considerations</name>
      <t>This document does not have IANA considerations.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The authors wish to thank Mingqing (Michael) Huang, Jeff Haas, Doug Montgomery, and Oliver Borchert for very helpful comments and discussions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-sidrops-aspa-verification" target="https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-aspa-verification-19" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-sidrops-aspa-verification.xml">
          <front>
            <title>BGP AS_PATH Verification Based on Autonomous System Provider Authorization (ASPA) Objects</title>
            <author fullname="Alexander Azimov" initials="A." surname="Azimov">
              <organization>Yandex</organization>
            </author>
            <author fullname="Eugene Bogomazov" initials="E." surname="Bogomazov">
              <organization>Qrator Labs</organization>
            </author>
            <author fullname="Randy Bush" initials="R." surname="Bush">
              <organization>Internet Initiative Japan &amp; Arrcus, Inc.</organization>
            </author>
            <author fullname="Keyur Patel" initials="K." surname="Patel">
              <organization>Arrcus</organization>
            </author>
            <author fullname="Job Snijders" initials="J." surname="Snijders">
              <organization>Fastly</organization>
            </author>
            <author fullname="Kotikalapudi Sriram" initials="K." surname="Sriram">
              <organization>USA National Institute of Standards and Technology</organization>
            </author>
            <date day="27" month="September" year="2024"/>
            <abstract>
              <t>This document describes procedures that make use of Autonomous System Provider Authorization (ASPA) objects in the Resource Public Key Infrastructure (RPKI) to verify the Border Gateway Protocol (BGP) AS_PATH attribute of advertised routes. This type of AS_PATH verification provides detection and mitigation of route leaks and some forms of AS path manipulation. It also provides protection, to some degree, against prefix hijacks with forged-origin or forged- path-segment.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sidrops-aspa-verification-19"/>
        </reference>
        <reference anchor="I-D.ietf-sidrops-aspa-profile" target="https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-aspa-profile-18" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-sidrops-aspa-profile.xml">
          <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">
              <organization>Fastly</organization>
            </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="25" month="June" year="2024"/>
            <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-18"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <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="I-D.ietf-sidrops-8210bis" target="https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-8210bis-16" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-sidrops-8210bis.xml">
          <front>
            <title>The Resource Public Key Infrastructure (RPKI) to Router Protocol, Version 2</title>
            <author fullname="Randy Bush" initials="R." surname="Bush">
              <organization>IIJ Research, Arrcus, &amp; DRL</organization>
            </author>
            <author fullname="Rob Austein" initials="R." surname="Austein">
              <organization>Dragon Research Labs</organization>
            </author>
            <date day="27" month="September" year="2024"/>
            <abstract>
              <t>In order to validate the origin Autonomous Systems (ASes) and Autonomous System relationships behind BGP announcements, routers need a simple but reliable mechanism to receive Resource Public Key Infrastructure (RFC6480) prefix origin data and Router Keys from a trusted cache. This document describes a protocol to deliver them. This document describes version 2 of the RPKI-Router protocol. [RFC6810] describes version 0, and [RFC8210] describes version 1. This document is compatible with both.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sidrops-8210bis-16"/>
        </reference>
      </references>
    </references>
    <?line 378?>



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

-->

</rfc>
