论文部分内容阅读
侧信道分析(Side Channel Analysis,SCA)是一种对密码芯片新兴的密码分析方法,主要利用密码算法在芯片上执行时泄漏的物理信息,从而提取加密设备中的敏感信息。SCA中的功耗分析方法发展迅速,已经成为一种强大的侧信道攻击方法,对密码设备的安全造成了巨大的威胁。因此,保护密码设备免受SCA侵害的能力逐渐成为信息安全行业的首要要求。本文研究了分组密码AES算法的侧信道分析方法和实现方案,主要工作和研究成果如下:本文首先介绍了侧信道攻击的原理、传统的功耗分析方法,和侧信道功耗分析的防御方法。相比于传统相关功耗分析方法,从信息论的角度来看模板攻击方法是一种很有力的攻击方法。本文重点分析了模板攻击的原理和攻击步骤,并在此基础上,将模式识别方法(机器学习、深度学习)应用到侧信道分析领域中。本文搭建了基于AES算法的软件实现的功耗采集和分析平台,并对采集的功耗信号预处理方法进行了研究。在前人在信号滤波的方法的研究基础上,结合密码设备泄露的功耗曲线特点,提出了一种基于EEMD-小波变换相结合的降噪方法。通过实测功耗信号进行相关能量分析攻击(CPA)实验,将其和传统的数字滤波方法、小波变换方法进行对比,实验结果表明,本文提出的功耗信号预处理方法降噪效果更好,信号有用特征保留较多,这对功耗信号信噪比比较低时,实际应用意义更大。本文在对传统模板攻击研究的基础上,将机器学习中的主成分分析和支持向量机(SVM)结合起来,提出一种PCA-SVM的攻击方法,并将深度学习中的卷积神经网络应用到功耗分析中,搭建卷积神经网络(CNN)模型。利用搭建的分组密码算法实验平台采集AES-128算法软件实现的功耗曲线,选取算法首轮S盒的输出为中间值,采用汉明重量功耗模型,然后将传统模板攻击、SVM类模板攻击模型、PCA-SVM模型和CNN模型分别进行训练和测试。实验结果显示,CNN模型在功耗曲线有限的情况下,准确率要远高于传统模板攻击,略低于SVM类模板攻击,但是该模型算法的时间和空间复杂度最低,对功耗曲线数量的依赖程度不大。本文对AES算法掩码防御方案进行研究,并将CNN模型应用到对AES算法防御方案的能量分析攻击中。针对DPA Contest V4的功耗曲线进行实验验证,该功耗曲线是AES-256算法的RSM掩码实现。首先利用CNN模型进行掩码偏移量offset破解,然后对S盒输入中间值使用汉明重量模型进行类模板攻击。