RFC 3748

Extensible Authentication Protocol (EAP)
Standards Track Obsoletes: RFC 2284
June 2004
Abstract: 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 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.
Canonical source: https://www.rfc-editor.org/rfc/rfc3748  |  IETF Datatracker

1. Introduction

▶

EAP is an authentication framework, not a specific authentication mechanism. It provides common functions and negotiation of authentication methods (called EAP methods). There are currently about 40 different EAP methods defined.

EAP was originally developed for use with PPP (RFC 2284) but has been adapted for use on IEEE 802 networks (802.1X) and is the authentication framework selected by 3GPP for non-3GPP access to EPC and 5GC.

2. Applicability in 3GPP Networks

▶

In 3GPP networks, EAP serves as the transport framework for AKA-based authentication. The 5G authentication architecture (TS 33.501 §6) uses EAP-AKA' as the primary authentication method for non-3GPP access via N3IWF/TNGF, and optionally for 3GPP access.

3GPP Usage: EAP transport is used between UE ↔ N3IWF (via IKEv2) ↔ AMF ↔ AUSF for 5G authentication. The AUSF acts as the EAP server, while the N3IWF functions as an EAP authenticator.

3. Protocol Overview

▶

EAP is a request-response protocol. The authenticator sends Requests and the peer sends Responses. The protocol begins with the authenticator sending a Request to the peer.

       Peer                    Authenticator
|                           |
|     EAP-Request/Identity   |
|<--------------------------|
|                           |
|    EAP-Response/Identity   |
|-------------------------->|
|                           |
|   EAP-Request/Method      |
|<--------------------------|
|                           |
|   EAP-Response/Method     |
|-------------------------->|
|                           |
|      EAP-Success          |
|<--------------------------|

4. EAP Packet Format

▶

EAP packets are encapsulated within the data link layer and have the following format:

Field Size Description
Code 1 byte 1=Request, 2=Response, 3=Success, 4=Failure
Identifier 1 byte Matches Requests and Responses, aids in duplicate detection
Length 2 bytes Length of entire EAP packet including Code, Identifier, Length, and Data
Data Variable Depends on Code field; for Request/Response contains Type + Type-Data

5. EAP Method Types

▶

EAP methods are identified by a Type field in EAP Request/Response packets. Key method types relevant to 3GPP:

Type Method 3GPP Usage
1 Identity Initial identity exchange (SUCI in 5G context)
23 EAP-AKA (RFC 4187) UMTS/LTE authentication for non-3GPP access
50 EAP-AKA' (RFC 5448) Improved AKA with access network binding — mandatory for 5G
254 Expanded Types Vendor-specific methods

6. Security Considerations

▶

EAP relies on the security properties of the underlying method for authentication strength. The framework itself provides no protection against eavesdropping or man-in-the-middle attacks — this is delegated to the EAP method.

Key security requirements for EAP methods include: mutual authentication, key derivation (MSK, EMSK), protected result indication, and resistance to dictionary attacks.

  • MSK (Master Session Key): 64-byte key exported for link-layer security
  • EMSK (Extended MSK): 64-byte key reserved for future use and method-specific derivations
  • Method independence: EAP Success/Failure are not integrity-protected — methods must provide their own confirmation
  • Channel binding: Prevents authenticator impersonation by binding to NAS-level parameters

7. Key Hierarchy Export

▶

EAP methods that support key derivation export two keys: MSK and EMSK. In 3GPP 5G context, EAP-AKA' derives these keys which are then fed into the 5G key hierarchy (K_AUSF → K_SEAF → K_AMF).

  EAP-AKA' Key Export:
┌─────────────────┐
│   USIM (K, OP)  │
└───────┬─────────┘
│ AKA vectors (RAND, AUTN, XRES, CK', IK')
▼
┌─────────────────┐
│   EAP-AKA'      │──→ MSK (64 bytes)
│   Method        │──→ EMSK (64 bytes)
└───────┬─────────┘
│ K_AUSF = EMSK[0..31]
▼
┌─────────────────┐
│  5G Key Hierarch│
│  K_SEAF, K_AMF  │
└─────────────────┘