<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 4.0.5) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-vicente-lamps-pqchc-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="PQCHC X.509 Extension">A Post-Quantum Hybrid-Commitment Certificate Extension (PQCHC)</title>

    <author fullname="Brian Vicente">
      <organization>Sanctum SecOps LLC</organization>
      <address>
        <email>admin@sanctumsecops.com</email>
      </address>
    </author>

    <date year="2026" month="June" day="05"/>

    <area>Security</area>
    <workgroup>LAMPS</workgroup>
    <keyword>post-quantum</keyword> <keyword>X.509</keyword> <keyword>certificate extension</keyword> <keyword>crypto-agility</keyword> <keyword>hybrid</keyword> <keyword>migration</keyword>

    <abstract>


<?line 76?>

<t>This document defines a non-critical X.509 certificate extension, the
Post-Quantum Hybrid Commitment (PQCHC), that allows a certificate issued
with a classical or hybrid key to carry a verifiable, cryptographically
bound commitment to a specific future post-quantum algorithm and a
Commitment Validity Time. The PQCHC commitment binds to a hash of the
committed future public key and algorithm identifier, enabling a relying
party to verify that a subsequently issued post-quantum certificate honors
the earlier commitment. This mechanism provides a crypto-agility signal
for certificate-lifecycle automation, including ACME Renewal Information
(ARI), to plan and verify PQC migration.</t>



    </abstract>



  </front>

  <middle>


<?line 89?>

<section anchor="introduction"><name>Introduction</name>

<t>The finalization of NIST post-quantum standards FIPS 203 <xref target="FIPS203"/>,
FIPS 204 <xref target="FIPS204"/>, and FIPS 205 <xref target="FIPS205"/> establishes the algorithms
to which existing PKIs must migrate. NIST IR 8547 <xref target="IR8547"/> sets a
deprecation calendar that makes migration time-bounded.</t>

<t>Migration of an X.509 <xref target="RFC5280"/> hierarchy is gated by the certificate
lifecycle: a relying party is not protected against a cryptographically
relevant quantum computer (CRQC) until quantum-vulnerable certificates
have expired or been replaced. During the multi-year transition window, a
relying party frequently holds a certificate that is still classical (or
hybrid) but whose subject intends to migrate to a specific post-quantum
algorithm at a known time. Today there is no interoperable,
machine-verifiable way to express that intent inside the certificate
itself.</t>

<t>This document addresses that gap. PQCHC allows a certificate that is not
yet composite to carry a machine-verifiable commitment to the post-quantum
algorithm and the time by which the subject intends to migrate, such that
lifecycle automation (for example, ACME Renewal Information <xref target="RFC9773"/>)
can act on it and a relying party can later verify the migration was
honored.</t>

<t>Algorithm identifiers in this document use the registrations defined in
<xref target="RFC9881"/> (ML-DSA), <xref target="RFC9909"/> (SLH-DSA), and <xref target="RFC9935"/> (ML-KEM).
This document uses the post-quantum terminology of <xref target="RFC9794"/>. A PQCHC
commitment is neither a "composite" nor a "hybrid" key per that
terminology; it is a forward-looking policy and continuity commitment
carried as a certificate extension.</t>

<t>Specific tuning parameters used by implementations of this mechanism are
out of scope of this document; see the Applicability section of the
corresponding Sanctum SecOps publication.</t>

<section anchor="relationship"><name>Relationship to Existing Work</name>

<t><xref target="I-D.reddy-lamps-x509-pq-commit"/> defines a declarative post-quantum
continuity signal expressed as a period of time, without a cryptographic
binding to a specific future key. PQCHC differs by binding the commitment
to a hash of the committed future public key and algorithm identifier,
permitting later verification that an issued post-quantum certificate
honors the prior commitment.</t>

<t>Composite certificates (<xref target="I-D.ietf-lamps-pq-composite-sigs"/>) address the
transition phase: simultaneous classical-and-PQ security in a single
certificate. PQCHC addresses the pre-transition phase: a purely classical
certificate carries a machine-verifiable binding to its intended successor.
The two mechanisms are not mutually exclusive; see <xref target="composite"/> for the
interaction model.</t>

</section>
</section>
<section anchor="requirements"><name>Requirements</name>

<t>This section states requirements that a conforming PQCHC implementation
<bcp14>SHOULD</bcp14> satisfy.</t>

<dl>
  <dt>REQ-1:</dt>
  <dd>
    <t>A solution <bcp14>MUST</bcp14> embed a cryptographic hash of the future
SubjectPublicKeyInfo in the current certificate in a field covered by
the CA's signature.  The hash algorithm <bcp14>MUST</bcp14> provide at least 128 bits
of second-preimage resistance against a quantum adversary.</t>
  </dd>
  <dt>REQ-2:</dt>
  <dd>
    <t>A solution <bcp14>MUST</bcp14> include an AlgorithmIdentifier for the intended committed
algorithm, enabling relying parties to assess algorithm support without
waiting for the successor certificate to be issued.</t>
  </dd>
  <dt>REQ-3:</dt>
  <dd>
    <t>A PQCHC-aware relying party <bcp14>MUST</bcp14> be able to verify, at the time of
observing a successor certificate, whether the SPKI hash matches the
Committed Key Hash in the predecessor certificate.  A mismatch <bcp14>MUST</bcp14> be
treated as a commitment failure.</t>
  </dd>
  <dt>REQ-4:</dt>
  <dd>
    <t>A solution <bcp14>MUST</bcp14> include a Commitment Validity Time expressed as a
<spanx style="verb">GeneralizedTime</spanx>.  Relying parties <bcp14>MUST NOT</bcp14> enforce commitment semantics
after this time.  The value <bcp14>SHOULD</bcp14> be set no later than the operator's
declared algorithm-migration deadline.</t>
  </dd>
  <dt>REQ-5:</dt>
  <dd>
    <t>A solution <bcp14>SHOULD</bcp14> be integrable with ACME Renewal Information (ARI)
<xref target="RFC9773"/> so that the <spanx style="verb">suggestedWindow</spanx> falls at or before the
Commitment Validity Time, and the resulting renewal uses the committed
key.</t>
  </dd>
  <dt>REQ-6:</dt>
  <dd>
    <t>The committed algorithm <bcp14>SHOULD</bcp14> be specified with sufficient precision to
identify the NIST security level of the intended future key (e.g.,
ML-DSA-44, ML-DSA-65, or ML-DSA-87 per <xref target="FIPS204"/>).</t>
  </dd>
  <dt>REQ-7:</dt>
  <dd>
    <t>A solution <bcp14>SHOULD</bcp14> provide an optional URI field pointing to a
human-readable or machine-parseable document describing the operator's
algorithm migration policy and commitment governance.</t>
  </dd>
  <dt>REQ-8:</dt>
  <dd>
    <t>A solution <bcp14>MUST</bcp14> be deployable as a non-critical X.509 v3 extension per
<xref target="RFC5280"/> Section 4.2.  Legacy relying parties <bcp14>MUST</bcp14> be unaffected.
PQCHC-aware behavior <bcp14>MUST NOT</bcp14> alter RFC 5280 path validation semantics.</t>
  </dd>
  <dt>REQ-9:</dt>
  <dd>
    <t>The extension value <bcp14>MUST</bcp14> be encoded in Distinguished Encoding Rules (DER)
per <xref target="RFC5280"/>.  All internal fields <bcp14>MUST</bcp14> use DER canonical encoding.</t>
  </dd>
  <dt>REQ-10:</dt>
  <dd>
    <t>Prior to formal IANA OID assignment, operators <bcp14>SHOULD</bcp14> be able to use a
private enterprise arc for experimental deployments, with documentation
clearly distinguishing the experimental arc from any future permanent
assignment.</t>
  </dd>
</dl>

</section>
<section anchor="conventions-and-definitions"><name>Conventions and Definitions</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

<t>The following terms are used throughout this document:</t>

<dl>
  <dt>Committed Algorithm:</dt>
  <dd>
    <t>the post-quantum algorithm, identified by an object identifier, to which
the subject commits for a future certificate.</t>
  </dd>
  <dt>Committed Key Hash:</dt>
  <dd>
    <t>a cryptographic hash over the <spanx style="verb">subjectPublicKeyInfo</spanx> the subject intends
to use for the committed algorithm in a future certificate.</t>
  </dd>
  <dt>Commitment Validity Time:</dt>
  <dd>
    <t>the time by which the committed algorithm is intended to be in force for
the subject, expressed as a <spanx style="verb">GeneralizedTime</spanx>.</t>
  </dd>
  <dt>CRQC:</dt>
  <dd>
    <t>Cryptographically Relevant Quantum Computer. A quantum computer capable
of breaking classical asymmetric cryptography at operationally relevant
key sizes, as described in <xref target="RFC9794"/>.</t>
  </dd>
</dl>

</section>
<section anchor="pqchc-extension"><name>The PQCHC Extension</name>

<t>The PQCHC extension is a non-critical X.509 v3 certificate extension.
Relying parties that do not understand the extension <bcp14>MUST</bcp14> ignore it, as
required for non-critical extensions by <xref target="RFC5280"/>.</t>

<t>The extension carries: a commitment flag indicating a PQC migration
commitment is present; the committed post-quantum algorithm identifier; a
hash of the committed future public key (the Committed Key Hash); the
Commitment Validity Time; and an optional URI to the operator's PQC
migration policy document.</t>

<section anchor="asn1-module"><name>Encoding</name>

<figure><sourcecode type="asn1"><![CDATA[
PQCHC-2025
  { iso(1) identified-organization(3) dod(6) internet(1)
    private(4) enterprise(1) 65953 modules(0) pqchc(1) }

DEFINITIONS IMPLICIT TAGS ::= BEGIN

IMPORTS
    AlgorithmIdentifier
        FROM PKIX1Explicit88
            { iso(1) identified-organization(3) dod(6) internet(1)
              security(5) mechanisms(5) pkix(7) id-mod(0)
              id-pkix1-explicit(18) }

    DigestInfo
        FROM CryptographicMessageSyntax2004
            { iso(1) member-body(2) us(840) rsadsi(113549)
              pkcs(1) pkcs-9(9) smime(16) modules(0)
              cms-2004(24) }

    EXTENSION
        FROM PKIX-CommonTypes-2009
            { iso(1) identified-organization(3) dod(6) internet(1)
              security(5) mechanisms(5) pkix(7) id-mod(0)
              id-mod-pkixCommon-02(57) } ;

-- Experimental OID under public PEN arc 1.3.6.1.4.1.65953.
-- MUST NOT be used in production; replace with IANA-assigned TBD1.
id-ce-pqchc-experimental OBJECT IDENTIFIER ::=
    { 1 3 6 1 4 1 65953 1 1 }

-- Placeholder for permanent IANA assignment (use in deployment).
-- id-ce-pqchc OBJECT IDENTIFIER ::= { id-ce TBD1 }

ext-pqchc EXTENSION ::= {
    SYNTAX       PQCHCommitment
    IDENTIFIED BY id-ce-pqchc-experimental }

PQCHCommitment ::= SEQUENCE {
    -- TRUE indicates a binding PQC migration commitment is present.
    -- FALSE indicates the commitment has been invalidated.
    commitmentValid     BOOLEAN DEFAULT TRUE,

    -- AlgorithmIdentifier for the committed post-quantum algorithm.
    -- MUST reference a standardized PQC algorithm OID:
    --   ML-DSA-44/65/87 (id-ml-dsa-44/65/87 per RFC 9881)
    --   ML-KEM-512/768/1024 (id-alg-ml-kem-* per RFC 9935)
    --   SLH-DSA-* (id-slh-dsa-* per RFC 9909)
    -- For composite algorithms, use the composite OID per
    -- draft-ietf-lamps-pq-composite-sigs.
    committedAlgorithm  AlgorithmIdentifier,

    -- DigestInfo over the DER-encoded subjectPublicKeyInfo of the
    -- committed future key. The digest algorithm MUST provide at
    -- least 128 bits of second-preimage resistance against a
    -- quantum adversary. SHA-256, SHA-384, SHA-512, and SHA-3
    -- variants with >= 256-bit output are acceptable.
    -- SHA-1 and MD5 MUST NOT be used.
    committedKeyHash    DigestInfo,

    -- Latest time by which the committed algorithm is in force.
    -- Encoded as GeneralizedTime in format YYYYMMDDHHMMSSZ.
    -- Operators SHOULD set this at or before the NIST IR 8547
    -- deprecation date of the signing algorithm.
    commitmentNotAfter  GeneralizedTime,

    -- Optional URI to operator's PQC migration policy document.
    policyURI           IA5String OPTIONAL }

END
]]></sourcecode></figure>

<t>Implementation notes:</t>

<t><list style="symbols">
  <t><spanx style="verb">AlgorithmIdentifier</spanx> for ML-DSA, ML-KEM, and SLH-DSA <bcp14>MUST</bcp14> carry a
non-null <spanx style="verb">algorithm</spanx> OID. The <spanx style="verb">parameters</spanx> field <bcp14>MUST</bcp14> be absent,
consistent with <xref target="RFC9881"/>, <xref target="RFC9935"/>, and <xref target="RFC9909"/> respectively.</t>
  <t><spanx style="verb">DigestInfo</spanx> carries <spanx style="verb">{ digestAlgorithm AlgorithmIdentifier, digest
OCTET STRING }</spanx>. The algorithm field enables hash agility; bare
<spanx style="verb">OCTET STRING</spanx> <bcp14>SHOULD NOT</bcp14> be used.</t>
  <t><spanx style="verb">GeneralizedTime</spanx> is used rather than <spanx style="verb">UTCTime</spanx> to support dates beyond
2049, consistent with <xref target="RFC5280"/> Section 4.1.2.5.2.</t>
  <t><spanx style="verb">commitmentValid DEFAULT TRUE</spanx> allows the extension to omit the flag in
the common case.</t>
</list></t>

</section>
<section anchor="processing-rules"><name>Processing Rules</name>

<t>A relying party that understands the extension <bcp14>MAY</bcp14> use the commitment as
an input to lifecycle planning. When a subsequently issued certificate for
the same subject presents a post-quantum key, the following five-step
verification procedure applies:</t>

<figure><sourcecode type="pseudocode"><![CDATA[
function VerifyPQCHCCommitment(committingCert, candidatePQCert):

  # Step 1: Locate and decode the PQCHC extension.
  ext = committingCert.findExtension(id-ce-pqchc)
  if ext is absent:
      return NOT_COMMITTED
  commitment = DER_DECODE(ext.extnValue, PQCHCommitment)
  if commitment.commitmentValid == FALSE:
      return COMMITMENT_INVALIDATED

  # Step 2: Check the committed algorithm matches the candidate cert.
  if candidatePQCert.subjectPublicKeyInfo.algorithm
         != commitment.committedAlgorithm:
      return ALGORITHM_MISMATCH

  # Step 3: Compute the hash of the candidate SPKI.
  spkiBytes = DER_ENCODE(candidatePQCert.subjectPublicKeyInfo)
  hashAlg   = commitment.committedKeyHash.digestAlgorithm
  computed  = HASH(hashAlg, spkiBytes)

  # Step 4: Compare hashes.
  if computed != commitment.committedKeyHash.digest:
      return HASH_MISMATCH

  # Step 5: Check temporal ordering.
  if candidatePQCert.validity.notBefore > commitment.commitmentNotAfter:
      return COMMITMENT_EXPIRED

  return COMMITMENT_HONORED
]]></sourcecode></figure>

<t>A relying party <bcp14>MUST NOT</bcp14> treat the presence, absence, or content of a
PQCHC commitment as a reason to accept a certificate it would otherwise
reject. The commitment is advisory with respect to the trust decision for
the certificate in which it appears.</t>

<t>A certificate <bcp14>MAY</bcp14> carry multiple PQCHC extensions when committing to both
a signature algorithm and a KEM algorithm. Implementations that encounter
more than one PQCHC extension <bcp14>MUST</bcp14> process each independently.</t>

</section>
<section anchor="composite"><name>Interaction with Composite Certificates</name>

<t>Composite certificates (<xref target="I-D.ietf-lamps-pq-composite-sigs"/>) bind a
classical and a post-quantum key simultaneously; PQCHC binds a
forward-looking commitment. The two mechanisms address different migration
phases and are not mutually exclusive. When a composite certificate also
carries a PQCHC extension, the <spanx style="verb">committedAlgorithm</spanx> field <bcp14>MUST</bcp14> use the
composite algorithm OID as defined in
<xref target="I-D.ietf-lamps-pq-composite-sigs"/>, and <spanx style="verb">committedKeyHash</spanx> <bcp14>MUST</bcp14> be over
the DER-encoded composite <spanx style="verb">subjectPublicKeyInfo</spanx>.</t>

<figure><artwork><![CDATA[
Migration Phase           Mechanism
------------------------- ----------------------------------------
Pre-migration             PQCHC: forward-key-hash commitment
(classical cert)          to specific PQC algorithm and time

Transition                Composite ML-DSA: simultaneous
(composite cert)          classical AND PQ in one certificate

Post-migration            Pure PQ cert satisfies prior PQCHC
(pure PQ cert)            commitment; neither mechanism needed
]]></artwork></figure>

</section>
<section anchor="acme-ari"><name>Interaction with ACME-ARI</name>

<t>ACME Renewal Information (ARI) <xref target="RFC9773"/> allows an ACME server to
advertise a <spanx style="verb">suggestedWindow</spanx> within which clients should renew a
certificate. An ACME CA that wishes to honor PQCHC commitments <bcp14>SHOULD</bcp14>
constrain the ARI scheduling window as follows:</t>

<figure><artwork><![CDATA[
suggestedWindow.end <= min(certificate.notAfter,
                           commitment.commitmentNotAfter)
]]></artwork></figure>

<t>The specific lead time for <spanx style="verb">suggestedWindow.start</spanx> is implementation-
defined and out of scope of this document. The following ASCII timing
diagram illustrates a PQCHC-constrained ARI interaction, including post-
issuance verification.</t>

<figure><artwork><![CDATA[
Client                           ACME Server
  |                                   |
  |  GET /renewal-info/<certID>       |
  |  (certID = predecessor cert)      |
  |---------------------------------->|
  |                                   | (1) server decodes PQCHC
  |                                   |     from predecessor cert
  |                                   | (2) sets window.end <=
  |                                   |     min(notAfter,
  |                                   |         commitmentNotAfter)
  |  200 OK                           |
  |  { suggestedWindow: {             |
  |      start: <lead-time>,          |
  |      end: <constrained> },        |
  |    explanationURL: <uri> }        |
  |<----------------------------------|
  |                                   |
  |  (client generates new key pair   |
  |   using committedAlgorithm OID)   |
  |                                   |
  |  POST /new-order                  |
  |  { replaces: <predecessor-certID>,|
  |    identifiers: [...] }           |
  |---------------------------------->|
  |                                   | (3) server verifies:
  |                                   |     HASH(newSPKI) ==
  |                                   |       committedKeyHash
  |                                   |     newSPKI.alg ==
  |                                   |       committedAlgorithm
  |                                   |     notBefore <=
  |                                   |       commitmentNotAfter
  |  201 Created                      |
  |<----------------------------------|
]]></artwork></figure>

<t>The client <bcp14>MUST</bcp14> generate a new key pair using the algorithm specified in
<spanx style="verb">commitment.committedAlgorithm</spanx>. After issuance, the CA or lifecycle
automation <bcp14>SHOULD</bcp14> verify that the issued certificate's SPKI hash matches
<spanx style="verb">commitment.committedKeyHash.digest</spanx> and that
<spanx style="verb">newCert.validity.notBefore &lt;= commitment.commitmentNotAfter</spanx>. If any
verification check fails, the CA <bcp14>SHOULD</bcp14> log the failure and <bcp14>MAY</bcp14> notify
the operator. The <spanx style="verb">replaces</spanx> field in the new-order request identifies
the predecessor certificate per <xref target="RFC9773"/> Section 5; the ACME server
uses this to look up the predecessor's PQCHC extension and apply the
constrained scheduling logic above.</t>

<t>When the ACME server receives an order with a <spanx style="verb">replaces</spanx> field referencing
a PQCHC-bearing certificate, it <bcp14>SHOULD</bcp14> verify that the CSR's
<spanx style="verb">subjectPublicKeyInfo</spanx> hashes to <spanx style="verb">committedKeyHash.digest</spanx> under
<spanx style="verb">committedKeyHash.digestAlgorithm</spanx>. An order that fails this check <bcp14>SHOULD</bcp14>
be rejected with an <spanx style="verb">orderNotReady</spanx> error <xref target="RFC9773"/> and a
problem document indicating <spanx style="verb">commitment-mismatch</spanx>. If the
<spanx style="verb">commitmentNotAfter</spanx> deadline has already passed, the server <bcp14>MAY</bcp14> proceed
with a standard renewal using the <spanx style="verb">suggestedWindow</spanx> absent a commitment
constraint, and <bcp14>SHOULD</bcp14> record the expired-commitment event for audit
purposes. The CA <bcp14>MAY</bcp14> set the <spanx style="verb">explanationURL</spanx> field of the <spanx style="verb">renewalInfo</spanx>
resource to the <spanx style="verb">policyURI</spanx> from the PQCHC extension to maintain
consistent reference between the renewal workflow and the operator's
migration policy documentation.</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>The commitment is advisory and <bcp14>MUST NOT</bcp14> be treated as authentication of
the committed post-quantum key; it expresses intent and a binding to a
future key hash, not possession of that key at the time of the committing
certificate. A commitment <bcp14>MUST NOT</bcp14> downgrade the validation of the
certificate in which it appears. Specific implementation parameters for
posture evaluation and renewal scheduling are out of scope of this
document; see the Applicability section of the corresponding Sanctum
SecOps publication.</t>

<section anchor="downgrade"><name>Downgrade Resistance</name>

<t>A man-in-the-middle adversary operating during the PQC transition window
can attempt forced-classical-reissuance: intercept a post-quantum renewal,
serve a freshly obtained classical certificate, and block the relying party
from observing a prior PQCHC commitment. Two defensive layers apply:
(1) lifecycle automation <bcp14>SHOULD</bcp14> verify that the renewed certificate's SPKI
hash matches <spanx style="verb">committedKeyHash</spanx>, creating an audit trail; and (2) operators
who participate in Certificate Transparency can detect classical re-issuance
to a subject that had committed to PQC by scanning CT logs for conflicting
subject/SPKI combinations after the <spanx style="verb">commitmentNotAfter</spanx> deadline. The
downgrade risk is bounded by the classical algorithm's remaining security
margin.</t>

</section>
<section anchor="commitment-substitution"><name>Commitment-Substitution Attacks</name>

<t>A commitment-substitution adversary attempts to make a different future key
satisfy the <spanx style="verb">committedKeyHash</spanx> check by finding a second preimage of the
committed SPKI under the digest algorithm, or by persuading a CA to
re-issue the committing certificate with an altered <spanx style="verb">committedKeyHash</spanx>.
Second-preimage attacks are mitigated by the digest-algorithm requirements
in <xref target="hash-agility"/>. The CA re-issuance path is a CA-compromise scenario;
Certificate Transparency provides the same audit-trail mitigation.</t>

</section>
<section anchor="preimage"><name>Pre-Image Attack Surface on committedKeyHash</name>

<t>The <spanx style="verb">committedKeyHash</spanx> field is a <spanx style="verb">DigestInfo</spanx> over the DER encoding of
the committed <spanx style="verb">subjectPublicKeyInfo</spanx>. Its security depends on
second-preimage resistance. Under Grover's algorithm, a quantum adversary
can find a preimage of an n-bit hash in approximately 2^(n/2) quantum
queries. For SHA-256, quantum preimage cost is approximately 2^128, which
remains computationally infeasible. Implementations <bcp14>MUST NOT</bcp14> use MD5,
SHA-1, or SHA-224 for <spanx style="verb">committedKeyHash</spanx>, as their classical security
margins are already inadequate.</t>

</section>
<section anchor="hash-agility"><name>Hash Algorithm Agility</name>

<t>The <spanx style="verb">committedKeyHash</spanx> field uses <spanx style="verb">DigestInfo</spanx>, which carries both the hash
algorithm OID and the hash value, enabling the digest algorithm to be
upgraded in future certificates without changing the ASN.1 structure.</t>

<t>The digest algorithm used in <spanx style="verb">committedKeyHash</spanx> <bcp14>MUST</bcp14> provide at least 128
bits of second-preimage resistance against a quantum adversary. SHA-256,
SHA-384, SHA-512, and SHA-3 variants with 256-bit or greater output are
acceptable. SHA-1 and MD5 <bcp14>MUST NOT</bcp14> be used.</t>

<t>The remaining threat considerations follow from the general properties of
the mechanisms.</t>

<t>CRQC-era forgery: if a CRQC becomes available before the
<spanx style="verb">commitmentNotAfter</spanx> deadline, the classical signature on the committing
certificate can be forged and an adversary could introduce an arbitrary
<spanx style="verb">committedKeyHash</spanx>. This is a consequence of the general CRQC threat the
entire PKI faces. Operators <bcp14>SHOULD</bcp14> set <spanx style="verb">commitmentNotAfter</spanx> at or before
the NIST IR 8547 <xref target="IR8547"/> deprecation date of the algorithm used to sign
the committing certificate.</t>

<t>Cross-certification: a PQCHC commitment is CA-agnostic and survives
re-issuance by a different CA. The verification procedure
(<xref target="processing-rules"/>) does not require the verifier to know which CA
issued either certificate. Implementations <bcp14>SHOULD</bcp14> treat commitments as
advisory per path and <bcp14>MUST NOT</bcp14> fail path validation if multiple valid
paths yield different commitment values.</t>

<t>Implementation quality: PQCHC commitments bind to keys generated by PQC
implementations. Published cryptanalysis demonstrates that implementation
quality is critical (see <xref target="KyberSlash"/>, <xref target="NTTSIS"/>, <xref target="ILPFAULT"/>). CA
key-generation practices <bcp14>SHOULD</bcp14> require constant-time implementations of
the committed algorithm.</t>

</section>
</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, as required by
<xref target="RFC7942"/>.</t>

<t>Organization: Sanctum SecOps LLC</t>

<t>Description: An experimental Go implementation of the PQCHC extension
covering encoding and decoding of PQCHCommitment structures, DigestInfo
computation, and commitment verification per <xref target="processing-rules"/>. Located
at <spanx style="verb">poc/pqchc/</spanx> in the companion repository at
https://github.com/Sanc-Admin/sanctum-ietf (private until counsel
hand-off).</t>

<t>Coverage: Full extension encoding/decoding (ASN.1 DER), DigestInfo
computation for SHA-256, commitment verification per
<xref target="processing-rules"/>, and ACME-ARI scheduling integration per
<xref target="acme-ari"/>.</t>

<t>Maturity: Experimental reference implementation. This implementation is
provided for early interoperability testing only and <bcp14>MUST NOT</bcp14> be deployed
in production or used for security-critical operations without review by
qualified security and legal counsel.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="x509-certificate-extension-oid"><name>X.509 Certificate Extension OID</name>

<t>IANA is requested to assign an object identifier for the PQCHC certificate
extension from the id-ce arc:</t>

<figure><artwork><![CDATA[
id-ce-pqchc OBJECT IDENTIFIER ::= { id-ce TBD1 }
]]></artwork></figure>

<t>The value TBD1 is a placeholder to be assigned by IANA upon publication.
For early interoperability testing, an experimental OID under the publicly
registered Sanctum SecOps PEN arc <bcp14>MAY</bcp14> be used:</t>

<figure><artwork><![CDATA[
id-ce-pqchc-experimental OBJECT IDENTIFIER ::= { 1 3 6 1 4 1 65953 1 1 }
]]></artwork></figure>

<t>This experimental value <bcp14>MUST NOT</bcp14> be relied upon as the permanent
identifier. Deployments <bcp14>MUST</bcp14> transition to the IANA-assigned TBD1 value
upon RFC publication.</t>

</section>
<section anchor="digest-algorithms-for-committedkeyhash"><name>Digest Algorithms for committedKeyHash</name>

<t>IANA is requested to note that the following digest algorithm OIDs are
acceptable for use in <spanx style="verb">committedKeyHash</spanx>:
id-sha256, id-sha384, id-sha512, id-sha3-256, id-sha3-384, id-sha3-512.
The following <bcp14>MUST NOT</bcp14> be used: id-md5, id-sha1.</t>

</section>
</section>
<section anchor="references"><name>References</name>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="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="RFC5280">
  <front>
    <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
    <author fullname="D. Cooper" initials="D." surname="Cooper"/>
    <author fullname="S. Santesson" initials="S." surname="Santesson"/>
    <author fullname="S. Farrell" initials="S." surname="Farrell"/>
    <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
    <author fullname="R. Housley" initials="R." surname="Housley"/>
    <author fullname="W. Polk" initials="W." surname="Polk"/>
    <date month="May" year="2008"/>
    <abstract>
      <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5280"/>
  <seriesInfo name="DOI" value="10.17487/RFC5280"/>
</reference>
<reference anchor="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>
<reference anchor="RFC9794">
  <front>
    <title>Terminology for Post-Quantum Traditional Hybrid Schemes</title>
    <author fullname="F. Driscoll" initials="F." surname="Driscoll"/>
    <author fullname="M. Parsons" initials="M." surname="Parsons"/>
    <author fullname="B. Hale" initials="B." surname="Hale"/>
    <date month="June" year="2025"/>
    <abstract>
      <t>One aspect of the transition to post-quantum algorithms in cryptographic protocols is the development of hybrid schemes that incorporate both post-quantum and traditional asymmetric algorithms. This document defines terminology for such schemes. It is intended to be used as a reference and, hopefully, to ensure consistency and clarity across different protocols, standards, and organisations.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9794"/>
  <seriesInfo name="DOI" value="10.17487/RFC9794"/>
</reference>
<reference anchor="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="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="RFC9935">
  <front>
    <title>Internet X.509 Public Key Infrastructure - Algorithm Identifiers for the Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM)</title>
    <author fullname="S. Turner" initials="S." surname="Turner"/>
    <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
    <author fullname="J. Massimo" initials="J." surname="Massimo"/>
    <author fullname="B. E. Westerbaan" initials="B. E." surname="Westerbaan"/>
    <date month="March" year="2026"/>
    <abstract>
      <t>The Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM) is a quantum-resistant Key Encapsulation Mechanism. This document specifies the conventions for using the ML-KEM in X.509 Public Key Infrastructure. The conventions for the subject public keys and private keys are also specified.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9935"/>
  <seriesInfo name="DOI" value="10.17487/RFC9935"/>
</reference>
<reference anchor="RFC9773">
  <front>
    <title>ACME Renewal Information (ARI) Extension</title>
    <author fullname="A. Gable" initials="A." surname="Gable"/>
    <date month="June" year="2025"/>
    <abstract>
      <t>This document specifies how an Automated Certificate Management Environment (ACME) server may provide suggestions to ACME clients as to when they should attempt to renew their certificates. This allows servers to mitigate load spikes and ensures that clients do not make false assumptions about appropriate certificate renewal periods.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9773"/>
  <seriesInfo name="DOI" value="10.17487/RFC9773"/>
</reference>
<reference anchor="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>



    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="FIPS203" target="https://csrc.nist.gov/pubs/fips/203/final">
  <front>
    <title>Module-Lattice-Based Key-Encapsulation Mechanism Standard</title>
    <author >
      <organization></organization>
    </author>
    <date year="2024" month="August"/>
  </front>
</reference>
<reference anchor="FIPS204" target="https://csrc.nist.gov/pubs/fips/204/final">
  <front>
    <title>Module-Lattice-Based Digital Signature Standard</title>
    <author >
      <organization></organization>
    </author>
    <date year="2024" month="August"/>
  </front>
</reference>
<reference anchor="FIPS205" target="https://csrc.nist.gov/pubs/fips/205/final">
  <front>
    <title>Stateless Hash-Based Digital Signature Standard</title>
    <author >
      <organization></organization>
    </author>
    <date year="2024" month="August"/>
  </front>
</reference>
<reference anchor="IR8547" target="https://csrc.nist.gov/pubs/ir/8547/ipd">
  <front>
    <title>Transition to Post-Quantum Cryptography Standards (NIST IR 8547)</title>
    <author >
      <organization></organization>
    </author>
    <date year="2024" month="November"/>
  </front>
</reference>



<reference anchor="I-D.ietf-lamps-pq-composite-sigs">
   <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 Klaußner" initials="J." surname="Klaußner">
         <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.reddy-lamps-x509-pq-commit">
   <front>
      <title>X.509 Extensions for PQC or Composite Certificate Hosting Continuity</title>
      <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
         <organization>Nokia</organization>
      </author>
      <author fullname="John Gray" initials="J." surname="Gray">
         <organization>Entrust Limited</organization>
      </author>
      <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
         <organization>Intuit</organization>
      </author>
      <date day="25" month="February" year="2026"/>
      <abstract>
	 <t>   This document specifies a new X.509 certificate extension, Post-
   Quantum or Composite Hosting Continuity (PQCHC), which enables a
   certificate subject to signal a intent to continue serving PQC or
   composite certificates for a defined continuity period after
   certificate expiration.  This extension helps relying parties detect
   downgrade and man-in-the-middle (MitM) attacks during transition
   phases, where a cryptographically relevant quantum computer (CRQC)
   would make traditional certificates insecure.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-reddy-lamps-x509-pq-commit-01"/>
   
</reference>

<reference anchor="CNSA2" target="https://www.nsa.gov/Press-Room/News-Highlights/Article/Article/3148990/">
  <front>
    <title>Commercial National Security Algorithm Suite 2.0</title>
    <author >
      <organization>NSA</organization>
    </author>
    <date year="2022" month="September"/>
  </front>
</reference>
<reference anchor="KyberSlash" target="https://kannwischer.eu/papers/2024_kyberslash.pdf">
  <front>
    <title>Exploiting secret-dependent division timings in Kyber implementations</title>
    <author initials="D. J." surname="Bernstein">
      <organization></organization>
    </author>
    <author initials="L." surname="Ducas">
      <organization></organization>
    </author>
    <author initials="E." surname="Landgraf">
      <organization></organization>
    </author>
    <author initials="N." surname="Mulder">
      <organization></organization>
    </author>
    <date year="2025"/>
  </front>
</reference>
<reference anchor="NTTSIS" target="https://eprint.iacr.org/2023/1866">
  <front>
    <title>Side-Channel-Assisted Cryptanalysis on Post-Quantum Algorithms</title>
    <author >
      <organization></organization>
    </author>
    <date year="2024"/>
  </front>
</reference>
<reference anchor="ILPFAULT" target="https://www.intel.com/content/www/us/en/security/security-practices/blogs/fault-injection-attacks.html">
  <front>
    <title>ILP Fault Recovery on Dilithium / ML-DSA</title>
    <author >
      <organization></organization>
    </author>
    <date year="2025"/>
  </front>
</reference>


    </references>

</references>


<?line 632?>

<section anchor="worked-example"><name>Worked Example: ML-DSA-65 Commitment</name>

<t>All values are synthetic test data. No real keys or production data are
used.</t>

<t>Scenario: A server certificate is issued with an ECDSA-P256 key. The
operator commits to migrating to ML-DSA-65 (per <xref target="RFC9881"/>) by
2030-01-01T00:00:00Z.</t>

<t>committedAlgorithm OID for id-ml-dsa-65: 2.16.840.1.101.3.4.3.18</t>

<t>committedKeyHash (SHA-256 over synthetic future ML-DSA-65 SPKI):</t>

<figure><artwork><![CDATA[
a3 f8 2d 11 cc 4e 9b 7f  e1 05 3a 88 d2 60 b9 4c
7d 19 e2 aa 55 fc 3b 0e  84 c7 21 63 09 f4 1b 8e
]]></artwork></figure>

<t>(Synthetic value -- not derived from any real key.)</t>

<t>commitmentNotAfter: 20300101000000Z</t>

<t>ASN.1 DER encoding of PQCHCommitment (hex):</t>

<figure><artwork><![CDATA[
30 56                        -- SEQUENCE (86 bytes)
  01 01 ff                   -- BOOLEAN TRUE (commitmentValid)
  30 0b                      -- AlgorithmIdentifier SEQUENCE
    06 09                    -- OID
      60 86 48 01 86 3a 04 03 12  -- 2.16.840.1.101.3.4.3.18
  30 27                      -- DigestInfo SEQUENCE
    30 0d                    -- digestAlgorithm
      06 09                  -- OID id-sha256
        60 86 48 01 65 03 04 02 01
      05 00                  -- NULL parameters
    04 20                    -- OCTET STRING (32 bytes)
      a3 f8 2d 11 cc 4e 9b 7f
      e1 05 3a 88 d2 60 b9 4c
      7d 19 e2 aa 55 fc 3b 0e
      84 c7 21 63 09 f4 1b 8e
  18 0f                      -- GeneralizedTime (15 bytes)
    32 30 33 30 30 31 30 31  -- "20300101"
    30 30 30 30 30 30 5a     -- "000000Z"
]]></artwork></figure>

<t>X.509 extension snippet:</t>

<figure><artwork><![CDATA[
Extension ::= SEQUENCE {
    extnID     OBJECT IDENTIFIER
               -- id-ce-pqchc-experimental (1.3.6.1.4.1.65953.1.1)
               -- or TBD1 for production deployments
    critical   BOOLEAN DEFAULT FALSE  -- absent (non-critical)
    extnValue  OCTET STRING
               -- DER encoding of PQCHCommitment above
}
]]></artwork></figure>

<t>Verification outcome per <xref target="processing-rules"/>: when the corresponding
ML-DSA-65 successor certificate is issued with the above SPKI, steps 1-5
all pass and the result is COMMITMENT_HONORED.</t>

</section>
<section anchor="nist-timeline"><name>Appendix B. NIST IR 8547 and CNSA 2.0 Migration Timeline</name>

<t>NIST IR 8547 <xref target="IR8547"/> (initial public draft, November 2024) and the
NSA CNSA 2.0 suite <xref target="CNSA2"/> establish the following migration milestones
relevant to PQCHC commitment deadlines:</t>

<figure><artwork><![CDATA[
+------+---------------------------------------+---------------------+
| Year | Event                                 | PQCHC implication   |
+------+---------------------------------------+---------------------+
| 2030 | NIST: deprecation of 112-bit classical | commitmentNotAfter  |
|      | asymmetric algorithms                 | SHOULD precede this |
|      |                                       | date for lower-sec  |
|      |                                       | environments.       |
+------+---------------------------------------+---------------------+
| 2031 | CNSA 2.0: full enforcement for        | NSS deployments     |
|      | National Security Systems             | MUST complete PQC   |
|      |                                       | migration by 2031.  |
+------+---------------------------------------+---------------------+
| 2035 | NIST: disallowment of new protection  | commitmentNotAfter  |
|      | using quantum-vulnerable algorithms   | MUST NOT extend     |
|      |                                       | beyond 2035.        |
+------+---------------------------------------+---------------------+
]]></artwork></figure>

<t>NIST IR 8547 notes that PQ/T hybrid (composite) modes remain usable
beyond 2035 when the composite includes an approved PQC component.
PQCHC commitments to composite algorithms (per
<xref target="I-D.ietf-lamps-pq-composite-sigs"/>) are therefore consistent with
long-term compliance when the composite satisfies that condition.</t>

<t>Informative references: <xref target="IR8547"/>, <xref target="CNSA2"/>.</t>

</section>
<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>The author thanks the LAMPS Working Group for the foundational
post-quantum X.509 work on which this extension builds.</t>

</section>


  </back>

<!-- ##markdown-source:
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
G6/jZKpawf8DG7teTpN0AAA=

-->

</rfc>

