基于布尔异或掩码转算术加法掩码的安全设计*

2018-03-21 00:56饶金涛何卫国
通信技术 2018年3期
关键词:掩码算术布尔

饶金涛,李 军,何卫国

0 引 言

能量攻击分析自1996年被提出后[1],各种能量攻击方法被提出,包括简单能量攻击分析、差分能量攻击分析[2]、相关性能量攻击分析[3]、碰撞攻击[4]、互信息能量攻击分析和模板攻击分析[5]等。利用这些攻击方法可以直接对密码设备进行攻击,进而提取密码设备的密钥。

针对以上各种攻击方法,各种防护方法也被提出。常见的防护方法有掩码防护、随机伪轮防护等。这些防护方法的主要目的是减弱敏感中间值和能耗之间的相关性,从而达到防护的目的。其中,掩码防护是常见的防护措施之一,基本原理是通过在密码模块的输入中加入随机数掩码数据,从而掩盖真实数据,同时设计相应的掩码脱掩电路,并将两种电路的输出结果结合运算进行消除掩码,以消除掩码技术对结果的影响。常见的两种掩码方法是布尔异或掩码和算法加法掩码。布尔异或掩码主要是异或运算设计的掩码,算术加法掩码的主要是加法或者减法运算设计的掩码。密码算法安全设计过程中,两种运算之间通常需要相互转换,实现掩码的脱掩。针对不同的密码算法,具体的设计方法不同[6-10]。

在CHES 2000会议上,Louis Goubin提出了一种布尔异或掩码转算术减法掩码算法。在CHES 2001会议上,Louis Goubin提出了两种掩码互转的方案。同时,Robert McEvoy在SHA1-256设计掩码方案时也提出了两种掩码互转的方案。以上掩码方案都是从布尔代数的数学基础出发,进行理论推导得出的。

本文针对掩码防护中的布尔异或掩码转算术加法掩码进行深入研究,站在电路设计的角度,提出了一种高效的转换方法。该方法能够有效保护敏感中间值,防护侧信道能量攻击分析。实验结果表明,该方法可以有效防护能量攻击分析。

1 能量攻击分析

式中,E(·)表示期望,Var(·)表示方差。当ρ的绝对值最大时,对应的猜测敏感信息即为正确的敏感信息。

能量攻击分析是侧信道攻击中最有效的方法之一,其中相关性能量攻击最具代表性。本节主要对相关性能量分析攻击进行描述。

2004年,Eric Brier等提出了相关性攻击分析[3]。相关性攻击分析主要是利用统计学中的皮尔逊相关系数ρ,攻击流程如下:

(1)在密码设备中,将N组不同的输入数据和存储在密码设备中的敏感信息(密钥等)进行运算,同时获取密码设备在运算过程中的能量消耗,记为H;

(2)通过猜测敏感信息,产生相应的假设中间值,然后根据假设中间值的汉明重量或者汉明距离,计算得到假设的能量消耗,记为W;

(3)计算H和W之间的线性相关系数:

2 布尔异或掩码转算术加法掩码设计

2.1 布尔异或掩码与算术加法掩码

布尔异或掩码转算术加法掩码在文献[6]中被提出,基本原理利用了二元域上的函数满足线性变换的性质。定义一个二元域上的函数:

r为随机数,x为敏感信息,则该函数在二元域上满足线性关系:

其中γ为新引入的随机数。令 A = ( x'⊕ r ) −r,从而得出:

令x'=x ⊕r,r 为随机数,通过式(6)变换计 算 A = ( x ⊕ r ⊕ r ) − r = x − r , 利 用A和r即 可 计算x+r。可见,整个运算过程中没有出现x,从而保证了安全性。

2.2 改进的布尔异或掩码转算术加法掩码方案

2.1 中的转换方法虽然可以保证转换过程中的安全性,但需要引入额外的随机数。本文从数字电路设计的角度出发,提出了一种布尔异或转换为算法加法掩码的电路。利用简单的门电路搭建了转换电路结构,具体思路如下:假设A为需要被掩盖的敏感数据,M为掩码。令P A M= ⊕ ,实施加法掩码时,令 Q = A+ M mod( 2n− 1 ),则:

其中Cout为进位。

令A、P、M、Q均为n比特的数据:

其中ai,mi,pi,qi∈GF(2),i=0,1…n-1,则:

具体的设计步骤如下:

输入P= A⊕ M 、 M ,输出Q = A+M

(1)X = P;

可以得知,只需要5步即可进行布尔异或掩码到算术加法掩码的转换,且从第1步到第5步都没有敏感数据A直接参与运算,有效防御了能量分析攻击和电磁分析攻击。

2.3 改进的布尔异或掩码转算术加法掩码的设计实现

根据2.2的设计方案,利用Verilog硬件描述语言,实现了该电路模块。随后,利用ModelSim仿真工具,得到如图1所示的仿真结果,其中标记之处为该模块输出的结果。该电路模块使用简单的逻辑门电路按照2.2中的步骤即可实现,及输入P和M,输出为Q和M。

图1 布尔异或掩码转算术加法掩码电路仿真结果

3 实测分析

3.1 测试环境

实测环境主要是采用SASEBO-G侧信道测试评估分析板,实验环境如图2所示。

图2 SAKURA-G侧信道能量分析评估板

SAKURA-G能量分析评估板,主要是对实现的算法模块进行侧信道信息泄露进行评估测试。它由两片FPGA芯片构成,一片实现算法,型号为XC6SLX75,另一片实现控制逻辑,型号为XC6SLX9。在实现算法的FGPA芯片的VCC端串接一个1 Ω的电阻,通过差分探头可以监测电阻上电压信号的改变,从而可以测试运算逻辑在运行过程中的能耗信息。

3.2 实测结果

本实验中,测试的目标主要是检测转换过程中是否有敏感信息的泄露,敏感信息是否得到了保护。在设计实验的过程中,保证输入数据P和M不断变换,利用示波器采集掩码转换过程中的功耗信息,共采集了10万条曲线,如图3所示。然后,利用PM⊕结果的汉明重量与能量曲线进行相关性运算,得出相关性计算结果,如图4所示。可见,PM⊕结果的汉明重量与能量曲线相关性几乎不存在,输出为32 bit。本次测试使用8 bit为单位,分为4组进行相关性测试。测试结果表明,该方法可以有效防御能量分析攻击。

图3 布尔掩码转算术加法掩码能量迹

4 结 语

本文提出了一种布尔异或掩码转代数加法掩码的安全设计方案,与同类设计相比,不需要引入额外的随机数,并采用Verilog语言进行了描述。在FPGA上进行设计综合,并进行实测攻击分析,实验结果表明该模块设计可以防护能量攻击分析,同时该模块可以用于密码算法掩码防护设计中。

[1] KOCHERP.Timing Attacks on Implementations of Diffie-Hellman,RSA,DSS,and Other Systems[C].The 16th Annual International Cryptology Conference. Santa Barbara,1996:104-113.

[2] KOCHERP,JAFFE J,JUN B.Differential Power Analysis[C].The 19th Annual International CryPtology Conference Santa Barbara,1999:388-397.

[3] ERIC B,CHRISTOPHE C,FRANCIS O.Correlation Power Analysis with a Leakage Model[C].Proceeding of 6th International Workshop Cambridge,2004:16-29.

[4] CHEN A D,XU S,CHEN Y.Collision-based Chosenmessage Simple Power Clustering Attack Algorithm[J].China Communications,2013,10(05):114-119.

[5] SURESH C,JOSYULA R,PANKAJ R.Template Attacks[C].Proceedings of 4th International Workshop Redwood Shores,2003:13-28.

[6] Goubin L.A Sound Method for Switching between Boolean and Arithmetic Masking[C].International Workshop on Cryptographic Hardware and Embedded Systems,2001:3-15.

[7] Mcevoy R,Tunstall M,Murphy C,et al.Differential Power Analysis of HMAC Based on SHA-2,and Countermeasures[C].Information Security Applications,International Workshop,Revised Selected Papers DBLP,2007:317-332.

[8] Goli,Dj J.Techniques for Random Masking in Hardware[J].IEEE Transactions on Circuits & Systems I Regular Papers,2007,54(02):291-300.

[9] 李丁,吕永其.能量分析攻击基本原理和实践验证[J].信息安全与通信保密,2007(01):117-118.LI Ding,LV Yong-qi.Fundamental Principles and Practical Verification of Energy Analysis Attack[J].Information Security and Communications Security,2007(01):117-118.

[10] Won Y S,Han D G.Efficient Conversion Method from Arithmeticto Boolean Masking in Constrained Devices[C].Constructive Side-Channel Analysis and Secure Design,2017:120-137.

猜你喜欢
掩码算术布尔
布尔的秘密
Nextel 720陶瓷纤维拉伸强度的韦布尔统计分析研究
什么是IPv6的前缀长度
低面积复杂度AES低熵掩码方案的研究
布尔和比利
布尔和比利
担心等
算算术
学算术
小狗算算术