<?xml version="1.0" encoding="US-ASCII"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [

<!ENTITY RFC3779 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3779.xml">
<!ENTITY RFC5280 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5280.xml">          
<!ENTITY RFC5652 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5652.xml">      
<!ENTITY RFC4055 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4055.xml">
<!ENTITY RFC6793 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6793.xml">
<!ENTITY RFC4271 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4271.xml">
<!ENTITY RFC4632 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4632.xml">
<!ENTITY RFC1918 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1918.xml">
<!ENTITY RFC5737 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5737.xml">
<!ENTITY RFC6472 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6472.xml"> 
<!ENTITY RFC6480 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6480.xml"> 
<!ENTITY RFC6482 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6482.xml"> 
<!ENTITY RFC6483 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6483.xml">  
<!ENTITY RFC6487 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6487.xml"> 
<!ENTITY RFC6811 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6811.xml">                         
]>

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc rfcedstyle="yes"?>
        
<rfc category="info" number="6907" ipr="trust200902" submissionType="IETF" consensus="yes">

  <front>
    <title abbrev="RPKI Use Cases and Interpretations">Use Cases and Interpretations of Resource Public Key Infrastructure (RPKI) Objects for Issuers and Relying Parties</title>

   <author fullname="Terry Manderson" initials="T." surname="Manderson">
      <organization>ICANN</organization>
      <address>
        <email>terry.manderson@icann.org</email>
      </address>
    </author>
    
       <author fullname="Kotikalapudi Sriram" initials="K." surname="Sriram">
      <organization>US NIST</organization>
      <address>
        <email>ksriram@nist.gov</email>
      </address>
    </author>
    
       <author fullname="Russ White" initials="R." surname="White">
      <organization>Verisign</organization>
      <address>
        <email>russ@riw.us</email>
      </address>
    </author>

    <date month="March" year="2013" />

    <area>Routing</area>

    <workgroup>Secure Inter-Domain Routing</workgroup>

    <abstract>
      <t>This document describes a number of use cases together with directions
and interpretations for organizations and relying parties when creating or
encountering Resource Public Key Infrastructure (RPKI) object scenarios in the
public RPKI. All of these items are discussed here in relation to the
Internet routing system.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      
       <t>
This document describes a number of use cases together with directions and
interpretations for organizations and relying parties when creating or
encountering Resource Public Key Infrastructure (RPKI) object scenarios in the
public RPKI. All of these items are discussed here in relation to the
Internet routing system.
      </t>

          <section title="Terminology">
        <t>It is assumed that the reader is familiar with the terms and concepts described in  
         <xref target="RFC5280">"Internet X.509 Public Key Infrastructure Certificate
             and Certificate Revocation List (CRL) Profile"</xref>,
         <xref target="RFC6487"> "A Profile for X.509 PKIX Resource Certificates"</xref>,
         <xref target="RFC3779">"X.509 Extensions for IP Addresses and AS Identifiers"</xref>,
         <xref target="RFC6482">"A Profile for Route Origin Authorizations (ROAs)"</xref>,
         <xref target="RFC6483">"Validation of Route Origination Using the Resource Certificate Public Key Infrastructure (PKI) and Route Origin Authorizations (ROAs)"</xref>, and 
         <xref target="RFC6811">"BGP Prefix Origin Validation"</xref>.
         
        </t>
      </section>
            <section title="Documentation Prefixes">
                <t>
                The documentation prefixes recommended in <xref target="RFC5737"></xref> are insufficient for use as example prefixes in this document. Therefore, this document uses RFC 1918 <xref target="RFC1918"></xref> address space for constructing example prefixes.
                </t>
                </section>
      
      <section anchor="definition" title="Definitions">
      <t> For all of the use cases in this document,
                        it is assumed that RPKI objects (e.g., resource certificates, ROAs) validate in accordance with <xref target="RFC6487"></xref> and
                        <xref target="RFC6480"></xref>. In other words, we assume that corrupted RPKI objects, if any, have been detected and eliminated.</t>  
<t> 
The following definitions are in use in this document. Some of these definitions are reused or adapted from <xref target="RFC6811"></xref> with authors' permission.    </t> 
      
      <t><list style="hanging">
      <t hangText="Resource:">An IP address prefix (simply called prefix or subnet) or an Autonomous System Number (ASN).</t>
      
      <t hangText="Allocation:">A set of resources provided to an entity or organization for its use.</t>
      
      <t hangText="Sub-allocation:">A set of resources subordinate to an allocation assigned to another entity or organization.</t>
          
       <t hangText="Prefix:">A prefix consists of a pair (IP address, prefix length), interpreted as is customary (see <xref target="RFC4632"></xref>).</t>
       <t hangText="Route:">Data derived from a received BGP update, as defined
in <xref target="RFC4271"></xref>, Section 1.1. The route includes one prefix
and an AS_PATH, among other things. </t> 
       <t hangText="ROA:">Route Origin Authorization (ROA) is an RPKI object signed by a prefix holder authorizing origination of said prefix from an origin AS specified in said ROA.</t> 
       <t hangText="AS 0 ROA:">A ROA with ASN value 0 (zero) in the AS ID field. AS 0 ROA is an attestation by
   a prefix holder that the prefix described in the ROA, and any more
   specific prefix, should not be used in a routing context <xref target="RFC6483"></xref>.</t> 
       <t hangText="ROA prefix:">The prefix from a ROA. </t> 
       <t hangText="ROA ASN:">The origin ASN from a ROA. </t> 
       <t hangText="maxLength:">The maximum length up to which more specific
prefixes of a ROA prefix may be originated from the corresponding ROA ASN. The
maxLength is specified in the ROA. </t> 
       <t hangText="Route prefix:">A prefix derived from a route. </t> 
       <t hangText="Route origin ASN:">The origin AS number derived from a route. The origin AS number is:</t> 
<t><list style="symbols">
<t>
the rightmost AS in the final segment of the AS_PATH attribute in the route if that segment is of type AS_SEQUENCE, or 
</t>
<t>
the BGP speaker's own AS number if that segment is of type AS_CONFED_SEQUENCE or AS_CONFED_SET or if the AS_PATH is empty, or 
</t>
<t>
the distinguished value "NONE" if the final segment of the AS_PATH attribute is of any other type.
</t> 
</list> 
</t>
  
<t hangText="Covering ROA prefix:">A ROA prefix that is an exact match or a
less specific when compared to the route prefix under consideration. In other
words, the route prefix is said to have a covering ROA prefix when there exists
a ROA such that the ROA prefix length is less than or equal to the route prefix
length and the ROA prefix address matches the route prefix address for
all bits specified by the ROA prefix length. </t>
<t hangText="Covering ROA:">If a ROA contains a covering ROA prefix for a route
prefix under consideration, then the ROA is said to be a covering ROA for the
route prefix. </t>

<t hangText="No covering ROA:">No covering ROA exists for a route prefix under consideration.</t>
          
<t hangText="No other covering ROA:">No other covering ROA exists (besides what is (are) already cited) for a route prefix under consideration.</t>
<t hangText="Multi-homed prefix or subnet:">A prefix (i.e., subnet) for which a route is originated through two or more autonomous systems. </t>

<t hangText="Matched:">A route's {prefix, origin AS} pair is said to be matched
by a ROA when the route prefix has a covering ROA, and in addition, the route
prefix length is less than or equal to the maxLength in said covering ROA and
the route origin ASN is equal to the ASN in said covering ROA.</t>
    </list></t>

<t>Given these definitions, any given BGP route will be found to have
   one of the following "validation states":
</t>
<t><list style="symbols">
<t>
NotFound: The route prefix has no covering ROA.
</t>
<t>
Valid: The route's {prefix, origin AS} pair is matched by at least one ROA.
</t>
<t>
Invalid: The route prefix has at least one covering ROA and the route's {prefix, origin AS} pair is not matched by any ROA.</t>
</list>
</t>
<t>
   It is to be noted that no ROA can have the value "NONE" as its ROA
ASN. Thus, a route whose origin ASN is "NONE" cannot be matched by any ROA.
   Similarly, no valid route can have an origin ASN of zero <xref target="AS0-PROC"></xref>. Thus, no route can be matched by a ROA whose ASN is zero (i.e., an AS 0 ROA) <xref target="RFC6483"></xref>.
</t>      
    </section>
    </section>

        <section title="Overview">
                <section anchor="overview" title="General Interpretation of RPKI Object Semantics">
                        <t>In the interpretation of relying parties (RPs), or relying party 
                                routing software, it is important that a 'make before break' operational policy be applied. In part, this means that an RP should 
                                implement a routing decision process where a route is assumed to be intended (i.e., considered unsuspicious) unless 
                                proven otherwise by the existence of a valid RPKI object that explicitly invalidates the route (see <xref target="preval"></xref> for examples). 
Also, especially in cases when a prefix is newly acquired by allocation/sub-allocation or due to 
prefix-ownership transfer, a ROA should be registered in RPKI prior to advertisement
of the prefix in BGP. This is highly recommended for the following
reasons. Observe that in the transfer case (considering a prefix transfer from
Org A  to Org B), even though Org A's resource cert would be revoked before
issuing a resource cert to Org B, there may be some latency before all relying
parties discard the previously received ROA of Org A for that prefix. The
latency may be due to CRL propagation delay in the RPKI system or due to
periodic polling by RPs, etc. Also, observe that in the sub-allocation case
(from parent Org A to child Org B), there may be an existing ROA registered by
Org A (with their own origin ASN) for a covering aggregate prefix relative to
the prefix in consideration. If the new prefix owner (Org B) has not already
registered their own ROA (i.e., ROA with their origin ASN), then the presence
of a different covering ROA (i.e., one with a different origin ASN) belonging
to Org A would result in invalid assessment for the route advertised by the new
owner (Org B). Thus, in both cases (transfer or sub-allocation), it is prudent
for the new owner (Org B) to ensure that its route for the prefix will be valid
by proactively issuing a ROA before advertising the route. The ROA should be
issued with sufficient lead time taking into consideration the RPKI propagation
delays.
</t>
<t>
As stated earlier in <xref target="definition"></xref>, for all of the use
cases in this document, it is assumed that RPKI objects (e.g., resource
certificates, ROAs) validate in accordance with <xref target="RFC6487"></xref>
and <xref target="RFC6480"></xref>. In other words, we assume that corrupted
RPKI objects, if any, have been detected and eliminated.</t>
                        
                        <t>While many of the examples provided here illustrate organizations using their own autonomous system numbers to originate routes, it should be recognized that a prefix holder need not necessarily be the holder of the autonomous system number used for the route origination.</t>
                        
                </section>
                </section>
                
    <section title="Origination Use Cases">
            <t>This section deals with the various use cases where an organization has Internet resources and will announce routes 
                    to the Internet. It is based on operational observations of
the existing routing system. In the following use cases, the phrase "relying
parties interpret the route as intended" is generally meant to indicate that
"relying parties interpret an announced route as having a valid origination
AS".
   </t>
    
                <section title="Single Announcement">
        <t>An organization (Org A with ASN 64496) has been allocated the prefix 10.1.2.0/24.
  It wishes to announce the /24 prefix from ASN 64496 
  such that relying parties interpret the route as intended.</t>

  <t>The desired announcement (and organization) would be:</t>
  
          <figure><artwork><![CDATA[
   +----------------------------------------------+
   | Prefix          | Origin AS   | Organization |
   +----------------------------------------------+
   | 10.1.2.0/24     | AS 64496    |   Org A      |
   +----------------------------------------------+
          ]]></artwork></figure>
          
          <t>The issuing party should create a ROA containing the following: </t>
          
          <figure><artwork><![CDATA[
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64496    | 10.1.2.0/24       |    24         |
   +----------------------------------------------+
          ]]></artwork></figure>
          
   
                </section>

<section title="Aggregate with a More Specific">
        <t>An organization (Org A with ASN 64496) has been allocated the prefix 10.1.0.0/16. It
  wishes to announce the more specific prefix 10.1.0.0/20 from ASN 64496 as
  well as the aggregate route such that relying
  parties interpret the routes as intended.</t>
  
   <t>The desired announcements (and organization) would be:</t>
  
          <figure><artwork><![CDATA[
   +----------------------------------------------+
   | Prefix          | Origin AS   | Organization |
   +----------------------------------------------+
   | 10.1.0.0/16     | AS 64496    |   Org A      |  
   | 10.1.0.0/20     | AS 64496    |   Org A      |
   +----------------------------------------------+
          ]]></artwork></figure>

   <t>The issuing party should create a ROA containing the following:</t>
   
    <figure><artwork><![CDATA[
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64496    | 10.1.0.0/16       |    16         |
   |          |-----------------------------------+
   |          | 10.1.0.0/20       |    20         |
   +----------------------------------------------+
          ]]></artwork></figure>
          
</section>

<section title="Aggregate with a More Specific from a Different ASN">
        <t>An organization (Org A with ASN 64496 and ASN 64511) has been allocated the prefix 10.1.0.0/16. It
  wishes to announce the more specific prefix 10.1.0.0/20 from ASN 64511 as
  well as the aggregate route from ASN 64496 such that relying
  parties interpret the routes as intended.</t>
  
     <t>The desired announcements (and organization) would be:</t>
  
          <figure><artwork><![CDATA[
   +---------------------------------------------+
   | Prefix          | Origin AS   |Organization |
   +---------------------------------------------+
   | 10.1.0.0/16     | AS 64496    |  Org A      |
   | 10.1.0.0/20     | AS 64511    |  Org A      |
   +---------------------------------------------+
          ]]></artwork></figure>
   
     <t>The issuing party should create ROAs containing the following:</t>
   
    <figure><artwork><![CDATA[
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64496    | 10.1.0.0/16       |    16         |
   +----------------------------------------------+

   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64511    | 10.1.0.0/20       |    20         |
   +----------------------------------------------+
          ]]></artwork></figure>
</section>

<section title="Sub-allocation to a Multi-homed Customer">
        <t>An organization (Org A with ASN 64496) has been allocated the prefix 10.1.0.0/16; it
  wishes to announce the more specific prefix 10.1.0.0/20 from ASN 64496. It has
  further delegated 10.1.16.0/20 to a customer (Org B with ASN 64511) who is multi-homed and will originate
  the prefix route from ASN 64511. ASN 64496 will also announce the aggregate
  route such that relying parties interpret the routes as intended.</t>
  
  <t>The desired announcements (and organizations) would be:</t>
  
          <figure><artwork><![CDATA[
   +---------------------------------------------+
   | Prefix          | Origin AS   |Organization |
   +---------------------------------------------+
   | 10.1.0.0/16     | AS 64496    |  Org A      |
   | 10.1.0.0/20     | AS 64496    |  Org A      |
   | 10.1.16.0/20    | AS 64511    |  Org B      |
   +---------------------------------------------+
          ]]></artwork></figure>
  
   <t>The issuing party should create ROAs containing the following:</t>
   
    <figure><artwork><![CDATA[
   Org A:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64496    | 10.1.0.0/16       |    16         |
   |          |-----------------------------------+
   |          | 10.1.0.0/20       |    20         |
   +----------------------------------------------+
   
   Org B:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64511    | 10.1.16.0/20      |    20         |
   +----------------------------------------------+
   ]]></artwork></figure>
   
</section>

<section title="Restriction of a New Allocation">
        <t>An organization has recently been allocated the prefix 10.1.0.0/16.
  Its network deployment is not yet ready to announce the prefix and wishes
  to restrict all possible announcements of 10.1.0.0/16 and more specifics in routing using RPKI.</t>
  
  <t>The following announcements would be considered undesirable:</t>
 
          <figure><artwork><![CDATA[
   +---------------------------------------------+
   | Prefix          | Origin AS   |Organization |
   +---------------------------------------------+
   | 10.1.0.0/16     | ANY AS      |  ANY        |
   | 10.1.0.0/20     | ANY AS      |  ANY        |
   | 10.1.17.0/24    | ANY AS      |  ANY        |
   +---------------------------------------------+
          ]]></artwork></figure>
          
  <t>The issuing party should create a ROA containing the following:</t>

  <figure><artwork><![CDATA[
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   |    0     | 10.1.0.0/16       |    32         |
   +----------------------------------------------+
   ]]></artwork></figure>
   
   <t>This is known as an AS 0 ROA <xref target="RFC6483"></xref>. Also, please see the definition and related comments in <xref target="definition"></xref>. 
   </t>

  </section>


<section title="Restriction of New ASN">
        <t>An organization has recently been allocated an additional ASN
  64511.  Its network deployment is not yet ready to use this ASN and
  wishes to restrict all possible uses of ASN 64511 using RPKI.</t>
          
  <t>The following announcement would be considered undesirable:</t>
 
          <figure><artwork><![CDATA[
   +---------------------------------------------+
   | Prefix          | Origin AS   |Organization |
   +---------------------------------------------+
   | ANY             | AS 64511    |  ANY        |
   +---------------------------------------------+
          ]]></artwork></figure>

  <t>It is currently not possible to restrict use of autonomous system numbers.
</t>

   
</section>

<section title="Restriction of a Part of an Allocation">
        <t>An organization (Org A with ASN 64496) has been allocated the prefix 10.1.0.0/16.
  Its network topology permits the announcement of 10.1.0.0/17. Org A wishes to restrict any possible announcement of 10.1.128.0/17 or more specifics of that /17 using RPKI.</t>
  
  <t>The desired announcement (and organization) would be:</t>
 
          <figure><artwork><![CDATA[
   +---------------------------------------------+
   | Prefix          | Origin AS   |Organization |
   +---------------------------------------------+
   | 10.1.0.0/17     | AS 64496    |  Org A      |
   +---------------------------------------------+
          ]]></artwork></figure>
  
  
  <t>The following announcements would be considered undesirable:</t>
 
          <figure><artwork><![CDATA[
   +---------------------------------------------+
   | Prefix          | Origin AS   |Organization |
   +---------------------------------------------+
   | 10.1.128.0/17   | ANY AS      |  ANY        |
   | 10.1.128.0/24   | ANY AS      |  ANY        |
   +---------------------------------------------+
          ]]></artwork></figure>
 
    <t>The issuing party should create ROAs containing the following:</t>
   
    <figure><artwork><![CDATA[
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64496    | 10.1.0.0/17       |    17         |
   +----------------------------------------------+
   
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   |    0     | 10.1.128.0/17     |    32         |
   +----------------------------------------------+
   ]]></artwork></figure>
 
</section>

<section title="Restriction of Prefix Length">
        <t>An organization (Org A with ASN 64496) has been allocated the prefix 10.1.0.0/16; it 
wishes to announce the aggregate and any or all more specific prefixes up to and 
including a maximum length of /20, but never any more specific than a /20.</t>

  <t>Examples of the desired announcements (and organization) would be:</t>

          <figure><artwork><![CDATA[
   +---------------------------------------------+
   | Prefix          | Origin AS   |Organization |
   +---------------------------------------------+
   | 10.1.0.0/16     | AS 64496    |  Org A      |
   | 10.1.0.0/17     | AS 64496    |  Org A      |
   |     ...         | AS 64496    |  Org A      |
   | 10.1.128.0/20   | AS 64496    |  Org A      |
   +---------------------------------------------+
          ]]></artwork></figure>
    
  
  <t>The following announcements would be considered undesirable:</t>

          <figure><artwork><![CDATA[
   +---------------------------------------------+
   | Prefix          | Origin AS   |Organization |
   +---------------------------------------------+
   | 10.1.0.0/21     | ANY AS      |  ANY        |
   | 10.1.0.0/22     | ANY AS      |  ANY        |
   |     ...         | ANY AS      |  ANY        |
   | 10.1.128.0/24   | ANY AS      |  ANY        |
   +---------------------------------------------+
          ]]></artwork></figure>
          
  
<t>The issuing party should create a ROA containing the following:</t>
<t>
</t>
   
    
<figure><artwork><![CDATA[
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64496    | 10.1.0.0/16       |    20         |
   +----------------------------------------------+
   ]]></artwork></figure>

</section>

<section title="Restriction of Sub-Allocation Prefix Length">
        <t>An organization (Org A with ASN 64496) has been allocated the prefix 10.1.0.0/16. 
                It sub-allocates several /20 prefixes to its multi-homed
customers: Org B with ASN 64501 and Org C with ASN 64499, respectively. It
wishes to restrict those customers from advertising any corresponding routes
more specific than a /22.</t>
                
  <t>The desired announcements (and organizations) would be:</t>
 
          <figure><artwork><![CDATA[
   +---------------------------------------------+
   | Prefix          | Origin AS   |Organization |
   +---------------------------------------------+
   | 10.1.0.0/16     | AS 64496    |  Org A      |
   | 10.1.0.0/20     | AS 64501    |  Org B      |
   | 10.1.128.0/20   | AS 64499    |  Org C      |
   | 10.1.4.0/22     | AS 64501    |  Org B      |
   +---------------------------------------------+
          ]]></artwork></figure>
  
  
  <t>The following example announcements (and organizations) would be
considered undesirable:</t>

          <figure><artwork><![CDATA[
   +---------------------------------------------+
   | Prefix          | Origin AS   |Organization |
   +---------------------------------------------+
   | 10.1.0.0/24     | AS 64501    |  Org B      |
   | 10.1.128.0/24   | AS 64499    |  Org C      |
   |  .....          | ...         | ...         |
   | 10.1.0.0/23     | ANY AS      |  ANY        |
   +---------------------------------------------+
          ]]></artwork></figure>
        
        
   <t>The issuing party (Org A) should create ROAs containing the following:</t>
   
    <figure><artwork><![CDATA[
   For Org A:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64496    | 10.1.0.0/16       |    16         |
   +----------------------------------------------+
   
   For Org B:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64501    | 10.1.0.0/20       |    22         |
   +----------------------------------------------+
   
   For Org C:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64499    | 10.1.128.0/20     |    22         |
   +----------------------------------------------+
   ]]></artwork></figure>
                
</section>

  <section title="Aggregation and Origination by an Upstream Provider">
    <t>Consider four organizations with the following resources, which were
   acquired independently from any transit provider.
</t>
  
          <figure><artwork><![CDATA[
   +-------------------------------------------------+
   | Organization     | ASN      |    Prefix         |
   +-------------------------------------------------+
   | Org A            | AS 64496 |  10.1.0.0/24      |
   | Org B            | AS 64505 |  10.1.3.0/24      |
   | Org C            | AS 64499 |  10.1.1.0/24      |
   | Org D            | AS 64511 |  10.1.2.0/24      |  
   +-------------------------------------------------+
          ]]></artwork></figure>
    
    <t>These organizations share a common upstream provider Transit X (ASN 64497) that originates an aggregate of these prefixes 
            with the permission of all four organizations.</t>

   <t>The desired announcements (and organizations) would be:</t>
 
          <figure><artwork><![CDATA[
   +----------------------------------------------+
   | Prefix          | Origin AS   | Organization |
   +----------------------------------------------+
   | 10.1.0.0/24     | AS 64496    |   Org A      |  
   | 10.1.3.0/24     | AS 64505    |   Org B      |
   | 10.1.1.0/24     | AS 64499    |   Org C      |
   | 10.1.2.0/24     | AS 64511    |   Org D      |
   | 10.1.0.0/22     | AS 64497    |   Transit X  |
   +----------------------------------------------+
          ]]></artwork></figure>
              
     <t> It is currently not possible for an upstream provider to make a valid
     aggregate announcement of independent prefixes. However, the issuing
     parties should create ROAs containing the following:</t>
   
    <figure><artwork><![CDATA[
   Org A:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64496    | 10.1.0.0/24       |    24         |
   +----------------------------------------------+
   
   Org B:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64505    | 10.1.3.0/24       |    24         |
   +----------------------------------------------+
   
   Org C:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64499    | 10.1.1.0/24       |    24         |
   +----------------------------------------------+
   
   Org D:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64511    | 10.1.2.0/24       |    24         |
   +----------------------------------------------+
   ]]></artwork></figure>        
    </section>

  <section title="Rogue Aggregation and Origination by an Upstream Provider">
    <t>Consider four organizations with the following resources that were acquired independently from any transit provider.</t>
  
          <figure><artwork><![CDATA[
   +-------------------------------------------------+
   | Organization     | ASN      |    Prefix         |
   +-------------------------------------------------+
   | Org A            | AS 64496 |  10.1.0.0/24      |
   | Org B            | AS 64503 |  10.1.3.0/24      |
   | Org C            | AS 64499 |  10.1.1.0/24      |
   | Org D            | AS 64511 |  10.1.2.0/24      |  
   +-------------------------------------------------+
          ]]></artwork></figure>
   
    <t>These organizations share a common upstream provider Transit X (ASN 64497) that originates an aggregate 
            of these prefixes where possible. 
            In this situation, Org B (ASN 64503, 10.1.3.0/24) does not wish for its prefix to be aggregated by the upstream provider.</t>

   <t>The desired announcements (and organizations) would be:</t>
  
          <figure><artwork><![CDATA[
   +----------------------------------------------+
   | Prefix          | Origin AS   | Organization |
   +----------------------------------------------+
   | 10.1.0.0/24     | AS 64496    |   Org A      |  
   | 10.1.3.0/24     | AS 64503    |   Org B      |
   | 10.1.1.0/24     | AS 64499    |   Org C      |
   | 10.1.2.0/24     | AS 64511    |   Org D      |
   | 10.1.0.0/23     | AS 64497    |   Transit X  |   
   +----------------------------------------------+
          ]]></artwork></figure>
              
  
    <t>The following announcement would be considered undesirable:</t>
  
          <figure><artwork><![CDATA[
   +----------------------------------------------+
   | Prefix          | Origin AS   | Organization |
   +----------------------------------------------+
   | 10.1.0.0/22     | AS 64497    |   Transit X  |  
   +----------------------------------------------+
          ]]></artwork></figure>
    
     <t> It is currently not possible for an upstream provider to make a
     valid aggregate announcement of independent prefixes. However, the
     issuing parties should create ROAs containing the following:</t>
   
    <figure><artwork><![CDATA[
   Org A:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64496    | 10.1.0.0/24       |    24         |
   +----------------------------------------------+
   
   Org B:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64503    | 10.1.3.0/24       |    24         |
   +----------------------------------------------+
   
   Org C:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64499    | 10.1.1.0/24       |    24         |
   +----------------------------------------------+
   
   Org D:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64511    | 10.1.2.0/24       |    24         |
   +----------------------------------------------+
   ]]></artwork></figure>        

    </section>
    </section>
     
    <section title="Adjacency or Path Validation Use Cases">
            <t>Use cases pertaining to adjacency or path validation are beyond the scope of this document and would be addressed in a separate document.  </t>

    </section>

<section title="Partial Deployment Use Cases">
                
              <section title="Parent Does Not Participate in RPKI">
              <t>An organization (Org A with ASN 64511) is
multi-homed and has been assigned the prefix 10.1.0.0/20 from its upstream
(Transit X with ASN 64496). 
              Org A wishes to announce the prefix 10.1.0.0/20 from ASN 64511 to its other upstream(s). 
              Org A also wishes to create RPKI statements
about the resource; however, Transit X (ASN 64496), which announces the
aggregate 10.1.0.0/16, has not yet adopted RPKI.</t>
                                
              <t>The desired announcements (and organization with RPKI adoption) would be:</t>
 
          <figure><artwork><![CDATA[
   +----------------------------------------------------+
   | Prefix          | Origin AS   |Organization | RPKI |
   +----------------------------------------------------+
   | 10.1.0.0/20     | AS 64511    |  Org A      | Yes  |
   | 10.1.0.0/16     | AS 64496    |  Transit X  | No   |
   +----------------------------------------------------+
          ]]></artwork></figure>
 
  
  <t>RPKI is strictly hierarchical; therefore, if Transit X does not participate in RPKI, Org A is unable to validly issue RPKI objects.</t>
  
                </section>
                
                <section title="Only Some Children Participate in RPKI">
                <t>An organization (Org A with ASN 64496) has been allocated the prefix 10.1.0.0/16 and participates in RPKI; it
  wishes to announce the more specific prefix 10.1.0.0/20 from ASN 64496. It has
  further delegated 10.1.16.0/20 and 10.1.32.0/20 to customers Org B with ASN 64511 and Org C with ASN 64502 (respectively), who are multi-homed. 
  Org B (ASN 64511) does not participate in RPKI. Org C (ASN 64502) participates in RPKI.</t>
 
            <t>The desired announcements (and organizations with RPKI adoption)
would be:</t>
  
          <figure><artwork><![CDATA[
   +----------------------------------------------------+
   | Prefix          | Origin AS   |Organization | RPKI |
   +----------------------------------------------------+
   | 10.1.0.0/16     | AS 64496    |  Org A      | Yes  |
   | 10.1.0.0/20     | AS 64496    |  Org A      | Yes  |
   | 10.1.16.0/20    | AS 64511    |  Org B      | No   |
   | 10.1.32.0/20    | AS 64502    |  Org C      | Yes  |
   +----------------------------------------------------+
          ]]></artwork></figure>
  
    <t> The issuing parties should create ROAs containing the following:</t>
   
    <figure><artwork><![CDATA[
   Org A:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64496    | 10.1.0.0/16       |    16         |
   +----------------------------------------------+
   |          | 10.1.0.0/20       |    20         |   
   +----------------------------------------------+
   
   Org A issues for Org B:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64511    | 10.1.16.0/20      |    20         |
   +----------------------------------------------+
   
   Org C:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64502    | 10.1.32.0/20      |    20         |
   +----------------------------------------------+
   ]]></artwork></figure>
  
                </section>
                
                <section title="Grandchild Does Not Participate in RPKI">
                <t>Consider the previous example, with an extension by which
Org B, who does not participate in RPKI, further 
                   allocates 10.1.17.0/24 to Org X with ASN 64505. Org X does
not participate in RPKI.</t>

                <t>The desired announcements (and organizations with RPKI
adoption) would be:</t>
  
          <figure><artwork><![CDATA[
   +----------------------------------------------------+
   | Prefix          | Origin AS   |Organization | RPKI |
   +----------------------------------------------------+
   | 10.1.0.0/16     | AS 64496    |  Org A      | Yes  |
   | 10.1.0.0/20     | AS 64496    |  Org A      | Yes  |
   | 10.1.16.0/20    | AS 64511    |  Org B      | No   |
   | 10.1.32.0/20    | AS 64502    |  Org C      | Yes  |
   | 10.1.17.0/24    | AS 64505    |  Org X      | No   |
   +----------------------------------------------------+
          ]]></artwork></figure>
          
          
          <t> The issuing parties should create ROAs containing the following:</t>
  
      <figure><artwork><![CDATA[
   Org A:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64496    | 10.1.0.0/16       |    16         |
   +----------------------------------------------+
   |          | 10.1.0.0/20       |    20         |   
   +----------------------------------------------+
   
   Org A issues for Org B:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64511    | 10.1.16.0/20      |    20         |
   +----------------------------------------------+
   
   Org A issues for Org B's customer Org X:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64505    | 10.1.17.0/24      |    24         |
   +----------------------------------------------+
   
   Org C:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64502    | 10.1.32.0/20      |    20         |
   +----------------------------------------------+
   ]]></artwork></figure>
  
                        </section>
                        
        </section>
        
        
        <section title="Transfer Use Cases">
                
                <t>For transfer use cases, based on the preceding sections, it
should be easy to deduce what new ROAs need to be created and what existing
ROAs need to be maintained (or revoked). The resource transfer 
                        and timing of revocation/creation of the ROAs need to be performed based on the make-before-break principle 
                        and using suitable Regional Internet Registry (RIR)
 procedures (see <xref target="overview"></xref>).
</t>
                        
       <section title="Transfer of In-Use Prefix and Autonomous System Number">
                        
            <t>Org A holds the resource 10.1.0.0/20, and it
is currently in use and originated from AS 64496 with valid RPKI objects in place. Org B 
            has acquired both the prefix and ASN and desires an RPKI transfer on a particular date and time without adversely affecting the operational use of the resource.</t>
                        
            <t>The following RPKI objects would be created/revoked:</t>

<figure><artwork><![CDATA[
   For Org A, revoke the following ROA:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64496    | 10.1.0.0/20       |    20         |
   +----------------------------------------------+
]]></artwork></figure>

<figure><artwork><![CDATA[
   For Org B, add the following ROA:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64496    | 10.1.0.0/20       |    20         |
   +----------------------------------------------+
]]></artwork></figure>

                        
                        </section>
                        
                        
                        <section title="Transfer of In-Use Prefix">
                        
                        <t>Org A holds the resource 10.1.0.0/16, and it
is currently in use and originated from AS 64496 with valid RPKI objects in
place. Org A has agreed to transfer the entire /16 address block to
Org B and will no longer originate the prefix or more specifics of
it. Consequently, Org B desires an RPKI transfer of this resource on a
particular date and time. This prefix will be originated by AS 64511 as a result of this transfer.</t>
                        
                        <t>The following RPKI objects would be created/revoked:</t>


<figure><artwork><![CDATA[
   For Org A, revoke the following ROA:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64496    | 10.1.0.0/16       |    16         |
   +----------------------------------------------+
]]></artwork></figure>



<figure><artwork><![CDATA[
   For Org B, add the following ROA when the
   resource certificate for 10.1.0.0/16 is issued to 
   them (Org B):
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64511    | 10.1.0.0/16       |    16         |
   +----------------------------------------------+
]]></artwork></figure>

                        
                        </section>
                        
                        <section title="Transfer of Unused Prefix">
                        
                        <t>Org A holds the resources 10.1.0.0/16 and AS 64507 (with RPKI objects). Org A currently announces 10.1.0.0/16 from AS 64507. Org B has acquired an unused portion (10.1.4.0/24) of the prefix from Org A
                                and desires an RPKI transfer on a particular date and time. Org B will originate a route 10.1.4.0/24 from AS 64496.</t>
                        
                        <t>The following RPKI objects would be created/sustained:</t>
                        
<figure><artwork><![CDATA[
   For Org A, leave the following ROA unchanged:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64507    | 10.1.0.0/16       |    16         |
   +----------------------------------------------+
]]></artwork></figure>



<figure><artwork><![CDATA[
   For Org B, add the following ROA when the
   resource certificate for 10.1.4.0/24 is issued 
   to them (Org B):
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64496    | 10.1.4.0/24       |    24         |
   +----------------------------------------------+
]]></artwork></figure>
                        

<t>Org A may optionally provide ROA coverage for Org B by creating the following ROA preceding the RPKI transfer.
The ROA itself is then naturally revoked when 10.1.4.0/24 is transferred to Org B's resource certificate.</t>

<figure><artwork><![CDATA[
   Org A adds the following ROA:
   +----------------------------------------------+
   | asID     | address           | maxLength     |
   +----------------------------------------------+
   | 64496    | 10.1.4.0/24       |    24         |
   +----------------------------------------------+
]]></artwork></figure>
                        
                        </section>
                        
        </section>
        
        <section title="Relying Party Use Cases">

<section anchor="preval" title="Prefix-Origin Validation Use Cases">
<t>These use cases try to systematically enumerate the situations a relying party may encounter while receiving a 
        BGP update and making use of ROA information to interpret the validity of the prefix-origin information in the routes derived from 
        the update. We enumerate the situations or scenarios and include a recommendation for the expected outcome of prefix-origin validation.
        For a description of prefix-origin validation algorithms, see <xref target="RFC6483"></xref> and <xref target="RFC6811"></xref>. We use the terms Valid, Invalid, and NotFound as defined in <xref target="RFC6811"></xref> and summarized earlier in <xref target="definition"></xref>.
Also see <xref target="RFC6472"></xref> for work in progress in the IDR WG to
deprecate AS_SETs in BGP updates. The use cases described here can be
potentially used as test cases for testing and evaluation of prefix-origin
validation in router implementations; see, for example, <xref
target="BRITE"></xref>. 
</t>

<section title="Covering ROA Prefix, maxLength Satisfied, and AS Match">

<t>ROA: {10.1.0.0/16, maxLength = 20, AS 64496}</t>
<t>Route has {10.1.0.0/17, Origin = AS 64496}</t>

<t><list style="hanging">
<t hangText="Recommended RPKI prefix-origin validation interpretation:">Route
is Valid. </t>

<t hangText="Comment:">The route prefix has a covering ROA prefix, and the
route origin ASN matches the ROA ASN. This is a straightforward prefix-origin
validation use case; it follows from the primary intention of creation of the
ROA by a prefix holder.  </t>
</list></t>

</section>

<section title="Covering ROA Prefix, maxLength Exceeded, and AS Match">
<t>ROA: {10.1.0.0/16, maxLength = 20, AS 64496}</t>
<t>Route has {10.1.0.0/22, Origin = AS 64496}</t>
<t>No other covering ROA</t>

<t><list style="hanging">
<t hangText="Recommended RPKI prefix-origin validation interpretation:">Route
is Invalid. </t>

<t hangText="Comment:">In this case, the maxLength specified in the ROA is
exceeded by the route prefix. </t>
</list></t>
</section>

<section title="Covering ROA Prefix, maxLength Satisfied, and AS Mismatch">
<t>ROA: {10.1.0.0/16, maxLength = 24, AS 64496}</t>
<t>Route has {10.1.88.0/24, Origin = AS 64511}</t>
<t>No other covering ROA</t>

<t><list style="hanging">
<t hangText="Recommended RPKI prefix-origin validation interpretation:">Route
is Invalid. </t>

<t hangText="Comment:">In this case, an AS other than the one specified in the
ROA is originating the route. This may be a prefix or subprefix hijack
situation.  </t>
</list></t>

</section>

<section title="Covering ROA Prefix, maxLength Exceeded, and AS Mismatch">
<t>ROA: {10.1.0.0/16, maxLength = 22, AS 64496}</t>
<t>Route has {10.1.88.0/24, Origin = AS 64511}</t>
<t>No other covering ROA</t>

<t><list style="hanging">
<t hangText="Recommended RPKI prefix-origin validation interpretation:">Route
is Invalid. </t>

<t hangText="Comment:">In this case, the maxLength specified in the ROA is
exceeded by the route prefix, and also an AS other than the one specified in
the ROA is originating the route. This may be a subprefix hijack situation.</t>

</list></t>

</section>

<section title="Covering ROA Prefix Not Found">
<t>Route has {10.1.3.0/24, Origin = AS 64511}</t>
<t>No covering ROA</t>

<t><list style="hanging">
<t hangText="Recommended RPKI prefix-origin validation interpretation:">Route's
validation status is NotFound. </t>

<t hangText="Comment:">In this case, there is no covering ROA for the route
prefix. It could be a prefix or subprefix hijack situation, but this
announcement does not contradict any existing ROA. During partial deployment,
there would be some legitimate prefix-origin announcements for which ROAs may
not have been issued yet. </t>
</list></t>

</section>

<section title="Covering ROA Prefix and the ROA Is an AS 0 ROA">
<t>ROA: {10.1.0.0/16, maxLength = 32, AS 0}</t>
<t>Route has {10.1.5.0/24, Origin = AS 64511}</t>

<t><list style="hanging">
<t hangText="Recommended RPKI prefix-origin validation interpretation:">Route's
validation status is Invalid. </t>

<t hangText="Comment:">An AS 0 ROA implies by definition that the prefix listed
in it and all of the more specifics of that prefix should not be used in a
routing context <xref target="RFC6483"></xref> <xref
target="AS0-PROC"></xref>. Also, please see related comments in <xref
target="definition"></xref>. 
</t>
</list></t>

</section>

<section title="Covering ROA Prefix Not Found but ROAs Exist for a Covering Set of More Specifics">
        
<t>ROA: {10.1.0.0/18, maxLength = 20, AS 64496}</t>
<t>ROA: {10.1.64.0/18, maxLength = 20, AS 64496}</t>
<t>ROA: {10.1.128.0/18, maxLength = 20, AS 64496}</t>
<t>ROA: {10.1.192.0/18, maxLength = 20, AS 64496}</t>
<t>Route has {10.1.0.0/16, Origin = AS 64496}</t>
<t>No covering ROA</t>

<t><list style="hanging">
<t hangText="Recommended RPKI prefix-origin validation interpretation:">Route's
validation status is NotFound. </t>

<t hangText="Comment:">In this case, the route prefix is an aggregate (/16),
and it turns out that there exist ROAs for more specifics (/18s) that, if
combined, can help support validation of the announced prefix-origin pair. 
But it is very hard in general to break up an announced prefix into constituent
more specifics and check for ROA coverage for those more specifics, and hence
this type of accommodation is not recommended.
</t>
</list></t>
 
</section>

<section title="AS_SET in Route and Covering ROA Prefix Not Found">

<t>Route has {10.1.0.0/16, AS_SET [AS 64496, AS 64497, AS 64498,
   AS 64499] appears in the rightmost position in the AS_PATH}
</t>
<t>No covering ROA</t>

<t><list style="hanging">
<t hangText="Recommended RPKI prefix-origin validation interpretation:">Route's
validation status is NotFound. </t>

<t hangText="Comment:">An extremely small percentage (~0.1%) of external BGP
(eBGP) updates are seen to have an AS_SET in them; this is known as proxy
aggregation.  In this case, the route with the AS_SET does not conflict with
any ROA (i.e., the route prefix has no covering ROA prefix). Therefore, the
route gets NotFound validation status.
</t>
</list></t>

</section>

<section title="Singleton AS in AS_SET (in the Route), Covering ROA Prefix, and AS Match">

<t>Route has {10.1.0.0/24, AS_SET [AS 64496] appears in the rightmost position in the AS_PATH}</t>

<t>ROA: {10.1.0.0/22, maxLength = 24, AS 64496}</t>

<t><list style="hanging">
<t hangText="Recommended RPKI prefix-origin validation interpretation:">Route
is Invalid.</t>

<t hangText="Comment:">In the spirit of <xref target="RFC6472"></xref>, any 
route with an AS_SET in it should not be considered valid (by ROA-based
validation). If the route contains an AS_SET and a covering ROA prefix exists
for the route prefix, then the route should get an Invalid status.
(Note:&nbsp;AS match or mismatch consideration does not apply.)</t>
</list></t>

</section>

<section title="Singleton AS in AS_SET (in the Route), Covering ROA Prefix, and AS Mismatch">

<t>Route has {10.1.0.0/24, AS_SET [AS 64496] appears in the rightmost position in the AS_PATH}</t>

<t>ROA: {10.1.0.0/22, maxLength = 24, AS 64511}
</t>

<t><list style="hanging">
<t hangText="Recommended RPKI prefix-origin validation interpretation:">Route
is Invalid. </t>

<t hangText="Comment:">If the route contains an AS_SET and a covering ROA
prefix exists for the route prefix, then the route should get an Invalid
status. (Note: AS match or mismatch consideration does not apply.)
</t>
</list></t>

</section>

<section title="Multiple ASs in AS_SET (in the Route) and Covering ROA Prefix">

<t>Route has {10.1.0.0/22, AS_SET [AS 64496, AS 64497, AS 64498,
   AS 64499] appears in the rightmost position in the AS_PATH}
</t>

<t>ROA: {10.1.0.0/22, maxLength = 24, AS 64509}
</t>
<t>No other covering ROA</t>

<t><list style="hanging">
<t hangText="Recommended RPKI prefix-origin validation interpretation:">Route
is Invalid. </t>

<t hangText="Comment:">If the route contains an AS_SET and a covering ROA
prefix exists for the route prefix, then the route should get an Invalid
status. </t>
</list></t>

</section>

<section title="Multiple ASs in AS_SET (in the Route) and ROAs Exist for a Covering Set of More Specifics">
        
<t>ROA: {10.1.0.0/18, maxLength = 20, AS 64496}
</t>
<t>ROA: {10.1.64.0/18, maxLength = 20, AS 64497}
</t>
<t>ROA: {10.1.128.0/18, maxLength = 20, AS 64498}
</t>
<t>ROA: {10.1.192.0/18, maxLength = 20, AS 64499}
</t>

<t>Route has {10.1.0.0/16, AS_SET [AS 64496, AS 64497, AS 64498,
   AS 64499] appears in the rightmost position in the AS_PATH}
</t>

<t>No covering ROA</t>

<t><list style="hanging">
<t hangText="Recommended RPKI prefix-origin validation interpretation:">Route's
validation status is NotFound. </t>

<t hangText="Comment:">In this case, the aggregate of the prefixes in the ROAs
is a covering prefix (i.e., exact match or less specific) relative to the
route prefix.  The ASs in each of the contributing ROAs together form a set
that matches the AS_SET in the route.  But it is very hard in general to break
up an announced prefix into constituent more specifics and check for ROA
coverage for those more specifics. In any case, it may be noted once again that
in the spirit of <xref target="RFC6472"></xref>, any route with an AS_SET in it
should not be considered valid (by ROA-based validation). In fact, the route
under consideration would have received an Invalid status if the route prefix
had at least one covering ROA prefix.
</t>
</list></t>

</section>
</section>
        

<section title="ROA Expiry or Receipt of a CRL Revoking a ROA">
        
        <t>Here we enumerate use cases corresponding to router actions when
RPKI objects expire or are revoked. In the cases that follow, the terms
"expired ROA" or "revoked ROA" are shorthand and describe the expiry or
revocation of the End Entity (EE) or resource certificate that causes a relying
party to consider the corresponding ROA to have expired or been revoked,
respectively.</t>

<section title="ROA of Parent Prefix Is Revoked"> 
        <t>A  certificate revocation list (CRL) is received that reveals that the ROA {10.1.0.0/22, maxLength = 24, ASN 64496} is revoked. Further, a route exists in the
         Internet routing system for 10.1.3.0/24 originated from ASN 64496. In
the absence of said revoked ROA, no covering ROA prefix exists for the route
prefix (i.e., 10.1.3.0/24). </t>

<t>The Relying Party interpretation would be: Route's validation status is
NotFound.</t>

</section>

<section title="ROA of Prefix Revoked while Parent Prefix Has Covering ROA Prefix with Different ASN"> 
        
        <t>A CRL is received that reveals that the ROA {10.1.3.0/24, maxLength = 24, ASN 64496} is revoked. Further, a route exists in the Internet routing 
        system for 10.1.3.0/24 originated from ASN 64496. Additionally, a valid
ROA exists for a parent prefix 10.1.0.0/22, and said ROA is {10.1.0.0/22,
maxLength = 24, ASN 64511}.&nbsp; No other covering ROA exists for the
10.1.3.0/24 prefix. </t>

<t>The Relying Party interpretation would be: Route is Invalid. </t>


</section>

<section title="ROA of Prefix Revoked while That of Parent Prefix Prevails">
        
        <t>A CRL is received that reveals that the 
        ROA {10.1.3.0/24, maxLength = 24, ASN 64496} is revoked. Further, a route exists in 
        the Internet routing system for 10.1.3.0/24 originated from ASN 64496. Additionally, a valid ROA exists for a parent prefix 10.1.0.0/22, and said ROA is {10.1.0.0/22, maxLength = 24, ASN 64496}. </t>

<t>The Relying Party interpretation would be: Route is Valid. </t>

<t>(Clarification:  Perhaps the revocation of the ROA for prefix 10.1.3.0/24 was initiated just to eliminate redundancy.)</t>

</section>


<section title="ROA of Grandparent Prefix Revoked while That of Parent Prefix Prevails"> 
        
        <t>A CRL is received that reveals that the ROA {10.1.0.0/20, maxLength = 24, ASN 64496} is revoked. Further, a route exists in the Internet routing system for 10.1.3.0/24 originated from ASN 64496. Additionally, a valid ROA exists for a parent prefix 10.1.0.0/22, and said ROA is {10.1.0.0/22, maxLength = 24, ASN 64496}. </t>

<t>The Relying Party interpretation would be: Route is Valid. </t>

<t>(Clarification: The ROA for less specific grandparent prefix 10.1.0.0/20 was revoked or withdrawn.) </t>

</section>

 
<section title="Expiry of ROA of Parent Prefix"> 

        <t>A scan of the ROA list reveals that the ROA {10.1.0.0/22, maxLength = 24, ASN 64496} has expired. Further, a route exists in the
         Internet routing system for 10.1.3.0/24 originated from ASN 64496. In
the absence of said expired ROA, no covering ROA prefix exists for the route
prefix (i.e., 10.1.3.0/24). </t>


<t>The Relying Party interpretation would be: Route's validation status is
NotFound.</t>

</section>

<section title="Expiry of ROA of Prefix while Parent Prefix Has Covering ROA with Different ASN"> 
        
        <t>A scan of the ROA list reveals that the ROA {10.1.3.0/24, maxLength = 24, ASN 64496} has expired. Further, a route exists in the Internet routing 
        system for 10.1.3.0/24 originated from ASN 64496. Additionally, a valid
ROA exists for a parent prefix 10.1.0.0/22, and said ROA is {10.1.0.0/22,
maxLength = 24, ASN 64511}.&nbsp; No other covering ROA exists for the prefix
(i.e., 10.1.3.0/24). </t>

<t>The Relying Party interpretation would be: Route is Invalid. </t>


</section>

<section title="Expiry of ROA of Prefix while That of Parent Prefix Prevails">
        
        <t>A scan of the ROA list reveals that the 
        ROA {10.1.3.0/24, maxLength = 24, ASN 64496} has expired. Further, a route exists in 
        the Internet routing system for 10.1.3.0/24 originated from ASN 64496. Additionally, a valid ROA exists for a parent prefix 10.1.0.0/22, and said ROA is {10.1.0.0/22, maxLength = 24, ASN 64496}. </t>

<t>The Relying Party interpretation would be: Route is Valid. </t>

</section>

<section title="Expiry of ROA of Grandparent Prefix while That of Parent Prefix Prevails"> 
        
        <t>A scan of the ROA list reveals that the ROA {10.1.0.0/20, maxLength = 24, ASN 64496} has expired. Further, a route exists in the Internet routing system for 10.1.3.0/24 originated from ASN 64496. Additionally, a valid ROA exists for a parent prefix 10.1.0.0/22, and said ROA is {10.1.0.0/22, maxLength = 24, ASN 64496}.  
        </t>

<t>The Relying Party interpretation would be: Route is Valid. </t>

</section>

</section>

     </section>        

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>The authors are indebted to both Sandy Murphy and Sam Weiler for their
guidance. Further, the authors would like to thank Steve Kent, Warren Kumari,
Randy Bush, Curtis Villamizar, and Danny McPherson for their technical insight
and review. The authors also wish to thank Elwyn Davies, Stephen Farrell, Barry
Leiba, Stewart Bryant, Alexey Melnikov, and Russ Housley for their review and
comments during the IESG review process. </t>
    </section>

    <section anchor="Security" title="Security Considerations">
            <t>This memo requires no security considerations.</t>
      
    </section>
 
  </middle>

  <back>
    <references title="Normative References">
      
      &RFC4271;
      &RFC6482;
      &RFC6480;
      &RFC6487;
    </references>
    
    <references title="Informative References">
      &RFC1918; 
      &RFC4632; 
      &RFC3779;  
      &RFC5280;
      &RFC6472;
      &RFC6483;
      &RFC5737;

<!-- draft-ietf-sidr-pfx-validate (RFC 6811; published) -->
      &RFC6811;            

<!-- draft-ietf-idr-as0 (MISSREF) -->
<reference anchor="AS0-PROC">
<front>
<title>Codification of AS 0 processing</title>
<author initials='W' surname='Kumari' fullname='Warren Kumari'>
    <organization />
</author>
<author initials='R' surname='Bush' fullname='Randy Bush'>
    <organization />
</author>
<author initials='H' surname='Schiller' fullname='Heather Schiller'>
    <organization />
</author>
<author initials='K' surname='Patel' fullname='Keyur Patel'>
    <organization />
</author>
<date month='August' year='2012' />
</front>
<seriesInfo name='Work in' value='Progress' />
</reference>
           
<reference anchor="BRITE"
target="http://brite.antd.nist.gov/statics/about">
<front>
<title>BRITE - BGPSEC / RPKI Interoperability Test &amp; Evaluation</title>
<author><organization>NIST</organization></author>
<date year="2011"/>
</front>
<seriesInfo name="Developed by the National Institute of Standards and Technology (NIST)," value="Gaithersburg, Maryland"/>
</reference>
       
</references>
       
  </back>
</rfc>
