《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(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模式解密條件下的攻擊點(diǎn)函數(shù)選擇方法,,通過單比特功耗模型實(shí)施差分能量攻擊,,成功恢復(fù)了256 bit密鑰,。同時(shí),針對不可直接代入密鑰檢驗(yàn)正確性的問題,,設(shè)計(jì)了一種基于DPA攻擊相關(guān)系數(shù)極性的檢驗(yàn)方法,,避免了密鑰錯(cuò)誤引起FPGA錯(cuò)誤配置,實(shí)驗(yàn)表明,,該方法能夠有效消除相關(guān)系數(shù)的“假峰”現(xiàn)象,。
中圖分類號(hào): TP309.7
文獻(xiàn)標(biāo)識(shí)碼: 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)的重要組成部分。然而,,由于配置文件(比特流)必須存儲(chǔ)在FPGA外部,,通過竊取外部存儲(chǔ)器后,攻擊者可直接盜版生產(chǎn),,還可通過FPGA逆向工程(FPGA Reverse Engineering)獲得硬件設(shè)計(jì)[1,,2]或加入硬件木馬[3,,4],對產(chǎn)品進(jìn)行偽造和破壞,,嚴(yán)重地威脅了用戶知識(shí)產(chǎn)權(quán),。

    為克服這一漏洞,Xilinx公司在ISE,、Vivado等設(shè)計(jì)軟件中增加AES-256 CBC加密配置方式,,并在FPGA內(nèi)部集成解密模塊,從而防止硬件設(shè)計(jì)被克隆和偽造[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實(shí)施能量攻擊,從攻擊和檢驗(yàn)等兩個(gè)角度對攻擊效率進(jìn)行了提升,。首先根據(jù)Xilinx FPGA解密的實(shí)現(xiàn)方式,,討論了攻擊點(diǎn)函數(shù)的選取方法,使用DPA攻擊成功恢復(fù)了AES-256算法密鑰,,并基于相關(guān)系數(shù)極性設(shè)計(jì)了一種新的檢驗(yàn)方法,。

1 FPGA克隆技術(shù)

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

wdz4-t1.gif

    加密比特流結(jié)構(gòu)如圖2所示,使用HMAC算法生成認(rèn)證碼SHA256,,并通過AES-256算法以CBC模式對SHA256,、HMAC密鑰kHMAC和配置信息加密;初始向量IV明文寫入比特流中[5],。因此,,密文存儲(chǔ)時(shí),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模式具備很強(qiáng)的抗COA攻擊能力,,傳統(tǒng)密碼分析方法難以攻破,此時(shí)引入旁道攻擊成為一種較為理想的方法,,如圖1所示,。

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

2.1 能量攻擊原理

2.1.1 攻擊流程

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

wdz4-t3.gif

    (1)選取攻擊點(diǎn)

wdz4-2.1.1-x1.gif

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

wdz4-t3-x1.gif

    (6)結(jié)果檢驗(yàn)

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

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

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

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

wdz4-2.1.2-x1.gif

wdz4-gs1.gif

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

2.2 攻擊點(diǎn)選取

2.2.1 CPA攻擊

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

wdz4-t4.gif

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

wdz4-gs2-5.gif

wdz4-gs2-5-x1.gif

2.2.2 DPA攻擊

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

     wdz4-gs6.gif

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

wdz4-b1.gif

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

wdz4-gs7.gif

3 實(shí)驗(yàn)驗(yàn)證及分析

3.1 DPA攻擊結(jié)果

wdz4-3.1-x1.gif

wdz4-3.1-x2.gif

wdz4-t5.gif

wdz4-t6.gif

3.2 攻擊結(jié)果檢驗(yàn)

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

wdz4-3.2-x1.gif

wdz4-t7.gif

4 結(jié)論

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

參考文獻(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)載。