王俊年,朱 斌,于文新,王 皖,胡釩梁
(1.湖南科技大學(xué) 物理與電子科學(xué)學(xué)院,湖南 湘潭 411201;2.湖南科技大學(xué) 信息與電氣工程學(xué)院,湖南 湘潭 411201;3.知識(shí)處理與網(wǎng)絡(luò)化制造湖南省普通高等學(xué)校重點(diǎn)實(shí)驗(yàn)室,湖南湘潭 411201)
隨著信息技術(shù)的不斷發(fā)展,人工智能、大數(shù)據(jù)、云計(jì)算等技術(shù)以及智能設(shè)備得到廣泛應(yīng)用,它們?cè)诮o人們工作和生活帶來(lái)便利的同時(shí)也使得信息安全問(wèn)題日益突出,采用新的技術(shù)手段和工具應(yīng)對(duì)這些安全威脅刻不容緩。在信息安全領(lǐng)域,首要考慮的是通過(guò)加密方法降低信息泄露的可能,從而保證數(shù)據(jù)安全。從第一代DES 的誕生到如今流行的AES,每一種加密算法都經(jīng)過(guò)了大量嚴(yán)格的軟硬件安全性能評(píng)估以確保算法的安全性能。1999 年,KOCHER[1]提出功耗側(cè)信道攻擊,其在密碼攻擊研究中提供了除數(shù)學(xué)分析之外的另一種加密攻擊方法,這種方法揭示了加密硬件和加密數(shù)據(jù)之間的關(guān)系,通過(guò)這種關(guān)系可以利用硬件數(shù)據(jù)加密過(guò)程中產(chǎn)生的物理信息,如功耗、電磁輻射和時(shí)間等數(shù)據(jù)來(lái)破解加密算法[1-3]。
近年來(lái),隨著機(jī)器學(xué)習(xí)特別是深度學(xué)習(xí)的迅速發(fā)展[4],有越來(lái)越多的研究人員將機(jī)器學(xué)習(xí)應(yīng)用于側(cè)信道攻擊,且其效果遠(yuǎn)優(yōu)于傳統(tǒng)分析方法。BACKS 等[5]將機(jī)器學(xué)習(xí)應(yīng)用于打印機(jī)的聲音側(cè)信道攻擊,HOSPODAR 等[6]將最小二乘支持向量機(jī)對(duì)模板攻擊中的中間值進(jìn)行分類,LERMAN 等[7]使用隨機(jī)森林、支持向量機(jī)、自組織映射等算法分析側(cè)信道信息,HEUSER 等[8]用多類支持向量機(jī)攻擊多位值(漢明重量模型),BARTKEWITZ 等[9]進(jìn)一步完善上述工作,根據(jù)類別的順序提出新的多類別分類策略,MARTINASEK 等[10]提出基于神經(jīng)網(wǎng)絡(luò)的AES 側(cè)信道攻擊方法,并對(duì)AES 密鑰進(jìn)行分類。
本文從一塊加密設(shè)備上提取無(wú)掩碼AES-128 加密算法實(shí)現(xiàn)過(guò)程中的功耗跡線數(shù)據(jù)集,對(duì)功耗跡線不做任何處理而直接保存原始數(shù)據(jù)。在實(shí)驗(yàn)階段利用相關(guān)功耗分析(Correlation Power Analysis,CPA)[11]對(duì)整個(gè)數(shù)據(jù)集進(jìn)行分析,從分析結(jié)果中獲取每個(gè)字節(jié)操作所對(duì)應(yīng)的敏感點(diǎn),即每條跡線1 600 個(gè)數(shù)據(jù)點(diǎn)中除噪聲外每95 個(gè)點(diǎn)對(duì)應(yīng)AES 一個(gè)字節(jié)的S 盒替換操作。在確定每個(gè)字節(jié)的操作敏感點(diǎn)后,研究LSTM 模型在側(cè)信道分析領(lǐng)域的性能表現(xiàn),驗(yàn)證LSTM 網(wǎng)絡(luò)解決長(zhǎng)時(shí)間依賴問(wèn)題以及處理側(cè)信道功耗序列中時(shí)序關(guān)系的能力。
AES 是一種基于有限域運(yùn)算的分組密碼算法,可以使用一個(gè)長(zhǎng)度為128 位、192 位或256 位的密鑰加密一個(gè)分組長(zhǎng)度為128 位的數(shù)據(jù),對(duì)應(yīng)的加密算法分別為AES-128、AES-192 和AES-256。AES-128算法能夠滿足大多數(shù)的應(yīng)用場(chǎng)景,是目前應(yīng)用最為廣泛的一種分組密碼算法,因此,本文的側(cè)信道攻擊基于AES-128 密碼實(shí)現(xiàn)。AES-128 加密過(guò)程建立在4×4 的字節(jié)矩陣上,初值是一個(gè)明文區(qū)塊(矩陣中的一個(gè)元素就是明文區(qū)塊中的一個(gè)字節(jié))和密鑰區(qū)塊,加密過(guò)程中共需進(jìn)行10 輪迭代,加密時(shí)AES 的每輪變換包含4 個(gè)基本步驟,依次為字節(jié)替換、行移位、列混淆和輪密鑰加,最后一輪只有字節(jié)替換、行移位和輪密鑰加,不包含列混淆。
AES 算法中S 盒替換對(duì)狀態(tài)中的每個(gè)字節(jié)執(zhí)行非線性替換,將S 盒中相應(yīng)的值替換為原來(lái)矩陣中的每個(gè)字節(jié)值,并對(duì)狀態(tài)中的每個(gè)元素獨(dú)立地進(jìn)行替換操作。S 盒替換是AES 算法中唯一的非線性變換,是算法加密安全的關(guān)鍵,同時(shí)S 盒替換是與密鑰密切相關(guān)的操作,可以通過(guò)中間值(即S 盒中取出的值)倒推出密鑰,并且S 盒替換在加密設(shè)備上的操作次數(shù)比較多,該操作產(chǎn)生的功耗也比一般操作更明顯,便于在功耗跡線中找到該操作的位置以提高功耗側(cè)信道分析的效率。因此,一般側(cè)信道攻擊尤其是功耗側(cè)信道攻擊,都選擇AES 算法的第一輪S 盒替換或最后一輪S 盒替換作為攻擊點(diǎn)。
密碼算法的實(shí)現(xiàn)依賴于物理設(shè)備平臺(tái),即密碼芯片,側(cè)信道分析利用加密算法在硬件實(shí)現(xiàn)過(guò)程中密碼芯片泄露的各種側(cè)信道信息進(jìn)行密碼分析,側(cè)信道攻擊方法主要有功耗攻擊(Power Attack,PA)、電磁攻擊(Electro Magnetic Attack,EMA)、時(shí)間攻擊(Timing Attack,TA)和一些組合式攻擊。其中,功耗攻擊又稱能量分析攻擊,其通過(guò)分析密碼設(shè)備的能量消耗獲得密鑰。加密芯片的能量消耗主要來(lái)源于數(shù)據(jù)的轉(zhuǎn)換過(guò)程,當(dāng)密碼芯片在加解密時(shí),加密數(shù)據(jù)發(fā)生變化,數(shù)據(jù)計(jì)算會(huì)產(chǎn)生能量消耗。密碼芯片的功耗P和數(shù)據(jù)邏輯值D相關(guān),其數(shù)學(xué)模型可表述為:
其中:n為噪聲;f為密碼芯片功耗P和數(shù)據(jù)邏輯值D之間的關(guān)系函數(shù)。加密芯片由數(shù)量巨大的邏輯門(mén)以及各層材料不同的導(dǎo)線構(gòu)成,同一時(shí)刻參與運(yùn)算的邏輯門(mén)幾乎無(wú)法統(tǒng)計(jì),因此,式(1)中的f是一個(gè)非常復(fù)雜的函數(shù),無(wú)法運(yùn)用數(shù)學(xué)推導(dǎo)的方法進(jìn)行解析。
傳統(tǒng)的能量分析攻擊包括簡(jiǎn)單能量分析攻擊(SPA)、差分能量分析攻擊(DPA)、相關(guān)能量分析攻擊(CPA)、模板攻擊等多種方式,它們均利用假設(shè)的加密中間值與能量泄露點(diǎn)的相關(guān)性來(lái)驗(yàn)證所猜測(cè)密鑰的正確性,因此,需要足夠多的功耗跡線才能破解出密鑰,并且每次攻擊不同的設(shè)備都是一次全新的任務(wù),每次都需要大量的功耗跡線。
能量分析攻擊的本質(zhì)是對(duì)式(1)進(jìn)行建模和模式識(shí)別。機(jī)器學(xué)習(xí)技術(shù)可以構(gòu)建有效的模式識(shí)別和特征提取算法[12],因此,多種機(jī)器學(xué)習(xí)模型被研究人員應(yīng)用于AES 的能量分析攻擊[13-15]。
如圖1 所示,本文使用8 位ATMEL 微控制器ATXMEGA128D4 進(jìn)行加密操作,利用chipwhisperer提取所有加密過(guò)程中產(chǎn)生的功耗跡線組成實(shí)驗(yàn)數(shù)據(jù)集,加密模式為AES-128 的電碼本(ECB)模式。
圖1 數(shù)據(jù)采集裝置Fig.1 Data acquisition device
首先生成一條16 個(gè)字節(jié)的固定密鑰,將其與隨機(jī)產(chǎn)生的5 萬(wàn)條明文在chipwhisperer上執(zhí)行加密,利用捕獲裝置收集加密過(guò)程中產(chǎn)生的5 萬(wàn)條功耗數(shù)據(jù);然后隨機(jī)產(chǎn)生15 萬(wàn)對(duì)密鑰不同的密鑰明文對(duì),在相同的平臺(tái)上對(duì)每對(duì)明文密鑰執(zhí)行加密操作,利用功耗采集設(shè)備提取15萬(wàn)條執(zhí)行加密操作的功耗跡線,其示例如圖2所示,每條跡線均包含1 600 個(gè)數(shù)據(jù)點(diǎn)。
圖2 功耗跡線Fig.2 Power trace
本文攻擊方法分為CPA 尋找興趣點(diǎn)和搭建網(wǎng)絡(luò)模型2 個(gè)部分。首先,將CPA 算法執(zhí)行在相同密鑰的數(shù)據(jù)集上,以密鑰第二個(gè)字節(jié)作為攻擊目標(biāo),確定每條功耗數(shù)據(jù)第二個(gè)字節(jié)的興趣區(qū)間位置;然后,在不同密鑰數(shù)據(jù)集上利用上述確定的區(qū)間對(duì)功耗蹤跡進(jìn)行特征選取,將區(qū)間范圍內(nèi)的數(shù)據(jù)作為特征向量以搭建網(wǎng)絡(luò)模型。
將采集到的相同密鑰的功耗跡線執(zhí)行標(biāo)準(zhǔn)CPA攻擊,利用Pearson 相關(guān)系數(shù)方法查找跡線中與S 盒輸出相關(guān)性最高的點(diǎn),點(diǎn)的周圍數(shù)據(jù)則是深度學(xué)習(xí)模型的輸入。CPA 攻擊過(guò)程步驟如下:
1)構(gòu)造功耗跡線矩陣。假設(shè)有T條跡線,每條跡線有D個(gè)數(shù)據(jù)點(diǎn),則功耗跡線記為T(mén)×D階的矩陣D。
2)建立中間值矩陣。對(duì)于任意一個(gè)字節(jié),其密鑰值的取值范圍為0~255,共256 種可能,根據(jù)相應(yīng)明文字節(jié)結(jié)合假設(shè)密鑰構(gòu)造中價(jià)值矩陣V,V=T×256。
3)計(jì)算假設(shè)功率矩陣。將矩陣V對(duì)應(yīng)漢明重量模型,得到T×256 階的矩陣H。
4)計(jì)算矩陣H每一列和矩陣D每一列的Pearson相關(guān)系數(shù),計(jì)算結(jié)果為256×D階的矩陣R,其中,元素ri,j越大,表明矩陣H、D第j列之間的相關(guān)性越強(qiáng)。因此,在矩陣R中找到元素最大值的位置,就可以根據(jù)其索引確定跡線中與密鑰相關(guān)性最大的數(shù)據(jù)點(diǎn)的位置。
LSTM 是一種在經(jīng)典循環(huán)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上進(jìn)行改進(jìn)的模型[16],其非常適合從經(jīng)驗(yàn)中學(xué)習(xí)分類以及處理在重要事件之間存在未知時(shí)長(zhǎng)延遲的時(shí)間序列。
LSTM 網(wǎng)絡(luò)包含一些稱為記憶模塊的子網(wǎng)絡(luò),用于替代RNN 中的隱含節(jié)點(diǎn),其記憶模塊結(jié)構(gòu)如圖3 所示。其中,xt表示t時(shí)刻的輸入,ht代表單元的輸出,ct和分別作為單元狀態(tài)和候選單元狀態(tài),ft、it和ot分別是遺忘門(mén)、輸入門(mén)和輸出門(mén),w~和b~表示相應(yīng)的權(quán)重矩陣和偏置,它們的維數(shù)是經(jīng)過(guò)反復(fù)實(shí)驗(yàn)而得的超參數(shù),σ(?)和tanh(?)分別是Sigmoid 函 數(shù)和雙曲正切函數(shù)。遺忘門(mén)通過(guò)非線性激活函數(shù)和乘法運(yùn)算從單元中移除不需要的信息,輸入門(mén)用于將新的信息和單元候選狀態(tài)一起添加到單元狀態(tài),輸出門(mén)根據(jù)單元狀態(tài)決定輸出信息。圖3中的變量表示為:
圖3 LSTM 單元結(jié)構(gòu)Fig.3 LSTM cell structure
LSTM 的外部結(jié)構(gòu)與傳統(tǒng)RNN 相同,只對(duì)其隱藏節(jié)點(diǎn)做了改進(jìn),具備可以長(zhǎng)期記憶歷史重要信息的功能,因此,當(dāng)梯度進(jìn)行反向時(shí)間傳播時(shí),不會(huì)出現(xiàn)梯度消失的問(wèn)題。此外,在LSTM 網(wǎng)絡(luò)中,單元狀態(tài)ct代表長(zhǎng)期記憶,隨著時(shí)間的變化,ct會(huì)傳遞下去,在整個(gè)序列的運(yùn)算過(guò)程中只有少量的線性交互,使得LSTM 能有效保存過(guò)去較長(zhǎng)時(shí)間的信息。
將深度學(xué)習(xí)應(yīng)用于側(cè)信道攻擊,需要滿足以下3 個(gè)要求:
1)攻擊者有一塊可以自行設(shè)置加密程序的加密設(shè)備和能夠采集加密過(guò)程中功耗信息的捕獲設(shè)備。
2)在加密硬件上,攻擊者必須可以選擇任意明文和密鑰,并且能夠執(zhí)行任意次數(shù)的加密過(guò)程。
3)攻擊者在攻擊階段至少能夠采集到一條加密設(shè)備在加密過(guò)程中的功耗數(shù)據(jù)。
基于深度學(xué)習(xí)的側(cè)信道攻擊按如下步驟進(jìn)行:
1)攻擊者在加密設(shè)備上獲取足夠的功耗跡線后,對(duì)每條跡線確定一個(gè)合適的標(biāo)簽用來(lái)擬合密鑰和物理泄露之間的關(guān)系,然后選擇合適的模型對(duì)跡線進(jìn)行訓(xùn)練。
2)在模型訓(xùn)練好之后,將任意明文搭配任意密鑰在加密設(shè)備上執(zhí)行加密操作,用采集設(shè)備采集加密過(guò)程中的功耗信息,再將獲取到的功耗跡線輸入已訓(xùn)練好的模型中進(jìn)行分析,以破解本次加密過(guò)程中使用的密鑰。
在深度學(xué)習(xí)中,標(biāo)簽不同通常會(huì)導(dǎo)致模型學(xué)習(xí)效果不同。本文認(rèn)為硬件處理單元的活動(dòng)狀態(tài)與處理的數(shù)據(jù)值成比例,在眾多數(shù)值中本文選擇S 盒輸出值作為標(biāo)簽,原因是在AES 加密中進(jìn)行S 盒替換時(shí),其值需要從內(nèi)存加載到數(shù)據(jù)總線上,所耗能量明顯,因此,將處理過(guò)程中的數(shù)值作為標(biāo)簽具有合理性。
在AES-128 中,S 盒的輸出可能有256 個(gè)不同的值,將256 個(gè)不同的值當(dāng)作256 種不同的情況,則S 盒數(shù)值分類模型的分類總量為C={0,1,…,255}。
本文選擇攻擊AES-128 的第3 個(gè)字節(jié),即k[2],因?yàn)樵贏ES 中,除了第一輪使用原始密鑰,后續(xù)使用的密鑰都是通過(guò)輪密鑰加產(chǎn)生的子密鑰,為了使密鑰破解效率更高,本文使用第一輪加密中產(chǎn)生的數(shù)據(jù)。設(shè)定的標(biāo)簽是第一輪加密中密鑰的第3 個(gè)字節(jié)和明文的第3 個(gè)字節(jié)異或后通過(guò)S 盒替換的值,即:
其中:“⊕”表示按位異或,計(jì)算機(jī)中是從“0”開(kāi)始計(jì)數(shù),因此,明文和密鑰的第3 位分別記為p[2]和k[2],k為原始密鑰,p是明文。密鑰第3 個(gè)字節(jié)的CPA 分析結(jié)果如圖4 所示。
圖4 密鑰第3 個(gè)字節(jié)的皮爾遜相關(guān)系數(shù)Fig.4 Pearson correlation coefficient of the third byte of the key
本文密鑰第3 個(gè)字節(jié)相關(guān)性突出的數(shù)據(jù)點(diǎn)在249~344 之間,因此,輸入網(wǎng)絡(luò)的特征向量就是這95 個(gè)數(shù)據(jù)。
本文實(shí)驗(yàn)步驟如下:
1)在搭建好加密硬件設(shè)備后進(jìn)行數(shù)據(jù)采集,并對(duì)捕獲到的數(shù)據(jù)執(zhí)行CPA 分析,選則興趣區(qū)間的數(shù)據(jù)作為特征向量。
2)對(duì)特征向量進(jìn)行標(biāo)簽匹配,標(biāo)簽為第3 個(gè)字節(jié)的S 盒輸出,確定輸入輸出之后搭建分類模型。與傳統(tǒng)機(jī)器學(xué)習(xí)方法相比,深度學(xué)習(xí)模型具有全局多樣性好、準(zhǔn)確性高的特點(diǎn)[17]。對(duì)于卷積神經(jīng)網(wǎng)絡(luò)等前饋神經(jīng)網(wǎng)絡(luò)而言,一般只能提取較少的重要特征,而LSTM 網(wǎng)絡(luò)具備對(duì)序列信息融合的能力,并且加密設(shè)備處理加密數(shù)據(jù)時(shí)根據(jù)前面所有時(shí)刻的數(shù)據(jù)決定當(dāng)下工作單元狀態(tài),運(yùn)用LSTM 網(wǎng)絡(luò)訓(xùn)練時(shí)序數(shù)據(jù)能夠利用功耗數(shù)據(jù)中的時(shí)序性,將其所有的特征進(jìn)行融合,抽取更深層次、表現(xiàn)能力更強(qiáng)的特征。因此,選擇LSTM 神經(jīng)網(wǎng)絡(luò)在側(cè)信道功耗數(shù)據(jù)上搭建模型能得到更準(zhǔn)確的結(jié)果。
3)將上述采集到的隨機(jī)密鑰數(shù)據(jù)集按照6∶2∶2的比例劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。
4)將訓(xùn)練集用于網(wǎng)絡(luò)模型訓(xùn)練,驗(yàn)證集用以觀察模型訓(xùn)練效果,測(cè)試集用來(lái)測(cè)試網(wǎng)絡(luò)的泛化能力。
LSTM 神經(jīng)網(wǎng)絡(luò)各層參數(shù)如表1 所示。在本文實(shí)驗(yàn)中,LSTM 網(wǎng)絡(luò)僅需一層就可以清晰地表達(dá)出數(shù)據(jù)間的關(guān)系,太多的LSTM 層會(huì)使得網(wǎng)絡(luò)訓(xùn)練時(shí)間過(guò)長(zhǎng)。在LSTM 層后連接的第一個(gè)全連接層使用ReLU 激活函數(shù),分類層使用Softmax 激活函數(shù)。
表1 LSTM 各層參數(shù)Table 1 Parameters of each layer of LSTM
本文所用數(shù)據(jù)集由功耗時(shí)序數(shù)據(jù)組成,而LSTM 網(wǎng)絡(luò)具有長(zhǎng)時(shí)間記憶功能,處理時(shí)序數(shù)據(jù)相比MLP、CNN 網(wǎng)絡(luò)更加有效,其強(qiáng)大的表達(dá)能力使得驗(yàn)證集上的訓(xùn)練表現(xiàn)比訓(xùn)練集更好,訓(xùn)練結(jié)果如圖5、圖6 所示。從圖5、圖6 可以看出,LSTM 網(wǎng)絡(luò)波動(dòng)性小,收斂速度快,泛化能力強(qiáng),網(wǎng)絡(luò)訓(xùn)練準(zhǔn)確率從35.75%提高到90.53%僅用了188 s,并且網(wǎng)絡(luò)訓(xùn)練過(guò)程中準(zhǔn)確率始終沒(méi)有大的波動(dòng),網(wǎng)絡(luò)性能非常穩(wěn)定。在驗(yàn)證集上,最終訓(xùn)練集準(zhǔn)確率為99.78%,驗(yàn)證集準(zhǔn)確率為99.69%,網(wǎng)絡(luò)損失在訓(xùn)練過(guò)程中也只用了4 個(gè)epoch 就從2.57 降到0.289 1,最后訓(xùn)練集損失為0.006 7,驗(yàn)證集損失為0.009 9。
圖5 LSTM 模型的攻擊準(zhǔn)確率Fig.5 Attack accuracy of LSTM model
圖6 LSTM 在訓(xùn)練過(guò)程中的損失值Fig.6 Loss values of LSTM during training
在搭建LSTM 神經(jīng)網(wǎng)絡(luò)的過(guò)程中,除了學(xué)習(xí)率、激活函數(shù)和epoch 外,時(shí)間步[18-19]和不同優(yōu)化器對(duì)網(wǎng)絡(luò)精度[20]的影響如圖7 和圖8 所示。
圖7 時(shí)間步對(duì)LSTM 網(wǎng)絡(luò)準(zhǔn)確率的影響Fig.7 Influence of time step on accuracy of LSTM network
圖8 不同優(yōu)化器對(duì)LSTM 網(wǎng)絡(luò)準(zhǔn)確率的影響Fig.8 Influence of different optimizers on accuracy of LSTM network
實(shí)驗(yàn)中測(cè)試時(shí)間步分別為1、5、10、20、50 時(shí)對(duì)網(wǎng)絡(luò)性能的影響,由于只有95 個(gè)有效特征,當(dāng)數(shù)據(jù)點(diǎn)不滿足時(shí)間步劃分時(shí),通過(guò)在數(shù)據(jù)末尾添加0 的方式以滿足網(wǎng)絡(luò)需要。從圖7 可以看出,當(dāng)時(shí)間步為5 時(shí),網(wǎng)絡(luò)波動(dòng)性最小,收斂速度最快,在第9 個(gè)epoch 時(shí)網(wǎng)絡(luò)準(zhǔn)確率達(dá)到96.51%,訓(xùn)練速度高于其他所有時(shí)間步,且網(wǎng)絡(luò)在20 個(gè)epoch 后一直非常穩(wěn)定。在使用其他時(shí)間步時(shí),如時(shí)間步為1,此時(shí)網(wǎng)絡(luò)有非常大的波動(dòng),網(wǎng)絡(luò)震蕩幅度超過(guò)40%。因此,本文中LSTM 網(wǎng)絡(luò)的時(shí)間步設(shè)為5。
實(shí)驗(yàn)中還分別使用5 種不同的優(yōu)化器,從圖8 可以看出,Adam 優(yōu)化器效果較好,不僅能夠快速收斂而且還具有很強(qiáng)的穩(wěn)定性,在驗(yàn)證集中的準(zhǔn)確率保持平穩(wěn)。因此,本文LSTM 網(wǎng)絡(luò)使用Adam 作為優(yōu)化器。
將文獻(xiàn)[21]中使用的CNN 網(wǎng)絡(luò)模型、MLP 網(wǎng)絡(luò)模型與本文LSTM 網(wǎng)絡(luò)進(jìn)行對(duì)比實(shí)驗(yàn)。
針對(duì)密鑰的第3 個(gè)字節(jié)進(jìn)行實(shí)驗(yàn),從時(shí)間、精度和泛化能力3 個(gè)方面綜合分析3 種網(wǎng)絡(luò)的性能。3 種網(wǎng)絡(luò)均在同一實(shí)驗(yàn)環(huán)境下訓(xùn)練100 個(gè)epoch,結(jié)果如表2 所示。從表2 可以看出,MLP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練所需時(shí)間最少,用時(shí)11 分25 秒,但是模型在泛化能力方面不佳,測(cè)試準(zhǔn)確率僅有94.36%;CNN 網(wǎng)絡(luò)的驗(yàn)證準(zhǔn)確率和泛化能力都有較好的表現(xiàn),泛化準(zhǔn)確率高達(dá)99.29%,但是模型訓(xùn)練耗時(shí)最長(zhǎng),達(dá)到15 時(shí)44 分30 秒,這將浪費(fèi)大量的計(jì)算資源和時(shí)間,模型構(gòu)建成本太大;本文建立的LSTM 模型訓(xùn)練時(shí)間為1 時(shí)17 分08 秒,多于MLP 網(wǎng)絡(luò),但是明顯少于CNN 網(wǎng)絡(luò),在準(zhǔn)確率方面,LSTM 網(wǎng)絡(luò)的泛化能力強(qiáng)于MLP 網(wǎng)絡(luò)和CNN 網(wǎng)絡(luò),高達(dá)99.56%。
表2 相同epoch 時(shí)模型準(zhǔn)確率對(duì)比結(jié)果Table 2 Comparison results of model accuracy under the same epoch
本文將3 種網(wǎng)絡(luò)在相同耗時(shí)(10 min)下的準(zhǔn)確率進(jìn)行對(duì)比,結(jié)果如表3所示。從表3可以看出,在相同的訓(xùn)練時(shí)間內(nèi),LSTM準(zhǔn)確率最高,達(dá)到98.39%,CNN 因參數(shù)較多導(dǎo)致訓(xùn)練時(shí)間最長(zhǎng),LSTM的準(zhǔn)確率稍優(yōu)于MLP,遠(yuǎn)高于CNN,是投入成本較小、收益最高的網(wǎng)絡(luò)。
表3 相同訓(xùn)練時(shí)間下模型準(zhǔn)確率對(duì)比結(jié)果Table 3 Comparison results of model accuracy under the same training time %
本文從到達(dá)相同準(zhǔn)確率所用時(shí)間的角度對(duì)網(wǎng)絡(luò)性能進(jìn)行評(píng)估,記錄網(wǎng)絡(luò)測(cè)試準(zhǔn)確率穩(wěn)定在90.00%時(shí)網(wǎng)絡(luò)驗(yàn)證準(zhǔn)確率以及所用的訓(xùn)練時(shí)間,結(jié)果如表4 所示。
表4 到達(dá)相同準(zhǔn)確率時(shí)所用時(shí)間對(duì)比結(jié)果Table 4 Comparison results of time taken to reach the same accuracy
本文將3種模型在恢復(fù)完整密鑰時(shí)所需時(shí)間以及綜合準(zhǔn)確率進(jìn)行對(duì)比,結(jié)果如圖9所示,其中,圖9(a)表示訓(xùn)練3 種模型時(shí)每種模型所需的時(shí)間,圖9(b)代表3 種模型在恢復(fù)完整密鑰時(shí)的準(zhǔn)確率。
圖9 3 種網(wǎng)絡(luò)在恢復(fù)完整密鑰時(shí)的性能對(duì)比結(jié)果Fig.9 Performance comparison results of three networks in recovering full key
分析目前已有的深度學(xué)習(xí)密鑰推測(cè)手段可知,每一條完整密鑰的攻擊都需要從密鑰的每一個(gè)字節(jié)開(kāi)始,即AES-128 需要16 個(gè)網(wǎng)絡(luò)同時(shí)作用才能獲取完整密鑰。在3 種網(wǎng)絡(luò)的訓(xùn)練過(guò)程中,MLP 雖然用時(shí)最少,但是其綜合準(zhǔn)確率不足50%,CNN 所需時(shí)間最多,共需要251.86 h,LSTM 需要20.56 h,但LSTM比CNN 的密鑰破解準(zhǔn)確率高2.1%,高達(dá)91.70%。綜上,LSTM 網(wǎng)絡(luò)在目前基于深度學(xué)習(xí)的完整密鑰破解模型中效率較高[21]。
本文針對(duì)基于深度學(xué)習(xí)的側(cè)信道攻擊中CNN、MLP 模型效率不高的問(wèn)題,提出一種基于深度學(xué)習(xí)LSTM 的側(cè)信道攻擊方法,并在chipwhisperer 設(shè)備上采集數(shù)據(jù)進(jìn)行實(shí)驗(yàn)驗(yàn)證,結(jié)果表明,適當(dāng)微調(diào)后的LSTM 能夠充分學(xué)習(xí)側(cè)信道功耗數(shù)據(jù)的時(shí)序關(guān)系,當(dāng)進(jìn)行完整密鑰破解時(shí)LSTM 可以提高破解效率。由于本文實(shí)驗(yàn)數(shù)據(jù)集是在chipwhisperer 設(shè)備上所采集的,不存在復(fù)雜的干擾情況,因此LSTM 模型的破解效率高于CNN 和MLP 模型。下一步將設(shè)置多變的物理干擾,仿真現(xiàn)實(shí)的安全測(cè)試環(huán)境,同時(shí)改進(jìn)LSTM 模型,提高其在現(xiàn)實(shí)情況下的魯棒性。此外,研究基于深度學(xué)習(xí)的側(cè)信道攻擊規(guī)律以提高硬件加密設(shè)備的安全性,也是今后的研究方向。