法律状态公告日
法律状态信息
法律状态
2015-08-19
授权
授权
2013-07-31
实质审查的生效 IPC(主分类):H04L9/06 申请日:20121125
实质审查的生效
2013-03-27
公开
公开
技术领域
本发明涉及一种密码器件上防御差分功耗攻击的方法,尤其是涉及一种密码器件上 防御零值功耗攻击的方法。
背景技术
差分功耗攻击(Differential Power Attack,DPA)是一种高效、低成本的密码分析方法, 对密码器件安全构成重大威胁[1-4]。为防御差分功耗攻击,近年来人们采用乘法性屏蔽 技术[5],在加密过程中引入与实际处理数据不相关的另一个变量,从而使得密码器件泄 漏的功耗信息与实际处理数据相关性大大降低,以牺牲芯片开销和速度为代价,实现防 御差分功耗攻击的目的。然而,以往改进的高级加密标准(Advanced Encryption Standard, AES)并不能抵御零值功耗攻击[6],另外随着具有认证和保密能力的便携式设备的普遍应 用,芯片面积和电路速度越来越成为安全芯片设计的挑战。因此,高速、低芯片开销的 抗零值功耗攻击电路单元设计已受到学术界的普遍重视。
字节代换(SubByte)模块是AES中唯一的非线性转换结构,其实现方式决定了AES 协处理器诸如尺寸、速度和功耗方面的性能,成为差分功耗攻击和零值功耗攻击的主要 对象[7],提高SubByte模块防护密码分析的能力对AES的安全性具有重要意义。
图1是采用乘法性屏蔽技术改进了GF(256)域求逆算法示意图,进而依此提出一种 改进型AES算法[5]。然而实践证明GF(256)域上乘法性屏蔽求逆算法存在安全漏洞,不能 防御零值功耗攻击[6]。零值功耗攻击为一种利用全零字节经乘法性屏蔽模块运算产生的 功耗与其他输入条件下的功耗存在显著差异的特点,进而采用差分功耗攻击的策略分析 出加密算法密钥[9]的密码分析技术,以图1所示GF(256)域乘法性屏蔽求逆算法结构为 例,输入字节其中p和k为AES每一轮加密算法对应的输入和密钥字 节,X为随机数,若p=k,那么有:
由此得到的功耗与p≠k条件下功耗有明显差异,攻击者仅需使用差分功耗攻击的 策略从所有可能明文中找出满足p=k的明文,即可分析出加密算法密钥中一个字节, 进而破解算法的全部密钥。
为了防御零值功耗攻击,Oswald等人结合加法性和乘法性屏蔽技术,提出了一种新 型GF(256)域上求逆算法[8]。具体过程如下:
设GF(256)域上的数据y可用GF(16)域上的线性多项式ahx+al表示,其中ah,al∈ GF(16),为线性多项式的系数,则:
y-1=(ahx+al)-1=ah'x+al' (2)
其中:
ah'=ah×d' (3)
al'=(ah+al)×d' (4)
d=(ah2×p0)+(ah×al)+al2 (5)
d'=d-1 (6)
其中p0根据从GF(256)域映射到GF(16)域生成多项式的不同而选取。
在加法性屏蔽GF(256)域求逆算法中,操作数是y+mask,其中mask为屏蔽因子。 操作数映射到GF(16)域上可表示为(ah+mh)x+(al+ml),其中mh和ml为mask在GF(16) 域线性多项式形式的系数。该GF(256)域加法性屏蔽求逆算法过程如下所示:
((ah+mh)x+(al+ml))-1=(ah'+mh)x+(al'+ml) (7)
a'h+mh=(ah+mh)(d'+ml)+(d'+ml)mh+(ah+mh)ml+mh×ml+mh (8)
a'l+ml=(ah×d'+mh)+(d'+mh)(al+ml)+(d'+mh)ml
+(al+ml)mh+ml×mh+ml+mh (9)
d+mh=(ah+mh)2×p0+mh2×p0+(ah+mh)(al+ml)
+(al+ml)2+(ah+mh)ml+(al+ml)mh+ml×mh+ml2+mh (10)
其中d'+ml=d-1+ml,可以通过GF(16)域加法性屏蔽求逆算法得到,计算过程与式 (8)~式(10)类同,唯一区别在于GF(4)域的求逆算法等价于该域上的平方运算,即 (d1+m)-1=(d1+m)2=d12+m2,其中d1,m∈GF(4)。
但是由于上述GF(256)域上求逆算法需要对运算过程中所有数据进行加法性屏蔽, 因而其计算复杂度巨大。由式(8)~式(10)可知,基于GF(256)域求逆算法的计算复杂度主 要集中在GF(16)域上的乘法运算上,文献[10]提出的改进算法通过减少GF(16)域上乘法 运算的次数,以增加一个平方运算的代价,达到减小面积和计算复杂度的目的,然而效 果并不明显。
参考文献
[1]陈开颜,张鹏,邓高明,等.物理可观测下DES的安全性研究[J].电子学报,2009, 37(11):2389-2395.
Chen K Y,Zhang P.Research on the DES Physical Observable Security[J].Acta Electronica Sinica,2009,37(11):2389-2395.
[2]臧玉亮,韩文报.线性反馈移位寄存器的差分能量攻击[J].电子与信息学报,2009,
31(10):2406-2410.
Zang Yu-liang,Han Wen-bao.Differential Power Attack on Liner Feedback Shift Register[J].Journal ofElectronics and Information Technology,2009,31(10):2406-2410.
[3]Alioto M,Poli M,Rocchi S.A General Power Model of Differential Power Analysis Attacks to Static Logic Circuits[J].IEEE Transactions on Very Large Scale Integration (VLSI)Systems,2010,18(5):711-724.
[4]Wu K,Li H,Yu F.Retrieving Lost Efficiency of Scalar Multiplications for Resisting against Side-Channel Attacks[J].Journal of computers,2010,5(12):1878-1884.
[5]Akkar M L,Giraud C.An Implementation of DES and AES,Secure Against Some Attacks[C].Proceed of the 3rd International Workshop on Cryptographic Hardware and Embedded Systems,2001:309-318.
[6]Golic J D,Tymen C.Multiplicative Masking and Power Analysis of AES[C].Proceed of the 4th International Workshop on Cryptographic Hardware and Embedded Systems, 2003:198-212.
[7]Ors S B,Gurkaynak F,Oswald E,et al.Power analysis attack on an ASIC AES implementation[J].IEEE Digital Object Identifier,2004,2:546-552.
[8]Oswald E,Mangard S,Pramstaller.A Side channel Analysis Resistant Description of the AES S-Box[C].Proceed of the 12th Fast Software Encryption Workshop,2005: 413-423.
[9]赵佳,曾晓洋,韩军,等.简化的抗零值功耗分析的AES算法及其VLSI实现[J].计 算机工程,2007,33(16):220-222,233.
Zhao J,Zeng X Y,Han J,et al.Simplified AES Algorithm of Resistant to Zero-value Power Analysis and Its VLSI Implementation[J].Computer Engineering,2007,33(16): 220-222,233.
[10]Trichina E,Seta D,Germani L.Simplified Adaptive Multiplicative Masking for AES[C]. Proceed of the 4th International Workshop on Cryptographic Hardware and Embedded Systems,2003:187-197.
发明内容
本发明所要解决的技术问题是提供一种满足所有秘密数据均被屏蔽的前提下,整个 密码器件的芯片开销显著减小,系统实现复杂度明显降低
本发明解决上述技术问题所采用的技术方案为:一种密码器件上防御零值功耗攻击 的方法,其特征在于将字节代换模块中的GF(28)有限域上的求逆运算用GF(28)域加法性 屏蔽求逆运算替代,具体过程如下:
首先在GF(28)有限域上进行求逆运算,用上标-1表示求逆运算,具体为:
将GF(28)域上的信号数据y定义为{y7,y6,y5,y4,y3,y2,y1,y0},其中yi(0≤i≤7)为十进制 的y转换为8位二进制对应第i位的系数;
将GF(24)域上的信号数据a定义为{a3,a2,a1,a0},其中ai(0≤i≤3)为十进制的a转换为4 位二进制时对应第i位的系数;
将GF(28)域上的信号数据y用GF(24)域上的变量x表示,记为线性多项式ahx+al,其 中ah,al∈GF(24),为y在GF(24)域上的线性多项式的系数,则求逆运算: y-1=(ahx+al)-1=ah'x+al',其中:ah'=ah×d',al'=(ah+al)×d', d=(ah2×p0)+(ah×al)+al2,d'=d-1,式中p0是常数,根据从GF(28)域映射到GF(24) 域生成的多项式计算得到,通过以下转换公式将G(28)域上的信号数据映射到GF(24)域 上:其中
然后进行GF(28)域加法性屏蔽求逆运算,将GF(28)域上加入屏蔽信号后的信号数据 定义为操作数y+mask,其中mask为屏蔽因子,将操作数y+mask映射到GF(24)域上,用 线性多项式表示为(ah+mh)x+(al+ml),其中mh和ml为屏蔽因子mask在GF(24)域上的线性多 项式的系数,GF(28)域加法性屏蔽求逆运算具体为: ((ah+mh)x+(al+ml))-1=(ah'+mh)x+(al'+ml),其中 a'h+mh=(ah+mh)(d'+mh)+(d'+mh)mh+(ah+mh)mh+mh2+mh, a'l+ml=(ah+mh)(d'+mh)+(d'+ml)(al+mh)+(al+mh)ml+(ah+mh)mh+ml, d+ml=(ah+mh)2×p0+mh2×p0+(ah+ml)(al+mh)+(al+mh)2+(ah+mh)mh+(al+mh)ml+ml,其中d'+ml=d-1+ml。
而GF(24)域上加法性屏蔽求逆过程为:
将GF(24)域内d'+ml映射到GF(22)域上,对应的线性多项式为bhx+bl,其中bh, bl∈GF(22);同时将GF(24)域内ml映射到GF(22)域上,同理可得ml的线性多项式形式为 dhx+dl,其中dh,dl∈GF(22),
((bh+dh)x+(bl+dl))-1=(bh'+dh)x+(bl'+dl),其中 b'h+dh=(bh+dh)(d1'+dh)+(d1'+dh)mh+(bh+dh)dh+dh2+dh, b'l+dl=(bh+dh)(dl'+dh)+(d1'+dl)(bl+dh)+(bl+dh)dl+(bh+dh)dh+dl, dl+dl=(bh+dh)2×p1+dh2×p1+(bh+dl)(bl+dh)+(bl+dh)2+(bh+dh)dh+(bl+dh)dl+dl,
其中d1-1=d12。
与现有技术相比,本发明的优点在于在分析传统改进型高级加密标准的基础上,采 用关键模块复用方法,提出一种更加简单的GF(256)域加法性屏蔽求逆算法。实验结果 表明,本发明的方法在保持良好抗零值功耗攻击性能的同时,面积开销和电路速度更为 合理,可广泛应用于协处理器等对面积和速度要求苛刻同时对保密性要求较高的领域。
SMIC0.13μm标准CMOS工艺下,Synopsys Design Compiler综合验证表明,该结 构不仅具有良好的抗零值功耗攻击和抗差分功耗攻击性能,面积开销和电路速度更为合 理。
附图说明
图1为现有技术的GF(256)域乘法性屏蔽求逆算法结构示意图;
图2为本发明方法的GF(256)域加法性屏蔽求逆算法结构示意图;
图3为本发明方法的GF(4)域上求逆模块结构示意图;
图4为采用本发明方法的防御零值功耗攻击的SubByte模块结构示意图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
一种密码器件上防御零值功耗攻击的方法,其特征在于将字节代换模块中的GF(28) 有限域上的求逆运算用GF(28)域加法性屏蔽求逆运算替代,具体过程如下:
首先在GF(28)有限域上进行求逆运算,用上标-1表示求逆运算,具体为:
将GF(28)域上的信号数据y定义为{y7,y6,y5,y4,y3,y2,y1,y0},其中yi(0≤i≤7)为十进制 的y转换为8位二进制对应第i位的系数;
将GF(24)域上的信号数据a定义为{a3,a2,a1,a0},其中ai(0≤i≤3)为十进制的a转换为4 位二进制时对应第i位的系数;
将GF(28)域上的信号数据y用GF(24)域上的变量x表示,记为线性多项式ahx+al,其 中ah,al∈GF(24),为y在GF(24)域上的线性多项式的系数,则求逆运算: y-1=(ahx+al)-1=ah'x+al',其中:ah'=ah×d',al'=(ah+al)×d', d=(ah2×p0)+(ah×al)+al2,d'=d-1,式中p0是常数,根据从GF(28)域映射到GF(24) 域生成的多项式计算得到,通过以下转换公式将G(28)域上的信号数据映射到GF(24)域 上:其中
然后进行GF(28)域加法性屏蔽求逆运算,将GF(28)域上加入屏蔽信号后的信号数据 定义为操作数y+mask,其中mask为屏蔽因子,将操作数y+mask映射到GF(24)域上,用 线性多项式表示为(ah+mh)x+(al+ml),其中mh和ml为屏蔽因子mask在GF(24)域上的线性多 项式的系数,GF(28)域加法性屏蔽求逆运算具体为: ((ah+mh)x+(al+ml))-1=(ah'+mh)x+(al'+ml),其中
a'h+mh=(ah+mh)(d'+mh)+(d'+mh)mh+(ah+mh)mh+mh2+mh (11)
a'l+ml=(ah+mh)(d'+mh)+(d'+ml)(al+mh)+(al+mh)ml+(ah+mh)mh+ml (12)
d+ml=(ah+mh)2×p0+mh2×p0+(ah+ml)(al+mh)
+(al+mh)2+(al+mh)mh+(al+mh)ml+ml (13),其中 d'+ml=d-1+ml。
而GF(24)域上加法性屏蔽求逆过程为:
将GF(24)域内d'+ml映射到GF(22)域上,对应的线性多项式为bhx+bl,其中bh, bl∈GF(22);同时将GF(24)域内ml映射到GF(22)域上,同理可得ml的线性多项式形式为 dhx+dl,其中dh,dl∈GF(22),
((bh+dh)x+(bl+dl))-1=(bh'+dh)x+(bl'+dl),其中 b'h+dh=(bh+dh)(d1'+dh)+(d1'+dh)mh+(bh+dh)dh+dh2+dh, b'l+dl=(bh+dh)(dl'+dh)+(d1'+dl)(bl+dh)+(bl+dh)dl+(bh+dh)dh+dl, dl+dl=(bh+dh)2×p1+dh2×p1+(bh+dl)(bl+dh)+(bl+dh)2+(bh+dh)dh+(bl+dh)dl+dl, 其中d1-1=d12。
将上述实施例中的方法与现有技术的方法对比可知,本发明方法的GF(256)域求逆 算法在保证对所有中间数据加法性屏蔽的同时,将GF(16)域乘法模块的数量由8个减少 至6个。表1给出了不同GF(256)域上求逆算法的芯片开销,与文献[9]相比,本发明方 法的乘法模块数量由7个减少到6个,平方模块由3个减少到2个。由于GF(16)域乘法 模块和GF(16)域平方模块在GF(256)域求逆算法的硬件实现上占主要部分,因此乘法模 块和平方模块需求的减少,使得整个密码器件的芯片开销显著减小,系统实现复杂度明 显降低。
表1不同GF(256)域求逆算法的芯片面积开销
对应本发明方法的GF(256)域求逆算法的结构框图如图2所示,其中为GF(16)域 上的乘法模块;X2为GF(16)域平方模块;X2×p0为GF(16)域内首先进行平方操作然后 与常数p0相乘的模块;为GF(16)域上的加法模块;Inversion in GF(16)为GF(16)域的求 逆模块,其结构与图2类同,唯一的不同在于GF(4)域上求逆过程等价于GF(4)域上的平 方运算,可通过图3所示的结构得到。
从图2可以看出,与文献[10]的算法结构相比,本发明方法的GF(256)域求逆算法 结构中可复用乘法模块保持为2个,同时减少1个平方模块和一个乘法模块。由于128 位AES算法中包括16个GF(256)域求逆模块,因此本发明方法带来的芯片面积开销减 少是相当可观的。另外由于采用并行计算以及插入加法模块的方式,与文献[10]中求逆 算法结构相比,图2所示结构具有两方面优点:一方面,由于并行计算以及关键模块复 用策略的应用,电路关键路径上的模块数量由15个减少到10个,工作速度明显加快; 另外一方面,通过调整加法模块的位置,在节点d'+ml到节点a'l+ml计算过程中增加一个 二输入加法模块(图中右上方的数字4),从而节点d'+ml到电路输出两端均需经过五步操 作(图中数字1-5代表不同计算模块),因此电路的两个输出信号输出时实现基本同步。 采用SMIC0.13μm标准CMOS工艺,综合结果表明本发明方法比原改进算法面积节省 了约12.9%,速度提高了10.4%,因此本设计更加适用对芯片面积和工作速度要求严格 的便携式设备。
通过对本发明方法的GF(256)域求逆算法硬件结构的研究,根据SubByte模块的工 作特点,提出一种防御零值功耗攻击的SubByte模块设计,其结构框图如图4所示。它 包括三个部分:本发明方法的GF(256)域求逆算法部分、仿射变换线性部分以及mask 屏蔽模块。
其中in为输入字节,mask为屏蔽因子,out为输出字节,mask屏蔽模块完成仿射 变换中常数部分(63H)与屏蔽因子mask的异或操作,保证了SubByte模块中间数据始终 处于加法性屏蔽的要求。
在不同输入条件下,对上述所设计SubByte模块进行计算机模拟,模拟结果如表2 所示。
表2防御零值功耗攻击的SubByte模块模拟结果
其中,SubByte(in)为输入字节in经SubByte模块操作后的理论值。从表2中可以看 出,所设计SubByte模块的输出字节与相同输入条件下的理论值相同。经分析,证明所 设计电路逻辑功能正确。
采用SMIC0.13μm标准CMOS工艺,所设计AES SubByte模块最高工作频率可达 223.2MHZ,占用面积约为9.49×10-3mm2(不含随机数发生器)。
将所设计的SubByte模块与传统SubByte模块[5,9,10]进行比较,经Synopsys Design Compiler在相同CMOS工艺下对不同设计进行综合验证,试验结果如表3所示。
表3不同AES SubByte模块比较
由表3可知,该设计在芯片开销减少明显,最高工作频率增加显著的前提下,实现 了乘法性屏蔽设计所没有的防御零值功耗攻击的特性;与文献[9]中SubByte模块相比, 在保持防御零值功耗攻击的性能的同时,由于计算量大大减少,所提出的结构更加简单, 系统最高频率和面积都有较大的优化。
机译: 防止功耗分析攻击和其他侧面通道攻击的白噪声安全电路设计实现技术,确保其他物理密码系统的实现,以及将白噪声实现为成本低廉的微处理和智能零件时间
机译: 密码输入系统和使用两种防御密钥记录攻击和肩膀攻击的字母矩阵的方法
机译: 用于防御中继攻击的低功耗蓝牙低功耗被动车辆访问控制系统及其方法