3GPP TS 33.535

Authentication and Key Management for Applications (AKMA) based on 3GPP credentials in 5G
V18.2.0 (2024-06) — Release 18 Security Feature

1. Scope

▶

Defines the Authentication and Key Management for Applications (AKMA) framework enabling application-layer security using 3GPP credentials (USIM/5G AKA). AKMA allows application functions (AFs) to authenticate UEs and establish application-level keys without requiring separate app credentials.

AKMA in one sentence: It lets applications piggyback on the 5G network authentication (5G-AKA/EAP-AKA') to get per-application session keys — no separate username/password or app-level PKI needed.

2. AKMA Architecture

▶
┌──────────┐ ┌──────────┐ ┌──────────┐ │ UE │ │ AF │ │ AAnF │ │ (App + │ │(Application │(AKMA │ │ USIM) │ │ Function)│ │ Anchor │ └────┬─────┘ └────┬─────┘ │ Function)│ │ │ └────┬─────┘ │ App Request │ │ │ + A-KID ───────►│ │ │ │── Key Req ────────►│ │ │ (A-KID) │ │ │ │ Lookup K_AF │ │◄── Key Resp ───────│ │ │ (K_AF) │ │ │ │ │◄── Secure Session ─│ │ │ (protected by │ │ │ K_AF) │ │ AAnF derives K_AF from K_AKMA (anchored at AUSF after 5G AKA)
EntityRole
AAnFAKMA Anchor Function — stores K_AKMA, derives K_AF per application
AFApplication Function — requests K_AF from AAnF to secure app session
AUSFProvides K_AKMA derivation material after primary authentication
A-KIDAKMA Key Identifier — presented by UE to AF to identify the AKMA context

3. AKMA Key Hierarchy

▶
K (USIM permanent key) │ 5G AKA / EAP-AKA' │ ┌────▼─────┐ │ K_AUSF │ (at AUSF — after primary authentication) └────┬─────┘ │ KDF (FC=0x76) ┌────▼─────┐ │ K_AKMA │ (at AAnF — AKMA anchor key) └────┬─────┘ │ KDF (FC=0x77, AF_ID) ┌────▼─────┐ │ K_AF │ (per-application key — at UE + AF) └──────────┘
  • K_AKMA lifetime tied to K_AUSF — refreshed on re-authentication
  • K_AF is unique per AF_ID — different applications get different keys
  • A-KID format: AKMA-KID@HPLMN — contains SUPI derivation info
Privacy: A-KID must not reveal SUPI. It is derived from K_AKMA material and is temporary. UE generates new A-KID after re-authentication.

4. AKMA Procedures

▶

4.1 AKMA Key Establishment

UE AUSF AAnF │── 5G AKA ────►│ │ │◄── Success ───│ │ │ │ │ │ K_AUSF derived │ │ UE derives K_AKMA │ │ │── K_AKMA ──►│ │ │ (via NEF │ AAnF stores K_AKMA │ │ or direct)│ indexed by A-KID │ │ │

4.2 Application Key Request

UE AF AAnF │ │ │ │── App Req + A-KID ─►│ │ │ │── AKMA Key ──►│ │ │ Req (A-KID) │ │ │ │ Derive K_AF │ │◄── K_AF ──────│ │ │ + expiry │ │ │ │ │◄── Secure Session ──│ │ │ (using K_AF) │ │

5. Security Analysis

▶
ThreatDescriptionMitigation
A-KID ReplayAttacker replays captured A-KID to different AFA-KID bound to K_AKMA; AF must validate freshness via AAnF
AF ImpersonationRogue AF requests K_AF for legitimate A-KIDAAnF must authenticate AF identity; K_AF bound to AF_ID
K_AKMA ExposureCompromise of AAnF exposes all derived K_AFHSM for K_AKMA storage; key rotation on re-auth
A-KID LinkabilityPersistent A-KID enables subscriber trackingA-KID changes on each primary authentication
Cross-AF Key ReuseSame K_AF used across multiple AFsK_AF derivation includes AF_ID — keys are unique per app