基於布爾異或掩碼轉算術加法掩碼的安全設計
摘要:針對布爾異或掩碼轉算術加法掩碼演算法需要額外引入隨機數的缺點,提出了一種基於數字電路設計的高效轉換方法。該方法站在高效電路設計的角度,將布爾異或掩碼轉換成算術加法掩碼,同時保證在數據轉換過程中泄露的能量消耗和敏感中間值無依賴關係,有效保護了敏感信息。該電路邏輯結構簡單,並在FPGA開發板上進行了實測攻擊分析。實驗結果表明,該方法具有有效性,拓展了安全防護電路的設計思路。
正文內容:
0 引言
能量攻擊分析自1996年被提出後[1],各種能量攻擊方法被提出,包括簡單能量攻擊分析、差分能量攻擊分析[2]、相關性能量攻擊分析[3]、碰撞攻擊[4]、互信息能量攻擊分析和模板攻擊分析[5]等。利用這些攻擊方法可以直接對密碼設備進行攻擊,進而提取密碼設備的密鑰。
針對以上各種攻擊方法,各種防護方法也被提出。常見的防護方法有掩碼防護、隨機偽輪防護等。這些防護方法的主要目的是減弱敏感中間值和能耗之間的相關性,從而達到防護的目的。其中,掩碼防護是常見的防護措施之一,基本原理是通過在密碼模塊的輸入中加入隨機數掩碼數據,從而掩蓋真實數據,同時設計相應的掩碼脫掩電路,並將兩種電路的輸出結果結合運算進行消除掩碼,以消除掩碼技術對結果的影響。常見的兩種掩碼方法是布爾異或掩碼和演算法加法掩碼。布爾異或掩碼主要是異或運算設計的掩碼,算術加法掩碼的主要是加法或者減法運算設計的掩碼。密碼演算法安全設計過程中,兩種運算之間通常需要相互轉換,實現掩碼的脫掩。針對不同的密碼演算法,具體的設計方法不同[6-10]。
在CHES 2000會議上,Louis Goubin提出了一種布爾異或掩碼轉算術減法掩碼演算法。在CHES 2001會議上,Louis Goubin提出了兩種掩碼互轉的方案。同時,Robert McEvoy在SHA1-256設計掩碼方案時也提出了兩種掩碼互轉的方案。以上掩碼方案都是從布爾代數的數學基礎出發,進行理論推導得出的。
本文針對掩碼防護中的布爾異或掩碼轉算術加法掩碼進行深入研究,站在電路設計的角度,提出了一種高效的轉換方法。該方法能夠有效保護敏感中間值,防護側信道能量攻擊分析。實驗結果表明,該方法可以有效防護能量攻擊分析。
1 能量攻擊分析
能量攻擊分析是側信道攻擊中最有效的方法之一,其中相關性能量攻擊最具代表性。本節主要對相關性能量分析攻擊進行描述。
2004年,Eric Brier等提出了相關性攻擊分析[3]。相關性攻擊分析主要是利用統計學中的皮爾遜相關係數 ,攻擊流程如下:
(1)在密碼設備中,將 組不同的輸入數據和存儲在密碼設備中的敏感信息(密鑰等)進行運算,同時獲取密碼設備在運算過程中的能量消耗,記為 ;
(2)通過猜測敏感信息,產生相應的假設中間值,然後根據假設中間值的漢明重量或者漢明距離,計算得到假設的能量消耗,記為W ;
(3)計算 和 之間的線性相關係數:
2 布爾異或掩碼轉算術加法掩碼設計
2.1 布爾異或掩碼與算術加法掩碼
布爾異或掩碼轉算術加法掩碼在文獻[6]中被提出,基本原理利用了二元域上的函數滿足線性變換的性質。定義一個二元域上的函數:
r為隨機數,x為敏感信息,則該函數在二元域上滿足線性關係:
2.2 改進的布爾異或掩碼轉算術加法掩碼方案
2.1中的轉換方法雖然可以保證轉換過程中的安全性,但需要引入額外的隨機數。本文從數字電路設計的角度出發,提出了一種布爾異或轉換為演算法加法掩碼的電路。利用簡單的門電路搭建了轉換電路結構,具體思路如下:假設為需要被掩蓋的敏感數據,M為掩碼。
2.3 改進的布爾異或掩碼轉算術加法掩碼的設計實現
根據2.2的設計方案,利用Verilog硬體描述語言,實現了該電路模塊。隨後,利用ModelSim模擬工具,得到如圖1所示的模擬結果,其中標記之處為該模塊輸出的結果。該電路模塊使用簡單的邏輯門電路按照2.2中的步驟即可實現,及輸入P 和M ,輸出為Q 和M 。
3 實測分析
3.1 測試環境
實測環境主要是採用SASEBO-G側信道測試評估分析板,實驗環境如圖2所示。
3.2 實測結果
本實驗中,測試的目標主要是檢測轉換過程中是否有敏感信息的泄露,敏感信息是否得到了保護。在設計實驗的過程中,保證輸入數據 和 不斷變換,利用示波器採集掩碼轉換過程中的功耗信息,共採集了10萬條曲線,如圖3所示。然後,利用 結果的漢明重量與能量曲線進行相關性運算,得出相關性計算結果,如圖4所示。可見, 結果的漢明重量與能量曲線相關性幾乎不存在,輸出為32 bit。本次測試使用8 bit為單位,分為4組進行相關性測試。測試結果表明,該方法可以有效防禦能量分析攻擊。
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 Chosen-message 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.
[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.
作者:饒金濤,李 軍,何衛國
單位:成都三零嘉微電子有限公司,四川 成都 610041
作者簡介:饒金濤,男,碩士,工程師,主要研究領域為信息安全、側信道攻擊與防禦;
李 軍,男,碩士,工程師,主要研究領域為密碼晶元設計;
何衛國,男,碩士,高級工程師,主要研究領域為集成電路設計。
本文刊登在《通信技術》2018年第3期(轉載請註明出處,否則禁止轉載)
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
※一款超寬頻天線研究
※基於密度峰值優化的Canopy-Kmeans並行演算法
TAG:通信技術編輯部 |