SIM

Subscriber Identity Module / Universal Subscriber Identity Module

Security
Introduced in R99
A secure hardware or software module that stores subscriber identity, authentication keys, and service profiles. It enables secure network access, user authentication, and service personalization for mobile devices. It is the cornerstone of subscriber security and mobility in cellular networks.

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

R99 Initial

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

SpecificationTitle
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