Secure Inter-Domain Routing (SIDR) G. Huston Internet-Draft G. Michaelson Intended status: Informational APNIC Expires:
April 9,February 5, 2010 August 4, 2009 October 6, 2008Validation of Route Origination in BGP using the Resource Certificate PKI draft-ietf-sidr-roa-validation-01.txtdraft-ietf-sidr-roa-validation-02.txt Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or sheThis Internet-Draft is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed,submitted to IETF in accordancefull conformance with Section 6the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on April 9, 2009.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 This document defines an application of the Resource Public Key Infrastructure to validate the origination of routes advertised in the Border Gateway Protocol. The proposed application is intended to fit within the requirements for adding security to inter-domain routing, including the ability to support incremental and piecemeal deployment, and does not require any changes to the specification of BGP. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Validation Outcomes of a BGP Route Object . . . . . . . . . . . 3 2.1. Decoupled3. Applying Validation . . . . . . . . . . . . .Outcomes to BGP Route Selection . . . . . . 4 2.2. Linked Validation . . .4. Further Considerations . . . . . . . . . . . . . . . . . 6 3. Applying Validation Outcomes to BGP Route Selection. . . 5 5. Security Considerations . . 6 3.1. Validation Outcomes and Rejection of BGP Route Objects. . 9 4. Further Considerations. . . . . . . . . . . . . . . . 6 6. IANA Considerations . . . . 9 5. Security Considerations. . . . . . . . . . . . . . . . . . 7 7. Changes -01 to -02 . 10 6. IANA Considerations. . . . . . . . . . . . . . . . . . . . . 11 7.7 8. Normative References . . . . . . . . . . . . . . . . . . . . . 118 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12 Intellectual Property and Copyright Statements . . . . . . . . . . 138 1. Introduction This document defines an application of the Resource Public Key Infrastructure (RPKI) to validate the origination of routes advertised in the Border Gateway Protocol (BGP) [RFC4271]. The RPKI is based on Resource Certificates. Resource Certificates are X.509 certificates that conform to the PKIX profile [RFC5280], and to the extensions for IP addresses and AS identifiers [RFC3779]. A Resource Certificate describes an action by an issuer that binds a list of IP address blocks and Autonomous System (AS) numbers to the Subject of a certificate, identified by the unique association of the Subject's private key with the public key contained in the Resource Certificate. The PKI is structured such that each current Resource Certificate matches a current resource allocation or assignment. This is described in [I-D.ietf-sidr-arch]. Route Origin Authorizations (ROAs) are digitally signed objects that 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 authorized an AS to originate route objects in the inter-domain routing environment for that address block. ROAs are described in [I-D.ietf-sidr-roa-format]. Bogon Origin Attestations (BOAs) are digitally signed objects that describe a collection of address prefixes and AS numbers that are not authorised by the right-of-use holder to be advertised in the inter- domain routing system [I-D.ietf-sidr-boa]. This document describes how ROA and BOA validation outcomes can be used in the BGP route selection process, and how the proposed application ofROAs and BOAsare intended to fit within the requirements for adding security to inter-domain routing [ID.ietf-rpsec-bgpsecrec],routing, including the ability to support incremental and piecemeal deployment. This document describes the semantic interpretation of a valid ROA, with particular reference to application in BGP relating to the origination of route objects. The document does not describe any application of a ROA to validation of the AS Path. 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 A BGP Route Object"Route Object" is an address prefix and a set of attributes. In terms of ROA and BOAvalidation of the Route Object the prefix value and the origin AS attribute are used in the validation operation. 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 AGGREGATOR [RFC4271] of the route object. ROA validation is described in [I-D.ietf-sidr-roa-format], and the outcome of the validation operation is that the ROA is valid in the context of the RPKI, or validation has failed. BOA validation is described in [I-D.ietf-sidr-boa], and the outcome of the validation operationIt is assumed here that the BOA is valid in the context of the RPKI, or validation has failed. 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 theROAs are managed and distributed independently of the operation of the routing protocolBGP itself, and a local BGP speaker has access to a local cache of the complete set of ROAs and the RPKI data set when performing a validation operation. In this case theA BGP route object does not refer to a specific ROA.ROA that should be 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 relying partyRP needs to match a route object to one or more candidate valid ROAs and BOAsin order to determine the appropriate local actions to perform on the route object. The relying party selectsTo validate a route object the set ofRP would undertake the following steps: 1. Select all valid ROAs wherethat include a ROAIPAddress value that either matches, or is a covering aggregate of, the address prefix in the route object either exactly matches an ROAIPAddress (matching both the address prefix value andobject. 2. If the prefix length), or whereset of candidate ROAs is empty the route object spans a blockvalidation process stops with an outcome of addresses"unknown". 3. If any ROA has an asID value that is included inmatches the span described byoriginating AS in the ROA's address prefix value and lengthroute object, and whereeither the route object's address prefix length is less thanprecisely matches an address in the ROA's prefix length and greater thenROA, 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, wherethe route object's address prefix in the route object exactly matchesis a more specific prefix listed inof the ROA, oraddress in the ROA contains a covering aggregateand the prefix length of the route objectvalue is smallerless than or equal to the ROA's associatedROAIPAddress's maxLength attribute, andvalue, then the origin AS invalidation process stops with an outcome of "valid". 4. Otherwise, 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 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 Within the framework of the abstract model of BGP operation, a received prefix announcement from a peer is compared to all announcements for this prefix received from other peers and a route selection procedure is used to select the "best" route object from 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. 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 ofvalidation 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 ASoutcome is using more specific advertisements as part of a traffic engineering scenario."invalid". 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 consideredApplying Validation Outcomes to be less preferable than a neutral position in that the address holder of a covering aggregate has indicated an originating AS that is notBGP Route Selection Within the originating ASframework of this announcement. On the other hand it may bethe case that this prefix has been validly allocated to another party who has not generatedabstract model of BGP operation, a ROA for this prefix even through the announcement is valid. 5. Exact Mismatch Here the exact matchreceived 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 bogusannouncement by inference. 6. No Match Here the route object has referencedfrom a ROA thatpeer 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 attemptcompared 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 unusableall announcements for routing. Inthis case the local preference setting for the route object is as follows: 1. Exact Match Theprefix has been allocated and is routeable,received from other peers 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 ata level of least preferred, dueroute selection procedure is used to select 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"best" route object from this candidate set, which is then used locally by installing it in the appropriate authority,loc-RIB [RFC4271], and is announced to peers as the local preference of"best" route. It is proposed here that the route object shouldROA validation outcome of "unknown", "valid" or "invalid" be ranked at a level commensurate with rejectingused as part of the route object. 3.1. Validation Outcomes and Rejectiondetermination of BGP Route Objects Inthe caselocal degree of comprehensive deploymentpreference as defined in section 9.1.1 of ROAs,the useBGP specification [RFC4271]. The proposed addition to the local degree of a validation outcome other than an Exact Match as sufficient groundspreference is "valid" is to rejectbe preferred over "unknown" over "invalid". It is a matter of local BGP selection policy in setting whether "invalid" route objectobjects are discarded from further consideration in the route selection process, however the following consideration should be undertaken with care.taken into account in such a situation. 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 mismatchadvised that local policy settings should not beresult in "unknown" validation outcomes being considered as sufficient grounds to reject a route advertisement outright. Alternate approachesobject outright from consideration as a local "best" route. 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 to localobtain a valid ROA for the object have been undertaken. 4. Further Considerations This document provides a description of how ROAs and BOAs could be used by a BGP speaker. It is noted that the proposed procedure requires no changes to the operation of BGP. It is also noted that the decoupled and linked approach are not 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 thatcould be applied toused by a route object.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. IsIt is considered to be a matter of local policy whether it is considered to bestrictly necessaryrequired to perform validation at a point prior to loading the object into the Adj-RIB-In structure,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, andat the time whenexpiration of which the routing object should be revalidated.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 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.intervals. o It is a matter of local configuration as to whtherwhether ROA validation is performed on a per-AS basis rather than a per-BGP speaker, and the appropriate BGPmechanisms to support sucha per-AS iBGP routede-coupled framework of validation serviceof ROAs and the loading of outcomes into BGP speakers are not considered here. 5. Security Considerations This approach to orgination validation does not allow for 'deterministic' validationThis approach to origination validation uses a model of positive security, where information that cannot be validated within the RPKI framework is intended to interpreted by a RP as invalid. However, the considerations of accommodating environments of partial adoption, where only a subset of valid route objects have associated ROAs within the structure of the RPKI imply some modification to the model of positive security. Here it is assumed that once an address prefix is described in a ROA, then this ROA "protects" all address 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 match condition of a route object against a single ROA is summarized in the following table: Prefix match AS mismatch AS +---------+-------------+ Covering | unknown | unknown | Aggregate | | | +---------+-------------+ match ROA | valid | invalid | prefix | | | +---------+-------------+ 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 [There are no IANA considerations in termsthis document.] 7. Changes -01 to -02 Following WG review of the ability of a BGP speker to accept or reject an advertised route object outright, given that there remains some issuesmeans of potential circularityspecification of dependence and time lags betweendenial in routing authorizations in the propagationcontext of information inthe routing systemRPKI at IETF 74 and propagationIETF 75, it appears that there is no general WG support for the use of informationan explicit denial object (termed a 'BOA'). The alternative approach, explored in the RPKI. There are also issuesprevious iterations of the most appropiratethis draft, used a more restricted interpretation of a ROA that yielded only "valid" or "unknown" outcomes (by using "unknown" where validation"invalid" is used in this revision of the authenticity ofdocument). To allow for "invalid" outcomes the route object has not been possible indraft used the context of partial adoption ofBOA to undertake the RPKI,role of a 'disavow' constraint, where a route object was considered to be "invalid" if it was the absensesubject of validation information doesa valid BOA and was not necessarily constitute sufficient groundsconsidered to interpret the route object as an invalidly originated object.be "valid" by any valid ROA. The consequence of these considerations is that whilereasons advanced to support the usedropping of ROAs can increasethe confidence inBOA was the validityincreased complexity of originationRP systems through the use of a second object in route objects that matchvalidation, a valid ROA, ROAs cannot performpotentially confusing mismatch in the interpretation scope between the ROA and the opposite, namelyBOA, where the rejectionROA's scope was limited to set of route objects that cannot be validated by ROAs. To assistprefixes described in the case of rejecting some formsROA, while the BOA's scope included all possible more specifics of route objects that cannot be explicitly validated,the prefixes listed in the BOA, and the ability to reconstruct the semantic equivalent of a BOA has beenthrough the use of a ROA that used asa meansrestricted-use AS as its asID. Accordingly, this draft has been revised to remove all references to the use of an explicit rejectiondenial object and uses the implicit semantics of certain classes route objects. The implication is that publishersdenial in the RPKI should publish both ROAs and BOAsa ROA object. There appears to be no WG interest in orderconsideration of validation in a "linked" model, where a ROA is bound to providethe greatest level of informationroute object that will allow relying partiesit is intended to make appropriate choices in termsvalidate. Accordingly this section of route preference selection. 6. IANA Considerations [There are no IANA considerations inthe text has also been dropped from this document.] 7.version. 8. Normative References [I-D.ietf-sidr-arch] Lepinski, M., Kent, S.,M. and R. Barnes,S. Kent, "An Infrastructure to Support Secure Internet Routing", draft-ietf-sidr-arch (work in progress), February 2008. [I-D.ietf-sidr-boa] Huston, G., Manderson, T., and G. Michaelson, "Profile for Bogon Origin Attestations (BOAs)", draft-ietf-sidr-bogons (work in progress), August 2008.July 2009. [I-D.ietf-sidr-roa-format] Lepinski, M., Kent, S., and D. Kong, "An Infrastructure to Support Secure Internet Routing", draft-ietf-sidr-roa-format (work in progress), July 2008. [ID.ietf-rpsec-bgpsecrec] Christian, B. and T. Tauber, "BGP Security Requirements", draft-ietf-sidr-roa-format (work in progress), November 2007.2009. [RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP Addresses and AS Identifiers", RFC 3779, June 2004. [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, January 2006. [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., Housley, R., and W. Polk, "Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 5280, May 2008. Authors' Addresses Geoff Huston Asia Pacific Network Information Centre Email: email@example.com George Michaelson Asia Pacific Network Information Centre Email: firstname.lastname@example.org 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 email@example.com.