| < 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 | A BGP route object does not refer to a specific ROA that should be | |||
| outcome of the validation operation is that the ROA is valid in the | used by a Relying Party (RP) to validate the origination information | |||
| context of the RPKI, or validation has failed. | contained in the route object. The RP needs to match a route object | |||
| to one or more candidate valid ROAs in order to determine a | ||||
| validation outcome, which, in turn, can be used to determine the | ||||
| appropriate local actions to perform on the route object. Valid ROAs | ||||
| 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. | ||||
| It is assumed here that ROAs are managed and distributed | It is assumed here that ROAs are managed and distributed | |||
| independently of the operation of BGP itself, and a local BGP speaker | independently of the operation of BGP itself, and that a local BGP | |||
| has access to a local cache of the complete set of ROAs and the RPKI | speaker has access to a local cache of the complete set of valid ROAs | |||
| data set when performing a validation operation. | when performing a route object validation operation. | |||
| A BGP route object does not refer to a specific ROA that should be | Route object validation is defined by the following procedure: | |||
| used by a Relying Party (RP) to validate the origination information | ||||
| contained in the route object, nor does it refer to the set of | ||||
| certificates that the RP should use to validate the ROA's digital | ||||
| signature. The RP needs to match a route object to one or more | ||||
| candidate valid ROAs in order to determine the appropriate local | ||||
| actions to perform on the route object. | ||||
| To validate a route object the RP would undertake the following | 1. Select all valid ROAs that include a ROAIPAddress value that | |||
| steps: | either matches, or is a covering aggregate of, the address | |||
| prefix in the route object. | ||||
| 1. Select all valid ROAs that include a ROAIPAddress value that | 2. If the set of candidate ROAs is empty then the validation | |||
| either matches, or is a covering aggregate of, the address prefix | procedure stops with an outcome of "unknown". | |||
| in the route object. | ||||
| 2. If the set of candidate ROAs is empty the validation process | 3. If any ROA has an asID value that matches the origin AS in the | |||
| stops with an outcome of "unknown". | route object, and either the route object's address prefix | |||
| 3. If any ROA has an asID value that matches the originating AS in | precisely matches a ROAIPAddress in the ROA, or the route | |||
| the route object, and either the route object's address prefix | object's address prefix is a more specific prefix of a | |||
| precisely matches an address in the ROA, or the route object's | ROAIPAddress and the route object's prefix length value is | |||
| address prefix is a more specific prefix of the address in the | less than or equal to the ROAIPAddress' maxLength value, then | |||
| ROA and the prefix length value is less than or equal to the | the validation procedure stops with an outcome of "valid". | |||
| ROAIPAddress's maxLength value, then the validation process stops | ||||
| with an outcome of "valid". | 4. Otherwise, the validation procedure stops with an outcome of | |||
| 4. Otherwise, the validation outcome is "invalid". | "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. 36 change blocks. | ||||
| 158 lines changed or deleted | 292 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||