--- 1/draft-ietf-sidr-roa-validation-05.txt 2010-05-07 22:11:54.000000000 +0200 +++ 2/draft-ietf-sidr-roa-validation-06.txt 2010-05-07 22:11:54.000000000 +0200 @@ -1,64 +1,58 @@ Secure Inter-Domain Routing (SIDR) G. Huston Internet-Draft G. Michaelson Intended status: Informational APNIC -Expires: September 4, 2010 March 3, 2010 +Expires: November 9, 2010 May 8, 2010 Validation of Route Origination using the Resource Certificate PKI and ROAs - draft-ietf-sidr-roa-validation-05.txt + draft-ietf-sidr-roa-validation-06.txt Abstract This document defines the semantics of a Route Origin Authorization in terms of the context of an application of the Resource Public Key Infrastructure to validate the origination of routes advertised in the Border Gateway Protocol. Status of this Memo - This Internet-Draft is submitted to IETF in full conformance with the + This Internet-Draft is submitted in full conformance with the 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. + Task Force (IETF). Note that other groups may also distribute + working documents as Internet-Drafts. The list of current Internet- + Drafts is at http://datatracker.ietf.org/drafts/current/. 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 September 4, 2010. + This Internet-Draft will expire on November 9, 2010. Copyright Notice Copyright (c) 2010 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 (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as - described in the BSD License. + described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. ROA Validation Outcomes for a Route . . . . . . . . . . . . . . 3 3. Applying Validation Outcomes to Route Selection . . . . . . . . 6 4. Disavowal of Routing Origination . . . . . . . . . . . . . . . 6 5. Route Validation Lifetime . . . . . . . . . . . . . . . . . . . 7 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 8 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 8 @@ -102,28 +96,28 @@ to the origination of routes, and the intended scope of the authority that is conveyed in the ROA. 2. ROA Validation Outcomes for a Route A "route" is unit of information that associates a set of destinations described by an IP address prefix with a set of attributes of a path to those destinations, as defined in section 1.1 of [RFC4271]. - A route's "origin AS" is the final element of the route object's - AS_PATH attribute. If the final AS_PATH element is an AS Set, - indicating that the route is an aggregate, then the origin AS is - taken as the AS component of the AGGREGATOR attribute [RFC4271]. In - the case where there is an AS Set as the final AS_PATH element and no - AGGREGATOR attribute is present then the origin AS is the AS - immediately preceding the AS Set in the AS_PATH, and if there is no - such AS then the route's origin AS cannot be determined. + A route's "origin AS" is defined as follows: If the final path + segment of the AS_PATH is of type AS_SEQUENCE, the "origin AS" is the + first element of the sequence (i.e. the AS in the rightmost position + with respect to the position of octets in the protocol message). If + the final path segment of the AS_PATH is of type AS_SET, indicating + that the route is an aggregate, then the origin AS is taken as the AS + component of the AGGREGATOR attribute [RFC4271], if present. + Otherwise the route's origin AS cannot be determined. In terms of validation of a route in the context of a routing environment, the address prefix value and the origin AS are used in the ROA validation operation. It is assumed here that a Relying Party (RP) has access to a local cache of the complete set of valid ROAs when performing validation of a route. (Valid ROAs are defined as ROAs that are determined to be syntactically correct and are signed using a signature that can be verified using the RPKI, as described in [I-D.ietf-sidr-roa-format].) @@ -175,37 +169,38 @@ be "valid" if any ROA provides a "valid" outcome. It is considered to be "invalid" if one (or more) ROAs provide an "invalid" outcome and no ROAs provide a "valid" outcome. It is considered to be "unknown" when no ROA produces either a "valid" or an "invalid" outcome. Route validation is defined by the following procedure: 1. Select all valid ROAs that include a ROAIPAddress value that either matches, or is a covering aggregate of, the address - prefix in the route. + prefix in the route. This selection forms the set of + "candidate ROAs." - 2. If the set of candidate ROAs is empty then the validation + 2. If the set of candidate ROAs is empty, then the validation procedure stops with an outcome of "unknown". - 3. If any of the selected ROAs has an asID value that matches the - origin AS in the route, and the route object's address prefix - matches a ROAIPAddress in the ROA (where "match" is defined as - where the route object's address precisely matches the - ROAIPAddress, or where the ROAIPAddress includes a maxLength - element, and the route's address prefix is a more specific - prefix of the ROAIPAddress, and the route's address prefix - length value is less than or equal to the ROAIPAddress - maxLength value) then the validation procedure stops with an - outcome of "valid". + 3. If the route's origin AS can be determined and any of the set + of candidate ROAs has an asID value that matches the origin AS + in the route, and the route object's address prefix matches a + ROAIPAddress in the ROA (where "match" is defined as where the + route object's address precisely matches the ROAIPAddress, or + where the ROAIPAddress includes a maxLength element, and the + route's address prefix is a more specific prefix of the + ROAIPAddress, and the route's address prefix length value is + less than or equal to the ROAIPAddress maxLength value) then + the validation procedure stops with an outcome of "valid". - 4. Otherwise, the validation procedure stops with an outcome of + 4. Othewise, the validation procedure stops with an outcome of "invalid". 3. Applying Validation Outcomes to Route Selection Within the framework of the abstract model of the operation of inter- domain routing using BGP [RFC4271], a received prefix announcement from a routing peer is compared to all announcements for this prefix received from other routing peers and a route selection procedure is used to select the "best" route from this candidate set. @@ -241,65 +236,65 @@ 4. Disavowal of Routing Origination A ROA is a positive attestation that a prefix holder has authorized an AS to originate a route for this prefix into the inter-domain routing system. It is possible for a prefix holder to construct an authorization where no valid AS has been granted any such authority to originate a route for an address prefix. This is achieved by using a ROA where the ROA's subject AS is one that must never be used in any routing context. Specifically, AS 0 is reserved by the IANA - such that it "may be use [sic] to identify non-routed networks" + such that it may be used to identify non-routed networks [IANA.AS-Registry]. A ROA with a subject of AS 0 is an attestation by the holder of a prefix that the prefix described in the ROA, and any more specific prefix, SHOULD NOT be used in a routing context. The route validation procedure, described in Section 2, will provide a "valid" outcome if any ROA matches the address prefix and origin AS, even if other valid ROAs would provide an "invalid" validation outcome if used in isolation. Consequently, an AS 0 ROA has a lower preference than any other ROA that has a routeable AS as its subject. This allows a prefix holder to use an AS 0 ROA to declare a default condition that any route that is equal to, or more specific than the prefix to be considered to be invalid, while also allowing other concurrently issued ROAs to describe valid origination authorizations for more specific prefixes. By convention, an AS 0 ROA SHOULD have a maxLength value of 32 for - IPv4 addresses and 128 for IPv6 addresses, although in terms of route - validation the same outcome would be achieved with any valid - maxLength value, or even if the maxLength element were to be omitted - from the ROA. + IPv4 addresses and a maxlength value of 128 for IPv6 addresses, + although in terms of route validation the same outcome would be + achieved with any valid maxLength value, or even if the maxLength + element were to be omitted from the ROA. Also by convention, an AS 0 ROA SHOULD be the only ROA issued for a given address prefix, although again this is not a strict - requirement. An AS 0 ROA can coexist with ROAs that have different + requirement. An AS 0 ROA MAY coexist with ROAs that have different subject AS values, although in such cases the presence of the AS 0 ROA does not alter the route validation outcome in any way. 5. Route Validation Lifetime The "lifetime" of a validation outcome refers to the time period during which the original validation outcome can be still applied. The implicit assumption here is that when the validation lifetime expires the routing object SHOULD be re-tested for validity. The validation lifetime for a ROA is controlled by the Valid times specified in the End Entity (EE) Certificate used to sign the ROA, and the valid times of those certificates in the certification path used to validate the EE Certificate. A ROA validation "expires" at the Validity To field of the signing EE certificate, or at such a time when there is no certification path that can validate the ROA. - A ROA issuer may prematurely invalidate a ROA by revoking the EE - certificate that was used to sign the ROA. + A ROA issuer may elect to prematurely invalidate a ROA by revoking + the EE certificate that was used to sign the ROA. 6. Security Considerations ROA issuers should be aware of the validation implication in issuing a ROA, in that a ROA implicitly invalidates all route objects that have more specific prefixes with a prefix length greater than maxLength, and all originating AS's other than the AS listed in the collection of ROAs for this prefix. A conservative operational practice would be to ensure the issuing of