APDU 命令更改 IMSI SIM 卡

Posted

技术标签:

【中文标题】APDU 命令更改 IMSI SIM 卡【英文标题】:APDU command change IMSI SIM CARD 【发布时间】:2018-03-01 21:23:55 【问题描述】:

我正在尝试通过 APDU 命令使用 UPDATE BINARY 命令来修改 IMSI 代码,但响应为 98 04

A0 A4 00 00 02 3F 00 -> SELECT MF
A0 A4 00 00 02 7F 20 -> Select DF_GSM
A0 A4 00 00 02 6F 07 ->Select EF_IMSI
A0 D6 00 00 09 [08 79 03 30 60 00 61 33 23] -> UPDATE IMSI FOR RANDOM NUMBER

执行此操作时,我得到以下响应 98 04 并且它没有被修改。

根据文档,响应 98 04 可能意味着以下内容:

    访问条件不满足 CHV 验证失败,至少还剩一次尝试 UNBLOCK CHV 验证失败,至少还剩一次尝试 身份验证失败

如何更改 IMSI?

谢谢。

【问题讨论】:

【参考方案1】:

为了更新 SIM 上的 IMSI 文件,UPDATE 命令头和数据部分应根据 GSM 03.48 规范生成。对于 SIM 文件结构 31.102 是规范。

命令头参数应从 SIM 供应商处获得。最低安全级别参数肯定会强制使用加密和加密校验和来保护命令数据,因为真正的 SIM 卡卡管理器需要类似 0x25 的 MSL 参数,因此需要 KiC 和 KiD 密钥值。

【讨论】:

【参考方案2】:

您需要先验证 CHV(用于 IMSI 的 PIN1)。 使用以下 APDU 并替换您的 PIN1 值。

->   A0 20 00 01 08 31 32 33 34 FF FF FF FF
<-   90 00

注意:如果您使用了错误的 PIN 值,它将在 3 次后被禁用。

【讨论】:

以上是关于APDU 命令更改 IMSI SIM 卡的主要内容,如果未能解决你的问题,请参考以下文章

SIM逻辑模型与APDU

APDU 命令将更改的 PIN 写入卡

用python判断sim卡imsi值,判断sim卡是啥类型

无法使用 APDU 命令验证智能卡 PIN

在 iOS 中使用 PhoneGap 检测 SIM 卡更改

Android 判断SIM卡属于哪个移动运营商