rfc9286v2.txt   rfc9286.txt 
Internet Engineering Task Force (IETF) R. Austein Internet Engineering Task Force (IETF) R. Austein
Request for Comments: 9286 Arrcus, Inc. Request for Comments: 9286 Arrcus, Inc.
Obsoletes: 6486 G. Huston Obsoletes: 6486 G. Huston
Category: Standards Track APNIC Category: Standards Track APNIC
ISSN: 2070-1721 S. Kent ISSN: 2070-1721 S. Kent
Independent Independent
M. Lepinski M. Lepinski
New College Florida New College Florida
May 2022 June 2022
Manifests for the Resource Public Key Infrastructure (RPKI) Manifests for the Resource Public Key Infrastructure (RPKI)
Abstract Abstract
This document defines a "manifest" for use in the Resource Public Key This document defines a "manifest" for use in the Resource Public Key
Infrastructure (RPKI). A manifest is a signed object (file) that Infrastructure (RPKI). A manifest is a signed object (file) that
contains a listing of all the signed objects (files) in the contains a listing of all the signed objects (files) in the
repository publication point (directory) associated with an authority repository publication point (directory) associated with an authority
responsible for publishing in the repository. For each certificate, responsible for publishing in the repository. For each certificate,
skipping to change at line 173 skipping to change at line 173
Where multiple CA instances share a common publication point, as can Where multiple CA instances share a common publication point, as can
occur when a CA performs a key-rollover operation [RFC6489], the occur when a CA performs a key-rollover operation [RFC6489], the
repository publication point will contain multiple manifests. In repository publication point will contain multiple manifests. In
this case, each manifest describes only the collection of published this case, each manifest describes only the collection of published
products of its associated CA instance. products of its associated CA instance.
3. Manifest Signing 3. Manifest Signing
A CA's manifest is verified using an EE certificate. The A CA's manifest is verified using an EE certificate. The
SubjectInfoAccess (SIA) field of this EE certificate contains the SubjectInfoAccess (SIA) field of this EE certificate contains the
access method Object Identifier (OID) of id-ad-signedObject. accessMethod Object Identifier (OID) of id-ad-signedObject.
The CA MUST sign only one manifest with each generated private key The CA MUST sign only one manifest with each generated private key
and MUST generate a new key pair for each new version of the and MUST generate a new key pair for each new version of the
manifest. An associated EE certificate used in this fashion is manifest. An associated EE certificate used in this fashion is
termed a "one-time-use" EE certificate (see Section 3 of [RFC6487]). termed a "one-time-use" EE certificate (see Section 3 of [RFC6487]).
4. Manifest Definition 4. Manifest Definition
A manifest is an RPKI signed object, as specified in [RFC6488]. The A manifest is an RPKI signed object, as specified in [RFC6488]. The
RPKI signed object template requires specification of the following RPKI signed object template requires specification of the following
skipping to change at line 308 skipping to change at line 308
FileAndHash is an ordered pair consisting of the name of the file FileAndHash is an ordered pair consisting of the name of the file
in the repository publication point (directory) that contains the in the repository publication point (directory) that contains the
object in question and a hash of the file's contents. object in question and a hash of the file's contents.
4.2.2. Names in FileAndHash Objects 4.2.2. Names in FileAndHash Objects
Names that appear in the fileList MUST consist of one or more Names that appear in the fileList MUST consist of one or more
characters chosen from the set a-z, A-Z, 0-9, - (HYPHEN), or _ characters chosen from the set a-z, A-Z, 0-9, - (HYPHEN), or _
(UNDERSCORE), followed by a single . (DOT), followed by a three- (UNDERSCORE), followed by a single . (DOT), followed by a three-
letter extension. The extension MUST be one of those enumerated in letter extension. The extension MUST be one of those enumerated in
the "RPKI Repository Name Scheme" registry maintained by IANA the "RPKI Repository Name Schemes" registry maintained by IANA
[IANA-NAMING]. [IANA-NAMING].
As an example, 'vixxBTS_TVXQ-2pmGOT7.cer' is a valid filename. As an example, 'vixxBTS_TVXQ-2pmGOT7.cer' is a valid file name.
The example above contains a mix of uppercase and lowercase The example above contains a mix of uppercase and lowercase
characters in the filename. CAs and RPs MUST be able to perform characters in the file name. CAs and RPs MUST be able to perform
filesystem operations in a case-sensitive, case-preserving manner. filesystem operations in a case-sensitive, case-preserving manner.
4.3. Content-Type Attribute 4.3. Content-Type Attribute
The mandatory content-type attribute MUST have its attrValues field The mandatory content-type attribute MUST have its attrValues field
set to the same OID as eContentType. This OID is id-ct-rpkiManifest set to the same OID as eContentType. This OID is id-ct-rpkiManifest
and has the numerical value of 1.2.840.113549.1.9.16.1.26. and has the numerical value of 1.2.840.113549.1.9.16.1.26.
4.4. Manifest Validation 4.4. Manifest Validation
skipping to change at line 616 skipping to change at line 616
attacks against the manifest are detectable within the time frame of attacks against the manifest are detectable within the time frame of
the regular schedule of manifest updates. Forms of replay attacks the regular schedule of manifest updates. Forms of replay attacks
within finer-grained time frames are not necessarily detectable by within finer-grained time frames are not necessarily detectable by
the manifest structure. the manifest structure.
9. IANA Considerations 9. IANA Considerations
The "RPKI Signed Objects" registry was originally created and The "RPKI Signed Objects" registry was originally created and
populated by [RFC6488]. The "RPKI Repository Name Schemes" registry populated by [RFC6488]. The "RPKI Repository Name Schemes" registry
was created by [RFC6481] and created four of the initial three-letter was created by [RFC6481] and created four of the initial three-letter
filename extensions. IANA has updated the reference for the file name extensions. IANA has updated the reference for the
"Manifest" row in the "RPKI Signed Objects" registry to point to this "Manifest" row in the "RPKI Signed Objects" registry to point to this
document. document.
IANA has also updated the following entries to refer to this document IANA has also updated the following entries to refer to this document
instead of RFC 6486: instead of RFC 6486:
* id-mod-rpkiManifest (60) in the "SMI Security for S/MIME Module * id-mod-rpkiManifest (60) in the "SMI Security for S/MIME Module
Identifier (1.2.840.113549.1.9.16.0)" registry Identifier (1.2.840.113549.1.9.16.0)" registry
* id-ct-rpkiManifest (26) in the "SMI Security for S/MIME CMS * id-ct-rpkiManifest (26) in the "SMI Security for S/MIME CMS
skipping to change at line 786 skipping to change at line 786
validity period that coincides with the interval specified in the validity period that coincides with the interval specified in the
manifest eContent, which coincides with the CRL's thisUpdate and manifest eContent, which coincides with the CRL's thisUpdate and
nextUpdate. nextUpdate.
* Clarifying that the manifestNumber is monotonically incremented in * Clarifying that the manifestNumber is monotonically incremented in
steps of 1. steps of 1.
* Recommending that CA issuers include the applicable CRL's * Recommending that CA issuers include the applicable CRL's
nextUpdate with the manifest's nextUpdate. nextUpdate with the manifest's nextUpdate.
* Constraining the set of valid characters in FileAndHash filenames. * Constraining the set of valid characters in FileAndHash file
names.
* Clarifying that an RP unable to obtain the full set of files * Clarifying that an RP unable to obtain the full set of files
listed on a manifest is considered to be in a failure state, in listed on a manifest is considered to be in a failure state, in
which case cached data from a previous attempt should be used (if which case cached data from a previous attempt should be used (if
available). available).
* Clarifying the requirement for a current CRL to be present, * Clarifying the requirement for a current CRL to be present,
listed, and verified. listed, and verified.
* Removing the notion of "local policy". * Removing the notion of "local policy".
 End of changes. 7 change blocks. 
7 lines changed or deleted 8 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/