《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 對于DES的差分能量分析攻擊及其防范對策

對于DES的差分能量分析攻擊及其防范對策

2008-09-22
作者:張 詠1, 范明鈺2, 王宇飛1

  摘 要: 簡要介紹了DES的加密過程,將差分" title="差分">差分能量分析DPA(Differential Power Analysis)的原理運用于該算法,提出了區分函數的選取原則,并針對差分能量分析的假設,介紹了幾種對抗這種攻擊的策略。
  關鍵詞: DES DPA 差分能量分析 區分函數


  傳統的密碼分析理論認為,對密碼芯片的分析僅依賴于輸入明文和輸出密文。而在實際應用中,分析人員可以獲得其它的信息。例如對于有引腳的芯片,很容易獲得引腳上的電流或者電壓。通過這些電流或電壓的變化,可以用有別于傳統的方法獲得密鑰的信息。
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],現在許多研究人員指出它對智能卡(Smart Card)是一種有效的攻擊[2~6]。其理論基礎是:在加密過程中要消耗能量,而消耗的能量隨處理的數據不同會有微小的變化。根據這種變化確定所處理的數據是0 還是1,從而有可能猜出加密算法中所使用的密鑰。
  在具體討論這種攻擊前,對所用符號做如下約定:
  Si[j]:第i個明文在時間點j時的能量消耗" title="能量消耗">能量消耗抽樣值;
  D(·):引入的區分函數;
  
  A0[j]:集合S0中所有信號在j時刻的平均能量消耗;
  A1[j]:集合S1中所有信號在j時刻的平均能量消耗;
  △D[j]:兩集合的平均信號能量差異。
  首先,要能夠測得整個加密流程中S盒的能量消耗曲線?;诮y計的理論,要求記錄足夠的樣本點Si[j]。這里隱含了一個假設:S盒中對不同比特處理時,能量消耗差異發生在一個特定的時間,而且正好在該點的±△時間范圍內進行抽樣,因此能夠記錄下不同的能量消耗曲線。這個假設可以作為抗DPA攻擊對策的一個切入點。
  另外還需要讓這些能量曲線反映出關于密鑰的信息。這是整個DPA過程中的關鍵。在這兒,引入了區分函數D(·),有的地方也記為selection function[2]。從上面的" title="面的">面的(1)和(2)式中可以看到,該函數的作用是將樣本曲線映射到兩個不相交的集合上。
  下一步,對這兩個集合中的樣本在時間點j的樣本值進行平均,得到時間點j時的平均能量消耗。由于Si[j]包含信號和噪聲這兩部分的能量消耗,而根據隨機過程的知識,知道其中大部分均值為0。關于噪聲的模型可見參考文獻[4]。因而這種平均可以在一定程度上降低隨機噪聲對信號的影響。
  
  由上面可以看到:當|△D[j]|較大時,說明由區分函數劃分的兩個信號的能量消耗在j時刻差異較大。而這種能量消耗差異,正是由密鑰和待處理數據相互作用而產生的。如果選擇的區分函數合適,即在理想的情況下,D函數正好將所有在j時刻芯片處理數據為1的Si[j]選到集合S1;相應地,在j時刻,芯片處理的數據為0的所有Si[j]被D函數映射到集合S0中,這時能量消耗差異很明顯。
  目前發表的文獻中均只給出了具體的區分函數,下面給出區分函數的一般選取原則:
  (1)區分函數是關于密鑰的函數D(Ki);
  (2)區分函數在正確的輸入下應當重現加密芯片所處理的某一比特值。
  如將該函數定義為:
  
  即D值等于第i個樣本在第一輪非線性變換中的第一個" title="第一個">第一個S盒輸出的4bits中的第一個比特。其中P6表示明文經過初始置換后作為第一個S盒輸入的6bits,K1表示猜測的第一輪密鑰中用于第一個S盒的輸入部分。如果猜測的密鑰正確,那么D值就一定會等于實際加密過程中第一個S盒的第一位輸出。即這一時刻所有輸出為1的Si[j]都會被映射到集合S1,因此會使得△D[j]出現峰值。相反,如果密鑰不正確,就會使得某些輸出值為1的Si[j]被映射到集合S0中,這時△D[j]的峰值會變小。這樣,就可以猜出一部分密鑰了。依照這種方法,猜測全部S盒的48bits密鑰所需的次數為26×8次,另外8比特密鑰可以用窮舉法求得。這個結果比單純地應用窮舉搜索有了明顯的改進。其它一些區分函數的例子見參考文獻[2,4,5]。
3 對策
  基于DPA攻擊的假設,可以提出一些對策。
  假設1.攻擊者能夠記錄能量消耗差異。一種簡單的對策是引入噪聲,降低信噪比SNR,使得能量消耗差異減小。但這種引入噪聲的方法仍會受到改進的DPA攻擊。參考文獻[4]指出,通過選擇特別的區分函數,可以提高SNR。前面(6)式給出的D函數一次只確定一個比特的值,設改進的D函數一次確定d個比特的值,如d=4,這時D函數的值可取后者信噪比約為前者的d倍。但在這種方法中,樣本曲線被映射到3個不相交的集合上。
  
  第一個集合中D函數的值為d個0,第二個集合中D函數的值為d個1,第三個集合不用。其不利之處是需要的樣本點數會增加。
  另一種對策是在加密過程中引入隨機延遲,這樣,特定時刻的實際能量消耗差異就不能被準確記錄。
  假設2.能量消耗的差異可以反映出密鑰的信息。可以通過對S盒的輸入做一些隨機的改變來掩飾密鑰的信息。一種常用的方法是用異或這一線性運算,對S盒的輸入做隨機的改變。這需要對S盒的輸出也做一個相應的修正,使得最后加密的結果不受異或這一線性運算的影響。另外一種方法是在加密過程中用兩個不同的處理器,它們處理的數據寬度不同,因而消耗的能量也不一樣,再用一個隨機序列發生器來產生選擇信號,可以隨機地選擇不同的處理器。具體的硬件電路見參考文獻[6]。其它有關FPGA和ASIC在降低信息泄漏方面的專門研究,本文不做討論。但如果能防止信息泄漏,這將從根本上抵抗DPA攻擊。
  應該注意到,筆者是把智能卡作為攻擊對象,因而可能得到足夠的樣本點,并知道明文和密文。這在其它的密碼系統上,并不是必然的事實。但目前智能卡得到了廣泛的應用,因此這種攻擊的潛在危害較大。以上僅以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

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 成人午夜动漫在线观看 | 亚洲黄色网址在线观看 | 国产无套在线观看视频 | 日日操日日射 | 日韩亚州| 中文字幕欧美一区 | 男人女人真曰批视频大全免费观看 | 免费看大美女大黄大色 | 欧美成人日韩 | 日批视频在线免费看 | 亚洲日本中文字幕永久 | 国产在线观看免费视频软件 | 国产欧美国产精品第一区 | 丝袜视频在线 | 国产精品自在线拍国产 | 亚洲狠狠97婷婷综合久久久久 | 69中国xxxxxxxx18 | 亚洲欧美韩日 | 一区二区三区免费在线观看 | 小明网址| 在线成人tv天堂中文字幕 | 免费在线视频a | 有人有片的观看免费视频 | 亚洲成a人片在线观看导航 亚洲成a人片在线观看精品 | 超级碰碰永久免费视频播放 | 日本xxx18hd19hd | 午夜欧美精品久久久久久久久 | 未成人禁止视频高清在线观看 | 天天色啪| 日本乱人伦免费播放 | 国产精品1区2区3区在线播放 | 日本韩国欧美在线观看 | 中文精品久久久久国产网站 | 亚洲欧美日韩在线一区 | 久久毛片免费看一区二区三区 | 久久高清一级毛片 | 欧美一级精品高清在线观看 | 国产三级黄色片 | 亚洲欧美强伦一区二区另类 | 亚洲欧洲日韩 | 成人午夜免费福利视频 |