?

基于布爾異或掩碼轉算術加法掩碼的安全設計*

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低熵掩碼方案的研究
布爾和比利
布爾和比利
擔心等
算算術
學算術
小狗算算術
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合