<?xml version="1.0" encoding="UTF-8"?>
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc strict="no"?>
<?rfc rfcedstyle="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>

<rfc category="bcp"
     docName="draft-ietf-sidrops-rpkimaxlen-12"
     submissionType="IETF"
     ipr="trust200902"
     consensus="true">

    <front>
        <title abbrev="RPKI maxLength">The Use of maxLength in the RPKI</title>

        <author fullname="Yossi Gilad" initials="Y." surname="Gilad">
            <organization>Hebrew University of Jerusalem</organization>
            <address>
                <postal>
                    <street>Rothburg Family Buildings, Edmond J. Safra Campus</street>
                    <city>Jerusalem</city>
                    <region></region>
                    <code>9190416</code>
                    <country>Israel</country>
                </postal>
                <email>yossigi@cs.huji.ac.il</email>
            </address>
        </author>

        <author fullname="Sharon Goldberg" initials="S." surname="Goldberg">
            <organization>Boston University</organization>
            <address>
                <postal>
                    <street>111 Cummington St, MCS135</street>
                    <city>Boston</city>
                    <region>MA</region>
                    <code>02215</code>
                    <country>USA</country>
                </postal>
                <email>goldbe@cs.bu.edu</email>
            </address>
        </author>

        <author fullname="Kotikalapudi Sriram" initials="K." surname="Sriram">
            <organization abbrev="USA NIST">USA National Institute of Standards and Technology</organization>
            <address>
                <postal>
                    <street>100 Bureau Drive</street>
                    <city>Gaithersburg</city>
                    <region>MD</region>
                    <code>20899</code>
                    <country>USA</country>
                </postal>
                <email>kotikalapudi.sriram@nist.gov</email>
            </address>
        </author>

        <author fullname="Job Snijders" initials="J." surname="Snijders">
            <organization>Fastly</organization>
            <address>
                <postal>
                    <street/>
                    <code/>
                    <city>Amsterdam</city>
                    <country>Netherlands</country>
                </postal>
                <email>job@fastly.com</email>
            </address>
        </author>

        <author fullname="Ben Maddison" initials="B." surname="Maddison">
            <organization>Workonline Communications</organization>
            <address>
                <postal>
                    <street>114 West St</street>
                    <city>Johannesburg</city>
                    <code>2196</code>
                    <country>South Africa</country>
                </postal>
                <email>benm@workonline.africa</email>
            </address>
        </author>

        <date />

        <workgroup>Internet Engineering Task Force (IETF)</workgroup>

        <keyword>Secure Internet routing</keyword>
        <keyword>Resource public key infrastructure</keyword>

        <abstract>

            <t>
                This document recommends ways to reduce the forged-origin hijack attack surface by
                prudently limiting the set of IP prefixes that are included in a Route Origin
                Authorization (ROA). One recommendation is to avoid using the maxLength attribute
                in ROAs except in some specific cases. The recommendations complement and extend
                those in RFC 7115. The document also discusses the creation of ROAs for facilitating
                the use of Distributed Denial of Service (DDoS) mitigation services. Considerations
                related to ROAs and origin validation in the context of destination-based Remotely
                Triggered Discard Route (RTDR) (elsewhere referred to as "Remotely Triggered
                Black Hole") filtering are also highlighted.
            </t>

        </abstract>

    </front>

    <middle>
        <section title="Introduction" anchor="intro">
            <t>
                The RPKI <xref target="RFC6480"/> uses Route Origin Authorizations (ROAs) to create
                a cryptographically verifiable mapping from an IP prefix to a set of autonomous
                systems (ASes) that are authorized to originate that prefix.
                Each ROA contains a set of IP prefixes, and an AS number of an AS authorized to
                originate all the IP prefixes in the set <xref target="RFC6482"/>.
                The ROA is cryptographically signed by the party that holds a certificate for the
                set of IP prefixes.
            </t>

            <t>
                The ROA format also supports a maxLength attribute. According to
                <xref target="RFC6482"/>, "When present, the maxLength specifies the maximum length
                of the IP address prefix that the AS is authorized to advertise."
                Thus, rather than requiring the ROA to list each prefix that the AS is authorized to
                originate, the maxLength attribute provides a shorthand that authorizes an AS to
                originate a set of IP prefixes.
            </t>

            <t>
                However, measurements of RPKI deployments have found that the use of the maxLength in
                ROAs tends to lead to security problems.
                In particular, measurements taken in June 2017 showed that of the prefixes
                specified in ROAs that use the maxLength attribute, 84% were vulnerable to a
                forged-origin sub-prefix hijack <xref target="HARMFUL" />.
                The forged-origin prefix or sub-prefix hijack involves inserting the legitimate AS
                as specified in the ROA as the origin AS in the AS_PATH, and can be launched
                against any IP prefix/sub-prefix that has a ROA. Consider a prefix/sub-prefix that
                has a ROA but is unused, i.e., not announced in BGP by a legitimate AS. A forged
                origin hijack involving such a prefix/sub-prefix can propagate widely throughout the
                Internet. On the other hand, if the prefix/sub-prefix were announced by the
                legitimate AS, then the propagation of the forged-origin hijack is somewhat limited
                because of its increased AS_PATH length relative to the legitimate announcement. Of
                course, forged-origin hijacks are harmful in both cases but the extent of harm is
                greater for unannounced prefixes.
            </t>

            <t>
                For this reason, this document recommends that, whenever possible, operators SHOULD
                use "minimal ROAs" that authorize only those IP prefixes that are actually
                originated in BGP, and no other prefixes. Further, it recommends ways to reduce the
                forged-origin attack surface by prudently limiting the address space that is
                included in Route Origin Authorizations (ROAs). One recommendation is to avoid
                using the maxLength attribute in ROAs except in some specific cases. The
                recommendations complement and extend those in <xref target="RFC7115"/>. The
                document also discusses the creation of ROAs for facilitating the use of Distributed
                Denial of Service (DDoS) mitigation services. Considerations related to ROAs and
                origin validation in the context of destination-based Remotely Triggered Discard
                Route (RTDR) (elsewhere referred to as "Remotely Triggered Black Hole") filtering
                are also highlighted.
            </t>
            <t>
                One ideal place to implement the ROA related recommendations is in the user
                interfaces for configuring ROAs. Thus, this document further recommends that
                designers and/or providers of such user interfaces SHOULD provide warnings to draw
                the user's attention to the risks of using the maxLength attribute.
            </t>

            <t>
                Best current practices described in this document require no changes to the RPKI
                specification and will not increase the number of signed ROAs in the RPKI because
                ROAs already support lists of IP prefixes <xref target="RFC6482"/>.
            </t>

            <section title="Requirements">
                <t>
                    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
                    "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" 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>
            </section>

            <section title=" Documentation Prefixes">
                <t>
                    The documentation prefixes recommended in <xref target="RFC5737"/> are
                    insufficient for use as example prefixes in this document. Therefore, this
                    document uses <xref target="RFC1918" /> address space for constructing example
                    prefixes.
                </t>
            </section>

        </section>

        <section title="Suggested Reading">

            <t>
                It is assumed that the reader understands BGP <xref target="RFC4271"/>, RPKI
                <xref target="RFC6480"/>, Route Origin Authorizations (ROAs)
                <xref target="RFC6482"/>, RPKI-based Prefix Validation <xref target="RFC6811"/>,
                and BGPsec <xref target="RFC8205"/>.
            </t>

        </section>

        <section title="Forged-Origin Sub-prefix Hijack" anchor="hijack">

            <t>
                A detailed description and discussion of forged-origin sub-prefix hijacks are
                presented here, especially considering the case when the sub-prefix is not announced
                in BGP.
                The forged-origin sub-prefix hijack is relevant to a scenario in which:
                <list>
                    <t>
                        (1) the RPKI <xref target="RFC6480"/> is deployed, and
                    </t>
                    <t>
                        (2) routers use RPKI origin validation to drop invalid routes
                            <xref target="RFC6811" />, but
                    </t>
                    <t>
                        (3) BGPsec <xref target="RFC8205"/> (or any similar method to validate the
                            truthfulness of the BGP AS_PATH attribute) is not deployed.
                    </t>
                </list>
                Note that this set of assumptions accurately describes a substantial and growing
                number of large Internet networks at the time of writing.
            </t>

            <t>
                The forged-origin sub-prefix hijack <xref target="RFC7115" />
                <xref target="GCHSS" /> is described here using a running example.
            </t>

            <t>
                Consider the IP prefix 192.168.0.0/16 which is allocated to an organization that
                also operates AS 64496.
                In BGP, AS 64496 originates the IP prefix 192.168.0.0/16 as well as its sub-prefix
                192.168.225.0/24.
                Therefore, the RPKI should contain a ROA authorizing AS 64496 to originate these
                two IP prefixes.
            </t>

            <t>
                Suppose, however, the organization issues and publishes a ROA including a maxLength
                value of 24:
                <list>
                    <t>
                        ROA:(192.168.0.0/16-24, AS 64496)
                    </t>
                </list>
                We refer to the above as a "loose ROA" since it authorizes AS 64496 to originate
                any sub-prefix of 192.168.0.0/16 up to and including length /24, rather than only
                those prefixes that are intended to be announced in BGP.
            </t>

            <t>
                Because AS 64496 only originates two prefixes in BGP: 192.168.0.0/16 and
                192.168.225.0/24, all other prefixes authorized by the "loose ROA" (for instance,
                192.168.0.0/24), are vulnerable to the following forged-origin sub-prefix hijack
                <xref target="RFC7115"/> <xref target="GCHSS" />:
                <list>
                    <t>
                        The hijacker AS 64511 sends a BGP announcement "192.168.0.0/24: AS 64511,
                        AS 64496", falsely claiming that AS 64511 is a neighbor of AS 64496 and
                        falsely claiming that AS 64496 originates the IP prefix 192.168.0.0/24.
                        In fact, the IP prefix 192.168.0.0/24 is not originated by AS 64496.
                    </t>
                    <t>
                        The hijacker's BGP announcement is valid according to the RPKI since the
                        ROA (192.168.0.0/16-24, AS 64496) authorizes AS 64496 to originate BGP
                        routes for 192.168.0.0/24.
                    </t>
                    <t>
                        Because AS 64496 does not actually originate a route for 192.168.0.0/24,
                        the hijacker's route is the only route for 192.168.0.0/24.
                        Longest-prefix-match routing ensures that the hijacker's route to the
                        sub-prefix 192.168.0.0/24 is always preferred over the legitimate route to
                        192.168.0.0/16 originated by AS 64496.
                    </t>
                </list>
                Thus, the hijacker's route propagates through the Internet, and traffic destined
                for IP addresses in 192.168.0.0/24 will be delivered to the hijacker.
            </t>

            <t>
                The forged-origin sub-prefix hijack would have failed if a "minimal ROA" described
                below was used instead of the "loose ROA".
                In this example, a "minimal ROA" would be:
                <list>
                    <t>
                        ROA:(192.168.0.0/16, 192.168.225.0/24, AS 64496)
                    </t>
                </list>
                This ROA is "minimal" because it includes only those IP prefixes that AS 64496
                originates in BGP, but no other IP prefixes <xref target="RFC6907" />.
            </t>

            <t>
                The "minimal ROA" renders AS 64511's BGP announcement invalid because:
                <list>
                    <t>
                        (1) this ROA "covers" the attacker's announcement (since 192.168.0.0/24 is
                            a sub-prefix of 192.168.0.0/16), and
                    </t>
                    <t>
                        (2) there is no ROA "matching" the attacker's announcement (there is no ROA
                            for AS 64511 and IP prefix 192.168.0.0/24) <xref target="RFC6811" />.
                    </t>
                </list>
                If routers ignore invalid BGP announcements, the minimal ROA above ensures that the
                sub-prefix hijack will fail.
            </t>

            <t>
                Thus, if a "minimal ROA" had been used, the attacker would be forced to launch a
                forged-origin prefix hijack in order to attract traffic, as follows:
                <list>
                    <t>
                        The  hijacker AS 64511 sends a BGP announcement "192.168.0.0/16: AS 64511,
                        AS 64496", falsely claiming that AS 64511 is a neighbor of AS 64496.
                    </t>
                </list>
            </t>

            <t>
                This forged-origin prefix hijack is significantly less damaging than the
                forged-origin sub-prefix hijack:
                <list>
                    <t>
                        AS 64496 legitimately originates 192.168.0.0/16 in BGP, so the hijacker
                        AS 64511 is not presenting the only route to 192.168.0.0/16.
                    </t>
                    <t>
                        Moreover, the path originated by AS 64511 is one hop longer than the path
                        originated by the legitimate origin AS 64496.
                    </t>
                </list>
                As discussed in <xref target="LSG16"/>, this means that the hijacker will attract
                less traffic than he would have in the forged-origin sub-prefix hijack, where
                the hijacker presents the only route to the hijacked sub-prefix.
            </t>

            <t>
                In summary, a forged-origin sub-prefix hijack has the same impact as a regular
                sub-prefix hijack, despite the increased AS_PATH length of the illegitimate route.
                A forged-origin sub-prefix hijack is also more damaging than the forged-origin
                prefix hijack.
            </t>

        </section>

        <section title="Measurements of the RPKI">

            <t>
                Network measurements taken in June 2017 showed that 12% of the IP prefixes
                authorized in ROAs have a maxLength longer than their prefix length.
                Of these, the vast majority (84%) were non-minimal, as they included sub-prefixes
                that are not announced in BGP by the legitimate AS, and were thus vulnerable to
                forged-origin sub-prefix hijacks.
                See <xref target="GSG17"/> for details.
            </t>

            <t>
                These measurements suggest that operators commonly misconfigure the maxLength
                attribute, and unwittingly open themselves up to forged-origin sub-prefix hijacks.
                That is, they are exposing a much larger attack surface for forged-origin hijacks
                than necessary.
            </t>
        </section>

        <section title="Recommendations about Minimal ROAs and maxLength" anchor="recommendations">

            <t>
                Operators SHOULD use "minimal ROAs" whenever possible.
                A minimal ROA contains only those IP prefixes that are actually originated by an AS
                in BGP and no other IP prefixes.
                (See <xref target="hijack"/> for an example.)
            </t>

            <t>
                In general, except in some special cases, operators SHOULD avoid using the
                maxLength attribute in their ROAs, since its inclusion will usually make the ROA
                non-minimal.
            </t>

            <t>
                One such exception may be when all more specific prefixes permitted by the
                maxLength are actually announced by the AS in the ROA.
                Another exception is where: (a) the maxLength is substantially larger compared to
                the specified prefix length in the ROA, and (b) a large number of more specific
                prefixes in that range are announced by the AS in the ROA. In practice, this case
                should occur rarely (if at all). Operator discretion is necessary in this case.
            </t>

            <t>
                This practice requires no changes to the RPKI specification and need not increase
                the number of signed ROAs in the RPKI because ROAs already support lists of IP
                prefixes <xref target="RFC6482"/>.
                See also <xref target="GSG17"/> for further discussion of why this practice will
                have minimal impact on the performance of the RPKI ecosystem.
            </t>

            <t>
                Operators that have existing ROAs published in the RPKI system SHOULD perform a
                review of such objects, especially where they make use of the maxLength attribute,
                to ensure that the set of included prefixes is "minimal" with respect to the
                current BGP origination and routing policies.
                Published ROAs SHOULD be replaced as necessary.
                Such an exercise SHOULD be repeated whenever the operator makes changes to either
                policy.
            </t>

            <section title="Facilitating Ad Hoc Routing Changes and DDoS Mitigation" anchor="nominimal">

                <t>
                    Operational requirements may require that a route for an IP prefix be
                    originated on an ad hoc basis, with little or no prior warning.
                    An example of such a situation arises when an operator wishes to make use of
                    DDoS mitigation services that use BGP to redirect traffic via a "scrubbing
                    center".
                </t>

                <t>
                    In order to ensure that such ad hoc routing changes are effective, a ROA
                    validating the new route should exist. However a difficulty arises due to the
                    fact that newly created objects in the RPKI are made visible to relying parties
                    considerably more slowly than routing updates in BGP.
                </t>

                <t>
                    Ideally, it would not be necessary to pre-create the ROA which validates the
                    ad hoc route, and instead create it "on-the-fly" as required. However, this is
                    practical only if the latency imposed by the propagation of RPKI data is
                    guaranteed to be within acceptable limits in the circumstances.
                    For time-critical interventions such as responding to a DDoS attack, this is
                    unlikely to be the case.
                </t>

                <t>
                    Thus, the ROA in question will usually need to be created well in advance of
                    the routing intervention, but such a ROA will be non-minimal, since it includes
                    an IP prefix that is sometimes (but not always) originated in BGP.
                </t>

                <t>
                    In this case, the ROA SHOULD include only:
                    <list>
                        <t>
                            (1) the set of IP prefixes that are always
                                originated in BGP, and
                        </t>
                        <t>
                            (2) the set of IP prefixes that are sometimes, but not always,
                                originated in BGP.
                        </t>
                    </list>
                    The ROA SHOULD NOT include any IP prefixes that the operator knows will not be
                    originated in BGP.
                    In general, the ROA SHOULD NOT make use of the maxLength attribute unless doing
                    so has no impact on the set of included prefixes.
                </t>

                <t>
                    The running example is now extended to illustrate one situation where it is not
                    possible to issue a minimal ROA.
                </t>

                <t>
                    Consider the following scenario prior to the deployment of RPKI.
                    Suppose AS 64496 announced 192.168.0.0/16 and has a contract with a Distributed
                    Denial of Service (DDoS) mitigation service provider that holds AS 64500.
                    Further, assume that the DDoS mitigation service contract applies to all IP
                    addresses covered by 192.168.0.0/22.
                    When a DDoS attack is detected and reported by AS 64496, AS 64500 immediately
                    originates 192.168.0.0/22, thus attracting all the DDoS traffic to itself.
                    The traffic is scrubbed at AS 64500 and then sent back to AS 64496 over a
                    backhaul link.
                    Notice that, during a DDoS attack, the DDoS mitigation service provider AS
                    64500 originates a /22 prefix that is longer than AS 64496's /16 prefix, and so
                    all the traffic (destined to addresses in 192.168.0.0/22) that normally goes to
                    AS 64496 goes to AS 64500 instead.
                    In some deployments, the origination of the /22 route is performed by AS 64496
                    and announced only to AS 64500, which then announces transit for that prefix.
                    This variation does not change the properties considered here.
                </t>

                <t>
                    First, suppose the RPKI only had the minimal ROA for AS 64496, as described
                    in <xref target="hijack"/>.
                    But if there is no ROA authorizing AS 64500 to announce the /22 prefix, then
                    the DDoS mitigation (and traffic scrubbing) scheme would not work.
                    That is, if AS 64500 originates the /22 prefix in BGP during DDoS attacks, the
                    announcement would be invalid <xref target="RFC6811" />.
                </t>

                <t>
                    Therefore, the RPKI should have two ROAs: one for AS 64496 and one for AS
                    64500.
                    <list>
                        <t>
                            ROA:(192.168.0.0/16, 192.168.225.0/24, AS 64496)
                        </t>
                        <t>
                            ROA:(192.168.0.0/22, AS 64500)
                        </t>
                    </list>
                    Neither ROA uses the maxLength attribute.
                    But the second ROA is not "minimal" because it contains a /22 prefix that is
                    not originated by anyone in BGP during normal operations.
                    The /22 prefix is only originated by AS 64500 as part of its DDoS mitigation
                    service during a DDoS attack.
                </t>

                <t>
                    Notice, however, that this scheme does not come without risks.
                    Namely, all IP addresses in 192.168.0.0/22 are vulnerable to a forged-origin
                    sub-prefix hijack during normal operations, when the /22 prefix is not
                    originated.
                    (The hijacker AS 64511 would send the BGP announcement "192.168.0.0/22: 
                    AS 64511, AS 64500", falsely claiming that AS 64511 is a neighbor of AS 64500
                    and falsely claiming that AS 64500 originates 192.168.0.0/22.)
                </t>

                <t>
                    In some situations, the DDoS mitigation service at AS 64500 might want to limit
                    the amount of DDoS traffic that it attracts and scrubs.
                    Suppose that a DDoS attack only targets IP addresses in 192.168.0.0/24.
                    Then, the DDoS mitigation service at AS 64500 only wants to attract the traffic
                    designated for the /24 prefix that is under attack, but not the entire /22
                    prefix.
                    To allow for this, the RPKI should have two ROAs: one for AS 64496 and one for
                    AS 64500.
                    <list>
                        <t>
                            ROA:(192.168.0.0/16, 192.168.225.0/24, AS 64496)
                        </t>
                        <t>
                            ROA:(192.168.0.0/22-24, AS 64500)
                        </t>
                    </list>
                </t>
                <t>
                    The second ROA uses the maxLength attribute because it is designed to
                    explicitly enable AS 64500 to originate any /24 sub-prefix of 192.168.0.0/22.
                </t>
                <t>
                    As before, the second ROA is not "minimal" because it contains prefixes that
                    are not originated by anyone in BGP during normal operations.
                    As before, all IP addresses in 192.168.0.0/22 are vulnerable to a forged-origin
                    sub-prefix hijack during normal operations, when the /22 prefix is not
                    originated.
                </t>
                <t>
                    The use of maxLength in this second ROA also comes with additional risk.
                    While it permits the DDoS mitigation service at AS 64500 to originate prefix
                    192.168.0.0/24 during a DDoS attack in that space, it also makes the other
                    /24 prefixes covered by the /22 prefix (i.e., 192.168.1.0/24, 192.168.2.0/24,
                    192.168.3.0/24) vulnerable to forged-origin sub-prefix attacks.
                </t>
            </section>

            <section title="Defensive De-aggregation In Response To Prefix Hijacks" anchor="deaggr">
                <t>
                    In responding to certain classes of prefix hijack, in particular, the
                    forged-origin sub-prefix hijack described above, it may be desirable for the
                    victim to perform "defensive de-aggregation", i.e. to begin originating
                    more-specific prefixes in order to compete with the hijack routes for selection
                    as the best path in networks that are not performing RPKI-based route origin
                    validation (ROV) <xref target="RFC6811"/>.
                </t>
                <t>
                    In some topologies, where at least one AS on every path between the victim
                    and hijacker filters ROV invalid prefixes, it may be the case that the
                    existence of a minimal ROA issued by the victim prevents the defensive
                    more-specific prefixes from being propagated to the networks topologically
                    close to the attacker, thus hampering the effectiveness of this response.
                </t>
                <t>
                    Nevertheless, this document recommends that where possible, network operators
                    publish minimal ROAs even in the face of this risk. This is because:
                    <list style="symbols">
                        <t>
                            Minimal ROAs offer the best possible protection against the immediate
                            impact of such an attack, rendering the need for such a response less
                            likely;
                        </t>
                        <t>
                            Increasing ROV adoption by network operators will, over time, decrease
                            the size of the neighborhoods in which this risk exists; and
                        </t>
                        <t>
                            Other methods for reducing the size of such neighborhoods are available
                            to potential victims, such as establishing direct EBGP adjacencies with
                            networks from whom the defensive routes would otherwise be hidden.
                        </t>
                    </list>
                </t>
            </section>

    </section>

    <section title="Considerations for RTDR Filtering Scenarios" anchor="rtdr">
        <t>
            Considerations related to ROAs and origin validation <xref target="RFC6811"/> for the
            case of destination-based Remotely Triggered Discard Route (RTDR) (elsewhere referred
            to as "Remotely Triggered Black Hole") filtering are addressed here.
            In RTDR filtering, highly specific prefixes (greater than /24 in IPv4 and greater than
            /48 in IPv6; possibly even /32 (IPv4) and /128 (IPv6)) are announced in BGP.
            These announcements are tagged with the Well-known BGP Community defined by
            <xref target="RFC7999"/>.
            It is obviously not desirable to use a large maxLength or include any such highly
            specific prefixes in the ROAs to accommodate destination-based RTDR filtering, for the
            reasons set out above.
        </t>

        <t>
            As a result, RPKI-based route origin validation <xref target="RFC6811"/> is a poor fit
            for the validation of RTDR routes.
            Specification of new procedures to address this use case through the use of the RPKI is
            outside the scope of this document.
        </t>
        
        <t>
            Therefore:
            <list style="symbols">
                <t>
                    Operators SHOULD NOT create non-minimal ROAs (either by creating additional
                    ROAs, or through the use of maxLength) for the purpose of advertising RTDR
                    routes; and
                </t>
                <t>
                    Operators providing a means for operators of neighboring autonomous systems to
                    advertise RTDR routes via BGP MUST NOT make the creation of non-minimal ROAs
                    a pre-requisite for its use.
                </t>
            </list>
        </t>

    </section>

    <section title="Operational Considerations" anchor="operational-considerations">
        <t>
            The recommendations specified in this document, in particular, those in
            <xref target="recommendations"/>, involve trade-offs between operational agility and
            security.
        </t>
        <t>
            Operators adopting the recommended practice of issuing minimal ROAs will, by definition
            need to make changes to their existing set of issued ROAs in order to effect changes to
            the set of prefixes which are originated in BGP.
        </t>
        <t>
            Even in the case of routing changes that are planned in advance, existing procedures
            may need to be updated to incorporate changes to issued ROAs, and may require
            additional time allowed for those changes to propagate.
        </t>
        <t>
            Operators are encouraged to carefully review the issues highlighted (especially those
            in <xref target="nominimal"/> and <xref target="deaggr"/>) in light of their specific
            operational requirements. Failure to do so could, in the worst case, result in a
            self-inflicted denial of service.
        </t>
    </section>

    <section title="Security Considerations" anchor="security-considerations">
        <t>
            This document makes recommendations regarding the use of RPKI-based origin validation
            as defined in <xref target="RFC6811"/>, and as such introduces no additional security
            considerations beyond those specified therein.
        </t>
    </section>

    <section anchor="IANA" title="IANA Considerations">
        <t>
            This document includes no request to IANA.
        </t>
    </section>

    <section anchor="Acknowledgments" title="Acknowledgments">
        <t>
            The authors would like to thank the following people for their review and
            contributions to this document:
            Omar Sagga
            and
            Aris Lambrianidis.
            Thanks are also due to
            Matthias Waehlisch,
            Ties de Kock,
            and
            Amreesh Phokeer
            for comments and suggestions,
            to Roni Even for the Gen-ART review,
            to Jean Mahoney for the ART-ART review,
            and
            to Acee Lindem for the Routing Directorate review.
        </t>
    </section>

    </middle>

    <back>

    <references title="Normative References">
        <?rfc include="reference.RFC.1918.xml"?>
        <?rfc include="reference.RFC.2119.xml"?>
        <?rfc include="reference.RFC.4271.xml"?>
        <?rfc include="reference.RFC.6480.xml"?>
        <?rfc include="reference.RFC.6482.xml"?>
        <?rfc include="reference.RFC.6811.xml"?>
        <?rfc include="reference.RFC.8174.xml"?>

    </references>

    <references title="Informative References">

        <reference anchor="GSG17" target="https://eprint.iacr.org/2016/1015.pdf">
            <front>
                <title>Maxlength Considered Harmful to the RPKI</title>
                <author initials="Y." surname="Gilad"><organization /></author>
                <author initials="O." surname="Sagga"><organization /></author>
                <author initials="S." surname="Goldberg"><organization /></author>
                <date year="2017" month="December" />
            </front>
            <seriesInfo name="in" value="ACM CoNEXT 2017" />
        </reference>

        <reference anchor="LSG16" target="http://cacm.acm.org/magazines/2016/10/207763-rethinking-security-for-internet-routing/">
            <front>
                <title>Rethinking Security for Internet Routing</title>
                <author initials="R." surname="Lychev"><organization /></author>
                <author initials="M." surname="Shapira"><organization /></author>
                <author initials="S." surname="Goldberg"><organization /></author>
                <date year="2016" month="October" />
            </front>
            <seriesInfo name="in" value="Communications of the ACM" />
        </reference>

        <reference anchor="GCHSS" target="https://eprint.iacr.org/2016/1010.pdf">
            <front>
                <title>Are We There Yet? On RPKI&#39;s Deployment and Security</title>
                <author initials="Y." surname="Gilad"><organization /></author>
                <author initials="A." surname="Cohen"><organization /></author>
                <author initials="A." surname="Herzberg"><organization /></author>
                <author initials="M." surname="Schapira"><organization /></author>
                <author initials="H." surname="Shulman"><organization /></author>
                <date year="2017" month="February" />
            </front>
            <seriesInfo name="in" value="NDSS 2017" />
        </reference>

        <reference anchor="HARMFUL" target="https://eprint.iacr.org/2016/1015.pdf">
            <!-- https://dl.acm.org/citation.cfm?doid=3143361.3143363 -->
            <front>
                <title>MaxLength Considered Harmful to the RPKI</title>
                <author initials="Y." surname="Gilad"><organization /></author>
                <author initials="O." surname="Sagga"><organization /></author>
                <author initials="S." surname="Goldberg"><organization /></author>
                <date year="2017" />
            </front>
            <!-- <seriesInfo name="in" value="NDSS 2017" /> -->
        </reference>

        <?rfc include="reference.RFC.5737.xml"?>
        <?rfc include="reference.RFC.6907.xml"?>
        <?rfc include="reference.RFC.7115.xml"?>
        <?rfc include="reference.RFC.7999.xml"?>
        <?rfc include="reference.RFC.8205.xml"?>
    </references>

</back>
</rfc>
<!-- vim: et ts=4 sts=4 sw=4 colorcolumn=100 spell :
-->
