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: | These considerations include: | |||
o When should validation of an advertised prefix be performed by a | o It is not specified when validation of an advertised prefix should | |||
BGP speaker? Is it strictly necessary to perform validation at a | be performed by a BGP speaker. Is is considered to be a matter of | |||
point prior to loading the object into the Adj-RIB-In structure, | local policy whether it is considered to be strictly necessary to | |||
or once the object has been loaded into Adj-RIB-In, or at a later | perform validation at a point prior to loading the object into the | |||
time that is determined by a local configuration setting? Should | Adj-RIB-In structure, or once the object has been loaded into Adj- | |||
validation be performed each time a route object is updated by a | RIB-In, or at a later time that is determined by a local | |||
peer even when the origin AS has not altered? | 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 What is the lifetime of a validation outcome? When should the | o The lifetime of a validation outcome is not specified here. This | |||
routing object be revalidated? Should the validation outcome be | specifically refers to the time period during which the original | |||
regarded as valid until the route object is withdrawn or further | validation outcome can be still applied, and the time when the | |||
updated, or should validation occur at more frequent intervals? | 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 Are there circumstances that would allow a route object to be | o It is a matter of local policy as to whther there are | |||
removed from further consideration in route selection upon a | circumstances that would allow a route object to be removed from | |||
validation failure, similar to the actions of Route Flap Damping? | further consideration in route selection upon a validation | |||
o Can ROA validation be performed on a per-AS basis rather than a | failure, similar to the actions of Route Flap Damping. | |||
per-BGP speaker? What BGP mechanisms would be appropriate to | ||||
support such a mode of operation? | ||||
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. | ||||
166 lines changed or deleted | 221 lines changed or added | |||
This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |