如果你还在使用基于早期信号标准的GSM手机,那么你最好在使用手机的过程中小心一点了。因为根据国外媒体的最新报道,安全研究专家通过测试发现,他们只需要使用三张NVIDIA GeForce GTX690显卡(GPU)就可以破解GSM A5加密算法。

A5加密算法是何物?

A5算法在1989年由法国人开发,它是一款主要用于GSM系统的序列密码算法。A5加密算法用于对那些从移动电话到基站的通信连接进行加密,该算法先后有三个版本,分别为A5/1、A5/2和A5/3,如果没有特别说明,通常所说的A5指的是A5/1。关于GSM加密的问题,有些人认为密码的安全问题将阻碍GSM手机的推广;另一些人则认为A5加密算法的强度太弱,无法抵抗一些情报机构的窃听。A5加密算法的特点是效率高,适合在硬件上高效实现,而且它能也通过已知的统计检验。

总之,A5加密算法的基本思路并没有什么问题,而且它的执行效率非常高。但是从密码学和安全性的角度出发,这个算法就存在很多的安全问题了。

GSM通信加密存在严重的安全问题

近期,一群来自新加坡科技研究局(A*STAR)的安全研究专家表示,在普通GPU处理器的帮助下,他们可以在几秒钟之内破解GSM移动数据所采用的加密算法。实际上,人们早在2009年就已经知道A5/1加密算法中存在严重的安全问题了。

由于当初在2G通信技术正式投入使用之前,相关部门对2G通信加密中存在的安全问题一直不予披露,而且考虑到保密性,所以这些加密算法也没有提交给同行进行安全审核,所以才导致了目前的这种状况存在。其中,A3加密算法专门用于身份验证,A5加密算法专门用于信息加密,A8加密算法专门用于密钥生成。

GSM只会对访问网络的用户身份进行验证。因此,通信的加密安全层只能够提供数据保密和身份验证功能。但需要注意的是,这是一种功能有限的身份验证,因为它并不具备不可否认性这种特征。为了实现通信的安全,GSM采用了多种加密算法。比如说,GSM使用了A5/1和A5/2这两种流密码来确保用户语音通话数据的安全。但是,这两种加密算法中却存在严重的安全问题,攻击者可以通过下面这两种方法破解这两个加密算法:

1.通过实时的唯密文攻击来破解A5/2;

2.通过彩虹表攻击破解A5/1;

GSM中主要存在的一些安全问题如下:

1.通过固定网络传输的通信数据没有受到加密保护;

2.无法抵御某些主动攻击;

3.只有连接至安全的固定网络才可以保证GSM的通信安全;

4.GSM中的合法拦截只是一种事后补救措施;

5.终端识别码不可信任;

单纯从技术的角度出发,3G通信网络弃用了不安全的A5/1流密码,转而使用KASUMI分组密码【维基百科传送门】,但是KASUMI分组密码中同样存在很多严重的安全问题。

破解GSM的A5/1加密算法

来自新加坡科技研究局(A*STAR)的信息通信安全专家JiqiangLu解释称:

“GSM使用了一种名为A5/1的流密码来保护通信数据的安全,而A5/1使用了一个64位的密钥和一种十分复杂的密钥流生成器来抵御一些基本的攻击,例如密钥穷举和基于字典的暴力破解攻击。”

首先,安全研究人员利用了GSM通信加密中的两个安全漏洞,并且在普通商用硬件的帮助下,花费了55天的时间计算出了一个彩虹表。据了解,这个彩虹表的大小为984GB。得到了彩虹表之后,安全专家就可以在短短的九秒内确定用于加密通信数据的密钥了。

我们可以看到,这种新型的攻击方式不仅极大程度地提升了传统暴力破解攻击的成功率,而且还大大降低了计算密码和攻击所需的时间。

Jiqiang Lu补充说到:

“我们在攻击过程中使用了一个彩虹表,这个彩虹表是通过离线迭代计算生成的,它包含有密钥和其相对应的输出密码。当攻击者在攻击过程中接收到了输出数据之后,他就可以通过识别彩虹表中密钥和密码的对应关系来确定输出数据的有效性。”

在测试设备方面,安全研究人员使用的是一台由三块NVIDIAGeForce GTX 690显卡GPU所组成的计算装置,这个装置的成本约为一万五千美金。

安全研究专家在其发表的白皮书中写到白皮书】:

“我们在实验过程中使用了一台由三张NVIDIAGeForce GTX690显卡所组成的通用图形处理单元(GPGPU)计算机,这台计算机的总成本约为一万五千美金。我们花费了55天的时间计算出了一个彩虹表,在这个彩虹表的帮助下,我们只需要九秒钟的时间就可以通过在线攻击来破解A5加密算法了。

在事先获取到4个密钥序列的情况下,破解成功率为34%;如果能够事先获取到8个密钥序列,那么破解成功率就可以达到56%,其中每个密钥序列长度为114位。如果能够使用两个这样的彩虹表来进行攻击,那么在事先得知8个密钥序列的情况下,我们9秒内的在线攻击成功率将高达81%。

实验结果表明,A5/1加密算法确实非常的脆弱,因此GSM应该立即停止使用这种加密算法。”

*参考来源:securityaffairs

普通硬件就能破解GSM A5加密算法的更多相关文章

  1. 剖析 GSM 加密机制以及位置更新的过程

    你有没有想过打开手机时会发生什么?它是如何以安全的方式与网络进行通信?几乎所有人都知道TCP / IP,并且可能许多人还是专家,但是谈到电信方面,很少有人知道它的内部原理. gsm中的消息结构是什么? ...

  2. GSM Hacking Part② :使用SDR捕获GSM网络数据并解密

    0×00 在文章第一部分 GSM Hacking Part① :使用SDR扫描嗅探GSM网络 搭建了嗅探GSM流量的环境,在第二部中,我们来讨论如何捕获发短信以及通话过程中的流量,从捕获到的数据中解密 ...

  3. GSM嗅探

    GSM初探 大家应该都听说过HTTP协议,又听说WEB服务,每一个服务的背后都有一个协议在工作着.所谓的没有规矩不成方圆,说的就是这个道理,每一个细小的部分,都已经规定好,只要按照协议执行,就不会出现 ...

  4. 常见加密算法C#实现(一)

    前言:最近项目中需要用到字符串加解密,遂研究了一波,发现密码学真的是博大精深,好多算法的设计都相当巧妙,学到了不少东西,在这里做个小小的总结,方便后续查阅. 文中关键词: 明文(P,Plaintext ...

  5. Office密码破解工具最好用的是哪款

    很多的用户朋友设置密码的office文档一般都含有比较重要的信息.因此,忘记密码在破解的过程中非常重视安全保密性.现在有很多款office密码破解工具,很多的用户朋友不知道用哪一款比较好,其中Adva ...

  6. 使用RSA非对称密钥算法实现硬件设备授权

    一.硬件设备授权 即用户在硬件设备输入一个序列号(或一个包含授权信息的文件),然后硬件设备便可正常使用.    二.授权方案 构思授权方案时,参考了下面网址的思路: http://bbs.csdn.n ...

  7. 蛙蛙推荐:WEB安全入门

    信息安全基础 信息安全目标 真实性:对信息的来源进行判断,能对伪造来源的信息予以鉴别, 就是身份认证. 保密性:保证机密信息不被窃听,盗取,或窃听者不能了解信息的真实含义. 完整性:保证数据的一致性, ...

  8. 【腾讯Bugly干货分享】iOS黑客技术大揭秘

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/5791da152168f2690e72daa4 “8小时内拼工作,8小时外拼成长 ...

  9. iOS黑客技术相关

    在黑客的世界里,没有坚不可破的防护系统,也没有无往不胜.所向披靡的入侵利器,有时候看似简单的问题,破解起来也许花上好几天.好几个月,有时候看似很 low 的工具往往能解决大问题:我们以实现微信自动抢红 ...

随机推荐

  1. LabVIEW之生产者/消费者模式--队列操作 彭会锋

    LabVIEW之生产者/消费者模式--队列操作 彭会锋 本文章主要是对学习LabVIEW之生产者/消费者模式的学习笔记,其中涉及到同步控制技术-队列.事件.状态机.生产者-消费者模式,这几种技术在在本 ...

  2. WAP站点(IIS/Apache)的服务器设置

    Server 端的设置IIS服务器:为了使IIS支持WAP(WML)页面的发布,在IIS的Web站点的属性 / HTTP信息中设置WAP的MIME属性,添加如下的MIME类型:扩展名 内容类型(MIM ...

  3. 工作需求----表单select多选交互

    由于工作需求接触select框多选的情况,以下是我分享的代码,主要是进入页面默认选中.支持多选属性: 1.html内容 multiple=”multiple” 属性为多选属性 <div clas ...

  4. JavaScript的面向对象编程(OOP)(二)——原型

    关于JavaScript的原型模式,下面的是学习后的个人理解,若是有偏差,还请指出,谢谢 JavaScript原型模式 1.什么是原型? 原型是一个对象,其他的对象可以通过它实现属性的继承,所有的对象 ...

  5. C#中的@符号用法

    C#中的@符号其实有很多的用法,我们来看看@有什么神奇之处. 1.限定字符串 用 @ 符号加在字符串前面表示其中的转义字符“不”被处理. 如果我们写一个文件的路径,例如"D:/文本文件&qu ...

  6. linux 硬盘速度测试

    [root@iZ25oat874uZ data]# time dd if=/dev/zero of=/var/test bs=8k count=1000000 1000000+0 records in ...

  7. C# 自动生成代码API文档

    暂时没学会正规的转载style临时记录一下 NET中的规范标准注释(一) -- XML注释标签讲解 http://www.cnblogs.com/mq0036/p/3544264.html NET中的 ...

  8. MySQL中如何查看“慢查询”,如何分析执行SQL的效率?

    一.MySQL数据库有几个配置选项可以帮助我们及时捕获低效SQL语句 1,slow_query_log这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句. 2,long_query_time ...

  9. curl --connect-timeout 判断国内外网络windows 批处理

    1.下载编译curl curl 下载地址:http://curl.haxx.se/download.html ,下载后解压到一个目录,使用vs开发者工具里的 “Visual Studio 命令提示(2 ...

  10. java IO之AutoCloseable,Closeable和Flushable接口

    有3个接口对于流类相当重要.其中两个接口是Closeable和Flushable,它们是在java.io包中定义的,并且是由JDK5添加的.第3个接口是AutoColseable,它是由JDK7添加的 ...