<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.2.3) -->
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-emu-pqc-eapaka-05" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="PQ KEMs in EAP-AKA prime">Post-Quantum Key Encapsulation Mechanisms (PQ KEMs) in EAP-AKA prime</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-emu-pqc-eapaka-05"/>
    <author fullname="Tirumaleswar Reddy">
      <organization>Nokia</organization>
      <address>
        <postal>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <country>India</country>
        </postal>
        <email>kondtir@gmail.com</email>
      </address>
    </author>
    <author fullname="Aritra Banerjee">
      <organization>Nokia</organization>
      <address>
        <postal>
          <city>London</city>
          <country>United Kingdom</country>
        </postal>
        <email>aritra.banerjee@nokia.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="30"/>
    <area>Security</area>
    <workgroup>EMU</workgroup>
    <keyword>PQC</keyword>
    <keyword>EAP-AKA'</keyword>
    <abstract>
      <?line 70?>

<t>Forward Secrecy for the Extensible Authentication Protocol Method for Authentication and Key Agreement (EAP-AKA' FS) is specified in <xref target="RFC9678"/>. It updates <xref target="RFC9048"/> with an optional extension that
provides ephemeral key exchange using the traditional Ephemeral Elliptic Curve Diffie-Hellman (ECDHE) key agreement algorithm. This extension enables perfect forward secrecy (PFS). However, it is susceptible to future threats from Cryptographically Relevant Quantum Computers, which could potentially compromise a traditional ephemeral public key. If the adversary has also obtained knowledge of the long-term key and ephemeral public key, it could compromise session keys generated as part of the authentication run in EAP-AKA'.</t>
      <t>This draft aims to enhance the security of EAP-AKA' FS protocol by making it quantum-safe using Post-Quantum Key Encapsulation Mechanisms (PQ KEMs).</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-emu-pqc-eapaka/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        emu Working Group mailing list (<eref target="mailto:emu@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/emu/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/emu/"/>.
      </t>
    </note>
  </front>
  <middle>
    <?line 77?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Improved Extensible Authentication Protocol Method for 3GPP Mobile Network Authentication and Key Agreement (EAP-AKA') is specified in <xref target="RFC9048"/>. Forward Secrecy for EAP-AKA' (EAP-AKA' FS), defined in <xref target="RFC9678"/>, adds an optional ephemeral key exchange. This prevents an attacker who subsequently obtains the long-term key from deriving session keys established in previous protocol runs from previously recorded protocol messages. EAP-AKA' FS also mitigates passive attacks, such as large-scale pervasive monitoring, against future sessions after compromise of the long-term key. An adversary that has obtained the long-term key may still attempt active attacks by participating in or modifying subsequent protocol exchanges.</t>
      <t>Nevertheless, EAP-AKA' FS uses traditional public-key algorithms (e.g., ECDH) which will be broken by a Cryptographically Relevant Quantum Computer (CRQC) using Shor's algorithm. The presence of a CRQC would render state-of-the-art, traditional public-key algorithms deployed today obsolete and insecure, since the assumptions about the intractability of the mathematical problems for these algorithms that offer confident levels of security today no longer apply in the presence of a CRQC. A CRQC could recover the SHARED_SECRET from the ECDHE public keys (Section 6.3 of <xref target="RFC9678"/>). If the adversary has also obtained knowledge of the long-term key, it could then compute CK', IK', and the SHARED_SECRET, and any derived output keys. This means that the CRQC would disable the forward security capability provided by <xref target="RFC9678"/>.</t>
      <t>Researchers have developed Post-Quantum Key Encapsulation Mechanisms (PQ KEMs) to provide secure key establishment resistant against an adversary with access to a quantum computer.</t>
      <t>NIST has standardized PQC algorithms, with more expected to be standardized in the future (<xref target="NISTFINAL"/>). As these algorithms are designed to provide security against both classical and quantum adversaries, this document specifies the use of a PQ KEM instead of ECDHE for establishing the additional shared secret used to provide post-quantum forward secrecy in EAP-AKA'.</t>
      <t>The protocol construction can be used with other post-quantum Key Encapsulation Mechanisms (PQ KEMs). However, the public key and ciphertext must each fit within 65,535 octets, which is the maximum attribute size supported by the fragmentation mechanism. This excludes PQ KEMs such as Classic McEliece. This document specifies its use with ML-KEM. ML-KEM provides a one-pass (store-and-forward) cryptographic method for an originator to securely transmit keying material to a recipient using the recipient’s ML-KEM public key. Three parameter sets for ML-KEM are defined in <xref target="FIPS203"/>, namely ML-KEM-512, ML-KEM-768, and ML-KEM-1024, listed in order of increasing security strength and decreasing performance.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</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?>

</section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>This document makes use of the terms defined in <xref target="RFC9794"/>. The following terms are repeatedly used in this specification:</t>
      <ul spacing="normal">
        <li>
          <t>KEM: Key Encapsulation Mechanism</t>
        </li>
        <li>
          <t>PQ KEM: Post-Quantum Key Encapsulation Mechanism</t>
        </li>
        <li>
          <t>ML-KEM: Module-Lattice-based Key Encapsulation Mechanism</t>
        </li>
      </ul>
      <t>For the purposes of this document, it is helpful to be able to divide cryptographic algorithms into two classes:</t>
      <t>"Traditional asymmetric cryptographic algorithm":  An asymmetric cryptographic algorithm based on integer factorisation, finite field discrete logarithms or elliptic curve discrete logarithms, or related mathematical problems.</t>
      <t>"Post-quantum asymmetric cryptographic algorithm":  An asymmetric cryptographic algorithm that is believed to be secure against attacks using quantum computers as well as classical computers. Post-quantum algorithms can also be called quantum-resistant or quantum-safe algorithms. Examples of Post-Quantum Algorithm include ML-KEM.</t>
      <t>For brevity, this document may use "traditional algorithm" and "post-quantum algorithm", respectively, when the context is unambiguous.</t>
    </section>
    <section anchor="background-on-eap-aka-with-forward-secrecy">
      <name>Background on EAP-AKA' with forward secrecy</name>
      <t>In EAP-AKA', The authentication vector (AV) contains a random part RAND, an authenticator part AUTN used for authenticating the network to the USIM, an expected result part XRES, a 128-bit session key for integrity check IK, and a 128-bit session key for encryption CK.</t>
      <t>As described in the draft <xref target="RFC9678"/>, the server has the EAP identity of the peer. The server asks the Authentication Database (AD) to run AKA algorithm to generate RAND, AUTN, XRES, CK and IK. Further it also derives CK’ and IK’ keys which are tied to a particular network name. The server now generates the ephemeral key pair and sends the public key of that key pair and the first EAP method message to the peer. In this EAP message, AT_PUB_ECDHE (carries public key) and the AT_KDF_FS (carries other FS related parameters). Both of these might be ignored if USIM doesn’t support the Forward Secrecy extension. The peer checks if it wants to have a Forward extension in EAP AKA'. If yes, then it will eventually respond with AT_PUB_ECDHE and MAC. If not, it will ignore AT_PUB_ECDHE. If the peer wants to participate in FS extension, it will then generate its ECDH key pair, calculate a shared key based on its private key and server public key. The server will receive the RES from peer and AT_PUB_ECDHE. The shared key will be generated both in the peer and the server with key pairs exchanged, and later master key is also generated.</t>
      <artwork><![CDATA[
MK_ECDHE = PRF'(IK'| CK'|SHARED_SECRET,"EAP-AKA' FS"|Identity)
]]></artwork>
      <section anchor="key-encapsulation-mechanisms">
        <name>Key Encapsulation Mechanisms</name>
        <t>For the purposes of this document, we consider a Key Encapsulation Mechanism (KEM) to be any asymmetric cryptographic scheme comprised of algorithms satisfying the following interfaces <xref target="PQCAPI"/>.</t>
        <ul spacing="normal">
          <li>
            <t>def kemKeyGen() -&gt; (pk, sk)</t>
          </li>
          <li>
            <t>def kemEncaps(pk) -&gt; (ct, ss)</t>
          </li>
          <li>
            <t>def kemDecaps(ct, sk) -&gt; ss</t>
          </li>
        </ul>
        <t>where pk is public key, sk is secret key, ct is the ciphertext representing an encapsulated key, and ss is shared secret.</t>
        <t>KEMs are typically used in cases where two parties, hereby referred to as the "encapsulator" and the "decapsulator", wish to establish a shared secret via public key cryptography, where the decapsulator has an asymmetric key pair and has previously shared the public key with the encapsulator.</t>
      </section>
    </section>
    <section anchor="rational">
      <name>Design Rationales</name>
      <t>The PQ KEM used in this document <bcp14>MUST</bcp14> be IND-CCA2 secure (As discussed in Section 9.2.1 in <xref target="RFC9958"/>).</t>
      <t>Note that during the transition from traditional to post-quantum algorithms, there may be a desire or a requirement for protocols that incorporate both types of algorithms until the post-quantum algorithms are fully trusted. HPKE can be extended to support hybrid post-quantum KEMs and the specifications for the use of HPKE with EAP-AKA' are described in <xref target="I-D.draft-ietf-emu-hybrid-pqc-eapaka"/>.</t>
    </section>
    <section anchor="pq-kem-enhancements-by-design">
      <name>PQ KEM Enhancements by Design</name>
      <t>This document specifies the following changes and enhancements to enable the use of PQ KEMs in EAP-AKA':</t>
      <ul spacing="normal">
        <li>
          <t>A new attribute, AT_PUB_KEM, is defined to carry the PQ KEM public key from the EAP server.</t>
        </li>
        <li>
          <t>A new attribute, AT_KEM_CT, is defined to carry the ciphertext (ct) generated by the PQ KEM Encapsulation function from the EAP peer.</t>
        </li>
        <li>
          <t>The AT_KDF_FS attribute is updated to indicate the PQ KEM for generating the Master Key MK_PQ_SHARED_SECRET.</t>
        </li>
        <li>
          <t>Multiple AT_KDF_FS attributes are included in the EAP-Request to handle the EAP peer not supporting PQ KEM.</t>
        </li>
        <li>
          <t>The ECDHE value is listed first in AT_KDF_FS so that legacy peers are not affected. A peer that supports this specification requests the PQ KEM as described in <xref target="negotiation"/>.</t>
        </li>
        <li>
          <t>EAP-AKA and EAP-AKA′ FS do not define a native attribute-level   fragmentation mechanism. As PQC public keys and ciphertexts may  exceed the EAP MTU, this specification defines an explicit   attribute-level fragmentation mechanism (AT_FRAGMENT) to support transport of large attribute values.</t>
        </li>
      </ul>
    </section>
    <section anchor="message-fragmentation-and-reassembly">
      <name>Message Fragmentation and Reassembly</name>
      <t>EAP-AKA and EAP-AKA' FS do not natively define fragmentation.  This specification therefore defines
attribute-level fragmentation for attributes whose total length may exceed the EAP MTU.</t>
      <t>This specification defines an attribute-level fragmentation mechanism similar to the lock-step acknowledgment model used by EAP-TLS <xref target="RFC2716"/>. Fragmentation applies to the entire attribute, including the attribute header and value.</t>
      <t>Only one fragmented attribute exchange (i.e., one fragmented attribute transmission in progress in either direction) <bcp14>MUST</bcp14> be active at any time.</t>
      <section anchor="fragment">
        <name>Fragmentation Attribute</name>
        <t>When an attribute is fragmented, the sender divides the unfragmented attribute into two or more fragments. Each fragment contains a consecutive, non-overlapping sequence of octets from
the original attribute. The first fragment contains the first octets of the attribute and <bcp14>MUST</bcp14> begin with the attribute Type and Length fields. Each subsequent fragment contains the next sequence of octets from the original attribute.</t>
        <t>The receiver reconstructs the original attribute by concatenating the Fragment Data fields from all fragments in the order received, excluding any per-fragment alignment padding. The reassembled attribute <bcp14>MUST NOT</bcp14> be processed until reassembly has completed and its length equals Total Attribute Length.</t>
        <t>The Fragmentation attribute has the following format:</t>
        <sourcecode type="artwork"><![CDATA[
    0                   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  AT_FRAGMENT  |    Reserved   |           Length              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Flags     |    Reserved   |     Total Attribute Length    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                    Fragment Data (variable)                   |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></sourcecode>
        <t>Length:</t>
        <t>A 2-octet unsigned integer indicating the length of this
AT_FRAGMENT attribute in multiples of 4 octets, including the
Type, Reserved, Length, Flags, Total Attribute Length, Fragment
Data, and any alignment padding. The total length of the AT_FRAGMENT attribute
in octets is obtained by multiplying this field by 4.</t>
        <t>Each AT_FRAGMENT attribute <bcp14>MUST</bcp14> have a Length that is a
multiple of 4 octets.</t>
        <t>Flags (1 octet):</t>
        <t>The Flags field contains the following bits:</t>
        <sourcecode type="artwork"><![CDATA[
   0 1 2 3 4 5 6 7
  +-+-+-+-+-+-+-+-+
  |S|M|  Reserved |
  +-+-+-+-+-+-+-+-+
]]></sourcecode>
        <ul spacing="normal">
          <li>
            <t>S (First Fragment)  </t>
            <t>
Indicates that this is the first fragment of a fragmented attribute.
This bit <bcp14>MUST</bcp14> be set on the first fragment and <bcp14>MUST NOT</bcp14> be set on
subsequent fragments.</t>
          </li>
          <li>
            <t>M (More Fragments)
Indicates that additional fragments follow.<br/>
This bit <bcp14>MUST</bcp14> be set on all fragments except the last.</t>
          </li>
          <li>
            <t>Reserved<br/>
              <bcp14>MUST</bcp14> be set to zero on transmission and ignored on receipt.</t>
          </li>
        </ul>
        <t>Total Attribute Length (2 octets)</t>
        <t>The Total Attribute Length field specifies the total length, in octets,
of the unfragmented attribute, including its Type, Reserved, Length,
Value fields, and any padding. It is encoded as an unsigned 16-bit
integer in network byte order.</t>
        <t>This field <bcp14>MUST</bcp14> be present in all fragments belonging to the same
fragmented attribute. The value of Total Attribute Length <bcp14>MUST</bcp14> be
identical in all fragments. If the Total Attribute Length value differs
across fragments, does not correspond to the length indicated by the
Length field of the attribute being fragmented (e.g., AT_PUB_KEM), or
exceeds a locally configured limit, the receiver <bcp14>MUST</bcp14> treat this as a
protocol error and abort the authentication exchange.</t>
        <t>Note that Length and Total Attribute Length use different units.
Length is encoded in units of four octets following EAP-AKA
conventions, whereas Total Attribute Length is encoded directly in
octets.</t>
        <t>Total Attribute Length <bcp14>MUST</bcp14> be at least large enough
to contain the minimal header of the fragmented
attribute. Total Attribute Length <bcp14>MUST NOT</bcp14> exceed the locally
configured maximum fragment reassembly size.</t>
      </section>
      <section anchor="fragmentation-procedure">
        <name>Fragmentation Procedure</name>
        <ul spacing="normal">
          <li>
            <t>When an EAP peer receives an EAP-Request containing an attribute
fragment with the M bit set, it <bcp14>MUST</bcp14> respond with an EAP-Response of
the same EAP type. This EAP-Response <bcp14>MUST NOT</bcp14> contain any attributes
and serves as a fragment acknowledgment.</t>
          </li>
          <li>
            <t>When an EAP server receives an EAP-Response containing an attribute
fragment with the M bit set, it <bcp14>MUST</bcp14> respond with an EAP-Request of
the same EAP type. This EAP-Request <bcp14>MUST NOT</bcp14> contain any attributes
and serves as a fragment acknowledgment.</t>
          </li>
          <li>
            <t>The sender <bcp14>MUST NOT</bcp14> transmit the next fragment until the
corresponding acknowledgment has been received.</t>
          </li>
        </ul>
      </section>
      <section anchor="correlating-fragments-and-acknowledgments">
        <name>Correlating Fragments and Acknowledgments</name>
        <t>The EAP Identifier field is used to correlate fragments and
acknowledgments, as specified in Section 4.1 of <xref target="RFC3748"/>:</t>
        <ul spacing="normal">
          <li>
            <t>The Identifier in an EAP-Response <bcp14>MUST</bcp14> match the Identifier of the
EAP-Request it responds to (Section 4.1 of <xref target="RFC3748"/>).</t>
          </li>
          <li>
            <t>Fragment acknowledgments sent by the EAP peer <bcp14>MUST</bcp14> echo the
Identifier of the fragment being acknowledged (Section 4.1 of
<xref target="RFC3748"/>).</t>
          </li>
          <li>
            <t>Retransmitted fragments <bcp14>MUST</bcp14> reuse the same Identifier value as the
original transmission (Sections 4.1 and 4.3 of <xref target="RFC3748"/>).</t>
          </li>
          <li>
            <t>Each new EAP-Request carrying a fragment or a fragment
acknowledgment <bcp14>MUST</bcp14> use a new Identifier value (Section 4.1 of
<xref target="RFC3748"/>).</t>
          </li>
        </ul>
      </section>
      <section anchor="reassembly">
        <name>Reassembly</name>
        <t>The receiver <bcp14>MUST</bcp14> reassemble attribute fragments strictly in the order
received and <bcp14>MUST NOT</bcp14> process the fragmented attribute until all
fragments have been successfully received and validated.</t>
        <t>The final fragment is identified by the M bit being cleared (M = 0). The
receiver <bcp14>MUST</bcp14> acknowledge each fragment, including the final fragment,
using the lock-step procedure defined for fragmentation. The sender
<bcp14>MUST</bcp14> wait for acknowledgment of the final fragment before considering
the fragmented attribute exchange complete.</t>
        <t>During the fragmentation phase (i.e., while the M bit is set in
AT_FRAGMENT), the EAP peer <bcp14>MUST</bcp14> respond to each
EAP-Request/AKA'-Challenge fragment with an
EAP-Response/AKA'-Challenge message containing a zero-length attribute
payload. These responses serve solely as transport-level acknowledgments
and <bcp14>MUST NOT</bcp14> trigger any AKA' cryptographic processing.</t>
        <t>The EAP peer <bcp14>MUST NOT</bcp14> initiate USIM processing (e.g., passing RAND and AUTN to the USIM) 
while attribute fragmentation is in progress. USIM processing has to occur only 
after the final fragment (M = 0) has been received and the complete attribute 
set has been successfully reassembled and validated. At that point, the peer will
invoke the AKA' algorithm using the RAND and AUTN values contained in the 
reassembled message.</t>
        <t>If a fragment is lost or corrupted, normal EAP retransmission procedures
apply. Retransmitted fragments <bcp14>MUST</bcp14> use the same EAP Identifier value
as the original transmission.</t>
        <t>The receiver <bcp14>MUST</bcp14> verify that:</t>
        <ul spacing="normal">
          <li>
            <t>The first fragment has the S bit set and subsequent fragments do not; and</t>
          </li>
          <li>
            <t>The cumulative length of all received Fragment Data fields equals the
Total Attribute Length.</t>
          </li>
        </ul>
        <t>Any inconsistency in fragmentation state (including unexpected S or M bit usage, receipt of a new initial fragment while reassembly is in
progress, length mismatch, or malformed sequencing) <bcp14>MUST</bcp14> be treated
as a protocol error, and the authentication exchange <bcp14>MUST</bcp14> be
aborted. If reassembly cannot be successfully completed after a bounded
number of retransmissions, the authentication exchange <bcp14>MUST</bcp14> be
aborted.</t>
        <t>Fragmentation does not modify the AT_MAC calculation rules defined in
<xref target="RFC9048"/>. For a fragmented message, AT_MAC is carried only in the packet containing the final fragment and is calculated over all packets carrying fragments of that message, concatenated in transmission order, including any AT_FRAGMENT attributes.</t>
        <t>Processing of data contained in reassembled fragmented attributes <bcp14>MUST</bcp14>
occur only after successful AT_MAC verification. Fragmentation therefore
does not alter the integrity protection scope of the EAP packet.</t>
      </section>
      <section anchor="fragment-ordering-and-flow-control">
        <name>Fragment Ordering and Flow Control</name>
        <t>Fragment transmission follows a lock-step request/response model. The sender <bcp14>MUST NOT</bcp14> transmit fragment N+1 until the EAP exchange acknowledging fragment N has completed. Consequently, at most one unacknowledged fragment exists in a fragmented attribute exchange at any time.</t>
        <t>Explicit fragment sequence numbers are therefore not required. The receiver determines fragment ordering from the current reassembly state and the EAP Request/Response exchange. Loss of a fragment or its acknowledgment is handled using the EAP retransmission procedures defined in <xref target="RFC3748"/>.</t>
        <t>This specification intentionally does not support pipelining multiple fragments or cumulative acknowledgments. Such mechanisms would require additional sequencing, buffering, loss-recovery, and flow-control procedures and would introduce an additional transport mechanism within EAP. The lock-step mechanism instead follows the EAP Request/Response model and limits the amount of unacknowledged fragmented data maintained by either endpoint.</t>
      </section>
      <section anchor="applicability">
        <name>Applicability</name>
        <t>This fragmentation mechanism applies to any attribute within this EAP method whose encoded length exceeds the EAP MTU. (e.g., AT_PUB_KEM, AT_KEM_CT, or AT_IDENTITY carrying a large SUCI). Attributes that fit within a single EAP packet <bcp14>MUST</bcp14> be sent unfragmented.</t>
        <t>AKA'-Identity messages are not protected by AT_MAC, because no keys exist yet. AT_CHECKCODE (<xref target="RFC4187"/>) carries a hash of all AKA'-Identity messages in the later AKA'-Challenge messages, which are protected by AT_MAC. Each side compares the received hash with its own, so any modification of the AKA'-Identity messages causes authentication to fail.</t>
        <t>If AT_FRAGMENT is not used in AKA'-Identity messages, this document does not change the use of AT_CHECKCODE; it remains optional as specified in <xref target="RFC4187"/>.</t>
        <t>If AT_FRAGMENT is used in any AKA'-Identity message, AT_CHECKCODE <bcp14>MUST</bcp14> be included in the EAP-Request/AKA'-Challenge carrying AT_PUB_KEM and in the EAP-Response/AKA'-Challenge carrying AT_RES. Section 10.13 of <xref target="RFC4187"/> requires this because AT_FRAGMENT is an attribute not defined in <xref target="RFC4187"/>.</t>
        <t>The following diagram details how the fragmentation works for both request and response:</t>
        <sourcecode type="artwork"><![CDATA[
Peer                                               Server
 |                                                     |
 |                 <- EAP-Request / Identity (Id=1)    |
 |                                                     |
 | EAP-Response / Identity (Id=1) ->                   |
 |                                                     |
 |             <- EAP-Request / AKA'-Challenge (Id=2)  |
 |                (unfragmented attributes)            |
 |                                                     |
 | EAP-Response / AKA'-Challenge (Id=2) ->             |
 |                                                     |
 |================ Server-Initiated Fragmentation ===============|
 |                                                     |
 |             <- EAP-Request / AKA'-Challenge (Id=3)  |
 |                (Fragment 1: S=1, M=1)               |
 |                                                     |
 | EAP-Response / AKA'-Challenge (Id=3) ->             |
 |   (ACK, no attributes)                              |
 |                                                     |
 |             <- EAP-Request / AKA'-Challenge (Id=4)  |
 |                (Fragment 2: M=1)                    |
 |                                                     |
 | EAP-Response / AKA'-Challenge (Id=4) ->             |
 |   (ACK, no attributes)                              |
 |                                                     |
 |             <- EAP-Request / AKA'-Challenge (Id=5)  |
 |                (Fragment 3: M=0, last fragment)     |
 |                                                     |
 | EAP-Response / AKA'-Challenge (Id=5) ->             |
 |   (ACK, no attributes — final fragment)             |
 |                                                     |
 |================ Peer-Initiated Fragmentation =================|
 |                                                     |
 |                 <- EAP-Request / Identity (Id=6)    |
 |                                                     |
 | EAP-Response / AKA'-Challenge (Id=6) ->             |
 |   (Fragment 1: S=1, M=1)                            |
 |                                                     |
 |             <- EAP-Request / AKA'-Challenge (Id=7)  |
 |                (ACK, no attributes)                 |
 |                                                     |
 | EAP-Response / AKA'-Challenge (Id=7) ->             |
 |   (Fragment 2: M=0, last fragment)                  |
 |                                                     |
 |             <- EAP-Request / AKA'-Challenge (Id=8)  |
 |                (ACK, no attributes — final fragment)|
 |                                                     |
 |             <- EAP-Success (Id=9)                   |
 |                                                     |
]]></sourcecode>
        <t>The term “ACK” in the above figure is used for illustrative purpose to describe an EAP-Request or EAP-Response of the same EAP method type that contains no attributes and is sent solely to acknowledge receipt of a fragment.</t>
      </section>
    </section>
    <section anchor="protocol-construction">
      <name>Protocol Construction</name>
      <t>The above section outlines how the fragmentation works. This section defines the construction for PQ KEM in EAP-AKA' FS and the other params that are sent via EAP Req/Resp AKA'-Challenge.</t>
      <section anchor="protocol-call-flow">
        <name>Protocol Call Flow</name>
        <artwork><![CDATA[
 USIM           Peer                        Server              AD
  |              |                            |                |
  |              |           EAP-Req/Identity |                |
  |              |<---------------------------+                |
  |              |                            |                |
  |              | EAP-Resp/Identity          |                |
  |              | (Privacy-Friendly)         |                |
  |              +--------------------------->|                |
  |      +-------+----------------------------+----------------+--+
  |      | Server now has an identity for the peer. The server    |
  |      | then asks the help of AD to run AKA algorithms,        |
  |      | generating RAND, AUTN, XRES, CK, IK. Typically, the    |
  |      | AD performs the first part of key derivations so that  |
  |      | the authentication server gets the CK' and IK' keys    |
  |      | already tied to a particular network name.             |
  |      +-------+----------------------------+----------------+--+
  |              |                            |                |
  |              |                            | ID, key deriv. |
  |              |                            | function,      |
  |              |                            | network name   |
  |              |                            +--------------->|
  |              |                            |                |
  |              |                            |    RAND, AUTN, |
  |              |                            | XRES, CK', IK' |
  |              |                            |<---------------+
  |      +-------+----------------------------+----------------+--+
  |      | Server now has the needed authentication vector. It    |
  |      | generates an ECDHE key pair and a PQ KEM key pair. It  |
  |      | lists an ECDHE value first in AT_KDF_FS, followed by   |
  |      | the ML-KEM values, and includes AT_PUB_ECDHE but not   |
  |      | AT_PUB_KEM.                                            |
  |      +-------+----------------------------+----------------+--+
  |              |                            |                |
  |              | EAP-Req/AKA'-Challenge     |                |
  |              | AT_RAND, AT_AUTN, AT_KDF,  |                |
  |              | AT_KDF_INPUT,              |                |
  |              | AT_KDF_FS (ECDHE),         |                |
  |              | AT_KDF_FS (ML-KEM),        |                |
  |              | AT_PUB_ECDHE, AT_MAC       |                |
  |              |<---------------------------+                |
+--+--------------+----------------------------+---------+     |
| The peer checks if it wants to do the FS extension. A  |     |
| peer that does not support RFC 9678 ignores AT_KDF_FS  |     |
| and AT_PUB_ECDHE and continues per RFC 9048. A peer    |     |
| that supports RFC 9678 but not this document continues |     |
| with ECDHE per RFC 9678. A peer that supports this     |     |
| document requests the ML-KEM value using the change    |     |
| procedure in Section 6.2 of RFC 9678. It does not run  |     |
| the AKA algorithm on this message.                     |     |
+--+--------------+----------------------------+---------+     |
  |              |                            |                |
  |              | EAP-Resp/AKA'-Challenge    |                |
  |              | AT_KDF_FS (ML-KEM)         |                |
  |              +--------------------------->|                |
  |      +-------+----------------------------+----------------+--+
  |      | The server re-sends the challenge with the selected    |
  |      | ML-KEM value first in AT_KDF_FS, followed by the       |
  |      | original list, and includes AT_PUB_KEM instead of      |
  |      | AT_PUB_ECDHE.                                          |
  |      +-------+----------------------------+----------------+--+
  |              |                            |                |
  |              | EAP-Req/AKA'-Challenge     |                |
  |              | AT_RAND, AT_AUTN, AT_KDF,  |                |
  |              | AT_KDF_INPUT,              |                |
  |              | AT_KDF_FS (ML-KEM),        |                |
  |              | AT_KDF_FS (ECDHE),         |                |
  |              | AT_KDF_FS (ML-KEM),        |                |
  |              | AT_PUB_KEM, AT_MAC         |                |
  |              |<---------------------------+                |
+--+--------------+----------------------------+---------+     |
| The peer queries the auth parameters from the USIM     |     |
| card.                                                  |     |
+--+--------------+----------------------------+---------+     |
  |              |                            |                |
  |   RAND, AUTN |                            |                |
  |<-------------+                            |                |
  |              |                            |                |
  | CK, IK, RES  |                            |                |
  +------------->|                            |                |
+--+--------------+----------------------------+---------+     |
| The peer verifies AT_MAC and checks that the AT_KDF_FS |     |
| list differs from the original list only by the        |     |
| requested change (Section 6.2 of RFC 9678). It then    |     |
| calculates the PQ KEM shared secret from the server's  |     |
| PQ KEM public key, derives all EAP-AKA' key values,    |     |
| and constructs a full response.                        |     |
+--+--------------+----------------------------+---------+     |
  |              |                            |                |
  |              |EAP-Resp/AKA'-Challenge     |                |
  |              | AT_RES, AT_KEM_CT,         |                |
  |              | AT_MAC                     |                |
  |              +--------------------------->|                |
  |      +-------+----------------------------+----------------+--+
  |      | The server now has all the necessary values. It        |
  |      | generates the PQ KEM shared secret and checks the RES  |
  |      | and MAC values received in AT_RES and AT_MAC,          |
  |      | respectively. Success requires both to be found        |
  |      | correct. Note that when this document is used,         |
  |      | the keys generated from EAP-AKA' are based on CK, IK,  |
  |      | and PQ KEM shared secret value. When the PQ KEM        |
  |      | extension is successfully negotiated, compromise of    |
  |      | the AKA long-term key alone does not enable an         |
  |      | adversary to derive MK_PQ_SHARED_SECRET from a         |
  |      | previously recorded protocol exchange. Deriving this   |
  |      | key additionally requires the PQ KEM shared secret ss, |
  |      | whose confidentiality relies on the security of the    |
  |      | negotiated PQ KEM.                                     |
  |      +-------+----------------------------+----------------+--+
  |              |                            |                |
  |              |                EAP-Success |                |
  |              |<---------------------------+                |
  |              |                            |                |
]]></artwork>
      </section>
      <section anchor="key-steps-in-protocol-construction">
        <name>Key Steps in protocol construction</name>
        <t>We outline the following key steps in the protocol:</t>
        <ul spacing="normal">
          <li>
            <t>Server generates the PQ KEM public key(pk), private key (sk) pair. The server will generate the Authentication Vector (AV). The server PQ KEM key pair is derived as:</t>
          </li>
        </ul>
        <artwork><![CDATA[
   (pk, sk) = kemKeyGen()
]]></artwork>
        <ul spacing="normal">
          <li>
            <t>The server will store the expected response XRES, the PQ KEM private key sk. The server will forward the authenticator part (AUTH) of the AV to peer along with pk.</t>
          </li>
          <li>
            <t>The USIM will validate the AUTN received, also verifies the MAC. After the verification is successful and if the peer also supports the forward secrecy, peer will invoke kemEncaps using pk:</t>
          </li>
        </ul>
        <artwork><![CDATA[
   (ct, ss) = kemEncaps(pk) 
]]></artwork>
        <t>"ct" is the ciphertext from kemEncaps whereas "ss" is shared secret key.</t>
        <ul spacing="normal">
          <li>
            <t>The peer will send the Authentication result RES and ct to the server.</t>
          </li>
          <li>
            <t>The server will verify the RES with XRES. The server uses the ciphertext ct and the PQ KEM private key sk to decapsulate the shared secret:</t>
          </li>
        </ul>
        <artwork><![CDATA[
   ss = kemDecaps(ct, sk)
]]></artwork>
        <t>If kemDecaps() fails, the server <bcp14>MUST</bcp14> behave as if authentication failed.</t>
        <t>The decapsulated ss from kemDecaps is the shared secret key derived from kemEncaps. The peer and the server first generate the MK_PQ_SHARED_SECRET and subsequently generate MSK, EMSK as shown below:</t>
        <artwork><![CDATA[
   MK = PRF'(IK'|CK',"EAP-AKA'"|Identity)
   (ct, ss) = kemEncaps(pk)
   MK_PQ_SHARED_SECRET = PRF'(IK'|CK'|ss,"EAP-AKA' FS PQ"| Length(Identity) | Identity | Length(ct) | ct)
   K_encr = MK[0..127]
   K_aut = MK[128..383]
   K_re = MK_PQ_SHARED_SECRET [0..255] 
   MSK = MK_PQ_SHARED_SECRET [256..767] 
   EMSK = MK_PQ_SHARED_SECRET [768..1279]
]]></artwork>
        <t>where, pk is PQ KEM public key from the EAP server, ct is the ciphertext from the kemEncaps and it is triggered by the EAP peer only. Length(X) is the length of X in octets, encoded as a 2-octet unsigned integer in network byte order. The label "EAP-AKA' FS PQ" separates MK_PQ_SHARED_SECRET from MK_ECDHE (Section 6.3 of <xref target="RFC9678"/>).</t>
      </section>
    </section>
    <section anchor="extensions-to-eap-aka-fs">
      <name>Extensions to EAP-AKA' FS</name>
      <section anchor="pqkem">
        <name>AT_PUB_KEM</name>
        <t>The format of the AT_PUB_KEM attribute is shown below.</t>
        <artwork><![CDATA[
      0                   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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | AT_PUB_KEM    |   Reserved    |         Length                |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |                       Value (variable)                        |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <t>The fields are as follows:</t>
        <t>AT_PUB_KEM:</t>
        <t>This is set to TBA1 by IANA.</t>
        <t>Reserved:
   A 1-byte field reserved for future use. Including this field ensures that the fixed header (Type, Reserved, Length) is 4 bytes long, maintaining 4-byte alignment for the following Value field. The Reserved field <bcp14>MUST</bcp14> be set to 0 on transmission and ignored on receipt.</t>
        <t>Length:</t>
        <t>A 2-byte unsigned integer indicating the length of this attribute in multiples of 4 octets, including the Type, Reserved, Length, and Value fields, as well as any padding.</t>
        <t>The total length of the attribute in octets is obtained by multiplying this field by 4.</t>
        <t>This differs from the attribute format used in EAP-AKA <xref target="RFC4187"/>, where the Length field is 1 byte. The modification is necessary because PQ KEM public keys, such as those defined in ML-KEM-1024, will be 1568 bytes, which would exceed the 1024-byte limit imposed by the original EAP-AKA format.</t>
        <t>Value:</t>
        <artwork><![CDATA[
  *  EAP-Request: It contains the public key, which is the PQ KEM public key from the EAP server.
]]></artwork>
        <t>Because the length of the attribute must be a multiple of 4 bytes, the sender pads the Value field with zero bytes when necessary. To retain the security of the keys, the sender <bcp14>SHALL</bcp14> generate a fresh value for each run of the protocol.</t>
      </section>
      <section anchor="pqct">
        <name>AT_KEM_CT</name>
        <t>The format of the AT_KEM_CT attribute is shown below.</t>
        <artwork><![CDATA[
      0                   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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | AT_KEM_CT     |   Reserved    |         Length                |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |                   Value (variable)                            |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <t>The fields are as follows:</t>
        <t>AT_KEM_CT:</t>
        <t>This is set to TBA2 by IANA.</t>
        <t>Reserved:
   A 1-byte field reserved for future use. The Reserved field <bcp14>MUST</bcp14> be set to 0 on transmission and ignored on receipt.</t>
        <t>Length:</t>
        <t>A 2-byte unsigned integer indicating the length of this attribute in multiples of 4 octets, including the Type, Reserved, Length, and Value fields, as well as any padding.</t>
        <t>The total length of the attribute in octets is obtained by multiplying this field by 4.</t>
        <t>This differs from the format used in EAP-AKA <xref target="RFC4187"/>, where the Length field is 1 byte. The change is necessary because ciphertexts produced by PQ KEM algorithms, such as 1568 bytes in ML-KEM-1024 will exceed the 1024 byte limit imposed by the original EAP-AKA attribute format.</t>
        <t>Value:</t>
        <artwork><![CDATA[
  *  EAP-Response: It contains the ciphertext (ct) from the PQ KEM Encapsulation function from the EAP peer.
]]></artwork>
        <t>Because the length of the attribute must be a multiple of 4 bytes, the sender pads the Value field with zero bytes when necessary. To retain the security of the keys, the sender <bcp14>SHALL</bcp14> generate a fresh value for each run of the protocol.</t>
      </section>
      <section anchor="kdfs">
        <name>AT_KDF_FS</name>
        <t>The AT_KDF_FS attribute is defined in Section 6.2 of <xref target="RFC9678"/> and is used to negotiate the forward-secrecy key derivation function. This document reuses the AT_KDF_FS attribute without modifying its attribute format. This document extends the "EAP-AKA' AT_KDF_FS Key Derivation Function Values" registry with values identifying the ML-KEM-based key derivation functions defined in this specification.</t>
        <t>The server indicates its supported forward-secrecy key derivation functions using AT_KDF_FS as specified in <xref target="RFC9678"/>. When multiple AT_KDF_FS attributes are included, their ordering indicates the server's preference, as specified by <xref target="RFC9678"/>.</t>
        <t>A peer supporting this specification selects a mutually supported ML-KEM-based key derivation function according to the negotiation procedure defined in <xref target="RFC9678"/>. Selection of an ML-KEM-based value indicates use of the corresponding ML-KEM parameter set and the MK_PQ_SHARED_SECRET key derivation defined in this document.</t>
        <t>If no mutually supported ML-KEM-based value is selected, the endpoints follow the negotiation and fallback behavior defined by <xref target="RFC9678"/> and <xref target="RFC9048"/>, as applicable.</t>
      </section>
    </section>
    <section anchor="negotiation">
      <name>Capability Negotiation</name>
      <t>Support for PQ KEM is negotiated using the AT_KDF_FS attribute.</t>
      <t>AT_PUB_KEM, AT_KEM_CT, and AT_FRAGMENT use an extended attribute header format
that is incompatible with legacy EAP-AKA and EAP-AKA' implementations.
Therefore, AT_PUB_KEM and AT_KEM_CT <bcp14>MUST NOT</bcp14> be sent, and AT_FRAGMENT
<bcp14>MUST NOT</bcp14> be sent in AKA'-Challenge messages, unless a mutually
supported PQ KEM has been successfully negotiated via AT_KDF_FS.</t>
      <t>To negotiate, the server lists an ECDHE value first in AT_KDF_FS,
followed by the ML-KEM values, and includes AT_PUB_ECDHE but not
AT_PUB_KEM. A peer that supports this specification <bcp14>MUST</bcp14> request an
ML-KEM value using the change procedure in Section 6.2 of <xref target="RFC9678"/>.
The server then re-sends the AKA'-Challenge with AT_PUB_KEM.</t>
      <t>Either side <bcp14>MAY</bcp14> require a PQ KEM by local policy. A server that
requires a PQ KEM and finds that the peer did not select one <bcp14>MUST</bcp14>
behave as if authentication failed. A peer that requires a PQ KEM and
finds no ML-KEM value in AT_KDF_FS <bcp14>MUST</bcp14> behave as if AUTN were
incorrect. This follows Section 6.5.4 of <xref target="RFC9678"/>.</t>
    </section>
    <section anchor="ml-kem">
      <name>ML-KEM</name>
      <t>ML-KEM offers several parameter sets with varying levels of security and performance trade-offs. This document specifies the use of the ML-KEM algorithm at three security levels: ML-KEM-512, ML-KEM-768, and ML-KEM-1024. The main security property for KEMs standardized in the NIST Post-Quantum Cryptography Standardization Project is indistinguishability under adaptive chosen ciphertext attacks (IND-CCA2) (see Section 10.2 of <xref target="RFC9958"/>). The public/private key sizes, ciphertext sizes, and PQ security levels of ML-KEM are detailed in Section 12 of <xref target="RFC9958"/>.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security of the PQ KEM algorithm depends on a high-quality pseudo-random number generator. For further discussion on random number generation, see <xref target="RFC4086"/>.</t>
      <t>In general, good cryptographic practice dictates that a given PQ KEM key pair should be used in only one EAP session. This practice mitigates the risk that compromise of one EAP session will not compromise the security of another EAP session and is essential for maintaining forward security.</t>
      <t>AT_MAC protects the AT_KDF_FS offer and the peer's selection, because the final EAP-Request/AKA'-Challenge carries both the selected value and the original list (Section 6.2 of <xref target="RFC9678"/>). An attacker that holds the long-term key can still remove the ML-KEM offer. Deployments that need protection against this <bcp14>MUST</bcp14> require a PQ KEM by local policy.</t>
      <t>Implementations <bcp14>MUST</bcp14> enforce a locally configured maximum Total Attribute Length for fragmented attributes. If the Total Attribute Length exceeds this limit, the attribute <bcp14>MUST</bcp14> be rejected and the authentication exchange aborted. This limit has to be chosen to mitigate DoS attack with support for large PQC key material.</t>
      <t>The pseudo-random function (PRF') binds the shared secret to the ciphertext (ct), achieving MAL-BIND-K-CT. The ML-KEM already achieves MAL-BIND-K-PK as the hash of the PQ KEM public key is an input to the computation of the shared secret (ss) (line 1 of ML-KEM.Encaps_Internal algorithm in <xref target="FIPS203"/>).  These computational binding properties for KEMs are defined in <xref target="CDM"/>.</t>
      <section anchor="selecting-ml-kem-variants">
        <name>Selecting ML-KEM Variants</name>
        <t>ML-KEM is believed to be IND-CCA2 secure based on multiple analyses. The ML-KEM variant and its underlying components should be selected consistently with the desired security level. For further clarity on the sizes and security levels of ML-KEM variants, please refer to the tables in Sections 12 and 13 of <xref target="RFC9958"/>.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>Three new Attribute Type values (TBA1, TBA2, and TBA3) from the
   skippable range are requested from IANA for AT_PUB_KEM (<xref target="pqkem"/>),
   AT_KEM_CT (<xref target="pqct"/>), and AT_FRAGMENT (<xref target="fragment"/>) in the
   "Attribute Types" registry under the "EAP-SIM/AKA/AKA'" group.</t>
      <t>IANA is requested to update the registry "EAP-AKA' AT_KDF_FS
   Key Derivation Function Values" with the PQ KEM algorithm entries:</t>
      <artwork><![CDATA[
   +=========+===============================+=========================+
   | Value   | Description                   | Reference               |
   +=========+===============================+=========================+
   | TBA4    | EAP-AKA' with MLKEM512        | [TBD BY IANA: THIS RFC] |
   +=========+===============================+=========================+
   | TBA5    | EAP-AKA' with MLKEM768        | [TBD BY IANA: THIS RFC] |
   +=========+===============================+=========================+
   | TBA6    | EAP-AKA' with MLKEM1024       | [TBD BY IANA: THIS RFC] |
   +=========+===============================+=========================+
]]></artwork>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9048">
          <front>
            <title>Improved Extensible Authentication Protocol Method for 3GPP Mobile Network Authentication and Key Agreement (EAP-AKA')</title>
            <author fullname="J. Arkko" initials="J." surname="Arkko"/>
            <author fullname="V. Lehtovirta" initials="V." surname="Lehtovirta"/>
            <author fullname="V. Torvinen" initials="V." surname="Torvinen"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <date month="October" year="2021"/>
            <abstract>
              <t>The 3GPP mobile network Authentication and Key Agreement (AKA) is an authentication mechanism for devices wishing to access mobile networks. RFC 4187 (EAP-AKA) made the use of this mechanism possible within the Extensible Authentication Protocol (EAP) framework. RFC 5448 (EAP-AKA') was an improved version of EAP-AKA.</t>
              <t>This document is the most recent specification of EAP-AKA', including, for instance, details about and references related to operating EAP-AKA' in 5G networks.</t>
              <t>EAP-AKA' differs from EAP-AKA by providing a key derivation function that binds the keys derived within the method to the name of the access network. The key derivation function has been defined in the 3rd Generation Partnership Project (3GPP). EAP-AKA' allows its use in EAP in an interoperable manner. EAP-AKA' also updates the algorithm used in hash functions, as it employs SHA-256 / HMAC-SHA-256 instead of SHA-1 / HMAC-SHA-1, which is used in EAP-AKA.</t>
              <t>This version of the EAP-AKA' specification defines the protocol behavior for both 4G and 5G deployments, whereas the previous version defined protocol behavior for 4G deployments only. While EAP-AKA' as defined in RFC 5448 is not obsolete, this document defines the most recent and fully backwards-compatible specification of EAP-AKA'. This document updates both RFCs 4187 and 5448.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9048"/>
          <seriesInfo name="DOI" value="10.17487/RFC9048"/>
        </reference>
        <reference anchor="RFC9678">
          <front>
            <title>Forward Secrecy Extension to the Improved Extensible Authentication Protocol Method for Authentication and Key Agreement (EAP-AKA' FS)</title>
            <author fullname="J. Arkko" initials="J." surname="Arkko"/>
            <author fullname="K. Norrman" initials="K." surname="Norrman"/>
            <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson"/>
            <date month="March" year="2025"/>
            <abstract>
              <t>This document updates RFC 9048, "Improved Extensible Authentication Protocol Method for 3GPP Mobile Network Authentication and Key Agreement (EAP-AKA')", and its predecessor RFC 5448 with an optional extension providing ephemeral key exchange. The extension EAP-AKA' Forward Secrecy (EAP-AKA' FS), when negotiated, provides forward secrecy for the session keys generated as a part of the authentication run in EAP-AKA'. This prevents an attacker who has gained access to the long-term key from obtaining session keys established in the past. In addition, EAP-AKA' FS mitigates passive attacks (e.g., large-scale pervasive monitoring) against future sessions. This forces attackers to use active attacks instead.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9678"/>
          <seriesInfo name="DOI" value="10.17487/RFC9678"/>
        </reference>
        <reference anchor="RFC2716">
          <front>
            <title>PPP EAP TLS Authentication Protocol</title>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <author fullname="D. Simon" initials="D." surname="Simon"/>
            <date month="October" year="1999"/>
            <abstract>
              <t>The Point-to-Point Protocol (PPP) provides a standard method for transporting multi-protocol datagrams over point-to-point links.The Extensible Authentication Protocol (EAP) is a PPP extension that provides support for additional authentication methods within PPP. This memo defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2716"/>
          <seriesInfo name="DOI" value="10.17487/RFC2716"/>
        </reference>
        <reference anchor="RFC9958">
          <front>
            <title>Post-Quantum Cryptography for Engineers</title>
            <author fullname="A. Banerjee" initials="A." surname="Banerjee"/>
            <author fullname="T. Reddy.K" initials="T." surname="Reddy.K"/>
            <author fullname="D. Schoinianakis" initials="D." surname="Schoinianakis"/>
            <author fullname="T. Hollebeek" initials="T." surname="Hollebeek"/>
            <author fullname="M. Ounsworth" initials="M." surname="Ounsworth"/>
            <date month="June" year="2026"/>
            <abstract>
              <t>The advent of a cryptographically relevant quantum computer (CRQC) would render state-of-the-art, traditional public key algorithms deployed today obsolete, as the mathematical assumptions underpinning their security would no longer hold. To address this, protocols and infrastructure must transition to post-quantum algorithms, which are designed to resist both traditional and quantum attacks. This document explains why engineers need to be aware of and understand post-quantum cryptography (PQC), and it details the impact of CRQCs on existing systems and the challenges involved in transitioning to post-quantum algorithms. Unlike previous cryptographic updates, this shift may require significant protocol redesign due to the unique properties of post-quantum algorithms.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9958"/>
          <seriesInfo name="DOI" value="10.17487/RFC9958"/>
        </reference>
        <reference anchor="RFC3748">
          <front>
            <title>Extensible Authentication Protocol (EAP)</title>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <author fullname="L. Blunk" initials="L." surname="Blunk"/>
            <author fullname="J. Vollbrecht" initials="J." surname="Vollbrecht"/>
            <author fullname="J. Carlson" initials="J." surname="Carlson"/>
            <author fullname="H. Levkowetz" initials="H." role="editor" surname="Levkowetz"/>
            <date month="June" year="2004"/>
            <abstract>
              <t>This document defines the Extensible Authentication Protocol (EAP), an authentication framework which supports multiple authentication methods. EAP typically runs directly over data link layers such as Point-to-Point Protocol (PPP) or IEEE 802, without requiring IP. EAP provides its own support for duplicate elimination and retransmission, but is reliant on lower layer ordering guarantees. Fragmentation is not supported within EAP itself; however, individual EAP methods may support this. This document obsoletes RFC 2284. A summary of the changes between this document and RFC 2284 is available in Appendix A. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3748"/>
          <seriesInfo name="DOI" value="10.17487/RFC3748"/>
        </reference>
        <reference anchor="RFC9794">
          <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="June" year="2025"/>
            <abstract>
              <t>One aspect of the transition to post-quantum algorithms in cryptographic protocols is the development of hybrid schemes that incorporate both post-quantum and traditional asymmetric algorithms. This document defines terminology for such schemes. It is intended to be used as a reference and, hopefully, to ensure consistency and clarity across different protocols, standards, and organisations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9794"/>
          <seriesInfo name="DOI" value="10.17487/RFC9794"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC4187">
          <front>
            <title>Extensible Authentication Protocol Method for 3rd Generation Authentication and Key Agreement (EAP-AKA)</title>
            <author fullname="J. Arkko" initials="J." surname="Arkko"/>
            <author fullname="H. Haverinen" initials="H." surname="Haverinen"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>This document specifies an Extensible Authentication Protocol (EAP) mechanism for authentication and session key distribution that uses the Authentication and Key Agreement (AKA) mechanism. AKA is used in the 3rd generation mobile networks Universal Mobile Telecommunications System (UMTS) and CDMA2000. AKA is based on symmetric keys, and typically runs in a Subscriber Identity Module, which is a UMTS Subscriber Identity Module, USIM, or a (Removable) User Identity Module, (R)UIM, similar to a smart card.</t>
              <t>EAP-AKA includes optional identity privacy support, optional result indications, and an optional fast re-authentication procedure. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4187"/>
          <seriesInfo name="DOI" value="10.17487/RFC4187"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="PQCAPI" target="https://csrc.nist.gov/CSRC/media/Projects/Post-Quantum-Cryptography/documents/example-files/api-notes.pdf">
          <front>
            <title>PQC - API notes</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <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>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="CDM" target="https://eprint.iacr.org/2023/1933.pdf">
          <front>
            <title>Keeping Up with the KEMs: Stronger Security Notions for KEMs and automated analysis of KEM-based protocols</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="NISTFINAL" target="https://www.nist.gov/news-events/news/2024/08/nist-releases-first-3-finalized-post-quantum-encryption-standards">
          <front>
            <title>NIST Releases First 3 Finalized Post-Quantum Encryption Standards</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="I-D.draft-ietf-emu-hybrid-pqc-eapaka">
          <front>
            <title>Enhancing Security in EAP-AKA' with Hybrid Post-Quantum Cryptography</title>
            <author fullname="Aritra Banerjee" initials="A." surname="Banerjee">
              <organization>Nokia</organization>
            </author>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <date day="26" month="February" year="2026"/>
            <abstract>
              <t>   Forward Secrecy for the Extensible Authentication Protocol Method for
   Authentication and Key Agreement (EAP-AKA' FS) is specified in
   [RFC9678], providing updates to [RFC9048] with an optional extension
   that offers ephemeral key exchange using the traditional Ephemeral
   Elliptic Curve Diffie-Hellman (ECDHE) key agreement algorithm for
   achieving perfect forward secrecy (PFS).  However, it is susceptible
   to future threats from Cryptographically Relevant Quantum Computers,
   which could potentially compromise a traditional ephemeral public
   key.  If the adversary has also obtained knowledge of the long-term
   key and ephemeral public key, it could compromise session keys
   generated as part of the authentication run in EAP-AKA'.

   This draft aims to enhance the security of EAP-AKA' FS protocol by
   leveraging PQ/T Hybrid [I-D.ietf-pquip-pqt-hybrid-terminology]
   algorithms to make it quantum-safe.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-emu-hybrid-pqc-eapaka-01"/>
        </reference>
        <reference anchor="RFC4086">
          <front>
            <title>Randomness Requirements for Security</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="J. Schiller" initials="J." surname="Schiller"/>
            <author fullname="S. Crocker" initials="S." surname="Crocker"/>
            <date month="June" year="2005"/>
            <abstract>
              <t>Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities. The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space.</t>
              <t>Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult. This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities. It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="106"/>
          <seriesInfo name="RFC" value="4086"/>
          <seriesInfo name="DOI" value="10.17487/RFC4086"/>
        </reference>
      </references>
    </references>
    <?line 747?>

<section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>This draft leverages text from <xref target="RFC9678"/>. The authors thank Wang Guilin, John Mattsson, Heikki Vatiainen and Alan DeKok for their contributions to this specification.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
ha1yyWvKX5AMsPVuXQHf/wev0kTFp64AAA==

-->

</rfc>
