| < draft-ietf-sidr-roa-validation-00.txt | draft-ietf-sidr-roa-validation-01.txt > | |||
|---|---|---|---|---|
| Individual Submission 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 8, 2009 August 7, 2008 | Expires: April 9, 2009 October 6, 2008 | |||
| 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-00.txt | draft-ietf-sidr-roa-validation-01.txt | |||
| Status of this Memo | Status of this Memo | |||
| By submitting this Internet-Draft, each author represents that any | By submitting this Internet-Draft, each author represents that any | |||
| applicable patent or other IPR claims of which he or she is aware | applicable patent or other IPR claims of which he or she is aware | |||
| have been or will be disclosed, and any of which he or she becomes | 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. | 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 | |||
| skipping to change at page 1, line 35 ¶ | skipping to change at page 1, line 35 ¶ | |||
| 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 8, 2009. | This Internet-Draft will expire on April 9, 2009. | |||
| Copyright Notice | ||||
| Copyright (C) The IETF Trust (2008). | ||||
| 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 | 2.1. Decoupled Validation . . . . . . . . . . . . . . . . . . . 4 | |||
| 2.2. Linked Validation . . . . . . . . . . . . . . . . . . . . 5 | 2.2. Linked Validation . . . . . . . . . . . . . . . . . . . . 6 | |||
| 3. Applying Validation Outcomes to BGP Route Selection . . . . . 6 | 3. Applying Validation Outcomes to BGP Route Selection . . . . . 6 | |||
| 3.1. Using Validation Outcomes to reject BGP advertisements . . 7 | 3.1. Validation Outcomes and Rejection of BGP Route Objects . . 9 | |||
| 4. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 4. Further Considerations . . . . . . . . . . . . . . . . . . . . 9 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 10 | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 7. Normative References . . . . . . . . . . . . . . . . . . . . . 9 | 7. Normative References . . . . . . . . . . . . . . . . . . . . . 11 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| Intellectual Property and Copyright Statements . . . . . . . . . . 11 | 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]. | |||
| A Resource Certificate describes an action by an Issuer that binds a | A Resource Certificate describes an action by an issuer that binds a | |||
| list of IP address blocks and Autonomous System (AS) numbers to the | list of IP address blocks and Autonomous System (AS) numbers to the | |||
| Subject of a certificate, identified by the unique association of the | Subject of a certificate, identified by the unique association of the | |||
| 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 | |||
| skipping to change at page 4, line 40 ¶ | skipping to change at page 4, line 40 ¶ | |||
| the route object either exactly matches an ROAIPAddress (matching | the route object either exactly matches an ROAIPAddress (matching | |||
| both the address prefix value and the prefix length), or where the | 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 | 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 | 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 | 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. | greater then or equal to the ROA's corresponding maxLength attribute. | |||
| The following outcomes are possible using the defined ROA validation | The following outcomes are possible using the defined ROA validation | |||
| procedure for each ROA in this set: | procedure for each ROA in this set: | |||
| o An "exact match" is a valid ROA where the address prefix in the | Exact Match: | |||
| route object exactly matches a prefix listed in the ROA and the | A valid ROA exists, where the address prefix in the route object | |||
| origin AS in the route object matches the origin AS listed in the | exactly matches a prefix listed in the ROA, or the ROA contains a | |||
| ROA. | 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. | ||||
| o A "covering match" is a valid ROA where the address prefix in the | Covering Match: | |||
| ROA is a covering aggregate of the prefix in the route object, and | A valid ROA exists, where an address prefix in the ROA is a | |||
| the prefix length of the route object is greater than or equal to | covering aggregate of the prefix in the route object, and the | |||
| the ROA's maxLength attribute, and the origin AS in the route | 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. | object matches the AS listed in the ROA. | |||
| o An "exact mismatch" is a ROA where the address prefix in the route | Exact Mismatch: | |||
| object exactly matches a prefix listed in the ROA and the origin | A valid ROA exists where the address prefix in the route object | |||
| AS of the route object does not match the AS listed in the ROA. | 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. | ||||
| o A "covering mismatch" is a ROA where the address prefix in the ROA | Covering Mismatch: | |||
| is a covering aggregate of the prefix in the route object, the | A valid ROA exists where an address prefix in the ROA is a | |||
| prefix length of the route object is greater than or equal to the | covering aggregate of the prefix in the route object, the prefix | |||
| ROA's maxLength attribute, and the origin AS of the route object | length of the route object is greater than the ROA's associated | |||
| does not match the AS listed in the ROA. | maxLength attribute, and the origin AS of the route object does | |||
| not match the AS listed in the ROA. | ||||
| o "ROA missing" is where there are no exact or covering matches, no | No ROA: | |||
| exact or covering mismatches and no exact of covering failures in | There are no Exact Matches, Covering Matches, no Exact Mismatches | |||
| the RPKI repository. | or Covering Mismatches in the RPKI repository. | |||
| In this case the ROA that would be used for the validation function | The ROA to be used for the validation function is selected from the | |||
| is selected from the set such that the most specific valid ROA that | set of ROAs in the order given above. In other words an Exact Match | |||
| matches or covers the route object address prefix and where the route | is preferred over a Covering Match, which, in turn, is preferred over | |||
| object origin AS matches the ROA AS. If there is no such ROA in the | an Exact Mismatch which is preferred over a Covering Mismatch. | |||
| set, then the most specific valid ROA is selected. If there is no | ||||
| such ROA in the set then the most specific ROA is selected. | ||||
| The set of BOAs that are used in validation are composed of the set | The set of BOAs that are used for the validation function are | |||
| of valid BOAs where the origin AS matches an AS described in a BOA, | composed of the set of valid BOAs where the origin AS of the route | |||
| or where the BOA's address prefix is an exact match or a covering | object matches an AS described in a BOA, or where an address prefix | |||
| aggregate of the route object. In the case that the validation | in a valid BOA that is an exact match or a covering aggregate of the | |||
| outcome using ROAs is one of ("exact mismatch", "covering mismatch" | route object. In the case that the validation outcome using ROAs is | |||
| or "ROA missing"), then the validation outcome of the BOA changes the | one of Exact Mismatch, Covering Mismatch or No ROA, then the | |||
| overall validation result to "bogon match". | 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 | 2.2. Linked Validation | |||
| The linked approach requires the route object to reference a ROA | The linked approach requires the route object to reference a ROA | |||
| either by inclusion of the ROA as an attribute of the route object, | 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 | or inclusion of a identity field in an attribute of the route object | |||
| as a means of identifying a particular ROA. The relying party will | as a means of identifying a particular ROA. | |||
| still need check for BOAs that refer to this route object in the case | ||||
| that an exact match or a covering match is not present. The set of | ||||
| possible outcomes of linked validation is as follows: | ||||
| o "exact match" | ||||
| o "covering match" | ||||
| o "exact mismatch" | 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: | ||||
| o "covering mismatch" | No Match: | |||
| o "bogon 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. | ||||
| o "ROA missing" | In the case of a Mismatch or a No Match condition, the relying party | |||
| should check for the presence 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. If a valid BOA can be found that | ||||
| matches either of these conditions that the overall route object | ||||
| validation of a route object with a linked ROA is changed to "Bogon". | ||||
| 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 placing it in the | |||
| loc-RIB, and is announced to peers as the local "best" route. | loc-RIB, and is announced to peers as the local "best" route. | |||
| It is proposed that the validation outcome be used as part of the | It is proposed here that the validation outcome be used as part of | |||
| determination of the local degree of preference as defined in section | the determination of the local degree of preference as defined in | |||
| 9.1.1 of the BGP specification [RFC4271]. | section 9.1.1 of the BGP specification [RFC4271]. | |||
| In the case of partial deployment of ROAs there are a very limited | 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 | set of circumstances where the outcome of ROA validation can be used | |||
| as grounds to reject all consideration of the route object as an | as grounds to reject all consideration of the route object as an | |||
| invalid advertisement. While the presence of a valid ROA that | invalid advertisement. While the presence of a valid ROA that | |||
| matches the advertisement is a strong indication that an | matches the advertisement is a strong indication that an | |||
| advertisement matches the authority provided by the prefix holder to | advertisement matches the authority provided by the prefix holder to | |||
| advertise the prefix into the routing system, the absence of a ROA or | advertise the prefix into the routing system, the absence of a ROA or | |||
| the invalidity of a covering ROA does not provide a conclusive | the invalidity of a covering ROA does not provide a conclusive | |||
| indication that the advertisement has been undertaken without the | indication that the advertisement has been undertaken without the | |||
| address holder's permission, unless the object is described in a BOA. | address holder's permission, unless the object is described in a BOA. | |||
| In the case of a partial deployment scenario or RPKI route | In the case of a partial deployment scenario of RPKI route | |||
| attestation objects, when some prefixes are described in ROAs or BOAs | attestation objects, where some address prefixes and AS numbers are | |||
| and others are not, then the relative ranking of validation outcomes | described in ROAs or BOAs and others are not, then the relative | |||
| from the highest (most preferred) to the lowest (least preferred) | ranking of validation outcomes from the highest (most preferred) to | |||
| degree of preference are proposed as follows: | 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" | 1. Exact Match | |||
| An exact match indicates that the prefix has been allocated and | The prefix has been allocated and is routeable, and that the | |||
| is routeable, and that the prefix right-of-use holder has | prefix right-of-use holder has authorized the originating AS to | |||
| authorized the originating AS to originate precisely this | originate precisely this announcement. | |||
| announcement. | ||||
| 2. "covering match" | 2. Covering Match | |||
| A covering match is slightly less preferred because it is | This is slightly less preferred because it is possible that the | |||
| possible that the address holder of the aggregate has allocated | address holder of the aggregate has allocated the prefix in | |||
| the prefix in question to a different party, and both the | question to a different party. It is also possible that the | |||
| aggregate address holder and the prefix holder have signed ROAs | originating AS is using more specific advertisements as part of a | |||
| and are advertising the prefix. | traffic engineering scenario. | |||
| 3. "ROA missing" | 3. No ROA | |||
| In the case of partial deployment of ROAs the absence of | In the case of partial deployment of ROAs, the absence of | |||
| validation credentials is neutral, in that there is no grounds to | validation credentials is a neutral outcome, in that there is no | |||
| increase or decrease the relative degree of preference for the | grounds to increase or decrease the relative degree of preference | |||
| prefix. | for the route object. | |||
| 4. "covering mismatch" | 4. Covering Mismatch | |||
| A covering mismatch is considered to be less preferable than a | A Covering Mismatch is considered to be less preferable than a | |||
| neutral position in that the address holder of a covering | neutral position in that the address holder of a covering | |||
| aggregate has indicated an originating AS that is not the | aggregate has indicated an originating AS that is not the | |||
| originating AS of this announcement. On the other hand it may be | originating AS of this announcement. On the other hand it may be | |||
| the case that this prefix has been validly allocated to another | the case that this prefix has been validly allocated to another | |||
| party who has not generated a ROA for this prefix even through | party who has not generated a ROA for this prefix even through | |||
| the announcement is valid. | the announcement is valid. | |||
| 5. An "exact mismatch" | 5. Exact Mismatch | |||
| Here the exact match prefix holder has validly provided an | Here the exact match prefix holder has validly provided an | |||
| authority for origination by an AS that is not the AS that is | authority for origination by an AS that is not the AS that is | |||
| originating this announcement. This would appear to be a bogus | originating this announcement. This would appear to be a bogus | |||
| announcement by inference. | announcement by inference. | |||
| 6. "bogon match" | 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 | Here the right-of-use holder of the AS or address prefix has | |||
| explicitly tagged the address prefix or the AS as a "bogon". | explicitly tagged the address prefix or the AS as a "bogon". | |||
| This implies that the announcement has been made without the | This implies that the announcement has been made without the | |||
| appropriate authority, and the prefix should be ranked at a level | appropriate authority, and the local preference of the route | |||
| commensurate with rejecting the route object. | object should be ranked at a level commensurate with rejecting | |||
| the route object. | ||||
| In the case of comprehensive deployment of ROAs the absence of a | In the case of comprehensive deployment of RPKI route attestion | |||
| specific origination authority for the route object should render it | objects the absence of a specific ROA origination authority for the | |||
| as an unusable for routing. In this case the relative degree of | route object should render it as an unusable for routing. In this | |||
| preference the relative local degree of preference can be adjusted | case the local preference setting for the route object is as follows: | |||
| such that cases 3 through 5 of the above list have an equal level of | ||||
| lesser preference. | ||||
| 3.1. Using Validation Outcomes to reject BGP advertisements | 1. Exact Match | |||
| The use of a validation outcome of a missing ROA, or a covering or | The prefix has been allocated and is routeable, and that the | |||
| exact mismatch as sufficient grounds to reject a route object should | prefix right-of-use holder has authorized the originating AS to | |||
| be undertaken with care. The consideration here is one of potential | originate precisely this announcement. | |||
| circularity of dependence. If the authoritative publication point of | ||||
| the repository of ROAs or any certificates used to related to an | ||||
| address prefix is stored at a 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 been accepted. It is also noted that | ||||
| the propagation time of RPKI objects may be different to the | ||||
| propagation time of route objects in BGP, and that route objects may | ||||
| be received before the relying party's local repository cache picks | ||||
| up the associated ROAs and recognises them as valid within the RPKI. | ||||
| For these reasons it is proposed that even in the case of | 2. Covering Match, No ROA, Covering Mismatch, Exact Mismatch, No | |||
| comprehensive deployment of ROAs a missing ROA or a mismatch should | 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 | ||||
| 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. | ||||
| 3.1. Validation Outcomes and Rejection of BGP Route Objects | ||||
| In the case of comprehensive deployment of ROAs, the use of a | ||||
| validation outcome other than an Exact Match as sufficient grounds to | ||||
| reject a route object should be undertaken with care. | ||||
| The consideration here is one of potential circularity of dependence. | ||||
| If the authoritative publication point of the repository of ROAs or | ||||
| 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 | ||||
| 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 | ||||
| propagation time of RPKI objects may be different to the propagation | ||||
| time of route objects in BGP, and that route objects may be received | ||||
| before the relying party's local repository cache picks up the | ||||
| associated ROAs and recognises them as valid within the RPKI. | ||||
| For these reasons it is proposed that, even in the case of | ||||
| comprehensive deployment of ROAs, a missing ROA or a mismatch should | ||||
| not be considered as sufficient grounds to reject a route | not be considered as sufficient grounds to reject a route | |||
| advertisement. | advertisement outright. Alternate approaches may involve the use of | |||
| a local timer to accept the route for an interim period of time until | ||||
| there is an acceptable level of assurance that all reasonable efforts | ||||
| to local a valid ROA have been undertaken. | ||||
| 4. Open Issues | 4. Further Considerations | |||
| This document provides a description of how ROAs and BOAs could be | This document provides a description of how ROAs and BOAs could be | |||
| used by a BGP speaker. | used by a 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. | |||
| It is also noted that the decoupled and linked approach are not | It is also noted that the decoupled and linked approach are not | |||
| mutually exclusive, and the same procedure can be applied to route | mutually exclusive, and the same procedure can be applied to route | |||
| objects that contain an explicit pointer to the associated ROA and | objects that contain an explicit pointer to the associated ROA and | |||
| route objects where the local BGP speaker has to create a set of | route objects where the local BGP speaker has to create a set of | |||
| candidate ROAs that could be applied to a route object. However, | candidate ROAs that could be applied to a route object. However, | |||
| there are a number of questions about this approach that are not | there are a number of considerations about this approach to | |||
| resolved here. | origination validation that are not specified here. | |||
| Some open issues at this point are: | ||||
| o When should validation of an advertised prefix be performed by a | These considerations include: | |||
| BGP speaker? Is it strictly necessary to perform validation at a | ||||
| point prior to loading the object into the Adj-RIB-In structure, | ||||
| or once the object has been loaded into Adj-RIB-In, or at a later | ||||
| time that is determined by a local configuration setting? Should | ||||
| validation be performed each time a route object is updated by a | ||||
| peer even when the origin AS has not altered? | ||||
| o What is the lifetime of a validation outcome? When should the | o It is not specified when validation of an advertised prefix should | |||
| routing object be revalidated? Should the validation outcome be | be performed by a BGP speaker. Is is considered to be a matter of | |||
| regarded as valid until the route object is withdrawn or further | local policy whether it is considered to be strictly necessary to | |||
| updated, or should validation occur at more frequent intervals? | perform validation at a point prior to loading the object into the | |||
| Adj-RIB-In structure, 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 Are there circumstances that would allow a route object to be | o The lifetime of a validation outcome is not specified here. This | |||
| removed from further consideration in route selection upon a | specifically refers to the time period during which the original | |||
| validation failure, similar to the actions of Route Flap Damping? | validation outcome can be still applied, and the time when the | |||
| routing object be revalidated. 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 Can ROA validation be performed on a per-AS basis rather than a | o It is a matter of local policy as to whther there are | |||
| per-BGP speaker? What BGP mechanisms would be appropriate to | circumstances that would allow a route object to be removed from | |||
| support such a mode of operation? | further consideration in route selection upon a validation | |||
| failure, similar to the actions of Route Flap Damping. | ||||
| o If a relying party had access to RPKI signed objects with | o It is a matter of local configuration as to whther ROA validation | |||
| comparable semantics to a Route Registry's Route Object (RRRO), | is performed on a per-AS basis rather than a per-BGP speaker, and | |||
| namely the acknowledgement by an AS holder that it intends to | the appropriate BGP mechanisms to support such a per-AS iBGP route | |||
| originate an advertisement for a specified address prefix, how | validation service are not considered here. | |||
| would this validation procedure be altered. Presumably these | ||||
| signed RRROs would need to describe the complete set of address | ||||
| prefixes that may be announced by this originating AS in order to | ||||
| be of use in this context. Failure to match a valid RPKI RRRO | ||||
| would then be commensurate with a "bogon match", namely rejection | ||||
| of the route object, in a manner similar to the operation of a | ||||
| filter list constructed from a Route Registry. | ||||
| 5. Security Considerations | 5. Security Considerations | |||
| [To be Completed - the intent of this validation approach is to | This approach to orgination validation does not allow for | |||
| improve the level of confidence in route objects in the IDR domain. | 'deterministic' validation in terms of the ability of a BGP speker to | |||
| It is noted that this approach does not allow for 'comprehensive' | accept or reject an advertised route object outright, given that | |||
| validation given that there remains some issues of potential | there remains some issues of potential circularity of dependence and | |||
| circularity of dependence and time lags between the propagation of | time lags between the propagation of information in the routing | |||
| information in the routing system and propagation of information in | system and propagation of information in the RPKI. | |||
| the RPKI, and issues of treatment of unauthorised route objects in | ||||
| the scenario of partial use of the RPKI. The consequence is that | There are also issues of the most appropirate interpretation of | |||
| ROAs can increase the confidence in the validity of route objects | outcomes where validation of the authenticity of the route object has | |||
| that match a valid ROA, but cannot perform the opposite of explicitly | not been possible in the context of partial adoption of the RPKI, | |||
| rejecting invalid route objects. To assist in the case of rejecting | where the absense of validation information does not necessarily | |||
| invalid route objects the BOA has been used as a means of explicit | constitute sufficient grounds to interpret the route object as an | |||
| rejection of certain classes route objects. The implication is that | invalidly originated object. | |||
| RRs should issue both ROAs and BOAs in order to provide the greatest | ||||
| level of information that will allow relying parties to make | The consequence of these considerations is that while the use of ROAs | |||
| appropriate choices in terms of route preference selection.] | can increase the confidence in the validity of origination of route | |||
| objects that match a valid ROA, ROAs cannot perform the opposite, | ||||
| namely the rejection of route objects that cannot be validated by | ||||
| 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 | ||||
| of explicit rejection of certain classes route objects. The | ||||
| implication is that publishers in the RPKI should publish both ROAs | ||||
| and BOAs in order to provide the greatest level of information that | ||||
| will allow relying parties to make appropriate choices in terms of | ||||
| route preference selection. | ||||
| 6. IANA Considerations | 6. IANA Considerations | |||
| [There are no IANA considerations in this document at this stage. | [There are no IANA considerations in this document.] | |||
| Later iterations of this draft may propose to add a ROA identifier | ||||
| into the BGP attribute set] | ||||
| 7. Normative References | 7. Normative References | |||
| [I-D.ietf-sidr-arch] | [I-D.ietf-sidr-arch] | |||
| Lepinski, M., Kent, S., and R. Barnes, "An Infrastructure | Lepinski, M., Kent, S., and R. Barnes, "An Infrastructure | |||
| to Support Secure Internet Routing", draft-ietf-sidr-arch | to Support Secure Internet Routing", draft-ietf-sidr-arch | |||
| (work in progress), February 2008. | (work in progress), February 2008. | |||
| [I-D.ietf-sidr-boa] | [I-D.ietf-sidr-boa] | |||
| Huston, G., Manderson, T., and G. Michaelson, "Profile for | Huston, G., Manderson, T., and G. Michaelson, "Profile for | |||
| skipping to change at page 10, line 39 ¶ | skipping to change at page 12, line 11 ¶ | |||
| 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. | |||
| 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 | |||
| URI: http://www.apnic.net | ||||
| George Michaelson | George Michaelson | |||
| Asia Pacific Network Information Centre | Asia Pacific Network Information Centre | |||
| Email: ggm@apnic.net | Email: ggm@apnic.net | |||
| URI: http://www.apnic.net | ||||
| Full Copyright Statement | Full Copyright Statement | |||
| Copyright (C) The IETF Trust (2008). | Copyright (C) The IETF Trust (2008). | |||
| This document is subject to the rights, licenses and restrictions | This document is subject to the rights, licenses and restrictions | |||
| contained in BCP 78, and except as set forth therein, the authors | contained in BCP 78, and except as set forth therein, the authors | |||
| retain all their rights. | retain all their rights. | |||
| This document and the information contained herein are provided on an | This document and the information contained herein are provided on an | |||
| skipping to change at page 11, line 44 ¶ | skipping to change at line 529 ¶ | |||
| attempt made to obtain a general license or permission for the use of | attempt made to obtain a general license or permission for the use of | |||
| such proprietary rights by implementers or users of this | such proprietary rights by implementers or users of this | |||
| specification can be obtained from the IETF on-line IPR repository at | specification can be obtained from the IETF on-line IPR repository at | |||
| http://www.ietf.org/ipr. | http://www.ietf.org/ipr. | |||
| The IETF invites any interested party to bring to its attention any | The IETF invites any interested party to bring to its attention any | |||
| copyrights, patents or patent applications, or other proprietary | copyrights, patents or patent applications, or other proprietary | |||
| rights that may cover technology that may be required to implement | rights that may cover technology that may be required to implement | |||
| this standard. Please address the information to the IETF at | this standard. Please address the information to the IETF at | |||
| ietf-ipr@ietf.org. | ietf-ipr@ietf.org. | |||
| Acknowledgment | ||||
| Funding for the RFC Editor function is provided by the IETF | ||||
| Administrative Support Activity (IASA). | ||||
| End of changes. 48 change blocks. | ||||
| 167 lines changed or deleted | 221 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/ | ||||