<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.2.3) -->
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-pquip-pqc-hsm-constrained-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.0 -->
  <front>
    <title abbrev="Adapting Constrained Devices for PQC">Adapting Constrained Devices for Post-Quantum Cryptography</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-pquip-pqc-hsm-constrained-01"/>
    <author fullname="Tirumaleswar Reddy">
      <organization>Nokia</organization>
      <address>
        <postal>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <country>India</country>
        </postal>
        <email>k.tirumaleswar_reddy@nokia.com</email>
      </address>
    </author>
    <author fullname="Dan Wing">
      <organization abbrev="Cloud Software Group">Cloud Software Group Holdings, Inc.</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>danwing@gmail.com</email>
      </address>
    </author>
    <author fullname="Ben Salter">
      <organization>UK National Cyber Security Centre</organization>
      <address>
        <email>ben.s3@ncsc.gov.uk</email>
      </address>
    </author>
    <author fullname="Kris Kwiatkowski">
      <organization>PQShield</organization>
      <address>
        <email>kris@amongbytes.com</email>
      </address>
    </author>
    <date year="2025" month="July" day="05"/>
    <area>Security</area>
    <workgroup>PQUIP</workgroup>
    <keyword>PQC</keyword>
    <keyword>IoT</keyword>
    <keyword>TEE</keyword>
    <keyword>HSM</keyword>
    <keyword>RoT</keyword>
    <abstract>
      <?line 95?>

<t>This document offers guidance on incorporating Post-Quantum Cryptography (PQC) into
resource-constrained devices, including IoT devices and lightweight Hardware Security
Modules (HSMs), which operate under tight limitations on compute power, memory, storage,
and energy. It highlights how the Root of Trust acts as the foundation for secure operations,
enabling features such as seed-based key generation to reduce the need for persistent storage,
efficient approaches to managing ephemeral keys, and methods for offloading cryptographic tasks
in low-resource environments. Additionally, it examines how PQC affects firmware update
mechanisms in such constrained systems.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-pquip-pqc-hsm/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        pquip Working Group mailing list (<eref target="mailto:pqc@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/pqc/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/pqc/"/>.
      </t>
    </note>
  </front>
  <middle>
    <?line 106?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The transition to post-quantum cryptography introduces significant challenges for
resource-constrained devices such as IoT devices, lightweight HSMs, secure elements (e.g.,
SIMs), and Trusted Execution Environments (TEEs). These devices often operate with limited
memory, non-volatile storage, processing power, and battery life, making the adoption of
PQC algorithms which typically involve larger key sizes and are more computationally
intensive than traditional algorithms particularly challenging. The increased key sizes
and computational demands of PQC require careful consideration to ensure secure and
efficient key management within these constrained environments.</t>
      <t>This document provides industry guidance and best practices for integrating PQC algorithms
into constrained devices. It explores key storage strategies, ephemeral key management,
and performance optimizations specific to resource-limited environments. One approach to
mitigating storage constraints is seed-based key generation, where only a small seed is
stored instead of the full private key, as supported by PQC schemes like ML-DSA and
SLH-DSA. However, this technique increases computational overhead due to the need to derive
full private keys on demand,  a classic computation-versus-storage tradeoff. The document
also discusses considerations for ephemeral key generation in protocols like TLS and
IPsec, along with techniques to optimize PQC signature operations to enhance performance
within constrained crytographic modules.</t>
      <t>This document focuses on post‑quantum cryptography in constrained devices, specifically on the three algorithms finalized by NIST: ML-DSA, ML-KEM, and SLH-DSA and on stateful hash‑based signatures in the context of firmware signing. Future revisions may expand the scope to include additional PQC algorithms.</t>
    </section>
    <section anchor="key-management-in-constrained-devices-for-pqc">
      <name>Key Management in Constrained Devices for PQC</name>
      <t>The embedded cryptographic components used in constrained devices are designed to securely manage cryptographic keys, often under strict limitations in memory, storage capacity, and computational resources. These limitations are further exhausted by the increased key sizes and computational demands of PQC algorithms.</t>
      <t>One mitigation of storage limitations is to store only the seed rather than the full
expanded private key, as the seed is far smaller and can derive the expanded private key
as necessary.</t>
      <section anchor="Seed">
        <name>Seed Management</name>
        <t>The seed generated during the PQC key generation function is highly sensitive, as it will
be used to compute the private key or decapsulation key. Consequently, seeds must be
treated with the same level of security as private keys.</t>
        <t>To comply with <xref target="ML-KEM"/>, <xref target="ML-DSA"/>, <xref target="SLH-DSA"/> and <xref target="REC-KEM"/> guidelines:</t>
        <section anchor="seed-storage">
          <name>Seed Storage</name>
          <t>Some PQ key exchange mechanisms use a seed to generate their private keys (e.g., ML-KEM,
McEliece, and HQC), and those seeds are smaller than private keys, saving storage space.
Some implementations may choose to retain the (small) seed rather than the (larger)
private key.  As the private key is necessary for cryptographic operations, it can
be derived from the seed when needed or retained in a cache within the security module.</t>
          <t>Seeds must be securely stored within a cryptographic module of the device whether
hardware or software-based to protect against unauthorized access. Since the seed can derive
the private key, it must be safeguarded with the same
level of protection as a private key. For example, according to <xref target="ML-DSA"/>
Section 3.6.3, the seed ξ generated during ML-DSA.KeyGen can be stored for later use with
ML-DSA.KeyGen_internal.</t>
          <t>The choice between storing a seed or an expanded private key involves trade-offs
between storage efficiency and performance. Some constrained cryptographic modules may
store only the seed and derive the expanded private key on demand, whereas others may
prefer storing the full expanded key to reduce computational overhead during key usage.</t>
          <t>While vulnerabilities like the "Unbindable Kemmy Schmidt" attack <xref target="BIND"/> demonstrate
the risks of manipulating expanded private keys in environments lacking hardware-backed
protections, these attacks generally assume an adversary has some level of control over
the expanded key format. However, in a hardware-backed protcted environment, where private
keys are typically protected from such manipulation, the primary motivation for storing
the seed rather than the expanded key is not directly tied to mitigating "Kemmy" attacks.</t>
          <t>The ML-DSA and ML-KEM private key formats, as specified in
<xref target="I-D.ietf-lamps-dilithium-certificates"/> and <xref target="I-D.ietf-lamps-kyber-certificates"/>,
represent the private key using a seed from which the expanded private key is derived.
While these formats rely on the seed for key generation, an constrained cryptographic
module may choose to store the expanded private key to avoid the additional computation
required for running KeyGen.</t>
          <t>This choice between storing the seed or the expanded private key has direct
implications on performance, as key derivation incurs additional computation. The impact
of this overhead varies depending on the algorithm. For instance, ML-DSA key generation,
which primarily involves polynomial operations using the Number Theoretic Transform (NTT)
and hashing, is computationally efficient compared to other post-quantum schemes. In
contrast, SLH-DSA key generation requires constructing a Merkle tree and multiple calls to
Winternitz One-Time Signature (WOTS+) key generation, making it significantly slower due
to the recursive hash computations involved. Designers of constrained systems must
carefully balance storage efficiency and computational overhead based on system
requirements and operational constraints. While constrained systems employ various key
storage strategies, the decision to store full private keys or only seeds depends on
design goals, performance considerations, and standards compliance (e.g., PKCS#11).</t>
          <t>A challenge arises when importing an existing private key into a system designed to
store only seeds. When a user attempts to import an already expanded private key, there is
a mismatch between the key format used internally (seed-based) and the expanded private
key. This issue arises because the internal format is designed for efficient key storage
by deriving the private key from the seed, while the expanded private key is already fully
computed. As NIST has not defined a single private key format for PQC algorithms, this
creates a potential gap in interoperability.</t>
          <t>If the seed is not securely stored at the time of key generation, it is permanently
lost because the process of deriving an expanded key from the seed relies on a one-way
cryptographic function. This one-way function derives the private key from the seed, but the reverse operation,
deriving the original seed from the expanded key is computationally infeasible.</t>
        </section>
        <section anchor="efficient-key-derivation">
          <name>Efficient Key Derivation</name>
          <t>When storing only the seed in a constrained cryptographic module, it is crucial that
the device is capable of deriving the private key efficiently whenever required. However,
it is important to note that constantly re-deriving the private key for every
cryptographic operation may introduce significant performance overhead. In scenarios where
performance is a critical consideration, it may be more efficient to store the expanded
private key directly instead of only the seed. Higher quality implementations may also
retain (cache) recently-used or frequently-used private keys to avoid the computational
overhead and delay of deriving the private key from the seed with each request.</t>
          <t>The key derivation process, such as ML-KEM.KeyGen_internal for ML-KEM or similar
functions for other PQC algorithms, must be implemented in a way that can securely operate
within the resource constraints of the device. If using the seed-only model, the derived
private key should only be temporarily held in memory during the cryptographic operation
and discarded immediately after use. However, storing the expanded private key may be a
more practical solution in time-sensitive applications or for devices that frequently
perform cryptographic operations.</t>
        </section>
        <section anchor="exporting-seeds-and-private-keys">
          <name>Exporting Seeds and Private Keys</name>
          <t>Given the potential for hardware failures or the end-of-life of devices containing keys, it
is essential to plan for backup and recovery of the cryptographic seeds and private keys. Constrained
devices should support secure seed backup mechanisms, ideally leveraging encrypted storage
and ensuring that the backup data is protected from unauthorized access. In a disaster
recovery scenario, the seeds and private keys should be recoverable private key, provided the proper security measures are in place to prevent unauthorized
extraction.</t>
          <t>There are two distinct approaches to exporting private keys or seeds from a constrained device:</t>
          <section anchor="direct-transfer-over-tls">
            <name>Direct Transfer over TLS</name>
            <t>In scenarios where the constrained device has sufficient capability to initiate or terminate a mutually authenticated TLS session, the device can securely transfer encrypted private key material directly to another cryptographic module.</t>
          </section>
          <section anchor="export-to-encrypted-file">
            <name>Export to Encrypted File</name>
            <t>In more common constrained device scenarios, for secure exporting of seeds and private keys, a strong symmetric encryption algorithm, such as AES, should be used to encrypt the seed before export. This ensures that the seed remains protected even if the export process is vulnerable to quantum attacks.</t>
            <t>Operationally, the exported data and the AES key should both be protected against unauthorized access or modification.</t>
          </section>
          <section anchor="security-requirements-for-export-operations">
            <name>Security Requirements for Export Operations</name>
            <t>The encryption and decryption of seeds and private keys must occur entirely within the cryptographic modules to reduce the risk of exposure and ensure compliance to established security standards.</t>
          </section>
        </section>
      </section>
    </section>
    <section anchor="ephemeral-key-management">
      <name>Ephemeral Key Management</name>
      <t>In protocols like TLS and IPsec, ephemeral keys are used for key exchange. Given the
increased size of PQC key material, ephemeral key management will have to be optimized for
both security and performance.</t>
      <t>For PQC KEMs, ephemeral key-pairs are generated from an ephemeral seed, that is used
immediately during key generation and then discarded. Furthermore, once the shared secret is
derived, the ephemeral private key will have to be deleted. Since the private key resides in the
constrained cryptographic module, removing it optimizes memory usage, reducing the footprint of
PQC key material in the cryptographic module. This ensures that that no unnecessary secrets
persist beyond their intended use.</t>
      <t>Additionally, ephemeral keys, whether from traditional ECDH or PQC KEM algorithms, are intended
to be unique for each key exchange instance and kept separate across connections (e.g., TLS).
Deleting ephemeral keying material after use not only optimizes memory usage but also ensures
that key material cannot be reused across connections, which would otherwise introduce security and
privacy issues. These risks are discussed in more detail in the Security Considerations of
<xref target="I-D.ietf-tls-hybrid-design"/>.</t>
      <t>Constrained devices implementing PQC ephemeral key management will have to:</t>
      <ul spacing="normal">
        <li>
          <t>Generate ephemeral key-pairs on-demand from an ephemeral seed stored temporarily within the cryptographic module.</t>
        </li>
        <li>
          <t>Enforce immediate seed erasure after the key-pair is generated and the cryptographic operation is completed.</t>
        </li>
        <li>
          <t>Delete the private key after the shared secret is derived.</t>
        </li>
        <li>
          <t>Prevent key reuse across different algorithm suites or sessions.</t>
        </li>
      </ul>
    </section>
    <section anchor="optimizing-performance-in-constrained-devices-for-pqc-signature-algorithms">
      <name>Optimizing Performance in Constrained Devices for PQC Signature Algorithms</name>
      <t>When implementing PQC signature algorithms in constrained cryptographic modules,
performance optimization becomes a critical consideration. Transmitting the entire message
to the cryptographic module for signing can lead to significant overhead, especially for
large payloads. To address this, implementers can leverage techniques that reduce the data
transmitted to the cryptographic module, thereby improving efficiency and scalability.</t>
      <t>One effective approach involves sending only a message digest to the cryptographic module
for signing. By signing the digest of the content rather than the entire content, the
communication between the application and the cryptographic module is minimized, enabling
better performance. This method is applicable for any PQC signature algorithm, whether it
is ML-DSA, SLH-DSA, or any future signature scheme. For such algorithms, a mechanism is
often provided to pre-hash or process the message in a way that avoids sending the entire
raw message for signing. In particular, algorithms like SLH-DSA present challenges due to
their construction, which requires multiple passes over the message digest during the
signing process. The signer does not retain the entire message or its full digest in
memory at once. Instead, different parts of the message digest are processed sequentially
during the signing procedure. This differs from traditional algorithms like RSA or ECDSA,
which allow for more efficient processing of the message, without requiring multiple
passes or intermediate processing of the digest.</t>
      <t>A key consideration when deploying ML-DSA in cryptographic module is the amount of memory
available. ML-DSA, unlike traditional signature schemes such as RSA or ECDSA, requires
significant memory during signing due to multiple Number Theoretic Transform (NTT)
operations, matrix expansions, and rejection sampling loops. These steps involve storing
large polynomial vectors and intermediate values, making ML-DSA more memory-intensive. If
an cryptographic module has sufficient memory, this may not be an issue. However, in
constrained environments with limited memory, implementing ML-DSA can be challenging. The
signer must store and process multiple transformed values, leading to increased
computational overhead if the cryptographic module lacks the necessary memory to manage
these operations efficiently.</t>
      <t>To address the memory consumption challenge, algorithms like ML-DSA offer a form of
pre-hash using the mu (message representative) value described in Section 6.2 of <xref target="ML-DSA"/>.
The mu value provides an abstraction for pre-hashing by allowing the hash or message
representative to be computed outside the cryptographic module. This feature offers
additional flexibility by enabling the use of different cryptographic modules for the
pre-hashing step, reducing memory consumption within the cryptographic module.
The pre-computed mu value is then supplied to the cryptographic module, eliminating the need to
transmit the entire message for signing. <xref target="I-D.ietf-lamps-dilithium-certificates"/>
discusses leveraging ExternalMu-ML-DSA, where the pre-hashing step
(ExternalMu-ML-DSA.Prehash) is performed in a software cryptographic module, and only the
pre-hashed message (mu) is sent to the hardware cryptographic module for signing
(ExternalMu-ML-DSA.Sign). By implementing ExternalMu-ML-DSA.Prehash in software and
ExternalMu-ML-DSA.Sign in an hardware cryptographic module, the cryptographic workload
is efficiently distributed, making it practical for high-volume signing operations even
in memory-constrained cryptographic modules.</t>
      <t>The main advantage of this method is that, unlike HashML-DSA, the ExternalMu-ML-DSA approach
is interoperable with the standard version of ML-DSA that does not use pre-hashing. This means
a message can be signed using ML-DSA.Sign, and the verifier can independently compute mu and use
ExternalMu-ML-DSA.Verify for verification -- or vice versa. In both cases, the verifier
does not need to know whether the signer used internal or external pre-hashing, as the resulting
signature and verification process remain the same.</t>
    </section>
    <section anchor="additional-considerations-for-pqc-use-in-constrained-devices">
      <name>Additional Considerations for PQC Use in Constrained Devices</name>
      <t>Key Rotation and Renewal: In constrained devices, managing the lifecycle of cryptographic
keys including periodic key rotation and renewal is critical for maintaining long-term
security and supporting cryptographic agility. While constrained devices may rely on
integrated secure elements or lightweight HSMs for secure key storage and operations, the
responsibility for orchestrating key rotation typically resides in the application layer
or external device management infrastructure.</t>
      <t>Although the underlying cryptographic module may offer primitives to securely generate new
key pairs, store fresh seeds, or delete obsolete keys, these capabilities must be
integrated into the device’s broader key management framework. This process is especially
important in the context of PQC, where evolving research may lead to changes in
recommended algorithms, parameters, and key management practices.</t>
      <t>The security of PQC schemes continues to evolve, with potential risks arising from
advances in post-quantum algorithms, cryptanalytic or implementation vulnerabilities. As a
result, constrained devices should be designed to support flexible and updatable key
management policies. This includes the ability to:</t>
      <ul spacing="normal">
        <li>
          <t>Rotate keys periodically to provide forward-secrecy,</t>
        </li>
        <li>
          <t>Update algorithm choices or key sizes based on emerging security guidance,</t>
        </li>
        <li>
          <t>Reconfigure cryptographic profile of the device via firmware updates.</t>
        </li>
      </ul>
      <section anchor="sec-key-sizes">
        <name>Key Sizes of Post-Quantum Algorithms</name>
        <t>The key sizes of post-quantum algorithms are generally larger than those of traditional
cryptographic algorithms. This increase in key size is a significant consideration for
constrained devices, which often have limited memory and storage capacity. For example,
the key sizes for ML-DSA and ML-KEM are larger than those of RSA or ECDSA, which can lead to
increased memory usage and slower performance in constrained environments.</t>
        <t>The following table provides the key sizes of some instantiations of ML-DSA, ML-KEM, FN-DSA
and SLH-DSA. For comparision we also include the key sizes for X25519 and ED25519, which
are traditional schemes widely used in constrained environments.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Algorithm</th>
              <th align="left">Type</th>
              <th align="left">Size (bytes)</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">ML-DSA-65</td>
              <td align="left">Public Key</td>
              <td align="left">1952</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">Private Key</td>
              <td align="left">4032</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">Signature</td>
              <td align="left">3309</td>
            </tr>
            <tr>
              <td align="left">SLH-DSA-SHA2-192s</td>
              <td align="left">Public Key</td>
              <td align="left">48</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">Private Key</td>
              <td align="left">96</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">Signature</td>
              <td align="left">16224</td>
            </tr>
            <tr>
              <td align="left">FN-DSA-512</td>
              <td align="left">Public Key</td>
              <td align="left">897</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">Private Key</td>
              <td align="left">1281</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">Signature</td>
              <td align="left">666</td>
            </tr>
            <tr>
              <td align="left">ML-KEM-768</td>
              <td align="left">Public Key</td>
              <td align="left">1568</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">Shared Secret</td>
              <td align="left">32</td>
            </tr>
            <tr>
              <td align="left">X25519</td>
              <td align="left">Public Key</td>
              <td align="left">32</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">Shared Secret</td>
              <td align="left">32</td>
            </tr>
            <tr>
              <td align="left">Ed25519</td>
              <td align="left">Public Key</td>
              <td align="left">32</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">Signature</td>
              <td align="left">64</td>
            </tr>
          </tbody>
        </table>
        <t>Full key sizes for ML-DSA, ML-KEM, FN-DSA and SLH-DSA are specified in <xref target="ML-DSA"/>, <xref target="ML-KEM"/>, <xref target="FN-DSA"/>
and <xref target="SLH-DSA"/> respectively.</t>
      </section>
    </section>
    <section anchor="post-quantum-firmware-upgrades-for-constrained-devices">
      <name>Post-quantum Firmware Upgrades for Constrained Devices</name>
      <t>Constrained devices deployed in the field require periodic firmware upgrades to patch
security vulnerabilities, introduce new cryptographic algorithms, and improve overall
functionality. However, the firmware upgrade process itself can become a critical attack
vector if not designed to be post-quantum. If an adversary compromises the update
mechanism, they could introduce malicious firmware, undermining all other security
properties of the cryptographic modules. Therefore, ensuring a post-quantum firmware
upgrade process is critical for the security of deployed constrained devices.</t>
      <t>CRQCs pose an additional risk by breaking traditional digital signatures (e.g., RSA,
ECDSA) used to authenticate firmware updates. If firmware verification relies on
traditional signature algorithms, attackers could generate forged signatures in the future
and distribute malicious updates.</t>
      <section anchor="post-quantum-firmware-authentication">
        <name>Post-quantum Firmware Authentication</name>
        <t>To ensure the integrity and authenticity of firmware updates, constrained devices will have to adopt PQC digital signature schemes for code signing.
These algorithms must provide long-term security, operate efficiently in low-resource environments, and be compatible with secure update mechanisms, such as the firmware update architecture for IoT described in <xref target="RFC9019"/>.</t>
        <t>The Software Updates for Internet of Things (SUIT) working group is defining mandatory-to-implement cryptographic algorithms for IoT devices in <xref target="I-D.ietf-suit-mti"/>, which recommends use of HSS-LMS <xref target="RFC8554"/> to secure software devices.</t>
        <t>Stateful hash-based signature schemes, such as HSS-LMS or the similar XMSS <xref target="RFC8391"/>, are good candidates for signing firmware updates. Those schemes offer efficient verification times, making them more practical choices for constrained environments where performance and memory usage are key concerns.
Their security is based on the security of the underlying hash function, which is well-understood.
A major downside of stateful hash-based signatures is the requirement to keep track of which One-Time Signature (OTS) keys have been reused, since reuse of a single OTS key allows for signature forgeries.
However, in the case of firmware updates, the OTS keys will be signing versioned updates, which may make state management easier. 
<xref target="I-D.ietf-pquip-hbs-state"/> discusses various strategies for a correct state and backup management for stateful hash-based signatures.</t>
        <t>Other post-quantum signature algorithms may also be viable for firmware signing:</t>
        <ul spacing="normal">
          <li>
            <t>SLH-DSA, a stateless hash-based signature specified in <xref target="SLH-DSA"/>, also has well-understood security based on the security of its underlying hash function, and additionally doesn't have the complexities associated with state management that HSS and XMSS have.
However, signature generation and verification are comparatively slow, and signature sizes are generally larger than other post-quantum algorithms.
SLH-DSA's suitability as a firmware signing algorithm will depend on the capabilities of the underlying hardware.</t>
          </li>
          <li>
            <t>ML-DSA is a lattice-based signature algorithm specified in <xref target="ML-DSA"/>.
It is more performant than SLH-DSA, with significantly faster signing and verification times, as well as shorter signatures.
This will make it possible to implement on a wider range of constrained devices.
The mathematical problem underpinning ML-DSA, Module Learning With Errors (M-LWE), is believed to be a hard problem by the cryptographic community, and hence ML-DSA is believed to be secure.
Cryptographers are more confident still in the security of hash-based signatures than M-LWE, so developers may wish to factor that in when choosing a firmware signing algorithm.</t>
          </li>
        </ul>
      </section>
      <section anchor="hybrid-signature-approaches">
        <name>Hybrid signature approaches</name>
        <t>To enable secure migration from traditional to post-quantum security, hybrid signature methods can be used for
firmware authentication. Parallel signatures, where a traditional and a post-quantum signature are generated and
attached separately, is simple to implement, requires minimal changes to existing signing, and aligns well with
current secure boot and update architectures.</t>
        <t>Other hybrid techniques, such as cross-linked signatures (where signatures cover each other's values), composite signatures (which combine multiple signatures into a single structured signature), or counter-signatures (where one signature signs over another) introduce more complexity and are not yet typical in resource-constrained firmware workflows.</t>
      </section>
    </section>
    <section anchor="impact-of-pqc-authentication-on-constrained-devices">
      <name>Impact of PQC Authentication on Constrained Devices</name>
      <t>In constrained environments, devices are typically assumed to function as clients that initiate outbound connections,
authenticating to servers using certificates or raw public keys (<xref target="RFC7250"/>). However, some devices also serve in
server roles, enforcing local authentication policies. These scenarios require support for both outbound and inbound
authentication, and both roles face significant challenges when adopting post-quantum cryptography (PQC). Additionally,
verifying digital signatures such as during secure boot or firmware updates is a critical operation for constrained devices,
regardless of whether they act as clients or servers.</t>
      <t>While specific deployment scenarios may differ, the fundamental technical impacts of PQC authentication in constrained devices can be summarized into three main areas:</t>
      <ul spacing="normal">
        <li>
          <t>Larger Signatures and Certificate Sizes  </t>
          <t>
Post-quantum signature schemes typically produce much larger public keys and signatures than their traditional
 counterparts. A comparison is provided in <xref target="sec-key-sizes"/>.  </t>
          <t>
These larger artifacts introduce several challenges. For example, certificate chains with PQC public keys
 require more storage, and trust anchors - particularly for schemes like SLH-DSA - may be too large to embed in
 constrained ROM.  </t>
          <t>
Furthermore, validating signed payloads or commands increases network bandwidth requirements. In the case of large
 hash-based signatures, implementations may adopt streaming verification, where only parts of the message are
 processed at a time to reduce memory usage. An example of such an approach for SLH-DSA is described in
 <xref target="Stream-SPHINCS"/>.</t>
        </li>
        <li>
          <t>Increased RAM usage and performance profile.  </t>
          <t>
Post-quantum signature verification often demands significantly more RAM than traditional schemes used for
 asymmetric cryptography. For example, ML-DSA-65 in its high-performance configuration may require over 68 KB of
 memory during signing and up to 10 KB during verification on Cortex-M4-class devices.  </t>
          <t>
This poses challenges for use cases such as firmware verification (e.g. secure boot) and certificate validation
 during TLS handshakes or the generation of signed claims about the devices's hardware and software state, a process generally referred
 to as device attestation. As part of this remote attestation procedure <xref target="RFC9334"/>, the device will need to present such claims
 to a remote peer, signed using an attestation key. To remain secure against CRQCs, the attestation mechanism must also
 employ quantum-safe cryptographic primitives.  </t>
          <t>
Several memory-optimized implementations exist (see <xref target="BosRS22"/>), but they typically trade memory savings for
 slower performance. For instance, the ML-DSA.Sign operation can be implemented within 8 KB of RAM, though at
 the cost of significantly increased runtime. Conversely, ML-DSA.Verify can be performed in as little as 3 KB of
 RAM without a major performance penalty.  </t>
          <t>
Devices with 8 - 16 KB of available RAM must often balance performance against feasibility when integrating PQC
 signature verification.</t>
        </li>
      </ul>
      <t>When constrained devices must authenticate inbound connections, validate commands, or verify stored data, PQC authentication
imposes a burden that must be explicitly addressed through selection of schemes with smaller signature sizes (e.g. FN-DSA).
These choices should be aligned with the device’s operational profile, available memory, and longevity requirements.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations for key management in constrained devices for PQC focus on the
secure storage and handling of cryptographic seeds, which are used to derive private keys.
Seeds must be protected with the same security measures as private keys, and key
derivation should be efficient and secure within resource-constrained cryptographic
module. Secure export and backup mechanisms for seeds are essential to ensure recovery in
case of hardware failure, but these processes must be encrypted and protected from
unauthorized access.</t>
      <section anchor="side-channel-protection">
        <name>Side Channel Protection</name>
        <t>Side-channel attacks exploit physical leaks during cryptographic operations, such as timing information, power consumption, electromagnetic emissions, or other physical characteristics, to extract sensitive data like private keys or seeds. Given the sensitivity of the seed and private key in PQC key generation, it is critical to consider side-channel protection in cryptographic module design. While side-channel attacks remain an active research topic, their significance in secure hardware design cannot be understated. Cryptographic modules must incorporate strong countermeasures against side-channel vulnerabilities to prevent attackers from gaining insights into secret data during cryptographic operations.</t>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Thanks to Jean-Pierre Fiset, Richard Kettlewell, Mike Ounsworth, and Aritra Banerjee for
the detailed review.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9019">
          <front>
            <title>A Firmware Update Architecture for Internet of Things</title>
            <author fullname="B. Moran" initials="B." surname="Moran"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="D. Brown" initials="D." surname="Brown"/>
            <author fullname="M. Meriac" initials="M." surname="Meriac"/>
            <date month="April" year="2021"/>
            <abstract>
              <t>Vulnerabilities in Internet of Things (IoT) devices have raised the need for a reliable and secure firmware update mechanism suitable for devices with resource constraints. Incorporating such an update mechanism is a fundamental requirement for fixing vulnerabilities, but it also enables other important capabilities such as updating configuration settings and adding new functionality.</t>
              <t>In addition to the definition of terminology and an architecture, this document provides the motivation for the standardization of a manifest format as a transport-agnostic means for describing and protecting firmware updates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9019"/>
          <seriesInfo name="DOI" value="10.17487/RFC9019"/>
        </reference>
        <reference anchor="RFC7250">
          <front>
            <title>Using Raw Public Keys in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author fullname="P. Wouters" initials="P." role="editor" surname="Wouters"/>
            <author fullname="H. Tschofenig" initials="H." role="editor" surname="Tschofenig"/>
            <author fullname="J. Gilmore" initials="J." surname="Gilmore"/>
            <author fullname="S. Weiler" initials="S." surname="Weiler"/>
            <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>This document specifies a new certificate type and two TLS extensions for exchanging raw public keys in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS). The new certificate type allows raw public keys to be used for authentication.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7250"/>
          <seriesInfo name="DOI" value="10.17487/RFC7250"/>
        </reference>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8554">
          <front>
            <title>Leighton-Micali Hash-Based Signatures</title>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="M. Curcio" initials="M." surname="Curcio"/>
            <author fullname="S. Fluhrer" initials="S." surname="Fluhrer"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This note describes a digital-signature system based on cryptographic hash functions, following the seminal work in this area of Lamport, Diffie, Winternitz, and Merkle, as adapted by Leighton and Micali in 1995. It specifies a one-time signature scheme and a general signature scheme. These systems provide asymmetric authentication without using large integer mathematics and can achieve a high security level. They are suitable for compact implementations, are relatively simple to implement, and are naturally resistant to side-channel attacks. Unlike many other signature systems, hash-based signatures would still be secure even if it proves feasible for an attacker to build a quantum computer.</t>
              <t>This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF. This has been reviewed by many researchers, both in the research group and outside of it. The Acknowledgements section lists many of them.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8554"/>
          <seriesInfo name="DOI" value="10.17487/RFC8554"/>
        </reference>
        <reference anchor="RFC8391">
          <front>
            <title>XMSS: eXtended Merkle Signature Scheme</title>
            <author fullname="A. Huelsing" initials="A." surname="Huelsing"/>
            <author fullname="D. Butin" initials="D." surname="Butin"/>
            <author fullname="S. Gazdag" initials="S." surname="Gazdag"/>
            <author fullname="J. Rijneveld" initials="J." surname="Rijneveld"/>
            <author fullname="A. Mohaisen" initials="A." surname="Mohaisen"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>This note describes the eXtended Merkle Signature Scheme (XMSS), a hash-based digital signature system that is based on existing descriptions in scientific literature. This note specifies Winternitz One-Time Signature Plus (WOTS+), a one-time signature scheme; XMSS, a single-tree scheme; and XMSS^MT, a multi-tree variant of XMSS. Both XMSS and XMSS^MT use WOTS+ as a main building block. XMSS provides cryptographic digital signatures without relying on the conjectured hardness of mathematical problems. Instead, it is proven that it only relies on the properties of cryptographic hash functions. XMSS provides strong security guarantees and is even secure when the collision resistance of the underlying hash function is broken. It is suitable for compact implementations, is relatively simple to implement, and naturally resists side-channel attacks. Unlike most other signature systems, hash-based signatures can so far withstand known attacks using quantum computers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8391"/>
          <seriesInfo name="DOI" value="10.17487/RFC8391"/>
        </reference>
        <reference anchor="ML-KEM" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.pdf">
          <front>
            <title>FIPS-203: Module-Lattice-based Key-Encapsulation Mechanism Standard</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="ML-DSA" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.204.pdf">
          <front>
            <title>FIPS-204: Module-Lattice-Based Digital Signature Standard</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="REC-SHS" target="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-208.pdf">
          <front>
            <title>Recommendation for Stateful Hash-Based Signature Scheme</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="BIND" target="https://eprint.iacr.org/2024/523.pdf">
          <front>
            <title>Unbindable Kemmy Schmid</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="SLH-DSA" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.205.pdf">
          <front>
            <title>FIPS-205: Stateless Hash-Based Digital Signature Standard</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="FN-DSA" target="https://falcon-sign.info/falcon.pdf">
          <front>
            <title>Falcon: Fast-Fourier Lattice-based Compact Signatures over NTRU</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="Stream-SPHINCS" target="https://eprint.iacr.org/2021/1072.pdf">
          <front>
            <title>Streaming SPHINCS+ for Embedded Devices using the Example of TPMs</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="BosRS22" target="https://eprint.iacr.org/2022/323.pdf">
          <front>
            <title>Dilithium for Memory Constrained Devices</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="REC-KEM" target="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-227.ipd.pdf">
          <front>
            <title>Recommendations for Key-Encapsulation Mechanisms</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="I-D.ietf-lamps-dilithium-certificates">
          <front>
            <title>Internet X.509 Public Key Infrastructure - Algorithm Identifiers for the Module-Lattice-Based Digital Signature Algorithm (ML-DSA)</title>
            <author fullname="Jake Massimo" initials="J." surname="Massimo">
              <organization>AWS</organization>
            </author>
            <author fullname="Panos Kampanakis" initials="P." surname="Kampanakis">
              <organization>AWS</organization>
            </author>
            <author fullname="Sean Turner" initials="S." surname="Turner">
              <organization>sn3rd</organization>
            </author>
            <author fullname="Bas Westerbaan" initials="B." surname="Westerbaan">
              <organization>Cloudflare</organization>
            </author>
            <date day="26" month="June" year="2025"/>
            <abstract>
              <t>   Digital signatures are used within X.509 certificates, 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 certificate revocation lists.  The conventions for
   the associated signatures, subject public keys, and private key are
   also described.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-dilithium-certificates-12"/>
        </reference>
        <reference anchor="I-D.ietf-lamps-kyber-certificates">
          <front>
            <title>Internet X.509 Public Key Infrastructure - Algorithm Identifiers for the Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM)</title>
            <author fullname="Sean Turner" initials="S." surname="Turner">
              <organization>sn3rd</organization>
            </author>
            <author fullname="Panos Kampanakis" initials="P." surname="Kampanakis">
              <organization>AWS</organization>
            </author>
            <author fullname="Jake Massimo" initials="J." surname="Massimo">
              <organization>AWS</organization>
            </author>
            <author fullname="Bas Westerbaan" initials="B." surname="Westerbaan">
              <organization>Cloudflare</organization>
            </author>
            <date day="16" month="April" year="2025"/>
            <abstract>
              <t>   The Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM) is a
   quantum-resistant key-encapsulation mechanism (KEM).  This document
   describes 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 described.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-kyber-certificates-10"/>
        </reference>
        <reference anchor="I-D.ietf-tls-hybrid-design">
          <front>
            <title>Hybrid key exchange in TLS 1.3</title>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization>University of Waterloo</organization>
            </author>
            <author fullname="Scott Fluhrer" initials="S." surname="Fluhrer">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Shay Gueron" initials="S." surname="Gueron">
              <organization>University of Haifa and Meta</organization>
            </author>
            <date day="17" month="June" year="2025"/>
            <abstract>
              <t>   Hybrid key exchange refers to using multiple key exchange algorithms
   simultaneously and combining the result with the goal of providing
   security even if all but one of the component algorithms is broken.
   It is motivated by transition to post-quantum cryptography.  This
   document provides a construction for hybrid key exchange in the
   Transport Layer Security (TLS) protocol version 1.3.

   Discussion of this work is encouraged to happen on the TLS IETF
   mailing list tls@ietf.org or on the GitHub repository which contains
   the draft: https://github.com/dstebila/draft-ietf-tls-hybrid-design.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-hybrid-design-13"/>
        </reference>
        <reference anchor="I-D.ietf-suit-mti">
          <front>
            <title>Cryptographic Algorithms for Internet of Things (IoT) Devices</title>
            <author fullname="Brendan Moran" initials="B." surname="Moran">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Øyvind Rønningstad" initials="O." surname="Rønningstad">
              <organization>Nordic Semiconductor</organization>
            </author>
            <author fullname="Akira Tsukamoto" initials="A." surname="Tsukamoto">
              <organization>Openchip &amp; Software Technologies, S.L.</organization>
            </author>
            <date day="4" month="July" year="2025"/>
            <abstract>
              <t>   This document defines cryptographic algorithm profiles for use with
   the Software Updates for Internet of Things (SUIT) manifest.  These
   profiles specify sets of algorithms to promote interoperability
   across implementations.

   The SUIT manifest, as defined in "A Manifest Information Model for
   Firmware Updates in Internet of Things (IoT) Devices" (RFC 9124),
   provides a flexible and extensible format for describing how firmware
   and software updates are to be fetched, verified, decrypted, and
   installed on resource-constrained devices.  To ensure the security of
   these update processes, the manifest relies on cryptographic
   algorithms for functions such as digital signature verification,
   integrity checking, and confidentiality.

   Given the diversity of IoT deployments and the evolving cryptographic
   landscape, algorithm agility is essential.  This document groups
   algorithms into named profiles to accommodate varying levels of
   device capabilities and security requirements.  These profiles
   support the use cases laid out in the SUIT architecture, published in
   "A Firmware Update Architecture for Internet of Things" (RFC 9019).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-suit-mti-20"/>
        </reference>
        <reference anchor="I-D.ietf-pquip-hbs-state">
          <front>
            <title>Hash-based Signatures: State and Backup Management</title>
            <author fullname="Thom Wiggers" initials="T." surname="Wiggers">
              <organization>PQShield</organization>
            </author>
            <author fullname="Kaveh Bashiri" initials="K." surname="Bashiri">
              <organization>BSI</organization>
            </author>
            <author fullname="Stefan Kölbl" initials="S." surname="Kölbl">
              <organization>Google</organization>
            </author>
            <author fullname="Jim Goodman" initials="J." surname="Goodman">
              <organization>Crypto4A Technologies</organization>
            </author>
            <author fullname="Stavros Kousidis" initials="S." surname="Kousidis">
              <organization>BSI</organization>
            </author>
            <date day="17" month="June" year="2025"/>
            <abstract>
              <t>   Stateful Hash-Based Signature Schemes (S-HBS) such as LMS, HSS, XMSS
   and XMSS^MT combine Merkle trees with One-Time Signatures (OTS) to
   provide signatures that are resistant against attacks using large-
   scale quantum computers.  Unlike conventional stateless digital
   signature schemes, S-HBS have a state to keep track of which OTS keys
   have been used, as double-signing with the same OTS key allows
   forgeries.

   This document provides guidance and documents security considerations
   for the operational and technical aspects of deploying systems that
   rely on S-HBS.  Management of the state of the S-HBS, including any
   handling of redundant key material, is a sensitive topic, and we
   discuss some approaches to handle the associated challenges.  We also
   describe the challenges that need to be resolved before certain
   approaches should be considered.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pquip-hbs-state-00"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
