idnits 2.17.1 draft-ietf-sidrops-rpki-rsc-07.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 2 instances of too long lines in the document, the longest one being 16 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (19 May 2022) is 708 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC6268' is mentioned on line 175, but not defined -- Looks like a reference, but probably isn't: '0' on line 217 -- Looks like a reference, but probably isn't: '1' on line 205 == Missing Reference: 'IANA-AFI' is mentioned on line 277, but not defined == Missing Reference: 'IANA-SAFI' is mentioned on line 277, but not defined == Missing Reference: 'RFC-TBD' is mentioned on line 493, but not defined ** Obsolete normative reference: RFC 6486 (Obsoleted by RFC 9286) Summary: 2 errors (**), 0 flaws (~~), 5 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group J. Snijders 3 Internet-Draft Fastly 4 Intended status: Standards Track T. Harrison 5 Expires: 20 November 2022 APNIC 6 B. Maddison 7 Workonline 8 19 May 2022 10 A profile for Resource Public Key Infrastructure (RPKI) Signed 11 Checklists (RSC) 12 draft-ietf-sidrops-rpki-rsc-07 14 Abstract 16 This document defines a Cryptographic Message Syntax (CMS) profile 17 for a general purpose listing of checksums (a 'checklist'), for use 18 with the Resource Public Key Infrastructure (RPKI). The objective is 19 to allow an attestation, in the form of a listing of one or more 20 checksums of arbitrary digital objects (files), to be signed "with 21 resources", and for validation to provide a means to confirm a 22 specific Internet Resource Holder produced the Signed Checklist. The 23 profile is intended to provide for the signing of an arbitrary 24 checksum listing with a specific set of Internet Number Resources. 26 Requirements Language 28 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 29 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 30 "OPTIONAL" in this document are to be interpreted as described in BCP 31 14 [RFC2119] [RFC8174] when, and only when, they appear in all 32 capitals, as shown here. 34 Status of This Memo 36 This Internet-Draft is submitted in full conformance with the 37 provisions of BCP 78 and BCP 79. 39 Internet-Drafts are working documents of the Internet Engineering 40 Task Force (IETF). Note that other groups may also distribute 41 working documents as Internet-Drafts. The list of current Internet- 42 Drafts is at https://datatracker.ietf.org/drafts/current/. 44 Internet-Drafts are draft documents valid for a maximum of six months 45 and may be updated, replaced, or obsoleted by other documents at any 46 time. It is inappropriate to use Internet-Drafts as reference 47 material or to cite them other than as "work in progress." 48 This Internet-Draft will expire on 20 November 2022. 50 Copyright Notice 52 Copyright (c) 2022 IETF Trust and the persons identified as the 53 document authors. All rights reserved. 55 This document is subject to BCP 78 and the IETF Trust's Legal 56 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 57 license-info) in effect on the date of publication of this document. 58 Please review these documents carefully, as they describe your rights 59 and restrictions with respect to this document. Code Components 60 extracted from this document must include Revised BSD License text as 61 described in Section 4.e of the Trust Legal Provisions and are 62 provided without warranty as described in the Revised BSD License. 64 Table of Contents 66 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 67 2. RSC Profile and Distribution . . . . . . . . . . . . . . . . 3 68 2.1. RSC End-Entity Certificates . . . . . . . . . . . . . . . 4 69 3. The RSC ContentType . . . . . . . . . . . . . . . . . . . . . 4 70 4. The RSC eContent . . . . . . . . . . . . . . . . . . . . . . 4 71 4.1. version . . . . . . . . . . . . . . . . . . . . . . . . . 5 72 4.2. resources . . . . . . . . . . . . . . . . . . . . . . . . 5 73 4.2.1. ConstrainedASIdentifiers type . . . . . . . . . . . . 6 74 4.2.2. ConstrainedIPAddrBlocks type . . . . . . . . . . . . 6 75 4.3. digestAlgorithm . . . . . . . . . . . . . . . . . . . . . 7 76 4.4. checkList . . . . . . . . . . . . . . . . . . . . . . . . 7 77 5. RSC Validation . . . . . . . . . . . . . . . . . . . . . . . 7 78 6. Operational Considerations . . . . . . . . . . . . . . . . . 8 79 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 80 8. Implementation status . . . . . . . . . . . . . . . . . . . . 9 81 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 82 9.1. SMI Security for S/MIME CMS Content Type 83 (1.2.840.113549.1.9.16.1) . . . . . . . . . . . . . . . . 10 84 9.2. RPKI Signed Objects sub-registry . . . . . . . . . . . . 10 85 9.3. File Extension . . . . . . . . . . . . . . . . . . . . . 11 86 9.4. SMI Security for S/MIME Module Identifier 87 (1.2.840.113549.1.9.16.0) . . . . . . . . . . . . . . . . 11 88 9.5. Media Type . . . . . . . . . . . . . . . . . . . . . . . 11 89 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 90 10.1. Normative References . . . . . . . . . . . . . . . . . . 12 91 10.2. Informative References . . . . . . . . . . . . . . . . . 13 92 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 14 93 Appendix B. Document changelog . . . . . . . . . . . . . . . . . 14 94 B.1. changes from -06 -> -07 . . . . . . . . . . . . . . . . . 14 95 B.2. changes from -05 -> -06 . . . . . . . . . . . . . . . . . 14 96 B.3. changes from -04 -> -05 . . . . . . . . . . . . . . . . . 14 97 B.4. changes from -03 -> -04 . . . . . . . . . . . . . . . . . 15 98 B.5. changes from -02 -> -03 . . . . . . . . . . . . . . . . . 15 99 B.6. changes from -01 -> -02 . . . . . . . . . . . . . . . . . 15 100 B.7. changes from -00 -> -01 . . . . . . . . . . . . . . . . . 15 101 B.8. individual submission phase . . . . . . . . . . . . . . . 15 102 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 104 1. Introduction 106 This document defines a Cryptographic Message Syntax (CMS) [RFC5652] 107 profile for a general purpose listing of checksums (a 'checklist'), 108 for use with the Resource Public Key Infrastructure (RPKI) [RFC6480]. 109 The objective is to allow an attestation, in the form of a listing of 110 one or more checksums of arbitrary files, to be signed "with 111 resources", and for validation to provide a means to confirm a given 112 Internet Resource Holder produced the RPKI Signed Checklist (RSC). 113 The profile is intended to provide for the signing of a checksum 114 listing with a specific set of Internet Number Resources. 116 Signed Checklists are expected to facilitate inter-domain business 117 use-cases which depend on an ability to verify resource holdership. 118 RPKI-based validation processes are expected to become the industry 119 norm for automated Bring Your Own IP (BYOIP) on-boarding or 120 establishment of physical interconnection between Autonomous Systems. 122 The RSC concept borrows heavily from RTA [I-D.ietf-sidrops-rpki-rta], 123 Manifests [RFC6486], and OpenBSD's [signify] utility. The main 124 difference between RSC and RTA is that the RTA profile allows 125 multiple signers to attest a single digital object through a checksum 126 of its content, while the RSC profile allows a single signer to 127 attest the existence of multiple digital objects. A single signer 128 profile is considered a simplification for both implementers and 129 operators. 131 2. RSC Profile and Distribution 133 RSC follows the Signed Object Template for the RPKI [RFC6488] with 134 one exception. Because RSCs MUST NOT be distributed through the 135 global RPKI Repository system, the Subject Information Access (SIA) 136 extension MUST be omitted from the RSC's X.509 End-Entity (EE) 137 certificate. 139 What constitutes suitable transport for RSC files is deliberately 140 unspecified. It might be a USB stick, a web interface secured with 141 conventional HTTPS, PGP-signed email, a T-shirt printed with a QR 142 code, or a carrier pigeon. 144 2.1. RSC End-Entity Certificates 146 The CA MUST only sign one RSC with each EE Certificate, and MUST 147 generate a new key pair for each new RSC. This form of use of the 148 associated EE Certificate is termed a "one-time-use" EE certificate 149 Section 3 of [RFC6487]. 151 3. The RSC ContentType 153 The ContentType for an RSC is defined as rpkiSignedChecklist, and has 154 the numerical value of 1.2.840.113549.1.9.16.1.48. 156 This OID MUST appear both within the eContentType in the 157 encapContentInfo object as well as the ContentType signed attribute 158 in the signerInfo object (see [RFC6488]). 160 4. The RSC eContent 162 The content of an RSC indicates that a checklist for arbitrary 163 digital objects has been signed "with resources". An RSC is formally 164 defined as: 166 RpkiSignedChecklist-2022 167 { iso(1) member-body(2) us(840) rsadsi(113549) 168 pkcs(1) pkcs9(9) smime(16) mod(0) TBD } 170 DEFINITIONS EXPLICIT TAGS ::= 171 BEGIN 173 IMPORTS 174 CONTENT-TYPE, Digest, DigestAlgorithmIdentifier 175 FROM CryptographicMessageSyntax-2010 -- in [RFC6268] 176 { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 177 pkcs-9(9) smime(16) modules(0) id-mod-cms-2009(58) } 179 IPAddressOrRange, ASIdOrRange 180 FROM IPAddrAndASCertExtn -- in [RFC3779] 181 { iso(1) identified-organization(3) dod(6) internet(1) 182 security(5) mechanisms(5) pkix(7) mod(0) 183 id-mod-ip-addr-and-as-ident(30) } ; 185 ct-rpkiSignedChecklist CONTENT-TYPE ::= 186 { TYPE RpkiSignedChecklist IDENTIFIED BY 187 id-ct-signedChecklist } 189 id-ct-signedChecklist OBJECT IDENTIFIER ::= 190 { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 191 pkcs-9(9) id-smime(16) id-ct(1) 48 } 193 RpkiSignedChecklist ::= SEQUENCE { 194 version [0] INTEGER DEFAULT 0, 195 resources ResourceBlock, 196 digestAlgorithm DigestAlgorithmIdentifier, 197 checkList SEQUENCE SIZE (1..MAX) OF FileNameAndHash } 199 FileNameAndHash ::= SEQUENCE { 200 fileName IA5String OPTIONAL, 201 hash Digest } 203 ResourceBlock ::= SEQUENCE { 204 asID [0] ConstrainedASIdentifiers OPTIONAL, 205 ipAddrBlocks [1] ConstrainedIPAddrBlocks OPTIONAL } 206 -- at least one of asID or ipAddrBlocks MUST be present 207 ( WITH COMPONENTS { ..., asID PRESENT} | 208 WITH COMPONENTS { ..., ipAddrBlocks PRESENT } ) 210 ConstrainedIPAddrBlocks ::= SEQUENCE (SIZE(1..MAX)) OF ConstrainedIPAddressFamily 212 ConstrainedIPAddressFamily ::= SEQUENCE { -- AFI & opt SAFI -- 213 addressFamily OCTET STRING (SIZE (2)), 214 addressesOrRanges SEQUENCE (SIZE(1..MAX)) OF IPAddressOrRange } 216 ConstrainedASIdentifiers ::= SEQUENCE { 217 asnum [0] SEQUENCE (SIZE(1..MAX)) OF ASIdOrRange } 219 END 221 4.1. version 223 The version number of the RpkiSignedChecklist MUST be 0. 225 4.2. resources 227 The resources contained here are the resources used to mark the 228 attestation, and MUST be a subset of the set of resources listed by 229 the EE Certificate carried in the CMS certificates field. 231 If the asID field is present, it MUST contain an instance of 232 ConstrainedASIdentifiers. 234 If the ipAddrBlocks field is present, it MUST contain an instance of 235 ConstrainedIPAddrBlocks. 237 Each of ConstrainedASIdentifiers and ConstrainedIPAddrBlocks are 238 specified such that the resulting DER encoded data instances are 239 binary compatible with, respectively, ASIdentifiers and IPAddrBlocks 240 defined in [RFC3779]. 242 4.2.1. ConstrainedASIdentifiers type 244 ConstrainedASIdentifiers is a SEQUENCE, constisting of a single field 245 "asnum", itself containing a SEQUENCE OF one or more ASIdOrRange 246 instances as defined in [RFC3779]. 248 ConstrainedASIdentifiers is defined such that the resulting DER 249 encoded data are binary compatible with ASIdentifiers defined in 250 [RFC3779]. 252 4.2.2. ConstrainedIPAddrBlocks type 254 ConstrainedIPAddrBlocks is a SEQUENCE OF one or more instances of 255 ConstrainedIPAddressFamily. 257 There MUST be only one instance of ConstrainedIPAddressFamily per 258 unique AFI. 260 The elements of ConstrainedIPAddressFamily MUST be ordered by 261 ascending addressFamily values (treating the octets as unsigned 262 numbers). Thus, when both IPv4 and IPv6 addresses are specified, the 263 IPv4 addresses MUST precede the IPv6 addresses (since the IPv4 AFI of 264 0001 is less than the IPv6 AFI of 0002). 266 ConstrainedIPAddrBlocks is defined such that the resulting DER 267 encoded data are binary compatible with IPAddrBlocks defined in 268 [RFC3779]. 270 4.2.2.1. ConstrainedIPAddressFamily type 272 4.2.2.1.1. addressFamily field 274 The addressFamily field is an OCTET STRING containing a two-octet 275 Address Family Identifier (AFI), in network byte order. Unlike 276 IPAddrBlocks [RFC3779], a third octet containing a SAFI MUST NOT be 277 present. AFIs and SAFIs are specified in [IANA-AFI] and [IANA-SAFI], 278 respectively. 280 4.2.2.1.2. addressesOrRanges field 282 The addressesOrRanges element is a SEQUENCE OF (one or more) 283 IPAddressOrRange values, as defined in [RFC3779]. The rules for 284 canonicalization and encoding defined in section 2.2.3.6 [RFC3779] 285 apply of the value of addressesOrRanges. 287 4.3. digestAlgorithm 289 The digest algorithm used to create the message digest of the 290 attested digital object. This algorithm MUST be a hashing algorithm 291 defined in [RFC7935]. 293 4.4. checkList 295 This field is a sequence of FileNameAndHash objects. There is one 296 FileNameAndHash entry for each arbitrary object referenced on the 297 Signed Checklist. Each FileNameAndHash is an ordered pair of the 298 name of the directory entry containing the digital object and the 299 message digest of the digital object. The filename field is 300 OPTIONAL. 302 5. RSC Validation 304 Before a Relying Party can use an RSC to validate a set of digital 305 objects, the Relying Party MUST first validate the RSC. To validate 306 an RSC, the Relying Party MUST perform all the validation checks 307 specified in [RFC6488] (except checking for the presence of a SIA 308 extension), and perform the following additional RSC-specific 309 validation steps: 311 1. The RSC specification deviates from Section 4.8.8.2 of [RFC6487], 312 the Subject Information Access extension MUST NOT be present on 313 the End-Entity (EE) certificate signing the RSC. 315 2. The IP Addresses and AS Identifiers extension [RFC3779] is 316 present in the end-entity (EE) certificate (contained within the 317 RSC), and each IP address prefix(es) and/or AS Identifier(s) in 318 the RSC is contained within the set of IP addresses specified by 319 the EE Certificate's IP Addresses and AS Identifiers delegation 320 extension. 322 3. For each FileNameAndHash entry in the RSC, if a filename field is 323 present, the field's content MUST contain only characters 324 specified in the Portable Filename Character Set as defined in 325 [POSIX]. 327 To verify a set of digital objects with an RSC: 329 * The message digest of each referenced digital object, using the 330 digest algorithm specified in the the digestAlgorithm field, MUST 331 be calculated and MUST match the value given in the messageDigest 332 field of the associated FileNameAndHash, for the digital object to 333 be considered as verified with the RSC. 335 6. Operational Considerations 337 When creating digital objects of a plain-text nature (such as ASCII, 338 UTF-8, HTML, Javascript, XML, etc) it is RECOMMENDED to convert such 339 objects into a lossless compressed form. Distributing plain-text 340 objects within a compression envelope (such as GZIP [RFC1952]) might 341 help avoid unexpected canonicalization at intermediate systems (which 342 in turn would lead to checksum verification errors). Validator 343 implementations are expected to treat a checksummed digital object as 344 string of arbitrary single octets. 346 If a filename field is present, but no referenced digital object has 347 a filename that matches the content of that field, a validator 348 implementation SHOULD compare the message digest of each digital 349 object to the value from the messageDigest field of the associated 350 FileNameAndHash, and report matches to the client for further 351 consideration. 353 7. Security Considerations 355 Relying parties are hereby warned that the data in a RPKI Signed 356 Checklist is self-asserted. When determining the meaning of any data 357 contained in an RPKI Signed Checklist, Relying Parties MUST NOT make 358 any assumptions about the signer beyond the fact that it had 359 sufficient control of the issuing CA to create the object. These 360 data have not been verified by the Certificate Authority (CA) that 361 issued the CA certificate to the entity that issued the EE 362 Certificate used to validate the Signed Checklist. 364 RPKI Certificates are not bound to real world identities, see 365 [I-D.ymbk-sidrops-rpki-has-no-identity] for an elaboration. Relying 366 Parties can only associate real world entities to Internet Number 367 Resources by additionally consulting an exogenous authority. Signed 368 Checklists are a tool to communicate assertions 'signed with Internet 369 Number Resources', not about any other aspect of the resource 370 holder's business operations such as the identity of the resource 371 holder itself. 373 RSC objects are not distributed through the RPKI Repository system. 374 From this, it follows that third parties who do not have a copy of a 375 given RSC, may not be aware of the existence of that RSC. Since RSC 376 objects use EE Certificates, but all other currently defined types of 377 RPKI object profiles are published in public CA repositories, an 378 observer may infer from discrepancies in the Repository that RSC 379 object(s) may exist. For example, if a CA does not use random serial 380 numbers for Certificates, an observer could detect gaps between the 381 serial numbers of the published EE Certificates. Similarly, if the 382 CA includes a serial number on a CRL that does not match any 383 published object, an observer could postulate an RSC EE Certificate 384 was revoked. 386 Conversely, a gap in serial numbers does not imply that an RSC 387 exists. Nor does an arbitrary (to the RP unknown) serial in a CRL 388 imply an RSC object exists: the implicitly referenced object might 389 not be a RSC, it might never have been published, or was revoked 390 before it was visible to RPs. In general, it is not possible to 391 confidently infer the existence or non-existence of RSCs from the 392 Repository state without access to a given RSC. 394 While an one-time-use EE Certificate must only be used to generate 395 and sign a single RSC object, CAs technically are not restricted from 396 generating and signing multiple different RSC objects with a single 397 keypair. Any RSC objects sharing the same EE Certificate can not be 398 revoked individually. 400 8. Implementation status 402 This section is to be removed before publishing as an RFC. 404 This section records the status of known implementations of the 405 protocol defined by this specification at the time of posting of this 406 Internet-Draft, and is based on a proposal described in RFC 7942. 407 The description of implementations in this section is intended to 408 assist the IETF in its decision processes in progressing drafts to 409 RFCs. Please note that the listing of any individual implementation 410 here does not imply endorsement by the IETF. Furthermore, no effort 411 has been spent to verify the information presented here that was 412 supplied by IETF contributors. This is not intended as, and must not 413 be construed to be, a catalog of available implementations or their 414 features. Readers are advised to note that other implementations may 415 exist. 417 According to RFC 7942, "this will allow reviewers and working groups 418 to assign due consideration to documents that have the benefit of 419 running code, which may serve as evidence of valuable experimentation 420 and feedback that have made the implemented protocols more mature. 421 It is up to the individual working groups to use this information as 422 they see fit". 424 * A signer and validator implementation [rpki-rsc-demo] written in 425 Perl based on OpenSSL was provided by Tom Harrison from APNIC. 427 * A signer implementation [rpkimancer] written in Python was 428 developed by Ben Maddison. 430 * Example .sig files were created by Job Snijders with the use of 431 OpenSSL. 433 * A validator implementation based on OpenBSD rpki-client and 434 LibreSSL was developed by Job Snijders. 436 * A validator implementation [FORT] based on the FORT validator was 437 developed by Alberto Leiva. 439 9. IANA Considerations 441 9.1. SMI Security for S/MIME CMS Content Type (1.2.840.113549.1.9.16.1) 443 The IANA has permanently allocated for this document in the SMI 444 Security for S/MIME CMS Content Type (1.2.840.113549.1.9.16.1) 445 registry: 447 Decimal Description References 448 --------------------------------------------------------------- 449 48 id-ct-signedChecklist [draft-ietf-sidrops-rpki-rsc] 451 Upon publication of this document, IANA is requested to reference the 452 RFC publication instead of this draft. 454 9.2. RPKI Signed Objects sub-registry 456 The IANA is requested to register the OID for the RPKI Signed 457 Checklist in the registry created by [RFC6488] as following: 459 Name OID Specification 460 ------------------------------------------------------------- 461 Signed Checklist 1.2.840.113549.1.9.16.1.48 [draft-ietf-sidrops-rpki-rsc] 462 9.3. File Extension 464 The IANA is requested to add an item for the Signed Checklist file 465 extension to the "RPKI Repository Name Scheme" registry created by 466 [RFC6481] as follows: 468 Filename Extension RPKI Object Reference 469 ------------------------------------------------------------------- 470 .sig Signed Checklist [draft-ietf-sidrops-rpki-rsc] 472 9.4. SMI Security for S/MIME Module Identifier 473 (1.2.840.113549.1.9.16.0) 475 The IANA is requested to add an item to the "SMI Security for S/MIME 476 Module Identifier" registry as follows: 478 Decimal Description References 479 ----------------------------------------------------------------------- 480 TBD id-mod-rpkiSignedChecklist-2021 [draft-ietf-sidrops-rpki-rsc] 482 9.5. Media Type 484 The IANA is requested to register the media type application/rpki- 485 checklist in the Provisional Standard Media Type registry as follows: 487 Type name: application 488 Subtype name: rpki-checklist 489 Required parameters: None 490 Optional parameters: None 491 Encoding considerations: binary 492 Security considerations: Carries an RPKI Signed Checklist 493 [RFC-TBD]. 494 Interoperability considerations: None 495 Published specification: This document. 496 Applications that use this media type: RPKI operators. 497 Additional information: 498 Content: This media type is a signed object, as defined 499 in [RFC6488], which contains a payload of a list of 500 checksums as defined above in this document. 501 Magic number(s): None 502 File extension(s): .sig 503 Macintosh file type code(s): 504 Person & email address to contact for further information: 505 Job Snijders 506 Intended usage: COMMON 507 Restrictions on usage: None 508 Author: Job Snijders 509 Change controller: Job Snijders 511 10. References 513 10.1. Normative References 515 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 516 Requirement Levels", BCP 14, RFC 2119, 517 DOI 10.17487/RFC2119, March 1997, 518 . 520 [RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP 521 Addresses and AS Identifiers", RFC 3779, 522 DOI 10.17487/RFC3779, June 2004, 523 . 525 [RFC5652] Housley, R., "Cryptographic Message Syntax (CMS)", STD 70, 526 RFC 5652, DOI 10.17487/RFC5652, September 2009, 527 . 529 [RFC6481] Huston, G., Loomans, R., and G. Michaelson, "A Profile for 530 Resource Certificate Repository Structure", RFC 6481, 531 DOI 10.17487/RFC6481, February 2012, 532 . 534 [RFC6486] Austein, R., Huston, G., Kent, S., and M. Lepinski, 535 "Manifests for the Resource Public Key Infrastructure 536 (RPKI)", RFC 6486, DOI 10.17487/RFC6486, February 2012, 537 . 539 [RFC6487] Huston, G., Michaelson, G., and R. Loomans, "A Profile for 540 X.509 PKIX Resource Certificates", RFC 6487, 541 DOI 10.17487/RFC6487, February 2012, 542 . 544 [RFC6488] Lepinski, M., Chi, A., and S. Kent, "Signed Object 545 Template for the Resource Public Key Infrastructure 546 (RPKI)", RFC 6488, DOI 10.17487/RFC6488, February 2012, 547 . 549 [RFC7935] Huston, G. and G. Michaelson, Ed., "The Profile for 550 Algorithms and Key Sizes for Use in the Resource Public 551 Key Infrastructure", RFC 7935, DOI 10.17487/RFC7935, 552 August 2016, . 554 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 555 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 556 May 2017, . 558 10.2. Informative References 560 [FORT] LACNIC and NIC.MX, "FORT", May 2021, 561 . 563 [I-D.ietf-sidrops-rpki-rta] 564 Michaelson, G., Huston, G., Harrison, T., Bruijnzeels, T., 565 and M. Hoffmann, "A profile for Resource Tagged 566 Attestations (RTAs)", Work in Progress, Internet-Draft, 567 draft-ietf-sidrops-rpki-rta-00, 21 January 2021, 568 . 571 [I-D.ymbk-sidrops-rpki-has-no-identity] 572 Bush, R. and R. Housley, "The I in RPKI does not stand for 573 Identity", Work in Progress, Internet-Draft, draft-ymbk- 574 sidrops-rpki-has-no-identity-00, 16 March 2021, 575 . 578 [POSIX] IEEE and The Open Group, "The Open Group's Base 579 Specifications, Issue 7", 2016, 580 . 582 [RFC1952] Deutsch, P., "GZIP file format specification version 4.3", 583 RFC 1952, DOI 10.17487/RFC1952, May 1996, 584 . 586 [RFC6480] Lepinski, M. and S. Kent, "An Infrastructure to Support 587 Secure Internet Routing", RFC 6480, DOI 10.17487/RFC6480, 588 February 2012, . 590 [rpki-rsc-demo] 591 Harrison, T., "A proof-of-concept for constructing and 592 validating RPKI Signed Checklists (RSCs).", February 2021, 593 . 595 [rpkimancer] 596 Maddison, B., "rpkimancer", May 2021, 597 . 599 [signify] Unangst, T. and M. Espie, "signify - cryptographically 600 sign and verify files", May 2014, 601 . 603 Appendix A. Acknowledgements 605 The authors wish to thank George Michaelson, Geoff Huston, Randy 606 Bush, Stephen Kent, Matt Lepinski, Rob Austein, Ted Unangst, and Marc 607 Espie for prior art. The authors thank Russ Housley for reviewing 608 the ASN.1 notation and providing suggestions. The authors would like 609 to thank Nimrod Levy, Tim Bruijnzeels, Alberto Leiva, Ties de Kock, 610 Peter Peele, Claudio Jeker, and Theo Buehler for document review and 611 suggestions. 613 Appendix B. Document changelog 615 This section is to be removed before publishing as an RFC. 617 B.1. changes from -06 -> -07 619 * Change wire format to allow use of commonly deployed libcrypto 620 APIs. 622 B.2. changes from -05 -> -06 624 * Non-content-related updates. 626 B.3. changes from -04 -> -05 628 * Ties contributed clarifications. 630 B.4. changes from -03 -> -04 632 * Alberto pointed out the asID validation also needs to be 633 documented. 635 B.5. changes from -02 -> -03 637 * Reference the IANA assigned OID 639 * Clarify validation rules 641 B.6. changes from -01 -> -02 643 * Clarify RSC is part of a puzzle, not panacea. Thanks Randy & 644 Russ. 646 B.7. changes from -00 -> -01 648 * Readability improvements 650 * Update document category to match the registry allocation policy 651 requirement. 653 B.8. individual submission phase 655 * On-the-wire change: the 'Filename' switched from 'required' to 656 'optional'. Some SIDROPS Working Group participants proposed a 657 checksum itself is the most minimal information required to 658 address digital objects. 660 Authors' Addresses 662 Job Snijders 663 Fastly 664 Amsterdam 665 Netherlands 666 Email: job@fastly.com 668 Tom Harrison 669 Asia Pacific Network Information Centre 670 6 Cordelia St 671 South Brisbane QLD 4101 672 Australia 673 Email: tomh@apnic.net 674 Ben Maddison 675 Workonline Communications 676 Cape Town 677 South Africa 678 Email: benm@workonline.africa