?

基于信號增益放大技術的相關性電磁分析攻擊

2018-04-19 08:02,,,
計算機工程 2018年4期
關鍵詞:電磁輻射密鑰電磁

, ,,

(北京電子科技學院 電子信息工程系,北京 100070)

0 概述

攻擊者僅依靠代數知識對密碼設備進行攻擊時,其想要得到設備中的敏感信息是十分困難的。為了降低該難度,攻擊者往往需要利用一些額外的信息來進行輔助攻擊,如將芯片運行時泄漏的信息作為攻擊目標,由于這些信息產生于設備運行的整個過程,并與設備中的具體數據計算息息相關,因此利用該信息可以大大簡化攻擊復雜度。攻擊者經常利用的輔助信息有密碼設備的運行時間、功率消耗、產生的電磁輻射等,這種利用輔助信息進行攻擊的方法被稱為側信道攻擊。側信道攻擊主要有2種形式:一種是被動攻擊,如電磁攻擊和能量攻擊等;另一種是主動攻擊,如故障注入攻擊(Fault Injection Attack,FIA)[1]等。

從攻擊效果來看,電磁攻擊是最具威脅的側信道攻擊手段之一,也是目前芯片安全領域的研究熱點。電磁信號具備的最大特點是其多維特性,因此,攻擊者可以在設備的不同位置采集到芯片在運行時釋放出的電磁輻射信號。對電磁分析攻擊的相關研究最早開始于20世紀中葉的美國軍方,他們發現電磁輻射會將一些敏感的軍事機密泄漏出去后,隨即開始對電子設備輻射的電磁信號進行采集和防御[2]。文獻[3]提出可以利用計算機的電磁輻射信號對設備中的存儲信息進行恢復。文獻[4]給出在智能卡上的電磁分析攻擊實驗結果,并與功耗分析攻擊進行比較。文獻[5]根據集成電路芯片的電磁攻擊原理對CMOS(Complementary Metal Oxide Semiconductor)進行電磁分析攻擊。文獻[6]發現電磁輻射由多重信號組成,每一種泄漏都是關于底層計算的不同信息。文獻[7]提出利用雙錐形天線對智能卡進行遠場電磁分析攻擊。文獻[8]得出在FPGA(Field-Programmable Gate Array)上對高級加密標準(Advanced Encryption Standard,AES)算法進行電磁分析攻擊的結果。文獻[9]在研究電磁分析攻擊所帶來的威脅中發現關鍵基礎設施已成為有意電磁干擾(Intentional Electromagnetic Interference,IEMI)的潛在攻擊目標。文獻[10]刊載德國研制出的電磁攻擊檢測裝置,該裝置能夠測定電磁攻擊的強度、頻率、持續時間、攻擊方向及位置等信息。

綜上所述,電磁分析攻擊就是利用密碼設備在運行過程中產生的電磁信號來破譯出正確密鑰信息的一種方法,其主要分為2個步驟:一是采集泄漏的電磁信號;二是對采集到的電磁信號進行分析。本文搭建一個基于電磁分析攻擊的側信道數據采集與分析平臺,采集智能卡在運行過程中的電磁輻射信號,對這一微弱的電磁信息進行30 dB的放大,然后作相關性分析處理,最后通過對比實驗,驗證該方案的實用性和高效性。

1 相關性電磁分析攻擊

1.1 側信道分析

在側信道分析被提出之前,攻擊者常采用傳統密碼分析技術,該技術主要依靠數學分析手段,利用設備在傳輸時監聽到的相關數據來對密碼算法進行直接分析,是一種在流程內實現攻擊的技術。側信道分析技術是在傳統分析的基礎上被提出,其避開了對算法直接破譯的復雜工作,利用芯片在運行時泄漏的一些旁路信息來間接破獲出密碼設備中的敏感信息。

與傳統的密碼分析相比,側信道分析技術主要有2點優勢:一是攻擊成本低,為了得到密碼設備的相關信息,使用傳統方式對設備進行攻擊時往往需要投入大量的人力物力,而側信道技術只需要利用設備泄漏的旁路信息,大大降低了攻擊的代價;二是攻擊效率高,傳統攻擊方式的效率與密鑰長度呈冪指數關系,而側信道攻擊方式的效率與密鑰長度只存在線性關系。

1.2 電磁分析攻擊原理

磁場由電子運動所產生,電子的定向運動會形成電流,電流中包含了設備運行的數據和操作信息,因此,當設備內的數據或操作發生變化時,電流也會隨之改變,相應的磁場也會發生變化?;谶@一原理,攻擊者只需要選擇合適的采集設備,對變化的電磁輻射信息進行采集分析,就能還原出設備中的數據和操作信息。

根據文獻[6]提出的理論,I/O設備控制器、數據處理或芯片的部分電流流動共同造成了設備的電磁輻射。一旦設備中的敏感數據發生變化,與之對應的電磁輻射也會隨之發生改變。通常情況下,密碼設備的制造采用互補金屬氧化物半導體(COMS)工藝,理想狀態下,采用該技術的芯片只有在邏輯狀態發生變化時才會引起電流及磁場的變化。此外,處理的數據由時鐘方波進行控制,每個時鐘沿都會引起一個芯片內部的狀態翻轉,而當發生狀態翻轉時,數據處理單元中的電流就會發生相應的流動。芯片狀態翻轉持續的時間往往很短,且在下一次翻轉前,其狀態會保持穩定。翻轉時產生的電磁信號由芯片中少量的邏輯狀態位所決定,該邏輯狀態位在文獻[11]中被稱為相關比特,這些相關比特共同構成了芯片的相關狀態。

根據麥克斯韋理論可知,電場及電流的變化會產生磁場,該理論的數學公式為:

(1)

其中,H代表磁場強度,J代表電流密度,D代表電通量密度。

H和磁能量B的關系可表示為:

(2)

其中,μ是磁導率,用以表征磁介質的磁性。

J和D又可分別表示為:

J=γE

(3)

D=εE

(4)

其中,γ表示電導率,ε表示電容率。

將上述4個表達式進行整合,可以得到磁通量密度與電流密度及電通量密度之間的關系:

(5)

安培環路定理指出,電場在變換的情況下可以產生磁場,即:

(6)

其中,H代表磁場強度矢量,J代表電流密度矢量,D代表電通量密度矢量,l代表通過以L為邊界的任一曲面的電流,S代表取L為邊界的曲面。

畢奧-薩伐爾定理中提到磁場B可用數學表達式表示為:

(7)

(8)

如果將導線設為無限長,則式(7)可以化簡為:

(9)

從式(9)可以看出,B與I成正比,即要得到強度較大的磁場,就需要讓電流變大一些。

由磁通量表達式和法拉第電磁感應定律可以推導出:

(10)

其中,S代表曲面,該曲面邊界是閉合的回路,φ表示穿過曲面S的磁通量,B表示穿過曲面S的電磁感應強度,n表示穿過曲面S的單位法向量,εin表示感應電壓,-表示感應電流產生的磁場抵抗原磁場的變化。

2 理論基礎

2.1 電磁信息泄漏模型

攻擊者若要通過電磁輻射信號來還原出密碼設備的敏感數據,需要搭建出電磁信號與敏感數據之間的關系,即搭建出電磁泄漏模型。密碼設備常用COMS技術,正如前文所述,COMS反相器工作時在每個時鐘周期內都會發生狀態轉換,狀態轉換與處理的數據密切相關,狀態轉換又會引起電流的變換,導致芯片表面的磁場發生改變。因此,泄漏的電磁輻射信號可以間接地反應設備中的數據信息,即可以根據磁場信息還原出原始的數據[12]。

對于COMS的門電路而言,泄漏的電磁輻射信息來源于電路中的電位翻轉;寄存器中包含多個COMS反相器,對于這些寄存器來說,泄漏的電磁輻射信息來源于COMS反相器的翻轉次數;密碼設備中包含大量寄存器,其泄漏的電磁輻射信息是寄存器中泄漏的電磁輻射信息的疊加[13]。

設COMS反相器翻轉前的二進制狀態用x表示,翻轉后的二進制狀態用x′表示,該邏輯值變換所對應的電磁輻射信號如表1所示,其中,VDD表示電源端,GND表示接地端。表1在不影響模型構建的前提下,對1%的泄漏電流進行了處理。

表1 COMS反相器邏輯值變換與電磁輻射信息

通過分析COMS反相器的相關原理,可將其中的電流值表示為:

(11)

其中,ic表示負載電容上的電流大小,iD,p表示PMOS管中的電流大小,iD,n表示NMOS管中的電流大小,CL表示負載的電容,Vout表示輸出的電壓。

式(11)反映了COMS反相器在發生狀態位翻轉時負載電容的充電與放電關系。

芯片外泄漏的旁路信號與設備中處理的數據之間需要搭建關系橋梁,常用的方法是建立相關性模型,如選擇漢明重量模型或漢明距離模型作為關系搭建的紐帶。模型表達式可表示為:

L=aHD(x,x′)+b=aHW(x⊕x′)+b

(12)

其中,L表示寄存器中泄漏的信息值大小,x和x′表示翻轉前后的二進制數,HD表示漢明距離,HW表示漢明重量,a表示泄漏的旁路信號的比例系數,b表示數據發生0→1或1→0翻轉時所泄漏的信號數值差異和一些無關的泄漏數值及噪聲。

2.2 攻擊效果優化

本文引入PA 303N/BNC前置放大器對檢測到的近場微弱電磁輻射信號作放大處理。PA 303N/BNC前置放大器具有工藝先進、最大失調飄移小、溫度穩定性高、放大頻帶寬及噪聲系數小等優點,因此,使用該放大器可以大大提高系統調試的靈敏度。PA 303N/BNC放大裝置需要進行外部供電,輸入端與檢測探頭相連,輸出端與示波器50 Ω的輸入口相連。放大器輸入、輸出端口采用50 Ω BNC(PA 303BNC)、SMA型(PA 303 SMA)或N型(PA 303N)連接器。表2是PA 303N/BNC放大器的技術參數。

表2 PA 303N/BNC放大器技術參數

用電磁探頭采集到的近場電磁信號非常微弱,其中還夾雜一些無用的噪聲,導致輻射信號中可被利用的信息非常少。PA 303N/BNC設備中的運放電路有較高的共模抑制比,可以對規定頻率范圍內的信號進行30 dB的放大。圖1所示為芯片增益與頻率變化之間的關系。

圖1 芯片增益隨頻率變化關系

PA 303N/BNC前置放大器放大的是近場中的有用電磁信號,原噪聲信息并未被放大,導致輸出信噪比大為提高。因此,信息的采集次數及信息的利用點個數大為降低,后期運算的復雜度也隨之降低。在下一階段的數據信息分析中,正確密鑰的相關系數也會相應提高,密鑰信息的猜測將更容易。

2.3 AES算法

AES是美國國家標準局采用的對稱密碼標準算法,有128 bit、192 bit和256 bit 3種密鑰,不同比特的密鑰進行加解密時迭代的輪數不同[14]。以128 bit密鑰為例,AES算法在加解密前會將明文和密鑰分別分成16個8 bit(即16 Byte),將其重新組織排列成矩陣形式,形成16個S盒。128 bit的AES需要進行10輪迭代,其中,除最后一輪不需要進行列混合外,其他9輪都由4步基本操作組成:字節替代,行移位變換,列混合變換,輪密鑰加變換。AES算法具體的加解密步驟如圖2所示。

圖2 AES算法加解密流程

在AES算法的加解密過程中,輪密鑰加變換是數據與密鑰之間進行異或運算,行移位變換時數據的數值不變,數據按照規則向左或向右移動位置,字節替代變換是在有限域GF(28)內進行乘法逆運算,該計算結果可以通過查表的方式獲得。在運算復雜度上,該3種變換相對比較簡單,而列混合變換需要在有限域GF(28)內進行乘法運算,運算復雜度相對較高,因此,在整個運算中對運行效率起決定性作用的是列混合變換。實現AES加密運算的關鍵代碼如下:

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

2.4 基于統計學的相關性功耗分析攻擊

相關性功耗分析(Correlation Power Analysis,CPA)攻擊需要選定一個參考值,該值事先不知道大小,但數值始終穩定不變。針對該參考值建立對應的相關性模型,本文根據狀態位中“1”的數量建立漢明重量模型,然后依據相關性的計算表達式,計算出實際采集到的電磁輻射值與漢明重量模型之間的相關性大小,通過對比得出最終結論。為了提高攻擊效率、減少不必要的開銷,本文在實驗中對密鑰進行分段處理,將原本長為128 bit的密鑰分為16段,每段長為8 bit,即假設密鑰有256種可能。

文獻[15]給出了CPA攻擊的一般步驟,如圖3所示。

圖3 CPA攻擊步驟示意圖

CPA攻擊具體步驟如下:

1)中間點選取。攻擊者需要在密碼算法中選擇一個位置作為攻擊點,該點最好與被處理的數據以及密鑰有關。為了便于攻擊,本文實驗選取函數f(d,k)作為中間點,選擇函數f(d,k)中的d表示待處理的數據,該數據可以是明文也可以是密文,k表示猜測的密鑰,其有256種可能。只有滿足條件的k才能恢復出正確的d。

2)電磁泄漏值采集。用隨機發生器產生一些明文或密文數據,將這些數據記作D=(d1,d2,…,di,…,dD),其中一共有D個明文或密文,di表示進行第i次密碼運算時輸入的明文或密文。每一次進行密碼運算后采集到的電磁跡可標記為T=(t1,t2,…,ti,…,tT),其中ti=(ti1,ti2,…,tiT),tiT表示用di進行運算時采集到的電磁跡上的第T個點(這里的電磁跡是經過前置放大器放大后的輻射信息)。泄漏的電磁信號信息可以用D×T階矩陣表示。

3)密鑰猜測。密碼設備中所有可能的密鑰表示為向量K=(k1,k2,…,kj,…,kK),其中kj表示一種可能的取值,通常被稱為密鑰假設。將K和D代入選擇函數f中計算出相應的中間結果,表達式為:

Vi,j=f(di,kj),i=1,2,…,D;j=1,2,…,K

(13)

其中,Vi,j表示計算得出的中間結果,i是行,表示中間結果對應的明(密)文是di,j是列,表示中間結果對應的密鑰為kj。

4)假設值與真實值進行對比。將步驟3)得到的中間結果V與采集到的真實電磁泄漏值T進行分析對比,該過程需要用相關性模型對數據V進行轉換,數據V進行轉換后的結果用向量H表示。

5)統計分析。將模型轉換值H與真實泄露值T代入式(14),計算兩者的相關性系數R,系數R中的元素ri,j越大,hi與tj之間的相關性也就越大,則猜測的密鑰k也就越接近真實密鑰。

(14)

3 攻擊方案與步驟

3.1 攻擊平臺搭建

電磁分析攻擊的第一步是搭建電磁信息的硬件采集平臺,將智能卡工作時泄漏的電磁輻射旁路信號采集到電腦中,為下一步分析做準備。

電磁信息采集平臺主要包括3個部分:控制部分,顯示部分,測試部分。其中,控制部分由計算機、顯示屏、鼠標、鍵盤等部件組成;顯示部分由示波器組成;測試部分由智能卡、電磁探頭、放大器組成。具體搭建方式如圖4所示,實物平臺如圖5所示。

圖4 信息采集平臺連接示意圖

圖5 電磁分析攻擊實物平臺

3.2 攻擊步驟

攻擊具體步驟如下:

1)電磁信息采集

(1)計算機根據實際需要生成隨機明文并將其傳輸到智能卡中,智能卡收到該明文后進行加解密運算,智能卡在運算時會無意識地釋放一些電磁輻射信息。

(2)用PA 303N/BNC前置放大器將電磁探頭感應到的微弱電磁信號進行放大,然后將其傳入數字示波器中以便下一步分析處理。

(3)通過觸發線將觸發信號發送到數字示波器中,通知數字示波器開始采集經過PA 303N/BNC放大后的電磁數據。

該過程具體流程如圖6所示。

圖6 電磁信息采集流程

2)電磁信息分析

計算機將示波器發送的數據進行存儲,利用分析軟件對數據進行分析處理,最終得到需要的結果。

4 攻擊結果與分析

4.1 攻擊結果

本文根據3.1節內容搭建電磁信息采集平臺,按照3.2節的攻擊步驟完成對智能卡中AES算法加密時泄漏的電磁信息的采集。采集過程中數字存儲示波器設置的采樣頻率為100 MHz。對隨機產生的不同明文進行加密,采集其中的2 000條電磁跡,每條電磁跡的采樣長度為105點。圖7所示是示波器采集到的其中一條電磁跡,該曲線完整地展示了AES的第一輪加密過程。

圖7 智能卡加密時采集到的電磁跡

利用2.4節的CPA分析原理,對采集到的真實電磁曲線與假設模型進行相關性計算,用“相關系數”表示該結果。圖8為未添加PA 303N/BNC放大器時對采集到的1 500條電磁跡進行CPA分析后的結果,圖9為加入PA 303N/BNC放大器后對采集到的1 500條電磁跡進行CPA分析后的結果,2幅圖中進行CPA計算的假設模型相同。

圖8 未加放大器時的CPA結果

圖9 加入放大器后的CPA結果

通過對比可以看出,圖8中的點基本上都很有規律地分布在±0.02的范圍內,沒有峰值波動,即表示該攻擊不成功;圖9中在65 000時間點附近有明顯的尖峰,說明該點的相關性最大,假設密鑰值與真實密鑰值匹配成功,即攻擊形成。由此可見,引入了PA 303N/BNC放大器的采集平臺,采集到的電磁有效信息較多,有助于后期的CPA分析。

4.2 結果對比與分析

4.2.1 與其他研究成果的縱向對比

在選擇相同攻擊點、使用相同假設模型(漢明重量模型)、搭建類似數據采集平臺的情況下,傳統的CEMA方式大約需要2 000條電磁跡[16],文獻[17]經典CEMA大約需要7 552條電磁跡,本文提出的改進型攻擊方法僅使用了約1 500條電磁跡,就取得了類似的攻擊效果,本文方法需要采集的電磁跡數與文獻[17]經典CEMA相比,減小了約80.1%。

4.2.2 與傳統CEMA攻擊方法的橫向對比

在其他配置相同,且同樣使用1 500條電磁跡進行相關性分析攻擊后,傳統CEMA攻擊方法所得相關系數的最大絕對值為0.021,而本文攻擊方法得到的相關系數最大絕對值為0.035,本文方法的相關系數值較傳統CEMA攻擊方法提高了約67%。

通過對比還可以發現,使用PA 303N/BNC放大器對信號進行放大處理后,需要的電磁跡數目大大減少,可以在最大程度上節約采集所需的時間。由于曲線減少,后期分析過程中的計算復雜度也大幅降低,且攻擊效果也更明顯。

5 結束語

通過對智能卡中AES密碼算法的電磁攻擊進行分析可以得出,智能卡芯片在工作過程中存在電磁泄漏,攻擊者可以利用該泄漏的電磁信號破譯出智能卡中的敏感信息。為解決該問題,本文在電磁數據采集平臺的搭建中,在示波器的接收端增加PA 303N/BNC放大器,用其對采集的數據進行放大處理。通過這一改進,減少了攻擊所需的電磁跡,降低了前期數據采集的工作量及后期數據分析中的計算量。下一步將針對前置放大器的攻擊提出相應的防御措施,確保密碼設備的運行安全。

[1] 陶文卿,顧星遠,李 菁.基于數據加密標準掩碼的功耗分析方法[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風險評估——用結構化方法改進關鍵基礎設施對電磁攻擊的恢復能力[J].安全與電磁兼容,2016(2):9-10,22.

[10] 德國研制出電磁攻擊檢測裝置[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] 段二朋,嚴迎建,李佩之.針對AES密碼算法FPGA實現的CEMA攻擊[J].計算機工程與設計,2012,33(8):2926-2930.

[17] 張 瀟,崔小欣,魏 為,等.針對FPGA實現的AES密碼芯片的相關性電磁分析攻擊[J].北京大學學報(自然科學版),2014,50(4):647-651.

猜你喜歡
電磁輻射密鑰電磁
4.微波爐的電磁輻射大嗎?
幻中邂逅之金色密鑰
用頻裝備帶內多頻電磁輻射阻塞干擾效應預測方法
密碼系統中密鑰的狀態與保護*
論電磁輻射對環境的污染及防護措施
三維多孔電磁復合支架構建與理化表征
TPM 2.0密鑰遷移協議研究
一種對稱密鑰的密鑰管理方法及系統
掌握基礎知識 不懼電磁偏轉
軍隊電磁輻射作業人員健康管理探討
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合