文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2014)03-0048-04
近年來,利用密碼設(shè)備運(yùn)行時(shí)泄漏的電磁信息來獲得密鑰的研究逐漸得到重視。2002年,DaKshi對(duì)電磁攻擊進(jìn)行深入的研究后指出:密碼設(shè)備運(yùn)行時(shí)泄漏的電磁信息非常明顯,而且容易測(cè)量和分析,與其他攻擊方法相比,電磁攻擊更有效[1]。Carlier等人通過電磁攻擊破解了AES密碼芯片的密鑰[2]。在國(guó)內(nèi),袁征等人將電磁攻擊和能量分析攻擊的特點(diǎn)進(jìn)行了對(duì)比,得出了電磁攻擊更有效[3]。嚴(yán)迎建等人在分析漢明重量模型和DEMA(Differential ElectroMagnetic Analysis)攻擊原理的基礎(chǔ)上,提出了一種多比特DEMA尖峰模擬分析方法。但是,關(guān)于電磁攻擊中區(qū)分函數(shù)選擇的研究非常少,現(xiàn)有的攻擊方法都是仿照Eric Brier等人提出的方法[4]進(jìn)行區(qū)分函數(shù)的構(gòu)造。
本文在分析電磁信息泄露機(jī)理的基礎(chǔ)上,探討了DES密碼芯片的不同區(qū)分函數(shù)的構(gòu)造過程。根據(jù)其構(gòu)造方法的不同,使用3種DEMA攻擊方式對(duì)DES密碼芯片進(jìn)行了攻擊實(shí)驗(yàn),并根據(jù)實(shí)驗(yàn)結(jié)果對(duì)不同方式構(gòu)造的區(qū)分函數(shù)進(jìn)行了分析與對(duì)比,給出了DES密碼芯片合適的區(qū)分函數(shù)構(gòu)造方法。
1 電磁信息泄露機(jī)理
圖1所示為CMOS反相器的等效電容模型[5]。
COMS反相器的能量消耗分為靜態(tài)能量消耗和動(dòng)態(tài)能量消耗。靜態(tài)能量消耗是由擴(kuò)散區(qū)與襯底之間的反向漏電流產(chǎn)生的。動(dòng)態(tài)能量消耗包含兩部分:一部分是對(duì)負(fù)載電容進(jìn)行充放電產(chǎn)生的,另一部分是輸入發(fā)生瞬變時(shí)產(chǎn)生的瞬時(shí)短路電流。其中:充放電電流對(duì)CMOS元件的能量消耗影響最大。
根據(jù)電磁場(chǎng)理論,隨時(shí)間變化的電流產(chǎn)生變化的磁場(chǎng)。因此,密碼設(shè)備在工作過程中會(huì)產(chǎn)生大量的電磁輻射信息,并且這些電磁信息與芯片內(nèi)部執(zhí)行的操作相關(guān),這構(gòu)成了電磁攻擊的物理基礎(chǔ)。
2 DEMA的區(qū)分函數(shù)構(gòu)造
DEMA是采用均值差法對(duì)密碼芯片運(yùn)行過程中的電磁信息泄漏進(jìn)行統(tǒng)計(jì)分析,從而得到獲取密碼算法的密鑰信息。差分分析的一般步驟如圖2所示。根據(jù)各組猜測(cè)密鑰相對(duì)應(yīng)的假設(shè)中間值的漢明重量將實(shí)際電磁曲線分為兩個(gè)集合,分別對(duì)它們求均值,然后做差處理,得到各組猜測(cè)密鑰對(duì)應(yīng)的差分電磁曲線。其中,選擇一個(gè)比特位的漢明重量構(gòu)造區(qū)分函數(shù)進(jìn)行DEMA攻擊的方法稱為單比特DEMA攻擊,選擇多個(gè)比特位漢明重量之和構(gòu)造區(qū)分函數(shù)進(jìn)行DEMA攻擊的方法稱為多比特DEMA攻擊。
2.1 單比特DEMA攻擊方法
單比特DEMA攻擊區(qū)分函數(shù)的構(gòu)造過程:攻擊者選擇一個(gè)與明文Ci和密鑰Ks相關(guān)的中間值D(Ci,Ks),對(duì)其進(jìn)行漢明重量建模H(·),并根據(jù)漢明重量模型值的大小將對(duì)應(yīng)的功耗曲線分到不同的集合中。
對(duì)于單比特DEMA攻擊,攻擊者將根據(jù)中間值的某一比特的漢明重量是0還是1,將相對(duì)應(yīng)的功耗曲線分別分到集合S0和集合S1:
正確猜測(cè)密鑰對(duì)應(yīng)的分組正確,差值最大;而錯(cuò)誤密鑰對(duì)應(yīng)的差值很?。磺曳窃撝虚g值出現(xiàn)的時(shí)刻,可認(rèn)為是隨機(jī)數(shù),差值近似為0。因此,根據(jù)差分曲線上出現(xiàn)的尖峰,可以判斷正確密鑰。
2.2 多比特DEMA攻擊方法
多比特DEMA攻擊流程與單比特DEMA攻擊流程的大致相同,僅有兩方面區(qū)別:一方面,在構(gòu)造區(qū)分函數(shù)的漢明重量模型時(shí)有區(qū)別,多比特DEMA攻擊時(shí),區(qū)分函數(shù)值是多比特中間值的漢明重量之和;另一方面,區(qū)分函數(shù)值對(duì)相應(yīng)的電磁信息泄露曲線的映射分組不同。
AON_DEMA區(qū)分函數(shù)是將中間值各個(gè)比特位的漢明重量全為0對(duì)應(yīng)的電磁信息泄露曲線映射到S0i中,將中間值各個(gè)比特位的漢明重量全為1對(duì)應(yīng)的電磁信息泄露曲線映射到S1i中,剩下的電磁信息泄露曲線映射到S2i。G_DEMA區(qū)分函數(shù)通過檢測(cè)中間值各比特位的漢明重量之和與閾值的大小關(guān)系對(duì)電磁泄露曲線進(jìn)行分組,當(dāng)中間值的各比特位漢明重量之和小于n/2時(shí),將對(duì)應(yīng)電磁信息泄露曲線映射到S0i中;大于n/2時(shí),將電磁信息泄露曲線映射到S1i中;剩下的電磁信息泄露曲線映射到S2i。
3 攻擊實(shí)驗(yàn)及結(jié)果分析
為了采集DES算法運(yùn)行時(shí)的電磁泄露信息,將DES算法的硬件描述下載到FPGA開發(fā)板上,利用近場(chǎng)探頭采集DES密碼芯片工作過程中的電磁泄露信息。為了對(duì)比DES密碼芯片的3種DEMA攻擊方式的假峰現(xiàn)象以及攻擊成功率,本文選擇DES密碼算法第1個(gè)S盒輸出的第1位進(jìn)行單比特DEMA攻擊,選擇第1個(gè)S盒輸出的4 bit進(jìn)行多比特DEMA攻擊。
3.1 DES密碼芯片的單比特DEMA攻擊
密碼芯片泄露的電磁信息依賴于當(dāng)前被處理的數(shù)據(jù),在進(jìn)行單比特DEMA攻擊時(shí),僅僅利用一個(gè)比特位對(duì)電磁泄露曲線進(jìn)行分組,由于不同電磁泄露曲線對(duì)該比特位的數(shù)據(jù)相關(guān)性不同,從而導(dǎo)致其所對(duì)應(yīng)的有用信號(hào)大小不同。當(dāng)該比特位的有用信號(hào)較小時(shí),在噪聲的影響下,正確密鑰所對(duì)應(yīng)的差分曲線的尖峰不明顯,會(huì)出現(xiàn)不同程度的假峰現(xiàn)象。因此采用此種劃分方法需要大量的功耗曲線樣本。
圖3所示為4 000組明文樣本下利用單比特DEMA攻擊得到的DES第1個(gè)S盒的64個(gè)猜測(cè)密鑰對(duì)應(yīng)的差分曲線。由圖3可以得出,含有尖峰的差分曲線對(duì)應(yīng)著正確密鑰。因此,在4 000組明文樣本下,攻擊者可以成功采用單比特區(qū)分函數(shù)破解DES密碼算法的密鑰。
圖4所示為2 000組明文樣本下利用單比特DEMA攻擊得到的DES第1個(gè)S盒的64個(gè)猜測(cè)密鑰對(duì)應(yīng)的差分曲線。由圖4可以得出,當(dāng)明文樣本為2 000組時(shí),單比特DEMA攻擊結(jié)果含有尖峰的差分曲線對(duì)應(yīng)著錯(cuò)誤密鑰,出現(xiàn)假峰現(xiàn)象。因此在2 000組明文樣本下,由于假峰現(xiàn)象的影響,攻擊者不能采用單比特區(qū)分函數(shù)破解DES密碼算法的密鑰。
3.2 DES密碼芯片的多比特攻擊
由于密碼芯片泄露的電磁信息還依賴于設(shè)備執(zhí)行的操作,因此在進(jìn)行多比特DEMA攻擊時(shí),利用多個(gè)比特位的漢明重量之和對(duì)電磁泄露曲線進(jìn)行分組,此時(shí)多個(gè)比特位的操作相關(guān)性相互交疊會(huì)對(duì)電磁泄露曲線分組產(chǎn)生影響。若各比特位相關(guān)性疊加,則有用信號(hào)增強(qiáng),正確密鑰所對(duì)應(yīng)的尖峰明顯;反之,會(huì)引入更大的轉(zhuǎn)換噪聲,使正確密鑰尖峰不明顯,甚至?xí)霈F(xiàn)較強(qiáng)的假峰現(xiàn)象。對(duì)此選擇DES密碼算法的第1個(gè)S盒輸出,分別采用AON_DEMA和G_DEMA方式構(gòu)造區(qū)分函數(shù)。
首先采集了4 000組明文樣本對(duì)應(yīng)的電磁信息泄漏曲線。由圖5和圖6可以得出,二者的尖峰曲線均對(duì)應(yīng)著正確密鑰。因此,在4 000組明文樣本下,攻擊者可以采用AON_DEMA攻擊或G_DEMA攻擊破解DES密碼算法的密鑰。
其次采集了2 000組明文樣本對(duì)應(yīng)的電磁信息泄漏曲線。由圖7和圖8可以得出,當(dāng)明文樣本為2 000組時(shí),G_DEMA攻擊結(jié)果含有尖峰的差分曲線對(duì)應(yīng)著錯(cuò)誤密鑰,出現(xiàn)假峰現(xiàn)象;而AON_DEMA攻擊結(jié)果含有尖峰的差分曲線對(duì)應(yīng)著正確密鑰。因此在2 000組明文樣本下,攻擊者不能采用G_DEMA攻擊破解DES密碼算法的密鑰,但可以采用AON_DEMA攻擊破解DES密碼算法的密鑰。
3.3 結(jié)果分析
對(duì)比單比特攻擊方式和多比特攻擊方式的效果可以得出,單比特DEMA攻擊效果差,易出現(xiàn)假峰現(xiàn)象,而多比特DEMA攻擊則不易出現(xiàn)假峰現(xiàn)象。這是由于單比特位所對(duì)應(yīng)的數(shù)據(jù)相關(guān)性在噪聲的影響下會(huì)比較差,而多比特位其各自對(duì)應(yīng)的相關(guān)性相互疊加使得尖峰明顯,并且按照信噪比理論,只有1 bit區(qū)分時(shí)電磁泄露信息相對(duì)較少,采用多比特區(qū)分時(shí)能獲得更多與密鑰有關(guān)的泄露信息。因此,多比特攻擊方式所需的樣本量更少。
對(duì)比兩種多比特攻擊方式可以得出,采用AON_DEMA方式構(gòu)造區(qū)分函數(shù)攻擊所對(duì)應(yīng)的正確密鑰的尖峰值明顯高于G_DEMA區(qū)分函數(shù)攻擊所對(duì)應(yīng)的正確密鑰的尖峰值,并且在明文樣本量為2 000組時(shí),僅有AON_DEMA攻擊能夠破解DES密碼算法的密鑰。這是由于采用G_DEMA攻擊時(shí),可能因?yàn)槟骋槐忍匚换蚰硯讉€(gè)比特位所帶來的轉(zhuǎn)換噪聲過大,導(dǎo)致有用信號(hào)“淹沒”在噪聲中,使得差分曲線的尖峰不明顯,甚至出現(xiàn)假峰現(xiàn)象;而采用AON_DEMA攻擊時(shí),舍棄了更多的隨機(jī)明文,使得某一比特位或某幾個(gè)比特位所帶來的轉(zhuǎn)換噪聲過大的概率降低。此外,多個(gè)比特位的相關(guān)性相互疊加,使得信噪比增加,AON_DEMA差分曲線的尖峰明顯。因此,采用AON_DEMA區(qū)分函數(shù)的攻擊效率高于其余兩種區(qū)分函數(shù)的攻擊效率。
參考文獻(xiàn)
[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] 袁征,毛明,李勝利.電磁攻擊方法與能量分析攻擊方法的對(duì)比[J].現(xiàn)代電子技術(shù),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] 段二鵬.分組密碼芯片的差分電磁分析攻擊技術(shù)研究[D].鄭州:解放軍信息工程大學(xué),2012.