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