1元虚拟主机

当前位置:  首页 >  产品资讯 >  关于gsm加密算法的一些介绍

关于gsm加密算法的一些介绍

来源:景安网络

作者:网络

更新时间:2016-02-14 10:52

景安网络—河南专业的多线服务器托管商!提供快云服务器,快云VPS,虚拟主机,域名注册,网站空间,服务器托管,服务器租用,SSL证书。1元试用30天vps活动,活动进行中!查看详情

    GSM加密算法最初开发于1988年,目前全球80%约35亿部在用手机使用GSM技术,是应用最广泛的手机加密标准。GSM 的加密系统里面大致涉及三种算法,A3,A5,A8。每张 SIM 卡里面一般都存着一个全球的标志号,叫做 IMSI,这个是用来标识你 SIM 卡的,手机在开机时候会从卡里面读出这个号发给移动网络,移动那里有一个很大的数据库,描述了 IMSI 和手机号的对应关系,于是网络知道你的手机号是多少了(如果你手机卡[/B]丢了去补,新补来的卡 IMSI 和原有的不同,而移动数据库那里将你原来的手机号指向新的 IMSI,旧的卡再也不能用了)除了 IMSI ,还有 16 个字节的密钥数据,这个数据是无法通过 SIM 卡的接口读出的,通常称为 Ki, Ki 在移动网络那边也保存了一份。
 
    在手机登录移动网络的时候,移动网络会产生一个 16 字节的随机数据(通常称为 RAND)发给手机,手机将这个数据发给 SIM 卡, SIM 卡用自己的密钥 Ki 和 RAND 做运算以后,生成一个 4 字节的应答(SRES)发回给手机,并转发给移动网络,与此同时,移动网络也进行了相同算法的运算,移动网络会比较一下这两个结果是否相同,相同表明这个卡是我发出来的,允许其登录。这个验证算法在 GSM 规范里面叫做 A3,m = 128 bit, k = 128 bit, c=32 bit,很显然,这个算法要求已知 m 和 k 可以很简单的算出 c ,但是已知 m 和 c 却很难算出 k 。A3 算法是做在 SIM 卡里面的,因此如果运营商想更换加密算法,他只要发行自己的 SIM 卡,让自己的基站和 SIM 卡都使用相同的算法可以了,手机完全不用换。
 
    在移动网络发送 RAND 过来的时候,手机还会让 SIM 卡对 RAND 和 Ki 计算出另一个密钥以供全程通信加密使用,这个密钥的长度是 64 bits, 通常叫做 Kc, 生成 Kc 的算法是 A8 ,因为 A3 和 A8 接受的输入完全相同,所以实现者偷了个懒,用一个算法同时生成 SRES 和 Kc 。
    GSM加密算法最初开发于1988年,目前全球80%约35亿部在用手机使用GSM技术,是应用最广泛的手机加密标准。GSM 的加密系统里面大致涉及三种算法,A3,A5,A8。每张 SIM 卡里面一般都存着一个全球的标志号,叫做 IMSI,这个是用来标识你 SIM 卡的,手机在开机时候会从卡里面读出这个号发给移动网络,移动那里有一个很大的数据库,描述了 IMSI 和手机号的对应关系,于是网络知道你的手机号是多少了(如果你手机卡[/B]丢了去补,新补来的卡 IMSI 和原有的不同,而移动数据库那里将你原来的手机号指向新的 IMSI,旧的卡再也不能用了)除了 IMSI ,还有 16 个字节的密钥数据,这个数据是无法通过 SIM 卡的接口读出的,通常称为 Ki, Ki 在移动网络那边也保存了一份。  在手机登录移动网络的时候,移动网络会产生一个 16 字节的随机数据(通常称为 RAND)发给手机,手机将这个数据发给 SIM 卡, SIM 卡用自己的密钥 Ki 和 RAND 做运算以后,生成一个 4 字节的应答(SRES)发回给手机,并转发给移动网络,与此同时,移动网络也进行了相同算法的运算,移动网络会比较一下这两个结果是否相同,相同表明这个卡是我发出来的,允许其登录。这个验证算法在 GSM 规范里面叫做 A3,m = 128 bit, k = 128 bit, c=32 bit,很显然,这个算法要求已知 m 和 k 可以很简单的算出 c ,但是已知 m 和 c 却很难算出 k 。A3 算法是做在 SIM 卡里面的,因此如果运营商想更换加密算法,他只要发行自己的 SIM 卡,让自己的基站和 SIM 卡都使用相同的算法可以了,手机完全不用换。  在移动网络发送 RAND 过来的时候,手机还会让 SIM 卡对 RAND 和 Ki 计算出另一个密钥以供全程通信加密使用,这个密钥的长度是 64 bits, 通常叫做 Kc, 生成 Kc 的算法是 A8 ,因为 A3 和 A8 接受的输入完全相同,所以实现者偷了个懒,用一个算法同时生成 SRES 和 Kc 。   在通信过程中的加密是用 Kc 了,这个算法叫做 A5 ,因为 A5 的加密量很巨大,而且 SIM 卡的速度很慢,因此所有通信过程中的加密都是在手机上面完成的,这样一来,除非天下所有 GSM 手机都至少支持一种相同的 A5 算法,否则没法漫游了,这时候运营商和设备商的懒惰又体现出来了,全世界目前只有一种通用的 A5 算法,没有其他的,这个算法是和 Kc 的 8 字节序列进行简单的循环 XOR,再和报文序号做个减法。    上面只是简单的介绍 GSM 的加密通信过程,实际上 GSM 的操作比这个还要复杂一些,比如除了次登录时候用真正的 IMSI ,之后都是用商定的临时标识 TMSI。  下面还有时间给大家科普下为什么手机卡可以被复制?  从上面的介绍中,不难看出,要完成一次登录过程,IMSI 和 Ki 是必不可少的,A3 算法也需要知道,这其中, IMSI 是直接可读的,但是 A3 算法和存在你的卡里面的数据,都是不知道的,手机只是简单的把 RAND 给 SIM 卡, SIM 卡把算好的数据返回。实际设备中使用的 A3 算法被作为高级商业机密保护起来。但是世界上没有不透风的墙,在 1998 还是 1999 年的时候,有人从哪里偷到了几页纸的相关文档,然后把这文档输入了电脑。后来这个文档落到了加州伯克力几个教授手里面。这个文档里面缺少一些东西,而且还有写错的地方,这几个牛教授们拿一个 SIM 卡比对了一阵子,把缺的补上了,错的也给修正了,于是这个算法成为了世人皆知的秘密。这个算法又被叫做 Comp128 ,他同时生成 SRES 和 Kc ,代码在这个文件里面。  http://kangkang.org/wordpress/wp-content/uploads/2006/06/a3a8.txt  光有了算法还是不能够得到在 SIM 卡里面保存的 Ki, 理论上面是可以把 SIM 卡拆了,然后把芯片接到特殊设备上面来读出 Ki ,但是这个听起来像用小刀在硬盘上面刻操作系统一样不靠谱。于是很多有志之士开始了对 Comp128 算法的攻击,在一开始大家想到的肯定是穷举,不过这个 GSM 的设计者也想到了,SIM 卡里面有个逻辑是一共只能查询 2^16 次左右,之后卡会自杀,让XX者啥都得不到。因此研究者们试图在可以接受的次数之内通过构造特定明文和分析输出秘文来分析出 Ki 的值,结果还真被大家发现出来了一些。在下面这个 pdf 里面有一些相关的内容介绍,IBM 的一个小组甚至用 6 次查询可以彻底解出 Ki,当然现在外面卖的那种拷卡器肯定没有这么牛,但是看表现似乎都可以在几分钟之内XX 。  http://kangkang.org/wordpress/wp ... Brumley-comp128.pdf  随着时间的推移,针对 Comp128 的XX算法越来越成熟,商用的卡复制设备也越来越多,运营商们终于坐不住了。很多运营商都开始发行 Comp128 v2 加密算法的卡了。这其中包括中国移动,我看了一下论坛上面的帖子,大部分都是在反映 05 年的新卡基本都没法用 simscan 之类软件读出 Ki 。Comp128 v2 算法是 GSM 协会在 v1 被攻破以后,迅速在 v1 上面修改得来的结果,据说比较好的解决了 v1 算法中的弱点,当然,这个算法像 v1 一样,还是不公布于众。而且到现在也没有人公布出来。这样一来,基本没法解了。现在网上面很多拷卡设备厂商说的正在研发 v2 解码,我觉得基本是扯淡,这个既要有足够内线,能从设备商那里盗窃到 v2 的算法库或者从其他位置盗窃到文档,还要有足够数学实力,能够找出算法漏洞。
    在通信过程中的加密是用 Kc 了,这个算法叫做 A5 ,因为 A5 的加密量很巨大,而且 SIM 卡的速度很慢,因此所有通信过程中的加密都是在手机上面完成的,这样一来,除非天下所有 GSM 手机都至少支持一种相同的 A5 算法,否则没法漫游了,这时候运营商和设备商的懒惰又体现出来了,全世界目前只有一种通用的 A5 算法,没有其他的,这个算法是和 Kc 的 8 字节序列进行简单的循环 XOR,再和报文序号做个减法。
    
 
    上面只是简单的介绍 GSM 的加密通信过程,实际上 GSM 的操作比这个还要复杂一些,比如除了次登录时候用真正的 IMSI ,之后都是用商定的临时标识 TMSI。
 
    下面还有时间给大家科普下为什么手机卡可以被复制?
 
    从上面的介绍中,不难看出,要完成一次登录过程,IMSI 和 Ki 是必不可少的,A3 算法也需要知道,这其中, IMSI 是直接可读的,但是 A3 算法和存在你的卡里面的数据,都是不知道的,手机只是简单的把 RAND 给 SIM 卡, SIM 卡把算好的数据返回。实际设备中使用的 A3 算法被作为高级商业机密保护起来。但是世界上没有不透风的墙,在 1998 还是 1999 年的时候,有人从哪里偷到了几页纸的相关文档,然后把这文档输入了电脑。后来这个文档落到了加州伯克力几个教授手里面。这个文档里面缺少一些东西,而且还有写错的地方,这几个牛教授们拿一个 SIM 卡比对了一阵子,把缺的补上了,错的也给修正了,于是这个算法成为了世人皆知的秘密。这个算法又被叫做 Comp128 ,他同时生成 SRES 和 Kc ,代码在这个文件里面。
 
    http://kangkang.org/wordpress/wp-content/uploads/2006/06/a3a8.txt
 
    光有了算法还是不能够得到在 SIM 卡里面保存的 Ki, 理论上面是可以把 SIM 卡拆了,然后把芯片接到特殊设备上面来读出 Ki ,但是这个听起来像用小刀在硬盘上面刻操作系统一样不靠谱。于是很多有志之士开始了对 Comp128 算法的攻击,在一开始大家想到的肯定是穷举,不过这个 GSM 的设计者也想到了,SIM 卡里面有个逻辑是一共只能查询 2^16 次左右,之后卡会自杀,让XX者啥都得不到。因此研究者们试图在可以接受的次数之内通过构造特定明文和分析输出秘文来分析出 Ki 的值,结果还真被大家发现出来了一些。在下面这个 pdf 里面有一些相关的内容介绍,IBM 的一个小组甚至用 6 次查询可以彻底解出 Ki,当然现在外面卖的那种拷卡器肯定没有这么牛,但是看表现似乎都可以在几分钟之内XX 。
 
    http://kangkang.org/wordpress/wp ... Brumley-comp128.pdf
 
    随着时间的推移,针对 Comp128 的XX算法越来越成熟,商用的卡复制设备也越来越多,运营商们终于坐不住了。很多运营商都开始发行 Comp128 v2 加密算法的卡了。这其中包括中国移动,我看了一下论坛上面的帖子,大部分都是在反映 05 年的新卡基本都没法用 simscan 之类软件读出 Ki 。Comp128 v2 算法是 GSM 协会在 v1 被攻破以后,迅速在 v1 上面修改得来的结果,据说比较好的解决了 v1 算法中的弱点,当然,这个算法像 v1 一样,还是不公布于众。而且到现在也没有人公布出来。这样一来,基本没法解了。现在网上面很多拷卡设备厂商说的正在研发 v2 解码,我觉得基本是扯淡,这个既要有足够内线,能从设备商那里盗窃到 v2 的算法库或者从其他位置盗窃到文档,还要有足够数学实力,能够找出算法漏洞。



本文链接:http://ssl.zzidc.com/chanpinzixun/2016/0214/339.html

关键字:gsm加密算法

若无特别注明,文章皆为景安网络原创,转载请注明出处。

域名1元

 
返回顶部

联系我们

SSL产品
24小时客服热线:

4006-598-598

0371-9618961