CAT

Card Application Toolkit Runtime Environment

Other
Introduced in Rel-8
A standardized execution environment on UICC/USIM cards that enables secure, standardized applications to run on mobile devices. It provides a secure platform for value-added services like SIM ToolKit (STK) applications, payment systems, and authentication services, allowing operators to deploy services directly on the SIM card.

Description

The Card Application Toolkit (CAT) Runtime Environment is a standardized framework defined by 3GPP that provides an execution environment for applications residing on the UICC (Universal Integrated Circuit Card), which includes the USIM (Universal Subscriber Identity Module). This environment is essentially a virtual machine or interpreter that runs on the UICC's limited-resource microcontroller, enabling the card to host and execute secure, portable applications independent of the mobile equipment (ME). The architecture is based on a command-response model where the ME acts as a terminal that displays information and captures user input, while the UICC hosts the application logic and manages secure data.

At its core, CAT defines a set of proactive commands that allow applications on the UICC to initiate actions on the ME, such as displaying menus, sending SMS, setting up calls, or providing local information like cell ID. The ME, in turn, sends terminal responses and events (like menu selection or call disconnection) back to the UICC application. This communication occurs over the standardized interface between the UICC and ME, typically using APDU (Application Protocol Data Unit) commands. Key components include the CAT interpreter on the UICC, the proactive UICC handler in the ME, and a set of standardized profiles and procedures for different service types.

The runtime environment manages application lifecycle, resource allocation, and security domains. Applications are typically implemented as applets (e.g., using Java Card technology) that are securely loaded onto the UICC. CAT provides mechanisms for application selection, activation, and inter-application communication where supported. It includes features for managing volatile and non-volatile memory, handling timers, and processing user interface events. Security is fundamental: applications run in isolated security domains, cryptographic operations are performed within the secure element of the UICC, and sensitive data never leaves the card's protected environment.

CAT's role in the network extends beyond basic subscriber authentication. It enables operator-controlled services like SIM-based menus for balance checking, top-up, and service activation. It is crucial for machine-to-machine (M2M) applications where remote management and provisioning of devices are required. In later releases, it forms the basis for more advanced secure services like NFC mobile payments (through contactless interfaces), device management, and authentication for network applications. The environment ensures these services are portable across different handset models and operating systems, as long as the ME supports the required CAT capabilities.

Purpose & Motivation

CAT was created to address the limitation of earlier SIM cards being purely passive components used only for network authentication and subscriber identification. As mobile networks evolved, operators needed a way to deploy value-added services directly controlled from the network side, without depending on handset manufacturers or requiring users to install software. The traditional SIM had no standardized way to run applications or interact proactively with the handset. CAT provided a standardized, secure execution environment on the SIM card itself, turning it from a simple authentication module into a service delivery platform.

Historically, before CAT, any SIM-based service was proprietary and non-portable, locking operators into specific card vendors and limiting service innovation. The creation of CAT in 3GPP Release 8 (building upon earlier ETSI/3GPP specifications for SIM Application Toolkit) established a unified framework that ensured interoperability across different UICC vendors and mobile equipment. This allowed operators to develop and deploy services like SIM menus, over-the-air (OTA) updating, and secure transaction applications that would work consistently on any compliant device. It solved the problem of service portability and created a trusted execution environment within the already secure SIM card.

Furthermore, CAT addressed the growing need for secure services beyond voice and SMS. As mobile devices began to be used for banking, payments, and identity, the SIM card's secure element provided an ideal hardware-rooted trust anchor. CAT enabled this by providing a runtime where sensitive applications could execute in isolation, perform cryptographic operations, and manage secure storage. This purpose expanded significantly with the advent of NFC and mobile wallets, where CAT-based applications became the secure element for contactless transactions. It also enabled remote management of M2M devices, where the UICC could host applications for device configuration, diagnostics, and service provisioning without physical access.

Key Features

  • Standardized proactive UICC commands for initiating actions on the mobile equipment
  • Secure execution environment for applets within the UICC's hardware security
  • Portable application framework independent of handset operating system
  • Support for multiple simultaneous applications with isolated security domains
  • Mechanisms for application selection, activation, and event handling
  • Capabilities for user interface interaction, data download, and local information access

Evolution Across Releases

Rel-8 Initial

Introduced the standardized Card Application Toolkit Runtime Environment framework for 3GPP networks, defining the basic architecture for UICC application execution. Established proactive command set, terminal profile negotiation, and basic application management. Provided foundation for SIM ToolKit (STK) services and secure application hosting on USIM cards in UMTS/LTE contexts.

Defining Specifications

SpecificationTitle
TS 22.173 3GPP TS 22.173
TS 22.182 3GPP TS 22.182
TS 22.810 3GPP TS 22.810
TS 22.878 3GPP TS 22.878
TS 22.982 3GPP TS 22.982
TS 24.008 3GPP TS 24.008
TS 24.182 3GPP TS 24.182
TS 24.186 3GPP TS 24.186
TS 24.615 3GPP TS 24.615
TS 26.917 3GPP TS 26.917
TS 29.163 3GPP TS 29.163
TS 29.165 3GPP TS 29.165
TS 29.364 3GPP TS 29.364
TS 29.827 3GPP TS 29.827
TS 29.864 3GPP TS 29.864
TS 31.131 3GPP TR 31.131
TS 31.213 3GPP TR 31.213
TS 32.275 3GPP TR 32.275
TS 32.850 3GPP TR 32.850
TS 33.106 3GPP TR 33.106
TS 33.126 3GPP TR 33.126
TS 34.131 3GPP TR 34.131