首页> 中国专利> 一种密码器件上防御零值功耗攻击的方法

一种密码器件上防御零值功耗攻击的方法

摘要

本发明公开了一种密码器件上防御零值功耗攻击的方法,特点是将字节代换模块中的GF(2

著录项

  • 公开/公告号CN103001762A

    专利类型发明专利

  • 公开/公告日2013-03-27

    原文格式PDF

  • 申请/专利权人 宁波大学;

    申请/专利号CN201210486450.7

  • 发明设计人 汪鹏君;郝李鹏;

    申请日2012-11-25

  • 分类号

  • 代理机构宁波奥圣专利代理事务所(普通合伙);

  • 代理人程晓明

  • 地址 315211 浙江省宁波市江北区风华路818号

  • 入库时间 2024-02-19 18:43:12

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 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=kin=0(in+X)*Y+X*Y=0(in*Y)-1=0---(1)

由此得到的功耗与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)域 上:其中 T=1110010000110001110100010011100101000000010010100010011000000001,为转换矩阵,ah3,ah2,ah1,ah0,al3,al2,al1,al0分别代表ah和al各个位的数 值,此时p0是确定值;

然后进行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)域 上:其中 T=1110010000110001110100010011100101000000010010100010011000000001,为转换矩阵,ah3,ah2,ah1,ah0,al3,al2,al1,al0分别代表ah和al各个位的数 值,此时p0是确定值;

然后进行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模块模拟结果

in mask SubByte(in) SubByte(in)+mask out 23H 05H 26H 2bH 2bH 35H 62H 96H f8H f8H 47H 28H a0H c8H c8H 33H 66H c3H 2aH 2aH FFH 30H 16H 46H 46H

其中,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模块比较

  文献[5] 文献[10] 文献[9] 本发明 工艺/μm 0.13 0.13 0.13 0.13 频率/MHZ 191.9 202.0 211.9 223.2 面积/10-3mm221.81 16.36 10.79 9.49 防御零值功耗攻击

由表3可知,该设计在芯片开销减少明显,最高工作频率增加显著的前提下,实现 了乘法性屏蔽设计所没有的防御零值功耗攻击的特性;与文献[9]中SubByte模块相比, 在保持防御零值功耗攻击的性能的同时,由于计算量大大减少,所提出的结构更加简单, 系统最高频率和面积都有较大的优化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号