rfc9455.original | rfc9455.txt | |||
---|---|---|---|---|
SIDR Operations Z. Yan | Internet Engineering Task Force (IETF) Z. Yan | |||
Internet-Draft CNNIC | Request for Comments: 9455 CNNIC | |||
Intended status: Best Current Practice R. Bush | BCP: 238 R. Bush | |||
Expires: 28 October 2023 IIJ Research Lab & Arrcus, Inc. | Category: Best Current Practice IIJ Research Lab & Arrcus, Inc. | |||
G.G. Geng | ISSN: 2070-1721 G. Geng | |||
Jinan University | Jinan University | |||
T. de Kock | T. de Kock | |||
RIPE NCC | RIPE NCC | |||
J. Yao | J. Yao | |||
CNNIC | CNNIC | |||
April 2023 | August 2023 | |||
Avoidance of ROA Containing Multiple IP Prefixes | Avoiding Route Origin Authorizations (ROAs) Containing Multiple IP | |||
draft-ietf-sidrops-roa-considerations-08 | Prefixes | |||
Abstract | Abstract | |||
When using the Resource Public Key Infrastructure (RPKI), address | When using the Resource Public Key Infrastructure (RPKI), address | |||
space holders need to issue Route Origin Authorization (ROA) | space holders need to issue Route Origin Authorization (ROA) | |||
object(s) to authorize one or more Autonomous Systems (ASes) to | object(s) to authorize one or more Autonomous Systems (ASes) to | |||
originate routes to IP address prefix(es). This memo discusses | originate BGP routes to IP address prefix(es). This memo discusses | |||
operational problems which may arise from ROAs containing multiple IP | operational problems that may arise from ROAs containing multiple IP | |||
prefixes and recommends that each ROA contains a single IP prefix. | prefixes and recommends that each ROA contain a single IP prefix. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This memo documents an Internet Best Current Practice. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
BCPs is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 3 October 2023. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9455. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2023 IETF Trust and the persons identified as the | Copyright (c) 2023 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
in the Revised BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology | |||
3. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 3 | 3. Problem Statement | |||
4. Recommendations . . . . . . . . . . . . . . . . . . . . . . . 4 | 4. Recommendations | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 4 | 5. Security Considerations | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 | 6. IANA Considerations | |||
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 4 | 7. Normative References | |||
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 | Acknowledgements | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . 5 | Authors' Addresses | |||
8.2. Informative References . . . . . . . . . . . . . . . . . 5 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 5 | ||||
1. Introduction | 1. Introduction | |||
In the RPKI, a ROA is a digitally signed object which identifies that | In the RPKI, a ROA, which is a digitally signed object, identifies | |||
a single AS has been authorized by the address space holder to | that a single AS has been authorized by the address space holder to | |||
originate routes to one or more IP prefixes within the related | originate BGP routes to one or more IP prefixes within the related | |||
address space [RFC6482]. | address space [RFC6482]. | |||
Each ROA contains an "asID" field and an "ipAddrBlocks" field. The | Each ROA contains an asID field and an ipAddrBlocks field. The asID | |||
"asID" field contains a single AS number which is authorized to | field contains a single AS number that is authorized to originate | |||
originate routes to the given IP address prefix(es). The | routes to the given IP address prefix(es). The ipAddrBlocks field | |||
"ipAddrBlocks" field contains one or more IP address prefixes to | contains one or more IP address prefixes to which the AS is | |||
which the AS is authorized to originate the routes. | authorized to originate the routes. | |||
If the address space holder needs to authorize more than one AS to | If the address space holder needs to authorize more than one AS to | |||
advertise the same set of IP prefixes, multiple ROAs must be issued | advertise the same set of IP prefixes, multiple ROAs must be issued | |||
(one for each AS number [RFC6480]). Prior to this document, there | (one for each AS number [RFC6480]). Prior to this document, there | |||
was no guidance recommending the issuance of a separate ROA for each | was no guidance recommending the issuance of a separate ROA for each | |||
IP prefix or a single ROA containing multiple IP prefixes. | IP prefix or a single ROA containing multiple IP prefixes. | |||
2. Terminology | 2. Terminology | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
3. Problem Statement | 3. Problem Statement | |||
An address space holder can issue a separate ROA for each of its | An address space holder can issue a separate ROA for each of its | |||
routing announcements. Alternatively, for a given asID, it can issue | routing announcements. Alternatively, for a given asID, it can issue | |||
a single ROA for multiple routing announcements, or even for all of | a single ROA for multiple routing announcements, or even for all of | |||
its routing announcements. Since a given ROA is either valid or | its routing announcements. Since a given ROA is either valid or | |||
invalid, the routing announcements for which that ROA was issued will | invalid, the routing announcements for which that ROA was issued will | |||
"share fate" when it comes to RPKI validation. Currently, no | "share fate" when it comes to RPKI validation. Currently, no | |||
guidance is offered in existing RFCs to recommend what kinds of ROA | existing RFCs provide recommendations about what kinds of ROAs to | |||
are issued: one per prefix, or one ROA for multiple routing | issue: one per prefix or one for multiple routing announcements. The | |||
announcements. The problem of fate-sharing was not discussed or | problem of fate-sharing was not discussed or addressed. | |||
addressed. | ||||
In the RPKI trust chain, the Certification Authority (CA) certificate | In the RPKI trust chain, the Certification Authority (CA) certificate | |||
issued by a parent CA to a delegate of some resources may be revoked | issued by a parent CA to a delegatee of some resources may be revoked | |||
by the parent at any time resulting in changes to resources specified | by the parent at any time, which would result in changes to resources | |||
in the [RFC3779] certificate extension. Any ROA object that includes | specified in the certificate extensions defined in [RFC3779]. Any | |||
resources which are a) no longer entirely contained in the new CA | ROA object that includes resources that are a) no longer entirely | |||
certificate, or b) contained in a new CA certificate that has not yet | contained in the new CA certificate or b) contained in a new CA | |||
been discovered by Relying Party (RP) software, will be rejected as | certificate that has not yet been discovered by Relying Party (RP) | |||
invalid. Since ROA invalidity affects all routes specified in that | software will be rejected as invalid. Since ROA invalidity affects | |||
ROA, unchanged resources with associated routes via that asID cannot | all routes specified in that ROA, unchanged resources with associated | |||
be separated from those affected by the change in the CA certificate | routes via that asID cannot be separated from those affected by the | |||
validity. They will fall under this invalid ROA even though there | change in CA certificate validity. They will fall under this invalid | |||
was no intention to change their validity. Had these resources been | ROA even though there was no intent to change their validity. Had | |||
in a separate ROA, there would have been no change to the issuing CA | these resources been in a separate ROA, there would be no change to | |||
certificate, and therefore no subsequent invalidity. | the issuing CA certificate and therefore no subsequent invalidity. | |||
CAs have to carefully coordinate ROA updates with resource | CAs have to carefully coordinate ROA updates with updates to a | |||
certificate updates. This process may be automated if a single | resource certificate. This process may be automated if a single | |||
entity manages both the parent CA and the CA issuing the ROAs | entity manages both the parent CA and the CA issuing the ROAs | |||
(Scenario D in [RFC8211] Section 3). However, in other deployment | (Scenario D in [RFC8211], Section 3.4). However, in other deployment | |||
scenarios, this coordination becomes more complex. | scenarios, this coordination becomes more complex. | |||
As there is a single expiration time for the entire ROA, expiration | As there is a single expiration time for the entire ROA, expiration | |||
will affect all prefixes in the ROA. Thus, any changes to the ROA | will affect all prefixes in the ROA. Thus, changes to the ROA for | |||
for any of the prefixes must be synchronized with any changes to | any of the prefixes must be synchronized with changes to other | |||
other prefixes, especially time-limitations on authorization for a | prefixes, especially when authorization for a prefix is time bounded. | |||
prefix. Had these prefixes been in separately issued ROAs, the | Had these prefixes been in separately issued ROAs, the validity | |||
validity interval would be unique to each ROA, and invalidity would | interval would be unique to each ROA, and invalidity would only be | |||
only be affected by re-issuance of the specific parent CA certificate | affected by reissuance of the specific issuing parent CA certificate. | |||
which issued them. | ||||
A prefix could be allowed to be originated from an AS only for a | A prefix could be allowed to originate from an AS only for a specific | |||
specific period of time, for example if the IP prefix was leased out | period of time, for example, if the IP prefix was leased out | |||
temporarily. This would be more difficult to manage, and potentially | temporarily. If a ROA with multiple IP prefixes was used, this would | |||
be more error-prone if a ROA with multiple IP prefixes was used. | be more difficult to manage, and potentially be more error-prone. | |||
Similarly more complex routing may demand changes in asID or routes | Similarly, more complex routing may require changes in asID or routes | |||
for a subset of prefixes. Re-issuance of the ROA may cause change to | for a subset of prefixes. Reissuance of a ROA might result in | |||
validity for all routes in the affected ROA. If the time limited | changes to the validity of previously received BGP routes covered by | |||
resources are in separate ROAs, or for more complex routing if each | the ROA's prefixes. There will be no change to the validity of | |||
change in asID or routes for a given prefix is reflected in a change | unaffected routes if a) the time-limited resources are in separate | |||
to a discrete ROA, then no change to validity of unaffected routes | ROAs, or b) for more complex routing, each change in asID or a change | |||
will be caused. | in routes for a given prefix is reflected in a change to a discrete | |||
ROA. | ||||
The use of ROA with a single IP prefix can minimize these side- | The use of ROA with a single IP prefix can minimize these side | |||
effects. It avoids fate-sharing irrespective of the causes, where | effects. It avoids fate-sharing irrespective of the cause, where the | |||
the parent CA issuing each ROA remains valid and where each ROA | parent CA issuing each ROA remains valid and where each ROA itself | |||
itself remains valid. | remains valid. | |||
4. Recommendations | 4. Recommendations | |||
Unless the CA has good reasons to the contrary, issued ROA SHOULD | Unless the CA has good reasons to the contrary, an issued ROA SHOULD | |||
contain a single IP prefix. | contain a single IP prefix. | |||
5. Security Considerations | 5. Security Considerations | |||
Issuing separate ROAs for independent IP prefixes may increase the | Issuing separate ROAs for independent IP prefixes may increase the | |||
file fetch burden on RP during validation. | file-fetch burden on the RP during validation. | |||
6. IANA Considerations | 6. IANA Considerations | |||
This document does not request any IANA action. | This document has no IANA actions. | |||
7. Acknowledgements | ||||
The authors wish to thank the following people for their review and | ||||
contributions to this document: George Michaelson, Tim Bruijnzeels, | ||||
Job Snijders, Di Ma, Geoff Huston, Tom Harrison, Rob Austein, Stephen | ||||
Kent, Christopher Morrow, Russ Housley, Ching-Heng Ku, Keyur Patel, | ||||
Cuiling Zhang and Kejun Dong. Thanks are also due to Warren Kumari | ||||
for the Security Area Directorate review. | ||||
This work was supported by the Beijing Nova Program of Science and | ||||
Technology under grant Z191100001119113. | ||||
This document was produced using the xml2rfc tool [RFC2629]. | ||||
8. References | ||||
8.1. Normative References | 7. Normative References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP | [RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP | |||
Addresses and AS Identifiers", RFC 3779, | Addresses and AS Identifiers", RFC 3779, | |||
DOI 10.17487/RFC3779, June 2004, | DOI 10.17487/RFC3779, June 2004, | |||
<https://www.rfc-editor.org/info/rfc3779>. | <https://www.rfc-editor.org/info/rfc3779>. | |||
skipping to change at page 5, line 43 ¶ | skipping to change at line 198 ¶ | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
[RFC8211] Kent, S. and D. Ma, "Adverse Actions by a Certification | [RFC8211] Kent, S. and D. Ma, "Adverse Actions by a Certification | |||
Authority (CA) or Repository Manager in the Resource | Authority (CA) or Repository Manager in the Resource | |||
Public Key Infrastructure (RPKI)", RFC 8211, | Public Key Infrastructure (RPKI)", RFC 8211, | |||
DOI 10.17487/RFC8211, September 2017, | DOI 10.17487/RFC8211, September 2017, | |||
<https://www.rfc-editor.org/info/rfc8211>. | <https://www.rfc-editor.org/info/rfc8211>. | |||
8.2. Informative References | Acknowledgements | |||
[RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, | The authors wish to thank the following people for their reviews and | |||
DOI 10.17487/RFC2629, June 1999, | contributions to this document: George Michaelson, Tim Bruijnzeels, | |||
<https://www.rfc-editor.org/info/rfc2629>. | Job Snijders, Di Ma, Geoff Huston, Tom Harrison, Rob Austein, Stephen | |||
Kent, Christopher Morrow, Russ Housley, Ching-Heng Ku, Keyur Patel, | ||||
Cuiling Zhang, and Kejun Dong. Thanks are also due to Sean Turner | ||||
for the Security Area Directorate review. | ||||
This work was supported by the Beijing Nova Program of Science and | ||||
Technology under grant Z191100001119113. | ||||
Authors' Addresses | Authors' Addresses | |||
Zhiwei Yan | Zhiwei Yan | |||
CNNIC | CNNIC | |||
No.4 South 4th Street, Zhongguancun | No.4 South 4th Street, Zhongguancun | |||
Beijing, 100190 | Beijing | |||
P.R. China | 100190 | |||
China | ||||
Email: yanzhiwei@cnnic.cn | Email: yanzhiwei@cnnic.cn | |||
Randy Bush | Randy Bush | |||
IIJ Research Lab & Arrcus, Inc. | IIJ Research Lab & Arrcus, Inc. | |||
5147 Crystal Springs | 5147 Crystal Springs | |||
Bainbridge Island, Washington 98110 | Bainbridge Island, Washington 98110 | |||
United States of America | United States of America | |||
Email: randy@psg.com | Email: randy@psg.com | |||
Guanggang Geng | Guanggang Geng | |||
Jinan University | Jinan University | |||
No.601, West Huangpu Avenue | No.601, West Huangpu Avenue | |||
Guangzhou | Guangzhou | |||
510632 | 510632 | |||
P.R. China | China | |||
Email: gggeng@jnu.edu.cn | Email: gggeng@jnu.edu.cn | |||
Ties de Kock | Ties de Kock | |||
RIPE NCC | RIPE NCC | |||
Stationsplein 11 | Stationsplein 11 | |||
Amsterdam | Amsterdam | |||
Netherlands | Netherlands | |||
Email: tdekock@ripe.net | Email: tdekock@ripe.net | |||
Jiankang Yao | Jiankang Yao | |||
CNNIC | CNNIC | |||
No.4 South 4th Street, Zhongguancun | No.4 South 4th Street, Zhongguancun | |||
Beijing, 100190 | Beijing | |||
P.R. China | 100190 | |||
China | ||||
Email: yaojk@cnnic.cn | Email: yaojk@cnnic.cn | |||
End of changes. 29 change blocks. | ||||
122 lines changed or deleted | 110 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |