首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用osmo-sim-auth Python脚本进行SIM/USIM身份验证

使用osmo-sim-auth Python脚本进行SIM/USIM身份验证
EN

Stack Overflow用户
提问于 2018-10-18 15:04:17
回答 2查看 204关注 0票数 0

我将尝试使用基于PC的SIM卡读卡器使用以下Python脚本重现USIM卡身份验证过程(并不是说我必须使用这个脚本,但我没有找到其他脚本):https://osmocom.org/projects/osmo-sim-auth

我的卡SIM卡读卡器工作正常并被检测到:

代码语言:javascript
复制
$ pcsc_scan 
PC/SC device scanner
V 1.5.2 (c) 2001-2017, Ludovic Rousseau <ludovic.rousseau@free.fr>
Using reader plug'n play mechanism
Scanning present readers...
0: Gemalto Prox Dual USB PC Link Reader [Prox-DU Contactless_13101538] 00 00
1: Gemalto Prox Dual USB PC Link Reader [Prox-DU Contact_13101538] 01 00

Thu Oct 18 08:51:09 2018
Reader 0: Gemalto Prox Dual USB PC Link Reader [Prox-DU Contactless_13101538] 00 00
Card state: Card removed, 
Reader 1: Gemalto Prox Dual USB PC Link Reader [Prox-DU Contact_13101538] 01 00
Card state: Card inserted, 
ATR: 3B 9F 96 80 3F C6 A0 80 31 E0 73 F6 21 16 57 4A 4D 02 0B 34 54 63 69

ATR: 3B 9F 96 80 3F C6 A0 80 31 E0 73 F6 21 16 57 4A 4D 02 0B 34 54 63 69
+ TS = 3B --> Direct Convention
...

pcscd服务正在运行:

代码语言:javascript
复制
systemctl status pcscd
● pcscd.service - PC/SC Smart Card Daemon
Loaded: loaded (/lib/systemd/system/pcscd.service; indirect; v
Active: active (running) since Thu 2018-10-18 08:57:02 CEST; 1
    Docs: man:pcscd(8)
Main PID: 23039 (pcscd)
    Tasks: 6 (limit: 4915)
CGroup: /system.slice/pcscd.service
        └─23039 /usr/sbin/pcscd --foreground --auto-exit

但是,当我运行osmo-sim-auth.py脚本时,我得到了以下错误:

代码语言:javascript
复制
./osmo-sim-auth.py -r 00000000000000000000000000000000 -s
Testing SIM card with IMSI None

GSM Authentication
Traceback (most recent call last):
File "./osmo-sim-auth.py", line 125, in <module>
    handle_sim(options, rand_bin)
File "./osmo-sim-auth.py", line 75, in handle_sim
    print "SRES:\t%s" % b2a_hex(byteToString(ret[0]))
TypeError: 'NoneType' object has no attribute '__getitem__'

知道我做错了什么吗?

EN

回答 2

Stack Overflow用户

发布于 2019-01-14 22:18:55

您正在尝试的信息在没有RAND值的情况下无法读取,RAND值在GSM的AUC/HLR中生成。GSM网络使用询问-响应机制对SIM进行认证。

  • 一旦需要认证,AUC/HLR就向MSC/VLR提供128位RAND(随机数)、Kc和SRES值。
  • RAND被发送到加密的SIM卡。
  • SIM卡使用A3、A8算法、GSM SIM卡鉴权密钥(Ki)和RAND值计算SRES和Kc
  • SRES是从A3 ( RAND,Ki)导出的。Kc由A8 (RAND,Ki)派生而来。
  • Ki是SIM卡厂商分配的鉴权密钥,版本为A3和A8。
  • SIM卡将SRES发送给
  • ,如果两个SRES值匹配,则鉴权完成。

您需要GSM的RAND值,UMTS、Ki、A3和A8算法类型的RAND/AUTN值。

票数 1
EN

Stack Overflow用户

发布于 2018-12-17 19:17:54

你的命令是针对GSM卡的,如果你尝试UMTS,你必须添加-a

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52868651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档