<?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.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-vitap-ml-dsa-webauthn-05" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="ml-dsa-webauthn">ML-DSA for Web Authentication</title>
    <seriesInfo name="Internet-Draft" value="draft-vitap-ml-dsa-webauthn-05"/>
    <author fullname="Aditya Mitra">
      <organization>VIT-AP University</organization>
      <address>
        <email>adityamitra5102@gmail.com</email>
      </address>
    </author>
    <author fullname="Sibi S. Chakkaravarthy">
      <organization>VIT-AP University</organization>
      <address>
        <email>chakkaravarthy.sibi@vitap.ac.in</email>
      </address>
    </author>
    <author fullname="Anisha Ghosh">
      <organization>VIT-AP University</organization>
      <address>
        <email>ghoshanisha2002@gmail.com</email>
      </address>
    </author>
    <author fullname="Devi Priya VS">
      <organization>VIT-AP University</organization>
      <address>
        <email>priya.21phd7042@vitap.ac.in</email>
      </address>
    </author>
    <date year="2026" month="September" day="15"/>
    <keyword>PQC</keyword>
    <keyword>COSE</keyword>
    <keyword>WebAuthn</keyword>
    <keyword>ML-DSA</keyword>
    <keyword>CBOR</keyword>
    <keyword>Passwordless</keyword>
    <keyword>Phishing-resistant</keyword>
    <abstract>
      <?line 73?>
<t>This document describes implementation of Passwordless authentication in Web Authentication (WebAuthn) using Module-Lattice-Based Digital Signature Standard (ML-DSA), a Post-Quantum Cryptography (PQC) digital signature scheme defined in FIPS 204.</t>
    </abstract>
  </front>
  <middle>
    <?line 76?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document describes how to use ML-DSA keys and signature as described in <xref target="FIPS-204"/> with <xref target="WebAuthn"/>.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</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>Some examples in this specification are truncated with "..." for readability.</t>
    </section>
    <section anchor="background-on-post-quantum-cryptography">
      <name>Background on Post-Quantum Cryptography</name>
      <t>This section describes a generic backround of Post-Quantum Cryptography, Web Authentication and Phishing Resistance.
Post-Quantum Cryptography is defined to be a set of cryptographic algorithms that are not vulnerable against a malicious actor in possession of a large scale Quantum Computer. <xref target="FIPS-204"/> has described Module-Lattice-Based Digital Signature Algorithm which is not vulnerable to attacks involving a large-scale quantum computer.</t>
      <section anchor="motivation-for-ml-dsa-in-webauthn">
        <name>Motivation for ML-DSA in WebAuthn</name>
        <t>With the wide range adoption of phishing-resistant passwordless authentication standard like Security Keys, Passkeys and Device attestation following the FIDO2 Specifications, the adopted cryptographic standards for authentication have been primarily ES256 (Elliptic Curve Digital Signature Algorithm with SHA-256) and RS256 (RSA with SHA-256) as defined in <xref target="FIPS-186-5"/>. Though most authenticators support other algorithms as well, the widely used default algorithms- ES256 and RS256 are deemed to be insecure against adversaries employing large-scale quantum computers.</t>
        <t>Hence, the adoption of ML-DSA for WebAuthn would be necessary to secure digital identities and accounts from such adversaries.</t>
      </section>
    </section>
    <section anchor="ml-dsa-integration-in-webauthn">
      <name>ML-DSA Integration in WebAuthn</name>
      <t>This section describes the implementation of WebAuthn with ML-DSA.</t>
      <section anchor="ml-dsa-key-representation-in-cose">
        <name>ML-DSA Key Representation in COSE</name>
        <t><xref target="I-D.draft-ietf-cose-dilithium-05"/> describes CBOR Object Signing and Encryption (COSE) Serialization for ML-DSA. It is to be noted that the COSE representation of only 'Public key' or 'Verifying key' is used in WebAuthn. Hence, the COSE Representation of private keys are beyond the scope of this document.</t>
        <t>ML-DSA Signature Scheme is parameterized to support different security levels. In this document, the abbreviations of ML-DSA-44, ML-DSA-65 and ML-DSA-87 are used to refer to ML-DSA with the parameter choices given in Table 1 of FIPS-204.</t>
        <t>This document requests the registration of the ML-DSA algorithms in <xref target="IANA.cose"/> as mentioned in <xref target="I-D.draft-ietf-cose-dilithium-05"/> as :</t>
        <table align="left" anchor="cose-algorithms">
          <name>COSE algorithms for ML-DSA</name>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">value</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">ML-DSA-44</td>
              <td align="left">TBD (requested assignment -48)</td>
              <td align="left">CBOR Object Signing Algorithm for ML-DSA-44</td>
            </tr>
            <tr>
              <td align="left">ML-DSA-65</td>
              <td align="left">TBD (requested assignment -49)</td>
              <td align="left">CBOR Object Signing Algorithm for ML-DSA-65</td>
            </tr>
            <tr>
              <td align="left">ML-DSA-87</td>
              <td align="left">TBD (requested assignment -50)</td>
              <td align="left">CBOR Object Signing Algorithm for ML-DSA-87</td>
            </tr>
          </tbody>
        </table>
        <t>In accordance with the Algorithm Key Paid Type section of <xref target="I-D.draft-ietf-cose-dilithium-05"/>, when present in AKP Keys, the "pub" parameter has the following constraints:</t>
        <t>The "pub" parameter is the ML-DSA public key, as described in Section 5.3 of FIPS-204.</t>
        <t>The size of "pub", and the associated signature for each of these algorithms is defined in Table 2 of FIPS-204, and repeated here for convenience:</t>
        <table align="left" anchor="fips-204-table-2">
          <name>Sizes (in bytes) of keys and signatures of ML-DSA</name>
          <thead>
            <tr>
              <th align="left">Algorithm</th>
              <th align="left">Private Key</th>
              <th align="left">Public Key</th>
              <th align="left">Signature Size</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">ML-DSA-44</td>
              <td align="left">2560</td>
              <td align="left">1312</td>
              <td align="left">2420</td>
            </tr>
            <tr>
              <td align="left">ML-DSA-65</td>
              <td align="left">4032</td>
              <td align="left">1952</td>
              <td align="left">3309</td>
            </tr>
            <tr>
              <td align="left">ML-DSA-87</td>
              <td align="left">4896</td>
              <td align="left">2592</td>
              <td align="left">4627</td>
            </tr>
          </tbody>
        </table>
        <t>These algorithms are used to produce signatures as described in Algorithm 2 of FIPS-204.</t>
        <t>Signatures are encoded as bytestrings using the algorithms defined in Section 7.2 of FIPS-204.</t>
      </section>
      <section anchor="signature-generation-and-verification">
        <name>Signature Generation and Verification</name>
        <t>Signature generation is done in accordance with Section 5.2 of FIPS-204. Signature Verification is done in accordance with Section 5.3 of FIPS-204.</t>
        <t>If small keys or signature is needed, ML-DSA might not be the ideal option. Furthermore, in usage scenarios expecting swifter processing, ML-DSA-87 might not be the best option. Therefore, using ML-DSA-44 and ML-DSA-65 with WebAuthn is advised.</t>
      </section>
    </section>
    <section anchor="authenticator-behavior">
      <name>Authenticator Behavior</name>
      <t>This section describes how an authenticator, roaming or platform would implement ML-DSA.</t>
      <t>The authenticator <bcp14>MUST</bcp14> have a secure storage for storing cryptographic secrets which <bcp14>SHOULD NOT</bcp14> be able to export the secrets in an unauthorized manner.</t>
      <section anchor="credential-creation">
        <name>Credential Creation</name>
        <artwork><![CDATA[
         +---------------+                    +--------+                                   +-----------+
         |               |                    |        |                                   |           |
         | Authenticator |                    | Client |                                   | RP Server |
         |               |                    |        |                                   |           |
         +-------+-------+                    +---+----+                                   +-----+-----+
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |      Get Challenge                           |
                 |                                +--------------------------------------------->|
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                   Challenge                  |
                 |                                |<---------------------------------------------+
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |  Credential Creation Request   |                                              |
                 |<-------------------------------+                                              |
+----------------+   (Challenge)                  |                                              |
| Generate       |                                |                                              |
| Keypair        |                                |                                              |
|                |                                |                                              |
|                |                                |                                              |
|                |                                |                                              |
+--------------->|                                |                                              |
                 |                                |                                              |
+----------------+                                |                                              |
| Sign challenge |                                |                                              |
|                |                                |                                              |
|                |                                |                                              |
|                |                                |                                              |
|                |                                |                                              |
+--------------->|                                |                                              |
                 |                                |                                              |
                 |  Assertion Response            |                                              |
                 +------------------------------->|                                              |
                 |  (Signed Challenge)            |     Assertion                                |
                 |                                +--------------------------------------------->|
                 |                                |                                              |
                 |                                |                                              +--------------------+
                 |                                |                                              |  Verify            |
                 |                                |                                              |                    |
                 |                                |                                              |                    |
                 |                                |                                              |                    |
                 |                                |                                              |                    |
                 |                                |                                              |<-------------------+
                 |                                |                                              |
                 |                                |                                              +--------------------+
                 |                                |                                              |   Save public key  |
                 |                                |                                              |                    |
                 |                                |                                              |                    |
                 |                                |                                              |                    |
                 |                                |                                              |                    |
                 |                                |                                              |                    |
                 |                                |                                              |<-------------------+
                 |                                |     Authentication response                  |
                 |                                |<---------------------------------------------+
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
]]></artwork>
        <t><xref target="WebAuthn"/> defines the credential creation API. This API takes a public key credential creation object, containing a cryptographic challenge, the Relying Party ID (RP ID), User details, and public key credential parameters. The public key credential parameters define the accepted algorithms.</t>
        <t>An example of public key credential creation object is:</t>
        <artwork><![CDATA[
{
  challenge: new Uint8Array([215, 150, 119, 213, 215, 247, 188, 15, 142, 10, 53, 135, 17, 205, 130, 133, 158, 32, 113, 0, 62, 67, 112, 191, 123, 180, 224, 151, 233, 114, 68, 225]),
  rp: { id: "example.com", name: "Example Corporation" },
  user: {
    id: new Uint8Array([79, 252, 83, 72, 214, 7, 89, 26]),
    name: "johndoe",
    displayName: "John Doe",
  },
  pubKeyCredParams: [{ type: "public-key", alg: -7 }, { type: "public-key", alg: -49 }],
}
]]></artwork>
        <t>The web application invokes the <tt>Navigator.credentials.create()</tt> function with the Public Key Credential Creation Object. The client web browser, or an application invokes the authenticator API defined in <xref target="CTAP"/>. The public key credential creation object is CBOR encoded and sent to the authenticator device over a chosen transport method which includes but is not limited to USB HID, BLE and NFC.</t>
        <t>An example of CBOR Encoded Public Key Credential Creation object is:</t>
        <artwork><![CDATA[
h'A50158201637B26333915747DBDC6C630C0165405A64939AE8F6E4FC39414F853F702F1602A2626964696C6F63616C686F7374646E616D656B44656D6F2073657276657203A3626964504EC1D4219F294FB4A0BC0CD29D485AFC646E616D6566615F757365726B646973706C61794E616D6567412E20557365720481A263616C67382F64747970656A7075626C69632D6B657907A1627576F5'
]]></artwork>
        <t>The authenticator <bcp14>MUST</bcp14> verify whether any credential mentioned in the list of "excludeCredentials" in the public key credential creation object is already present on the authenticator, and in such cases it will return the error code in accordance with <xref target="CTAP"/>. Further authenticator <bcp14>MUST</bcp14> perform all additional checks involving authenticator PIN, User presence, user verification etc in accordance with Section 5.1 of CTAP.</t>
        <t>The authenticator generates ML-DSA keypair in accordance with Section 5.1 of FIPS 204 and unique Key ID. The public key is COSE encoded following <xref target="I-D.draft-ietf-cose-dilithium-05"/> and is a part of the attestedCredentialData.</t>
        <t>After passing all checks in accordance with section 5.1 of CTAP, the authenticator <bcp14>SHOULD</bcp14> create the attestation statement. The authData is created in accordance with WebAuthn and CTAP specifications and the clientDataHash is appended to it. This is signed with the private key of the generated keypair. The attestation statement is generated in accordance with CTAP and WebAuthn.</t>
        <t>The ML-DSA private key is to be stored in accordance with the "Storage security and Key management" section of this document.</t>
        <t>The attestation statement is encoded in CBOR and returned to the client application via the same transport method.</t>
      </section>
      <section anchor="authentication-flow">
        <name>Authentication Flow</name>
        <artwork><![CDATA[
      +---------------+                    +--------+                                   +-----------+
      |               |                    |        |                                   |           |
      | Authenticator |                    | Client |                                   | RP Server |
      |               |                    |        |                                   |           |
      +-------+-------+                    +---+----+                                   +-----+-----+
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |      Get Challenge                           |
              |                                +--------------------------------------------->|
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                   Challenge                  |
              |                                |<---------------------------------------------+
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |   Assertion Request            |                                              |
              |<-------------------------------+                                              |
              |   (Challenge)                  |                                              |
+-------------+                                |                                              |
|Sign         |                                |                                              |
|Challenge    |                                |                                              |
|             |                                |                                              |
|             |                                |                                              |
+------------>|                                |                                              |
              |  Assertion Response            |                                              |
              +------------------------------->|                                              |
              |  (Signed Challenge)            |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |     Assertion                                |
              |                                +--------------------------------------------->|
              |                                |                                              |
              |                                |                                              +--------------------+
              |                                |                                              |     Verify         |
              |                                |                                              |                    |
              |                                |                                              |                    |
              |                                |                                              |                    |
              |                                |                                              |                    |
              |                                |                                              |<-------------------+
              |                                |     Authentication response                  |
              |                                |<---------------------------------------------+
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
]]></artwork>
        <t><xref target="WebAuthn"/> defines the credential request API. This API takes a public key credential request object, containing a cryptographic challenge, the Relying Party ID (RP ID) and optionally a list of allowed credentials.</t>
        <t>An example of public key credential request object is:</t>
        <artwork><![CDATA[
{
  challenge: new Uint8Array([215, 150, 119, 213, 215, 247, 188, 15, 142, 10, 53, 135, 17, 205, 130, 133, 158, 32, 113, 0, 62, 67, 112, 191, 123, 180, 224, 151, 233, 114, 68, 225]),
  rpId: "example.com",
}
]]></artwork>
        <t>The web application invokes the <tt>Navigator.credentials.get()</tt> function with the Public Key Credential Request Object. The client web browser, or an application invokes the authenticator API defined in <xref target="CTAP"/>. The public key credential request object is CBOR encoded and sent to the authenticator device over a chosen transport method which includes but is not limited to USB HID, BLE and NFC.</t>
        <t>If a list of <tt>allowedCredentials</tt> is present, the authenticator must discover credentials bound to the same RP ID which is present in the list. If no such credential is present, it will return the error code in accordance with <xref target="CTAP"/>. Further authenticator <bcp14>MUST</bcp14> perform all additional checks involving authenticator PIN, User presence, user verification etc in accordance with Section 5.2 of CTAP.</t>
        <t>The authenticator, on discovering a suitable credential for authentication <bcp14>SHOULD</bcp14> verify the algorithm. If it is not ML-DSA, the authenticator <bcp14>SHALL</bcp14> behave in accordance with the "Backward Compatibility Considerations" section of this document.</t>
        <t>The credential is retrieved in accordance with the "Storage security and Key management" section of this document.</t>
        <t>After passing all checks in accordance with section 5.2 of CTAP, the authenticator <bcp14>SHOULD</bcp14> create the assertion statement. The authData is created in accordance with WebAuthn and CTAP specifications and the clientDataHash is appended to it. This is signed with the decrypted ML-DSA private key. The assertion response is generated in accordance with CTAP and WebAuthn.</t>
        <t>The assertion response is encoded in CBOR and returned to the client application via the same transport method.</t>
        <t>All memory addresses used to handle the ML-DSA private key is immediately zeroized.</t>
        <t>The authenticator <tt>getNextAssertion()</tt> function specification is to be similarly implemented in accordance with <xref target="CTAP"/>.</t>
      </section>
      <section anchor="backward-compatibility-consideration">
        <name>Backward Compatibility Consideration</name>
        <t>The authenticator <bcp14>SHOULD</bcp14> choose the algorithm to be used in accordance with CTAP, and hence not choose ML-DSA if not supported by the RP.</t>
      </section>
    </section>
    <section anchor="client-and-platform-considerations">
      <name>Client and Platform Considerations</name>
      <t>This section describes the considerations about the Client and Platform.</t>
      <section anchor="cose-algorithm-support-in-webauthn-clients">
        <name>COSE Algorithm Support in WebAuthn Clients</name>
        <t>The CTAP implementations on client, for example Windows Hello for Microsoft Windows based systems, iCloud Keychain for Apple systems, Google Password Manager, Dashlane, OnePassword and other browser based implementations for Linux <bcp14>SHOULD</bcp14> have support for ML-DSA Algorithms in accordance with COSE. Further, Platform Authenticators for such devices are <bcp14>RECOMMENDED</bcp14> to have support for ML-DSA Key Generation and signing in accordance with this document.</t>
      </section>
      <section anchor="handling-large-signatures-and-keys">
        <name>Handling large signatures and keys</name>
        <t>It is considered that the chosen transport methods including but not limited to USB HID, BLE and NFC are able to perform exchanges of the CBOR encoded data which may be often over 2000 bytes. The use of attestion certificates may increase the length even more.</t>
      </section>
      <section anchor="error-handling-and-fallback-mechanisms">
        <name>Error Handling and Fallback mechanisms</name>
        <t>In case of errors involving ML-DSA key generation and signing, the authenticator may fallback to using ES256 or RS256 algoritms. In case of errors involving communication with the client, the authenticator may handle it in accordance with <xref target="CTAP"/>.</t>
      </section>
    </section>
    <section anchor="attestation-considerations">
      <name>Attestation Considerations</name>
      <t>Using Post Quantum Crptography for creating attestation certificates for credentials implies the presence of additional ML-DSA signatures and public keys in the x.509 certificate, depending upon the attestation format, defined in the <xref target="WebAuthn"/> flow. A second ML-DSA-44 Signature size is around 2420 bytes and a public key is around 1312 bytes, and bigger for others. On the other hand, <xref target="CTAP"/> using a 7-bit sequence continuation packet numbers for CTAP-HID constrains it to have a maximum of 129 frames only. CTAP-HID frame can be of size 64 bytes at max. A makeCredential response with a valid attestation certificate would contain atleast <tt>1312+2420+1312+2420=7464</tt> bytes.</t>
      <t>The first frame has 7 bytes of header (4 byte channel identifier, 1 byte CMD, 2 bytes BCNT), while continuation frames have 5 bytes of header (4 bytes of channel identifier, 1 byte of sequence number).</t>
      <t>Further, the first frame will have one byte of status code. The makeCredential response will contain the authData. This further contains 32 bytes of RP ID Hash, 1 byte of flags, 4 bytes of sign count and variable length attestedCredential data. The attestedCredential data further contains 16 bytes of AAGUID, 2 bytes of credential ID length. The credential ID is to be atleast 16 bytes, followed by the public key.</t>
      <t>This covers a total of 8182 bytes, leaving only 74 bytes for CBOR encoding, and the full x.509 certificate, including fields like the version, subjects, certificate chain and so on. Further, when other algorithms like ML-DSA-65 or higher is used, the available bytes in CTAP-HID would not suffice for the attestation certificate.</t>
      <section anchor="webauthn-considerations">
        <name>WebAuthn Considerations</name>
        <t>Due to the attestation certificate size limitations, Web Authentication standard is requested to recognize an attestation format 'minimal'.</t>
        <t>The syntax of Minimal Attestation is defined by:</t>
        <artwork><![CDATA[
$$attStmtType //= (
                      fmt: "minimal",
                      attStmt: minimalStmtFormat,
                  )

minimalStmtFormat = {
                       alg: COSEAlgorithmIdentifier,
                       keyid: bytes,
                       sig: bytes, 
                   }
]]></artwork>
        <t><tt>sig</tt> here is a signature over the authenticatorData and clientDataHash. The authenticator produces the sig by concatenating authenticatorData and clientDataHash, and signing the result using an attestation private key selected through an authenticator-specific mechanism.</t>
        <t><tt>keyid</tt> is an Identifier that identifies the key used to sign. It is a 16-byte unique identifier.</t>
        <section anchor="verification-and-fido-mds-database-considerations">
          <name>Verification and FIDO MDS Database Considerations</name>
          <t>The FIDO MDS database is requested to maintain the set of Public Key/ Verifying key certificates, identifiable by the AAGUID and the KeyId together. The RP may verify the attestation signature with the public key identified by the AAGUID and KeyID from the FIDO MDS database. Enterprise based implementations or implementations requiring self-attestation without FIDO MDS database <bcp14>MAY</bcp14> maintain their on keystores instead of the FIDO MDS database.</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="RFC9053"/> applies to this specification as well.</t>
      <t>A detailed security analysis of ML-DSA is beyond the scope of this specification, see <xref target="FIPS-204"/> for additional details.</t>
      <section anchor="resistance-to-quantum-attacks">
        <name>Resistance to Quantum Attacks</name>
        <t>See <xref target="FIPS-204"/> for details on resistance to quantum attacks.</t>
      </section>
      <section anchor="storage-security-and-key-management">
        <name>Storage security and Key management</name>
        <t>It is to be noted that at the time of writing this draft, there is no suitable hardware security module (HSM), trusted platform module (TPM), Secure Element (SE), Trusted Execution Environment (TEE) with native support for ML-DSA. Hence, secure credential storage is a challenge. To overcome the same, the ML-DSA keys, also referred to as credentials, <bcp14>MUST</bcp14> be encrypted with Advanced Ecnryption Standard (AES), which is a Post Quantum Symmetric encryption algorithm in Galosis Counter Mode (GCM) with 256-bit keys.</t>
        <t>The AES Keys <bcp14>MUST</bcp14> be generated and stored in secure storage, which may include a HSM, TPM, SE or TEE. The ML-DSA Keys may be generated on the standard computing environment, outside the secure storage. The ML-DSA Credential <bcp14>MUST</bcp14> be encrypted by AES as described above before being written to the Flash memory or Disk. Conversely, the same <bcp14>MUST</bcp14> be decrypted by AES in the secure storage before being used.</t>
        <t>Any memory location, pointer or heap that has been used to handle the ML-DSA Credentials <bcp14>MUST</bcp14> be zeroized immediately after the operation is performed.</t>
        <t>This section is to be updated when suitable secure storage modules supporting ML-DSA becomes widely available.</t>
      </section>
      <section anchor="implementation-best-practices">
        <name>Implementation Best Practices</name>
        <t>If the amount of space in the secure storage permits, each ML-DSA Private key is <bcp14>RECOMMENDED</bcp14> to be encrypted with unique AES keys.
*       Prior to storage, each ML-DSA private key is to be encrypted independently using a distinct AES encryption key.
*       To guarantee robust encryption, the AES key size must be at least AES-256.
*       To avoid unwanted access, encrypted keys ought to be kept in Hardware Security Modules (HSMs), Secure Elements (SEs), or Trusted Platform Modules (TPMs).
*       NIST SP 800-57 recommendations should be followed by key management to provide secure AES key lifecycle management (creation, storage, rotation, and disposal).
*       Only in a trusted execution environment (TEE) or secure enclave should the private key be decrypted in order to avoid memory leakage.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="additions-to-existing-registries">
        <name>Additions to Existing Registries</name>
        <t>This document requests the registration of the ML-DSA entries to the COSE Algorithm Registry as mentioned in <xref target="I-D.draft-ietf-cose-dilithium-05"/>.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="IANA.cose" target="https://www.iana.org/assignments/cose">
          <front>
            <title>CBOR Object Signing and Encryption (COSE)</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="RFC9053">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
              <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9053"/>
          <seriesInfo name="DOI" value="10.17487/RFC9053"/>
        </reference>
        <reference anchor="RFC9679">
          <front>
            <title>CBOR Object Signing and Encryption (COSE) Key Thumbprint</title>
            <author fullname="K. Isobe" initials="K." surname="Isobe"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <date month="December" year="2024"/>
            <abstract>
              <t>This specification defines a method for computing a hash value over a CBOR Object Signing and Encryption (COSE) Key. It specifies which fields within the COSE Key structure are included in the cryptographic hash computation, the process for creating a canonical representation of these fields, and how to hash the resulting byte sequence. The resulting hash value, referred to as a "thumbprint", can be used to identify or select the corresponding key.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9679"/>
          <seriesInfo name="DOI" value="10.17487/RFC9679"/>
        </reference>
        <reference anchor="I-D.draft-ietf-cose-dilithium-05">
          <front>
            <title>ML-DSA for JOSE and COSE</title>
            <author fullname="Michael Prorock" initials="M." surname="Prorock">
              <organization>mesur.io</organization>
            </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Transmute</organization>
            </author>
            <author fullname="Rafael Misoczki" initials="R." surname="Misoczki">
              <organization>Google</organization>
            </author>
            <author fullname="Michael Osborne" initials="M." surname="Osborne">
              <organization>IBM</organization>
            </author>
            <author fullname="Christine Cloostermans" initials="C." surname="Cloostermans">
              <organization>NXP</organization>
            </author>
            <date day="18" month="December" year="2024"/>
            <abstract>
              <t>   This document describes JSON Object Signing and Encryption (JOSE) and
   CBOR Object Signing and Encryption (COSE) serializations for Module-
   Lattice-Based Digital Signature Standard (ML-DSA), a Post-Quantum
   Cryptography (PQC) digital signature scheme defined in FIPS 204.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-dilithium-05"/>
        </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="I-D.draft-ietf-cose-key-thumbprint">
          <front>
            <title>CBOR Object Signing and Encryption (COSE) Key Thumbprint</title>
            <author fullname="Kohei Isobe" initials="K." surname="Isobe">
              <organization>SECOM CO., LTD.</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Transmute</organization>
            </author>
            <date day="6" month="September" year="2024"/>
            <abstract>
              <t>   This specification defines a method for computing a hash value over a
   CBOR Object Signing and Encryption (COSE) Key. It specifies which
   fields within the COSE Key structure are included in the
   cryptographic hash computation, the process for creating a canonical
   representation of these fields, and how to hash the resulting byte
   sequence.  The resulting hash value, referred to as a "thumbprint,"
   can be used to identify or select the corresponding key.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-key-thumbprint-06"/>
        </reference>
        <reference anchor="I-D.draft-ietf-lamps-dilithium-certificates">
          <front>
            <title>Internet X.509 Public Key Infrastructure - Algorithm Identifiers for the Module-Lattice-Based Digital Signature Algorithm (ML-DSA)</title>
            <author fullname="Jake Massimo" initials="J." surname="Massimo">
              <organization>AWS</organization>
            </author>
            <author fullname="Panos Kampanakis" initials="P." surname="Kampanakis">
              <organization>AWS</organization>
            </author>
            <author fullname="Sean Turner" initials="S." surname="Turner">
              <organization>sn3rd</organization>
            </author>
            <author fullname="Bas Westerbaan" initials="B." surname="Westerbaan">
              <organization>Cloudflare</organization>
            </author>
            <date day="30" month="September" year="2025"/>
            <abstract>
              <t>   Digital signatures are used within X.509 certificates, Certificate
   Revocation Lists (CRLs), and to sign messages.  This document
   specifies the conventions for using FIPS 204, the Module-Lattice-
   Based Digital Signature Algorithm (ML-DSA) in Internet X.509
   certificates and certificate revocation lists.  The conventions for
   the associated signatures, subject public keys, and private key are
   also described.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-dilithium-certificates-13"/>
        </reference>
        <reference anchor="FIPS-186-5" target="https://doi.org/10.6028/NIST.FIPS.186-5">
          <front>
            <title>Digital Signature Standard (DSS)</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="FIPS-204" target="https://doi.org/10.6028/NIST.FIPS.204">
          <front>
            <title>Module-Lattice-Based Digital Signature Standard</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="WebAuthn" target="https://www.w3.org/TR/webauthn-2">
          <front>
            <title>Web Authentication: An API for accessing Public Key Credentials</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="CTAP" target="https://fidoalliance.org/specs/fido-v2.0-id-20180227/fido-client-to-authenticator-protocol-v2.0-id-20180227.html">
          <front>
            <title>Client To Authenticator Protocol (CTAP)</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="SP-500-57" target="https://doi.org/10.6028/NBS.SP.500-57">
          <front>
            <title>Audit and Evaluation of Computer Security II: System Vulnerabilities and Controls</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <?line 478?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>We express our sincere gratitude to Dr. S. V. Kota Reddy, Vice Chancellor, VIT-AP University, for his unwavering support and encouragement throughout this research. We also extend our heartfelt thanks to Dr. Jagadish Chandra Mudiganti, Registrar, VIT-AP University, for facilitating a conducive research environment. Our appreciation goes to Dr. Hari Seetha, Director, Centre of Excellence, Artificial Intelligence and Robotics (AIR), VIT-AP University, for her invaluable guidance and insightful discussions that significantly contributed to this work.</t>
      <t>We also acknowledge Indominus Labs Private Limited and Digital Fortress Private Limited for their generous support, which played a crucial role in the successful execution of this research.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
Ipj9659I+7/+mUhR6f8BC0xZTzOIAAA=

-->

</rfc>
