故障分析凭借其攻击能力强、实现简单和难以防御等特点,已成为评测分组密码安全性的一种重要手段。目前国内外多数研究采用从分组密码算法角度出发,使用单一的故障攻击方法,完成破译密钥的唯一目的。这使得故障攻击的手段、方法、实现以及理论发展都受到较大约束和局限。本项目将结合典型分组密码的算法、结构以及工作模式等多层面,设计差分故障分析、碰撞故障分析、无效故障分析和不可能故障分析等多种故障分析的新方法及高效实现,并建立故障分析的理论模型。本研究将从本质上揭示故障攻击的基本原理,使得对故障攻击的深入和系统的研究成为可能,并为抗故障攻击的分组密码设计和实现提供理论依据。同时,对于密码器件和密码系统的防护与破译,对于增强密码装备的自主设计、开发和分析能力,都具有重要意义和价值。
cryptanalysis;fault analysis;fault detection;block ciphers;
随着集成电路、智能卡和RFID技术的发展,利用故障信息对密码算法的特定实现进行故障攻击,由于其低廉的实现代价和成功的攻击效果,已经引起了国内外密码学界和微电子学界的极大关注。我们重点围绕国际及国家分组密码标准算法、轻量级算法和典型结构等,研究了故障分析技术的评价体系、典型密码算法及结构的故障攻击方案、检测防御方法以及其它密码分析技术等内容。首先,在故障攻击的评价体系中,引入了准确性、可靠性、延迟性等定义以及相关计算方法,用于科学地度量故障分析技术的实验结果,精确地评测故障分析技术的攻击效果,从而为故障攻击技术的评估提供了客观的量化指标和技术度量。其次,提出了差分故障攻击LED算法、Piccolo算法、Serpent、GOST算法和AES算法的高效新方案,新方案说明这些算法是不能抵抗差分故障攻击的,并且给出了针对代换置换网络结构的故障攻击及防御的形式化方法与技术,用于具体密码算法抗故障攻击的安全性分析。接着,设计了一种新型的故障攻击方法—线性故障攻击方法,该方法是对已有故障攻击方法的扩展与补充;在此基础上,进一步分析了哈希函数MD5算法抗故障攻击的安全性案,从而为分析其它哈希函数的安全性提供了有价值的参考。然后,在故障检测防御方面,针对Camellia算法、SMS4算法以及CLEFIA算法,提出了抗差分故障分析的故障检测新方法,并对防御故障分析的硬件开销和时间冗余做了评估,新方法不仅针对性强、简单有效,而且软硬件实现代价更小。最后,提出了线性分析韩国官方分组密码标准ARIA算法的新方法,该方法针对7轮、9轮以及11轮简化ARIA算法,引入一种针对代换置换网络型分组密码的线性特征,从而分析轮数更多,攻击效果更优;并结合新的差分—多维线性分析方法和非线性密码分析统计模型,从而可以应用到Serpent算法的安全性分析中;在分析Camellia算法、AES算法以及LBlock算法的安全性基础上,讨论了一种不可能差分分析的新方法,新方法攻击覆盖的轮数更多,并且复杂度更低。本项研究为抗故障攻击的安全密码算法结构与实现方法提供了理论和技术依据,从而丰富和发展了现代密码分析技术体系,有力地促进了我国信息安全保障体系建设。