国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

仿真功耗采集平臺(tái)下的AES能量分析攻擊

2017-07-18 05:49李偉鍵
山東工業(yè)技術(shù) 2017年14期

摘 要:理論上安全的密碼算法,其算法實(shí)現(xiàn)也容易遭受側(cè)信道攻擊,需要評(píng)估密碼算法的側(cè)信道泄露并且加以防護(hù)。系統(tǒng)介紹以Primepower為核心的能量分析攻擊仿真功耗采集平臺(tái)的搭建過程,使用該平臺(tái)采集AES密碼算法加密多組不同明文的動(dòng)態(tài)瞬時(shí)功耗,并使用這些功耗對(duì)AES算法成功實(shí)施了相關(guān)能量分析攻擊。

關(guān)鍵詞:側(cè)信道攻擊;相關(guān)能量分析攻擊;仿真平臺(tái);高級(jí)加密標(biāo)準(zhǔn)

DOI:10.16640/j.cnki.37-1222/t.2017.14.222

1 側(cè)信道攻擊與防護(hù)思路

側(cè)信道攻擊作為一種全新的密碼分析方法,突破了傳統(tǒng)密碼分析方法的局限,借助密碼芯片加解密的物理信息(功耗[1] 和電磁輻射[2]等)泄露而得以對(duì)子密鑰而非整個(gè)密鑰進(jìn)行窮盡攻擊,從而以極小的時(shí)間代價(jià)和存儲(chǔ)代價(jià)取得比傳統(tǒng)數(shù)學(xué)分析方法更好的分析結(jié)果。目前,側(cè)信道攻擊的研究主要集中在能量分析攻擊,通過采集設(shè)備加密時(shí)的功耗來分析和獲取密鑰信息[3]。研究結(jié)果表明,沒有任何防護(hù)措施的密碼芯片,是無法抵抗側(cè)信道攻擊,即使其密碼算法在理論上是安全的[4]。這要求幾乎所有的密碼算法芯片都必須研究算法可能導(dǎo)致的側(cè)信道泄露,并加上防護(hù)措施。

評(píng)估每款密碼算法的側(cè)信道泄露,需要把密碼算法的Verilog實(shí)現(xiàn)下載到功耗仿真平臺(tái)上或者基于FPGA的側(cè)信道評(píng)估板上運(yùn)行,收集對(duì)應(yīng)的功耗集,并展開側(cè)信道攻擊的安全評(píng)估。

2 能量分析攻擊仿真采集平臺(tái)搭建

由于Synopsys Primepower的專業(yè)性和精準(zhǔn)程度高,絕大部分側(cè)信道攻擊研究者都使用該仿真平臺(tái)采集算法執(zhí)行的瞬時(shí)功耗,進(jìn)行側(cè)信道攻擊與評(píng)估。圖 1描述了基于Primepower仿真功耗采集平臺(tái)的模擬功耗采集與攻擊實(shí)驗(yàn)方案。

首先使用Verilog硬件描述語言來編碼實(shí)現(xiàn)密碼算法。接著在Synopsys DC中使用工藝庫來綜合這些Verilog源文件,得到門級(jí)網(wǎng)表文件。以門級(jí)網(wǎng)表文件表示的密碼算法放入Modelsim上模擬運(yùn)行,通過testbench激勵(lì)文件調(diào)用門級(jí)網(wǎng)表文件的密碼算法模塊,同時(shí)可以把整個(gè)運(yùn)行過程的細(xì)節(jié)通過“值變存儲(chǔ)文件”VCD做記錄。最后使用Primepower程序精確計(jì)算出“值變存儲(chǔ)文件”VCD中所有操作的瞬時(shí)功耗。整個(gè)過程,都需使用真實(shí)的工藝庫來編譯、模擬運(yùn)行和計(jì)算功耗。

3 仿真平臺(tái)采集AES功耗

(1)使用硬件描述語言Verilog編寫AES密碼算法實(shí)現(xiàn),保存為AES.v。

(2)在Synopsys DC中使用臺(tái)積電tsmc-0.18um工藝庫來綜合步驟1所實(shí)現(xiàn)的Verilog密碼算法AES.v,得到以工藝庫中的電路元件描述的門級(jí)網(wǎng)表文件AES_NETLIST.v。在Synopsys DC綜合Verilog源文件的過程如下:

1)set search_path "/home/.../project/AES" //設(shè)置源文件和工藝庫文件所在目錄

2)set link_path "* slow.db fast.db dw_foundation.sldb" //指定工藝庫文件

3)read_verilog "AES.v" //讀入verilog源文件,如有多個(gè)源文件,可以讀入多次

4)current_design AES //指定編譯芯片的主模塊名

5)uniquify //實(shí)例唯一化,可選

6)compile -exact_map //編譯verilog源文件

7)write -hierarchy -format verilog -output /home/.../project/AES/AES_NETLIST.v//把綜合結(jié)果寫入門級(jí)網(wǎng)表文件AES_NETLIST.v

(3)門級(jí)網(wǎng)表文件AES_NETLIST.v在ModelSim仿真運(yùn)行,得到“值變存儲(chǔ)文件”VCD。

需要加入testbench 激勵(lì)文件來讓ModelSim正確仿真AES_NETLIST.v算法。同時(shí)通過$dumpfile("AES1.VCD")和$dumpvars命令讓ModelSim記錄下“值變存儲(chǔ)文件”VCD。

(4)把生成的一系列VCD 文件和tsmc-0.18um工藝庫放入Primepower中,計(jì)算出一條條對(duì)應(yīng)著明文的瞬時(shí)功耗曲線。使用Primepower計(jì)算一條功耗的過程如下:

1)set search_path "/home/.../project/AES" //設(shè)置源文件和工藝庫文件所在目錄

2)set link_path "* slow.db fast.db dw_foundation.sldb" //指定工藝庫文件

3)read_verilog /home/.../project/AES/AES_NETLIST.v //讀入網(wǎng)表文件

4)current_design AES //指定編譯芯片的主模塊名

5)read_vcd -strip_path AES_TB/AES AES1.VCD //讀入VCD文件

6)set_waveform -file /home/.../project/AES/AES1.out -format out //指定功耗的輸出路徑

7)calculate_power -waveform //根據(jù)網(wǎng)表和“值變存儲(chǔ)文件”VCD計(jì)算功耗

4 對(duì)功耗采集和能量分析攻擊

反復(fù)使用第3節(jié)所述的采集仿真功耗的方法,僅在步驟3的激勵(lì)文件中修改明文的值(一般采用隨機(jī)明文),可以產(chǎn)生大量對(duì)應(yīng)著不同明文的功耗曲線,對(duì)功耗曲線進(jìn)行如下所述的相關(guān)能量分析攻擊,則可以逐字節(jié)恢復(fù)出設(shè)備密鑰。

% cipher:密文數(shù)組; traces:功耗數(shù)組; key:恢復(fù)出來的128位設(shè)備密鑰

function key = aesCPA( cipher,traces )

parfor n = 1:keyWidth %并行化逐個(gè)字節(jié)猜測(cè)子密鑰

hd = calEASSt9St10HD( cipher, n ); %計(jì)算所有候選密鑰對(duì)應(yīng)的猜測(cè)功耗值

cor = calTraceHdCor( traces,hd ); %計(jì)算漢明距離與實(shí)際功耗的皮爾斯線性相關(guān)度

key(n)= maxIndex( cor ); %找出使得皮爾斯線性相關(guān)度最高對(duì)應(yīng)的猜測(cè)密鑰

end

end

在仿真平臺(tái)上采集10000組不同的隨機(jī)明文對(duì)應(yīng)的AES加密功耗,使用這些功耗曲線和明文組,使用上述相關(guān)能量分析攻擊算法,可以正確恢復(fù)出設(shè)備密鑰。圖 2給出對(duì)設(shè)備密鑰第一個(gè)字節(jié)的攻擊結(jié)果,可以看出隨著明文數(shù)增加到500條以上,正確密鑰對(duì)應(yīng)的皮爾斯相關(guān)度(黑色加粗線條)明顯大于其他錯(cuò)誤密鑰對(duì)應(yīng)的皮爾斯相關(guān)度,從而可以正確找到設(shè)備密鑰。

5 總結(jié)

本文詳細(xì)介紹了以Primepower為核心的能量分析攻擊仿真功耗采集平臺(tái)的搭建過程,演示了如何使用該平臺(tái)采集AES密碼算法加密多組不同明文的動(dòng)態(tài)瞬時(shí)功耗曲線,并使用這些功耗對(duì)AES算法成功實(shí)施了相關(guān)能量分析攻擊。

參考文獻(xiàn):

[1]P. Kocher, J. Jaffe and B. Jun. Differential power analysis[C].Advances in Cryptology – CRYPTO99, Springer Berlin Heidelberg, 1999:388-397.

[2]Gandolfi K, Mourtel C, Olivier F. Electromagnetic analysis: Concrete results[C]. Cryptographic Hardware and Embedded Systems - CHES 2001. Springer Berlin Heidelberg, 2001:251-261.

[3]E. Brier, C. Clavier and F. Olivier. Correlation Power Analysis with a Leakage Model[C].Cryptographic Hardware and Embedded Systems-CHES 2004. Springer Berlin Heidelberg, 2004:16-29.

[4]Mangard Stefan, Elisabeth Oswald, and Thomas Popp. Power analysis attacks: Revealing the secrets of smart cards[M].Springer Science & Business Media, 2008.

廣東省公益研究與能力建設(shè)專項(xiàng)資金(2016a010101030);廣東普通高校青年創(chuàng)新人才項(xiàng)目(2014KQNCX177)資助

作者簡(jiǎn)介:李偉鍵(1979-),男,廣東汕頭人,博士,講師,研究方向:密碼芯片側(cè)信道攻擊與防護(hù)。

永川市| 林口县| 福鼎市| 灵宝市| 太湖县| 宝兴县| 新巴尔虎右旗| 新巴尔虎左旗| 靖江市| 贞丰县| 滦平县| 凤城市| 光山县| 玉溪市| 三穗县| 大竹县| 黄陵县| 会东县| 措美县| 洪江市| 密山市| 平湖市| 卓尼县| 古蔺县| 德清县| 射洪县| 金湖县| 皋兰县| 浙江省| 西昌市| 衡水市| 纳雍县| 通道| 锡林浩特市| 清水县| 梨树县| 利津县| 德清县| 武穴市| 石渠县| 姜堰市|