sysmocom eUICC for eSIM 笔记
一、 概述
1. sysmocom 公司简介
- 公司背景: 德国小型公司,专注于 2G 到 5G 移动网络技术的研发、咨询,重点关注开源移动通讯。
- 产品定位: 为全球研究人员提供高度灵活、可配置、可编程的 SIM、UICC/USIM/ISIM 卡。
- eUICC 产品线: 由于 eSIM/eUICC 领域比传统物理卡更复杂,sysmocom 开发了 sysmoEUICC 产品线,旨在降低 eUICC 和 eSIM 技术的门槛,促进相关领域的培训、探索、研究和理解。
2. eSIM/eUICC 的优势
- 虚拟化: 将用户身份(包含 USIM 和可选的 ISIM 应用)与物理芯片卡解耦,用户身份以 eSIM 配置文件的形式存在。
- 灵活性: 用户可以更方便地更换运营商、激活/停用配置文件,而无需更换物理 SIM 卡。
二、 eSIM/eUICC 发展历程
1. 从 SIM 到 eUICC 的演变
- 2G 时代: 引入 GSM SIM 卡,将用户身份与手机分离,用户可共享手机或在设备间迁移。
- 3G/4G/5G 时代:
- UICC 平台出现,支持多应用智能卡。
- USIM 应用运行在 UICC 上,用于 3G/4G/5G 网络。
- IMS (VoLTE, VoWiFi) 出现后,定义了可选的 ISIM 应用。
- eSIM 时代:
- 用户身份虚拟化,eSIM 配置文件可下载到 eUICC 中。
- eUICC 是嵌入在用户设备中的芯片,不再是传统的“卡片”形式。
2. eUICC 在 eSIM 系统中的功能
- 硬件组件: eUICC 是嵌入在用户设备电路板上的硬件组件,用于安装 eSIM 配置文件。
- 安全性: eSIM 系统引入了全面的安全机制,所有部分都通过加密证书进行认证,可追溯到 GSMA 证书颁发机构 (CA)。
- GSMA CA 对证书颁发有严格的要求,包括 IT 安全、物理访问安全、硬件安全模块的认证级别、eUICC 的 CardOS 保护配置文件等。
- 任何证书持有者都必须至少每两年接受一次独立审计。
3. GSMA 定义的 eSIM 系统
系统 | 规范 | 描述 |
---|---|---|
M2M eSIM | SGP.01, SGP.02 | 需要 M2M 提供商/MVNO 提供的特殊 M2M eSIM 服务器,通常具有区域或全球覆盖范围;适用于大型设备车队。 |
Consumer eSIM | SGP.21, SGP.22 | 允许用户从各种提供商处以最小订购数量 (MOQ-1) 购买 eSIM 配置文件。 |
IoT eSIM | SGP.31, SPG.32 | 结合了 M2M 和消费者系统的优势(尤其适用于小型客户):能够安装消费者配置文件,但为设备车队集中管理。 |
注意: 截至 2024 年初,M2M 和消费者系统已投入生产,而新的 IoT 方案的产品仍在开发中,最早要到 2024 年底才能上市。
三、 sysmoEUICC 产品介绍
1. 产品定位
- 面向开发人员、研究人员和蜂窝设备运营商,用于识别其网络中的用户。
2. 产品型号
SKU | 系统 | 外形尺寸 | 证书 |
---|---|---|---|
sysmoEUICC1-C2G | 消费者 | 2FF/3FF/4FF | GSMA |
sysmoEUICC1-C2T | 消费者 | 2FF/3FF/4FF | 测试 (SGP.26) |
sysmoEUICC1-C2P | 消费者 | 2FF/3FF/4FF | 私有 |
sysmoEUICC1-CMG | 消费者 | MFF2 | GSMA |
sysmoEUICC1-CMT | 消费者 | MFF2 | 测试 (SGP.26) |
sysmoEUICC1-CMP | 消费者 | MFF2 | 私有 |
注意: 批量购买时,sysmocom 也可提供 M2M eUICC 作为项目业务的一部分。IoT eUICC 预计将在系统准备就绪后上市。
3. 外形尺寸
- 2FF/3FF/4FF 无缝切割外形尺寸:
- 适用于传统 SIM 卡插槽的设备,可用于将设备 eSIM 化。
- 可用于研究、开发和测试,例如插入连接到计算机的智能卡读卡器。
- 支持全尺寸(信用卡大小)、2FF(迷你 SIM)、3FF(微型 SIM)和 4FF(纳米 SIM)尺寸。
- MFF2 焊接型外形尺寸:
- 适用于需要下载 eSIM 配置文件的嵌入式/物联网设备。
- 优点:
- 更好的接触性,尤其是在振动强度大的应用中(例如汽车)。
- 降低 BOM 成本(无需卡槽)。
- 能够制造密封/防水设备(无需可拆卸部件)。
4. 证书/密钥材料
- GSMA 证书:
- 优势: 与全球大多数运营商销售的 eSIM 配置文件互操作。
- 劣势: 只能接受 GSMA SAS-SM 认证的 SM-DP+ 颁发的 eSIM 配置文件,无法自主创建和安装 eSIM 配置文件。
- 测试证书:
- 优势: 可以创建、签名和加密自己的 eSIM 配置文件,并下载/安装到 eUICC 上。
- 劣势: CA 根证书和私钥是公开的,任何人都可以冒充 eSIM 系统的任何元素,因此没有任何安全性,仅限于 eSIM 系统的研发。
- 私有(备用根)证书:
- 优势:
- 无需 GSMA-SAS 认证的实体可以颁发 eUICC 和 SM-DP+ 的证书。
- 私钥材料不会公开(与测试证书不同),因此至少不会被任何随机的第三方冒充。
- 适用场景: 私有蜂窝网络,无需满足昂贵且繁琐的 GSMA-SAS 要求,或希望或需要更高程度的自主权和主权而不依赖于第三方。
- 优势:
四、 sysmoEUICC1 规格参数
1. 物理规格
- 外形尺寸: 2FF+3FF+4FF 无缝三重切割(塑料全尺寸或半尺寸)或 MFF2(焊接型)芯片。
- 存储容量: 800 kBytes 闪存(可用约 300 kBytes)。
- 温度范围: -40 至 +105 摄氏度芯片温度。
- 电压范围: 1.8V、3V 和 5V 兼容(绝对范围:1.62V 至 5.5V)。
- ESD 保护: >4 kV (HBM)。
- 外部时钟频率: 1 至 10 MHz。
- 最大睡眠模式电流: <100 uA(时钟关闭模式下)。
2. 逻辑规格
- GSMA 规范符合性:
- GSMA SGP.22 V2.3.0。
- 最大配置文件数量:10。
- 互操作性配置文件支持:
- eUICC 配置文件包版本:2.3.1。
- UICC 功能:067f36f3c0。
- ETSI/3GPP/GP 规范符合性:
- 支持 USIM 和 ISIM 应用、Java Card v3.0.5、Global Platform v2.1.1 等多项规范。
- 支持 SIM API、UICC API、UICC 远程文件更新事件、USIM API、GlobalPlatform API、连接 API 等多种 API。
- 支持身份验证算法:MILENAGE、TUAK、XOR-3G。
3. 支持功能
- 8 个逻辑通道。
- 90 个最大应用程序数量。
- 39 个最大用户包数量。
- 挂起和恢复功能。
- BER-TLV 文件。
- GBA 网络身份验证。
- EAP-SIM 和 EAP-AKA(不支持 RFC5448 EAP-AKA’)。
- SUCI 计算(通过 ME 和卡)。
- 远程应用程序管理 (RAM) + 远程文件管理 (RFM)。
- 脚本链接、连接响应、CAT-TP、HTTPS、TLS 1.0、1.1 和 1.2。
五、 预安装的 TS.48 测试配置文件
- sysmoEUICC1-C2G 预安装了启用的 TS.48 GSMA 测试配置文件。
- 目的:
- 使 eUICC 立即可用于某些测试用例,无需安装商业运营商 eSIM 配置文件。
- 确保 EasyEUICC 可以与 sysmoEUICC 配合使用,因为 EasyEUICC 只会与具有活动配置文件的 eUICC 通信。
- 注意事项:
- 测试配置文件的行为与下载的普通(操作)配置文件略有不同。
- 某些 LPA 软件甚至不会在列表中显示这些测试配置文件。
- 根据 SGP.22 第 3.2.1 节的规定,启用生产配置文件时,不得隐式禁用测试配置文件。必须使用符合标准的 LPA 软件显式禁用测试配置文件。
六、 使用 LPA 的 lpac 实现
1. 免责声明: lpac 是独立的开源软件包,不是 sysmoEUICC 产品的一部分。sysmocom 建议将其用于教育、研究和开发目的,但无法为此第三方程序提供免费支持或错误修复。
2. 功能:
- 下载、激活、停用和删除 eSIM 配置文件到消费者 eUICC。
- 前提条件: 拥有与 eUICC 外形尺寸匹配的智能卡接口(智能卡读卡器)。
3. 证书兼容性:
- GSMA 证书 eUICC 只能从 GSMA 认证的 SM-DP+ 下载 eSIM 配置文件。
- 测试证书(或私有证书)eUICC 只能从具有相同测试(或私有)证书颁发机构证书的 SM-DP+ 下载 eSIM 配置文件。
4. 关键命令:
- 列出通知:
./lpac notification list
- 处理通知:
./lpac notification process <编号>
- 删除通知:
./lpac notification remove <编号>
- 列出配置文件:
./lpac profile list
- 启用配置文件:
./lpac profile enable <ICCID>
- 禁用配置文件:
./lpac profile disable <ICCID>
- 删除配置文件:
./lpac profile delete <ICCID>
七、 使用 EasyEUICC LPA 的 Android 实现
1. 免责声明: EasyEUICC 是独立的开源软件包,不是 sysmoEUICC 产品的一部分。sysmocom 建议将其用于教育、研究和开发目的,但无法为此第三方程序提供免费支持或错误修复。
2. 功能:
- 下载、激活、停用和删除 eSIM 配置文件到消费者 eUICC。
- 下载 eSIM 配置文件:
- 在主屏幕(已安装配置文件列表)中,点击左下角的“+”按钮。
- 填写服务器、激活码、确认码和 IMEI,或扫描二维码。
- 启动下载,下载完成后,新下载的 eSIM 配置文件将出现在配置文件列表中,并在 eUICC 上的通知队列中添加一个通知。
- 处理通知:
- 转到挂起的通知列表。
- 选择“处理”或“删除”。
- “处理”将通知发送到 SM-DP+,“删除”将删除通知。
3. 注意事项:
- 兼容性: EasyEUICC 包含一个兼容性检查功能,所有四项都应该有勾选标记。如果没有勾选标记,则可能意味着 EasyEUICC 与您的特定设备不兼容。
- eUICC 识别: 如果您的 eUICC 未被识别/列出,则可能是以下原因:
- eUICC 未插入。
- eUICC 仍然为空,甚至不包含一个配置文件。
- eUICC 不包含 EasyEUICC 应用程序签名密钥的哈希值。
八、 使用 pySim-shell 与 eUICCs 配合使用
1. 免责声明: pySim-shell 是独立的开源软件包,不是 sysmoEUICC 的一部分。sysmocom 建议将其用于教育、研究和开发目的,但无法为此第三方程序提供免费支持或错误修复。
2. 功能:
- 读取 EID。
- 列出可用配置文件。
- 启用/停用/删除配置文件。
- 列出/删除通知。
- 导航卡文件系统、应用程序等。
3. 关键命令:
- 列出配置文件:
get_profiles_info
- 启用配置文件:
enable_profile <ICCID>
- 禁用配置文件:
disable_profile <ICCID>
- 删除配置文件:
delete_profile <ICCID>
- 列出通知:
list_notification
- 删除通知:
remove_notification_from_list <编号>
九、 其他重要信息
- osmo-smdpp: 概念验证 SM-DP+ 工具,可用于下载 eSIM 配置文件到带有 SGP.26 测试证书的 eUICCs,例如 sysmoEUICC1-C2T。
- ARA-M 问题: sysmoEUICC1 默认在 ISD-R 中安装 ARA-M 应用程序,这会导致与某些 eSIM 配置文件中的 ARA-M 发生冲突。解决方案包括:
- 从 eUICC 中移除 ARA-M。
- 使用不设置 ARA-M 应用程序的配置文件标志的 eSIM 配置文件。
十、 总结
本笔记详细介绍了 sysmocom eUICC 产品的规格、功能、证书兼容性以及相关软件工具的使用方法,并探讨了 eSIM 系统中存在的 ARA-M 冲突问题及其解决方案。