Description
The Universal Subscriber Identity Module Application Toolkit (USAT) is a comprehensive framework, standardized by 3GPP and ETSI, that turns a traditional SIM card into a secure, programmable platform capable of hosting and executing applications. It is essentially the application layer that runs on top of the underlying UICC (Universal Integrated Circuit Card) hardware and USIM (Universal Subscriber Identity Module) logical structure. USAT defines a set of commands, procedures, and an execution environment that allows applets—small applications written in Java Card or Native code—to interact with the mobile device (the Terminal Equipment or ME) and, through it, with the mobile network and external services. The architecture is based on a proactive model: the USAT application on the UICC can send "Proactive Commands" to the ME. These commands instruct the ME to perform actions such as displaying text menus, playing tones, setting up calls, sending Short Message Service (SMS) messages, or providing location information. The ME executes the command and sends a "Terminal Response" back to the UICC with the result. This interaction is managed through the ETSI-defined "AT" command interface. Key components include the USAT Interpreter for processing commands, the File System for storing applets and data, and the Security Domain for managing cryptographic keys and secure channel protocols like OTA (Over-The-Air) for remote application management. USAT enables services like SIM Toolkit (STK) menus for banking or info services, OTA provisioning of device settings (e.g., internet access points), and is the foundation for more advanced secure elements used in mobile financial services (e.g., NFC payments via SIM). It provides a trusted, tamper-resistant environment isolated from the phone's main operating system, which is crucial for security-sensitive operations.
Purpose & Motivation
USAT was developed to unlock the potential of the SIM card beyond its original purpose of subscriber authentication and storage of network parameters. In the early days of GSM, the SIM was a relatively static component. USAT, evolving from the earlier SIM Application Toolkit (SAT), was created to provide a standardized, vendor-independent platform for mobile network operators to deploy and manage value-added services directly from the secure SIM card. This solved several problems: it gave operators control over service delivery independent of handset manufacturers, provided a ubiquitous secure execution environment across all compliant phones, and enabled services that required a high level of trust, such as mobile banking. Before USAT, introducing new features often required handset firmware updates or proprietary solutions, which were slow and fragmented. USAT established a universal ecosystem where operators could write an application once and deploy it OTA to millions of subscribers' SIMs, knowing it would work on any compliant device. This motivated the creation of a wide range of services, from simple info menus to complex payment and identity applications, establishing the SIM as a key platform for mobile commerce and secure services in the 2G/3G/4G eras, a role that continues to evolve with embedded SIM (eSIM) and IoT applications.
Key Features
- Defines a proactive command model for UICC-to-ME interaction
- Provides a secure execution environment for Java Card applets
- Enables Over-The-Air (OTA) provisioning and management of applications
- Supports SIM Toolkit (STK) menus for user-interactive services
- Includes APIs for telephony functions (call control, SMS), user interface, and device information
- Offers a tamper-resistant secure element for cryptographic and payment operations
Evolution Across Releases
Formally introduced as USAT in 3GPP Release 99, consolidating and extending the earlier GSM SIM Application Toolkit (SAT) for the 3G UMTS era. It established the core proactive command set, the architecture for application execution on the UICC/USIM, and laid the groundwork for secure service provisioning in 3G networks.
Defining Specifications
| Specification | Title |
|---|---|
| TS 21.905 | 3GPP TS 21.905 |
| TS 22.038 | 3GPP TS 22.038 |
| TS 22.112 | 3GPP TS 22.112 |
| TS 22.121 | 3GPP TS 22.121 |
| TS 23.127 | 3GPP TS 23.127 |
| TS 24.229 | 3GPP TS 24.229 |
| TS 27.007 | 3GPP TS 27.007 |
| TS 31.102 | 3GPP TR 31.102 |
| TS 31.111 | 3GPP TR 31.111 |
| TS 31.112 | 3GPP TR 31.112 |
| TS 31.113 | 3GPP TR 31.113 |
| TS 31.114 | 3GPP TR 31.114 |
| TS 31.117 | 3GPP TR 31.117 |
| TS 31.901 | 3GPP TR 31.901 |
| TS 32.102 | 3GPP TR 32.102 |