简体   繁体   English

验证SIM卡上的ADM以更改IMSI

[英]Authenticating ADM on SIM card to change IMSI

I have been reading the ETSI TS 102 221 V8.2.0 (2009-06) to learn how to interface with sim cards and using pyscard to interface with them in python.我一直在阅读 ETSI TS 102 221 V8.2.0 (2009-06) 以了解如何与 sim 卡接口,并使用 pyscard 在 python 中与它们接口。

I've been able to successfully read the ICCID and the current IMSI, but when I try to update IMSI I get '9804' back, meaning 'Access conditions not satisfied, authentication failed.'我已经能够成功读取 ICCID 和当前的 IMSI,但是当我尝试更新 IMSI 时,我得到了“9804”,意思是“不满足访问条件,身份验证失败。”

PIN is disabled and update conditions for the IMSI file seems to be the admin number, which I have from the provider. PIN 已禁用,IMSI 文件的更新条件似乎是我从供应商处获得的管理员号码。
PIN is supposed to get authenticated via the "Verify Pin" command, but no such command seems to exist for the ADM number. PIN 应该通过“验证 PIN”命令进行身份验证,但 ADM 号码似乎不存在这样的命令。

I've been looking at the "Authenticate" command, but I'm having trouble understanding it.我一直在查看“Authenticate”命令,但我无法理解它。 I've found several APDUs online which people claim is the right way to authenticate ADM number, but none of them work.我在网上发现了几个 APDU,人们声称这些 APDU 是验证 ADM 号码的正确方法,但它们都不起作用。
Is there something more to authenticating ADM other than sending a normal APDU (CLA, INS, P1, P2, Lc(P3), <data>, Le)?除了发送正常的 APDU(CLA、INS、P1、P2、Lc(P3)、<data>、Le)之外,还有什么可以验证 ADM 吗?

To summarize:总结一下:
From the documentation, I can't find a way (don't understand enough, probably) to create an APDU which authenticates ADM number.从文档中,我找不到一种方法(可能不够了解)来创建一个验证 ADM 号码的 APDU。
Any and all help or insight on the matter is greatly appreciated.非常感谢对此事的任何和所有帮助或见解。

Try using 0020000A0X{ADM_KEY}, where X is length of ADM key in bytes.尝试使用 0020000A0X{ADM_KEY},其中 X 是以字节为单位的 ADM 密钥长度。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM