论文部分内容阅读
智能卡(Smart Card)在近几十年内发展迅速,已经从开始的简单识别卡发展为现在的集成电路卡片,其主要技术手段为使用电子集成电路嵌入卡底,通过软件与硬件的配合控制完成信息的输入输出、存储和处理等。目前智能卡广泛应用在通信、金融、社保等各种领域,随着现代化进程的加快,智能卡的普及度也在稳步提升,对于智能卡的加密措施是保证其安全的重要手段,在加密算法中RSA算法以高安全性著称,为了提升RSA算法运行速率,将中国剩余定理(CRT)引入到RSA算法中形成新的RSA-CRT算法。在信息对抗领域,层出不穷的针对智能卡的攻击手段也是令智能卡工作者十分头痛的问题。在众多智能卡攻击手段中,流行度和性能最高的为差分能量分析攻击(DPA),依赖数据或者密码设备指令操作与能量轨迹图之间的相关性完成攻击。研究DPA攻击原理,实现针对性的防御策略对于保护智能卡安全具有重要意义。本文主要工作为:1、分析RSA算法以及RSA-CRT算法基本原理;2、详细分析能量分析攻击的攻击基础、简单能量分析和差分能量分析攻击手段以及DPA攻击中针对RSA-CRT算法的三种攻击方法;3、在软件级别实现了针对智能卡RSA-CRT算法的抗DPA攻击策略,提出三步掩码方案,该方案包括明文盲化、指数掩码和重组随机化三步。不同于以往的单一防御手段,三步掩码的方法通过掩码技术手段提升RSA-CRT算法中在模余、求幂和重组三个计算步骤中的抗DPA攻击能力,实现RSA-CRT算法的全面防御;在掩码设计方面,通过数学定理的推导,设计出不需要进行掩码去除操作的掩码方法,能够降低算法复杂性、缩短算法运行时间。实验表明,与现有的其他防御方法相比,本文提出的三步掩码方法能够很好的实现基于RSA-CRT算法的智能卡对于DPA攻击的防御。