技术分析:手机通讯身份证之SIM卡
日常我们使用手机,SIM卡是手机的必须,没有了它就不能接入网络运营商进行通信服务。SIM卡作为网络运营商对于我们身份辨别的证件,其起到了重要的作用。接下来一起了解这细小但大有文章的SIM卡。<p style="text-align: center;"><img alt="SIM" src="http://www.ibmnb.com/attachments/2013/11/1280348_201311071220571B22c.jpg" style="border: 1px solid black;" title="SIM"><br>手机通讯身份证之SIM卡</p><p><strong> SIM卡</strong></p><p> SIM卡是(Subscriber Identity Module 客户识别模块)的缩写,也称为智能卡、用户身份识别卡,GSM数字移动电话机必须装上此卡方能使用。它在一电脑芯片上存储了数字移动电话客户的信息,加密的密钥以及用户的电话簿等内容,可供GSM网络客户身份进行鉴别,并对客户通话时的语音信息进行加密。</p><p style="text-align: center;"><img alt="SIM" src="http://www.ibmnb.com/attachments/2013/11/1280348_201311071220572U90e.jpg" style="border: 1px solid black;" title="SIM"><br>标准SIM卡</p><p> SIM卡主要用于GSM系统,但是兼容的模块也用于UMTS的UE(USIM)和IDEN电话。有人把<span class="cmsLink">CDMA2000</span>和<span class="cmsLink">cdma</span>One的RUIM卡和UIM卡,也称作SIM卡,虽然两者作用类似,并遵守了一样的所有机械、电气标准和部分软件标准,但是上层应用并不一定兼容。SIM由CPU、ROM、RAM、EEPROM和I/O电路组成。用户使用SIM时,实际上是手机向SIM卡发出命令,SIM卡应该根据标准规范来执行或者拒绝;SIM卡并不是单纯的信息存储器。</p><p> SIM卡在GSM系统中的应用,使卡和手机分离,SIM卡唯一标识一个客户。一张SIM卡可以插入任何一部GSM手机中使用,而使用手机所产生的通信费则自己记录在该SIM卡所唯一标识的客户帐上。SIM卡容量有8K、16K、32K、64K,其中512k以上的大容量的SIM卡统称为STK卡。</p><p><strong> SIM卡物理结构</strong></p><p> 现在SIM卡拥有四种的物理结构,最早的版本的尺寸是与标准信用卡相同(85×54×0.78毫米),触点则符合ISO 7816对ID-1型IC卡的规定。</p><p style="text-align: center;"><img alt="SIM" src="http://www.ibmnb.com/attachments/2013/11/1280348_201311071220573MmGX.jpg" style="border: 1px solid black;" title="SIM"><br>现时四种大小的SIM卡类型</p><p> 由于手机小型化,目前的SIM卡,又称“Mini SIM”,一般裁剪为25x15毫米的插入式。发售时一般嵌在一个ID-1型卡中,使用前沿着预制切口取下。</p><p> 2010年,欧洲电信标准协会(European Telecommunications Standards Institute)再从Mini SIM发展出缩小为15x12毫米的“Micro SIM”卡,Micro SIM卡首次使用在苹果公司所推出的iPad及<span class="cmsLink">iPhone 4</span>,后续<span class="cmsLink">iPhone 4S</span>、iPad 2等众多<span class="cmsLink">智能手机</span>都有采用。</p><p style="text-align: center;"><img alt="SIM" src="http://www.ibmnb.com/attachments/2013/11/1280348_2013110712205745XPP.jpg" style="border: 1px solid black;" title="SIM"><br>现在SIM卡均提供多种尺寸选择</p><p> 2011年,苹果公司提出“Nano SIM”卡(8.8x12.3毫米)标准,经过2012年的一番竞争,该标准被欧盟采纳为4FF标准。“Nano SIM”卡最早被应用在iPhone 5与iPad mini。</p><p><strong> SIM卡原理与内部结构</strong></p><p> SIM卡实际是装有微处理器的芯片卡,在这里面存储了数字移动电话客户的信息,加密的密钥以及用户的电话簿等内容,可供GSM网络客户身份进行鉴别,并对客户通话时的语音信息进行加密。</p><p style="text-align: center;"><img alt="结构" src="http://www.ibmnb.com/attachments/2013/11/1280348_201311071220575IHjd.jpg" style="border: 1px solid black;" title="结构"><br>SIM卡接线位置</p><p> 它的内部有5个模块,并且每个模块都对应一个功能:微处理器CPU(8位)、程序存储器ROM(3~8kbit)、工作存储器RAM(6~16kbit)数据存储器EEPROM(128~256kbit)和串行通信单元。这5个模块被胶封在SIM卡铜制接口后与普通IC卡封装方式相同。这5个模块必须集成在一块集成电路中,否则其安全性会受到威胁,因为芯片间的连线可能成为非法存取和盗用SIM卡的重要线索。</p><p> SIM卡的供电分为5V(1998年前发行)、5V与3V兼容、3V、1.8V等,现在的Micro SIM与Nano SIM卡均是1.8V,要求手机产生的SIM卡供电电压与该SIM卡所需的电压相匹配。SIM卡插入手机后,电源端口提供电源给SIM卡内各模块。</p><p> SIM卡在与手机连接时,最少需要5个连接线:电源(Vcc) 、时钟(CLK) 、数据I/O口(Data) 、复位(RST) 、接地端(GND),如下图:</p><p style="text-align: center;"><img alt="SIM" src="http://www.ibmnb.com/attachments/2013/11/1280348_201311071220576T3p3.jpg" style="border: 1px solid black;" title="SIM"><br>SIM卡接线位置</p><p style="text-align: center;"><img alt="SIM" src="http://www.ibmnb.com/attachments/2013/11/1280348_201311071220577nz5Z.jpg" style="border: 1px solid black;" title="SIM"><br>SIM卡接线位置</p><p><strong> SIM卡保存的数据</strong></p><p> (1)由SIM卡生产厂商存入的系统原始数据。</p><p> (2)由GSM网络运营部门或者其他经营部门在将卡发放给用户时注入的网络参数和用户数据。包括鉴权和加密信息Ki(Kc算法输入参数之一:密匙号);国际移动用户号(<span class="cmsLink">IMSI</span>);A3:IMSI认证算法;A5:加密密匙生成算法;A8:密匙(Kc)生成前,用户密匙(Kc)生成算法;</p><p> (3)由用户自己存入的数据。比如,短消息、固定拨号,缩位拨号,性能参数,话费记数等。</p><p> (4)用户在用卡过程中自动存入和更新的网络接续和用户信息类数据。包括最近一次位置登记时的手机所在位置区识别号(LAI),设置的周期性位置更新间隔时间,临时移动用户号(TMSI)等。</p><p style="text-align: center;"><img alt="SIM" src="http://www.ibmnb.com/attachments/2013/11/1280348_201311071220578U8jJ.jpg" style="border: 1px solid black;" title="SIM"><br>SIM卡保存的数据</p><p> 这些数据都存放在各自的目录项内,第一类数据放在根目录,当电源开启后首先进入根目录,再根据指令进入相关的子目录,每种目录极其内部的数据域均有各自的识别码保护,只有经过核对判别以后才能对数据域中的数据进行查询,读出和更新。上面第一类数据通常属永久性的数据,由SIM卡生产厂商注入以后无法更改,第二类数据只有网络运行部门的专门机构才允许查阅和更新,再第三、四类数据中的大部分允许用户利用任何手机对其进行读/写操作。</p><p><strong> GSM网络登录原理</strong></p><p> 对于一个用户号码来说,IMSI和KI码是唯一的。TMSI是随时变动的。但IMSI很用以被复制。KI码需要攻击算号才出来。TMSI是电信服务商发给的。</p><p> 1. 手机开机后会从SIM卡中读取IMSI(15个数字)和TMSI(4字节);</p><p> 2. 手机登录网络时,将会IMSI或TMSI发给网络;</p><p> 3. 网络判断到该IMSI或TMSI有效,要生成一个128bit的RAND,然后发给手机;</p><p> 4. 手机收到RAND后,将RAND发给SIM卡;</p><p> 5. SIM以里面的KI为密钥对RAND进行A3A8运算,生成(SRES+Kc);</p><p> 6. 手机读取(SRES+Kc)(32bit+64bit),并将SRES发给网络;</p><p> 7. 网络自己进行一次A3A8运算,如果结果与手机返回的SRES相同,则认为该用户合法。</p><p> 熟知这个原理之后,一些有锁手机的卡贴、写卡解卡等手段的解锁均是从这几个步骤发展而来。以有锁at&t合约iPhone为例,需要登陆<span class="cmsLink">中国移动</span>网络。iPhone是利用要at&t卡的IMSI在中国移动的网络里取得进网许可,首先利用卡贴或者写卡解卡等手段写进at&t的IMSI码,向中国移动发送此IMSI码,此时中国移动认为这个卡是at&t国际漫游过来的,就分配给他一个TMSI(临时的IMSI),此时TMSI与IMSI配合登录个人帐户系统的时候中国移动发现他是国内的用户,继而开放权限,按照正常帐户处理了。</p><p style="text-align: center;"><img alt="卡贴" src="http://www.ibmnb.com/attachments/2013/11/1280348_201311071220579Kky0.jpg" style="border: 1px solid black;" title="卡贴"><br>卡贴利用SIM卡登陆漏洞实现解锁</p><p> 当然这只是最简单的解锁方法,其中卡贴是比较简单的解锁方式,但是有可能存在信号与稳定问题,而写卡解卡能够比较好解锁手机,但是其破解过程,当中的KI码攻克是比较困难的事情,只有获取了KI码,才有可能获取内部的IMSI码,加上随着加密技术的不断发展,现在有很大一部分的新SIM卡均很难进行破解写卡。</p><p><strong> SIM卡常见故障</strong></p><p> 1、每当手机打开时,手机都要与SIM卡进行数据交流。没插卡时,这些信号是不会送出的。当手机插入SIM卡后无任何反应或插入SIM卡显示出错时,这可能是因为SIM卡开关不良或接触不良或使用废卡产生的。如果换新卡后故障仍然存在,那么故障一般发生在SIM卡供电部分。在SIM卡插座的供电端、时钟端、数据端,开机瞬间可用示波器观察到读卡信号,如无此信号,应为SIM卡供电开关周边电阻电容元件与卡脱焊问题。</p><p> 2、如SIM卡在一部手机上可用,在另一部手机上不能用,可能是在手机中已经设置了“网络限制”和“用户限制”功能。这可以通过16位网络控制码(NCK)或用户控制码(SPCK)启动该手机的限制功能,这需要网络运营商解决。另外,这种故障也可能是SIM卡供电偏低或接触不良造成的 。</p><p> 3、一般SIM卡的检测需要再初始开机时执行,当开机检测不到SIM卡存在时,将提示“插入SIM卡”;如果检测SIM卡已存在,但机卡之间的通信不能实现,会显示“检查SIM卡”;当SIM卡对开机检测信号没有响应时,手机也会提示“插入SIM卡”;当SIM卡在开机使用过程中掉出、由于松动接触不良或使用报废卡时,手机会提示“SIM卡错误”。</p><p><strong> 剪卡需要注意的问题</strong></p><p> 前面我们已经了解到SIM卡的物理与内部的结构,其真正起到作用的是很小的一部分,其余的金属与塑料均是无意义的封装面积。</p><p style="text-align: center;"><img alt="SIM" src="http://www.ibmnb.com/attachments/2013/11/1280348_2013110712205710ShsC.jpg" style="border: 1px solid black;" title="SIM"><br>观察SIM大小与金属部位的位置</p><p> 剪卡前,我们需要分辨SIM卡的类型,早期的SIM卡与现在SIM卡,表面的结构与连接线是不一样的。SIM卡金属部分,有位置的接线是没有功用的(如SIM卡结构接线图所示),因此裁剪去也并不会对SIM卡产生影响。只要裁剪的时候注意保持SIM卡有功用的接线位置保持完整即可。按照现在来看,较新的SIM卡都可以进行裁剪操作,只有年代较为久远的才需要进行SIM卡的更换。</p><p style="text-align: center;"><img alt="SIM" src="http://www.ibmnb.com/attachments/2013/11/1280348_20131107122057113hqA.jpg" style="border: 1px solid black;" title="SIM"><br>剪卡后需要进行打磨</p><p> 剪卡的方法有比较多种,最直接粗暴的便是利用剪刀,按照SIM卡贴纸来进行裁剪,过程中需要适当剪大一些,好进行后期的打磨调整。此外直接购买剪卡器也是一件更方便的事情,现在市面上有Micro SIM与Nano SIM两种剪卡器。前者可以轻松裁剪好,只需进行边缘的稍微打磨即可使用,而Nano SIM卡裁剪后,由于其厚度要更加薄,因此打磨方面需要多花一些功夫与时间。</p> mark 小配件大名堂。。。 mark 好像当年的6688 可以利用Hook 手机与SIM卡的通信接口,修改SIM返回的IMSI,并在补丁中进行A3A8运算,再把SIM返回的(SRES + Ki)替换掉 从而拦截别人的通话及短信 谢谢分享! Posted by rainsun on 2013-11-8 00:06 http://www.ibmnb.com/images/common/back.gif好像当年的6688 可以利用Hook 手机与SIM卡的通信接口,修改SIM返回的IMSI,并在补丁中进行A3A8运算,再把SIM返回的(SRES + Ki)替换掉 从而拦截别人的通话及短信
高人,详细给我讲讲^u^ ,软件叫什么名字 IMSI-Catcher ,GSM的认证方式单向,只有基站向用户鉴权,而用户无法知道基站是否合法.
IMSI-Catcher 其实是一个小的基站设备,冒充基站,在你的移动设备和真正的基站之间强制发起一个中间人攻击,并且在认证完成后强制你的手机采用加密等级降低甚至不加密的通讯方式以达到轻易窃听的结果.
问题有2个:
1. IMSI是放在SIM卡里的, 窃听者并不知道它和手机号码之间的关系,这种关系通常都在移动的认证计费中心,应该是保密的,除非你有本事弄到。
2. 而且通常在第一次注册后,一般都会采用TMSI来替代IMSI来完成本地的鉴权,而这个IMSI和TMSI的对应是放在本地鉴权库里的,况且TMSI经常被重新分配.
所以,那种针对某个手机号的监听几乎是不可能的, 除非你有办法搞到对方的IMSI,当然如果你能接触它的手机,不如装个小点的***来得更方便.
唯一的用处就是对某机构或某特定区域的所有GSM通话的截听,当然要么你都录下来,同时处理上百路的通话对设备对人手都是要求非常高的...
这是手机认证过程,可以看出问题很多来的...
手机登录时将IMSI(或TMSI)发给网络,网络根据IMSI判断是否对该用户进行验证,如果肯定,则发一随机数RAND(128bit)给手机,手机转发给SIM,SIM收到RAND后,用KI作为密钥,通过A3A8算法运算出(SRES + Kc)( 32bit + 64bit)给手机,手机将SRES发给网络,网络自己做一次A3A8运算,如果自己得出的SRES与手机发回来的SRES是一致的,则认为该用户是合法用户,登录成功。 而Kc是留作后面进行语音通信时对数据进行加密用的。 Mark 学习之。 我想有一部这样的手机 Posted by mhmh9 on 2013-11-8 18:42 http://www.ibmnb.com/images/common/back.gif
高人,详细给我讲讲^u^ ,软件叫什么名字
我说的是个手机,而不是软件,就像8楼所说的只能拦截某区域内的通讯不能拦截指定号码,我只是随便说说的,其实我也不懂。
页:
[1]