rfc9319.original | rfc9319.txt | |||
---|---|---|---|---|
Internet Engineering Task Force (IETF) Y. Gilad | Internet Engineering Task Force (IETF) Y. Gilad | |||
Internet-Draft Hebrew University of Jerusalem | Request for Comments: 9319 Hebrew University of Jerusalem | |||
Intended status: Best Current Practice S. Goldberg | BCP: 185 S. Goldberg | |||
Expires: 15 February 2023 Boston University | Category: Best Current Practice Boston University | |||
K. Sriram | ISSN: 2070-1721 K. Sriram | |||
USA NIST | USA NIST | |||
J. Snijders | J. Snijders | |||
Fastly | Fastly | |||
B. Maddison | B. Maddison | |||
Workonline Communications | Workonline Communications | |||
14 August 2022 | October 2022 | |||
The Use of maxLength in the RPKI | The Use of maxLength in the Resource Public Key Infrastructure (RPKI) | |||
draft-ietf-sidrops-rpkimaxlen-15 | ||||
Abstract | Abstract | |||
This document recommends ways to reduce the forged-origin hijack | This document recommends ways to reduce the forged-origin hijack | |||
attack surface by prudently limiting the set of IP prefixes that are | attack surface by prudently limiting the set of IP prefixes that are | |||
included in a Route Origin Authorization (ROA). One recommendation | included in a Route Origin Authorization (ROA). One recommendation | |||
is to avoid using the maxLength attribute in ROAs except in some | is to avoid using the maxLength attribute in ROAs except in some | |||
specific cases. The recommendations complement and extend those in | specific cases. The recommendations complement and extend those in | |||
RFC 7115. The document also discusses the creation of ROAs for | RFC 7115. This document also discusses the creation of ROAs for | |||
facilitating the use of Distributed Denial of Service (DDoS) | facilitating the use of Distributed Denial of Service (DDoS) | |||
mitigation services. Considerations related to ROAs and origin | mitigation services. Considerations related to ROAs and RPKI-based | |||
validation in the context of destination-based Remotely Triggered | Route Origin Validation (RPKI-ROV) in the context of destination- | |||
Discard Route (RTDR) (elsewhere referred to as "Remotely Triggered | based Remotely Triggered Discard Route (RTDR) (elsewhere referred to | |||
Black Hole") filtering are also highlighted. | as "Remotely Triggered Black Hole") filtering are also highlighted. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This memo documents an Internet Best Current Practice. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
BCPs is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 15 February 2023. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9319. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2022 IETF Trust and the persons identified as the | Copyright (c) 2022 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
in the Revised BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
1.1. Requirements . . . . . . . . . . . . . . . . . . . . . . 4 | 1.1. Requirements | |||
1.2. Documentation Prefixes . . . . . . . . . . . . . . . . . 4 | 1.2. Documentation Prefixes | |||
2. Suggested Reading . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Suggested Reading | |||
3. Forged-Origin Sub-prefix Hijack . . . . . . . . . . . . . . . 4 | 3. Forged-Origin Sub-Prefix Hijack | |||
4. Measurements of the RPKI . . . . . . . . . . . . . . . . . . 7 | 4. Measurements of the RPKI | |||
5. Recommendations about Minimal ROAs and maxLength . . . . . . 7 | 5. Recommendations about Minimal ROAs and maxLength | |||
5.1. Facilitating Ad Hoc Routing Changes and DDoS | 5.1. Facilitating Ad Hoc Routing Changes and DDoS Mitigation | |||
Mitigation . . . . . . . . . . . . . . . . . . . . . . . 8 | 5.2. Defensive De-aggregation in Response to Prefix Hijacks | |||
5.2. Defensive De-aggregation In Response To Prefix Hijacks . 10 | 6. Considerations for RTDR Filtering Scenarios | |||
6. Considerations for RTDR Filtering Scenarios . . . . . . . . . 11 | 7. User Interface Design Recommendations | |||
7. User Interface Design Recommendations . . . . . . . . . . . . 11 | 8. Operational Considerations | |||
8. Operational Considerations . . . . . . . . . . . . . . . . . 12 | 9. Security Considerations | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | 10. IANA Considerations | |||
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 11. References | |||
11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 13 | 11.1. Normative References | |||
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 11.2. Informative References | |||
12.1. Normative References . . . . . . . . . . . . . . . . . . 13 | Acknowledgments | |||
12.2. Informative References . . . . . . . . . . . . . . . . . 14 | Authors' Addresses | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 | ||||
1. Introduction | 1. Introduction | |||
The RPKI [RFC6480] uses Route Origin Authorizations (ROAs) to create | The Resource Public Key Infrastructure (RPKI) [RFC6480] uses Route | |||
a cryptographically verifiable mapping from an IP prefix to a set of | Origin Authorizations (ROAs) to create a cryptographically verifiable | |||
autonomous systems (ASes) that are authorized to originate that | mapping from an IP prefix to a set of Autonomous Systems (ASes) that | |||
prefix. Each ROA contains a set of IP prefixes, and the AS number of | are authorized to originate that prefix. Each ROA contains a set of | |||
one of the ASes authorized to originate all the IP prefixes in the | IP prefixes and the AS number of one of the ASes authorized to | |||
set [RFC6482]. The ROA is cryptographically signed by the party that | originate all the IP prefixes in the set [RFC6482]. The ROA is | |||
holds a certificate for the set of IP prefixes. | cryptographically signed by the party that holds a certificate for | |||
the set of IP prefixes. | ||||
The ROA format also supports a maxLength attribute. According to | The ROA format also supports a maxLength attribute. According to | |||
[RFC6482], "When present, the maxLength specifies the maximum length | [RFC6482], "When present, the maxLength specifies the maximum length | |||
of the IP address prefix that the AS is authorized to advertise." | 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 | Thus, rather than requiring the ROA to list each prefix that the AS | |||
is authorized to originate, the maxLength attribute provides a | is authorized to originate, the maxLength attribute provides a | |||
shorthand that authorizes an AS to originate a set of IP prefixes. | shorthand that authorizes an AS to originate a set of IP prefixes. | |||
However, measurements of RPKI deployments have found that the use of | However, measurements of RPKI deployments have found that the use of | |||
the maxLength in ROAs tends to lead to security problems. In | the maxLength attribute in ROAs tends to lead to security problems. | |||
particular, measurements taken in June 2017 showed that of the | In particular, measurements taken in June 2017 showed that of the | |||
prefixes specified in ROAs that use the maxLength attribute, 84% were | prefixes specified in ROAs that use the maxLength attribute, 84% were | |||
vulnerable to a forged-origin sub-prefix hijack [HARMFUL]. The | vulnerable to a forged-origin sub-prefix hijack [GSG17]. The forged- | |||
forged-origin prefix or sub-prefix hijack involves inserting the | origin prefix or sub-prefix hijack involves inserting the legitimate | |||
legitimate AS as specified in the ROA as the origin AS in the | AS as specified in the ROA as the origin AS in the AS_PATH; the | |||
AS_PATH, and can be launched against any IP prefix/sub-prefix that | hijack can be launched against any IP prefix/sub-prefix that has a | |||
has a ROA. Consider a prefix/sub-prefix that has a ROA but is | ROA. Consider a prefix/sub-prefix that has a ROA that is unused | |||
unused, i.e., not announced in BGP by a legitimate AS. A forged | (i.e., not announced in BGP by a legitimate AS). A forged-origin | |||
origin hijack involving such a prefix/sub-prefix can propagate widely | hijack involving such a prefix/sub-prefix can propagate widely | |||
throughout the Internet. On the other hand, if the prefix/sub-prefix | throughout the Internet. On the other hand, if the prefix/sub-prefix | |||
were announced by the legitimate AS, then the propagation of the | were announced by the legitimate AS, then the propagation of the | |||
forged-origin hijack is somewhat limited because of its increased | forged-origin hijack is somewhat limited because of its increased | |||
AS_PATH length relative to the legitimate announcement. Of course, | AS_PATH length relative to the legitimate announcement. Of course, | |||
forged-origin hijacks are harmful in both cases but the extent of | forged-origin hijacks are harmful in both cases, but the extent of | |||
harm is greater for unannounced prefixes. See Section 3 for detailed | harm is greater for unannounced prefixes. See Section 3 for detailed | |||
discussion. | discussion. | |||
For this reason, this document recommends that, whenever possible, | For this reason, this document recommends that, whenever possible, | |||
operators SHOULD use "minimal ROAs" that authorize only those IP | operators SHOULD use "minimal ROAs" that authorize only those IP | |||
prefixes that are actually originated in BGP, and no other prefixes. | prefixes that are actually originated in BGP, and no other prefixes. | |||
Further, it recommends ways to reduce the forged-origin attack | Further, it recommends ways to reduce the forged-origin attack | |||
surface by prudently limiting the address space that is included in | surface by prudently limiting the address space that is included in | |||
Route Origin Authorizations (ROAs). One recommendation is to avoid | ROAs. One recommendation is to avoid using the maxLength attribute | |||
using the maxLength attribute in ROAs except in some specific cases. | in ROAs except in some specific cases. The recommendations | |||
The recommendations complement and extend those in [RFC7115]. The | complement and extend those in [RFC7115]. The document also | |||
document also discusses the creation of ROAs for facilitating the use | discusses the creation of ROAs for facilitating the use of DDoS | |||
of Distributed Denial of Service (DDoS) mitigation services. | mitigation services. Considerations related to ROAs and RPKI-ROV in | |||
Considerations related to ROAs and origin validation in the context | the context of destination-based Remotely Triggered Discard Route | |||
of destination-based Remotely Triggered Discard Route (RTDR) | (RTDR) (elsewhere referred to as "Remotely Triggered Black Hole") | |||
(elsewhere referred to as "Remotely Triggered Black Hole") filtering | filtering are also highlighted. | |||
are also highlighted. | ||||
One ideal place to implement the ROA related recommendations is in | Please note that the term "RPKI-based Route Origin Validation" and | |||
the corresponding acronym "RPKI-ROV" that are used in this document | ||||
mean the same as the term "Prefix Origin Validation" used in | ||||
[RFC6811]. | ||||
One ideal place to implement the ROA-related recommendations is in | ||||
the user interfaces for configuring ROAs. Recommendations for | the user interfaces for configuring ROAs. Recommendations for | |||
implementors of such user interfaces are provided in Section 7 | implementors of such user interfaces are provided in Section 7. | |||
Best current practices described in this document require no changes | ||||
to the RPKI specification and will not increase the number of signed | The practices described in this document require no changes to the | |||
ROAs in the RPKI because ROAs already support lists of IP prefixes | RPKI specifications and will not increase the number of signed ROAs | |||
in the RPKI because ROAs already support lists of IP prefixes | ||||
[RFC6482]. | [RFC6482]. | |||
1.1. Requirements | 1.1. Requirements | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
1.2. Documentation Prefixes | 1.2. Documentation Prefixes | |||
The documentation prefixes recommended in [RFC5737] are insufficient | The documentation prefixes recommended in [RFC5737] are insufficient | |||
for use as example prefixes in this document. Therefore, this | for use as example prefixes in this document. Therefore, this | |||
document uses [RFC1918] address space for constructing example | document uses the address space defined in [RFC1918] for constructing | |||
prefixes. | example prefixes. | |||
Note that although the examples in this document are presented using | Note that although the examples in this document are presented using | |||
IPv4 prefixes, all the analysis thereof and the recommendations made | IPv4 prefixes, all the analysis thereof and the recommendations made | |||
are equally valid for the equivalent IPv6 cases. | are equally valid for the equivalent IPv6 cases. | |||
2. Suggested Reading | 2. Suggested Reading | |||
It is assumed that the reader understands BGP [RFC4271], RPKI | It is assumed that the reader understands BGP [RFC4271], RPKI | |||
[RFC6480], Route Origin Authorizations (ROAs) [RFC6482], RPKI-based | [RFC6480], ROAs [RFC6482], RPKI-ROV [RFC6811], and BGPsec [RFC8205]. | |||
Prefix Validation [RFC6811], and BGPsec [RFC8205]. | ||||
3. Forged-Origin Sub-prefix Hijack | 3. Forged-Origin Sub-Prefix Hijack | |||
A detailed description and discussion of forged-origin sub-prefix | A detailed description and discussion of forged-origin sub-prefix | |||
hijacks are presented here, especially considering the case when the | hijacks are presented here, especially considering the case when the | |||
sub-prefix is not announced in BGP. The forged-origin sub-prefix | sub-prefix is not announced in BGP. The forged-origin sub-prefix | |||
hijack is relevant to a scenario in which: | hijack is relevant to a scenario in which: | |||
(1) the RPKI [RFC6480] is deployed, and | (1) the RPKI [RFC6480] is deployed, and | |||
(2) routers use RPKI origin validation to drop invalid routes | (2) routers use RPKI-ROV to drop invalid routes [RFC6811], but | |||
[RFC6811], but | ||||
(3) BGPsec [RFC8205] (or any similar method to validate the | (3) BGPsec [RFC8205] (or any similar method to validate the | |||
truthfulness of the BGP AS_PATH attribute) is not deployed. | truthfulness of the BGP AS_PATH attribute) is not deployed. | |||
Note that this set of assumptions accurately describes a substantial | Note that this set of assumptions accurately describes a substantial | |||
and growing number of large Internet networks at the time of writing. | and growing number of large Internet networks at the time of writing. | |||
The forged-origin sub-prefix hijack [RFC7115] [GCHSS] is described | The forged-origin sub-prefix hijack [RFC7115] [GCHSS] is described | |||
here using a running example. | here using a running example. | |||
Consider the IP prefix 192.168.0.0/16 which is allocated to an | Consider the IP prefix 192.168.0.0/16, which is allocated to an | |||
organization that also operates AS 64496. In BGP, AS 64496 | 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 | 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 | 192.168.225.0/24. Therefore, the RPKI should contain a ROA | |||
authorizing AS 64496 to originate these two IP prefixes. | authorizing AS 64496 to originate these two IP prefixes. | |||
Suppose, however, the organization issues and publishes a ROA | Suppose, however, the organization issues and publishes a ROA | |||
including a maxLength value of 24: | including a maxLength value of 24: | |||
ROA:(192.168.0.0/16-24, AS 64496) | ROA:(192.168.0.0/16-24, AS 64496) | |||
We refer to the above as a "loose ROA" since it authorizes AS 64496 | 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 | 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 | length /24, rather than only those prefixes that are intended to be | |||
announced in BGP. | announced in BGP. | |||
Because AS 64496 only originates two prefixes in BGP: 192.168.0.0/16 | 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 | and 192.168.225.0/24), all other prefixes authorized by the loose ROA | |||
ROA" (for instance, 192.168.0.0/24), are vulnerable to the following | (for instance, 192.168.0.0/24) are vulnerable to the following | |||
forged-origin sub-prefix hijack [RFC7115] [GCHSS]: | forged-origin sub-prefix hijack [RFC7115] [GCHSS]: | |||
The hijacker AS 64511 sends a BGP announcement "192.168.0.0/24: AS | 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 | 64511, AS 64496", falsely claiming that AS 64511 is a neighbor of | |||
AS 64496 and falsely claiming that AS 64496 originates the IP | AS 64496 and that AS 64496 originates the IP prefix | |||
prefix 192.168.0.0/24. In fact, the IP prefix 192.168.0.0/24 is | 192.168.0.0/24. In fact, the IP prefix 192.168.0.0/24 is not | |||
not originated by AS 64496. | originated by AS 64496. | |||
The hijacker's BGP announcement is valid according to the RPKI | 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 | since the ROA (192.168.0.0/16-24, AS 64496) authorizes AS 64496 to | |||
originate BGP routes for 192.168.0.0/24. | originate BGP routes for 192.168.0.0/24. | |||
Because AS 64496 does not actually originate a route for | 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, the hijacker's route is the only route for | |||
192.168.0.0/24. Longest-prefix-match routing ensures that the | 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 | 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 | preferred over the legitimate route to 192.168.0.0/16 originated | |||
by AS 64496. | by AS 64496. | |||
Thus, the hijacker's route propagates through the Internet, and | Thus, the hijacker's route propagates through the Internet, and | |||
traffic destined for IP addresses in 192.168.0.0/24 will be delivered | traffic destined for IP addresses in 192.168.0.0/24 will be delivered | |||
to the hijacker. | to the hijacker. | |||
The forged-origin sub-prefix hijack would have failed if a "minimal | The forged-origin sub-prefix hijack would have failed if a minimal | |||
ROA" described below was used instead of the "loose ROA". In this | ROA as described in Section 5 was used instead of the loose ROA. In | |||
example, a "minimal ROA" would be: | this example, a minimal ROA would be: | |||
ROA:(192.168.0.0/16, 192.168.225.0/24, AS 64496) | ROA:(192.168.0.0/16, 192.168.225.0/24, AS 64496) | |||
This ROA is "minimal" because it includes only those IP prefixes that | This ROA is "minimal" because it includes only those IP prefixes that | |||
AS 64496 originates in BGP, but no other IP prefixes [RFC6907]. | AS 64496 originates in BGP, but no other IP prefixes [RFC6907]. | |||
The "minimal ROA" renders AS 64511's BGP announcement invalid | The minimal ROA renders AS 64511's BGP announcement invalid because: | |||
because: | ||||
(1) this ROA "covers" the attacker's announcement (since | (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 | 192.168.0.0/24 is a sub-prefix of 192.168.0.0/16), and | |||
(2) there is no ROA "matching" the attacker's announcement (there | (2) there is no ROA "matching" the attacker's announcement (there is | |||
is no ROA for AS 64511 and IP prefix 192.168.0.0/24) [RFC6811]. | no ROA for AS 64511 and IP prefix 192.168.0.0/24) [RFC6811]. | |||
If routers ignore invalid BGP announcements, the minimal ROA above | If routers ignore invalid BGP announcements, the minimal ROA above | |||
ensures that the sub-prefix hijack will fail. | ensures that the sub-prefix hijack will fail. | |||
Thus, if a "minimal ROA" had been used, the attacker would be forced | Thus, if a minimal ROA had been used, the attacker would be forced to | |||
to launch a forged-origin prefix hijack in order to attract traffic, | launch a forged-origin prefix hijack in order to attract traffic as | |||
as follows: | follows: | |||
The hijacker AS 64511 sends a BGP announcement "192.168.0.0/16: AS | 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 | 64511, AS 64496", falsely claiming that AS 64511 is a neighbor of | |||
AS 64496. | AS 64496. | |||
This forged-origin prefix hijack is significantly less damaging than | This forged-origin prefix hijack is significantly less damaging than | |||
the forged-origin sub-prefix hijack: | the forged-origin sub-prefix hijack: | |||
AS 64496 legitimately originates 192.168.0.0/16 in BGP, so the | AS 64496 legitimately originates 192.168.0.0/16 in BGP, so the | |||
hijacker AS 64511 is not presenting the only route to | hijacker AS 64511 is not presenting the only route to | |||
192.168.0.0/16. | 192.168.0.0/16. | |||
Moreover, the path originated by AS 64511 is one hop longer than | Moreover, the path originated by AS 64511 is one hop longer than | |||
the path originated by the legitimate origin AS 64496. | the path originated by the legitimate origin AS 64496. | |||
As discussed in [LSG16], this means that the hijacker will attract | As discussed in [LSG16], this means that the hijacker will attract | |||
less traffic than it would have in the forged-origin sub-prefix | less traffic than it would have in the forged-origin sub-prefix | |||
hijack, where the hijacker presents the only route to the hijacked | hijack where the hijacker presents the only route to the hijacked | |||
sub-prefix. | sub-prefix. | |||
In summary, a forged-origin sub-prefix hijack has the same impact as | 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 | a regular sub-prefix hijack, despite the increased AS_PATH length of | |||
the illegitimate route. A forged-origin sub-prefix hijack is also | the illegitimate route. A forged-origin sub-prefix hijack is also | |||
more damaging than the forged-origin prefix hijack. | more damaging than the forged-origin prefix hijack. | |||
4. Measurements of the RPKI | 4. Measurements of the RPKI | |||
Network measurements taken in June 2017 showed that 12% of the IP | Network measurements taken in June 2017 showed that 12% of the IP | |||
prefixes authorized in ROAs have a maxLength longer than their prefix | prefixes authorized in ROAs have a maxLength value longer than their | |||
length. Of these, the vast majority (84%) were non-minimal, as they | prefix length. Of these, the vast majority (84%) were non-minimal, | |||
included sub-prefixes that are not announced in BGP by the legitimate | as they included sub-prefixes that are not announced in BGP by the | |||
AS, and were thus vulnerable to forged-origin sub-prefix hijacks. | legitimate AS and were thus vulnerable to forged-origin sub-prefix | |||
See [GSG17] for details. | hijacks. See [GSG17] for details. | |||
These measurements suggest that operators commonly misconfigure the | These measurements suggest that operators commonly misconfigure the | |||
maxLength attribute, and unwittingly open themselves up to forged- | maxLength attribute and unwittingly open themselves up to forged- | |||
origin sub-prefix hijacks. That is, they are exposing a much larger | origin sub-prefix hijacks. That is, they are exposing a much larger | |||
attack surface for forged-origin hijacks than necessary. | attack surface for forged-origin hijacks than necessary. | |||
5. Recommendations about Minimal ROAs and maxLength | 5. Recommendations about Minimal ROAs and maxLength | |||
Operators SHOULD use "minimal ROAs" whenever possible. A minimal ROA | Operators SHOULD use minimal ROAs whenever possible. A minimal ROA | |||
contains only those IP prefixes that are actually originated by an AS | contains only those IP prefixes that are actually originated by an AS | |||
in BGP and no other IP prefixes. (See Section 3 for an example.) | in BGP and no other IP prefixes. See Section 3 for an example. | |||
In general, operators SHOULD avoid using the maxLength attribute in | In general, operators SHOULD avoid using the maxLength attribute in | |||
their ROAs, since its inclusion will usually make the ROA non- | their ROAs, since its inclusion will usually make the ROA non- | |||
minimal. | minimal. | |||
One such exception may be when all more specific prefixes permitted | One such exception may be when all more specific prefixes permitted | |||
by the maxLength are actually announced by the AS in the ROA. | by the maxLength value are actually announced by the AS in the ROA. | |||
Another exception is where: (a) the maxLength is substantially larger | Another exception is where: (a) the maxLength value is substantially | |||
compared to the specified prefix length in the ROA, and (b) a large | larger compared to the specified prefix length in the ROA, and (b) a | |||
number of more specific prefixes in that range are announced by the | large number of more specific prefixes in that range are announced by | |||
AS in the ROA. In practice, this case should occur rarely (if at | the AS in the ROA. In practice, this case should occur rarely (if at | |||
all). Operator discretion is necessary in this case. | all). Operator discretion is necessary in this case. | |||
This practice requires no changes to the RPKI specification and need | This practice requires no changes to the RPKI specifications and need | |||
not increase the number of signed ROAs in the RPKI because ROAs | not increase the number of signed ROAs in the RPKI because ROAs | |||
already support lists of IP prefixes [RFC6482]. See also [GSG17] for | already support lists of IP prefixes [RFC6482]. See [GSG17] for | |||
further discussion of why this practice will have minimal impact on | further discussion of why this practice will have minimal impact on | |||
the performance of the RPKI ecosystem. | the performance of the RPKI ecosystem. | |||
Operators implementing these recommendations and that have existing | Operators that implement these recommendations and have existing ROAs | |||
ROAs published in the RPKI system MUST perform a review of such | published in the RPKI system MUST perform a review of such objects, | |||
objects, especially where they make use of the maxLength attribute, | especially where they make use of the maxLength attribute, to ensure | |||
to ensure that the set of included prefixes is "minimal" with respect | that the set of included prefixes is "minimal" with respect to the | |||
to the current BGP origination and routing policies. Published ROAs | current BGP origination and routing policies. Published ROAs MUST be | |||
MUST be replaced as necessary. Such an exercise MUST be repeated | replaced as necessary. Such an exercise MUST be repeated whenever | |||
whenever the operator makes changes to either policy. | the operator makes changes to either policy. | |||
5.1. Facilitating Ad Hoc Routing Changes and DDoS Mitigation | 5.1. Facilitating Ad Hoc Routing Changes and DDoS Mitigation | |||
Operational requirements may require that a route for an IP prefix be | 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 | 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 | example of such a situation arises when an operator wishes to make | |||
use of DDoS mitigation services that use BGP to redirect traffic via | use of DDoS mitigation services that use BGP to redirect traffic via | |||
a "scrubbing center". | a "scrubbing center". | |||
In order to ensure that such ad hoc routing changes are effective, a | In order to ensure that such ad hoc routing changes are effective, a | |||
ROA validating the new route should exist. However a difficulty | ROA validating the new route should exist. However, a difficulty | |||
arises due to the fact that newly created objects in the RPKI are | arises due to the fact that newly created objects in the RPKI are | |||
made visible to relying parties considerably more slowly than routing | made visible to relying parties considerably more slowly than routing | |||
updates in BGP. | updates in BGP. | |||
Ideally, it would not be necessary to pre-create the ROA which | 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 | validates the ad hoc route, and instead create it "on the fly" as | |||
required. However, this is practical only if the latency imposed by | required. However, this is practical only if the latency imposed by | |||
the propagation of RPKI data is guaranteed to be within acceptable | the propagation of RPKI data is guaranteed to be within acceptable | |||
limits in the circumstances. For time-critical interventions such as | limits in the circumstances. For time-critical interventions such as | |||
responding to a DDoS attack, this is unlikely to be the case. | responding to a DDoS attack, this is unlikely to be the case. | |||
Thus, the ROA in question will usually need to be created well in | 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- | advance of the routing intervention, but such a ROA will be non- | |||
minimal, since it includes an IP prefix that is sometimes (but not | minimal, since it includes an IP prefix that is sometimes (but not | |||
always) originated in BGP. | always) originated in BGP. | |||
In this case, the ROA SHOULD include only: | In this case, the ROA SHOULD only include: | |||
(1) the set of IP prefixes that are always originated in BGP, and | (1) the set of IP prefixes that are always originated in BGP, and | |||
(2) the set of IP prefixes that are sometimes, but not always, | (2) the set of IP prefixes that are sometimes, but not always, | |||
originated in BGP. | originated in BGP. | |||
The ROA SHOULD NOT include any IP prefixes that the operator knows | 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 | 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 | use of the maxLength attribute unless doing so has no impact on the | |||
set of included prefixes. | set of included prefixes. | |||
The running example is now extended to illustrate one situation where | The running example is now extended to illustrate one situation where | |||
it is not possible to issue a minimal ROA. | it is not possible to issue a minimal ROA. | |||
Consider the following scenario prior to the deployment of RPKI. | 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 | Suppose AS 64496 announced 192.168.0.0/16 and has a contract with a | |||
Distributed Denial of Service (DDoS) mitigation service provider that | DDoS mitigation service provider that holds AS 64500. Further, | |||
holds AS 64500. Further, assume that the DDoS mitigation service | assume that the DDoS mitigation service contract applies to all IP | |||
contract applies to all IP addresses covered by 192.168.0.0/22. When | addresses covered by 192.168.0.0/22. When a DDoS attack is detected | |||
a DDoS attack is detected and reported by AS 64496, AS 64500 | and reported by AS 64496, AS 64500 immediately originates | |||
immediately originates 192.168.0.0/22, thus attracting all the DDoS | 192.168.0.0/22, thus attracting all the DDoS traffic to itself. The | |||
traffic to itself. The traffic is scrubbed at AS 64500 and then sent | traffic is scrubbed at AS 64500 and then sent back to AS 64496 over a | |||
back to AS 64496 over a backhaul link. Notice that, during a DDoS | backhaul link. Notice that, during a DDoS attack, the DDoS | |||
attack, the DDoS mitigation service provider AS 64500 originates a | mitigation service provider AS 64500 originates a /22 prefix that is | |||
/22 prefix that is longer than AS 64496's /16 prefix, and so all the | longer than AS 64496's /16 prefix, so all the traffic (destined to | |||
traffic (destined to addresses in 192.168.0.0/22) that normally goes | addresses in 192.168.0.0/22) that normally goes to AS 64496 goes to | |||
to AS 64496 goes to AS 64500 instead. In some deployments, the | AS 64500 instead. In some deployments, the origination of the /22 | |||
origination of the /22 route is performed by AS 64496 and announced | route is performed by AS 64496 and announced only to AS 64500, which | |||
only to AS 64500, which then announces transit for that prefix. This | then announces transit for that prefix. This variation does not | |||
variation does not change the properties considered here. | change the properties considered here. | |||
First, suppose the RPKI only had the minimal ROA for AS 64496, as | First, suppose the RPKI only had the minimal ROA for AS 64496, as | |||
described in Section 3. But if there is no ROA authorizing AS 64500 | described in Section 3. However, if there is no ROA authorizing AS | |||
to announce the /22 prefix, then the DDoS mitigation (and traffic | 64500 to announce the /22 prefix, then the DDoS mitigation (and | |||
scrubbing) scheme would not work. That is, if AS 64500 originates | traffic scrubbing) scheme would not work. That is, if AS 64500 | |||
the /22 prefix in BGP during DDoS attacks, the announcement would be | originates the /22 prefix in BGP during DDoS attacks, the | |||
invalid [RFC6811]. | announcement would be invalid [RFC6811]. | |||
Therefore, the RPKI should have two ROAs: one for AS 64496 and one | Therefore, the RPKI should have two ROAs: one for AS 64496 and one | |||
for AS 64500. | for AS 64500. | |||
ROA:(192.168.0.0/16, 192.168.225.0/24, AS 64496) | ROA:(192.168.0.0/16, 192.168.225.0/24, AS 64496) | |||
ROA:(192.168.0.0/22, AS 64500) | ROA:(192.168.0.0/22, AS 64500) | |||
Neither ROA uses the maxLength attribute. But the second ROA is not | Neither ROA uses the maxLength attribute, but the second ROA is not | |||
"minimal" because it contains a /22 prefix that is not originated by | "minimal" because it contains a /22 prefix that is not originated by | |||
anyone in BGP during normal operations. The /22 prefix is only | anyone in BGP during normal operations. The /22 prefix is only | |||
originated by AS 64500 as part of its DDoS mitigation service during | originated by AS 64500 as part of its DDoS mitigation service during | |||
a DDoS attack. | a DDoS attack. | |||
Notice, however, that this scheme does not come without risks. | Notice, however, that this scheme does not come without risks. | |||
Namely, all IP addresses in 192.168.0.0/22 are vulnerable to a | Namely, all IP addresses in 192.168.0.0/22 are vulnerable to a | |||
forged-origin sub-prefix hijack during normal operations, when the | forged-origin sub-prefix hijack during normal operations when the /22 | |||
/22 prefix is not originated. (The hijacker AS 64511 would send the | prefix is not originated. (The hijacker AS 64511 would send the BGP | |||
BGP announcement "192.168.0.0/22: AS 64511, AS 64500", falsely | announcement "192.168.0.0/22: AS 64511, AS 64500", falsely claiming | |||
claiming that AS 64511 is a neighbor of AS 64500 and falsely claiming | that AS 64511 is a neighbor of AS 64500 and falsely claiming that AS | |||
that AS 64500 originates 192.168.0.0/22.) | 64500 originates 192.168.0.0/22.) | |||
In some situations, the DDoS mitigation service at AS 64500 might | In some situations, the DDoS mitigation service at AS 64500 might | |||
want to limit the amount of DDoS traffic that it attracts and scrubs. | want to limit the amount of DDoS traffic that it attracts and scrubs. | |||
Suppose that a DDoS attack only targets IP addresses in | Suppose that a DDoS attack only targets IP addresses in | |||
192.168.0.0/24. Then, the DDoS mitigation service at AS 64500 only | 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 | 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 | 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. | RPKI should have two ROAs: one for AS 64496 and one for AS 64500. | |||
ROA:(192.168.0.0/16, 192.168.225.0/24, AS 64496) | ROA:(192.168.0.0/16, 192.168.225.0/24, AS 64496) | |||
skipping to change at page 10, line 4 ¶ | skipping to change at line 421 ¶ | |||
In some situations, the DDoS mitigation service at AS 64500 might | In some situations, the DDoS mitigation service at AS 64500 might | |||
want to limit the amount of DDoS traffic that it attracts and scrubs. | want to limit the amount of DDoS traffic that it attracts and scrubs. | |||
Suppose that a DDoS attack only targets IP addresses in | Suppose that a DDoS attack only targets IP addresses in | |||
192.168.0.0/24. Then, the DDoS mitigation service at AS 64500 only | 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 | 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 | 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. | RPKI should have two ROAs: one for AS 64496 and one for AS 64500. | |||
ROA:(192.168.0.0/16, 192.168.225.0/24, AS 64496) | ROA:(192.168.0.0/16, 192.168.225.0/24, AS 64496) | |||
ROA:(192.168.0.0/22-24, AS 64500) | ROA:(192.168.0.0/22-24, AS 64500) | |||
The second ROA uses the maxLength attribute because it is designed to | The second ROA uses the maxLength attribute because it is designed to | |||
explicitly enable AS 64500 to originate any /24 sub-prefix of | explicitly enable AS 64500 to originate any /24 sub-prefix of | |||
192.168.0.0/22. | 192.168.0.0/22. | |||
As before, the second ROA is not "minimal" because it contains | As before, the second ROA is not "minimal" because it contains | |||
prefixes that are not originated by anyone in BGP during normal | prefixes that are not originated by anyone in BGP during normal | |||
operations. As before, all IP addresses in 192.168.0.0/22 are | operations. Also, all IP addresses in 192.168.0.0/22 are vulnerable | |||
vulnerable to a forged-origin sub-prefix hijack during normal | to a forged-origin sub-prefix hijack during normal operations when | |||
operations, when the /22 prefix is not originated. | the /22 prefix is not originated. | |||
The use of maxLength in this second ROA also comes with additional | The use of the maxLength attribute in this second ROA also comes with | |||
risk. While it permits the DDoS mitigation service at AS 64500 to | additional risk. While it permits the DDoS mitigation service at AS | |||
originate prefix 192.168.0.0/24 during a DDoS attack in that space, | 64500 to originate prefix 192.168.0.0/24 during a DDoS attack in that | |||
it also makes the other /24 prefixes covered by the /22 prefix (i.e., | space, it also makes the other /24 prefixes covered by the /22 prefix | |||
192.168.1.0/24, 192.168.2.0/24, 192.168.3.0/24) vulnerable to forged- | (i.e., 192.168.1.0/24, 192.168.2.0/24, and 192.168.3.0/24) vulnerable | |||
origin sub-prefix attacks. | to forged-origin sub-prefix attacks. | |||
5.2. Defensive De-aggregation In Response To Prefix Hijacks | 5.2. Defensive De-aggregation in Response to Prefix Hijacks | |||
In responding to certain classes of prefix hijack, in particular, the | When responding to certain classes of prefix hijack (in particular, | |||
forged-origin sub-prefix hijack described above, it may be desirable | the forged-origin sub-prefix hijack described above), it may be | |||
for the victim to perform "defensive de-aggregation", i.e. to begin | desirable for the victim to perform "defensive de-aggregation", i.e., | |||
originating more-specific prefixes in order to compete with the | to begin originating more-specific prefixes in order to compete with | |||
hijack routes for selection as the best path in networks that are not | the hijack routes for selection as the best path in networks that are | |||
performing RPKI-based route origin validation (ROV) [RFC6811]. | not performing RPKI-ROV [RFC6811]. | |||
In some topologies, where at least one AS on every path between the | In topologies where at least one AS on every path between the victim | |||
victim and hijacker filters ROV invalid prefixes, it may be the case | and hijacker filters RPKI-ROV invalid prefixes, it may be the case | |||
that the existence of a minimal ROA issued by the victim prevents the | that the existence of a minimal ROA issued by the victim prevents the | |||
defensive more-specific prefixes from being propagated to the | defensive more-specific prefixes from being propagated to the | |||
networks topologically close to the attacker, thus hampering the | networks topologically close to the attacker, thus hampering the | |||
effectiveness of this response. | effectiveness of this response. | |||
Nevertheless, this document recommends that where possible, network | Nevertheless, this document recommends that, where possible, network | |||
operators publish minimal ROAs even in the face of this risk. This | operators publish minimal ROAs even in the face of this risk. This | |||
is because: | is because: | |||
* Minimal ROAs offer the best possible protection against the | * Minimal ROAs offer the best possible protection against the | |||
immediate impact of such an attack, rendering the need for such a | immediate impact of such an attack, rendering the need for such a | |||
response less likely; | response less likely; | |||
* Increasing ROV adoption by network operators will, over time, | * Increasing RPKI-ROV adoption by network operators will, over time, | |||
decrease the size of the neighborhoods in which this risk exists; | decrease the size of the neighborhoods in which this risk exists; | |||
and | and | |||
* Other methods for reducing the size of such neighborhoods are | * Other methods for reducing the size of such neighborhoods are | |||
available to potential victims, such as establishing direct EBGP | available to potential victims, such as establishing direct | |||
adjacencies with networks from whom the defensive routes would | External BGP (EBGP) adjacencies with networks from whom the | |||
otherwise be hidden. | defensive routes would otherwise be hidden. | |||
6. Considerations for RTDR Filtering Scenarios | 6. Considerations for RTDR Filtering Scenarios | |||
Considerations related to ROAs and origin validation [RFC6811] for | Considerations related to ROAs and RPKI-ROV [RFC6811] for the case of | |||
the case of destination-based Remotely Triggered Discard Route (RTDR) | destination-based RTDR (elsewhere referred to as "Remotely Triggered | |||
(elsewhere referred to as "Remotely Triggered Black Hole") filtering | Black Hole") filtering are addressed here. In RTDR filtering, highly | |||
are addressed here. In RTDR filtering, highly specific prefixes | specific prefixes (greater than /24 in IPv4 and greater than /48 in | |||
(greater than /24 in IPv4 and greater than /48 in IPv6; possibly even | IPv6, or possibly even /32 in IPv4 and /128 in IPv6) are announced in | |||
/32 (IPv4) and /128 (IPv6)) are announced in BGP. These | BGP. These announcements are tagged with the well-known BGP | |||
announcements are tagged with the Well-known BGP Community defined by | community defined by [RFC7999]. For the reasons set out above, it is | |||
[RFC7999]. It is obviously not desirable to use a large maxLength or | obviously not desirable to use a large maxLength value or include any | |||
include any such highly specific prefixes in the ROAs to accommodate | such highly specific prefixes in the ROAs to accommodate destination- | |||
destination-based RTDR filtering, for the reasons set out above. | based RTDR filtering. | |||
As a result, RPKI-based route origin validation [RFC6811] is a poor | As a result, RPKI-ROV [RFC6811] is a poor fit for the validation of | |||
fit for the validation of RTDR routes. Specification of new | RTDR routes. Specification of new procedures to address this use | |||
procedures to address this use case through the use of the RPKI is | case through the use of the RPKI is outside the scope of this | |||
outside the scope of this document. | document. | |||
Therefore: | Therefore: | |||
* Operators SHOULD NOT create non-minimal ROAs (either by creating | * Operators SHOULD NOT create non-minimal ROAs (by either creating | |||
additional ROAs, or through the use of maxLength) for the purpose | additional ROAs or using the maxLength attribute) for the purpose | |||
of advertising RTDR routes; and | of advertising RTDR routes; and | |||
* Operators providing a means for operators of neighboring | * Operators providing a means for operators of neighboring | |||
autonomous systems to advertise RTDR routes via BGP MUST NOT make | autonomous systems to advertise RTDR routes via BGP MUST NOT make | |||
the creation of non-minimal ROAs a pre-requisite for its use. | the creation of non-minimal ROAs a pre-requisite for its use. | |||
7. User Interface Design Recommendations | 7. User Interface Design Recommendations | |||
Most operator interaction with the RPKI system when creating or | Most operator interaction with the RPKI system when creating or | |||
modifying ROAs will occur via a user interface that abstracts the | modifying ROAs will occur via a user interface that abstracts the | |||
underlying encoding, signing and publishing operations. | underlying encoding, signing, and publishing operations. | |||
This document recommends that designers and/or providers of such user | This document recommends that designers and/or providers of such user | |||
interfaces SHOULD provide warnings to draw the user's attention to | interfaces SHOULD provide warnings to draw the user's attention to | |||
the risks of creating non-minimal ROAs in general, and use of the | the risks of creating non-minimal ROAs in general and using the | |||
maxLength attribute in particular. | maxLength attribute in particular. | |||
Warnings provided by such a system may vary in nature from generic | Warnings provided by such a system may vary in nature from generic | |||
warnings based purely on the inclusion of the maxLength attribute, to | warnings based purely on the inclusion of the maxLength attribute to | |||
customised guidance based on the observable BGP routing policy of the | customised guidance based on the observable BGP routing policy of the | |||
operator in question. The choices made in this respect are expected | operator in question. The choices made in this respect are expected | |||
to be dependent on the target user audience of the implementation. | to be dependent on the target user audience of the implementation. | |||
8. Operational Considerations | 8. Operational Considerations | |||
The recommendations specified in this document, in particular, those | The recommendations specified in this document (in particular, those | |||
in Section 5, involve trade-offs between operational agility and | in Section 5) involve trade-offs between operational agility and | |||
security. | security. | |||
Operators adopting the recommended practice of issuing minimal ROAs | Operators adopting the recommended practice of issuing minimal ROAs | |||
will, by definition need to make changes to their existing set of | 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 | issued ROAs in order to effect changes to the set of prefixes that | |||
are originated in BGP. | are originated in BGP. | |||
Even in the case of routing changes that are planned in advance, | Even in the case of routing changes that are planned in advance, | |||
existing procedures may need to be updated to incorporate changes to | existing procedures may need to be updated to incorporate changes to | |||
issued ROAs, and may require additional time allowed for those | issued ROAs and may require additional time allowed for those changes | |||
changes to propagate. | to propagate. | |||
Operators are encouraged to carefully review the issues highlighted | Operators are encouraged to carefully review the issues highlighted | |||
(especially those in Section 5.1 and Section 5.2) in light of their | (especially those in Sections 5.1 and 5.2) in light of their specific | |||
specific operational requirements. Failure to do so could, in the | operational requirements. Failure to do so could, in the worst case, | |||
worst case, result in a self-inflicted denial of service. | result in a self-inflicted denial of service. | |||
The recommendations made in section 5 are likely to be more onerous | The recommendations made in Section 5 are likely to be more onerous | |||
for operators utilising large IP address space allocations from which | for operators utilising large IP address space allocations from which | |||
many more-specific advertisements are made in BGP. Operators of such | many more-specific advertisements are made in BGP. Operators of such | |||
networks are encouraged to seek opportunities to automate the | networks are encouraged to seek opportunities to automate the | |||
required procedures in order to minimise manual operational burden. | required procedures in order to minimise manual operational burden. | |||
9. Security Considerations | 9. Security Considerations | |||
This document makes recommendations regarding the use of RPKI-based | This document makes recommendations regarding the use of RPKI-ROV as | |||
origin validation as defined in [RFC6811], and as such introduces no | defined in [RFC6811] and, as such, introduces no additional security | |||
additional security considerations beyond those specified therein. | considerations beyond those specified therein. | |||
10. IANA Considerations | 10. IANA Considerations | |||
This document includes no request to IANA. | This document has no IANA actions. | |||
11. Acknowledgments | ||||
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, Amreesh | ||||
Phokeer, Eric Vyncke, Alvaro Retana, John Scudder, Roman Danyliw, | ||||
Andrew Alston, and Murray Kucherawy for comments and suggestions, to | ||||
Roni Even for the Gen-ART review, to Jean Mahoney for the ART-ART | ||||
review, to Acee Lindem for the Routing Directorate review, and to | ||||
Sean Turner for the Security Area Directorate review. | ||||
12. References | 11. References | |||
12.1. Normative References | 11.1. Normative References | |||
[RFC1918] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G | [RFC1918] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G. | |||
J., and E. Lear, "Address Allocation for Private | J., and E. Lear, "Address Allocation for Private | |||
Internets", BCP 5, RFC 1918, DOI 10.17487/RFC1918, | Internets", BCP 5, RFC 1918, DOI 10.17487/RFC1918, | |||
February 1996, <https://www.rfc-editor.org/info/rfc1918>. | February 1996, <https://www.rfc-editor.org/info/rfc1918>. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | |||
skipping to change at page 14, line 9 ¶ | skipping to change at line 598 ¶ | |||
[RFC7115] Bush, R., "Origin Validation Operation Based on the | [RFC7115] Bush, R., "Origin Validation Operation Based on the | |||
Resource Public Key Infrastructure (RPKI)", BCP 185, | Resource Public Key Infrastructure (RPKI)", BCP 185, | |||
RFC 7115, DOI 10.17487/RFC7115, January 2014, | RFC 7115, DOI 10.17487/RFC7115, January 2014, | |||
<https://www.rfc-editor.org/info/rfc7115>. | <https://www.rfc-editor.org/info/rfc7115>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
12.2. Informative References | 11.2. Informative References | |||
[GSG17] Gilad, Y., Sagga, O., and S. Goldberg, "Maxlength | ||||
Considered Harmful to the RPKI", in ACM CoNEXT 2017, | ||||
December 2017, <https://eprint.iacr.org/2016/1015.pdf>. | ||||
[LSG16] Lychev, R., Shapira, M., and S. Goldberg, "Rethinking | ||||
Security for Internet Routing", in Communications of the | ||||
ACM, October 2016, <http://cacm.acm.org/ | ||||
magazines/2016/10/207763-rethinking-security-for-internet- | ||||
routing/>. | ||||
[GCHSS] Gilad, Y., Cohen, A., Herzberg, A., Schapira, M., and H. | [GCHSS] Gilad, Y., Cohen, A., Herzberg, A., Schapira, M., and H. | |||
Shulman, "Are We There Yet? On RPKI's Deployment and | Shulman, "Are We There Yet? On RPKI's Deployment and | |||
Security", in NDSS 2017, February 2017, | Security", NDSS 2017, February 2017, | |||
<https://eprint.iacr.org/2016/1010.pdf>. | <https://eprint.iacr.org/2016/1010.pdf>. | |||
[HARMFUL] Gilad, Y., Sagga, O., and S. Goldberg, "MaxLength | [GSG17] Gilad, Y., Sagga, O., and S. Goldberg, "MaxLength | |||
Considered Harmful to the RPKI", 2017, | Considered Harmful to the RPKI", CoNEXT '17, | |||
DOI 10.1145/3143361.3143363, December 2017, | ||||
<https://eprint.iacr.org/2016/1015.pdf>. | <https://eprint.iacr.org/2016/1015.pdf>. | |||
[LSG16] Lychev, R., Shapira, M., and S. Goldberg, "Rethinking | ||||
security for internet routing", Communications of the ACM, | ||||
DOI 10.1145/2896817, October 2016, <http://cacm.acm.org/ | ||||
magazines/2016/10/207763-rethinking-security-for-internet- | ||||
routing/>. | ||||
[RFC5737] Arkko, J., Cotton, M., and L. Vegoda, "IPv4 Address Blocks | [RFC5737] Arkko, J., Cotton, M., and L. Vegoda, "IPv4 Address Blocks | |||
Reserved for Documentation", RFC 5737, | Reserved for Documentation", RFC 5737, | |||
DOI 10.17487/RFC5737, January 2010, | DOI 10.17487/RFC5737, January 2010, | |||
<https://www.rfc-editor.org/info/rfc5737>. | <https://www.rfc-editor.org/info/rfc5737>. | |||
[RFC6907] Manderson, T., Sriram, K., and R. White, "Use Cases and | [RFC6907] Manderson, T., Sriram, K., and R. White, "Use Cases and | |||
Interpretations of Resource Public Key Infrastructure | Interpretations of Resource Public Key Infrastructure | |||
(RPKI) Objects for Issuers and Relying Parties", RFC 6907, | (RPKI) Objects for Issuers and Relying Parties", RFC 6907, | |||
DOI 10.17487/RFC6907, March 2013, | DOI 10.17487/RFC6907, March 2013, | |||
<https://www.rfc-editor.org/info/rfc6907>. | <https://www.rfc-editor.org/info/rfc6907>. | |||
[RFC7999] King, T., Dietzel, C., Snijders, J., Doering, G., and G. | [RFC7999] King, T., Dietzel, C., Snijders, J., Doering, G., and G. | |||
Hankins, "BLACKHOLE Community", RFC 7999, | Hankins, "BLACKHOLE Community", RFC 7999, | |||
DOI 10.17487/RFC7999, October 2016, | DOI 10.17487/RFC7999, October 2016, | |||
<https://www.rfc-editor.org/info/rfc7999>. | <https://www.rfc-editor.org/info/rfc7999>. | |||
[RFC8205] Lepinski, M., Ed. and K. Sriram, Ed., "BGPsec Protocol | [RFC8205] Lepinski, M., Ed. and K. Sriram, Ed., "BGPsec Protocol | |||
Specification", RFC 8205, DOI 10.17487/RFC8205, September | Specification", RFC 8205, DOI 10.17487/RFC8205, September | |||
2017, <https://www.rfc-editor.org/info/rfc8205>. | 2017, <https://www.rfc-editor.org/info/rfc8205>. | |||
Acknowledgments | ||||
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, Amreesh | ||||
Phokeer, Éric Vyncke, Alvaro Retana, John Scudder, Roman Danyliw, | ||||
Andrew Alston, and Murray Kucherawy for comments and suggestions, to | ||||
Roni Even for the Gen-ART review, to Jean Mahoney for the ART-ART | ||||
review, to Acee Lindem for the Routing Area Directorate review, and | ||||
to Sean Turner for the Security Area Directorate review. | ||||
Authors' Addresses | Authors' Addresses | |||
Yossi Gilad | Yossi Gilad | |||
Hebrew University of Jerusalem | Hebrew University of Jerusalem | |||
Rothburg Family Buildings, Edmond J. Safra Campus | Rothburg Family Buildings | |||
Edmond J. Safra Campus | ||||
Jerusalem 9190416 | Jerusalem 9190416 | |||
Israel | Israel | |||
Email: yossigi@cs.huji.ac.il | Email: yossigi@cs.huji.ac.il | |||
Sharon Goldberg | Sharon Goldberg | |||
Boston University | Boston University | |||
111 Cummington St, MCS135 | 111 Cummington St, MCS135 | |||
Boston, MA 02215 | Boston, MA 02215 | |||
United States of America | United States of America | |||
Email: goldbe@cs.bu.edu | Email: goldbe@cs.bu.edu | |||
End of changes. 82 change blocks. | ||||
253 lines changed or deleted | 252 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |