手机开发实战37——SIM卡安全缺陷分析

安全缺陷分析

1、安全分析

(1)SIM卡

SIM卡中最敏感的数据是保密算法A3、A8算法、密钥Ki、PIN、PUK和Kc。A3、A8算法是在生产SIM卡的同时写入的,一般人无法读取A3、A8算法;HN码可由客户在手机上自行设定;PUK码由运营者持有;Kc是在加密过程中由Ki导出;Ki需要根据客户的IMSI和写卡时用的母钥(Kki),由运营部门提供的一种高级算法DES,即Ki=DES(IMSI,Kki),经写卡机产生并写入SIM卡中,同时要将IMSI、Ki这一对数据送入GSM网路单元AUC鉴权中心。

如何保证Ki在传送过程中安全保密是一件非常重要的事情。Ki在写卡时生成,同时加密,然后进入HLR/AUC后再解密,那么连写卡和HLR/AUC的操作人员也不知道Ki的真实数据。

一般流行的做法是用一高级方程DES对Ki进行加密,DES方程需要一把密钥Kdes,加密和解密都用同一把密钥。由运营部门提供DES方程给HLR/AUC设备供应商,运营部门制定严格的保密制度,管理好密钥Kdes就能保证Ki传递的安全性。

(2)空中接口

GSM系统为了保证通信安全,尤其是空中接口不受侵犯,采取了特别的鉴权与加密措施,来确保移动台的合法性以及防止第三者对通话进行窃听。所使用的加解密算法以及安全措施从理论上来说是不可逆的。这里主要介绍SIM卡,对GSM系统对于空中接口的控制与管理就不详细叙述了。

2、SIM卡整体复制

目前出现了许多MAGICSIM、SUPERSIM等手机智能卡,配合专用的SIM卡读写卡起便可实现在1张空白的卡上同时“烧”进不同地区的16个手机卡号,可供用户使用手机STK功能*随时切换使用其中任何一个号码使用,也可将一个号码“烧”进多张手机SIM卡。

目前,移动运营商在用户入网时并没有对移动电话机的国际移动设备识别码(IMEI码)实行验证,其次,GSM系统为了防止非法监听进而盗用IMSI,在无线链路上需要传送IMSI时,均使用临时移动用户识别码TMSI来代替IMSI。仅在位置更新失败或MS得不到TMSI时才使用IMSI。因此,这就对SIM卡整体复制以及SIM卡的非法盗用提供了先决条件。同时,也使得GSM系统对移动台的鉴权形同虚设。

实验证明:使用两部手机,一部使用原SIM卡,另一部使用superSIM16复制卡,在一部机拔出的时候,另一部无法工作;一部机在发短息的时候,另一部无法同时发信息;两机同时待机,短信息和电话一般会到后开机的那一部手机上;如果关闭掉其中一部手机,有可能会出现暂时收不到短信息(信息延时)的情况,或者网络出现机主关机的情况;如两机均设置了自动选网,同号待机时等同于轮流待机(感觉为随机)。

3、SIM卡模拟器

由于SIM卡内部属于单片机范畴,早在1998年,国外就出现了使用TurboPascal编写的SIM卡模拟程序以及相应的外部接口电路。它跳过了SIM卡,将手机与计算机结合到了一起。通过外部电路将手机与计算机RS-232接口相连,在计算机上运行SIM卡模拟程序,模拟SIM卡处理的全过程。

SIM卡模拟器不同于SIM卡整体复制,它将卡内数据读出,并以数据格式保存在计算机上。运行模拟程序时,这些以数据格式保存的卡内数据就相当与一张张实实在在的SIM卡。所不同的是,对照SIM卡内部的数据格式说明,能实现对SIM卡内部数据的修改和SIM卡复制等功能。这样一来,就使得SIM卡的安全性完全丧失,并对GSM系统的安全性造成一定的威胁。

你可能感兴趣的:(手机开发实战37——SIM卡安全缺陷分析)