楊帆
【摘要】 關于AES密碼芯片相應的DPA攻擊技術實現方法,而且基于Atmel-AES平臺應用DPA攻擊技術可以分析獲得AES相應的密鑰,從而能夠證明AES算法對于DPA攻擊時體現出來的薄弱環節,同時也可以證明對AES芯片抵抗DPA攻擊進行相關研究的必要性。
【關鍵詞】 AES DPA 攻擊
伴隨著AES的實際廣泛應用發展,對于提升其安全性能的相關研究成為社會關注的熱點問題。在Atmel-AES平臺上對于AES算法加以實現,而且基于這個平臺對AES密碼算法成功實行相應的DPA攻擊,為AES密碼芯片的抵抗DPA攻擊技術的分析研究提供必要性與實用性的重要理論根據[1]。
一、AES加密算法
差分能量分析(DPA)一般是使用大規模的能量跡來進行分析固定時刻加密設備的具體能量消耗狀況,把能量消耗看作被處理數據的相關函數。在AES算法的整個執行過程當中,加密數據通常存儲在State數組當中。AES把輸入分組使用字節作為單位的正方形矩陣表示方式,而且把這個矩陣復制到具體的State數組中,然后AES算法直接作用在State數組中的具體數據,在AES算法執行完成值后,把State數組之中的數據復制到相應的輸出矩陣中,輸出相應的解密數據[2]。
AES屬于一種密鑰迭代類型的密碼算法,總共使用了10次迭代,每一次具體使用一個128位形式的輪密鑰。在AES的一次輪變換過程中都可以對State數組進行相應的代換與混亂。
二、 DPA攻擊方法
2.1 DPA攻擊的物理基礎
DPA可以成功地攻擊密碼系統的重要條件為加密電路功耗和所需要處理的數據信息存在著一定相關性,即為在電路中可以處理邏輯0與邏輯1會存在各種不同的功耗作用。電路功耗的具體測量方法為在加密芯片中的電源引腳Vdd與真實電源+5V端相互之間串聯接入一個小阻值的電阻,測量這個電阻的相應電壓能夠獲得電路的功耗參數[3]。
2.2 DPA攻擊策略
DPA攻擊能夠通過以下六個環節來進行。
(1)選用所需要執行算法的某一個中間數值。所選用的中間數值需要為明文d和密鑰的一部分k組成的函數f(d,k)。選擇在第一輪過程中第一個AES的S盒輸出字節是中間數值,這個中間數值為明文中的第一個字節與密鑰第一個字節的相應函數。(2)測量能量消耗參數。測量密碼設備加密或者解密D個各種不同數據分組過程中的能量消耗狀況。已知d=(d1,…,dD)',則應當對應于數據分組di的具體能量跡是ti'=( ti,1,…,ti,T ),D個數據分組可以獲得一個大小是D×T的能量跡矩陣T。這里需要應用對齊技術保證T中各列tj是通過相同操作產生的。(3)計算預設的中間數值。k=(k1,…,kK),表示k的全部可能數值,根據相關公式可以得到假定中間數值矩陣V(大小為D×K):vi,j=f(di,kj),i=1,…,D,j =1,…,K。在V中的各列相對應的密鑰假定位kj,DPA攻擊的具體目標是尋找設備在D次加密或者解密運行過程中具體處理的是在V中的哪一列,從而可以確定出相應的密鑰kck。(4)把中間數值映射成為能量消耗數值。應用仿真技術能夠把矩陣V映射成為假定能量消耗數值矩陣H。即為把各個vi,j映射成為hi,j。(5)對比假定能量消耗與能量跡。對于矩陣H的各列hi與矩陣T的各列tj進行對比,獲得矩陣R(大小是K×T),ri,j是hi與tj的相對結果,ri,j數值愈大,列hi和tj的匹配度愈高。(6)對于R矩陣實行有效分析,獲得密鑰。通過Matlab可以對矩陣R的各行顯示在各種不同圖中,各個圖對應著一個具體的密鑰假定,產生明顯尖峰的圖所對應的假定密鑰則即為實際密鑰。
2.3 Atmel-AES平臺
Atmel-AES卡和PC視頻終端一般是由USB進行連接的,Atmel-AES卡的控制單元主要是ATMega644芯片,加密算法一般使用AES雙層密鑰加密方式,主密鑰kM同時存儲在視頻服務器與Atmel-AES卡之中,視頻流主要是以塊dI作為單位、由塊密鑰kC進行AES加密處理后達到傳輸目的。
三、結束語
伴隨著電子信息化的快速發展進程,信息科學技術影響著社會人們的工作與生活等各個方面,信息科學技術在為社會帶來方便的同時也為人們帶來了擔憂,這就是信息化安全問題。通過在AES雙重加密處理的Atmel-AES平臺上進行DPA攻擊,從而證明AES加密算法對于DPA攻擊存在的薄弱環節。所以為了能夠更好地確保信息安全,對于增強AES算法的抵抗DPA攻擊性能的分析研究是非常有必要的。
參 考 文 獻
[1] Wiliam Stallings. 密碼編碼學與網絡安全[M]. 北京:電子工業出版社,2010
[2] 褶杰,丁國良,鄧高明,等. DES差分功耗分析攻擊設計與實現[J]. 小型微型計算機系統,2007,28(11)
[3] 陳開顏,趙強,張鵬,等. 數據加密標準旁路攻擊差分功耗仿真分析[J]. 計算機測量與控制,2007,15(2)