Description
The Subscriber Identity Module (SIM) and its evolution into the Universal Subscriber Identity Module (USIM) is a tamper-resistant hardware component, traditionally an integrated circuit card (ICC), or a software-based implementation (eSIM, iSIM). It serves as the secure anchor for the subscriber within the mobile network. The module contains a microprocessor and persistent memory that stores critical data, including the International Mobile Subscriber Identity (IMSI), the unique Integrated Circuit Card Identifier (ICCID), a set of authentication keys (Ki for GSM, K for UMTS/5G), and security algorithms. It also holds subscriber-related information such as the phonebook, SMS messages, and network selection preferences.
Architecturally, the SIM/USIM operates as an independent secure element within the User Equipment (UE), interfacing with the Mobile Equipment (ME) via standardized electrical and logical interfaces. Its primary role is to execute the Authentication and Key Agreement (AKA) protocol with the network. When a UE attempts to attach to a network, the network's Authentication Centre (AuC) generates an authentication vector containing a random challenge (RAND), an expected response (XRES), a ciphering key (CK), and an integrity key (IK). This vector is sent to the serving network node (e.g., VLR, SGSN, MME, AMF). The network sends the RAND to the UE, which passes it to the SIM/USIM. The SIM/USIM uses its stored secret key (Ki/K) and the received RAND to compute a response (SRES for GSM, RES for UMTS/5G) and the session keys (CK, IK) locally. The UE sends the computed RES back to the network for verification. A match authenticates the subscriber and establishes secure, encrypted communication.
The evolution from SIM to USIM marked a significant security enhancement. The classic SIM used the COMP128 algorithm for GSM AKA, which had known vulnerabilities. The USIM, introduced for 3G, supports the stronger Milenage algorithm suite for UMTS and later 5G AKA. It provides mutual authentication (network authenticates the user, and the user authenticates the network), stronger key derivation, and mandatory integrity protection for signaling. The USIM also manages multiple operator profiles and facilitates secure services beyond basic access, such as GBA (Generic Bootstrapping Architecture) for application authentication. In 5G, the USIM is crucial for supporting the enhanced 5G AKA and the primary authentication procedure between the UE and the Authentication Server Function (AUSF), anchoring the subscriber's permanent subscription identifier (SUPI).
Purpose & Motivation
The SIM was created to solve the fundamental problem of securely identifying and authenticating a subscriber on a mobile network, decoupling subscriber identity from the physical handset. Before its introduction, subscriber identity was tied to the mobile equipment, making it difficult to change devices and posing significant security and fraud risks. The SIM modularized the subscriber's identity, credentials, and personal data onto a portable, secure token. This enabled global roaming, as a subscriber could insert their SIM into any compatible handset and immediately have access to their subscribed services and personal data.
The primary motivation was to establish a robust security foundation. By storing authentication keys in a tamper-resistant environment and performing cryptographic computations internally, the SIM prevents key extraction and cloning, mitigating fraud like subscription fraud and eavesdropping. It provides a trusted execution environment for the AKA protocol. The evolution to USIM was driven by the need for stronger cryptographic algorithms and mutual authentication to address security weaknesses in 2G GSM networks, where only the user was authenticated to the network. 3G and beyond required protection against false base station attacks, which the USIM's network authentication capability helps to prevent.
Furthermore, the SIM/USIM platform evolved into a service enabler. Its secure storage and processing capabilities were leveraged for value-added services like secure payment applications (through SIM Toolkit or Java Card), secure storage for driver licenses or digital keys (in eSIM profiles), and as a root of trust for network-based applications. It solves the problem of secure credential management in a multi-operator, multi-service, and multi-device ecosystem, forming the basis for trusted mobile identity.
Key Features
- Secure storage of long-term subscriber identity (IMSI/SUPI) and secret authentication key (Ki/K)
- Execution of Authentication and Key Agreement (AKA) protocols (GSM AKA, UMTS AKA, 5G AKA)
- Generation of session security keys (CK, IK) for ciphering and integrity protection
- Tamper-resistant hardware design (or equivalent secure software environment for eSIM)
- Storage of subscriber data (phonebook, SMS, service settings) and multiple operator profiles
- Support for value-added services via SIM Application Toolkit (SAT) and Java Card platform
Evolution Across Releases
Introduced the USIM application for 3G UMTS networks, residing on a UICC. It provided enhanced security over the GSM SIM by supporting the UMTS AKA protocol with mutual authentication, stronger Milenage algorithms, and mandatory integrity protection for signaling. The USIM stored the long-term key K and could manage multiple network access applications.
Defining Specifications
| Specification | Title |
|---|---|
| TS 21.111 | 3GPP TS 21.111 |
| TS 21.133 | 3GPP TS 21.133 |
| TS 21.905 | 3GPP TS 21.905 |
| TS 22.022 | 3GPP TS 22.022 |
| TS 22.038 | 3GPP TS 22.038 |
| TS 22.057 | 3GPP TS 22.057 |
| TS 22.066 | 3GPP TS 22.066 |
| TS 22.100 | 3GPP TS 22.100 |
| TS 22.101 | 3GPP TS 22.101 |
| TS 22.121 | 3GPP TS 22.121 |
| TS 22.226 | 3GPP TS 22.226 |
| TS 22.234 | 3GPP TS 22.234 |
| TS 22.907 | 3GPP TS 22.907 |
| TS 22.944 | 3GPP TS 22.944 |
| TS 22.967 | 3GPP TS 22.967 |
| TS 22.980 | 3GPP TS 22.980 |
| TS 23.048 | 3GPP TS 23.048 |
| TS 23.050 | 3GPP TS 23.050 |
| TS 23.057 | 3GPP TS 23.057 |
| TS 23.067 | 3GPP TS 23.067 |
| TS 23.110 | 3GPP TS 23.110 |
| TS 23.127 | 3GPP TS 23.127 |
| TS 23.171 | 3GPP TS 23.171 |
| TS 23.228 | 3GPP TS 23.228 |
| TS 23.234 | 3GPP TS 23.234 |
| TS 23.271 | 3GPP TS 23.271 |
| TS 23.758 | 3GPP TS 23.758 |
| TS 23.804 | 3GPP TS 23.804 |
| TS 24.234 | 3GPP TS 24.234 |
| TS 25.305 | 3GPP TS 25.305 |
| TS 26.804 | 3GPP TS 26.804 |
| TS 26.967 | 3GPP TS 26.967 |
| TS 27.007 | 3GPP TS 27.007 |
| TS 29.198 | 3GPP TS 29.198 |
| TS 31.115 | 3GPP TR 31.115 |
| TS 31.131 | 3GPP TR 31.131 |
| TS 31.900 | 3GPP TR 31.900 |
| TS 32.102 | 3GPP TR 32.102 |
| TS 32.240 | 3GPP TR 32.240 |
| TS 32.272 | 3GPP TR 32.272 |
| TS 32.277 | 3GPP TR 32.277 |
| TS 33.401 | 3GPP TR 33.401 |
| TS 34.131 | 3GPP TR 34.131 |
| TS 35.934 | 3GPP TR 35.934 |
| TS 36.896 | 3GPP TR 36.896 |
| TS 43.318 | 3GPP TR 43.318 |
| TS 43.901 | 3GPP TR 43.901 |
| TS 43.902 | 3GPP TR 43.902 |
| TS 51.013 | 3GPP TR 51.013 |