| Internet-Draft | PQCHC | June 2026 |
| Vicente | Expires 10 December 2026 | [Page] |
The current Internet Public Key Infrastructure (PKI) lacks a machine-verifiable, cryptographically bound mechanism for certificate holders to commit, at issuance time, to the specific post-quantum (PQ) or PQ/T hybrid key material they intend to present at the next certificate renewal. Without such a mechanism, relying parties cannot distinguish a legitimate algorithm migration from a covert downgrade attack — one in which a cryptographically relevant quantum computer (CRQC) enables an adversary to suppress a PQ or composite certificate at renewal and substitute one based solely on a classical algorithm whose long-term security has been compromised.¶
This document defines the PQC Hybrid Commitment (PQCHC) X.509 v3 extension. The extension carries an advisory, non-authoritative commitment that is encoded as a cryptographic hash of the future SubjectPublicKeyInfo the certificate subject intends to present in the successor certificate, together with the intended committed algorithm identifier and an expiry time for the commitment. The extension is non-critical, preserving backward compatibility with legacy relying parties that do not recognize it. PQCHC-aware relying parties may use the commitment to detect downgrade at renewal time, to integrate with ACME Renewal Information (ARI) scheduling, and to provide an observable signal of an operator's concrete, binding intent to complete PQ migration within a declared time window.¶
This note is to be removed before publishing as an RFC.¶
Source for this draft is maintained at https://github.com/Sanc-Admin/lamps-pqchc. A citable archival version of this document is available at Zenodo: https://doi.org/10.5281/zenodo.20584243. Author ORCID iD: https://orcid.org/0009-0006-6395-5308.¶
Discussion of this document occurs on the IETF "spasm" mailing list (spasm@ietf.org). Issues and pull requests may be filed at the GitHub repository linked above.¶
This note is to be removed before publishing as an RFC.¶
The author has filed or intends to file United States patent applications covering subject matter described in this document. By posting this Internet-Draft, the author submits to the IETF Trust the rights described in Section 5 of BCP 78 and BCP 79. Patent licensing terms are not yet known. Implementers and reviewers should consult the IETF Datatracker IPR disclosure page for this document for current disclosure status.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 10 December 2026.¶
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document.¶
The standardization of post-quantum cryptographic (PQC) algorithms by the National Institute of Standards and Technology (NIST) — specifically ML-DSA [FIPS204], ML-KEM [FIPS203], and SLH-DSA [FIPS205] — marks an inflection point for Internet PKI. NIST IR 8547 [NIST-IR-8547] establishes that all quantum-vulnerable traditional asymmetric algorithms are to be deprecated after 2030 and disallowed for new protection after 2035. The CNSA 2.0 suite [CNSA2] requires National Security Systems to be fully compliant by 2031. Operators of long-lived PKI infrastructure must therefore plan and execute algorithm migrations across a multi-year window that spans certificate lifetimes currently in service.¶
ML-DSA [FIPS204] and ML-KEM [FIPS203] are founded on the hardness of Module Learning With Errors (MLWE) and Module Short Integer Solution (MSIS) problems over polynomial rings — lattice-based problems for which no efficient quantum algorithm is known. SLH-DSA [FIPS205] is founded on the collision resistance of cryptographic hash functions, providing security even against adversaries with quantum computers running Grover's algorithm [GROVER1996], subject to the hash length requirements discussed in Section 6.2.¶
The LAMPS Working Group has made substantial progress in defining how PQ and PQ/T hybrid algorithms are encoded in X.509 certificates. Composite ML-DSA [I-D.ietf-lamps-pq-composite-sigs] defines 18 composite signature algorithm identifiers; Composite ML-KEM [I-D.ietf-lamps-pq-composite-kem] defines 12 composite KEM identifiers. RFC 9763 [RFC9763] allows a current traditional certificate and a current PQ certificate to be bound to the same subject. The certificate discovery mechanism [I-D.ietf-lamps-certdiscovery] enables a primary certificate to point to a secondary certificate already issued.¶
Despite this progress, a specific lifecycle gap remains unaddressed:
no existing mechanism allows a certificate holder to make a
cryptographically verifiable commitment, in the current certificate,
to the specific PQ key material that will appear in the successor
certificate. [I-D.reddy-lamps-x509-pq-commit] provides a
continuityPeriod field that declares, in days, the subject's
intent to continue presenting PQC or composite certificates after
the current certificate's notAfter. This is a valuable declaration
of temporal intent, but it does not bind that intent to any specific
future key. A relying party that caches this declaration cannot
determine whether the key in a future renewal certificate matches
what was actually intended at the time of issuance — nor can it
detect a key substitution by an adversary.¶
This document addresses that gap by defining a PQCHC extension that:¶
The PQCHC extension is advisory and non-authoritative. The extension does not modify RFC 5280 path validation semantics. Enforcement of the commitment is left to PQCHC-aware application software, certificate policy, and relying-party trust decisions.¶
The authors are not aware of any patent or patent application that covers the mechanisms described in this document. This notice is provided pursuant to IETF BCPs on intellectual property.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
The following terms are used throughout this document. Terms defined in RFC 9794 [RFC9794] ("PQ/T Hybrid terminology") are used in accordance with the definitions therein.¶
Committed Algorithm: The post-quantum or PQ/T hybrid algorithm that the certificate subject declares it intends to use in the successor certificate, identified by an AlgorithmIdentifier in the PQCHC extension.¶
Committed Key Hash: A cryptographic hash computed over the DER encoding of the intended future SubjectPublicKeyInfo, bound in the FutureKeyCommitment structure of the PQCHC extension. The hash serves as a pre-commitment to specific future key material.¶
Commitment Validity Time (commitmentNotAfter): The GeneralizedTime value in the PQCHC extension beyond which the commitment is considered expired. A PQCHC-aware relying party MUST NOT enforce downgrade detection semantics after this time has passed.¶
FutureKeyCommitment: The ASN.1 structure within the PQCHC extension that carries the hash algorithm identifier, the Committed Key Hash, and an optional algorithm hint for the future key.¶
Issuance-Time Policy Binding: The property that the Committed Key Hash is embedded in the certificate at issuance and signed by the issuing CA, making the commitment part of the CA-signed certificate content. The CA's signature over the PQCHC extension binds the commitment to the certificate subject and the issuance time.¶
CRQC: A cryptographically relevant quantum computer — one with sufficient qubit depth and fidelity to threaten the security of classical asymmetric algorithms such as RSA, ECDSA, and ECDH.¶
HNDL / TNFL: Harvest-Now-Decrypt-Later (HNDL) or Transcript-Now-Forge-Later (TNFL): a threat model in which an adversary records classical-algorithm-protected traffic today and decrypts or forges it once a CRQC becomes available.¶
SPKI: SubjectPublicKeyInfo — the ASN.1 structure defined in RFC 5280 that encodes a subject's public key and its associated algorithm identifier.¶
Successor Certificate: The certificate issued to renew or replace the current certificate. The PQCHC extension commits to the SPKI that is intended to appear in the successor certificate.¶
Adversaries with sufficient resources are believed to be collecting encrypted data and signed records today under the expectation that a CRQC will eventually be available to break the underlying classical algorithms. For long-lived secrets, key establishment material, and non-repudiation records, this "harvest" phase has effectively already begun. NIST IR 8547 [NIST-IR-8547] projects a 2035 hard cutoff for applying new cryptographic protection using quantum-vulnerable algorithms.¶
The specific threat to PKI arises from two quantum algorithms. Shor's algorithm [SHOR1994] solves the Integer Factorization Problem (IFP) and the Elliptic Curve Discrete Logarithm Problem (ECDLP) in polynomial quantum time, directly breaking the security of RSA (whose security rests on IFP) and ECDSA/ECDH (whose security rests on ECDLP). A certificate whose public key uses RSA-2048, P-256, or any elliptic curve group of equivalent classical security is rendered completely insecure by a sufficiently capable CRQC running Shor's algorithm. Grover's algorithm [GROVER1996] provides a quadratic speedup for unstructured search, effectively halving the bit-security of symmetric keys and hash functions; this motivates the SHA-384/SHA-512 requirements in Section 4 and Section 6.2 of this document.¶
The urgency of PQ migration is further quantified by Mosca's inequality [MOSCA2018]: if the sum of (1) the time remaining until a CRQC is available and (2) the secrecy lifetime required for data protected today exceeds the time available to complete a migration, then migration should be treated as overdue. For long-lived PKI root certificates with 25-year validity periods, Mosca's inequality implies that migration cannot be safely deferred even if a CRQC is not expected for a decade or more. The PQCHC extension directly addresses the migration phase that Mosca's inequality makes urgent: providing a machine-verifiable, cryptographically bound mechanism for orderly per-certificate PQ transition.¶
The HNDL and TNFL threat models share a common implication for PKI: the window between when a classical key is first used and when a CRQC breaks it is the exposure window. Narrowing this window requires early, orderly migration to PQ algorithms — a process that spans multiple certificate issuance cycles.¶
A typical TLS end-entity certificate has a validity period of 90 days to two years. A root CA certificate may have a validity period of 25 years. The multi-year migration window created by NIST IR 8547 timelines means that multiple successive certificate issuance events must each move incrementally toward a fully PQ or PQ/T hybrid PKI. During this window, the same domain or service will present different certificates at successive renewal events — some classical, some composite, and eventually some fully PQ.¶
This creates the downgrade-at-renewal gap: an adversary who can present a forged or substitute classical certificate at the moment of renewal, preventing the PQ or composite certificate from being issued or accepted, gains access to encrypted traffic for the lifetime of that substitute certificate.¶
Downgrade attacks during the migration window take the following form:¶
The adversary has achieved an undetectable downgrade. The relying party has no basis to reject the classical certificate because no prior commitment was recorded in the previous certificate.¶
[I-D.reddy-lamps-x509-pq-commit] defines a continuityPeriod field
that declares the number of days beyond notAfter that the subject intends
to present PQC or composite certificates. This declaration addresses the
observation-based heuristic: if a relying party has previously seen a
PQC certificate for a given subject, it may treat the absence of a PQC
certificate during the continuity window as suspicious.¶
However, temporal declarations without cryptographic binding have the following limitations:¶
No key specificity: The declaration says "we will use some PQ algorithm" but does not commit to which key. An adversary who generates a different PQ key pair and presents it at renewal bypasses the downgrade heuristic entirely — the relying party observes a PQ certificate and accepts it, not knowing a key substitution occurred.¶
TOFU bootstrap problem: A relying party that connects to a service for the first time during the migration window may never have seen a PQCHC-bearing certificate. It has no cached commitment to use as a downgrade baseline.¶
Silent cessation: If the operator or an adversary presents a classical certificate without revoking the prior PQ certificate, the temporal declaration cannot distinguish intentional policy change from attack. The draft acknowledges this as an open problem.¶
No ACME-ARI integration: The temporal declaration provides no hook for automated certificate management systems to schedule commitment-aware renewals that verify the PQ key material is consistent with what was committed at issuance time.¶
A cryptographically bound commitment to specific future key material addresses each of these gaps. Cryptographic binding means:¶
This section states requirements that a solution to the downgrade-at-renewal gap SHOULD satisfy. These requirements are stated in abstract, non-implementation-specific language.¶
REQ-1: Forward SPKI Hash Binding. A solution MUST provide a mechanism for embedding a cryptographic hash of the future SubjectPublicKeyInfo in the current certificate, in a field that is covered by the CA's signature. The hash algorithm used MUST itself be post-quantum resistant (i.e., resistant to the Grover speedup on second-preimage search, which reduces SHA-256's effective quantum second-preimage resistance from 256 bits to approximately 128 bits, and SHA-384's from 384 bits to approximately 192 bits). SHA-384 or SHA-512, or their SHA-3 equivalents of equivalent or greater length, SHOULD be used.¶
REQ-2: Committed Algorithm Identification. A solution MUST include an AlgorithmIdentifier for the intended committed algorithm, enabling relying parties to assess algorithm support without waiting for the successor certificate to be issued.¶
REQ-3: Machine-Verifiable Downgrade Detection. A PQCHC-aware relying party MUST be able to verify, at the time of observing a successor certificate, whether the SPKI in that certificate matches the Committed Key Hash in the predecessor certificate. A mismatch MUST be treated as a commitment failure.¶
REQ-4: Commitment Validity Window. A solution MUST include a commitment expiry time (commitmentNotAfter) expressed as a GeneralizedTime. Relying parties MUST NOT enforce commitment semantics after this time has passed. The commitmentNotAfter value SHOULD be set to a time no later than the latest date by which the operator's declared algorithm migration policy requires completion.¶
REQ-5: ACME-ARI Scheduling Hook.
A solution SHOULD be integrable with ACME Renewal Information (ARI) [RFC9773]
so that a CA or ACME server can trigger a renewal with a suggestedWindow
that falls at or before commitmentNotAfter. The renewal SHOULD result in
a successor certificate whose SPKI matches the Committed Key Hash.¶
REQ-6: NIST Security Level Identification. The committed algorithm SHOULD be specified with sufficient precision to allow relying parties to identify the NIST security level of the intended future key. For ML-DSA, this corresponds to the distinction between ML-DSA-44, ML-DSA-65, and ML-DSA-87 as defined in [FIPS204].¶
REQ-7: Policy URI Binding. A solution SHOULD provide an optional URI field pointing to a human-readable or machine-parseable policy document that describes the operator's algorithm migration schedule and commitment governance.¶
REQ-8: Non-Critical, Legacy-Safe Deployment. A solution MUST be deployable as a non-critical X.509 v3 extension per RFC 5280 [RFC5280] Section 4.2. Legacy relying parties that do not recognize the extension MUST be unaffected — the extension MUST NOT cause them to reject the certificate. PQCHC-aware behavior is layered on top of the existing RFC 5280 path validation semantics, not substituted for them.¶
REQ-9: DER Encoding. The extension value MUST be encoded in Distinguished Encoding Rules (DER) as specified in [RFC5280] Section 1. All internal fields MUST use DER canonical encoding.¶
REQ-10: Experimental Deployability. Prior to formal IANA assignment of an id-pe OID, operators SHOULD be able to use a private enterprise arc for experimental deployments, with documentation clearly distinguishing the experimental arc from any future permanent assignment.¶
The PQC Hybrid Commitment (PQCHC) extension is an X.509 v3 extension under the id-pe arc ([RFC5280] Section 4.2.2). The extension MUST be marked non-critical.¶
The extension carries an advisory, non-authoritative statement from the certificate subject (as recorded by the issuing CA) that:¶
The extension content is covered by the issuing CA's signature over the tbsCertificate, providing Issuance-Time Policy Binding (see Section 3 definitions).¶
PQCHC-2026
{ iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0) TBD1 }
DEFINITIONS IMPLICIT TAGS ::= BEGIN
IMPORTS
EXTENSION
FROM PKIX-CommonTypes-2009
{ iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0) 57 }
AlgorithmIdentifier{}
FROM PKIX1Algorithms2008
{ iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0) 45 }
id-pe
FROM PKIX1Explicit-2009
{ iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0) 51 } ;
-- Object Identifier for the PQCHC Extension
id-pe-pqchc OBJECT IDENTIFIER ::= { id-pe TBD2 }
-- The PQCHC Extension
ext-PQCHC EXTENSION ::= {
SYNTAX PQCHCommitment
IDENTIFIED BY id-pe-pqchc }
-- Main Extension Structure
PQCHCommitment ::= SEQUENCE {
commitmentValid BOOLEAN,
committedAlgorithm AlgorithmIdentifier { ALGORITHM, {...} },
futureKeyCommitment FutureKeyCommitment OPTIONAL,
commitmentNotAfter GeneralizedTime,
policyURI IA5String OPTIONAL
}
-- Future Key Commitment Structure
FutureKeyCommitment ::= SEQUENCE {
hashAlgorithm AlgorithmIdentifier { DIGEST-ALGORITHM, {...} },
spkiHash OCTET STRING,
keyAlgorithmHint AlgorithmIdentifier { ALGORITHM, {...} } OPTIONAL
}
END
¶
The commitmentValid field is a BOOLEAN indicating whether the commitment encoded in this extension is currently asserted as valid by the certificate subject.¶
Conforming implementations MUST include this field.¶
The committedAlgorithm field is an AlgorithmIdentifier identifying the post-quantum or PQ/T hybrid algorithm the subject intends to use in the successor certificate.¶
The AlgorithmIdentifier MUST identify a post-quantum or composite algorithm. AlgorithmIdentifiers for ML-DSA variants are defined in the LAMPS ML-DSA certificate profile (draft-ietf-lamps-dilithium-certificates). AlgorithmIdentifiers for composite algorithms are defined in [I-D.ietf-lamps-pq-composite-sigs] (for signatures) and [I-D.ietf-lamps-pq-composite-kem] (for KEMs).¶
A PQCHC-aware relying party SHOULD verify that the algorithm OID in the committedAlgorithm field is an algorithm the relying party supports, as an early signal of future interoperability.¶
The futureKeyCommitment field is OPTIONAL. When present, it contains a FutureKeyCommitment structure binding the commitment to a specific public key value. When absent, the commitment is algorithm-level only (an advisory declaration of which algorithm will be used), without binding to specific key material.¶
Implementations that wish to enable REQ-3 (machine-verifiable downgrade detection at the key level) MUST include this field. Its omission reduces the strength of the commitment to algorithm-level intent only.¶
The hashAlgorithm field in FutureKeyCommitment is an AlgorithmIdentifier specifying the hash algorithm used to compute spkiHash. The hash is computed over the full DER encoding of the future SubjectPublicKeyInfo.¶
The hash algorithm MUST provide at least 256 bits of preimage resistance. Implementations SHOULD use SHA-384 or SHA-512 ([FIPS180]), or SHA3-384 or SHA3-512 ([FIPS202]). Use of SHA-256 is permitted but not recommended, as its effective quantum-collision resistance is reduced to approximately 85 bits under the Grover algorithm. Implementations MUST NOT use MD5, SHA-1, or SHA-224.¶
The spkiHash field is an OCTET STRING containing the output of hashAlgorithm applied to the DER encoding of the full SubjectPublicKeyInfo that is intended to appear in the successor certificate.¶
spkiHash = Hash( hashAlgorithm, DER( future-SubjectPublicKeyInfo ) )¶
The DER encoding of SubjectPublicKeyInfo is taken over the complete ASN.1 structure including the AlgorithmIdentifier and the subjectPublicKey BIT STRING, as defined in RFC 5280 [RFC5280] Section 4.1.¶
The keyAlgorithmHint field is OPTIONAL. When present, it provides the AlgorithmIdentifier for the algorithm used to generate the committed key, as a convenience for relying parties that wish to assess future algorithm compatibility before the successor certificate is issued. In most cases, keyAlgorithmHint and committedAlgorithm will carry the same OID, and keyAlgorithmHint MAY be omitted. keyAlgorithmHint is useful when committedAlgorithm is a composite OID and the relying party needs to independently assess each component's compatibility.¶
The commitmentNotAfter field is a GeneralizedTime value specifying the last time at which the commitment is asserted to be valid. After this time, a PQCHC-aware relying party MUST NOT rely on the commitment for downgrade detection.¶
The commitmentNotAfter value:¶
The policyURI field is OPTIONAL. When present, it is an IA5String containing a URI that points to a human-readable or machine-parseable document where the operator publishes its PQ algorithm migration policy, key custody procedures, and commitment governance documentation.¶
Relying parties SHOULD NOT require the URI to be resolvable at certificate validation time. The URI is informational; its availability and content are outside the scope of this specification.¶
Upon processing a certificate containing a PQCHC extension, a PQCHC-aware relying party:¶
If commitmentValid is TRUE and the current time is before commitmentNotAfter, stores the following commitment record for the subject's identity (e.g., SubjectAltName):¶
The commitment record MUST be purged when:¶
When a PQCHC-aware relying party encounters a successor certificate for a subject for which a commitment record exists:¶
If the hashes do NOT match: the commitment is VIOLATED. The relying party MUST treat this as a commitment failure. The appropriate response is implementation-defined and MAY include:¶
A relying party MUST NOT silently accept a successor certificate with a commitment violation when the FutureKeyCommitment field was present and commitmentValid was TRUE in the predecessor certificate.¶
If a PQCHC-aware relying party holds a commitment record for a subject with commitmentNotAfter in the future, and the relying party encounters a certificate for that subject whose SPKI is based solely on a classical algorithm (RSA, ECDSA, ECDH, EdDSA in standalone non-composite form):¶
A commitment failure and a potential downgrade event are distinct:¶
Both are treated as protocol violations for PQCHC-dependent operations.¶
ACME Renewal Information [RFC9773] provides the renewalInfo resource,
suggestedWindow, and replaces field. The following integration is
RECOMMENDED for operators using ACME certificate management:¶
Scheduling: When an ACME server manages certificates bearing
the PQCHC extension, the suggestedWindow in the renewalInfo
resource for that certificate SHOULD be set to begin no later than
a reasonable lead time before commitmentNotAfter. This ensures the
renewal process completes and the successor certificate is issued
while the commitment is still in force.¶
Replacement tracking: When an ACME order is submitted to renew
a PQCHC-bearing certificate, the replaces field in the new ACME
Order SHOULD reference the predecessor certificate (by the
{issuer, serial} identifier as defined in [RFC9773] Section 5).
This allows the CA and relying parties to correlate the renewal
with the outstanding commitment.¶
PQ key validation at order time: A CA that receives an ACME Order
with a replaces field referencing a PQCHC-bearing predecessor
certificate SHOULD verify that the SPKI in the new Order's CSR
matches the spkiHash in the predecessor's FutureKeyCommitment. If
the hash does not match, the CA SHOULD reject the Order with an
appropriate error indicating a commitment mismatch.¶
This step is OPTIONAL for CAs that do not implement PQCHC-aware
order validation, and it requires the CA to have access to the
predecessor certificate — which is typically possible via the
issuer's own certificate repository or the replaces reference.¶
Explanation URL: The CA MAY set the explanationURL field of
the renewalInfo resource to the same URI as the policyURI in the
PQCHC extension, providing consistent reference between the ACME
renewal workflow and the commitment governance documentation.¶
The PQCHC extension is advisory and non-authoritative. The commitment expressed in the extension is made by the certificate subject and recorded by the CA; it is not a guarantee enforceable by technical protocol alone. A relying party's response to a commitment violation is a matter of local policy.¶
A certificate subject that includes the PQCHC extension but fails to honor the commitment (by presenting a classical or non-matching key at renewal) incurs a protocol violation that PQCHC-aware relying parties may detect and act upon. The extension is analogous to a published service commitment — machine-verifiable and CA-attested, but not self-executing.¶
The security of the spkiHash commitment depends on the second-preimage resistance of the hashAlgorithm. An adversary who can find a second preimage can substitute a different future key while maintaining the hash match.¶
For a hash algorithm providing n bits of output, the relevant security properties for the spkiHash commitment are:¶
Second-preimage resistance (finding a different input with the same hash): classically 2^n operations; under Grover's algorithm applied to second-preimage search, approximately 2^(n/2) quantum operations.¶
Collision resistance (finding any two inputs with the same hash): classically 2^(n/2) operations (birthday bound); under the Brassard-Høyer-Tapp (BHT) algorithm, approximately 2^(n/3) quantum operations.¶
For the spkiHash commitment, the relevant property is second-preimage resistance: an adversary must find a distinct SubjectPublicKeyInfo that hashes to the same value as the committed future SPKI. The classical security level equals the hash output length n; the quantum security level under Grover is approximately n/2 bits. This implies:¶
The hash algorithm selection SHOULD be consistent with the security level implied by the committedAlgorithm. For example, a commitment to ML-DSA-87 (NIST security category 5, targeting at least 256 bits of classical security) warrants SHA-512 or SHA3-512.¶
The spkiHash field reveals information about the future public key to any party that observes the current certificate. Specifically:¶
Operators SHOULD generate a unique future key pair for each PQCHC commitment and MUST NOT reuse a committed future key in more than one PQCHC extension unless the operator explicitly intends cross-certificate correlation to be observable.¶
An adversary who can perform a man-in-the-middle attack at the CA during certificate issuance could, in principle, substitute a different spkiHash for the value submitted by the legitimate subject. The adversary would then substitute the corresponding key at renewal time.¶
The Issuance-Time Policy Binding property (the CA's signature over the extension in the tbsCertificate) prevents post-issuance substitution of the hash. However, it does not prevent issuance-time substitution if the adversary can compromise the CA issuance pipeline. Mitigations include:¶
The PQCHC extension is designed for deployment during the transition to PQC. Once a CRQC becomes available:¶
Therefore, the value of the PQCHC commitment depends on the certificate chain and the CA's signing algorithm:¶
Operators seeking CRQC-era integrity of their PQCHC commitments SHOULD ensure their issuing CA chain uses ML-DSA or composite signing algorithms before the commitment window extends into the period when a CRQC is considered a realistic threat. This is consistent with CNSA 2.0 [CNSA2] requirements, which mandate ML-DSA-87 for all NSS certificate signatures by 2031.¶
An adversary may attempt to force a downgrade by:¶
Mitigations:¶
A relying party that encounters a PQCHC-bearing certificate for the first time has no prior basis for validating the freshness of the commitment. The "trust on first use" (TOFU) problem means that if the very first certificate observed for a subject already contains a commitment violation, the relying party cannot detect it.¶
This problem is not specific to PQCHC; it is shared by all observation- based downgrade detection mechanisms, including [I-D.reddy-lamps-x509-pq-commit].¶
Partial mitigations include:¶
replaces field correlation: when ARI is in use, the chain of
renewal Orders provides a verifiable history of certificate issuance
events that can be cross-checked against CT log entries.¶
The TOFU bootstrap problem is acknowledged as a known limitation of this specification. Future work may address it through additional mechanisms such as signed commitment announcements or integration with certificate policy OIDs that attest to an operator's PQCHC enrollment.¶
IANA is requested to assign an Object Identifier for the PQCHC extension under the id-pe arc:¶
id-pe-pqchc OBJECT IDENTIFIER ::= { id-pe TBD2 }
¶
The base id-pe arc is 1.3.6.1.5.5.7.1 as defined in RFC 5280
[RFC5280] Section 4.2.2. The assigned id-pe value TBD2 will result
in a final OID of 1.3.6.1.5.5.7.1.TBD2.¶
IANA is also requested to assign an Object Identifier for the ASN.1 module under the id-mod arc:¶
id-mod-pqchc-2026 OBJECT IDENTIFIER ::= { id-mod TBD1 }
¶
Both assignments are TBD pending IANA processing.¶
Prior to permanent IANA assignment, operators wishing to conduct experimental deployments of the PQCHC extension may use OIDs under the IANA Private Enterprise Number (PEN) arc for Sanctum SecOps LLC:¶
1.3.6.1.4.1.65953¶
Specifically, the experimental arc for PQCHC extensions is:¶
id-pe-pqchc-experimental OBJECT IDENTIFIER ::=
{ 1 3 6 1 4 1 65953 1 1 }
¶
This experimental OID MUST NOT be used in production deployments or in certificates submitted to public Certificate Transparency logs without explicit documentation that the OID is experimental and subject to change. The experimental arc is distinct from any permanent id-pe assignment.¶
This appendix shows a non-normative, illustrative encoding of a PQCHC extension. The example commits to a future ML-DSA-65 key using a SHA-384 hash.¶
PQCHCommitment ::= SEQUENCE {
commitmentValid TRUE,
committedAlgorithm SEQUENCE {
algorithm 2.16.840.1.101.3.4.3.18 -- id-ML-DSA-65
},
futureKeyCommitment SEQUENCE {
hashAlgorithm SEQUENCE {
algorithm 2.16.840.1.101.3.4.2.2 -- id-sha384
},
spkiHash OCTET STRING (48 bytes -- SHA-384 output),
keyAlgorithmHint ABSENT -- same as committedAlgorithm
},
commitmentNotAfter GeneralizedTime "20270401000000Z",
policyURI ABSENT
}
¶
The extension appears in the certificate's extensions list as:¶
Extension ::= SEQUENCE {
extnID 1.3.6.1.5.5.7.1.TBD2, -- id-pe-pqchc
critical FALSE, -- MUST be non-critical
extnValue OCTET STRING { -- DER encoding of PQCHCommitment
-- (DER bytes omitted; see description above)
}
}
¶
NIST IR 8547 [NIST-IR-8547] (initial public draft, November 2024) establishes the following transition timeline for quantum-vulnerable algorithms:¶
| Milestone | Date | Implication for PQCHC |
|---|---|---|
| Deprecation of 112-bit classical algorithms | 2030 | PQCHC commitments for lower-security-level environments SHOULD have commitmentNotAfter no later than 2030. |
| Disallowment of all classical asymmetric algorithms | 2035 | PQCHC commitments in high-assurance environments SHOULD be set to complete migration before 2035. |
| CNSA 2.0 full enforcement for NSS | 2031 | PQCHC commitments in National Security System contexts SHOULD have commitmentNotAfter no later than 2031. |
The NIST IR 8547 note on hybrid modes states that the disallowment of quantum-vulnerable algorithms after 2035 was not intended to apply to hybrid modes that incorporate an approved PQC algorithm alongside a quantum-vulnerable algorithm. This means PQ/T composite certificates (as defined in [I-D.ietf-lamps-pq-composite-sigs]) remain usable beyond 2035 within the scope of that NIST guidance. PQCHC commitments to composite algorithms are therefore consistent with long-term compliance, provided the composite includes an approved PQC component.¶
| Mechanism | Forward Commitment? | Key-Specific Binding? | Downgrade Detection? | ARI Hook? | Non-Critical? |
|---|---|---|---|---|---|
| draft-reddy PQCHC (continuityPeriod) | Temporal only | No | Heuristic only | No | Yes |
| RFC 9763 RelatedCertificate | No (current binding) | Current cert only | No | No | Yes |
| draft-certdiscovery certHash | No (existing cert) | Existing cert hash | No | No | Yes |
| draft-ounsworth external-pubkeys | No (current key) | Current key hash | No | No | N/A |
| This document (PQCHC -01) | Yes (future SPKI hash) | Yes (spkiHash) | Yes (REQ-3) | Yes (Section 5.4) | Yes |
This comparison illustrates that the PQCHC extension as defined in this document is the only mechanism in the current LAMPS WG landscape that simultaneously provides forward key commitment with cryptographic binding, machine-verifiable downgrade detection, and ACME-ARI scheduling integration.¶
The author thanks Tirumaleswar Reddy.K, John Gray, and Yaron Sheffer for their work on draft-reddy-lamps-x509-pq-commit, which identified the temporal commitment gap and provided the direct motivation for this work.¶
Thanks to Mike Ounsworth, Massimiliano Pala, Jan Klaußner, and Scott Fluhrer for their work on composite ML-DSA and composite ML-KEM, which establish the algorithm encoding infrastructure that PQCHC commitments reference.¶
Thanks to Alison Becker, Rebecca Guthrie, and Michael J. Jenkins for their work on RFC 9763 and the CNSA 2.0 PKIX profile, which clarify the NSS certificate requirements that motivate PQCHC in high-assurance contexts.¶
Thanks to the LAMPS Working Group for the broader PQC certificate infrastructure this document builds upon.¶
This document was prepared for public review as a contribution to the IETF LAMPS Working Group. It describes a problem domain and requirements; it does not disclose any proprietary internal architecture.¶