<?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.18 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-chen-sidrops-sispi-01" category="std" consensus="true" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.22.0 -->
  <front>
    <title abbrev="Signed SAVNET-Peering Information">A Profile of Signed SAVNET-Peering Information (SiSPI) Object for Deploying Inter-domain SAVNET</title>
    <seriesInfo name="Internet-Draft" value="draft-chen-sidrops-sispi-01"/>
    <author initials="L." surname="Chen" fullname="Li Chen">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>lichen@zgclab.edu.cn</email>
      </address>
    </author>
    <author initials="L." surname="Liu" fullname="Libin Liu">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>liulb@zgclab.edu.cn</email>
      </address>
    </author>
    <author initials="D." surname="Li" fullname="Dan Li">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>tolidan@tsinghua.edu.cn</email>
      </address>
    </author>
    <author initials="L." surname="Qin" fullname="Lancheng Qin">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>qinlc@zgclab.edu.cn</email>
      </address>
    </author>
    <date year="2024" month="July" day="22"/>
    <area>Ops</area>
    <workgroup>SIDR Operations</workgroup>
    <abstract>
      <?line 73?>

<t>This document defines a "Signed SAVNET-Peering Information" (SiSPI) object, a Cryptographic Message Syntax (CMS) protected content type included in the Resource Public Key Infrastructure (RPKI). A SiSPI object is a digitally signed object which carries the list of Autonomous Systems (ASes) deploying inter-domain SAVNET. When validated, the eContent of a SiSPI object confirms that the holder of the listed ASN produces the object and the AS has deployed inter-domain SAV and is ready to establish neighbor relationship for preventing source address spoofing.</t>
    </abstract>
  </front>
  <middle>
    <?line 77?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Attacks based on source IP address spoofing, such as reflective DDoS and flooding attacks, continue to present significant challenges to Internet security. Mitigating these attacks in inter-domain networks requires effective source address validation (SAV). While BCP84 <xref target="RFC3704"/> <xref target="RFC8704"/> offers some SAV solutions, such as ACL-based ingress filtering and uRPF-based mechanisms, existing inter-domain SAV mechanisms have limitations in terms of validation accuracy and operational overhead in different scenarios <xref target="inter-domain-ps"/>.</t>
      <t>Inter-domain SAVNET <xref target="savnet"/> proposes to exchange SAV-specific information among ASes to solve the problems of existing inter-domain SAV mechanisms. Two SAV-specific information exchanging protocols (or SAVNET protocols for short) are shown to achieve higher validation accuracy and lower operational overhead in large-scale emulations <xref target="emu-9-savs"/>. However, operators face significant difficulties in deploying SAVNET protocols. To benefit Internet routing, supporting incremental deployment is an essential requirement of SAVNET protocols <xref target="inter-domain-ps"/>. As illustrated in the Section 9.2 of <xref target="savnet"/>, during the partial or incremental deployment of SAVNET protocols, protocol-speaking agents (or SAVNET agents) within the SAVNET-adopting ASes need to find and establish connections with other SAVNET agents. Currently, there is no mechanism to achieve this automatically, and operators of SAVNET-adopting ASes must configure peering SAVNET relationship by hand, which is slow and error-prone.</t>
      <t>The neighbor discovery and connection setup process of SAV protocols can be done in an automatic and correct manner, with the introduction of a public registry that contains all ASes which both deploy SAVNET and are willing to setup SAVNET peering relationships. A newly adopting AS can use this registry as a reference, and pick appropriate ASes to setup SAVNET peering relationship.</t>
      <t>The Resource Public Key Infrastructure (RPKI) is the most suitable to host this public registry, because the primary purpose of RPKI is to improve routing security <xref target="RFC6480"/>, and defending against address spoofing is a main aspect of routing security. To this end, a mechanism is needed to facilitate holders of Automous System (AS) identifiers to declare their deployment of SAVNET <xref target="savnet"/>. The digitally Signed SAVNET-Peering Information (SiSPI) object described in this document serves the function.</t>
      <t>A SiSPI object is a cryptographically verifiable attestation signed by the holder of an AS identifier. It contains the identification information of one AS, which means the listed AS has deployed SAVNET and can perform SAV on its data plane.</t>
      <t>The SiSPI object makes use of the template for RPKI digitally signed objects <xref target="RFC6488"/>, which defines a Crytopgraphic Message Syntax (CMS) <xref target="RFC5652"/> wrapper for the SiSPI content as well as a generic validation procedure for RPKI signed objects. In accordance with Section 4 of <xref target="RFC6488"/>, this document defines:</t>
      <ol spacing="normal" type="1"><li>
          <t>The object identifier (OID) that identifies the SiSPI object. This OID appears in the eContentType field of the enCapContentInfo object as well as the content-type signed attribute within the signerInfo structure.</t>
        </li>
        <li>
          <t>The ASN.1 syntax for the SiSPI eContent, which is the payload that specifies the AS deploying SAVNET. The SiSPI eContent is encoded using the ASN.1 Distinguished Encoding Rules (DER) <xref target="X.690"/>.</t>
        </li>
        <li>
          <t>The steps required to validate a SiSPI beyond the validation steps specified in <xref target="RFC6488"/>.</t>
        </li>
      </ol>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>This document makes use of the terms and concepts described in "Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile" <xref target="RFC5280"/>, "X.509 Extensions for IP Address and AS Identifiers" <xref target="RFC3779"/>, "Signed Object Template for the Resource Public Key Infrastructure (RPKI)" <xref target="RFC6488"/>, and "A Profile for X.509 PKIX Resource Certificates" <xref target="RFC6487"/>. The readers should be familiar with the terms and concepts.</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>
    <section anchor="sav-content">
      <name>The SiSPI Content Type</name>
      <t>The content-type for a SiSPI object is defined as SAVNETAuthz, which has the numerical value of 1.2.840.113549.1.9.16.1.52 (suggested). This OID <bcp14>MUST</bcp14> appear both within the eContentType in the encapContentInfo structure as well as the content-type signed attribute within the signerInfo structure (see <xref target="RFC6488"/>).</t>
    </section>
    <section anchor="sav-econtent">
      <name>The SiSPI eContent</name>
      <t>The content of a SiSPI object identifies a single AS that has deployed SAVNET <xref target="savnet"/> for inter-domain SAV. The eContent of a SiSPI object is an instance of SAVNETAttestation, formally defined by the following ASN.1 <xref target="X.680"/> module:</t>
      <artwork><![CDATA[
SAVNETAttestation ::= SEQUENCE {
  version [0]   INTEGER DEFAULT 0,
  asID          ASID,
  addresses     SEQUENCE OF IPFamilyAddresses }

ASID ::= INTEGER (0..4294967295)
IPFamilyAddresses ::= SEQUENCE {
  IPFamily ADDRESS-FAMILY.&afi ({AddressFamilySet}),
  IPAddresses ADDRESS-FAMILY.&ip ({AddressFamilySet}{@addressFamily}) }

ADDRESS-FAMILY ::= CLASS {
     &afi          OCTET STRING (SIZE(2)) UNIQUE,
     &IP
   } WITH SYNTAX { AFI &afi IP &ip }

AddressFamilySet ADDRESS-FAMILY ::= { addressFamilyIPv4 | addressFamilyIPv6 }

addressFamilyIPv4 ADDRESS-FAMILY ::= { AFI afi-IPv4 IP IPv4ip }
addressFamilyIPv6 ADDRESS-FAMILY ::= { AFI afi-IPv6 IP IPv6ip }

afi-IPv4 OCTET STRING ::= '0001'H
afi-IPv6 OCTET STRING ::= '0002'H

IPv4ip ::= SEQUENCE (SIZE(1..MAX)) OF ipAddress{ub-IPv4}
IPv6ip ::= SEQUENCE (SIZE(1..MAX)) OF ipAddress{ub-IPv6}

ub-IPv4 INTEGER ::= 32
ub-IPv6 INTEGER ::= 128

ipAddress {INTEGER: ub} ::= BIT STRING (SIZE(0..ub))
]]></artwork>
      <t>Note that this content appears as the eContent within the encapContentInfo as specified in <xref target="RFC6488"/>.</t>
      <section anchor="version">
        <name>version</name>
        <t>The version number of the SAVNETAttestation that compiles with this specification <bcp14>MUST</bcp14> be 2 and <bcp14>MUST</bcp14> be explicitly encoded.</t>
      </section>
      <section anchor="asid">
        <name>asID</name>
        <t>The asID field contains the AS number that has deployed SAVNET and can perform SAV on the data plane.</t>
      </section>
      <section anchor="addresses">
        <name>addresses</name>
        <t>The addresses field contains a SEQUENCE of IPFamilyAddresses, which stores the router's IP addresses within the AS whose ID is asID, which is utilized for establishing SAVNET connections.</t>
        <section anchor="element-ipfamilyaddresses">
          <name>Element IPFamilyAddresses</name>
          <t>This field contains a SEQUENCE which contains one instance of IPFamily and one instance of IPAddresses.</t>
          <section anchor="ipfamily">
            <name>IPFamily</name>
            <t>This field contains an OCTET STRING which is either '0001'H (IPv4) or '0002'H (IPv6).</t>
          </section>
          <section anchor="ipaddresses">
            <name>IPAddresses</name>
            <t>This field contains a SEQUENCE of ipAddress instances.</t>
          </section>
          <section anchor="element-ipaddress">
            <name>Element ipAddress</name>
            <t>This element is length bounded through the Information Object Class ADDRESS-FAMILY and its type is a BIT STRING.</t>
          </section>
        </section>
      </section>
    </section>
    <section anchor="sav-v">
      <name>SiSPI Validation</name>
      <t>Before, a relying party can use a SiSPI object to validate a routing announcement, the relying party <bcp14>MUST</bcp14> first validate the SiSPI object. To validate a SiSPI object, the relying party <bcp14>MUST</bcp14> perform all the validation checks specified in <xref target="RFC6488"/> as well as the following additional specific validation steps of the Signed AS List.</t>
      <ul spacing="normal">
        <li>
          <t>The AS Identifier Delegation Extension <xref target="RFC3779"/> <bcp14>MUST</bcp14> be present in the end-entity (EE) certificate (contained within the SiSPI object), and the asID in the SiSPI object eContent <bcp14>MUST</bcp14> be contained within the set of AS numbers specified by the EE certificate's AS Identifier Delegation Extension.</t>
        </li>
        <li>
          <t>The EE certificate's AS Identifier Delegation Extension <bcp14>MUST NOT</bcp14> contain any ''inherit'' elements.</t>
        </li>
        <li>
          <t>The IP Address Delegation Extension <xref target="RFC3779"/> <bcp14>MUST</bcp14> be absent.</t>
        </li>
      </ul>
      <t>The pseudocode for SiSPI validation is as follows:</t>
      <artwork><![CDATA[
function ValidateSiSPI(sispiObject, eeCertificate):
    // Step 1: Validate the SiSPI object using the generic RPKI 
    //         validation procedure.
    // This includes checking the CMS wrapper, signature, and 
    //         certification path.
    if not IsValidRPKISignedObject(sispiObject):
        return False, "Invalid RPKI Signed Object"

    // Step 2: Check the content-type of the SiSPI object.
    if not sispiObject.eContentType == SAVNETAuthzOID:
        return False, "Invalid content-type"

    // Step 3: Parse the eContent of the SiSPI object as 
    //         SAVNETAttestation.
    sispiContent = ParseSAVNETAttestation(sispiObject.eContent)
    if sispiContent is None:
        return False, "Unable to parse SAVNETAttestation"

    // Step 4: Ensure the version number is explicitly set to 2.
    if not (sispiContent.version exists and sispiContent.version==2):
        return False, "Invalid version"

    // Step 5: Validate the AS Identifier Delegation Extension in
    //         the EE certificate.
    if not ValidateASIdExt(eeCertificate, sispiContent.asID):
        return False, "AS Identifier Extension validation failed"

    // Step 6: Ensure the EE certificate's AS Identifier Delegation
    //         Extension does not contain 'inherit'.
    if "inherit" in eeCertificate.asIdentifiers:
        return False, 
               "AS Identifier Delegation Extension contains 'inherit'"

    // Step 7: Ensure the IP Address Delegation Extension is absent.
    if HasIPAddressDelegationExtension(eeCertificate):
        return False, "IP Address Delegation Extension is present"

    // Step 8: Determine if all validation checks are successful.
    return True, "SiSPI object is valid"

function ValidateASIdentifierExtension(eeCertificate, asID):
    // Check if the asID is within the set of AS numbers 
    //   specified by the AS Identifier Delegation Extension.
    return asID in eeCertificate.asIdentifiers

function HasIPAddressDelegationExtension(eeCertificate):
    // Check for the presence of the IP Address Delegation 
    //   Extension.
    return "ipAddresses" in eeCertificate.extensions
]]></artwork>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <section anchor="rpki-signed-object-registry">
        <name>RPKI Signed Object Registry</name>
        <t>Please add an item for the SiSPI object file extension to the RPKI Signed Object registry (https://www.iana.org/assignments/rpki/rpki.xhtml#signed-objects) as follows:</t>
        <artwork><![CDATA[
Name                              | OID
---------------------------------------------
Signed SAVNET-Peering Information | 1.2.840.113549.1.9.16.1.52 (suggested)
]]></artwork>
      </section>
      <section anchor="rpki-repository-name-scheme-registry">
        <name>RPKI Repository Name Scheme Registry</name>
        <t>Please add an item for the SiSPI object file extension to the "RPKI Repository Name Scheme" registry created by <xref target="RFC6481"/> as follows:</t>
        <artwork><![CDATA[
Filename
Extension | RPKI Object                       | Reference
------------------------------------------------------------------------
   .sav   | Signed SAVNET-Peering Information | draft-chen-sidrops-sispi
]]></artwork>
      </section>
      <section anchor="media-type-registry">
        <name>Media Type Registry</name>
        <t>The IANA is requested to register the media type application/rpki-sispi in the "Media Type" registry as follows:</t>
        <artwork><![CDATA[
Type name: application
Subtype name: rpki-sispi
Required parameters: N/A
Optional parameters: N/A
Encoding considerations: binary
Security considerations: Carries Signed SAVNET-Peering Information.
  This media type contains no active content. See
  Section 4 of draft-chen-sidrops-sispi for further information.
Interoperability considerations: None
Published specification: draft-chen-sidrops-sispi
Applications that use this media type: RPKI operators
Additional information:
  Content: This media type is a signed object, as defined
      in {{RFC6488}}, which contains a payload of an AS identifer
      as defined in draft-chen-sidrops-sispi.
Magic number(s): None
File extension(s): .sav
Macintosh file type code(s):
Person & email address to contact for further information:
Li Chen <lichen@zgclab.edu.cn>
Intended usage: COMMON
Restrictions on usage: None
Change controller: IETF
]]></artwork>
      </section>
    </section>
    <section anchor="using-sispi">
      <name>Using SiSPI</name>
      <t>A router can use the AS_Path from BGP announcements, ASPA objects, and SiSPI to find the closest ASes to set up SAVNET peering, as described below:</t>
      <ol spacing="normal" type="1"><li>
          <t>BGP AS_Paths Analysis:  </t>
          <ul spacing="normal">
            <li>
              <t>Collect AS paths from BGP announcements.</t>
            </li>
            <li>
              <t>Determine the frequency or preference of certain AS paths based on routing policies, which may involve path attributes like AS path length, origin type, local preference, and MED (Multi-Exit Discriminator).</t>
            </li>
          </ul>
        </li>
        <li>
          <t>ASPA Verification:  </t>
          <ul spacing="normal">
            <li>
              <t>Use ASPA objects to verify the legitimacy of customer-provider AS relationships.</t>
            </li>
            <li>
              <t>Ensure that the AS paths conform to the customer-provider relationships indicated by the ASPAs, thereby validating the correctness of the routing information.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Peering Candidates Determination:  </t>
          <ul spacing="normal">
            <li>
              <t>Identify the ASes that frequently appear on the preferred paths to various destinations, implying they are topologically 'close' or significant transit providers.</t>
            </li>
            <li>
              <t>Among these ASes, rank those according to their frequency in an descending order, since the frequency indicates the weight of traffic from the local AS and higher frequency represents more volume of traffic to transmit for the local AS.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>SiSPI Objects Utilization:  </t>
          <ul spacing="normal">
            <li>
              <t>Retrieve SiSPI objects from the RPKI repository to determine which ASes have deployed SAVNET.</t>
            </li>
            <li>
              <t>Filter the previously identified candidate ASes by checking whether they have a valid SiSPI object, which would indicate their readiness to establish SAVNET peering.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Peering Candidates Selection:  </t>
          <ul spacing="normal">
            <li>
              <t>From the set of candidate ASes with valid SiSPI objects, select candidates for SAVNET peering based on their rankings.</t>
            </li>
            <li>
              <t>The selection criteria may include additional factors such as existing peering policies, traffic volumes, and peering agreements.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Peering Establishment:  </t>
          <ul spacing="normal">
            <li>
              <t>Initiate peering negotiations with the selected candidate ASes.</t>
            </li>
            <li>
              <t>Upon successful negotiation, establish SAVNET peering relationships and configure the necessary SAVNET protocols.</t>
            </li>
          </ul>
        </li>
      </ol>
      <t>Based on the above steps, a description of the detailed procedure to establish SAVNET peering relationships is as follows:</t>
      <ol spacing="normal" type="1"><li>
          <t>Let the set of selected AS paths to all the potential destinations be denoted as ASPaths.</t>
        </li>
        <li>
          <t>Let i = 1. Validate ASPaths(i) using ASPA objects.</t>
        </li>
        <li>
          <t>Let the set of validated AS paths be denoted as ASPaths-V.</t>
        </li>
        <li>
          <t>If ASPaths(i) passes the validation of ASPA objects, add it to ASPaths-V.</t>
        </li>
        <li>
          <t>Increment i to i+1.</t>
        </li>
        <li>
          <t>If ASPaths(i) is null, then set i_max = i - 1 and go to Step 7. Else, go to Step 4.</t>
        </li>
        <li>
          <t>Let j = 1 and k = 1. Initialize AS-set S(1) = ASPaths-V(1)(1) and N(ASPaths-V(1)(1)) = 1.</t>
        </li>
        <li>
          <t>If ASPaths-V(j)(k) belongs to S, N(ASPaths-V(j)(k)) = N(ASPaths-V(j)(k)) + 1. Else, N(ASPaths-V(j)(k)) = 1 and S(J * k) = ASPaths-V(j)(k).</t>
        </li>
        <li>
          <t>Increment k to k+1.</t>
        </li>
        <li>
          <t>If ASPaths-V(j)(k) is null, then go to Step 11. Else, go to Step 8.</t>
        </li>
        <li>
          <t>Increment j to j+1.</t>
        </li>
        <li>
          <t>If ASPaths-V(j)(k) is null, then go to Step 13. Else, go to Step 8.</t>
        </li>
        <li>
          <t>Rank the AS-set N according to its values in descending order.</t>
        </li>
        <li>
          <t>Retrieve SiSPI objects from the RPKI repository and let the set of ASes within the SiSPI objects be denoted as O.</t>
        </li>
        <li>
          <t>Let m = 1. Create a SAVNET neighbor candidate set C.</t>
        </li>
        <li>
          <t>If N(m) belongs to O, add N(1) to C.</t>
        </li>
        <li>
          <t>Increate m to m + 1.</t>
        </li>
        <li>
          <t>If N(m) is null or the number of ASes in set C exceeds 4000, go to Step 19. Else, go to Step 16.</t>
        </li>
        <li>
          <t>Establish SAVNET peering relationship with the selected candidate ASes in set C.</t>
        </li>
      </ol>
    </section>
    <section anchor="newly-savnet-adopting-ases">
      <name>Newly SAVNET-adopting ASes</name>
      <t>The newly SAVNET-adopting ASes need to register the SiSPI object proactively to help other SAVNET-adopting ASes find it and establish SAVNET peering relationships, as well as using the SiSPI objects to establish SAVNET peering relationships with other SAVNET-adopting ASes.</t>
      <t>To register the SiSPI object, the newly SAVNET-adopting ASes should share its information as described in <xref target="sav-econtent"/>.</t>
      <t>To establish SAVNET peering relationships with other SAVNET-adopting ASes, the newly SAVNET-adopting ASes should collect BGP announcements, ASPA objects, and SiSPI objects, and run the procedures described in <xref target="using-sispi"/>.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="RFC6481"/>, <xref target="RFC6485"/>, and <xref target="RFC6488"/> also apply to the SiSPI object.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC3704">
          <front>
            <title>Ingress Filtering for Multihomed Networks</title>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="P. Savola" initials="P." surname="Savola"/>
            <date month="March" year="2004"/>
            <abstract>
              <t>BCP 38, RFC 2827, is designed to limit the impact of distributed denial of service attacks, by denying traffic with spoofed addresses access to the network, and to help ensure that traffic is traceable to its correct source network. As a side effect of protecting the Internet against such attacks, the network implementing the solution also protects itself from this and other attacks, such as spoofed management access to networking equipment. There are cases when this may create problems, e.g., with multihoming. This document describes the current ingress filtering operational mechanisms, examines generic issues related to ingress filtering, and delves into the effects on multihoming in particular. This memo updates RFC 2827. 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="84"/>
          <seriesInfo name="RFC" value="3704"/>
          <seriesInfo name="DOI" value="10.17487/RFC3704"/>
        </reference>
        <reference anchor="RFC8704">
          <front>
            <title>Enhanced Feasible-Path Unicast Reverse Path Forwarding</title>
            <author fullname="K. Sriram" initials="K." surname="Sriram"/>
            <author fullname="D. Montgomery" initials="D." surname="Montgomery"/>
            <author fullname="J. Haas" initials="J." surname="Haas"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document identifies a need for and proposes improvement of the unicast Reverse Path Forwarding (uRPF) techniques (see RFC 3704) for detection and mitigation of source address spoofing (see BCP 38). Strict uRPF is inflexible about directionality, the loose uRPF is oblivious to directionality, and the current feasible-path uRPF attempts to strike a balance between the two (see RFC 3704). However, as shown in this document, the existing feasible-path uRPF still has shortcomings. This document describes enhanced feasible-path uRPF (EFP-uRPF) techniques that are more flexible (in a meaningful way) about directionality than the feasible-path uRPF (RFC 3704). The proposed EFP-uRPF methods aim to significantly reduce false positives regarding invalid detection in source address validation (SAV). Hence, they can potentially alleviate ISPs' concerns about the possibility of disrupting service for their customers and encourage greater deployment of uRPF techniques. This document updates RFC 3704.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="84"/>
          <seriesInfo name="RFC" value="8704"/>
          <seriesInfo name="DOI" value="10.17487/RFC8704"/>
        </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="RFC6488">
          <front>
            <title>Signed Object Template for the Resource Public Key Infrastructure (RPKI)</title>
            <author fullname="M. Lepinski" initials="M." surname="Lepinski"/>
            <author fullname="A. Chi" initials="A." surname="Chi"/>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="February" year="2012"/>
            <abstract>
              <t>This document defines a generic profile for signed objects used in the Resource Public Key Infrastructure (RPKI). These RPKI signed objects make use of Cryptographic Message Syntax (CMS) as a standard encapsulation format. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6488"/>
          <seriesInfo name="DOI" value="10.17487/RFC6488"/>
        </reference>
        <reference anchor="RFC5652">
          <front>
            <title>Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="September" year="2009"/>
            <abstract>
              <t>This document describes the Cryptographic Message Syntax (CMS). This syntax is used to digitally sign, digest, authenticate, or encrypt arbitrary message content. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="70"/>
          <seriesInfo name="RFC" value="5652"/>
          <seriesInfo name="DOI" value="10.17487/RFC5652"/>
        </reference>
        <reference anchor="RFC3779">
          <front>
            <title>X.509 Extensions for IP Addresses and AS Identifiers</title>
            <author fullname="C. Lynn" initials="C." surname="Lynn"/>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <author fullname="K. Seo" initials="K." surname="Seo"/>
            <date month="June" year="2004"/>
            <abstract>
              <t>This document defines two X.509 v3 certificate extensions. The first binds a list of IP address blocks, or prefixes, to the subject of a certificate. The second binds a list of autonomous system identifiers to the subject of a certificate. These extensions may be used to convey the authorization of the subject to use the IP addresses and autonomous system identifiers contained in the extensions. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3779"/>
          <seriesInfo name="DOI" value="10.17487/RFC3779"/>
        </reference>
        <reference anchor="RFC6481">
          <front>
            <title>A Profile for Resource Certificate Repository Structure</title>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <author fullname="R. Loomans" initials="R." surname="Loomans"/>
            <author fullname="G. Michaelson" initials="G." surname="Michaelson"/>
            <date month="February" year="2012"/>
            <abstract>
              <t>This document defines a profile for the structure of the Resource Public Key Infrastructure (RPKI) distributed repository. Each individual repository publication point is a directory that contains files that correspond to X.509/PKIX Resource Certificates, Certificate Revocation Lists and signed objects. This profile defines the object (file) naming scheme, the contents of repository publication points (directories), and a suggested internal structure of a local repository cache that is intended to facilitate synchronization across a distributed collection of repository publication points and to facilitate certification path construction. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6481"/>
          <seriesInfo name="DOI" value="10.17487/RFC6481"/>
        </reference>
        <reference anchor="RFC6485">
          <front>
            <title>The Profile for Algorithms and Key Sizes for Use in the Resource Public Key Infrastructure (RPKI)</title>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <date month="February" year="2012"/>
            <abstract>
              <t>This document specifies the algorithms, algorithms' parameters, asymmetric key formats, asymmetric key size, and signature format for the Resource Public Key Infrastructure (RPKI) subscribers that generate digital signatures on certificates, Certificate Revocation Lists, and signed objects as well as for the relying parties (RPs) that verify these digital signatures. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6485"/>
          <seriesInfo name="DOI" value="10.17487/RFC6485"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC6487">
          <front>
            <title>A Profile for X.509 PKIX Resource Certificates</title>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <author fullname="G. Michaelson" initials="G." surname="Michaelson"/>
            <author fullname="R. Loomans" initials="R." surname="Loomans"/>
            <date month="February" year="2012"/>
            <abstract>
              <t>This document defines a standard profile for X.509 certificates for the purpose of supporting validation of assertions of "right-of-use" of Internet Number Resources (INRs). The certificates issued under this profile are used to convey the issuer's authorization of the subject to be regarded as the current holder of a "right-of-use" of the INRs that are described in the certificate. This document contains the normative specification of Certificate and Certificate Revocation List (CRL) syntax in the Resource Public Key Infrastructure (RPKI). This document also specifies profiles for the format of certificate requests and specifies the Relying Party RPKI certificate path validation procedure. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6487"/>
          <seriesInfo name="DOI" value="10.17487/RFC6487"/>
        </reference>
        <reference anchor="X.690">
          <front>
            <title>Information Technology - ASN.1 encoding rules&amp;#59; Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <author>
              <organization/>
            </author>
            <date year="2021"/>
          </front>
        </reference>
        <reference anchor="X.680">
          <front>
            <title>Information technology - Abstract Syntax Notation One (ASN.1)&amp;#59; Specification of basic notation</title>
            <author>
              <organization/>
            </author>
            <date year="2021"/>
          </front>
        </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="inter-domain-ps" target="https://datatracker.ietf.org/doc/draft-ietf-savnet-inter-domain-problem-statement/">
          <front>
            <title>Source Address Validation in Inter-domain Networks Gap Analysis, Problem Statement, and Requirements</title>
            <author>
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="savnet" target="https://datatracker.ietf.org/doc/draft-wu-savnet-inter-domain-architecture/">
          <front>
            <title>Inter-domain Source Address Validation (SAVNET) Architecture</title>
            <author>
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="emu-9-savs" target="https://datatracker.ietf.org/meeting/118/materials/slides-118-savnet-emulations-of-nine-sav-mechanisms-with-sav-open-playground-00">
          <front>
            <title>Emulations of 9 SAV Mechanisms with SAV Open Playground</title>
            <author>
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
+Mb/Az/4PNkBTAAA

-->

</rfc>
