<?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-multi-auth-ikev2-pq-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="Multi-Authentication in IKEv2"> Multi-Authentication in IKEv2 with Post-quantum Security </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-multi-auth-ikev2-pq-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>
	
	 <author fullname="Wei Pan" initials="W." surname="Pan">
      <!-- [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 Technologies</organization>
      <address>
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>101 Software Avenue, Yuhuatai District</street>
          <city> Nanjing, Jiangsu </city>
          <code>138588</code>
          <country>China</country>
          <!-- Uses two letter country code -->
        </postal>        
        <email>william.panwei@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>
	  
	 <t> Motivated to mitigate security threats again quantum computers, this draft specifies a general authentication mechanism in the Internet Key Exchange Protocol Version 2 (IKEv2) <xref target="RFC7296"> </xref>, called Multi-Authentication. Namely, two peers can negotiate two or more authentication methods to authenticate each other. The authentication methods selected do not necessarily belong to the same category. This mechanism is achieved by adding a new value (17) (TBD) in the "IKEv2 Authentication Method" registry <xref target="IANA-IKEv2"> </xref>, maintained by IANA. To run Multiple Authentication, two peers send the SUPPORTED_AUTH_METHODS Notify, defined in <xref target="RFC9593"> </xref>, to negotiate two or more authentication methods for authenticaion in IKEv2. </t>

	  <t> [EDNOTE: Code points for Multi-Authentication may need to be assigned in the "IKEv2 Authentication Method" registry <xref target="IANA-IKEv2"></xref>, 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 data securely protected by current standards. In particular, the so-called harvest-now-and-decrypt-later (HNDL) attack is considered an imminent threat. To mitigate this threat against the Internet Key Exchange Protocol Version 2 (IKEv2) <xref target="RFC7296"> </xref>, multiple key exchanges in the IKEv2 <xref target="RFC9370"></xref> were introduced to achieve post-quantum (PQ) security. To enable post-quantum security for the authentication in 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 authentication in IKEv2, as further discribed by the following drafts.</t>  

<t> "Signature Authentication in the Internet Key Exchange Version 2 (IKEv2) using PQC" <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 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 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.HMW25"> </xref> specifies how to run general hybrid PQ/T digital algorithms in IKEv2 via introducing some extensions in the SUPPORTED_AUTH_METHODS Notify. </t>

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

<t> However, except authentication by composite signatures is specified in <xref target="I-D.HMW25"> </xref> where the corresponding certificates can be a composite certificate or dual certificates, all others are single method authentication. As discussed in <xref target="I-D.DPH25"></xref> and <xref target="I-D.WBS25"></xref>, hybrid is a more conservative approach to the migration from traditional algrotihms to post-quantum (PQ) algorithms. Moreover, there a number of different authentication methods now, including Shared Key Message Integrity Code (2), Generic Secure Password Authentication Method (12), several specific signature algorithms (3, 9, 10, 11), general Digital Signature (14), and newly proposed KEM based authentication (16, TBD) <xref target="I-D.WS25"></xref>.  </t>

 <t> Motivated by the fact that there is a need of hybrid authentication, this draft specifies a general authentication mechanism in the Internet Key Exchange Protocol Version 2 (IKEv2) <xref target="RFC7296"> </xref>, called Multi-Authentication. Namely, two peers can negotiate two or more authentication methods to authenticate each other. The authentication methods selected do not necessarily belong to the same category. For example, two peers may select a traditional signature and a PQ signature (like ML-DSA <xref target="FIPS204"> </xref>), or MAC based authentication and a PQ signature. </t>
 
 <t> This mechanism is achieved by adding a new value (17, TBD) in the "IKEv2 Authentication Method" registry <xref target="IANA-IKEv2"> </xref>, maintained by IANA. To run Multi-Authentication, two peers send the SUPPORTED_AUTH_METHODS Notify, defined in <xref target="RFC9593"> </xref>, to negotiate two or more authentication methods for authenticaion in IKEv2.  Finally, using the authentication methods selected, not necessarily the same algoithm in two directions, the peers SHALL authenticate the IKE data to each other, according to the specfication in  <xref target="RFC7296"> </xref>. </t>

<t> Actually, it is noticed that <xref target="RFC4739"> </xref> specifies a mechanism called Multiple Authentication Exchange to run two or more authenticaiton in IKEv2. This mechanism is realized via two types of notification. Firstly, two peers run MULTIPLE_AUTH_SUPPORTED notification in the IKE_SA_INIT response (responder) and the first IKE_AUTH request (initiator) to indicate that they are willing to run a second authentication. After that, they exchange ANOTHER_AUTH_FOLLOWS notification in any IKE_AUTH message to complete the second authentication. However, <xref target="RFC4739"> </xref>  is not supported for post-quantum security at all. </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> Multiple Authentication in the IKEv2</name>
    
	
	
	<section>  <name> Challenges </name>
	
	<t> Here are the main challenging reasons for why a general PQ secure solution is hard for the authentication in the IKEv2: </t>
	
	<ul>
    <li> For the key exchange in IKEv2, the algorithm selected SHALL be the same for both peers. Different from this, two peers in the IKEv2 authentication MAY select different authentication methods to authenticate itself to the other. </li>
	<li> Authentication negotiation or indication in the IKEv2 is done via notifications, as shown in <xref target="RFC9593"> </xref>  and <xref target="RFC4739"> </xref>, not via normal message payloads in the IKE_SA_INIT or IKE_Auth, as the IKE key exchange does.</li>
	<li> However, in the IKE authentication, each peers has more info or requirement to transfer: which authentication methods itself supports, which authentication methods it prefers to authenticate itself to the other peer, and which authentication methods it prefers that the other peer SHOULD select to be authenticated. All of this may be covered by a term like "authentication policy", from both peers. </li>
    <li> Even the peers select the authentication methods both sides satisfied according to their preference, these methods may still fail for use, as there is still one more issue, certificates! Namely, the trust anchor of one peer may be not trusted by the other peer, when digital signature algorithms are selected for authentication in the IKEv2. </li>
    </ul>
	
	</section>
	  
	  
	  <section>  <name> Basic Ideas of the Solution Proposed </name>
	
	<t> The basic idea proposed in this document is to mimic the addtional key exchange (ADDKE) proposed in <xref target="RFC9370"> </xref>. Namely, when one peer A (the sender) sends SUPPORTED_AUTH_METHODS Notify payload to announce what the authentication methods it supports, this payload also tansfers the info which methods it expects the other peer B SHALL select for authentication. This is done by assigning different authentication methods into a few authentication sets, and the other peer B MUST select one of the methods in each authentication set. More importantly, the feedback from the othe peer B (the replier) is intentionally constructed as the followings to transfer the replier's authentication policy to the sender A. </t> 
	
	<ul>
    <li> 1 authentication set: This means that B agrees to use this set for bidirectional authentication. Namely, this implies that both A and B MUST use these methods in the authentication set to authenticate itself to the other. If this set is empty, it means that B does not support any authentication method in each set. If this set contains one or a number of NULL Authentication (13), it means that NULL Authentication (13) is a valid answer for one or a number of A's enquiring authentication sets. </li>
	<li> 2 authentication sets: This means that B SHALL use the first authentication set to authenticate itself to A, and A SHALL use the 2nd set to authenticate itstelf to B. In case the 2nd set is empty or just contains NULL Authentication (13), it means that B SHALL NOT require A to authenticate itself to B. </li>
	<li> 3 or more authentication sets: Similar as the above, the first set is for B to authenticate itself to A, the 2nd set MUST be empty that means B cannot select a set of methods from all methods A has sent, such that this set also satisfies B's authentication policy how A SHOULD authenticate itself to B. Therefore, after this empty set, all sets remaining are for expressing what B's authentication policy for A. </li>
	</ul>
	
	<t> For example, if A sends ten methods (a1, a2, ..., a10) via 3 authentication sets, say (a2, a1, a3), (a4, a8, a9), and  (a5, a6, a10, a7), according to A's preference. Then, if B sends back (a1, a4, a7), this implicitly means that both A and B SHALL use a1, a4, and a7 to authenticate itself to the other peer. Or, if B sends back two authentication sets, (a1, a4, a7) and (a2, a7), it means that B SHALL use a1, a4, and a7 to authenticate itself to A, and A SHOULD use a2 and a7 to authenticate itself to B. Finally, in another case, if B sends back 4 sets, (a1, a4, a7), () (empty set), (a1, a3, a8), and (a11, a12), it means that B SHALL use a1, a4, and a7 to authenticate itself to A, and that B is asking A selects 2 methods from set 3 and 4 so that A SHALL authenticate itself to B, though by now B is not sure if A does support either a11 or a12. </t>
	
	<t> If one execution of the above procedures cannot achieve the authentication policy for either of the two peers, they MAY abort the procedure or restart by any of the two peers as the sender to initate this authentication method negotiation. </t>
	
	<t> For flexibility, authentication methods in sets are not supposed to exclusively belonging to only one set, though this may be true in most cases. The reason is that selecting the same method from two different sets does not make much sense for enhacing security, unless this method is NULL Authentication (13) for adding flexibility. </t>
	
	 </section>
 	  
	</section>
	
<section title="Protocol Details for Multiple Authentication" anchor="Protocol">
	
	<t> By following <xref target="RFC9593"></xref>, two communicating peers send each other the Notify Message Type SUPPORTED_AUTH_METHODS to negotiate which authentication method(s) will be used to authenticate one of them to the other. Bascially, each of the authentication methods proposed 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 Multiple Authentication, this document adds the value 17 (TBD) for "Multi-Authentication" in the "IKEv2 Authentication Method" registry (<xref target="IANA "></xref>).</t>
	
<section title="Exchanges for Multiple 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 17 (TBD) to indicate that the responder wants to run Multiple Authentication with respect to several Authentication sets of authentication methods, which the responder supports. Each of these Authentication set will be listed in the SUPPORTED_AUTH_METHODS Notify Payload (<xref target="Payload"></xref>), ordered by the responder's preference. </t>

<t> After the initiator receives SUPPORTED_AUTH_METHODS via several Authentication sets from the reponder, it will try to prepare the best anwser, i.e, one set, or two sets, or three sets, according to this specification given the above. </t>

 <t> Table 1 below shows how two peers use the SUPPORTED_AUTH_METHODS notification to run Multiple Authentication for the above example, where the responder's intial authentication sets are (a2, a1, a3), (a4, a8, a9), and  (a5, a6, a10, a7), while the initiator sends back two authentication sets (a1, a4, a7) and (a2, a7) as its feedback. In the protocol below, 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 Multiple 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(SUPPORTED_AUTH_METHODS(17((a2a1a3),(a4a8a9),(a5a6a10a7))))..

                    ... (IKE_INTERMEDIATE for ADDKE) ...

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

Fig. 1 An Example of Multi-Authentication between Two Peers 
  
]]></artwork> 

<t> If the resulting SUPPORTED_AUTH_METHODS notification with list of authentication 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 each other the SUPPORTED_AUTH_METHODS notification with list of authentication 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 Multi-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 MUST be set to 0 (meaning there is no SPI field), and the Notify Message Type MUST be 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 Multi-Authentication 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 (M) of Authentication Groups of authentication methods are listed, as desribed below. </t>
	
	
	<ul>
    <li> Length: Length of the whole blob of the announcement in octets; must be greater than 5. </li>
	<li> Multi-Auth: The value of "Multi-Authentication", which is supposed to be 17 (TBD). </li>
	<li> #Auth Group: The number of Authentication Groups listed in this announcement.</li>
	<li> #Auth Meth: The number of Authentication Methods in a given authentication group.</li>
	<li> Reserved: One byte reserved for future use. </li>
	<li> Auth Method: The value of one announced authentication method in a given authentication group.</li>
	<li> Cert Link: Links this announcement with a particular CA, which issued the public certificate for the Auth  Method identified in AlgorithmIdentifiers below; see Section 3.2.2 of <xref target="RFC9593"></xref> for detail. If this Auth Method is not related certificate, this info MUST be ignored. </li>
    <li> AlgID Len: Length of each authentication method algorithm ID, that is identified in AlgorithmIdentifier below, in octets. </li>
	<li> AlgorithmIdentifier: One ore more variable-length ASN.1 objects that are encoded using Distinguished Encoding Rules (DER) <xref target="X.690"></xref> to identify one specific Authentication Method algorithm.  </li>
    </ul>
	
	<t> Once two authentication sets have been negotiated, the corresponding authentication methods will be use to the IKE data for completing authentication, according to <xref target="RFC7296"></xref>. In the above example for Fig. 2, a1, a4, and a7 will be used to run multiple authentication from B to A, and a2 and a7 will be used to multi-authentication from A to B. Once all those authentication methods are correctly verified by one side, then this directional authentication is successful.  
	</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)  |   Multi-Auth  | #Auth Groups  | #Auth Meth 1  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Reserved   | Auth Meth 1.1 | Cert Link 1.1 | AlgID Len 1.1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                     AlgorithmIdentifier 1.1                   ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Auth Meth 1.2 | Cert Link 1.2 | AlgID Len 1.2 |               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               |
~                     AlgorithmIdentifier 1.2                   ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                              ...                              ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Auth Meth 1.N | Cert Link 1.N | AlgID Len 1.N |               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               | 
~                     AlgorithmIdentifier 1.N                   ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| #Auth Meth 2  |    Reserved   | Auth Meth 2.1 | Cert Link 2.1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AlgID Len 2.1 |                                               |
+-+-+-+-+-+-+-+-+                                               |
~                     AlgorithmIdentifier 2.1                   ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                                   ...                         ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| #Auth Meth M  |    Reserved   | Auth Meth M.1 | Cert Link M.1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AlgID Len M.1 |                                               |
+-+-+-+-+-+-+-+-+                                               |
~                    AlgorithmIdentifier M.1                    ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                                   ...                         ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Fig.3  Payload Format for Multi-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 authentication, 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 authentication. 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 authentication, 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> 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: ... </t> -->




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

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

<t> Multi-authentication is a combination of multiple component authentication methods. So, its seucrity relies on the security of the security of each component. By requiring multi-authentication is successful if and only if each component authentication is successful, multi-authentication is secure at least one of the component authentication method, with regarding to either traditional or traditional and quantum attacks. </t>

<t> At the time of writing, there are no other security issues which may need to be considered. </t>

</section>
	

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

     <t> This document adds 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  |
            +==========+===================================+============+
            | 17 (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.4739.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.HMW25"  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="Jun Hu" initials="J." surname="Hu"/>
			<author fullname="Yasufumi Morioka" initials="Y." surname="Morioka"/>
			<author fullname="Guilin Wang" initials="G." surname="Wang"/>
		
            <date month="November" year="2025"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Work in Progress, " value="Internet-Draft, v03"/>
        </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>
		
		<reference anchor="I-D.DPH25"  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="Driscoll"/>
			<author fullname="M. Parsons" initials="M." surname="Parsons"/>
			<author fullname="B. Hale" initials="B." surname="Hale"/>
            <date month="January" year="2025"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Work in Progress, " value="Internet-Draft, v06"/>
        </reference>
		
<reference anchor="I-D.WBS25"  target="https://datatracker.ietf.org/doc/draft-wang-ipsecme-hybrid-kem-ikev2-frodo/">
          <front>
            <title> Post-quantum Hybrid Key Exchange in the IKEv2 with FrodoKEM </title>
            <author fullname="Guilin Wang" initials="G." surname="Wang"/>
			<author fullname="Leonie Bruckert" initials="L." surname="L. Bruckert"/>
			<author fullname="Valery Smyslov" initials="V." surname="V. Smyslov"/>
            <date month="December" year="2025"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Work in Progress, " value="Individual Draft, v03"/>
        </reference>
		
<reference anchor="I-D.WS25"  target="https://datatracker.ietf.org/doc/draft-wang-ipsecme-kem-auth-ikev2/">
          <front>
            <title> KEM based Authentication for the IKEv2 with Post-quantum Security </title>
            <author fullname="Guilin Wang" initials="G." surname="Wang"/>
			<author fullname="Valery Smyslov" initials="V." surname="V. Smyslov"/>
            <date month="October" year="2025"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Work in Progress, " value="Individual Draft, v02"/>
        </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>
		
		
-->