摘 要: 簡要介紹了DES的加密過程,,將差分" title="差分">差分能量分析DPA(Differential Power Analysis)的原理運用于該算法,,提出了區(qū)分函數的選取原則,,并針對差分能量分析的假設,,介紹了幾種對抗這種攻擊的策略,。
關鍵詞: DES DPA 差分能量分析 區(qū)分函數
傳統(tǒng)的密碼分析理論認為,,對密碼芯片的分析僅依賴于輸入明文和輸出密文,。而在實際應用中,,分析人員可以獲得其它的信息,。例如對于有引腳的芯片,很容易獲得引腳上的電流或者電壓,。通過這些電流或電壓的變化,,可以用有別于傳統(tǒng)的方法獲得密鑰的信息。
1 DES加密過程
DES(Data Encryption Standard)被認為是加密技術的兩大里程碑之一,。在上個世紀得到了廣泛的應用,。這里給出其中一輪加密過程,如圖1,。其它如擴展置換,、密鑰產生等具體過程見參考文獻[1],。
在整個DES加密流程中,只有S盒(S-box)是唯一的非線性函數,,是整個加密算法的安全核心,。圖2給出了S盒的圖示。
圖2中的每個S盒都是一個4×16的查找表" title="查找表">查找表,。在加密過程中,,將與子密鑰K異或后的48bits均分為8組,分別對應8個S盒,,記每組為(a0a1a2a3a4a5),。根據這6位輸入,在對應的S盒查找表中找到對應的4位數據作為輸出,。查找表中的對應關系如下:由(a0 a5)決定對應的S盒的行,,由(a1a2a3a4)決定對應的S盒的列。由這個行和列確定的數(4位二進制表示)作為該S盒的輸出,。
由于S盒在DES加密算法中的特殊地位,,使得很多攻擊方法都是針對S盒的。
2 DPA原理在DES上的應用
Differential Power Analysis最早由Kocher et al提出[2],,現(xiàn)在許多研究人員指出它對智能卡(Smart Card)是一種有效的攻擊[2~6],。其理論基礎是:在加密過程中要消耗能量,而消耗的能量隨處理的數據不同會有微小的變化,。根據這種變化確定所處理的數據是0 還是1,,從而有可能猜出加密算法中所使用的密鑰。
在具體討論這種攻擊前,,對所用符號做如下約定:
Si[j]:第i個明文在時間點j時的能量消耗" title="能量消耗">能量消耗抽樣值,;
D(·):引入的區(qū)分函數;
A0[j]:集合S0中所有信號在j時刻的平均能量消耗,;
A1[j]:集合S1中所有信號在j時刻的平均能量消耗,;
△D[j]:兩集合的平均信號能量差異。
首先,,要能夠測得整個加密流程中S盒的能量消耗曲線,。基于統(tǒng)計的理論,,要求記錄足夠的樣本點Si[j],。這里隱含了一個假設:S盒中對不同比特處理時,能量消耗差異發(fā)生在一個特定的時間,,而且正好在該點的±△時間范圍內進行抽樣,,因此能夠記錄下不同的能量消耗曲線。這個假設可以作為抗DPA攻擊對策的一個切入點,。
另外還需要讓這些能量曲線反映出關于密鑰的信息,。這是整個DPA過程中的關鍵,。在這兒,引入了區(qū)分函數D(·),,有的地方也記為selection function[2],。從上面的" title="面的">面的(1)和(2)式中可以看到,該函數的作用是將樣本曲線映射到兩個不相交的集合上,。
下一步,,對這兩個集合中的樣本在時間點j的樣本值進行平均,得到時間點j時的平均能量消耗,。由于Si[j]包含信號和噪聲這兩部分的能量消耗,,而根據隨機過程的知識,知道其中大部分均值為0,。關于噪聲的模型可見參考文獻[4],。因而這種平均可以在一定程度上降低隨機噪聲對信號的影響。
由上面可以看到:當|△D[j]|較大時,,說明由區(qū)分函數劃分的兩個信號的能量消耗在j時刻差異較大,。而這種能量消耗差異,正是由密鑰和待處理數據相互作用而產生的,。如果選擇的區(qū)分函數合適,,即在理想的情況下,D函數正好將所有在j時刻芯片處理數據為1的Si[j]選到集合S1,;相應地,,在j時刻,芯片處理的數據為0的所有Si[j]被D函數映射到集合S0中,,這時能量消耗差異很明顯,。
目前發(fā)表的文獻中均只給出了具體的區(qū)分函數,下面給出區(qū)分函數的一般選取原則:
(1)區(qū)分函數是關于密鑰的函數D(Ki);
(2)區(qū)分函數在正確的輸入下應當重現(xiàn)加密芯片所處理的某一比特值,。
如將該函數定義為:
即D值等于第i個樣本在第一輪非線性變換中的第一個" title="第一個">第一個S盒輸出的4bits中的第一個比特,。其中P6表示明文經過初始置換后作為第一個S盒輸入的6bits,K1表示猜測的第一輪密鑰中用于第一個S盒的輸入部分,。如果猜測的密鑰正確,,那么D值就一定會等于實際加密過程中第一個S盒的第一位輸出。即這一時刻所有輸出為1的Si[j]都會被映射到集合S1,,因此會使得△D[j]出現(xiàn)峰值,。相反,如果密鑰不正確,,就會使得某些輸出值為1的Si[j]被映射到集合S0中,,這時△D[j]的峰值會變小。這樣,,就可以猜出一部分密鑰了,。依照這種方法,,猜測全部S盒的48bits密鑰所需的次數為26×8次,另外8比特密鑰可以用窮舉法求得,。這個結果比單純地應用窮舉搜索有了明顯的改進,。其它一些區(qū)分函數的例子見參考文獻[2,4,5]。
3 對策
基于DPA攻擊的假設,,可以提出一些對策,。
假設1.攻擊者能夠記錄能量消耗差異。一種簡單的對策是引入噪聲,,降低信噪比SNR,,使得能量消耗差異減小。但這種引入噪聲的方法仍會受到改進的DPA攻擊,。參考文獻[4]指出,,通過選擇特別的區(qū)分函數,可以提高SNR,。前面(6)式給出的D函數一次只確定一個比特的值,,設改進的D函數一次確定d個比特的值,如d=4,,這時D函數的值可取后者信噪比約為前者的d倍,。但在這種方法中,樣本曲線被映射到3個不相交的集合上,。
第一個集合中D函數的值為d個0,,第二個集合中D函數的值為d個1,第三個集合不用,。其不利之處是需要的樣本點數會增加,。
另一種對策是在加密過程中引入隨機延遲,這樣,,特定時刻的實際能量消耗差異就不能被準確記錄,。
假設2.能量消耗的差異可以反映出密鑰的信息??梢酝ㄟ^對S盒的輸入做一些隨機的改變來掩飾密鑰的信息,。一種常用的方法是用異或這一線性運算,對S盒的輸入做隨機的改變。這需要對S盒的輸出也做一個相應的修正,,使得最后加密的結果不受異或這一線性運算的影響,。另外一種方法是在加密過程中用兩個不同的處理器,它們處理的數據寬度不同,,因而消耗的能量也不一樣,,再用一個隨機序列發(fā)生器來產生選擇信號,可以隨機地選擇不同的處理器。具體的硬件電路見參考文獻[6],。其它有關FPGA和ASIC在降低信息泄漏方面的專門研究,,本文不做討論。但如果能防止信息泄漏,,這將從根本上抵抗DPA攻擊,。
應該注意到,筆者是把智能卡作為攻擊對象,,因而可能得到足夠的樣本點,,并知道明文和密文。這在其它的密碼系統(tǒng)上,,并不是必然的事實,。但目前智能卡得到了廣泛的應用,因此這種攻擊的潛在危害較大,。以上僅以DES的S盒部分說明了DPA攻擊,,但就DPA的基本原理,它可以被應用于其它的密碼算法上,,如橢圓曲線[7],、AES[8](Advanced Encryption Standard)等。對DPA的防范措施還有待進一步研究,。
參考文獻
1 陳 運.信息加密原理.成都:電子科技大學出版社,1996
2 P.Kocher,J.Jaffe, B.Jun.Introduction to Differential Power Analysis and Related Attacks.1998.http://www.cryptography.com
3 Xi Xi Chen. Differential Power Analysis Countermeasures for DES. 2002
4 Thomas S.Messerges,Ezzat A.Dabbish,Robert H.Sloan.Exam-ining Smart-Card Security under the Threat of Power Analy- sis Attacks. IEEE TRANSACTIONS ON COMPUTERS,,2002;51(5)
5 Jean.Sebastien Coron ,Louis Goubin.On Boolean and Arith-metic Masking against Differential Power Analysis.CHES2000,vol.1965 of Lecture Notes in Computer Science
6 Luca Benini,Alberto Macii,Enrico Macii,Elvira,etc.Energy-Aware Design Techniques for Differential Power Analysis Protection.Anaheim, California, USA DAC 2003, June
7 Jean-Sebastien Coron. Resistance Against Differential Power Analysis for Elliptic Curve Cryptosystems.Cryptographic Hard-ware and Embedded System,vol.1717 of Lecture Notes in Computer Science, 1999
8 [韓]Hwasun Chang. A Study on Securing AES against Dif-ferential Power Analysis. School of Engineering Information and Communications University, A Thesis for the Degree of Master,2004