《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 设计应用 > 针对DES密码芯片的CPA攻击仿真
针对DES密码芯片的CPA攻击仿真
严迎建, 樊海锋, 徐金甫, 任
摘要: 为研究密码芯片抗功耗分析性能,构造了一个功耗分析研究平台,结合DES算法在平台上进行了相关性功耗分析(CPA)攻击仿真实验。根据猜测部分密钥时的模拟功耗与猜测整个密钥时模拟功耗之间的相关系数大小来确定猜测密钥的正确性,由此可以确定整个密钥。这种功耗分析仿真方法,能够揭示未经防御的DES算法面临CPA攻击时的脆弱性。
關鍵詞: DES算法 软件仿真
Abstract:
Key words :

    摘 要: 為研究密碼芯片抗功耗分析性能,構造了一個功耗分析研究平臺,結合DES算法在平臺上進行了相關性功耗分析(CPA)攻擊仿真實驗。根據猜測部分密鑰時的模擬功耗與猜測整個密鑰時模擬功耗之間的相關系數大小來確定猜測密鑰的正確性,由此可以確定整個密鑰。這種功耗分析仿真方法,能夠揭示未經防御的DES算法面臨CPA攻擊時的脆弱性。
    關鍵詞: 相關性功耗分析; 仿真; DES

 

  隨著智能卡、掌上電腦和移動電話的不斷普及應用,人們需要對一些信息隱私進行保護,因此信息安全問題日益突出。安全產品或者密碼系統都必須面對如何防御各種攻擊的問題。傳統攻擊方法是一種數學攻擊方法,主要通過大量數學計算來搜索密碼系統的密鑰。強力攻擊就是其中一個典型的例子:它嘗試所有的密鑰組合,直至找到正確的密鑰。但是隨著密鑰長度的增加,這種攻擊的難度也急劇增加。近年來,出現了一種新的攻擊方法,通常被稱為旁道攻擊。它是根據密碼芯片在加解密時所泄漏的一些微弱的旁道信息,如功耗、時間、電磁輻射及差錯信息等進行攻擊。攻擊者利用旁道泄漏信息,結合統計學等學科的知識,能夠在短時間內成功破解一些密碼算法的密鑰。
在旁道攻擊方法中,功耗分析方法應用得最為廣泛和成熟,因為功耗信息最容易測量和分析。研究針對密碼芯片的功耗分析方法是為了檢驗芯片是否具有抗功耗分析能力或是檢驗密碼芯片抗功耗分析攻擊能力的大小。相關性功耗分析是功耗分析中一種,相關性功耗分析每次考慮的相關位比傳統的差分功耗分析多,所以更具有威脅性。
1 DES密碼算法的硬件結構及功耗泄漏模型
1.1 DES密碼算法的硬件結構

DES密碼算法是分組加密算法,能夠對固定長度的一組明文進行加解密,如果采用ASIC方式實現,固定長度意味著運算時的中間結果所需要的存儲寬度是相同的。DES密碼算法的輪結構也是相同的,每輪運算可以共用一個硬件結構體,所不同的是每輪運算時所用的子密鑰是不同的。DES算法的結構特點適合ASIC方式實現,其通用的硬件結構如圖1所示。

 

 

  在ASIC方式實現的硬件電路中,攻擊者經常針對寄存器進行攻擊。之所以選擇寄存器攻擊主要原因有:
(1)寄存器在ASIC中通常被用來做存儲器,包括暫存一些與密鑰相關的關鍵數據。
(2)與反相器、“與非門”等非時序邏輯相比較,寄存器的功耗大一些。
(3)寄存器是時鐘沿觸發電路,易于在時序上定位。
1.2 功耗泄漏模型
目前絕大多數密碼芯片都是基于CMOS工藝,CMOS邏輯電路的動態功耗取決于邏輯門的翻轉率。單個邏輯門的功耗可以表示為:

式中, f表示邏輯門最大變化率,P0→1表示0→1轉換的概率,CL是邏輯門的負載電容,VDD是電源電壓。功耗分析正是以式 (1)中動態功耗對數據的依賴性為理論基礎的。整個電路硬件內部結構非常復雜,動態功耗取決于整個邏輯電路的整體翻轉率的統計特性和電路所采用的工藝。為簡單起見,可以簡化地認為電路的總功耗與整體翻轉率成一定的正比關系。基于這種相關性建立起來的功耗模型能夠反映出當前密碼算法電路所處理的數據引起的瞬時功耗的變化情況。功耗分析攻擊是通過對多次測量得到的功耗曲線,進行統計分析出電路中相應數據位的變化來破解密鑰的。
功耗泄漏模型一般是在寄存器級建立。攻擊者經常把攻擊點選在DES密碼算法首輪或最后一輪的寄存器輸出處,記輸出時刻為t,則瞬時能耗T(t1)如下:

  式中,D0(t0)代表寄存器中在前1個時刻t0所存儲的二進制序列, D0(t1)代表寄存器中在下1個時刻t1所存儲的二進制序列,δ代表轉換時的1個因子。通過比較前后時刻相應碼字的變化,當碼字由0→1時,總模擬功耗值加1;當碼字由1→0時,總模擬功耗值加1×(1-δ)。δ的大小根據算法實現的平臺統計分析得到,對于一般的CMOS邏輯電路,δ通常取值為0.17。
2 CPA攻擊原理
功耗模型一般是基于所處理數據的線性漢明距建立。如1.2節所述的瞬時功耗為:

  式中所示的相關系數說明部分密鑰位猜測正確時,中間計算結果與加密器件的瞬時功耗在被攻擊時刻能夠關聯起來,對應時刻的相關系數也是最大的。而用錯誤的猜測密鑰計算出來的中間結果與功耗之間不具有相關性或僅有弱相關性,其相關系數很小。根據這一原理,可以用仿真的方法對密碼算法電路進行攻擊,根據攻擊的難度可以判斷抗功耗分析性能。
3 功耗分析仿真平臺
建立的仿真平臺如圖2所示。仿真平臺主要由邏輯模擬器、功耗估算器和功耗分析模塊組成。框圖中應用Mentor公司提供的ModelSim作為邏輯模擬器,邏輯模擬器輸入有:所設計密碼電路的硬件語言描述代碼、電路的激勵文件和一些反標延遲信息等。輸出的密碼電路的功耗仿真結果是以vcd格式存儲的文本文件,這個vcd文件包含了所有的信號模擬變化以及相應的仿真時刻標簽,然后用VisualC++對vcd文本文件進行處理,得到模擬功耗數據,最后用MatLab對模擬功耗數據進行統計分析,推測密鑰信息。

 


由于邏輯模擬器的仿真結果中包含所有信號的變化和相應的仿真時刻標簽,這些vcd格式的文件能夠用功耗模型估算密碼電路的瞬時模擬功耗,因此,只需要統計與密鑰具有相關性的關鍵寄存器的變化即可。
要統計DES密碼芯片中每個時鐘周期的模擬功耗值,可以通過統計關鍵寄存器中在相鄰時鐘周期內0、1的變化情況。根據式(2)所示已經建立的功耗模型,將電路所處理的數據變化轉換為模擬功耗變化即可。
4 DES算法的CPA攻擊仿真及結果分析
  基于所建立的功耗分析仿真平臺,結合分組密碼算法DES算法進行功耗分析攻擊實驗。下面是CPA攻擊的詳細步驟及結果分析。
(1)用仿真的方法進行攻擊的第1步是產生1個仿真功耗文件
任意選擇1 000個隨機明文和1個固定但隨機的密鑰。每輪加密之后(1個時鐘周期),記錄下寄存器中數據二進制序列的變化情況,根據建立的功耗泄漏模型,統計模擬功耗值。這樣仿真器就產生1個包含N×16的矩陣M1
(2)選擇寄存器中M個最高位,用與步驟(1)相同的明文及密鑰進行仿真實驗
仿真器統計寄存器中位的變化數目,結果存儲在矩陣1 000×1的矩陣M2中,在這個驗證實驗中,選擇M為8,然后計算M1的所有列和M2的相關系數,如下:
ci=C(M1(1:1000,1),M2)     (7)
式中,i=1,…10, M1(1:1000), i代表矩陣M1的第i列向量。步驟(1)和步驟(2)都用了同樣的明文的密鑰,所不同的是它們考慮的位變化的數目不同。第(2)步產生的值是第(1)步初始化密鑰加操作計算值的預測。如果計算是正確的,M2和M1的第一列的相關系數比其他列要高得多。圖3為預測的情況。

 


(3)重復步驟(2),但使用一個不同的密鑰
這時產生1個功耗文件矩陣M3。與第(2)步一樣計算M3和M1所有列的相關系數:

式中,i=1,…10。由于實驗中使用了一個不同的密鑰產生M3,所以M3和M1所有列的相關系數將是很小的(或者說是沒有相關性),包括第1列。通過計算得出如圖4所示的相關系數圖,圖中的曲線表明其結果和預測的相同。

 


(4)對所有8 bit密鑰組合進行實驗
對這個實驗進行拓展,對密鑰的最高L=8比特所有可能性進行猜測,也就是對這8 bit進行強力攻擊,這樣就能產生1個1 000×2L的矩陣M4。8 bit密鑰組合中必有一個是正確的密鑰,而且只有這個密鑰計算出的第1輪功耗變化與第1輪是統計相關的(相關系數比較大),由此可以通過這種方法推測出密鑰。式(9)表示了所有的密鑰猜測與M1的第一輪之間相關系數的大小。圖5為M1的第1列和M4的所有列之間的相關系數。從圖中可以看出,所猜測的密鑰只有1Ahex=30dec時具有較高的相關性,所以正確的密鑰是(30)dec

  
式中,i=0,…2L-1。
通過功耗仿真的方法可以對DES密碼芯片進行成功的攻擊,根據攻擊的難度大小,也就是所得到的相關系數的大小,可以判斷一個密碼芯片抗功耗分析攻擊能力的大小,這樣就能夠在設計階段評估密碼芯片的抗功耗分析攻擊的能力大小,為密碼芯片設計者提供參考,以便及時添加相應的抗功耗分析的防御措施。
抗功耗分析性能的評估標準在很多文獻中只是簡單提到過,且沒有統一的標準。本文中采用了KrisTri所用的評估標準MTD(Measurements To Disclosure),也就是對于某個密碼芯片來說,能夠破解1 bit密鑰所需要的隨機明文數目。本文模擬攻擊過程也可以用這種標準來衡量密碼芯片的抗功耗分析性能。
為研究密碼芯片的抗功耗分析性能,搭建了功耗分析仿真平臺,并結合DES分組加密算法進行了相關性功耗分析攻擊實驗。實驗結果表明,搭建的仿真平臺是有效的,且說明未經過防御的DES算法容易受到相關性功耗分析的威脅。


參考文獻
[1]  韓軍,曾曉洋,湯庭鰲.DES密碼電路的抗差分功耗分析設計[J]. 半導體學報,2005(8).
[2]  張詠,范明鈺,王宇飛.對于DES的差分能量分析攻擊及其防范對策[J].電子技術應用,2005,31(5).
[3]  陳開顏,趙強,張鵬,等.DES加密實現的差分功耗分析仿真[J].軍械工程學院學報,2006(6),18(3).
[4]  KOCHER P, JAFFE J, JUN B. Differential power analysis [A].WIENER M,editor. Advances in Cryptology: Prodeeding  of CRYPTO’99[C].Volume 1666 in Lecture Notes in  Computer Science, Santa Bartara, California, USA, Springer-August,1999:388-397
[5]  BRIER E, CLAVIER C, OLIVIER F. Correlation power analysis with a leakage model[A]. JOYE M, QUISQUATER
J J, editor. Cryptographic Hardware Embedded System CHES 2004, USA, Volume 3156 of Lecture Notes in Computer Science, Springer-Verlag, 2004:16-29.

 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产精品免费观看高清| 91精品久久久久久久久久久久久| 国产精品高潮在线| 秋霞久久久久久一区二区| 欧美在线中文字幕| 99在线国产| 久久久久久成人| 亚洲a成v人在线观看| 91精品综合视频| 国产免费一区二区视频| 欧美亚洲伦理www| 日韩中文字幕第一页| 91高清免费视频| 99视频精品全部免费看| 国产日韩欧美夫妻视频在线观看| 国产精品99一区| 国产精品久久久久久久天堂| 伊人婷婷久久| www.日韩不卡电影av| 国产精品 日韩| 国产精品久久国产| 国产不卡一区二区在线播放| 国产精品久久久久久免费观看| 国产三级中文字幕| 日本视频一区二区在线观看| 日本精品一区二区三区四区| 亚洲一区精品电影| 国产精品亚洲激情| 国产精品精品一区二区三区午夜版 | 欧美中日韩在线| 欧美日韩国产精品一区二区| 久久亚洲国产精品日日av夜夜| 91国产视频在线播放| 国产伦精品一区二区三区视频免费| 国产在线精品成人一区二区三区| 国产在线拍揄自揄视频不卡99| 久热国产精品视频| 国产麻豆日韩| 一区二区不卡视频| 欧美一级免费看| 久久99久久久久久久噜噜|