《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 一種針對分組密碼的抗能量攻擊電路設計
一種針對分組密碼的抗能量攻擊電路設計
2019年電子技術應用第8期
嚴迎建,鄭 震
信息工程大學 三院,河南 鄭州450001
摘要: 為提高分組密碼算法電路的抗能量攻擊能力,參考掩碼技術的思想,基于取反的基本操作提出了反向交錯的概念,對反向交錯的關鍵性質進行了證明,以此為依據設計了一種反向交錯的電路結構,并通過加入一級寄存器的方式打亂時序對齊,得到了優化的電路結構,通過功耗隨機化的方法提升了算法的抗能量攻擊能力。最后將該結構應用到AES-128算法電路中并進行了加解密功能、防護功能和運算性能三方面的驗證,結果表明本文設計的電路結構能正確進行加解密,且具有較好的防護效果和運算性能。
中圖分類號: TP309.7
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190546
中文引用格式: 嚴迎建,鄭震. 一種針對分組密碼的抗能量攻擊電路設計[J].電子技術應用,2019,45(8):109-112,117.
英文引用格式: Yan Yingjian,Zheng Zhen. An anti-power attack circuit design for block cipher[J]. Application of Electronic Technique,2019,45(8):109-112,117.
An anti-power attack circuit design for block cipher
Yan Yingjian,Zheng Zhen
3rd College,Information Engineering University,Zhengzhou 450001,China
Abstract: In order to improve the anti-power attack capability of the block cipher algorithm circuit, the concept of reverse interleaving is proposed based on the idea of masking technology. The key properties of reverse staggering are proved. An inverted interleaved circuit structure is designed, the timing alignment is disturbed by adding a first-level register, and an optimized circuit structure is obtained. The anti-energy attack capability of the algorithm is improved by power randomization. Finally, the structure is applied to the AES-128 algorithm circuit and verified by encryption, decryption, protection and computational performance. The results show that the circuit structure designed in this paper can be correctly encrypted and decrypted, and has better protection effect and computing performance.
Key words : block cipher;anti-power analysis attack;masking technique;reverse interleaving;power randomization

0 引言

    在密碼設備的運行過程中,會不可避免地泄漏出功耗、電磁、時間等信息,攻擊者可以通過這些信息獲得密鑰的相關信息。攻擊者通過設備泄漏出的能耗信息進行攻擊的方式稱為能量攻擊。能量攻擊實施的依據是密碼設備的能量消耗依賴于設備所執行的密碼算法的中間值[1]。要抵御這種攻擊可以試圖降低甚至消除這種依賴性,實現功耗的隨機化。

    目前主要的防護技術有隱藏技術和掩碼技術等。隱藏技術主要是使算法運行過程中的功耗盡可能地隨機,從而達到防護目的;掩碼技術分為布爾掩碼、多項式掩碼和內積掩碼等,主要通過變換算法運行中間值或掩蓋中間結果,增加了攻擊者破譯密碼的難度。

    在掩碼技術的范疇內,MIYAJAN A等人在文獻[2]中介紹了一種針對AES的掩碼方案,使用卡諾圖來降低運算復雜度,使用單指令多數據技術執行并行處理,該方案所實現的加密周期較短,但就資源消耗方面來看其占用了較多資源,是一種犧牲資源提升運算速率的方案;GROSS H等人在文獻[3]中實現了在與專用電路相同的成本下對多元高階能量攻擊的抵抗,該方案具有較高的靈活性,但其適用范圍較小;李浪等[4]設計了一種基于隨機選擇變換的掩碼方案,通過隨機產生等概率漢明重量的掩碼組,對S盒使用隨機轉置矩陣變換,對不同的輪函數加以相應的掩碼防護,該方案保護了算法運行過程的中間值,但是運算效率降低較為明顯;PU S等[5]針對SM4算法提出并實現了一種基于布爾矩陣的具有可證明安全性的掩碼方案,但經實驗評估,該方案的總體性能較為一般。此外還有很多學者對掩碼技術進行了不同方面的研究,總的來說,目前國內外對掩碼技術的研究較為廣泛,但其依然具有較大的可挖掘性。

1 反向交錯

    dzyj1-1-x1.gif

dzyj1-1-x2.gif

    以上結果表明,當樣本量N足夠大時,對加入了反向交錯結構的電路實施能量攻擊時,相關系數的值將大大減小且逼近0。因此,可通過加入反向交錯結構來增強分組密碼算法電路的抗能量攻擊能力。

2 反向交錯的電路設計

    為滿足反向交錯的條件,應使算法運行過程的中間值隨機地在取反與不取反之間交替。

    參考分組密碼算法電路實現的相關理論可知,在分組密碼的輪運算中插入反向交錯的電路結構難度較大,因此,本文主要考慮在輪運算的外部插入防護單元。為實現密碼運算中間數值的取反,本文在寄存器前后加入反向器,通過隨機數控制選擇端口,進而控制數值是否取反。基本電路結構如圖1所示。

dzyj1-t1.gif

    分組密碼的輪運算中S盒等非線性映射的存在使得在進行輪運算F之前必須將取反的中間值變換成正確值,否則不能得到正確的加解密結果。另一方面,數值不取反將導致被攻擊時算法的中間值與防護之前沒有變化,不能實現算法運行過程中的功耗隨機化

    因此,圖1中的基礎電路結構僅能防御針對寄存器R1的能量攻擊,而對于針對密碼運算部件(即輪運算F中的部件)的攻擊則無法達到預期的防護效果,為實現功耗的隨機化,須對電路結構作進一步優化。

    為實現整體電路的功耗隨機化,本文結合打亂時序對齊[6-8]的對策,參考插入互補寄存器[9-10]的方法,在寄存器R1后加入一級寄存器R2,通過控制數據選擇器,隨機地延長加密周期以實現對時序的打亂,具體電路結構如圖2所示。

dzyj1-t2.gif

    較之圖1中的基本電路結構,優化后結構的控制信號變為兩個信號的邏輯與。圖2中,控制信號Sel是通過隨機數發生器生成的隨機數,根據電路的結構進行分析易知,要使整個結構實現功耗隨機化,控制信號Sel應根據隨機數首比特的不同按照表1中的序列生成。

dzyj1-b1.gif

    現有對分組密碼的能量攻擊均選擇首輪或末輪為攻擊點,所以對反向交錯結構的設計主要考慮到對首輪和末輪的防護。當算法運行到首輪或末輪時,寄存器R2被R1賦值,電路通過寄存器R2來控制電路進行時序的打亂:當控制信號為1時,寄存器R2保證了電路對時序進行打亂;控制信號為0時,寄存器R2無效,數據選擇器均為0輸入端有效,電路正常進行輪運算。當算法運行到中間輪次時,通過兩級取反保證了輪運算輸入的正確性,電路正常加密。

    由圖2分析可得,根據控制信號Sel產生的隨機數的首比特不同,被攻擊樣本的時序可分為兩種,如圖3所示(F(n)表示第n輪運算的輸出)。

dzyj1-t3.gif

    下面討論優化的反向交錯結構在首輪和末輪的抗攻擊能力:

    (1)首輪運算抗攻擊能力

    當攻擊者對輪運算外部的寄存器進行攻擊時,不同樣本在電路的第一個時鐘周期內,F(0)和~F(0)交替出現,符合反向交錯的條件;當攻擊者對輪運算內部的密碼運算部件進行攻擊時,在兩種時序下,第二個時鐘周期(即第二輪運算)中輪運算的輸入分別為F(0)和隨機數,攻擊者無法獲取信息泄漏。

    (2)末輪運算抗攻擊能力

    對于不同樣本,在第n+1個時鐘周期內,數據選擇器的置數端為0,寄存器R2無效,而寄存器R1在兩種時序下分別為F(隨機數)和F(n-1),攻擊者無法對輪運算外部的寄存器進行攻擊;在兩種時序下,第n+1和第n+2個時鐘周期之間的取值分別為F(隨機數)和F(n)、F(n-1)和F(n),攻擊者同樣無法獲取信息泄漏。

    綜上所述,圖2中優化的反向交錯結構在分組密碼運算的首輪和末輪均能夠實現功耗隨機化,具有良好的抗能量攻擊能力。

3 反向交錯電路的應用與驗證

    為對本文提出的反向交錯結構的抗能量攻擊性能進行驗證,將優化后的結構加入到AES-128算法電路中,其整體電路如圖4所示。

dzyj1-t4.gif

    下面從加解密功能、抗攻擊能力和電路性能三方面對本文所設計的結構進行驗證,并與未防護的電路進行對比。

3.1 加解密功能驗證

    基于優化反向交錯結構的AES-128算法具有兩種不同加密時序,以加密功能為例,使用VCS對加入防護前的電路和圖4中的電路進行功能仿真,得到結果如圖5所示。

dzyj1-t5.gif

    圖中clk為時鐘信號,load為加載信號,trng_128為隨機數,data_in為明文輸入,data_o為密文輸出,key為密鑰,state為寄存器,sel為控制信號。仿真驗證的結果表明,經防護的AES-128電路能夠在12個時鐘周期內,以2種不同加密時序順利實現加密功能。

3.2 防護能力驗證

    對防護效果進行驗證時,首先在Verilog硬件語言中對所設計的電路進行實現,而后運用Vivado軟件合成.bit格式的文件并下載至Chipwhisperer實驗開發板中,得到如圖6所示的能量跡。

dzyj1-t6.gif

    由圖6可知,在加入優化的反向交錯結構后,算法電路的加密延長了一個時鐘周期,但每個周期內功耗特性與防護前基本一致,符合預期效果。

    對加密的能量跡進行采集后,進一步對加入防護前后的電路進行攻擊并對比,對優化的反向交錯結構的防護能力進行分析。對防護前后的電路分別實施攻擊,結果如圖7所示。

dzyj1-t7.gif

    防護前,攻擊樣本量為600時即可得到正確密鑰值,正確密鑰對應的相關系數值為0.225;防護后,樣本量為10 000時相關系數的值出現了多個尖峰,仍不足以得到正確密鑰值,攻擊前所設定的正確密鑰值對應的相關系數值降至0.016。根據以上結果可知,加入反向交錯的電路結構能夠大大提升電路的抗能量攻擊能力。

3.3 性能驗證

    對電路性能進行分析時在 Design Compiler上進行綜合實現,對加入反向交錯結構的電路進行性能評估,并與防護前的電路進行對比,結果如表2所示。

dzyj1-b2.gif

    分析上表可知,在加入反向交錯結構后,組合邏輯的增加導致了關鍵延遲增加,電路的最大頻率有小幅度的降低;加密周期數的增加使得防護后的吞吐率有所降低;但由于兩級寄存器的加入,時序收斂更加容易,使面積和等效與非門數目不增反降,一定程度上減小了資源消耗。隨機數的引入,對能量消耗起到了很好的混淆效果,使得能量攻擊難度加大。綜上所述,加入反向交錯結構的電路基本達到了防護效果和電路性能的相對平衡。

4 結論

    本文從功耗隨機化的角度出發,提出了反向交錯的定義,設計出了滿足反向交錯的基本電路結構并進行了優化。最后將優化的電路結構應用到AES-128算法中,進行了多方面的驗證,結果證明本文設計的反向交錯的電路結構具有較強的抗能量攻擊能力和較好的電路性能,具有較高的可參考性。

    同時本文存在一些可改進的方面:設計電路時思路不夠靈活,選取的元件種類較為單一;優化結構中加入的寄存器R2利用率較低;時序分析較為簡單,在進行驗證時利用的部分工具和實際攻防有一定差別。

    下一步將針對電路的最高頻率和吞吐率有所下降的問題進行進一步的優化,使性能達到更優水平。

參考文獻

[1] 馮登國,周永彬,劉繼業,等.能量分析攻擊[M].北京:科學出版社,2010.

[2] MIYAJAN A,HUANG C H,AL-SOMANI T F.Speedup higher-order masking of AES using normal basis and SIMD[C].International Conference on Computer Engineering & Systems,2017.

[3] GROSS H,MANGARD S,KORAK T .An efficient side-channel protected AES implementation with arbitrary protection order[C].Cryptographers′ Track at the RSA Conference.Springer,Cham,2017.

[4] 李浪,歐雨,鄒祎.一種AES隨機變換掩碼方案及抗DPA分析[J].密碼學報,2018,5(4):112-124.

[5] PU S,GUO Z,LIU J,et al.Boolean matrix masking for SM4 block cipher algorithm[C].International Conference on Computational Intelligence & Security.IEEE,2018.

[6] FOLGADO D,BARANDAS M,MATIAS R,et al.Time alignment measurement for time series[J].Pattern Recognition,2018,81:268-279.

[7] BHATTACHARYA S,REBEIRO C,MUKHOPADHYAY D.A formal security analysis of even-odd sequential prefetching in profiled cache-timing attacks[C].Hardware & Architectural Support for Security & Privacy,2016.

[8] YI J,DANESHRAD B,POTTIE G J.A practical approach to joint timing, frequency synchronization and channel estimation for concurrent transmissions in a MANET[J].IEEE Transactions on Wireless Communications,2017,16(6):3461-3475.

[9] TANIMURA K,DUTT N.ExCCel: Exploration of complementary cells for efficient DPA attack resistivity[C].IEEE International Symposium on Hardware-oriented Security & Trust,2010.

[10] Zhang, Baoning,Ge Wei,Wang Zhen.A distributed crossdomain register filefor reconfigurable cryptographic processor[J].東南大學學報(英文版),2017,33(3):260-265.



作者信息:

嚴迎建,鄭  震

(信息工程大學 三院,河南 鄭州450001)

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 久草在线视频资源 | 一级二级三级毛片 | 日本免费一区二区三区a区 日本免费一区二区三区看片 | 国产九九精品 | 国产精品人成人免费国产 | 国产91美女 | 男人的天堂视频在线 | www.av在线免费观看 | 日本aaaa级片| 亚洲国产中文字幕 | 亚洲成年www | 日韩欧美亚洲国产 | 免费一级毛片在线播放视频 | 国内自拍第一页 | 亚洲午夜综合网 | 国产日本三级 | 亚洲免费视频一区二区三区 | 亚洲综合日本 | 久久dj视频 | 亚洲国产一区二区a毛片 | 99久热在线精品视频播放6 | 精品一区二区三区免费观看 | 日本加勒比在线播放 | 最近中文在线中文 | 亚洲国产高清视频 | 久久久久国产成人精品亚洲午夜 | 久久久毛片免费全部播放 | 天堂最新版 | 欧美片能看的一级毛片 | 91精品国产乱码久久久久久 | 国产97公开成人免费视频 | 国内精品影院久久久久 | 2019在线亚洲成年视频网站 | 亚洲无线一二三区2021 | 欧美一及片 | 成人午夜视频在线观 | 日本欧美做爰全免费的视频 | 毛片在线全部免费观看 | 日本加勒比在线播放 | 9191在线亚洲精品 | 澳门毛片免费观看 |