draft-ietf-sidr-roa-validation-02.txt | draft-ietf-sidr-roa-validation-03.txt | |||
---|---|---|---|---|
Secure Inter-Domain Routing (SIDR) G. Huston | Secure Inter-Domain Routing (SIDR) G. Huston | |||
Internet-Draft G. Michaelson | Internet-Draft G. Michaelson | |||
Intended status: Informational APNIC | Intended status: Informational APNIC | |||
Expires: February 5, 2010 August 4, 2009 | Expires: February 7, 2010 August 6, 2009 | |||
Validation of Route Origination in BGP using the Resource Certificate | Validation of Route Origination in BGP using the Resource Certificate | |||
PKI | PKI and ROAs | |||
draft-ietf-sidr-roa-validation-02.txt | draft-ietf-sidr-roa-validation-03.txt | |||
Status of this Memo | Status of this Memo | |||
This Internet-Draft is submitted to IETF in full conformance with the | This Internet-Draft is submitted to IETF in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
other groups may also distribute working documents as Internet- | other groups may also distribute working documents as Internet- | |||
Drafts. | Drafts. | |||
skipping to change at page 1, line 33 | skipping to change at page 1, line 33 | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
http://www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
This Internet-Draft will expire on February 5, 2010. | This Internet-Draft will expire on February 7, 2010. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2009 IETF Trust and the persons identified as the | Copyright (c) 2009 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 in effect on the date of | Provisions Relating to IETF Documents in effect on the date of | |||
publication of this document (http://trustee.ietf.org/license-info). | publication of this document (http://trustee.ietf.org/license-info). | |||
Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
and restrictions with respect to this document. | and restrictions with respect to this document. | |||
Abstract | Abstract | |||
This document defines an application of the Resource Public Key | This document defines an application of the Resource Public Key | |||
Infrastructure to validate the origination of routes advertised in | Infrastructure to validate the origination of routes advertised in | |||
the Border Gateway Protocol. The proposed application is intended to | the Border Gateway Protocol. The proposed application is intended to | |||
fit within the requirements for adding security to inter-domain | fit within the requirement for adding security to inter-domain | |||
routing, including the ability to support incremental and piecemeal | routing, including the ability to support incremental and piecemeal | |||
deployment, and does not require any changes to the specification of | deployment, and does not require any changes to the specification of | |||
BGP. | BGP. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Validation Outcomes of a BGP Route Object . . . . . . . . . . . 3 | 2. Validation Outcomes of a BGP Route Object . . . . . . . . . . 3 | |||
3. Applying Validation Outcomes to BGP Route Selection . . . . . . 4 | 3. Applying Validation Outcomes to BGP Route Selection . . . . . 4 | |||
4. Further Considerations . . . . . . . . . . . . . . . . . . . . 5 | 4. Further Considerations . . . . . . . . . . . . . . . . . . . . 6 | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 | 4.1. Partial Deployment Considerations . . . . . . . . . . . . 6 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 | 4.2. Disavowal of Routing Origination . . . . . . . . . . . . . 7 | |||
7. Changes -01 to -02 . . . . . . . . . . . . . . . . . . . . . . 7 | 4.3. BGP Considerations . . . . . . . . . . . . . . . . . . . . 8 | |||
8. Normative References . . . . . . . . . . . . . . . . . . . . . 8 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | |||
7. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | ||||
7.1. Changes -02 to -03 . . . . . . . . . . . . . . . . . . . . 9 | ||||
7.2. Changes -01 to -02 . . . . . . . . . . . . . . . . . . . . 10 | ||||
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 | ||||
8.1. Normative References . . . . . . . . . . . . . . . . . . . 10 | ||||
8.2. Informative References . . . . . . . . . . . . . . . . . . 11 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 | ||||
1. Introduction | 1. Introduction | |||
This document defines an application of the Resource Public Key | This document defines an application of the Resource Public Key | |||
Infrastructure (RPKI) to validate the origination of routes | Infrastructure (RPKI) [I-D.ietf-sidr-arch] to validate the | |||
advertised in the Border Gateway Protocol (BGP) [RFC4271]. | origination of routes advertised in the Border Gateway Protocol (BGP) | |||
[RFC4271]. | ||||
The RPKI is based on Resource Certificates. Resource Certificates | The RPKI is based on a hierarchy of Resource Certificates that are | |||
are X.509 certificates that conform to the PKIX profile [RFC5280], | aligned to the Internet number resource allocation structure. | |||
and to the extensions for IP addresses and AS identifiers [RFC3779]. | Resource Certificates are X.509 certificates that conform to the PKIX | |||
A Resource Certificate describes an action by an issuer that binds a | profile [RFC5280], and to the extensions for IP addresses and AS | |||
list of IP address blocks and Autonomous System (AS) numbers to the | identifiers [RFC3779]. A Resource Certificate describes an action by | |||
Subject of a certificate, identified by the unique association of the | an issuer that binds a list of IP address blocks and Autonomous | |||
Subject's private key with the public key contained in the Resource | System (AS) numbers to the Subject of a certificate, identified by | |||
Certificate. The PKI is structured such that each current Resource | the unique association of the Subject's private key with the public | |||
Certificate matches a current resource allocation or assignment. | key contained in the Resource Certificate. The RPKI is structured | |||
This is described in [I-D.ietf-sidr-arch]. | such that each current Resource Certificate matches a current | |||
resource allocation or assignment. This is further described in | ||||
[I-D.ietf-sidr-arch]. | ||||
Route Origin Authorizations (ROAs) are digitally signed objects that | Route Origin Authorizations (ROAs) are digitally signed objects that | |||
bind an address to an AS number, signed by the address holder. A ROA | bind an address to an AS number, signed by the address holder. A ROA | |||
provides a means of verifying that an IP address block holder has | provides a means of verifying that an IP address block holder has | |||
authorized an AS to originate route objects in the inter-domain | authorized an AS to originate route objects in the inter-domain | |||
routing environment for that address block. ROAs are described in | routing environment for that address block. ROAs are described in | |||
[I-D.ietf-sidr-roa-format]. ROAs are intended to fit within the | [I-D.ietf-sidr-roa-format]. ROAs are intended to fit within the | |||
requirements for adding security to inter-domain routing, including | requirements for adding security to inter-domain routing. | |||
the ability to support incremental and piecemeal deployment. | ||||
This document describes the semantic interpretation of a valid ROA, | This document describes the semantic interpretation of a valid ROA, | |||
with particular reference to application in BGP relating to the | with particular reference to application in BGP relating to the | |||
origination of route objects. The document does not describe any | origination of route objects. | |||
application of a ROA to validation of the AS Path. | ||||
This proposed application does not require any changes to the | This proposed application of validation of ROAs does not require any | |||
specification of BGP protocol elements. The application may be used | changes to the specification of BGP protocol elements. The outcomes | |||
as part of BGP's local route selection algorithm [RFC4271]. | of ROA validation may be used as part of BGP's local route selection | |||
procedure [RFC4271]. | ||||
2. Validation Outcomes of a BGP Route Object | 2. Validation Outcomes of a BGP Route Object | |||
A BGP "Route Object" is an address prefix and a set of attributes. | A BGP "route object" is an address prefix and an associated set of | |||
In terms of validation of the Route Object the prefix value and the | attributes. In terms of validation of the route object the address | |||
origin AS attribute are used in the validation operation. | prefix value and the "origin AS" are used in the ROA validation | |||
operation. The route object's origin AS is the final element of the | ||||
If the route object is an aggregate and the AS Path contains an AS | route object's AS_PATH attribute. If the final AS_PATH element is an | |||
Set, then the origin AS is considered to be the AS described as the | AS Set, indicating that the route object is an aggregate, then the | |||
AGGREGATOR [RFC4271] of the route object. | origin AS is taken as the AS component of the AGGREGATOR attribute | |||
[RFC4271]. | ||||
ROA validation is described in [I-D.ietf-sidr-roa-format], and the | ||||
outcome of the validation operation is that the ROA is valid in the | ||||
context of the RPKI, or validation has failed. | ||||
It is assumed here that ROAs are managed and distributed | ||||
independently of the operation of BGP itself, and a local BGP speaker | ||||
has access to a local cache of the complete set of ROAs and the RPKI | ||||
data set when performing a validation operation. | ||||
A BGP route object does not refer to a specific ROA that should be | A BGP route object does not refer to a specific ROA that should be | |||
used by a Relying Party (RP) to validate the origination information | used by a Relying Party (RP) to validate the origination information | |||
contained in the route object, nor does it refer to the set of | contained in the route object. The RP needs to match a route object | |||
certificates that the RP should use to validate the ROA's digital | to one or more candidate valid ROAs in order to determine a | |||
signature. The RP needs to match a route object to one or more | validation outcome, which, in turn, can be used to determine the | |||
candidate valid ROAs in order to determine the appropriate local | appropriate local actions to perform on the route object. Valid ROAs | |||
actions to perform on the route object. | are defined as ROAs that are determined to be syntactically correct | |||
and are signed using a signature that can be verified using the RPKI, | ||||
as described in [I-D.ietf-sidr-roa-format]. The outcome of this ROA | ||||
validation function is that either the RP has determined that the ROA | ||||
is valid in the context of the RPKI, or the ROA is invalid, in which | ||||
case the ROA is not to be used by the RP. | ||||
To validate a route object the RP would undertake the following | It is assumed here that ROAs are managed and distributed | |||
steps: | independently of the operation of BGP itself, and that a local BGP | |||
speaker has access to a local cache of the complete set of valid ROAs | ||||
when performing a route object validation operation. | ||||
Route object validation is defined by the following procedure: | ||||
1. Select all valid ROAs that include a ROAIPAddress value that | 1. Select all valid ROAs that include a ROAIPAddress value that | |||
either matches, or is a covering aggregate of, the address prefix | either matches, or is a covering aggregate of, the address | |||
in the route object. | prefix in the route object. | |||
2. If the set of candidate ROAs is empty the validation process | ||||
stops with an outcome of "unknown". | 2. If the set of candidate ROAs is empty then the validation | |||
3. If any ROA has an asID value that matches the originating AS in | procedure stops with an outcome of "unknown". | |||
the route object, and either the route object's address prefix | ||||
precisely matches an address in the ROA, or the route object's | 3. If any ROA has an asID value that matches the origin AS in the | |||
address prefix is a more specific prefix of the address in the | route object, and either the route object's address prefix | |||
ROA and the prefix length value is less than or equal to the | precisely matches a ROAIPAddress in the ROA, or the route | |||
ROAIPAddress's maxLength value, then the validation process stops | object's address prefix is a more specific prefix of a | |||
with an outcome of "valid". | ROAIPAddress and the route object's prefix length value is | |||
4. Otherwise, the validation outcome is "invalid". | less than or equal to the ROAIPAddress' maxLength value, then | |||
the validation procedure stops with an outcome of "valid". | ||||
4. Otherwise, the validation procedure stops with an outcome of | ||||
"invalid". | ||||
3. Applying Validation Outcomes to BGP Route Selection | 3. Applying Validation Outcomes to BGP Route Selection | |||
Within the framework of the abstract model of BGP operation, a | Within the framework of the abstract model of BGP operation, a | |||
received prefix announcement from a peer is compared to all | received prefix announcement from a BGP speaking peer is compared to | |||
announcements for this prefix received from other peers and a route | all announcements for this prefix received from other BGP peers and a | |||
selection procedure is used to select the "best" route object from | route selection procedure is used to select the "best" route object | |||
this candidate set, which is then used locally by installing it in | from this candidate set. This route object is then used locally by | |||
the loc-RIB [RFC4271], and is announced to peers as the local "best" | installing it in the loc-RIB [RFC4271], and is announced to peers as | |||
route. | the local "best" route. | |||
It is proposed here that the ROA validation outcome of "unknown", | The route object validation outcome, described in Section 2, of | |||
"valid" or "invalid" be used as part of the determination of the | "unknown", "valid" or "invalid" may be used as part of the | |||
local degree of preference as defined in section 9.1.1 of the BGP | determination of the local degree of preference as defined in section | |||
specification [RFC4271]. | 9.1.1 of the BGP specification [RFC4271]. The local degree of | |||
preference is as follows: | ||||
"valid" is to be preferred over | ||||
"unknown", which itself is to be preferred over | ||||
"invalid". | ||||
The proposed addition to the local degree of preference is "valid" is | This preference ranking is performed prior to the steps described in | |||
to be preferred over "unknown" over "invalid". | section 9.1.1 of [RFC4271]. | |||
It is a matter of local BGP selection policy in setting whether | It is a matter of local BGP selection policy as to the actions to be | |||
"invalid" route objects are discarded from further consideration in | undertaken by a BGP instance in processing route objects with | |||
the route selection process, however the following consideration | "unknown" validation outcomes. Due to considerations of partial use | |||
should be taken into account in such a situation. | of ROAs in heterogeneous environments, such as in the public | |||
Internet, it is advised that local policy settings should not result | ||||
in "unknown" validation outcomes being considered as sufficient | ||||
grounds to reject a route object outright from further consideration | ||||
as a local "best" route. | ||||
The consideration here is one of potential circularity of dependence. | It is a matter of local BGP selection policy as to whether "invalid" | |||
If the authoritative publication point of the repository of ROAs or | route objects are considered to be ineligible for further | |||
any certificates used in relation to an address prefix is stored at a | consideration in the route selection process. The consideration here | |||
location that lies within the address prefix described in a ROA, then | is one of potential circularity of dependence. If the authoritative | |||
publication point of the repository of ROAs, or that of any | ||||
certificate used in relation to an address prefix, is located at an | ||||
address that lies within the address prefix described in a ROA, then | ||||
the repository can only be accessed once a route for the prefix has | the repository can only be accessed once a route for the prefix has | |||
been accepted by the local routing domain. It is also noted that the | been accepted by the RP's local routing domain. It is also noted | |||
propagation time of RPKI objects may be different to the propagation | that the propagation time of RPKI objects may be different to the | |||
time of route objects in BGP, and that route objects may be received | propagation time of route objects in BGP, and that route objects may | |||
before the relying party's local repository cache picks up the | be received before the RP's local repository cache picks up the | |||
associated ROAs and recognises them as valid within the RPKI. | associated ROAs and recognises them as valid within the RPKI. | |||
For these reasons it is advised that local policy settings should not | ||||
result in "unknown" validation outcomes being considered as | ||||
sufficient grounds to reject a route object outright from | ||||
consideration as a local "best" route. | ||||
A local policy setting may be considered such that "invalid" | A local policy setting may be considered such that "invalid" | |||
validation outcomes would be sufficient grounds to reject the route | validation outcomes would be sufficient grounds to reject the route | |||
object. However, due to the considerations of circular dependence | object. However, due to these considerations of circular dependence | |||
and differing propagation times as noted above, a local policy | and differing propagation times of ROAs and route objects, an | |||
setting may be considered that would involve the use of a local timer | alternate local policy setting may be considered that would involve | |||
to accept the route as feasible for an interim period of time until | the use of a local timer to accept the route object as feasible for | |||
there is an acceptable level of assurance that all reasonable efforts | an interim period of time, until there is an acceptable level of | |||
to obtain a valid ROA for the object have been undertaken. | assurance that all reasonable efforts to obtain a valid ROA for the | |||
route object have been undertaken. | ||||
4. Further Considerations | 4. Further Considerations | |||
This document provides a description of how ROAs could be used by a | 4.1. Partial Deployment Considerations | |||
BGP speaker. | ||||
It is noted that the proposed procedure requires no changes to the | ||||
operation of BGP. However, there are a number of considerations | ||||
about this approach to origination validation that are relevant to | ||||
the operation of a BGP speaker that are not specified here. | ||||
These considerations include: | ||||
o It is not specified when validation of an advertised prefix should | ||||
be performed by a BGP speaker. It is considered to be a matter of | ||||
local policy whether it is strictly required to perform validation | ||||
at a point prior to loading the object into the Adj-RIB-In | ||||
structure [RFC4271], or once the object has been loaded into Adj- | ||||
RIB-In, or at a later time that is determined by a local | ||||
configuration setting. It is also not specified whether | ||||
origination validation should be performed each time a route | ||||
object is updated by a peer even when the origin AS has not | ||||
altered. | ||||
o The lifetime of a validation outcome is not specified here. This | ||||
specifically refers to the time period during which the original | ||||
validation outcome can be still applied, at the expiration of | ||||
which the routing object should be re-tested for validity. It is | ||||
a matter of local policy setting as to whether a validation | ||||
outcome be regarded as valid until the route object is withdrawn | ||||
or further updated, or whether validation of a route object should | ||||
occur at more frequent intervals. | ||||
o It is a matter of local configuration as to whether ROA validation | ||||
is performed on a per-AS basis rather than a per-BGP speaker, and | ||||
the appropriate mechanisms to support a de-coupled framework of | ||||
validation of ROAs and the loading of outcomes into BGP speakers | ||||
are not considered here. | ||||
5. Security Considerations | ||||
This approach to origination validation uses a model of positive | This approach to route object origination validation uses a model of | |||
security, where information that cannot be validated within the RPKI | "positive security" attestations, where information that cannot be | |||
framework is intended to interpreted by a RP as invalid. | validated within the RPKI framework is intended to interpreted by a | |||
RP as invalid information. | ||||
However, the considerations of accommodating environments of partial | However, the considerations of accommodating environments of partial | |||
adoption, where only a subset of valid route objects have associated | adoption, where only a subset of valid route objects have associated | |||
ROAs within the structure of the RPKI imply some modification to the | ROAs within the structure of the RPKI, imply some modification to | |||
model of positive security. Here it is assumed that once an address | this model of positive security. Here it is assumed that once an | |||
prefix is described in a ROA, then this ROA "protects" all address | address prefix is described in a ROA, then this ROA encompasses all | |||
prefixes that are more specific than that described in the ROA. | address prefixes that are more specific than that described in the | |||
Thus, any more specific address prefix and originating AS combination | ROA. Thus, any more specific address prefix and originating AS | |||
of a valid ROA, that does not have a matching valid ROA is considered | combination of a valid ROA, that does not have a matching valid ROA | |||
to be "invalid". | is considered to be "invalid". | |||
Routes objects that describe address prefixes that are not fully | ||||
described by any single ROA, i.e., those address prefixes that may be | ||||
an aggregate of a ROA, or have no intersection with any ROA, and are | ||||
not matched by any ROA and are not a more specific of any ROA cannot | ||||
be reliably classified as "invalid" in a partial deployment scenario, | ||||
and are therefore described as "unknown". | ||||
The match condition of a route object against a single ROA is | The match condition of a route object against a single ROA is | |||
summarized in the following table: | summarized in the following table: | |||
Prefix match AS mismatch AS | Prefix matching non-matching | |||
AS AS | ||||
+---------+-------------+ | +---------+-------------+ | |||
Covering | unknown | unknown | | Covering | unknown | unknown | | |||
Aggregate | | | | Aggregate | | | | |||
+---------+-------------+ | +---------+-------------+ | |||
match ROA | valid | invalid | | match ROA | valid | invalid | | |||
prefix | | | | prefix | | | | |||
+---------+-------------+ | +---------+-------------+ | |||
More | invalid | invalid | | More | invalid | invalid | | |||
Specific | | | | Specific | | | | |||
than ROA +---------+-------------+ | than ROA | | | | |||
+---------+-------------+ | ||||
In an environment of a collection of ROAs, a route object is | In an environment of a collection of ROAs, a route object is | |||
considered "valid" if any ROA provides a "valid" outcome, and | considered to be "valid" if any ROA provides a "valid" outcome, and | |||
"invalid" if one or more ROAs provide an "invalid" outcome and no | "invalid" if one or more ROAs provide an "invalid" outcome and no | |||
ROAs provide a "valid" outcome. The "unknown" outcome occurs when no | ROAs provide a "valid" outcome. The "unknown" outcome occurs when no | |||
ROA produces a "valid" or an "invalid" outcome. | ROA produces either a "valid" or an "invalid" outcome. | |||
4.2. Disavowal of Routing Origination | ||||
A ROA is a positive attestation that a prefix holder has authorized | ||||
an AS to originate a route for this prefix into the inter-domain | ||||
routing system. It is possible for a prefix holder to attest that no | ||||
AS has been granted any such authority by using a ROA where the ROA'S | ||||
subject AS is one that will not be used in a routing context. | ||||
Specifically, AS 0 is reserved by the IANA such that it "may be use | ||||
[sic] to identify non-routed networks" [IANA.AS-Registry]. | ||||
A ROA with a subject of AS 0 is an attestation by the holder of a | ||||
prefix that the prefix described in the ROA, and any more specific | ||||
prefix, should not be used in a routing context. | ||||
The route object validation procedure, described in Section 2, will | ||||
provide a "valid" outcome if any ROA matches the address prefix and | ||||
origin AS, even if other valid ROAs would provide an "invalid" | ||||
validation outcome if used in isolation. Consequently, an AS0 ROA | ||||
has a lower preference than any other ROA that has a routeable AS as | ||||
its subject. This allows a prefix holder to use an AS0 ROA to | ||||
declare a default condition that any route object that is equal to, | ||||
or more specific than the prefix to be considered to be invalid, | ||||
while also allowing other concurrently issued ROAs to describe valid | ||||
origination authorizations for more specific prefixes. | ||||
For example, the holder of prefix 203.0.113.0/24 may wish to | ||||
authorise the origination of a route object of 203.0.113.196/26 by | ||||
64496, and explicitly declare that all other use of prefixes from | ||||
this block should be considered invalid. This could be achieved | ||||
through the issuing of a ROA for Address=203.0.113.0/24, | ||||
maxLength=32, AS = 0 and a second ROA for Address=203.0.113.196/26, | ||||
maxLength=26, AS=64496. | ||||
By convention, an AS 0 ROA should have a maxLength value of 32 for | ||||
IPv4 addresses and 128 for IPv6 addresses, although in terms of route | ||||
object validation the same outcome would be achieved with any valid | ||||
maxLength value, or even if the maxLength element were to be omitted | ||||
from the ROA. Also by convention, an AS 0 ROA should be the only ROA | ||||
issued for a given address prefix, although again this is not a | ||||
strict requirement. An AS 0 ROA can coexist with ROAs that have | ||||
different subject AS values, although in such cases the presence of | ||||
the AS 0 ROA does not alter the route object validation outcome in | ||||
any way. | ||||
4.3. BGP Considerations | ||||
This document provides a description of how ROAs could be used by a | ||||
BGP speaker. | ||||
It is noted that the proposed procedure requires no changes to the | ||||
operation of BGP. However, there are a number of considerations | ||||
about this approach to origination validation that are relevant to | ||||
the operation of a BGP speaker that are not specified here. | ||||
These considerations include: | ||||
* It is not specified when validation of an advertised prefix | ||||
should be performed by a BGP speaker. It is considered to be a | ||||
matter of local policy whether it is strictly required to | ||||
perform validation at a point prior to loading the object into | ||||
the Adj-RIB-In structure [RFC4271], or once the object has been | ||||
loaded into Adj-RIB-In, or at a later time that is determined | ||||
by a local configuration setting. It is also not specified | ||||
whether origination validation should be performed each time a | ||||
route object is updated by a peer even when the origin AS has | ||||
not altered. | ||||
* The lifetime of a validation outcome is not specified here. | ||||
This specifically refers to the time period during which the | ||||
original validation outcome can be still applied, at the | ||||
expiration of which the routing object should be re-tested for | ||||
validity. It is a matter of local policy setting as to whether | ||||
a validation outcome be regarded as valid until the route | ||||
object is withdrawn or further updated, or whether validation | ||||
of a route object should occur at more frequent intervals. | ||||
* It is a matter of local configuration as to whether ROA | ||||
validation is performed on a per-AS basis rather than a per-BGP | ||||
speaker, and the appropriate mechanisms to support a de-coupled | ||||
framework of validation of ROAs and the loading of outcomes | ||||
into BGP speakers are not considered here. | ||||
5. Security Considerations | ||||
ROA issuers should be aware of the validation implication in issuing | ||||
a ROA, in that a ROA will implicitly invalidate all route objects for | ||||
more specific prefixes with a prefix length greater than maxLength, | ||||
and all originating AS's other than the AS listed in the collection | ||||
of ROAs. | ||||
A conservative operational practice would be to ensure the issuing of | ||||
ROAs for all more specific prefixes with distinct origination AS's | ||||
prior to the issuing of ROAs for larger encompassing address blocks, | ||||
in order to avoid inadvertent invalidation of valid route objects | ||||
during ROA generation. | ||||
ROA issuers should also be aware that if they generate a ROA for one | ||||
origin AS, then if the prefix is authorised by multiple AS's then | ||||
ROAs should be generated for all such authorized AS's. | ||||
6. IANA Considerations | 6. IANA Considerations | |||
[There are no IANA considerations in this document.] | Dear IANA, | |||
7. Changes -01 to -02 | The AS number registry [IANA.AS-Registry] contains the following | |||
annotation against AS 0: "may be use to identify non-routed | ||||
networks." Could you please add a 'd' as appropriate to this text? | ||||
Thank you, | ||||
the authors. | ||||
7. Change Log | ||||
Note: This section is NOT to be included in final version of this | ||||
document. | ||||
7.1. Changes -02 to -03 | ||||
Further Considerations section now has a subsection describing the | ||||
assumptions that ROA validation is making about the precise nature of | ||||
partial deployment, noting that a ROA has an implicit scope of | ||||
application for all prefixes that are equal to or more specific than | ||||
the prefix listed in the ROA | ||||
Moved the table of validation outcomes from the Security | ||||
Considerations section to the section on Further Considerations. | ||||
Added consideration about disavowal and the use of an AS 0 ROA and | ||||
its interpretation in the context of validation of route objects, and | ||||
proposed conventions of use of an AS 0 ROA. | ||||
Noted hierarchical dependence of ROA issuance in the Security | ||||
Considerations section. | ||||
7.2. Changes -01 to -02 | ||||
Following WG review of the means of specification of denial in | Following WG review of the means of specification of denial in | |||
routing authorizations in the context of the RPKI at IETF 74 and IETF | routing authorizations in the context of the RPKI at IETF 74 and IETF | |||
75, it appears that there is no general WG support for the use of an | 75, it appears that there is no general WG support for the use of an | |||
explicit denial object (termed a 'BOA'). The alternative approach, | explicit denial object (termed a 'BOA'). The alternative approach, | |||
explored in previous iterations of this draft, used a more restricted | explored in previous iterations of this draft, used a more restricted | |||
interpretation of a ROA that yielded only "valid" or "unknown" | interpretation of a ROA that yielded only "valid" or "unknown" | |||
outcomes (by using "unknown" where "invalid" is used in this revision | outcomes (by using "unknown" where "invalid" is used in this revision | |||
of the document). To allow for "invalid" outcomes the draft used the | of the document). To allow for "invalid" outcomes the draft used the | |||
BOA to undertake the role of a 'disavow' constraint, where a route | BOA to undertake the role of a 'disavow' constraint, where a route | |||
object was considered to be "invalid" if it was the subject of a | object was considered to be "invalid" if it was the subject of a | |||
valid BOA and was not considered to be "valid" by any valid ROA. The | valid BOA and was not considered to be "valid" by any valid ROA. The | |||
reasons advanced to support the dropping of the BOA was the increased | reasons advanced to support the dropping of the BOA was the increased | |||
complexity of RP systems through the use of a second object in route | complexity of RP systems through the use of a second object in route | |||
validation, a potentially confusing mismatch in the interpretation | validation, a potentially confusing mismatch in the interpretation | |||
scope between the ROA and the BOA, where the ROA's scope was limited | scope between the ROA and the BOA, where the ROAs scope was limited | |||
to set of prefixes described in the ROA, while the BOA's scope | to set of prefixes described in the ROA, while the BOA's scope | |||
included all possible more specifics of the prefixes listed in the | included all possible more specifics of the prefixes listed in the | |||
BOA, and the ability to reconstruct the semantic equivalent of a BOA | BOA, and the ability to reconstruct the semantic equivalent of a BOA | |||
through the use of a ROA that used a restricted-use AS as its asID. | through the use of a ROA that used a restricted-use AS as its asID. | |||
Accordingly, this draft has been revised to remove all references to | Accordingly, this draft has been revised to remove all references to | |||
the use of an explicit denial object and uses the implicit semantics | the use of an explicit denial object and uses the implicit semantics | |||
of denial in a ROA object. | of denial in a ROA object. | |||
There appears to be no WG interest in consideration of validation in | There appears to be no WG interest in consideration of validation in | |||
a "linked" model, where a ROA is bound to the route object that it is | a "linked" model, where a ROA is bound to the route object that it is | |||
intended to validate. Accordingly this section of the text has also | intended to validate. Accordingly this section of the text has also | |||
been dropped from this version. | been dropped from this version. | |||
8. Normative References | 8. References | |||
8.1. Normative References | ||||
[I-D.ietf-sidr-arch] | [I-D.ietf-sidr-arch] | |||
Lepinski, M. and S. Kent, "An Infrastructure to Support | Lepinski, M. and S. Kent, "An Infrastructure to Support | |||
Secure Internet Routing", draft-ietf-sidr-arch (work in | Secure Internet Routing", draft-ietf-sidr-arch (work in | |||
progress), July 2009. | progress), July 2009. | |||
[I-D.ietf-sidr-roa-format] | [I-D.ietf-sidr-roa-format] | |||
Lepinski, M., Kent, S., and D. Kong, "An Infrastructure to | Lepinski, M., Kent, S., and D. Kong, "An Infrastructure to | |||
Support Secure Internet Routing", | Support Secure Internet Routing", | |||
draft-ietf-sidr-roa-format (work in progress), July 2009. | draft-ietf-sidr-roa-format (work in progress), July 2009. | |||
skipping to change at page 8, line 33 | skipping to change at page 11, line 13 | |||
Addresses and AS Identifiers", RFC 3779, June 2004. | Addresses and AS Identifiers", RFC 3779, June 2004. | |||
[RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway | [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway | |||
Protocol 4 (BGP-4)", RFC 4271, January 2006. | Protocol 4 (BGP-4)", RFC 4271, January 2006. | |||
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., | [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., | |||
Housley, R., and W. Polk, "Internet X.509 Public Key | Housley, R., and W. Polk, "Internet X.509 Public Key | |||
Infrastructure Certificate and Certificate Revocation List | Infrastructure Certificate and Certificate Revocation List | |||
(CRL) Profile", RFC 5280, May 2008. | (CRL) Profile", RFC 5280, May 2008. | |||
8.2. Informative References | ||||
[IANA.AS-Registry] | ||||
IANA, "IANA Autonomous System Number Registry", | ||||
August 2009. | ||||
Authors' Addresses | Authors' Addresses | |||
Geoff Huston | Geoff Huston | |||
Asia Pacific Network Information Centre | Asia Pacific Network Information Centre | |||
Email: gih@apnic.net | Email: gih@apnic.net | |||
George Michaelson | George Michaelson | |||
Asia Pacific Network Information Centre | Asia Pacific Network Information Centre | |||
End of changes. 34 change blocks. | ||||
157 lines changed or deleted | 291 lines changed or added | |||
This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |