A subscriber's permanent identity, the SUPI (MCC+MNC+MSIN, the successor to the IMSI), must reach the home network once to attach — but a passive listener between the phone and the tower can be anyone with cheap SDR hardware, i.e. an IMSI-catcher / rogue base station. Pre-5G radio access sent the identity in the clear on this first message, so a catcher could log it instantly and track the phone by that fixed number forever after.
5G fixes this with SUCI (Subscription Concealed Identifier), built with a real ECIES scheme run in this page via the browser's SubtleCrypto (ECDH on curve P-256, standing in for 3GPP's Profile A/B Curve25519/secp256r1):
1. UE generates a fresh ephemeral key pair (e_priv, e_pub) — new every attach
2. shared = ECDH(e_priv, homeNetwork_pub) // never transmitted
3. key = SHA-256(shared) // KDF stand-in for 3GPP Annex C
4. SUCI = e_pub || AES-256-GCM(key, SUPI) // ciphertext + 128-bit auth tag
5. only the home network's SIDF, holding the matching private key,
can redo step 2 and decrypt back to the SUPI
- Mode — 5G runs the ECIES pipeline above; 4G plaintext sends the raw SUPI string as the identity, matching the legacy protocol it stands in for.
- Rogue base station — a listener the phone cannot distinguish from a real tower before authentication completes. It intercepts every packet, but under 5G it only ever holds ciphertext: it lacks the home network's private key, so it cannot run step 2.
- New ephemeral key pair — forces a fresh (e_priv, e_pub), which also changes the SUCI ciphertext even for the same SUPI — this per-attach freshness is what prevents a passive listener from correlating two attaches to the same subscriber.
- Real deployments add a null-scheme fallback for emergency calls and pre-provision the home network's public key on the SIM/eSIM profile — both are simplified away here to keep the mechanic legible.