DPA攻击

2024-06-26

DPA攻击(共4篇)

DPA攻击 篇1

0 引 言

随着个人计算机的蓬勃发展、因特网的演进与电子商务的冲击,市场对安全与个人隐私保护有了强烈的需求。智能卡拥有轻便与安全的特性,在网络上的安全付款、网络连接的安全控管与电子签章等应用领域扮演重要角色。我国已有不少信息安全应用系统借助智能卡来记忆系统运作所需的秘密信息,并利用智能卡具有的计算能力提升系统安全,智能卡正逐步取代磁卡而广泛应用于金融及其他相关产业[1]。

随着对智能卡的攻击方法的不断发展,特别是随着近年来许多新型的攻击智能卡技术被公开发表,智能卡的安全面临巨大挑战[2]。这些攻击技术能容易地以低价设备取得的信息,如电力消耗、执行时间、故障时的输出与输入行为、辐射、电力尖峰情形等信息攻击智能卡。其中,差分功耗分析(Differential Power Analysis,DPA) 就是一种很有效的能量攻击方法,其主要是借助统计方法来提取与密钥有关的信息,实现过程比较复杂,但对攻击者的智能卡专业技术水平的要求并不是很高,DPA对智能卡中相关的内嵌加密算法的成功攻击已经被广泛报道[3]。

智能卡是一种在发卡后可下载应用程序的公开平台架构,所以为了防止伪卡与保护持卡人,智能卡必须具有高安全性和高可靠性。VISA国际组织规定智能卡必须符合最高的安全技术层次要求,不但其内嵌储存体和总线上传递的数据都要求加密,而且智能卡至少要提供一个以上的对策防止简单功耗分析(Simple Power Analysis,SPA)与DPA攻击。

1 智能卡芯片架构

智能卡芯片架构如图1所示,主要由如下模块构成:

(1) 嵌入式微处理器:可控制硬件执行相关的指令完成加解密操作。其一般内置有存储器加解密单元,可通过其存取存储体数据;并通过硬件防火墙管制应用程序存储体。

(2) 内置存储体:智能卡的存储体分为SRAM,E2PROM与ROM三块区域,其中ROM存放智能卡操作系统、执行环境等程序及数据;E2PROM存放用户定制代码,给不同的用户、不同的应用提供灵活的选择;SRAM为执行系统操作提供临时空间。

(3) 复位电路:用于产生系统复位信号,其输入来自RESET引脚输入的外部复位信号。

(4) 随机数产生器:随机数在智能卡的安全性上扮演着重要角色,密钥生成、数字签名、认证和鉴别及各种安全通信协议都离不开高质量的随机数[4]。该模块主要产生无法预测的高质量加密用数据。

(5) ISO7816接口控制器:为智能卡与读卡器数据交换的重要接口,主要是硬件支持由ISO7816制定的T=0及T=1两种协议,T=0负责传送字符(Character);T=1则负责传送区块(Block)。

(6) 中断控制器:用来接收定时单元、加密引擎、接口控制器的中断要求,并传送“中断”信号给微处理器,通知微处理器外围模块已完成指定工作或有事情发生。

(7) 内置定时单元:主要当作看门狗定时器用,用以监督系统的运作,监控内部应用程序是否正确执行。若发现程序运行错误,就会给中断控制器一个中断信号,使智能卡进入暂停状态,一直要等到重置信号出现才恢复正常运行。

(8) 电源控制器:内置的电压传感器和控制电路为其他模块提供稳定、安全的电源供应。

(9) 功耗管理模块:智能卡对功耗的要求很高,该模块是为达到节省电源的目的设计的省电装置,其带有停止和省电两种工作模式。其中,停电模式支持ISO7816-3的频率停止模式,以降低整个系统的电源消耗;省电模式则根据系统不同模块工作特点规划了各模块的工作顺序及状态,使工作时间互斥的模块中的一部分工作时,另一部分工作在睡眠状态,从而达到降低系统整体功耗的目的。

(10) 频率产生电路:智能卡作为一个复杂的SoC芯片,其系统工作频率和加密操作频率是不同的,为此一般的智能卡内部都有PLL频率产生电路。其频率来自CLK脚输入的外部频率,产生供微处理器与加密引擎中各种加密协处理器使用要求的频率。

(11) 加密引擎:智能卡的加密引擎中嵌入了能实现多种加密算法的协处理器核,使其可以支持一般的加密算法包括:RSA,DES,AES。该模块主要包括:

加密仲裁 根据系统不同用途下的不同加密操作要求,通过相关的控制指令管理不同的协处理器工作。

DES协处理器 支持数据加密标准(Data E-ncryption Standard,DES[5])。以56 b密钥为基础的密码块加密技术,DES使用56 b密钥对64 b的数据块进行加密,并对64 b的数据块进行16轮编码,结果为64 b的密文。

AES协处理器 支持高级数据加密标准(Ad-vanced Encryption Standard,AES[6])。使用的是一个迭代型分组密码,对加密来说,输入是一个明文分组和一个密钥,输出是一个密文分组;分组长度和密码长度都可变,可以独立指定为128 b,192 b或256 b。

RSA协处理器 支持公开金钥加解密系统[7]。RSA主要是指数的运算,是基于大质数的因数分解的公匙体系,简单来讲就是两个很大的质数,一个作为公钥,另一个作为私钥,如用其中一个加密,则用另一个解密。密钥长度从40~2 048 b可变,密钥越长,加密效果越好,但加密、解密的开销也就越大。

智能卡的ASIC设计,主要模块如加密引擎中所涉及的加解密协处理器、嵌入式微处理器等在市场上都由相关的IP核提供,这些IP的设计都采用了相关算法实现了抗DPA攻击,具有很好的安全性。但是将上述IP整合及其他模块的设计上必须注意采取抗DPA攻击措施,才能保证智能卡的高安全性。

2 DPA攻击原理

在一个没有任何抗DPA攻击的加密芯片上指令的执行顺序和相关数据处理操作会影响功率消耗,尽管这种影响会被噪声消耗,但是靠统计的方式还是可以看出端倪。DPA攻击技术以功率消耗图为基础,再以统计方式推演主密钥的攻击技术,其原理是智能卡在执行加密过程中会消耗能量,产生电磁辐射,通过使用特殊的电子测量仪和数学统计技术,就可以检测和分析这些变化,从而得到芯片中的特定关键信息[8]。

智能卡执行一条指令消耗的能量与指令的操作数相关,某一指令I的执行所消耗的平均功耗undefined如下式所示:

undefined

式中:PI表示指令I执行过程中平均消耗的能量;op1,op2,…,opn表示I的操作数;PI(0)和PI(1)分别表示op1取0和1时执行指令I消耗的平均功耗。可见,PI与op1相关(ΔPI≠0)。

另外,考虑到智能卡采用的是CMOS工艺,其功耗主要是动态功耗Pd,而Pd大小如下面公式所示:

undefined

式中:f是工作频率;CL是输出节点的集总负载电容;VDD是电源电压;α是电路开关活动因子(电路翻转率)。可见CMOS逻辑门功耗大小与α密切相关,所以,电路中的数据的0与1 状态与电路的功率信号必然具有一定的相关性。

综上所述,加密用密钥与电路功耗存在相关性,DPA攻击就是从这种相关性入手,最终实现对密钥的破解。下面以AES算法为例,介绍DPA攻击的过程:

(1) 随机生成大量明文;

(2) 加密这些明文,并记录下加密操作时的能耗曲线,求得这些曲线的平均;

(3) 关注第一轮S2盒的输出,设输出的第一比特为b,对第一轮子密钥的第一个字节进行猜测,并用其与相应的明文计算出S2盒的输出;

(4) 根据b的值,将能耗曲线按照b=0和b=1分为两类;

(5) 计算出这两类的平均能耗曲线,并将二者相减,求得差分能耗曲线;

(6) 观察步骤(2)和(5)生成的能量曲线。若密钥猜测正确,那么步骤(4)的分组就是正确的,步骤(5)生成的差分能耗曲线将和步骤(2)生成的平均能耗曲线呈现较大的差别,差分能耗曲线中将出现峰值。因此,攻击者通过观察峰值来判断密钥的猜测是否正确;

(7) 重复步骤(3)~(6),得到其他轮的子密钥。

DPA攻击易于实现,一个完全不懂得智能卡技术的编程人员完全可以利用专用程序对没有DPA防范的智能卡实现攻击。高安全性的智能卡必须采取相应的防范措施以实现抗DPA攻击。

3 抗DPA攻击的设计

目前各种密码系统的算术逻辑运算单元的VLSI 设计已得到较为广泛的研究,如何在其他方面实现抗DPA攻击是值得进一步深入研究的问题。下面从随机数产生器、组合和时序逻辑防DPA设计介绍智能卡抗DPA攻击的电路实现。

3.1 随机数产生器设计

对于智能卡的DPA攻击,主要是利用在卡上嵌入式微处理器运作时,某个特定指令的执行或数据存取所消耗功率,在供应电压源上所表现特定的电流频谱提供的有用信息。故可以通过外加额外的电路造成额外的电流消耗,从而改变电流频谱以达到抗DPA攻击。同时额外的电流消耗电路必须通过采用随机数随机的方式,产生随机数消耗电流,以达到芯片消耗电力无法预测性,使其不能被分析与统计。

为此,可以在随机数产生电路中设计如图2所示的随机数消耗电路,电路由比较器、移位寄存器、译码器组成;当电阻噪声产生的噪声电压经过放大器、比较器后,产生“1”或“0”数字信号,存入移位寄存器,这样寄存器内的值已经类似混沌式RNG所产生的随机数,此随机数经译码器编码后,控制三态充放电缓冲器的充放电个数,最终达到以随机数控制电流消耗的目的。

3.2 组合逻辑防DPA攻击设计

防DPA攻击的主要目的是使电路特性在运算时保持相同,而保持电特性相同很重要的一点是使翻转的晶体管数量在任何运算步骤中都是一个常数。为实现这个目的可在电路运算步骤之间增加一个中间步骤,这样能防止有用信息从功耗分析中泄漏出去。最简单的中间步骤设置是在输入参数和电路运算完成之后设置系统中间值。

为此,参考异步逻辑电路的双轨编码方式中对信息的每一位用两根信号线进行编码的方式。采用两位信号线的组合值“01”和“10”来表示数字逻辑的“真”和“假”,而组合值“00”和“01”则为中间值。这样的编码方式下,设计的基本逻辑单元电路如图3所示。

如图3(a)电路对于输入A(A1A2)和B(B1B2),输出只有O1O2和R1R2有效,当输入A1A2B1B2为0000或1111时,输出O1O2和R1R2的值是11或00,这样实现了编码中间态的传递。而当输入A1A2B1B2为有效数据0101,0110,1001和1010时,输出O1O2和R1的值就得到相关的NAND,AND,NOR和OR四个逻辑功能;其中,输出O1O2→NAND,O2O1→AND,R1R2→NOR,R2R1→OR。至于NOT的实现如图3(b)的电路所示。所以,上述基本的逻辑电路足以实现复杂的数字组合逻辑运算功能。

3.3 时序逻辑防DPA攻击设计

针对差分功耗分析,除了利用增加电路噪声以降低差分功耗分析的信噪比的防御方案外。通过减小差分功率信号的值,同样可以降低差分功耗分析的信噪比;若电路不同状态下的功率差异趋于零,则差分功耗分析将失效。于是基于上述思路,在时序逻辑电路设计上可采用如图4所示的互补结构寄存器电路。

设寄存器初始状态相同,输出负载相同,时钟沿赋值,如图4不论输入为0或1,两个互补寄存器必是一个翻转,另一个不翻转,因此总的功耗在两种情况下没有差别。

另外,对于采用前面所述的双线信号编码方式,在时序逻辑电路的设计上,可采用在输入任何有效的数据01和10之前,都先把寄存器设置为00或11中间态的协议。这样,无论进行何种操作,则时序逻辑中相关的寄存器都只有一个寄存器翻转,有效地防止了寄存器在数据传输过程中的信息泄漏。

4 结 语

智能卡是一种高安全性、高可靠性和复杂的片上系统,具有抗功率分析攻击、时间分析攻击和故障分析攻击的能力,但在一些新型的智能卡攻击技术下其安全受到巨大的挑战,例如DPA攻击。本文针对DPA攻击智能卡的特点,在智能卡的硬件电路上进行了抗DPA攻击的设计,采用此设计,再结合一些软件上的抗DPA攻击措施,就能构成一个完善的智能卡安全体系结构,能十分有效地保证智能卡免受DPA攻击。

参考文献

[1]王新成,蔡吉人,杨义先,等.对Smart Card上RSA的能量攻击和防御[J].计算机工程与应用,2003,35(17):133-135.

[2]Messerges T S,Dabbish E A,Sloan R H.Investigations ofPower Analysis Attacks on Smart Cards[A].Proceeding ofUSENIX Workshop on Smartcard Technology[C].1999:151-161.

[3]Messerges T.Using Second Order Power Analysis to AttackDPA Resistant Software[A].Cryptographic Hardware andEmbedded Systems[C].Springer-Verlag,2000:238-251.

[4]Sibley E H.Random Number Generators:Good OnesAreHard to Find[J].Communications of the ACM,1998,31(10):1192-1201.

[5]FIPS PUB 46-3,Data Encryption Standard,Federal Informa-tion Processing Standards Publication Reaffirmed 1999 Oc-tober 25,U.S.Depart ment of Commerce/National Insti-tuteof Standards and Technology.

[6]FIPS PUB 197,Advaced Encryption Stand-ard(AES),Federal Information Processing Standards PublicationReaffirmed Nove-mber 26,2001,U.S.Depart ment of Com-merce/National Institute of Standards and Technology.

[7]Rivest R L,Shamir A,Adel man L M.A Method forObtaining Digital Signatures and Public-key Crypto Sys-tems[J].Communications of the ACM,1978,21:120-126.

[8]赖坤锋.智能卡SPA&DPA攻击[J].现代电子技术,2005,28(17):28-29.

[9]李海斌,周玉洁.一种抗DPA攻击的DES设计[J].通信技术,2007,40(11):277-279.

[10]蒋惠萍,毛志刚.一种抗差分功耗攻击的改进DES算法及其硬件实现[J].计算机学报,2004,27(3):334-338.

[11]毛丰江,温希东.智能卡攻击技术与安全策略的研究[J].计算机工程与设计,2006,27(13):2 396-2 399.

DPA攻击 篇2

由于旁道攻击(Side Channel Attacks)技术的攻击设备和手段简单,对密码芯片的安全构成巨大威胁。 而能量分析攻击(Power Analysis Attack)[3]是旁道攻击的一种常用技术,分为简单能量分析SPA(Simple Power Analysis) 攻击和差分能量分析DPA(Differential Power Analysis) 攻击两大类。 因此标量乘算法的设计与实现也应考虑到SPA和DPA攻击的威胁, 进而提高算法的安全性。

参考文献[4]通过仿真实验证明了Montgomery Ladder标量乘算法不能抵御DPA攻击;参考文献[5]给出了加入随机冗余操作降低信噪比来抗DPA攻击的方法,但大幅增加了电路面积与功耗。 本文将随机化的思想与Montgomery标量乘算法的特点相结合, 提出了随机Z坐标的抗DPA攻击的改进算法, 并仿真验证了该改进算法的抗DPA攻击能力。

1 Montgomery标量乘算法的安全性分析

Montgomery标量乘算法[6]具有计算效率高、 所需资源少等优点,在工程实现上被广泛运用,该算法是利用准投影坐标给出的、能代表一类投影坐标实现的标量乘算法,所以本文选取该算法进行研究,算法流程如下:

算法1:Montgomery标量乘算法

输入:参数组k=(kt - 1, … ,k1,k0)2

其中

输出:kP。

(1) X1←x,Z1←1,X2←x4+b ,Z2←x2。 {(P ,2P)}

(2) 对于i从t - 2到0 , 重复执行 :

①若 ki= 1 , 则 :

②否则:

SPA攻击和时间攻击要求密钥对功耗有显著的影响,攻击者需掌握密码设备的详细实现细节,根据测量到的功耗轨迹,沿时间轴来分析加密设备在某一时刻执行的运算操作,从而推测与操作相关的密钥信息[7]。 观察Montgomery标量乘算法的步骤2可以发现,无论ki=1还是ki=0 , 都会进行相同的运算操作, 无法通过直接分析功耗轨迹来推测密钥,因此该算法可以抵抗SPA攻击和时间攻击。

DPA攻击利用密码设备能量消耗的数据依赖性, 使用大量的能量迹来分析固定时刻设备的能量消耗,进而获取运算过程中的不变量(例如密钥信息)[7]。 为了分析方便,把算法1中的步骤2等效成下面的形式:

若 ki=1 , 则 P1←P1+P2,P2←2P2;

若 ki=0 , 则 P2←P1+P2,P1←2P1。

由于kt - 1=1 , 所以P1=P ,P2=2P 。 当kt - 2=0时,P1=2P , P2=3P ; 当kt - 2=1时,P1=3P ,P2=4P 。 由此可以看出kt - 2位的不同值会产生不同的中间结果,不同的中间结果在运算时又会产生不同的功耗,DPA攻击正是利用这些功耗差异来实施的。 参考文献[4] 利用EDA仿真软件对Montgomery标量乘算法实施了DPA攻击, 证明该算法不能抵御DPA攻击。

2 Montgomery标量乘算法的抗DPA攻击改进算法

Montgomery标量乘算法是采用准投影坐标来实现的,通过引入Z坐标将求逆运算转为乘法运算来提高算法效率, 而运算结果与Z值的选取无关。 结合Mont- gomery标量乘算法的这个特点, 本文在算法的硬件实现过程中加入了一个随机数发生器,在每次点乘运算前随机产生一个Z值,由于Z参与整个运算,这样运算的中间结果便引入了随机成分,而功耗又与数据相关,所以即使进行两次相同输入的运算,运算过程产生的功耗也不会相同,进而达到抗DPA攻击的目的。 随机Z坐标的改进算法如下所示:

算法2:随机Z坐标的Montgomery标量乘算法

输入:参数组

其中

输出:kP。

(2) 对于i从t - 2到0 , 重复执行 :

①若 ki=1 , 则 :

②否则:

(5) 返回 (x3,y3) 。

GF (2192) 域对算法2进行了硬件实现, 采用适合硬件实现的Montgomery FIOS优化算法来实现最核心的模乘单元,寄存器堆采用单端口写、双端口读的形式便于参数的灵活注入和数据的调度。 为了不影响算法效率,随机数发生器与运算单元并行执行,将产生的随机数存储起来用于下一轮的运算,随机Z坐标的改进算法硬件结构如图1所示。

利用DC综合工具将该硬件模块在0.18 μm的工艺下进行综合,并与算法1进行比较,对比结果如表1所示。

算法2增加了随机数发生电路,所以总电路面积增加了9.60%;由于随机数生成运算与运算单元并行不会影响算法效率,所以算法2只增加了2次模平方运算和3次模乘运算, 算法效率只降低了0.36% 。

3改进算法的抗DPA攻击能力验证

为了验证改进算法的抗DPA攻击能力, 本文利用EDA仿真工具对基于GF (2192) 实现的原始Montgomery标量乘算法和改进算法分别进行了DPA攻击,过程如下:

(1) 搭建功耗分析仿真系统。 首先, 利用硬件描述语言(Verilog HDL)对192长度的算法进行描述,并编写了测试激励函数(testbench);然后,利用DC工具将硬件描述文件在0.18 μm单元库下进行综合,生成门级网表文件, 将门级网表、testbench文件经过NC仿真后生成vcd文件;最后,利用PrimePower功耗分析软件,对vcd文件的功耗进行分析,并记录功耗数据。

(2)采集功耗数据。 基于步骤(1) 中的功耗数据采集系统,使用固定密钥kr与1 000个随机点P0,P1,… ,P999分别进行加密,记录1 000组功耗数据S0[j] ,S1[j] , … ,S999[j] ,j为采样点。

(3) 生成区分函数。 已知k191=1 , 猜测k190=1 , 其他位为任意值, 即猜测密钥为kg=(1 ,1 ,x, … ,x,x)2, 利用Modelsim软件分别将猜测密钥kg与步骤(2)中所用的1 000个随机点P进行仿真运算,得到一组区分函数值D0,D1, …,D999 。

(4) 处理数据。 利用Di将步骤(2)所得到的功耗曲线按如下方式分为两组:

分别求出每个采样点上两组功耗曲线的平均值并作差:

重复上述步骤, 分别获得了原始Montgomery标量乘算法和改进算法的差分功耗曲线,如图2和图3所示。

比较图2(a) 和图2(b) 可以看出, 当密钥猜测正确(k190=1) 时, 有明显的尖峰出现; 当密钥猜测错误(k190=0) 时,没有明显的尖峰出现。 这说明Montgomery标量乘算法不能抵御DPA攻击,按照上述步骤逐比特进行攻击, 进而得到正确密钥。

从图3中可以看出,无论是密钥猜测正确还是猜测错误时,差分功耗曲线都不会出现明显的尖峰,说明随机Z坐标会改变功耗和密钥的相关特性,使统计分析手段失效,进而达到了抗DPA攻击的目的。

本文分析了Montgomery标量乘算法的安全性, 结合算法的特点提出了随机Z坐标来抗DPA攻击的改进算法,并通过仿真验证了改进算法的抗DPA攻击能力。 由于很多标量乘算法通过采用标准投影坐标、雅可比投影坐标、Lopez-Dahab投影坐标来提高计算效率,投影坐标下的算法都有Z值参与整个运算,运算结果与Z值的选取无关, 所以随机Z坐标抗DPA攻击的方法理论上可以移植到其他利用投影坐标实现的算法中去,本文下一步将对此进行分析与研究。

摘要:标量乘法是椭圆曲线密码算法中最核心的运算,对整个密码体制的效率和安全性具有举足轻重的作用。在对准投影坐标系下实现的Montgomery标量乘算法的安全性进行分析的基础上,结合该算法的特点,提出了一种随机Z坐标的抗DPA攻击改进算法,并利用EDA仿真工具验证了其抗DPA攻击能力。

DPA攻击 篇3

互联网与传统产业的结合成为当前的一大发展方向。本文着重谈移动互联网与金融电子支付领域如何结合。

在金融电子支付领域, 最关注的是三个问题:安全, 便捷, 低成本。安全是电子支付的基石, 也是金融行业的基石, 其重要性不言而喻。便捷则是支付行业不断发展的动力。而低成本地实现安全与便捷, 是商品经济的基本要求。这三者是矛盾的, 而整个支付行业就是在这些矛盾的推动下发展。

移动互联网解决了人们便捷地随时随地随心进行沟通联系的问题, 但是如何解决移动支付的安全性问题呢?移动支付分为远场支付和近场支付两种情况:远场支付主要是由消费者主动发起, 通过类似支付宝、微信支付等方式充值缴费等交易;而近场支付则是由商家发起, 典型的场景是商场刷信用卡购物等。在近场支付中, 由于发起者为商家, 消费者对于商家的支付受理终端的安全性要求就更高。而近场支付, 尤其是小微商户移动支付受理是一个具有巨大发展空间的市场。而小微商户的价格承受能力有限, 如何解决安全、便捷、低成本的矛盾就成为了一个问题。

二、可拆分的移动支付终端技术需求

随着移动通信的发展, 移动支付终端广泛地应用在物流、展业 (保险、金融拓展业务) 、移动收费、酒楼消费、商场特别是小微商户刷卡收单等需要在移动场合支付的场景中。以往最常见的解决技术是在传统金融POS终端中增加无线通信模块, 使得金融支付终端具备移动通信的能力。该类无线POS存在两个问题:

1.成本偏高:因为金融终端POS产品需要严格的认证和设计, 其成本非常昂贵。不利于广泛地推广移动支付, 尤其是对于资金预算较低的小微商户而言。

2.灵活性偏低:以手机为代表的移动互联网发展迅速, 交易内容和形式不断变化。而金融终端POS本身作为固定资产, 其生命周期较长, 一般使用寿命要有3-5年以上。而期间的移动互联交易发展已经日新月异。

针对以上问题, 本文提出了新的技术设计:

将金融支付的安全性要求与移动交易的便捷性要求分开, 分别由金融终端实现最简化也是最核心的支付安全功能, 而移动终端实现移动交易的便捷性要求。通过有线 (串口、USB等) 、无线 (Wifi、蓝牙等) 方式将金融终端与移动终端连接, 从而共同实现安全的移动支付。

1、安全性:对于小微商户的应用场合, 提供给消费者的是经过银联等权威机构认证的金融终端。使得个人卡号、密码等关键数据处于严格保护之中。而金融终端通过了PCI、EMV/PBOC、Paypass等认证, 更使得支付安全得以保障。

2、成本性:通过将与支付安全无关的打印、交易主显示屏、广告客户显示屏等去除, 仅仅保留了与支付安全相关的密码键盘、卡读写器 (磁卡、IC卡) 、加解密及交易报文打包解包功能。从而大大降低了终端的成本。

3、便捷性:具体交易放在移动终端上, 可以是手机、平板, 也可以是收银机、PC等。充分利用原有设备的强大交易功能。更重要的是将交易本身与移动互联网连接, 实现交易程序的APP化下载, 交易数据的云端化存储。实现“云管端”的万物互联和基于大数据的交易分析为客户管理提供了落地实现的可能。

三、移动支付终端处理流程及安全性分析

移动支付终端的处理流程如图1所示。持卡人出示卡, 由操作员刷卡, 持卡人输入密码, 移动支付终端通过移动通信网络与银行云端后台系统连接, 交易成功后返回成功信息, 打印签购单, 持卡人签字, 刷卡交易完成。这里最关键的是卡号、密码等关键数据必须确保安全。而其中的关键是金融终端的安全性设计必须满足严苛的认证要求。

金融终端的安全性设计分为以下两点:

1.终端安全:

金融终端本身需要输入密码、卡号等敏感信息, 这些信息一旦泄露, 对于持卡人、银行、商家均会带来重大安全问题。对于金融终端本身要求其达到安全, 以保障敏感信息。所以需要通过国际最权威的PCI-PED安全认证 (Payment Card IndustryPin entry device, 支付卡工业密码输入设备安全认证的简称) 。该认证包含以下几个部分, 简要列举如下:

(1) 物理安全要求

(2) 逻辑安全要求

(3) 联机安全要求

(4) 脱机安全要求

(5) 生产期间的设备安全管理要求

(6) 初始密钥注入前的设备安全管理要求

该认证要求金融终端从硬件 (物理安全) 到软件 (逻辑安全) ;从联机应用到脱机应用;从生产一直到金融机构灌装密钥的全过程实现安全管控。从而保障了敏感信息的安全。

2.卡应用安全

除了金融终端本身, 卡作为信息的载体, 在卡交易中也会有敏感信息的存在, 所以对于卡的应用也需要进行安全设计。主要的认证规范有国际的EMV以及国内的PBOC (国内版EMV) , 主要分为:

(1) Level-1:芯片卡和设备的硬件及底层驱动

(2) Level-2:芯片卡和设备的应用层

针对非接触卡, 除了遵循EMV外, 另外还需要通过Paypass (针对非接触卡的国际标准) 等认证。以保证卡与金融终端的适应性、兼容性。

安全设计的关键是终端安全, 因为这是卡应用安全的基础。而终端安全设计中的一个关键是抗SPA/DPA (简单功耗分析/差分功耗分析) 攻击。

3.抗SPA/DPA攻击的认证标准

SPA/DPA是一种通过分析设备、器件的功耗、电磁辐射等方式所泄露的信息, 破解密钥和关键数据的方法:加密硬件以半导体器件为基础, 由大量晶体管构成, 当晶体管上发生冲放电时, 电子从硅衬底流过, 必然消耗能量, 同时产生电磁辐射。功耗分析就是依赖于加密硬件在加密过程中功耗消耗与其处理的数据及进行的操作相关而进行的。通过监测硬件在加密过程中的功耗曲线, 利用统计方法和攻击者的经验对收集到的信息进行分析, 从而获得与加密信息相关的数据。

SPA/DPA攻击绕过了算法本身, 直接通过分析功耗来攻击中间过程的关键信息。该方法攻击效率高, 且无需破坏硬件设备, 攻击隐蔽性强。是近期发展出来的先进的信息安全攻击手段。

在国际PCI-PED标准《PCI PIN Entry Device Security Requirements V4.X》及国内标准《银联卡受理终端PIN输入设备安全规范 (QCUP 007.6-2010) .》中, 对于抗SPA/DPA攻击的要求如下:

物理安全性要求:

PIN输入过程中监控:即使在收银员或店员的协助下, 通过监听PIN输入设备的声音、电磁辐射、能量消耗或其他任何可以从外部监听到的特征来探查PIN都至少需要25分的攻击分值。

密钥识别分析:通过穿透PIN输入设备或IC卡读写器, 通过监测PIN输入设备或IC卡读写器的辐射 (包括能量波动) 的方法获取在PIN输入设备或IC卡读写器中存储的任何与PIN安全相关的密钥, 要求至少需要35分攻击分值。

SPA/DPA攻击就是标准中监听电磁辐射、能量消耗及能量波动的重要攻击方法。而其中的攻击分值与攻击时间、攻击者技术水平要求、攻击所需的专用设备、部件等相关。

四、移动支付终端抗SPA/DPA攻击的安全设计

实现信息安全是需要花费成本的。按照PCI-PED的要求, 通常的方案需要采用专用的器件和产品设计才能保障金融终端的安全等级。那么如何通过良好的设计, 在不增加成本的基础上还要达成信息安全的要求就成为了一个课题。

1、SPA/DPA攻击特征

其核心是靠加密过程中的功耗与加密算法和数据的相关性来破解的, 一般的抗SPA/DPA方法是由特殊的加密SOC来实现的, 需要较高的成本。本文现提出一种基于软件的抗SPA/DPA的技术解决方案。要实现抗SPA/DPA攻击, 其思路具体分为两种:

(1) 使得功耗维持不变;

(2) 使得功耗与加密算法和数据没有相关性;

针对第一个思路, 还是需要通过硬件来实现。核心是使用冗余功耗互补电路, 使得总功耗不变, 但是该方法有两个问题:一是通过冗余的硬件来实现, 增加了成本;而是加大了功耗, 不便于使用在移动手持类设备上。因此解决该问题的思路集中在第二条上, 使得功耗与加密算法和数据没有相关性。

2、SPA/DPA的攻击分为两个步骤:

(1) 通过SPA (简单功耗分析) 直接分析加密算法的功耗特征, 比如对于DES算法的16次重复加密, 其功耗特征就很明显 (如图2所示) 。

另外, 对于具体的加密指令, 如置换、移位、查表、异或等指令操作, 其功耗特征也不同 (如图3所示) 。由此可以将某些算法指令的功耗图纪录下来, 为后面来缩小DPA分析的猜测范围打下基础。

(2) 通过DPA (差分功耗分析) 使用统计分析和误差修正, 提取密钥等关键信息。是指先采集多组功耗曲线, 将其作为先验函数, 而将猜测的密钥组根据一定规则所产生的分类规则作为后验函数, 计算两组函数所具有信息的相关性, 如果相关性强, 则说明猜测准确 (如图4所示) 。

3、抗SPA/DPA攻击的技术路线

针对SPA/DPA攻击的特征, 核心思想是打乱SPA功耗分析的特征, 破坏DPA数据猜测的可能性, 提出了双随机干扰并行加密的软件方案如下:

(1) 在正常的加密算法中, 同步引入一个并行的加密干扰算法;

(2) 采用一个随机中断, 将并行的加密干扰算法与正常的加密算法混合;

(3) 加密干扰算法中引入随机数作为密钥等关键数据;

4、抗SPA/DPA攻击的软件算法应用

(1) 引入随机中断, 打乱了SPA分析的算法功耗特征。通过中断插入的干扰算法也打乱了指令的功耗特征, 使得缩小DPA分析的猜测范围变得困难。

(2) 加密干扰算法同时引入的随机密钥, 使得DPA统计分析中增加了不确定性, 事实上实现了每次加密的密钥随机, 从而使得事先采集统计功耗曲线变得没有意义, 大大提升了DPA攻击的难度。

该算法通过了国际PCI实验室的认可, 使得相应产品全球首批通过PCI2.X认证, 而采用该算法在不增加硬件成本的基础上, 还保证了安全性。

五、抗SPA/DPA攻击的移动支付终端应用

该技术方案已经应用在实践中, 相继推出了系列产品成为行业的标杆和事实标准, 市场占有率超过50%, 年销量过百万台。以往金融支付主要是使用在大中型商户市场, 采用了该技术的产品可以应用于小微商户, 使小微商户这个新兴的支付市场被开拓了出来。

目前移动支付领域最需要解决的是安全性、便捷性、经济性的矛盾, 本文研究的技术可以将支付安全相关的部分独立为金融终端, 从而能够将与便捷应用相关的支付功能集中到移动终端上, 通过有线无线方式连接, 并与后台系统的云计算、大数据结合构成了“移动互联网+安全支付”的整体解决方案, 创造性的提出了抗SPA/DPA的双随机干扰加密软件算法。该技术很好地解决了移动支付安全、便捷、经济之间的矛盾, 并在实践中得到了国际认证和市场推广, 取得了良好的社会和经济效益。

参考文献

[1]中华人民共和国中国银联.银联卡受理终端PIN输入设备安全规范 (QCUP 007.6-2010) .

[2]中华人民共和国中国银联.IC卡应用规范 (QCUP 041-2011)

[3]中华人民共和国中国银联.销售点 (POS) 终端安全规范 (QCUP007.1-2012) .

[4]中华人民共和国人民银行.中国金融集成电路 (IC) 卡规范 (PBOC3.0)

[5]EMV Co EMV2000

[6]PCI SCCPCI PIN Entry Device Security Requirements V4.X

[7]郑新建、张翌维、沈绪榜SPA与DPA攻击与防御技术新进展, 小型微型计算机系统, Vol30, No。4, 2009

DPA攻击 篇4

笔者在这里主要是基于文献[4]的技术方法, 按照信息安全密钥在某情况下获取时, DPA攻击功率消耗和形态结构具有一定的联系为基本条件, 将互通信熵值引入其中, 在核函数机制下, 与差分功耗分析攻击形态进行结合, 在其模拟攻击时, 细致深入的量化研究信息安全风险机制。

1 DPA攻击理论

对DPA攻击原理, 业界大量相关专家学者展开了细致深入的探讨[5,6], 经由大量相关实践可以得知, 在现实中, 通常情况下, 攻击时期和实际先后次序根据一定的周期时间内的关键节点划分成以下几个方面的内容:

1.1实时运作环节

攻击方把它的m组已知明文Pi (i∈[1, m]当做AES信息安全密码芯片的输入值, 对P实施n次加密处理, 以这种方式得到m×n的功率消耗函数趋势模型。要是其锁定对象是特定编码的、具有AES加密措施的8 bit密码芯片, 按照这一个设备具备的特点 (这一个设备主要是十六个S盒串行拼接之后得到的) , 在这种情况下, 那么攻击方得到的功率消耗函数趋势模型也具有该装置一样的特点, 也就是这一个模型能够反映S盒设备运作过程中每一个时刻功率消耗高低的特征。

1.2 通信操作环节

这一过程中, 攻击方先自全部P里面选择n条密码芯片功率消耗函数趋势模型, 在这里主要是将时间周期当做中轴点, 对它实施求和操作同时求取均值, 确保尽可能的减小高斯噪音对通信处理信号的负面作用;接着将SPA (简单功率消耗分析) 当做首个攻击手段得到有关资料, 把结果引入到S盒的第一环里面, 以得到的模型里面较为合理的选择S盒通讯过程中的时间关键变量, 也就是其首环操作时HW结构和系统密钥的中间参数值。

1.3 密钥推导环节

在这一个过程中, 主要是可用前面的两个环节的输出值, 主要涉及到参数样本达到的精度值和SPA攻击获取的S盒一环的攻击比特值, 同时以HW结构为基础构建相应的模拟函数, 也就是可以得到以下公式:D=HW[S (K⊕P) ]。接下来笔者将加以阐明:对于D来说, 其主要包括2个数值, 也就是0与1, 在这里数值0说明被攻击的比特位置不进行翻转, 而数值1的意思恰恰与前者对应;SO主要是用来指代S盒运算过程;K在这里所指代的是8 bit推导密钥;HW和P属于已知数据, 也就是S盒首环求得的汉明权重和8 bit可知明文。要是通过S盒接收装置求解得到的8 bit数据初始量均将0当做其条件, 以S盒的离线运算原理为前提, 基于K的可能值 (在这里主要存在28种) , 攻击方对m组中所有的P加以求解, 对其各P求得D, 同时考虑到D值的多样性这一个现实特点, 对其m组所有的P的功率消耗度量模型采样分析, 分成0与1两组系列的D值区域。利用上面的步骤, 一般来说, 攻击方能够得到P集合28×2个, 也就是能够得到2个D值 (D0ki和D1ki) , 在这里D0ki和D1ki两者所表示的含义与前者不同, 分别为在密钥推导阶段的输出值Ki的前提下, D在0和1值下的数据集合。同时上面的两种情况下的D值数据集合的因子数量之和是m。

1.4 计算评估环节

这一个过程主要是基于密钥推导环节所得到的输出值, 攻击方得到2个D值集合 (它们分别为D0ki和D1ki) 。这一个过程中, 攻击方主要是从D0ki和D1ki里面选择其一, 确保D0ki和D1ki里面能够将多余数据因子移除, 从而能够充分确保它们的因子数目处于一致水平。在这种情况下, 把它们所对应的集合依次通过TD0ki和TD1ki进行描述, 同时对第y对因子的功率消耗趋势模型依次通过TyD0ki和TyD1ki进行描述。在这里, 要是TD0ki和TD1ki两者具有一样的因子数目, 两者均为w值 (我们在这里设2w≤m) , 在这种情况下, 那么TyD0ki和TyD1ki两者的关系就能够通过下面的公式进行描述:

那么攻击方就能够得到28个差值集合 (也就是自Q1至) , 同时还对它按照递减的规律进行排列, 所以, 对那些较大输出差值集合的Qi所对应的Ki的推导精确性也较大, 两者之间具有一定的正相关性

按照上文中所阐明的具体步骤, 我们就能够得到DPA攻击的流程图, 具体笔者将通过下面的图例进行描述。

DPA攻击中, 根据图1上半图我们可以看出, 对于攻击方来说, 由于他们所选择的攻击模式存在着一定的差异, 此处DPA攻击方式单一, 仅仅攻击S盒首环中的1 bit处, 正是由于这一个方面的原因, 所以, S盒首环操作时HW结构和密钥的中间参数值要么为0, 要么为1。然而通过分析图1下半图可以看出, 由于噪音的不利影响, 攻击方得到在该1bit位置的翻转功率消耗数为固定于某区域中的持续的参数值。虽然为在DPA攻击时间内的初始节点, 然而就噪音声波来说, 攻击方已对得到的模型做了平均差操作。对于攻击方来说, 为了保持其DPA攻击强度和能力, 其将会适度执行对其P的加密操作, 否则就产生关键时间周期失控的问题。因此, 要是通过平均差操作方式完全消除噪音声波的干扰, 具有非常大的难度, 仅仅可以利用相对性, 实现提前计划好的目标。

设DPA攻击在公式 (3) 下保持一定的精确度水准, 使攻击实现目的, 那么就可以得出攻击方构造的模拟函数, 具体如下所示:D=HW[S (KP) ], 在这里, D的0和1值和S盒运算中某1 bit处的功率消耗的概率分布密度满足某函数关系, 这样就将其功率消耗的范围确定出来。另一方面, HW结构输出参数和实际情况下的某bit处的功率消耗两者彼此独立, 正是由于这一个方面的原因, 所以就能够得到相对偏大的Qi。其函数关系度和密钥推导精准度两者具有一定的正相关性所以, 在密钥推导环节应着重考虑函数关系度, 其是信息安全量化密码芯片应付威胁风险值的一个重要测试参数。

2 风险量化应用分析

利用DPA攻击构建起的模型表达式如下所示:

因其噪音声波的影响, 对现实情况下的功率消耗数值可以通过下面的公式进行表达:

接下来笔者将界定上面的式 (3) :可知n为噪音声波的干扰量, 按照D的概念, U和它是对应的, 在这里, 也就是U是连续的随机变量。

以信息安全进攻方的层面切入, 为对DPA攻击对于密码芯片造成的不利作用进行测试, 同时为科学合理高效的评估信息安全风险, 必须要确定科学合理的Ki。所以, 在以低电平正常运行的密码芯片多拼接S盒的条件下, DPA攻击风险量化应用分析主要涉及到下面五点内容:

(1) 一套加密标准为AES算法的密码芯片, 同时输入值为m组P。

(2) 多次对m组P加密操作, 得到m×n关联性密码芯片功率消耗函数趋势模型, 同时重点标记全部组P的某bit处的功率消耗数值qi (i∈[1, m]) 。

(3) 按照P和提前给定的Ki, 按顺序求解获得一切组P的Di值 (D=HW[S (K⊕P) ] (i∈[1, m]) , 同时对其qi主要划分成A0与A1, 在这里A0里面一切因子的Di均为0, 而对于后者则恰恰相反, A1里面一切因子的Di均为1。

(4) 基于核函数机制理论当做信息安全风险评估量化原则, 在这里, 也就是通过核函数机制依次求解p (q|D=1) 与p (q|D=0) 情况下概率分布密度。在输出结果里面, p (q|D=1) 与p (q|D=0) 两者分别为A1, A0参数值分布情况。

(5) 按照P的不可确定性这一个现实问题, 就能够得出p (D=1) =p (D=0) =1/2, 以I (D;q) 来指代 (4) 中概率分布密度以及D值概率参数值之间得到的两个系列D值集合分布互通信数据, 同时把它互通信数据的参数记作DPA攻击信息安全风险评估的量化指标。

利用上述步骤的依次执行, 所得到的的输出值, 即互通信数据参数的大小, 其详细定义了D=HW[S× (K⊕P) ]和U=HW[S (K⊕P) ]+n两者存在的相关度, 要是其D和U两者具有相对偏高的相关度, 在这种情况下, 那么两个系列D值概率分布情况相应的就具有很大的区别, 在充分确保Ki没有错误的基础上, 攻击方可以得到相对偏大的Q, 并且还可以非常精确的划分Ki的正确性。因此, 将互通信数据的参数当做DPA攻击信息安全风险评估的量化参数, 可以在信息安全密码防御策略和措施上具有比较不错的分析价值。在这里, 笔者主要是基于核函数机制理论展开后续的探讨。

2.1 核函数机制估算概率分布密度

针对信息安全风险评估机制现状, 采样的参数概率分布密度结构模型的表现方式仍然不能进行量化研究, 正是由于这一个方面的原因, 所以无法以其全参数估算法进行应用分析, 所以在这里利用无参数估算法对其进行测试。现阶段, 业界较为普及的是无参数估算法[7], 接下来笔者将细致深入的阐明该种方法的具体操作步骤。

提前定义随机变量x, 它有检测点n个, 这样就能将它进行描述, 具体来说也就是:xi (1≤i≤n) , 在无参数估算法下, x的概率分布密度结构模型描述为:

式 (4) 中, K (*) 为核结构函数, 同时满足下面的式子:具体如下所示:

式 (5) 中, *能够符合要求K (*) ≥, 利用h指代无参数估算法窗口宽度。其中对于K (*) 与h的相关因素说明估算法的好坏情况。业界相关专家学者经由探讨指出[8], 密码芯片中门结构在某t点内的翻转模式符合正态分布, 并且其噪音声波的影响最小, 在这种情况下满足噪音声波干扰值为0的正态分布。所以, 它的核函数就能够通过下面的关系式进行描述, 具体如下所示:

通过上面的表达式 (4) 和式 (6) 能够得出f (x) 的估算法。

式 (7) 中, h指代无参数估算法窗口宽度, n表示测试参数数目。

确定其f (x) 以后, h会对最终风险评估参数估算效果产生一定的影响, 那么在各个h值里面, 确定其可以实现最佳风险评估参数估算功能的h值是应当处理的关键点。按照差分机制, 通过它的f (x) 和fh (x) 存在的差异, 实施相应的差分计算, 具体来说, 可以通过下面的式子进行求解:

式 (8) 里面, M (h) 主要通过h的一种积分表达式进行反映。实质而言, 在具体进行估算的时候, 确定M (h) 最小值状态 (它的估算作用最理想[9]) 在这种情况下, f (x) 就能够非常好的反映出x的概率密度分布情况。因此, 计算它的M (h) 的导数同时它的数值是0的过程即我们所说的求解最理想地h值。具体来说, 可以通过下面的式子进行计算:

形式化验证了最佳h值的f (x) 估算步骤。在此基础上, 还应当测试功率消耗的样本, 通过这种方式确保n和xj值可以得到完整状态下的f (x) 。

2.2 互通信熵值的计算分析

利用上文的阐述, 由于P存在着一定的不确定性, 表1主要反映了D值概率分布。

经分析我们就能够发现, p (q|D=1) 与p (q|D=0) 两者存在着大致一样的表现规律, 但是其密码芯片参数采样的数据信息分布和h值情况的不同, 导致估算参数值也存在着一定的差异, 因此对于D值和q具有或多或少的互通信熵值。I (D;q) 指代互通信熵值, 按照D和p (q|D=d) 的定义关系, 再加上信息论原理, 就能够得出下面的式子:

依据I (D;q) 可以对其DPA攻击实施信息安全风险评估量化应用和分析。

3 模拟实验

对于本文的模拟系统来说, 其大体上涉及到下面几个方面:多个FPGA密码芯片;1台稳压电源装置;1台电脑;多个大小存在差异的电阻设备;1个示波器T。第一步, 将1电阻设备 (50Ω) 接到FPGA芯片的接地端和末端方两者间的位置, 利用这种方式就可以得到FPGA芯片的功率消耗趋势关系。第二步, 将测试探头插到电阻设备两侧, 利用这种方式使其功率消耗趋势关系信号经由该设备向T进行输送, 同时以USB和电脑进行相连。在这里T的采集程序通过Lab View编码完成其模拟功能。实际步骤见下文所示: (1) 系统把密钥信息K (以AES加密算法为标准) 向FPGA芯片传输; (2) 将RS232开发端口当做路径, 把所有P数据向FPGA传输; (3) 接入电阻设备, 利用这种方式对示波器T表明的功率消耗进行记录, 在此基础上, 还应当实时把相关资料向电脑传输数据; (4) 重复以上三个步骤, 通过这种方式最终使采样实现自动控制功能。

在系统正常运行下, 基于AES加密算法标准, 提前为FPGA芯片设定一个K, 同时对五千组P实施加密操作, 相对于每一个P, 分别得到S盒首环操作过程中的第5 bit的五千组功率消耗资料。在此基础上, 我们接着利用公式D=HW[S (KP) ]来分析任意P, 划分成2个系列集合, 同时对每一系列的功率消耗概率密度分布情况进行记录, 具体可以通过下面的图形进行描述。

通过上文的研究我们就能够看出, 在记录分布数据里面, 有是不是具有D在很大程度上决定着功率消耗概率密度分布情况是否存在不同之处, 所以, 这恰恰是密钥推导精准度最理想时, 它的Q值最高的关键所在。

求解h值过程中, 主要是按照以下方式进行:当p (q|D=0) 时, 这个时候h=0.45, 当p (q|D=1) 时, h=0.56, 这样风险评估估算函数就可以通过下面的式子进行描述:

对于上面的公式来说, 其D分布值具体依据上面的表格进行 (表1) 。

经由每一过程的计算就能够得到互通信熵值是0.74, 同时这种情况下, 其即为FPGA对DPA攻击实施信息安全风险评估量化分析的依据。

4 结束语

本文基于DPA攻击的特点与核函数机制, 将DPA攻击趋势和结构互通信熵值引入信息安全功率消耗风险评估量化分析, 在此基础上, 展开了较为细致的应用测试。通过研究发现, 提前设置精准度最佳密钥时, 密码芯片功率消耗概率密度分布与DPA攻击趋势结构两者具有关联度。恰恰是由于该方面的原因, 导致p (q|D=1) 与p (q|D=0) 两者具有非常明显的不同, 使DPA攻击顺利进行。因此它的关联度即为有效测试与量化密码芯片应对DPA攻击情况下信息安全风险因子参数值的关键节点。

在今后的研究过程中依旧应当对下列问题加以深入探讨, 从而能够非常有效的发现理想的应对措施。

(1) 按照核函数思路测试密码芯片功率消耗大小概率分布密度时, 无参数估算法操作步骤太过复杂, 在今后应当尝试着对其加以优化;

(2) 无参数估算法的应用存在着或多或少的制约条件, 要是关联度参数值是线性模式, 则在这种情况下, 该方法为非最佳状态, 因此怎样使相关估算法处于最佳状态, 也成为将来我们应当关注的一个重要问题。

摘要:按照差分功率消耗分析 (DPA) 的攻击性质和特征, 以核函数机制理论推导系统正常运行中密码芯片功率消耗的概率分布密度值, 引入密钥在某情况下获取时功率消耗和攻击分析结构模型间的互通信熵值, 基于DPA攻击下, 以风险量化密码芯片在模拟攻击下的抗风险能力。通过研究发现, 这一个量化机制一方面能够非常高效的把和互通信熵值类似的指标验算出来, 另一方面还能够在很大程度上实现密钥芯片风险分析能力的提升。

关键词:DPA,核函数,互通信熵值,风险量化,模拟攻击

参考文献

[1] 付沙.一种基于信息熵的信息系统安全风险分析方法.情报科学, 2013;31 (6) :38—42Fu S.Information system security risk analysis method using information entropy.Information Science, 2013;31 (6) :38—42

[2] 胡永波, 郑业扬, 俞军.一种新的高级加密标准模板攻击方法.计算机工程, 2013;39 (8) :166—168Hu Y B, Zheng Y Y, Yu J.A new template attack method of advanced encryption standard.Computer Engineering, 2013;39 (8) :166—168

[3] 方明.功耗攻击密码芯片风险量化方法研究.郑州:信息工程大学, 2013Fang M.Research on risk quantification method about encryption chip under power attack.Zhengzhou:PLA Information Engineering University, 2013

[4] Akashi Satoh, Sumio Morioka, Kohji Takano, et al.A compact rijndael hardware architecture with S-Box optimization.LNCS 2248:ASIACRYPT 2001.Berlin:Springer, 2001:239—254

[5] 童元满, 王志英.一种抗DPA及HO-DPA攻击的AES算法实现技术.计算机研究与发展, 2009;46 (3) :377—383Dong Y Y, Wang Z Y.A DPA an d HO-DPA resistant implementation of AES.Journal of Computer Research and Development, 2009;46 (3) :377—383

[6] Bertoni G, Zaccaria V, Breveglieri L, et al.AES power attack based on induced cache miss and countermeasure.International Conference on Information Technology:Coding and Computing (ITCC'05) , 2005:586—591

[7] Tiri K, Akmal M, Verbauwhede I.A dynamic and differenrial CMOS logic with signal independent power consumption to withstad differential powe analysis on smart cards.ESSCIRC, 2002:403—406

[8] 成为.两种常用密码系统的功耗分析方法研究与实验验证.上海:上海交通大学, 2011Chen W.Research on power analysis and experimental verification of two common cryptosystems.Shanghai:Shanghai Jiaotong University, 2011

上一篇:幼儿体育下一篇:人称指示词语