如果你还在使用基于早期信号标准的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. ecshop后台新功能及权限的添加

    1.在后台"推荐管理"里添加"推荐人分成"."会员分成"两个操作功能以及权限 index.php?act=menu incluedes/in ...

  2. DEV控件中GridView中的复选框与CheckBox实现联动的全选功能

    最初的界面图如图1-1(全选框ID: cb_checkall  DEV控件名称:gcCon ): 要实现的功能如下图(1-2  1-3  1-4)及代码所示: 图1-2 图1-3 图1-4 O(∩_∩ ...

  3. c++读书笔记, 零散点滴的收获

    1. 字节长度: short <= int <= long <= long long 2. wchar_t,最大扩展字符集合:char16_t.char32_t,unocide字符集 ...

  4. pwnable.kr-random

    题目 首先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand产生随机数,下面将详细说明. rand(产生随机数) 表头文件: #include 定义函数 :int ...

  5. Fortran版MPI_barrier出现错误可能情况

    在Fortran中的MPI_开头函数都常有一个整数型的错误变量用以函数返回错误信息.如: call MPI_Barrier(MPI_COMM_WORLD,ierr) 在没有ierr参数时,程序可能会出 ...

  6. (原创)如何使用selenium 驱动chrome浏览器并且打开方式为手机模式-转载请注明出处

    随着移动设备使用率的不断增加,移动页面的测试也变得越来越重要. 对于互联网公司M站的测试,如果不通过专用的appium等移动端测试工具是否还有方便快捷的办法呢?答案当然是有啊. 使用chrome dr ...

  7. Eclipse中怎么安装TestNG单元测试框架

    在进行使用的eclipse的进行开发的代码中,必然就会需要进行单元测试,在单元测试的情况提供较多的框架单元测试,例如使用junit单元测试,而在国外进行开发较好的单元测试,提供了较好的测试的报告,ju ...

  8. CentOS集群安装Tmux

    对于Linux的常用者,如果你说你不会tmux,那你就out啦~ 1. 什么是Tmux? 先来看看Tmux长什么样. tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD ...

  9. android 打包失败

    如果在打包时提示: proguard returned with error code 1   并且在控制台中输出:'java'不是内部或外部程序或批处理文件 那么就说明你的环境变量出问题了,之前用的 ...

  10. DataStructure——红黑树学习笔记

    1.前言 本文伪码和解释参考: http://blog.csdn.net/v_JULY_v/article/details/6105630 C实现的源码本文未贴出,请见: http://blog.cs ...