文獻標識碼: A
文章編號: 0258-7998(2014)03-0048-04
近年來,利用密碼設備運行時泄漏的電磁信息來獲得密鑰的研究逐漸得到重視。2002年,DaKshi對電磁攻擊進行深入的研究后指出:密碼設備運行時泄漏的電磁信息非常明顯,而且容易測量和分析,與其他攻擊方法相比,電磁攻擊更有效[1]。Carlier等人通過電磁攻擊破解了AES密碼芯片的密鑰[2]。在國內,袁征等人將電磁攻擊和能量分析攻擊的特點進行了對比,得出了電磁攻擊更有效[3]。嚴迎建等人在分析漢明重量模型和DEMA(Differential ElectroMagnetic Analysis)攻擊原理的基礎上,提出了一種多比特DEMA尖峰模擬分析方法。但是,關于電磁攻擊中區分函數選擇的研究非常少,現有的攻擊方法都是仿照Eric Brier等人提出的方法[4]進行區分函數的構造。
本文在分析電磁信息泄露機理的基礎上,探討了DES密碼芯片的不同區分函數的構造過程。根據其構造方法的不同,使用3種DEMA攻擊方式對DES密碼芯片進行了攻擊實驗,并根據實驗結果對不同方式構造的區分函數進行了分析與對比,給出了DES密碼芯片合適的區分函數構造方法。
1 電磁信息泄露機理
圖1所示為CMOS反相器的等效電容模型[5]。
COMS反相器的能量消耗分為靜態能量消耗和動態能量消耗。靜態能量消耗是由擴散區與襯底之間的反向漏電流產生的。動態能量消耗包含兩部分:一部分是對負載電容進行充放電產生的,另一部分是輸入發生瞬變時產生的瞬時短路電流。其中:充放電電流對CMOS元件的能量消耗影響最大。
根據電磁場理論,隨時間變化的電流產生變化的磁場。因此,密碼設備在工作過程中會產生大量的電磁輻射信息,并且這些電磁信息與芯片內部執行的操作相關,這構成了電磁攻擊的物理基礎。
2 DEMA的區分函數構造
DEMA是采用均值差法對密碼芯片運行過程中的電磁信息泄漏進行統計分析,從而得到獲取密碼算法的密鑰信息。差分分析的一般步驟如圖2所示。根據各組猜測密鑰相對應的假設中間值的漢明重量將實際電磁曲線分為兩個集合,分別對它們求均值,然后做差處理,得到各組猜測密鑰對應的差分電磁曲線。其中,選擇一個比特位的漢明重量構造區分函數進行DEMA攻擊的方法稱為單比特DEMA攻擊,選擇多個比特位漢明重量之和構造區分函數進行DEMA攻擊的方法稱為多比特DEMA攻擊。
2.1 單比特DEMA攻擊方法
單比特DEMA攻擊區分函數的構造過程:攻擊者選擇一個與明文Ci和密鑰Ks相關的中間值D(Ci,Ks),對其進行漢明重量建模H(·),并根據漢明重量模型值的大小將對應的功耗曲線分到不同的集合中。
對于單比特DEMA攻擊,攻擊者將根據中間值的某一比特的漢明重量是0還是1,將相對應的功耗曲線分別分到集合S0和集合S1:
正確猜測密鑰對應的分組正確,差值最大;而錯誤密鑰對應的差值很小;且非該中間值出現的時刻,可認為是隨機數,差值近似為0。因此,根據差分曲線上出現的尖峰,可以判斷正確密鑰。
2.2 多比特DEMA攻擊方法
多比特DEMA攻擊流程與單比特DEMA攻擊流程的大致相同,僅有兩方面區別:一方面,在構造區分函數的漢明重量模型時有區別,多比特DEMA攻擊時,區分函數值是多比特中間值的漢明重量之和;另一方面,區分函數值對相應的電磁信息泄露曲線的映射分組不同。
AON_DEMA區分函數是將中間值各個比特位的漢明重量全為0對應的電磁信息泄露曲線映射到S0i中,將中間值各個比特位的漢明重量全為1對應的電磁信息泄露曲線映射到S1i中,剩下的電磁信息泄露曲線映射到S2i。G_DEMA區分函數通過檢測中間值各比特位的漢明重量之和與閾值的大小關系對電磁泄露曲線進行分組,當中間值的各比特位漢明重量之和小于n/2時,將對應電磁信息泄露曲線映射到S0i中;大于n/2時,將電磁信息泄露曲線映射到S1i中;剩下的電磁信息泄露曲線映射到S2i。
3 攻擊實驗及結果分析
為了采集DES算法運行時的電磁泄露信息,將DES算法的硬件描述下載到FPGA開發板上,利用近場探頭采集DES密碼芯片工作過程中的電磁泄露信息。為了對比DES密碼芯片的3種DEMA攻擊方式的假峰現象以及攻擊成功率,本文選擇DES密碼算法第1個S盒輸出的第1位進行單比特DEMA攻擊,選擇第1個S盒輸出的4 bit進行多比特DEMA攻擊。
3.1 DES密碼芯片的單比特DEMA攻擊
密碼芯片泄露的電磁信息依賴于當前被處理的數據,在進行單比特DEMA攻擊時,僅僅利用一個比特位對電磁泄露曲線進行分組,由于不同電磁泄露曲線對該比特位的數據相關性不同,從而導致其所對應的有用信號大小不同。當該比特位的有用信號較小時,在噪聲的影響下,正確密鑰所對應的差分曲線的尖峰不明顯,會出現不同程度的假峰現象。因此采用此種劃分方法需要大量的功耗曲線樣本。
圖3所示為4 000組明文樣本下利用單比特DEMA攻擊得到的DES第1個S盒的64個猜測密鑰對應的差分曲線。由圖3可以得出,含有尖峰的差分曲線對應著正確密鑰。因此,在4 000組明文樣本下,攻擊者可以成功采用單比特區分函數破解DES密碼算法的密鑰。
圖4所示為2 000組明文樣本下利用單比特DEMA攻擊得到的DES第1個S盒的64個猜測密鑰對應的差分曲線。由圖4可以得出,當明文樣本為2 000組時,單比特DEMA攻擊結果含有尖峰的差分曲線對應著錯誤密鑰,出現假峰現象。因此在2 000組明文樣本下,由于假峰現象的影響,攻擊者不能采用單比特區分函數破解DES密碼算法的密鑰。
3.2 DES密碼芯片的多比特攻擊
由于密碼芯片泄露的電磁信息還依賴于設備執行的操作,因此在進行多比特DEMA攻擊時,利用多個比特位的漢明重量之和對電磁泄露曲線進行分組,此時多個比特位的操作相關性相互交疊會對電磁泄露曲線分組產生影響。若各比特位相關性疊加,則有用信號增強,正確密鑰所對應的尖峰明顯;反之,會引入更大的轉換噪聲,使正確密鑰尖峰不明顯,甚至會出現較強的假峰現象。對此選擇DES密碼算法的第1個S盒輸出,分別采用AON_DEMA和G_DEMA方式構造區分函數。
首先采集了4 000組明文樣本對應的電磁信息泄漏曲線。由圖5和圖6可以得出,二者的尖峰曲線均對應著正確密鑰。因此,在4 000組明文樣本下,攻擊者可以采用AON_DEMA攻擊或G_DEMA攻擊破解DES密碼算法的密鑰。
其次采集了2 000組明文樣本對應的電磁信息泄漏曲線。由圖7和圖8可以得出,當明文樣本為2 000組時,G_DEMA攻擊結果含有尖峰的差分曲線對應著錯誤密鑰,出現假峰現象;而AON_DEMA攻擊結果含有尖峰的差分曲線對應著正確密鑰。因此在2 000組明文樣本下,攻擊者不能采用G_DEMA攻擊破解DES密碼算法的密鑰,但可以采用AON_DEMA攻擊破解DES密碼算法的密鑰。
3.3 結果分析
對比單比特攻擊方式和多比特攻擊方式的效果可以得出,單比特DEMA攻擊效果差,易出現假峰現象,而多比特DEMA攻擊則不易出現假峰現象。這是由于單比特位所對應的數據相關性在噪聲的影響下會比較差,而多比特位其各自對應的相關性相互疊加使得尖峰明顯,并且按照信噪比理論,只有1 bit區分時電磁泄露信息相對較少,采用多比特區分時能獲得更多與密鑰有關的泄露信息。因此,多比特攻擊方式所需的樣本量更少。
對比兩種多比特攻擊方式可以得出,采用AON_DEMA方式構造區分函數攻擊所對應的正確密鑰的尖峰值明顯高于G_DEMA區分函數攻擊所對應的正確密鑰的尖峰值,并且在明文樣本量為2 000組時,僅有AON_DEMA攻擊能夠破解DES密碼算法的密鑰。這是由于采用G_DEMA攻擊時,可能因為某一比特位或某幾個比特位所帶來的轉換噪聲過大,導致有用信號“淹沒”在噪聲中,使得差分曲線的尖峰不明顯,甚至出現假峰現象;而采用AON_DEMA攻擊時,舍棄了更多的隨機明文,使得某一比特位或某幾個比特位所帶來的轉換噪聲過大的概率降低。此外,多個比特位的相關性相互疊加,使得信噪比增加,AON_DEMA差分曲線的尖峰明顯。因此,采用AON_DEMA區分函數的攻擊效率高于其余兩種區分函數的攻擊效率。
參考文獻
[1] AGRAWAL D,ARCHAMBEAULT B,RAO J R,et al.The EM side channels[C].Cryptographic Hardware and Embedded System-CHES 2002,2002:29-45.
[2] CARLIER V,CHABANNE H,DOTTAX E,et al.Electroma gnetic side channels of an FPGA implementation of AES[C]. IACR Cryptology ePrint Archive-2004,2004:145-146.
[3] 袁征,毛明,李勝利.電磁攻擊方法與能量分析攻擊方法的對比[J].現代電子技術,2003(8):37-38.
[4] BRIER E,CLAVIER C,OLIVIER F.Correlation power analysis with a leakage model[C].Cryptographic Hardware and Embedded Systems-CHES 2004,2004:16-19.
[5] DEHBAOUI A,ORDAS S,TORRES L,et al.Implementation and efficiency evaluation of construction-based countermea sures against electromagnetic analysis[C].Design & Technology of Integrated Systems in Nanoscale Era(DTIS),2011 6th International Conference,2011:1-6.
[6] 段二鵬.分組密碼芯片的差分電磁分析攻擊技術研究[D].鄭州:解放軍信息工程大學,2012.