关于对SIM卡读取KI数值的步骤及研究(原创)

(由于是技术性文章,仅提供中文版本) [原创作品,转载需注明出处和网址]

现在拥有多号卡的人不在少数,虽然手机厂商推出了双模手机和双待手机,但从某一侧面上,仍不能满足消费者在动手、价格因素上的要求。我就是其中之一,我从今年一月份开始接触一卡多号,先后研究过双卡通、一卡六号和一卡十二号。发现双卡通虽然可以避免解卡带来的麻烦,但是无论从兼容性(例如有些手机没有足够空间安装双卡通)、功耗、对卡的损伤(有些手机需要剪卡)考虑,均不可与一卡多号同日而语。因为双卡通既要满足自身切换芯片的供电,又要对两张SIM卡进行供电,而一卡多号仅仅是一张大容量存储器的智能卡,可以大大提高待机时间。

据最新报道,互联网上已经有人用一卡多号破解IPHONE加密锁成功!

下面言归正传,讲一讲KI解码的发展史。

首先说说KI的作用,实际上,KI就是GSM系统中加密解密中的密钥,中文全称叫做“鉴权密钥”,一张SIM卡中,就包含了这组数据和IMSI(用户的国际移动用户识别号)。以下是更详细的介绍:用户身份鉴权,确认用户接人进网是否合法,确认过程是在网络和SIM卡之间进行的,而确认时间一般是在移动终端登记人网和呼叫时,鉴权开始时,网络产生一个128比特的随机数RAND,经无线电控制信道传送到移动台,移动台从SIM卡中取出固有的密钥Ki和算法A3,对接收到的RAND计算出应答 信号SRES,并发回网络端。而网络端在鉴权中心查明该用户的密钥Ki用同样的RAND和算法A3算出SRES,并与SRES进行比较,如两者一致,则鉴权通过,否则,鉴权失败,接续中止。

大家都知道,KI很重要,而IMSI在关闭或正确的PIN码下可以立即得到。实际上,许多年前,就有著名的解卡软件-Sim_scanner,Simscanner都在用它的内核。

simscan201.JPG simscaner.JPG

以上的程序都是对付V1卡的,这类卡在中国也很常见,广泛用于2005年之前的SIM卡。

随着智能卡的发展,IC卡制造商更偏向于开发更加安全的智能卡,从而达到KI不被轻易破解甚至无法破解的目的,V0、V2卡的诞生的确给解卡业带来了很大的困难,在1年多的时间里一直没人能突破。

转眼到了2006年,大概是06年底07年初的样子,能够破解这类卡的软件终于推出了,软件版本更是经历了1.0/1.1/1.2/1.3/最终版本。起初,软件解码以后计算RAND写到alg.tmp中,之后把这个文件发送给软件开发者。但由于业界的广泛关注,很短时间内就有许多程序实现了计算KI的目的。

old-calc.JPG a3a8.JPG

这类程序只能给出一族KI,然后用woronscan软件计算出剩余KI。

woronscan.JPG

但这类程序也存在普遍问题,就是解卡次数超高,次数有时候能达到几百W,解卡时间更是最高达到30多天,既浪费人力、精力,又浪费电力。所以,一些编程高手们逐渐根据俄罗斯黑客开发的woronscan,优化了算法。开发了几种软件,大大缩短了解卡时间。其中就有chinascan和simonscan。

本人购买的是Simonscan软件,开发人是泰迪熊,每台机器授权价格达到了99元,单是为了研究,就当交学费了,以后帮助解卡还可以象征性地收点费用。

pc-sc-unlock.JPG level-1-ok.JPG

最新版本是0.791,但由于新版本需要连接网络验证,不方便使用,所以我一般只采用0.75版本,功能应该是差不多的。

0.75版本解卡完成后,会给出多组KI,剩余KI仍需要通过woronscan解出,但耗费时间相比较已经缩短许多。不过好像最新版本的0.791已经可以给出全组KI了。

最近几天正在尝试破解一些报废的SIM(欠费)卡,0.75版本软件解卡很快,目前没有发现无解卡。

下面给大家一些解出的KI,大家可以将信息写入一卡多号,检测信号使用。

ATR : 3B 97 11 00 02 02 03 15 00 33 02
ICCID : 89 86 00 46 03 06 93 73 54 82
IMSI : 08 49 06 20 60 73 03 46 28
IMSI 解释: 中国移动 158-159
ICCID解释: 中国移动(134 ~ 139):河北省:北京华虹:06年:号段1346
KI  : B7 99 85 50 B6 2D FE 6E DC B6 FD F4 20 53 2C B4
破解次数:5.5W

ATR : 3B 97 94 00 02 02 06 23 00 3F 03
ICCID : 89 86 00 47 09 07 94 01 04 15
IMSI : 08 49 06 20 70 42 90 40 51
IMSI 解释: 中国移动 158-159
ICCID解释: 中国移动(134 ~ 139):上海市:北京华虹:07年:号段1347
KI  : 36 E2 33 F7 07 5B 8B DF 1C D5 9F 76 99 54 E2 08
破解次数:12W

ATR : 3B 09 50 C8 53 42 32 32 30 33 41
ICCID : 89 86 00 64 01 01 68 43 41 76
IMSI : 08 49 06 00 11 15 04 56 28
IMSI 解释: 中国移动(135 ~ 139)
ICCID解释: 中国移动(134 ~ 139):北京市:航天九州通:01年:号段1364
KI  : 6E 5A B3 7E CC 5D 9D 18 A8 DE 50 53 47 86 4C E9
破解次数:5W
此卡为V1卡(woronscan给出了全部KI值)

以下为Simonscan的解卡软件日志,相关的KI已经标明:

CHV status:
 PIN1 is disabled, 3 attempets remain.
 PIN2 – 3 attempets remain.
 PUK1 – 10 attempets remain,
 PUK2 – 10 attempets remain.

ATR 解释:正向约定. Fl(时钟频率转换因子) = 09 (Fi = 512, f(max) = 5000 KHz), Dl(波特率校正因子) = 04 (8), I(最大编程电流) = 00 (25 mA), P(编程电压) = 32 V, N(Extra guardtime) = 00. 计算时间值: Work etu = 18 ms, Guard time = 0 ms. 后续传输协议类型T=0(异步半双工字符传输协议) , 数值:WI = 10, WT = 1382 ms.
ATR : 3B 97 94 00 02 02 06 23 00 3F 03
ICCID : 89 86 00 47 09 07 94 01 04 15
IMSI : 08 49 06 20 70 42 90 40 51
IMSI 解释: 中国移动 158-159
ICCID解释: 中国移动(134 ~ 139):上海市:北京华虹:07年:号段1347

Starting 2R attack on pair 1…Continue Steps : 93292

Used 107263 – all steps.

Pair 1 2R Collisions found! A2FE 8EE9
3R check pair 1 : E2D5 – RIGHT ‘第1组密钥
Used 107665 – all steps.

 Pair 1: E2D5
3R check pair 5 : 5B54 – RIGHT ‘第5组密钥
Used 109583 – all steps.

 Pair 5: 5B54
3R check pair 3 : F776 – RIGHT ‘第3组密钥
Used 110577 – all steps.

 Pair 3: F77A
3R check pair 7 : DF08 – RIGHT ‘第7组密钥
Used 111575 – all steps.

 Pair 7: DF0C
3R check pair 0 : 361C – RIGHT ‘第0组密钥
Used 115283 – all steps.

 Pair 0: 0230

以下为一张卡在用Simonscan解卡给出多组KI后,继续用woronscan解卡的日志文件:

提供第1对KI时,调试顺序为: 5,3,7,0,4,2,6

PC/SC Smart Card is inserted
ATR=3B 97 94 00 02 02 06 23 00 3F 03
Active Protocol is T0
Preferred Mode is SHARED
PIN1 is disabled
PIN1 remaining 3 attemps
PUK1 remaining 10 attemps
23:34:46
Calculating data for 3R attack….
23:34:47
Found data: common=27 first=046E second=DBC5
Finding 3R attack collision…
23:36:54
3R attack collisions  found…used 322 steps
3R attack 2 possible pairs  found
*Possible Pair 0742 ‘第四组可能的KI数值(经检验错误)
Possible Pair 0799 ‘第四组可能的KI数值(经检验正确)
23:36:56
3R attack  failed…(填写好第四组KI数值到文本框后,继续操作)
PC/SC Smart Card is inserted
ATR=3B 97 94 00 02 02 06 23 00 3F 03
Active Protocol is T0
Preferred Mode is SHARED
PIN1 is disabled
PIN1 remaining 3 attemps
PUK1 remaining 10 attemps
23:37:06
Calculating data for 4R attack….
23:37:07
Found data: common=D1 first=03D0 second=79F6 third=3200
Finding 4R attack collision…
Used 148 steps for 4R attack
23:38:05
4R attack 8 collisions  found…
23:38:05
final calculating pairs by 4R attack…
*339F 0007 ‘第二组可能的KI数值(经检验前一组为正确数值)
Found by 4R attack 2 pair=FFFF
23:38:14
PC/SC Smart Card is inserted
ATR=3B 97 94 00 02 02 06 23 00 3F 03
Active Protocol is T0
Preferred Mode is SHARED
PIN1 is disabled
PIN1 remaining 3 attemps
PUK1 remaining 10 attemps
Finding last pair by brute force…
23:39:22
*Found by brute force  the 6 pair=8BE2 ‘第6组KI密钥被暴力攻击自动算出

KI  : 36 E2 33 F7 07 5B 8B DF 1C D5 9F 76 99 54 E2 08 ‘最终的KI数值
IMSI: 08 49 06 20 70 42 90 40 51 ‘IMSI数值

最后,给出KI调试顺序(请在使用时将数值减1操作,因为软件是从0开始的)

KI及后续计算的KI位置关系:
提供第1对KI时,调试顺序为: 5,3,7,2,6,4,8
提供第2对KI时,调试顺序为: 6,4,8,1,5,3,7
提供第3对KI时,调试顺序为: 7,1,5,2,6,4,8
提供第4对KI时,调试顺序为: 8,2,6,1,5,3,7
提供第5对KI时,调试顺序为: 1,3,7,2,6,4,8
提供第6对KI时,调试顺序为: 2,4,8,1,5,3,7
提供第7对KI时,调试顺序为: 3,1,5,2,6,4,8
提供第8对KI时,调试顺序为: 4,2,6,1,5,3,7

好了总算告一段落了,已经凌晨两点了,我该休息了。

[Page Version:1.0.2 Last Edit By Admin On 2007.08.20 ]