论文部分内容阅读
随着计算机和网络技术的飞速发展,信息安全问题成为研究的重要课题。传统密码学是以黑盒模型为基础的,即假定攻击者最多可以访问输入的明文和输出的密文,无权访问算法实现的执行过程。但在实际应用中,这种攻击模型通常是不现实的。因为终端平台经常位于潜在的恶意环境中。恶意攻击者可通过主动监视标准的加密函数或通过内存转储,在算法运行过程中恢复密钥信息。这种攻击环境被称为白盒攻击环境(White-Box Attack Context)--攻击者可以完全控制其执行环境,可观察或执行密码软件从而容易地提取出密钥信息或利用其他关键信息。针对这种攻击环境,2002年Chow等人提出了分组密码AES和DES的白盒实现算法,这是一种软件实现。主要思想是将密钥信息隐藏在查找表中,攻击者很难从中提取出密钥信息。借鉴于这种思想2014年苏帅等人提出了分组密码CLEFIA的白盒实现算法。CLEFIA是2007年由sony公司研究院提出的一个分组密码算法。本文主要对苏帅等人提出的CLEFIA白盒实现算法进行了安全性分析并针对该算法中存在的不足进行了改进,提出了一种新的CLEFIA白盒实现算法。主要研究内容包括如下:(1)通过对苏帅等人的CLEFIA白盒实现算法的研究与分析,发现其安全强度主要取决于用于混淆每个查找表输出的32比特随机数据的安全性。并利用类似于白盒算法通用攻击的分析方法对其进行分析,说明该算法在白盒环境中不能确保其安全性。攻击方法的主要思想是通过恢复CLEFIA白盒实现算法中每一轮的输出编码及输入解码和密钥的异或值。并根据该算法泄露了第18轮输入解码值的缺点,对所有奇数轮及第二轮进行分析恢复出白化密钥WK0和WK1及第二轮轮密钥RK2和RK3。最后,根据分组密码CLEFIA的密钥调度算法恢复苏帅等人提出的CLEFIA白盒实现算法中的主密钥。该攻击方法的时间复杂度不超过2.5?22 9。(2)对苏帅等人提出的CLEFIA白盒实现算法的优缺点进行分析。并针对其不足,提出了一种改进的CLEFIA白盒实现算法,该算法采用随机的可逆仿射变换作为内外部编码,提升了恢复输出解码和输入解码线性部分的时间复杂度。同时将128比特数据扩展为192比特数据参与运算,扩展出的64比特数据是为了将两轮之间不发生变化的64比特数据重新进行编解码,提高改进算法的白盒多样性和安全性。改进后的CLEFIA白盒实现算法占用内存空间大小为506.5KB,并且对改进算法的安全性进行了分析,说明该方案具有较好的安全性。