, ,,
(北京電子科技學(xué)院 電子信息工程系,北京 100070)
攻擊者僅依靠代數(shù)知識(shí)對(duì)密碼設(shè)備進(jìn)行攻擊時(shí),其想要得到設(shè)備中的敏感信息是十分困難的。為了降低該難度,攻擊者往往需要利用一些額外的信息來(lái)進(jìn)行輔助攻擊,如將芯片運(yùn)行時(shí)泄漏的信息作為攻擊目標(biāo),由于這些信息產(chǎn)生于設(shè)備運(yùn)行的整個(gè)過(guò)程,并與設(shè)備中的具體數(shù)據(jù)計(jì)算息息相關(guān),因此利用該信息可以大大簡(jiǎn)化攻擊復(fù)雜度。攻擊者經(jīng)常利用的輔助信息有密碼設(shè)備的運(yùn)行時(shí)間、功率消耗、產(chǎn)生的電磁輻射等,這種利用輔助信息進(jìn)行攻擊的方法被稱為側(cè)信道攻擊。側(cè)信道攻擊主要有2種形式:一種是被動(dòng)攻擊,如電磁攻擊和能量攻擊等;另一種是主動(dòng)攻擊,如故障注入攻擊(Fault Injection Attack,FIA)[1]等。
從攻擊效果來(lái)看,電磁攻擊是最具威脅的側(cè)信道攻擊手段之一,也是目前芯片安全領(lǐng)域的研究熱點(diǎn)。電磁信號(hào)具備的最大特點(diǎn)是其多維特性,因此,攻擊者可以在設(shè)備的不同位置采集到芯片在運(yùn)行時(shí)釋放出的電磁輻射信號(hào)。對(duì)電磁分析攻擊的相關(guān)研究最早開(kāi)始于20世紀(jì)中葉的美國(guó)軍方,他們發(fā)現(xiàn)電磁輻射會(huì)將一些敏感的軍事機(jī)密泄漏出去后,隨即開(kāi)始對(duì)電子設(shè)備輻射的電磁信號(hào)進(jìn)行采集和防御[2]。文獻(xiàn)[3]提出可以利用計(jì)算機(jī)的電磁輻射信號(hào)對(duì)設(shè)備中的存儲(chǔ)信息進(jìn)行恢復(fù)。文獻(xiàn)[4]給出在智能卡上的電磁分析攻擊實(shí)驗(yàn)結(jié)果,并與功耗分析攻擊進(jìn)行比較。文獻(xiàn)[5]根據(jù)集成電路芯片的電磁攻擊原理對(duì)CMOS(Complementary Metal Oxide Semiconductor)進(jìn)行電磁分析攻擊。文獻(xiàn)[6]發(fā)現(xiàn)電磁輻射由多重信號(hào)組成,每一種泄漏都是關(guān)于底層計(jì)算的不同信息。文獻(xiàn)[7]提出利用雙錐形天線對(duì)智能卡進(jìn)行遠(yuǎn)場(chǎng)電磁分析攻擊。文獻(xiàn)[8]得出在FPGA(Field-Programmable Gate Array)上對(duì)高級(jí)加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES)算法進(jìn)行電磁分析攻擊的結(jié)果。文獻(xiàn)[9]在研究電磁分析攻擊所帶來(lái)的威脅中發(fā)現(xiàn)關(guān)鍵基礎(chǔ)設(shè)施已成為有意電磁干擾(Intentional Electromagnetic Interference,IEMI)的潛在攻擊目標(biāo)。文獻(xiàn)[10]刊載德國(guó)研制出的電磁攻擊檢測(cè)裝置,該裝置能夠測(cè)定電磁攻擊的強(qiáng)度、頻率、持續(xù)時(shí)間、攻擊方向及位置等信息。
綜上所述,電磁分析攻擊就是利用密碼設(shè)備在運(yùn)行過(guò)程中產(chǎn)生的電磁信號(hào)來(lái)破譯出正確密鑰信息的一種方法,其主要分為2個(gè)步驟:一是采集泄漏的電磁信號(hào);二是對(duì)采集到的電磁信號(hào)進(jìn)行分析。本文搭建一個(gè)基于電磁分析攻擊的側(cè)信道數(shù)據(jù)采集與分析平臺(tái),采集智能卡在運(yùn)行過(guò)程中的電磁輻射信號(hào),對(duì)這一微弱的電磁信息進(jìn)行30 dB的放大,然后作相關(guān)性分析處理,最后通過(guò)對(duì)比實(shí)驗(yàn),驗(yàn)證該方案的實(shí)用性和高效性。
在側(cè)信道分析被提出之前,攻擊者常采用傳統(tǒng)密碼分析技術(shù),該技術(shù)主要依靠數(shù)學(xué)分析手段,利用設(shè)備在傳輸時(shí)監(jiān)聽(tīng)到的相關(guān)數(shù)據(jù)來(lái)對(duì)密碼算法進(jìn)行直接分析,是一種在流程內(nèi)實(shí)現(xiàn)攻擊的技術(shù)。側(cè)信道分析技術(shù)是在傳統(tǒng)分析的基礎(chǔ)上被提出,其避開(kāi)了對(duì)算法直接破譯的復(fù)雜工作,利用芯片在運(yùn)行時(shí)泄漏的一些旁路信息來(lái)間接破獲出密碼設(shè)備中的敏感信息。
與傳統(tǒng)的密碼分析相比,側(cè)信道分析技術(shù)主要有2點(diǎn)優(yōu)勢(shì):一是攻擊成本低,為了得到密碼設(shè)備的相關(guān)信息,使用傳統(tǒng)方式對(duì)設(shè)備進(jìn)行攻擊時(shí)往往需要投入大量的人力物力,而側(cè)信道技術(shù)只需要利用設(shè)備泄漏的旁路信息,大大降低了攻擊的代價(jià);二是攻擊效率高,傳統(tǒng)攻擊方式的效率與密鑰長(zhǎng)度呈冪指數(shù)關(guān)系,而側(cè)信道攻擊方式的效率與密鑰長(zhǎng)度只存在線性關(guān)系。
磁場(chǎng)由電子運(yùn)動(dòng)所產(chǎn)生,電子的定向運(yùn)動(dòng)會(huì)形成電流,電流中包含了設(shè)備運(yùn)行的數(shù)據(jù)和操作信息,因此,當(dāng)設(shè)備內(nèi)的數(shù)據(jù)或操作發(fā)生變化時(shí),電流也會(huì)隨之改變,相應(yīng)的磁場(chǎng)也會(huì)發(fā)生變化。基于這一原理,攻擊者只需要選擇合適的采集設(shè)備,對(duì)變化的電磁輻射信息進(jìn)行采集分析,就能還原出設(shè)備中的數(shù)據(jù)和操作信息。
根據(jù)文獻(xiàn)[6]提出的理論,I/O設(shè)備控制器、數(shù)據(jù)處理或芯片的部分電流流動(dòng)共同造成了設(shè)備的電磁輻射。一旦設(shè)備中的敏感數(shù)據(jù)發(fā)生變化,與之對(duì)應(yīng)的電磁輻射也會(huì)隨之發(fā)生改變。通常情況下,密碼設(shè)備的制造采用互補(bǔ)金屬氧化物半導(dǎo)體(COMS)工藝,理想狀態(tài)下,采用該技術(shù)的芯片只有在邏輯狀態(tài)發(fā)生變化時(shí)才會(huì)引起電流及磁場(chǎng)的變化。此外,處理的數(shù)據(jù)由時(shí)鐘方波進(jìn)行控制,每個(gè)時(shí)鐘沿都會(huì)引起一個(gè)芯片內(nèi)部的狀態(tài)翻轉(zhuǎn),而當(dāng)發(fā)生狀態(tài)翻轉(zhuǎn)時(shí),數(shù)據(jù)處理單元中的電流就會(huì)發(fā)生相應(yīng)的流動(dòng)。芯片狀態(tài)翻轉(zhuǎn)持續(xù)的時(shí)間往往很短,且在下一次翻轉(zhuǎn)前,其狀態(tài)會(huì)保持穩(wěn)定。翻轉(zhuǎn)時(shí)產(chǎn)生的電磁信號(hào)由芯片中少量的邏輯狀態(tài)位所決定,該邏輯狀態(tài)位在文獻(xiàn)[11]中被稱為相關(guān)比特,這些相關(guān)比特共同構(gòu)成了芯片的相關(guān)狀態(tài)。
根據(jù)麥克斯韋理論可知,電場(chǎng)及電流的變化會(huì)產(chǎn)生磁場(chǎng),該理論的數(shù)學(xué)公式為:
(1)
其中,H代表磁場(chǎng)強(qiáng)度,J代表電流密度,D代表電通量密度。
H和磁能量B的關(guān)系可表示為:
(2)
其中,μ是磁導(dǎo)率,用以表征磁介質(zhì)的磁性。
J和D又可分別表示為:
J=γE
(3)
D=εE
(4)
其中,γ表示電導(dǎo)率,ε表示電容率。
將上述4個(gè)表達(dá)式進(jìn)行整合,可以得到磁通量密度與電流密度及電通量密度之間的關(guān)系:
(5)
安培環(huán)路定理指出,電場(chǎng)在變換的情況下可以產(chǎn)生磁場(chǎng),即:
(6)
其中,H代表磁場(chǎng)強(qiáng)度矢量,J代表電流密度矢量,D代表電通量密度矢量,l代表通過(guò)以L為邊界的任一曲面的電流,S代表取L為邊界的曲面。
畢奧-薩伐爾定理中提到磁場(chǎng)B可用數(shù)學(xué)表達(dá)式表示為:
(7)

(8)
如果將導(dǎo)線設(shè)為無(wú)限長(zhǎng),則式(7)可以化簡(jiǎn)為:

(9)

從式(9)可以看出,B與I成正比,即要得到強(qiáng)度較大的磁場(chǎng),就需要讓電流變大一些。
由磁通量表達(dá)式和法拉第電磁感應(yīng)定律可以推導(dǎo)出:
(10)
其中,S代表曲面,該曲面邊界是閉合的回路,φ表示穿過(guò)曲面S的磁通量,B表示穿過(guò)曲面S的電磁感應(yīng)強(qiáng)度,n表示穿過(guò)曲面S的單位法向量,εin表示感應(yīng)電壓,-表示感應(yīng)電流產(chǎn)生的磁場(chǎng)抵抗原磁場(chǎng)的變化。
攻擊者若要通過(guò)電磁輻射信號(hào)來(lái)還原出密碼設(shè)備的敏感數(shù)據(jù),需要搭建出電磁信號(hào)與敏感數(shù)據(jù)之間的關(guān)系,即搭建出電磁泄漏模型。密碼設(shè)備常用COMS技術(shù),正如前文所述,COMS反相器工作時(shí)在每個(gè)時(shí)鐘周期內(nèi)都會(huì)發(fā)生狀態(tài)轉(zhuǎn)換,狀態(tài)轉(zhuǎn)換與處理的數(shù)據(jù)密切相關(guān),狀態(tài)轉(zhuǎn)換又會(huì)引起電流的變換,導(dǎo)致芯片表面的磁場(chǎng)發(fā)生改變。因此,泄漏的電磁輻射信號(hào)可以間接地反應(yīng)設(shè)備中的數(shù)據(jù)信息,即可以根據(jù)磁場(chǎng)信息還原出原始的數(shù)據(jù)[12]。
對(duì)于COMS的門(mén)電路而言,泄漏的電磁輻射信息來(lái)源于電路中的電位翻轉(zhuǎn);寄存器中包含多個(gè)COMS反相器,對(duì)于這些寄存器來(lái)說(shuō),泄漏的電磁輻射信息來(lái)源于COMS反相器的翻轉(zhuǎn)次數(shù);密碼設(shè)備中包含大量寄存器,其泄漏的電磁輻射信息是寄存器中泄漏的電磁輻射信息的疊加[13]。
設(shè)COMS反相器翻轉(zhuǎn)前的二進(jìn)制狀態(tài)用x表示,翻轉(zhuǎn)后的二進(jìn)制狀態(tài)用x′表示,該邏輯值變換所對(duì)應(yīng)的電磁輻射信號(hào)如表1所示,其中,VDD表示電源端,GND表示接地端。表1在不影響模型構(gòu)建的前提下,對(duì)1%的泄漏電流進(jìn)行了處理。

表1 COMS反相器邏輯值變換與電磁輻射信息
通過(guò)分析COMS反相器的相關(guān)原理,可將其中的電流值表示為:
(11)
其中,ic表示負(fù)載電容上的電流大小,iD,p表示PMOS管中的電流大小,iD,n表示NMOS管中的電流大小,CL表示負(fù)載的電容,Vout表示輸出的電壓。
式(11)反映了COMS反相器在發(fā)生狀態(tài)位翻轉(zhuǎn)時(shí)負(fù)載電容的充電與放電關(guān)系。
芯片外泄漏的旁路信號(hào)與設(shè)備中處理的數(shù)據(jù)之間需要搭建關(guān)系橋梁,常用的方法是建立相關(guān)性模型,如選擇漢明重量模型或漢明距離模型作為關(guān)系搭建的紐帶。模型表達(dá)式可表示為:
L=aHD(x,x′)+b=aHW(x⊕x′)+b
(12)
其中,L表示寄存器中泄漏的信息值大小,x和x′表示翻轉(zhuǎn)前后的二進(jìn)制數(shù),HD表示漢明距離,HW表示漢明重量,a表示泄漏的旁路信號(hào)的比例系數(shù),b表示數(shù)據(jù)發(fā)生0→1或1→0翻轉(zhuǎn)時(shí)所泄漏的信號(hào)數(shù)值差異和一些無(wú)關(guān)的泄漏數(shù)值及噪聲。
本文引入PA 303N/BNC前置放大器對(duì)檢測(cè)到的近場(chǎng)微弱電磁輻射信號(hào)作放大處理。PA 303N/BNC前置放大器具有工藝先進(jìn)、最大失調(diào)飄移小、溫度穩(wěn)定性高、放大頻帶寬及噪聲系數(shù)小等優(yōu)點(diǎn),因此,使用該放大器可以大大提高系統(tǒng)調(diào)試的靈敏度。PA 303N/BNC放大裝置需要進(jìn)行外部供電,輸入端與檢測(cè)探頭相連,輸出端與示波器50 Ω的輸入口相連。放大器輸入、輸出端口采用50 Ω BNC(PA 303BNC)、SMA型(PA 303 SMA)或N型(PA 303N)連接器。表2是PA 303N/BNC放大器的技術(shù)參數(shù)。

表2 PA 303N/BNC放大器技術(shù)參數(shù)
用電磁探頭采集到的近場(chǎng)電磁信號(hào)非常微弱,其中還夾雜一些無(wú)用的噪聲,導(dǎo)致輻射信號(hào)中可被利用的信息非常少。PA 303N/BNC設(shè)備中的運(yùn)放電路有較高的共模抑制比,可以對(duì)規(guī)定頻率范圍內(nèi)的信號(hào)進(jìn)行30 dB的放大。圖1所示為芯片增益與頻率變化之間的關(guān)系。

圖1 芯片增益隨頻率變化關(guān)系
PA 303N/BNC前置放大器放大的是近場(chǎng)中的有用電磁信號(hào),原噪聲信息并未被放大,導(dǎo)致輸出信噪比大為提高。因此,信息的采集次數(shù)及信息的利用點(diǎn)個(gè)數(shù)大為降低,后期運(yùn)算的復(fù)雜度也隨之降低。在下一階段的數(shù)據(jù)信息分析中,正確密鑰的相關(guān)系數(shù)也會(huì)相應(yīng)提高,密鑰信息的猜測(cè)將更容易。
AES是美國(guó)國(guó)家標(biāo)準(zhǔn)局采用的對(duì)稱密碼標(biāo)準(zhǔn)算法,有128 bit、192 bit和256 bit 3種密鑰,不同比特的密鑰進(jìn)行加解密時(shí)迭代的輪數(shù)不同[14]。以128 bit密鑰為例,AES算法在加解密前會(huì)將明文和密鑰分別分成16個(gè)8 bit(即16 Byte),將其重新組織排列成矩陣形式,形成16個(gè)S盒。128 bit的AES需要進(jìn)行10輪迭代,其中,除最后一輪不需要進(jìn)行列混合外,其他9輪都由4步基本操作組成:字節(jié)替代,行移位變換,列混合變換,輪密鑰加變換。AES算法具體的加解密步驟如圖2所示。

圖2 AES算法加解密流程
在AES算法的加解密過(guò)程中,輪密鑰加變換是數(shù)據(jù)與密鑰之間進(jìn)行異或運(yùn)算,行移位變換時(shí)數(shù)據(jù)的數(shù)值不變,數(shù)據(jù)按照規(guī)則向左或向右移動(dòng)位置,字節(jié)替代變換是在有限域GF(28)內(nèi)進(jìn)行乘法逆運(yùn)算,該計(jì)算結(jié)果可以通過(guò)查表的方式獲得。在運(yùn)算復(fù)雜度上,該3種變換相對(duì)比較簡(jiǎn)單,而列混合變換需要在有限域GF(28)內(nèi)進(jìn)行乘法運(yùn)算,運(yùn)算復(fù)雜度相對(duì)較高,因此,在整個(gè)運(yùn)算中對(duì)運(yùn)行效率起決定性作用的是列混合變換。實(shí)現(xiàn)AES加密運(yùn)算的關(guān)鍵代碼如下:
Encryption(Message M,Key K,int length)
//R:round count
KeyExpansion from K to obtain the round subkeys k0,kR
Create the State from M
state=AddRoundKey(state,k0)
For i from 1 to R-1
state=Subbytes(state)
state=ShiftRows(state)
state=MixColumns(state)
state=AddRoundKey(state,ki)
end
state=Subbytes(state)
state=ShiftRows(state)
state=AddRoundKey(state,kR)
Return state
相關(guān)性功耗分析(Correlation Power Analysis,CPA)攻擊需要選定一個(gè)參考值,該值事先不知道大小,但數(shù)值始終穩(wěn)定不變。針對(duì)該參考值建立對(duì)應(yīng)的相關(guān)性模型,本文根據(jù)狀態(tài)位中“1”的數(shù)量建立漢明重量模型,然后依據(jù)相關(guān)性的計(jì)算表達(dá)式,計(jì)算出實(shí)際采集到的電磁輻射值與漢明重量模型之間的相關(guān)性大小,通過(guò)對(duì)比得出最終結(jié)論。為了提高攻擊效率、減少不必要的開(kāi)銷,本文在實(shí)驗(yàn)中對(duì)密鑰進(jìn)行分段處理,將原本長(zhǎng)為128 bit的密鑰分為16段,每段長(zhǎng)為8 bit,即假設(shè)密鑰有256種可能。
文獻(xiàn)[15]給出了CPA攻擊的一般步驟,如圖3所示。

圖3 CPA攻擊步驟示意圖
CPA攻擊具體步驟如下:
1)中間點(diǎn)選取。攻擊者需要在密碼算法中選擇一個(gè)位置作為攻擊點(diǎn),該點(diǎn)最好與被處理的數(shù)據(jù)以及密鑰有關(guān)。為了便于攻擊,本文實(shí)驗(yàn)選取函數(shù)f(d,k)作為中間點(diǎn),選擇函數(shù)f(d,k)中的d表示待處理的數(shù)據(jù),該數(shù)據(jù)可以是明文也可以是密文,k表示猜測(cè)的密鑰,其有256種可能。只有滿足條件的k才能恢復(fù)出正確的d。
2)電磁泄漏值采集。用隨機(jī)發(fā)生器產(chǎn)生一些明文或密文數(shù)據(jù),將這些數(shù)據(jù)記作D=(d1,d2,…,di,…,dD),其中一共有D個(gè)明文或密文,di表示進(jìn)行第i次密碼運(yùn)算時(shí)輸入的明文或密文。每一次進(jìn)行密碼運(yùn)算后采集到的電磁跡可標(biāo)記為T(mén)=(t1,t2,…,ti,…,tT),其中ti=(ti1,ti2,…,tiT),tiT表示用di進(jìn)行運(yùn)算時(shí)采集到的電磁跡上的第T個(gè)點(diǎn)(這里的電磁跡是經(jīng)過(guò)前置放大器放大后的輻射信息)。泄漏的電磁信號(hào)信息可以用D×T階矩陣表示。
3)密鑰猜測(cè)。密碼設(shè)備中所有可能的密鑰表示為向量K=(k1,k2,…,kj,…,kK),其中kj表示一種可能的取值,通常被稱為密鑰假設(shè)。將K和D代入選擇函數(shù)f中計(jì)算出相應(yīng)的中間結(jié)果,表達(dá)式為:
Vi,j=f(di,kj),i=1,2,…,D;j=1,2,…,K
(13)
其中,Vi,j表示計(jì)算得出的中間結(jié)果,i是行,表示中間結(jié)果對(duì)應(yīng)的明(密)文是di,j是列,表示中間結(jié)果對(duì)應(yīng)的密鑰為kj。
4)假設(shè)值與真實(shí)值進(jìn)行對(duì)比。將步驟3)得到的中間結(jié)果V與采集到的真實(shí)電磁泄漏值T進(jìn)行分析對(duì)比,該過(guò)程需要用相關(guān)性模型對(duì)數(shù)據(jù)V進(jìn)行轉(zhuǎn)換,數(shù)據(jù)V進(jìn)行轉(zhuǎn)換后的結(jié)果用向量H表示。
5)統(tǒng)計(jì)分析。將模型轉(zhuǎn)換值H與真實(shí)泄露值T代入式(14),計(jì)算兩者的相關(guān)性系數(shù)R,系數(shù)R中的元素ri,j越大,hi與tj之間的相關(guān)性也就越大,則猜測(cè)的密鑰k也就越接近真實(shí)密鑰。
(14)
電磁分析攻擊的第一步是搭建電磁信息的硬件采集平臺(tái),將智能卡工作時(shí)泄漏的電磁輻射旁路信號(hào)采集到電腦中,為下一步分析做準(zhǔn)備。
電磁信息采集平臺(tái)主要包括3個(gè)部分:控制部分,顯示部分,測(cè)試部分。其中,控制部分由計(jì)算機(jī)、顯示屏、鼠標(biāo)、鍵盤(pán)等部件組成;顯示部分由示波器組成;測(cè)試部分由智能卡、電磁探頭、放大器組成。具體搭建方式如圖4所示,實(shí)物平臺(tái)如圖5所示。

圖4 信息采集平臺(tái)連接示意圖

圖5 電磁分析攻擊實(shí)物平臺(tái)
攻擊具體步驟如下:
1)電磁信息采集
(1)計(jì)算機(jī)根據(jù)實(shí)際需要生成隨機(jī)明文并將其傳輸?shù)街悄芸ㄖ?智能卡收到該明文后進(jìn)行加解密運(yùn)算,智能卡在運(yùn)算時(shí)會(huì)無(wú)意識(shí)地釋放一些電磁輻射信息。
(2)用PA 303N/BNC前置放大器將電磁探頭感應(yīng)到的微弱電磁信號(hào)進(jìn)行放大,然后將其傳入數(shù)字示波器中以便下一步分析處理。
(3)通過(guò)觸發(fā)線將觸發(fā)信號(hào)發(fā)送到數(shù)字示波器中,通知數(shù)字示波器開(kāi)始采集經(jīng)過(guò)PA 303N/BNC放大后的電磁數(shù)據(jù)。
該過(guò)程具體流程如圖6所示。

圖6 電磁信息采集流程
2)電磁信息分析
計(jì)算機(jī)將示波器發(fā)送的數(shù)據(jù)進(jìn)行存儲(chǔ),利用分析軟件對(duì)數(shù)據(jù)進(jìn)行分析處理,最終得到需要的結(jié)果。
本文根據(jù)3.1節(jié)內(nèi)容搭建電磁信息采集平臺(tái),按照3.2節(jié)的攻擊步驟完成對(duì)智能卡中AES算法加密時(shí)泄漏的電磁信息的采集。采集過(guò)程中數(shù)字存儲(chǔ)示波器設(shè)置的采樣頻率為100 MHz。對(duì)隨機(jī)產(chǎn)生的不同明文進(jìn)行加密,采集其中的2 000條電磁跡,每條電磁跡的采樣長(zhǎng)度為105點(diǎn)。圖7所示是示波器采集到的其中一條電磁跡,該曲線完整地展示了AES的第一輪加密過(guò)程。

圖7 智能卡加密時(shí)采集到的電磁跡
利用2.4節(jié)的CPA分析原理,對(duì)采集到的真實(shí)電磁曲線與假設(shè)模型進(jìn)行相關(guān)性計(jì)算,用“相關(guān)系數(shù)”表示該結(jié)果。圖8為未添加PA 303N/BNC放大器時(shí)對(duì)采集到的1 500條電磁跡進(jìn)行CPA分析后的結(jié)果,圖9為加入PA 303N/BNC放大器后對(duì)采集到的1 500條電磁跡進(jìn)行CPA分析后的結(jié)果,2幅圖中進(jìn)行CPA計(jì)算的假設(shè)模型相同。

圖8 未加放大器時(shí)的CPA結(jié)果

圖9 加入放大器后的CPA結(jié)果
通過(guò)對(duì)比可以看出,圖8中的點(diǎn)基本上都很有規(guī)律地分布在±0.02的范圍內(nèi),沒(méi)有峰值波動(dòng),即表示該攻擊不成功;圖9中在65 000時(shí)間點(diǎn)附近有明顯的尖峰,說(shuō)明該點(diǎn)的相關(guān)性最大,假設(shè)密鑰值與真實(shí)密鑰值匹配成功,即攻擊形成。由此可見(jiàn),引入了PA 303N/BNC放大器的采集平臺(tái),采集到的電磁有效信息較多,有助于后期的CPA分析。
4.2.1 與其他研究成果的縱向?qū)Ρ?/p>
在選擇相同攻擊點(diǎn)、使用相同假設(shè)模型(漢明重量模型)、搭建類似數(shù)據(jù)采集平臺(tái)的情況下,傳統(tǒng)的CEMA方式大約需要2 000條電磁跡[16],文獻(xiàn)[17]經(jīng)典CEMA大約需要7 552條電磁跡,本文提出的改進(jìn)型攻擊方法僅使用了約1 500條電磁跡,就取得了類似的攻擊效果,本文方法需要采集的電磁跡數(shù)與文獻(xiàn)[17]經(jīng)典CEMA相比,減小了約80.1%。
4.2.2 與傳統(tǒng)CEMA攻擊方法的橫向?qū)Ρ?/p>
在其他配置相同,且同樣使用1 500條電磁跡進(jìn)行相關(guān)性分析攻擊后,傳統(tǒng)CEMA攻擊方法所得相關(guān)系數(shù)的最大絕對(duì)值為0.021,而本文攻擊方法得到的相關(guān)系數(shù)最大絕對(duì)值為0.035,本文方法的相關(guān)系數(shù)值較傳統(tǒng)CEMA攻擊方法提高了約67%。
通過(guò)對(duì)比還可以發(fā)現(xiàn),使用PA 303N/BNC放大器對(duì)信號(hào)進(jìn)行放大處理后,需要的電磁跡數(shù)目大大減少,可以在最大程度上節(jié)約采集所需的時(shí)間。由于曲線減少,后期分析過(guò)程中的計(jì)算復(fù)雜度也大幅降低,且攻擊效果也更明顯。
通過(guò)對(duì)智能卡中AES密碼算法的電磁攻擊進(jìn)行分析可以得出,智能卡芯片在工作過(guò)程中存在電磁泄漏,攻擊者可以利用該泄漏的電磁信號(hào)破譯出智能卡中的敏感信息。為解決該問(wèn)題,本文在電磁數(shù)據(jù)采集平臺(tái)的搭建中,在示波器的接收端增加PA 303N/BNC放大器,用其對(duì)采集的數(shù)據(jù)進(jìn)行放大處理。通過(guò)這一改進(jìn),減少了攻擊所需的電磁跡,降低了前期數(shù)據(jù)采集的工作量及后期數(shù)據(jù)分析中的計(jì)算量。下一步將針對(duì)前置放大器的攻擊提出相應(yīng)的防御措施,確保密碼設(shè)備的運(yùn)行安全。
[1] 陶文卿,顧星遠(yuǎn),李 菁.基于數(shù)據(jù)加密標(biāo)準(zhǔn)掩碼的功耗分析方法[J].計(jì)算機(jī)工程,2015,41(5):133-138.
[2] National Security Agency.NSA tempest documents[R/OL].[2017-01-01].http://www.cryptome.org/nsa-tem pest.html.
[3] VAN E W.Electromagnetic radiation from video display units:an eavesdropping risk[J].Computers and Security,1985,4(4):269-286.
[4] QUISQUATER J J,SAMYDE D.A new tool for non-intrusive analysis of smart cards based on electro-magnetic emissions:the SEMA and DEMA methods[EB/OL].[2016-12-25].http://citeseer.uark.edu:8080/citeseerx/showciting;jsessionid=F2F7E01A8F004A2B061DDBE596C8B5C D?cid=63829.
[5] GANDOLFI K,MOURTEL C,OLIVIER F.Electromagnetic analysis:concrete results[J].Lecture Notes in Computer Science,2001,2162:251-261.
[6] AGRAWAL D,ARCHAMBEAULT B,RAO J R,et al.The EM side-channel(s):attacks and assessment methodologies[EB/OL].[2016-12-15].http://www.taodocs.com/p-51385616.html.
[7] MANGARD S.Exploiting radiated emissions-EM attacks on cryptographic ICs[EB/OL].[2016-12-26].http://citeseerx.ist.psu.edu/showciting?cid=764325.
[8] CARLIER V,CHABANNE H,DOTTAX E,et al.Elec-tromagnetic side channels of an FPGA implementation of AES[EB/OL].[2016-12-12].https://eprint.iacr.org/2004/145.pdf.
[9] SABATH F.IEMI風(fēng)險(xiǎn)評(píng)估——用結(jié)構(gòu)化方法改進(jìn)關(guān)鍵基礎(chǔ)設(shè)施對(duì)電磁攻擊的恢復(fù)能力[J].安全與電磁兼容,2016(2):9-10,22.
[10] 德國(guó)研制出電磁攻擊檢測(cè)裝置[J].信息安全與通信保密,2014(1):14.
[11] CHARI S,JUTLA C S,RAO J R,et al.Towards sound approaches to counteract power-analysis attacks[C]//Proceedings of the 19th Annual International Cryptology Conference on Advances in Cryptology.Berlin,Germany:Springer,1999:398-412.
[12] BRIER E,CLAVIER C,OLIVIER F.Correlation power analysis with a leakage model[C]//Proceedings of International Workshop on Cryptographic Hardware and Embedded Systems.Berlin,Germany:Springer,2004:16-29.
[13] PEETERS E,STANDAERT F X,QUISQUATER J J.Power and electromagnetic analysis:improved models,con-sequences and comparisons[J].VLSI Journal,2007,40(1):52-60.
[14] DODIS Y,SAHAI A,SMITH A.On perfect and adaptive security in exposure-resilient cryptography[C]//Proceedings of International Conference on the Theory and Application of Cryptographic Techniques:Advances in Cryptology.Berlin,Germany:Springer,2001:301-324.
[15] ALIOTO M,POLI M,ROCCHI S.Power analysis attacks to crypto-graphic circuits:a comparative analysis of DPA and CPA[C]//Proceedings of 2008 International Conference on Microelectronics.Washington D.C.,USA:IEEE Press,2008:333-336.
[16] 段二朋,嚴(yán)迎建,李佩之.針對(duì)AES密碼算法FPGA實(shí)現(xiàn)的CEMA攻擊[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(8):2926-2930.
[17] 張 瀟,崔小欣,魏 為,等.針對(duì)FPGA實(shí)現(xiàn)的AES密碼芯片的相關(guān)性電磁分析攻擊[J].北京大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,50(4):647-651.