Description
IP User Plane Integrity Protection (UP) is a cryptographic security feature designed to guarantee the integrity of user data traffic. It operates by generating and verifying integrity checksums, known as Message Authentication Codes (MACs), for IP packets traversing the user plane. The process involves a security algorithm and a secret integrity key shared between the User Equipment (UE) and the network node terminating the protection, typically the gNB in 5G or the eNB in 4G. For each outgoing packet, the sender computes a MAC over the packet payload and certain header fields, appending this MAC to the packet. The receiver independently computes the expected MAC using the same algorithm and key; if the computed MAC matches the received one, the packet's integrity is verified. If not, the packet is discarded, preventing corrupted or tampered data from being processed.
The architecture for UP is integrated within the Packet Data Convergence Protocol (PDCP) layer in both LTE and NR radio access networks. The PDCP entity is responsible for applying ciphering and, when configured, integrity protection for the user plane. The decision to activate UP is controlled by the network via Radio Resource Control (RRC) signaling, based on policy, subscriber profile, and the sensitivity of the data service. The integrity key used is derived as part of the 3GPP Authentication and Key Agreement (AKA) procedure, ensuring it is unique to the session and securely established.
UP's role is to provide end-to-end integrity protection for the data link between the UE and the radio access network, safeguarding against over-the-air attacks such as packet injection, replay, or manipulation by a malicious actor. It does not typically provide integrity protection for the entire end-to-end path to the application server, as that is the responsibility of higher-layer protocols like TLS or IPsec. However, within the 3GPP trust boundary, UP is a fundamental layer of defense, enhancing the overall security posture for services like financial transactions, industrial control, and critical communications where data authenticity is paramount.
Purpose & Motivation
UP was introduced to address the growing need for robust security in mobile data services beyond traditional confidentiality protection. Early 3GPP standards primarily focused on ciphering user data to ensure privacy but did not mandate integrity protection for the user plane, leaving it vulnerable to data manipulation attacks. As mobile networks evolved to carry sensitive traffic like mobile banking, corporate VPN access, and IoT command-and-control, the risk of undetected data tampering became a significant concern. Integrity protection ensures that data received is exactly the data sent, which is a critical requirement for trust in digital services.
The motivation for UP's specification stemmed from threat analyses identifying that an attacker with radio access could alter user data packets without detection, potentially leading to fraud, service disruption, or safety issues. For instance, in an unsecured scenario, an attacker could modify transaction amounts in financial data or send false commands to an IoT device. UP solves this by providing a mechanism to detect any modification, ensuring data authenticity and non-repudiation within the radio access segment. Its creation was part of a broader 3GPP effort to strengthen security architecture across releases, aligning with regulatory and industry demands for more secure telecommunications infrastructure.
Initially optional, the adoption and importance of UP have grown with each generation, particularly in 5G where it is a key feature for enabling enhanced Mobile Broadband (eMBB), Ultra-Reliable Low-Latency Communications (URLLC), and massive IoT services. It addresses limitations of previous approaches that relied solely on application-layer security or network perimeter defenses, which might not protect the vulnerable radio link. By integrating integrity at the PDCP layer, UP provides a standardized, efficient, and mandatory-enforceable security baseline for all user plane traffic.
Key Features
- Integrity protection for user plane IP packets at the PDCP layer
- Utilizes Message Authentication Codes (MACs) for tamper detection
- Key derivation based on 3GPP AKA for secure session keys
- Network-controlled activation via RRC signaling based on policy
- Protection against packet injection, replay, and modification attacks
- Standardized security algorithms (e.g., 128-bit SNOW 3G, AES, ZUC)
Evolution Across Releases
Introduced the initial concept of user plane integrity protection within the 3GPP security architecture framework. Defined the foundational requirements and threat model, identifying the need for data origin authentication and integrity for IP-based user data. Initial specifications laid the groundwork for algorithm development and integration into the protocol stack.
Defining Specifications
| Specification | Title |
|---|---|
| TS 21.905 | 3GPP TS 21.905 |
| TS 23.153 | 3GPP TS 23.153 |
| TS 23.714 | 3GPP TS 23.714 |
| TS 23.730 | 3GPP TS 23.730 |
| TS 23.799 | 3GPP TS 23.799 |
| TS 23.868 | 3GPP TS 23.868 |
| TS 23.910 | 3GPP TS 23.910 |
| TS 23.977 | 3GPP TS 23.977 |
| TS 24.502 | 3GPP TS 24.502 |
| TS 25.305 | 3GPP TS 25.305 |
| TS 25.331 | 3GPP TS 25.331 |
| TS 25.410 | 3GPP TS 25.410 |
| TS 25.415 | 3GPP TS 25.415 |
| TS 26.919 | 3GPP TS 26.919 |
| TS 28.531 | 3GPP TS 28.531 |
| TS 29.244 | 3GPP TS 29.244 |
| TS 29.412 | 3GPP TS 29.412 |
| TS 29.414 | 3GPP TS 29.414 |
| TS 29.522 | 3GPP TS 29.522 |
| TS 29.820 | 3GPP TS 29.820 |
| TS 29.844 | 3GPP TS 29.844 |
| TS 29.892 | 3GPP TS 29.892 |
| TS 32.251 | 3GPP TR 32.251 |
| TS 32.972 | 3GPP TR 32.972 |
| TS 33.401 | 3GPP TR 33.401 |
| TS 33.501 | 3GPP TR 33.501 |
| TS 33.503 | 3GPP TR 33.503 |
| TS 33.740 | 3GPP TR 33.740 |
| TS 33.820 | 3GPP TR 33.820 |
| TS 33.825 | 3GPP TR 33.825 |
| TS 33.851 | 3GPP TR 33.851 |
| TS 33.853 | 3GPP TR 33.853 |
| TS 33.859 | 3GPP TR 33.859 |
| TS 33.863 | 3GPP TR 33.863 |
| TS 36.331 | 3GPP TR 36.331 |
| TS 36.425 | 3GPP TR 36.425 |
| TS 36.938 | 3GPP TR 36.938 |
| TS 38.331 | 3GPP TR 38.331 |
| TS 38.410 | 3GPP TR 38.410 |
| TS 38.413 | 3GPP TR 38.413 |
| TS 38.415 | 3GPP TR 38.415 |
| TS 48.103 | 3GPP TR 48.103 |