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