<?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.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-pquip-hbs-state-01" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="HBS: State and Backup">Hash-based Signatures: State and Backup Management</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-pquip-hbs-state-01"/>
    <author initials="T." surname="Wiggers" fullname="Thom Wiggers">
      <organization>PQShield</organization>
      <address>
        <postal>
          <country>The Netherlands</country>
        </postal>
        <email>thom@thomwiggers.nl</email>
      </address>
    </author>
    <author initials="K." surname="Bashiri" fullname="Kaveh Bashiri">
      <organization>BSI</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>kaveh.bashiri.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="S." surname="Kölbl" fullname="Stefan Kölbl">
      <organization>Google</organization>
      <address>
        <postal>
          <country>Switzerland</country>
        </postal>
        <email>kste@google.com</email>
      </address>
    </author>
    <author initials="J." surname="Goodman" fullname="Jim Goodman">
      <organization>Crypto4A Technologies</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>jimg@crypto4a.com</email>
      </address>
    </author>
    <author initials="S." surname="Kousidis" fullname="Stavros Kousidis">
      <organization>BSI</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>kousidis.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2025" month="November" day="04"/>
    <area>Security</area>
    <workgroup>Post-Quantum Use In Protocols</workgroup>
    <keyword>stateful hash-based signatures</keyword>
    <keyword>XMSS</keyword>
    <keyword>LMS</keyword>
    <keyword>state management</keyword>
    <abstract>
      <?line 176?>

<t>Stateful Hash-Based Signature Schemes (Stateful HBS) such as LMS, HSS, XMSS and
XMSS<sup>MT</sup> 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, Stateful HBS have
a state to keep track of which OTS keys have been used, as double-signing with
the same OTS key allows forgeries.</t>
      <t>This document provides guidance and documents security considerations for the
operational and technical aspects of deploying systems that rely on Stateful HBS.
Management of the state of the Stateful 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>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://hbs-guidance.github.io/draft-hbs-state/draft-ietf-pquip-hbs-state.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-pquip-hbs-state/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Post-Quantum Use In Protocols 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>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/hbs-guidance/draft-hbs-state"/>.</t>
    </note>
  </front>
  <middle>
    <?line 192?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Stateful Hash-Based Signature Schemes (Stateful HBS) such as LMS, HSS, XMSS and
XMSS<sup>MT</sup> combine Merkle trees with One-Time Signatures (OTS) in order
to provide digital signature schemes that remain secure even when large-scale
quantum computers become available. Their theoretic security is well understood
and depends only on the security of the underlying hash function. As such, they
can serve as an important building block for quantum-resistant information and
communication technology. Stateful HBS are specified in <xref target="RFC8391"/>, <xref target="RFC8554"/>,
and NIST <xref target="SP-800-208"/>.</t>
      <t>The private key of an Stateful HBS is a finite collection of OTS keys and an
associated data structure which keeps track of which OTS keys have been used.
This data structure is typically a simple counter and often called an index; we
refer to it as the <strong>state</strong> of the private key. Each Stateful HBS private key can be
used to sign a finite number of messages, and the state must be updated with
each generated signature.</t>
      <t>One must not reuse any OTS key that is part of an Stateful HBS private key. If
an attacker is able to obtain signatures for two different messages created
using the same OTS key, it is computationally feasible for that attacker to
create forgeries <xref target="Fluhrer23">BH16</xref>. As noted in <xref target="MCGREW"/> and <xref target="ETSI-TR-103-692"/>, extreme
care should be taken in order to avoid the risk that an OTS key will be reused
accidentally. Whereas <xref target="MCGREW"/> identifies the fundamental failure modes of
stateful hash-based signatures and proposes architectural strategies such
as a reservation approach, and <xref target="ETSI-TR-103-692"/> provides a broad
analysis of state management challenges and risks, this document complements
both by cataloging concrete operational patterns in <xref target="pot-sol"/> and by
addressing backup and recovery considerations <xref target="alt-backup-mgmt"/> not covered
in prior work.</t>
      <t>In particular, the challenges below highlight why careful state and backup
management are essential in Stateful HBS:</t>
      <ul spacing="normal">
        <li>
          <t>Implementers must ensure that each creation of a signature updates the state
correctly.</t>
        </li>
        <li>
          <t>If the Stateful HBS private key is distributed to multiple signers at the same time,
implementers must ensure that they never use the same OTS key. This may
require synchronization between all signers.</t>
        </li>
        <li>
          <t>Additional operational complexity arises when part of the available OTS signatures are allocated to different devices (partial state transfer), or when state from different devices needs merging; these introduce risks of overlap, failure, and require careful coordination.</t>
        </li>
        <li>
          <t>If key backups are required, implementers must ensure that any backup
mechanism can not lead to re-using a previously used OTS key.</t>
        </li>
      </ul>
      <t>The following sections present, recall, and discuss various strategies for a
correct state and backup management for Stateful HBS.</t>
      <section anchor="when-are-stateful-hbs-appropriate">
        <name>When are Stateful HBS Appropriate?</name>
        <t>The issues with state management described above, as well as (for most parameter
sets) the limited number of signatures, lead to new requirements that most
developers will not be familiar with and that require careful handling in
practice: Stateful HBS are not general-purpose signature schemes. Most
applications, especially those that may produce unrestricted numbers of
signatures, should use <em>stateless</em> hash-based signature schemes like SLH-DSA
<xref target="FIPS205"/>, which use the same security assumptions, or schemes based on other
assumptions, such as ML-DSA <xref target="FIPS204"/>, instead. However, if run time, implementation
size, or signature or key sizes of stateless alternatives are prohibitive, and the
specific use case allows a very tight control of the signing environment, using
Stateful HBS may be an appropriate solution. It seems likely that in many
scenarios, this will only be possible when using purpose-designed hardware, such
as hardware-security modules.</t>
      </section>
    </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?>

<section anchor="specific-terminology-in-the-context-of-stateful-hbs">
        <name>Specific Terminology in the Context of Stateful HBS</name>
        <t>In this subsection we specify certain notions which are important in the
context of Stateful HBS.</t>
        <section anchor="private-key-components">
          <name>Private Key Components</name>
          <dl>
            <dt>private key</dt>
            <dd>
              <t>the static, long-lived secret(s) from which OTS private keys are derived.
This material is stateless: given the scheme parameters, it deterministically
defines the set of OTS private keys but does not change over time.</t>
            </dd>
            <dt>state</dt>
            <dd>
              <t>the dynamically updated data structure that records which OTS key indices
have been consumed (often a monotone counter). This material is mutable and
must change on every successful signature.</t>
            </dd>
          </dl>
          <t>Conceptually, the private key and the state are distinct and should be handled
accordingly: the private key is a static secret, while the state is mutable,
evolves with each signature, and must be maintained with integrity and correctness. In some
implementations, these two components may be packaged together and not directly
separable; in such cases, this document’s guidance applies to the combined
artifact.</t>
        </section>
        <section anchor="state-management">
          <name>State Management</name>
          <t>In this document <em>state management</em> refers to the handling and implementation
of the state of the private key.</t>
          <t>This includes mechanisms, which aim:</t>
          <ul spacing="normal">
            <li>
              <t>to securely update the state after each signature,</t>
            </li>
            <li>
              <t>to set up Stateful HBS with a split state and/or private key, so that signatures can
be generated from either part without risk of state reuse,</t>
            </li>
            <li>
              <t>to enable partial transfer of unused signature capacity between devices, and optionally merging state fragments without overlap,</t>
            </li>
            <li>
              <t>to enable effective but secure handling of private key and state backup
material,</t>
            </li>
            <li>
              <t>to guarantee the availability of both the private key and its state across
the lifetime of the key.</t>
            </li>
          </ul>
          <t>Note that in particular implementations of Stateful HBS, or in alternative signature
mechanisms such as, e.g., puncturable schemes <xref target="BSW16"/>, the state and private
key might be inseparable. However, even in these scenarios, this document's
guidance should still apply.</t>
        </section>
        <section anchor="backup-management">
          <name>Backup Management</name>
          <t>In order to mitigate failure of, e.g., devices storing key material and to
facilitate other types of disaster recovery, backups of private keys and their
associated states <bcp14>SHOULD</bcp14> be considered as part of a security architecture.</t>
          <t>In this document, <em>backup management</em> refers to all mechanisms surrounding the
goal to guarantee the availability of the private key and state, but with
special care to avoid state reuse by rolling back to a state in which
already-used OTS keys are still available.</t>
          <t>These mechanisms include procedures and protocols, which aim:</t>
          <ul spacing="normal">
            <li>
              <t>to securely store this private key and state material outside the in-use
signing device,</t>
            </li>
            <li>
              <t>to import an externally stored private key and state to a newly initiated
signing device,</t>
            </li>
            <li>
              <t>allow practicing with backup recovery and to ensure backups are valid.</t>
            </li>
          </ul>
          <t>Backup management can be viewed as a more specific type of state management; we
make this distinction to clarify the aims of our recommendations.</t>
        </section>
        <section anchor="keymovement">
          <name>Key Export, Key Import and Key Transfer</name>
          <t>As part of state and backup management, we will discuss mechanisms to export,
import or transfer private key and state material. In order to avoid
misunderstandings we now specify these notions more precisely.</t>
          <dl>
            <dt>key export</dt>
            <dd>
              <t>mechanism of exporting secret data, which yields (partial) private
key and state material, from the signing device to external storage. This
external storage may be given in digital or non-digital form.</t>
            </dd>
            <dt>key import</dt>
            <dd>
              <t>mechanism of importing secret data, which loads (partial) private
key and state material, from external storage to the signing device.</t>
            </dd>
            <dt>key transfer</dt>
            <dd>
              <t>a cryptographically protected transfer of ownership of private key and
state material from one signing device to another.</t>
            </dd>
          </dl>
          <t>Systems and architectures relying on key transfer are generally expected to
require fewer operational and manually-executed steps and checks to avoid state
reuse.</t>
          <t>Note that, at times, secure variants of the aforementioned primitives may be
required (e.g., securely importing/exporting the key). In these situations
cryptographic mechanisms <bcp14>SHOULD</bcp14> be utilized to provide assurances related to
the confidentiality (e.g., utilizing symmetric/asymmetric encryption
mechanisms) and/or integrity/authenticity (e.g., utilizing digital signatures,
hash functions, and keyed message authentication codes) of the associated
operations.</t>
        </section>
      </section>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>An important aspect of the evaluation of various hash-based signature state and
backup management options is to consider the operational costs associated with
the option(s) being evaluated. In the past, a traditional trust infrastructure
solution could utilize straightforward archival procedures to make copies of
the keys, which could then be distributed geographically to ensure their
availability and deliver a sufficiently resilient solution, all the while
enforcing whatever security protocols and procedures were required.
Unfortunately, stateful hash-based signatures introduce an additional
constraint in that they need to ensure the state is never re-used. Hence,
archival procedures used for traditional trust infrastructures have to be
amended/redesigned to be used as viable options.</t>
      <t>One of the most problematic aspects of providing a long-lived resilient
solution is simply managing the physical media on which the keys/state are
stored externally (i.e., outside of the signing device) throughout the course
of their lifetime. Physical media/devices degrade over time, and the more
complex the media/device, the more likely it is to fail at some point in time
(e.g., data stored on a CD vs. data stored on a USB drive vs. data stored in a
Hardware Security Module). Combine that fact with the long lifetimes associated
with stateful hash-based signature keys (e.g., 10-20+ years) and the
difficulties associated with transferring keys between devices, and one finds
them self with a perplexing set of challenges that needs to be accounted for in
any state selection process of a proper state and backup management solution.
Compounding these complexities is the fact any resilient state management
system <bcp14>SHOULD</bcp14> also provide some means to verify the integrity of these
long-lived backups to ensure they will be valid when they are required, and to
ensure the operators know how to execute the necessary recovery procedure(s).</t>
      <t>Similarly, many of the prescribed state management options require a high
degree of operator involvement which means one <bcp14>SHOULD</bcp14> consider the costs
associated with training the operator element to ensure processes and procedures
are adhered to and failures caught early and corrected before a catastrophic
loss of security can occur (e.g., accidentally instantiating multiple instances
of a stateful hash-based signature key/state). Note that training is not a
fixed one-time cost either as long lifetimes will necessitate succession
planning amongst the operator element, and training of each successive generation
of participants. Mechanisms also <bcp14>SHOULD</bcp14> be put in place to mitigate the
ever-present insider threat via mechanisms such as M-of-N controls, ensuring
least-privileges amongst participants, and enforcing a segregation of duties to
ensure multiple parties are required to collude to undermine a solution's
security. Note that the segregation of duties <bcp14>MUST</bcp14> persist across successive
generations to ensure participants do not acquire multiple roles over time,
thereby undermining the intended segregation.</t>
      <t>In addition to the state management, implementers <bcp14>MAY</bcp14> consider to implement
mechanisms to prevent abrupt signature exhaustion. Implementations <bcp14>MAY</bcp14>
consider providing a configurable warning threshold, M, which is triggered
when M signatures remain. When the number of available signatures reaches
this threshold, the system should return a signatures nearing exhaustion warning.
This warning condition <bcp14>SHOULD</bcp14> require explicit acknowledgment from the user
through a mechanism that cannot be trivially skipped.</t>
      <t>Another important consideration in deploying stateful hash-based signatures is
the selection of an appropriate parameter set. Given the flexibility of these
schemes — such as adjustable tree heights or Winternitz parameters — there
exists a large variety of possible configurations. The availability of these
different configurations offers many trade-offs between signature
generation/verification time, signature size, and key generation time. Hence,
careful attention during the design phase is essential to ensure that the chosen
parameter set aligns optimally with the specific requirements of the intended
use case.</t>
      <t>Lastly, costs associated with any external dependencies required by a
particular solution (e.g., access to a public ledger or transparency log,
providing accurate time references and synchronization mechanisms, access to
attestation facilities, etc.) <bcp14>MUST</bcp14> be accounted for as well, particularly if a
system is operating in an offline mode that makes delivering these additional
capabilities all the more complicated and expensive.</t>
    </section>
    <section anchor="requirements-for-secure-state-management">
      <name>Requirements for Secure State Management</name>
      <t>A system deploying Stateful HBS <bcp14>SHOULD</bcp14> fulfill certain requirements to allow securely
handling the state. The system <bcp14>MUST</bcp14> ensure that no two signing operations can
ever be issued from the same state. In addition, the generation of a signature
and update of the state <bcp14>SHOULD</bcp14> appear to be an <em>atomic transaction</em>. This means
that the system <bcp14>MUST NOT</bcp14> release a signature without irrevocably and correctly
updating the state.</t>
      <t>State management systems <bcp14>SHOULD</bcp14> satisfy all <em>ACID</em> properties:</t>
      <ul spacing="normal">
        <li>
          <t><em>Atomicity</em>: each operation must be indivisible — either the signature is
generated and the state is updated together, or neither occurs.</t>
        </li>
        <li>
          <t><em>Consistency</em>: the state before and after each update must reflect a valid
progression of available OTS indices, and no invalid or conflicting state is
ever observable.</t>
        </li>
        <li>
          <t><em>Isolation</em>: concurrent or overlapping operations (e.g., from separate
processes or devices) must not interfere in ways that could lead to state
reuse.</t>
        </li>
        <li>
          <t><em>Durability</em>: once a state transition (e.g., after issuing a signature) is
committed, that transition must survive crashes, power loss, or device
failure.</t>
        </li>
      </ul>
      <t>These requirements impose significant restrictions on the underlying technical
approach and a careful implementation of how the state will be updated or
synchronized. The abstraction layers of modern systems can make it particularly
difficult to guarantee that no two versions of the same state are present. The
main concerns here are</t>
      <ul spacing="normal">
        <li>
          <t>how the actual storage for the state is implemented,</t>
        </li>
        <li>
          <t>how it is modified,</t>
        </li>
        <li>
          <t>how an accidental/intentional failure/glitch might affect the state security,
and</t>
        </li>
        <li>
          <t>cloning.</t>
        </li>
      </ul>
      <t>A system may have a version of the private key stored in non-volatile memory
(e.g. a disk) and will load it into volatile memory (e.g. RAM) while processing.
Here, an implementer <bcp14>MUST</bcp14> ensure that these are always perfectly synchronized
<xref target="MCGREW"/>, meaning that no parts of the system are allowed to read any version of
the key during procedures which load, write or modify keys. This can be
particularly challenging if there are additional abstraction layers present in
the system, like additional caches which may affect reading/writing the state
and its potential existence in multiple locations.</t>
      <t>Cloning is another concern, as it can easily lead to re-using the same state.
This can happen for instance if a process which issues a signing operation is
forked, and no proper synchronization is enforced in the implementation to
guarantee correct state update. Virtual machine (VM) cloning is another
potential security risk here, as both backing up a VM into non-volatile memory
or live cloning of a VM can easily lead to a state re-use <xref target="MCGREW"/>. With users
shifting workloads to cloud service providers, the issue of VM cloning may
become more prevalent.</t>
      <t>Using dedicated cryptographic hardware is <bcp14>RECOMMENDED</bcp14> to enforce these
requirements, ensure correct behavior and handle the complexity of state
management. In particular, this enables implementing rollback resistant
counters which can be difficult to achieve in a software-only fashion.</t>
      <t>On the verifier side, no state management is required. However, the verifier
needs to trust the signer to not have re-used the state. A verifier <bcp14>MAY</bcp14> want to
check that no state re-use happened in the past by a signer, before accepting a
signature.</t>
      <t>In practice, this can be done if the verifier has access to all signatures
issued by the signer. As the signatures contain the index of the OTS key used,
detecting if an index was used more than once becomes trivial. In practice,
such a (public) data structure which contains all signatures <bcp14>MAY</bcp14> already be
present in some use cases (e.g. certificate transparency <xref target="RFC9162"/>) or could
be built. It is worth noting that while trusting the signer to not re-use the
state is a strong assumption, other signature schemes like ECDSA introduce
similar assumptions for the verifier, by requiring the signer to never re-use
the nonce.</t>
    </section>
    <section anchor="pot-sol">
      <name>Potential Solutions</name>
      <t>A variety of potential solutions have been proposed both within the
<xref target="SP-800-208"/> specification, as well as from external sources. This section
describes a number of approaches and their potential advantages/disadvantages.</t>
      <section anchor="multiple-public-keys-sp-800-208">
        <name>Multiple Public Keys (SP-800-208)</name>
        <t>The <xref target="SP-800-208"/> proposes generating multiple Stateful HBS keypairs and configuring
devices and clients to accept signatures created by any of these keys.</t>
        <t>This negatively impacts one of the advantages of using Stateful HBS by
increasing the public key footprint within the client, which can be problematic
if it has limited public key storage capacity. (Though public keys are typically
equivalently sized to ECDSA rather than larger classical RSA keys often
currently found.) <xref target="SP-800-208"/> addresses storage capacity concerns by suggesting
using a mechanism such as that proposed in <xref target="RFC8649"/> to update the stored
public key by having the current key endorse the next key that is to be
installed. Unfortunately, for many constrained devices the public key is
embedded in immutable ROM or fuses due to security reasons, so it cannot be
updated in this manner.</t>
        <t>The proposal of using multiple Stateful HBS keypairs for a single instance also
generates questions as to how to establish that approach in existing public key
infrastructures. For example, issuing multiple certificates adds the storage
needs of the certificate material to the public key footprint. In order to
alternatively issue multiple public keys encoded inside a single certificate
one would need a standardized format if interoperability is a concern.</t>
      </section>
      <section anchor="nist-dist-multi-tree">
        <name>Distributed Multi-trees (SP-800-208)</name>
        <t>The <xref target="SP-800-208"/> also proposes creating multiple Stateful HBS keys across multiple
cryptographic modules using a distributed multi-tree approach that is a variant
of the standard hyper-tree based Stateful HBS schemes HSS and XMSS<sup>MT</sup>. In
this approach trees are instantiated on a root device (HSM<sub>root</sub>), as
well as one or more subordinate devices (HSM<sub>sub[i]</sub>), and the root
tree is used to sign the root nodes of the subordinate trees to synthesize a
multi-level Stateful HBS key. The root device is only ever used to sign subordinate
device root nodes, while the subordinate device(s) is(are) used to sign
messages. This is relatively straightforward to do using HSS, and <xref target="SP-800-208"/>
describes the necessary algorithmic modifications when using XMSS<sup>MT</sup>.</t>
        <t>One drawback of this approach is the increased signature size as an additional
OTS needs to be generated, effectively doubling the overall signature size.
Another concern is the single point of failure nature of relying on the root
tree module to sign all of the subordinate trees; if the root tree device fails
then no new subordinate trees can be signed. <xref target="SP-800-208"/> suggested that as
many subordinate trees as possible be generated during the initial root key
generation and subordinate-signing procedure. Unfortunately, this can incur a
large capital expenditure to procure all of the necessary devices, many of
which may not be used for a long period of time, if at all. The subordinate
tree root node signing process <bcp14>MUST</bcp14> also be carefully managed to ensure top
level trees are only ever used to sign the root nodes of trusted/approved
subordinate trees to ensure that no malicious signing request is accepted,
which would effectively give a rogue entity the ability to generate valid
signatures, thereby undermining the security of the entire system.</t>
        <t>The <xref target="SP-800-208"/> also suggests combining distributed multi-trees with multiple
root public keys as a means to mitigate some of the concerns regarding having a
single point of failure in the root tree. However, even if a system operator
does everything right, use cases with exceptionally long lifetimes of 10-20+
years (e.g., automotive and aerospace/satellite applications) will require
system operators to rely on devices well beyond their expected lifetimes of
5-10 years, which may constitute an unacceptable business risk.</t>
      </section>
      <section anchor="sectorization">
        <name>Sectorization</name>
        <t>Distributed multi-trees attempt to partition a Stateful HBS signing space amongst
multiple cryptographic modules by breaking up the signing space along the
boundaries of the subordinate trees generated during the multi-tree key
generation process. An alternative approach would be to use only a single tree,
and partition its signature space along some power-of-2 less than the total
number of leaves in the tree (e.g., 2<sup>s</sup> for a tree of height h &gt; s),
creating N = 2<sup>h-s</sup> partitions or sectors, which are instantiated as N
height-s Merkle trees whose root nodes are considered interior nodes of the
overall height-h Merkle tree. Hence, there is no additional OTS required to
sign their root nodes; their values are used as-is in the underlying Stateful HBS
scheme's tree ascent mechanism, yielding a common public key (i.e., root node)
for all sectors. Care <bcp14>MUST</bcp14> be taken to ensure that each sector uses the same
root tree identifier (i.e., the "I" value for HSS/LMS and "root" value for
XMSS/XMSS<sup>MT</sup>).</t>
        <t>Each of the N sectors' OTS private key values can be generated pseudo-randomly
from a unique seed value generated from an appropriate source of randomness. The
private keys from different sectors are independent when generated by this process. This
requires that the path information for each sector's root node (i.e., all off-path nodes
between the sector root node and the top level node value) be stored with each
sector's private key at key generation time since a sector will not know the
seed information required to compute any of the other sectors' root nodes
during the tree ascent phase of a signature generation operation. During
signature generation the signer appends the stored path information to the path
information it computes to ascend from the leaf OTS to the sector's root node
(which it can compute given that it knows its own seed value).</t>
        <t>Hence, sectorized key generation results in a single public key value and
2<sup>h-s</sup> private key values, each capable of generating 2<sup>s</sup>
signatures, after which the sectorized key is exhausted.</t>
        <t>In addition to avoiding an increased signature size; when unique seeds are
utilized sectorization breaks a given Stateful HBS key/state into multiple independent
fragments that can be managed as independent objects. As a result, system
operators <bcp14>MAY</bcp14> distribute sectors to multiple cryptographic devices, providing
scalability through parallelization and improved resiliency/availability. This
approach offers isolation between sectors, ensuring that a compromise in one
does not extend to others, thereby supporting damage containment. At the same
time, it simplifies operational robustness by removing the need for
cross-device state coordination, since each sector is restricted to its own
signature space.</t>
      </section>
      <section anchor="keystate-transfer">
        <name>Key/State Transfer</name>
        <t>Stateful HBS key/state transfer between cryptographic modules entails having a means
to migrate one instance of a Stateful HBS key/state on a source device to a separate
destination device, while ensuring that any copy of the key/state is deleted
from the source device.</t>
        <t>This capability may help alleviate the aforementioned concern regarding
operating devices beyond their expected lifetimes by allowing operators to
migrate Stateful HBS key/state to a newer device when the original device begins to
approach its end-of-life. However, it still leaves the operator vulnerable to
having the source device fail before the key/state can be transferred,
effectively causing the loss of the key/state. Hence, it will not be of much
help addressing the single point of failure issue identified for root trees,
but may be useful for managing subordinate trees.</t>
        <t>In addition to complete key/state transfer, a device holding part of the total
available OTS signatures may transfer some unused capacity to another device
(partial state transfer). In more advanced deployments, state fragments from
two devices may be merged to reconstruct or continue signature operations.
These operations carry risk: ensuring no overlap in used indices, ensuring
atomicity of transfer/merge operations, managing consistency, possible
conflicts, and durability of state across devices. Such approaches require
strong synchronization, auditability, and appropriate backup mechanisms to
avoid double-signing or loss of capacity.</t>
        <t>A more elaborate variant of key transfer, going beyond what <xref target="SP-800-208"/>
allows, can be found described in <xref target="alt-backup-mgmt"/> where key transfer is
accomplished using a two-step export and import process with hash-based
transfer validation to yield a more robust transfer mechanism.</t>
      </section>
      <section anchor="key-rotation">
        <name>Key Rotation</name>
        <t>Key rotation, such as that defined in <xref target="RFC8649"/>, would generate new Stateful HBS
keys on an as-needed basis, and provide a means to transition the system on to
using this new Stateful HBS key, while generating the next key in the chain in
preparation of a future rotation/update. However, this just shifts the problem
to the PKI and certificate handling.</t>
        <t>Key rotation is not foolproof since in most use cases it will require
redundancy to ensure there is at least one Stateful HBS signing key available to
attest to newly generated keys. In addition, for many applications the device
keys cannot be updated due to engineering constraints or security reasons.</t>
      </section>
      <section anchor="variable-length-signature-chains">
        <name>Variable-length Signature Chains</name>
        <t>A variant of the key rotation approach is to simply have an available signing
tree endorse a new subordinate tree when it is about to become exhausted (e.g.,
use its final OTS to sign the root node of a new subordinate tree, creating a
{n+1}-layer multi-tree from an {n}-layer multi-tree). This process can in
theory be repeated as many times as necessary. However, this entails having a
multi-tree scheme with a variable number of levels, and hence, variable length
signatures.</t>
        <t>In addition to departing quite significantly from the current Stateful HBS
specifications and <xref target="SP-800-208"/>, this approach has a number of significant
challenges on both the engineering and operational fronts. Firstly, the
variable length nature of the signature can lead to variable length
verification of signatures, which may cause significant issues for use cases
with strict time constraints (e.g., secure booting of a semiconductor device).
From an operational perspective, the ability of a subordinate tree to sign
either messages or new subordinate trees leads to severe security implications
as the rigor around authorizing those two types of operations will vary
dramatically, leading to either a much more onerous message signing operation,
or a much more risky subordinate tree signing operation. This may put the
system operator in an untenable situation where no users are satisfied with the
resulting solution, and hence, <bcp14>SHOULD NOT</bcp14> be considered as a viable solution.</t>
      </section>
      <section anchor="pre-assigning-states">
        <name>Pre-assigning States</name>
        <t>In some applications, individual one-time signatures (or states) can be
pre-assigned to the to-be-signed objects. This may for example be possible if
the signed objects are monotonically increasingly numbered. One example of such
a use case may be software signing. This solution basically externalizes the
state management to the to-be signed messages.</t>
        <t>Expanding on the given example, for software that is released with strictly
increasing, simple single-position version numbers (i.e., versions 1, 2, 3...),
this can be trivially implemented. As versions have a one-to-one correspondence
to a Stateful HBS signing state, operators <bcp14>MUST</bcp14> ensure that versions can only be
minted a single time. This <bcp14>MAY</bcp14> require skipping version numbers if a release
process failed, to avoid double-signing.</t>
        <t>This scheme can be adapted to more complicated release schemes: for example,
minor update-releases 1.0 to 1.99 can be accommodated by assigning signatures
1-100 for these version numbers, while release 2.0-2.99 would get signatures
101-200. The assignments <bcp14>MUST</bcp14> be fixed as the scheme is set up, and operators
<bcp14>SHOULD</bcp14> take into account that they are strictly limiting the number of update
releases. In the described solution to state management, one <bcp14>MUST</bcp14> move up a
major release number after 99 minor releases, even if this would break, e.g.,
semantic versioning conventions.</t>
        <t>A variant of pre-assigning signatures is doing this on the basis of time, which
we describe in the next section.</t>
      </section>
      <section anchor="time-based-state-management">
        <name>Time-based State Management</name>
        <t>As a variant of pre-assigning one-time signatures based on external counters,
it is in theory possible to base the selection of one-time signature indexes on
the current date and time. For example, if a given Stateful HBS instance offers 1024
total signatures, they could be broken up into 8 groups of 128 OTS instances
each, with the first 128 allowed to be used in the first time window, the
second 128 in the second time window, and so on, until the signature space is
effectively exhausted after 8 time windows. Note that a time-based approach to
state management will "waste" any OTS keys that are unused in past time
windows. One <bcp14>MUST NOT</bcp14> attempt to use these keys after the time window has gone
by.</t>
        <t>Any time-based approach has a very strict reliance on accurate time-keeping and
synchronization of clocks. In particular, we identify that at least the
following engineering-related challenges need to be considered:</t>
        <ul spacing="normal">
          <li>
            <t>Signing devices <bcp14>MUST</bcp14> have accurate timekeeping (which is a very challenging
engineering problem <xref target="XKCD1883"/>, <xref target="XKCD2867"/>, <xref target="TIMEFALSEHOODS"/>).</t>
          </li>
          <li>
            <t>Time on signing devices <bcp14>MUST NOT</bcp14> be allowed to ever move backwards, as this
can cause double-signing.</t>
          </li>
          <li>
            <t>Within time windows, signers <bcp14>MUST</bcp14> track the number of signatures produced to
ensure it does not exceed the number allowed within the window.</t>
          </li>
          <li>
            <t>Signing devices <bcp14>MUST</bcp14> still operate consistently with the requirements of
state keeping for Stateful HBS: the signature index within a time window <bcp14>SHOULD</bcp14>
still appear to be updated atomically, and signatures <bcp14>MUST NOT</bcp14> be released
before state changes have been recorded.</t>
          </li>
          <li>
            <t>A system <bcp14>SHOULD</bcp14> be robust against exhaustion of the number of signatures
available in a time window, as in this case it is <bcp14>REQUIRED</bcp14> to wait until the
next time window starts before new messages can be signed.</t>
          </li>
          <li>
            <t>Time on signing devices <bcp14>SHOULD NOT</bcp14> be allowed to be moved forward maliciously
or accidentally, which would allow for a simple denial-of-service attack by
skipping over portions of the signature space.</t>
          </li>
          <li>
            <t>If a signing device needs to be replaced, the replacement device <bcp14>MUST</bcp14> be set
up with its time in sync with or ahead of the device it is to replace. This
implies the current time on signing devices <bcp14>SHOULD</bcp14> be continuously recorded.</t>
          </li>
          <li>
            <t>Rate limiting <bcp14>MAY</bcp14> need to be considered, as exhausting the available
signatures in a given time window may otherwise be easy.</t>
          </li>
          <li>
            <t>It <bcp14>MAY</bcp14> be necessary for signers to keep a separate clock for time-based state
management, and one for not necessarily monotonically increasing "wall-time",
e.g., if signed artifacts are expected to be time-stamped with real-world time.</t>
          </li>
        </ul>
        <t>If these concerns can not be sufficiently addressed, time-based state
management as described in this paragraph <bcp14>SHOULD NOT</bcp14> be used. Note that this
list of concerns is not exhaustive, and other, unmentioned, concerns may also
be relevant to the security of a time-based solution.</t>
        <t>Time-based systems can be backed up by simply recording the private keys and
the configuration of the time windows. In case of loss of a signing device, a
time-based state management system can be recovered by using this information
to bring online a new device in the next time window. This approach <bcp14>MAY</bcp14> also be
used as a recovery mechanism in the case of (suspected) state consistency
problems during a time window. However, the operator <bcp14>MUST NOT</bcp14> allow new
signatures to be produced before the new time window starts, unless they know
the exact state at which the previous device became unavailable and are able to
set up the new device accordingly. Waiting until the start of the next time
window avoids double signing, as the OTS keys assigned to future time windows
are guaranteed to have not yet been used. However, this might incur significant
downtime of the signing systems. Downtime <bcp14>MAY</bcp14> be avoided by forcibly moving the
signing device to the next time window by incrementing its clock; however, this
induced clock drift will then need to be accounted for in the future. If clock
drift is to be avoided, this approach <bcp14>SHOULD</bcp14> account for availability
considerations.</t>
      </section>
      <section anchor="interval-based-approaches">
        <name>Interval-based Approaches</name>
        <t>The State Reservation Strategy described in section 5 of <xref target="MCGREW"/> provides
another means of managing the state by allowing users to reserve intervals of
the signing space, marking the interval's associated OTS keys as being used in
the overall HBS state, which is then written back to non-volatile memory prior
to their usage. The OTS keys within the reservation interval are then consumed
as-needed, without having to update the state again until they have all been
consumed and additional OTS keys are required. Note that the reserved OTS keys
are kept in dynamic memory so they will be lost if the signing device loses
power or is reset, resulting in a reduction in the number of usable signatures
for a given HBS instantiation.</t>
        <t>Over provisioning can be used to ensure a sufficient number of signatures can
be provided in the presence of unexpected losses due to power loss or resets.
Over provisioning will cause a minor increase between 2% and 12% on signature
length as the MTS validation paths increase to accommodate the increased Merkle
tree height. However, reservation eliminates the need to update the state
after each OTS key is used, minimizing the likelihood of state reuse due to
state update failures and coherency issues.</t>
        <t>Multiple signing devices can in theory utilize reservation intervals to
carve out portions of signing space so that a single S-HBS key can be shared
amongst multiple devices, leading to potential performance and
disaster-recovery benefits. However, great care must be taken to manage the
reservations to ensure there is no overlap or repeated reservation of a
given interval, either in part or in whole.</t>
      </section>
    </section>
    <section anchor="alt-backup-mgmt">
      <name>Backup Management Beyond NIST SP-800-208</name>
      <t>In this section, an alternative backup mechanism for Stateful HBS is presented in a
generic form, which makes the strategy applicable for both multi-tree instances
XMSS<sup>MT</sup> and HSS.  However, following the same arguments as in
<xref target="sectorization"/>, with minor modifications, the presented strategy is also
applicable for single-tree instances such as XMSS and LMS.</t>
      <t>The strategy presented in this section builds upon the multi-tree variant
approach from <xref target="SP-800-208"/>, and aims to mitigate its limitations described in
<xref target="nist-dist-multi-tree"/>.  Thus, it is assumed that already a top-level Merkle
tree (for signing the root-nodes of sub-trees) and several bottom-level Merkle
trees (for signing messages) are initiated.  These bottom-level trees <bcp14>MAY</bcp14> be
implemented on different hardware modules in order to obtain redundancy and
improve availability.  Let R be the number of these already initiated
bottom-level trees.  Let h<sub>0</sub> be the height of the top-level-tree.  It
is assumed that R + 1 is strictly smaller than 2<sup>h<sub>0</sub></sup>, the
number of leaves of the top-level tree.</t>
      <t>In this new strategy, after the completed key generation procedure from the
multi-tree variant approach from <xref target="SP-800-208"/>, further bottom-level trees are
generated, one by one, in one of the hardware modules.  These new  bottom-level
trees are each generated from a different seed, which is chosen uniformly at
random.  For the sake of clarity, let us introduce some notation:</t>
      <ul spacing="normal">
        <li>
          <t>S denotes the number of these newly generated bottom-level trees.  Note that
at most 2<sup>h<sub>0</sub></sup> - R new bottom-level trees can be
generated, i.e. S is lower or equal to 2<sup>h<sub>0</sub></sup> - R.  In the
following we suppose that S is <em>strictly smaller</em> than
2<sup>h<sub>0</sub></sup> - R.</t>
        </li>
        <li>
          <t>I<sub>new</sub> denotes the set of indices that belong to these newly
generated bottom-level trees, i.e. I<sub>new</sub> = {R, R+1, ..., R+S-1}.
I<sub>new</sub> is zero-indexed here.</t>
        </li>
      </ul>
      <t>For each new bottom-level tree, after it has been generated, the following
steps <bcp14>MUST</bcp14> be performed:</t>
      <ul spacing="normal">
        <li>
          <t>sign the corresponding root node with an unused OTS key from the top-level
tree,</t>
        </li>
        <li>
          <t>securely <em>key export</em> (as described in <xref target="keymovement"/>) the seed, which was
used to generate the bottom-level tree,</t>
        </li>
        <li>
          <t>export the signature of the root node, the corresponding OTS key index and
finally the hash of the seed, using appropriate domain separation (i.e.
ensuring there is no domain overlap with the hashes in the Stateful HBS scheme, and
the hash of the seed includes the public key and leaf index to mitigate
multi-target attacks),</t>
        </li>
        <li>
          <t>irreversibly delete the seed and the bottom-level tree from the hardware
module.</t>
        </li>
      </ul>
      <t>The newly generated bottom-level trees (i.e. those bottom-level trees, whose
indices belong to I<sub>new</sub>) are only used in order to guarantee
availability in the <em>worst-case scenario</em>, where at the same time both</t>
      <ul spacing="normal">
        <li>
          <t>none of the R bottom-level Merkle trees (which were generated according to
the multi-tree variant approach from <xref target="SP-800-208"/>) are available for signing
messages and</t>
        </li>
        <li>
          <t>the top-level Merkle tree (which is used for signing the root-nodes of
sub-trees) is also not available anymore.</t>
        </li>
      </ul>
      <t>This scenario may, for example, happen if all hardware modules are broken at
the same time.</t>
      <t>As soon as this worst-case scenario occurs, the newly generated bottom-level
trees (i.e. those bottom-level trees, whose indices belong to I<sub>new</sub>)
need to be initiated in order to ensure availability. In order to do this the
following steps <bcp14>MUST</bcp14> be performed:</t>
      <ul spacing="normal">
        <li>
          <t>initiate a new hardware module</t>
        </li>
        <li>
          <t>securely <em>key import</em> (as decribed in <xref target="keymovement"/>) the first unused seed
into this hardware module</t>
        </li>
        <li>
          <t>generate the bottom-level tree corresponding to the seed</t>
        </li>
        <li>
          <t>irreversibly delete the seed from the backup medium</t>
        </li>
        <li>
          <t>perform a correctness check by letting the hardware module output the hash of
the seed</t>
        </li>
      </ul>
      <t>Now this bottom-level tree can be used to sign messages. As soon as no more OTS
on the bottom-level tree are available or as soon as the hardware module is
broken, the above steps with a new seed from the backup medium can be repeated.</t>
      <t>Note that the resulting signatures generated from these backed up seeds do not
require any special processing on the verifier side. The signature stored
alongside the backed up seed, and the signature generated from the bottom-level
trees created from the backed up seed can be combined to match the format of a
signature over the complete tree.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Further security considerations, which are not already covered in this
document, are given in <xref target="SP-800-208"/>, <xref target="MCGREW"/>, <xref target="FIPS205"/>, <xref target="RFC8391"/> and
<xref target="RFC8554"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="MCGREW" target="https://eprint.iacr.org/2016/357.pdf">
          <front>
            <title>State Management for Hash-Based Signatures</title>
            <author initials="D." surname="McGrew">
              <organization/>
            </author>
            <author initials="P." surname="Kampanakis">
              <organization/>
            </author>
            <author initials="S." surname="Fluhrer">
              <organization/>
            </author>
            <author initials="S." surname="Gazdag">
              <organization/>
            </author>
            <author initials="D." surname="Butin">
              <organization/>
            </author>
            <author initials="J." surname="Buchmann">
              <organization/>
            </author>
            <date year="2016" month="November" day="02"/>
          </front>
          <seriesInfo name="Security Standardization Research 2016" value=""/>
        </reference>
        <reference anchor="SP-800-208" target="https://doi.org/10.6028/NIST.SP.800-208">
          <front>
            <title>NIST SP 800-208: Recommendation for Stateful Hash-Based Signature Schemes</title>
            <author initials="D." surname="Cooper" fullname="David Cooper">
              <organization/>
            </author>
            <author initials="D." surname="Apon" fullname="David Apon">
              <organization/>
            </author>
            <author initials="Q." surname="Dang" fullname="Quynh Dang">
              <organization/>
            </author>
            <author initials="M." surname="Davidson" fullname="Michael Davidson">
              <organization/>
            </author>
            <author initials="M." surname="Dworkin" fullname="Morris Dworkin">
              <organization/>
            </author>
            <author initials="C." surname="Miller" fullname="Carl Miller">
              <organization/>
            </author>
            <date year="2020" month="October"/>
          </front>
          <seriesInfo name="NIST Special Publication" value=""/>
        </reference>
        <reference anchor="FIPS204" target="https://doi.org/10.6028/NIST.FIPS.204">
          <front>
            <title>FIPS 204: Module-Lattice-Based Digital Signature Standard</title>
            <author initials="" surname="National Institute of Standards and Technology">
              <organization/>
            </author>
            <date year="2024" month="August" day="13"/>
          </front>
          <seriesInfo name="Federal Information Processing Standards" value=""/>
        </reference>
        <reference anchor="FIPS205" target="https://doi.org/10.6028/NIST.FIPS.205">
          <front>
            <title>FIPS 205: Stateless Hash-Based Digital Signature Standard</title>
            <author initials="" surname="National Institute of Standards and Technology">
              <organization/>
            </author>
            <date year="2024" month="August" day="13"/>
          </front>
          <seriesInfo name="Federal Information Processing Standards" value=""/>
        </reference>
        <reference anchor="BH16" target="https://eprint.iacr.org/2016/1042.pdf">
          <front>
            <title>Oops, I did it again – Security of One-Time Signatures under Two-Message Attacks.</title>
            <author initials="L." surname="Bruinderink">
              <organization/>
            </author>
            <author initials="A." surname="Hülsing">
              <organization/>
            </author>
            <date year="2016"/>
          </front>
        </reference>
        <reference anchor="Fluhrer23">
          <front>
            <title>Oops, I did it again revisited; another look at reusing one-time signatures</title>
            <author initials="S." surname="Fluhrer" fullname="Scott Fluhrer">
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="ETSI-TR-103-692" target="https://www.etsi.org/deliver/etsi_tr/103600_103699/103692/01.01.01_60/tr_103692v010101p.pdf">
          <front>
            <title>State management for stateful authentication mechanisms</title>
            <author initials="" surname="European Telecommunications Standards Institute (ETSI)">
              <organization/>
            </author>
            <date year="2021" month="November"/>
          </front>
        </reference>
        <reference anchor="BSW16" target="https://link.springer.com/chapter/10.1007/978-3-662-49896-5_28">
          <front>
            <title>New Negative Results on Differing-Inputs Obfuscation</title>
            <author initials="M." surname="Bellare">
              <organization/>
            </author>
            <author initials="I." surname="Stepanovss">
              <organization/>
            </author>
            <author initials="B." surname="Waters">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="HBSX509" target="https://www.ietf.org/archive/id/draft-gazdag-x509-hash-sigs-02.html">
          <front>
            <title>Internet X.509 Public Key Infrastructure: Algorithm Identifiers for Hash-based Signatures</title>
            <author initials="K." surname="Bashiri">
              <organization/>
            </author>
            <author initials="S." surname="Fluhrer">
              <organization/>
            </author>
            <author initials="S." surname="Gazdag">
              <organization/>
            </author>
            <author initials="D." surname="Van Geest">
              <organization/>
            </author>
            <author initials="S." surname="Kousidis">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="XKCD2867" target="https://xkcd.com/2867/">
          <front>
            <title>xkcd: DateTime</title>
            <author initials="R." surname="Munroe">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="XKCD1883" target="https://xkcd.com/1883/">
          <front>
            <title>xkcd: Timezones</title>
            <author initials="R." surname="Munroe">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="TIMEFALSEHOODS" target="https://gist.github.com/timvisee/fcda9bbdff88d45cc9061606b4b923ca">
          <front>
            <title>Falsehoods programmers believe about time</title>
            <author initials="T." surname="Visée">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </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="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="RFC9162">
          <front>
            <title>Certificate Transparency Version 2.0</title>
            <author fullname="B. Laurie" initials="B." surname="Laurie"/>
            <author fullname="E. Messeri" initials="E." surname="Messeri"/>
            <author fullname="R. Stradling" initials="R." surname="Stradling"/>
            <date month="December" year="2021"/>
            <abstract>
              <t>This document describes version 2.0 of the Certificate Transparency (CT) protocol for publicly logging the existence of Transport Layer Security (TLS) server certificates as they are issued or observed, in a manner that allows anyone to audit certification authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
              <t>This document obsoletes RFC 6962. It also specifies a new TLS extension that is used to send various CT log artifacts.</t>
              <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9162"/>
          <seriesInfo name="DOI" value="10.17487/RFC9162"/>
        </reference>
        <reference anchor="RFC8649">
          <front>
            <title>Hash Of Root Key Certificate Extension</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="August" year="2019"/>
            <abstract>
              <t>This document specifies the Hash Of Root Key certificate extension. This certificate extension is carried in the self-signed certificate for a trust anchor, which is often called a Root Certification Authority (CA) certificate. This certificate extension unambiguously identifies the next public key that will be used at some point in the future as the next Root CA certificate, eventually replacing the current one.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8649"/>
          <seriesInfo name="DOI" value="10.17487/RFC8649"/>
        </reference>
        <reference anchor="RFC8411">
          <front>
            <title>IANA Registration for the Cryptographic Algorithm Object Identifier Range</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="R. Andrews" initials="R." surname="Andrews"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>When the Curdle Security Working Group was chartered, a range of object identifiers was donated by DigiCert, Inc. for the purpose of registering the Edwards Elliptic Curve key agreement and signature algorithms. This donated set of OIDs allowed for shorter values than would be possible using the existing S/MIME or PKIX arcs. This document describes the donated range and the identifiers that were assigned from that range, transfers control of that range to IANA, and establishes IANA allocation policies for any future assignments within that range.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8411"/>
          <seriesInfo name="DOI" value="10.17487/RFC8411"/>
        </reference>
      </references>
    </references>
    <?line 946?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document was inspired by discussions at the 2nd Oxford Post-Quantum
Cryptography Summit 2023.</t>
      <t>We gratefully acknowledge Melissa Azouaoui for her input to this document.</t>
      <t>The abstract and the introduction are based on the introduction in <xref target="HBSX509"/>.
Thanks go to the authors of this document. "Copying always makes things easier
and less error-prone" - <xref target="RFC8411"/>.</t>
    </section>
    <section numbered="false" anchor="contributors">
      <name>Contributors</name>
      <ul spacing="normal">
        <li>
          <t>Jeff Andersen (Google)</t>
        </li>
        <li>
          <t>Bruno Couillard (Crypto4A Technologies)</t>
        </li>
        <li>
          <t>Stefan-Lukas Gazdag (genua GmbH)</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA9V925Ibx5nmfT5FLRUbZo8B9EGkTFIe201SFNtikzSbsjyh
UTAKqARQZqEKrip0q6VgxLzD7s3e7e2+wF7t1c6bzJPs//2HzKwCSNmxN7s7
K7MBVOXhz/98yul06vqyr/yj7M7zvFtP53nni+yqXNV5v2t99yi76vPeZ3ld
ZI/zxfvdNrvM63zlN77u77h8Pm/9NV5+fLX/6B23oC9WTXv7KCvrZeNc0Szq
fEOzFW2+7Kel75fT7d925Xa6nnfTDu9PT05dt5tvyq4rm7q/3dLTF1+9fZZl
n2V51TU0WVkXfuvpf2gJk+yOL8q+acu8woeL88f0T9PSX2/ePrvj6t1m7ttH
rqChH7lFU3e+7na0ryUN5h2t/XOXtz6nYa/8YteW/e0dd9O071dts9vSt6+b
rp/+aZfX/W6Tfdv57KLOXrdN3yyaqrvj3vtberp45LJpxutf7qpsHUHZBVDi
ib9cXl3h3xeXV+GFbBMA6q59vaNlZtnfOXuWCYDufEcrLutV9jXew/ebvKzo
++3fFn8AlGdNu8LXebtY09frvt92j46P8RS+Kq/9zB47xhfH87a56fwxvX+M
91Zlv97N8Sad02pXFnm98MdyiuHo8GBF/3Z9MkX6wkyGmZXN+NXjjyPEbN1v
qjvO5bt+3bQM6LKmA3w7y74rVyvfEmSzTNDq7brZpN/Sdh5lr/90tS59VeCL
RbOre+Dj27XPXvp+7duKEJYf9gIzmmXzB/zPjYwzqysXJv1mRrjdrcu2jJN+
k1/7dfo1z/r46mIw4de+pYO+TSZ6j/dmc3mPwf+HFX6ZLZpNnPFqln3z7/+z
mldxwivCsrxOvuYJv26aVeUHc17dlP1PssN03q73f1jx08Op/jjDIAUtM871
x3KTfskzPWlvt31z7zx76xfruqmaVem7wcRPCKWLPJnzr+Vm9YeFvJfvb7DZ
dWVRdukW8+u26Qa//L1g1Vf2IPqZoEfd9OBrt80uWxAU1wScymdvnj3psnKz
rcoF8cPbbH6b0TBEUT//nn46Pfv83ofsLpgYTdcTuRwxn/v5P8Uf6/CTC38+
ci55B4T9WXYxfToTbF9Wu3Xr22m16aabpvXTbd5upp3vO3mSxn7w+cPT+OH+
/Xs0YpZdPvn6zVff4XtiAHm78kRwRm9+25Z1PyvzRcvUfHZy+sXx5/d/M9sW
S3lB+L0w68jMM1pmxjLg8UgG8FuB+vj/6dE9nWWXi69bfzP8+jWdaL7Z0tDv
5eTiT3TYz2TXe99/nf9U5Ku9CR7v+rIefvtHfLtY07nLD8zbM2x0eno6PTnj
LzvfElYC+jS6cnZsui7ytih/ogNp6uyN7zzYHb8MyF69nj44OZmenTw4DN2i
KRmqpyezL07OHhy/vLh6O7t6PdOXUgDfwW80YGYD0myEhwTrQiYHwK9MZByC
fHa1WNPZMJ//+Ak8aZptAKfRz9P8uiyGP8U3zrdNffD55Ad9+k8z+qlejZ7+
0+62Xqc/6NOXMxmo2xv/slysc1+Nf07eu2EJNn6taduyG/2oLz0h5Curam/r
T/K2Sn8R7Hi16BtSBOigz0728ENOausXpERkr3dzYgJ8RMCIZxevr85O7v0D
6IA3ZvTKABnwZYZxaE/FrvLTF3nflwuvZ/60JNFIkydnr6j6icN/yYukty7q
jubZET03y/BixxwqsOjbAamc3ZuePJiefr4Hime+8C0PqWyrYYVj4TvmhmHw
CJr7/zho7h8CzX3lSRVNlZLD/5egefz89It/gD+fntw7GzPoV822m2QXWUGE
WfZZvsrLOvuPf/svkZvRjl7Vfvq23PiEXWc70ozb7O1NM72kpRF7z877nhTy
bnYIXoF6GG4viLW2OyjYtMr3h585n2XP//1/Vdj0iP0yUgh7P/v80eCQD+6G
bIeyK3tffEkH0kAZy6qmeZ/lPf0k4rehDfbYYFSkDx77cIl7YibLiMlWqlss
mr4f/B6O/nPs4Ku3VxfTt2+mpyefT794eHb4GG9ubmYkqAXHC1+ReG+P8cW7
vqXj/PyLk5N3+OfhQ/708Oz45HTG///dFyfHfSs/nl2fnOL/toel82YonYN9
gb3Tl8qlsg0hcl6X3eagqB5C5qtdSzKB9J63RGgQR7tah+kS8ohUcxfQOBpC
6ZTELCP51Xcfw/KKsGfWAdVJhYb6dUxL3PYesJmdnpz85vjhbx5MCb5fnE3v
PXzw8Ivp/XdnA/H50t/QfytWnCCnd1XfETYQO1gugZyr6UW93dF3r+bLXaf8
+qP8gCTMY1+RreOH31/MoE2TqtJcdyNV5THZF7TjlumZ7Nu/3D95+HFcGFhP
tOTjslCbZsV6zfRHen3KhiFhckdaCts1Axq5qGm62vfZX2b0sAqi7Bt/C5bT
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

-->

</rfc>
