RFC 9977: Publishing End-Site Prefix Lengths
- O. Gasser,
- R. Bush,
- M. Candela,
- R. Housley
Abstract
This document specifies how to augment the Routing Policy Specification Language (RPSL) inetnum: class to refer specifically to prefixlen files, which are Comma-Separated Values (CSV) files used to specify end-site prefix lengths. This document also describes an optional mechanism that uses the Resource Public Key Infrastructure (RPKI) to authenticate the prefixlen files.¶
Status of This Memo
This is an Internet Standards Track document.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2026 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
(https://
1. Introduction
Internet Service Providers (ISPs) delegate IP addresses or entire IP prefixes to their users. Similarly, cloud providers assign customers who use their services, such as virtual machines (VMs), a prefix of a specific size. Therefore, there are many variations of end-site prefix lengths present in the Internet. Currently, there is no easy way for content providers to know the end-site prefix size of someone accessing their service. Knowing the correct end-site's prefix size has multiple implications such as:¶
- Blocklisting
/throttling : - In IPv4, IP addresses can be blocked using variable prefix lengths for different prefixes, such as /22 for prefix A, /27 for prefix B, or /32 to block a single IPv4 address. Due to the large address space in IPv6, blocking at, e.g., the /48 or /56 level could lead to overblocking (throwing multiple VMs from different users into the same bucket), while blocking at more fine-granular levels, e.g., /64, /96, or even /128, to block a single IPv6 address would lead to filling up space in the blocklist pretty quickly. The use of temporary addresses in IPv6 [RFC8981] might lead to unwanted unblocking when addresses are blocked at a too
-fine -granular level (e.g., /128). All these issues apply to throttling as well.¶ - Rate limiting
/CAPTCHAs : - A similar issue arises on the Web, where neighboring prefixes might be thrown together (e.g., in the same /48 or /56 even though the ISP hands out /64s), which leads to people "jointly" running into rate limits and then either being blocked from a service or having to solve annoying CAPTCHAs.¶
- Geolocation:
- Getting the right prefix size for geolocation is similarly difficult, especially for IPv6. If you aggregate too much, you throw together different clients in different locations; if you aggregate too little, you fill up the geolocation database with unnecessary entries.¶
This document specifies how to augment the Routing Policy Specification Language (RPSL) [RFC2725] inetnum: class to refer specifically to prefixlen files and how to use the files. In all places where inetnum: is used, inet6num: must also be assumed [RFC4012].¶
The reader may find [DBOBJECTS] informative, with certainly more verbose descriptions, on the inetnum: and inet6num database classes.¶
An optional means for authenticating prefixlen data is also defined in Section 6.¶
2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
3. prefixlen Files
prefixlen files are CSV files [RFC4180] in text format with UTF-8 encoding [RFC3629], excluding problematic code points as described in [RFC9839]. Lines MUST be delimited by a line break (CRLF), and blank lines MUST be ignored. Text from a '#' character to the end of the current line MUST be treated as a comment only and is similarly ignored. The first field of each line that is not ignored specifies the prefix in question, the second the end-site prefix length within that prefix as an integer, and the third the number of end-sites within an end-site prefix length for networks using Carrier-Grade NAT (CGN) [RFC6598] or proxies. In all places Carrier-Grade NAT or CGN is used in this document, the specifications apply to proxies as well. Note that all three fields MUST be present. This means there MUST be exactly two commas in each non-commented line delimiting the three fields. The first field MUST NOT be empty on lines that are not comments, while the second and third field can be empty in certain scenarios. If both the second and third fields are empty, the publisher does not want to disclose any prefix length information.¶
3.1. End-Site Prefix Length Without CGN or Proxies
If an ISP delegates /56 IPv6 prefixes of the 2001:db8::/32 range and /32 IPv4 prefixes (i.e., a single IPv4 address) of the 192.0.2.0/24 range to its customers without the use of CGN [RFC6598] or proxy techniques, it would create a prefix length file containing the following example entries:¶
Note the third field being set to '1', which signals the absence of CGN or proxies. This has the same meaning as the third field being left empty in this scenario.¶
3.2. End-Site Prefix Length with CGN or Proxies
prefixlen files can also be used to signal the presence of CGN [RFC6598] or proxies in networks. This is especially useful for cases where multiple end-sites behind a CGN or proxy service accessing a service at the same time might run into rate-limiting issues by service providers. If a prefixlen file signals the presence of a CGN, service providers can treat these prefixes in a way that rate limits are adjusted. To signal the presence of a CGN, the number of CGN end-sites is specified in the third field. For example, a CGN prefix 192.0.2.0/24 containing 4000 CGN end-sites would be specified as follows:¶
Note the second field in the above example is set to '24', signaling that the 4000 CGN end-sites are present in the complete 192.0.2.0/24 prefix.¶
On the other hand, if these 4000 CGN end-sites are distributed 1000 each in the four /26 sub-prefixes within 192.0.2.0/24, this is specified as follows:¶
It is important to note that the third field denoting the number of CGN end-sites is referring to the prefix length specified in the second field.¶
Note that this specification can be applied to IPv6 networks as well.¶
3.3. Longest Prefix Matching
Prefix length files can contain sub-prefix entries of a parent prefix; this needs to be taken into account when processing these files. For example, if a cloud provider assigns /120 IPv6 prefixes to each customer VM and a /64 prefix to premium customers, it would create a prefix length file containing the following example entries:¶
Note that the second entry in the above example is a subprefix of the first entry. Therefore, longest prefix matching has to be performed when parsing prefixlen files.¶
3.4. Not Specifying Any End-Site Prefix Length
If an ISP delegates /32 IPv4 prefixes (i.e., a single IPv4 address) of the 192.0.2.0/24 range to its customers without the use of CGN, and it has a special sub-prefix 192.0.2.0/28 where this policy does not apply, it can signal so with the following prefix length file:¶
If both the second and third fields are empty, the publisher does not want to disclose any prefix length information. Any prefix length information from covering prefixes (192.0.2.0/24 in our example) MUST be discarded for sub-prefixes specified in prefixlen files (192.0.2.0/28 in our example).¶
3.5. Processing prefixlen Files
Multiple entries with exactly the same prefix MUST be considered an error, and consumer implementations SHOULD log the repeated entries for further administrative review. Publishers MUST take measures to ensure there is one and only one entry per prefix.¶
Upon encountering an erroneous entry in a prefixlen file, consumer implementations MUST skip that entry, log the error, and continue processing the remaining entries.¶
Content providers and other parties who wish to differentiate services based on end-site prefixes need to find the relevant prefixlen data. Section 4 specifies how to find the relevant prefixlen file given an IP address.¶
prefixlen data for large providers administrating a large number of networks and end-sites can contain millions of entries. The size of a file can be even larger if an unsigned prefixlen file combines data for many prefixes, if dual IPv4/IPv6 spaces are represented, etc.¶
This document also suggests an optional signature to strongly authenticate the data in the prefixlen files. The same approach to signatures is used in this document that was used in [RFC9632].¶
4. inetnum: Class
The original RPSL specifications ([RIPE81], [RIPE181], and a trail of subsequent documents) were written by the RIPE community. The IETF standardized RPSL in [RFC2622] and [RFC4012]. Since then, it has been modified and extensively enhanced in the Regional Internet Registry (RIR) community, mostly by RIPE [RIPE-DB]. At the time of publication, change control of RPSL effectively lies in the operator community.¶
The RPSL, and [RFC2725] and [RFC4012] used by the RIRs, specify the inetnum: database class. Each of these objects describes an IP address range and its attributes. The inetnum: objects form a hierarchy ordered on the address space.¶
Ideally, RPSL would be augmented to define a new RPSL prefixlen: attribute in the inetnum: class. Absent implementation of the prefixlen: attribute in a particular RIR database, this document defines the syntax of a prefixlen remarks: attribute, which contains an HTTPS URL of a prefixlen file. The format of the inetnum: prefixlen remarks: attribute MUST be as in this example, "remarks: Prefixlen ", where the token "Prefixlen" MUST be case-sensitive, followed by a URL that will vary but that MUST refer only to a single prefixlen file.¶
While we leave global agreement of RPSL modification to the relevant parties, we specify that a proper prefixlen: attribute in the inetnum: class MUST be "prefixlen:" and MUST be followed by a single URL that will vary, but it MUST refer only to a single prefixlen file.¶
The URL uses HTTPS, so the Web Public Key Infrastructure (WebPKI) provides authentication, integrity, and confidentiality for the fetched prefixlen file. However, the WebPKI cannot provide authentication of IP address space assignment. In contrast, the RPKI (see [RFC6481]) can be used to authenticate IP space assignment; see optional authentication in Section 6.¶
Until all producers of inetnum: objects, i.e., the RIRs, state that they have migrated to supporting the prefixlen: attribute, consumers looking at inetnum: objects to find prefixlen URLs MUST be able to consume the remarks: and prefixlen: forms.¶
The migration not only implies that the RIRs support the prefixlen: attribute, but that all registrants have migrated any inetnum: objects from remarks: to prefixlen:.¶
Any particular inetnum: object SHOULD have, at most, one prefixlen reference, whether a remarks: or prefixlen: attribute when it is implemented. As the remarks: form cannot be formally checked by the RIR, this cannot be formally enforced. A prefixlen: attribute is preferred, of course, if the RIR supports it. If there is more than one type of attribute in the inetnum: object, the prefixlen: attribute MUST be prioritized over the remarks: attribute.¶
For inetnum: instances covering the same address range, a signed prefixlen file MUST be preferred over an unsigned file. If none are signed, or more than one is signed, the (signed) inetnum: with the most recent last-modified: attribute MUST be preferred.¶
If a prefixlen file describes multiple disjoint ranges of IP address space, there are likely to be prefixlen references from multiple inetnum: objects. Files with prefixlen references from multiple inetnum: objects are not compatible with the signing procedure in Section 6.¶
An unsigned, and only an unsigned, prefixlen file MAY be referenced by multiple inetnum: instances and MAY contain prefixes from more than one registry.¶
When fetching, the most specific inetnum: object with a prefixlen reference MUST be used.¶
It is significant that prefixlen data may have finer granularity than the inetnum: that refers to them. For example, an inetnum: object for an address range P could refer to a prefixlen file in which P has been subdivided into one or more longer prefixes.¶
Backward
5. Fetching prefixlen Data
This document provides a guideline for how interested parties should fetch and read prefixlen files.¶
To minimize the load on RIRs' WHOIS [RFC3912] services, the RIR's bulk-download services SHOULD be used for large-scale access to gather inetnum: instances with prefixlen references. This uses efficient bulk access instead of fetching via brute-force search through the IP space. When using bulk-download services, they MUST be accessed using HTTPS [RFC9110]; FTP [RFC0959] MUST NOT be used.¶
On the other hand, RIRs are converging on RDAP support, which includes geofeed data; see [RFC9877]. It is hoped that this will be extended, or generalized, to support prefixlen data.¶
When reading data from a prefixlen file, one MUST ignore data outside the referring inetnum: object's address range. This is to avoid importing data about ranges not under the control of the operator. Note that signed files MUST only contain prefixes within the referring inetnum:'s range as mandated in Section 6.¶
If prefixlen files are fetched, other prefix length information from the inetnum: MUST be ignored.¶
Given an address range of interest, the most specific inetnum: object with a prefixlen reference MUST be used to fetch the prefixlen file. For example, if the fetching party finds the following inetnum: objects:¶
An application looking for prefixlen data for 192.0.2.0/29 MUST ignore data in prefixlen_1 because 192.0.2.0/29 is within the more specific 192.0.2.0/26 inetnum: covering that address range and that inetnum: does have a prefixlen reference.¶
6. Authenticating prefixlen Data (Optional)
The question arises whether a particular prefixlen data set is valid, i.e., is authorized by the "owner" of the IP address space and is authoritative in some sense. The inetnum: that points to the prefixlen file provides some assurance. Unfortunately, the RPSL in some repositories is weakly authenticated at best. An approach where RPSL was signed per the guidance in [RFC7909] would be good, except it would have to be deployed by all RPSL registries, and there is a fair number of them.¶
The remainder of this section specifies an optional authenticator for the prefixlen data set that follows the Signed Object Template for the Resource Public Key Infrastructure (RPKI) [RFC6488].¶
A single optional authenticator MAY be appended to a prefixlen file. It is a digest of the main body of the file signed by the private key of the relevant RPKI certificate for a covering address range. The following format bundles the relevant RPKI certificate with a signature over the prefixlen text.¶
The canonicalizatio
If the authenticator is not in the canonical form described above, then the authenticator is invalid, which means that it is treated in the same manner as an unauthenticated prefixlen data.¶
Borrowing detached signatures from [RFC5485],
after file canonicalizatio
The address range of the signing certificate MUST cover all prefixes in the signed prefixlen file. If not, the authenticator is invalid.¶
The signing certificate MUST NOT include the Autonomous System Identifier Delegation certificate extension [RFC3779]. If it is present, the authenticator is invalid.¶
As with many other RPKI signed objects, the IP Address Delegation certificate extension MUST NOT use the "inherit" capability defined in Section 2.2.3.5 of [RFC3779]. If "inherit" is used, the authenticator is invalid.¶
An IP Address Delegation certificate extension using "inherit" would
complicate processing. The implementation would have to build
the certification path from the end-entity to the trust anchor and
then validate the path from the trust anchor to the end-entity.
Then, the parameter would have to be remembered when the
validated public key was used to validate a signature on a CMS
object. Having to remember things from certification
An address range A "covers" address range B if the range of B is identical to or a subset of A. "Address range" is used here because inetnum: objects and RPKI certificates need not align on Classless Inter-Domain Routing (CIDR) [RFC4632] prefix boundaries, while those of the lines in a prefixlen file do align.¶
The Certification Authority (CA) MUST generate a new End Entity (EE) certificate for each signing of a particular prefixlen file. The private key associated with the EE certificate SHOULD sign only one prefixlen file. That is, a new key pair SHOULD be generated for each new version of a particular prefixlen file. When the EE certificate is used in this fashion, it is termed a "one-time-use" EE certificate (see Section 3 of [RFC6487]).¶
On the other hand, verifying the signature has no similar complexity; the certificate, which is validated in the RPKI, contains the needed public key. The RPKI trust anchors for the RIRs are available to the party performing signature validation. Validation of the CMS signature over the prefixlen file involves:¶
All of the above steps MUST be successful to consider the prefixlen file signature to be valid.¶
The authenticator MUST be hidden as a series of "#" comments at the
end of the prefixlen file. The following simple example is
cryptographical
A correct and full example is in Appendix A.¶
The CMS signature does not cover the signature lines.¶
The bracketing "# RPKI Signature:" and "# End Signature:" MUST be present as shown in the example. The RPKI Signature's IP address range MUST match that of the prefixlen URL in the inetnum: that points to the prefixlen file.¶
7. Operational Considerations
To create the needed inetnum: objects, an operator wishing to register the location of their prefixlen file needs to coordinate with their Regional Internet Registry (RIR) or National Internet Registry (NIR) and/or any provider Local Internet Registry (LIR) that has assigned address ranges to them. RIRs/NIRs provide means for assignees to create and maintain inetnum: objects. They also provide means of assigning or sub-assigning IP address resources and allowing the assignee to create WHOIS data, including inetnum: objects, thereby referring to prefixlen files.¶
The prefixlen files MUST be published via and fetched using HTTPS [RFC9110].¶
When using data from a prefixlen file, one MUST ignore data outside the referring inetnum: object's inetnum: attribute address range.¶
If and only if the prefixlen file is not signed per Section 6, then multiple inetnum: objects MAY refer to the same prefixlen file, and the consumer MUST use only lines in the prefixlen file where the prefix is covered by the address range of the inetnum: object's URL it has followed.¶
If the prefixlen file is signed, and the signer's certificate is replaced with another certificate, then the signature in the prefixlen file MUST be updated so that it can be properly validated with the new certificate.¶
It is good key hygiene to use a given key for only one purpose. To dedicate a signing private key for signing a prefixlen file, an RPKI Certification Authority (CA) may issue a subordinate certificate exclusively for the purpose shown in Appendix B.¶
Harvesting and publishing aggregated prefixlen data outside of the RPSL model SHOULD be avoided: it can have the effect that more specifics from one aggregatee could undesirably affect the less specifics of a different aggregatee. Moreover, publishing aggregated prefixlen data prevents the reader of the data to perform the checks described in Sections 5 and 6.¶
An anonymized version of bulk WHOIS data is openly available for all RIRs except ARIN, which requires an authorization. However, for users without such authorization, the same result can be achieved with extra RDAP effort. There is open-source code to pass over such data across all RIRs, collect all prefixlen references, and process them [PREFIXLEN-FINDER].¶
To prevent undue load on RPSL and prefixlen servers, entity-fetching prefixlen data using these mechanisms MUST NOT do frequent real-time lookups. prefixlen servers SHOULD send an HTTP Expires header [RFC9111] to signal when prefixlen data should be refetched. If an HTTP Expires or Cache-Control header is present, it MUST be honored by clients. As the data change very infrequently, in the absence of such an HTTP header signal, collectors SHOULD NOT fetch more frequently than weekly. It would be polite not to fetch at magic times such as midnight UTC, the first of the month, etc., because too many others are likely to do the same.¶
8. Implementation Status
As of November 2025, the prefixlen: attribute in inetnum objects has been implemented by the RIPE NCC database.¶
Registrants in databases that do not yet support the prefixlen: attribute are using the remarks:, or equivalent, attribute.¶
At the time of publication, the registry data published by ARIN are not the same RPSL as that of the other registries (see [RFC7485] for a survey of the WHOIS Tower of Babel); therefore, when fetching via bulk WHOIS over HTTPS [RFC9110], WHOIS [RFC3912], the Registration Data Access Protocol (RDAP) [RFC9083], etc., the "NetRange" or "ip network" attribute/key must be treated as "inetnum" and the "Comment" attribute must be treated as "remarks".¶
9. Security Considerations
The consumer of prefixlen data SHOULD fetch and process the data themselves. Importing datasets produced and/or processed by a third party places significant trust in the third party.¶
As mentioned in Section 6, some RPSL repositories have weak, if any, authentication. This allows spoofing of inetnum: objects pointing to malicious prefixlen files. Section 6 suggests an unfortunately complex method for stronger authentication based on the RPKI.¶
For example, if an inetnum: for a wide address range (e.g., a /16) points to an RPKI-signed prefixlen file, a customer or attacker could publish an unsigned equal or narrower (e.g., a /24) inetnum: in a WHOIS registry that has weak authorization, abusing the rule that the most-specific inetnum: object with a prefixlen reference MUST be used.¶
If signatures were mandatory, the above attack would be stymied, but, of course, that is not happening anytime soon.¶
The RPSL providers have had to throttle fetching from their servers due to too-frequent queries. Usually, they throttle by the querying IP address or block. Similar defenses will likely need to be deployed by prefixlen file servers.¶
As prefixlen files disclose which parts of a prefix belong to an end-site, attackers could better focus DDoS traffic towards a website hosted by a cloud provider by overwhelming only IP addresses from that specific end-site.
Furthermore, information collected from prefixlen files could allow for more targeted IPv6 scanning
It is possible for publishers of prefixlen data to specify incorrect prefixlen data about their prefixes. This could be done either by mistake or on purpose. One example could be a malicious network operator trying to overflow the storage of databases that consume prefixlen data by setting a very specific prefix size (e.g., /128 for large blocks of IPv6 address space). In another example, a network operator might annotate their prefixes as using CGN to go around legitimate blocking or throttling. A third example would be a malicious provider publishing fake small allocations, so on receipt of complaints, they could plausibly respond by saying that they stopped the actions of a bad customer and move their malicious activities to a different prefix. As a fourth example, network operators could overwhelm consumers by publishing prefixlen files containing millions or even billions of entries (e.g., enumerating all possible /96 subprefixes of a /32 IPv6 prefix). Therefore, care should be taken when processing prefixlen data, as with any external third-party data.¶
10. IANA Considerations
IANA has registered an object identifier for one ASN.1 Module
in the "SMI Security for S/MIME Module Identifier
IANA has registered an object identifier for one content
type in the "SMI Security for S/MIME CMS Content Type
11. References
11.1. Normative References
- [RFC2119]
-
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10
.17487 , , <https:///RFC2119 www >..rfc -editor .org /info /rfc2119 - [RFC2622]
-
Alaettinoglu, C., Villamizar, C., Gerich, E., Kessens, D., Meyer, D., Bates, T., Karrenberg, D., and M. Terpstra, "Routing Policy Specification Language (RPSL)", RFC 2622, DOI 10
.17487 , , <https:///RFC2622 www >..rfc -editor .org /info /rfc2622 - [RFC2725]
-
Villamizar, C., Alaettinoglu, C., Meyer, D., and S. Murphy, "Routing Policy System Security", RFC 2725, DOI 10
.17487 , , <https:///RFC2725 www >..rfc -editor .org /info /rfc2725 - [RFC3629]
-
Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, DOI 10
.17487 , , <https:///RFC3629 www >..rfc -editor .org /info /rfc3629 - [RFC3779]
-
Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP Addresses and AS Identifiers", RFC 3779, DOI 10
.17487 , , <https:///RFC3779 www >..rfc -editor .org /info /rfc3779 - [RFC4012]
-
Blunk, L., Damas, J., Parent, F., and A. Robachevsky, "Routing Policy Specification Language next generation (RPSLng)", RFC 4012, DOI 10
.17487 , , <https:///RFC4012 www >..rfc -editor .org /info /rfc4012 - [RFC4180]
-
Shafranovich, Y., "Common Format and MIME Type for Comma-Separated Values (CSV) Files", RFC 4180, DOI 10
.17487 , , <https:///RFC4180 www >..rfc -editor .org /info /rfc4180 - [RFC4648]
-
Josefsson, S., "The Base16, Base32, and Base64 Data Encodings", RFC 4648, DOI 10
.17487 , , <https:///RFC4648 www >..rfc -editor .org /info /rfc4648 - [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, DOI 10
.17487 , , <https:///RFC5280 www >..rfc -editor .org /info /rfc5280 - [RFC5652]
-
Housley, R., "Cryptographic Message Syntax (CMS)", STD 70, RFC 5652, DOI 10
.17487 , , <https:///RFC5652 www >..rfc -editor .org /info /rfc5652 - [RFC6268]
-
Schaad, J. and S. Turner, "Additional New ASN.1 Modules for the Cryptographic Message Syntax (CMS) and the Public Key Infrastructure Using X.509 (PKIX)", RFC 6268, DOI 10
.17487 , , <https:///RFC6268 www >..rfc -editor .org /info /rfc6268 - [RFC6481]
-
Huston, G., Loomans, R., and G. Michaelson, "A Profile for Resource Certificate Repository Structure", RFC 6481, DOI 10
.17487 , , <https:///RFC6481 www >..rfc -editor .org /info /rfc6481 - [RFC6487]
-
Huston, G., Michaelson, G., and R. Loomans, "A Profile for X.509 PKIX Resource Certificates", RFC 6487, DOI 10
.17487 , , <https:///RFC6487 www >..rfc -editor .org /info /rfc6487 - [RFC6488]
-
Lepinski, M., Chi, A., and S. Kent, "Signed Object Template for the Resource Public Key Infrastructure (RPKI)", RFC 6488, DOI 10
.17487 , , <https:///RFC6488 www >..rfc -editor .org /info /rfc6488 - [RFC8174]
-
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10
.17487 , , <https:///RFC8174 www >..rfc -editor .org /info /rfc8174 - [RFC8933]
-
Housley, R., "Update to the Cryptographic Message Syntax (CMS) for Algorithm Identifier Protection", RFC 8933, DOI 10
.17487 , , <https:///RFC8933 www >..rfc -editor .org /info /rfc8933 - [RFC9110]
-
Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, Ed., "HTTP Semantics", STD 97, RFC 9110, DOI 10
.17487 , , <https:///RFC9110 www >..rfc -editor .org /info /rfc9110 - [RFC9286]
-
Austein, R., Huston, G., Kent, S., and M. Lepinski, "Manifests for the Resource Public Key Infrastructure (RPKI)", RFC 9286, DOI 10
.17487 , , <https:///RFC9286 www >..rfc -editor .org /info /rfc9286 - [RFC9839]
-
Bray, T. and P. Hoffman, "Unicode Character Repertoire Subsets", RFC 9839, DOI 10
.17487 , , <https:///RFC9839 www >..rfc -editor .org /info /rfc9839 - [X680]
-
ITU-T, "Information technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation", ITU-T Recommendation X.680, ISO/IEC 8824-1:2021, , <https://
www >..itu .int /rec /T -REC -X .680
11.2. Informative References
- [DBOBJECTS]
-
RIPE NCC, "Descriptions of Primary Objects", <https://
docs >..db .ripe .net /RPSL -Object -Types /Descriptions -of -Primary -Objects - [PREFIXLEN
-FINDER] -
"prefixlen
-finder" , commit 5f446617796bc17d7e9495513537438 , , <https://ec26ab8e6 github >..com /massimocandela /prefixlen -finder - [RFC0959]
-
Postel, J. and J. Reynolds, "File Transfer Protocol", STD 9, RFC 959, DOI 10
.17487 , , <https:///RFC0959 www >..rfc -editor .org /info /rfc959 - [RFC3912]
-
Daigle, L., "WHOIS Protocol Specification", RFC 3912, DOI 10
.17487 , , <https:///RFC3912 www >..rfc -editor .org /info /rfc3912 - [RFC4632]
-
Fuller, V. and T. Li, "Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan", BCP 122, RFC 4632, DOI 10
.17487 , , <https:///RFC4632 www >..rfc -editor .org /info /rfc4632 - [RFC5485]
-
Housley, R., "Digital Signatures on Internet-Draft Documents", RFC 5485, DOI 10
.17487 , , <https:///RFC5485 www >..rfc -editor .org /info /rfc5485 - [RFC6598]
-
Weil, J., Kuarsingh, V., Donley, C., Liljenstolpe, C., and M. Azinger, "IANA-Reserved IPv4 Prefix for Shared Address Space", BCP 153, RFC 6598, DOI 10
.17487 , , <https:///RFC6598 www >..rfc -editor .org /info /rfc6598 - [RFC7485]
-
Zhou, L., Kong, N., Shen, S., Sheng, S., and A. Servin, "Inventory and Analysis of WHOIS Registration Objects", RFC 7485, DOI 10
.17487 , , <https:///RFC7485 www >..rfc -editor .org /info /rfc7485 - [RFC7909]
-
Kisteleki, R. and B. Haberman, "Securing Routing Policy Specification Language (RPSL) Objects with Resource Public Key Infrastructure (RPKI) Signatures", RFC 7909, DOI 10
.17487 , , <https:///RFC7909 www >..rfc -editor .org /info /rfc7909 - [RFC8805]
-
Kline, E., Duleba, K., Szamonek, Z., Moser, S., and W. Kumari, "A Format for Self-Published IP Geolocation Feeds", RFC 8805, DOI 10
.17487 , , <https:///RFC8805 www >..rfc -editor .org /info /rfc8805 - [RFC8981]
-
Gont, F., Krishnan, S., Narten, T., and R. Draves, "Temporary Address Extensions for Stateless Address Autoconfigurati
on in IPv6" , RFC 8981, DOI 10.17487 , , <https:///RFC8981 www >..rfc -editor .org /info /rfc8981 - [RFC9083]
-
Hollenbeck, S. and A. Newton, "JSON Responses for the Registration Data Access Protocol (RDAP)", STD 95, RFC 9083, DOI 10
.17487 , , <https:///RFC9083 www >..rfc -editor .org /info /rfc9083 - [RFC9111]
-
Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, Ed., "HTTP Caching", STD 98, RFC 9111, DOI 10
.17487 , , <https:///RFC9111 www >..rfc -editor .org /info /rfc9111 - [RFC9632]
-
Bush, R., Candela, M., Kumari, W., and R. Housley, "Finding and Using Geofeed Data", RFC 9632, DOI 10
.17487 , , <https:///RFC9632 www >..rfc -editor .org /info /rfc9632 - [RFC9877]
-
Singh, J. and T. Harrison, "Registration Data Access Protocol (RDAP) Extension for Geofeed Data", RFC 9877, DOI 10
.17487 , , <https:///RFC9877 www >..rfc -editor .org /info /rfc9877 - [RIPE-DB]
-
RIPE NCC, "RIPE Database Documentation", <https://
www >..ripe .net /manage -ips -and -asns /db /support /documentation /ripe -database -documentation - [RIPE181]
-
Bates, T., Gerich, E., Joncheray, L., Jouanigot, J., Karrenberg, D., Terpstra, M., and J. Yu, "Representation Of IP Routing Policies In A Routing Registry", RIPE-181, , <https://
www >..ripe .net /publications /docs /ripe -181 - [RIPE81]
-
Bates, T., Jouanigot, J., Karrenberg, D., Lothberg, P., and M. Terpstra, "Representation Of IP Routing Policies In The RIPE Database", RIPE-081, , <https://
www >..ripe .net /publications /docs /ripe -081
Appendix A. ASN.1 Module
This appendix provides an ASN.1 Module [X680] for the CMS content type used for the prefixlen file.¶
CONTENT-TYPE is imported from the ASN.1 Module in [RFC6268].¶
Appendix B. Example
This appendix provides an example, including a trust anchor, a Certificate Revocation List (CRL) signed by the trust anchor, a CA certificate subordinate to the trust anchor, a CRL signed by the CA, an end-entity certificate subordinate to the CA for signing the prefixlen file, and a detached signature.¶
The trust anchor is represented by a self-signed certificate. As usual in the RPKI, the trust anchor has authority over all IPv4 address blocks, all IPv6 address blocks, and all Autonomous System (AS) numbers.¶
The CRL issued by the trust anchor.¶
The CA certificate is issued by the trust anchor. This
certificate grants authority over one IPv4 address block
(192.0.2.0/24), one IPv6 address block
The CRL issued by the CA.¶
The end-entity certificate is issued by the CA. This certificate grants signature authority for one IPv4 address block (192.0.2.0/24). Signature authority for the IPv6 address block and the AS numbers is not needed for the prefixlen file that will be signed, so these items are not included in the end-entity certificate.¶
The end-entity certificate is displayed below in detail. For brevity, the other two certificates are not.¶
To allow reproduction of the signature results, the end-entity private key is provided. For brevity, the other two private keys are not.¶
Signing of "192
Acknowledgments
Thanks to the authors of [RFC8805] and [RFC9632] and the folk they acknowledge from whom ideas and text have been liberally expropriated. Thanks to John R. Levine for providing useful feedback on the document.¶