论文部分内容阅读
科技的进步,推动着集成电路技术和密码学的快速发展。智能卡芯片就是集成电路设计和密码学相结合的产物。智能卡不仅应用于金融,医疗,电力,通信等日常的生产生活中;也同时在关系着国家安全的重点领域如航天,情报等有着举足轻重的作用。智能卡的广泛应用迫使其芯片的安全防护性能需要得到相应的提升。当今密码芯片面临的主要威胁是侧信道的攻击。侧信道于1996年提出,在短短的十几年时间内得到了快速的发展,已经成为密码学和电路学交叉融合发展的一个热点方向。本论文主要结合智能卡,尤其是金融IC卡蓬勃发展的背景,研究针对分组密码算法的故障攻击和防御措施。主要完成了以下工作:首先,基于故障灵敏度的分析原理,提出了零值模型的攻击方法,对掩码实现S-box的AES算法进行了具体的攻击实验。实验结果表明,零值方法与传统的故障灵敏度方法相比最显著的优势在于只需要256次明文加密即可破解出AES S-box的子密钥K,省去了密钥猜测的212计算量。其次,利用同时正确错误率建立两个S-box的攻击模型,提出了用于攻击带有掩码的AES算法的模板攻击方法,并实现了具体的攻击实验。在此基础上,本文又提出了两种改进的模板攻击方案,使模板建立复杂度分别下降为1/256和9/256,其中改进方案二的模板匹配效率比原始方法提高了86.3%。另外,本文搭建了正确错误碰撞率实验模型,进行了故障灵敏度的高效碰撞攻击实验。实验仅需耗时0.1s的256次加密和1字节的存储空间,就可以找到碰撞值,效率和其他方法相比显著提高。最后,在故障攻击理论研究的基础上,结合金融IC卡具体的应用情景,以金融IC卡中应用的3DES加密算法为研究对象,提出了总共6种两大类的抗故障攻击措施,并对其中故障攻击措施的开销进行了优化。其中4种应用校验方式的方法检测成功率都达到100%;使用了汉明码校验方法后,检测成功率从原始的68.1%提升到98%。本文以故障攻击为切入点,深入研究了针对分组密码算法的故障灵敏度攻击的方法;并以此为基础提出了抗故障攻击的防御方案,为金融IC卡的设计提供了很好的参考价值。