• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      仿真功耗采集平臺下的AES能量分析攻擊

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

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

      關(guān)鍵詞:側(cè)信道攻擊;相關(guān)能量分析攻擊;仿真平臺;高級加密標準

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

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

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

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

      2 能量分析攻擊仿真采集平臺搭建

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

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

      3 仿真平臺采集AES功耗

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

      (2)在Synopsys DC中使用臺積電tsmc-0.18um工藝庫來綜合步驟1所實現(xiàn)的Verilog密碼算法AES.v,得到以工藝庫中的電路元件描述的門級網(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源文件,如有多個源文件,可以讀入多次

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

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

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

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

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

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

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

      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)表和“值變存儲文件”VCD計算功耗

      4 對功耗采集和能量分析攻擊

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

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

      function key = aesCPA( cipher,traces )

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

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

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

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

      end

      end

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

      5 總結(jié)

      本文詳細介紹了以Primepower為核心的能量分析攻擊仿真功耗采集平臺的搭建過程,演示了如何使用該平臺采集AES密碼算法加密多組不同明文的動態(tài)瞬時功耗曲線,并使用這些功耗對AES算法成功實施了相關(guā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è)專項資金(2016a010101030);廣東普通高校青年創(chuàng)新人才項目(2014KQNCX177)資助

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

      嘉禾县| 千阳县| 阳城县| 凌云县| 烟台市| 阳东县| 新乡市| 扎鲁特旗| 宁蒗| 体育| 资兴市| 定南县| 富源县| 西乌珠穆沁旗| 镇江市| 威远县| 和静县| 汉中市| 高淳县| 莱芜市| 太和县| 乐至县| 平南县| 成武县| 象山县| 彭山县| 昌乐县| 灵台县| 嘉兴市| 满城县| 连城县| 龙口市| 吕梁市| 汶上县| 武穴市| 柞水县| 都江堰市| 徐闻县| 隆安县| 鄢陵县| 武强县|