好的,我们继续接续上一篇文章,对 3GPP TS 31.102 规范进行深度拆解。


深度解析 3GPP TS 31.102:4.2.8 EFUST (USIM Service Table - 服务总纲)

本文技术原理深度参考了3GPP TS 31.102 V18.8.0 (2025-03) Release 18规范中,关于“4.2.8 EFUST (USIM Service Table)”的核心章节,旨在为读者全面揭示USIM中这张至关重要的“服务清单”是如何定义一张卡片的能力边界,并决定了手机能够启用哪些高级功能的。

在前几章的探索中,我们已经了解了USIM的身份、安全密钥、语言偏好和网络选择列表。现在,一个更根本的问题摆在了我们主角“李想”的手机面前:这张看似普通的USIM卡,究竟身怀哪些“绝技”?它仅仅支持基础的通话短信,还是一个能够驾驭5G网络切片、支持eSIM管理、胜任物联网任务的全能高手?

要回答这个问题,手机无需逐一去尝试调用每一个可能的功能。它只需要查阅一张“能力清单”或“服务总纲”,这张清单就是EFUST (USIM Service Table)。

EFUST在USIM文件体系中扮演着“索引”和“开关”的双重角色。它用一种极其紧凑和高效的方式,向手机宣告了这张USIM卡所支持的所有可选服务的集合。对于手机而言,读取EFUST是USIM初始化流程中承上启下的关键一步。只有确认了某项服务在EFUST中被标记为“可用 (available)”,手机才会去寻找和使用与之相关的特定文件和流程。

今天,我们就将深入剖析这张定义了USIM能力边界的服务总表,看看它是如何通过简单的比特位,来指挥手机开启或关闭从2G到5G时代的数百项复杂功能的。


1. “功能菜单”:EFUST的核心价值与设计哲学

想象一下,李想去一家高档餐厅吃饭,服务员递给他一本厚厚的菜单。这本菜单就是EFUST。李想(手机ME)通过翻阅菜单,就能知道这家餐厅(USIM)今天能提供哪些菜品(服务),而不会去点菜单上没有的菜。

This EF indicates which services are available. If a service is not indicated as available in the USIM, the ME shall not select this service.

这段原文一针见血地指出了EFUST强制性指导作用。如果菜单上没有“佛跳墙”(某个特定服务),那么李想(ME)就不应该 (shall not) 去点这道菜。这种设计带来了几大核心好处:

  1. 能力协商与兼容性: 手机通过读取EFUST,可以快速了解USIM的能力集,避免尝试调用USIM不支持的功能而导致错误或兼容性问题。这是一种高效的“握手”机制。

  2. 运营商定制与成本控制: USIM卡的功能并非越多越好。运营商可以根据其网络能力、商业策略和成本预算,向卡商定制包含不同服务集的USIM卡。例如,为基础语音用户提供的卡可能只激活前几十项服务,而为高端5G用户或物联网应用提供的卡则会激活更多高级服务。EFUST正是实现这种差异化定制的关键工具。

  3. 平滑演进与向前兼容: 当3GPP引入一项新的USIM功能时(例如5G时代的URSP支持),只需为其分配一个新的服务号。老手机不认识这个新的服务号,会直接忽略,不会影响其正常工作,实现了向前兼容。新手机则可以识别并利用这项新服务,实现了功能的平滑演进。


2. 比特位的“魔术”:EFUST的文件结构与编码艺术

EFUST最令人惊叹的是其极致的编码效率。数百项服务的功能开关,被巧妙地压缩在几个字节之内。

2.1 文件结构

表 4.2.8-1: EFUST 文件结构

| 属性 | 值 |

| :--- | :--- |

| Identifier | ‘6F38’ |

| SFI | ‘04’ |

| Structure | Transparent |

| File size | X bytes, (X ≥ 1) |

| Update activity | Low |

| Access Conditions | READ: PIN, UPDATE/DEACTIVATE/ACTIVATE: ADM |

字节内容

| 字节 | 描述 | M/O | 长度 |

| :--- | :--- | :--- | :--- |

| 1 | Services n°1 to n°8 (服务1-8) | M | 1 byte |

| 2 | Services n°9 to n°16 (服务9-16) | O | 1 byte |

| … | … | O | … |

| X | Services n°(8X-7) to n°(8X) | O | 1 byte |

逐项解读:

  • File size: X bytes,可变长度,但至少1字节。随着3GPP版本演进,服务越来越多,这个文件的长度也在不断增长。

  • Access Conditions:

    • READ权限为PIN,手机需要解锁后才能获知USIM的完整能力。

    • UPDATE权限为ADM,服务的开通与关闭权完全掌握在运营商手中,用户无法自行修改。

2.2 编码艺术:一个比特,一个世界

EFUST的核心编码思想是:一个比特代表一项服务

Coding:

1 bit is used to code each service:

bit = 1: service available;

bit = 0: service not available.

  • 字节与比特的映射:

    • 文件的第1个字节,其8个比特(b1到b8)分别对应服务n°1到服务n°8

    • 文件的第2个字节,其8个比特(b1到b8)分别对应服务n°9到服务n°16

    • 以此类推,第X个字节对应服务n°(8X-7)到n°(8X)。

  • 比特值的含义:

    • 如果某个比特位为1,则表示对应的服务是“可用的 (available)”。

    • 如果比特位为0,则表示服务“不可用 (not available)”。

场景化举例:

李想的手机读取EFUST的第一个字节,得到十六进制值'FF'

  1. 'FF'转换为二进制是 1111 1111

  2. 根据编码规则,这意味着b1到b8全部为1。

  3. 因此,手机得出结论:服务n°1到服务n°8全部“可用”。

现在,让我们看看这些服务号具体代表什么:

  • Service n°1: Local Phone Book (本地电话本) - 指DF_PHONEBOOK下的功能。

  • Service n°2: Fixed Dialling Numbers (FDN) - 固定拨号功能。

  • Service n°4: Service Dialling Numbers (SDN) - 业务拨号功能。

  • Service n°8: Outgoing Call Information (OCI and OCT) - 去电记录。

如果第一个字节是'ED'(二进制1110 1101),那么手机就会知道,服务n°2(FDN)和n°6(BDN)是不可用的,即使手机本身支持FDN功能,它也不会去尝试使用,相关的菜单项也可能被置灰。


3. 服务清单巡礼:EFUST中定义的部分关键服务

TS 31.102规范中定义的服务号已经超过了150个,我们不可能一一列举。但我们可以将其分类,并挑选一些最具代表性的服务,来感受这张“菜单”的丰富性。

3.1 基础通信服务

  • n°1 - n°12: 几乎涵盖了所有基础的电话本、通话记录、短信、计费建议等功能。这些是构成一个“电话”的基本要素。

  • n°21: MSISDN: 存储用户手机号码的功能。

  • n°27: GSM Access: USIM卡兼容GSM(2G)网络的能力。如果此位为0,该卡可能无法在纯2G网络环境下工作。

3.2 网络特性与演进服务

  • n°20: User controlled PLMN selector with Access Technology: 我们上一章详细讲解的EFPLMNwAcT文件的开关。

  • n°42: Operator controlled PLMN selector with Access Technology: EF_OPLMNwAcT文件的开关。

  • n°71: Equivalent HPLMN: EF_EHPLMN文件的开关。

  • n°85: EPS Mobility Management Information: 支持4G(EPS)网络接入的核心能力开关,关联着EFEPSLOCI等文件。

  • n°122: 5GS Mobility Management Information: 支持5G(5GS)网络接入的核心能力开关,关联着EF_5GS3GPPLOCI等文件。

场景化举例:

李想的手机读取EFUST后,发现服务n°85和n°122的比特位都为1。这给了手机一个明确的信号:这张USIM卡已经为接入4G和5G网络做好了充分的数据准备。于是,手机在搜网时,就会大胆地去扫描LTE和NR的频段,并准备使用4G/5G的认证流程和安全上下文。如果n°122为0,即使这是一部5G手机,它也知道这张卡不支持5G,就不会去尝试5G网络注册。

3.3 高级安全与隐私服务

  • n°124: Subscription identifier privacy support: 支持5G身份隐私保护的“总开关”。

  • n°125: SUCI calculation by the USIM: 明确由USIM硬件来执行SUCI计算的能力。如果n°124为1,n°125为0,则表示由手机ME来计算SUCI。

  • n°68: Generic Bootstrapping Architecture (GBA): 一种更通用的认证框架,用于手机应用向网络服务器进行安全认证,常用于IPTV、VoD等业务。

3.4 物联网与特定业务服务

  • n°121: EARFCN list for MTC/NB-IOT UEs: 为物联网设备优化的搜网功能,允许在USIM中预置特定的工作频点列表。

  • n°101: ProSe: Proximity-based Services,即近场通信,允许设备间进行直接通信(D2D),常用于公共安全等领域。

  • n°119: V2X: Vehicle-to-Everything,车联网通信能力。

  • n°149: A2X: Aircraft-to-Everything,无人机等航空器通信能力。

通过这张不断扩展的“服务菜单”,USIM的能力已经远远超出了传统手机卡的范畴,延伸到了万物互联的广阔天地。

3.4 服务的依赖关系

规范还定义了一些服务之间的依赖关系,进一步增强了逻辑的严谨性。

Service n°46 and Service n°129 can only be declared “available” if service n°45 is declared “available”.

When Service n°123 is declared “available” then service n°133 shall also be declared “available”.

例如,服务n°45是“PLMN网络名”,服务n°46是“运营商PLMN列表”。逻辑上,只有当显示PLMN名称的功能可用时,定义在何处显示特定运营商名称的功能才有意义。这种依赖关系确保了运营商在定制EFUST时不会产生逻辑矛盾的配置。

总结:USIM的“能力宣言”

EFUST是USIM向世界宣告其能力的“宣言书”。它以一种极为高效、可扩展且向后兼容的方式,解决了移动终端与智能卡之间的能力协商问题。

  • 对手机(ME)而言EFUST是一张清晰的“行动指南”,告诉它哪些功能可以被激活,哪些文件值得去读取,哪些协议流程需要被执行。它避免了无效操作,提升了初始化效率。

  • 对运营商而言EFUST是一个强大而灵活的“配置工具”,允许他们根据市场需求、网络能力和成本考量,精确地裁剪每一张USIM卡的功能集,实现精细化的产品部署。

  • 对3GPP标准体系而言EFUST是保障系统平滑演进的“安全阀”。新功能的增加只需添加一个新的服务号,不会破坏现有系统的稳定性。

对于李想来说,他能体验到的一切USIM功能——无论是基础的通话,还是先进的5G网络切片——其旅程的起点,都源于EFUST中那个不起眼但至关重要的比特位被设置成了“1”。这张小小的服务表,正是支撑起USIM功能大厦的坚实地基。


FAQ环节

Q1:如果一张USIM卡的EFUST中,所有服务都设置为“不可用”(全0),这张卡还能用吗?

A1:理论上,一张EFUST全为0的卡将无法提供任何3GPP定义的可选服务。手机读取后会认为这张卡不具备任何高级功能。然而,最核心的网络接入能力(如IMSI、AKA认证)通常不被视为EFUST中的“可选服务”,而是基础能力。因此,这张卡或许仍能完成最基本的网络注册(取决于手机的具体实现),但几乎所有上层业务(如短信、电话本、数据业务配置等)都将无法使用。这在实际中是一种极不正常的配置。

Q2:运营商可以随时通过OTA(空中下载)更新我的EFUST文件,为我开通新服务吗?

A2:技术上完全可以。EFUSTUPDATE权限是ADM,运营商拥有通过安全的OTA通道来修改它的能力。例如,当运营商新推出了一个基于USIM卡的增值业务(如某种一键认证服务),它可以向已发出的卡片推送EFUST更新,将对应服务的比特位置为1,然后再推送相关的应用文件。用户的手机在下次重启或收到REFRESH指令后,就会识别到这项新服务。

Q3:EFUST和手机设置菜单里的“功能开关”有什么关系?

A3:EFUST定义的是USIM卡的能力,而手机设置菜单里的开关(如VoLTE开关、FDN开关)定义的是用户对这些能力的使用偏好EFUST是前提和基础。如果EFUST中某项服务(如VoLTE相关的服务)被设为“不可用”,那么手机设置菜单里可能根本就不会出现“VoLTE开关”这个选项。只有当EFUST表示该服务“可用”时,手机UI才会提供相应的开关,让用户来决定是否在当前使用它。

Q4:为什么EFUST的文件结构是“Transparent”(透明)而不是“Linear Fixed”(线性固定)?

A4:设计成透明文件更具灵活性和可扩展性EFUST的长度随着3GPP版本的演进而不断增长。如果设计成线性固定结构,每次增加新服务导致文件总长变化时,都可能需要重新定义记录长度,非常不便。而透明结构允许文件作为一个整体的二进制数据块存在,长度可以轻松地从n字节扩展到n+1字节,只需在末尾追加即可。手机只需一次性读取整个文件,然后按每8个服务1字节的规则自行解析,简单高效。

Q5:服务n°130“Support for SUPI of type NSI or GLI or GCI”是什么意思?它和IMSI有什么关系?

A5:这个服务是5G时代的一个重要补充。IMSI是SUPI(永久用户标识)的一种,但SUPI也可以是其他格式,如NSI(网络特定标识符)、GLI(全局线路标识符)等,这些通常用于固定网络融合、物联网等场景。服务n°130被设为“available”时,表示这张USIM卡的SUPI不是传统的IMSI,而是这些非IMSI类型。此时,手机在进行身份相关的操作时,会去读取EFSUPI_NAI而不是EF_IMSI来获取用户的永久身份标识。这个开关决定了手机应该走“传统IMSI路线”还是“新型SUPI路线”。