《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于能量攻擊的FPGA克隆技術(shù)研究
基于能量攻擊的FPGA克隆技術(shù)研究
2017年電子技術(shù)應(yīng)用第4期
許紀(jì)鈞,嚴(yán)迎建
解放軍信息工程大學(xué),河南 鄭州450000
摘要: 針對FPGA克隆技術(shù)展開研究,指出其關(guān)鍵問題在于對加密密鑰的攻擊,并以Xilinx公司7系列FPGA為列,討論了采用AES-256 CBC模式解密條件下的攻擊點函數(shù)選擇方法,通過單比特功耗模型實施差分能量攻擊,成功恢復(fù)了256 bit密鑰。同時,針對不可直接代入密鑰檢驗正確性的問題,設(shè)計了一種基于DPA攻擊相關(guān)系數(shù)極性的檢驗方法,避免了密鑰錯誤引起FPGA錯誤配置,實驗表明,該方法能夠有效消除相關(guān)系數(shù)的“假峰”現(xiàn)象。
中圖分類號: TP309.7
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2017.04.012
中文引用格式: 許紀(jì)鈞,嚴(yán)迎建. 基于能量攻擊的FPGA克隆技術(shù)研究[J].電子技術(shù)應(yīng)用,2017,43(4):47-50.
英文引用格式: Xu Jijun,Yan Yingjian. FPGA cloning technology based on power attack[J].Application of Electronic Technique,2017,43(4):47-50.
FPGA cloning technology based on power attack
Xu Jijun,Yan Yingjian
The PLA Information Engineering University,Zhengzhou 450000,China
Abstract: Aiming at the FPGA cloning technology, it is pointed out that the key problem is attacking the encryption key. Attack function selection method against AES-256 CBC mode decryption is discussed with Xilinx 7 series FPGA as the column. 256 bit key was successfully recovered by performing a differential power attack with a single-bit power model. Meanwhile, in order to solve the problem that the key cannot be directly substituted into the correctness of the key test, a test method based on the polarity of the DPA attack correlation coefficient is designed, to avoid the misconfiguration caused by error key. Experimental results show that the method can effectively eliminate the "false peak" phenomenon.
Key words : FPGA cloning technology;power attack;AES-256 CBC;correlation coefficient;test method

0 引言

    隨著可編程技術(shù)的不斷發(fā)展,F(xiàn)PGA已經(jīng)成為各類商業(yè)系統(tǒng)的重要組成部分。然而,由于配置文件(比特流)必須存儲在FPGA外部,通過竊取外部存儲器后,攻擊者可直接盜版生產(chǎn),還可通過FPGA逆向工程(FPGA Reverse Engineering)獲得硬件設(shè)計[1,2]或加入硬件木馬[3,4],對產(chǎn)品進(jìn)行偽造和破壞,嚴(yán)重地威脅了用戶知識產(chǎn)權(quán)。

    為克服這一漏洞,Xilinx公司在ISE、Vivado等設(shè)計軟件中增加AES-256 CBC加密配置方式,并在FPGA內(nèi)部集成解密模塊,從而防止硬件設(shè)計被克隆和偽造[5]。然而,這種方式并不完全可靠。2011年Moradi等人使用差分能量攻擊(Differential Power Attack,DPA)恢復(fù)了Virtex-II Pro系列FPGA加密比特流所用3DES算法密鑰[6],引起了工業(yè)界的廣泛關(guān)注。此后,使用AES-256算法加密的Xilinx 4系列和5、6、7系列FPGA分別于2012年[7]和2016年[8]被DPA攻擊和差分電磁攻擊(Differential Electromagnetic Attack,DEMA)攻破。

    本文針對Xilinx 7系列FPGA實施能量攻擊,從攻擊和檢驗等兩個角度對攻擊效率進(jìn)行了提升。首先根據(jù)Xilinx FPGA解密的實現(xiàn)方式,討論了攻擊點函數(shù)的選取方法,使用DPA攻擊成功恢復(fù)了AES-256算法密鑰,并基于相關(guān)系數(shù)極性設(shè)計了一種新的檢驗方法。

1 FPGA克隆技術(shù)

    基于FPGA生產(chǎn)的商用產(chǎn)品,必須通過外部非易失存儲器進(jìn)行重新配置。而FPGA克隆則是通過非法手段獲取比特流配置文件,配合FPGA逆向工具(如BIL[1]、FpgaTools[9])竊取其內(nèi)部設(shè)計XDL/NCD網(wǎng)表的方法,具體流程如圖1所示。

wdz4-t1.gif

    加密比特流結(jié)構(gòu)如圖2所示,使用HMAC算法生成認(rèn)證碼SHA256,并通過AES-256算法以CBC模式對SHA256、HMAC密鑰kHMAC和配置信息加密;初始向量IV明文寫入比特流中[5]。因此,密文存儲時,F(xiàn)PGA克隆的關(guān)鍵在于AES密鑰kAES的獲取。

wdz4-t2.gif

    由于kAES保存于FPGA內(nèi)部eFUSE中,一次性寫入,外部無法讀取[5],而明文信息plaintext直接用于FPGA配置,同樣無法獲取,kAES的獲取演變?yōu)槲芪墓?Ciphertext-Only Attack,COA)。由于CBC模式具備很強的抗COA攻擊能力,傳統(tǒng)密碼分析方法難以攻破,此時引入旁道攻擊成為一種較為理想的方法,如圖1所示。

2 能量攻擊方法設(shè)計

2.1 能量攻擊原理

2.1.1 攻擊流程

    能量攻擊是最流行的旁道攻擊方法,攻擊者無須了解被攻擊設(shè)備的詳細(xì)知識,根據(jù)功耗的數(shù)據(jù)相關(guān)性,利用加密或解密時的能量跡即可恢復(fù)密鑰,能量攻擊流程如圖3所示[10],具體流程如下:

wdz4-t3.gif

    (1)選取攻擊點

wdz4-2.1.1-x1.gif

    (4)計算假設(shè)功耗值

wdz4-t3-x1.gif

    (6)結(jié)果檢驗

    一般直接代入攻擊所得密鑰,使用新的分組數(shù)據(jù)加密或解密,從而驗證攻擊結(jié)果的正確性。

2.1.2 常用功耗模型及統(tǒng)計方法

    針對硬件實現(xiàn)的密碼設(shè)備,DPA攻擊通常針對寄存器翻轉(zhuǎn)功耗的數(shù)據(jù)相關(guān)性進(jìn)行攻擊[10],根據(jù)統(tǒng)計方法不同,主要分為基于相關(guān)系數(shù)的CPA攻擊和基于均值差的DPA攻擊兩種。

    (1)基于相關(guān)系數(shù)的CPA攻擊

wdz4-2.1.2-x1.gif

wdz4-gs1.gif

    其中,rij表示用第i個猜測密鑰對能量跡上第j個點求得的均值差(下文統(tǒng)稱相關(guān)系數(shù))。

2.2 攻擊點選取

2.2.1 CPA攻擊

    Xilinx FPGA中AES-256解密模塊內(nèi)部結(jié)構(gòu)如圖4所示[7],寄存器中寄存每一輪的解密中間值,通過數(shù)據(jù)選擇器控制進(jìn)行新的分組解密或下一輪運算。

wdz4-t4.gif

    則第i次解密運算中,每輪運算結(jié)果可以表示為式(2):

wdz4-gs2-5.gif

wdz4-gs2-5-x1.gif

2.2.2 DPA攻擊

    考慮DPA攻擊,采用單比特模型,為減少影響Δ的密鑰長度,對Δ進(jìn)行分割和化簡如下:

     wdz4-gs6.gif

    則當(dāng)被攻擊的FPGA固定時,K13,K14均為定值,可得Δ1也為定值。則當(dāng)采用單比特功耗模型進(jìn)行攻擊,可使用Δ2代替Δ,從而評估寄存器R中某一比特的翻轉(zhuǎn)情況,具體分析如表1所示。

wdz4-b1.gif

    由表1可知,使用單比特模型實施DPA攻擊時,所得的兩組功耗集完全相同,只有極性相反,可以達(dá)到攻擊目的,即攻擊點函數(shù)為:

wdz4-gs7.gif

3 實驗驗證及分析

3.1 DPA攻擊結(jié)果

wdz4-3.1-x1.gif

wdz4-3.1-x2.gif

wdz4-t5.gif

wdz4-t6.gif

3.2 攻擊結(jié)果檢驗

    DPA攻擊通常采用直接代入密鑰加/解密來檢驗攻擊結(jié)果的正確性。然而,這種檢驗方法在FPGA克隆中并不適用,因為錯誤密鑰解密得到的比特流可能導(dǎo)致FPGA功能失常,甚至毀壞[8]。為克服這一問題,本文設(shè)計了一種基于DPA攻擊相關(guān)系數(shù)極性的檢驗方法。

wdz4-3.2-x1.gif

wdz4-t7.gif

4 結(jié)論

    本文針對加密配置的FPGA克隆技術(shù)進(jìn)行了研究,引入能量攻擊,針對AES-256 CBC模式,設(shè)計了對應(yīng)的DPA攻擊方法;同時,針對FPGA不可直接代入驗證的特殊情況,設(shè)計了一種基于DPA攻擊相關(guān)系數(shù)極性的檢驗方法,為DPA攻擊結(jié)果檢驗提供了一種新思路。

參考文獻(xiàn)

[1] BENZ F,SEFFRIN A,HUSS S A.Bil:A tool-chain for bitstream reverseengineering[C]//Field Programmable Logic and Application 2012,22nd International Conference on,2012:735-738.

[2] Betajet.Icestorm:reverse-engineering the lattice iCE40 bitstream[EB/OL].http://www.eetimes.com/author.asp?section_id=36&doc_id=1327061,2015.

[3] SWIERCZYNSKI P,F(xiàn)YRBIAK M,KOPPE P,et al.FPGA trojans through detecting and weakening of cryptographic primitives[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2015,34(8):1-1.

[4] CHAKRABORTY R S,SAHA I,PALCHAUDHURI A,et al.Hardware trojan insertion by direct modification of FPGA configuration bitstream[J].IEEE Design & Test,2013,30(2):45-54.

[5] Xilinx,Inc.Using encryption to secure a 7 series FPGA bit-stream[EB/OL].https://www.xilinx.com/support/documentation/application_notes/xapp1239-fpga-bitstream-encryption.pdf,2015.

[6] MORADI A,BARENGHI A,KASPER T,et al.On the vulnerability of FPGA bitstream encryption against power analysis attacks: extracting keys from xilinx Virtex-II FPGAs[C]//ACM Conference on Computer and Communications Security.ACM,2011:111-124.

[7] MORADI A,KASPER M,PAAR C.Black-Box side-channel attacks highlight the importance of countermeasures: an analysis of the xilinx virtex-4 and virtex-5 bitstream encryption mechanism[C]//Conference on Topics in Cryptology.Springer-Verlag,2012:1-18.

[8] MORADI A,SCHNEIDER T.Improved side-channel analysis attacks on Xilinx bitstream encryption of 5,6,and 7 series[C]//Constructive Side-Channel Analysis and Secure Design.2016.

[9] Xiangfu.Fpgatools[EB/OL].https://github.com/Wolfgang-Spraul/fpgatools,2015.

[10] 曼哥德.能量分析攻擊[M].北京:科學(xué)出版社,2010.

[11] 郭世澤.密碼旁路分析原理與方法[M].北京:科學(xué)出版社,2014.



作者信息:

許紀(jì)鈞,嚴(yán)迎建

(解放軍信息工程大學(xué),河南 鄭州450000)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 欧美性猛片xxxxⅹ免费 | 未成18年禁止观看的免费 | 六月丁香在线视频 | 在线播放国产精品 | 日韩福利视频一区 | 欧美一区二区三区精品 | 亚洲男女一区二区三区出奶水了 | 日本午夜影院 | 伊人网国产 | 国产特级全黄一级毛片不卡 | 午夜在线 | 亚洲视频2| 欧美综合色另类图片区 | 男女上下猛烈动态图午夜 | 成人毛片免费观看视频大全 | 先锋悠悠xfplay色资源网站 | 国产成人免费片在线视频观看 | 在线观看 a国v | 国产日本在线播放 | 狠狠婷婷| 在线色 | 模特精品视频一区 | 国产福利一区二区 | 国产精品日日摸夜夜添夜夜添1 | 波多野结衣 一区二区 | 免费的一级片网站 | 一个人看www免费视频 | 成人网18网站 | 日批免费| 免费日韩毛片 | 亚洲日产综合欧美一区二区 | 夜夜精品视频一区二区 | 婷婷视频在线观看 | 2345成人高清毛片 | 国产成人精品视频免费 | 高清一区二区亚洲欧美日韩 | 玖玖国产| 另类在线 | 亚洲精品国产手机 | 国产区网址 | 国产h视频 |