對于DES的差分能量分析攻擊及其防范對策
出處:雁舞白沙 發(fā)布于:2007-04-28 11:55:53
摘要:摘要介紹了DES的加密過程,將差分能量分析DPA(Differential Power Analysis)的原理運用于該算法,提出了區(qū)分函數(shù)的選取原則,并針對差分能量分析的假設(shè),介紹了幾種對抗這種攻擊的策略。
關(guān)鍵詞:DES DPA 差分能量分析 區(qū)分函數(shù)
傳統(tǒng)的密碼分析理論認為,對密碼芯片的分析僅依賴于輸入明文和輸出密文。而在實際應(yīng)用中,分析人員可以獲得其它的信息。例如對于有引腳的芯片,很容易獲得引腳上的電流或者電壓。通過這些電流或電壓的變化,可以用有別于傳統(tǒng)的方法獲得密鑰的信息。
1 DES加密過程
DES(Data Encryption Standard)被認為是加密技術(shù)的兩大里程碑之一。在上個世紀(jì)得到了廣泛的應(yīng)用。這里給出其中一輪加密過程,如。其它如擴展置換、密鑰產(chǎn)生等具體過程見參考文獻。
在整個DES加密流程中,只有S盒(S-box)是的非線性函數(shù),是整個加密算法的安全。給出了S盒的圖示。
中的每個S盒都是一個4×16的查找表。在加密過程中,將與子密鑰K異或后的48bits均分為8組,分別對應(yīng)8個S盒,記每組為(a0a1a2a3a4a5)。根據(jù)這6位輸入,在對應(yīng)的S盒查找表中找到對應(yīng)的4位數(shù)據(jù)作為輸出。查找表中的對應(yīng)關(guān)系如下:由(a0a5)決定對應(yīng)的S盒的行,由(a1a2a3a4)決定對應(yīng)的S盒的列。由這個行和列確定的數(shù)(4位二進制表示)作為該S盒的輸出。
由于S盒在DES加密算法中的特殊地位,使得很多攻擊方法都是針對S盒的。
2 DPA原理在DES上的應(yīng)用
Differential Power Analysis早由Kocher et al提出,現(xiàn)在許多研究人員指出它對智能卡(Smart Card)是一種有效的攻擊。其理論基礎(chǔ)是:在加密過程中要消耗能量,而消耗的能量隨處理的數(shù)據(jù)不同會有微小的變化。根據(jù)這種變化確定處理的數(shù)據(jù)是0還是1,辦公而有可能猜出加密算法中所使用的密鑰。
在具體討論這種攻擊前,對所用符號做如下約定:
Si[j]:第i個明文在時間點j時的能量水泵抽樣值;
D(·):引入的區(qū)分函數(shù);
S0={Si[j]D(□)=0}; (1)
S1={Si[j]D(□)=1}; (2)
A0[j]:集合S0中所有信號在j時刻的平均能量消耗;
A1[j]:集合S1中所有信號在j時刻的平均能量消耗;
ΔD[j]:兩集合的平均信號能量差異。
首先,要能夠測得整個加密流程中S盒的能量曲線。基于統(tǒng)計的理論,要求記錄足夠的樣本點Si[j]。這里隱含了一個假設(shè):S盒中對不同比特處理時,能量消耗差異發(fā)生在一個特定的時間,而且正好在該點的±Δ時間范圍內(nèi)進行抽樣,因此能夠記錄下不同的能量消耗曲線。這個假設(shè)可以作為抗DPA攻擊對策的一個切入點。
另外還需要讓這些能量曲線反映出差于密鑰的信息。這是整個DPA過程中的關(guān)鍵。在這兒,引入了區(qū)分函數(shù)D(·),有的地方也記為selection function。從上面的(1)和(2)式中可以看到,該函數(shù)的作用是將樣本曲線映射到兩個不相交的集合上。
下一步,對這兩個集合中的樣本在時間點j的樣本值進行平均,得到時間點j時的平均能量消耗。由于Si[j]包含信號和噪聲這兩部分的能量消耗,而根據(jù)隨機過程的知識,知道其中大部分均值為0。因而這種平均可以在一定程序上降低隨機噪聲對信號的影響。
由上面可以看到:當(dāng)ΔD[j]較大時,說明由區(qū)分函數(shù)劃分的兩個信號的能量消耗在j時刻差異較大。而這種能量消耗差異,正是由密鑰和待處理數(shù)據(jù)相互作用而產(chǎn)生的。如果選擇的區(qū)分函數(shù)合適,即在理想的情況下,D函數(shù)正好將所有的在j時刻芯片處理數(shù)據(jù)為1的Si[j]選到集合S1;相應(yīng)地,在j時刻,芯片處理的數(shù)據(jù)為0的所有Si[j]被D函數(shù)映射到集合S0中,這時能量消耗差異很明顯。
目前發(fā)表的文獻中均只給出了具體的區(qū)分函數(shù),下面給出區(qū)分函數(shù)的一般選取原則:
(1)區(qū)分函數(shù)是關(guān)于密鑰的函數(shù)D(Ki);
(2)區(qū)分函數(shù)在正確的輸入下應(yīng)當(dāng)重現(xiàn)加密芯片所處理的某一比特值。
如將該函數(shù)定義為:
D(P6,K1)={S-box1(P6+Ki)}0 (6)
即D值等于第i個樣本在輪非線性變換中的個S盒輸出的4bits中的個比特。其中P6表示明文經(jīng)過初始置換后作為個S盒輸入的6bits,K1表示猜測的輪密鑰中用于個S盒的輸入部分。如果猜測的密鑰正確,那么D值就一定會等于實現(xiàn)加密過程中個S盒的位輸出。即這一時刻所有輸出為1的Si[j]都會被映射到集合S1,因此會使得ΔD[j]出現(xiàn)峰值。相反,如果密鑰不正確,就會使得某些輸出值為1的Si[j]被映射到集合S0中,這時ΔD[j]的射值會變小。這樣,就可以猜出一部分密鑰了。依照這種方法,猜測全部S盒的48bit密鑰所需的次數(shù)為2 6×8次,另外8比特密鑰可以用窮舉法求得。這個結(jié)果比單純地應(yīng)用窮舉搜索有了明顯的改進。
3 對策
基于DPA攻擊的假設(shè),可以提出一些對策。
假設(shè)1.攻擊者能夠記錄能量消耗差異。一種簡單的對策是引入噪聲,降低信噪比SNR,使得能量消耗差異減小。但這種引入噪聲的方法仍會受到改進的DPA攻擊。參考文獻4指出,通過選擇特別 區(qū)分函數(shù),可以提高SNR。前面(6)指出,通過選擇特別的區(qū)分函數(shù),可以提高SNR。前面(6)式給出的D函數(shù)只確定一個比特的值,設(shè)改進的D函數(shù)確定d個比特的值,如d=4,這時D函數(shù)的值可取后者的信噪比約為前者的d倍。但在這種方法中,樣本曲線被映射到3個不相交的集合上。
S0={Si[j]D(□)=0d} (7)
S1={Si[j]D(□)=1d}
S2={Si[j]Si[j]} ∈S0,S1}
個集合中D函數(shù)的值為d個0,第二個集合中D函數(shù)的值為d個1,第三個集合不用。其不利于之處是需要樣本點數(shù)會增加。
另一種對策是在加密過程中引入隨機延遲,這樣,特定時刻的實際能量消耗差異就不能被準(zhǔn)確記錄。
假設(shè)2.能量消耗的差異可以反映出密鑰的信息。可以通過對S盒的輸入做一些隨機的改變來掩飾密鑰的信息。一種常用的方法是用異或這一線性運算,對S盒 的輸入做隨機的改變。這需要對S盒的輸出也做一個相應(yīng)的修正,使得加密的結(jié)果不受異或這一線性運算的影響。另外一種方法是在加密過程中用兩個不同的處理器,它們處理的數(shù)據(jù)寬度不同,因而消耗的能量也不一樣,再用一個隨機序列發(fā)生器來產(chǎn)生選擇信號,可以隨機地選擇不同的處理器。具體的硬件電路見參考文獻[6]。其它有關(guān)FPGA和ASIC在降低信息泄漏方面的專門研究,本文不做討論。但如果能防止信息泄漏,這將從根本上抵抗DPA攻擊。
應(yīng)該注意到,筆者是把智能卡作為攻擊對象,因而可能得到足夠的樣本點,并知道明文和密文。這在其它的密碼系統(tǒng)上,并不是必然的事實。但目前智能卡得到了廣泛的應(yīng)用,因此這種攻擊的潛在危害較大。以上僅以DES的S盒部分說明了DPA攻擊,但就DPA的基本原理,它可以被應(yīng)用于其它的密碼算法上,如橢圓曲線、AES(Advanced Encryption Standard)等。對DPA的防范措施還有待進一步研究。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 工業(yè)5G技術(shù)在智能制造中的應(yīng)用與實踐解析2025/12/31 10:57:21
- 工業(yè)以太網(wǎng)交換機選型與現(xiàn)場應(yīng)用技術(shù)指南2025/12/18 10:48:14
- 無線傳輸電路基礎(chǔ),射頻前端設(shè)計、天線匹配與鏈路預(yù)算計算2025/10/27 13:55:50
- ASK 解調(diào)的核心要點與實現(xiàn)方式2025/9/5 16:46:17
- 雙偶極子天線:結(jié)構(gòu)、特性與應(yīng)用全解析2025/9/3 10:29:21









