针对DES密码芯片的CPA攻击仿真设计方案
摘 要: 为研究密码芯片抗功耗分析性能,构造了一个功耗分析研究平台,结合DES算法在平台上进行了相关性功耗分析(CPA)攻击仿真实验。根据猜测部分密钥时的模拟功耗与猜测整个密钥时模拟功耗之间的相关系数大小来确定猜测密钥的正确性,由此可以确定整个密钥。这种功耗分析仿真方法,能够揭示未经防御的DES算法面临CPA攻击时的脆弱性。
随着Interne的迅猛发展,智能卡、掌上电脑和移动电话的不断普及应用,不犯罪分子就利用网络对别人进行信息的偷盗,人们需要对一些信息隐私进行保护,因此信息安全问题日益突出。近年来,出现了一种新的攻击方法,通常被称为旁道攻击。它是根据密码芯片在加解密时所泄漏的一些微弱的旁道信息,如功耗、时间、电磁辐射及差错信息等进行攻击。攻击者利用旁道泄漏信息,结合统计学等学科的知识,能够在短时间内成功破解一些密码算法的密钥。以下本文的分析结果。
在旁道攻击方法中,功耗分析方法应用得最为广泛和成熟,因为功耗信息最容易测量和分析。研究针对密码芯片的功耗分析方法是为了检验芯片是否具有抗功耗分析能力或是检验密码芯片抗功耗分析攻击能力的大小。相关性功耗分析是功耗分析中一种,相关性功耗分析每次考虑的相关位比传统的差分功耗分析多,所以更具有威胁性。
1 DES密码算法的硬件结构及功耗泄漏模型
数据加密算法(Data Encryption Algorithm,DEA)是一种对称加密算法,很可能是使用最广泛的密钥系统,特别是在保护金融数据的安全中,最初开发的DEA是嵌入硬件中的。DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算。
1.1 DES密码算法的硬件结构
DES密码算法是分组加密算法,能够对固定长度的一组明文进行加解密,如果采用ASIC方式实现,固定长度意味着运算时的中间结果所需要的存储宽度是相同的。DES密码算法的轮结构也是相同的,每轮运算可以共用一个硬件结构体,所不同的是每轮运算时所用的子密钥是不同的。DES算法的结构特点适合ASIC方式实现,其通用的硬件结构如图1所示。
在ASIC方式实现的硬件电路中,攻击者经常针对寄存器进行攻击。之所以选择寄存器攻击主要原因有:
(1)寄存器在ASIC中通常被用来做存储器,包括暂存一些与密钥相关的关键数据。
(2)与反相器、“与非门”等非时序逻辑相比较,寄存器的功耗大一些。
(3)寄存器是时钟沿触发电路,易于在时序上定位。
1.2 功耗泄漏模型
目前绝大多数密码芯片都是基于CMOS工艺,CMOS逻辑电路的动态功耗取决于逻辑门的翻转率。单个逻辑门的功耗可以表示为:
式中, f表示逻辑门最大变化率,P0→1表示0→1转换的概率,CL是逻辑门的负载电容,VDD是电源电压。功耗分析正是以式 (1)中动态功耗对数据的依赖性为理论基础的。整个电路硬件内部结构非常复杂,动态功耗取决于整个逻辑电路的整体翻转率的统计特性和电路所采用的工艺。为简单起见,可以简化地认为电路的总功耗与整体翻转率成一定的正比关系。基于这种相关性建立起来的功耗模型能够反映出当前密码算法电路所处理的数据引起的瞬时功耗的变化情况。功耗分析攻击是通过对多次测量得到的功耗曲线,进行统计分析出电路中相应数据位的变化来破解密钥的。
功耗泄漏模型一般是在寄存器级建立。攻击者经常把攻击点选在DES密码算法首轮或最后一轮的寄存器输出处,记输出时刻为t,则瞬时能耗T(t1)如下:
式中,D0(t0)代表寄存器中在前1个时刻t0所存储的二进制序列, D0(t1)代表寄存器中在下1个时刻t1所存储的二进制序列,δ代表转换时的1个因子。通过比较前后时刻相应码字的变化,当码字由0→1时,总模拟功耗值加1;当码字由1→0时,总模拟功耗值加1×(1-δ)。δ的大小根据算法实现的平台统计分析得到,对于一般的CMOS逻辑电路,δ通常取值为0.17。
2 CPA攻击原理
功耗模型一般是基于所处理数据的线性汉明距建立。如1.2节所述的瞬时功耗为:
式中所示的相关系数说明部分密钥位猜测正确时,中间计算结果与加密器件的瞬时功耗在被攻击时刻能够关联起来,对应时刻的相关系数也是最大的。而用错误的猜测密钥计算出来的中间结果与功耗之间不
仿真 设计 方案 攻击 CPA DES 密码 芯片 针对 相关文章:
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 数字频率合成器的FPGA实现(08-07)
- 基于DSP的导弹仿真器嵌入式组件设计(04-30)
- 如何将DSP和MCU两者完美结合(08-10)
- 高性能仿真器与开发包加速普及DSP应用开发(11-22)
- 基于DSP内嵌PCI总线的卫星信号仿真器设计(04-17)