<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
    which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
    There has to be one entity for each item to be referenced.
    An alternate method (rfc include) is described in the references. -->

<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY RFC3552 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3552.xml">
<!ENTITY RFC5226 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5226.xml">
<!ENTITY draftvr SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml-ids/reference.I-D.draft-ietf-sidr-rpki-validation-reconsidered-06.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs),
    please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
    (Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space
    (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="info" docName="draft-rir-rpki-allres-ta-app-statement-01" ipr="trust200902">
 <!-- category values: std, bcp, info, exp, and historic
    ipr values: trust200902, noModificationTrust200902, noDerivativesTrust200902,
       or pre5378Trust200902
    you can add the attributes updates="NNNN" and obsoletes="NNNN"
    they will automatically be output with "(if approved)" -->

 <!-- ***** FRONT MATTER ***** -->

 <front>
   <!-- The abbreviated title is used in the page header - it is only necessary if the
        full title is longer than 39 characters -->

   <title abbrev="RPKI 0/0 TA Applicability Statement">RPKI Multiple "All Resources" Trust Anchors Applicability Statement</title>

   <!-- add 'role="editor"' below for the editors if appropriate -->

   <!-- Another author who claims to be an editor -->

   <author fullname="Andrew Newton" initials="A.L." role="editor" surname="Newton">
     <organization>ARIN</organization>

     <address>
       <postal>
         <street></street>
         <city>Chantilly</city>
         <region></region>
         <code>VA</code>
         <country>United States</country>
       </postal>
       <email>andy@arin.net</email>
     </address>
   </author>

   <author fullname="Carlos Martinez-Cagnazzo" initials="C.M." role="editor" surname="Martinez-Cagnazzo">
     <organization>LACNIC</organization>
     <address>
       <postal>
         <street></street>
         <city>Montevideo</city>
         <region></region>
         <code></code>
         <country>Uruguay</country>
       </postal>
       <email>carlos@lacnic.net</email>
     </address>
   </author>

   <author fullname="Daniel Shaw" initials="D." surname="Shaw">
     <organization>AFRINIC</organization>
     <address>
       <postal>
         <street></street>
         <city>Cybercity Ebene</city>
         <region></region>
         <code></code>
         <country>Republic of Mauritius</country>
       </postal>
       <email>daniel@afrinic.net</email>
     </address>
   </author>

   <author fullname="Tim Bruijnzeels" initials="T." surname="Bruijnzeels">
    <organization>RIPE NCC</organization>
     <address>
       <postal>
         <street></street>
         <city>Amsterdam</city>
         <region></region>
         <code></code>
         <country>Netherlands</country>
       </postal>
       <email>tim@ripe.net</email>
     </address>
   </author>

   <author fullname="Byron Ellacott" initials="B." surname="Ellacott">
    <organization>APNIC</organization>
     <address>
       <postal>
         <street></street>
         <city>Brisbane</city>
         <region></region>
         <code></code>
         <country>Australia</country>
       </postal>
       <email>bje@apnic.net</email>
     </address>
   </author>

  <!-- end authors -->

   <date year="2016" month="July" day="20" />

   <!-- If the month and year are both specified and are the current ones, xml2rfc will fill
        in the current day for you. If only the current year is specified, xml2rfc will fill
	 in the current day and month for you. If the year is not the current one, it is
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to
	 specify just the year. -->

   <!-- Meta-data Declarations -->

   <area>General</area>

   <workgroup>Internet Engineering Task Force</workgroup>

   <!-- WG name at the upperleft corner of the doc,
        IETF is fine for individual submissions.
	 If this element is not present, the default is "Network Working Group",
        which is used by the RFC Editor as a nod to the history of the IETF. -->

   <keyword>rpki</keyword>

   <!-- Keywords will be incorporated into HTML output
        files in a meta tag but they have no effect on text or nroff
        output. If you submit your draft to the RFC Editor, the
        keywords will be used for the search engine. -->

   <abstract>
     <t>This document provides an applicability statement for the use of multiple, over-claiming 'all resources' (0/0) RPKI certificate authorities (CA) certificates used as trust anchors (TAs) operated by the Regional Internet Registry community to help mitigate the risk of massive downstream invalidation in the case of transient registry inconsistencies.</t>
   </abstract>

 </front>

 <middle>

   <section title="Requirements Language">
     <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
     "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
     document are to be interpreted as described in <xref
     target="RFC2119">RFC 2119</xref>.</t>
   </section>

   <section title="Introduction">

	<t>The RPKI is a hierarchical cryptologic system that uses X.509 certificates to match and validate holdership of Internet number resources.  This validation follows the allocation change from IANA to an RIR, to an NIR or LIR, and ending with end users who make use of the address block.  Since these allocations can be cryptographically validated, this can then be tied to assertions made by the holder of those number resources. As an improvement of this system, the RPKI was updated to add validation of origin routing announcements via ROAs.  These ROAs can then be independently and cryptographically validated by third parties to assure themselves that the origin of the announcement as seen in the actual routing system is valid.</t>

	<t>Since this system is envisioned to be used by network operators and ISPs to determine their routing decisions, there is a goal to be 100% correct 100% of the time.  This goal could be achieved if the system was contained in a static environment where there is little or no movement of holdership changes from one organization to another of number resources.  Unfortunately, this state cannot be achieved today, as movement of number resouces from from organization to organization is becoming common largely due to IPv4 scarcity.</t>

	<t>Unfortunately, this state of 100% correctness at all times is infeasible in a model where separate entities are operating independently, yet rely critically on each others' perfect synchronisation at all times.</t>

	<t>Because the current validation mechanism is all-or-nothing, any inconsistency at all at a high apex CA has the potential to invalidate a large number of additional Internet Number Resources.  The higher the apex, and the larger the total set of INRs maintained by the CA, the greater the impact of even a small inconsistency.</t>

	<t>As resources do change at high apex CAs for a variety of reasons, the likelihood of a small inconsistency is non-zero. And the likelihood of a transitional inconsistency is moderate.  Due to the distributed nature of the RPKI repository mechanism, even if all CAs were able to operate in perfect synchronicity at all times, there is a reasonable likelihood that a given validating client may witness a temporarily inconsistent state of the system as a whole.  A risk of wide-spread invalidity therefore exists as a very high impact and moderate likelihood event.</t>

        <!--	<t>In this evolution to a market economy for IP addresses, subsets of current holdings are being moved from one ISP to another, both within a RIR region as well outside of a RIR region.</t>

	<t>As the movement occurs, there has been a desire to move networks using a 'make before break' (insert reference here) model.</t>

	<t>Unfortunately, movement has exposed brittleness in the IETF validation mechanism where over claiming can be easily done which would invalidate the remaining organizations holdings and downstream allocations as well using make before break or other means.  This violates the '100% correctness 100% of the time' goal.  Beyond that, the further up the allocation chain over-claiming was to occur, the more severe the consequences invalidation downstream would be.</t> -->

	<t>This brittleness in the RPKI validation rules has been identified and presented by the current RPKI TA operators to the IETF.  A solution has also been proposed (<xref target="I-D.ietf-sidr-rpki-validation-reconsidered"/>), a solution that would allow for accidental over-claiming only to invalidate the resource that is incorrectly listed and allow the remaining to continue to be valid. As the implementation and deployment of solutions to this problem will occur according to timelines outside the control of the current TA operators, the workaround proposed in the present draft provides an acceptable trade-off.</t>

   </section>

	<section title="Applicability to reduce overclaiming possibilities">

		<t>The consequences of an RIR over-claiming are grave given that every ISP within their certificate would be invalidated.  If routing was to be reliant on RPKI at this point, all routes announced by those ISPs below the affected RIR certificate would cease to work.</t>

		<t>To mitigate risk and alleviate this threat, each RIR will move from a Trust Anchor that reflects their current holdings only, to one that reflects all holdings (e.g. 0/0). This will then ensure that over-claiming can not occur at a RIR level when dealing with transfers from one RIR to another.  RPKI validators will not see the five Trust anchors from the RIRs as over-claiming and validation can proceed normally.</t>

		<t>For those who may want to audit the RIRs to ensure that RIRs are not allocating the same IP addresses in separate regions, this can be done by matching the inventory of each RIR (<xref target="NROSTATS"/>) that is provided by the RIRs with the certificates issued by the RIRs within the RPKI.</t>

      <t>Note that there will be minor changes from time to time to account for movements from IP address holdings that are in flight from one RIR to another and that transient overlaps can, and probably will, occur as inter-RIR transfers become more and more common.</t>

	</section>

   <?rfc needLines="8" ?>

 </middle>

 <!--  *****BACK MATTER ***** -->

 <back>
   <!-- References split into informative and normative -->

   <!-- There are 2 ways to insert reference entries from the citation libraries:
    1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
    2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
       (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

    Both are cited textually in the same manner: by using xref elements.
    If you use the PI option, xml2rfc will, by default, try to find included files in the same
    directory as the including file. You can also define the XML_LIBRARY environment variable
    with a value containing a set of directories to search.  These can be either in the local
    filing system or remote ones accessed by http (http://domain/dir/... ).-->

   <references title="Normative References">
     <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
     &RFC2119;

     &draftvr;

     <reference anchor="NROSTATS" target="https://www.nro.net/wp-content/uploads/apnic-uploads/delegated-extended">
        <front>
           <title>NRO Extended Stats File</title>
           <author initials="NRO" fullname="Number Resource Organization"/>
           <date day="18" month="July" year="2016" />
       </front>
     </reference>

   </references>

   <!-- Change Log
   -->

 </back>
</rfc>
