Definition
Integrity Protection ensures that control plane signaling and user plane data are not tampered with during transmission through MAC (Message Authentication Code) or AEAD (Authenticated Encryption with Associated Data) mechanisms. LTE/5G provides integrity protection for RRC signaling and PDCP layer data, using the 128-EIA series algorithms, combined with air interface encryption (128-EEA) to achieve both confidentiality and integrity, and is a core mechanism of the security architecture.
Algorithms and Keys
- 128-EIA1 (SNOW 3G): 3GPP legacy
- 128-EIA2 (AES-CMAC): widely deployed
- 128-EIA3 (ZUC): national cryptography algorithm
Integrity keys (KRRCint, KUPint) are derived through the key management process, separate from encryption keys. NIA0 represents null integrity, used only for testing.
Protective Function
Integrity protection prevents signaling tampering (such as modified handover commands), replay attacks (via COUNT/sequence number), and man-in-the-middle attacks. The receiver calculates the MAC and compares it with the MAC in the message; if they do not match, the message is discarded and a security alert may be triggered.
Typical Use Cases
All LTE/5G air interface signaling and user plane data require integrity protection. SimtoLink's IoT SIM cards automatically enjoy integrity protection in the operator's network.
Integrity protection is the cornerstone of cellular network security. SimtoLink's IoT SIM cards automatically enjoy signaling and data integrity protection in the operator's network. For industrial IoT, financial payment, and other high-security scenarios, SimtoLink can work with end-to-end encryption and integrity verification to build a multi-layered security protection system for customers.
When the check does not match, drop the whole unit instead of trying to correct it
Integrity protection attaches a message authentication code to the message. The receiver recomputes it with the same integrity key. A mismatch means bits were changed, or the wrong key or counter was used. That unit cannot be “repaired” with an error-correcting code, because the change may be intentional, and correction would turn altered signaling into a command that looks legitimate. The right action is to drop the whole unit and count the failure as the protocol specifies. A run of failures should raise a security alarm, not a quiet retry until one happens to pass.
Ciphering and integrity answer two questions. Ciphering keeps a bystander from reading. Integrity makes a change detectable. With ciphering and no integrity, an attacker who cannot read the content can still flip some bits and turn a command into another content that still decrypts. Both need to be on over the air interface. An application check of its own does not cancel this air-interface layer, because air-interface signaling itself does not pass through the application.
A counter outside the window is treated as a replay
Under the same key, the authentication code also has to be bound to a counter. Otherwise an old message can be sent again unchanged and the check still passes. The receiver accepts only messages whose counter has moved forward into a limited window. A message that is too far behind is a replay. A message that jumps too far ahead may be a loss of synchronization. Loss of synchronization and tampering can both be written in the log as a failed check. The difference is that after a loss of synchronization every later legitimate message also fails, while tampering is usually a single message failing. Resynchronization means building the security context again. An individual tamper is recorded and dropped.
If the window is too small, a normal reordered retransmission is treated as a replay. If the window is too large, a genuinely old message is easier to mix in. The window should cover the range of radio reordering, not the whole history the application can cache. After a handover the counter starts again. A message from the old window cannot be checked in the new cell.
When the control plane is rewritten, the user plane may still be sending and receiving
Radio resource control messages decide handover, bearers, and measurement. If an integrity failure on those messages is ignored, the device may carry out an altered handover command. The user plane still shows traffic for a short time, and then the device enters the wrong cell. Watching only service throughput misses this class of attack or fault. Watch whether the signaling-failure count is rising, not only whether IP packets are present. User-plane integrity can also be turned on from a certain network generation. It protects the data radio bearer. It does not replace the key on the control plane.
A SimtoLink IoT SIM card uses the integrity algorithm the operator network assigns on the air interface. The long-term key in the card only takes part in derivation. It does not operate on every signaling message directly. If check failures cluster in one cell, suspect that cell’s security configuration, or radio errors that have already damaged signaling. If every cell fails, then suspect whether the card and the network keys match. The application still needs its own check on commands. Air-interface integrity does not cover forwarding inside the platform after decryption.
The user-plane integrity switch and signaling integrity are not the same key
Signaling integrity protects radio resource control messages. User-plane integrity protects packets on the data bearer. The network can turn on only the first. Tampering with a service packet is then not necessarily detected at the access stratum, while an altered handover command is dropped. When you see “integrity is on,” ask which plane and which bearer. Passing signaling in a test with a null integrity algorithm does not mean the user plane also allows the null algorithm. The null-algorithm switch on the two planes should each be kept out of a commercial configuration.
Failure counts should be split too. If signaling checks fail more often and the user plane looks normal, the device may lose the connection quickly. If user-plane checks fail more often and signaling looks normal, the connection is still there and service packets are thinning out. A SimtoLink card takes part in deriving the material for both keys. It does not show on the platform whether each key is in use. Only the module diagnostic port can see the current algorithm. Normal platform service does not prove that signaling integrity is still working, because failures may not have accumulated far enough to tear the link down. The failure count on the diagnostic port is the direct evidence for this layer.