>
Home5G NRCross-Layer Topics5G-AKA & SUCI
🧠 Cross-Layer TopicsAdvanced

5G-AKA Authentication & SUCI/SUPI Privacy in 5G NR

Primary authentication — 5G-AKA vs EAP-AKA′, the RAND/AUTN/RES* challenge, and how the SUPI is concealed as a SUCI so the permanent ID never crosses the air in clear.

📚 3GPP-basedTS 33.501TS 24.501

In 4G, a subscriber's permanent identity could still leak onto the air, and a fake base station could harvest it — the IMSI-catcher problem. 5G closes that hole and, in the same breath, proves both parties to each other. Two mechanisms do the work: SUCI concealment keeps the permanent identity secret on the radio interface, and 5G-AKA runs a mutual challenge–response that ends by seeding the whole key hierarchy. Both live in TS 33.501, with the NAS message carriage in TS 24.501.

Introduction

5G primary authentication is the procedure that answers two questions at once before any traffic is trusted: is this really the subscriber it claims to be, and is this really the subscriber's genuine network. It runs early in the connection lifecycle — immediately after the UE sends its Registration Request and before the NAS Security Mode Command activates ciphering — so that every key used afterwards descends from a freshly proven root. It is specified in TS 33.501 (security architecture) with the NAS message carriage in TS 24.501.

Two independent problems are solved together on this page. The first is identity privacy: the permanent identifier (SUPI) must never appear in the clear on the radio interface, so the UE transmits a concealed form (SUCI) instead. The second is mutual authentication and key agreement: 5G-AKA (or its peer method EAP-AKA′) proves both sides and mints the anchor key K_SEAF that seeds the entire NAS and AS key tree.

Because the flow spans four network functions — UE/USIM, SEAF/AMF, AUSF, and UDM/ARPF/SIDF — each learning deliberately less than the one below it, understanding which function holds what secret is the key to reasoning about where trust is anchored and why a visited network can serve you without ever holding your keys.

Why concealment and mutual authentication are needed

💡

In plain words: think of arriving at a members-only club in a foreign city. You do not shout your full legal name across the street (that is SUCI concealment — you hand over a sealed envelope only your home club can open). At the door, the bouncer challenges you and you check the bouncer's badge before trusting them (that is the mutual challenge–response of 5G-AKA). Only after both checks pass do you get a wristband (the key material) that lets you move around inside.

Concretely, two distinct threats are being defeated. First, a passive eavesdropper or an active IMSI-catcher must not be able to tie a radio transmission to a real person; LTE left the IMSI exposed during initial attach and some identity requests, so 5G conceals the permanent identity structurally rather than optionally. Second, a rogue base station must not be able to impersonate a real network to a UE, and a cloned or invalid USIM must not be able to impersonate a real subscriber to the network — so authentication is mutual: the AUTN token proves the network to the UE, and the RES* response proves the UE to the network. Neither direction is optional, and both must pass before the anchor key K_SEAF is released.

The Identity-Privacy Problem SUCI Solves

The permanent subscriber identity in 5G is the SUPI (Subscription Permanent Identifier). It is either an IMSI-based value (the familiar MCC + MNC + MSIN) or, for non-3GPP and private deployments, a network-specific identifier in NAI form (username@realm). The SUPI is treated as a long-lived secret: it identifies a paying subscriber uniquely and forever, so if it ever crosses the air in the clear, a passive listener can pin a transmission to a specific person, and an active IMSI-catcher can lure UEs into revealing it. LTE never fully fixed this — the IMSI was sent in cleartext during initial attach and in some identity requests.

What

The UE never transmits the raw SUPI. Instead it sends a SUCI (Subscription Concealed Identifier) — the privacy-sensitive part of the SUPI encrypted with the home network public key using the ECIES scheme.

Why

So no eavesdropper on the radio interface can map a transmission to a subscriber, and no rogue base station can trick a UE into leaking its permanent identity. Only the home network can reverse the concealment.

How

The USIM stores the home network's public key. The UE generates a fresh ephemeral key pair, performs an ECDH, derives a symmetric key, and encrypts the MSIN (or the NAI username). Only the home network's SIDF, holding the private key, can de-conceal it.

Concealment covers only the subscriber-specific part — the MSIN of an IMSI, or the username of an NAI. The routing part — the MCC/MNC (Home Network Identifier), or the realm — stays in the clear on purpose, because the serving network needs it to route the authentication request to the correct home network. Crucially, the UE picks a fresh ephemeral key for every concealment, so two SUCI values computed for the same subscriber look completely unrelated on the air: there is no linkability, and repeated observation buys an attacker nothing.

De-concealment happens in exactly one place: the SIDF (Subscription Identifier De-concealing Function), a service offered by the UDM (Unified Data Management) in the home network. The SIDF is the only entity that holds the private key matching the public key provisioned in USIMs, and 3GPP mandates that the private key never leaves it. This is what severs the link between a radio eavesdropper and the permanent identity — the classic IMSI-catcher defence, now structural rather than optional.

🎯

5G-GUTI is still preferred: once registered, the UE is addressed by the temporary 5G-GUTI for as long as possible, so even the SUCI is sent only rarely — on the very first contact, or when the network has lost the UE's context. The SUCI is the privacy-preserving fallback, not the everyday identity. See Registration for how the two identities alternate.

🔀

LTE ↔ NR: in LTE/EPS the permanent identity is the IMSI, sent in the clear during initial attach and on some Identity Requests; the temporary identity is the GUTI. 5G renames the permanent identity SUPI, adds the concealed SUCI so the permanent identity never crosses the air unprotected, and renames the temporary identity 5G-GUTI. EPS-AKA in LTE let the serving MME fully verify the response locally; 5G-AKA deliberately moves the binding response check back to the home AUSF (see below).

Inside a SUCI: ECIES and its Components

A SUCI is not just a blob of ciphertext — it is a self-describing structure so the home network knows exactly how to reverse it. Every SUCI carries, in the clear, the metadata needed to route and decrypt, and only the sensitive part is protected. The concealment algorithm is ECIES (Elliptic Curve Integrated Encryption Scheme), profiled in TS 33.501 Annex C as Profile A (Curve25519 / X25519) and Profile B (secp256r1).

SUCI componentCleartext?Meaning
SUPI Typeclear0 = IMSI-based, 1 = network-specific identifier (NAI). Tells the network how to interpret the de-concealed value.
Home Network IdentifierclearRouting information: MCC+MNC for an IMSI-based SUPI, or the realm for an NAI. Lets the serving network reach the right home network.
Routing Indicatorclear1–4 decimal digits provisioned in the USIM that route the request to the specific UDM/AUSF instance holding this subscriber.
Protection Scheme IDclear0 = null-scheme (no concealment), 1 = ECIES Profile A, 2 = ECIES Profile B.
Home Network Public Key IDclearIdentifies which home network public key the UE used, so the operator can rotate keys and the SIDF can pick the matching private key.
Scheme OutputconcealedThe ECIES output: the UE's ephemeral public key, the encrypted MSIN/username, and a MAC tag. This is the only privacy-sensitive part.

Reading the structure top to bottom, the first five fields are metadata the serving network and SIDF need in the clear; only the last, the Scheme Output, hides the identity. The Home Network Public Key ID deserves emphasis: because it names the exact key used, operators can provision several public keys and retire old ones gracefully — a UE with a stale key still names it, and the network still holds the matching private key long enough to de-conceal. The null-scheme (Protection Scheme ID = 0) exists only for narrow cases: unauthenticated emergency registration where no home network can be reached, or test/development USIMs. In normal operation a real ECIES profile is always used.

The Scheme Output for both profiles concatenates three parts: the UE's ephemeral public key (33 octets compressed for the secp256r1 Profile B, 32 octets for the Curve25519 Profile A), the ciphertext of the MSIN/username, and an ICB/MAC tag that lets the SIDF detect tampering before it trusts the recovered identity. The symmetric leg uses AES-128 in CTR mode for encryption and HMAC-SHA-256 (truncated) for the tag, with the encryption key, ICB and MAC key all derived from the ECDH shared secret through the ANSI-X9.63 KDF.

📘

ECIES in one line: the UE does ECDH between its fresh ephemeral private key and the home network public key to derive a shared secret, expands it into an encryption key and a MAC key, encrypts the MSIN, and tags it. The SIDF repeats the ECDH with its private key and the UE's ephemeral public key (carried inside the Scheme Output) to recover the same shared secret and decrypt. Forward secrecy per concealment comes from the fresh ephemeral key each time.

5G-AKA: The Primary Authentication Flow

SUCI protects the identity; 5G-AKA proves it. It is the default method for primary authentication in 5G — the mutual challenge–response that convinces the network the subscriber is genuine and convinces the UE the network is genuine, all before any traffic key is trusted. Four functions cooperate, and each is deliberately limited in what it learns.

The SEAF (Security Anchor Function), co-located with the AMF in the serving network, drives the procedure but delegates the cryptography home. It calls the AUSF (Authentication Server Function) in the home network over the N12 service interface (Nausf_UEAuthentication). The AUSF in turn calls the UDM/ARPF (the Authentication credential Repository and Processing Function inside the UDM) over Nudm_UEAuthentication_Get. The UDM's SIDF de-conceals the SUCI to a SUPI, and the ARPF generates the authentication vector from the subscriber's long-term key K.

The vector is produced in two stages. The UDM/ARPF builds a 5G Home Environment Authentication Vector (5G HE AV) containing RAND, AUTN, XRES* and K_AUSF, and returns it to the AUSF. The AUSF then derives HXRES* (a hash of XRES*) and K_SEAF, and passes the serving network a reduced 5G Serving Environment Authentication Vector (5G SE AV) containing only RAND, AUTN and HXRES* — deliberately not XRES*, K_AUSF, or K_SEAF yet. The serving network gets just enough to challenge the UE and do a first-pass check, nothing more.

The AKA primitives themselves are the same milenage/TUAK functions LTE used, run inside the USIM from K and RAND: f1 produces the network MAC that fills AUTN, f2 produces the base response RES, f3/f4 produce CK/IK, and f5 produces the anonymity key AK that masks the sequence number as SQN⊕AK. The 5G-specific twist is RES* and XRES*: they are derived from RES/XRES by a KDF that also binds in the serving-network name (SN name), so a response captured in one network cannot be replayed to authenticate the subscriber in another.

ParameterProduced byTravels toRole
RANDUDM/ARPF→ UE128-bit random challenge; input to every USIM computation.
AUTNUDM/ARPF→ UEAuthentication token: SQN⊕AK, AMF field, MAC. Lets the USIM authenticate the network.
XRES*UDM/ARPF→ AUSF (kept)Expected response; the AUSF's authoritative reference for the UE's answer.
HXRES*AUSF→ SEAFHash of XRES*; lets the SEAF do a fast first-pass comparison.
RES*USIM (UE)→ SEAF → AUSFThe UE's computed response; proves the UE holds K.
K_AUSFUDM/ARPF→ AUSF (kept)Top anchor of the key tree; stays in the home network.
K_SEAFAUSF→ SEAF (on success)Serving-network anchor; released only after RES* verifies.
ngKSISEAF/AMF→ UEKey Set Identifier naming the resulting security context.
ABBASEAF/AMF→ UEAnti-Bidding-down Between Architectures parameter, bound into K_AMF.

The serving side now challenges the UE. The AMF sends a NAS Authentication Request carrying RAND, AUTN, ngKSI and ABBA. The USIM verifies AUTN first — it recomputes the MAC and checks that the SQN (sequence number) is fresh and in range. This step is what authenticates the network to the UE: only the real home network, holding K, could have produced a valid AUTN. If the MAC is wrong the USIM rejects with a MAC failure; if the SQN is out of range it triggers a re-synchronisation. Only when AUTN checks out does the USIM compute the response RES* and the key material, and the UE returns RES* in a NAS Authentication Response.

📘

The two USIM failure paths: a MAC mismatch means the challenge did not come from the genuine home network — the USIM returns Authentication Failure with cause MAC failure. An SQN that is valid-MAC but out of the acceptable window means the network's counter has drifted — the USIM returns synchronisation failure with an AUTS token, and the home network resynchronises its SQN before re-challenging. Distinguishing these two is the fastest way to tell a spoofing attempt from ordinary counter drift.

Verification of the UE happens in two stages, by design. The SEAF/AMF computes HRES* from the received RES* and compares it against the HXRES* it holds — a fast local check that rejects an obviously wrong answer immediately. But this is not the binding decision: on a match the SEAF forwards RES* to the AUSF (Nausf_UEAuthentication confirm), and the AUSF makes the authoritative comparison against the XRES* it kept. Only that comparison authenticates the UE to the network. When it succeeds, the AUSF releases K_SEAF and the real SUPI to the SEAF/AMF. The serving network learns who the subscriber actually is only now, from the home network, never from the air.

UE / USIM SEAF / AMF AUSF UDM / ARPF / SIDF Registration Request SUCI (SUPI concealed by ECIES) Nausf_UEAuthentication (N12) SUCI, SN-name Nudm_UEAuthentication_Get SIDF de-conceals SUCI → SUPI 5G HE AV RAND, AUTN, XRES*, K_AUSF AUSF derives HXRES*, K_SEAF 5G SE AV RAND, AUTN, HXRES* Authentication Request RAND, AUTN, ngKSI, ABBA USIM verifies AUTN (SQN, MAC) → RES* Authentication Response RES* SEAF: HRES* =? HXRES* (first pass) Nausf_UEAuthentication (confirm) RES* AUSF: RES* =? XRES* (binding) Result, SUPI, K_SEAF released only on success AMF derives K_AMF from K_SEAF (SUPI, ABBA) → NAS Security Mode Command
Figure 1. 5G-AKA message sequence: UE/USIM ↔ SEAF/AMF ↔ AUSF ↔ UDM/ARPF/SIDF. Solid violet = forward requests and challenge; grey = home-network returns. SUCI conceals the SUPI; K_SEAF is released only after RES* verifies.

Key Output: K_AUSF → K_SEAF → K_AMF

Authentication is not only about proving identities — it mints the top of the key hierarchy. Every successful 5G-AKA run produces, at both the UE and the network, the same anchored chain of keys, each derived from the one above by the 3GPP KDF (HMAC-SHA256). The chain seeded here is the reason all later NAS and AS keys can be regenerated without re-authenticating.

K → CK / IK → K_AUSF → K_SEAF → K_AMF → NAS keys and K_gNB

The USIM (holding K) and the UDM/ARPF both compute CK/IK from K and RAND, and from those derive K_AUSF, bound to the serving-network name. K_AUSF stays in the home network at the AUSF — it is never handed to a visited network, and it later anchors features such as Steering-of-Roaming and K_AKMA. From K_AUSF the AUSF derives the anchor key K_SEAF, again bound to the serving-network name, and this is the single key delivered to the serving network. The AMF then derives K_AMF from K_SEAF, mixing in the SUPI and the ABBA parameter, and from K_AMF grows the two branches — NAS keys and the RAN key K_gNB.

Two parameters carried in the Authentication Request deserve a note. The ngKSI (Key Set Identifier in 5G) is a small value that names the resulting security context, so that after an idle period the UE and AMF can reactivate the context by reference — without transmitting any key — instead of re-running authentication. The ABBA parameter (Anti-Bidding-down Between Architectures) is fed into the K_AMF derivation to bind the key to the set of security features the network actually supports, so an attacker cannot force a downgrade to a weaker feature set. Both are set by the AMF and echoed to the UE at challenge time.

🔒

Why the split anchors matter: K_AUSF never leaves the home network and K_SEAF is bound to this serving network, so a key stolen in one visited network cannot be replayed to authenticate the subscriber elsewhere. The full tree below K_AMF — NAS keys, K_gNB, and the AS leaf keys — is the subject of the Security Key Hierarchy.

🔀

LTE ↔ NR: EPS-AKA in LTE derived a single anchor K_ASME at the MME from CK/IK, and the serving MME verified the response (XRES) itself. 5G inserts two home-network anchors above the serving anchor — K_AUSF (kept at the AUSF) and K_SEAF (the analogue of K_ASME, delivered to the SEAF) — and moves the binding response check to the home AUSF. It also adds serving-network-name binding into RES*/K_SEAF and the ABBA anti-downgrade parameter, neither of which existed in EPS-AKA.

The Alternative: EAP-AKA′

5G-AKA is the common method, but TS 33.501 defines a second primary-authentication method that produces the same anchor: EAP-AKA′. It uses exactly the same USIM primitives — the same K, RAND, AUTN, SQN, and the same CK/IK outputs — but wraps them in the IETF EAP (Extensible Authentication Protocol) framework rather than the bespoke 5G-AKA signalling. The AUSF plays the EAP server, the SEAF is a pass-through authenticator, and the exchange runs a full EAP request/response round (EAP-Request/AKA′-ChallengeEAP-Response/AKA′-ChallengeEAP-Success).

The cryptographic difference is that EAP-AKA′ first transforms CK/IK into CK′/IK′, bound to the serving-network name, and derives K_AUSF from the EAP master session key. The end result is identical: an K_AUSF at the AUSF, an K_SEAF anchor delivered to the SEAF, and the same hierarchy below. Where the two differ is in framing, in message count, and in where the response is verified.

Aspect5G-AKAEAP-AKA′
Framework5G-native AKA signalling (TS 33.501)IETF EAP (RFC 5448 / 9048) carried in 5G
USIM primitivesK, RAND, AUTN, CK/IKSame — identical USIM computations
Serving-network bindingK_AUSF from CK/IK + SN-nameCK′/IK′ bound to SN-name, then EAP MSK
Response checkSEAF pre-checks HXRES*; AUSF confirms RES* vs XRES*AUSF (EAP server) verifies AT_RES and sends EAP-Success
Anchor producedK_SEAF to SEAFK_SEAF to SEAF (same anchor)
Typical use3GPP access, the default in most deploymentsAny access; often used for non-3GPP / untrusted access

Both methods are equal partners in the standard: the UDM decides which one to run for a given subscriber, and the SEAF supports both. From the key hierarchy's point of view, the choice is invisible below K_SEAF — the anchor, and everything derived from it, is the same shape either way. The SUCI concealment described above is likewise independent of the method: the UE conceals its identity, the SIDF de-conceals it, and only then does either 5G-AKA or EAP-AKA′ run.

📘

Same USIM, different envelope: a subscriber's USIM does not need to know which method the network will pick — it performs the same AKA computation for both. The difference is entirely in how the network frames and verifies the exchange, and in the small key-transform step (CK′/IK′) that EAP-AKA′ adds.

⚠ Common pitfalls / gotchas

  • Confusing the SEAF pre-check with the real decision. The HRES* vs HXRES* comparison at the SEAF is only a fast filter; the binding pass/fail is the AUSF's RES* vs XRES* check. A "success" locally at the AMF is not authentication until the AUSF confirms.
  • Reading a sync failure as an attack. A synchronisation failure (valid MAC, out-of-window SQN) is ordinary counter drift resolved by AUTS resync — it is not a MAC failure and does not indicate a rogue network.
  • Assuming the SUCI hides everything. Only the MSIN/username is concealed; MCC/MNC (or realm), Routing Indicator, scheme ID and key ID travel in the clear by design, so an observer still learns the home operator.
  • Provisioning a stale or missing Home Network Public Key. If the USIM's public key or its Home Network Public Key ID does not match any key the SIDF still holds, de-concealment fails and registration cannot proceed — a common cause of "SIM works on 4G, fails on 5G SA".
  • Forgetting the serving-network-name binding. RES*/K_SEAF are bound to the SN name; a mismatch between what the UE and network believe the serving network is causes authentication to fail even with a correct K.

Summary

Two mechanisms carry all of 5G's front-door security. SUCI concealment keeps the permanent identity (SUPI) off the air by ECIES-encrypting only the MSIN/username with the home network public key, leaving routing fields in the clear; the home SIDF alone can reverse it. 5G-AKA (or EAP-AKA′) then runs a mutual challenge–response: AUTN proves the network to the UE, RES* proves the UE to the network, and the check is anchored at the home AUSF so a visited network can never fake it.

The practical way to reason about it is to follow who holds what: the USIM holds K; the UDM/ARPF builds the 5G HE AV and de-conceals the SUCI; the AUSF keeps K_AUSF and XRES* and makes the binding decision; the SEAF/AMF gets only the reduced 5G SE AV and, on success, the anchor K_SEAF. From K_SEAF the AMF grows K_AMF and the whole NAS/AS tree — without ever re-running authentication until the context expires.

When something breaks, the first question is which check failed: a MAC failure points at a spoofed or wrong network, a synchronisation failure at SQN drift, a de-concealment failure at the home network public key or Routing Indicator, and a RES*/XRES* mismatch at an invalid or cloned USIM. Each maps to a distinct, testable cause.

Quick Q&A

Q&A Quick Q&A

Q. Why does the UE send a SUCI instead of its SUPI, and what exactly is concealed?

A. To keep the permanent identity off the air — the IMSI-catcher defence. Only the subscriber-specific part (the MSIN of an IMSI, or the NAI username) is concealed with the home network public key using ECIES; the routing part (MCC/MNC or realm) stays clear so the serving network can route to the right home network. A fresh ephemeral key each time makes successive SUCI values unlinkable.

Q. Who can de-conceal a SUCI, and where?

A. Only the SIDF (Subscription Identifier De-concealing Function) inside the home UDM. It holds the private key matching the public key provisioned in USIMs, and that private key never leaves it. The serving AMF learns the real SUPI only from the AUSF, and only after authentication succeeds — never from the radio interface.

Q. In 5G-AKA, what authenticates the network to the UE, and the UE to the network?

A. The AUTN token authenticates the network: the USIM checks its MAC and the freshness of SQN before doing anything else. The RES* authenticates the UE: the SEAF pre-checks via HRES* vs HXRES*, then the AUSF makes the binding comparison against XRES*. Both directions must pass before K_SEAF is released.

Q. What is the difference between the 5G HE AV and the 5G SE AV?

A. The UDM/ARPF builds the 5G HE AV (RAND, AUTN, XRES*, K_AUSF) and sends it to the AUSF. The AUSF derives HXRES* and K_SEAF, then hands the serving network only the reduced 5G SE AV (RAND, AUTN, HXRES*). The serving network never sees XRES*, K_AUSF, or (until success) K_SEAF.

Q. Which keys does a successful run produce, and which stay in the home network?

A. The chain is KCK/IKK_AUSFK_SEAFK_AMF. K_AUSF stays at the AUSF in the home network; K_SEAF is the anchor delivered to the serving network's SEAF; the AMF derives K_AMF from it using the SUPI and ABBA.

Q. How does EAP-AKA′ differ from 5G-AKA?

A. Same USIM primitives (K, RAND, AUTN, CK/IK), but wrapped in the IETF EAP framework instead of 5G-native signalling. It transforms CK/IK into CK′/IK′ bound to the serving-network name and derives K_AUSF from the EAP master session key. The resulting K_SEAF anchor and everything below it are identical, so the hierarchy is unchanged.

Quick LTE 4G / 5G NR Interview Questions

Q&A Quick LTE 4G / 5G NR Interview Questions

Q. What actually happens if the network sends an authentication challenge and the UE's computed RES doesn't match what's expected?

A. Authentication fails outright — the network (via AUSF/HSS) rejects it, typically returning an Authentication Reject, and the UE is not allowed to proceed to security mode / registration. This is the core defense against a cloned/invalid SIM, since only a valid USIM holding the shared secret K can compute a matching response.

Q. Why does 5G-AKA add an extra confirmation step (RES verification at AUSF) that 4G's EPS-AKA didn't need in the same way?

A. In 4G, the serving network itself could fully verify the response. 5G intentionally keeps the visited network from being able to independently confirm authentication success — RES* verification is anchored back at the home network's AUSF — so a compromised or malicious visited network can't fake having authenticated a subscriber it never actually verified.

Q. What happens if AS Security Mode Command fails (integrity check fails on the UE side)?

A. The UE doesn't proceed to activate AS security — it discards the command and the connection effectively can't continue meaningfully, generally cascading into RLF/reconnection, since a mismatched or spoofed security context must never be silently accepted.

Where this connects

Authentication mints the anchor and hides the identity; these pages show where the identity is used and where the keys go next: