<?xml version='1.0' encoding='utf-8'?>
<rfc version="3" category="std" ipr="trust200902" docName="draft-yoshikawa-sidrops-pqc-rpki-00" submissionType="IETF" consensus="true">
  <front>
    <title abbrev="PQC for RPKI">Post-Quantum Signature Algorithm Profile and Migration Considerations for the Resource Public Key Infrastructure (RPKI)</title>
    <seriesInfo name="Internet-Draft" value="draft-yoshikawa-sidrops-pqc-rpki-00" />
    <author fullname="Tomoki Yoshikawa" initials="T." surname="Yoshikawa">
      <organization>Graduate School of Informatics, Kyoto University</organization>
      <address>
        <email>segre@marokiki.net</email>
      </address>
    </author>
    <date year="2026" month="June" day="19" />
    <area>Routing</area>
    <workgroup>SIDROPS</workgroup>
    <keyword>RPKI</keyword>
    <keyword>PQC</keyword>
    <keyword>ML-DSA</keyword>
    <keyword>SLH-DSA</keyword>
    <keyword>SIDROPS</keyword>
    <abstract>
      <t>This document specifies an initial post-quantum signature algorithm profile and migration considerations for the Resource Public Key Infrastructure (RPKI).  It profiles ML-DSA-65 as the primary candidate for an RPKI next signature algorithm suite by reusing the ML-DSA algorithm identifiers and CMS conventions defined by LAMPS.  It also describes how Certification Authorities, repository operators, and Relying Parties can evaluate and deploy a post-quantum suite while preserving the existing RPKI architecture and router-facing VRP/RTR model.</t>
      <t>This document profiles candidate post-quantum signature algorithms for RPKI certificates, CRLs, certification requests, and CMS signed objects. It is written as input to SIDROPS discussion and does not update RFC 7935 in this revision.  It does not define a new RPKI object format, a new cryptographic primitive, a new repository synchronization protocol, or a new router protocol.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>The RPKI relies on digital signatures in resource certificates, CRLs, certification requests, and CMS signed objects such as manifests and Route Origin Authorizations (ROAs).  The deployed RPKI algorithm profile is based on RSA with SHA-256.  A Cryptographically Relevant Quantum Computer (CRQC) would invalidate the long-term security assumptions of RSA signatures.  RPKI therefore needs an algorithm migration path that can be tested before an emergency transition is required.</t>
      <t>The design goal of this document is conservative.  RPKI already has a well-defined architecture, repository system, validation procedure, and router interface.  This document keeps those layers intact.  PQC processing is introduced at the Certification Authority (CA), repository, CMS signed object, and Relying Party (RP) validation layers.  Routers that consume Validated ROA Payloads (VRPs) through the RPKI-Router Protocol (RTR) or local files are not expected to process PQC signatures directly.</t>
      <t>This revision is intended as a SIDROPS starting point.  It deliberately separates the protocol profile from the transition timetable and from the implementation evidence.  Where this document uses terms such as "candidate" or "evaluation", the text is identifying open engineering questions rather than declaring the final global RPKI migration plan.</t>
    </section>
    <section anchor="requirements-language">
      <name>Requirements Language</name>
      <t>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 <xref target="BCP14" /> when, and only when, they appear in all capitals, as shown here.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>This document uses the terminology of the RPKI architecture <xref target="RFC6480" />, the resource certificate profile <xref target="RFC6487" />, the RPKI signed object template <xref target="RFC6488" />, the RPKI algorithm agility procedure <xref target="RFC6916" />, and the RPKI algorithm profile <xref target="RFC7935" />.</t>
      <t>Current Suite:  The algorithm suite currently accepted by an RPKI implementation for production validation.  At the time of writing this is RSA-2048/SHA-256 as profiled by RFC 7935.</t>
      <t>Next Suite:  A candidate algorithm suite that is implemented and tested before it becomes the Current Suite.</t>
      <t>PQC Suite:  A Next Suite whose signature algorithm is intended to remain secure against a CRQC.</t>
      <t>Corresponding Products:  RPKI products issued under different algorithm suites that assert the same RPKI semantics.  For ROAs, this means the same set of VRPs, modulo local policy and trust anchor selection.</t>
      <t>Semantic Equivalence:  A property of two validated RPKI outputs in which their routing semantics are identical.  For ROA-derived VRPs, the comparison keys are prefix, maxLength, origin AS, and validation source or trust anchor context.</t>
      <t>Parallel Publication:  A migration technique in which a CA publishes corresponding products under both the Current Suite and the Next Suite for an extended interval.</t>
      <t>Composite Signature:  A single signature algorithm construction that combines a PQC algorithm and a traditional algorithm at the cryptographic or encoding layer.  This document does not require composite signatures for the initial RPKI PQC suite.</t>
    </section>
    <section anchor="scope">
      <name>Scope</name>
      <t>This document applies to RPKI resource certificates, CRLs, certification requests, manifests <xref target="RFC9286" />, ROAs <xref target="RFC9582" />, and other CMS signed objects that reuse the RPKI signed object template.</t>
      <t>This document does not specify changes to BGPsec path signatures, ASPA, RSC, router certificates, RTR, TAL formats, RRDP <xref target="RFC8182" />, rsync, or the RPKI Certificate Policy.  These topics may require companion work after the basic certificate and CMS profile is interoperable.</t>
    </section>
    <section anchor="design-goals">
      <name>Design Goals</name>
      <t>The profile has the following goals.</t>
      <ul>
        <li>
          <t>Preserve the existing RPKI architecture and repository model.</t>
        </li>
        <li>
          <t>Reuse existing LAMPS PKIX and CMS encodings for PQC algorithms.</t>
        </li>
        <li>
          <t>Avoid new RPKI object formats unless measurements show that simple signature substitution is infeasible.</t>
        </li>
        <li>
          <t>Keep routers as consumers of validated payloads, not PQC validators.</t>
        </li>
        <li>
          <t>Support a prolonged Current Suite and Next Suite interval.</t>
        </li>
        <li>
          <t>Make downgrade, unsupported-algorithm, and semantic-divergence cases observable by RPs and operators.</t>
        </li>
        <li>
          <t>Keep measurement and interoperability evidence reproducible outside the protocol specification.</t>
        </li>
      </ul>
    </section>
    <section anchor="algorithm-profile">
      <name>Algorithm Profile</name>
      <section anchor="current-suite">
        <name>Current Suite</name>
        <t>The Current Suite remains RSA PKCS #1 v1.5 with SHA-256 as specified by RFC 7935 until a separate transition timetable changes production RPKI policy.</t>
      </section>
      <section anchor="primary-next-suite">
        <name>Primary Next Suite</name>
        <t>The primary PQC Next Suite candidate defined by this document is ML-DSA-65.</t>
        <t>This revision defines ML-DSA-65 as the primary candidate implementation profile.  It does not yet require production acceptance.  An implementation experiment SHOULD process id-ml-dsa-65 in RPKI certificates and CRLs according to RFC 9881 and SHOULD report separately whether RFC 9882 CMS SignedData is supported.</t>
        <t>RPKI CAs participating in an isolated experiment MAY use ML-DSA-65 for CA certificates, EE certificates, and CRLs.  They MUST NOT publish experimental objects into a production repository or use production keys or TALs.  CMS signed objects remain an interoperability work item in this revision.</t>
      </section>
      <section anchor="additional-candidate-suites">
        <name>Additional Candidate Suites</name>
        <t>ML-DSA-87 MAY be implemented as a higher-security candidate, especially for experiments involving trust anchors or upper-tier CAs.  This document does not require ML-DSA-87 for basic interoperability because it produces larger objects than ML-DSA-65.</t>
        <t>SLH-DSA-SHAKE-128s and SLH-DSA-SHAKE-192s MAY be implemented for cryptographic-diversity experiments.  They are not recommended as the initial default production RPKI suite in this version because their signature sizes and signing costs are substantially higher than ML-DSA in the available measurements.</t>
        <t>Falcon/FN-DSA, MAYO, SNOVA, and HAWK are outside the mandatory path of this document.  They may be evaluated as research candidates, but they MUST NOT be treated as RPKI production algorithm suites by this document until stable PKIX and CMS profiles exist and are referenced by a future revision or separate document.</t>
      </section>
      <section anchor="algorithm-selection-rationale">
        <name>Algorithm Selection Rationale</name>
        <t>ML-DSA-65 is selected as the primary candidate because it has an existing FIPS signature specification <xref target="FIPS204" /> and corresponding PKIX <xref target="RFC9881" /> and CMS <xref target="RFC9882" /> algorithm identifier specifications.  It is not selected because it is always the smallest or fastest possible signature algorithm.</t>
        <t>ML-DSA-44 is retained as a measured comparison but is excluded from the primary profile because this document uses NIST Category 3 as a conservative minimum for the primary long-lived RPKI suite.  This is a profile policy choice, not evidence of an implementation failure, and SIDROPS may revisit it.</t>
        <t>ML-DSA-87, SLH-DSA-SHAKE-128s, and SLH-DSA-SHAKE-192s remain useful comparison points for security level, cryptographic diversity, and repository stress testing.  The SLH-DSA candidates have corresponding signature, PKIX, and CMS specifications <xref target="FIPS205" />
          <xref target="RFC9909" />
          <xref target="RFC9814" />. Falcon/FN-DSA and other additional-signature candidates may be attractive for size or performance reasons, but they are outside the mandatory path of this revision until stable PKIX and CMS profiles and RPKI validator evidence are available.</t>
        <t>The first-order repository estimator gives Falcon-512, using a 666-octet maximum signature size, a 1.5542 ratio to the RSA baseline and gives SNOVA-(24,5,4), using a 248-octet signature, a 1.2723 ratio.  Both are much smaller than the estimated 4.0118 ratio for ML-DSA-65.  These ratios are synthetic estimates based on static parameter sizes, not local primitive or full-repository measurements: the corresponding backends were unavailable in the recorded run.  They are outside the primary profile because stable PKIX and CMS profiles and validator evidence are absent, not because of repository size.  They should be reconsidered if their standardization and implementation maturity changes.</t>
        <t>Published RPKI analysis also identifies Falcon-512 as a compact and performance-oriented candidate <xref target="Doesburg2025" />.  This document treats that result as literature evidence; the accompanying evidence snapshot does not contain a confirmed local Falcon primitive benchmark.</t>
        <t>Detailed measurements for key sizes, signature sizes, primitive timings, repository-size estimates, and validator probes are maintained outside this document by the experimental harness <xref target="pqc-rpki-lab" />.  Those values are implementation and environment dependent and are not protocol requirements.</t>
      </section>
    </section>
    <section anchor="resource-certificate-and-crl-profile">
      <name>Resource Certificate and CRL Profile</name>
      <t>RPKI resource certificates and CRLs using ML-DSA MUST follow the certificate and CRL conventions for ML-DSA defined in RFC 9881.  In particular, AlgorithmIdentifier parameters for ML-DSA MUST be absent.</t>
      <t>When id-ml-dsa-65 or id-ml-dsa-87 appears in SubjectPublicKeyInfo, the subjectPublicKey BIT STRING contains the raw public key encoding defined by FIPS 204 and profiled by RFC 9881.</t>
      <t>For RPKI CA certificates, the keyUsage extension MUST remain consistent with the resource certificate profile.  A CA certificate that is used to issue certificates and CRLs requires keyCertSign and cRLSign.  An EE certificate used for an RPKI signed object requires digitalSignature and MUST NOT be used as a CA certificate.</t>
      <t>This document does not change the RPKI resource extension semantics, certificate policy OID, certificate path validation procedure, manifest processing rules, or CRL processing rules.</t>
    </section>
    <section anchor="cms-signed-object-profile">
      <name>CMS Signed Object Profile</name>
      <t>RPKI signed objects using ML-DSA MUST follow the CMS conventions for ML-DSA defined in <xref target="RFC9882" /> and the RPKI signed object template defined in <xref target="RFC6488" />, as updated by <xref target="RFC9589" />.</t>
      <t>The signatureAlgorithm field of SignerInfo MUST contain id-ml-dsa-65 for the primary Next Suite.  AlgorithmIdentifier parameters MUST be absent.</t>
      <t>For ML-DSA-65, the digestAlgorithms field of SignedData and the digestAlgorithm field of SignerInfo MUST contain id-sha512.  The parameters field of that AlgorithmIdentifier MUST be absent.  The message-digest signed attribute MUST contain the SHA-512 digest of the eContent.  SHA-512 is selected from the algorithms permitted for ML-DSA-65 by <xref target="RFC9882" /> to provide one mandatory interoperable encoding for this RPKI suite.</t>
      <t>The signedAttrs element remains REQUIRED for RPKI signed objects.  In accordance with <xref target="RFC6488" /> as updated by <xref target="RFC9589" />, it MUST contain exactly one content-type attribute, one message-digest attribute, and one signing-time attribute.  The binary-signing-time attribute and all other signed attributes MUST be absent.  In particular, the CMSAlgorithmProtection attribute suggested by the general CMS guidance in <xref target="RFC9882" /> MUST NOT be included because the RPKI signed object profile restricts signedAttrs to those three attributes.</t>
      <t>OpenSSL 3.6.2 generated ML-DSA certificates and CRLs but its CMS CLI rejected ML-DSA signing with <tt>CMS_add1_signer:no default digest</tt>.  The SHA-512 selection above follows <xref target="RFC9882" />; the CLI failure remains an implementation and interoperability gap rather than an unspecified protocol value.</t>
      <t>The CMS eContentType and eContent for ROAs, manifests, and other RPKI signed objects are unchanged.  Validators MUST apply the object-specific validation rules after CMS signature validation exactly as they do for the Current Suite.</t>
    </section>
    <section anchor="manifests-roas-and-repository-processing">
      <name>Manifests, ROAs, and Repository Processing</name>
      <section anchor="implementation-evidence">
        <name>Implementation Evidence</name>
        <t>The accompanying implementation harness generated ML-DSA-65, ML-DSA-87, SLH-DSA-SHAKE-128s, and SLH-DSA-SHAKE-192s CA certificates, EE certificates, and CRLs using the OpenSSL 3.6.2 default provider.  The certificates included RFC 3779 IP address and AS resource extensions, RPKI certificate policy, Subject Information Access, basic constraints, and key usage.  Private keys were generated only in an automatically deleted temporary directory.</t>
        <t>The same OpenSSL installation did not generate ML-DSA CMS SignedData. Consequently, no RFC 6488 manifest or ROA was generated by the harness. This is an implementation limitation, not evidence that the RFC profiles are incompatible.  Routinator, rpki-client, and FORT were not installed in the measurement environment, so validator acceptance is unconfirmed.</t>
        <t>The default run did not receive a real local RPKI cache.  Repository impact values in this revision remain synthetic or literature-calibrated estimates.</t>
        <t>This document does not define new payload encodings for manifests, ROAs, or CRLs.  Repository operators MAY publish Current Suite and Next Suite products in parallel during an algorithm transition.  A repository that publishes parallel products MUST ensure that manifests and CRLs are internally consistent within each suite.</t>
        <t>During parallel publication, operators SHOULD provide a way to identify corresponding products across suites for measurement and debugging.  This identification MAY be derived from publication point structure, object names, CA hierarchy, or an implementation-specific mapping.  It is not a new on-wire RPKI object in this version.</t>
      </section>
    </section>
    <section anchor="relying-party-behavior">
      <name>Relying Party Behavior</name>
      <t>An RP that implements this document MUST be configurable with an accepted algorithm policy.  The policy MUST be able to represent at least:</t>
      <ul>
        <li>
          <t>Current Suite only;</t>
        </li>
        <li>
          <t>Current Suite plus Next Suite;</t>
        </li>
        <li>
          <t>Next Suite preferred with Current Suite fallback;</t>
        </li>
        <li>
          <t>Next Suite only.</t>
        </li>
      </ul>
      <t>An RP MUST reject a certificate, CRL, or signed object whose signature algorithm is not in its configured policy.  The rejection reason SHOULD be reported distinctly from syntax errors, path validation failures, manifest failures, and object-specific semantic failures.</t>
      <t>An RP that validates both Current Suite and Next Suite products SHOULD perform semantic-equivalence checks for corresponding products.  For ROAs, this check compares the resulting VRP set by prefix, maxLength, origin AS, and trust anchor context.  If the Current Suite and Next Suite produce different routing semantics, the RP SHOULD emit telemetry and SHOULD NOT silently merge the divergent outputs.</t>
      <t>This document does not require routers to support PQC.  Routers receive validated payloads through RTR or local export formats.  The RP remains the cryptographic enforcement point.</t>
    </section>
    <section anchor="migration-strategy">
      <name>Migration Strategy</name>
      <t>The migration strategy follows the planned, multi-year model described in RFC 6916.  This document does not define an emergency migration.</t>
      <t>A deployment that follows this document is expected to proceed through the following phases.</t>
      <ol>
        <li>
          <t>Implementation readiness: CAs and RPs add support for the Next Suite in non-production code paths.</t>
        </li>
        <li>
          <t>Test repositories: operators publish PQC test repositories under test TALs.</t>
        </li>
        <li>
          <t>Parallel publication: selected CAs publish corresponding products under the Current Suite and the Next Suite.</t>
        </li>
        <li>
          <t>RP measurement: RPs validate both suites and report validation time, repository size, failure modes, and semantic equivalence.</t>
        </li>
        <li>
          <t>PQC-preferred operation: RPs prefer the Next Suite while retaining the Current Suite for a limited period.</t>
        </li>
        <li>
          <t>Classical retirement: a separate transition timetable defines the twilight date and withdrawal of the old suite.</t>
        </li>
      </ol>
      <t>This document assumes the top-down migration constraint of RFC 6916 for production deployment.  Experiments involving partial parent migration, partial child migration, or mixed unsupported validator deployment are useful for failure analysis, but they are not declared valid production transition states by this revision.</t>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>This section records the status of known implementations of the protocol defined by this specification at the time of posting of this Internet-Draft, and is based on a proposal described in <xref target="RFC7942" />.  It is intended to assist IETF discussion and is to be removed before publication as an RFC.</t>
      <t>An experimental repository, pqc-rpki-lab, was used to evaluate this proposal.  The implementation status at the time of this draft is:</t>
      <ul>
        <li>
          <t>Static algorithm metadata: implemented.</t>
        </li>
        <li>
          <t>Primitive benchmark using existing libraries: implemented.</t>
        </li>
        <li>
          <t>Synthetic repository impact estimator: implemented.</t>
        </li>
        <li>
          <t>Local cache size collector: implemented.</t>
        </li>
        <li>
          <t>VRP semantic equivalence checker: implemented for CSV/JSON fixtures.</t>
        </li>
        <li>
          <t>Validator probes: implemented, but Routinator, rpki-client, and FORT were not installed in the test environment.</t>
        </li>
        <li>
          <t>RFC-profiled PQC CA certificates, EE certificates, and CRLs: generated with OpenSSL 3.6.2 for ML-DSA and SLH-DSA.</t>
        </li>
        <li>
          <t>PQC CMS SignedData: unsupported by the tested OpenSSL CMS CLI, which returned <tt>CMS_add1_signer:no default digest</tt>.</t>
        </li>
        <li>
          <t>Manifest and ROA generation: not completed because PQC CMS signing and an existing payload generator were unavailable.</t>
        </li>
        <li>
          <t>Multi-validator interoperability using real PQC RPKI objects: future work.</t>
        </li>
      </ul>
      <t>The highest-priority implementation gap is an RFC 9882-capable CMS path and an existing MFT/ROA payload generator.  The second highest-priority gap is independent validator behavior for complete objects.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The purpose of this document is to reduce the risk that RPKI signatures become forgeable in the presence of a CRQC.  It does not solve CA compromise, repository compromise, operational misissuance, BGP policy mistakes, or route leaks.</t>
      <t>Downgrade attacks are a primary concern during a long transition.  An RP that supports both Current Suite and Next Suite products MUST make its algorithm acceptance policy explicit.  It MUST NOT silently accept a Current Suite product as equivalent to a missing or invalid Next Suite product when local policy requires the Next Suite.</t>
      <t>Parallel publication introduces the possibility of semantic divergence. For example, the RSA branch and the PQC branch might contain different ROA payloads, stale manifests, or different CRL state.  Validators SHOULD detect and report these cases rather than silently selecting one branch without operator visibility.</t>
      <t>Larger public keys, signatures, certificates, CRLs, and CMS objects can increase repository transfer size, local cache size, manifest size, and validation time.  Implementations SHOULD enforce resource limits and telemetry for object size, number of objects, validation time, and memory use.  Operators SHOULD evaluate RRDP snapshot and delta sizes before large-scale deployment.</t>
      <t>ML-DSA uses randomized signing by default.  CA implementations and HSMs MUST use cryptographically appropriate randomness and SHOULD follow the operational guidance in RFC 9881 and RFC 9882.  Deterministic signing is not preferred for platforms where side-channel or fault attacks are a concern.</t>
      <t>Algorithm confusion is possible if AlgorithmIdentifier parameters, SignerInfo digestAlgorithm, CMS signed attributes, or certificate SubjectPublicKeyInfo encodings are inconsistently handled.  Implementations MUST reject malformed AlgorithmIdentifier encodings and MUST follow the parameter rules of the referenced LAMPS specifications.</t>
      <t>Composite signatures may protect against failures in one component algorithm, but they also introduce additional encoding, policy, and interoperability complexity.  This document treats composite signatures as future work until the corresponding LAMPS specifications <xref target="I-D.ietf-lamps-pq-composite-sigs" />
        <xref target="I-D.ietf-lamps-cms-composite-sigs" /> and RPKI-specific policy questions are stable.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests no new IANA allocations in its current form.  The ML-DSA and SLH-DSA algorithm identifiers are reused from existing PKIX and CMS specifications.  If a future revision defines an RPKI-specific algorithm-suite registry or new telemetry identifiers, this section will be updated.</t>
    </section>
    <section anchor="open-issues">
      <name>Open Issues</name>
      <t>The following issues require additional SIDROPS discussion and implementation evidence.  In particular, this draft should not strengthen ML-DSA-65 requirement language until complete RFC 6488 PQC objects are generated and major validator behavior is measured.</t>
      <ul>
        <li>
          <t>Whether ML-DSA-65 should be mandatory-to-implement for RPs and CAs.</t>
        </li>
        <li>
          <t>Whether ML-DSA-87 is needed for trust anchors or upper-tier CAs.</t>
        </li>
        <li>
          <t>Whether SLH-DSA should remain only a diversity experiment.</t>
        </li>
        <li>
          <t>Whether composite signatures are needed for RPKI, or whether parallel publication is operationally sufficient.</t>
        </li>
        <li>
          <t>Whether Null Scheme-like signed-object reductions <xref target="I-D.doesburg-sidrops-nullscheme" /> should be considered separately from the initial signature-algorithm profile.</t>
        </li>
        <li>
          <t>How to define a transition timetable and readiness metrics for RPKI deployment.</t>
        </li>
        <li>
          <t>Whether semantic-equivalence checking should be mandatory during the parallel-publication phase.</t>
        </li>
        <li>
          <t>How to handle PQC unsupported validators in mixed deployments.</t>
        </li>
        <li>
          <t>Whether TAK, ASPA, RSC, and BGPsec should be covered by this document or by separate companion documents.</t>
        </li>
        <li>
          <t>How RRDP snapshot and delta limits should be operationally assessed for larger objects.</t>
        </li>
        <li>
          <t>Whether any RPKI-specific object naming, repository layout, or manifest conventions are needed to map corresponding products across suites.</t>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references>
      <name>Normative References</name>
      <referencegroup anchor="BCP14" target="https://www.rfc-editor.org/info/bcp14">
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner" />
            <date month="March" year="1997" />
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14" />
          <seriesInfo name="RFC" value="2119" />
          <seriesInfo name="DOI" value="10.17487/RFC2119" />
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba" />
            <date month="May" year="2017" />
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14" />
          <seriesInfo name="RFC" value="8174" />
          <seriesInfo name="DOI" value="10.17487/RFC8174" />
        </reference>
      </referencegroup>
      <reference anchor="RFC6480" target="https://www.rfc-editor.org/info/rfc6480">
        <front>
          <title>An Infrastructure to Support Secure Internet Routing</title>
          <author fullname="M. Lepinski" initials="M." surname="Lepinski" />
          <author fullname="S. Kent" initials="S." surname="Kent" />
          <date month="February" year="2012" />
          <abstract>
            <t>This document describes an architecture for an infrastructure to support improved security of Internet routing. The foundation of this architecture is a Resource Public Key Infrastructure (RPKI) that represents the allocation hierarchy of IP address space and Autonomous System (AS) numbers; and a distributed repository system for storing and disseminating the data objects that comprise the RPKI, as well as other signed objects necessary for improved routing security. As an initial application of this architecture, the document describes how a legitimate holder of IP address space can explicitly and verifiably authorize one or more ASes to originate routes to that address space. Such verifiable authorizations could be used, for example, to more securely construct BGP route filters. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6480" />
        <seriesInfo name="DOI" value="10.17487/RFC6480" />
      </reference>
      <reference anchor="RFC6487" target="https://www.rfc-editor.org/info/rfc6487">
        <front>
          <title>A Profile for X.509 PKIX Resource Certificates</title>
          <author fullname="G. Huston" initials="G." surname="Huston" />
          <author fullname="G. Michaelson" initials="G." surname="Michaelson" />
          <author fullname="R. Loomans" initials="R." surname="Loomans" />
          <date month="February" year="2012" />
          <abstract>
            <t>This document defines a standard profile for X.509 certificates for the purpose of supporting validation of assertions of "right-of-use" of Internet Number Resources (INRs). The certificates issued under this profile are used to convey the issuer's authorization of the subject to be regarded as the current holder of a "right-of-use" of the INRs that are described in the certificate. This document contains the normative specification of Certificate and Certificate Revocation List (CRL) syntax in the Resource Public Key Infrastructure (RPKI). This document also specifies profiles for the format of certificate requests and specifies the Relying Party RPKI certificate path validation procedure. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6487" />
        <seriesInfo name="DOI" value="10.17487/RFC6487" />
      </reference>
      <reference anchor="RFC6488" target="https://www.rfc-editor.org/info/rfc6488">
        <front>
          <title>Signed Object Template for the Resource Public Key Infrastructure (RPKI)</title>
          <author fullname="M. Lepinski" initials="M." surname="Lepinski" />
          <author fullname="A. Chi" initials="A." surname="Chi" />
          <author fullname="S. Kent" initials="S." surname="Kent" />
          <date month="February" year="2012" />
          <abstract>
            <t>This document defines a generic profile for signed objects used in the Resource Public Key Infrastructure (RPKI). These RPKI signed objects make use of Cryptographic Message Syntax (CMS) as a standard encapsulation format. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6488" />
        <seriesInfo name="DOI" value="10.17487/RFC6488" />
      </reference>
      <reference anchor="RFC6916" target="https://www.rfc-editor.org/info/rfc6916">
        <front>
          <title>Algorithm Agility Procedure for the Resource Public Key Infrastructure (RPKI)</title>
          <author fullname="R. Gagliano" initials="R." surname="Gagliano" />
          <author fullname="S. Kent" initials="S." surname="Kent" />
          <author fullname="S. Turner" initials="S." surname="Turner" />
          <date month="April" year="2013" />
          <abstract>
            <t>This document specifies the process that Certification Authorities (CAs) and Relying Parties (RPs) participating in the Resource Public Key Infrastructure (RPKI) will need to follow to transition to a new (and probably cryptographically stronger) algorithm set. The process is expected to be completed over a timescale of several years. Consequently, no emergency transition is specified. The transition procedure defined in this document supports only a top-down migration (parent migrates before children).</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="182" />
        <seriesInfo name="RFC" value="6916" />
        <seriesInfo name="DOI" value="10.17487/RFC6916" />
      </reference>
      <reference anchor="RFC7935" target="https://www.rfc-editor.org/info/rfc7935">
        <front>
          <title>The Profile for Algorithms and Key Sizes for Use in the Resource Public Key Infrastructure</title>
          <author fullname="G. Huston" initials="G." surname="Huston" />
          <author fullname="G. Michaelson" initials="G." role="editor" surname="Michaelson" />
          <date month="August" year="2016" />
          <abstract>
            <t>This document specifies the algorithms, algorithms' parameters, asymmetric key formats, asymmetric key size, and signature format for the Resource Public Key Infrastructure (RPKI) subscribers that generate digital signatures on certificates, Certificate Revocation Lists (CRLs), Cryptographic Message Syntax (CMS) signed objects and certification requests as well as for the relying parties (RPs) that verify these digital signatures.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7935" />
        <seriesInfo name="DOI" value="10.17487/RFC7935" />
      </reference>
      <reference anchor="RFC8182" target="https://www.rfc-editor.org/info/rfc8182">
        <front>
          <title>The RPKI Repository Delta Protocol (RRDP)</title>
          <author fullname="T. Bruijnzeels" initials="T." surname="Bruijnzeels" />
          <author fullname="O. Muravskiy" initials="O." surname="Muravskiy" />
          <author fullname="B. Weber" initials="B." surname="Weber" />
          <author fullname="R. Austein" initials="R." surname="Austein" />
          <date month="July" year="2017" />
          <abstract>
            <t>In the Resource Public Key Infrastructure (RPKI), Certificate Authorities (CAs) publish certificates, including end-entity certificates, Certificate Revocation Lists (CRLs), and RPKI signed objects to repositories. Relying Parties retrieve the published information from those repositories. This document specifies a new RPKI Repository Delta Protocol (RRDP) for this purpose. RRDP was specifically designed for scaling. It relies on an Update Notification File which lists the current Snapshot and Delta Files that can be retrieved using HTTPS (HTTP over Transport Layer Security (TLS)), and it enables the use of Content Distribution Networks (CDNs) or other caching infrastructures for the retrieval of these files.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8182" />
        <seriesInfo name="DOI" value="10.17487/RFC8182" />
      </reference>
      <reference anchor="RFC9286" target="https://www.rfc-editor.org/info/rfc9286">
        <front>
          <title>Manifests for the Resource Public Key Infrastructure (RPKI)</title>
          <author fullname="R. Austein" initials="R." surname="Austein" />
          <author fullname="G. Huston" initials="G." surname="Huston" />
          <author fullname="S. Kent" initials="S." surname="Kent" />
          <author fullname="M. Lepinski" initials="M." surname="Lepinski" />
          <date month="June" year="2022" />
          <abstract>
            <t>This document defines a "manifest" for use in the Resource Public Key Infrastructure (RPKI). A manifest is a signed object (file) that contains a listing of all the signed objects (files) in the repository publication point (directory) associated with an authority responsible for publishing in the repository. For each certificate, Certificate Revocation List (CRL), or other type of signed objects issued by the authority that are published at this repository publication point, the manifest contains both the name of the file containing the object and a hash of the file content. Manifests are intended to enable a relying party (RP) to detect certain forms of attacks against a repository. Specifically, if an RP checks a manifest's contents against the signed objects retrieved from a repository publication point, then the RP can detect replay attacks, and unauthorized in-flight modification or deletion of signed objects. This document obsoletes RFC 6486.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9286" />
        <seriesInfo name="DOI" value="10.17487/RFC9286" />
      </reference>
      <reference anchor="RFC9582" target="https://www.rfc-editor.org/info/rfc9582">
        <front>
          <title>A Profile for Route Origin Authorizations (ROAs)</title>
          <author fullname="J. Snijders" initials="J." surname="Snijders" />
          <author fullname="B. Maddison" initials="B." surname="Maddison" />
          <author fullname="M. Lepinski" initials="M." surname="Lepinski" />
          <author fullname="D. Kong" initials="D." surname="Kong" />
          <author fullname="S. Kent" initials="S." surname="Kent" />
          <date month="May" year="2024" />
          <abstract>
            <t>This document defines a standard profile for Route Origin Authorizations (ROAs). A ROA is a digitally signed object that provides a means of verifying that an IP address block holder has authorized an Autonomous System (AS) to originate routes to one or more prefixes within the address block. This document obsoletes RFC 6482.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9582" />
        <seriesInfo name="DOI" value="10.17487/RFC9582" />
      </reference>
      <reference anchor="RFC9589" target="https://www.rfc-editor.org/info/rfc9589">
        <front>
          <title>On the Use of the Cryptographic Message Syntax (CMS) Signing-Time Attribute in Resource Public Key Infrastructure (RPKI) Signed Objects</title>
          <author fullname="J. Snijders" initials="J." surname="Snijders" />
          <author fullname="T. Harrison" initials="T." surname="Harrison" />
          <date month="May" year="2024" />
          <abstract>
            <t>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.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9589" />
        <seriesInfo name="DOI" value="10.17487/RFC9589" />
      </reference>
      <reference anchor="RFC9814" target="https://www.rfc-editor.org/info/rfc9814">
        <front>
          <title>Use of the SLH-DSA Signature Algorithm in the Cryptographic Message Syntax (CMS)</title>
          <author fullname="R. Housley" initials="R." surname="Housley" />
          <author fullname="S. Fluhrer" initials="S." surname="Fluhrer" />
          <author fullname="P. Kampanakis" initials="P." surname="Kampanakis" />
          <author fullname="B. Westerbaan" initials="B." surname="Westerbaan" />
          <date month="July" year="2025" />
          <abstract>
            <t>SLH-DSA is a stateless hash-based signature algorithm. This document specifies the conventions for using the SLH-DSA signature algorithm with the Cryptographic Message Syntax (CMS). In addition, the algorithm identifier and public key syntax are provided.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9814" />
        <seriesInfo name="DOI" value="10.17487/RFC9814" />
      </reference>
      <reference anchor="RFC9881" target="https://www.rfc-editor.org/info/rfc9881">
        <front>
          <title>Internet X.509 Public Key Infrastructure -- Algorithm Identifiers for the Module-Lattice-Based Digital Signature Algorithm (ML-DSA)</title>
          <author fullname="J. Massimo" initials="J." surname="Massimo" />
          <author fullname="P. Kampanakis" initials="P." surname="Kampanakis" />
          <author fullname="S. Turner" initials="S." surname="Turner" />
          <author fullname="B. E. Westerbaan" initials="B. E." surname="Westerbaan" />
          <date month="October" year="2025" />
          <abstract>
            <t>Digital signatures are used within X.509 certificates and Certificate Revocation Lists (CRLs), and to sign messages. This document specifies the conventions for using FIPS 204, the Module-Lattice-Based Digital Signature Algorithm (ML-DSA) in Internet X.509 certificates and CRLs. The conventions for the associated signatures, subject public keys, and private key are also described.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9881" />
        <seriesInfo name="DOI" value="10.17487/RFC9881" />
      </reference>
      <reference anchor="RFC9882" target="https://www.rfc-editor.org/info/rfc9882">
        <front>
          <title>Use of the ML-DSA Signature Algorithm in the Cryptographic Message Syntax (CMS)</title>
          <author fullname="B. Salter" initials="B." surname="Salter" />
          <author fullname="A. Raine" initials="A." surname="Raine" />
          <author fullname="D. Van Geest" initials="D." surname="Van Geest" />
          <date month="October" year="2025" />
          <abstract>
            <t>The Module-Lattice-Based Digital Signature Algorithm (ML-DSA), as defined by NIST in FIPS 204, is a post-quantum digital signature scheme that aims to be secure against an adversary in possession of a Cryptographically Relevant Quantum Computer (CRQC). This document specifies the conventions for using the ML-DSA signature algorithm with the Cryptographic Message Syntax (CMS). In addition, the algorithm identifier syntax is provided.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9882" />
        <seriesInfo name="DOI" value="10.17487/RFC9882" />
      </reference>
      <reference anchor="RFC9909" target="https://www.rfc-editor.org/info/rfc9909">
        <front>
          <title>Internet X.509 Public Key Infrastructure -- Algorithm Identifiers for the Stateless Hash-Based Digital Signature Algorithm (SLH-DSA)</title>
          <author fullname="K. Bashiri" initials="K." surname="Bashiri" />
          <author fullname="S. Fluhrer" initials="S." surname="Fluhrer" />
          <author fullname="S. Gazdag" initials="S." surname="Gazdag" />
          <author fullname="D. Van Geest" initials="D." surname="Van Geest" />
          <author fullname="S. Kousidis" initials="S." surname="Kousidis" />
          <date month="December" year="2025" />
          <abstract>
            <t>Digital signatures are used within the X.509 Public Key Infrastructure, such as X.509 certificates and Certificate Revocation Lists (CRLs), as well as to sign messages. This document specifies the conventions for using the Stateless Hash-Based Digital Signature Algorithm (SLH-DSA) in the X.509 Public Key Infrastructure. The conventions for the associated signatures, subject public keys, and private keys are also specified.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9909" />
        <seriesInfo name="DOI" value="10.17487/RFC9909" />
      </reference>
      <reference anchor="FIPS204" target="https://doi.org/10.6028/NIST.FIPS.204">
        <front>
          <title>Module-Lattice-Based Digital Signature Standard</title>
          <author>
            <organization>National Institute of Standards and Technology</organization>
          </author>
          <date month="August" year="2024" />
        </front>
        <seriesInfo name="FIPS" value="204" />
      </reference>
      <reference anchor="FIPS205" target="https://doi.org/10.6028/NIST.FIPS.205">
        <front>
          <title>Stateless Hash-Based Digital Signature Standard</title>
          <author>
            <organization>National Institute of Standards and Technology</organization>
          </author>
          <date month="August" year="2024" />
        </front>
        <seriesInfo name="FIPS" value="205" />
      </reference>
    </references>
    <references>
      <name>Informative References</name>
      <reference anchor="RFC7942" target="https://www.rfc-editor.org/info/rfc7942">
        <front>
          <title>Improving Awareness of Running Code: The Implementation Status Section</title>
          <author fullname="Y. Sheffer" initials="Y." surname="Sheffer" />
          <author fullname="A. Farrel" initials="A." surname="Farrel" />
          <date month="July" year="2016" />
          <abstract>
            <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
            <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="205" />
        <seriesInfo name="RFC" value="7942" />
        <seriesInfo name="DOI" value="10.17487/RFC7942" />
      </reference>
      <reference anchor="I-D.ietf-lamps-pq-composite-sigs" target="https://datatracker.ietf.org/doc/html/draft-ietf-lamps-pq-composite-sigs-19">
        <front>
          <title>Composite Module-Lattice-Based Digital Signature Algorithm (ML-DSA) for use in X.509 Public Key Infrastructure</title>
          <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
            <organization>Entrust Limited</organization>
          </author>
          <author fullname="John Gray" initials="J." surname="Gray">
            <organization>Entrust Limited</organization>
          </author>
          <author fullname="Massimiliano Pala" initials="M." surname="Pala">
            <organization>OpenCA Labs</organization>
          </author>
          <author fullname="Jan Klaussner" initials="J." surname="Klaussner">
            <organization>Bundesdruckerei GmbH</organization>
          </author>
          <author fullname="Scott Fluhrer" initials="S." surname="Fluhrer">
            <organization>Cisco Systems</organization>
          </author>
          <date day="21" month="April" year="2026" />
          <abstract>
            <t>This document defines combinations of US NIST Module-Lattice-Based Digital Signature Algorithm (ML-DSA) in hybrid with traditional algorithms RSASSA-PKCS1-v1.5, RSASSA-PSS, ECDSA, Ed25519, and Ed448. These combinations are tailored to meet regulatory guidelines in certain regions. Composite ML-DSA is applicable in applications that use X.509 or PKIX data structures that accept ML-DSA, but where the operator wants extra protection against breaks or catastrophic bugs in ML-DSA, and where existential unforgeability (EUF-CMA) level security is acceptable.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-pq-composite-sigs-19" />
      </reference>
      <reference anchor="I-D.ietf-lamps-cms-composite-sigs" target="https://datatracker.ietf.org/doc/html/draft-ietf-lamps-cms-composite-sigs-05">
        <front>
          <title>Composite Module-Lattice-Based Digital Signature Algorithm (ML-DSA) for use in Cryptographic Message Syntax (CMS)</title>
          <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
            <organization>Entrust Limited</organization>
          </author>
          <author fullname="John Gray" initials="J." surname="Gray">
            <organization>Entrust Limited</organization>
          </author>
          <author fullname="Jan Klaussner" initials="J." surname="Klaussner">
            <organization>Bundesdruckerei GmbH</organization>
          </author>
          <author fullname="Daniel Van Geest" initials="D." surname="Van Geest">
            <organization>CryptoNext Security</organization>
          </author>
          <date day="22" month="May" year="2026" />
          <abstract>
            <t>Composite Module-Lattice-Based Digital Signature Algorithm (ML-DSA) defines combinations of ML-DSA with RSA, ECDSA, and EdDSA. This document specifies the conventions for using Composite ML-DSA algorithms within the Cryptographic Message Syntax (CMS).</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-cms-composite-sigs-05" />
      </reference>
      <reference anchor="I-D.doesburg-sidrops-nullscheme" target="https://datatracker.ietf.org/doc/html/draft-doesburg-sidrops-nullscheme-00">
        <front>
          <title>Null Scheme for Signed Objects in the Resource Public Key Infrastructure (RPKI)</title>
          <author fullname="Dirk Doesburg" initials="D." surname="Doesburg" />
          <date day="5" month="October" year="2025" />
          <abstract>
            <t>This document specifies the Null Scheme for use in Signed Objects in the Resource Public Key Infrastructure (RPKI). The Null Scheme is a niche signature scheme that can replace the redundant and costly use of actual digital signatures from so-called "one-time-use" key pairs in Signed Objects. The Null Scheme has as public key the digest of the message to be signed, and the signature is always empty. When a Null Scheme public key is the subject of a Signed Object's one-time- use End-Entity (EE) certificate, it establishes a secure binding between the issuer of the EE certificate and the message to be signed. This is cheaper in terms of size and verification time than using a real signature scheme, while providing the same security guarantees.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-doesburg-sidrops-nullscheme-00" />
      </reference>
      <reference anchor="Doesburg2025" target="https://www.sidnlabs.nl/en/news-and-blogs/thesis-pqc-for-the-rpki">
        <front>
          <title>Post-Quantum Cryptography for the RPKI</title>
          <author fullname="Dirk Doesburg" initials="D." surname="Doesburg">
            <organization>Radboud University</organization>
          </author>
          <date month="June" year="2025" />
        </front>
      </reference>
      <reference anchor="pqc-rpki-lab" target="https://github.com/marokiki/pqc-rpki-lab/releases/tag/draft-yoshikawa-sidrops-pqc-rpki-00">
        <front>
          <title>pqc-rpki-lab experimental harness</title>
          <author fullname="Tomoki Yoshikawa" initials="T." surname="Yoshikawa" />
          <date month="June" year="2026" />
        </front>
      </reference>
    </references>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The author thanks the SIDROPS and LAMPS communities for the specifications and implementation work that make this experiment possible.</t>
    </section>
  </back>
</rfc>