eSIM 转 SIM 实体卡

2024-06-16 23:43:27

English Version (Powered by Google Translate)

长文警告:本文包含大量外链,建议自行展开阅读您认为需要的链接。

0. 术语表

阅读本文之前,您需要了解以下术语,否则可能会对您的阅读造成困扰。

简称

  • SIM: Subscriber Identity Module
  • pSIM:Physical SIM,物理 SIM 卡。
  • eSIM:Embedded SIM,嵌入式 SIM 卡。在不同的语境下可以指代 eSIM 卡片或 eSIM 配置文件。
  • iSIM:Integrated SIM,集成在 SoC 中的 SIM 卡。
  • USIM: UMTS SIM
  • CSIM: CDMA SIM
  • eSE: embedded Secure Element
  • TPM: Trusted Platform Module
  • UIM: User Identity Module Card

专有名词

以下内容可在 GSMA SGP.21 标准的 “Definitions and Terms” 章节找到。

  • UICC:Universal Integrated Circuit Card,通用集成电路卡。是 SIM 卡的标准名称。
  • eUICC:本意指 Embedded UICC,嵌入式通用集成电路卡。后来指代支持本地配置文件管理的 UICC。需由第三方厂商制造,如东信和平(ECP)、泰尔(Thales)、Gemalto(已被 Thales 收购)等。
  • LPA:Local Profile Assistant,本地配置文件助手,是用于管理 eUICC 卡片的软件。Android、iOS 和 Windows 都有自己的 LPA 实现。Infineonlpac 是第三方的开源 LPA。
  • RSP:Remote SIM Provisioning,远程 SIM 配置。是下载、安装、启用、禁用、删除 eSIM Profile 的过程。
  • SM-DP+:Subscription Manager Data Preparation,订阅管理数据准备。是用于管理、下发 eSIM Profile 的平台,是实现 RSP 的一部分。
  • GSMA:Global System for Mobile Communications Association,全球移动通信系统协会。是全球移动通信行业的标准制定组织。
  • GSMA CI:GSMA Certificate Issuer,是 GSMA 认证的证书颁发机构。
  • EUM:eUICC Manufacturer,eUICC 卡片的制造商。
  • EUM 证书:GSMA CI 给 eUICC 制造商签发的证书,用于验证 eUICC 卡片的合法性。
  • eUICC 证书:EUM 使用 EUM 证书签发的 eUICC 证书,用于验证 eUICC 卡片的合法性。
  • EID:eUICC ID,eUICC 的唯一标识符,本质上是 eUICC 卡片内 eUICC 证书的序列号。
  • ICCID:用于区分 eSIM 配置文件的标识符,不唯一,可以由运营商自行定义。
  • SAS-UP: SAS for UICC Production,通用集成电路卡生产。

关系图

以下图片来自 GSMA SGP.21 标准

1. 背景

eSIM (embedded-SIM, eUICC) 是一种嵌入式可编程的 SIM 卡,集成在设备主板或模块上,可以通过 LPA (Local Profile Assistants) 进行管理。eSIM 与 SoftSIM 不是同一个东西,但都是虚拟 SIM 卡的实现,两者都可以通过 OTA (Over-The-Air) 进行更新。

几天前 Apple 发布了国行 iPad(第 10 代)无线局域网 + 蜂窝网络机型(A3162),支持 eSIM,但是反向锁区,只能在境内激活中国大陆运营商(中国联通)的 eSIM Profile,在境外需要开启定位才能激活境外运营商的 eSIM Profile。借此机会也了解到一个新东西:eSIM 转物理 USIM。

早期这项技术被用于以下场景:

  1. 提取智能手表、廉价 4G Wi-Fi dongle 的内置物联网卡的 eUICC 芯片,将其改变为 USIM 的形态,安装到 CPE 或者手机里。一般用于“双不限”流量卡。
  2. 拆除 eSIM 手表的 eUICC 芯片,在原位置焊接上转接板,然后将自己的 eUICC 白卡放入转接板。利用“一号双终端”业务,将自己的手机号码写入到 eUICC 白卡,再将其安装至手机,从而实现两台手机同时在网,共享号码、通话、短信和数据业务。参考链接 12

除此之外,我们可以使用 eUICC 测试白卡写入境外运营商的 eSIM Profile,畅游 Internet 或接收短信验证码(接码)。

2. 购买 eSIM 实体卡

由于缺失 China CI 和 GSMA Test CI,所有品牌(5ber.eSIM、eSIM.me 和速易卡科技等)发行的 eUICC 卡片均不能写入中国大陆运营商的 eSIM Profile。具体原因参见下文 Certificate Issuer (CI) 证书颁发者。此外,部分中国运营商采取了 IMEI 和 EID 绑定制度。

速易卡科技

淘宝店“速易卡科技”目前提供两种规格的 eUICC 成品卡片

无法直邮海外,港澳台及海外用户需要自行联系转运仓。

除此外,店内还提供 USB-C 接口的 eUICC 读卡器、Nano SIM (4FF) to Mini SIM (2FF) 转接板、eSIM (MFF2) to Nano SIM (4FF) 转接板、植锡、ST33 芯片等。

注意:由于 iOS 限制,速易卡科技销售的 eUICC 白卡不能在国行 iPhone 中使用。iPhone 用户可以购买 5ber.eSIM 标准版搭配速易卡科技读卡器写卡,或者购买 eSTK.me 一步到位。

eSTK.me

更多关于 eSTK.me 的信息请阅读 eSTK.me: 下一代可插拔消费者 eSIM 卡

无法直邮海外,港澳台及海外用户需要自行联系转运仓。

eSTK.me 调用 USIM 卡的 Applet 实现在 iOS 内自助切换 Profile。写卡仍然需要借助硬件读卡器或者兼容 eSIM 的 Android 手机。支持国行 iPhone

eSTK.me(固件 v2.x 及以后的版本)基于 ETSI 的 Bearer Independent Protocol (BIP) 协议,使得 eUICC 通过基带与远程服务器建立 TCP 连接,手动实现了 eSIM Profile 的远程配置(类似于 M2M 的形式)。本质上是让 STK 直接联网读写 APDU,而不是通过手机的 LPA 进行管理。因此,eSTK.me 是目前市面上唯一可以在 iOS 上实现自主写卡和 eSIM Profile 管理的解决方案。

eSTK.me 还支持以下特色功能

  • 设置虚拟 EID:自定义 Android App 所识别到的 eUICC EID。
  • 自定义 ARA-M SHA-1:仅作用于 Android 平台。eUICC 宣告 5ber 和 eSIM.me 的 ARA-M SHA-1,容许第三方 App 提权获得 Carrier Privileges,从而与 UICC 卡片进行通信
  • 设置 ISD-R 模式
  • 设置 ATR 模式:卡片功能宣告。ATR 字段定义在线解析
  • 设置 ECASD 管理域
  • 设置 MOTD:设置 SIM 卡启动时显示的信息。

Lenovo

仅在联想海外官网提供购买,发 UPS Worldwide Express Saver。

  • ThinkPad Thales eSIM card
    • FRU: 4XC1L91362
  • Lenovo Wireless Gemalto eSIM card
    • FRU: 5W11H85415

群友 @Lockestek 订购了一盒 FRU 为 4XC1L91362 的 Thales eSIM 卡:

EUICCinfo2 信息如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
{
"profile_version": "2.1.0",
"sgp22_version_supported": "2.2.0",
"euicc_firmware_version": "66.81.1",
"free_nvram": 528532,
"uicc_capability": [
"USIM Support",
"ISIM Support",
"CSIM Support",
"DeviceInfo Extensibility Support",
"AkaMilenage",
"AkaCave",
"AkaTuak128",
"RFU2",
"GBA Authentication USIM",
"EAP Client",
"MultOS",
"Multiple USIM Support",
"Multiple ISIM Support"
],
"ts102241_version": "9.2.0",
"gp_version": "2.3.0",
"rsp_capability": [
"additionalProfile",
"crlSupport",
"testProfileSupport"
],
"issuer_for_verification": [
"81370f5125d0b1d408d4c3b232e6d25e795bebfb"
],
"issuer_for_signing": [
"81370f5125d0b1d408d4c3b232e6d25e795bebfb"
],
"category": "Medium eUICC",
"sas_accreditation_number": "TS-CA-UP-0823"
}

5ber.eSIM 和 eSIM.me

5ber.eSIM(¥180)和 eSIM.me(€70)都提供 eSIM 实体卡片,用户可以使用它们的 Android App 将 eSIM Profile 下载至实体卡中(无需读卡器),然后插入手机、CPE 等设备使用。但这两家均软件限制了 Profile 的写入次数,并以此收费。

扩展阅读

以上内容均为网友分享,仅供参考。

3. 获取支持 eSIM 的 WWAN 模块或 PC/SC 读卡器

支持 eSIM 的 WWAN 模块

移动宽带(Mobile Broadband)是自 Windows XP 时代就存在的功能。Windows 通过独立的 WWAN 模块(Wireless Wide Area Network)来实现移动宽带功能。Windows 10/11 内置了 MB eSIM Operations,用户可以通过系统内置的 LPA 管理 eSIM 配置。

模块参数和购买事项请阅读:使用 NGFF M.2 B Key 转 USB 转接卡连接 4G/5G WWAN 模块

PC/SC 读卡器

4. 获取 eSIM Profile

购买 eSIM 套餐

注意:除了下列运营商,其他区域运营商(如香港)通常需要 KYC(客户身份审查)认证,需要提供护照等实名身份信息。

常见的用于接收验证码的境外 Pay As You Go (PAYG) 现收现付 eSIM:

  • Giffgaff:激活时需充值 £10(约合人民币 90 元),号码有效期为 6 个月。漫游时接收短信免费。每隔 6 个月发短信(£0.3,约合人民币 3 元)保号。开局成本为 90 元,之后每年维护成本为 6 元。
  • Lyca Mobile:激活时需充值 £5(约合人民币 45 元),号码有效期为 3 个月。漫游时接收短信免费。每隔3 个月发短信(£0.23,约合人民币 2 元)保号。开局成本为 45 元,之后每年维护成本为 8 元。
  • Three UK:激活时无需充值,号码有效期为 6 个月。漫游时接收短信免费。每隔 6 个月发短信(£0.4 中国大陆位于 Band 2,约合人民币 3.6 元)保号。开局成本为 0 元,之后每年维护成本为 7.2 元。

注意:苹果用户激活 iMessage 和 FaceTime 时需要发送短信,会产生费用。

部分运营商例如英国 Giffgaff 不直接提供 QR Code 和 eSIM Activation Code,只能使用运营商自有的 App 写入到手机中,不能加载至外部 eUICC。但是根据这个帖子,Giffgaff 用户可以在手机上进行 MITM 抓包,查看 URL 为 https://publicapi.giffgaff.com/gateway/graphql 的请求 body,其中的 lpaString 字段即 Giffgaff 的 eSIM Activation Code。Telegram 用户 @kkkwatt 提供了一份 Frida 的脚本:点 Giffgaff App 的“安装 eSIM 按钮”时 Frida 会在终端输出激活码。

Giffgaff 现在可以使用中国大陆 IP 直接订购 eSIM,无需实体卡板转换、无需通过中介办理。

注意:

eSIM Profile Activation Code 格式定义

详细的式定义可以参考 GSMA SGP.22。MOC 字段意思为 Mandatory, Optional or Conditional。

常见格式如下:

1
LPA:1${SM-DP+_ADDRESS}${MATCHING_ID}

SM-DP+_ADDRESS 即 Subscription Manager Data Preparation Address,是运营商侧的 eSIM 配置服务器地址。MATCHING_ID 则用于匹配对应的 eSIM Profile,可以理解为传递至 SM-DP+ 的 Bearer Token。为了方便用户,运营商一般会将 eSIM Activation Code 转换为 QR Code。终端扫描 QR Code 后,会自动将字符串写入到 eUICC 中。

如图是 Remote eSIM Provisioning (RSP) 的过程图,来源自 Android 文档

MATCHING_ID 字段是可选的。例如 T-Mobile 绑定 eSIM 卡的 EID,所以在下载时无需提供 MATCHING_ID

SM-DP+ OID 字段一般不会出现。

5. 写入 eSIM Profile 至 eUICC 卡片

Android

Android 设备可以使用以下方式管理 eUICC 卡片:

  • PeterCxy/OpenEUICC:{Open,Easy}EUICC
    • ARA-M: 2A2FA878BC7C3354C2CF82935A5945A3EDAE4AFA(目前仅 eSTK.me 发行的 eUICC 卡片支持自定义 ARA-M)
    • OpenEUICC 使用 Android Telephony Manager API (TMAPI),是提供给第三方 ROM 开发者使用的、用于封装为 system app 的 eUICC 管理器。
    • EasyEUICC 使用 Android Open Mobile API (OMAPI),是以 user app 形式安装的 LPA,可以直接使用,也可以搭配 OMAPI Bypass 来管理 5ber 和 esim.me 的卡。
  • 使用 OTG 外置读卡器:CursedHardware/infineon-lpa-mirror: Infineon Android LPA
  • 使用内置 LPA:AndroPlus-org/magisk-module-openeuicc

国行 Android 手机不一定双卡都支持 OMAPI,可以使用 eUICC Probe 检测各卡槽是否支持 OMAPI。

已经 root 的用户可以使用 OMAPI-BypassXposedOMAPIOverrideSEAccessRules(适用于 Android 6-8)绕过 OMAPI 限制,不验证 ARA 和 ArF。更多关于 OMAPI 的信息可以参考 Open Mobile API - eUICC Manual

Windows、macOS 和 Linux 平台

PC/SC 读卡器需要搭配以下 LPA 使用:

速易卡科技销售的读卡器(Alcor Micro USB Smart Card Reader)可以在 macOS Sonoma 和 Windows 10 下免驱使用。如果出现 APDU library init errorSCardTransmit() failed: 8010002f,请手动安装 Alcor Micro USB Smart Card Reader 驱动

执行如下命令运行 LPAdesktop:

1
java -jar LPA-1.0.0.0-jar-with-dependencies.jar

如果你的 macOS Sonoma 无法识别第三方读卡器,可以尝试安装 ACSCCID 驱动。

出厂预置了 SIM 插槽且已经安装了对应 WWAN 网卡(例如 L850-GL, L860-GL 等)的 ThinkPad/HP/Dell 笔记本用户,可以使用 Windows 10/11 系统自带的 LPA 管理 eSIM:Use an eSIM to get a cellular data connection on your Windows PC

淘宝上有网店销售 M.2 (NGFF) 转 USB 的 WWAN 转接卡,集成了 SIM 卡插槽。可以搭配 eUICC 卡和支持 eSIM 的 Fibocom(广和通)或 Quectel(移远)的 4G/5G WWAN 模块使用。部分转接卡存在兼容性问题

6. eSIM 实体卡行业动态

  • 2023 年底 eSIM.me 在 Reddit 上点名表扬了 5ber.eSIM,双方就对方产品进行了坦诚、务实、建设性的讨论。截止 2024 年 4 月,此事以社群管理员将 eSIM.me 单方面删帖告终。
  • 2024 年 2 月,eSTK.me 发布了第二代 eUICC 工程样品(ES 版),基于 BIP 联网的 rLPA 远程管理功能初步实现。
  • 2024 年 3 月,据 eSTK.me 透露,eSIM.me 的实验室版本已经实现了 iOS 切卡和下卡功能。
  • 2024 年 4 月,据 eSTK.me 透露,eSIM.me 准备就监管不力的问题起诉 GSMA。但根据 GSMA CI 的 CRL (Certificate Revocation List),EUM 证书吊销并没有先例。
  • 2024 年 4 月,拼多多平台上多家店铺的 5ber.eSIM 产品开始促销,Premium 版本售价仅不到 140 元。相较于其 180 元的原价,价格下降了 22%。有商家甚至打出“今日下单送 VPS 一台”的促销内容。
  • 2024 年 4 月 10 日,据悉 eSTK.me 预售订单将于 5 月 6 日发货。随后的 5 月 20 日将开放现货销售。本次发售的 eSTK-400KB 将搭载最新版 2.3.4.1 固件,rLPA 功能更名为 Cloud Enhance。此外,种子用户群(eSTK.me Group)将于 6 月后解散,eSTK.me 将正式进入基于邮件和 WhatsApp 的客服模式。
  • 2024 年 4 月 11 日,名为 lsf 的用户发布了 eSTK.me 早期 PCB 文件
  • 2024 年 4 月 14 日,闲鱼上的 5ber Standard 售价已降至 60 元,Premium 版售价则降至 120 元。相较于其 180 元的原价,价格下降了 33%。
  • 2024 年 4 月 14 日,速易卡科技 420 KB 容量的 eSIM 实体卡降价至 55 元,并推出了新版 USB-C 接口的读卡器 SYC-E001,售价为 78 元。
  • 2024 年 4 月 14 日,据悉 eSTK.me 正在开发 USB-C + BLE 的二合一读卡器(正面反面)。
  • 2024 年 4 月 14 日,名为“昊子”的 QQ 用户透露了自己正在仿制 eSTK.me 的消息,并晒出了成品截图以表明自己不是口嗨。根据该用户的发言可以得知,其具备一定的嵌入式设计能力,但对 GSMA 标准和 eSIM 卡技术实现的理解有待提高。
  • 2024 年 4 月 15 日,速易卡科技推出了 1MB 容量的实体 eSIM,售价仅为 68 元,容量为 5ber.eSIM (500KB) 的两倍。购买暗号“安卓esim 1m”。这是目前市面上仅有的 1MB 容量的 eUICC 卡片。
  • 2024 年 4 月 16 日,根据闲鱼上 5ber.eSIM 代理商所发布的照片,其手头囤积的 5ber-500KB 产品至少有 $80\times 25 = 2000$ 张。假设平均出厂价为 100,其积压了近 20 万人民币的库存。当前 5ber.eSIM 官网库存高达 18 万件。
  • 2024 年 4 月 18 日,有 Twitter (X) 用户声称,5ber.eSIM 没有为使用引荐链接下单的客户提供被承诺的优惠折扣。
  • 2024 年 4 月 19 日,有多位 Telegram 用户声称,其在闲鱼上 5ber.eSIM 代理商处购买的 60 元的 Standard 实体卡,实际发货为 Premium。
  • 2024 年 4 月 19 日,有 Twitter (X) 用户声称其 5ber.eSIM 客户经理透露公司内部现在存在问题,不要继续发布 5ber.eSIM 的商业推广。
  • 2024 年 4 月 25 日,5ber.eSIM 官方账号称“这位同事离职而已😅。5ber 一直都在呢,社媒的内容也会持续更新。”
  • 2024 年 4 月 27 日,eSTK.me 早鸟用户的预售订单已经提前发货。4 月 29 日将再次开放预售。
  • 2024 年 4 月 28 日,速易卡科技发布了尿袋版(外置)eSIM 卡贴,售价为 36 人民币。预置了多款 LPA 的 ARA-M 值,支持 EasyUICC、英飞凌和 syclpa 等 App 的切卡,是 5ber Standard 的绝佳搭配。对于华为手机,卡内预先下载一个号码,处于激活状态,不然不认卡。
  • 2024 年 4 月,5ber.eSIM 发布了团队公告,宣称“拥有自主知识产权,不受任何外部因素影响”。
  • 2024 年 4 月 30 日,eSTK.me 的早鸟用户逐步收到了 eSTK-400K,并晒出了照片。后续预购和现货用户将收到彩印纸质包装的产品。
  • 2024 年 5 月 9 日,有网友晒单了速易卡科技的新品,包含收纳盒、读卡器、SYC-1MB eUICC 和 nano SIM 转接板。
  • 2024 年 5 月 13 日,闲鱼上的 5ber.eSIM Premium 已经降至 115 元。
  • 2024 年 5 月 19 日半夜,名为 Sakura 卖家以“30 包邮 4 个,1 个起 10 块,10 个起 8 块,100 个 5块”的极低价格倾销来自 ECP 的消费者 eSIM。这些卡片的容量为 503KB,与 5ber.eSIM 位于同一个 EID 号段。内置 CI 为 GSM Association - RSP2 Root CI1 (81370f5125d0b1d408d4c3b232e6d25e795bebfb)。唯一的区别在于不含有 5ber.eSIM 的 ARA-M 值,因此无法使用 5ber.eSIM 的 LPA 进行管理。据悉第一批次(白卡)的卡片数量有 3000 张,第二批(内置 EasyUICC ARA-M)的卡片最快将于本周内提供。
  • 2024 年 5 月 20 日,eSTK-400KB 开放现货销售。社区用户创建了两个 Android App 证书(1, 2)给 SakuraSIM,以便用户可以自签 App 实现 SakuraSIM 管理(如果后续加入了这两个证书的 ARA-M)。
  • 2024 年 5 月 21 日,SakuraSIM 公布了含 EasyEUICC ARA-M 的卡片的定价:“第一批每人每个地址限购 10 张,15 一张,5 张包邮”。
  • 2024 年 5 月 22 日,有用户发现最初版本的 SakuraSIM 可以直接使用 5ber.eSIM 的 app 进行管理,甚至升级固件。此外,卡片还装有 5ber.eSIM 卡特有的 CI 证书(0b1359633d2ab469761ca9d82b2229350db722d7),这意味着 SakuraSIM 就是没有涂装的 5ber.eSIM 产品。同时,eSTK.me 发布了 ESTKme-ECO 产品,价格比 eSTK-400KB 便宜 40 HKD,具备相同容量。
  • 2024 年 5 月 27 日,SakuraSIM 通过微信发售。ESTKme-400K 已经绝版,只剩下量产版的 ESTKme-ECO 产品。
  • 2024 年 5 月 30 日,SakuraSIM 开放了微信群快团团购买。此次销售的为不含 ARA-M 的白卡,价格为 15 元/张,50 元 4 张。几小时后,因为被喷耍猴,SakuraSIM 关闭了微信群,并锁定了 Telegram 群。声称此后不会公开销售了,仅小范围提供。
  • 2024 年 5 月 31 日,5ber.eSIM 在小红书 repost 了中文公告,但 eSIM.me 仍然主张他们是业界唯一合法的可插拔 eSIM 品牌
  • 2024 年 6 月 1 日,SakuraSIM (ver 2) 以 eSIM.re 的品牌重新上线了,支持支付宝红包和 USDT 购买。针对海外用户定价为 USD 5.5 一张,国内用户定价为 USD 4.5 一张(折合约人民币 33 元),相当于 5ber.eSIM 普通版的半价。内含 EasyEUICC 和另外两个社区公开的 ARA-M [1] [2]。这意味着用户不仅可以使用 EasyEUICC(开源但签名的 key 不公开),还可以自行签名其他的 app 来操作卡片。根据 Whois 信息,其域名注册于 1 月 9 日。
  • 2024 年 6 月 5 日,eUICC Manual 正式捐赠Osmocom (Open Source Mobile Communications) 项目。
  • 2024 年 6 月 10 日,SakuraSIM 宣布无限期停止销售。eSIM.re 是由 SakuraSIM 发起人 @sakura_ryl 的好友 @cvv050 创建的,SakuraSIM 本人不参与运营,但交付的产品是一致的。目前 eSIM.re 处于无法访问的状态。

7. 常见问题

M2M eUICC

M2M eUICC 与 Consumer eUICC(消费者 eSIM)都属于标准的 GSMA eSIM 实现,但 M2M eUICC 不能写入 Consumer eSIM Profile,只能通过原厂的 OTA 平台进行云管理,仅用于集中管理 IoT 场景(例如共享单车)。若读者想进一步了解 M2M 和 Consumer eSIM 区别,可以参考下文部分的参考文献。

国行 Android 能否支持 eSIM?

  • 华为和荣耀可以识别并使用 eSIM,但由于 ROM 阉割了 eUICCManager,无法使用内置 LPA 管理 eSIM 配置。
  • 如果你的 ROM 没有阉割掉 eUICCManager可能可以使用 Android 原生的 LPA 管理 eSIM。已知国行小米 13 刷入 MIUI 国际版,可以使用系统内置 LPA 管理 5ber.eSIM 的 eUICC(ST33 白卡同理)。
  • 如果你 root 了,可以尝试上文提到的 OpenEUICC 项目。高通基带的手机可能无法使用 OpenEUICC

eSIM.me 和 5ber.eSIM 如何实现在没有 eUICCManager 的 Android 设备上管理 eSIM?

根据这篇博客这篇博客,eSIM.me 的 App(即 LPA)使用 Open Mobile API (OMAPI) 与 UICC 进行通信,而非标准的 eUICC API。5ber.eSIM 也是如此。这也正是它们产品的使用场景:在不支持原生 eSIM 管理(LPA)的设备上使用 eSIM。

eUICC 使用 ARA-M 字段储存 Android 开发者证书的 SHA-1 或者 SHA-256 值,从而告知 Android 系统来自哪个开发者的应用可以访问自身,容许第三方 App 提权获得 Carrier Privileges。因此,用户只能使用特定的 App 通过 OMAPI 管理 eUICC。eSTK.me 可以宣告五个 ARA-M SHA-1 值,因此同时支持 5ber.eSIM、eSIM.me 和 EasyUICC 等 App。

OMAPI 是 Android 为外置安全组件(Secure Element,SE)提供的标准接口。eUICC 是智能卡(Smart Card)的一种,因此用 OMAPI 与 eUICC 通信是 by design 的,算不上 hack。至于 eSIM.me 想因此起诉 5ber.eSIM,是没有依据的。版权应该只保护代码实现,而不是接口。

查看 5ber.eSIM 的 min SDK 版本,可知 5ber 最低兼容 Android 5.0:

1
2
$ apkanalyzer manifest min-sdk 5ber.eSIM.apk
21
  • 在 Android 5-8 上,使用第三方的 Smartcard API 访问 eUICC。
  • 在 Android 9 之后,使用 Android 集成的 OMAPI 访问 eUICC。

关于 OMAPI 的更多细节请参考 eUICC Manual

什么是 EID?

eUICC Identifier(简称:EID)是 eUICC (embedded UICC) 的全球唯一物理标识(类似于网卡的 MAC 地址),存储在 eUICC 的 ECASD (eUICC Controlling Authority Security Domain) 中,主要用于 eUICC 卡管理和远程配置。EID 可以被读取但不能被更改,在远程配置中和 ICCID 一起共同关联某个 Profile 信息。

下图是 GSMA SGP.29 规范对于 EID 的格式定义。

为什么 Virtual EID 只能骗 app 不能骗 RSP?

EID 是 EUM 使用对应的 EUM 证书签发的 eUICC 证书的序列号。执行 Profile 下载过程时,eUICC 与 SM-DP+ 交换证书信息,并用上游的证书来验证其合法性。

当 LPA 使用 OMAPI 与 eUICC 通信时,使用 ES10c#GetEID 方法获取 Hex 形式的 EID。因此,eSTK.me 的 vEID 只能欺骗依赖此行为获取 EID 的 App,而无法欺骗 SM-DP+ 和使用 eUICC 证书验证的 App。

下图为 eSIM、LPA、网络与 SM-DP+ 之间的通讯过程

无法读取 eSIM 卡片(通用)

  1. 购买的读卡器并非 PC/SC 标准兼容,无法被系统识别。
  2. 未安装正确的读卡器驱动。
  3. 卡片没插好。
  4. 卡片损坏—— ST33 芯片非常脆弱,施加外力会导致芯片损坏。

macOS 无法读取 eSIM 卡片

在 macOS Sonoma 上使用 LPA 操作 eUICC 时可能会遇到以下错误:

这是 Apple 自行开发的 USB CCID 智能卡读卡器驱动在 macOS Sonoma 上的 bug:

建议更新至最新的 macOS Sonoma 14.4 Beta,或遵照上文替换读卡器驱动。

如何批量获取 Consumer eSIM

如果您是 eSIM 从业者,可以通过以下渠道采购符合 SGP.26 标准的 Consumer eSIM 测试卡:

如果您是普通用户,可以通过速易卡科技购买 MFF2 或 nano SIM 形式的 eUICC。

eUICC Manufacturer (EUM)

eUICC Manufacturer (EUM) 是 eUICC 卡片的制造商,通过 EID 的 8 位前缀进行区分。

你可以在 eUICC Manual 查询已知的 EUM 信息。

使用 RSP Dump 提取 eUICC 的 CI、EUM 等信息

RSP Dump 是基于 AWS Lambda 的中间件。它拦截(intercepts)LPA 与 SM-DP+ 之间的通信,提取 eUICC 卡片的 CI、EUM、EUM 证书、eUICC 证书、EID、剩余空间等信息,并发送至用户指定的邮箱。

只需将 rsp.septs.app 作为 SM-DP+ 地址,将邮箱地址作为 Matching ID(也就是 eSIM Activation Code),执行下载 Profile 操作,即可收到邮件。

对应的命令行操作:lpac.exe profile download -s rsp.septs.app -m 邮箱

邮件附件为 EUICCInfo2 和提取到的 EUM、eUICC 证书。

邮件正文格式大致如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
EID: 8903302300121136000000000XXXXXXX
Issuer: 665a1433d67c1a2c5db8b52c967f10a057ba5cb2
Free NVRAM: 359.73 KiB
SGP.22 Version: 2.2.0

SAS Accreditation Number: ??????????

If you need to download other CIs, please run:

./lpac profile download -s "cdf6d1.rsp.septs.app" -m "邮箱"
./lpac profile download -s "7c0e54.rsp.septs.app" -m "邮箱"
./lpac profile download -s "4eb94e.rsp.septs.app" -m "邮箱"
./lpac profile download -s "062a9a.rsp.septs.app" -m "邮箱"

Certificate Issuer (CI)

阅读本章节之前,建议先阅读 GSMA: eSIM 白皮书(中文翻译)

你可以在 eUICC Manual 查询到已知的 CI 信息。

根据 GSMA 信息,目前消费者 eSIM 的证书颁发者有 DigiCert 和 WISeKey。

根据 PKI 数字证书在 eSIM 安全上的应用研究 | 中国联通研究院:GSMA 特别准许国内运营商自己选择 CI,CA 证书签发者必须是工业与信息化部公布的具有电子认证服务行政许可的认证机构,目前,三家运营商各自有 CA,国内的电信终端产业协会 (TAF) 也是具备为 eSIM 平台及 EUM 颁发证书的 CA。

根据 eSTK.me 和速易卡科技的信息,目前市面上存在同时支持 GSMA 和国内 CI 的 eUICC 卡片(内置了 CI 的根证书),可以同时写入国内运营商和国外运营商的 eSIM Profile。比如说,前文提到的 iPad 10 (A3162) 国行版。

根据 SGP.22 标准中关于 ES9+.InitiateAuthentication 函数的定义:SM-DP+ 会返回 serverCertificate 给 LPA。

你可以使用 Infineon LPALPAcEasyEUICC 读取 eSIM 中的 euiccCiPKIdListForVerificationeuiccCiPKIdListForSigning信息,对比 RSP 所支持的 CI,从而判断此 eSIM 卡片是否支持该 RSP(以及使用该 RSP 的运营商)。

以下是中国区 RSP 及其支持的 CI:

  • 中国信通院:www.esimtest.chinattl.cn

    • Taier eSIM Root CA: 148030fc246c02ff222106125a8d6bda990afbe9
    • China Unicom eSIM Root CA: 16b5d16048e3ea02bd4b606e5f77a4bf20808d83
    • Symantec Corporation RSP Test Root CA: 665a1433d67c1a2c5db8b52c967f10a057ba5cb2
    • Test CI: f54172bdf98a95d65cbeb88a38a1c11d800a85c3
  • 中国移动:esim.yhdzd.chinamobile.com:8001

    • Taier eSIM Root CA: 148030fc246c02ff222106125a8d6bda990afbe9
    • China Unicom eSIM Root CA: 16b5d16048e3ea02bd4b606e5f77a4bf20808d83
    • CMCA eSIM Root CA_NIST: cdf6d1c0a7b07f98a861b6e378b82f648d99663e
    • CCS NETCA eSIM ECC RootCA: d3ef83fc503f9c6ec4b7f6ae055b7f1373d4ab1e
  • 中国电信:esimapple.crm.189.cn

    • Taier eSIM Root CA: 148030fc246c02ff222106125a8d6bda990afbe9
    • China Unicom eSIM CA: 3bd3f57b34f44436e08f028b5101c0e0a9b0986e
    • China Unicom eSIM Root CA: 16b5d16048e3ea02bd4b606e5f77a4bf20808d83
    • NETCA: 4eb94ea05b451a729cc5272ddf66f481701a05c9
    • CMCA eSIM Root CA_NIST: cdf6d1c0a7b07f98a861b6e378b82f648d99663e
    • CCS NETCA eSIM ECC RootCA: d3ef83fc503f9c6ec4b7f6ae055b7f1373d4ab1e
  • 中国联通:esim.wo.com.cn

    • Taier eSIM Root CA: 148030fc246c02ff222106125a8d6bda990afbe9
    • China Unicom eSIM CA: 3bd3f57b34f44436e08f028b5101c0e0a9b0986e
    • China Unicom eSIM Root CA: 16b5d16048e3ea02bd4b606e5f77a4bf20808d83
    • CMCA eSIM Root CA_NIST: cdf6d1c0a7b07f98a861b6e378b82f648d99663e
    • CCS NETCA eSIM ECC RootCA: d3ef83fc503f9c6ec4b7f6ae055b7f1373d4ab1e

根据以上列表可以发现,三大运营商(中国移动、中国联通、中国电信)和中国信通院的 RSP 都交叉信任了对方的 CI,因此,若 eUICC 拥有任意国内运营商的 CI,即可写入所有国内运营商的 eSIM Profile。

  • 一部分中国区 RSP 的证书可以从这里下载
  • 几乎完整的 RSP 证书列表可以从这里下载

申请 eUICC 证书请联系证书签发主管单位

购买 eSIM 兼容的手机

8. 扩展阅读

技术演进

标准与规范

eUICC

9. 其他参考

10. 截图素材

11. 致谢

感谢 eSTK.me速易卡科技和不愿意透露 ID 的匿名网友对文本的校对和补充。

Prev
2024-06-16 23:43:27
Next