| < draft-ietf-sidr-roa-validation-01.txt | draft-ietf-sidr-roa-validation-02.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: April 9, 2009 October 6, 2008 | Expires: February 5, 2010 August 4, 2009 | |||
| Validation of Route Origination in BGP using the Resource Certificate | Validation of Route Origination in BGP using the Resource Certificate | |||
| PKI | PKI | |||
| draft-ietf-sidr-roa-validation-01.txt | draft-ietf-sidr-roa-validation-02.txt | |||
| Status of this Memo | Status of this Memo | |||
| By submitting this Internet-Draft, each author represents that any | This Internet-Draft is submitted to IETF in full conformance with the | |||
| applicable patent or other IPR claims of which he or she is aware | provisions of BCP 78 and BCP 79. | |||
| have been or will be disclosed, and any of which he or she becomes | ||||
| aware will be disclosed, in accordance with Section 6 of 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. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| 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 April 9, 2009. | This Internet-Draft will expire on February 5, 2010. | |||
| Copyright Notice | ||||
| Copyright (c) 2009 IETF Trust and the persons identified as the | ||||
| document authors. All rights reserved. | ||||
| This document is subject to BCP 78 and the IETF Trust's Legal | ||||
| Provisions Relating to IETF Documents in effect on the date of | ||||
| publication of this document (http://trustee.ietf.org/license-info). | ||||
| Please review these documents carefully, as they describe your rights | ||||
| 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 requirements 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 | |||
| 2.1. Decoupled Validation . . . . . . . . . . . . . . . . . . . 4 | 3. Applying Validation Outcomes to BGP Route Selection . . . . . . 4 | |||
| 2.2. Linked Validation . . . . . . . . . . . . . . . . . . . . 6 | 4. Further Considerations . . . . . . . . . . . . . . . . . . . . 5 | |||
| 3. Applying Validation Outcomes to BGP Route Selection . . . . . 6 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 | |||
| 3.1. Validation Outcomes and Rejection of BGP Route Objects . . 9 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 4. Further Considerations . . . . . . . . . . . . . . . . . . . . 9 | 7. Changes -01 to -02 . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 10 | 8. Normative References . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 7. Normative References . . . . . . . . . . . . . . . . . . . . . 11 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12 | ||||
| Intellectual Property and Copyright Statements . . . . . . . . . . 13 | ||||
| 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) to validate the origination of routes | |||
| advertised in the Border Gateway Protocol (BGP) [RFC4271]. | advertised in the Border Gateway Protocol (BGP) [RFC4271]. | |||
| The RPKI is based on Resource Certificates. Resource Certificates | The RPKI is based on Resource Certificates. Resource Certificates | |||
| are X.509 certificates that conform to the PKIX profile [RFC5280], | are X.509 certificates that conform to the PKIX profile [RFC5280], | |||
| and to the extensions for IP addresses and AS identifiers [RFC3779]. | and to the extensions for IP addresses and AS identifiers [RFC3779]. | |||
| skipping to change at page 3, line 27 ¶ | skipping to change at page 3, line 27 ¶ | |||
| Subject's private key with the public key contained in the Resource | Subject's private key with the public key contained in the Resource | |||
| Certificate. The PKI is structured such that each current Resource | Certificate. The PKI is structured such that each current Resource | |||
| Certificate matches a current resource allocation or assignment. | Certificate matches a current resource allocation or assignment. | |||
| This is described in [I-D.ietf-sidr-arch]. | This is 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]. | [I-D.ietf-sidr-roa-format]. ROAs are intended to fit within the | |||
| requirements for adding security to inter-domain routing, including | ||||
| the ability to support incremental and piecemeal deployment. | ||||
| Bogon Origin Attestations (BOAs) are digitally signed objects that | This document describes the semantic interpretation of a valid ROA, | |||
| describe a collection of address prefixes and AS numbers that are not | with particular reference to application in BGP relating to the | |||
| authorised by the right-of-use holder to be advertised in the inter- | origination of route objects. The document does not describe any | |||
| domain routing system [I-D.ietf-sidr-boa]. | application of a ROA to validation of the AS Path. | |||
| This document describes how ROA and BOA validation outcomes can be | This proposed application does not require any changes to the | |||
| used in the BGP route selection process, and how the proposed | specification of BGP protocol elements. The application may be used | |||
| application of ROAs and BOAs are intended to fit within the | as part of BGP's local route selection algorithm [RFC4271]. | |||
| requirements for adding security to inter-domain routing | ||||
| [ID.ietf-rpsec-bgpsecrec], including the ability to support | ||||
| incremental and piecemeal deployment. This proposed application does | ||||
| not require any changes to the specification of BGP protocol | ||||
| elements. The application may be used as part of BGP's local route | ||||
| selection algorithm [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. In | A BGP "Route Object" is an address prefix and a set of attributes. | |||
| terms of ROA and BOA validation the prefix value and the origin AS | In terms of validation of the Route Object the prefix value and the | |||
| are used in the validation operation. | origin AS attribute are used in the validation operation. | |||
| If the route object is an aggregate and the AS Path contains an AS | If the route object is an aggregate and the AS Path contains an AS | |||
| Set, then the origin AS is considered to be the AS described as the | Set, then the origin AS is considered to be the AS described as the | |||
| AGGREGATOR [RFC4271] of the route object. | AGGREGATOR [RFC4271] of the route object. | |||
| ROA validation is described in [I-D.ietf-sidr-roa-format], and the | 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 | outcome of the validation operation is that the ROA is valid in the | |||
| context of the RPKI, or validation has failed. | context of the RPKI, or validation has failed. | |||
| BOA validation is described in [I-D.ietf-sidr-boa], and the outcome | It is assumed here that ROAs are managed and distributed | |||
| of the validation operation is that the BOA is valid in the context | independently of the operation of BGP itself, and a local BGP speaker | |||
| of the RPKI, or validation has failed. | has access to a local cache of the complete set of ROAs and the RPKI | |||
| data set when performing a validation operation. | ||||
| There appears to be two means of matching a route object to a ROA: | ||||
| decoupled and linked. | ||||
| 2.1. Decoupled Validation | ||||
| The decoupled approach is where the ROAs are managed and distributed | ||||
| independently of the operation of the routing protocol 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. | ||||
| In this case the BGP route object does not refer to a specific ROA. | A BGP route object does not refer to a specific ROA that should be | |||
| The relying party to match a route object to one or more candidate | used by a Relying Party (RP) to validate the origination information | |||
| valid ROAs and BOAs in order to determine the appropriate local | 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. | actions to perform on the route object. | |||
| The relying party selects the set of ROAs where the address prefix in | To validate a route object the RP would undertake the following | |||
| the route object either exactly matches an ROAIPAddress (matching | steps: | |||
| both the address prefix value and the prefix length), or where the | ||||
| route object spans a block of addresses that is included in the span | ||||
| described by the ROA's address prefix value and length and where the | ||||
| route object's prefix length is less than the ROA's prefix length and | ||||
| greater then or equal to the ROA's corresponding maxLength attribute. | ||||
| The following outcomes are possible using the defined ROA validation | ||||
| procedure for each ROA in this set: | ||||
| Exact Match: | ||||
| A valid ROA exists, where the address prefix in the route object | ||||
| exactly matches a prefix listed in the ROA, or the ROA contains a | ||||
| covering aggregate and the prefix length of the route object is | ||||
| smaller than or equal to the ROA's associated maxLength attribute, | ||||
| and the origin AS in the route object matches the origin AS listed | ||||
| in the ROA. | ||||
| Covering Match: | ||||
| A valid ROA exists, where an address prefix in the ROA is a | ||||
| covering aggregate of the prefix in the route object, and the | ||||
| prefix length of the route object is greater than the ROA's | ||||
| associated maxLength attribute, and the origin AS in the route | ||||
| object matches the AS listed in the ROA. | ||||
| Exact Mismatch: | ||||
| A valid ROA exists where the address prefix in the route object | ||||
| exactly matches a prefix listed in the ROA, or the ROA contains a | ||||
| covering aggregate and the prefix length of the route object is | ||||
| smaller than or equal to the ROA's associated maxLength attribute, | ||||
| and the origin AS of the route object does not match the AS listed | ||||
| in the ROA. | ||||
| Covering Mismatch: | ||||
| A valid ROA exists where an address prefix in the ROA is a | ||||
| covering aggregate of the prefix in the route object, the prefix | ||||
| length of the route object is greater than the ROA's associated | ||||
| maxLength attribute, and the origin AS of the route object does | ||||
| not match the AS listed in the ROA. | ||||
| No ROA: | ||||
| There are no Exact Matches, Covering Matches, no Exact Mismatches | ||||
| or Covering Mismatches in the RPKI repository. | ||||
| The ROA to be used for the validation function is selected from the | ||||
| set of ROAs in the order given above. In other words an Exact Match | ||||
| is preferred over a Covering Match, which, in turn, is preferred over | ||||
| an Exact Mismatch which is preferred over a Covering Mismatch. | ||||
| The set of BOAs that are used for the validation function are | ||||
| composed of the set of valid BOAs where the origin AS of the route | ||||
| object matches an AS described in a BOA, or where an address prefix | ||||
| in a valid BOA that is an exact match or a covering aggregate of the | ||||
| route object. In the case that the validation outcome using ROAs is | ||||
| one of Exact Mismatch, Covering Mismatch or No ROA, then the | ||||
| validation outcome of the BOA changes the overall validation result | ||||
| to "Bogon". | ||||
| Bogon: | ||||
| A valid BOA exists where an address prefix in the BOA is a an | ||||
| exact match for the prefix in the route object, or is a covering | ||||
| aggregate of the prefix in the route object, or an AS in the BOA | ||||
| matches the originating AS in the BOA. In addition, there is no | ||||
| valid ROA that is an Exact Match or a Covering Match with the | ||||
| route object. | ||||
| 2.2. Linked Validation | ||||
| The linked approach requires the route object to reference a ROA | ||||
| either by inclusion of the ROA as an attribute of the route object, | ||||
| or inclusion of a identity field in an attribute of the route object | ||||
| as a means of identifying a particular ROA. | ||||
| If the ROA can be located is valid within the context of the RPKI | ||||
| then the route object can be compared against the ROA, as per the | ||||
| previous section, giving one of five possible results: Exact Match, | ||||
| Covering Match, Exact Mismatch, Covering Mismatch, and No Match, | ||||
| which is defined as: | ||||
| No Match: | ||||
| The valid ROA does not comtain any address prefix that exactly | ||||
| matches the address prefix in the route object, or is a covering | ||||
| aggregate of the address prefix in the route object. | ||||
| In the case of a Mismatch or a No Match condition, the relying party | 1. Select all valid ROAs that include a ROAIPAddress value that | |||
| should check for the presence of valid BOAs where the origin AS of | either matches, or is a covering aggregate of, the address prefix | |||
| the route object matches an AS described in a BOA, or where an | in the route object. | |||
| address prefix in a valid BOA that is an exact match or a covering | 2. If the set of candidate ROAs is empty the validation process | |||
| aggregate of the route object. If a valid BOA can be found that | stops with an outcome of "unknown". | |||
| matches either of these conditions that the overall route object | 3. If any ROA has an asID value that matches the originating AS in | |||
| validation of a route object with a linked ROA is changed to "Bogon". | the route object, and either the route object's address prefix | |||
| precisely matches an address in the ROA, or the route object's | ||||
| address prefix is a more specific prefix of the address in the | ||||
| ROA and the prefix length value is less than or equal to the | ||||
| ROAIPAddress's maxLength value, then the validation process stops | ||||
| with an outcome of "valid". | ||||
| 4. Otherwise, the validation outcome is "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 peer is compared to all | |||
| announcements for this prefix received from other peers and a route | announcements for this prefix received from other peers and a route | |||
| selection procedure is used to select the "best" route object from | selection procedure is used to select the "best" route object from | |||
| this candidate set which is then used locally by placing it in the | this candidate set, which is then used locally by installing it in | |||
| loc-RIB, and is announced to peers as the local "best" route. | the loc-RIB [RFC4271], and is announced to peers as the local "best" | |||
| route. | ||||
| It is proposed here that the validation outcome be used as part of | ||||
| the determination of the local degree of preference as defined in | ||||
| section 9.1.1 of the BGP specification [RFC4271]. | ||||
| In the case of partial deployment of ROAs there are a very limited | ||||
| set of circumstances where the outcome of ROA validation can be used | ||||
| as grounds to reject all consideration of the route object as an | ||||
| invalid advertisement. While the presence of a valid ROA that | ||||
| matches the advertisement is a strong indication that an | ||||
| advertisement matches the authority provided by the prefix holder to | ||||
| advertise the prefix into the routing system, the absence of a ROA or | ||||
| the invalidity of a covering ROA does not provide a conclusive | ||||
| indication that the advertisement has been undertaken without the | ||||
| address holder's permission, unless the object is described in a BOA. | ||||
| In the case of a partial deployment scenario of RPKI route | ||||
| attestation objects, where some address prefixes and AS numbers are | ||||
| described in ROAs or BOAs and others are not, then the relative | ||||
| ranking of validation outcomes from the highest (most preferred) to | ||||
| the lowest (least preferred) degree of preference are proposed to be | ||||
| as specified int he following list. The exact values to apply to a | ||||
| Local Preference setting are left as a matter of local policy and | ||||
| local configuration. | ||||
| 1. Exact Match | ||||
| The prefix has been allocated and is routeable, and that the | ||||
| prefix right-of-use holder has authorized the originating AS to | ||||
| originate precisely this announcement. | ||||
| 2. Covering Match | ||||
| This is slightly less preferred because it is possible that the | ||||
| address holder of the aggregate has allocated the prefix in | ||||
| question to a different party. It is also possible that the | ||||
| originating AS is using more specific advertisements as part of a | ||||
| traffic engineering scenario. | ||||
| 3. No ROA | ||||
| In the case of partial deployment of ROAs, the absence of | ||||
| validation credentials is a neutral outcome, in that there is no | ||||
| grounds to increase or decrease the relative degree of preference | ||||
| for the route object. | ||||
| 4. Covering Mismatch | ||||
| A Covering Mismatch is considered to be less preferable than a | ||||
| neutral position in that the address holder of a covering | ||||
| aggregate has indicated an originating AS that is not the | ||||
| originating AS of this announcement. On the other hand it may be | ||||
| the case that this prefix has been validly allocated to another | ||||
| party who has not generated a ROA for this prefix even through | ||||
| the announcement is valid. | ||||
| 5. Exact Mismatch | ||||
| Here the exact match prefix holder has validly provided an | ||||
| authority for origination by an AS that is not the AS that is | ||||
| originating this announcement. This would appear to be a bogus | ||||
| announcement by inference. | ||||
| 6. No Match | ||||
| Here the route object has referenced a ROA that is not valid, or | ||||
| does not include an address prefix that matcehs the route object, | ||||
| or the referenced ROA could not be located. This could be an | ||||
| attempt to create a false route object and use an invalid ROA. | ||||
| 7. Bogon | ||||
| Here the right-of-use holder of the AS or address prefix has | ||||
| explicitly tagged the address prefix or the AS as a "bogon". | ||||
| This implies that the announcement has been made without the | ||||
| appropriate authority, and the local preference of the route | ||||
| object should be ranked at a level commensurate with rejecting | ||||
| the route object. | ||||
| In the case of comprehensive deployment of RPKI route attestion | ||||
| objects the absence of a specific ROA origination authority for the | ||||
| route object should render it as an unusable for routing. In this | ||||
| case the local preference setting for the route object is as follows: | ||||
| 1. Exact Match | ||||
| The prefix has been allocated and is routeable, and that the | ||||
| prefix right-of-use holder has authorized the originating AS to | ||||
| originate precisely this announcement. | ||||
| 2. Covering Match, No ROA, Covering Mismatch, Exact Mismatch, No | ||||
| Match | ||||
| The local preference of the route object should be ranked at a | ||||
| level of least preferred, due to the constraints noted in the | ||||
| following section. | ||||
| 3. Bogon | ||||
| Here the right-of-use holder of the AS or address prefix has | It is proposed here that the ROA validation outcome of "unknown", | |||
| explicitly tagged the address prefix or the AS as a "bogon". | "valid" or "invalid" be used as part of the determination of the | |||
| This implies that the announcement has been made without the | local degree of preference as defined in section 9.1.1 of the BGP | |||
| appropriate authority, and the local preference of the route | specification [RFC4271]. | |||
| object should be ranked at a level commensurate with rejecting | ||||
| the route object. | ||||
| 3.1. Validation Outcomes and Rejection of BGP Route Objects | The proposed addition to the local degree of preference is "valid" is | |||
| to be preferred over "unknown" over "invalid". | ||||
| In the case of comprehensive deployment of ROAs, the use of a | It is a matter of local BGP selection policy in setting whether | |||
| validation outcome other than an Exact Match as sufficient grounds to | "invalid" route objects are discarded from further consideration in | |||
| reject a route object should be undertaken with care. | the route selection process, however the following consideration | |||
| should be taken into account in such a situation. | ||||
| The consideration here is one of potential circularity of dependence. | The consideration here is one of potential circularity of dependence. | |||
| If the authoritative publication point of the repository of ROAs or | If the authoritative publication point of the repository of ROAs or | |||
| any certificates used in relation to an address prefix is stored at a | any certificates used in relation to an address prefix is stored at a | |||
| location that lies within the address prefix described in a ROA, then | location 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 local routing domain. It is also noted that the | |||
| propagation time of RPKI objects may be different to the propagation | propagation time of RPKI objects may be different to the propagation | |||
| time of route objects in BGP, and that route objects may be received | time of route objects in BGP, and that route objects may be received | |||
| before the relying party's local repository cache picks up the | before the relying party'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 proposed that, even in the case of | For these reasons it is advised that local policy settings should not | |||
| comprehensive deployment of ROAs, a missing ROA or a mismatch should | result in "unknown" validation outcomes being considered as | |||
| not be considered as sufficient grounds to reject a route | sufficient grounds to reject a route object outright from | |||
| advertisement outright. Alternate approaches may involve the use of | consideration as a local "best" route. | |||
| a local timer to accept the route for an interim period of time until | ||||
| A local policy setting may be considered such that "invalid" | ||||
| validation outcomes would be sufficient grounds to reject the route | ||||
| object. However, due to the considerations of circular dependence | ||||
| and differing propagation times as noted above, a local policy | ||||
| setting may be considered that would involve the use of a local timer | ||||
| to accept the route as feasible for an interim period of time until | ||||
| there is an acceptable level of assurance that all reasonable efforts | there is an acceptable level of assurance that all reasonable efforts | |||
| to local a valid ROA have been undertaken. | to obtain a valid ROA for the object have been undertaken. | |||
| 4. Further Considerations | 4. Further Considerations | |||
| This document provides a description of how ROAs and BOAs could be | This document provides a description of how ROAs could be used by a | |||
| used by a BGP speaker. | BGP speaker. | |||
| It is noted that the proposed procedure requires no changes to the | It is noted that the proposed procedure requires no changes to the | |||
| operation of BGP. | operation of BGP. However, there are a number of considerations | |||
| about this approach to origination validation that are relevant to | ||||
| It is also noted that the decoupled and linked approach are not | the operation of a BGP speaker that are not specified here. | |||
| mutually exclusive, and the same procedure can be applied to route | ||||
| objects that contain an explicit pointer to the associated ROA and | ||||
| route objects where the local BGP speaker has to create a set of | ||||
| candidate ROAs that could be applied to a route object. However, | ||||
| there are a number of considerations about this approach to | ||||
| origination validation that are not specified here. | ||||
| These considerations include: | These considerations include: | |||
| o It is not specified when validation of an advertised prefix should | o It is not specified when validation of an advertised prefix should | |||
| be performed by a BGP speaker. Is is considered to be a matter of | be performed by a BGP speaker. It is considered to be a matter of | |||
| local policy whether it is considered to be strictly necessary to | local policy whether it is strictly required to perform validation | |||
| perform validation at a point prior to loading the object into the | at a point prior to loading the object into the Adj-RIB-In | |||
| Adj-RIB-In structure, or once the object has been loaded into Adj- | structure [RFC4271], or once the object has been loaded into Adj- | |||
| RIB-In, or at a later time that is determined by a local | RIB-In, or at a later time that is determined by a local | |||
| configuration setting. It is also not specified whether | configuration setting. It is also not specified whether | |||
| origination validation should be performed each time a route | origination validation should be performed each time a route | |||
| object is updated by a peer even when the origin AS has not | object is updated by a peer even when the origin AS has not | |||
| altered. | altered. | |||
| o The lifetime of a validation outcome is not specified here. This | o The lifetime of a validation outcome is not specified here. This | |||
| specifically refers to the time period during which the original | specifically refers to the time period during which the original | |||
| validation outcome can be still applied, and the time when the | validation outcome can be still applied, at the expiration of | |||
| routing object be revalidated. It is a matter of local policy | which the routing object should be re-tested for validity. It is | |||
| setting as to whether a validation outcome be regarded as valid | a matter of local policy setting as to whether a validation | |||
| until the route object is withdrawn or further updated, or whether | outcome be regarded as valid until the route object is withdrawn | |||
| validation of a route object should occur at more frequent | or further updated, or whether validation of a route object should | |||
| intervals? | occur at more frequent intervals. | |||
| o It is a matter of local policy as to whther there are | ||||
| circumstances that would allow a route object to be removed from | ||||
| further consideration in route selection upon a validation | ||||
| failure, similar to the actions of Route Flap Damping. | ||||
| o It is a matter of local configuration as to whther ROA validation | 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 | is performed on a per-AS basis rather than a per-BGP speaker, and | |||
| the appropriate BGP mechanisms to support such a per-AS iBGP route | the appropriate mechanisms to support a de-coupled framework of | |||
| validation service are not considered here. | validation of ROAs and the loading of outcomes into BGP speakers | |||
| are not considered here. | ||||
| 5. Security Considerations | 5. Security Considerations | |||
| This approach to orgination validation does not allow for | This approach to origination validation uses a model of positive | |||
| 'deterministic' validation in terms of the ability of a BGP speker to | security, where information that cannot be validated within the RPKI | |||
| accept or reject an advertised route object outright, given that | framework is intended to interpreted by a RP as invalid. | |||
| there remains some issues of potential circularity of dependence and | ||||
| time lags between the propagation of information in the routing | ||||
| system and propagation of information in the RPKI. | ||||
| There are also issues of the most appropirate interpretation of | However, the considerations of accommodating environments of partial | |||
| outcomes where validation of the authenticity of the route object has | adoption, where only a subset of valid route objects have associated | |||
| not been possible in the context of partial adoption of the RPKI, | ROAs within the structure of the RPKI imply some modification to the | |||
| where the absense of validation information does not necessarily | model of positive security. Here it is assumed that once an address | |||
| constitute sufficient grounds to interpret the route object as an | prefix is described in a ROA, then this ROA "protects" all address | |||
| invalidly originated object. | prefixes that are more specific than that described in the ROA. | |||
| Thus, any more specific address prefix and originating AS combination | ||||
| of a valid ROA, that does not have a matching valid ROA is considered | ||||
| to be "invalid". | ||||
| The consequence of these considerations is that while the use of ROAs | The match condition of a route object against a single ROA is | |||
| can increase the confidence in the validity of origination of route | summarized in the following table: | |||
| objects that match a valid ROA, ROAs cannot perform the opposite, | ||||
| namely the rejection of route objects that cannot be validated by | Prefix match AS mismatch AS | |||
| ROAs. To assist in the case of rejecting some forms of route objects | +---------+-------------+ | |||
| that cannot be explicitly validated, the BOA has been used as a means | Covering | unknown | unknown | | |||
| of explicit rejection of certain classes route objects. The | Aggregate | | | | |||
| implication is that publishers in the RPKI should publish both ROAs | +---------+-------------+ | |||
| and BOAs in order to provide the greatest level of information that | match ROA | valid | invalid | | |||
| will allow relying parties to make appropriate choices in terms of | prefix | | | | |||
| route preference selection. | +---------+-------------+ | |||
| More | invalid | invalid | | ||||
| Specific | | | | ||||
| than ROA +---------+-------------+ | ||||
| In an environment of a collection of ROAs, a route object is | ||||
| considered "valid" if any ROA provides a "valid" outcome, and | ||||
| "invalid" if one or more ROAs provide an "invalid" outcome and no | ||||
| ROAs provide a "valid" outcome. The "unknown" outcome occurs when no | ||||
| ROA produces a "valid" or an "invalid" outcome. | ||||
| 6. IANA Considerations | 6. IANA Considerations | |||
| [There are no IANA considerations in this document.] | [There are no IANA considerations in this document.] | |||
| 7. Normative References | 7. Changes -01 to -02 | |||
| [I-D.ietf-sidr-arch] | Following WG review of the means of specification of denial in | |||
| Lepinski, M., Kent, S., and R. Barnes, "An Infrastructure | routing authorizations in the context of the RPKI at IETF 74 and IETF | |||
| to Support Secure Internet Routing", draft-ietf-sidr-arch | 75, it appears that there is no general WG support for the use of an | |||
| (work in progress), February 2008. | explicit denial object (termed a 'BOA'). The alternative approach, | |||
| explored in previous iterations of this draft, used a more restricted | ||||
| interpretation of a ROA that yielded only "valid" or "unknown" | ||||
| outcomes (by using "unknown" where "invalid" is used in this revision | ||||
| of the document). To allow for "invalid" outcomes the draft used the | ||||
| 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 | ||||
| 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 | ||||
| complexity of RP systems through the use of a second object in route | ||||
| validation, a potentially confusing mismatch in the interpretation | ||||
| scope between the ROA and the BOA, where the ROA's scope was limited | ||||
| to set of prefixes described in the ROA, while the BOA's scope | ||||
| included all possible more specifics of the prefixes listed in the | ||||
| 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. | ||||
| Accordingly, this draft has been revised to remove all references to | ||||
| the use of an explicit denial object and uses the implicit semantics | ||||
| of denial in a ROA object. | ||||
| [I-D.ietf-sidr-boa] | There appears to be no WG interest in consideration of validation in | |||
| Huston, G., Manderson, T., and G. Michaelson, "Profile for | a "linked" model, where a ROA is bound to the route object that it is | |||
| Bogon Origin Attestations (BOAs)", draft-ietf-sidr-bogons | intended to validate. Accordingly this section of the text has also | |||
| (work in progress), August 2008. | been dropped from this version. | |||
| 8. Normative References | ||||
| [I-D.ietf-sidr-arch] | ||||
| Lepinski, M. and S. Kent, "An Infrastructure to Support | ||||
| Secure Internet Routing", draft-ietf-sidr-arch (work in | ||||
| 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 2008. | draft-ietf-sidr-roa-format (work in progress), July 2009. | |||
| [ID.ietf-rpsec-bgpsecrec] | ||||
| Christian, B. and T. Tauber, "BGP Security Requirements", | ||||
| draft-ietf-sidr-roa-format (work in progress), | ||||
| November 2007. | ||||
| [RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP | [RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP | |||
| 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 | |||
| skipping to change at page 13, line 4 ¶ | skipping to change at line 337 ¶ | |||
| 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 | |||
| Email: ggm@apnic.net | Email: ggm@apnic.net | |||
| Full Copyright Statement | ||||
| Copyright (C) The IETF Trust (2008). | ||||
| This document is subject to the rights, licenses and restrictions | ||||
| contained in BCP 78, and except as set forth therein, the authors | ||||
| retain all their rights. | ||||
| This document and the information contained herein are provided on an | ||||
| "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | ||||
| OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND | ||||
| THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS | ||||
| OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF | ||||
| THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | ||||
| WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ||||
| Intellectual Property | ||||
| The IETF takes no position regarding the validity or scope of any | ||||
| Intellectual Property Rights or other rights that might be claimed to | ||||
| pertain to the implementation or use of the technology described in | ||||
| this document or the extent to which any license under such rights | ||||
| might or might not be available; nor does it represent that it has | ||||
| made any independent effort to identify any such rights. Information | ||||
| on the procedures with respect to rights in RFC documents can be | ||||
| found in BCP 78 and BCP 79. | ||||
| Copies of IPR disclosures made to the IETF Secretariat and any | ||||
| assurances of licenses to be made available, or the result of an | ||||
| attempt made to obtain a general license or permission for the use of | ||||
| such proprietary rights by implementers or users of this | ||||
| specification can be obtained from the IETF on-line IPR repository at | ||||
| http://www.ietf.org/ipr. | ||||
| The IETF invites any interested party to bring to its attention any | ||||
| copyrights, patents or patent applications, or other proprietary | ||||
| rights that may cover technology that may be required to implement | ||||
| this standard. Please address the information to the IETF at | ||||
| ietf-ipr@ietf.org. | ||||
| End of changes. 33 change blocks. | ||||
| 326 lines changed or deleted | 174 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/ | ||||