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