<?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.5 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-gazdag-x509-hash-sigs-03" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.2 -->
  <front>
    <title abbrev="Hash-based Signatures for X.509">Internet X.509 Public Key Infrastructure: Algorithm Identifiers for Hash-based Signatures</title>
    <seriesInfo name="Internet-Draft" value="draft-gazdag-x509-hash-sigs-03"/>
    <author initials="K." surname="Bashiri" fullname="Kaveh Bashiri">
      <organization>BSI</organization>
      <address>
        <email>kaveh.bashiri.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="S." surname="Fluhrer" fullname="Scott Fluhrer">
      <organization>Cisco Systems</organization>
      <address>
        <email>sfluhrer@cisco.com</email>
      </address>
    </author>
    <author initials="S." surname="Gazdag" fullname="Stefan Gazdag">
      <organization>genua GmbH</organization>
      <address>
        <email>ietf@gazdag.de</email>
      </address>
    </author>
    <author initials="D." surname="Van Geest" fullname="Daniel Van Geest">
      <organization/>
      <address>
        <email>daniel.vangeest.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="S." surname="Kousidis" fullname="Stavros Kousidis">
      <organization>BSI</organization>
      <address>
        <email>kousidis.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2024" month="February" day="15"/>
    <area>sec</area>
    <workgroup>LAMPS - Limited Additional Mechanisms for PKIX and SMIME</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 112?>

<t>This document specifies algorithm identifiers and ASN.1 encoding formats for
the Hash-Based Signature (HBS) schemes Hierarchical Signature System (HSS),
eXtended Merkle Signature Scheme (XMSS), and XMSS^MT, a multi-tree variant of
XMSS, as well as SLH-DSA (formerly SPHINCS+), the latter being the only
stateless scheme. This specification applies to the Internet X.509 Public Key
infrastructure (PKI) when those digital signatures are used in Internet X.509
certificates and certificate revocation lists.</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-gazdag-x509-hash-sigs/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        LAMPS Working Group mailing list (<eref target="mailto:spasm@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/spasm/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/spasm/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/x509-hbs/draft-gazdag-x509-hash-sigs"/>.</t>
    </note>
  </front>
  <middle>
    <?line 122?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Hash-Based Signature (HBS) Schemes combine Merkle trees with One/Few Time
Signatures (OTS/FTS) in order to provide digital signature schemes that remain
secure even when 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
computer resistant information and communication technology.</t>
      <t>The private key of HSS, XMSS and XMSS^MT is a finite collection of OTS keys,
hence only a limited number of messages can be signed and the private key's
state must be updated and persisted after signing to prevent reuse of OTS keys.
While the right selection of algorithm parameters would allow a private key to
sign a virtually unbounded number of messages (e.g. 2^60), this is at the cost
of a larger signature size and longer signing time. Due to the statefulness of
the private key of HSS, XMSS and XMSS^MT and the limited number of signatures
that can be created, these signature algorithms might not be appropriate for
use in interactive protocols. However, in some use case scenarios the
deployment of these signature algorithms may be appropriate. Such use cases are
described and discussed later in <xref target="use-cases-hbs-x509"/>.</t>
      <t>The private key of SLH-DSA is a finite but very large collection of FTS keys
and hence stateless. This typically comes at the cost of larger signatures
compared to the stateful HBS variants. Thus SLH-DSA is suitable for more use
cases if the signature sizes fit the requirements.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>The parameter 'n' is the security parameter, given in bytes. In practice this
is typically aligned to the standard output length of the hash function in use,
i.e. either 16, 24, 32 or 64 bytes. The height of a single tree is typically
given by the parameter 'h'. The number of levels of trees is either called 'L'
(HSS) or 'd' (XMSS, XMSS^MT, SLH-DSA).</t>
    </section>
    <section anchor="use-cases-hbs-x509">
      <name>Use Cases of HBS in X.509</name>
      <t>As many cryptographic algorithms that are considered to be quantum-resistant,
HBS have several pros and cons regarding their practical usage. On the positive
side they are considered to be secure against a classical as well as a quantum
adversary, and a secure instantiation of HBS may always be built as long as a
cryptographically secure hash function exists. Moreover, HBS offer small public
key sizes, and, in comparison to other post-quantum signature schemes, the
stateful HBS can offer relatively small signature sizes (for certain parameter
sets). While key generation and signature generation may take longer than
classical alternatives, fast and minimal verification routines can be built.
The major negative aspect is the statefulness of several HBS.  Private keys
always have to be handled in a secure manner, but stateful HBS necessitate a
special treatment of the private key in order to avoid security incidents like
signature forgery <xref target="MCGREW"/>, <xref target="NIST-SP-800-208"/>. Therefore, for stateful HBS, a
secure environment <bcp14>MUST</bcp14> be used for key generation and key management.</t>
      <t>Note that, in general, root CAs offer such a secure environment and the number
of issued signatures (including signed certificates and CRLs) is often moderate
due to the fact that many root CAs delegate OCSP services or the signing of
end-entity certificates to other entities (such as subordinate CAs) that use
stateless signature schemes. Therefore, many root CAs should be able to handle
the required state management, and stateful HBS offer a viable solution.</t>
      <t>As the above reasoning for root CAs usually does not apply for subordinate CAs,
it is <bcp14>NOT RECOMMENDED</bcp14> for subordinate CAs to use stateful HBS for issuing
end-entity certificates. Moreover, stateful HBS <bcp14>MUST NOT</bcp14> be used for end-entity
certificates.</t>
      <t>However, stateful HBS <bcp14>MAY</bcp14> be used for code signing certificates, since they are
suitable and recommended in such non-interactive contexts. For example, see the
recommendations for software and firmware signing in <xref target="CNSA2.0"/>. Some
manufactures use common and well-established key formats like X.509 for their
code signing and update mechanisms. Also there are multi-party IoT ecosystems
where publicly trusted code signing certificates are useful.</t>
    </section>
    <section anchor="public-key-algorithms">
      <name>Public Key Algorithms</name>
      <t>Certificates conforming to <xref target="RFC5280"/> can convey a public key for any public key
algorithm. The certificate indicates the algorithm through an algorithm
identifier. An algorithm identifier consists of an OID and optional parameters.</t>
      <t>In this document, we define new OIDs for identifying the different hash-based
signature algorithms. An additional OID is defined in <xref target="RFC8708"/> and repeated
here for convenience. For all of the OIDs, the parameters <bcp14>MUST</bcp14> be absent.</t>
      <section anchor="hss-public-keys">
        <name>HSS Public Keys</name>
        <t>The object identifier and public key algorithm identifier for HSS is defined in
<xref target="RFC8708"/>. The definitions are repeated here for reference.</t>
        <t>The object identifier for an HSS public key is <tt>id-alg-hss-lms-hashsig</tt>:</t>
        <artwork><![CDATA[
id-alg-hss-lms-hashsig  OBJECT IDENTIFIER ::= {
   iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
   smime(16) alg(3) 17 }
]]></artwork>
        <t>Note that the <tt>id-alg-hss-lms-hashsig</tt> algorithm identifier is also referred to
as <tt>id-alg-mts-hashsig</tt>. This synonym is based on the terminology used in an
early draft of the document that became <xref target="RFC8554"/>.</t>
        <t>The HSS public key identifier is as follows:</t>
        <artwork><![CDATA[
pk-HSS-LMS-HashSig PUBLIC-KEY ::= {
   IDENTIFIER id-alg-hss-lms-hashsig
   KEY HSS-LMS-HashSig-PublicKey
   PARAMS ARE absent
   CERT-KEY-USAGE
      { digitalSignature, nonRepudiation, keyCertSign, cRLSign } }
]]></artwork>
        <t>The HSS public key is defined as follows:</t>
        <artwork><![CDATA[
HSS-LMS-HashSig-PublicKey ::= OCTET STRING
]]></artwork>
        <t>See <xref target="NIST-SP-800-208"/> and <xref target="RFC8554"/> for more information on the contents and
format of an HSS public key. Note that the single-tree signature scheme LMS is
instantiated as HSS with level L=1.</t>
      </section>
      <section anchor="xmss-public-keys">
        <name>XMSS Public Keys</name>
        <t>The object identifier for an XMSS public key is <tt>id-alg-xmss-hashsig</tt>:</t>
        <artwork><![CDATA[
id-alg-xmss-hashsig  OBJECT IDENTIFIER ::= {
   itu-t(0) identified-organization(4) etsi(0) reserved(127)
   etsi-identified-organization(0) isara(15) algorithms(1)
   asymmetric(1) xmss(13) 0 }
]]></artwork>
        <t>The XMSS public key identifier is as follows:</t>
        <artwork><![CDATA[
pk-XMSS-HashSig PUBLIC-KEY ::= {
   IDENTIFIER id-alg-xmss-hashsig
   KEY XMSS-HashSig-PublicKey
   PARAMS ARE absent
   CERT-KEY-USAGE
      { digitalSignature, nonRepudiation, keyCertSign, cRLSign } }
]]></artwork>
        <t>The XMSS public key is defined as follows:</t>
        <artwork><![CDATA[
XMSS-HashSig-PublicKey ::= OCTET STRING
]]></artwork>
        <t>See <xref target="NIST-SP-800-208"/> and <xref target="RFC8391"/> for more information on the contents and
format of an XMSS public key.</t>
      </section>
      <section anchor="xmssmt-public-keys">
        <name>XMSS^MT Public Keys</name>
        <t>The object identifier for an XMSS^MT public key is <tt>id-alg-xmssmt-hashsig</tt>:</t>
        <artwork><![CDATA[
id-alg-xmssmt-hashsig  OBJECT IDENTIFIER ::= {
   itu-t(0) identified-organization(4) etsi(0) reserved(127)
   etsi-identified-organization(0) isara(15) algorithms(1)
   asymmetric(1) xmssmt(14) 0 }
]]></artwork>
        <t>The XMSS^MT public key identifier is as follows:</t>
        <artwork><![CDATA[
pk-XMSSMT-HashSig PUBLIC-KEY ::= {
   IDENTIFIER id-alg-xmssmt-hashsig
   KEY XMSSMT-HashSig-PublicKey
   PARAMS ARE absent
   CERT-KEY-USAGE
      { digitalSignature, nonRepudiation, keyCertSign, cRLSign } }
]]></artwork>
        <t>The XMSS^MT public key is defined as follows:</t>
        <artwork><![CDATA[
XMSSMT-HashSig-PublicKey ::= OCTET STRING
]]></artwork>
        <t>See <xref target="NIST-SP-800-208"/> and <xref target="RFC8391"/> for more information on the contents and
format of an XMSS^MT public key.</t>
      </section>
      <section anchor="slh-dsa-public-keys">
        <name>SLH-DSA Public Keys</name>
        <t>The object and public key algorithm identifiers for SLH-DSA are defined in
<xref target="I-D.ietf-lamps-cms-sphincs-plus"/>. The definitions are repeated here for
reference.</t>
        <artwork><![CDATA[
id-alg-sphincs-plus-128 OBJECT IDENTIFIER ::= {
   TBD }

id-alg-sphincs-plus-192 OBJECT IDENTIFIER ::= {
   TBD }

id-alg-sphincs-plus-256 OBJECT IDENTIFIER ::= {
   TBD }
]]></artwork>
        <t>The SLH-DSA public key identifier is as follows:</t>
        <artwork><![CDATA[
pk-sphincs-plus-128 PUBLIC-KEY ::= {
   IDENTIFIER id-alg-sphincs-plus-128
   KEY SPHINCS-Plus-PublicKey
   PARAMS ARE absent
   CERT-KEY-USAGE
     { digitalSignature, nonRepudiation, keyCertSign, cRLSign } }

pk-sphincs-plus-192 PUBLIC-KEY ::= {
   IDENTIFIER id-alg-sphincs-plus-192
   KEY SPHINCS-Plus-PublicKey
   PARAMS ARE absent
   CERT-KEY-USAGE
     { digitalSignature, nonRepudiation, keyCertSign, cRLSign } }

pk-sphincs-plus-256 PUBLIC-KEY ::= {
   IDENTIFIER id-alg-sphincs-plus-256
   KEY SPHINCS-Plus-PublicKey
   PARAMS ARE absent
   CERT-KEY-USAGE
      { digitalSignature, nonRepudiation, keyCertSign, cRLSign } }
]]></artwork>
        <t>The SLH-DSA public key is defined as follows:</t>
        <artwork><![CDATA[
SPHINCS-Plus-PublicKey ::= OCTET STRING
]]></artwork>
        <t>See <xref target="NIST-FIPS-205"/> for more information on the contents and format of a
SLH-DSA public key.</t>
      </section>
    </section>
    <section anchor="key-usage-bits">
      <name>Key Usage Bits</name>
      <t>The intended application for the key is indicated in the keyUsage certificate
extension <xref target="RFC5280"/>.</t>
      <t>If the keyUsage extension is present in an end-entity certificate that
indicates <tt>id-alg-sphincs-plus-128</tt>, <tt>id-alg-sphincs-plus-192</tt>, or
<tt>id-alg-sphincs-plus-256</tt>, then it <bcp14>MUST</bcp14> contain at least one of the following
values:</t>
      <artwork><![CDATA[
nonRepudiation; or
digitalSignature.
]]></artwork>
      <t>If the keyUsage extension is present in a code signing certificate that
indicates <tt>id-alg-hss-lms-hashsig</tt>, <tt>id-alg-xmss-hashsig</tt>,
<tt>id-alg-xmssmt-hashsig</tt>, <tt>id-alg-sphincs-plus-128</tt>, <tt>id-alg-sphincs-plus-192</tt>,
or <tt>id-alg-sphincs-plus-256</tt>, then it <bcp14>MUST</bcp14> contain at least one of the
following values:</t>
      <artwork><![CDATA[
nonRepudiation; or
digitalSignature.
]]></artwork>
      <t>If the keyUsage extension is present in a certification authority certificate
that indicates <tt>id-alg-hss-lms-hashsig</tt>, <tt>id-alg-xmss-hashsig</tt>,
<tt>id-alg-xmssmt-hashsig</tt>, <tt>id-alg-sphincs-plus-128</tt>, <tt>id-alg-sphincs-plus-192</tt>,
or <tt>id-alg-sphincs-plus-256</tt>, then it <bcp14>MUST</bcp14> contain at least one of the
following values:</t>
      <artwork><![CDATA[
nonRepudiation; or
digitalSignature; or
keyCertSign; or
cRLSign.
]]></artwork>
      <t>Note that for certificates that indicate <tt>id-alg-hss-lms-hashsig</tt> the above
definitions are more restrictive than the requirement defined in Section 4 of
<xref target="RFC8708"/>.</t>
    </section>
    <section anchor="signature-algorithms">
      <name>Signature Algorithms</name>
      <t>This section identifies OIDs for signing using HSS, XMSS, XMSS^MT, and SLH-DSA.
When these algorithm identifiers appear in the algorithm field as an
AlgorithmIdentifier, the encoding <bcp14>MUST</bcp14> omit the parameters field. That is, the
AlgorithmIdentifier <bcp14>SHALL</bcp14> be a SEQUENCE of one component, one of the OIDs
defined in the following subsections.</t>
      <t>The data to be signed is prepared for signing. For the algorithms used in this
document, the data is signed directly by the signature algorithm, the data is
not hashed before processing. Then, a private key operation is performed to
generate the signature value. For HSS, the signature value is described in
section 6.4 of <xref target="RFC8554"/>. For XMSS and XMSS^MT the signature values are
described in sections B.2 and C.2 of <xref target="RFC8391"/>, respectively. For SLH-DSA the
signature values are described in 9.2 of <xref target="NIST-FIPS-205"/>. The octet string
representing the signature is encoded directly in the OCTET STRING without
adding any additional ASN.1 wrapping. For the Certificate and CertificateList
structures, the signature value is wrapped in the "signatureValue" OCTET STRING
field.</t>
      <section anchor="hss-signature-algorithm">
        <name>HSS Signature Algorithm</name>
        <t>The HSS public key OID is also used to specify that an HSS signature was
generated on the full message, i.e. the message was not hashed before being
processed by the HSS signature algorithm.</t>
        <artwork><![CDATA[
id-alg-hss-lms-hashsig OBJECT IDENTIFIER ::= {
   iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
   smime(16) alg(3) 17 }
]]></artwork>
        <t>The HSS signature is defined as follows:</t>
        <artwork><![CDATA[
HSS-LMS-HashSig-Signature ::= OCTET STRING
]]></artwork>
        <t>See <xref target="NIST-SP-800-208"/> and <xref target="RFC8554"/> for more information on the contents and
format of an HSS signature.</t>
      </section>
      <section anchor="xmss-signature-algorithm">
        <name>XMSS Signature Algorithm</name>
        <t>The XMSS public key OID is also used to specify that an XMSS signature was
generated on the full message, i.e. the message was not hashed before being
processed by the XMSS signature algorithm.</t>
        <artwork><![CDATA[
id-alg-xmss-hashsig  OBJECT IDENTIFIER ::= {
   itu-t(0) identified-organization(4) etsi(0) reserved(127)
   etsi-identified-organization(0) isara(15) algorithms(1)
   asymmetric(1) xmss(13) 0 }
]]></artwork>
        <t>The XMSS signature is defined as follows:</t>
        <artwork><![CDATA[
XMSS-HashSig-Signature ::= OCTET STRING
]]></artwork>
        <t>See <xref target="NIST-SP-800-208"/> and <xref target="RFC8391"/> for more information on the contents and
format of an XMSS signature.</t>
        <t>The signature generation <bcp14>MUST</bcp14> be performed according to 7.2 of
<xref target="NIST-SP-800-208"/>.</t>
      </section>
      <section anchor="xmssmt-signature-algorithm">
        <name>XMSS^MT Signature Algorithm</name>
        <t>The XMSS^MT public key OID is also used to specify that an XMSS^MT signature
was generated on the full message, i.e. the message was not hashed before being
processed by the XMSS^MT signature algorithm.</t>
        <artwork><![CDATA[
id-alg-xmssmt-hashsig  OBJECT IDENTIFIER ::= {
   itu-t(0) identified-organization(4) etsi(0) reserved(127)
   etsi-identified-organization(0) isara(15) algorithms(1)
   asymmetric(1) xmssmt(14) 0 }
]]></artwork>
        <t>The XMSS^MT signature is defined as follows:</t>
        <artwork><![CDATA[
XMSSMT-HashSig-Signature ::= OCTET STRING
]]></artwork>
        <t>See <xref target="NIST-SP-800-208"/> and <xref target="RFC8391"/> for more information on the contents and
format of an XMSS^MT signature.</t>
        <t>The signature generation <bcp14>MUST</bcp14> be performed according to 7.2 of
<xref target="NIST-SP-800-208"/>.</t>
      </section>
      <section anchor="slh-dsa-signature-algorithm">
        <name>SLH-DSA Signature Algorithm</name>
        <t>The SLH-DSA public key OID is also used to specify that a SLH-DSA signature
was generated on the full message, i.e. the message was not hashed before being
processed by the SLH-DSA signature algorithm.</t>
        <artwork><![CDATA[
id-alg-sphincs-plus-128 OBJECT IDENTIFIER ::= {
   TBD }

id-alg-sphincs-plus-192 OBJECT IDENTIFIER ::= {
   TBD }

id-alg-sphincs-plus-256 OBJECT IDENTIFIER ::= {
   TBD }
]]></artwork>
        <t>The SLH-DSA signature is defined as follows:</t>
        <artwork><![CDATA[
SPHINCS-Plus-Signature ::= OCTET STRING
]]></artwork>
        <t>See <xref target="NIST-FIPS-205"/> for more information on the contents and format of a SLH-DSA
signature.</t>
      </section>
    </section>
    <section anchor="key-generation">
      <name>Key Generation</name>
      <t>The key generation for XMSS and XMSS^MT <bcp14>MUST</bcp14> be performed according to 7.2 of
<xref target="NIST-SP-800-208"/></t>
    </section>
    <section anchor="asn1-module">
      <name>ASN.1 Module</name>
      <t>For reference purposes, the ASN.1 syntax is presented as an ASN.1 module here.
This ASN.1 Module builds upon the conventions established in <xref target="RFC5911"/>.</t>
      <artwork><![CDATA[
--
-- ASN.1 Module
--

<CODE STARTS>

Hashsigs-pkix-0 -- TBD - IANA assigned module OID

DEFINITIONS IMPLICIT TAGS ::= BEGIN

EXPORTS ALL;

IMPORTS
  PUBLIC-KEY, SIGNATURE-ALGORITHM
  FROM AlgorithmInformation-2009
    {iso(1) identified-organization(3) dod(6) internet(1) security(5)
    mechanisms(5) pkix(7) id-mod(0) id-mod-algorithmInformation-02(58)} ;

--
-- Object Identifiers
--

-- id-alg-hss-lms-hashsig is defined in [RFC8708]

id-alg-hss-lms-hashsig OBJECT IDENTIFIER ::= { iso(1)
   member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
   smime(16) alg(3) 17 }

id-alg-xmss-hashsig  OBJECT IDENTIFIER ::= { itu-t(0)
   identified-organization(4) etsi(0) reserved(127)
   etsi-identified-organization(0) isara(15) algorithms(1)
   asymmetric(1) xmss(13) 0 }

id-alg-xmssmt-hashsig  OBJECT IDENTIFIER ::= { itu-t(0)
   identified-organization(4) etsi(0) reserved(127)
   etsi-identified-organization(0) isara(15) algorithms(1)
   asymmetric(1) xmssmt(14) 0 }

id-alg-sphincs-plus-128 OBJECT IDENTIFIER ::= {
   TBD }

id-alg-sphincs-plus-192 OBJECT IDENTIFIER ::= {
   TBD }

id-alg-sphincs-plus-256 OBJECT IDENTIFIER ::= {
   TBD }

--
-- Signature Algorithms and Public Keys
--

-- sa-HSS-LMS-HashSig is defined in [RFC8708]

sa-HSS-LMS-HashSig SIGNATURE-ALGORITHM ::= {
   IDENTIFIER id-alg-hss-lms-hashsig
   PARAMS ARE absent
   PUBLIC-KEYS { pk-HSS-LMS-HashSig }
   SMIME-CAPS { IDENTIFIED BY id-alg-hss-lms-hashsig } }

sa-XMSS-HashSig SIGNATURE-ALGORITHM ::= {
   IDENTIFIER id-alg-xmss-hashsig
   PARAMS ARE absent
   PUBLIC-KEYS { pk-XMSS-HashSig }
   SMIME-CAPS { IDENTIFIED BY id-alg-xmss-hashsig } }

sa-XMSSMT-HashSig SIGNATURE-ALGORITHM ::= {
   IDENTIFIER id-alg-xmssmt-hashsig
   PARAMS ARE absent
   PUBLIC-KEYS { pk-XMSSMT-HashSig }
   SMIME-CAPS { IDENTIFIED BY id-alg-xmssmt-hashsig } }

-- sa-sphincs-plus-128 is defined in [I-D.ietf-lamps-cms-sphincs-plus]

sa-sphincs-plus-128 SIGNATURE-ALGORITHM ::= {
   IDENTIFIER id-alg-sphincs-plus-128
   PARAMS ARE absent
   PUBLIC-KEYS { pk-sphincs-plus-128 }
   SMIME-CAPS { IDENTIFIED BY id-alg-sphincs-plus-128 } }

-- sa-sphincs-plus-192 is defined in [I-D.ietf-lamps-cms-sphincs-plus]

sa-sphincs-plus-192 SIGNATURE-ALGORITHM ::= {
   IDENTIFIER id-alg-sphincs-plus-192
   PARAMS ARE absent
   PUBLIC-KEYS { pk-sphincs-plus-192 }
   SMIME-CAPS { IDENTIFIED BY id-alg-sphincs-plus-192 } }

-- sa-sphincs-plus-256 is defined in [I-D.ietf-lamps-cms-sphincs-plus]

sa-sphincs-plus-256 SIGNATURE-ALGORITHM ::= {
   IDENTIFIER id-alg-sphincs-plus-256
   PARAMS ARE absent
   PUBLIC-KEYS { pk-sphincs-plus-256 }
   SMIME-CAPS { IDENTIFIED BY id-alg-sphincs-plus-256 } }

-- pk-HSS-LMS-HashSig is defined in [RFC8708]

pk-HSS-LMS-HashSig PUBLIC-KEY ::= {
   IDENTIFIER id-alg-hss-lms-hashsig
   KEY HSS-LMS-HashSig-PublicKey
   PARAMS ARE absent
   CERT-KEY-USAGE
      { digitalSignature, nonRepudiation, keyCertSign, cRLSign } }

HSS-LMS-HashSig-PublicKey ::= OCTET STRING

pk-XMSS-HashSig PUBLIC-KEY ::= {
   IDENTIFIER id-alg-xmss-hashsig
   KEY XMSS-HashSig-PublicKey
   PARAMS ARE absent
   CERT-KEY-USAGE
      { digitalSignature, nonRepudiation, keyCertSign, cRLSign } }

XMSS-HashSig-PublicKey ::= OCTET STRING

pk-XMSSMT-HashSig PUBLIC-KEY ::= {
   IDENTIFIER id-alg-xmssmt-hashsig
   KEY XMSSMT-HashSig-PublicKey
   PARAMS ARE absent
   CERT-KEY-USAGE
      { digitalSignature, nonRepudiation, keyCertSign, cRLSign } }

XMSSMT-HashSig-PublicKey ::= OCTET STRING

-- pk-sphincs-plus-128 is defined in [I-D.ietf-lamps-cms-sphincs-plus]

pk-sphincs-plus-128 PUBLIC-KEY ::= {
   IDENTIFIER id-alg-sphincs-plus-128
   KEY SPHINCS-Plus-PublicKey
   PARAMS ARE absent
   CERT-KEY-USAGE
      { digitalSignature, nonRepudiation, keyCertSign, cRLSign } }

-- pk-sphincs-plus-192 is defined in [I-D.ietf-lamps-cms-sphincs-plus]

pk-sphincs-plus-192 PUBLIC-KEY ::= {
   IDENTIFIER id-alg-sphincs-plus-192
   KEY SPHINCS-Plus-PublicKey
   PARAMS ARE absent
   CERT-KEY-USAGE
      { digitalSignature, nonRepudiation, keyCertSign, cRLSign } }

-- pk-sphincs-plus-256 is defined in [I-D.ietf-lamps-cms-sphincs-plus]

pk-sphincs-plus-256 PUBLIC-KEY ::= {
   IDENTIFIER id-alg-sphincs-plus-256
   KEY SPHINCS-Plus-PublicKey
   PARAMS ARE absent
   CERT-KEY-USAGE
      { digitalSignature, nonRepudiation, keyCertSign, cRLSign } }

SPHINCS-Plus-PublicKey ::= OCTET STRING

END

<CODE ENDS>
]]></artwork>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security requirements of <xref target="NIST-SP-800-208"/> and <xref target="NIST-FIPS-205"/> <bcp14>MUST</bcp14> be
taken into account.</t>
      <t>For the stateful HBS (HSS, XMSS, XMSS^MT) it is crucial to stress the
importance of a correct state management. If an attacker were able to obtain
signatures for two different messages created using the same OTS key, then it
would become computationally feasible for that attacker to create forgeries
<xref target="BH16"/>. As noted in <xref target="MCGREW"/> and <xref target="ETSI-TR-103-692"/>, extreme care needs to be
taken in order to avoid the risk that an OTS key will be reused accidentally.
This is a new requirement that most developers will not be familiar with and
requires careful handling.</t>
      <t>Various strategies for a correct state management can be applied:</t>
      <ul spacing="normal">
        <li>
          <t>Implement a track record of all signatures generated by a key pair associated
to a stateful HBS instance. This track record may be stored outside the
device which is used to generate the signature. Check the track record to
prevent OTS key reuse before a new signature is released. Drop the new
signature and hit your PANIC button if you spot OTS key reuse.</t>
        </li>
        <li>
          <t>Use a stateful HBS instance only for a moderate number of signatures such
that it is always practical to keep a consistent track record and be able to
unambiguously trace back all generated signatures.</t>
        </li>
        <li>
          <t>Apply the state reservation strategy described in Section 5 of <xref target="MCGREW"/>, where
upcoming states are reserved in advance by the signer. In this way the number of
state synchronisations between nonvolatile and volatile memory is reduced.</t>
        </li>
      </ul>
    </section>
    <section anchor="backup-and-restore-management">
      <name>Backup and Restore Management</name>
      <t>Certificate Authorities have high demands in order to ensure the availability
of signature generation throughout the validity period of signing key pairs.</t>
      <t>Usual backup and restore strategies when using a stateless signature scheme
(e.g. SLH-DSA) are to duplicate private keying material and to operate redundant
signing devices or to store and safeguard a copy of the private keying material
such that it can be used to set up a new signing device in case of technical
difficulties.</t>
      <t>For stateful HBS such straightforward backup and restore strategies will lead
to OTS reuse with high probability as a correct state management is not
guaranteed. Strategies for maintaining availability and keeping a correct state
are described in Section 7 of <xref target="NIST-SP-800-208"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to assign a module OID from the "SMI for PKIX Module
Identifier" registry for the ASN.1 module in Section 6.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC5911">
          <front>
            <title>New ASN.1 Modules for Cryptographic Message Syntax (CMS) and S/MIME</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>The Cryptographic Message Syntax (CMS) format, and many associated formats, are expressed using ASN.1. The current ASN.1 modules conform to the 1988 version of ASN.1. This document updates those ASN.1 modules to conform to the 2002 version of ASN.1. There are no bits-on-the-wire changes to any of the formats; this is simply a change to the syntax. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5911"/>
          <seriesInfo name="DOI" value="10.17487/RFC5911"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="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="RFC8708">
          <front>
            <title>Use of the HSS/LMS Hash-Based Signature Algorithm in the Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document specifies the conventions for using the Hierarchical Signature System (HSS) / Leighton-Micali Signature (LMS) hash-based signature algorithm with the Cryptographic Message Syntax (CMS). In addition, the algorithm identifier and public key syntax are provided. The HSS/LMS algorithm is one form of hash-based digital signature; it is described in RFC 8554.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8708"/>
          <seriesInfo name="DOI" value="10.17487/RFC8708"/>
        </reference>
        <reference anchor="I-D.ietf-lamps-cms-sphincs-plus">
          <front>
            <title>Use of the SLH-DSA Signature Algorithm in the Cryptographic Message Syntax (CMS)</title>
            <author fullname="Russ Housley" initials="R." surname="Housley">
              <organization>Vigil Security, LLC</organization>
            </author>
            <author fullname="Scott Fluhrer" initials="S." surname="Fluhrer">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Panos Kampanakis" initials="P." surname="Kampanakis">
              <organization>Amazon Web Services</organization>
            </author>
            <author fullname="Bas Westerbaan" initials="B." surname="Westerbaan">
              <organization>Cloudflare</organization>
            </author>
            <date day="14" month="November" year="2023"/>
            <abstract>
              <t>   SLH-DSA is a stateless hash-based signature scheme.  This document
   specifies the conventions for using the SLH-DSA signature algorithm
   with the Cryptographic Message Syntax (CMS).  In addition, the
   algorithm identifier and public key syntax are provided.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-cms-sphincs-plus-03"/>
        </reference>
        <reference anchor="NIST-SP-800-208" target="https://doi.org/10.6028/NIST.SP.800-208">
          <front>
            <title>Recommendation for Stateful Hash-Based Signature Schemes</title>
            <author initials="" surname="National Institute of Standards and Technology (NIST)">
              <organization/>
            </author>
            <date year="2020" month="October" day="29"/>
          </front>
        </reference>
        <reference anchor="NIST-FIPS-205" target="https://doi.org/10.6028/NIST.FIPS.205.ipd">
          <front>
            <title>Stateless Hash-Based Digital Signature Standard</title>
            <author initials="" surname="National Institute of Standards and Technology (NIST)">
              <organization/>
            </author>
            <date year="2023" month="August" day="24"/>
          </front>
        </reference>
        <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="RFC3279">
          <front>
            <title>Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="L. Bassham" initials="L." surname="Bassham"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="April" year="2002"/>
            <abstract>
              <t>This document specifies algorithm identifiers and ASN.1 encoding formats for digital signatures and subject public keys used in the Internet X.509 Public Key Infrastructure (PKI). Digital signatures are used to sign certificates and certificate revocation list (CRLs). Certificates include the public key of the named subject. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3279"/>
          <seriesInfo name="DOI" value="10.17487/RFC3279"/>
        </reference>
        <reference anchor="RFC8410">
          <front>
            <title>Algorithm Identifiers for Ed25519, Ed448, X25519, and X448 for Use in the Internet X.509 Public Key Infrastructure</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies algorithm identifiers and ASN.1 encoding formats for elliptic curve constructs using the curve25519 and curve448 curves. The signature algorithms covered are Ed25519 and Ed448. The key agreement algorithms covered are X25519 and X448. The encoding for public key, private key, and Edwards-curve Digital Signature Algorithm (EdDSA) structures is provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8410"/>
          <seriesInfo name="DOI" value="10.17487/RFC8410"/>
        </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>
        <reference anchor="MCGREW" target="https://tubiblio.ulb.tu-darmstadt.de/id/eprint/101633">
          <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>
        </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="S." surname="Hülsing">
              <organization/>
            </author>
            <date year="2016"/>
          </front>
        </reference>
        <reference anchor="CNSA2.0" target="https://media.defense.gov/2022/Sep/07/2003071834/-1/-1/0/CSA_CNSA_2.0_ALGORITHMS_.PDF">
          <front>
            <title>Commercial National Security Algorithm Suite 2.0 (CNSA 2.0) Cybersecurity Advisory (CSA)</title>
            <author initials="" surname="National Security Agency (NSA)">
              <organization/>
            </author>
            <date year="2022" month="September" day="07"/>
          </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>
      </references>
    </references>
    <?line 708?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks for Russ Housley and Panos Kampanakis for helpful suggestions.</t>
      <t>This document uses a lot of text from similar documents <xref target="NIST-SP-800-208"/>,
(<xref target="RFC3279"/> and <xref target="RFC8410"/>) as well as <xref target="RFC8708"/>. Thanks go to the authors of
those documents. "Copying always makes things easier and less error prone" -
<xref target="RFC8411"/>.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
wZvh/wOom06Mo2QAAA==

-->

</rfc>
