我们不知道的秘密? 黑客可以使用硬件破解GSM A5加密算法


    GSM是一个当前由3GPP开发的开放标准,也就是大家所熟悉的“全球通”。如果你还在使用基于早期信号标准的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应该立即停止使用这种加密算法。”