| 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. | ||||