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)
| Entity | Role |
|---|---|
| AAnF | AKMA Anchor Function — stores K_AKMA, derives K_AF per application |
| AF | Application Function — requests K_AF from AAnF to secure app session |
| AUSF | Provides K_AKMA derivation material after primary authentication |
| A-KID | AKMA 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
▶| Threat | Description | Mitigation |
|---|---|---|
| A-KID Replay | Attacker replays captured A-KID to different AF | A-KID bound to K_AKMA; AF must validate freshness via AAnF |
| AF Impersonation | Rogue AF requests K_AF for legitimate A-KID | AAnF must authenticate AF identity; K_AF bound to AF_ID |
| K_AKMA Exposure | Compromise of AAnF exposes all derived K_AF | HSM for K_AKMA storage; key rotation on re-auth |
| A-KID Linkability | Persistent A-KID enables subscriber tracking | A-KID changes on each primary authentication |
| Cross-AF Key Reuse | Same K_AF used across multiple AFs | K_AF derivation includes AF_ID — keys are unique per app |