论文部分内容阅读
与软件加密相比,硬件加密具有运行速度更快,保密性更强的优点,所以硬件加密设备已在通信、金融和信息安全等领域中得到广泛的应用。但是硬件加密设备运行时必须消耗能量,整个能量消耗过程可以通过电流或电压的变化反映出来。这种能量消耗包含了设备当前正在处理的数据的信息,而这些数据又与加密密钥有关,所以攻击者可以通过测量并分析能量消耗数据破解密钥,突破硬件加密系统,这种攻击被称为能量分析攻击,它是一种强有力的密码分析新方法。Rijndael算法属于迭代型分组密码,其开发者是比利时密码专家Joan Danmen和Vincent Rijmen。在2000年10月,Rijndael算法取代高级加密标准DES算法成为被美国商业部采用的新一代分组密码算法高级加密标准(AES),并在数据保护领域内被广泛应用,因此AES算法的安全性和可靠性倍受重视。目前,在国外已有一些关于使用能量分析攻击AES的论文公开发表,但国内的研究成果并不多见,所以本文将AES算法作为研究能量分析攻击的目标算法,一方面验证已有成果的正确性,为建立自己的知识体系打基础,另一方面探索新的能量分析攻防方法和研究思路。本文以固定值掩码方法为基础,针对它不能抵抗二阶差分能量分析攻击的弱点做出改进,提出了抵抗二阶差分能量分析攻击的改进算法——EFVM II算法的两个方案,并分析了它们的安全性能和执行性能。EFVM II算法方案一主要改进了固定值掩码的应用方式,在对一部分明文加密时不使用掩码,这样就减弱了产生掩码的能量消耗与加密明文时的能量消耗之间的相关性,使攻击者用二阶差分能量分析攻击无法获得正确的密钥;方案二将攻击者关注的指令执行时刻随机化,使他无法准确选定攻击点,从而达到防御二阶差分能量分析攻击的目的。本项目的另一个工作是设计能量分析攻击仿真软件。用软件仿真能量分析攻击可以在加密芯片的设计阶段评估设计方案的抗能量分析攻击性能,提高工作效率,降低开发时间和开发成本,具有很高的实用价值。此软件用C++语言编写,已经实现了仿真原始AES算法,加入固定值掩码的AES算法的简单能量分析攻击,一阶异或DPA攻击和一阶S盒DPA攻击的功能,经测试得到的仿真结果与理论分析出来的攻击结果相符合,实现了本软件的设计目标。