APP下载

针对DES密码芯片的两种功耗攻击对比分析

2012-09-21罗晓飞

成都信息工程大学学报 2012年6期
关键词:样本量功耗差分

罗晓飞, 陈 运, 陈 俊, 杨 斌

(成都信息工程学院应用密码学研究所,四川成都 610225)

0 引言

目前智能卡(smart card)广泛应用于交通、金融等各行各业,其安全性显得格外重要。1999年,由Paul Kocher等人提出的差分功耗分析[1](Differential Power Analysis,DPA)方法成功破解智能卡数据加密标准[2](Data Encryption Standard,DES)算法密钥,功耗分析攻击技术引起人们广泛的关注。随着功耗分析技术的发展,提出了相关性功耗分析[3](Correlation Power Analysis,CPA)方法。

文献[4]将差分功耗分析应用于MCU 8051芯片,成功获取到DES算法的密钥。文献[5-6]用差分功耗分析破解了FPGA芯片的DES算法。文献[7]用相关性功耗分析成功破解DES算法密钥。文献[8]用相关性功耗分析破解Xilinx FPGA芯片的DES密码算法。文献[9-13]用相关性功耗分析破解了AES密码算法。上述文献都集中描述DPA和CPA破解密码芯片的方法,文中以FPGA芯片对称密码DES算法为攻击对象,对两者的适用环境及其特点展开分析。

1 差分功耗分析(DPA)

DPA攻击原理是通过统计记录密码设备对大量不同数据的加密或者解密时产生的功耗,并通过分析功耗曲线得出密码设备的密钥。

DPA分析的具体步骤[14]如下:

(1)选择密码算法的某个中间值作为攻击点。该中间值必须与密钥相关(如经过S盒输出的值),通过该中间值得到部分密钥信息。

(2)记录功耗曲线。记录大量的数据d加密或者解密运算时的功耗曲线

(3)计算假设中间值。根据每一个可能的密钥k值,将(2)中所有数值 d与假设的密钥k进行加密或者解密运算,得到假设中间值。

(4)建立功耗分析模型,构建区分函数。通过建立的功耗分析模型将假设的中间值与功耗建立关系,从而通过区分函数将(3)中计算得到的假设中间值区分成两类,并将数据集d对应的功耗曲线分组成功耗曲线集合S0和集合 S1。

(5)将分组后的功耗曲线集合S0和集合S1分别平均后得到两条功耗曲线 T0和 T1。

(6)将平均后的两条功耗曲线 T0和T1差分得到曲线R。如果密钥k猜测正确,那么差分后得到的R曲线在相应时刻差值并不趋近于0,而表现出明显的尖峰,如果密钥k猜测错误,那么R曲线整个时间段的功耗值都趋近于0,没有尖峰。

2 相关性功耗分析(CPA)

CPA攻击与DPA攻击的相同点是通过统计大量数据在加密或者解密时的功耗信息,从而破解出密码设备的密钥信息。

CPA分析的具体步骤[14]如下:

(1)选择密码算法的某个中间值作为攻击点。该中间值必须与密钥相关(如经过S盒输出的值),通过该中间值得到部分密钥信息。

(2)记录功耗曲线。记录m个数据d加密或者解密运算时的功耗曲线。功耗曲线表示成 W={w1,w2,…,wm}-1,其中 wi={t1,t2,…,tn}那么就构成m×n的矩阵。

(3)计算假设中间值。根据每一个可能的密钥k值,将(2)中所有数值 d与假设的密钥k进行加密或者解密运算,得到假设中间值。

(4)建立功耗分析模型,将假设的中间值映射成功耗值 H={h′1,h′2,…,h′m}-1,构成 m×1的矩阵,将 H与W 分别计算每个时刻相关性值,将得到1×n的矩阵或表示成向量R。如果密钥猜测正确,那么矩阵R中,对应的运算时刻相关性值并不趋近于0,在曲线上表现出明显的尖峰,如果猜测错误,所有的相关性值都趋近于0,在曲线上表现出没有尖峰。

3 DES算法的DPA和CPA分析

数据加密标准DES算法是由美国IBM公司于20世纪70年代中期的一个密码算法发展而来的,是众所周知的对称加密算法,现广泛用于ATM、智能卡等加密设备中。该算法是一种采用传统的置换、替代操作完成加密的分组密码。明文以64bit分组,密钥长度64bit,有效密钥长度56bit,8bit密钥为校验位。DES算法的加密和解密使用同一个密钥运算,因此其安全性取决于密钥[15]。

因为DES算法加密解密使用同一密钥,DPA和CPA分析可选择与密钥相关的第一轮或者第16轮分析。DES算法中的大多数操作都是线性变换的,唯一非线性的操作是S盒置换。因此将输入S盒和输出S盒的值作为中间值分析。本次实验选择分析DES算法第一轮运算,图1为DES算法第一轮的运算流程图。

图1 DES算法第一轮运算的流程原理图

3.1 功耗分析平台

该实验平台由示波器、PC工作站、电源等设备组成。平台示意图如图2所示。

PC工作站向FPGA2发送控制指令数据,FPGA2接收数据并通过串口转发到FPGA1执行加密运算。示波器采集功耗轨迹波形数据通过以太网保存到PC工作站。

在实际环境中,读卡器等设备没有触发信号,不能通过示波器捕捉到运算的功耗轨迹曲线,实验模拟真实环境,通过另外一块FPGA设置触发信号,控制发送数据。

图2 功耗分析平台整体框架示意图

3.2 功耗曲线分析

对称密码DES算法一次完整运算伴有16轮迭代运算。通过示波器配置为1M采样点,1M采样频率的情况下,采集DES算法的完整波形如图3所示,从图3可以清晰的看到16个尖峰,16块间隔区域,可以推测出每次for指令都有一次明显的尖峰。

图3 DES一次加密运算的功耗轨迹图

实验选择DES算法第一轮运算分析,因此采集第一轮运算的功耗曲线。示波器配置如表1所示。

表1 示波器设置

在该配置下,采集的第一轮原始功耗曲线如图4所示。

3.3 实验对比分析

差分功耗分析(DPA)和相关性功耗分析(CPA)的攻击分析有不同的特点。在原始曲线不做任何处理的情况下。DPA和CPA攻击破解率同曲线样本量的关系呈现结果如图5所示。

图4 DES算法第一轮运算原始功耗曲线

图5 功耗曲线样本量同密钥破解成功率的关系图

图5所示,原始功耗曲线在不做任何处理的情况下,直接实施DPA和CPA攻击。DPA攻击在曲线样本量超过34000条,密钥破解率大于0,随着样本量的增加,破解率逐渐提升,在曲线样本量达到86000条以上时,破解密钥成功率为100%。而CPA攻击在该条件下,样本量从0~100000条都没有破解出密钥。根据文献[1]中的描述,DPA分析结果如图6所示。

图6 DPA分析的结果

同样将原始功耗曲线经过合适的滤波处理后,再做DPA和CPA攻击。滤波后的功耗曲线如图7所示。DPA和CPA攻击破解率同曲线样本量关系呈现如图8所示。

图7 原始功耗曲线滤波后的效果图

图8 功耗曲线样本量同密钥破解成功率的关系图

图8所示,原始曲线滤波后,CPA攻击在曲线样本量超过2200条时,破解率大于0,随着样本量的增加,破解率逐渐提升,在曲线样本量达到5500~12000条时,破解密钥成功率为100%,然而曲线样本量超过12000条后,CPA攻击逐渐减弱,并在23000条以上时CPA攻击失效。同时滤波后DPA攻击效果更好,整体趋势上与原始曲线的条件下保持一致。根据文献[3]的描述,CPA分析结果如图9所示。

图9 CPA分析的结果

4 结论

通过上述实验,可以分析得出如下结论:

(1)噪声对DPA和CPA攻击的影响力不同。噪声对CPA攻击的影响较大,在噪声较大的情况下,CPA攻击很弱,说明CPA对噪声敏感;而噪声对DPA的影响较弱,只要有足够的样本量,DPA攻击就能生效,说明DPA对噪声不敏感。

(2)DPA攻击具有通用分析的特点,CPA攻击具有低样本量攻击的特点。从图5和图8的分析中可以看出,DPA在噪声很大的情况下和滤波后噪声较小的情况下,均能完成对DES算法的成功攻击,并且走势相同,说明DPA具有较强的普适性,通用分析能力很强;而图7显示出CPA在功耗曲线滤波预处理后,相比DPA而言,完成攻击分析的曲线样本很少,说明CPA具有低样本量攻击的特点,在一定条件下体现出更强的攻击性。

总之,DPA和CPA攻击方法各自的特点不同、适用的环境也不同。分析者可根据实际情况灵活选用或组合应用两种分析方法,提高功耗边信息泄露的综合检测能力。

致谢:感谢成都市高校院所应用成果转化项目(12DXYB340JH-002)对本文的资助

[1] Paul Kocher,Joshua Jaffe,Benjamin Jun.Differential Power Analysis[C].Lecture Notes In Computer Science;Proceedings of the 19th Annual International Cryptology Conference on Advances in Cryptology,1999,1666:388-397.

[2] NBS,Data Encryption Standard.FIPS PUB46[EB/OL].National Bureau of Standards.WashingtonD,C.,1977.

[3] Eric Brier,Christophe Clavier,Francis Olivier.Correlation Power Analysis with a Leakage Model[C].CHES 2004,LNCS 3156,2004:16-29.

[4] Manfred Aigner,Elisabeth Oswald.Power Analysis Tutorial[D].Institute for Applied Information Processing and Communication University of Technology Graz Inffeldgasse 16a,A-8010 Graz,Austria,1999.

[5] Fran,cois-Xavier Standaert1.Power Analysis Attacks Against FPGA Implementations of the DES[J].J Becker,M Platzner,S Vernalde(Eds.):FPL 2004,LNCS 3203,2004,84-94.

[6] 陈开颜,赵强,张鹏,等.DES加密实现的差分功耗分析仿真[J].军械工程学院学报,2006,18(3).

[7] 严迎建,樊海锋,徐金甫,等.针对DES密码芯片的CPA攻击仿真[J].电子技术应用,2009(7).

[8] Weibo Pan,William P,Marnane A.Correlation Power Analysis Attack against Tate Pairing on FPGA[J].A Koch(Eds.):ARC 2011,LNCS 6578,2011,340-349.

[9] Huiyun Li,Keke Wu.Enhanced Correlation Power AnalysisAttack on Smart Card[C].IEEE DOI 10.1109/ICYCS.2008.230.

[10] Siddika Berna Ors,Frank Gurkaynak,Elisabeth Oswald,et al.Power-Analysis Attack on an ASIC AES implementation[C].In the proceedings of ITCC 2004,Las Vegas,April 2004,5-7.

[11] William Hnath,Jordan Pettengill.Differential Power Analysis Side-Channel Attacks in Cryptograph[C].A Major Qualifying Project submitted to the Faculty of Worcester Polytechnic Institute in partial fulfillment of the requirements for the Degree of Bachelor of Science.2010.

[12] 潘海锋,徐金甫,严迎建.针对AES密码芯片的CPA攻击[J].计算机工程与设计,2010,31(1).

[13] Thanh-Ha Le,Jessy C,ediere,et al.A Proposition for Correlation Power Analysis Enhancement[M].L Goubin,M Matsui(Eds.):CHES 2006,LNCS 4249,2006,174-186.International Association for Cryptologic Research 2006.

[14] Stefan Mangard,Elisabeth Oswald Thomas Popp.能量分析攻击[M].北京:科学出版社,2010.

[15] ANSI X3.92-1981美国国家标准——数据加密算法[S].美国国家标准协会,1981.

猜你喜欢

样本量功耗差分
RLW-KdV方程的紧致有限差分格式
基于任务映射的暗硅芯片功耗预算方法
医学研究中样本量的选择
数列与差分
航空装备测试性试验样本量确定方法
揭开GPU功耗的面纱
数字电路功耗的分析及优化
IGBT模型优化及其在Buck变换器中的功耗分析
基于差分隐私的大数据隐私保护
相对差分单项测距△DOR