rfc-9589

On the Use of the Cryptographic Message Syntax (CMS) Signing-Time Attribute in Resource Public Key Infrastructure (RPKI) Signed Objects

J. Snijders, T. Harrison
date2024-05 streamIETF areaops wgsidrops statusPROPOSED STANDARD pages9 canonicalhttps://www.rfc-editor.org/rfc/rfc9589 doi10.17487/RFC9589
In the Resource Public Key Infrastructure (RPKI), Signed Objects are defined as Cryptographic Message Syntax (CMS) protected content types. A Signed Object contains a signing-time attribute, representing the purported time at which the object was signed by its issuer. RPKI repositories are accessible using the rsync and RPKI Repository Delta protocols, allowing Relying Parties (RPs) to synchronize a local copy of the RPKI repository used for validation with the remote repositories. This document describes how the CMS signing-time attribute can be used to avoid needless retransfers of data when switching between different synchronization protocols. This document updates RFC 6488 by mandating the presence of the CMS signing-time attribute and disallowing the use of the binary-signing-time attribute.

updates

Extracted elements (16)

design-rationale §3

As of January 2024, 83.8% of Signed Objects already had a CMS signing-time matching the file's rsync mod-time, demonstrating that mandating this practice formalizes already-prevalent behavior and that RPs would immediately see reduction in rsync processing.

security, pkix

design-rationale §5

Restricting RPKI Signed Objects to a single field (signing-time) for storing the signing time—rather than allowing both signing-time and binary-signing-time—removes potential for ambiguity that existed when both attributes could be present with differing values.

security, pkix, crypto

design-rationale §2

The CMS signing-time attribute is leveraged to align file mod-times across RRDP and rsync, enabling rsync's default file comparison logic (mod-time + file size) to skip re-transferring files already fetched via RRDP, reducing bandwidth, disk I/O, and CPU usage.

security, pkix

interoperability-note §3

Analysis of rpkiviews archives from June 2022 to January 2024 confirmed that all commonly used Trust Anchors and subordinate CAs already produce Signed Objects containing a CMS signing-time attribute, so mandating it does not cause non-compliance.

security, pkix

interoperability-note §3

No Signed Objects with a CMS binary-signing-time attribute were found in public repositories in the analyzed period, so disallowing it does not cause any existing commonly used TA or CA to become non-compliant.

security, pkix

interoperability-note §2.2

RPs can use rsync's --compare-dest=DIR option to avoid re-downloading files already available from a synthesized RRDP filesystem hierarchy, using the directory of previously fetched and validated RPKI data in its original DER-encoded form to ensure file size matches.

security, pkix

normative-requirement §4 MUST NOT

The binary-signing-time attribute (Section 2.1.6.4.4 of RFC 6488) is disallowed entirely; its section is removed. The signedAttrs field MUST NOT contain the binary-signing-time attribute OID 1.2.840.113549.1.9.16.2.46.

security, pkix

normative-requirement §4 MUST

The signedAttrs element MUST be present and MUST include the content-type, message-digest, and signing-time attributes. Other signed attributes MUST NOT be included.

security, pkix, crypto

normative-requirement §4 MUST

The signing-time attribute MUST be present in RPKI Signed Objects, upgrading it from optional (MAY) to mandatory per the RFC 6488 update.

security, pkix

normative-requirement §2 SHOULD

To avoid needless retransfers of unchanged files in consecutive rsync synchronizations, Repository Operators SHOULD ensure that the last modification timestamp of a file remains unchanged when the content of the file is unchanged.

security, pkix

normative-requirement §2.2 SHOULD

When serializing RPKI Signed Objects retrieved via RRDP to a filesystem hierarchy, Relying Parties SHOULD set the mod-time of the file to the value of the CMS signing-time attribute contained within the Signed Object.

security, pkix

normative-requirement §2.1 SHOULD

When serializing RPKI Signed Objects to a filesystem hierarchy for publication via rsync, Repository Operators SHOULD set the mod-time of the file to the value of the CMS signing-time attribute contained within the Signed Object.

security, pkix

protocol-element §1

The CMS signing-time attribute (OID 1.2.840.113549.1.9.5) is a signed attribute in the SignerInfo object of an RPKI Signed Object representing the purported time at which the object was signed by its issuer.

security, pkix, crypto

protocol-element §4

The signedAttrs field in the SignerInfo object MUST contain exactly three attributes: content-type (OID 1.2.840.113549.1.9.3), message-digest (OID 1.2.840.113549.1.9.4), and signing-time (OID 1.2.840.113549.1.9.5).

security, pkix, crypto

security-consideration §5

No requirement is imposed concerning the correctness of the signing-time attribute; it does not provide reliable information on the actual time the signature was produced and bears no relevance for seamless switchover between RRDP and rsync.

security, pkix, crypto

security-consideration §5

Restricting the RPKI Signed Object profile to only the signing-time attribute (removing binary-signing-time) eliminates the ambiguity that arose when both attributes were present but expressed different date/time values, even though RFC 6019 mandated they match.

security, pkix, crypto