rfc9323.original   rfc9323.txt 
Network Working Group J. Snijders Internet Engineering Task Force (IETF) J. Snijders
Internet-Draft Fastly Request for Comments: 9323 Fastly
Intended status: Standards Track T. Harrison Category: Standards Track T. Harrison
Expires: 12 March 2023 APNIC ISSN: 2070-1721 APNIC
B. Maddison B. Maddison
Workonline Workonline
8 September 2022 November 2022
A profile for Resource Public Key Infrastructure (RPKI) Signed A Profile for RPKI Signed Checklists (RSCs)
Checklists (RSC)
draft-ietf-sidrops-rpki-rsc-11
Abstract Abstract
This document defines a Cryptographic Message Syntax (CMS) protected This document defines a Cryptographic Message Syntax (CMS) protected
content type for use with the Resource Public Key Infrastructure content type for use with the Resource Public Key Infrastructure
(RPKI) to carry a general purpose listing of checksums (a (RPKI) to carry a general-purpose listing of checksums (a
'checklist'). The objective is to allow an attestation, termed an 'checklist'). The objective is to allow for the creation of an
RPKI Signed Checklist (RSC), which contains one or more checksums of attestation, termed an "RPKI Signed Checklist (RSC)", which contains
arbitrary digital objects (files) that are signed "with resources", one or more checksums of arbitrary digital objects (files) that are
and which, when validated, confirms that the respective Internet signed with a specific set of Internet Number Resources. When
Resource Holder produced the RSC. validated, an RSC confirms that the respective Internet resource
holder produced the RSC.
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
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
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on 12 March 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/rfc9323.
Copyright Notice Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the Copyright (c) 2022 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
2. RSC Profile and Distribution . . . . . . . . . . . . . . . . 3 1.1. Requirements Language
2.1. RSC End-Entity Certificates . . . . . . . . . . . . . . . 4 2. RSC Profile and Distribution
3. The RSC ContentType . . . . . . . . . . . . . . . . . . . . . 4 2.1. RSC EE Certificates
4. The RSC eContent . . . . . . . . . . . . . . . . . . . . . . 4 3. The RSC eContentType
4.1. version . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. The RSC eContent
4.2. resources . . . . . . . . . . . . . . . . . . . . . . . . 5 4.1. Version
4.2.1. ConstrainedASIdentifiers type . . . . . . . . . . . . 6 4.2. Resources
4.2.2. ConstrainedIPAddrBlocks type . . . . . . . . . . . . 6 4.2.1. ConstrainedASIdentifiers Type
4.3. digestAlgorithm . . . . . . . . . . . . . . . . . . . . . 7 4.2.2. ConstrainedIPAddrBlocks Type
4.4. checkList . . . . . . . . . . . . . . . . . . . . . . . . 7 4.3. digestAlgorithm
4.4.1. FileNameAndHash . . . . . . . . . . . . . . . . . . . 7 4.4. checkList
5. RSC Validation . . . . . . . . . . . . . . . . . . . . . . . 8 4.4.1. FileNameAndHash
6. Verifying files or data using RSC . . . . . . . . . . . . . . 9 5. RSC Validation
7. Operational Considerations . . . . . . . . . . . . . . . . . 10 6. Verifying Files or Data Using RSC
8. Security Considerations . . . . . . . . . . . . . . . . . . . 10 7. Operational Considerations
9. Implementation status . . . . . . . . . . . . . . . . . . . . 11 8. Security Considerations
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 9. IANA Considerations
10.1. SMI Security for S/MIME CMS Content Type 9.1. SMI Security for S/MIME CMS Content Type
(1.2.840.113549.1.9.16.1) . . . . . . . . . . . . . . . 12 (1.2.840.113549.1.9.16.1)
10.2. RPKI Signed Objects sub-registry . . . . . . . . . . . . 12 9.2. RPKI Signed Objects
10.3. File Extension . . . . . . . . . . . . . . . . . . . . . 13 9.3. RPKI Repository Name Schemes
10.4. SMI Security for S/MIME Module Identifier 9.4. SMI Security for S/MIME Module Identifier
(1.2.840.113549.1.9.16.0) . . . . . . . . . . . . . . . 13 (1.2.840.113549.1.9.16.0)
10.5. Media Type . . . . . . . . . . . . . . . . . . . . . . . 13 9.5. Media Types
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 10. References
11.1. Normative References . . . . . . . . . . . . . . . . . . 14 10.1. Normative References
11.2. Informative References . . . . . . . . . . . . . . . . . 15 10.2. Informative References
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 16 Acknowledgements
Appendix B. Document changelog . . . . . . . . . . . . . . . . . 17 Authors' Addresses
B.1. changes from -10 -> -11 . . . . . . . . . . . . . . . . . 17
B.2. changes from -09 -> -10 . . . . . . . . . . . . . . . . . 17
B.3. changes from -08 -> -09 . . . . . . . . . . . . . . . . . 17
B.4. changes from -07 -> -08 . . . . . . . . . . . . . . . . . 17
B.5. changes from -06 -> -07 . . . . . . . . . . . . . . . . . 18
B.6. changes from -05 -> -06 . . . . . . . . . . . . . . . . . 18
B.7. changes from -04 -> -05 . . . . . . . . . . . . . . . . . 18
B.8. changes from -03 -> -04 . . . . . . . . . . . . . . . . . 18
B.9. changes from -02 -> -03 . . . . . . . . . . . . . . . . . 18
B.10. changes from -01 -> -02 . . . . . . . . . . . . . . . . . 18
B.11. changes from -00 -> -01 . . . . . . . . . . . . . . . . . 18
B.12. individual submission phase . . . . . . . . . . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19
1. Introduction 1. Introduction
This document defines a Cryptographic Message Syntax (CMS) [RFC5652] This document defines a Cryptographic Message Syntax (CMS) [RFC5652]
[RFC6268] protected content type for a general purpose listing of [RFC6268] protected content type for a general-purpose listing of
checksums (a 'checklist'), for use with the Resource Public Key checksums (a 'checklist'), for use with the Resource Public Key
Infrastructure (RPKI) [RFC6480]. The protected CMS content type is Infrastructure (RPKI) [RFC6480]. The CMS protected content type is
intended to provide for the creation and validation of an RPKI Signed intended to provide for the creation and validation of an RPKI Signed
Checklist (RSC): a checksum listing signed with a specific set of Checklist (RSC), a checksum listing signed with a specific set of
Internet Number Resources. The objective is to allow an attestation Internet Number Resources. The objective is to allow for the
that, when validated, provides a means to confirm a given Internet creation of an attestation that, when validated, provides a means to
Resource Holder produced the RPKI Signed Checklist (RSC). confirm a given Internet resource holder produced the RSC.
Signed Checklists are expected to facilitate inter-domain business RPKI Signed Checklists are expected to facilitate inter-domain
use-cases which depend on an ability to verify resource holdership. business use cases that depend on an ability to verify resource
RPKI-based validation processes are expected to become the industry holdership. RPKI-based validation processes are expected to become
norm for automated Bring Your Own IP (BYOIP) on-boarding or the industry norm for automated Bring Your Own IP (BYOIP) on-boarding
establishment of physical interconnection between Autonomous Systems. or establishment of physical interconnections between Autonomous
Systems (ASes).
The RSC concept borrows heavily from RTA [I-D.ietf-sidrops-rpki-rta], The RSC concept borrows heavily from Resource Tagged Attestation
Manifests [RFC9286], and OpenBSD's [signify] utility. The main (RTA) [RPKI-RTA], Manifests [RFC9286], and OpenBSD's signify utility
difference between RSC and RTA is that the RTA profile allows [signify]. The main difference between an RSC and RTA is that the
multiple signers to attest a single digital object through a checksum RTA profile allows multiple signers to attest a single digital object
of its content, while the RSC profile allows a single signer to through a checksum of its content, while the RSC profile allows a
attest the content of multiple digital objects. A single signer single signer to attest the content of multiple digital objects. A
profile is considered a simplification for both implementers and single signer profile is considered a simplification for both
operators. implementers and operators.
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.
2. RSC Profile and Distribution 2. RSC Profile and Distribution
RSC follows the Signed Object Template for the RPKI [RFC6488] with RSC follows the Signed Object Template for the RPKI [RFC6488] with
one exception: because RSCs MUST NOT be distributed through the one exception: because RSCs MUST NOT be distributed through the
global RPKI Repository system, the Subject Information Access (SIA) global RPKI repository system, the Subject Information Access (SIA)
extension MUST be omitted from the RSC's X.509 End-Entity (EE) extension MUST be omitted from the RSC's X.509 End-Entity (EE)
certificate. certificate.
What constitutes suitable transport for RSC files is deliberately What constitutes suitable transport for RSC files is deliberately
unspecified. For example, it might be a USB stick, a web interface unspecified. For example, it might be a USB stick, a web interface
secured with HTTPS, a PGP-signed email, a T-shirt printed with a QR secured with HTTPS, an email signed with Pretty Good Privacy (PGP), a
code, or a carrier pigeon. T-shirt printed with a QR code, or a carrier pigeon.
2.1. RSC End-Entity Certificates 2.1. RSC EE Certificates
The Certification Authority (CA) MUST only sign one RSC with each The Certification Authority (CA) MUST only sign one RSC with each EE
End-Entity (EE) Certificate, and MUST generate a new key pair for certificate and MUST generate a new key pair for each new RSC. This
each new RSC. This form of use of the associated EE Certificate is type of EE certificate is termed a "one-time-use" EE certificate (see
termed a "one-time-use" EE certificate Section 3 of [RFC6487]. Section 3 of [RFC6487]).
3. The RSC ContentType 3. The RSC eContentType
The ContentType for an RSC is defined as rpkiSignedChecklist, with The eContentType for an RSC is defined as id-ct-signedChecklist, with
Object Identifier (OID) 1.2.840.113549.1.9.16.1.48. Object Identifier (OID) 1.2.840.113549.1.9.16.1.48.
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 ContentType signed attribute in the
in the signerInfo object (see [RFC6488]). signerInfo object (see [RFC6488]).
4. The RSC eContent 4. The RSC eContent
The content of an RSC indicates that a checklist for arbitrary The content of an RSC indicates that a checklist for arbitrary
digital objects has been signed "with resources". An RSC is formally digital objects has been signed with a specific set of Internet
defined as: Number Resources. An RSC is formally defined as follows:
RpkiSignedChecklist-2022 RpkiSignedChecklist-2022
{ iso(1) member-body(2) us(840) rsadsi(113549) { iso(1) member-body(2) us(840) rsadsi(113549)
pkcs(1) pkcs9(9) smime(16) mod(0) pkcs(1) pkcs9(9) smime(16) mod(0)
id-mod-rpkiSignedChecklist-2022(73) } id-mod-rpkiSignedChecklist-2022(73) }
DEFINITIONS EXPLICIT TAGS ::= DEFINITIONS EXPLICIT TAGS ::=
BEGIN BEGIN
IMPORTS IMPORTS
skipping to change at page 5, line 43 skipping to change at line 217
ConstrainedIPAddressFamily ::= SEQUENCE { ConstrainedIPAddressFamily ::= SEQUENCE {
addressFamily OCTET STRING (SIZE(2)), addressFamily OCTET STRING (SIZE(2)),
addressesOrRanges SEQUENCE (SIZE(1..MAX)) OF IPAddressOrRange } addressesOrRanges SEQUENCE (SIZE(1..MAX)) OF IPAddressOrRange }
ConstrainedASIdentifiers ::= SEQUENCE { ConstrainedASIdentifiers ::= SEQUENCE {
asnum [0] SEQUENCE (SIZE(1..MAX)) OF ASIdOrRange } asnum [0] SEQUENCE (SIZE(1..MAX)) OF ASIdOrRange }
END END
4.1. version 4.1. Version
The version number of the RpkiSignedChecklist MUST be 0. The version number of the RpkiSignedChecklist MUST be 0.
4.2. resources 4.2. Resources
The resources contained here are the resources used to mark the The resources contained here are the resources used to mark the
attestation, and MUST be a subset of the set of resources listed by attestation and MUST be a subset of the set of resources listed by
the EE Certificate carried in the CMS certificates field. the EE certificate carried in the CMS certificates field.
If the asID field is present, it MUST contain an instance of If the asID field is present, it MUST contain an instance of
ConstrainedASIdentifiers. ConstrainedASIdentifiers.
If the ipAddrBlocks field is present, it MUST contain an instance of If the ipAddrBlocks field is present, it MUST contain an instance of
ConstrainedIPAddrBlocks. ConstrainedIPAddrBlocks.
At least one of asID or ipAddrBlocks MUST be present. At least one of asID or ipAddrBlocks MUST be present.
Each of ConstrainedASIdentifiers and ConstrainedIPAddrBlocks are ConstrainedASIdentifiers and ConstrainedIPAddrBlocks are specified
specified such that the resulting DER-encoded data instances are such that the resulting DER-encoded data instances are binary
binary compatible with, respectively, ASIdentifiers and IPAddrBlocks compatible with ASIdentifiers and IPAddrBlocks (defined in
defined in [RFC3779]. [RFC3779]), respectively.
Implementations encountering decoding errors whilst attempting to Implementations encountering decoding errors whilst attempting to
read DER-encoded data using this specification should be aware of the read DER-encoded data using this specification should be aware of the
possibility that the data may have been encoded using an possibility that the data may have been encoded using an
implementation intended for use with [RFC3779]. Such data may implementation intended for use with [RFC3779]. Such data may
contain elements prohibited by the current specification. contain elements prohibited by the current specification.
Attempting to decode the errored data using the more permissive Attempting to decode the errored data using the more permissive
specification contained in [RFC3779] may enable implementors to specification contained in [RFC3779] may enable implementors to
gather additional context for use when reporting errors to the user. gather additional context for use when reporting errors to the user.
However, implementations MUST NOT ignore errors resulting from the However, implementations MUST NOT ignore errors resulting from the
more restrictive definitions contained herein: in particular, such more restrictive definitions contained herein; in particular, such
errors MUST cause the validation procedure described in Section 5 to errors MUST cause the validation procedure described in Section 5 to
fail. fail.
4.2.1. ConstrainedASIdentifiers type 4.2.1. ConstrainedASIdentifiers Type
ConstrainedASIdentifiers is a SEQUENCE, consisting of a single field ConstrainedASIdentifiers is a SEQUENCE consisting of a single field,
"asnum", itself containing a SEQUENCE OF one or more ASIdOrRange asnum, which in turn contains a SEQUENCE OF one or more ASIdOrRange
instances as defined in [RFC3779]. instances as defined in [RFC3779].
ConstrainedASIdentifiers is defined such that the resulting DER- ConstrainedASIdentifiers is defined such that the resulting DER-
encoded data are binary compatible with ASIdentifiers defined in encoded data are binary compatible with ASIdentifiers defined in
[RFC3779]. [RFC3779].
4.2.2. ConstrainedIPAddrBlocks type 4.2.2. ConstrainedIPAddrBlocks Type
ConstrainedIPAddrBlocks is a SEQUENCE OF one or more instances of ConstrainedIPAddrBlocks is a SEQUENCE OF one or more instances of
ConstrainedIPAddressFamily. ConstrainedIPAddressFamily.
There MUST be only one instance of ConstrainedIPAddressFamily per There MUST be only one instance of ConstrainedIPAddressFamily per
unique AFI. unique Address Family Identifier (AFI).
The elements of ConstrainedIPAddressFamily MUST be ordered by The elements of ConstrainedIPAddressFamily MUST be ordered by
ascending addressFamily values (treating the octets as unsigned ascending addressFamily values (treating the octets as unsigned
numbers). Thus, when both IPv4 and IPv6 addresses are specified, the numbers). Thus, when both IPv4 and IPv6 addresses are specified, the
IPv4 addresses MUST precede the IPv6 addresses (since the IPv4 AFI of IPv4 addresses MUST precede the IPv6 addresses (since the IPv4 AFI of
0001 is less than the IPv6 AFI of 0002). 0001 is less than the IPv6 AFI of 0002).
ConstrainedIPAddrBlocks is defined such that the resulting DER- ConstrainedIPAddrBlocks is defined such that the resulting DER-
encoded data are binary compatible with IPAddrBlocks defined in encoded data are binary compatible with IPAddrBlocks defined in
[RFC3779]. [RFC3779].
4.2.2.1. ConstrainedIPAddressFamily type 4.2.2.1. ConstrainedIPAddressFamily Type
4.2.2.1.1. addressFamily field 4.2.2.1.1. addressFamily Field
The addressFamily field is an OCTET STRING containing a two-octet The addressFamily field is an OCTET STRING containing a 2-octet AFI,
Address Family Identifier (AFI), in network byte order. Unlike in network byte order. Unlike IPAddrBlocks [RFC3779], a third octet
IPAddrBlocks [RFC3779], a third octet containing a Subsequent Address containing a Subsequent Address Family Identifier (SAFI) MUST NOT be
Family Identifier (SAFI) MUST NOT be present. AFIs are specified in present. AFIs are specified in the "Address Family Numbers" registry
the Address Family Numbers registry [IANA.ADDRESS-FAMILY-NUMBERS] [IANA.ADDRESS-FAMILY-NUMBERS] maintained by IANA.
maintained by IANA.
4.2.2.1.2. addressesOrRanges field 4.2.2.1.2. addressesOrRanges Field
The addressesOrRanges element is a SEQUENCE OF one or more The addressesOrRanges element is a SEQUENCE OF one or more
IPAddressOrRange values, as defined in [RFC3779]. The rules for IPAddressOrRange values, as defined in [RFC3779]. The rules for
canonicalization and encoding defined in Section 2.2.3.6 of [RFC3779] canonicalization and encoding defined in Section 2.2.3.6 of [RFC3779]
apply to the value of addressesOrRanges. apply to the value of addressesOrRanges.
4.3. digestAlgorithm 4.3. digestAlgorithm
The digest algorithm used to create the message digest of the The digest algorithm is used to create the message digest of the
attested digital object(s). This algorithm MUST be a hashing attested digital object(s). This algorithm MUST be a hashing
algorithm defined in [RFC7935]. algorithm defined in [RFC7935].
4.4. checkList 4.4. checkList
This field is a SEQUENCE OF one or more FileNameAndHash values. This field is a SEQUENCE OF one or more FileNameAndHash values.
There is one FileNameAndHash entry for each digital object referenced There is one FileNameAndHash entry for each digital object referenced
on the Signed Checklist. on the RSC.
4.4.1. FileNameAndHash 4.4.1. FileNameAndHash
Each FileNameAndHash is an ordered pair of the name of the directory Each FileNameAndHash is an ordered pair of the name of the directory
entry containing the digital object, and the message digest of the entry containing the digital object and the message digest of the
digital object. digital object.
The hash field is mandatory. The value of the hash field is the The hash field is mandatory. The value of the hash field is the
calculated message digest of the digital object. The hashing calculated message digest of the digital object. The hashing
algorithm is specified in the digestAlgorithm field. algorithm is specified in the digestAlgorithm field.
The fileName field is OPTIONAL. This is to allow Signed Checklists The fileName field is OPTIONAL. This is to allow RSCs to be used in
to be used in a "stand-alone" fashion in which nameless digital a "stand-alone" fashion in which nameless digital objects are
objects are addressed directly through their respective message addressed directly through their respective message digest rather
digest rather than through a file system abstraction. than through a file system abstraction.
If the fileName field is present then its value: If the fileName field is present, then its value:
* MUST contain only characters specified in the Portable Filename * MUST contain only characters specified in the Portable Filename
Character Set as defined in [POSIX]. Character Set as defined in [POSIX].
* MUST be unique with respect to the other FileNameAndHash elements * MUST be unique with respect to the other FileNameAndHash elements
of checkList for which the fileName field is also present. of checkList for which the fileName field is also present.
Conversely, if the fileName field is omitted, then the value of the Conversely, if the fileName field is omitted, then the value of the
hash field MUST be unique with respect to the other FileNameAndHash hash field MUST be unique with respect to the other FileNameAndHash
elements of checkList for which the fileName field is also omitted. elements of checkList for which the fileName field is also omitted.
5. RSC Validation 5. RSC Validation
Before a Relying Party can use an RSC to validate a set of digital Before a Relying Party (RP) can use an RSC to validate a set of
objects, the Relying Party MUST first validate the RSC. To validate digital objects, the RP MUST first validate the RSC. To validate an
an RSC, the Relying Party MUST perform all the validation checks RSC, the RP MUST perform all the validation checks specified in
specified in [RFC6488] (except checking for the presence of an SIA [RFC6488], except for checking for the presence of an SIA extension,
extension, which MUST NOT be present in the EE X.509 certificate which MUST NOT be present in the EE certificate (see Section 2). In
Section 4.8.8.2 of [RFC6487]), and perform the following additional addition, the RP MUST perform the following RSC-specific validation
RSC-specific validation steps: steps:
1. The contents of the CMS eContent field MUST conform to all of the 1. The contents of the CMS eContent field MUST conform to all of the
constraints described in Section 4 including the constraints constraints described in Section 4, including the constraints
described in Section 4.4.1. described in Section 4.4.1.
2. If the asID field is present within the contents of the 2. If the asID field is present within the contents of the resources
'resources' field, then the AS Resources extension [RFC3779] MUST field, then the AS identifier delegation extension [RFC3779] MUST
be present in the EE certificate contained in the CMS be present in the EE certificate contained in the CMS
certificates field. The AS identifiers present in the eContent certificates field. The AS identifiers present in the eContent
'resources' field MUST be a subset of those present in the resources field MUST be a subset of those present in the
certificate extension. The EE certificate's AS Resources certificate extension. The EE certificate's AS identifier
extension MUST NOT contain "inherit" elements. delegation extension MUST NOT contain "inherit" elements.
3. If the ipAddrBlocks field is present within the contents of the 3. If the ipAddrBlocks field is present within the contents of the
'resources' field, then the IP Resources extension [RFC3779] MUST resources field, then the IP address delegation extension
be present in the EE certificate contained in the CMS [RFC3779] MUST be present in the EE certificate contained in the
certificates field. The IP addresses present in the eContent CMS certificates field. The IP addresses present in the eContent
'resources' field MUST be a subset of those present in the resources field MUST be a subset of those present in the
certificate extension. The EE certificate's IP Resources certificate extension. The EE certificate's IP address
extension MUST NOT contain "inherit" elements. delegation extension MUST NOT contain "inherit" elements.
6. Verifying files or data using RSC 6. Verifying Files or Data Using RSC
To verify a set of digital objects with an RSC: To verify a set of digital objects with an RSC:
* The RSC MUST be validated according to the procedure described in * The RSC MUST be validated according to the procedure described in
Section 5. If the RSC cannot be validated, verification MUST Section 5. If the RSC cannot be validated, verification MUST
fail. This error SHOULD be reported to the user. fail. This error SHOULD be reported to the user.
* For every digital object to be verified: * For every digital object to be verified:
1. If the verification procedure is provided with a file name for 1. If the verification procedure is provided with a filename for
the object being verified (e.g. because the user has provided the object being verified (e.g., because the user has provided
a file system path from which to read the object) then a file system path from which to read the object), then
verification SHOULD proceed in "filename-aware" mode. verification SHOULD proceed in "filename-aware" mode.
Otherwise, verification SHOULD proceed in "filename-unaware" Otherwise, verification SHOULD proceed in "filename-unaware"
mode. mode.
Implementations MAY provide an option to override the Implementations MAY provide an option to override the
verification mode, for example to ignore the fact that the verification mode, for example, to ignore the fact that the
object is to be read from a file. object is to be read from a file.
2. The message digest MUST be computed from the file contents or 2. The message digest MUST be computed from the file contents or
data using the digest algorithm specified in the data using the digest algorithm specified in the
digestAlgorithm field of the RSC. digestAlgorithm field of the RSC.
3. The digest computed in step 2 MUST be compared to the value 3. The digest computed in Step 2 MUST be compared to the value
appearing in the hash field of all FileNameAndHash elements of appearing in the hash field of all FileNameAndHash elements of
the checkList field of the RSC. the checkList field of the RSC.
One or more FileNameAndHash elements MUST be found with a One or more FileNameAndHash elements MUST be found with a
matching hash value, otherwise verification MUST fail and the matching hash value; otherwise, verification MUST fail, and
error SHOULD be reported to the user. the error SHOULD be reported to the user.
4. If the mode selected in step 1 is "filename-aware" then 4. If the mode selected in Step 1 is "filename-aware", then
exactly one of the FileNameAndHash elements matched in step 3 exactly one of the FileNameAndHash elements matched in Step 3
MUST contain a fileName field value exactly matching the file MUST contain a fileName field value exactly matching the
name of the object being verified. filename of the object being verified.
Alternatively, if the mode selected in step 1 is "filename- Alternatively, if the mode selected in Step 1 is "filename-
unaware" then exactly one of the FileNameAndHash elements unaware", then exactly one of the FileNameAndHash elements
matched in step 3 MUST have the fileName field omitted. matched in Step 3 MUST have the fileName field omitted.
Otherwise, verification MUST fail, and the error SHOULD be Otherwise, verification MUST fail, and the error SHOULD be
reported to the user. reported to the user.
Note that in the above procedure, not all elements of checkList Note that in the above procedure, not all elements of checkList
necessarily need be used. That is, it is not an error if the length necessarily need be used. That is, it is not an error if the length
of checkList is greater than the size of the set of digital objects of checkList is greater than the size of the set of digital objects
to be verified. However, in this situation, implementations SHOULD to be verified. However, in this situation, implementations SHOULD
issue a warning to the user, allowing for corrective action to be issue a warning to the user, allowing for corrective action to be
taken if necessary. taken if necessary.
7. Operational Considerations 7. Operational Considerations
When creating digital objects of a plain-text nature (such as ASCII, When creating digital objects of a plain-text nature (such as ASCII,
UTF-8, HTML, Javascript, XML, etc.) converting such objects into a UTF-8, HTML, Javascript, and XML), converting such objects into a
lossless compressed form is RECOMMENDED. Distributing plain-text lossless compressed form is RECOMMENDED. Distributing plain-text
objects within a compression envelope (such as GZIP [RFC1952]) might objects within a compression envelope (such as GZIP [RFC1952]) might
help avoid unexpected canonicalization at intermediate systems (which help avoid unexpected canonicalization at intermediate systems (which
in turn would lead to checksum verification errors). Validator in turn would lead to checksum verification errors). Validator
implementations are expected to treat a checksummed digital object as implementations are expected to treat a checksummed digital object as
string of arbitrary single octets. a string of arbitrary single octets.
If a fileName field is present, but no digital object within the set If a fileName field is present, but no digital object within the set
of to-be-verified digital objects has a filename that matches the of to-be-verified digital objects has a filename that matches the
content of that field, a validator implementation SHOULD compare the content of that field, a validator implementation SHOULD compare the
message digest of each digital object to the value from the hash message digest of each digital object to the value from the hash
field of the associated FileNameAndHash and report matches to the field of the associated FileNameAndHash and report matches to the
user for further consideration; or report an error indicating no file user for further consideration.
by that name exists.
8. Security Considerations 8. Security Considerations
Relying parties are hereby warned that the data in a RPKI Signed RPs are hereby warned that the data in an RSC is self-asserted. When
Checklist is self-asserted. When determining the meaning of any data determining the meaning of any data contained in an RSC, RPs MUST NOT
contained in an RPKI Signed Checklist, Relying Parties MUST NOT make make any assumptions about the signer beyond the fact that it had
any assumptions about the signer beyond the fact that it had
sufficient control of the issuing CA to create the object. These sufficient control of the issuing CA to create the object. These
data have not been verified by the Certificate Authority (CA) that data have not been verified by the Certificate Authority (CA) that
issued the CA certificate to the entity that issued the EE issued the CA certificate to the entity that issued the EE
Certificate used to validate the Signed Checklist. certificate used to validate the RSC.
RPKI Certificates are not bound to real world identities, see RPKI certificates are not bound to real-world identities; see
[RFC9255] for an elaboration. Relying Parties can only associate [RFC9255] for an elaboration. RPs can only associate real-world
real world entities to Internet Number Resources by additionally entities to Internet Number Resources by additionally consulting an
consulting an exogenous authority. Signed Checklists are a tool to exogenous authority. RSCs are a tool to communicate assertions
communicate assertions 'signed with Internet Number Resources', not signed with Internet Number Resources and do not communicate any
about any other aspect of the resource holder's business operations other aspect of the resource holder's business operations, such as
such as the identity of the resource holder itself. the identity of the resource holder itself.
RSC objects are not distributed through the RPKI Repository system. RSC objects are not distributed through the RPKI repository system.
From this, it follows that third parties who do not have a copy of a From this, it follows that third parties who do not have a copy of a
given RSC, may not be aware of the existence of that RSC. Since RSC given RSC may not be aware of the existence of that RSC. Since RSC
objects use EE Certificates, but all other currently defined types of objects use EE certificates but all other currently defined types of
RPKI object profiles are published in public CA repositories, an RPKI object profiles are published in public CA repositories, an
observer may infer from discrepancies in the Repository that RSC observer may infer from discrepancies in the repository that RSC
object(s) may exist. For example, if a CA does not use random serial object(s) may exist. For example, if a CA does not use random serial
numbers for Certificates, an observer could detect gaps between the numbers for certificates, an observer could detect gaps between the
serial numbers of the published EE Certificates. Similarly, if the serial numbers of the published EE certificates. Similarly, if the
CA includes a serial number on a CRL that does not match any CA includes a serial number on a Certificate Revocation List (CRL)
published object, an observer could postulate an RSC EE Certificate that does not match any published object, an observer could postulate
was revoked. that an RSC EE certificate was revoked.
Conversely, a gap in serial numbers does not imply that an RSC Conversely, a gap in serial numbers does not imply that an RSC
exists. Nor does an arbitrary (to the RP unknown) serial in a CRL exists. Nor does the presence in a CRL of a serial number unknown to
imply an RSC object exists: the implicitly referenced object might the RP imply an RSC object exists: the implicitly referenced object
not be an RSC, it might have never been published, or was revoked might not be an RSC, it might have never been published, or it may
before it was visible to RPs. In general, it is not possible to have been revoked before it was visible to RPs. In general, it is
confidently infer the existence or non-existence of RSCs from the not possible to confidently infer the existence or non-existence of
Repository state without access to a given RSC. RSCs from the repository state without access to a given RSC.
While a one-time-use EE Certificate must only be used to generate and While a one-time-use EE certificate must only be used to generate and
sign a single RSC object, CAs technically are not restricted from sign a single RSC object, CAs technically are not restricted from
generating and signing multiple different RSC objects with a single generating and signing multiple different RSC objects with a single
keypair. Any RSC objects sharing the same EE Certificate can not be key pair. Any RSC objects sharing the same EE certificate cannot be
revoked individually. revoked individually.
9. Implementation status 9. IANA Considerations
This section is to be removed before publishing as an RFC. 9.1. SMI Security for S/MIME CMS Content Type (1.2.840.113549.1.9.16.1)
This section records the status of known implementations of the IANA has allocated the following in the "SMI Security for S/MIME CMS
protocol defined by this specification at the time of posting of this Content Type (1.2.840.113549.1.9.16.1)" registry:
Internet-Draft, and is based on a proposal described in RFC 7942.
The description of implementations in this section is intended to
assist the IETF in its decision processes in progressing drafts to
RFCs. Please note that the listing of any individual implementation
here does not imply endorsement by the IETF. Furthermore, no effort
has been spent to verify the information presented here that was
supplied by IETF contributors. This is not intended as, and must not
be construed to be, a catalog of available implementations or their
features. Readers are advised to note that other implementations may
exist.
According to RFC 7942, "this will allow reviewers and working groups +=========+=======================+============+
to assign due consideration to documents that have the benefit of | Decimal | Description | References |
running code, which may serve as evidence of valuable experimentation +=========+=======================+============+
and feedback that have made the implemented protocols more mature. | 48 | id-ct-signedChecklist | RFC 9323 |
It is up to the individual working groups to use this information as +---------+-----------------------+------------+
they see fit".
* A signer and validator implementation [rpki-rsc-demo] written in Table 1
Perl based on OpenSSL was provided by Tom Harrison from APNIC.
* A signer implementation [rpkimancer] written in Python was 9.2. RPKI Signed Objects
developed by Ben Maddison.
* Example .sig files were created by Job Snijders with the use of IANA has registered the OID for the RSC in the "RPKI Signed Objects"
OpenSSL. registry [RFC6488] as follows:
* A validator implementation based on OpenBSD rpki-client and +==================+============================+===========+
LibreSSL was developed by Job Snijders. | Name | OID | Reference |
+==================+============================+===========+
| Signed Checklist | 1.2.840.113549.1.9.16.1.48 | RFC 9323 |
+------------------+----------------------------+-----------+
* A validator implementation [FORT] based on the FORT validator was Table 2
developed by Alberto Leiva for a previous version of this
specification.
* A validator implementation [prover] was developed by Mikhail 9.3. RPKI Repository Name Schemes
Puzanov.
10. IANA Considerations IANA has added the Signed Checklist file extension to the "RPKI
Repository Name Schemes" registry [RFC6481] as follows:
10.1. SMI Security for S/MIME CMS Content Type +====================+==================+===========+
(1.2.840.113549.1.9.16.1) | Filename Extension | RPKI Object | Reference |
+====================+==================+===========+
| .sig | Signed Checklist | RFC 9323 |
+--------------------+------------------+-----------+
The IANA has allocated for this document in the "SMI Security for S/ Table 3
MIME CMS Content Type (1.2.840.113549.1.9.16.1)" registry:
Decimal Description References 9.4. SMI Security for S/MIME Module Identifier
--------------------------------------------------------------- (1.2.840.113549.1.9.16.0)
48 id-ct-signedChecklist [draft-ietf-sidrops-rpki-rsc]
Upon publication of this document, IANA is requested to reference the IANA has allocated the following in the "SMI Security for S/MIME
RFC publication instead of this draft. Module Identifier (1.2.840.113549.1.9.16.0)" registry:
10.2. RPKI Signed Objects sub-registry +=========+=================================+============+
| Decimal | Description | References |
+=========+=================================+============+
| 73 | id-mod-rpkiSignedChecklist-2022 | RFC 9323 |
+---------+---------------------------------+------------+
The IANA is requested to register the OID for the RPKI Signed Table 4
Checklist in the "RPKI Signed Objects" registry created by [RFC6488]
as follows:
Name OID Specification 9.5. Media Types
-------------------------------------------------------------
Signed Checklist 1.2.840.113549.1.9.16.1.48 [RFC-TBD]
10.3. File Extension IANA has registered the media type "application/rpki-checklist" in
the "Media Types" registry as follows:
The IANA has temporarily added an item for the Signed Checklist file Type name: application
extension to the "RPKI Repository Name Schemes" registry created by
[RFC6481] as follows:
Filename Extension RPKI Object Reference Subtype name: rpki-checklist
-------------------------------------------------------------------
.sig Signed Checklist [draft-ietf-sidrops-rpki-rsc]
Upon publication of this document, IANA is requested to make this Required parameters: N/A
addition permanent and to reference the RFC publication instead of
this draft.
10.4. SMI Security for S/MIME Module Identifier Optional parameters: N/A
(1.2.840.113549.1.9.16.0)
The IANA has permanently allocated for this document in the "SMI Encoding considerations: binary
Security for S/MIME Module Identifier (1.2.840.113549.1.9.16.0)"
registry:
Decimal Description References Security considerations: Carries an RPKI Signed Checklist. This
----------------------------------------------------------------------- media type contains no active content. See Section 5 of RFC 9323
73 id-mod-rpkiSignedChecklist-2021 [draft-ietf-sidrops-rpki-rsc] for further information.
Upon publication of this document, IANA is requested to update the Interoperability considerations: N/A
"Description" column to read "id-mod-rpkiSignedChecklist-2022", and
to reference the RFC publication instead of this draft.
10.5. Media Type Published specification: RFC 9323
The IANA has registered the media type application/rpki-checklist in Applications that use this media type: RPKI operators
the "Provisional Standard Media Type" registry as follows:
Type name: application Fragment identifier considerations: N/A
Subtype name: rpki-checklist
Required parameters: N/A
Optional parameters: N/A
Encoding considerations: binary
Security considerations: Carries an RPKI Signed Checklist
[RFC-to-be]. This media type contains no active
content. See Section 5 of [RFC-to-be] for further
information.
Interoperability considerations: None
Published specification: This document.
Applications that use this media type: RPKI operators.
Additional information:
Content: This media type is a signed object, as defined
in [RFC6488], which contains a payload of a list of
checksums as defined above in this document.
Magic number(s): None
File extension(s): .sig
Macintosh file type code(s):
Person & email address to contact for further information:
Job Snijders <job@fastly.com>
Intended usage: COMMON
Restrictions on usage: None
Author: Job Snijders <job@fastly.com>
Change controller: IETF
Upon publication of this document, IANA is requested to move this Additional information:
registration to the "Media Types" registry and to reference the RFC
publication instead of this draft.
11. References Content: This media type is a signed object, as defined in
[RFC6488], which contains a payload of a list of checksums as
defined in RFC 9323.
Magic number(s): N/A
File extension(s): .sig
Macintosh file type code(s): N/A
11.1. Normative References Person & email address to contact for further information: Job
Snijders (job@fastly.com)
[POSIX] IEEE and The Open Group, "The Open Group's Base Intended usage: COMMON
Specifications, Issue 7", 2016,
Restrictions on usage: N/A
Author: Job Snijders (job@fastly.com)
Change controller: IETF
10. References
10.1. Normative References
[POSIX] IEEE and The Open Group, "Base Specifications", Issue 7,
DOI 10.1109/IEEESTD.2016.7582338, 2016,
<https://publications.opengroup.org/standards/unix/c165>. <https://publications.opengroup.org/standards/unix/c165>.
[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 15, line 38 skipping to change at line 637
[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>.
[RFC9286] Austein, R., Huston, G., Kent, S., and M. Lepinski, [RFC9286] Austein, R., Huston, G., Kent, S., and M. Lepinski,
"Manifests for the Resource Public Key Infrastructure "Manifests for the Resource Public Key Infrastructure
(RPKI)", RFC 9286, DOI 10.17487/RFC9286, June 2022, (RPKI)", RFC 9286, DOI 10.17487/RFC9286, June 2022,
<https://www.rfc-editor.org/info/rfc9286>. <https://www.rfc-editor.org/info/rfc9286>.
11.2. Informative References 10.2. Informative References
[FORT] LACNIC and NIC.MX, "FORT", May 2021,
<https://github.com/NICMx/FORT-validator>.
[I-D.ietf-sidrops-rpki-rta]
Michaelson, G. G., Huston, G., Harrison, T., Bruijnzeels,
T., and M. Hoffmann, "A profile for Resource Tagged
Attestations (RTAs)", Work in Progress, Internet-Draft,
draft-ietf-sidrops-rpki-rta-00, 21 January 2021,
<https://www.ietf.org/archive/id/draft-ietf-sidrops-rpki-
rta-00.txt>.
[IANA.ADDRESS-FAMILY-NUMBERS] [IANA.ADDRESS-FAMILY-NUMBERS]
IANA, "Address Family Numbers", 19 October 2021, IANA, "Address Family Numbers",
<http://www.iana.org/assignments/address-family-numbers>. <https://www.iana.org/assignments/address-family-numbers>.
[prover] Puzanov, M., "rpki-prover", September 2022,
<https://github.com/lolepezy/rpki-prover/pull/126/files>.
[RFC1952] Deutsch, P., "GZIP file format specification version 4.3", [RFC1952] Deutsch, P., "GZIP file format specification version 4.3",
RFC 1952, DOI 10.17487/RFC1952, May 1996, RFC 1952, DOI 10.17487/RFC1952, May 1996,
<https://www.rfc-editor.org/info/rfc1952>. <https://www.rfc-editor.org/info/rfc1952>.
[RFC6268] Schaad, J. and S. Turner, "Additional New ASN.1 Modules [RFC6268] Schaad, J. and S. Turner, "Additional New ASN.1 Modules
for the Cryptographic Message Syntax (CMS) and the Public for the Cryptographic Message Syntax (CMS) and the Public
Key Infrastructure Using X.509 (PKIX)", RFC 6268, Key Infrastructure Using X.509 (PKIX)", RFC 6268,
DOI 10.17487/RFC6268, July 2011, DOI 10.17487/RFC6268, July 2011,
<https://www.rfc-editor.org/info/rfc6268>. <https://www.rfc-editor.org/info/rfc6268>.
[RFC6480] Lepinski, M. and S. Kent, "An Infrastructure to Support [RFC6480] Lepinski, M. and S. Kent, "An Infrastructure to Support
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>.
[RFC9255] Bush, R. and R. Housley, "The 'I' in RPKI Does Not Stand [RFC9255] Bush, R. and R. Housley, "The 'I' in RPKI Does Not Stand
for Identity", RFC 9255, DOI 10.17487/RFC9255, June 2022, for Identity", RFC 9255, DOI 10.17487/RFC9255, June 2022,
<https://www.rfc-editor.org/info/rfc9255>. <https://www.rfc-editor.org/info/rfc9255>.
[rpki-rsc-demo] [RPKI-RTA] Michaelson, G., Huston, G., Harrison, T., Bruijnzeels, T.,
Harrison, T., "A proof-of-concept for constructing and and M. Hoffman, "A profile for Resource Tagged
validating RPKI Signed Checklists (RSCs).", February 2021, Attestations (RTAs)", Work in Progress, Internet-Draft,
<https://github.com/APNIC-net/rpki-rsc-demo>. draft-ietf-sidrops-rpki-rta-00, 17 January 2021,
<https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-
[rpkimancer] rpki-rta-00>.
Maddison, B., "rpkimancer", May 2021,
<https://github.com/benmaddison/rpkimancer>.
[signify] Unangst, T. and M. Espie, "signify - cryptographically [signify] Unangst, T. and M. Espie, "signify - cryptographically
sign and verify files", May 2014, sign and verify files", <https://man.openbsd.org/signify>.
<https://man.openbsd.org/signify>.
Appendix A. Acknowledgements Acknowledgements
The authors wish to thank George Michaelson, Geoff Huston, Randy The authors wish to thank George Michaelson, Geoff Huston, Randy
Bush, Stephen Kent, Matt Lepinski, Rob Austein, Ted Unangst, and Marc Bush, Stephen Kent, Matt Lepinski, Rob Austein, Ted Unangst, and Marc
Espie for prior art. The authors thank Russ Housley for reviewing Espie for prior art. The authors thank Russ Housley for reviewing
the ASN.1 notation and providing suggestions. The authors would like the ASN.1 notation and providing suggestions. The authors would like
to thank Nimrod Levy, Tim Bruijnzeels, Alberto Leiva, Ties de Kock, to thank Nimrod Levy, Tim Bruijnzeels, Alberto Leiva, Ties de Kock,
Peter Peele, Claudio Jeker, Theo Buehler, Donald Eastlake, Erik Peter Peele, Claudio Jeker, Theo Buehler, Donald Eastlake 3rd, Erik
Kline, Robert Wilton, Roman Danyliw, &#201;ric Vyncke, Lars Eggert, Kline, Robert Wilton, Roman Danyliw, Éric Vyncke, Lars Eggert, Paul
Paul Wouters, and Murray S. Kucherawy for document review and Wouters, and Murray S. Kucherawy for document review and suggestions.
suggestions.
Appendix B. Document changelog
This section is to be removed before publishing as an RFC.
B.1. changes from -10 -> -11
* Incorporate feedback from Robert Wilton.
* Incorporate feedback from Roman Danyliw.
* Incorporate feedback from &#201;ric Vyncke.
* Add Mikhail Puzanov's implementation.
* Incorporate feedback from Lars Eggert's review.
* Incorporate feedback from Paul Wouters.
* Incorporate feedback from Murray S. Kucherawy.
B.2. changes from -09 -> -10
* Incorporate SECDIR feedback.
B.3. changes from -08 -> -09
* Updated manifests refs to RFC9286
* Added normative ref to RFC6268 (CMS)
* Cleaned up ASN.1 formatting
* Updated ASN.1 module OID following early allocation
* Updated draft-ietf-sidrops-rpki-has-no-identity to RFC9255
* Clean up IANA considerations
B.4. changes from -07 -> -08
* Theo requested explanation as to why fileName is OPTIONAL
* Russ & Randy requested implementor guidance when RFC3779-generated
data fails to decode
* Added uniqueness constraints for fileName and hash contents
* Improved validation and verification procedure description
* Incorporated character-set constraints for fileName in ASN.1
module
B.5. changes from -06 -> -07
* Change wire format to allow use of commonly deployed libcrypto
APIs.
B.6. changes from -05 -> -06
* Non-content-related updates.
B.7. changes from -04 -> -05
* Ties contributed clarifications.
B.8. changes from -03 -> -04
* Alberto pointed out the asID validation also needs to be
documented.
B.9. changes from -02 -> -03
* Reference the IANA assigned OID
* Clarify validation rules
B.10. changes from -01 -> -02
* Clarify RSC is part of a puzzle, not panacea. Thanks Randy &
Russ.
B.11. changes from -00 -> -01
* Readability improvements
* Update document category to match the registry allocation policy
requirement.
B.12. individual submission phase
* On-the-wire change: the 'Filename' switched from 'required' to
'optional'. Some SIDROPS Working Group participants proposed a
checksum itself is the most minimal information required to
address digital objects.
Authors' Addresses Authors' Addresses
Job Snijders Job Snijders
Fastly Fastly
Amsterdam Amsterdam
Netherlands Netherlands
Email: job@fastly.com Email: job@fastly.com
Tom Harrison Tom Harrison
 End of changes. 104 change blocks. 
448 lines changed or deleted 288 lines changed or added

This html diff was produced by rfcdiff 1.48.