rfc9802.original   rfc9802.txt 
LAMPS - Limited Additional Mechanisms for PKIX and SMIME D. Van Geest Internet Engineering Task Force (IETF) D. Van Geest
Internet-Draft CryptoNext Security Request for Comments: 9802 CryptoNext Security
Intended status: Standards Track K. Bashiri Category: Standards Track K. Bashiri
Expires: 15 June 2025 BSI ISSN: 2070-1721 BSI
S. Fluhrer S. Fluhrer
Cisco Systems Cisco Systems
S. Gazdag S. Gazdag
genua GmbH genua GmbH
S. Kousidis S. Kousidis
BSI BSI
12 December 2024 June 2025
Use of the HSS and XMSS Hash-Based Signature Algorithms in Internet Use of the HSS and XMSS Hash-Based Signature Algorithms in Internet
X.509 Public Key Infrastructure X.509 Public Key Infrastructure
draft-ietf-lamps-x509-shbs-13
Abstract Abstract
This document specifies algorithm identifiers and ASN.1 encoding This document specifies algorithm identifiers and ASN.1 encoding
formats for the stateful hash-based signature (HBS) schemes formats for the following stateful Hash-Based Signature (HBS)
Hierarchical Signature System (HSS), eXtended Merkle Signature Scheme schemes: Hierarchical Signature System (HSS), eXtended Merkle
(XMSS), and XMSS^MT, a multi-tree variant of XMSS. This Signature Scheme (XMSS), and XMSS^MT (a multi-tree variant of XMSS).
specification applies to the Internet X.509 Public Key infrastructure This specification applies to the Internet X.509 Public Key
(PKI) when those digital signatures are used in Internet X.509 infrastructure (PKI) when those digital signatures are used in
certificates and certificate revocation lists. Internet X.509 certificates and certificate revocation lists.
About This Document
This note is to be removed before publishing as an RFC.
Status information for this document may be found at
https://datatracker.ietf.org/doc/draft-ietf-lamps-x509-shbs/.
Discussion of this document takes place on the LAMPS Working Group
mailing list (mailto:spasm@ietf.org), which is archived at
https://mailarchive.ietf.org/arch/browse/spasm/. Subscribe at
https://www.ietf.org/mailman/listinfo/spasm/.
Source for this draft and an issue tracker can be found at
https://github.com/x509-hbs/draft-x509-shbs.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on 15 June 2025. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9802.
Copyright Notice Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the Copyright (c) 2025 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents
license-info) in effect on the date of publication of this document. (https://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. Code Components carefully, as they describe your rights and restrictions with respect
extracted from this document must include Revised BSD License text as to this document. Code Components extracted from this document must
described in Section 4.e of the Trust Legal Provisions and are include Revised BSD License text as described in Section 4.e of the
provided without warranty as described in the Revised BSD License. Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction
2. Conventions and Definitions . . . . . . . . . . . . . . . . . 3 2. Conventions and Definitions
3. Use Cases of Stateful HBS Schemes in X.509 . . . . . . . . . 4 3. Use Cases of Stateful HBS Schemes in X.509
4. Algorithm Identifiers and Parameters . . . . . . . . . . . . 5 4. Algorithm Identifiers and Parameters
4.1. HSS Algorithm Identifier . . . . . . . . . . . . . . . . 5 4.1. HSS Algorithm Identifier
4.2. XMSS Algorithm Identifier . . . . . . . . . . . . . . . . 6 4.2. XMSS Algorithm Identifier
4.3. XMSS^MT Algorithm Identifier . . . . . . . . . . . . . . 6 4.3. XMSS^MT Algorithm Identifier
5. Public Key Identifiers . . . . . . . . . . . . . . . . . . . 7 5. Public Key Identifiers
5.1. HSS Public Keys . . . . . . . . . . . . . . . . . . . . . 7 5.1. HSS Public Keys
5.2. XMSS Public Keys . . . . . . . . . . . . . . . . . . . . 7 5.2. XMSS Public Keys
5.3. XMSS^MT Public Keys . . . . . . . . . . . . . . . . . . . 8 5.3. XMSS^MT Public Keys
6. Key Usage Bits . . . . . . . . . . . . . . . . . . . . . . . 8 6. Key Usage Bits
7. Signature Algorithms . . . . . . . . . . . . . . . . . . . . 9 7. Signature Algorithms
7.1. HSS Signature Algorithm . . . . . . . . . . . . . . . . . 9 7.1. HSS Signature Algorithm
7.2. XMSS Signature Algorithm . . . . . . . . . . . . . . . . 9 7.2. XMSS Signature Algorithm
7.3. XMSS^MT Signature Algorithm . . . . . . . . . . . . . . . 10 7.3. XMSS^MT Signature Algorithm
8. Key Generation . . . . . . . . . . . . . . . . . . . . . . . 10 8. Key Generation
9. ASN.1 Module . . . . . . . . . . . . . . . . . . . . . . . . 10 9. ASN.1 Module
10. Security Considerations . . . . . . . . . . . . . . . . . . . 12 10. Security Considerations
11. Backup and Restore Management . . . . . . . . . . . . . . . . 13 11. Backup and Restore Management
12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 12. IANA Considerations
13. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 13. References
13.1. Normative References . . . . . . . . . . . . . . . . . . 14 13.1. Normative References
13.2. Informative References . . . . . . . . . . . . . . . . . 15 13.2. Informative References
Appendix A. HSS X.509 v3 Certificate Example . . . . . . . . . . 17 Appendix A. HSS X.509 v3 Certificate Example
Appendix B. XMSS X.509 v3 Certificate Example . . . . . . . . . 20 Appendix B. XMSS X.509 v3 Certificate Example
Appendix C. XMSS^MT X.509 v3 Certificate Example . . . . . . . . 26 Appendix C. XMSS^MT X.509 v3 Certificate Example
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 35 Acknowledgments
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 35 Authors' Addresses
1. Introduction 1. Introduction
Stateful HBS schemes such as HSS, XMSS and XMSS^MT combine Merkle Stateful Hash-Based Signature (HBS) schemes such as the Hierarchical
trees with One Time Signatures (OTS) in order to provide digital Signature System (HSS), eXtended Merkle Signature Scheme (XMSS), and
signature schemes that remain secure even when quantum computers XMSS^MT combine Merkle trees with One-Time Signatures (OTS). This is
become available. Their theoretic security is well understood and done in order to provide digital signature schemes that remain secure
depends only on the security of the underlying hash function. As even when quantum computers become available. Their theoretic
such they can serve as an important building block for quantum security is well understood and depends only on the security of the
computer resistant information and communication technology. underlying hash function. As such, they can serve as an important
building block for quantum computer resistant information and
communication technology.
A stateful HBS private key consists of a finite collection of OTS A stateful HBS private key consists of a finite collection of OTS
keys, along with state information that tracks the usage of these keys, along with state information that tracks the usage of these
keys to ensure the security of the scheme. Only a limited number of keys to ensure the security of the scheme. Only a limited number of
messages can be signed and the private key's state must be updated 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 and persisted after signing to prevent reuse of OTS keys. While the
right selection of algorithm parameters would allow a private key to 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 sign a virtually unbounded number of messages (e.g., 2^60), this is
the cost of a larger signature size and longer signing time. Because at the cost of a larger signature size and longer signing time.
the private key in stateful HBS schemes is stateful and the number of Because the private key in stateful HBS schemes is stateful and the
signatures that can be generated is limited, these schemes may be number of signatures that can be generated is limited, these schemes
unsuitable for use in interactive protocols. However, in some use may be unsuitable for use in interactive protocols. However, in some
cases the deployment of stateful HBS schemes may be appropriate. use cases, the deployment of stateful HBS schemes may be appropriate.
Such use cases are described and discussed in Section 3. Such use cases are described and discussed in Section 3.
2. Conventions and Definitions 2. Conventions and Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in "OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
3. Use Cases of Stateful HBS Schemes in X.509 3. Use Cases of Stateful HBS Schemes in X.509
As described in the Security Considerations of Section 10, it is As described in the Security Considerations in Section 10, it is
imperative that stateful HBS implementations do not reuse OTS imperative that stateful HBS implementations do not reuse OTS
signatures. This makes stateful HBS algorithms inappropriate for signatures. This makes stateful HBS algorithms inappropriate for
general use cases. The exact conditions under which stateful HBS general use cases. The exact conditions under which stateful HBS
certificates may be used is left to certificate policies [RFC3647]. certificates may be used is left to certificate policies [RFC3647].
However the intended use of stateful HBS schemes as described by However, the intended use of stateful HBS schemes as described by
[SP800208] can be used as a guideline: [SP800208] can be used as a guideline:
| 1) it is necessary to implement a digital signature scheme in the | 1) it is necessary to implement a digital signature scheme in the
| near future; | near future; 2) the implementation will have a long lifetime; and
| 2) the implementation will have a long lifetime; and
| 3) it would not be practical to transition to a different digital | 3) it would not be practical to transition to a different digital
| signature scheme once the implementation has been deployed. | signature scheme once the implementation has been deployed.
In addition, since a stateful HBS private key can only generate a In addition, since a stateful HBS private key can only generate a
finite number of signatures, use cases for stateful HBS public keys finite number of signatures, use cases for stateful HBS public keys
in certificates should have a predictable range of the number of in certificates should have a predictable range of the number of
signatures that will be generated, falling safely below the maximum signatures that will be generated, falling safely below the maximum
number of signatures that a private key can generate. number of signatures that a private key can generate.
Use cases where stateful HBS public keys in certificates may be Use cases where stateful HBS public keys in certificates may be
appropriate due to the relatively small number of signatures appropriate due to the relatively small number of signatures
generated and the signer's ability to enforce security restrictions generated and the signer's ability to enforce security restrictions
on the signing environment include: on the signing environment include:
* Firmware signing (Section 1.1 of [SP800208], Table IV of * Firmware signing (see Section 1.1 of [SP800208], Table IV of
[CNSA2.0], Section 6.7 of [BSI]) [CNSA2.0], and Section 6.7 of [BSI])
* Software signing (Table IV of [CNSA2.0], [ANSSI]) * Software signing (see Table IV of [CNSA2.0] and [ANSSI])
* Certification Authority (CA) certificates. * Certification Authority (CA) certificates
In each of these cases the operator tightly controls their secured In each of these cases, the operator tightly controls their secured
signing environment and can mitigate OTS key reuse by employing state signing environment and can mitigate OTS key reuse by employing state
management strategies such as those in Section 10. Also for secure management strategies such as those in Section 10. Also, for secure
private key backup and restoration, adequate mechanisms have to be private key backup and restoration, adequate mechanisms have to be
implemented (Section 11). implemented (see Section 11).
Generally speaking, stateful HBS public keys are not appropriate for Generally speaking, stateful HBS public keys are not appropriate for
use in end-entity certificates, however in the firmware and software use in end-entity certificates, however, in the firmware and software
signing cases signature generation will often be more tightly signing cases, signature generation will often be more tightly
controlled. Some manufactures use common and well-established key controlled. Some manufactures use common and well-established key
formats like X.509 for their code signing and update mechanisms. formats like X.509 for their code signing and update mechanisms.
Also there are multi-party IoT ecosystems where publicly trusted code Also, there are multi-party Internet of Things (IoT) ecosystems where
signing certificates are useful. publicly trusted code signing certificates are useful.
In general, root CAs [RFC4949] generate signatures in a more secure In general, root CAs [RFC4949] generate signatures in a more secure
environment and issue fewer certificates than subordinate CAs environment and issue fewer certificates than subordinate CAs
[RFC4949]. This makes the use of stateful HBS public keys more [RFC4949]. This makes the use of stateful HBS public keys more
appropriate in root CA certificates than in subordinate CA appropriate in root CA certificates than in subordinate CA
certificates. However, if a subordinate CA can match the security certificates. However, if a subordinate CA can match the security
and signature count restrictions of a root CA, for example if the and signature count restrictions of a root CA, for example, if the
subordinate CA only issues code-signing certificates, then using a subordinate CA only issues code-signing certificates, then using a
stateful HBS public key in the subordinate CA certificate may be stateful HBS public key in the subordinate CA certificate may be
practical. practical.
4. Algorithm Identifiers and Parameters 4. Algorithm Identifiers and Parameters
In this document, we define new object identifiers (OIDs) for In this document, we define new Object Identifiers (OIDs) for
identifying the different stateful hash-based signature algorithms. identifying the different stateful hash-based signature algorithms.
An additional OID is defined in [I-D.ietf-lamps-rfc8708bis] and An additional OID is defined in [RFC9708] and repeated here for
repeated here for convenience. convenience.
The AlgorithmIdentifier type is defined in [RFC5912] as follows: The AlgorithmIdentifier type is defined in [RFC5912] as follows:
AlgorithmIdentifier{ALGORITHM-TYPE, ALGORITHM-TYPE:AlgorithmSet} ::= AlgorithmIdentifier{ALGORITHM-TYPE, ALGORITHM-TYPE:AlgorithmSet} ::=
SEQUENCE { SEQUENCE {
algorithm ALGORITHM-TYPE.&id({AlgorithmSet}), algorithm ALGORITHM-TYPE.&id({AlgorithmSet}),
parameters ALGORITHM-TYPE. parameters ALGORITHM-TYPE.
&Params({AlgorithmSet}{@algorithm}) OPTIONAL &Params({AlgorithmSet}{@algorithm}) OPTIONAL
} }
| NOTE: The above syntax is from [RFC5912] and is compatible with | NOTE: The above syntax is from [RFC5912] and is compatible with
| the 2021 ASN.1 syntax [X680]. See [RFC5280] for the 1988 ASN.1 | the 2021 ASN.1 syntax [X680]. See [RFC5280] for the 1988 ASN.1
| syntax. | syntax.
The fields in AlgorithmIdentifier have the following meanings: The fields in AlgorithmIdentifier have the following meanings:
* algorithm identifies the cryptographic algorithm with an object algorithm: this identifies the cryptographic algorithm with an
identifier. object identifier.
* parameters, which are optional, are the associated parameters for parameters: these are optional and are the associated parameters for
the algorithm identifier in the algorithm field. the algorithm identifier in the algorithm field.
The parameters field of the AlgorithmIdentifier for HSS, XMSS, and The parameters field of the AlgorithmIdentifier for HSS, XMSS, and
XMSS^MT public keys MUST be absent. XMSS^MT public keys MUST be absent.
4.1. HSS Algorithm Identifier 4.1. HSS Algorithm Identifier
The object identifier and public key algorithm identifier for HSS is The object identifier and public key algorithm identifier for HSS is
defined in [I-D.ietf-lamps-rfc8708bis]. The definitions are repeated defined in [RFC9708]. The definitions are repeated here for
here for reference. reference.
The AlgorithmIdentifier for an HSS public key MUST use the id-alg- The AlgorithmIdentifier for an HSS public key MUST use the id-alg-
hss-lms-hashsig object identifier. hss-lms-hashsig object identifier.
id-alg-hss-lms-hashsig OBJECT IDENTIFIER ::= { id-alg-hss-lms-hashsig OBJECT IDENTIFIER ::= {
iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9) iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
smime(16) alg(3) 17 } smime(16) alg(3) 17 }
Note that the id-alg-hss-lms-hashsig algorithm identifier is also Note that the id-alg-hss-lms-hashsig algorithm identifier is also
referred to as id-alg-mts-hashsig. This synonym is based on the referred to as id-alg-mts-hashsig. This synonym is based on the
terminology used in an early draft of the document that became terminology used in an early draft of the document that became
[RFC8554]. [RFC8554].
The public key and signature values identify the hash function and The public key and signature values identify the hash function and
the height used in the HSS tree. [RFC8554] and [SP800208] define the height used in the HSS tree. [RFC8554] and [SP800208] define
these values, but an IANA registry [IANA-LMS] permits the these values, and additional identifiers can be registered in the
registration of additional identifiers in the future. “Leighton-Micali Signatures (LMS)” registry [IANA-LMS].
4.2. XMSS Algorithm Identifier 4.2. XMSS Algorithm Identifier
The AlgorithmIdentifier for an XMSS public key MUST use the id-alg- The AlgorithmIdentifier for an XMSS public key MUST use the id-alg-
xmss-hashsig object identifier. xmss-hashsig object identifier.
id-alg-xmss-hashsig OBJECT IDENTIFIER ::= { id-alg-xmss-hashsig OBJECT IDENTIFIER ::= {
iso(1) identified-organization(3) dod(6) internet(1) iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) algorithms(6) 34 } security(5) mechanisms(5) pkix(7) algorithms(6) 34 }
The public key and signature values identify the hash function and The public key and signature values identify the hash function and
the height used in the XMSS tree. [RFC8391] and [SP800208] define the height used in the XMSS tree. [RFC8391] and [SP800208] define
these values, but an IANA registry [IANA-XMSS] permits the these values, and additional identifiers can be registered in the
registration of additional identifiers in the future. “Leighton-Micali Signatures (LMS)” registry [IANA-XMSS].
4.3. XMSS^MT Algorithm Identifier 4.3. XMSS^MT Algorithm Identifier
The AlgorithmIdentifier for an XMSS^MT public key MUST use the id- The AlgorithmIdentifier for an XMSS^MT public key MUST use the id-
alg-xmssmt-hashsig object identifier. alg-xmssmt-hashsig object identifier.
id-alg-xmssmt-hashsig OBJECT IDENTIFIER ::= { id-alg-xmssmt-hashsig OBJECT IDENTIFIER ::= {
iso(1) identified-organization(3) dod(6) internet(1) iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) algorithms(6) 35 } security(5) mechanisms(5) pkix(7) algorithms(6) 35 }
The public key and signature values identify the hash function and The public key and signature values identify the hash function and
the height used in the XMSS^MT tree. [RFC8391] and [SP800208] define the height used in the XMSS^MT tree. [RFC8391] and [SP800208] define
these values, but an IANA registry [IANA-XMSS] permits the these values, and additional identifiers can be registered in the
registration of additional identifiers in the future. “Leighton-Micali Signatures (LMS)” registry [IANA-XMSS].
5. Public Key Identifiers 5. Public Key Identifiers
Certificates conforming to [RFC5280] can convey a public key for any Certificates conforming to [RFC5280] can convey a public key for any
public key algorithm. The certificate indicates the algorithm public key algorithm. The certificate indicates the algorithm
through an algorithm identifier. An algorithm identifier consists of through an algorithm identifier. An algorithm identifier consists of
an OID and optional parameters. an OID and optional parameters.
[RFC8554] defines the encoding of HSS public keys and [RFC8391] [RFC8554] defines the encoding of HSS public keys, and [RFC8391]
defines the encodings of XMSS and XMSS^MT public keys. When used in defines the encodings of XMSS and XMSS^MT public keys. When used in
a SubjectPublicKeyInfo type, the subjectPublicKey BIT STRING contains a SubjectPublicKeyInfo type, the subjectPublicKey BIT STRING contains
these encodings of the public key. these encodings of the public key.
This document defines ASN.1 [X680] OCTET STRING types for encoding This document defines ASN.1 [X680] OCTET STRING types for encoding
the public keys when not used in a SubjectPublicKeyInfo. The OCTET the public keys when not used in a SubjectPublicKeyInfo. The OCTET
STRING is mapped to a subjectPublicKey (a value of type BIT STRING) STRING is mapped to a subjectPublicKey (a value of type BIT STRING)
as follows: the most significant bit of the OCTET STRING value as follows: the most significant bit of the OCTET STRING value
becomes the most significant bit of the BIT STRING value, and so on; becomes the most significant bit of the BIT STRING value, and so on;
the least significant bit of the OCTET STRING becomes the least the least significant bit of the OCTET STRING becomes the least
skipping to change at page 7, line 44 skipping to change at line 300
{ digitalSignature, nonRepudiation, keyCertSign, cRLSign } } { digitalSignature, nonRepudiation, keyCertSign, cRLSign } }
The HSS public key is defined as follows: The HSS public key is defined as follows:
HSS-LMS-HashSig-PublicKey ::= OCTET STRING HSS-LMS-HashSig-PublicKey ::= OCTET STRING
[RFC8554] defines the encoding of an HSS public key using the [RFC8554] defines the encoding of an HSS public key using the
hss_public_key structure. See [SP800208] and [RFC8554] for more hss_public_key structure. See [SP800208] and [RFC8554] for more
information on the contents and format of an HSS public key. Note information on the contents and format of an HSS public key. Note
that the Leighton-Micali Signature (LMS) single-tree signature scheme that the Leighton-Micali Signature (LMS) single-tree signature scheme
is instantiated as HSS with number of levels being equal to 1. is instantiated as HSS with the number of levels being equal to 1.
5.2. XMSS Public Keys 5.2. XMSS Public Keys
The XMSS public key identifier is as follows: The XMSS public key identifier is as follows:
pk-XMSS-HashSig PUBLIC-KEY ::= { pk-XMSS-HashSig PUBLIC-KEY ::= {
IDENTIFIER id-alg-xmss-hashsig IDENTIFIER id-alg-xmss-hashsig
-- KEY no ASN.1 wrapping -- -- KEY no ASN.1 wrapping --
PARAMS ARE absent PARAMS ARE absent
CERT-KEY-USAGE CERT-KEY-USAGE
skipping to change at page 8, line 43 skipping to change at line 344
XMSSMT-HashSig-PublicKey ::= OCTET STRING XMSSMT-HashSig-PublicKey ::= OCTET STRING
[RFC8391] defines the encoding of an XMSS^MT public key using the [RFC8391] defines the encoding of an XMSS^MT public key using the
xmssmt_public_key structure. See [SP800208] and [RFC8391] for more xmssmt_public_key structure. See [SP800208] and [RFC8391] for more
information on the contents and format of an XMSS^MT public key. information on the contents and format of an XMSS^MT public key.
6. Key Usage Bits 6. Key Usage Bits
The intended application for the key is indicated in the keyUsage The intended application for the key is indicated in the keyUsage
certificate extension [RFC5280]. When id-alg-hss-lms-hashsig, id- certificate extension [RFC5280]. When id-alg-hss-lms-hashsig, id-
alg-xmss-hashsig or id-alg-xmssmt-hashsig appears in the alg-xmss-hashsig, or id-alg-xmssmt-hashsig appears in the
SubjectPublicKeyInfo field of a CA X.509 certificate [RFC5280], the SubjectPublicKeyInfo field of a CA X.509 certificate [RFC5280], the
certificate key usage extension MUST contain at least one of the certificate key usage extension MUST contain at least one of the
following values: digitalSignature, nonRepudiation, keyCertSign, or following values: digitalSignature, nonRepudiation, keyCertSign, or
cRLSign. However, it MUST NOT contain other values. cRLSign. However, it MUST NOT contain other values.
When id-alg-hss-lms-hashsig, id-alg-xmss-hashsig or id-alg-xmssmt- When id-alg-hss-lms-hashsig, id-alg-xmss-hashsig, or id-alg-xmssmt-
hashsig appears in the SubjectPublicKeyInfo field of an end entity hashsig appears in the SubjectPublicKeyInfo field of an end entity
X.509 certificate [RFC5280], the certificate key usage extension MUST X.509 certificate [RFC5280], the certificate key usage extension MUST
contain at least one of the following values: digitalSignature, contain at least one of the following values: digitalSignature,
nonRepudiation or cRLSign. However, it MUST NOT contain other nonRepudiation or cRLSign. However, it MUST NOT contain other
values. values.
7. Signature Algorithms 7. Signature Algorithms
The same OIDs used to identify HSS, XMSS, and XMSS^MT public keys are The same OIDs used to identify HSS, XMSS, and XMSS^MT public keys are
also used to identify their respective signatures. When these also used to identify their respective signatures. When these
skipping to change at page 9, line 28 skipping to change at line 373
That is, the AlgorithmIdentifier SHALL be a SEQUENCE of one That is, the AlgorithmIdentifier SHALL be a SEQUENCE of one
component, one of the OIDs defined in the following subsections. component, one of the OIDs defined in the following subsections.
When the signature algorithm identifiers described in this document When the signature algorithm identifiers described in this document
are used to create a signature on a message, no digest algorithm is are used to create a signature on a message, no digest algorithm is
applied to the message before signing. That is, the full data to be applied to the message before signing. That is, the full data to be
signed is signed rather than a digest of the data. signed is signed rather than a digest of the data.
The format of an HSS signature is described in Section 6.2 of The format of an HSS signature is described in Section 6.2 of
[RFC8554]. The format of an XMSS signature is described in [RFC8554]. The format of an XMSS signature is described in
Appendix B.2 of [RFC8391] and the format of an XMSS^MT signature is Appendix B.2 of [RFC8391], and the format of an XMSS^MT signature is
described in Appendix C.2 of [RFC8391]. The octet string described in Appendix C.2 of [RFC8391]. The octet string
representing the signature is encoded directly in a BIT STRING representing the signature is encoded directly in a BIT STRING
without adding any additional ASN.1 wrapping. For the Certificate without adding any additional ASN.1 wrapping. For the Certificate
and CertificateList structures, the octet string is encoded in the and CertificateList structures, the octet string is encoded in the
"signatureValue" BIT STRING field. "signatureValue" BIT STRING field.
7.1. HSS Signature Algorithm 7.1. HSS Signature Algorithm
The id-alg-hss-lms-hashsig OID is used to specify that an HSS The id-alg-hss-lms-hashsig OID is used to specify that an HSS
signature was generated on the full message, i.e. the message was not signature was generated on the full message, i.e., the message was
hashed before being processed by the HSS signature algorithm. not hashed before being processed by the HSS signature algorithm.
See [SP800208] and [RFC8554] for more information on the contents and See [SP800208] and [RFC8554] for more information on the contents and
format of an HSS signature. format of an HSS signature.
7.2. XMSS Signature Algorithm 7.2. XMSS Signature Algorithm
The id-alg-xmss-hashsig OID is used to specify that an XMSS signature The id-alg-xmss-hashsig OID is used to specify that an XMSS signature
was generated on the full message, i.e. the message was not hashed was generated on the full message, i.e., the message was not hashed
before being processed by the XMSS signature algorithm. before being processed by the XMSS signature algorithm.
See [SP800208] and [RFC8391] for more information on the contents and See [SP800208] and [RFC8391] for more information on the contents and
format of an XMSS signature. format of an XMSS signature.
The signature generation MUST be performed according to 7.2 of The signature generation MUST be performed according to Section 7.2
[SP800208]. of [SP800208].
7.3. XMSS^MT Signature Algorithm 7.3. XMSS^MT Signature Algorithm
The id-alg-xmssmt-hashsig OID is used to specify that an XMSS^MT The id-alg-xmssmt-hashsig OID is used to specify that an XMSS^MT
signature was generated on the full message, i.e. the message was not signature was generated on the full message, i.e., the message was
hashed before being processed by the XMSS^MT signature algorithm. not hashed before being processed by the XMSS^MT signature algorithm.
See [SP800208] and [RFC8391] for more information on the contents and See [SP800208] and [RFC8391] for more information on the contents and
format of an XMSS^MT signature. format of an XMSS^MT signature.
The signature generation MUST be performed according to 7.2 of The signature generation MUST be performed according to Section 7.2
[SP800208]. of [SP800208].
8. Key Generation 8. Key Generation
The key generation for XMSS and XMSS^MT MUST be performed according The key generation for XMSS and XMSS^MT MUST be performed according
to 7.2 of [SP800208] to Section 7.2 of [SP800208].
9. ASN.1 Module 9. ASN.1 Module
For reference purposes, the ASN.1 syntax is presented as an ASN.1 For reference purposes, the ASN.1 syntax is presented as an ASN.1
module here [X680]. Note that as per [RFC5280], certificates use the module here [X680]. Note that as per [RFC5280], certificates use the
Distinguished Encoding Rules; see [X690]. This ASN.1 Module builds Distinguished Encoding Rules; see [X690]. This ASN.1 module builds
upon the conventions established in [RFC5912]. This module imports upon the conventions established in [RFC5912]. This module imports
objects from [RFC5912] and [I-D.ietf-lamps-rfc8708bis]. objects from [RFC5912] and [RFC9708].
RFC EDITOR: Please replace [I-D.ietf-lamps-rfc8708bis] in the module
with a reference to the published RFC.
X509-SHBS-2024 X509-SHBS-2024
{ iso(1) identified-organization(3) dod(6) internet(1) security(5) { iso(1) identified-organization(3) dod(6) internet(1) security(5)
mechanisms(5) pkix(7) id-mod(0) id-mod-pkix1-shbs-2024(TBD) } mechanisms(5) pkix(7) id-mod(0) id-mod-pkix1-shbs-2024(114) }
DEFINITIONS IMPLICIT TAGS ::= BEGIN DEFINITIONS IMPLICIT TAGS ::= BEGIN
EXPORTS ALL; EXPORTS ALL;
IMPORTS IMPORTS
PUBLIC-KEY, SIGNATURE-ALGORITHM PUBLIC-KEY, SIGNATURE-ALGORITHM
FROM AlgorithmInformation-2009 -- [RFC5912] FROM AlgorithmInformation-2009 -- [RFC5912]
{ iso(1) identified-organization(3) dod(6) internet(1) { iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0) security(5) mechanisms(5) pkix(7) id-mod(0)
id-mod-algorithmInformation-02(58) } id-mod-algorithmInformation-02(58) }
sa-HSS-LMS-HashSig, pk-HSS-LMS-HashSig sa-HSS-LMS-HashSig, pk-HSS-LMS-HashSig
FROM MTS-HashSig-2013 -- [I-D.ietf-lamps-rfc8708bis] FROM MTS-HashSig-2013 -- [RFC9708]
{ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9) { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
id-smime(16) id-mod(0) id-mod-mts-hashsig-2013(64) }; id-smime(16) id-mod(0) id-mod-mts-hashsig-2013(64) };
-- --
-- Object Identifiers -- Object Identifiers
-- --
-- id-alg-hss-lms-hashsig is defined in [I-D.ietf-lamps-rfc8708bis] -- id-alg-hss-lms-hashsig is defined in [RFC9708]
id-alg-xmss-hashsig OBJECT IDENTIFIER ::= { id-alg-xmss-hashsig OBJECT IDENTIFIER ::= {
iso(1) identified-organization(3) dod(6) internet(1) security(5) iso(1) identified-organization(3) dod(6) internet(1) security(5)
mechanisms(5) pkix(7) algorithms(6) 34 } mechanisms(5) pkix(7) algorithms(6) 34 }
id-alg-xmssmt-hashsig OBJECT IDENTIFIER ::= { id-alg-xmssmt-hashsig OBJECT IDENTIFIER ::= {
iso(1) identified-organization(3) dod(6) internet(1) security(5) iso(1) identified-organization(3) dod(6) internet(1) security(5)
mechanisms(5) pkix(7) algorithms(6) 35 } mechanisms(5) pkix(7) algorithms(6) 35 }
-- --
-- Signature Algorithms and Public Keys -- Signature Algorithms and Public Keys
-- --
-- sa-HSS-LMS-HashSig is defined in [I-D.ietf-lamps-rfc8708bis] -- sa-HSS-LMS-HashSig is defined in [RFC9708]
sa-XMSS-HashSig SIGNATURE-ALGORITHM ::= { sa-XMSS-HashSig SIGNATURE-ALGORITHM ::= {
IDENTIFIER id-alg-xmss-hashsig IDENTIFIER id-alg-xmss-hashsig
PARAMS ARE absent PARAMS ARE absent
PUBLIC-KEYS { pk-XMSS-HashSig } PUBLIC-KEYS { pk-XMSS-HashSig }
SMIME-CAPS { IDENTIFIED BY id-alg-xmss-hashsig } } SMIME-CAPS { IDENTIFIED BY id-alg-xmss-hashsig } }
sa-XMSSMT-HashSig SIGNATURE-ALGORITHM ::= { sa-XMSSMT-HashSig SIGNATURE-ALGORITHM ::= {
IDENTIFIER id-alg-xmssmt-hashsig IDENTIFIER id-alg-xmssmt-hashsig
PARAMS ARE absent PARAMS ARE absent
PUBLIC-KEYS { pk-XMSSMT-HashSig } PUBLIC-KEYS { pk-XMSSMT-HashSig }
SMIME-CAPS { IDENTIFIED BY id-alg-xmssmt-hashsig } } SMIME-CAPS { IDENTIFIED BY id-alg-xmssmt-hashsig } }
-- pk-HSS-LMS-HashSig is defined in [I-D.ietf-lamps-rfc8708bis] -- pk-HSS-LMS-HashSig is defined in [RFC9708]
pk-XMSS-HashSig PUBLIC-KEY ::= { pk-XMSS-HashSig PUBLIC-KEY ::= {
IDENTIFIER id-alg-xmss-hashsig IDENTIFIER id-alg-xmss-hashsig
-- KEY no ASN.1 wrapping -- -- KEY no ASN.1 wrapping --
PARAMS ARE absent PARAMS ARE absent
CERT-KEY-USAGE CERT-KEY-USAGE
{ digitalSignature, nonRepudiation, keyCertSign, cRLSign } } { digitalSignature, nonRepudiation, keyCertSign, cRLSign } }
XMSS-HashSig-PublicKey ::= OCTET STRING XMSS-HashSig-PublicKey ::= OCTET STRING
skipping to change at page 12, line 41 skipping to change at line 528
} }
END END
10. Security Considerations 10. Security Considerations
The security requirements of [SP800208] MUST be taken into account. The security requirements of [SP800208] MUST be taken into account.
As stateful HBS private keys can only generate a limited number of As stateful HBS private keys can only generate a limited number of
signatures, a user needs to be aware of the total number of signatures, a user needs to be aware of the total number of
signatures they intend to generate in their use case, otherwise they signatures they intend to generate in their use case; otherwise, they
risk exhausting the number of OTS keys in their private key. risk exhausting the number of OTS keys in their private key.
For stateful HBS schemes, it is crucial to stress the importance of For stateful HBS schemes, it is crucial to stress the importance of
correct state management. If an attacker were able to obtain correct state management. If an attacker were able to obtain
signatures for two different messages created using the same OTS key, signatures for two different messages created using the same OTS key,
then it would become computationally feasible for that attacker to then it would become computationally feasible for that attacker to
create forgeries [BH16]. As noted in [MCGREW] and [ETSI-TR-103-692], create forgeries [BH16]. As noted in [MCGREW] and [ETSI-TR-103-692],
extreme care needs to be taken in order to avoid the risk that an OTS 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 key will be reused accidentally. This is a new requirement that most
developers will not be familiar with and requires careful handling. developers will not be familiar with and requires careful handling.
Various strategies for a correct state management can be applied: Various strategies for a correct state management can be applied:
* Implement a record of all signatures generated by a key pair * Implement a record of all signatures generated by a key pair
associated with a stateful HBS instance, for example by logging associated with a stateful HBS instance, for example, by logging
the OTS key indexes as signatures are generated. This record may the OTS key indexes as signatures are generated. This record may
be stored outside the device which is used to generate the be stored outside the device that is used to generate the
signature. Check the record to prevent OTS key reuse before a new signature. Check the record to prevent OTS key reuse before a new
signature is released. If OTS key reuse is detected, freeze all signature is released. If OTS key reuse is detected, freeze all
new signature generation by the private key, re-audit previously new signature generation by the private key, re-audit previously
released signatures (possibly revoking the private key if released signatures (possibly revoking the private key if
previously released signatures showed OTS key reuse), and perform previously released signatures showed OTS key reuse), and perform
a post-failure audit. a post-failure audit.
* Use a stateful HBS instance only for a moderate number of * Use a stateful HBS instance only for a moderate number of
signatures such that it is always practical to keep a consistent signatures such that it is always practical to keep a consistent
record and be able to unambiguously trace back all generated record and be able to unambiguously trace back all generated
signatures. signatures.
* Apply the state reservation strategy described in Section 5 of * Apply the state reservation strategy described in Section 5 of
[MCGREW], where upcoming states are reserved in advance by the [MCGREW], where upcoming states are reserved in advance by the
signer. In this way the number of state synchronisations between signer. In this way, the number of state synchronizations between
nonvolatile and volatile memory is reduced. nonvolatile and volatile memory is reduced.
11. Backup and Restore Management 11. Backup and Restore Management
Certificate Authorities have high demands in order to ensure the Certificate Authorities have high demands in order to ensure the
availability of signature generation throughout the validity period availability of signature generation throughout the validity period
of signing key pairs. of signing key pairs.
Usual backup and restore strategies when using a stateless signature Usual backup and restore strategies when using a stateless signature
scheme (e.g. SLH-DSA) are to duplicate private keying material and scheme (e.g., SLH-DSA) are to duplicate private keying material and
to operate redundant signing devices or to store and safeguard a copy 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 of the private keying material such that it can be used to set up a
new signing device in case of technical difficulties. new signing device in case of technical difficulties.
For stateful HBS schemes, such straightforward backup and restore For stateful HBS schemes, such straightforward backup and restore
strategies will lead to OTS reuse with high probability as a correct strategies will lead to OTS reuse with high probability as a correct
state management is not guaranteed. Strategies for maintaining state management is not guaranteed. Strategies for maintaining
availability and keeping a correct state are described in Section 7 availability and keeping a correct state are described in Section 7
of [SP800208] and [I-D.draft-wiggers-hbs-state]. of [SP800208] and [S-HBS].
12. IANA Considerations 12. IANA Considerations
One object identifier for the ASN.1 module in Section 9 is requested IANA has registered the following object identifier for the ASN.1
for the SMI Security for PKIX Module Identifiers (1.3.6.1.5.5.7.0) module (see Section 9) in the "SMI Security for PKIX Module
registry: Identifier" (1.3.6.1.5.5.7.0) registry:
+=========+========================+====================+ +=========+========================+============+
| Decimal | Description | References | | Decimal | Description | References |
+=========+========================+====================+ +=========+========================+============+
| TBD | id-mod-pkix1-shbs-2024 | [EDNOTE: THIS RFC] | | 114 | id-mod-pkix1-shbs-2024 | RFC 9802 |
+---------+------------------------+--------------------+ +---------+------------------------+------------+
Table 1 Table 1
IANA has updated the "SMI Security for PKIX Algorithms" IANA has registered the following entries in the "SMI Security for
(1.3.6.1.5.5.7.6) registry [SMI-PKIX] with two additional entries: PKIX Algorithms" (1.3.6.1.5.5.7.6) registry [SMI-PKIX]:
+=========+=======================+====================+ +=========+=======================+============+
| Decimal | Description | References | | Decimal | Description | References |
+=========+=======================+====================+ +=========+=======================+============+
| 34 | id-alg-xmss-hashsig | [EDNOTE: THIS RFC] | | 34 | id-alg-xmss-hashsig | RFC 9802 |
+---------+-----------------------+--------------------+ +---------+-----------------------+------------+
| 35 | id-alg-xmssmt-hashsig | [EDNOTE: THIS RFC] | | 35 | id-alg-xmssmt-hashsig | RFC 9802 |
+---------+-----------------------+--------------------+ +---------+-----------------------+------------+
Table 2 Table 2
13. References 13. References
13.1. Normative References 13.1. Normative References
[I-D.ietf-lamps-rfc8708bis]
Housley, R., "Use of the HSS/LMS Hash-Based Signature
Algorithm in the Cryptographic Message Syntax (CMS)", Work
in Progress, Internet-Draft, draft-ietf-lamps-rfc8708bis-
03, 19 September 2024,
<https://datatracker.ietf.org/doc/html/draft-ietf-lamps-
rfc8708bis-03>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/rfc/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
Housley, R., and W. Polk, "Internet X.509 Public Key Housley, R., and W. Polk, "Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List Infrastructure Certificate and Certificate Revocation List
(CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008,
<https://www.rfc-editor.org/rfc/rfc5280>. <https://www.rfc-editor.org/info/rfc5280>.
[RFC5912] Hoffman, P. and J. Schaad, "New ASN.1 Modules for the [RFC5912] Hoffman, P. and J. Schaad, "New ASN.1 Modules for the
Public Key Infrastructure Using X.509 (PKIX)", RFC 5912, Public Key Infrastructure Using X.509 (PKIX)", RFC 5912,
DOI 10.17487/RFC5912, June 2010, DOI 10.17487/RFC5912, June 2010,
<https://www.rfc-editor.org/rfc/rfc5912>. <https://www.rfc-editor.org/info/rfc5912>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/rfc/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8391] Huelsing, A., Butin, D., Gazdag, S., Rijneveld, J., and A. [RFC8391] Huelsing, A., Butin, D., Gazdag, S., Rijneveld, J., and A.
Mohaisen, "XMSS: eXtended Merkle Signature Scheme", Mohaisen, "XMSS: eXtended Merkle Signature Scheme",
RFC 8391, DOI 10.17487/RFC8391, May 2018, RFC 8391, DOI 10.17487/RFC8391, May 2018,
<https://www.rfc-editor.org/rfc/rfc8391>. <https://www.rfc-editor.org/info/rfc8391>.
[RFC8554] McGrew, D., Curcio, M., and S. Fluhrer, "Leighton-Micali [RFC8554] McGrew, D., Curcio, M., and S. Fluhrer, "Leighton-Micali
Hash-Based Signatures", RFC 8554, DOI 10.17487/RFC8554, Hash-Based Signatures", RFC 8554, DOI 10.17487/RFC8554,
April 2019, <https://www.rfc-editor.org/rfc/rfc8554>. April 2019, <https://www.rfc-editor.org/info/rfc8554>.
[SP800208] National Institute of Standards and Technology (NIST), [RFC9708] Housley, R., "Use of the HSS/LMS Hash-Based Signature
"Recommendation for Stateful Hash-Based Signature Algorithm in the Cryptographic Message Syntax (CMS)",
Schemes", 29 October 2020, RFC 9708, DOI 10.17487/RFC9708, January 2025,
<https://www.rfc-editor.org/info/rfc9708>.
[SP800208] Cooper, D., Apon, D., Dang, Q., Davidson, M., Dworkin, M.,
and C. Miller, "Recommendation for Stateful Hash-Based
Signature Schemes", NIST SP 800-208,
DOI 10.6028/nist.sp.800-208, 29 October 2020,
<https://doi.org/10.6028/NIST.SP.800-208>. <https://doi.org/10.6028/NIST.SP.800-208>.
[X680] ITU-T, "Information technology - Abstract Syntax Notation [X680] ITU-T, "Information technology - Abstract Syntax Notation
One (ASN.1): Specification of basic notation", ITU-T One (ASN.1): Specification of basic notation", ITU-T
Recommendation X.680, ISO/IEC 8824-1:2021, February 2021, Recommendation X.680, ISO/IEC 8824-1:2021, February 2021,
<https://www.itu.int/rec/T-REC-X.680>. <https://www.itu.int/rec/T-REC-X.680>.
[X690] ITU-T, "Information technology - Abstract Syntax Notation [X690] ITU-T, "Information technology: ASN.1 encoding rules:
One (ASN.1): ASN.1 encoding rules: Specification of Basic Specification of Basic Encoding Rules (BER), Canonical
Encoding Rules (BER), Canonical Encoding Rules (CER) and Encoding Rules (CER) and Distinguished Encoding Rules
Distinguished Encoding Rules (DER)", ITU-T (DER)", ITU-T Recommendation X.690, ISO/IEC 8825-1:2021,
Recommendation X.690, ISO/IEC 8825-1:2021, February 2021, February 2021, <https://www.itu.int/rec/T-REC-X.690>.
<https://www.itu.int/rec/T-REC-X.690>.
13.2. Informative References 13.2. Informative References
[ANSSI] Agence nationale de la sécurité des systèmes d'information [ANSSI] Agence nationale de la sécurité des systèmes d'information
(ANSSI), "ANSSI views on the Post-Quantum Cryptography (ANSSI), "ANSSI views on the Post-Quantum Cryptography
transition (2023 follow up)", 21 December 2023, transition (2023 follow up)", 21 December 2023,
<https://cyber.gouv.fr/sites/default/files/document/follow <https://cyber.gouv.fr/sites/default/files/document/follow
_up_position_paper_on_post_quantum_cryptography.pdf>. _up_position_paper_on_post_quantum_cryptography.pdf>.
[BH16] Bruinderink, L. and S. Hülsing, "Oops, I did it again – [BH16] Bruinderink, L. and S. Hülsing, "Oops, I did it again –
Security of One-Time Signatures under Two-Message Security of One-Time Signatures under Two-Message
Attacks.", 2016, <https://eprint.iacr.org/2016/1042.pdf>. Attacks.", Cryptology ePrint Archive, Paper 2016/1042,
2016, <https://eprint.iacr.org/2016/1042>.
[BSI] Bundesamt für Sicherheit in der Informationstechnik (BSI), [BSI] Bundesamt für Sicherheit in der Informationstechnik (BSI),
"Quantum-safe cryptography – fundamentals, current "Quantum-safe cryptography – fundamentals, current
developments and recommendations", 18 May 2022, developments and recommendations", 18 May 2022,
<https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/ <https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/
Publications/Brochure/quantum-safe-cryptography.pdf>. Publications/Brochure/quantum-safe-cryptography.pdf>.
[CNSA2.0] National Security Agency (NSA), "Commercial National [CNSA2.0] National Security Agency (NSA), "Commercial National
Security Algorithm Suite 2.0 (CNSA 2.0) Cybersecurity Security Algorithm Suite 2.0 (CNSA 2.0) Cybersecurity
Advisory (CSA)", 7 September 2022, Advisory (CSA)", 7 September 2022,
<https://media.defense.gov/2022/Sep/07/2003071834/-1/-1/0/ <https://media.defense.gov/2022/Sep/07/2003071834/-1/-1/0/
CSA_CNSA_2.0_ALGORITHMS_.PDF>. CSA_CNSA_2.0_ALGORITHMS_.PDF>.
[ETSI-TR-103-692] [ETSI-TR-103-692]
European Telecommunications Standards Institute (ETSI), European Telecommunications Standards Institute (ETSI),
"State management for stateful authentication mechanisms", "CYBER; State management for stateful authentication
November 2021, <https://www.etsi.org/deliver/ mechanisms", ETSI TR 103 692 v1.1.1, November 2021,
<https://www.etsi.org/deliver/
etsi_tr/103600_103699/103692/01.01.01_60/ etsi_tr/103600_103699/103692/01.01.01_60/
tr_103692v010101p.pdf>. tr_103692v010101p.pdf>.
[I-D.draft-wiggers-hbs-state] [IANA-LMS] IANA, "Leighton-Micali Signatures (LMS)",
Wiggers, T., Bashiri, K., Kölbl, S., Goodman, J., and S.
Kousidis, "Hash-based Signatures: State and Backup
Management", Work in Progress, Internet-Draft, draft-
wiggers-hbs-state-01, 24 September 2024,
<https://datatracker.ietf.org/doc/html/draft-wiggers-hbs-
state-01>.
[IANA-LMS] IANA, "Leighton-Micali Signatures (LMS)", n.d.,
<https://www.iana.org/assignments/leighton-micali- <https://www.iana.org/assignments/leighton-micali-
signatures/>. signatures/>.
[IANA-XMSS] [IANA-XMSS]
IANA, "XMSS: Extended Hash-Based Signatures", n.d., IANA, "XMSS: Extended Hash-Based Signatures",
<https://iana.org/assignments/xmss-extended-hash-based- <https://iana.org/assignments/xmss-extended-hash-based-
signatures/>. signatures/>.
[MCGREW] McGrew, D., Kampanakis, P., Fluhrer, S., Gazdag, S., [MCGREW] McGrew, D., Kampanakis, P., Fluhrer, S., Gazdag, S.,
Butin, D., and J. Buchmann, "State Management for Hash- Butin, D., and J. Buchmann, "State Management for Hash-
Based Signatures", 2 November 2016, Based Signatures", Cryptology ePrint Archive, Paper
2016/357, 2 November 2016,
<https://eprint.iacr.org/2016/357>. <https://eprint.iacr.org/2016/357>.
[RFC3279] Bassham, L., Polk, W., and R. Housley, "Algorithms and [RFC3279] Bassham, L., Polk, W., and R. Housley, "Algorithms and
Identifiers for the Internet X.509 Public Key Identifiers for the Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List Infrastructure Certificate and Certificate Revocation List
(CRL) Profile", RFC 3279, DOI 10.17487/RFC3279, April (CRL) Profile", RFC 3279, DOI 10.17487/RFC3279, April
2002, <https://www.rfc-editor.org/rfc/rfc3279>. 2002, <https://www.rfc-editor.org/info/rfc3279>.
[RFC3647] Chokhani, S., Ford, W., Sabett, R., Merrill, C., and S. [RFC3647] Chokhani, S., Ford, W., Sabett, R., Merrill, C., and S.
Wu, "Internet X.509 Public Key Infrastructure Certificate Wu, "Internet X.509 Public Key Infrastructure Certificate
Policy and Certification Practices Framework", RFC 3647, Policy and Certification Practices Framework", RFC 3647,
DOI 10.17487/RFC3647, November 2003, DOI 10.17487/RFC3647, November 2003,
<https://www.rfc-editor.org/rfc/rfc3647>. <https://www.rfc-editor.org/info/rfc3647>.
[RFC4949] Shirey, R., "Internet Security Glossary, Version 2", [RFC4949] Shirey, R., "Internet Security Glossary, Version 2",
FYI 36, RFC 4949, DOI 10.17487/RFC4949, August 2007, FYI 36, RFC 4949, DOI 10.17487/RFC4949, August 2007,
<https://www.rfc-editor.org/rfc/rfc4949>. <https://www.rfc-editor.org/info/rfc4949>.
[RFC8410] Josefsson, S. and J. Schaad, "Algorithm Identifiers for [RFC8410] Josefsson, S. and J. Schaad, "Algorithm Identifiers for
Ed25519, Ed448, X25519, and X448 for Use in the Internet Ed25519, Ed448, X25519, and X448 for Use in the Internet
X.509 Public Key Infrastructure", RFC 8410, X.509 Public Key Infrastructure", RFC 8410,
DOI 10.17487/RFC8410, August 2018, DOI 10.17487/RFC8410, August 2018,
<https://www.rfc-editor.org/rfc/rfc8410>. <https://www.rfc-editor.org/info/rfc8410>.
[RFC8411] Schaad, J. and R. Andrews, "IANA Registration for the [RFC8411] Schaad, J. and R. Andrews, "IANA Registration for the
Cryptographic Algorithm Object Identifier Range", Cryptographic Algorithm Object Identifier Range",
RFC 8411, DOI 10.17487/RFC8411, August 2018, RFC 8411, DOI 10.17487/RFC8411, August 2018,
<https://www.rfc-editor.org/rfc/rfc8411>. <https://www.rfc-editor.org/info/rfc8411>.
[SMI-PKIX] IANA, "SMI Security for PKIX Algorithms", n.d., [S-HBS] Wiggers, T., Bashiri, K., Kölbl, S., Goodman, J., and S.
<https://www.iana.org/assignments/smi-numbers/smi- Kousidis, "Hash-based Signatures: State and Backup
numbers.xhtml#smi-numbers-1.3.6.1.5.5.7.6>. Management", Work in Progress, Internet-Draft, draft-
wiggers-hbs-state-02, 1 April 2025,
<https://datatracker.ietf.org/doc/html/draft-wiggers-hbs-
state-02>.
[SMI-PKIX] IANA, "SMI Security for PKIX Algorithms",
<https://www.iana.org/assignments/smi-numbers>.
Appendix A. HSS X.509 v3 Certificate Example Appendix A. HSS X.509 v3 Certificate Example
This section shows a self-signed X.509 v3 certificate using HSS. This section shows a self-signed X.509 v3 certificate using HSS.
Certificate: Certificate:
Data: Data:
Version: 3 (0x2) Version: 3 (0x2)
Serial Number: Serial Number:
e8:91:d6:06:91:4f:ce:f3 e8:91:d6:06:91:4f:ce:f3
skipping to change at page 35, line 7 skipping to change at line 1570
Pa6OUVQ3Za0KySigPwTtVFnEnx09cJdf+URT/xWfAxN7QWvA94+jJysDOTePvZFl Pa6OUVQ3Za0KySigPwTtVFnEnx09cJdf+URT/xWfAxN7QWvA94+jJysDOTePvZFl
TXSpn0VqpCXcTPl+WfxOk3yJj3GOpplmXmolpMCm+iX3aFyKAvV7Sc2J4Xd4lRup TXSpn0VqpCXcTPl+WfxOk3yJj3GOpplmXmolpMCm+iX3aFyKAvV7Sc2J4Xd4lRup
IXhu9HriBOUOIVK/BM0MaV3X8ldxn9gB4PMQzBUt/Zl4/9wfj6kxDQ+f9CyhPU+y IXhu9HriBOUOIVK/BM0MaV3X8ldxn9gB4PMQzBUt/Zl4/9wfj6kxDQ+f9CyhPU+y
UZJo8OzYX8RVoUzIEukFfgWTX/l2mYUYKSRgFF2zeflLfOQicYrCZkXSQRRdWUwK UZJo8OzYX8RVoUzIEukFfgWTX/l2mYUYKSRgFF2zeflLfOQicYrCZkXSQRRdWUwK
tSurvcZQ+Ic3QubUlnLPRfDUvw3FF5/xuRJcqHSJnlYHz4+YmtrX23/H0DoKFM1a tSurvcZQ+Ic3QubUlnLPRfDUvw3FF5/xuRJcqHSJnlYHz4+YmtrX23/H0DoKFM1a
ZgzrAnag1Fbm6L6h8Mcjs0+GkBpaFo4HDSTR7gOYnw== ZgzrAnag1Fbm6L6h8Mcjs0+GkBpaFo4HDSTR7gOYnw==
-----END CERTIFICATE----- -----END CERTIFICATE-----
Acknowledgments Acknowledgments
Thanks for Russ Housley, Panos Kampanakis, Michael StJohns and Corey Thanks to Russ Housley, Panos Kampanakis, Michael StJohns, and Corey
Bonnell for helpful suggestions and reviews. Bonnell for their helpful suggestions and reviews.
This document uses a lot of text from similar documents [SP800208], This document uses a lot of text from similar documents [SP800208],
([RFC3279] and [RFC8410]) as well as [I-D.ietf-lamps-rfc8708bis]. ([RFC3279] and [RFC8410]) as well as [RFC9708]. Thanks goes to the
Thanks go to the authors of those documents. "Copying always makes authors of those documents. "Copying always makes things easier and
things easier and less error prone" - [RFC8411]. less error prone" [RFC8411].
Authors' Addresses Authors' Addresses
Daniel Van Geest Daniel Van Geest
CryptoNext Security CryptoNext Security
Email: daniel.vangeest@cryptonext-security.com Email: daniel.vangeest@cryptonext-security.com
Kaveh Bashiri Kaveh Bashiri
BSI BSI
Email: kaveh.bashiri.ietf@gmail.com Email: kaveh.bashiri.ietf@gmail.com
 End of changes. 83 change blocks. 
218 lines changed or deleted 196 lines changed or added

This html diff was produced by rfcdiff 1.48.