SIM卡-GSM加密算法A3_A5_A8_第1页
SIM卡-GSM加密算法A3_A5_A8_第2页
SIM卡-GSM加密算法A3_A5_A8_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、GSM的加密系统里面大致涉及三种算法,A3,A5,A8,这些并不特定指代什么算法,只是给出算法的输入和输出规范,以及对算法的要求,GSM对于每种算法各有一个范例实现,理论上并没有限制大家使用哪种算法。但是世界上的设备商和运营商都是很懒得沟通的,看到既然有了范例实现,就都拿来用了,于是全世界的SIM卡被XX了都一样拷法。说到这里就不能不简单介绍一下SIM卡,SIM卡是一种智能卡片,里面有个非常简单的CPU和一点NVRAM,可以存储和读出数据,还可以进行一些运算。卡里面有很多内容,不过我只介绍和加密相关的。每张SIM卡里面一般都存着一个全球唯一的标志号,叫做IMSI,这个是用来唯一标识你SIM卡的

2、,手机在开机时候会从卡里面读出这个号发给移动网络,移动那里有一个很大的数据库,描述了IMSI和手机号的对应关系,于是网络就知道你的手机号是多少了(如果你手机卡/B丢了去补,新补来的卡IMSI和原有的不同,而移动数据库那里将你原来的手机号指向新的IMSI,旧的卡就再也不能用了)除了IMSI,还有16个字节的密钥数据,这个数据是无法通过SIM卡的接口读出的,通常称为Ki,Ki在移动网络那边也保存了一份。在手机登录移动网络的时候,移动网络会产生一个16字节的随机数据(通常称为RAND)发给手机,手机将这个数据发给SIM卡,SIM卡用自己的密钥Ki和RAND做运算以后,生成一个4字节的应答(SRES)

3、发回给手机,并转发给移动网络,与此同时,移动网络也进行了相同算法的运算,移动网络会比较一下这两个结果是否相同,相同就表明这个卡是我发出来的,允许其登录。这个验证算法在GSM规范里面叫做A3,m=128bit,k=128bit,c=32bit,很显然,这个算法要求已知m和k可以很简单的算出c,但是已知m和c却很难算出k。A3算法是做在SIM卡里面的,因此如果运营商想更换加密算法,他只要发行自己的SIM卡,让自己的基站和SIM卡都使用相同的算法就可以了,手机完全不用换。在移动网络发送RAND过来的时候,手机还会让SIM卡对RAND和Ki计算出另一个密钥以供全程通信加密使用,这个密钥的长度是64bi

4、ts,通常叫做Kc,生成Kc的算法是A8,因为A3和A8接受的输入完全相同,所以实现者偷了个懒,用一个算法同时生成SRES和Kc。用户侧Ki的卡raND逋过CCCH算法他SRESKi在通信过程中的加密就是用Kc了,这个算法叫做A5,因为A5的加密量很巨大,而且SIM卡的速度很慢,因此所有通信过程中的加密都是在手机上面完成的,这样一来,除非天下所有GSM手机都至少支持一种相同的A5算法,否则就没法漫游了,这时候运营商和设备商的懒惰又体现出来了,全世界目前只有一种通用的A5算法,没有其他的,这个算法就是和Kc的8字节序列进行简单的循环XOR,再和报文序号做个减法。KiRANH通过IMSC/VLRB

5、IS7F启卸織密指令模二加1CHDCCH解密数期(昭牧)未加密数据(MS发)上面只是简单的介绍GSM的加密通信过程,实际上GSM的操作比这个还要复杂一些,比如除了第一次登录时候用真正的IMSI,之后都是用商定的临时标识TMSI,不过这个不是今天讨论的重点。F面就来说说为啥手机卡/B可以被复制。从前面的介绍里面我们知道,要完成一次登录过程,IMSI和Ki是必不可少的,A3算法也需要知道,这其中,IMSI是直接可读的,但是A3算法和存在你的卡里面的数据,都是不知道的,手机只是简单的把RAND给SIM卡,SIM卡把算好的数据返回。实际设备中使用的A3算法被作为高级商业机密保护起来。但是世界上没有不透

6、风的墙,在1998还是1999年的时候,有人从哪里偷到了几页纸的相关文档,然后把这文档输入了电脑。后来这个文档落到了加州伯克力几个教授手里面。这个文档里面缺少一些东西,而且还有写错的地方,这几个牛教授们拿一个SIM卡比对了一阵子,把缺的补上了,错的也给修正了,于是这个算法就成为了世人皆知的秘密。这个算法又被叫做Compl28,他同时生成SRES和Kc,代码在这个文件里面。 HYPERLINK /wordpress/wp%e2%80%94content/uploads/2006/06/a3a8_.txt /wordpress/wpcontent/uploads/2006/06/a3a8.txt光

7、有了算法还是不能够得到在SIM卡里面保存的Ki,理论上面是可以把SIM卡拆了,然后把芯片接到特殊设备上面来读出Ki,但是这个听起来就像用小刀在硬盘上面刻操作系统一样不靠谱。于是很多有志之士就开始了对Comp128算法的攻击,在一开始大家想到的肯定是穷举,不过这个GSM的设计者也想到了,SIM卡里面有个逻辑是一共只能查询26次左右,之后卡会自杀,让XX者啥都得不到。因此研究者们试图在可以接受的次数之内通过构造特定明文和分析输出秘文来分析出Ki的值,结果还真被大家发现出来了一些。在下面这个pdf里面有一些相关的内容介绍,IBM的一个小组甚至用6次查询就可以彻底解出Ki,当然现在外面卖的那种拷卡器肯

8、定没有这么牛,但是看表现似乎都可以在几分钟之内XX。 HYPERLINK /wordpress/wp_._Brumley-compl28.pdf /wordpress/wp.Brumley-compl28.pdf随着时间的推移,针对Comp128的XX算法越来越成熟,商用的卡复制设备也越来越多,运营商们终于坐不住了。很多运营商都开始发行Comp128v2加密算法的卡了。这其中就包括中国移动,我看了一下论坛上面的帖子,大部分都是在反映05年的新卡基本都没法用simscan之类软件读出Ki。Comp128v2算法是GSM协会在v1被攻破以后,迅速在v1上面修改得来的结果,据说比较好的解决了v1算法中的弱点,当然,这个算法像v1一样,还是不公布于众。而且到现在也

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论