利用FPGA加密芯片的抗DPA攻擊電路設(shè)計
本文引用地址:http://2s4d.com/article/151255.htm
3 攻擊實驗的對比與分析
目前FPGA的種類很多,但其中有大于50%的份額被Xilinx公司搶占,在此選用xilinx公司的Virtex-5(ML501),對其他種類的FPGA的攻擊和此類似。
ML50l在工作時需要3個工作電壓:內(nèi)核電壓(1.2 V)、輔助電壓(2.5 V)、I/O電壓(3.3 V),而ML501芯片的所有地線是并結(jié)在一起的。對FPGA攻擊的實驗的原理圖如圖3所示,示波器(Tektronix DP04104,1 GHz BW,5 Gsample/s)的2通道接收Virtex-5(ML501)加密模塊的觸發(fā)信號,在內(nèi)核電壓和芯片之間置一個電流探針(Tektronix CT-2,1.2 kHz~200 MHz),1通道用電流探針測試內(nèi)核的功耗變化。攻擊過程如下:在PC機上生成64位隨機明文,通過串口發(fā)送至FPGA。FPGA收到明文后利用存儲在其中的密鑰對明文進行DES加密,并在第16輪加密操作時對示波器產(chǎn)生數(shù)據(jù)采集的觸發(fā)信號。在進行數(shù)據(jù)采集時其實質(zhì)是要采集內(nèi)核電流所引起的功耗變化,并將數(shù)據(jù)通過USB總線送至PC機,最后在PC機上運行分析程序攻擊出64位的密鑰。
3.2 對FPGA加密芯片的攻擊
設(shè)定明文輸入和電流數(shù)據(jù)采樣為500組,采樣深度100 000點,采樣頻率為500 MSPS,在相同的試驗環(huán)境下,對帶有防護結(jié)構(gòu)和不帶防護結(jié)構(gòu)的兩種DES的加密結(jié)構(gòu)進行功耗測量,同時根據(jù)密鑰的推測將明文分類,計算各類的平均功耗,然后相減,可以得到差分功耗分析曲線。試驗后發(fā)現(xiàn)對不帶防護結(jié)構(gòu)的ML50l FPGA芯片進行攻擊時,當(dāng)子密鑰塊猜測正確時,功率差分曲線出現(xiàn)明顯的尖峰,采用相同的方法可以攻擊出其他子密鑰塊,由此可以獲取第16輪的子密鑰K16(48位),攻擊成功。對帶防護結(jié)構(gòu)的芯片攻擊時,功率差分曲線基本是平緩的,波動非常小,也沒有明顯的尖峰存在,可見DPA攻擊對帶有防護結(jié)構(gòu)的FPGA無效。
4 結(jié)語
由以上DPA攻擊試驗表明了FPGA實現(xiàn)DES加密算法對DPA的脆弱性,而采用雙軌和預(yù)充電防護技術(shù)的FPGA加密芯片具有較好的抗DPA攻擊能力。這也說明利用FPGA底層開發(fā)工具通過硬件宏方法能在FPGA硬件上實現(xiàn)安全防護技術(shù)的拓展,對開展芯片的安全防護工作的研究具有重要意義。
評論