rfc9582.original | rfc9582.txt | |||
---|---|---|---|---|
Network Working Group J. Snijders | Internet Engineering Task Force (IETF) J. Snijders | |||
Internet-Draft Fastly | Request for Comments: 9582 Fastly | |||
Obsoletes: 6482 (if approved) B. Maddison | Obsoletes: 6482 B. Maddison | |||
Intended status: Standards Track Workonline | Category: Standards Track Workonline | |||
Expires: 16 June 2024 M. Lepinski | ISSN: 2070-1721 M. Lepinski | |||
Carleton College | Carleton College | |||
D. Kong | D. Kong | |||
Raytheon | Raytheon | |||
S. Kent | S. Kent | |||
Independent | Independent | |||
14 December 2023 | May 2024 | |||
A Profile for Route Origin Authorizations (ROAs) | A Profile for Route Origin Authorizations (ROAs) | |||
draft-ietf-sidrops-rfc6482bis-09 | ||||
Abstract | Abstract | |||
This document defines a standard profile for Route Origin | This document defines a standard profile for Route Origin | |||
Authorizations (ROAs). A ROA is a digitally signed object that | Authorizations (ROAs). A ROA is a digitally signed object that | |||
provides a means of verifying that an IP address block holder has | provides a means of verifying that an IP address block holder has | |||
authorized an Autonomous System (AS) to originate routes to one or | authorized an Autonomous System (AS) to originate routes to one or | |||
more prefixes within the address block. This document obsoletes RFC | more prefixes within the address block. This document obsoletes RFC | |||
6482. | 6482. | |||
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. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | This document is a product of the Internet Engineering Task Force | |||
Task Force (IETF). Note that other groups may also distribute | (IETF). It represents the consensus of the IETF community. It has | |||
working documents as Internet-Drafts. The list of current Internet- | received public review and has been approved for publication by the | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | Information about the current status of this document, any errata, | |||
and may be updated, replaced, or obsoleted by other documents at any | and how to provide feedback on it may be obtained at | |||
time. It is inappropriate to use Internet-Drafts as reference | https://www.rfc-editor.org/info/rfc9582. | |||
material or to cite them other than as "work in progress." | ||||
This Internet-Draft will expire on 16 June 2024. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2023 IETF Trust and the persons identified as the | Copyright (c) 2024 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 . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
1.1. Changes from RFC6482 . . . . . . . . . . . . . . . . . . 3 | 1.1. Requirements Language | |||
2. Related Work . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1.2. Changes from RFC 6482 | |||
3. The ROA ContentType . . . . . . . . . . . . . . . . . . . . . 4 | 2. Related Work | |||
4. The ROA eContent . . . . . . . . . . . . . . . . . . . . . . 4 | 3. The ROA Content Type | |||
4.1. Element version . . . . . . . . . . . . . . . . . . . . . 5 | 4. The ROA eContent | |||
4.2. Element asID . . . . . . . . . . . . . . . . . . . . . . 5 | 4.1. The version Element | |||
4.3. Element ipAddrBlocks . . . . . . . . . . . . . . . . . . 6 | 4.2. The asID Element | |||
4.3.1. Type ROAIPAddressFamily . . . . . . . . . . . . . . . 6 | 4.3. The ipAddrBlocks Element | |||
4.3.2. Type ROAIPAddress . . . . . . . . . . . . . . . . . . 6 | 4.3.1. Type ROAIPAddressFamily | |||
4.3.3. Canonical form for ipAddrBlocks . . . . . . . . . . . 7 | 4.3.2. Type ROAIPAddress | |||
5. ROA Validation . . . . . . . . . . . . . . . . . . . . . . . 9 | 4.3.3. Canonical Form for ipAddrBlocks | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | 5. ROA Validation | |||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 | 6. Security Considerations | |||
7. IANA Considerations | ||||
7.1. SMI Security for S/MIME CMS Content Type | 7.1. SMI Security for S/MIME CMS Content Type | |||
(1.2.840.113549.1.9.16.1) . . . . . . . . . . . . . . . . 10 | (1.2.840.113549.1.9.16.1) | |||
7.2. RPKI Signed Objects sub-registry . . . . . . . . . . . . 10 | 7.2. RPKI Signed Objects Registry | |||
7.3. File Extension . . . . . . . . . . . . . . . . . . . . . 10 | 7.3. File Extension | |||
7.4. SMI Security for S/MIME Module Identifier | 7.4. SMI Security for S/MIME Module Identifier | |||
(1.2.840.113549.1.9.16.0) . . . . . . . . . . . . . . . . 11 | (1.2.840.113549.1.9.16.0) | |||
7.5. Media Type . . . . . . . . . . . . . . . . . . . . . . . 11 | 7.5. Media Type | |||
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 | 8. References | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . 12 | 8.1. Normative References | |||
8.2. Informative References . . . . . . . . . . . . . . . . . 13 | 8.2. Informative References | |||
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 13 | Appendix A. Example ROA eContent Payload | |||
Appendix B. Example ROA eContent Payload . . . . . . . . . . . . 14 | Acknowledgements | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 | Authors' Addresses | |||
1. Introduction | 1. Introduction | |||
The primary purpose of the Resource Public Key Infrastructure (RPKI) | The primary purpose of the Resource Public Key Infrastructure (RPKI) | |||
is to improve routing security. (See [RFC6480] for more | is to improve routing security. (See [RFC6480] for more | |||
information.) As part of this system, a mechanism is needed to allow | information.) As part of this system, a mechanism is needed to allow | |||
entities to verify that an AS has been given permission by an IP | entities to verify that an Autonomous System (AS) has been given | |||
address block holder to advertise routes to one or more prefixes | permission by an IP address block holder to advertise routes to one | |||
within that block. A ROA provides this function. | or more prefixes within that block. A Route Origin Authorization | |||
(ROA) provides this function. | ||||
The ROA makes use of the template for RPKI digitally signed objects | The ROA makes use of the template for RPKI digitally signed objects | |||
[RFC6488], which defines a Crytopgraphic Message Syntax (CMS) | [RFC6488], which defines a Cryptographic Message Syntax (CMS) wrapper | |||
[RFC5652] wrapper for the ROA content as well as a generic validation | [RFC5652] for the ROA content as well as a generic validation | |||
procedure for RPKI signed objects. Therefore, to complete the | procedure for RPKI signed objects. Therefore, to complete the | |||
specification of the ROA (see Section 4 of [RFC6488]), this document | specification of the ROA (see Section 4 of [RFC6488]), this document | |||
defines: | defines: | |||
* The OID that identifies the signed object as being a ROA. (This | * The OID that identifies the signed object as being a ROA. (This | |||
OID appears within the eContentType in the encapContentInfo object | OID appears within the eContentType in the encapContentInfo object | |||
as well as the content-type signed attribute in the signerInfo | as well as the content-type signed attribute in the signerInfo | |||
object). | object.) | |||
* The ASN.1 syntax for the ROA eContent. (This is the payload that | * The ASN.1 syntax for the ROA eContent. (This is the payload that | |||
specifies the AS being authorized to originate routes as well as | specifies the AS being authorized to originate routes as well as | |||
the prefixes to which the AS may originate routes.) The ROA | the prefixes to which the AS may originate routes.) The ROA | |||
eContent is ASN.1 encoded using the Distinguished Encoding Rules | eContent is ASN.1 encoded using the Distinguished Encoding Rules | |||
(DER) [X.690]. | (DER) [X.690]. | |||
* Additional steps required to validate ROAs (in addition to the | * Additional steps required to validate ROAs (in addition to the | |||
validation steps specified in [RFC6488]). | validation steps specified in [RFC6488]). | |||
1.1. Changes from RFC6482 | 1.1. 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. | ||||
1.2. Changes from RFC 6482 | ||||
This section summarizes the significant changes between [RFC6482] and | This section summarizes the significant changes between [RFC6482] and | |||
the profile described in this document. | the profile described in this document. | |||
* Clarified the requirements for the IP Addresses and AS Identifiers | * Clarified the requirements for the IP address and AS identifier | |||
X.509 certificate extensions. | X.509 certificate extensions. | |||
* Strengthened the ASN.1 formal notation and definitions. | * Strengthened the ASN.1 formal notation and definitions. | |||
* Incorporated RFC 6482 Errata. | * Incorporated errata for RFC 6482. | |||
* Added an example ROA eContent payload and an ROA. | * Added an example ROA eContent payload, and a complete ROA | |||
(Appendix A). | ||||
* Specified a canonicalization procedure for the content of | * Specified a canonicalization procedure for the content of | |||
ipAddrBlocks. | ipAddrBlocks. | |||
2. Related Work | 2. Related Work | |||
It is assumed that the reader is familiar with the terms and concepts | It is assumed that the reader is familiar with the terms and concepts | |||
described in "Internet X.509 Public Key Infrastructure Certificate | described in "Internet X.509 Public Key Infrastructure Certificate | |||
and Certificate Revocation List (CRL) Profile" [RFC5280] and "X.509 | and Certificate Revocation List (CRL) Profile" [RFC5280] and "X.509 | |||
Extensions for IP Addresses and AS Identifiers" [RFC3779]. | Extensions for IP Addresses and AS Identifiers" [RFC3779]. | |||
Additionally, this document makes use of the RPKI signed object | Additionally, this document makes use of the RPKI signed object | |||
profile [RFC6488]; thus, familiarity with that document is assumed. | profile [RFC6488]; thus, familiarity with that document is assumed. | |||
Note that the RPKI signed object profile makes use of certificates | Note that the RPKI signed object profile makes use of certificates | |||
adhering to the RPKI Resource Certificate Profile [RFC6487]; thus, | adhering to the RPKI resource certificate profile [RFC6487]; thus, | |||
familiarly with that profile is also assumed. | familiarity with that profile is also assumed. | |||
3. The ROA ContentType | 3. The ROA Content Type | |||
The content-type for a ROA is defined as routeOriginAuthz and has the | The content-type for a ROA is defined as id-ct-routeOriginAuthz and | |||
numerical value of 1.2.840.113549.1.9.16.1.24. | has the numerical value 1.2.840.113549.1.9.16.1.24. | |||
This OID MUST appear both within the eContentType in the | This OID MUST appear within both the eContentType in the | |||
encapContentInfo object as well as the ContentType signed attribute | encapContentInfo object and the content-type signed attribute in the | |||
in the signerInfo object (see [RFC6488]). | signerInfo object (see [RFC6488]). | |||
4. The ROA eContent | 4. The ROA eContent | |||
The content of a ROA identifies a single AS that has been authorized | The content of a ROA identifies a single AS that has been authorized | |||
by the address space holder to originate routes and a list of one or | by the address space holder to originate routes and a list of one or | |||
more IP address prefixes that will be advertised. If the address | more IP address prefixes that will be advertised. If the address | |||
space holder needs to authorize multiple ASes to advertise the same | space holder needs to authorize multiple ASes to advertise the same | |||
set of address prefixes, the holder issues multiple ROAs, one per AS | set of address prefixes, the holder issues multiple ROAs, one per AS | |||
number. A ROA is formally defined as: | number. A ROA is formally defined as: | |||
RPKI-ROA-2023 { iso(1) member-body(2) us(840) rsadsi(113549) | RPKI-ROA-2023 | |||
pkcs(1) pkcs9(9) smime(16) mod(0) id-mod-rpkiROA-2023(TBD) } | { iso(1) member-body(2) us(840) rsadsi(113549) | |||
pkcs(1) pkcs9(9) smime(16) mod(0) | ||||
id-mod-rpkiROA-2023(75) } | ||||
DEFINITIONS EXPLICIT TAGS ::= | DEFINITIONS EXPLICIT TAGS ::= | |||
BEGIN | BEGIN | |||
IMPORTS | IMPORTS | |||
CONTENT-TYPE | CONTENT-TYPE | |||
FROM CryptographicMessageSyntax-2010 -- in [RFC6268] | FROM CryptographicMessageSyntax-2010 -- in [RFC6268] | |||
{ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) | { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) | |||
pkcs-9(9) smime(16) modules(0) id-mod-cms-2009(58) } ; | pkcs-9(9) smime(16) modules(0) id-mod-cms-2009(58) } ; | |||
skipping to change at page 5, line 16 ¶ | skipping to change at line 204 ¶ | |||
RouteOriginAttestation ::= SEQUENCE { | RouteOriginAttestation ::= SEQUENCE { | |||
version [0] INTEGER DEFAULT 0, | version [0] INTEGER DEFAULT 0, | |||
asID ASID, | asID ASID, | |||
ipAddrBlocks SEQUENCE (SIZE(1..2)) OF ROAIPAddressFamily } | ipAddrBlocks SEQUENCE (SIZE(1..2)) OF ROAIPAddressFamily } | |||
ASID ::= INTEGER (0..4294967295) | ASID ::= INTEGER (0..4294967295) | |||
ROAIPAddressFamily ::= SEQUENCE { | ROAIPAddressFamily ::= SEQUENCE { | |||
addressFamily ADDRESS-FAMILY.&afi ({AddressFamilySet}), | addressFamily ADDRESS-FAMILY.&afi ({AddressFamilySet}), | |||
addresses ADDRESS-FAMILY.&Addresses ({AddressFamilySet}{@addressFamily}) } | addresses ADDRESS-FAMILY.&Addresses | |||
({AddressFamilySet}{@addressFamily}) } | ||||
ADDRESS-FAMILY ::= CLASS { | ADDRESS-FAMILY ::= CLASS { | |||
&afi OCTET STRING (SIZE(2)) UNIQUE, | &afi OCTET STRING (SIZE(2)) UNIQUE, | |||
&Addresses | &Addresses | |||
} WITH SYNTAX { AFI &afi ADDRESSES &Addresses } | } WITH SYNTAX { AFI &afi ADDRESSES &Addresses } | |||
AddressFamilySet ADDRESS-FAMILY ::= | AddressFamilySet ADDRESS-FAMILY ::= | |||
{ addressFamilyIPv4 | addressFamilyIPv6 } | { addressFamilyIPv4 | addressFamilyIPv6 } | |||
addressFamilyIPv4 ADDRESS-FAMILY ::= | addressFamilyIPv4 ADDRESS-FAMILY ::= | |||
{ AFI afi-IPv4 ADDRESSES ROAAddressesIPv4 } | { AFI afi-IPv4 ADDRESSES ROAAddressesIPv4 } | |||
addressFamilyIPv6 ADDRESS-FAMILY ::= | addressFamilyIPv6 ADDRESS-FAMILY ::= | |||
{ AFI afi-IPv6 ADDRESSES ROAAddressesIPv6 } | { AFI afi-IPv6 ADDRESSES ROAAddressesIPv6 } | |||
afi-IPv4 OCTET STRING ::= '0001'H | afi-IPv4 OCTET STRING ::= '0001'H | |||
afi-IPv6 OCTET STRING ::= '0002'H | afi-IPv6 OCTET STRING ::= '0002'H | |||
ROAAddressesIPv4 ::= SEQUENCE (SIZE(1..MAX)) OF ROAIPAddress{32} | ROAAddressesIPv4 ::= SEQUENCE (SIZE(1..MAX)) OF ROAIPAddress{ub-IPv4} | |||
ROAAddressesIPv6 ::= SEQUENCE (SIZE(1..MAX)) OF ROAIPAddress{128} | ROAAddressesIPv6 ::= SEQUENCE (SIZE(1..MAX)) OF ROAIPAddress{ub-IPv6} | |||
ROAIPAddress {INTEGER: len} ::= SEQUENCE { | ub-IPv4 INTEGER ::= 32 | |||
address BIT STRING (SIZE(0..len)), | ub-IPv6 INTEGER ::= 128 | |||
maxLength INTEGER (0..len) OPTIONAL } | ||||
ROAIPAddress {INTEGER: ub} ::= SEQUENCE { | ||||
address BIT STRING (SIZE(0..ub)), | ||||
maxLength INTEGER (0..ub) OPTIONAL } | ||||
END | END | |||
4.1. Element version | 4.1. The version Element | |||
The version number of the RouteOriginAttestation MUST be 0. | The version number of the RouteOriginAttestation entry MUST be 0. | |||
4.2. Element asID | 4.2. The asID Element | |||
The asID element contains the AS number that is authorized to | The asID element contains the AS number that is authorized to | |||
originate routes to the given IP address prefixes. | originate routes to the given IP address prefixes. | |||
4.3. Element ipAddrBlocks | 4.3. The ipAddrBlocks Element | |||
The ipAddrBlocks element encodes the set of IP address prefixes to | The ipAddrBlocks element encodes the set of IP address prefixes to | |||
which the AS is authorized to originate routes. Note that the syntax | which the AS is authorized to originate routes. Note that the syntax | |||
here is more restrictive than that used in the IP Address Delegation | here is more restrictive than that used in the IP address delegation | |||
extension defined in [RFC3779]. That extension can represent | extension defined in [RFC3779]. That extension can represent | |||
arbitrary address ranges, whereas ROAs need to represent only IP | arbitrary address ranges, whereas ROAs need to represent only IP | |||
prefixes. | prefixes. | |||
4.3.1. Type ROAIPAddressFamily | 4.3.1. Type ROAIPAddressFamily | |||
Within the ROAIPAddressFamily structure, the addressFamily element | Within the ROAIPAddressFamily structure, the addressFamily element | |||
contains the Address Family Identifier (AFI) of an IP address family. | contains the Address Family Identifier (AFI) of an IP address family. | |||
This specification only supports IPv4 and IPv6, therefore | This specification only supports IPv4 and IPv6; therefore, | |||
addressFamily MUST be either 0001 or 0002. IPv4 prefixes MUST NOT | addressFamily MUST be either 0001 or 0002. IPv4 prefixes MUST NOT | |||
appear as IPv4-Mapped IPv6 Addresses (section 2.5.5.2 of [RFC4291]). | appear as IPv4-mapped IPv6 addresses (Section 2.5.5.2 of [RFC4291]). | |||
There MUST be only one instance of ROAIPAddressFamily per unique AFI | There MUST be only one instance of ROAIPAddressFamily per unique AFI | |||
in the ROA. Thus, the ROAIPAddressFamily structure MUST NOT appear | in the ROA. Thus, the ROAIPAddressFamily structure MUST NOT appear | |||
more than twice. | more than twice. | |||
The addresses element represents IP prefixes as a sequence of type | The addresses field contains IP prefixes as a sequence of type | |||
ROAIPAddress. | ROAIPAddress. | |||
4.3.2. Type ROAIPAddress | 4.3.2. Type ROAIPAddress | |||
A ROAIPAddress structure is a sequence containing an address element | A ROAIPAddress structure is a sequence containing an address element | |||
of type IPAddress and an optional maxLength element of type INTEGER. | of type BIT STRING and an optional maxLength element of type INTEGER. | |||
See section 2.2.3.8 of [RFC3779] for more details on type IPAddress. | ||||
4.3.2.1. Element address | 4.3.2.1. The address Element | |||
The address element is of type IPAddress and represents a single IP | The address element is of type BIT STRING and represents a single IP | |||
address prefix. | address prefix. This field uses the same representation of an IP | |||
address prefix as a BIT STRING as the IPAddress type defined in | ||||
Section 2.2.3.8 of [RFC3779]. | ||||
4.3.2.2. Element maxLength | 4.3.2.2. The maxLength Element | |||
When present, the maxLength specifies the maximum length of the IP | When present, the maxLength element specifies the maximum length of | |||
address prefix that the AS is authorized to advertise. The maxLength | the IP address prefix that the AS is authorized to advertise. The | |||
element SHOULD NOT be encoded if the maximum length is equal to the | maxLength element SHOULD NOT be encoded if the maximum length is | |||
prefix length. Certification Authorities SHOULD anticipate that | equal to the prefix length. Certification Authorities SHOULD | |||
future Relying Parties will become increasingly stringent in | anticipate that future Relying Parties will become increasingly | |||
considering the presence of superfluous maxLength elements an | stringent in considering the presence of superfluous maxLength | |||
encoding error. | elements an encoding error. | |||
If present, the maxLength MUST be: | If present, the maxLength element MUST be: | |||
* an integer greater than or equal to the length of the accompanying | * an integer greater than or equal to the length of the accompanying | |||
prefix, and | prefix, and | |||
* less than or equal to the maximum length (in bits) of an IP | * less than or equal to the maximum length (in bits) of an IP | |||
address in the applicable address family: 32 in case of IPv4 and | address in the applicable address family: 32 in the case of IPv4 | |||
128 in case of IPv6. | and 128 in the case of IPv6. | |||
For example, if the IP address prefix is 203.0.113.0/24 and the | For example, if the IP address prefix is 203.0.113.0/24 and maxLength | |||
maxLength is 26, the AS is authorized to advertise any more specific | is 26, the AS is authorized to advertise any more-specific prefix | |||
prefix with a maximum length of 26. In this example, the AS would be | with a maximum length of 26. In this example, the AS would be | |||
authorized to advertise 203.0.113.0/24, 203.0.113.128/25, or | authorized to advertise 203.0.113.0/24, 203.0.113.128/25, or | |||
203.0.113.192/26; but not 203.0.113.0/27. See [RFC9319] for more | 203.0.113.192/26, but not 203.0.113.0/27. See [RFC9319] for more | |||
information on the use of maxLength. | information on the use of maxLength. | |||
When the maxLength is not present, the AS is only authorized to | When the maxLength element is not present, the AS is only authorized | |||
advertise the exact prefix specified in the ROAIPAddress' address | to advertise the exact prefix specified in the ROAIPAddress | |||
element. | structure's address element. | |||
4.3.2.3. Note on overlapping or superfluous information encoding | 4.3.2.3. Note on Overlapping or Superfluous Information Encoding | |||
Note that a valid ROA may contain an IP address prefix (within a | Note that a valid ROA may contain an IP address prefix (within a | |||
ROAIPAddress element) that is encompassed by another IP address | ROAIPAddress element) that is encompassed by another IP address | |||
prefix (within a separate ROAIPAddress element). For example, a ROA | prefix (within a separate ROAIPAddress element). For example, a ROA | |||
may contain the prefix 203.0.113.0/24 with maxLength 26, as well as | may contain the prefix 203.0.113.0/24 with maxLength 26, as well as | |||
the prefix 203.0.113.0/28 with maxLength 28. This ROA would | the prefix 203.0.113.0/28 with maxLength 28. This ROA would | |||
authorize the indicated AS to advertise any prefix beginning with | authorize the indicated AS to advertise any prefix beginning with | |||
203.0.113 with a minimum length of 24 and a maximum length of 26, as | 203.0.113 with a minimum length of 24 and a maximum length of 26, as | |||
well as the specific prefix 203.0.113.0/28. | well as the specific prefix 203.0.113.0/28. | |||
Additionally, a ROA MAY contain two ROAIPAddress elements, where the | Additionally, a ROA MAY contain two ROAIPAddress elements, where the | |||
IP address prefix is identical in both cases. However, this is NOT | IP address prefix is identical in both cases. However, this is NOT | |||
RECOMMENDED as, in such a case, the ROAIPAddress with the shorter | RECOMMENDED, because in such a case, the ROAIPAddress element with | |||
maxLength grants no additional privileges to the indicated AS and | the shorter maxLength grants no additional privileges to the | |||
thus can be omitted without changing the meaning of the ROA. | indicated AS and thus can be omitted without changing the meaning of | |||
the ROA. | ||||
4.3.3. Canonical form for ipAddrBlocks | 4.3.3. Canonical Form for ipAddrBlocks | |||
As the data structure described by the ROA ASN.1 module allows for | As the data structure described by the ROA ASN.1 module allows for | |||
many different ways to represent the same set of IP address | many different ways to represent the same set of IP address | |||
information, a canonical form is defined such that every set of IP | information, a canonical form is defined such that every set of IP | |||
address information has a unique representation. In order to produce | address information has a unique representation. In order to produce | |||
and verify this canonical form, the process described in this section | and verify this canonical form, the process described in this section | |||
SHOULD be used to ensure information elements are unique with respect | SHOULD be used to ensure that information elements are unique with | |||
to one another and sorted in ascending order. Certification | respect to one another and sorted in ascending order. Certification | |||
Authorities SHOULD anticipate that future Relying Parties will impose | Authorities SHOULD anticipate that future Relying Parties will impose | |||
a strict requirement for the ipAddrBlocks field to be in this | a strict requirement for the ipAddrBlocks field to be in this | |||
canonical form. This canonicalization procedure builds upon the | canonical form. This canonicalization procedure builds upon the | |||
canonicalization procedure specified in section 2.2.3.6 of [RFC3779]. | canonicalization procedure specified in Section 2.2.3.6 of [RFC3779]. | |||
In order to semantically compare, sort, and deduplicate the contents | In order to semantically compare, sort, and deduplicate the contents | |||
of the ipAddrBlocks field, each ROAIPAddress element is mapped to an | of the ipAddrBlocks field, each ROAIPAddress element is mapped to an | |||
abstract data element composed of four integer values: | abstract data element composed of four integer values: | |||
afi The AFI value appearing in the addressFamily field of the | afi The AFI value appearing in the addressFamily field of the | |||
containing ROAIPAddressFamily as an integer. | containing ROAIPAddressFamily as an integer. | |||
addr The first IP address of the IP prefix appearing in the | addr The first IP address of the IP prefix appearing in the | |||
ROAIPAddress address field, as a 32-bit (IPv4) or 128-bit (IPv6) | ROAIPAddress address field, as a 32-bit (IPv4) or 128-bit (IPv6) | |||
integer value. | integer value. | |||
plen The prefix length of the IP prefix appearing in the | plen The length of the IP prefix appearing in the ROAIPAddress | |||
ROAIPAddress address field as an integer value. | address field as an integer value. | |||
mlen The value appearing in the maxLength field of the ROAIPAddress, | mlen The value appearing in the maxLength field of the ROAIPAddress | |||
if present, otherwise the above prefix length value. | element, if present; otherwise, the above prefix length value. | |||
Thus, the equality or relative order of two ROAIPAddress elements can | Thus, the equality or relative order of two ROAIPAddress elements can | |||
be tested by comparing their abstract representations. | be tested by comparing their abstract representations. | |||
4.3.3.1. Comparator | 4.3.3.1. Comparator | |||
The set of ipAddrBlocks is totally ordered. The order of two | The set of ipAddrBlocks is totally ordered. The order of two | |||
ipAddrBlocks is determined by the first non-equal comparison in the | ipAddrBlocks is determined by the first non-equal comparison in the | |||
following list. | following list. | |||
skipping to change at page 8, line 46 ¶ | skipping to change at line 383 ¶ | |||
3. Data elements with a lower plen value precede data elements with | 3. Data elements with a lower plen value precede data elements with | |||
a higher plen value. | a higher plen value. | |||
4. Data elements with a lower mlen value precede data elements with | 4. Data elements with a lower mlen value precede data elements with | |||
a higher mlen value. | a higher mlen value. | |||
Data elements for which all four values compare equal are duplicates | Data elements for which all four values compare equal are duplicates | |||
of one another. | of one another. | |||
4.3.3.2. Example implementations | 4.3.3.2. Example Implementations | |||
A sorting implementation [roasort-c] in ISO/IEC 9899:1999 | * A sorting implementation [roasort-c] in ISO/IEC 9899:1999 | |||
("ANSI C99"). | ("ANSI C99"). | |||
A sorting implementation [roasort-rs] in Rust 2021 Edition. | * A sorting implementation [roasort-rs] in the Rust 2021 Edition. | |||
5. ROA Validation | 5. ROA Validation | |||
Before a relying party can use a ROA to validate a routing | Before a Relying Party can use a ROA to validate a routing | |||
announcement, the relying party MUST first validate the ROA. To | announcement, the Relying Party MUST first validate the ROA. To | |||
validate a ROA, the relying party MUST perform all the validation | validate a ROA, the Relying Party MUST perform all the validation | |||
checks specified in [RFC6488] as well as the following additional | checks specified in [RFC6488] as well as the following additional | |||
ROA-specific validation steps: | ROA-specific validation steps: | |||
* The IP Address Delegation extension [RFC3779] is present in the | * The IP address delegation extension [RFC3779] is present in the | |||
end-entity (EE) certificate (contained within the ROA), and every | end-entity (EE) certificate (contained within the ROA), and every | |||
IP address prefix in the ROA payload is contained within the set | IP address prefix in the ROA payload is contained within the set | |||
of IP addresses specified by the EE certificate's IP Address | of IP addresses specified by the EE certificate's IP address | |||
Delegation extension. | delegation extension. | |||
* The EE certificate's IP Address Delegation extension MUST NOT | * The EE certificate's IP address delegation extension MUST NOT | |||
contain "inherit" elements described in [RFC3779]. | contain "inherit" elements as described in [RFC3779]. | |||
* The Autonomous System Identifier Delegation Extension described in | * The Autonomous System identifier delegation extension described in | |||
[RFC3779] is not used in Route Origin Authorizations and MUST NOT | [RFC3779] is not used in ROAs and MUST NOT be present in the EE | |||
be present in the EE certificate. | certificate. | |||
* The ROA content fully conforms with all requirements specified in | * The ROA content fully conforms with all requirements specified in | |||
Section 3 and Section 4. | Sections 3 and 4. | |||
If any of the above checks fail, the ROA in its entirety MUST be | If any of the above checks fail, the ROA in its entirety MUST be | |||
considered invalid and an error SHOULD be logged. | considered invalid and an error SHOULD be logged. | |||
6. Security Considerations | 6. Security Considerations | |||
There is no assumption of confidentiality for the data in a ROA; it | There is no assumption of confidentiality for the data in a ROA; it | |||
is anticipated that ROAs will be stored in repositories that are | is anticipated that ROAs will be stored in repositories that are | |||
accessible to all ISPs, and perhaps to all Internet users. There is | accessible to all ISPs, and perhaps to all Internet users. There is | |||
no explicit authentication associated with a ROA, since the PKI used | no explicit authentication associated with a ROA, since the PKI used | |||
for ROA validation provides authorization but not authentication. | for ROA validation provides authorization but not authentication. | |||
Although the ROA is a signed, application-layer object, there is no | Although the ROA is a signed, application-layer object, there is no | |||
intent to convey non-repudiation via a ROA. | intent to convey non-repudiation via a ROA. | |||
The purpose of a ROA is to convey authorization for an AS to | The purpose of a ROA is to convey authorization for an AS to | |||
originate a route to the prefix(es) in the ROA. Thus, the integrity | originate a route to the prefix or prefixes in the ROA. Thus, the | |||
of a ROA MUST be established. The ROA specification makes use of the | integrity of a ROA MUST be established. This ROA specification makes | |||
RPKI signed object format; thus, all security considerations in | use of the RPKI signed object format; thus, all security | |||
[RFC6488] also apply to ROAs. Additionally, the signed object | considerations discussed in [RFC6488] also apply to ROAs. | |||
profile uses the CMS signed message format for integrity; thus, ROAs | Additionally, the signed object profile uses the CMS signed message | |||
inherit all security considerations associated with that data | format for integrity; thus, ROAs inherit all security considerations | |||
structure. | associated with that data structure. | |||
The right of the ROA signer to authorize the target AS to originate | The right of the ROA signer to authorize the target AS to originate | |||
routes to the prefix(es) is established through use of the address | routes to the prefix or prefixes is established through the use of | |||
space and AS number PKI described in [RFC6480]. Specifically, one | the address space and AS number PKI as described in [RFC6480]. | |||
MUST verify the signature on the ROA using an X.509 certificate | Specifically, one MUST verify the signature on the ROA using an X.509 | |||
issued under this PKI, and check that the prefix(es) in the ROA are | certificate issued under this PKI and check that the prefix or | |||
contained within those in the certificate's IP Address Delegation | prefixes in the ROA are contained within those in the certificate's | |||
Extension. | IP address delegation extension. | |||
7. IANA Considerations | 7. IANA Considerations | |||
7.1. SMI Security for S/MIME CMS Content Type (1.2.840.113549.1.9.16.1) | 7.1. SMI Security for S/MIME CMS Content Type (1.2.840.113549.1.9.16.1) | |||
The IANA is requested to update the id-ct-routeOriginAuthz entry in | IANA has updated the id-ct-routeOriginAuthz entry in the "SMI | |||
the "SMI Security for S/MIME CMS Content Type | Security for S/MIME CMS Content Type (1.2.840.113549.1.9.16.1)" | |||
(1.2.840.113549.1.9.16.1)" registry as follows: | registry as follows: | |||
Decimal Description References | +=========+========================+============+ | |||
--------------------------------------------------------------- | | Decimal | Description | References | | |||
24 id-ct-routeOriginAuthz [RFC-to-be] | +=========+========================+============+ | |||
| 24 | id-ct-routeOriginAuthz | RFC 9582 | | ||||
+---------+------------------------+------------+ | ||||
Upon publication of this document, IANA is requested to reference the | Table 1 | |||
RFC publication instead of this draft. | ||||
7.2. RPKI Signed Objects sub-registry | 7.2. RPKI Signed Objects Registry | |||
The IANA is requested to update the entry for the Route Origination | IANA has updated the Route Origination Authorization entry in the | |||
Authorization in the "RPKI Signed Objects" registry created by | "RPKI Signed Objects" registry created by [RFC6488] as follows: | |||
[RFC6488] as follows: | ||||
Name OID Specification | +===================+============================+===========+ | |||
Route Origination Authorization 1.2.840.113549.1.9.16.1.24 [RFC-to-be] | | Name | OID | Reference | | |||
+===================+============================+===========+ | ||||
| Route Origination | 1.2.840.113549.1.9.16.1.24 | RFC 9582 | | ||||
| Authorization | | | | ||||
+-------------------+----------------------------+-----------+ | ||||
Table 2 | ||||
7.3. File Extension | 7.3. File Extension | |||
The IANA is requested to update the entry for the ROA file extension | IANA has updated the entry for the ROA file extension in the "RPKI | |||
in the "RPKI Repository Name Schemes" registry created by [RFC6481] | Repository Name Schemes" registry created by [RFC6481] as follows: | |||
as follows: | ||||
Filename Extension RPKI Object Reference | +====================+=================================+===========+ | |||
.roa Route Origination Authorization [RFC-to-be] | | Filename Extension | RPKI Object | Reference | | |||
+====================+=================================+===========+ | ||||
| .roa | Route Origination Authorization | RFC 9582 | | ||||
+--------------------+---------------------------------+-----------+ | ||||
Upon publication of this document, IANA is requested to make this | Table 3 | |||
addition permanent and to reference the RFC publication instead of | ||||
this draft. | ||||
7.4. SMI Security for S/MIME Module Identifier | 7.4. SMI Security for S/MIME Module Identifier | |||
(1.2.840.113549.1.9.16.0) | (1.2.840.113549.1.9.16.0) | |||
The IANA is requested to allocate for this document in the "SMI | IANA has allocated the following entry in the "SMI Security for | |||
Security for S/MIME Module Identifier (1.2.840.113549.1.9.16.0)" | S/MIME Module Identifier (1.2.840.113549.1.9.16.0)" registry: | |||
registry: | ||||
Decimal Description Reference | +=========+=====================+============+ | |||
-------------------------------------------- | | Decimal | Description | References | | |||
TBD id-mod-rpkiROA-2023 [RFC-to-be] | +=========+=====================+============+ | |||
| 75 | id-mod-rpkiROA-2023 | RFC 9582 | | ||||
+---------+---------------------+------------+ | ||||
Table 4 | ||||
7.5. Media Type | 7.5. Media Type | |||
The IANA is requested to update the media type application/rpki-roa | IANA has updated the media type application/rpki-roa in the "Media | |||
in the "Media Type" registry as follows: | Types" registry as follows: | |||
Type name: application | Type name: application | |||
Subtype name: rpki-roa | ||||
Required parameters: N/A | Subtype name: rpki-roa | |||
Optional parameters: N/A | ||||
Encoding considerations: binary | Required parameters: N/A | |||
Security considerations: Carries an RPKI ROA [RFC-to-be]. | ||||
This media type contains no active content. See | Optional parameters: N/A | |||
Section 6 of [RFC-to-be] for further information. | ||||
Interoperability considerations: None | Encoding considerations: binary | |||
Published specification: [RFC-to-be] | ||||
Applications that use this media type: RPKI operators | Security considerations: Carries an RPKI ROA (RFC 9582). This media | |||
Additional information: | type contains no active content. See Section 6 of RFC 9582 for | |||
Content: This media type is a signed object, as defined | further information. | |||
in [RFC6488], which contains a payload of a list of | ||||
prefixes and an AS identifer as defined in [RFC-to-be]. | Interoperability considerations: None | |||
Magic number(s): None | ||||
File extension(s): .roa | Published specification: RFC 9582 | |||
Macintosh file type code(s): | ||||
Person & email address to contact for further information: | Applications that use this media type: RPKI operators | |||
Job Snijders <job@fastly.com> | ||||
Intended usage: COMMON | Additional information: | |||
Restrictions on usage: None | ||||
Change controller: IETF | Content: This media type is a signed object, as defined in | |||
[RFC6488], which contains a payload of a list of prefixes and | ||||
an AS identifier as defined in RFC 9582. | ||||
Magic number(s): None | ||||
File extension(s): .roa | ||||
Macintosh file type code(s): None | ||||
Person & email address to contact for further information: | ||||
Job Snijders <job@fastly.com> | ||||
Intended usage: COMMON | ||||
Restrictions on usage: None | ||||
Change controller: IETF | ||||
8. References | 8. References | |||
8.1. Normative References | 8.1. 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, | |||
skipping to change at page 13, line 9 ¶ | skipping to change at line 596 ¶ | |||
[RFC6488] Lepinski, M., Chi, A., and S. Kent, "Signed Object | [RFC6488] Lepinski, M., Chi, A., and S. Kent, "Signed Object | |||
Template for the Resource Public Key Infrastructure | Template for the Resource Public Key Infrastructure | |||
(RPKI)", RFC 6488, DOI 10.17487/RFC6488, February 2012, | (RPKI)", RFC 6488, DOI 10.17487/RFC6488, February 2012, | |||
<https://www.rfc-editor.org/info/rfc6488>. | <https://www.rfc-editor.org/info/rfc6488>. | |||
[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>. | |||
[X.690] ITU-T, "Information Technology -- ASN.1 encoding rules: | [X.690] ITU-T, "Information Technology - ASN.1 encoding rules: | |||
Specification of Basic Encoding Rules (BER), Canonical | Specification of Basic Encoding Rules (BER), Canonical | |||
Encoding Rules (CER) and Distinguished Encoding Rules | Encoding Rules (CER) and Distinguished Encoding Rules | |||
(DER)", ITU-T Recommendation X.690, 2015. | (DER)", ITU-T Recommendation X.690, February 2021. | |||
8.2. Informative References | 8.2. Informative References | |||
[RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data | [RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data | |||
Encodings", RFC 4648, DOI 10.17487/RFC4648, October 2006, | Encodings", RFC 4648, DOI 10.17487/RFC4648, October 2006, | |||
<https://www.rfc-editor.org/info/rfc4648>. | <https://www.rfc-editor.org/info/rfc4648>. | |||
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., | [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., | |||
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 | |||
skipping to change at page 13, line 37 ¶ | skipping to change at line 624 ¶ | |||
Secure Internet Routing", RFC 6480, DOI 10.17487/RFC6480, | Secure Internet Routing", RFC 6480, DOI 10.17487/RFC6480, | |||
February 2012, <https://www.rfc-editor.org/info/rfc6480>. | February 2012, <https://www.rfc-editor.org/info/rfc6480>. | |||
[RFC9319] Gilad, Y., Goldberg, S., Sriram, K., Snijders, J., and B. | [RFC9319] Gilad, Y., Goldberg, S., Sriram, K., Snijders, J., and B. | |||
Maddison, "The Use of maxLength in the Resource Public Key | Maddison, "The Use of maxLength in the Resource Public Key | |||
Infrastructure (RPKI)", BCP 185, RFC 9319, | Infrastructure (RPKI)", BCP 185, RFC 9319, | |||
DOI 10.17487/RFC9319, October 2022, | DOI 10.17487/RFC9319, October 2022, | |||
<https://www.rfc-editor.org/info/rfc9319>. | <https://www.rfc-editor.org/info/rfc9319>. | |||
[roasort-c] | [roasort-c] | |||
Snijders, J., "ROA sorter in C", | Snijders, J., "ROA sorter in C", commit 68969ea, July | |||
<https://github.com/job/roasort>. | 2023, <https://github.com/job/roasort>. | |||
[roasort-rs] | [roasort-rs] | |||
Maddison, B., "ROA sorter in Rust", | Maddison, B., "ROA sorter in Rust", commit 023e756, August | |||
<https://github.com/benmaddison/roasort>. | 2023, <https://github.com/benmaddison/roasort>. | |||
Appendix A. Acknowledgements | Appendix A. Example ROA eContent Payload | |||
The authors wish to thank Theo Buehler, Ties de Kock, Martin | An example of a DER-encoded ROA eContent is provided below, with | |||
Hoffmann, Charles Gardiner, Russ Housley, Jeffrey Haas, and Bob Beck | annotation following the "#" character. | |||
for their help and contributions. Additionally, the authors thank | ||||
Jim Fenton, Vijay Gurbani, Haoyu Song, Rob Austein, Roque Gagliano, | ||||
Danny McPherson, Sam Weiler, Jasdip Singh, and Murray S. Kucherawy | ||||
for their careful reviews and helpful comments. | ||||
Appendix B. Example ROA eContent Payload | $ echo 16i 301802030100003011300F040200023009300703050020010DB8 P \ | |||
| dc | openssl asn1parse -inform DER -i -dump | ||||
0:d=0 hl=2 l= 24 cons: SEQUENCE # RouteOriginAttestation | ||||
2:d=1 hl=2 l= 3 prim: INTEGER :010000 # asID 65536 | ||||
7:d=1 hl=2 l= 17 cons: SEQUENCE # ipAddrBlocks | ||||
9:d=2 hl=2 l= 15 cons: SEQUENCE # ROAIPAddressFamily | ||||
11:d=3 hl=2 l= 2 prim: OCTET STRING # addressFamily | ||||
0000 - 00 02 # IPv6 | ||||
15:d=3 hl=2 l= 9 cons: SEQUENCE # addresses | ||||
17:d=4 hl=2 l= 7 cons: SEQUENCE # ROAIPAddress | ||||
19:d=5 hl=2 l= 5 prim: BIT STRING # 2001:db8::/32 | ||||
0000 - 00 20 01 0d b8 | ||||
Below an example of a DER encoded ROA eContent is provided with | Below is a complete RPKI ROA signed object, Base64 encoded per | |||
annotation following the '#' character. | [RFC4648]. | |||
$ echo 302402023CCA301E301C04020002301630090307002001067C208C30090307002A0EB2400000 \ | MIIGgAYJKoZIhvcNAQcCoIIGcTCCBm0CAQMxDTALBglghkgBZQMEAgEwKwYLKoZI | |||
| xxd -r -ps \ | hvcNAQkQARigHAQaMBgCAwEAADARMA8EAgACMAkwBwMFACABDbigggR8MIIEeDCC | |||
| openssl asn1parse -i -dump -inform DER | A2CgAwIBAgIBAzANBgkqhkiG9w0BAQsFADAvMS0wKwYDVQQDEyQ4NjUyNWNkNS00 | |||
0:d=0 hl=2 l= 36 cons: SEQUENCE # RouteOriginAttestation | NGQ3LTRkZjktODA3OS00YTlkY2RmMjY5NDQwHhcNMjQwNTAxMDAzNDEzWhcNMjUw | |||
2:d=1 hl=2 l= 2 prim: INTEGER :3CCA # asID 15562 | NTAxMDAzNDEzWjAvMS0wKwYDVQQDEyRlYjg3NmJmMC1lYTlkLTRiMjItYTExZS0y | |||
6:d=1 hl=2 l= 30 cons: SEQUENCE # ipAddrBlocks | YmNhZDA4MzliMTMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsPSYD | |||
8:d=2 hl=2 l= 28 cons: SEQUENCE # ROAIPAddressFamily | JnGOFRSHUZuVxibx2TQfWWoPIHNKgQAwYn1Kz88HaGgVf63G1mJd/cxBNMj5AfNQ | |||
10:d=3 hl=2 l= 2 prim: OCTET STRING # addressFamily | m2zKSAb83UAp97DUXf+lvoKj4F+lxCCjFaBpBeehc7X0XPDpbcbqo1YrzIzxxqou | |||
0000 - 00 02 .. # IPv6 | GijEwZ4k+BaM2avEFYMBszqWA+ZdneBSuZ3YbHPKp2royn4pJ9a1I5fYdqFQi0eo | |||
14:d=3 hl=2 l= 22 cons: SEQUENCE # addresses | VZbAc8pZmwRVOuedYYqQiy9CSRGsbiGlB0fKt2m/zSsuvl4Zit7+NyGL3wAZecjZ | |||
16:d=4 hl=2 l= 9 cons: SEQUENCE # ROAIPAddress | XEInsTtQsjQuy5PeJjLDyfWi/ZFi0qPsNlK0M2lMsi5B7QKaagA1RbRVHZyrkWoe | |||
18:d=5 hl=2 l= 7 prim: BIT STRING # address | 20l5rfk1bIGMv/plAgMBAAGjggGdMIIBmTAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0O | |||
0000 - 00 20 01 06 7c 20 8c . ..| . # 2001:67c:208c::/48 | BBYEFN4UWxk/syCyWnRDVSmMi/fCUj0iMB8GA1UdIwQYMBaAFNZyCOpHDp1t1mVA | |||
27:d=4 hl=2 l= 9 cons: SEQUENCE # ROAIPAddress | IvVTrcE4mrQ0MBgGA1UdIAEB/wQOMAwwCgYIKwYBBQUHDgIwWgYIKwYBBQUHAQEE | |||
29:d=5 hl=2 l= 7 prim: BIT STRING # address | TjBMMEoGCCsGAQUFBzAChj5yc3luYzovL3Jwa2kuZXhhbXBsZS5uZXQvcmVwby8x | |||
0000 - 00 2a 0e b2 40 .*..@ # 2a0e:b240::/48 | bklJNmtjT25XM1daVUFpOVZPdHdUaWF0RFNnLmNlcjBRBgNVHR8ESjBIMEagRKBC | |||
0007 - <SPACES/NULS> | hkByc3luYzovL3Jwa2kuZXhhbXBsZS5uZXQvcmVwby9BLzFuSUk2a2NPblczV1pV | |||
QWk5Vk90d1RpYXREU2cuY3JsMFwGCCsGAQUFBwELBFAwTjBMBggrBgEFBQcwC4ZA | ||||
cnN5bmM6Ly9ycGtpLmV4YW1wbGUubmV0L3JlcG8vQS8zaFJiR1QteklMSmFkRU5W | ||||
S1l5TDk4SlNQU0tnLnJvYTAgBggrBgEFBQcBBwEB/wQRMA8wDQQCAAIwBwMFACAB | ||||
DbgwDQYJKoZIhvcNAQELBQADggEBAKFoMax1Gdxb9mvSfKE2Jo+DudqCGjWF3mGv | ||||
rkhag8CQYi2CBJZLrkpCRha8doBW4PbrL36waWG55A/TdLKvWzAf66/v3iL5QcXo | ||||
Krb0+fp1pu/YVK4xFxwYJhbX4OnL4Gqh9+t4fFXhEDj2QemlgjWZyxvgx2Sra/iK | ||||
fOt6gxUhie3oIT+FiYjqF//WIUBP/HjTf+E4IRGN8tCr3NDhMZG6c0njq2keW7w4 | ||||
wnw1+GqSyDhqu0Rsr0m3XUbivkc+h0ZZBBS9SxPM+GfgdzEDV51VcK1SeMa3G3Ca | ||||
j0cJA99eTM+j52tkNVupftv1Y+4Wt0XGLKmRNKw26XDaphzw3B8xggGqMIIBpgIB | ||||
A4AU3hRbGT+zILJadENVKYyL98JSPSIwCwYJYIZIAWUDBAIBoGswGgYJKoZIhvcN | ||||
AQkDMQ0GCyqGSIb3DQEJEAEYMBwGCSqGSIb3DQEJBTEPFw0yNDA1MDEwMDM0MTNa | ||||
MC8GCSqGSIb3DQEJBDEiBCBlz4HExs5A69pxkJqTCbUvc2iTS7C4eDd3aJD4hYJS | ||||
wjANBgkqhkiG9w0BAQEFAASCAQBa2wmuDHbcvfnMRIaOJ6m30zpCZtJVBLDELoA0 | ||||
2kLb18TfFbxQhUi/jZ9g0hNYksV0n4vOJnCQ3qP6IIfm0ZsKzRnyzZf3f2xegw2p | ||||
Wzi9Z8QYlc//eY3+XA3bQ37h+s0r7OZkQH7+KmIwDOCYaLh/YB37wp/7giC7bpvi | ||||
c2Fv2illQmctrK7tYDHsNGq+svULTjemUaklqfcRAAJnQTRzTz8So9wKY9SR2VVZ | ||||
68DDItTBUx8jPYeNQtvxxoVA6HuW9wyurlYQ9m/cF8CzlizVmsHgxzjO9ifmYJj9 | ||||
YZWMLtjF7Xw1fQZLYMrD5DCZzUw3nv4GyyHxckm2kLF38mze | ||||
Below is a complete Base64 [RFC4648] encoded RPKI ROA Signed Object. | The object in this appendix has the following properties: | |||
MIIHCwYJKoZIhvcNAQcCoIIG/DCCBvgCAQMxDTALBglghkgBZQMEAgEwNwYLKoZIhvcNAQkQ | Object size: 1668 octets | |||
ARigKAQmMCQCAjzKMB4wHAQCAAIwFjAJAwcAIAEGfCCMMAkDBwAqDrJAAACgggT7MIIE9zCC | Object SHA256 message digest: | |||
A9+gAwIBAgIDAIb5MA0GCSqGSIb3DQEBCwUAMDMxMTAvBgNVBAMTKDM4ZTE0ZjkyZmRjN2Nj | 3a39e0b652e79ddf6efdd178ad5e3b29e0121b1e593b89f1e0ac18f3ba60d5e7 | |||
ZmJmYzE4MjM2MTUyM2FlMjdkNjk3ZTk1MmYwHhcNMjIwNjE3MDAyNDIyWhcNMjMwNzAxMDAw | ||||
MDAwWjAzMTEwLwYDVQQDEyhBM0Q5NjQyNDU3NDlCQjZERDVBQjFGMkU4MzBFMzNBNkM1MTQ2 | ||||
RThGMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4CRG1t04YFLq3fctx2ThNfr6 | ||||
Vxsd2wZzcZhQJgUdlvUyfUPISWMwuPfpGjviqtCEzh5aNePGpLopkIES08egzTmJ78Is6+kW | ||||
LXwy9CcwT7gmP9qOTSEi8h4qcyajxHbAwDEjROVNSujhLGeB74S9IQTn2Ertp2Et2xPq/kXw | ||||
+eiBHtOL2h2I7/UOZxHOHuNuHby+VbhFaxgPA7rVfdlUAf9yYxQvyZtB7kHT/EwAR4c9SYWu | ||||
0rvbWNJwWehzlT74V1XaknRXQjkKYHe34Fyyx9FY86uX4uN8rPuIzkd7n6g81pUZRIuk/3tc | ||||
/DjbHNAD3qWVQ+0aqNdkunoJhQccZwIDAQABo4ICEjCCAg4wHQYDVR0OBBYEFKPZZCRXSbtt | ||||
1asfLoMOM6bFFG6PMB8GA1UdIwQYMBaAFDjhT5L9x8z7/BgjYVI64n1pfpUvMBgGA1UdIAEB | ||||
/wQOMAwwCgYIKwYBBQUHDgIwZAYDVR0fBF0wWzBZoFegVYZTcnN5bmM6Ly9jaGxvZS5zb2Jv | ||||
cm5vc3QubmV0L3Jwa2kvUklQRS1ubGpvYnNuaWpkZXJzL09PRlBrdjNIelB2OEdDTmhVanJp | ||||
ZldsLWxTOC5jcmwwZAYIKwYBBQUHAQEEWDBWMFQGCCsGAQUFBzAChkhyc3luYzovL3Jwa2ku | ||||
cmlwZS5uZXQvcmVwb3NpdG9yeS9ERUZBVUxUL09PRlBrdjNIelB2OEdDTmhVanJpZldsLWxT | ||||
OC5jZXIwDgYDVR0PAQH/BAQDAgeAMIGoBggrBgEFBQcBCwSBmzCBmDBfBggrBgEFBQcwC4ZT | ||||
cnN5bmM6Ly9jaGxvZS5zb2Jvcm5vc3QubmV0L3Jwa2kvUklQRS1ubGpvYnNuaWpkZXJzL285 | ||||
bGtKRmRKdTIzVnF4OHVndzR6cHNVVWJvOC5yb2EwNQYIKwYBBQUHMA2GKWh0dHBzOi8vY2hs | ||||
b2Uuc29ib3Jub3N0Lm5ldC9ycGtpL25ld3MueG1sMCsGCCsGAQUFBwEHAQH/BBwwGjAYBAIA | ||||
AjASAwcAIAEGfCCMAwcAKg6yQAAAMA0GCSqGSIb3DQEBCwUAA4IBAQAY4bd+Y1Os1MbxGWLU | ||||
d7rNVG0c3e0FOwtUOE/Qprt5gkCHO2L19/R1jnXlAaJPID5VhUNl2y/AiwmP47vhk+fvtEdB | ||||
wniszL8wCk5b6wwufn1z5/stQ85GRmsqJw5nkOYCyWpTP8k+TUa4w32xNj1dX78FwadDVeSP | ||||
yMgJ0860mkXbV1/82/D60zrWQsVAZiYebhni1QAqmpsxZwdZceFRRVY48YDPOZ73ZBZvf0g6 | ||||
Boy1+djlcAkugA92OKLzqjHWfY2iWZkcxXmFDthoeVCGQePkHMOigOyjZPcM8EXumo1rwI7N | ||||
4CPs0VkmCVCZABYVQ0HJvU08i/Wf6X1VRbNcMYIBqjCCAaYCAQOAFKPZZCRXSbtt1asfLoMO | ||||
M6bFFG6PMAsGCWCGSAFlAwQCAaBrMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABGDAcBgkq | ||||
hkiG9w0BCQUxDxcNMjIwNjE3MDAyNDIyWjAvBgkqhkiG9w0BCQQxIgQgyCDmNy5kR2T3NpBX | ||||
fNhzFLNQv4PmI8kFb6VIt1kqeRswDQYJKoZIhvcNAQEBBQAEggEAWu1sxXCO/X8voU1zfvL+ | ||||
My6KXb5va2CIuKD4dn/cllClWp8YizygIb+tPWfsT6DvaLOp1jE0raQyc8nUexLXSlIBGF7j | ||||
GVWYCy4Oo8mXki+YB3AP1eXiBpx8E4Aa3Rq6/FO80fqrVmUTuywGnv9m6zSIrzEPFujpRIDa | ||||
QQfDEOktRcLvNPXHfipTBzR4VSLkbZbyJBdigEPFUJVIRcAoI4tZAUVcbwANrHpZElFMBgr6 | ||||
Rpn9l5nu7kUlZqXbV39Mfv8WCzctaUyc+Ag311sfWu5s6XaX3PtT9V4TnQhbSWcvR9NgM+As | ||||
NqelVbdJ/iA2SeNHU/65xf6dDE2zdHDfsw== | ||||
The object in Appendix B has the following properties: | CMS signing time: Wed 01 May 2024 00:34:13 +0000 | |||
Object | X.509 end-entity certificate | |||
SHA256 hash: 13afbad09ed59b315efd8722d38b09fd02962e376e4def32247f9de905649b47 | Subject key id: DE145B193FB320B25A744355298C8BF7C2523D22 | |||
Size: 1807 octets | Authority key id: D67208EA470E9D6DD6654022F553ADC1389AB434 | |||
Issuer: CN=86525cd5-44d7-4df9-8079-4a9dcdf26944 | ||||
Serial: 3 | ||||
Not before: Wed 01 May 2024 00:34:13 +0000 | ||||
Not after: Thu 01 May 2025 00:34:13 +0000 | ||||
IP address delegation: 2001:db8::/32 | ||||
CMS signing time: Fri 17 Jun 2022 00:24:22 +0000 | ROA eContent | |||
asID: 65536 | ||||
addresses: 2001:db8::/32 | ||||
X.509 end-entity certificate | Acknowledgements | |||
Subject key id: A3D964245749BB6DD5AB1F2E830E33A6C5146E8F | ||||
Authority key id: 38E14F92FDC7CCFBFC182361523AE27D697E952F | ||||
Issuer: /CN=38e14f92fdc7ccfbfc182361523ae27d697e952f | ||||
Serial: 86F9 | ||||
Not before: Fri 17 Jun 2022 00:24:22 +0000 | ||||
Not after: Sat 01 Jul 2023 00:00:00 +0000 | ||||
IP address delegation: 2001:67c:208c::/48, 2a0e:b240::/48 | ||||
eContent | The authors wish to thank Theo Buehler, Ties de Kock, Martin | |||
asID: 15562 | Hoffmann, Charles Gardiner, Russ Housley, Jeffrey Haas, Bob Beck, and | |||
addresses: 2001:67c:208c::/48, 2a0e:b240::/48 | Tom Harrison for their help and contributions. Additionally, the | |||
authors thank Jim Fenton, Vijay Gurbani, Haoyu Song, Rob Austein, | ||||
Roque Gagliano, Danny McPherson, Sam Weiler, Jasdip Singh, and Murray | ||||
S. Kucherawy for their careful reviews and helpful comments. | ||||
Authors' Addresses | Authors' Addresses | |||
Job Snijders | Job Snijders | |||
Fastly | Fastly | |||
Amsterdam | Amsterdam | |||
Netherlands | The Netherlands | |||
Email: job@fastly.com | Email: job@fastly.com | |||
Ben Maddison | Ben Maddison | |||
Workonline | Workonline | |||
Cape Town | Cape Town | |||
South Africa | South Africa | |||
Email: benm@workonline.africa | Email: benm@workonline.africa | |||
Matthew Lepinski | Matthew Lepinski | |||
Carleton College | Carleton College | |||
End of changes. 94 change blocks. | ||||
295 lines changed or deleted | 325 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |