代数旁路攻击将代数攻击和旁路攻击方法相结合,利用代数方法构建密码算法布尔方程组和加密中间状态的低次多元多项式,利用旁路攻击手段获取加密中间状态值,并作为代数方程组的输入或低次多元多项式的输出,可降低代数攻击复杂度、克服旁路攻击通用性较差等缺陷,已对密码算法安全性构成威胁。本课题以DES、AES及PRESENT等典型分组密码算法为攻击对象,研究其代数方程组和低次多元多项式的构建方法;针对密码算法在微处理器上的软件实现和在微控制器/FPGA等上的硬件实现,搭建实验平台;研究密码算法时间、功耗、电磁、故障等旁路信息的采集与预处理技术;基于旁路信息泄露模型,研究将旁路信息与代数方程组求解相结合的方法;开展攻击实验,实现密钥破解,验证攻击有效性;研究实际密码系统的代数旁路攻击技术,验证攻击适用性;对分组密码抗代数旁路攻击能力进行安全性评估,提出有效的防御措施。
Cryptographic algorithm;Security evaluation;Side-channel cube attack;Algebraic side-channel attack;Algebraic fault attack
分组密码是密码学的重要组成部分,是实现信息保密的核心体制,其安全性分析也一直是密码学研究中非常活跃的课题。以微处理器为代表的密码算法软件实现平台和以微控制器、FPGA等为代表的硬件实现平台在民用基础设施和军用武器装备中得到了广泛的应用。针对这些平台中泄露的旁路信息,进行代数旁路攻击研究,可在复杂实际环境下进行密钥破解,也可有效评估密码算法设计和实现的安全性,对于保障信息安全具有重要意义。课题组查阅了大量的文献资料,开展了深入的理论分析和研究,进行了细致的攻击实验,取得了预期成果,具体包括(1)研究了分组密码攻击基础,找到了分组密码整体结构及典型操作等效代数方程组构建及自动化求解方法,并成功搭建了旁路信息采集平台。(2)建立了旁路立方体攻击的相关模型,提出了四种优化的分析策略,改进了现有多个典型分组密码的旁路立方体攻击方法,并在硬件实现环境下对改进后的攻击方法的有效性和适用性进行了研究。(3)建立了代数旁路攻击的相关模型,提出了攻击量化评估方法,改进了现有多个典型密分组码代数旁路攻击方法,突破了容错代数旁路关键分析技术,将攻击范围扩展至噪声存在的实际密码硬件实现环境,并进行了真实物理实验,验证了方法的有效性和适用性。(4)给出了代数故障攻击框架,突破了传统差分故障攻击方法瓶颈,提出了一种故障位置未知场景下的故障差分表示方法,改进了现有多个典型分组密码的故障攻击方法,实现了密码分析的自动化、通用化,并深入挖掘代数故障攻击优势,实现了对密码算法未知部件的局部逆向研究。(5)研究了流密码故障攻击及代数故障攻击方法、公钥密码Cache攻击方法,探究了协议未知场景下的加密比特流识别方法,扩展了研究成果的适用对象和应用场景。本课题实验研究中总结的直接经验和理论研究中建立形成的模型方法,对密码分析技术领域的创新有一定的借鉴意义,为后续研究提供了新思路、新途径,具有重要意义。