<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.27 (Ruby 3.2.3) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-vitap-ml-dsa-webauthn-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="ml-dsa-webauthn">ML-DSA for Web Authentication</title>

    <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="March" day="22"/>

    
    
    <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>

<texttable align="left" title="COSE algorithms for ML-DSA" anchor="cose-algorithms">
      <ttcol align='left'>Name</ttcol>
      <ttcol align='left'>value</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c>ML-DSA-44</c>
      <c>TBD (requested assignment -48)</c>
      <c>CBOR Object Signing Algorithm for ML-DSA-44</c>
      <c>ML-DSA-65</c>
      <c>TBD (requested assignment -49)</c>
      <c>CBOR Object Signing Algorithm for ML-DSA-65</c>
      <c>ML-DSA-87</c>
      <c>TBD (requested assignment -50)</c>
      <c>CBOR Object Signing Algorithm for ML-DSA-87</c>
</texttable>

<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>

<texttable align="left" title="Sizes (in bytes) of keys and signatures of ML-DSA" anchor="fips-204-table-2">
      <ttcol align='left'>Algorithm</ttcol>
      <ttcol align='left'>Private Key</ttcol>
      <ttcol align='left'>Public Key</ttcol>
      <ttcol align='left'>Signature Size</ttcol>
      <c>ML-DSA-44</c>
      <c>2560</c>
      <c>1312</c>
      <c>2420</c>
      <c>ML-DSA-65</c>
      <c>4032</c>
      <c>1952</c>
      <c>3309</c>
      <c>ML-DSA-87</c>
      <c>4896</c>
      <c>2592</c>
      <c>4627</c>
</texttable>

<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>

<figure><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></figure>

<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>

<figure><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></figure>

<t>The web application invokes the <spanx style="verb">Navigator.credentials.create()</spanx> 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>

<figure><artwork><![CDATA[
h'A50158201637B26333915747DBDC6C630C0165405A64939AE8F6E4FC39414F853F702F1602A2626964696C6F63616C686F7374646E616D656B44656D6F2073657276657203A3626964504EC1D4219F294FB4A0BC0CD29D485AFC646E616D6566615F757365726B646973706C61794E616D6567412E20557365720481A263616C67382F64747970656A7075626C69632D6B657907A1627576F5'
]]></artwork></figure>

<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>

<figure><artwork><![CDATA[
      +---------------+                    +--------+                                   +-----------+
      |               |                    |        |                                   |           |
      | Authenticator |                    | Client |                                   | RP Server |
      |               |                    |        |                                   |           |
      +-------+-------+                    +---+----+                                   +-----+-----+
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |      Get Challenge                           |
              |                                +--------------------------------------------->|
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                   Challenge                  |
              |                                |<---------------------------------------------+
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |   Assertion Request            |                                              |
              |<-------------------------------+                                              |
              |   (Challenge)                  |                                              |
+-------------+                                |                                              |
|Sign         |                                |                                              |
|Challenge    |                                |                                              |
|             |                                |                                              |
|             |                                |                                              |
+------------>|                                |                                              |
              |  Assertion Response            |                                              |
              +------------------------------->|                                              |
              |  (Signed Challenge)            |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |     Assertion                                |
              |                                +--------------------------------------------->|
              |                                |                                              |
              |                                |                                              +--------------------+
              |                                |                                              |     Verify         |
              |                                |                                              |                    |
              |                                |                                              |                    |
              |                                |                                              |                    |
              |                                |                                              |                    |
              |                                |                                              |<-------------------+
              |                                |     Authentication response                  |
              |                                |<---------------------------------------------+
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
]]></artwork></figure>

<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>

<figure><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></figure>

<t>The web application invokes the <spanx style="verb">Navigator.credentials.get()</spanx> 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 <spanx style="verb">allowedCredentials</spanx> 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 <spanx style="verb">getNextAssertion()</spanx> 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 <spanx style="verb">1312+2420+1312+2420=7464</spanx> 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:
```
$$attStmtType //= (
                      fmt: "minimal",
                      attStmt: minimalStmtFormat,
                  )</t>

<t>minimalStmtFormat = {
                       alg: COSEAlgorithmIdentifier,
                       keyid: bytes,
                       sig: bytes, 
                   }
```</t>

<t><spanx style="verb">sig</spanx> 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><spanx style="verb">keyid</spanx> 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 title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor='IANA.cose'> <front> <title>*** BROKEN REFERENCE ***</title> <author> <organization/> </author> <date/> </front> </reference>
<reference anchor='RFC9053'> <front> <title>*** BROKEN REFERENCE ***</title> <author> <organization/> </author> <date/> </front> </reference>
<reference anchor='RFC9679'> <front> <title>*** BROKEN REFERENCE ***</title> <author> <organization/> </author> <date/> </front> </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>*** BROKEN REFERENCE ***</title> <author> <organization/> </author> <date/> </front> </reference>
<reference anchor='RFC8174'> <front> <title>*** BROKEN REFERENCE ***</title> <author> <organization/> </author> <date/> </front> </reference>



    </references>

    <references title='Informative References' anchor="sec-informative-references">




<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 &quot;thumbprint,&quot;
   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></organization>
    </author>
    <date year="n.d."/>
  </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></organization>
    </author>
    <date year="n.d."/>
  </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></organization>
    </author>
    <date year="n.d."/>
  </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></organization>
    </author>
    <date year="n.d."/>
  </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></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


    </references>

</references>


<?line 477?>

<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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
OLtUe/jTf/0Tsf/XPxM+2t76fz6EARkEigAA

-->

</rfc>

