论文部分内容阅读
GSM作为全球应用最广泛的移动通信系统,具有与3G中WCDMA系统平滑衔接的特性,其安全性备受关注。移动通信系统的安全性研究具有重要的现实意义。由于无线信号的开放性和认证机制的单向性,GSM系统容易受到攻击。根据所采用的手段不同,对GSM系统的攻击主要分为被动攻击和主动攻击。被动攻击是主动攻击的基础,而主动攻击则是在实际中利用被动攻击手段进行攻击,因此本文主要关注被动攻击。GSM系统的被动攻击主要研究的是对加密算法的攻击。本文针对基于反馈移位寄存器的流密码算法A5/1算法和基于分组密码KASUMI的OFB方式的流密码算法A5/3的分析分别进行了研究,主要取得结果如下:第一,证明了A5/1算法状态空间缩减性质,给出了推广模型下不同阶的状态空间缩减序列之间的近似表达式。通过对A5/1算法转移函数的研究,证明了状态空间缩减性质的近似表达式,为A5/1算法攻击研究给出理论支持。第二,提出了基于FPGA和ASIC硬件平台的猜定算法A5/1算法实时攻击方法,并分析了攻击方法的计算复杂度,给出了在FPGA平台上的实验结果和ASIC平台上的模拟结果。结合A5/1算法本身固有的状态空间收敛的性质,成功的将人们普遍认为的计算复杂度较高的猜定方法改进成能够达到实时攻击的方法。基于此攻击方法利用ASIC平台,无需进行预计算,数据条件只需1帧密钥流数据,破译率在不考虑误码率的情况下是100%,平均破译时间可达到2秒左右。第三,提出了基于A5/1算法状态空间收敛性质和可变可辨点的多表瘦彩虹表模型;给出了模型的成功率、平均链长,存储空间和预计算时间、实时阶段运算时间及查表次数等表达式;通过时间、空间、数据之间折衷,迭代函数中步长和状态空间缩减比例之间折衷,在FPGA硬件平台下,根据预计算时间,存储空间大小和实时阶段实时性要求的限制下对参数进行了选择。在此参数确定方法下,可以在预计算阶段利用32个FPGA芯片一个月时间内完成2T的数据表计算;在实时计算阶段利用16个芯片,实现实时破解A5/1算法平均时间只需1秒,破解成功率为99%以上。并且使用FPGA平台无论是预计算阶段还是实时计算阶段相对于使用GPU的方法功耗都大幅降低。比较德国学者Nohl在2010年黑帽大会上公布的结果,本文的方法有明显的优势。第四,利用代数攻击的方法改进了A5/3算法错误注入攻击的结果。通过对两种错误注入情况进行分析,分别提出了代数攻击方法,对于第一种通过错误注入减少运行轮数的情况,利用代数攻击可以在几秒内找到使用的密钥;对于第二种情况,通过1比特的错误注入以及233次KASUMI算法加密找到使用的对应密钥。因此得出KASUMI算法在基于代数方法的错误注入攻击下是非常脆弱的。第五,提出了KASUMI算法的高阶差分代数攻击方法。通过对分组密码高阶差分攻击的研究,结合KASUMI算法的Feistel结构,提出了高阶差分代数攻击,利用经过修改的MiniSAT软件,可以只需219.9组选择明密文对,计算复杂度相当于237.46次KASUMI运算下求得使用128比特密钥6轮KASUMI算法单密钥条件下的密钥。