Description
The Short File Identifier (SFI) is a crucial addressing mechanism within the smart card file system architecture defined by 3GPP, primarily for the Universal Integrated Circuit Card (UICC) which hosts the USIM application. It is a compact, 2-byte (16-bit) value that uniquely identifies an Elementary File (EF) within the context of its parent Dedicated File (DF), typically the DF for a specific application like the USIM (DF_GSM or DF_Telecom). The file system on a UICC is hierarchical, resembling a tree structure with a Master File (MF) at the root, Dedicated Files (DFs) as directories, and Elementary Files (EFs) as leaves containing actual data. While files can also be selected using longer, absolute file identifiers (FIDs), the SFI provides a shorter, more efficient alternative for frequent access.
Architecturally, the SFI is assigned during the personalization or application creation phase of the UICC. Each EF that is expected to be accessed regularly by the mobile terminal (ME) is assigned an SFI. The ME (like a mobile phone) uses the SFI in specific commands, such as READ BINARY or UPDATE BINARY, to quickly reference the desired EF without needing to navigate the full file path from the MF. This is managed through the Application Protocol Data Unit (APDU) command interface between the ME and the UICC. When the ME wants to read, for example, the EF storing the International Mobile Subscriber Identity (IMSI), it can issue a command specifying the SFI value associated with that EF, leading to faster and more power-efficient data retrieval.
How it works involves a mapping table, often defined in the USIM specification, that correlates SFI values to specific EFs and their purposes. For instance, SFI '6F07' is standardized for the EF containing the IMSI. The key advantage is efficiency in terms of command overhead and processing time on the constrained microcontroller of the UICC. Using a full FID might require multiple SELECT commands to navigate the directory tree before accessing the EF, while the SFI allows direct access if the correct DF (application) is already selected. This is particularly important during critical procedures like network registration, where speed and reliability are paramount. The SFI system ensures that essential telecommunication data can be accessed rapidly and predictably, forming a low-level but vital part of the subscriber identity and service management infrastructure.
Purpose & Motivation
The SFI was created to optimize the interaction between the Mobile Equipment (ME) and the smart card (UICC/USIM) in 2G/3G systems and beyond. Early smart card systems used full file paths for access, which required multiple command exchanges. Given the constrained processing power of early smart cards and the need for swift network access procedures (like power-on registration), this overhead was problematic. The primary problem the SFI solves is the reduction of communication latency and command complexity for accessing frequently used data files.
Its creation was motivated by the need for a fast, standardized addressing scheme for essential subscriber and network data. By assigning well-known, short identifiers to critical files (e.g., IMSI, ciphering keys, phonebook entries), the mobile phone could access this data with minimal APDU commands. This directly improved the user experience by reducing the time to register on the network after power-on. It also conserved battery life by minimizing the active communication time between the phone's baseband processor and the UICC. Furthermore, it provided a cleaner abstraction for handset manufacturers; they could write software that referenced 'SFI for IMSI' rather than managing complex file selection logic. The SFI addressed the limitations of the more generic, but slower, file selection mechanism using full File IDs (FIDs), creating an optimized pathway for performance-critical data access within the standardized smart card ecosystem.
Key Features
- Compact 2-byte (16-bit) identifier for efficient addressing
- Uniquely identifies an Elementary File within a parent Dedicated File
- Enables direct file access without full path navigation, reducing command overhead
- Standardized values for common USIM files (e.g., IMSI, SMS storage)
- Used in APDU commands like READ BINARY for fast data retrieval
- Integral part of the UICC/USIM smart card file system architecture
Evolution Across Releases
Initial standardization within the USIM specifications. Defined the SFI concept and its usage within the UICC file system for 3G (UMTS), establishing the mapping of specific SFI values to essential Elementary Files like those storing the IMSI, ciphering keys, and subscriber-related data in TS 31.102 and related specs.
Ongoing maintenance and expansion for LTE and 5G USIM profiles. While the core SFI mechanism remained stable, new SFI values were defined for files supporting 4G/5G parameters, such as those for EPS/5GS security contexts, network slice selection information, and routing identifiers. The SFI system proved adaptable, continuing to serve as the efficient access method for an expanding set of subscriber data across generations.
Defining Specifications
| Specification | Title |
|---|---|
| TS 21.905 | 3GPP TS 21.905 |
| TS 31.102 | 3GPP TR 31.102 |
| TS 31.103 | 3GPP TR 31.103 |
| TS 31.121 | 3GPP TR 31.121 |