← Book home
Part 3 · Core Network and SBA Security
13

SEPP and 5G Roaming Security

Fixing the border that SS7 and Diameter left wide open

“For decades, the interconnect between operators trusted any message that arrived. Location tracking, fraud, and interception followed. 5G’s answer stands at the border with a name: SEPP.” — THE INTERCONNECT LESSON

Roaming was mobile networks’ softest underbelly. The SS7 and Diameter interconnects assumed every peer was honest, and attackers exploited that to locate subscribers, intercept calls, and commit fraud — across borders, anonymously. 5G introduces the SEPP (Security Edge Protection Proxy): a cryptographic guard through which all inter-operator signaling must pass. This chapter covers the SEPP, the N32 interface, TLS vs PRINS protection, IPX intermediaries, topology hiding, and message filtering.

🎯 Learning objectives
📘 Standards reference box — Chapter 13
SpecificationTitleRelease / version verified
TS 33.5015G security — SEPP & inter-PLMN security (clause 13.2)Rel-18, v18.11.0 (2026-04)
TS 29.573PLMN interconnection — N32 (N32-c/N32-f, PRINS)Rel-18 edition
GSMA FS.36 / NG.113SEPP & 5G interconnect security guidancecurrent

Checked June 2026 — verify against the latest 3GPP version.

13.1 Why Roaming Was the Weakest Link

FIGURE 13.1Roaming Interconnect History — SS7 → Diameter → N32
SS7 (2G/3G) trust every peer tracking, intercept, fraud Diameter (4G) same trust model, on IP same attack classes persisted N32 + SEPP (5G) cryptographic border guard authenticate, protect, filter 25+ years of interconnect attacks → 5G finally puts an authenticated, integrity-protected, filterable border between operators
Purpose: the historical arc. SS7’s “trust everyone” model survived into Diameter; the SEPP is the first interconnect designed assuming the peer — and everything between you and it — might be hostile.
FIGURE 13.2What the Old Interconnect Allowed
attacker with interconnect access locate any subscriber"send routing info" → cell-level location, anywhere intercept SMS / callsredirect via fake roaming registration fraud & DoSfake usage, deregister victims, drain accounts
Purpose: the concrete harm. These weren’t exotic exploits — they were legitimate protocol messages sent by anyone with interconnect access, because nothing authenticated the sender.

13.2 The SEPP and N32

FIGURE 13.35G Roaming Architecture with SEPPs
VISITED PLMN AMF SMF vSEPPborder guard IPX transit untrusted intermediaries HOME PLMN UDM AUSF hSEPPborder guard N32 — ALL inter-PLMN SBI signaling crosses vSEPP ↔ hSEPP, and nothing else does
Purpose: the roaming security model. Every cross-operator message funnels through two SEPPs; the IPX in the middle is treated as untrusted by design.
FIGURE 13.4SEPP Placement and Roles
internal NFsSBI (mTLS+OAuth) SEPP terminate internal TLS apply protection policy (encrypt/modify) topology hiding + message filtering N32 to peer SEPP peer SEPPvia IPX (N32) the SEPP is a reverse-proxy + policy engine + crypto gateway — the only NF allowed to talk across the PLMN border
Purpose: what the SEPP actually does. It terminates internal security, re-protects for the hostile interconnect, hides your topology, and filters what crosses.
FIGURE 13.5N32-c Handshake — Capability and Policy Exchange
cSEPP pSEPP ① N32-c: capabilities, supported security ② chosen mode: TLS or PRINS ③ protection policies (which IEs encrypt/modifiable) ④ agreed → N32-f forwarding can now begin N32-c (control) sets up the relationship; N32-f (forwarding) carries the actual protected signaling
Purpose: the two-channel design. N32-c negotiates the security relationship up front; only then does N32-f carry real traffic — so policy is agreed before any subscriber data flows.

13.3 TLS Mode vs PRINS

N32 can be protected two ways. TLS mode: a direct TLS connection between SEPPs — simplest, used when no IPX needs to read/modify anything. PRINS (PRotocol for N32 INterconnect Security): application-layer protection (JOSE — JWE/JWS over the JSON) that survives passing through IPX intermediaries, letting them make authorized modifications while the rest stays encrypted and integrity-protected end-to-end.

FIGURE 13.6N32 Security Mode Decision — TLS vs PRINS
does an IPX need toread/modify N32 IEs? NO YES TLS MODE direct SEPP↔SEPP TLS simplest, strongest confidentiality use when interconnect is transparent PRINS app-layer JOSE on JSON IPX modifies allowed IEs only rest stays end-to-end protected
Purpose: the mode choice. TLS is cleaner but opaque to intermediaries; PRINS exists precisely because the roaming ecosystem still has IPX providers that must touch certain fields.
FIGURE 13.7PRINS Application-Layer Protection (JOSE on JSON)
original N32 JSON message contains: sensitive IEs (SUPI, keys) + routable IEs (PLMN) + IEs an IPX may adjust ENCRYPTED (JWE)sensitive IEs hiddenIPX cannot read them INTEGRITY (JWS)signed — tamper-evidentend-to-end MODIFIABLEIPX may change (per policy)changes recorded + signed the SEPP at the far end verifies signatures, decrypts, and checks that ONLY authorized IEs were modified by authorized intermediaries → confidentiality + integrity + accountable intermediary changes, all at once
Purpose: how PRINS squares the circle — letting intermediaries do their job without trusting them with everything. Sensitive fields are encrypted; modifiable fields carry a signed audit trail of who changed what.
FIGURE 13.8Encryption and Modification Policies per IE
information element confidentiality IPX may modify? SUPI / SUCIENCRYPTno key materialENCRYPTno PLMN ID (routing)readableno selected QoS / charging IEsreadableyes (policy) these policies are AGREED in the N32-c handshake — a mismatched or over-permissive policy is a real misconfiguration (Chapter 25)
Purpose: the granularity of PRINS. Each IE is classified — encrypt, integrity-only, or modifiable — and the two SEPPs must agree. Getting this policy wrong is how sensitive fields leak or get tampered.

13.4 IPX, Topology Hiding, and Filtering

FIGURE 13.9IPX Provider — Authorized Modification
cSEPPPRINS protect IPX providerreads ONLY readable IEsmodifies ONLY allowed IEsSIGNS its change hSEPPvalidate change the receiving SEPP rejects ANY modification that wasn’t authorized in policy or wasn’t signed by an authorized intermediary
Purpose: intermediaries as accountable participants, not silent men-in-the-middle. An IPX can do its routing/mediation job, but every change it makes is bounded by policy and cryptographically attributable.
FIGURE 13.10Topology Hiding at the SEPP
internal message reveals udm-07.core.op.net 10.20.7.14, instance IDs would expose internal topology SEPPrewrite FQDNs/addressesto opaque tokensmap back on return partner sees only opaque-id-x9f2 no internal structure, no recon foothold
Purpose: denying reconnaissance. A roaming partner (or an attacker who reaches it) should not learn your core’s internal addressing — topology hiding rewrites it to opaque references at the border.
FIGURE 13.11Message Filtering and Validation Pipeline
incoming N32from partner ① message typeallowed for this partner? ② IE plausibilityvalues sane? schema? ③ rate / patternflood? anomaly? ④ pass → coreelse DROP + log filtering is what actually stops SS7-style attacks: a "locate subscriber" message from a partner that shouldn’t send it is dropped at the border
Purpose: the SEPP’s active defense. Encryption protects content; filtering stops malicious-but-valid messages — the exact gap that made SS7 dangerous.
FIGURE 13.12Inter-PLMN Certificate Management
roaming-federation PKI(GSMA-coordinated trust) Operator A SEPP certtrusted by partners Operator B SEPP certtrusted by partners Operator C SEPP certtrusted by partners a stale or mis-issued SEPP cert can break roaming (availability) or admit an impostor (security) — manage rotation/revocation across the federation carefully
Purpose: trust at the border is PKI at the border — across many operators. The federation’s certificate hygiene determines who your SEPP will accept N32 sessions from.
FIGURE 13.13Roaming Hub Models and Trust
bilateral SEPP A SEPP B direct trust, clearest security hub-mediated SEPP A hub SEPP B scale, but the hub sees more — trust it accordingly
Purpose: roaming at scale. Hubs simplify many-to-many connectivity but become high-value intermediaries — understand exactly what a hub can see and modify under your N32 policy.
FIGURE 13.14Roaming Attacks vs SEPP Controls
attack (SS7/Diameter era) SEPP control locate subscriber via interconnect querymessage filtering (drop disallowed message types) fake roaming registration → interceptauthenticated N32, partner authorization steal keys/vectors in transitPRINS encryption of sensitive IEs signaling flood / DoSrate limiting + anomaly filtering topology recontopology hiding
Purpose: the chapter’s payoff — each historic interconnect attack and the specific SEPP mechanism that now blocks it. This table is the argument for why the SEPP exists.
FIGURE 13.15Local Breakout vs Home-Routed — Security Comparison
home-routed user traffic returns to HOME UPF home keeps policy + lawful-intercept control visited network sees less user data stronger home control, higher latency local breakout traffic exits at the VISITED network lower latency, edge use cases visited network handles user data + policy more trust in the visited network
Purpose: the architectural trade-off behind roaming security. Where traffic breaks out decides who sees user data and who controls policy — a security decision, not just a latency one.

13.5 The Practical Operator View

Common misconfiguration risks

13.6 Threats and Mitigations

ThreatVectorSEPP defense
Subscriber location trackinginterconnect querymessage filtering, authorization per partner
Call/SMS interceptionfake registrationauthenticated N32, filtering
Key/vector theftinterception in transitPRINS encryption / TLS
Topology reconinternal IDs in messagestopology hiding
Signaling DoSflood from partnerrate limiting + anomaly filtering
Unauthorized IE modificationmalicious IPXPRINS modification policy + signatures

13.7 Terminology, Example, Checklist

TermMeaning
SEPPSecurity Edge Protection Proxy — the PLMN border guard
N32-c / N32-fSEPP control (handshake/policy) / forwarding (protected signaling)
TLS mode / PRINSDirect SEPP-to-SEPP TLS / application-layer JOSE protection across IPX
IPXIP eXchange — roaming interconnect intermediary
topology hidingRewriting internal addresses/FQDNs to opaque references
JOSE (JWE/JWS)JSON encryption/signature used by PRINS

Real network example. An operator onboarding a new roaming partner hit interop problems and, under launch pressure, disabled SEPP message filtering “just for this partner, just for now” to get traffic flowing. The bypass was forgotten. Months later, a security assessment found that partner’s interconnect could send subscriber-location queries straight into the core — a textbook SS7-era attack, reborn over 5G. No filtering meant no border. Fix: re-enable filtering with a partner-specific allowlist of message types, add a configuration-drift alarm on any SEPP with filtering disabled, and a policy that no partner goes live with filtering off. The SEPP only protects you if it’s actually inspecting traffic — encryption without filtering still lets malicious-but-valid messages through.

Chapter Summary

? Review Questions

  1. Why were SS7 and Diameter interconnects insecure, and what core assumption did the SEPP overturn?
  2. Distinguish N32-c and N32-f and what each carries.
  3. When would you choose PRINS over TLS mode, and what does PRINS let an IPX do safely?
  4. Explain how PRINS protects a message with encrypted, integrity-only, and modifiable IEs simultaneously.
  5. Why does encryption alone not stop SS7-style attacks, and what SEPP feature does?
  6. What is topology hiding and what attacker activity does it deny?
  7. A partner is onboarded with SEPP filtering disabled. What specific attack becomes possible and how do you remediate?
  8. Compare home-routed and local-breakout roaming from a security/trust standpoint.
🧪 Mini lab — design an N32 protection policy

On paper, build the N32 security configuration for a roaming partner whose IPX must read PLMN routing and adjust certain charging IEs: (1) Decide TLS vs PRINS and justify it. (2) Classify each of these IEs as encrypt / integrity-only / modifiable: SUPI, authentication vector, PLMN ID, charging characteristics, NF FQDN. (3) Write three message-filtering rules (which message types from this partner you allow/deny). (4) State your topology-hiding policy. (5) Red-team it: as a malicious IPX or a hostile partner, what would you try, and which of your settings stops it? You've now authored the exact configuration that turns a roaming agreement into a secure border.