论文部分内容阅读
智能卡的安全不仅包括其所使用的密码算法的数学上的安全性,也包括了这些算法实现后的物理上的安全性。任何密码设备在运行时都会泄露出各种形式的信息,如功耗,电磁辐射,声音,运行时间等。边信道攻击正是一种通过统计分析密码设备运行时产生的旁路信息特征来攻击密码设备的方法。现已有很多信息安全应用系统使用智能卡保存系统所需的秘密信息,同时依靠智能卡的计算能力提升系统的安全性,智能卡正逐步取代磁卡而广泛应用于金融及其他相关产业。对于智能卡而言,既有直接根据密码算法执行的流程来设计硬件并运行的硬件实现形式,也有通过编程,并让一个中央处理器来执行指令流的软件实现形式。现在大多数对于边信道攻击的防护研究都侧重于硬件电路的防护,对于软件实现的密码系统的防护的重视还明显不够,缺少针对性的研究。而且从智能卡使用的趋势来看,未来将会更多使用软件形式实现的智能卡,称之为CPU智能卡。并选择安全等级相对高,使用更广泛的AES算法来保护CPU智能卡的安全。因此本文比较不同防护技术,针对软件实现的密码系统的特点,提出基于掩码技术的防护方案,改进普通的AES算法,以实现抗边信道攻击。主要工作如下:1)简单分析了多种抗边信道攻击的防护方案在软件实现中的可行性及效果,对比分析了硬件实现掩码防护和软件实现掩码防护的不同,并详细分析了CPU智能卡中实现掩码防护的安全性和效率问题。最终提出了具体的掩码防护方案,详细阐述了其中S盒和其他线性变化中具体的掩码措施,最后通过编码在CPU智能卡中实现了该方案。2)搭建测试算法安全性的仿真分析平台。选择搭建仿真测试平台所需的硬件环境,并把它们有机的搭建在一起。最后根据仿真测试平台的需要,运用软件工程的思想设计和实现了针对SASEBO-W电路板的功耗采集程序和针对相关系数的差分攻击(Correlation PowerAttack,CPA)的分析程序。3)利用搭建的仿真测试平台实验,与普通AES算法进行系统、全面的比较,并分析实验结果,证明本文提出方案的可行性和有效性。实验结果表明,本文提出的基于掩码技术的防护方案,与普通AES算法相比,有效的抵抗了边信道攻击中典型的CPA。