999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于深度學習LSTM 的側信道分析

2021-10-15 10:08:14王俊年于文新胡釩梁
計算機工程 2021年10期
關鍵詞:模型

王俊年,朱 斌,于文新,王 皖,胡釩梁

(1.湖南科技大學 物理與電子科學學院,湖南 湘潭 411201;2.湖南科技大學 信息與電氣工程學院,湖南 湘潭 411201;3.知識處理與網絡化制造湖南省普通高等學校重點實驗室,湖南湘潭 411201)

0 概述

隨著信息技術的不斷發展,人工智能、大數據、云計算等技術以及智能設備得到廣泛應用,它們在給人們工作和生活帶來便利的同時也使得信息安全問題日益突出,采用新的技術手段和工具應對這些安全威脅刻不容緩。在信息安全領域,首要考慮的是通過加密方法降低信息泄露的可能,從而保證數據安全。從第一代DES 的誕生到如今流行的AES,每一種加密算法都經過了大量嚴格的軟硬件安全性能評估以確保算法的安全性能。1999 年,KOCHER[1]提出功耗側信道攻擊,其在密碼攻擊研究中提供了除數學分析之外的另一種加密攻擊方法,這種方法揭示了加密硬件和加密數據之間的關系,通過這種關系可以利用硬件數據加密過程中產生的物理信息,如功耗、電磁輻射和時間等數據來破解加密算法[1-3]。

近年來,隨著機器學習特別是深度學習的迅速發展[4],有越來越多的研究人員將機器學習應用于側信道攻擊,且其效果遠優于傳統分析方法。BACKS 等[5]將機器學習應用于打印機的聲音側信道攻擊,HOSPODAR 等[6]將最小二乘支持向量機對模板攻擊中的中間值進行分類,LERMAN 等[7]使用隨機森林、支持向量機、自組織映射等算法分析側信道信息,HEUSER 等[8]用多類支持向量機攻擊多位值(漢明重量模型),BARTKEWITZ 等[9]進一步完善上述工作,根據類別的順序提出新的多類別分類策略,MARTINASEK 等[10]提出基于神經網絡的AES 側信道攻擊方法,并對AES 密鑰進行分類。

本文從一塊加密設備上提取無掩碼AES-128 加密算法實現過程中的功耗跡線數據集,對功耗跡線不做任何處理而直接保存原始數據。在實驗階段利用相關功耗分析(Correlation Power Analysis,CPA)[11]對整個數據集進行分析,從分析結果中獲取每個字節操作所對應的敏感點,即每條跡線1 600 個數據點中除噪聲外每95 個點對應AES 一個字節的S 盒替換操作。在確定每個字節的操作敏感點后,研究LSTM 模型在側信道分析領域的性能表現,驗證LSTM 網絡解決長時間依賴問題以及處理側信道功耗序列中時序關系的能力。

1 側信道分析

1.1 AES-128 加密算法

AES 是一種基于有限域運算的分組密碼算法,可以使用一個長度為128 位、192 位或256 位的密鑰加密一個分組長度為128 位的數據,對應的加密算法分別為AES-128、AES-192 和AES-256。AES-128算法能夠滿足大多數的應用場景,是目前應用最為廣泛的一種分組密碼算法,因此,本文的側信道攻擊基于AES-128 密碼實現。AES-128 加密過程建立在4×4 的字節矩陣上,初值是一個明文區塊(矩陣中的一個元素就是明文區塊中的一個字節)和密鑰區塊,加密過程中共需進行10 輪迭代,加密時AES 的每輪變換包含4 個基本步驟,依次為字節替換、行移位、列混淆和輪密鑰加,最后一輪只有字節替換、行移位和輪密鑰加,不包含列混淆。

AES 算法中S 盒替換對狀態中的每個字節執行非線性替換,將S 盒中相應的值替換為原來矩陣中的每個字節值,并對狀態中的每個元素獨立地進行替換操作。S 盒替換是AES 算法中唯一的非線性變換,是算法加密安全的關鍵,同時S 盒替換是與密鑰密切相關的操作,可以通過中間值(即S 盒中取出的值)倒推出密鑰,并且S 盒替換在加密設備上的操作次數比較多,該操作產生的功耗也比一般操作更明顯,便于在功耗跡線中找到該操作的位置以提高功耗側信道分析的效率。因此,一般側信道攻擊尤其是功耗側信道攻擊,都選擇AES 算法的第一輪S 盒替換或最后一輪S 盒替換作為攻擊點。

1.2 密碼設備的側信道能量分析攻擊

密碼算法的實現依賴于物理設備平臺,即密碼芯片,側信道分析利用加密算法在硬件實現過程中密碼芯片泄露的各種側信道信息進行密碼分析,側信道攻擊方法主要有功耗攻擊(Power Attack,PA)、電磁攻擊(Electro Magnetic Attack,EMA)、時間攻擊(Timing Attack,TA)和一些組合式攻擊。其中,功耗攻擊又稱能量分析攻擊,其通過分析密碼設備的能量消耗獲得密鑰。加密芯片的能量消耗主要來源于數據的轉換過程,當密碼芯片在加解密時,加密數據發生變化,數據計算會產生能量消耗。密碼芯片的功耗P和數據邏輯值D相關,其數學模型可表述為:

其中:n為噪聲;f為密碼芯片功耗P和數據邏輯值D之間的關系函數。加密芯片由數量巨大的邏輯門以及各層材料不同的導線構成,同一時刻參與運算的邏輯門幾乎無法統計,因此,式(1)中的f是一個非常復雜的函數,無法運用數學推導的方法進行解析。

傳統的能量分析攻擊包括簡單能量分析攻擊(SPA)、差分能量分析攻擊(DPA)、相關能量分析攻擊(CPA)、模板攻擊等多種方式,它們均利用假設的加密中間值與能量泄露點的相關性來驗證所猜測密鑰的正確性,因此,需要足夠多的功耗跡線才能破解出密鑰,并且每次攻擊不同的設備都是一次全新的任務,每次都需要大量的功耗跡線。

能量分析攻擊的本質是對式(1)進行建模和模式識別。機器學習技術可以構建有效的模式識別和特征提取算法[12],因此,多種機器學習模型被研究人員應用于AES 的能量分析攻擊[13-15]。

1.3 數據采集

如圖1 所示,本文使用8 位ATMEL 微控制器ATXMEGA128D4 進行加密操作,利用chipwhisperer提取所有加密過程中產生的功耗跡線組成實驗數據集,加密模式為AES-128 的電碼本(ECB)模式。

圖1 數據采集裝置Fig.1 Data acquisition device

首先生成一條16 個字節的固定密鑰,將其與隨機產生的5 萬條明文在chipwhisperer上執行加密,利用捕獲裝置收集加密過程中產生的5 萬條功耗數據;然后隨機產生15 萬對密鑰不同的密鑰明文對,在相同的平臺上對每對明文密鑰執行加密操作,利用功耗采集設備提取15萬條執行加密操作的功耗跡線,其示例如圖2所示,每條跡線均包含1 600 個數據點。

圖2 功耗跡線Fig.2 Power trace

2 攻擊方法

本文攻擊方法分為CPA 尋找興趣點和搭建網絡模型2 個部分。首先,將CPA 算法執行在相同密鑰的數據集上,以密鑰第二個字節作為攻擊目標,確定每條功耗數據第二個字節的興趣區間位置;然后,在不同密鑰數據集上利用上述確定的區間對功耗蹤跡進行特征選取,將區間范圍內的數據作為特征向量以搭建網絡模型。

2.1 CPA 算法

將采集到的相同密鑰的功耗跡線執行標準CPA攻擊,利用Pearson 相關系數方法查找跡線中與S 盒輸出相關性最高的點,點的周圍數據則是深度學習模型的輸入。CPA 攻擊過程步驟如下:

1)構造功耗跡線矩陣。假設有T條跡線,每條跡線有D個數據點,則功耗跡線記為T×D階的矩陣D。

2)建立中間值矩陣。對于任意一個字節,其密鑰值的取值范圍為0~255,共256 種可能,根據相應明文字節結合假設密鑰構造中價值矩陣V,V=T×256。

3)計算假設功率矩陣。將矩陣V對應漢明重量模型,得到T×256 階的矩陣H。

4)計算矩陣H每一列和矩陣D每一列的Pearson相關系數,計算結果為256×D階的矩陣R,其中,元素ri,j越大,表明矩陣H、D第j列之間的相關性越強。因此,在矩陣R中找到元素最大值的位置,就可以根據其索引確定跡線中與密鑰相關性最大的數據點的位置。

2.2 LSTM 神經網絡

LSTM 是一種在經典循環神經網絡的基礎上進行改進的模型[16],其非常適合從經驗中學習分類以及處理在重要事件之間存在未知時長延遲的時間序列。

LSTM 網絡包含一些稱為記憶模塊的子網絡,用于替代RNN 中的隱含節點,其記憶模塊結構如圖3 所示。其中,xt表示t時刻的輸入,ht代表單元的輸出,ct和分別作為單元狀態和候選單元狀態,ft、it和ot分別是遺忘門、輸入門和輸出門,w~和b~表示相應的權重矩陣和偏置,它們的維數是經過反復實驗而得的超參數,σ(?)和tanh(?)分別是Sigmoid 函 數和雙曲正切函數。遺忘門通過非線性激活函數和乘法運算從單元中移除不需要的信息,輸入門用于將新的信息和單元候選狀態一起添加到單元狀態,輸出門根據單元狀態決定輸出信息。圖3中的變量表示為:

圖3 LSTM 單元結構Fig.3 LSTM cell structure

LSTM 的外部結構與傳統RNN 相同,只對其隱藏節點做了改進,具備可以長期記憶歷史重要信息的功能,因此,當梯度進行反向時間傳播時,不會出現梯度消失的問題。此外,在LSTM 網絡中,單元狀態ct代表長期記憶,隨著時間的變化,ct會傳遞下去,在整個序列的運算過程中只有少量的線性交互,使得LSTM 能有效保存過去較長時間的信息。

3 深度學習與側信道攻擊

3.1 基于深度學習的側信道攻擊步驟

將深度學習應用于側信道攻擊,需要滿足以下3 個要求:

1)攻擊者有一塊可以自行設置加密程序的加密設備和能夠采集加密過程中功耗信息的捕獲設備。

2)在加密硬件上,攻擊者必須可以選擇任意明文和密鑰,并且能夠執行任意次數的加密過程。

3)攻擊者在攻擊階段至少能夠采集到一條加密設備在加密過程中的功耗數據。

基于深度學習的側信道攻擊按如下步驟進行:

1)攻擊者在加密設備上獲取足夠的功耗跡線后,對每條跡線確定一個合適的標簽用來擬合密鑰和物理泄露之間的關系,然后選擇合適的模型對跡線進行訓練。

2)在模型訓練好之后,將任意明文搭配任意密鑰在加密設備上執行加密操作,用采集設備采集加密過程中的功耗信息,再將獲取到的功耗跡線輸入已訓練好的模型中進行分析,以破解本次加密過程中使用的密鑰。

3.2 數據標簽選擇

在深度學習中,標簽不同通常會導致模型學習效果不同。本文認為硬件處理單元的活動狀態與處理的數據值成比例,在眾多數值中本文選擇S 盒輸出值作為標簽,原因是在AES 加密中進行S 盒替換時,其值需要從內存加載到數據總線上,所耗能量明顯,因此,將處理過程中的數值作為標簽具有合理性。

在AES-128 中,S 盒的輸出可能有256 個不同的值,將256 個不同的值當作256 種不同的情況,則S 盒數值分類模型的分類總量為C={0,1,…,255}。

3.3 興趣點選擇

本文選擇攻擊AES-128 的第3 個字節,即k[2],因為在AES 中,除了第一輪使用原始密鑰,后續使用的密鑰都是通過輪密鑰加產生的子密鑰,為了使密鑰破解效率更高,本文使用第一輪加密中產生的數據。設定的標簽是第一輪加密中密鑰的第3 個字節和明文的第3 個字節異或后通過S 盒替換的值,即:

其中:“⊕”表示按位異或,計算機中是從“0”開始計數,因此,明文和密鑰的第3 位分別記為p[2]和k[2],k為原始密鑰,p是明文。密鑰第3 個字節的CPA 分析結果如圖4 所示。

圖4 密鑰第3 個字節的皮爾遜相關系數Fig.4 Pearson correlation coefficient of the third byte of the key

本文密鑰第3 個字節相關性突出的數據點在249~344 之間,因此,輸入網絡的特征向量就是這95 個數據。

4 實驗結果及分析

4.1 實驗步驟

本文實驗步驟如下:

1)在搭建好加密硬件設備后進行數據采集,并對捕獲到的數據執行CPA 分析,選則興趣區間的數據作為特征向量。

2)對特征向量進行標簽匹配,標簽為第3 個字節的S 盒輸出,確定輸入輸出之后搭建分類模型。與傳統機器學習方法相比,深度學習模型具有全局多樣性好、準確性高的特點[17]。對于卷積神經網絡等前饋神經網絡而言,一般只能提取較少的重要特征,而LSTM 網絡具備對序列信息融合的能力,并且加密設備處理加密數據時根據前面所有時刻的數據決定當下工作單元狀態,運用LSTM 網絡訓練時序數據能夠利用功耗數據中的時序性,將其所有的特征進行融合,抽取更深層次、表現能力更強的特征。因此,選擇LSTM 神經網絡在側信道功耗數據上搭建模型能得到更準確的結果。

3)將上述采集到的隨機密鑰數據集按照6∶2∶2的比例劃分為訓練集、驗證集和測試集。

4)將訓練集用于網絡模型訓練,驗證集用以觀察模型訓練效果,測試集用來測試網絡的泛化能力。

4.2 LSTM 分類模型實驗

LSTM 神經網絡各層參數如表1 所示。在本文實驗中,LSTM 網絡僅需一層就可以清晰地表達出數據間的關系,太多的LSTM 層會使得網絡訓練時間過長。在LSTM 層后連接的第一個全連接層使用ReLU 激活函數,分類層使用Softmax 激活函數。

表1 LSTM 各層參數Table 1 Parameters of each layer of LSTM

本文所用數據集由功耗時序數據組成,而LSTM 網絡具有長時間記憶功能,處理時序數據相比MLP、CNN 網絡更加有效,其強大的表達能力使得驗證集上的訓練表現比訓練集更好,訓練結果如圖5、圖6 所示。從圖5、圖6 可以看出,LSTM 網絡波動性小,收斂速度快,泛化能力強,網絡訓練準確率從35.75%提高到90.53%僅用了188 s,并且網絡訓練過程中準確率始終沒有大的波動,網絡性能非常穩定。在驗證集上,最終訓練集準確率為99.78%,驗證集準確率為99.69%,網絡損失在訓練過程中也只用了4 個epoch 就從2.57 降到0.289 1,最后訓練集損失為0.006 7,驗證集損失為0.009 9。

圖5 LSTM 模型的攻擊準確率Fig.5 Attack accuracy of LSTM model

圖6 LSTM 在訓練過程中的損失值Fig.6 Loss values of LSTM during training

在搭建LSTM 神經網絡的過程中,除了學習率、激活函數和epoch 外,時間步[18-19]和不同優化器對網絡精度[20]的影響如圖7 和圖8 所示。

圖7 時間步對LSTM 網絡準確率的影響Fig.7 Influence of time step on accuracy of LSTM network

圖8 不同優化器對LSTM 網絡準確率的影響Fig.8 Influence of different optimizers on accuracy of LSTM network

實驗中測試時間步分別為1、5、10、20、50 時對網絡性能的影響,由于只有95 個有效特征,當數據點不滿足時間步劃分時,通過在數據末尾添加0 的方式以滿足網絡需要。從圖7 可以看出,當時間步為5 時,網絡波動性最小,收斂速度最快,在第9 個epoch 時網絡準確率達到96.51%,訓練速度高于其他所有時間步,且網絡在20 個epoch 后一直非常穩定。在使用其他時間步時,如時間步為1,此時網絡有非常大的波動,網絡震蕩幅度超過40%。因此,本文中LSTM 網絡的時間步設為5。

實驗中還分別使用5 種不同的優化器,從圖8 可以看出,Adam 優化器效果較好,不僅能夠快速收斂而且還具有很強的穩定性,在驗證集中的準確率保持平穩。因此,本文LSTM 網絡使用Adam 作為優化器。

4.3 結果對比分析

將文獻[21]中使用的CNN 網絡模型、MLP 網絡模型與本文LSTM 網絡進行對比實驗。

針對密鑰的第3 個字節進行實驗,從時間、精度和泛化能力3 個方面綜合分析3 種網絡的性能。3 種網絡均在同一實驗環境下訓練100 個epoch,結果如表2 所示。從表2 可以看出,MLP 神經網絡訓練所需時間最少,用時11 分25 秒,但是模型在泛化能力方面不佳,測試準確率僅有94.36%;CNN 網絡的驗證準確率和泛化能力都有較好的表現,泛化準確率高達99.29%,但是模型訓練耗時最長,達到15 時44 分30 秒,這將浪費大量的計算資源和時間,模型構建成本太大;本文建立的LSTM 模型訓練時間為1 時17 分08 秒,多于MLP 網絡,但是明顯少于CNN 網絡,在準確率方面,LSTM 網絡的泛化能力強于MLP 網絡和CNN 網絡,高達99.56%。

表2 相同epoch 時模型準確率對比結果Table 2 Comparison results of model accuracy under the same epoch

本文將3 種網絡在相同耗時(10 min)下的準確率進行對比,結果如表3所示。從表3可以看出,在相同的訓練時間內,LSTM準確率最高,達到98.39%,CNN 因參數較多導致訓練時間最長,LSTM的準確率稍優于MLP,遠高于CNN,是投入成本較小、收益最高的網絡。

表3 相同訓練時間下模型準確率對比結果Table 3 Comparison results of model accuracy under the same training time %

本文從到達相同準確率所用時間的角度對網絡性能進行評估,記錄網絡測試準確率穩定在90.00%時網絡驗證準確率以及所用的訓練時間,結果如表4 所示。

表4 到達相同準確率時所用時間對比結果Table 4 Comparison results of time taken to reach the same accuracy

本文將3種模型在恢復完整密鑰時所需時間以及綜合準確率進行對比,結果如圖9所示,其中,圖9(a)表示訓練3 種模型時每種模型所需的時間,圖9(b)代表3 種模型在恢復完整密鑰時的準確率。

圖9 3 種網絡在恢復完整密鑰時的性能對比結果Fig.9 Performance comparison results of three networks in recovering full key

分析目前已有的深度學習密鑰推測手段可知,每一條完整密鑰的攻擊都需要從密鑰的每一個字節開始,即AES-128 需要16 個網絡同時作用才能獲取完整密鑰。在3 種網絡的訓練過程中,MLP 雖然用時最少,但是其綜合準確率不足50%,CNN 所需時間最多,共需要251.86 h,LSTM 需要20.56 h,但LSTM比CNN 的密鑰破解準確率高2.1%,高達91.70%。綜上,LSTM 網絡在目前基于深度學習的完整密鑰破解模型中效率較高[21]。

5 結束語

本文針對基于深度學習的側信道攻擊中CNN、MLP 模型效率不高的問題,提出一種基于深度學習LSTM 的側信道攻擊方法,并在chipwhisperer 設備上采集數據進行實驗驗證,結果表明,適當微調后的LSTM 能夠充分學習側信道功耗數據的時序關系,當進行完整密鑰破解時LSTM 可以提高破解效率。由于本文實驗數據集是在chipwhisperer 設備上所采集的,不存在復雜的干擾情況,因此LSTM 模型的破解效率高于CNN 和MLP 模型。下一步將設置多變的物理干擾,仿真現實的安全測試環境,同時改進LSTM 模型,提高其在現實情況下的魯棒性。此外,研究基于深度學習的側信道攻擊規律以提高硬件加密設備的安全性,也是今后的研究方向。

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 国产成人无码综合亚洲日韩不卡| 国产浮力第一页永久地址| 999国内精品久久免费视频| 日韩在线播放中文字幕| 亚洲国产中文精品va在线播放| 亚洲欧洲日本在线| 91无码网站| 日韩人妻精品一区| av尤物免费在线观看| 国产呦精品一区二区三区下载| 国产精品一区二区无码免费看片| 波多野结衣久久高清免费| 91成人精品视频| 欧美色视频在线| 手机永久AV在线播放| 亚洲久悠悠色悠在线播放| 天堂中文在线资源| 91在线中文| 青青久久91| 日本高清免费不卡视频| 午夜在线不卡| 亚洲一级无毛片无码在线免费视频 | 色妞www精品视频一级下载| 18禁色诱爆乳网站| 97视频在线精品国自产拍| 国内a级毛片| 露脸一二三区国语对白| 91精品国产91久久久久久三级| 99精品一区二区免费视频| 久久国产V一级毛多内射| 国产精品亚洲天堂| 国产综合另类小说色区色噜噜| 美女视频黄频a免费高清不卡| 国产剧情国内精品原创| 亚洲AⅤ波多系列中文字幕 | 国语少妇高潮| 久久综合一个色综合网| 亚洲日韩AV无码一区二区三区人| 国产成人夜色91| 国模在线视频一区二区三区| 毛片久久网站小视频| 婷婷五月在线| 国产交换配偶在线视频| 91综合色区亚洲熟妇p| 午夜福利免费视频| 色网站免费在线观看| 色综合久久无码网| 国产麻豆91网在线看| 99久视频| 亚洲熟妇AV日韩熟妇在线| 99热线精品大全在线观看| 国产网友愉拍精品| 91区国产福利在线观看午夜| 亚洲人在线| 亚洲av无码人妻| 久久国产精品电影| 成人午夜免费观看| 亚洲日本www| 欧美成人a∨视频免费观看| 国产免费高清无需播放器| 亚洲日本中文字幕乱码中文| 亚洲第一成年网| 欧亚日韩Av| 2020精品极品国产色在线观看 | 国产综合亚洲欧洲区精品无码| 97国产在线播放| 强奷白丝美女在线观看| 国产成人久视频免费| 免费一级毛片完整版在线看| 国产91成人| 国产成熟女人性满足视频| 国产微拍一区二区三区四区| 国内精自线i品一区202| 欧美精品啪啪| 亚洲欧洲日韩综合| 国产91丝袜| 亚洲精品国产首次亮相| 91丝袜美腿高跟国产极品老师| 在线欧美一区| 999在线免费视频| 成·人免费午夜无码视频在线观看| av尤物免费在线观看|