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