<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc linkmailto="no" ?>
<?rfc rfcedstyle="yes"?>
<?rfc-ext allow-markup-in-artwork="yes" ?>
<?rfc-ext include-references-in-index="yes" ?>

<!DOCTYPE rfc []>

<!-- Notes for Paul and Tony

Have a section that is just examples of what is new in v3 (such as new table features)
	Want to add examples of <blockquote>
		Example of a cite for a reference that is already in the spec.
	In the v3-only examples, use "ascii" attributes liberally

-->

<rfc
  xmlns:xi="http://www.w3.org/2001/XInclude"
  category="std"
  docName="draft-wang-ipsecme-composite-mldsa-auth-ikev2-00"
  ipr="trust200902"
  obsoletes=""
  updates=""
  submissionType="IETF"
  xml:lang="en"
  version="3">
<!-- [REPLACE] 
       * docName with name of your draft
     [CHECK] 
       * category should be one of std, bcp, info, exp, historic
       * ipr should be one of trust200902, noModificationTrust200902, noDerivativesTrust200902, pre5378Trust200902
       * updates can be an RFC number as NNNN
       * obsoletes can be an RFC number as NNNN 
       * obsoletes can be an RFC number as NNNN 
-->

<front>
<title abbrev="Composite ML-DSA Auth in the IKEv2"> Composite ML-DSA Authentication in the IKEv2 </title>
<!--  [REPLACE/DELETE] abbrev. The abbreviated title is required if the full title is longer than 39 characters -->

<seriesInfo name="Internet-Draft" value="draft-wang-ipsecme-composite-mldsa-auth-ikev2-00"/>
   
    <author fullname="Guilin Wang" initials="G." role="editor" surname="Wang">
      <!-- [CHECK]
             * initials should not include an initial for the surname
             * role="editor" is optional -->
    <!-- Can have more than one author -->
      
    <!-- all of the following elements are optional -->
      <organization>Huawei Int. Pte Ltd</organization>
      <address>
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>9 North Buona Vista Drive, #13-01</street>
		  <street> The Metropolis Tower 1</street>
          <city>Singapore</city>
          <code>138588</code>
          <country>Singapore</country>
          <!-- Uses two letter country code -->
        </postal>        
        <email>wang.guilin@huawei.com</email>  
      </address>
    </author>
	
<date/>
<!-- On draft subbmission:
         * If only the current year is specified, the current day and month will be used.
         * If the month and year are both specified and are the current ones, the current day will
           be used
         * If the year is not the current one, it is necessary to specify at least a month and day="1" will be used.
    -->
	
<area>General</area>
    <workgroup> IP Security Maintenance and Extensions </workgroup>
	<!-- "Internet Engineering Task Force" is fine for individual submissions.  If this element is 
          not present, the default is "Network Working Group", which is used by the RFC Editor as 
          a nod to the history of the RFC Series. -->

    <keyword>keyword</keyword>
    <!-- [REPLACE/DELETE]. Multiple allowed.  Keywords are incorporated into HTML output files for 
         use by search engines. -->

<abstract>
      <!-- RFC 9370 specifies a framework that supports mulitple key encapsulation mechanisms (KEMs) in the Internet Key Exchange Protocol Version 2 (IKEv2) by allowing up to 7 layers of additiona KEMs employed with the oringal ECDH to derive the final shared secret keys for IPsec protocols. The primitive goal is to mitigate the security threat against quantum computers by hybriding additional post-quantum (PQ) KEMs with the orinigal ECDH key exchange. This draft specifies how one QP KEMs, FrodoKEM, is instantiated in the IKEv2 as the additional KEMs with the main ECDH to achieve hybrid key agreement.-->
	  
	 <t> This draft specifies composite ML-DSA authentication in the Internet Key Exchange Protocol Version 2 (IKEv2) <xref target="RFC7296"> </xref>. Namely, the authenticaiton in the IKEv2 is completed by using a compiste signature of ML-DSA <xref target="FIPS203"> </xref>, the newly post-quantum digital singature standard, and one of the following traditional singature algorithms, SA-PKCS#1v1.5, RSA-PSS, ECDSA, Ed25519, and Ed448. These concrete composite algorithm specifications follow <xref target="OGPKF24"> </xref>. Composite ML-DSA authenticatio is achieved by asking to add a new value in the "IKEv2 Authentication Method" registry <xref target="IANA-IKEv2"> </xref>, mantained by IANA. After that, two peers MUST send the SUPPORTED_AUTH_METHODS Notify, defined in <xref target="RFC9593"> </xref>, to negotiate the specific composite ML-DSA algoithms. </t>

	  <t> [EDNOTE: Code points for composite ML-DSA authentication may need to be assigned in the "IKEv2 Authentication Method" registry, maintained by IANA] </t>
    </abstract>

<!-- <note title="Editorial Note (To be removed by RFC Editor)">
<t> Discussion of this draft takes place on the rfc-interest mailing list (rfc-interest@rfc-editor.org), which has its home page at
<eref target="https://www.rfc-editor.org/mailman/listinfo/rfc-interest"/>. </t>
</note> -->

</front>

<middle>

<!-- <section title="Revision history"> 

<\section> -->

<section title="Introduction">

<t> Cryptographically-relevant quantum computers (CRQC) pose a threat to cryptographically protected data. In particular, the so-called harvest-now-and-decrypt-later (HNDL) attack is considered an imminent threat. To mitigate this threat again the Internet Key Exchange Protocol Version 2 (IKEv2) <xref target="RFC7296"> </xref>, multiple key exchanges in the IKEv2 <xref target="RFC9370"></xref> was introduced to achieve post-quantum (PQ) security for the exchange. To offering post-quantum security for the authentication in the IKEv2, "Announcing Supported Authentication Methods in the Internet Key Exchange Protocol Version 2 (IKEv2)" <xref target="RFC9593"></xref> specifies a new Notify type, called the SUPPORTED_AUTH_METHODS, which allows two peers to indicate the list of supported authentication methods while establishing IKEv2 SA. One purpose of <xref target="RFC9593"></xref> is to support post-quantum signature algorithms for authenticaion in the IKEv2, as further discribed by the following drafts.</t>  

<t> "Signature Authentication in the Internet Key Exchange Version 2 (IKEv2)" <xref target="I-D.RSF25"></xref> specifies how NIST PQ digital algorithms ML-DSA <xref target="FIPS204"></xref> and SLH-DSA <xref target="FIPS205"></xref> can be used in the IKEv2 by indicating the supported signature algorithms via exchanging the Notify SIGNATURE_HASH_ALGORITHMS, defined in <xref target="RFC7427"></xref>. Similarly, "IKEv2 Support of ML-DSA", <xref target="I-D.Flu25"></xref> specifies how ML-DSA can be run in the IKEv2, by indicating the supported signature algorithms via exchanging the SUPPORTED_AUTH_METHODS Notify, defined in <xref target="RFC9593"></xref>.  On the other hand, "Post-Quantum Traditional (PQ/T) Hybrid PKI Authentication in the Internet Key Exchange Version 2 (IKEv2)" <xref target="I-D.HM25"> </xref> specifies how to run general hybrid PQ/T digital algorithms in the IKEv2 via introducing some extensions in the SUPPORTED_AUTH_METHODS Notify. </t>

<t> For all of those Internet standard drafts, it is the same that the correponding KEM certificates and singatures for the involved siganture algorithms are exchanged via the INTERMEDIATE Exchange, defined in <xref target="RFC9242"></xref>. </t>

<t> Motivated by the fact that no concrete composite signature authentication has been proposed, this draft specifies how the authentication in the IKEv2 is completed by using composite ML-DSA singature algorithms, defined <xref target="OGPKF24"> </xref>. Namely, those algorithms include all the following compsite signatures of ML-DSA <xref target="FIPS203"> </xref>, the newly post-quantum digital singature standard released by NIST, and one of the following traditional singature algorithms, SA-PKCS#1v1.5, RSA-PSS, ECDSA, Ed25519, and Ed448.  In function, composite ML-DSA authenticatio is achieved by asking to add a new value (TBD) in the "IKEv2 Authentication Method" registry <xref target="IANA-IKEv2"> </xref>, mantained by IANA. After that, two peers MUST send the SUPPORTED_AUTH_METHODS Notify, defined in <xref target="RFC9593"> </xref>, to negotiate the specific composite ML-DSA algoithms.  Finally, using the the specific composite ML-DSA algoithms selected, not necessarily the same algoithm in bidirections, the peers SHALL sign and verify the IKE data to be authenticated, according the specfication in  <xref target="RFC7296"> </xref>.  </t>

<t> The whole procedure is just the same as using one of the current signature algorithm for the IKEv2 authenticaitno. Therefore,  a compsote algorithm achieves "protocol backwards-compatibility" by simply replacing one existing algorithm without requiring any modification at the protocol level, ranther than at the cryptography level, as further explained in Section 2, Composite Design Philosophy, in <xref target="OGPKF24"> </xref>. </t>
		
</section>

<section>
        <name>Requirements Language</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
          "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
          RECOMMENDED", "MAY", and "OPTIONAL" 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>
    </section>
      <!-- [CHECK] The 'Requirements Language' section is optional -->
	  
<section>  <name> Composite ML-DSA Signatures </name>
    
	<t>  By following the definiton given in <xref target="I-D.BHCD"></xref>, a signature scheme consists of the following three algorithms: </t>

      <ul spacing="normal">
	  <li> KeyGen(k) -> (pk, sk): A probabilistic key generation algorithm, which generates a public verifying key pk and a private signing key sk, when a security parameter k is given..</li>
	  
	  <li> Sign(sk, m) -> s: A deterministic or probabilistic signature generation algorithm, which takes as input a private signing key sk and a message m, and outputs a signature s. </li>
      
	  <li> Verify(pk, s, m) -> b: A deterministic verification algorithm, which takes as input a public verifying key pk, a signature s and a message m, and outputs a bit b indicating accept (b=1) or reject (b=0) of the signature-message pair (s, m). </li>
      </ul>
	  
	  <t> Composite signature follows the same syntax as the above for normal signature algorithm, with the signing key sk and the verifying key pk consisted of two compsonent keys. The detailed structures of composite signature and its keys follow the specification given in  <xref target="OGPKF24"></xref>.  For simplicy, all these structures for composit signature can be treated as the concatenation of those of two component signature algorithm. </t>
	  
	  <t> ML-DSA <xref target="FIPS204"></xref>, Module-Lattice-Based Digital Signature Standard, was released in August of 2024 by NIST. The algorithm has three sets of parameters for three NIST security levels. Namely, ML-DSA-44 for Level 2, ML-DSA-65 for Level 3, and ML-DSA-87 for Level 5. </t>
	  
	  <t>  Moreover, ML-DSA <xref target="FIPS204"></xref> is specified in pure and pre-hashed signing modes, referred to as "ML-DSA" and "HashML-DSA" respectively. Following the specifications in <xref target="OGPKF24"></xref>, this draft also uses "Composite-ML-DSA" and "HashComposite-ML-DSA" to refer the composite signature obtained by using "ML-DSA" and "HashML-DSA" respectivley. In total,  <xref target="OGPKF24"></xref> specifies 27 composite ML-DSA algorithms:  Namely, 13 for "Composite-ML-DSA" with OIDs from &lt;CompSig&gt;.21 to &lt;CompSig&gt;.43, listed in Section 7.1  in <xref target="OGPKF24"></xref>, and 14 for "HashComposite-ML-DSA" with OIDs from &lt;CompSig&gt;.40 to &lt;CompSig&gt;.53, listed in Section 7.2  in <xref target="OGPKF24"></xref>. Here, "&lt;CompSig&gt;" is equal to "2.16.840.1.114027.80.8.1". </t>
	  
	  <t> For the purpose of this document, the following uderstanding shall be enough. Namely, to generate a ML-DSA composite signature,  the given message M MUST be first processed as following, according to ML-DSA is used as pure or pre-hashed mode.  </t>
	  <ul spacing="normal">
	  <li> For the pure mode "ML-DSA":  M'=Domain||len(ctx)||ctx||M.</li>
	  <li> For the pre-hashed  mode "HashML-DSA": M'=Domain||len(ctx)||ctx||HashOID||PH(M). </li>
      </ul>
	 
	  <t> Here, according to the specification given in  <xref target="OGPKF24"></xref>, </t>

	  <ul spacing="normal">
	  <li> Domain: It is the domain separator, which is defiend as the OID of the this specific composite siganture algorithm, eg., &lt;CompSig&gt;.28 for pure mode MLDSA65-ECDSA-P384, or &lt;CompSig&gt;.51 for pre-hashed mode HashMLDSA87-ECDSA-P384-SHA512. >.</li>
	  <li> ctx: The context string, which defaults to the empty string. </li>
	  <li> len(ctx): The length of ctx. </li>
	  <li> PH(M): The hash value of applying pre-hash PH to message M, where PH is the assocated hash algorithm with this specific composite siganture algorithm, e.g., SHA512 for the compsite siganture HashMLDSA87-ECDSA-P384-SHA512. </li>
	   <li> HashOID: The OID of the pre-hash PH assocated with this specific composite siganture algorithm, e.g., the OID of SHA512 for the compsite siganture algorithm HashMLDSA87-ECDSA-P384-SHA512. </li>
      </ul>
	  
	   <t>After that, the processed message M' is sent to ML-DSA signing algorithm to sign, i.e. s1=ML-DSA(mldsaSK, M', ctx=Domain) and also to the traditional digital signature algorithm to sign, e.g, s2=Trad.Sign( tradSK, M'). Then, those two component signatures SHALL be concatenated together as the composite signature s, i.e., s=s1||s2. Note that the domain separator Domain used here is to achieve the weak non-separability (WNS), defined in <xref target="I-D.BHCD"></xref>. </t>
 	  
	  <t>Finally, to verify a composite signature s=s1||s2, s SHALL be parsed as s1 and s2. Then, message M SHALL be processed just as above to output M', according to if ML-DSA used here is pure mode or pre-hashed mode. Finally, (s, M) is a valid compsite signature and message pair if and only if both (s1, M') is valid singature for ML-DSA and (s2, M') is valid for the traditional signature algorithm used here. </t>
 	  
	  </section>
	
<section title="Protocl Details for Composite ML-DSA Authentication" anchor="Protocol">
	
	<t> By following <xref target="RFC9593"></xref>, two communicating peers send ech other the Notify Message Type SUPPORTED_AUTH_METHODS to negotiate which authentication method will be used to authenticate them to each other. Bascially, the authentication method can be any one registered in the "IKEv2 Authentication Method" registry under "Internet Key Exchange Version 2 (IKEv2) Parameters" <xref target="IANA-IKEv2"></xref>, maintained by IANA. To run Composite ML-DSA Authentication, this document is supposed to apply the value of 15 (TBD) for "Composite ML-DSA Authentication" in the "IKEv2 Authentication Method" registry (<xref target="IANA "></xref>).</t>
	
<section title="Exchanges for Composite ML-DSA Authentication" anchor="Exchanges">

<t> After the initiator starts the IKE_SA_INIT exchange as usual, the responder sents the notify SUPPORTED_AUTH_METHODS with value of 15 (TBD) to indicate that the responder wants to run Composite ML-DSA Authentication with respect to some specific Composite ML-DSA algorithms, which the responder supports. These compsite algoithms will be listed in the SUPPORTED_AUTH_METHODS Notify Payload (<xref target="Payload"></xref>), ordered by the responder's preference, among other possible authentication methods. </t>

<t> After the initiator receives SUPPORTED_AUTH_METHODS from the resonder, it will select the Composite ML-DSA algorithm, with highest preference of the responder, from the list of all Composite ML-DSA algorithms sent by the responder which the initator supports as well, to authenticate itself to the initiator. </t>

 <t> Table 1 below gives an example to show how two peers use the SUPPORTED_AUTH_METHODS notification to run Composite ML-DSA authentication. In the protocol, the IKE_INTERMEDIATE exchange may be used to faciliate the hybrid key exchange in the IKEv2 as specified in <xref target="RFC9370"></xref>, and to transfer PQ certifates between the responder and the intitator for completing Composite ML-DSA authentication. </t>

 
 <!-- RFC 9593: If these payloads are sent, they MUST be identical to the IDi/IDr payloads sent later in the IKE_AUTH request -->

<artwork><![CDATA[
Initiator                                                  Responder
---------------------------------------------------------------------
HDR(IKE_SA_INIT), SAi1(.. ADDKE*..), --->
KEi, Ni, N(INTERMEDIATE_EXCHANGE_SUPPORTED), ..
                   <--- HDR(IKE_SA_INIT), SAr1(.. ADDKE*..), [CERTRQ,]
                        KEr, Nr, N(INTERMEDIATE_EXCHANGE_SUPPORTED), ..
                        N(ISUPPORTED_AUTH_METHODS(..15(TBD)..)),..

                    ... (IKE_INTERMEDIATE for ADDKE) ...

HDR(IKE_AUTH), SK{IDi, [CERT,] [CERTRQ,] 
[IDr,] AUTH, SAi2, TSi, TSr, 
N(ISUPPORTED_AUTH_METHODS(..15(TBD)..))} --->
                    ... (IKE_INTERMEDIATE for [CERT,]) ...
                   <--- HDR(IKE_AUTH), SK{IDr, [CERT,] AUTH, SAr2, TSi, TSr}                         
				   ... (IKE_INTERMEDIATE for [CERT,]) ...

Fig. 1 An Example of Running Composite ML-DSA Authentication between Two Peers 
  
]]></artwork> 

<t> If the resulting SUPPORTED_AUTH_METHODS notification with list of autehnticiton methods is too long such that IP fragmentation <xref target="RFC7383"></xref> of the IKE_SA_INIT response may happen, the responder MAY choose to send empty SUPPORTED_AUTH_METHODS notification in the IKE_SA_INIT exchange response. Then, the responder and the intiatior can send ech other the SUPPORTED_AUTH_METHODS notification with list of authentictatin methods they support by using the IKE_INTERMEDIATE exchange, as desribed in Section 3.1 of <xref target="RFC9593"></xref>. </t>

	<t> [EDNOTE: More examples may be provided later.] </t>
	
	</section>

    <section title="Payload Format for Composite ML-DSA Authentication" anchor="Payload">
 
	 <t> For easy reference, the SUPPORTED_AUTH_METHODS Notify payload format is shown in the following, as specified in Section 3.2 of <xref target="RFC9593"></xref>. Correspondigly, here, Protocol ID field MUST be set to 0, the SPI Size MUS be set to 0 (meaning there is no SPI field), and the Notify Message Type MUST set to 16443. </t>
   
	<artwork><![CDATA[
                        1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Next Payload  |C|  RESERVED   |         Payload Length        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Protocol ID  |   SPI Size    |      Notify Message Type      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~          List of Supported Auth Methods Announcements         ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	
	Fig.2  SUPPORTED_AUTH_METHODS Notify Payload Format
	]]></artwork>
	
	<t> Payload Format for Composite ML-DSA Authentication Announcement is defined in Fig. 3, which is treated as part of the Supported Auth Methods Announcements shown in Fig. 2. Namely, for this part, a number (N) of Composite ML-DSA authentication methods are listed, as desribed below. </t>
	
	<ul>
    <li> Length: Length of the whole blob of one announcement in octets; must be greater than 5. </li>
	<li> Auth Method: Announced authentication method, which is supposed to 15 (TBD), standing for "Composite ML-DSA authentication" for the IKEv2.</li>
	<li> Cert Link: Links this announcement with a particular CA, which issued the Composite ML-DSA certificate for the Composite ML-DSA algorithm identified in AlgorithmIdentifiers below; see Section 3.2.2 of <xref target="RFC9593"></xref> for detail. </li>
    <li> Alg Len 1: Length of the Composite ML-DSA algorithm idenfied in AlgorithmIdentifiers below, in octets. </li>
	<li> AlgorithmIdentifier: One variable-length ASN.1 objects that are encoded using Distinguished Encoding Rules (DER) <xref target="X.690"></xref> and identify one specific Composite ML-DSA algorithm.  </li>
    </ul>
	
	<t> By the above definition, AlgorithmIdentifier is just &lt;CompSig&gt;.i <xref target="OGPKF24"></xref>, where i specifies which specific Composite ML-DSA algorithm was announced here.  
	For example, if AlgorithmIdentifier is &lt;CompSig&gt;.28, this means that pure mode MLDSA65-ECDSA-P384 is selected. Namely, pure mode MLDSA65ML and ECDSA-P384 will be used to compositely sign the IKE data to be authenticated, according to <xref target="RFC7296"></xref>. </t>

<artwork><![CDATA[

                     1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Length (>5)  |  Auth Method  |  Cert Link 1  |  Alg Len 1    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
~                      AlgorithmIdentifier  1                   ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Cert Link 2  |  Alg Len 2    |                               | 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
~                      AlgorithmIdentifier  2                   ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                      ...                                      ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Cert Link N  |  Alg Len N    |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               | 
~                      AlgorithmIdentifier  N                   ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Fig.3  Payload Format for Composite ML-DSA Authentication Announcement

]]></artwork> 
	
	
	<!-- By now, this document is open to use two formats for KEM_based_Auth_IOD, namely Fixed and Flexible. as defined below. </t>
	
    <ul>
    <li> Fixed KEM_based_Auth_OID: This is a variable-length ASN.1 object that is encoded using Distinguished Encoding Rules (DER) <xref target="X.690"></xref> and identifies a fixed combination of one specific KEM aglorithm and one keyed MAC algorithm (see Section 4.1.1.2 of <xref target="RFC5280"></xref>. ) For example, ML-KEM-768_SHA256, which means that ML-KEM-768 will be used to encapsulate and decapsulate the shared secret ss in KEM-based authenticaion, while SHA256 with key ss will be used to calculate the IKE authentication code for the IKE data to be authenticated, according to <xref target="RFC7296"></xref>. </li> 
    <li> Flexible KEM_based_Auth_OID: This is the concatenation of two variable-length ASN.1 objects that identify one specific KEM aglorithm and one keyed MAC algorithm, which are combined here temporary for this instance of KEM-based authenticaion. For example, ML-KEM-768+SHAKE128, which means that ML-KEM-768 will be used to encapsulate and decapsulate the shared secret ss in KEM-based authenticaion, while SHAKE128 with key ss will be used to calculate the IKE authentication code for the IKE data to be authenticated.</li>
	</ul>
	
	<t> [EDNOTE: Later, it may need to decide how many of Fixed KEM_based_Auth_OIDs are required. For each such a combination, a unique OID SHALL be applied. Comments and suggestions are welcome] </t>
	-->

<!-- <t> [EDNOTE: ... </t> -->

<t> In this document, fixed composite ML-DSA algorithms defined in <xref target="OGPKF24"></xref> are registered as a set of authentication methods in the "IKEv2 Authentication Method" registry <xref target="IANA-IKEv2"> </xref>, mantained by IANA. This approach is parallel to what the general "Digital Signature" (14) is regisered in the same registry. It is also possible to choose register some specific composite ML-DSA algorithms ((popular ones, for example) at the same level as "Digital Signature" (14). However, if too many such algorithms registered there, this will make the limited codes in the "IKEv2 Authentication Method" registry (only 256 possibilities) even scarce. </t>


	<t> [EDNOTE: More examples may be provided later.] </t>
    
	</section>
	
</section>

<section title="Security Considerations" anchor="Security">

<t> To be done later.  </t>

</section>
	

<section title="IANA Considerations" anchor="IANA">

     <t> This document is supposed to define a new type in the "IKEv2 Authentication Method" registry under "Internet Key Exchange Version 2 (IKEv2) Parameters" <xref target="IANA-IKEv2"></xref>, maintained by IANA:

. </t>
	 
	 <artwork><![CDATA[
            +==========+===================================+============+
            | Value    |    IKEv2 Authentication Method    | Reference  |
            +==========+===================================+============+
            | 15 (TBD) |  Composite ML-DSA Authentication  | This draft |
            +----------+-----------------------------------+------------+
	]]></artwork> 
	 
	 
   
</section>


<section title="Acknowledgments" anchor="acknowledgements">

<t>
To be added later.
</t>
</section>

</middle>

<back>
  
<references title="Normative References">

        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
		<!-- <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5280.xml"/> --> 
		<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7296.xml"/>
		<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7383.xml"/>
		<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7427.xml"/>
		<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
		<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9242.xml"/>
		<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9370.xml"/>
		<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9593.xml"/>
		
		<reference anchor="FIPS203"  target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.pdf">
          <front>
            <title>FIPS 203: Module-Lattice-Based Key-Encapsulation Mechanism Standard </title>
            <author fullname="National Institute of Standards and Technology" initials="" surname="National Institute of Standards and Technology" />
            <date month="August" year="2024"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Federal Information Processing Standards Publication" value=""/>
        </reference>

	<reference anchor="FIPS204"  target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.204.pdf">
          <front>
            <title>FIPS 204: Module-Lattice-Based Digital Signature Standard </title>
            <author fullname="National Institute of Standards and Technology" initials="" surname="National Institute of Standards and Technology" />
            <date month="August" year="2024"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Federal Information Processing Standards Publication" value=""/>
		</reference>
		
		<reference anchor="FIPS205"  target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.204.pdf">
          <front>
            <title>FIPS 205: Stateless Hash-Based Digital Signature Standard </title>
            <author fullname="National Institute of Standards and Technology" initials="" surname="National Institute of Standards and Technology" />
            <date month="August" year="2024"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Federal Information Processing Standards Publication" value=""/>
		</reference>
		
		<reference anchor="X.690"  target="">
          <front>
            <title>Information Technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER) </title>
            <author fullname="ITU-T " initials="" surname="ITU-T" />
            <date month="February" year="2021"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="ISO/IEC 8825-1:2021 (E),  " value="ITU-T Recommendation X.690"/>
        </reference>

<reference anchor="IANA-IKEv2" target="https://www.iana.org/assignments/ikev2-parameters/ikev2-parameters.xhtml">
          <front>
            <title> Internet Key Exchange Version 2 (IKEv2) Parameters </title>
            <author fullname=" " initials=" " surname=" "/>
		 
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="the Internet Assigned Numbers Authority (IANA)." value=""/>
        </reference>
		


		
        <!-- The recommended and simplest way to include a well known reference -->
 
</references>


<references>
        <name>Informative References</name>
		
		
		<reference anchor="OGPKF24" target="https://datatracker.ietf.org/doc/draft-ietf-lamps-pq-composite-sigs/">
          <front>
            <title> Composite ML-DSA For use in X.509 Public Key Infrastructure and CMS </title>
            <author fullname="M. Ounsworth" initials="M." surname="M. Ounsworth"/>
            <author fullname="J. Grayi" initials="J." surname="Gray"/>
			<author fullname="M. Pala" initials="M." surname="Pala"/>
			<author fullname="J. Klaussner" initials="J." surname="J. Klaussner"/>
            <author fullname="S. Fluhrer" initials="S. " surname="S. Fluhrer"/>
            <date month="October" year="2024"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Work in Progress, " value="Internet-Draft, v04."/>
        </reference>
		
		
				
		
		<reference anchor="I-D.RSF25"  target="https://datatracker.ietf.org/doc/draft-reddy-ipsecme-ikev2-pqc-auth/">
          <front>
            <title> Signature Authentication in the Internet Key Exchange Version 2 (IKEv2) using PQC  </title>
            <author fullname="T. Reddy" initials="T." surname="Reddy"/>
            <author fullname="V. Smyslov" initials="V." surname="Smyslov"/>
			<author fullname="S. Fluhrer" initials="S." surname="Fluhrer"/>
		
            <date month="February" year="2025"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Work in Progress, " value="Internet-Draft, v04"/>
        </reference>
		
		
		<reference anchor="I-D.Flu25"  target="https://datatracker.ietf.org/doc/draft-sfluhrer-ipsecme-ikev2-mldsa/">
          <front>
            <title> IKEv2 Support of ML-DSA </title>
            <author fullname="S. Fluhrer" initials="S." surname="Fluhrer"/>
		
            <date month="January" year="2025"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Work in Progress, " value="Internet-Draft, v00"/>
        </reference>
		
		<reference anchor="I-D.HM25"  target="https://datatracker.ietf.org/doc/draft-hu-ipsecme-pqt-hybrid-auth/">
          <front>
            <title> Post-Quantum Traditional (PQ/T) Hybrid PKI Authentication in the Internet Key Exchange Version 2 (IKEv2) </title>
            <author fullname="Y. Morioka" initials="Y." surname="Morioka"/>
		
            <date month="November" year="2024"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Work in Progress, " value="Internet-Draft, v01"/>
        </reference>
		
		<reference anchor="I-D.BHCD"  target="https://datatracker.ietf.org/doc/draft-ietf-pquip-hybrid-signature-spectrums/">
          <front>
            <title> Hybrid signature spectrums </title>
            <author fullname="N. Bindel" initials="B." surname="Bindel"/>
            <author fullname="B. Hale " initials="B." surname="Hale "/>
			<author fullname="D. Connolly" initials="D." surname="Connolly"/>
		    <author fullname="F. Driscoll" initials="F." surname="Driscoll"/>
			
			<date month="January" year="2025"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Work in Progress, " value="Internet Draft, v06"/>
        </reference>
		
		
		
      </references>
    

</back>

</rfc>

<!--

<reference anchor="I-D.Kyber24"  target="https://datatracker.ietf.org/doc/draft-cfrg-schwabe-kyber/">
          <front>
            <title>Kyber Post-Quantum KEM </title>
            <author fullname="Peter Schwabe" initials="P. " surname="Schwabe" />
			<author fullname="Bas Westerbaan" initials="B. " surname="Westerbaan" />
            <date month="January" year="2024"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Work in Progress, " value="Internet-Draft, "/>
        </reference>
		
	
		<reference anchor="OPM23"  target="">
          <front>
            <title>Where Is the Research on Cryptographic Transition and Agility?</title>
            <author fullname="D. Ott" initials="D." surname="Ott"/>
            <author fullname="K. Paterson" initials="K." surname="Paterson"/>
			<author fullname="D. Moreau" initials="D." surname="Moreau"/>
            <date month="January" year="2023"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Communications of the ACM, " value="66(4): 29-32"/>
        </reference>
		
		<reference anchor="FrodoKEM"  target="https://frodokem.org/files/FrodoKEM-standard_proposal-20230314.pdf">
          <front>
            <title>FrodoKEM: Learning With Errors Key Encapsulation</title>
            <author fullname="E. Alkim" initials="E." surname="Alkim"/>
            <author fullname="J. W. Bos" initials="J. W." surname="Bos"/>
			<author fullname="L. Ducas" initials="L." surname="Ducas"/>
			<author fullname="P. Longa" initials="P." surname="Longa"/>
            <author fullname="I. Mironov" initials="I. " surname="Mironov"/>
			<author fullname="M. Naehrig" initials="N." surname="Naehrig"/>
			<author fullname="V. Nikolaenko" initials="V." surname="Nikolaenko"/>
			<author fullname="C. Peikert" initials="C." surname="Peikert"/>
			<author fullname="A. Raghunathan" initials="A." surname="Raghunathan"/>
            <author fullname="D. Stebila" initials="D. " surname="Stebila"/>
            <date month="March" year="2023"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Preliminary Standardization Proposal submitted to ISO" value=""/>
        </reference>
		
<reference anchor="CD22"  target="https://eprint.iacr.org/2022/975">
          <front>
            <title> An Efficient Key Recovery Attack on SIDH </title>
            <author fullname="W. Castryck" initials="W." surname="Castryck"/>
            <author fullname="T. Decru" initials="T." surname="Decru"/>
            <date month="July" year="2022"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
	         <seriesInfo name="Formal version published in the proceddings of EUROCRYPT 2023" value=""/>
			 </reference>
			 
			 <reference anchor="HAZ24" target="https://tches.iacr.org/index.php/TCHES/article/view/11419">
          <front>
            <title> Revisiting Keccak and Dilithium Implementations on ARMv7-M </title>
            <author fullname="J. Huang" initials="J." surname="Huang"/>
            <author fullname="A. Adomnicai" initials="A." surname="Adomnicai"/>
			<author fullname="J. Zhang" initials="J." surname="Zhang"/>
			<author fullname="W. Dai" initials="W." surname="Dai"/>
            <author fullname="Y. Liu" initials="Y. " surname="Liu"/>
			<author fullname="R. C. C. Cheung" initials="R. C. C." surname="Cheung"/>
			<author fullname="C. K. Koc" initials="C. K." surname="Koc"/>
			<author fullname="D. Chen" initials="D." surname="Chen"/>
            <date month="March" year="2024"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="IACR Transactions on Cryptographic Hardware and Embedded Systems. " value="ISSN 2569-2925, Vol. 2024, No. 2, pp. 1–24."/>
        </reference>
		
		<reference anchor="SSW20"  target=" ">
          <front>
            <title> Post-quantum TLS without handshake signatures </title>
            <author fullname="P. Schwabe" initials="P." surname="Schwabe"/>
            <author fullname="D. Stebila" initials="D." surname="Stebila"/>
			<author fullname="T. Wiggers" initials="T." surname="Wiggers"/>
            <date month="November" year="2020"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="In the Proceedings of ACM CCS 2020, pages 1461–1480. ACM Press." value="doi:10.1145/3372297.3423350."/>
        </reference>
		
	<reference anchor="I-D.D24"  target="https://datatracker.ietf.org/doc/draft-ietf-pquip-pqt-hybrid-terminology/">
          <front>
            <title>Terminology for Post-Quantum Traditional Hybrid Schemes</title>
            <author fullname="F. Driscoll" initials="F." surname="F. Driscoll"/>
            <date month="February" year="2024"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Work in Progress, " value="Internet-Draft, "/>
        </reference>
		
		<reference anchor="I-D.KR24"  target="https://datatracker.ietf.org/doc/draft-kampanakis-ml-kem-ikev2/">
          <front>
            <title>Post-quantum Hybrid Key Exchange with ML-KEM in the Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author fullname="P. Kampanakis" initials="K." surname="Kampanakis"/>
            <author fullname="G. Ravago" initials="G." surname="Ravago"/>
            <date month="November" year="2024"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Work in Progress, " value="Internet-Draft, "/>
        </reference>
	
<reference anchor="I-D.WCS"  target="https://datatracker.ietf.org/doc/draft-celi-wiggers-tls-authkem/">
          <front>
            <title> KEM-based Authentication for TLS 1.3 </title>
            <author fullname="T. Wiggers" initials="T." surname="Wiggers"/>
            <author fullname="S. Celi" initials="S." surname="Celi"/>
			<author fullname="P. Schwabe" initials="P." surname="Schwabe"/>
		    <author fullname="D. Stebila" initials="D." surname="Stebila"/>
			<author fullname="N. Sullivan" initials="N." surname="Sullivan"/>
			
            <date month="October" year="2024"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Work in Progress, " value="Individual Draft, v04"/>
        </reference>
		
		
-->