国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

有學(xué)習(xí)的高階DPA攻擊

2018-10-18 11:21:56吳震王燚周冠豪
通信學(xué)報 2018年9期
關(guān)鍵詞:掩碼特征向量高階

吳震,王燚,周冠豪,2

?

有學(xué)習(xí)的高階DPA攻擊

吳震1,王燚1,周冠豪1,2

(1. 成都信息工程大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,四川 成都 610225;2. 北京智慧云測設(shè)備技術(shù)有限公司,北京 102300)

在側(cè)信道攻擊中,作為抵抗一階DPA攻擊的對策,掩碼策略是當(dāng)前使用最為廣泛的防御方式之一。目前,針對掩碼策略,通常使用高階DPA及高階模板攻擊等攻擊方式。但由于高階DPA攻擊的是多種信息的聯(lián)合泄露,需要對多個位置的能耗進行交叉組合,導(dǎo)致其攻擊效率低下。高階模板攻擊則需要在學(xué)習(xí)階段了解每次加密中使用的隨機掩碼,攻擊條件往往難以滿足。針對目前這些攻擊方式的不足與局限性,有學(xué)習(xí)的高階DPA采用神經(jīng)網(wǎng)絡(luò)建立能耗對無掩中間組合值的擬合模型,基于擬合無掩中間組合值與猜測無掩中間組合值的相關(guān)系數(shù)進行攻擊。這種方法消除了在學(xué)習(xí)階段必須了解掩碼的要求,同時避免了高階DPA對能耗交叉組合的需求,降低了攻擊條件,且提高了攻擊的效率。實驗證實了該攻擊算法的可行性和高效性。

側(cè)信道攻擊;掩碼對策;高階DPA攻擊;神經(jīng)網(wǎng)絡(luò)

1 引言

在側(cè)信道攻擊中,利用到密碼設(shè)備中能量消耗變化對其中密鑰等私密信息進行攻擊的方式,稱為能量分析攻擊。本質(zhì)上,這種攻擊利用了2類能量消耗的依賴性:數(shù)據(jù)依賴性和操作依賴性。基于該理論,Kocher等[1]在1999年首次提出DPA攻擊的概念與方法,使智能卡芯片等密碼設(shè)備的安全性遭受了巨大挑戰(zhàn)。該攻擊基于的原理是,密碼設(shè)備的能量消耗依賴于算法執(zhí)行過程中所處理的中間值[2],如AES加密算法中S盒的輸出值。基于這點,通過分析能量消耗的軌跡曲線(簡稱為“能量跡”),即可得到作為攻擊目標(biāo)的某個中間值,并據(jù)此進一步得到加密算法中所使用的密鑰等私密信息。因為DPA攻擊者不需要了解關(guān)于被攻擊設(shè)備的詳細知識信息,所以DPA攻擊也迅速成為了比較流行和常用的能量分析攻擊方式。

DPA攻擊之所以會奏效,是因為密碼設(shè)備的能量消耗變化依賴于設(shè)備所執(zhí)行加密算法的中間值。因此,防御措施的目標(biāo),即是消除這種依賴性,讓密碼設(shè)備的能量消耗獨立于密碼算法的中間值。目前已公開的抗DPA攻擊的各種對策在本質(zhì)上可以分為2類,即隱藏技術(shù)和掩碼技術(shù)。隱藏技術(shù)的基本思想是通過更改生產(chǎn)密碼設(shè)備硬件的過程,使設(shè)備的能量消耗特征發(fā)生改變,從而消除能量消耗的數(shù)據(jù)依賴性;而掩碼技術(shù)的基本思想則是隨機化密碼設(shè)備所處理的中間值,動機是使設(shè)備處理被隨機化后的中間值所需的能量消耗與處理實際中間值所需要的能量消耗之間相互獨立。該技術(shù)的優(yōu)勢在于,相對于隱藏策略來說,掩碼策略不需要改變處理器能量消耗特征,在實現(xiàn)可行性和成本方面都具有很大優(yōu)勢。因此,該對策在當(dāng)前的加密設(shè)備中,使用最為廣泛。經(jīng)大量理論及實驗證實,使用掩碼實現(xiàn)的加密算法,不存在任何的一階泄露,即無法通過DPA攻擊而得到密鑰等攻擊者想要得到的目標(biāo)信息。

目前,針對加掩實現(xiàn)的密碼算法一般使用到的攻擊方式是高階DPA攻擊。在Kocher等[1]首先提出了DPA的概念之后,2000年,針對加掩密碼算法,Messerges[3]從各方面完善了階DPA的定義,并首次提出了二階DPA概念及其實現(xiàn)方法,以加掩的DES算法為例,通過實驗證實了該方法的可行性?;谶@些理論,針對掩碼策略,更多實用的方案和優(yōu)化方法被提出。2004年,Jason等[4]提出了他們針對二階DPA的攻擊模型以及相應(yīng)算法,其中還包括一些攻擊技巧,該方案在能量跡較短而相關(guān)系數(shù)較大時能取得較好的攻擊效果。2005年,Marc等[5]提出了一套通用的二階能量分析攻擊的理論基礎(chǔ),并通過估計能量跡峰值的精確數(shù)值,進行了二階DPA攻擊算法的研究。高階攻擊的原理是基于能量跡中存在的某種聯(lián)合泄露來進行的一種能量分析攻擊。由于實施DPA攻擊時并沒有能量跡上信息泄露的準(zhǔn)確位置,必須使用遍歷任意多個位置的能量消耗組合的方式進行攻擊,因而攻擊的時間復(fù)雜度非常高。在頻率域進行能量分析攻擊是一種提高DPA攻擊效率的有效途徑[6]。2014年,Belgarric等提出了一種對能量跡進行時頻分析的預(yù)處理方法。該方法針對具有一階防護的軟加密實現(xiàn),通過在能跡上確定二階DPA攻擊所需的2個泄露信息的大致位置范圍(窗口),采用傅里葉變換,在頻域上進行攻擊,從而避免對泄露能耗進行交叉組合的預(yù)處理,提高了攻擊效率。

模板攻擊是一種有學(xué)習(xí)的能量分析攻擊方式,也被用于攻擊加掩的密碼算法。模板攻擊利用對訓(xùn)練設(shè)備的已知信息,在學(xué)習(xí)階段建立對泄露信息的精確噪聲模型,從而極大地提高了攻擊的效率。2006年,Oswald等[7-8]首次結(jié)合了模板攻擊的方式,提出了基于模板的DPA攻擊。2007年,Lemke-Rust等[9]提出直接使用模板攻擊加掩加密算法的方法。該方法利用訓(xùn)練設(shè)備,學(xué)習(xí)關(guān)于泄露中間值和掩碼的綜合模板,在攻擊時同時攻擊設(shè)備的掩碼和密鑰。2015年,Lerman等[10]提出使用支持向量機建立關(guān)于掩碼和去掩后中間值的模板。在攻擊中利用掩碼的模板首先攻擊掩碼,去掩后再攻擊密鑰。同年,Gilmore等[11]提出相同的攻擊思路,但其模板采用神經(jīng)網(wǎng)絡(luò)。這些研究中提出的方法均需要攻擊者在學(xué)習(xí)階段了解設(shè)備在每次加密中使用的隨機掩碼。這種要求非??量?,并不是在所有攻擊中都能具備的。

針對高階DPA攻擊時間復(fù)雜度高,而模板攻擊學(xué)習(xí)條件不易滿足的問題,本文提出有學(xué)習(xí)的高階DPA攻擊的方法,在不提高模板攻擊中對學(xué)習(xí)條件的要求的前提下,有效提高高階DPA的攻擊效率。該方法在學(xué)習(xí)階段只需要了解訓(xùn)練設(shè)備的密鑰,利用神經(jīng)網(wǎng)絡(luò)建立對無掩中間值的擬合模型。攻擊中,利用模型獲取帶掩中間值,然后利用一階DPA攻擊設(shè)備的密鑰。由于一階DPA不需要多個泄露位置上能耗的交叉組合,因此該方法可以顯著地提高攻擊效率。

2 高階DPA攻擊

DPA攻擊具有這樣的特性:可以預(yù)測出某一個中間值,并可以在攻擊中利用這一個預(yù)測值。因為這些DPA攻擊僅利用一個中間值,故稱之為一階DPA攻擊。如果表達假設(shè)的過程中使用多個中間值,則稱相應(yīng)的DPA攻擊為高階DPA攻擊。

高階DPA攻擊的原理是,多個中間值的某種組合值與多個位置上能耗的某種組合值的相關(guān)系數(shù)不等于0。而具體的中間值組合方式則需要通過理論分析建模以及多次實驗嘗試來確定,待定目標(biāo)則是能量泄露模型及中間值聯(lián)合泄露位置。

基于上述理論,一種較為簡易的二階DPA攻擊的算法示意如圖1所示,算法步驟如下。

圖1 二階DPA攻擊算法示意

該方法基于提出高階DPA方式的文獻,在理論上確實能夠適用于掩碼實現(xiàn)的加密算法,且在實驗中取得了部分效果。但其劣勢也很明顯,算法在時間復(fù)雜度上呈指數(shù)形式,攻擊成本過大,因為無掩中間組合值與能耗組合值的理論相關(guān)系數(shù)本身就比較低,這導(dǎo)致了在實踐攻擊中需要使用更多的攻擊能跡。后續(xù)我們將結(jié)合神經(jīng)網(wǎng)絡(luò)算法,重點描述有學(xué)習(xí)的高階DPA攻擊的實現(xiàn)方式。

3 神經(jīng)網(wǎng)絡(luò)

人工神經(jīng)網(wǎng)絡(luò)是一種在生物神經(jīng)網(wǎng)絡(luò)的啟示下建立的數(shù)據(jù)處理模型,其通過大量的人工神經(jīng)元相互連接進行計算,并根據(jù)外界信息改變自身結(jié)構(gòu)。它的主要工作方式為通過調(diào)整神經(jīng)元之間的權(quán)值來對輸入的數(shù)據(jù)進行建模,并最終獲得解決實際數(shù)學(xué)問題的能力。

神經(jīng)網(wǎng)絡(luò)最主要的2個特點是自適應(yīng)性和非線性性。其中,自適應(yīng)性是指一個系統(tǒng)能夠根據(jù)外界環(huán)境的改變,而對自身結(jié)構(gòu)與作用做出相應(yīng)的變化的特性;而非線性則是代表具有能夠處理顯示生活中兩者之間非線性關(guān)系的能力。在神經(jīng)網(wǎng)絡(luò)中,神經(jīng)元的狀態(tài)可以表現(xiàn)出數(shù)學(xué)上的非線性關(guān)系,從而可以通過改變神經(jīng)網(wǎng)絡(luò)中的權(quán)值參數(shù),使神經(jīng)網(wǎng)絡(luò)的整體能夠完成所需要的非線性映射功能。利用這2個特點,神經(jīng)網(wǎng)絡(luò)可以很好地對當(dāng)前高階能量分析攻擊的方式進行改善,使攻擊算法能夠具有自適應(yīng)性,進而保證了攻擊的成功率,并且非線性的映射關(guān)系能夠完美地匹配高階攻擊中的能量泄露模型。

3.1 神經(jīng)網(wǎng)絡(luò)類別

根據(jù)神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu),可將其分為前向神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)。

在前向神經(jīng)網(wǎng)絡(luò)中,數(shù)據(jù)由輸入層至輸出層單向傳播。通常情況下,每層神經(jīng)元都是全連接到下一層的各個節(jié)點,每一個神經(jīng)元上的激活函數(shù)采用sigmoid函數(shù)。最簡單的一種前向神經(jīng)網(wǎng)絡(luò)是“感知器”。感知器神經(jīng)網(wǎng)絡(luò)(單層感知器)是一種兩層的網(wǎng)絡(luò)結(jié)構(gòu),且該結(jié)構(gòu)只能處理線性的數(shù)學(xué)問題。

其他常用的神經(jīng)網(wǎng)絡(luò)類型有線性神經(jīng)網(wǎng)絡(luò)、BP神經(jīng)網(wǎng)絡(luò)、徑向基神經(jīng)網(wǎng)絡(luò)、自組織競爭神經(jīng)網(wǎng)絡(luò)、反饋神經(jīng)網(wǎng)絡(luò)、隨機神經(jīng)網(wǎng)絡(luò)以及深度神經(jīng)網(wǎng)絡(luò)的各種結(jié)構(gòu)等。

本次研究中采用的是前向擬合神經(jīng)網(wǎng)絡(luò),下面專門介紹此類神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和訓(xùn)練方法。

3.2 前向神經(jīng)網(wǎng)絡(luò)

前向神經(jīng)網(wǎng)絡(luò)是對神經(jīng)元進行分層組織形成的一個具有分層結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),其又分為單層前向神經(jīng)網(wǎng)絡(luò)和多層前向神經(jīng)網(wǎng)絡(luò)。通常情況下,其組織結(jié)構(gòu)中具有多個層,且神經(jīng)元僅在不同的相鄰層之前連接,而不存在同層神經(jīng)元之間的相互連接。前向神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意如圖2所示。

圖2 前向神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意

前向神經(jīng)網(wǎng)絡(luò)隱藏層的神經(jīng)元激活函數(shù)一般采用sigmoid函數(shù)或tanh函數(shù)。

由于神經(jīng)元的激活函數(shù)是非線性的,因此前向擬合神經(jīng)網(wǎng)絡(luò)具有非線性擬合能力。在訓(xùn)練中,需要定義一個損失函數(shù),用以計算當(dāng)前輸出與目標(biāo)值的誤差。訓(xùn)練的目標(biāo)是使該損失最小化。實現(xiàn)的方法是誤差反向傳播。

各神經(jīng)元接收前一層的輸入,并輸出給下一層,傳輸信號不存在反饋。節(jié)點分為2類,即輸入節(jié)點和計算節(jié)點,每一個計算節(jié)點可有多個輸入,但只有一個輸出,通常前向神經(jīng)網(wǎng)絡(luò)可分為不同的層,輸入與輸出節(jié)點與外界相連,稱為輸入層與輸出層。其他中間層則稱為隱藏層。隱藏層是前向擬合神經(jīng)網(wǎng)絡(luò)中位于輸入層與輸出層之間的中間層,層數(shù)為一層或多層。其作用為,把一類輸入數(shù)據(jù)的模式中與其他類輸入數(shù)據(jù)的模式不匹配的屬性提取出來,再將提取的屬性傳遞到輸出層。最終,將由輸出層對數(shù)據(jù)做出判斷。這是一個抽取輸入數(shù)據(jù)屬性的過程,本質(zhì)上實現(xiàn)了輸入層與隱藏層之間連接權(quán)系數(shù)的調(diào)整,體現(xiàn)了神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的自適應(yīng)性。

在信號傳輸?shù)耐瑫r,采用梯度下降等算法,將誤差反向傳播到網(wǎng)絡(luò)中的每個連接上,以此作為更新連接權(quán)重的依據(jù)。在訓(xùn)練階段,如果神經(jīng)網(wǎng)絡(luò)的輸出值與期望值不一致,則將其誤差從輸出端開始反向傳播,在該過程中不斷修改各個權(quán)值,使輸出值向期望值不斷靠近,最終完成對神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。

4 中間組合值的學(xué)習(xí)和攻擊模型

4.1 基于神經(jīng)網(wǎng)絡(luò)的高階攻擊方式

高階CPA攻擊是高階DPA攻擊算法中的一種常用方式。高階CPA可以攻擊采用掩碼策略防護后的加密算法,然而由于其攻擊中需要計算能量跡上任意多個樣本的能耗組合值,其攻擊效率很低。為了解決這個問題,本文提出結(jié)合神經(jīng)網(wǎng)絡(luò)的高階DPA攻擊方法。

高階DPA攻擊方式的效率非常低下。針對這一問題,本文的思路是使用神經(jīng)網(wǎng)絡(luò)預(yù)測能量跡的中間組合值,進而計算預(yù)測中間組合值與猜測中間組合的相關(guān)系數(shù)。其中的關(guān)鍵在于,在高階CPA攻擊中,將能耗組合值替換為神經(jīng)網(wǎng)絡(luò)根據(jù)能耗特征向量預(yù)測的中間組合值,該神經(jīng)網(wǎng)絡(luò)被稱為“中間組合值預(yù)測網(wǎng)絡(luò)”,在后文中簡稱為“預(yù)測網(wǎng)絡(luò)”。預(yù)測網(wǎng)絡(luò)在訓(xùn)練階段根據(jù)訓(xùn)練能耗集,自動習(xí)得能耗特征向量與中間組合值的映射關(guān)系。理想情況下,神經(jīng)網(wǎng)絡(luò)模型能夠完全正確地預(yù)測中間組合值。雖然在加掩算法中能耗組合值與目標(biāo)中間組合值之間的相關(guān)系數(shù)小于1,神經(jīng)網(wǎng)絡(luò)將無法完全準(zhǔn)確地預(yù)測正確的中間組合值,但仍然可以在一定程度上預(yù)測正確的中間組合值。這樣,預(yù)測中間組合值與正確中間組合值之間的相關(guān)系數(shù)雖然小于1,但仍然大于0。因此,可以將其用于對正確密鑰的判斷。

這種方法相對于普通高階CPA攻擊的優(yōu)勢如下。

1) 在訓(xùn)練階段,可以利用神經(jīng)網(wǎng)絡(luò)的高度非線性轉(zhuǎn)換能力,自動識別出能耗特征向量中能耗的組合方式,而不需要人為指定能耗組合的計算式。其識別的能耗組合方式有能力排除能量跡特征向量中與目標(biāo)中間組合值無關(guān)的能耗特征,同時對有效的特征提供更好的組合方法。

2) 在攻擊時,預(yù)測網(wǎng)絡(luò)直接輸入能耗特征向量,例如,指定一段樣本區(qū)域,就可以得到預(yù)測的中間組合值。這樣不需要在樣本區(qū)域中進行全排列以得到能耗組合值,因而極大地提高了攻擊效率。

基于神經(jīng)網(wǎng)絡(luò)的高階DPA攻擊具體實現(xiàn)步驟分為訓(xùn)練與攻擊2個階段,其中,訓(xùn)練階段的步驟如下。

1) 針對加掩AES算法能量跡數(shù)據(jù)及其能量泄露模型,建立相對應(yīng)的前向擬合神經(jīng)網(wǎng)絡(luò)。

3) 利用能量跡數(shù)據(jù)的能耗特征向量對預(yù)測網(wǎng)絡(luò)進行訓(xùn)練,使之能夠?qū)⑤斎氲哪芰扣E數(shù)據(jù)擬合為AES加密過程中的中間組合值。

攻擊階段的步驟如下。

2) 將相關(guān)系數(shù)降序排列,選擇最大相關(guān)系數(shù)的前個猜測密鑰作為候選密鑰。

4.2 能跡特征向量的提取與預(yù)處理

實驗設(shè)備采集的能量跡上共包含幾十萬個樣本點,顯然,這不可能將所有樣本的能耗作為神經(jīng)網(wǎng)絡(luò)的輸入,并會導(dǎo)致前向擬合神經(jīng)網(wǎng)絡(luò)訓(xùn)練的時間復(fù)雜度和空間復(fù)雜度大為增加。對此,本文需要提取出能跡上包含相關(guān)信息泄露的特定樣本,從而將能跡轉(zhuǎn)換為能跡特征向量,從而達到保留有效信息、降低數(shù)據(jù)維度的目的。實現(xiàn)能跡特征向量的提取有2種方案:1) 尋找發(fā)生信息泄露的準(zhǔn)確位置,稱為興趣點(POI, point of interesting),通過提取興趣點得到能跡的特征向量;2) 采用能跡上可能發(fā)生信息泄露的一段區(qū)域,稱為興趣區(qū)域(ROI, region of interesting),提取該區(qū)域的能耗樣本作為能跡的特征向量。

提取興趣點的方法為采用改進的專用局部搜索算法,對加掩AES密碼算法的能量跡數(shù)據(jù)進行興趣點查找工作[12]。此方法基于一個由Durvaux等[13]提出的興趣點檢測工具“COSADE 2015 POI”。使用該興趣點檢測算法,就可以明確地找到S盒在輸入輸出時的信息泄露位置,即興趣點。該結(jié)果將作為第6節(jié)中“明確位置的興趣點輸入方式”的實驗參數(shù)。

采用可視化的方式提取興趣區(qū)域(ROI),根據(jù)算法迭代運算在能跡上產(chǎn)生的能耗的規(guī)律性變化,確定需要攻擊的大致能耗范圍。這種方式完全不需要了解訓(xùn)練中使用的掩碼,但區(qū)域中包含的能耗樣本數(shù)可能仍然很多,需要采用主成分分析(PCA, principal component analysis)[14-15]進行降維處理。PCA是被各個領(lǐng)域廣泛采用的維度縮減方法,其思路是將線性相關(guān)的多個特征轉(zhuǎn)換為無關(guān)的特征(稱為主成分)。主成分包含的信息用方差來表示,方差越大的主成分,包含的原始信息越多。降維時,可以選擇方差最大的前個主成分,或選擇對方差的貢獻率達到某個閾值的前個主成分。

PCA不僅起到維度縮減的功能,其前面幾個特征向量包含最多的信息,從而具有最大的信噪比。正因如此,PCA也有提高信噪比的作用。

輸入數(shù)據(jù)歸一化處理對前向擬合神經(jīng)網(wǎng)絡(luò)非常重要。由于輸入的不同位置的能耗存在量級上的差異,PCA處理后得到的主成分也存在量級上的差異,如果直接作為神經(jīng)網(wǎng)絡(luò)輸入,較大的能量消耗數(shù)值在訓(xùn)練中的影響較大,會造成其他能量消耗數(shù)據(jù)的影響弱化,最終影響神經(jīng)網(wǎng)絡(luò)的擬合能力。在本文研究中,由于神經(jīng)元的激活函數(shù)使用到sigmoid函數(shù)或tanh函數(shù),其函數(shù)值被固定在一個較小的范圍之內(nèi),因此對數(shù)據(jù)進行歸一化處理是十分必要的。歸一化處理技術(shù)包括將數(shù)據(jù)映射為[-1,1]的MapMinMax方法、MVN(mean variant normalization)以及z-score標(biāo)準(zhǔn)化方法等。本文采用z-score標(biāo)準(zhǔn)化對數(shù)據(jù)進行處理。z-score標(biāo)準(zhǔn)化處理基于數(shù)據(jù)的均值和標(biāo)準(zhǔn)差,來對數(shù)據(jù)進行歸一化處理。其適用范圍是:數(shù)據(jù)的最大值和最小值均未知,或者是針對超出取值范圍的數(shù)據(jù)。z-score將能耗特征向量的各維映射到均值為0、方差為1的范圍。

5 預(yù)測網(wǎng)絡(luò)及其訓(xùn)練

如4.1節(jié)所述,預(yù)測網(wǎng)絡(luò)是用于根據(jù)能跡特征向量預(yù)測加密過程的中間組合值的神經(jīng)網(wǎng)絡(luò)。由于能耗數(shù)據(jù)中包含的噪聲很高,信噪比很低,在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練中必須采用一些措施才能訓(xùn)練出有效的預(yù)測網(wǎng)絡(luò)。下面,介紹預(yù)測網(wǎng)絡(luò)的模型及其訓(xùn)練方法。

5.1 預(yù)測網(wǎng)絡(luò)模型

由于本文需要使用神經(jīng)網(wǎng)絡(luò)來預(yù)測中間組合值的具體數(shù)值,因此采用擬合神經(jīng)網(wǎng)絡(luò),即神經(jīng)網(wǎng)絡(luò)的輸出只有一個神經(jīng)元。一個具有輸入層、隱藏層、輸出層的前向神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意如圖3所示。網(wǎng)絡(luò)各層的神經(jīng)元采用全連接。其中,輸入層的神經(jīng)元數(shù)量等于能跡特征向量的維度,輸入層神經(jīng)元為線性激活函數(shù);隱藏層可以包含多層,其層數(shù)和各層的神經(jīng)元數(shù)量與訓(xùn)練數(shù)據(jù)集的大小、特征的數(shù)量相關(guān),需要在實驗中確定,隱藏層神經(jīng)元的激活函數(shù)可以采用sigmoid、tanh、ReLU等;輸出層僅包含一個神經(jīng)元,其激活函數(shù)為線性函數(shù),輸出網(wǎng)絡(luò)的擬合值。

圖3 前向擬合神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意

預(yù)測網(wǎng)絡(luò)的輸入為能跡特征向量,輸出為擬合的中間組合值。在訓(xùn)練階段,訓(xùn)練的目標(biāo)是盡可能減小預(yù)測網(wǎng)絡(luò)的擬合中間組合值與真實中間組合值的差異。因此訓(xùn)練的損失函數(shù)采用最小均方差(MSE)。

訓(xùn)練中采用誤差梯度反向傳播更新網(wǎng)絡(luò)的連接權(quán)重。具體的算法可以采用LM(levenberg marquardt)算法或量化共軛梯度(SCG, scaled conjugate gradient)法等。

5.2 訓(xùn)練中防止過擬合

過擬合是指訓(xùn)練得到的映射模型過分與訓(xùn)練數(shù)據(jù)匹配,導(dǎo)致模型失去了泛化能力。過擬合示意如圖4所示。在訓(xùn)練集中,輸出與目標(biāo)擬合程度很高,而對于非訓(xùn)練數(shù)據(jù),擬合程度則很差。過擬合現(xiàn)象的表現(xiàn)形式為,當(dāng)訓(xùn)練過程進行到一定程度時,模型對訓(xùn)練數(shù)據(jù)和驗證數(shù)據(jù)的損失分布減小到一定程度。此時,如果繼續(xù)對神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,訓(xùn)練集的損失會進一步減小,而驗證集的損失反而開始逐漸增大。

圖4 過擬合示意

一般情況下,過擬合由于過度訓(xùn)練,造成模型中體現(xiàn)出過多的、僅出現(xiàn)在訓(xùn)練集中的“特征”。為了避免出現(xiàn)過擬合,神經(jīng)網(wǎng)絡(luò)訓(xùn)練時,一般將訓(xùn)練數(shù)據(jù)劃分為2個子集:訓(xùn)練集和攻擊測試集。當(dāng)訓(xùn)練集的性能處于連續(xù)上升的狀態(tài),而測試集的性能卻在同時出現(xiàn)連續(xù)下降的狀態(tài),就表明出現(xiàn)了過擬合。此時,應(yīng)該停止對神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。這種防止過擬合的方法稱為“early ending”。

然而,造成過擬合還有另一個因素,即訓(xùn)練數(shù)據(jù)中包含了過多的噪聲。對于能跡特征向量,其信噪比很低,過擬合在訓(xùn)練的極早期可能出現(xiàn)。此時,驗證集的損失仍然非常大,網(wǎng)絡(luò)的擬合能力非常差。此時,必須采用正則化訓(xùn)練方法來防止此類過擬合。

首先,正則化就是在最小化經(jīng)驗誤差函數(shù)之上添加約束,該約束可以解釋為先驗知識,即正則化參數(shù)等價于對參數(shù)引入先驗分布。約束具有引導(dǎo)的作用,在優(yōu)化誤差函數(shù)時傾向于選擇滿足約束的梯度減少的方向,使目標(biāo)函數(shù)的最終解傾向于符合先驗知識。

其次,正則化解決了逆問題的不適定性,產(chǎn)生的解是存在且唯一的,同時,也依賴于數(shù)據(jù)。噪聲對于訓(xùn)練的影響就會變?nèi)?,?xùn)練中就不會出現(xiàn)過擬合現(xiàn)象,而且,如果正則化適當(dāng),則訓(xùn)練中數(shù)學(xué)模型的參數(shù)也就更加符合真實情況。

L2正則化項有著使神經(jīng)網(wǎng)絡(luò)中權(quán)重方差變小的效果。較小的權(quán)重方差代表神經(jīng)網(wǎng)絡(luò)的復(fù)雜程度低,對訓(xùn)練集數(shù)據(jù)的擬合程度是恰當(dāng)?shù)?,不會存在對?xùn)練集數(shù)據(jù)過多無關(guān)細節(jié)的擬合。在實際應(yīng)用中,使用到L2正則化后神經(jīng)網(wǎng)絡(luò)的訓(xùn)練效果,通常優(yōu)于未經(jīng)L2正則化處理過的神經(jīng)網(wǎng)絡(luò)訓(xùn)練效果,即過擬合很大程度上被抑制了。

6 實驗分析

為驗證4.1節(jié)提出的基于神經(jīng)網(wǎng)絡(luò)的高階攻擊方法,本文對AES加掩加密設(shè)備進行了攻擊實驗。實驗分為2個部分,分別采用發(fā)現(xiàn)興趣點的方法和設(shè)置興趣區(qū)域的方法獲取能跡特征向量,對神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練和攻擊,以對比這2種方法的優(yōu)劣。

6.1 實驗?zāi)繕?biāo)設(shè)備及數(shù)據(jù)采集

本次實驗基于一個執(zhí)行在智能卡上的AES算法。實驗設(shè)備由示波器、智能卡及其讀卡器、計算機、電源等組成,如圖5所示。計算機負責(zé)向讀卡器下發(fā)命令控制智能卡運行AES加密算法,同時,通過USB線向智能卡下發(fā)明文信息。并且,在智能卡工作時,給示波器觸發(fā)信號,用以進行能量跡采集。示波器將采集到的能量跡信息通過雙絞線發(fā)送到計算機中進行存儲。其中,示波器的采樣信號為讀卡器供電處串聯(lián)電阻的兩端電壓。在能量跡數(shù)據(jù)測量與采樣結(jié)束之后,再通過相應(yīng)的分析軟件對信號進行進一步的處理。

圖5 實驗平臺結(jié)構(gòu)示意

計算機控制智能卡實現(xiàn)隨機明文的加密運算,并通過示波器采集每次加密運算中第一輪運算所產(chǎn)生的能量跡,采樣率設(shè)為250 MHz。對采集的第一輪運算的功耗進行簡單濾波處理,如圖6所示。

圖6 加掩AES算法的能量軌跡示意

本文的攻擊對象為S盒的輸入輸出,對于攻擊者來說,有效的信息為關(guān)于S盒輸入中間數(shù)據(jù)操作和S盒輸出中間數(shù)據(jù)操作所產(chǎn)生的功耗,為減少無效的功耗信息,提高信噪比,后續(xù)可對能量跡數(shù)據(jù)進行歸一化處理。

采樣完畢后,我們得到了關(guān)于加掩實施AES算法的能量跡10 000條,并將其作為樣本進行后續(xù)的攻擊實驗。樣本分為訓(xùn)練集和攻擊測試集兩個部分,其中,8 000條能量跡作為訓(xùn)練集,2 000條能量跡作為攻擊測試集。

6.2 能跡特征向量提取與預(yù)處理

1) 通過發(fā)現(xiàn)興趣點提取能跡特征向量

根據(jù)4.2節(jié)中尋找興趣點的方法,在加掩AES算法的能量跡中第一輪S盒的范圍內(nèi)找到輸入與輸出部分的2個明確的興趣點位置。在包含2 000條能量跡的攻擊測試集中,該位置將生成2 000×2的能跡特征向量矩陣。

2) 通過指定興趣區(qū)域提取能跡特征向量

通過4.2節(jié)中介紹的平均能跡的可視化方法,可以發(fā)現(xiàn)輪操作范圍及S盒的操作范圍。

加掩AES算法第一輪加密的能量消耗軌跡如圖7所示。從圖7可以明顯看出第一輪中的16個S盒操作的能量消耗變化規(guī)律。虛線框的范圍就是第一個S盒置換操作的樣本范圍。

圖7 加掩AES算法第一輪加密的能量消耗軌跡

可以看出,一個S盒范圍內(nèi)的樣本數(shù)較多,其中,興趣區(qū)間中的樣本數(shù)量達到了4 000左右,即實驗中使用到的能量跡數(shù)據(jù)仍然過于龐大。因此本文中將使用到更加適合基于神經(jīng)網(wǎng)絡(luò)的高階攻擊方式的PCA降維技術(shù),對能量跡進行處理。

使用4.2節(jié)中描述的PCA步驟,根據(jù)可視化的方法選擇興趣區(qū)間,對興趣區(qū)間上的數(shù)據(jù)進行處理,首先進行特征值分解,然后將能量跡轉(zhuǎn)換為特征向量。將貢獻度設(shè)置為0.8,并將能量跡數(shù)據(jù)的主成分對應(yīng)的特征向量作為降維結(jié)果,在包含2 000條能量跡的攻擊測試集中,可以將2 000×4 000的矩陣縮減為2 000×22的能跡特征向量矩陣。

3) 能跡特征向量的預(yù)處理

在得到能跡特征向量之后,使用訓(xùn)練特征向量集中的數(shù)據(jù)得到z-score的參數(shù),即總體樣本數(shù)據(jù)的數(shù)學(xué)期望以及標(biāo)準(zhǔn)差,并使用該參數(shù)同時對訓(xùn)練特征向量集和驗證特征向量集進行歸一化處理。

6.3 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)與訓(xùn)練

實驗中采用在5.1節(jié)中描述的3層前向擬合神經(jīng)網(wǎng)絡(luò)。第一層為數(shù)據(jù)輸入層;第二層為隱藏層,起到非線性轉(zhuǎn)換的作用,其中的神經(jīng)元具有非線性響應(yīng)特征,對第一層的輸入進行非線性轉(zhuǎn)換,響應(yīng)函數(shù)采用默認的tanh函數(shù);第三層為輸出層,僅包含一個神經(jīng)元,對第二層的輸出進行線性轉(zhuǎn)換。其中,輸入層的大?。ò纳窠?jīng)元數(shù)量)取決于輸入數(shù)據(jù)的維度;隱藏層的大小,一般難以確定最優(yōu)值。在一般情況下,更大的輸入維度和更強的非線性轉(zhuǎn)換,需要更大的隱藏層。但在“需要”的隱藏層大小上再增加其神經(jīng)元數(shù)量,對非線性轉(zhuǎn)換并沒有提高作用,卻會增加計算量。在實踐中,隱藏層的大小通常由多次實驗的結(jié)果來確定。

在本次實驗中,神經(jīng)網(wǎng)絡(luò)的輸入是能耗特征向量,輸出是加密過程的中間值組合值。需要說明的是,對每個需要攻擊的子密鑰,需要建立相應(yīng)的神經(jīng)網(wǎng)絡(luò),用于訓(xùn)練針對該子密鑰的模板。前向擬合神經(jīng)網(wǎng)絡(luò)作為模板時的實驗結(jié)構(gòu)如圖8所示。

圖8 前向擬合神經(jīng)網(wǎng)絡(luò)實驗結(jié)構(gòu)

具體的訓(xùn)練步驟如下。

接下來,本文以明確興趣點的攻擊方式訓(xùn)練參數(shù)為例,介紹fitnet擬合神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)束條件采用的默認結(jié)束條件,訓(xùn)練結(jié)束時的各指標(biāo)狀態(tài)如圖9所示。在訓(xùn)練進行的過程中,該圖中數(shù)據(jù)的變化代表著訓(xùn)練進度。

圖9 訓(xùn)練結(jié)束時的各指標(biāo)狀態(tài)

1) Epoch為訓(xùn)練次數(shù),在其右邊顯示的是最大的訓(xùn)練次數(shù),本實驗中設(shè)為1 000,而進度條中顯示的是實際訓(xùn)練的次數(shù),從圖9可以看出,本次訓(xùn)練進行了8次后結(jié)束。

2) Time為訓(xùn)練時長,也就是本次訓(xùn)練進行的時間。

3) Performance為性能指標(biāo),在本次訓(xùn)練中為最小均方差MSE。進度條中顯示的是當(dāng)前的,右側(cè)顯示的則是設(shè)定的閾值(若訓(xùn)練過程中值小于閾值,則結(jié)束訓(xùn)練)。

4) Gradiengt為梯度,進度條中顯示的是當(dāng)前的梯度值,右側(cè)顯示的則是設(shè)定的梯度值閾值(若訓(xùn)練過程中梯度值小于閾值,則結(jié)束訓(xùn)練)。

6) Validation Check為泛化能力檢查,若連續(xù)6次訓(xùn)練中誤差未能降低,則結(jié)束訓(xùn)練。

上述6個參數(shù)中有5個參數(shù)代表著訓(xùn)練的結(jié)束條件,并且該5個結(jié)束訓(xùn)練的條件只需達成一個條件即可結(jié)束訓(xùn)練。從圖9可以看出,本次訓(xùn)練是因為泛化能力檢測而結(jié)束,即第二次訓(xùn)練時達到最小值,且在之后的6次訓(xùn)練中未能降低,因此在第8次訓(xùn)練之后結(jié)束訓(xùn)練。

本實驗對比了2種能量跡特征向量的生成方式,分別是提取興趣點和使用能量跡中一段興趣區(qū)間。對比實驗的目的是為了證實該攻擊方式可以在事先不能找到明確的泄露位置時,對加掩實現(xiàn)的AES算法進行成功的攻擊。另外,通過比較訓(xùn)練效果及攻擊性能等參數(shù),可以證實神經(jīng)網(wǎng)絡(luò)能夠自動地找到能量跡中更加合適的中間值組合方式。在提取興趣點作為能量跡特征向量時,神經(jīng)網(wǎng)絡(luò)輸入層共含有2個節(jié)點;在使用興趣區(qū)間作為能量跡特征向量時,神經(jīng)網(wǎng)絡(luò)輸入層共含有多個節(jié)點,在本實驗中輸入層大小為22。

在擬合神經(jīng)網(wǎng)絡(luò)的訓(xùn)練中,使用到的訓(xùn)練集數(shù)據(jù)被分為train set、validation set和test set這3個部分。其中,train set是用來訓(xùn)練模型或確定模型參數(shù)的,如神經(jīng)網(wǎng)絡(luò)中的權(quán)值等;validation set是用來做模型選擇的,即模型的最終優(yōu)化與確定,如神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu);test set是用來檢驗最終選擇最優(yōu)模型性能的,目的是為了測試已經(jīng)訓(xùn)練好的模型的推廣能力。本實驗將訓(xùn)練集的70%作為train set、15%作為validation set、15%作為test set,以此方式進行神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。

2種方式的訓(xùn)練結(jié)果分別如圖10和圖11所示。其中,在明確興趣點輸入神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方式中,最小均方差值為2.061 0;而以興趣區(qū)間上的多點輸入神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方式中,最小均方差值僅為1.982 8。可以看出,后者的訓(xùn)練效果要優(yōu)于前者,即后者訓(xùn)練出的神經(jīng)網(wǎng)絡(luò)的擬合結(jié)果將更為精確。

圖10 以明確興趣點輸入神經(jīng)網(wǎng)絡(luò)的訓(xùn)練結(jié)果

圖11 以興趣區(qū)間上多點輸入神經(jīng)網(wǎng)絡(luò)的訓(xùn)練結(jié)果

然后,針對以興趣區(qū)間上的多點輸入神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方式,我們將隱藏層激活函數(shù)由默認的tanh函數(shù)改為sigmoid函數(shù)做對比實驗,其訓(xùn)練結(jié)果如圖12所示。最小均方差值為1.977 5,其訓(xùn)練結(jié)果與隱藏層使用tanh函數(shù)作為激活函數(shù)的訓(xùn)練結(jié)果相差不大。

圖12 隱藏層使用sigmoid作為激活函數(shù)的訓(xùn)練結(jié)果

最后,我們將通過修改隱藏層的層數(shù),進行神經(jīng)網(wǎng)絡(luò)訓(xùn)練進一步的對比實驗。為確保神經(jīng)網(wǎng)絡(luò)參數(shù)數(shù)量基本不變,我們將隱藏層的層數(shù)改為2層,其中,每一個隱藏層分別含有40個神經(jīng)元。該神經(jīng)網(wǎng)絡(luò)的訓(xùn)練結(jié)果如圖13所示。

本次訓(xùn)練中,最小均方差值為2.003 2,其訓(xùn)練結(jié)果與相較于單層隱藏層的神經(jīng)網(wǎng)絡(luò)而言有所下降。原因是神經(jīng)網(wǎng)絡(luò)的層數(shù)越多,針對非線性關(guān)系的擬合能力就會越強。同時,發(fā)生過擬合現(xiàn)象的可能性也將增大。從圖13可以看出,在訓(xùn)練的后半部分,隨著train set誤差的逐步減小,validation set和test set的誤差有著明顯的升高現(xiàn)象,這是在之前對比實驗中未出現(xiàn)的,說明該神經(jīng)網(wǎng)絡(luò)的擬合能力過強,從而導(dǎo)致了過擬合現(xiàn)象的發(fā)生。由此可以看出,隱藏層的層數(shù)及節(jié)點數(shù)量均需要基于理論分析和大量實驗才能夠確定。

圖13 具有2個隱藏層的神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果

6.4 基于神經(jīng)網(wǎng)絡(luò)的高階CPA攻擊

在攻擊階段,前向擬合神經(jīng)網(wǎng)絡(luò)根據(jù)一個輸入能耗向量(與訓(xùn)練能耗向量進行同樣的歸一化處理),輸出一個中間組合值的擬合值。獲取該特征向量的方式分為2種,即以明確興趣點作為特征向量與將一段興趣區(qū)間上的多點作為特征向量。

在采用多條能跡進行攻擊時,需要計算對某個猜測的子密鑰,這些攻擊能跡的聯(lián)合概率。本實驗采用隱藏層大小為100的前向擬合神經(jīng)網(wǎng)絡(luò)作為模板,輸出為漢明重量的擬合值。輸入分別使用明確的興趣點(采用第一輪中第一個S盒的輸入和輸出的2個準(zhǔn)確的泄露位置的能耗)和興趣區(qū)間上的多點這2種方式進行攻擊性能對比。

接下來,使用之前訓(xùn)練好的前向擬合神經(jīng)網(wǎng)絡(luò)對攻擊測試集中的能量跡對加掩的AES算法的加密能跡進行高階攻擊,攻擊目標(biāo)為加掩AES算法第一輪加密中S盒的輪密鑰。得到神經(jīng)網(wǎng)絡(luò)輸出后計算目標(biāo)相關(guān)系數(shù)并排序,將正確的輪密鑰與排序結(jié)果進行對比。

具體的攻擊步驟如下。

基于神經(jīng)網(wǎng)絡(luò)的高階DPA攻擊算法流程如圖14所示。

圖14 基于神經(jīng)網(wǎng)絡(luò)的高階DPA攻擊算法流程

在攻擊測試集包含2 000條能量跡的攻擊中,以明確興趣點作為輸入的方式,神經(jīng)網(wǎng)絡(luò)輸入層大小為2,正確的輪密鑰排在結(jié)果中的第一位,相關(guān)系數(shù)為0.089 1,排在第二位的猜測輪密鑰的相關(guān)系數(shù)為0.070 8。而以興趣區(qū)間上的多點作為輸入的方式,神經(jīng)網(wǎng)絡(luò)輸入層大小為22,正確的輪密鑰排在結(jié)果中的第一位,相關(guān)系數(shù)為0.177 1,排在第二位的猜測輪密鑰的相關(guān)系數(shù)為0.075 0。

由于第二種攻擊方式得出正確結(jié)果的相關(guān)系數(shù)與錯誤結(jié)果相差更大,而第一種攻擊方式的結(jié)果中各個猜測密鑰之間的相關(guān)系數(shù)相差很小,這證明了使用興趣區(qū)間上的多點作為神經(jīng)網(wǎng)絡(luò)輸入的方式,攻擊性能要明顯優(yōu)于使用明確興趣點作為神經(jīng)網(wǎng)絡(luò)輸入的方式,不同能耗特征向量生成方式的實驗對比如圖15所示。從圖15中2種輸入方式的結(jié)果比較可以看出,輸入為興趣區(qū)間上多點的方式,得到正確密鑰對應(yīng)的相關(guān)系數(shù),與錯誤猜測的密鑰相比,(橫軸為1的函數(shù)值與其他位置的函數(shù)值相比)差距更加明顯,使攻擊的成功率得到了很大的提高。

圖15 不同能耗特征向量生成方式的實驗對比

以上結(jié)果證明,雖然2種輸入方式都可以攻擊成功,但以興趣區(qū)間上的多點作為輸入的方式,攻擊性能要明顯優(yōu)于以明確興趣點作為輸入的方式。這是因為,僅通過2個興趣點來提取信息會導(dǎo)致大量泄露信息的丟失,而使用到興趣區(qū)域的提取方式則能夠更好地保留這些泄露信息,并通過神經(jīng)網(wǎng)絡(luò)來有效組織它們的組合方式,最大程度地利用了能跡上的泄露信息。

為了驗證本文提出的基于神經(jīng)網(wǎng)絡(luò)的高階DPA攻擊的攻擊能力,我們又進行了最少攻擊能跡的實驗。實驗中,我們將不斷減少攻擊中采用的攻擊能跡數(shù),以正確密鑰出現(xiàn)在攻擊的候選密鑰第一位時所需的最少能跡數(shù)量來衡量攻擊的能力。最終,可以確定該方案至少需要使用500條能量跡方可對加掩的AES算法攻擊成功。相較于二階DPA攻擊方案中攻擊成功所需的1 000條能量跡而言,該方案在攻擊條件上已有大幅度提高。這是因為神經(jīng)網(wǎng)絡(luò)強大的非線性擬合能力及自適應(yīng)性使該攻擊方式能夠在與高階DPA攻擊相同的條件下,找到能耗組合值與中間值組合值更大的相關(guān)系數(shù),從而提高了攻擊效率。

7 結(jié)束語

神經(jīng)網(wǎng)絡(luò)在高階DPA攻擊中體現(xiàn)出較為明顯的優(yōu)勢,這是因為神經(jīng)網(wǎng)絡(luò)具有較強的非線性映射能力,能夠自動發(fā)現(xiàn)輸入能耗數(shù)據(jù)與目標(biāo)值(接近)最佳的非線性映射方式。

在能量分析攻擊中,我們主要研究了前向擬合神經(jīng)網(wǎng)絡(luò)在高階DPA攻擊中的應(yīng)用,并在攻擊質(zhì)量上取得了明顯的提高。實驗表明,神經(jīng)網(wǎng)絡(luò)具有強大的特征識別能力和非線性轉(zhuǎn)換能力,能夠提供比其他機器學(xué)習(xí)算法更好的學(xué)習(xí)效率及擬合結(jié)果,有利于減少訓(xùn)練和攻擊能量跡的數(shù)量。在高階攻擊中,特別在我們設(shè)定的訓(xùn)練數(shù)據(jù)未知掩碼的情況下,對于能耗與中間組合值的相關(guān)性,目前運用的神經(jīng)網(wǎng)絡(luò)方法已可有效地進行學(xué)習(xí)及擬合過程。

在今后的研究中,我們將致力于探索深度神經(jīng)網(wǎng)絡(luò)提取更多特征,以便于提高與中間組合值相關(guān)性的方法。

[1] KOCHER P, JAFFE J, JUN B. Differential power analysis[C]//Annual International Cryptology Conference. 1999: 388-397.

[2] POPP T, MANGARD S, OSWALD E. Power analysis attacks and countermeasures[J]. IEEE Design & test of Computers, 2007, 24(6): 535-543.

[3] MESSERGES T. Using second-order power analysis to attack DPA resistant software[C]//International Workshop on Cryptographic Hardware and Embedded Systems. 2000: 238-251.

[4] WADDLE J, WAGNER D. Towards efficient second-order power analysis[C]//International Workshop on Cryptographic Hardware and Embedded Systems. 2004: 1-15.

[5] JOYE M, PAILLIER P, SCHOENMAKERS B. On second-order differential power analysis[C]//International Workshop on Cryptographic Hardware and Embedded Systems. 2005: 293-308.

[6] 王敏, 吳震, 饒金濤, 等. 針對密碼芯片頻域互信息能量分析攻擊[J]. 通信學(xué)報, 2015, 36(Z1): 131-135.

WANG M, WU Z, RAO J T, et al. Mutual information power analysis attack in the frequency domain of the crypto chip[J]. Journal on Communications, 2015, 36(Z1): 131-135.

[7] OSWALD E, MANGARD S, HERBST C, et al. Practical second-order DPA attacks for masked smart card implementations of block ciphers[C]// Cryptographers’ Track at the RSA Conference. 2006: 192-207.

[8] OSWALD E, MANGARD S. Template attacks on masking— resistance is futile[C]//Cryptographers’ Track at the RSA Conference. 2007: 243-256.

[9] LEMKE-RUST K, PAAR C. Gaussian mixture models for higher-order side channel analysis[C]//International Workshop on Cryptographic Hardware and Embedded Systems. 2007: 14-27.

[10] LERMAN L, BONTEMPI G, MARKOWITCH O. A machine learning approach against a masked AES[J]. Journal of Cryptographic Engineering, 2015, 5(2): 123-139.

[11] GILMORE R, HANLEY N, O'NEILL M. Neural network based attack on a masked implementation of AES[C]//2015 IEEE International Symposium on Hardware Oriented Security and Trust (HOST). 2015: 106-111.

[12] DURVAUX F, STANDAERT F X. From improved leakage detection to the detection of points of interests in leakage traces[C]//Annual International Conference on the Theory and Applications of Cryptographic Techniques. 2016: 240-262.

[13] DURVAUX F, STANDAERT F X, VEYRAT-CHARVILLON N, et al. Efficient selection of time samples for higher-order DPA with projection pursuits[C]//International Workshop on Constructive Side- Channel Analysis and Secure Design. 2015: 34-50.

[14] 張洪欣, 李靜, 張帆, 等. 基于能耗旁路泄露的密碼芯片模板攻擊算法研究[J]. 電波科學(xué)學(xué)報, 2015, 30(5): 987-992.

ZHANG H X, LI J, ZHANG F, et al. A study on template attack of chip base on side channel power leakage[J]. Chinese Journal of Radio Science, 2015, 30(5): 987-992.

[15] 阮越, 陳漢武, 劉志昊, 等. 量子主成分分析算法[J]. 計算機學(xué)報, 2014, 37(3): 666-676.

WAN Y, CHEN H W, LIU Z H, et al. Quantum principal component analysis algorithm[J]. Chinese Journal of Computers, 2014, 37(3): 666-676.

High order DPA with profiling

WU Zhen1, WANG Yi1, ZHOU Guanhao1,2

1. Institute of Cyberspace Security, Chengdu University of Information Technology, Chengdu 610225, China 2. Beijing Intelligent Cloud measuring equipment Technology Co., Ltd., Beijing, 102300, China

In side channel attack, the masking implementation is one of the most popular counter measures again first order DPA. Presently, high order DPA and high order template attack are often used to attack against masking counter measures. High order DPA, however, targets joint leakage of multiple types of information and therefore needs cross combination of powers at corresponding positions, which is the root of the inefficiency of high order DPA. High order template attack, on the other hand, has to know the random mask in each encrypting at its learning phase, which is rarely satisfied for most adversaries. Be aware of these shortcomings and limitations, the algorithm of high order DPA with profiling used neural network to establish the model of fitting the combination of un-masked intermediate values. Attacking was based on the correlation coefficient between the fitted combination intermediate value and the guessing combination intermediate value. This method eliminated the requirement of knowing the masks at the learning phase of template attack and the requirement of cross combination of powers for high order DPA, and therefore lowered the requirement of learning as well as improved attacking efficiency. Experiments have confirmed the feasibility of this algorithm, as well as its efficiency.

side channel attack, mask countermeasure, higher order DPA attack, neural network

TP309.1

A

10.11959/j.issn.1000?436x.2018164

吳震(1975?),男,江蘇蘇州人,成都信息工程大學(xué)副教授,主要研究方向為信息安全、密碼學(xué)、側(cè)信道攻擊與防御、信息安全設(shè)備設(shè)計與檢測。

王燚(1968-),男,四川成都人,博士,成都信息工程大學(xué)教授,主要研究方向為機器學(xué)習(xí)、側(cè)信道攻擊與防御、自然語言處理。

周冠豪(1993-),男,江西南昌人,北京智慧云測設(shè)備技術(shù)有限公司技術(shù)工程師,主要研究方向為信息安全、機械學(xué)習(xí)、側(cè)信道攻擊與防御、物聯(lián)網(wǎng)安全。

2018?04?03;

2018?07?28

王燚,wangyi1177@cuit.edu.cn

國家重大科技專項基金資助項目(No.2014ZX01032401-001);四川省科技計劃基金資助項目(No.2017GZ0313);四川省教育廳科研基金資助項目(No.17ZB0082)

The National Science and Technology Major Project of China (No.2014ZX01032401-001), Sichuan Science and Technology Programmer (No.2017GZ0313), Sichuan Provincial Education Department Scientific Research Project (No.17ZB0082)

猜你喜歡
掩碼特征向量高階
二年制職教本科線性代數(shù)課程的幾何化教學(xué)設(shè)計——以特征值和特征向量為例
克羅內(nèi)克積的特征向量
有限圖上高階Yamabe型方程的非平凡解
高階各向異性Cahn-Hilliard-Navier-Stokes系統(tǒng)的弱解
滾動軸承壽命高階計算與應(yīng)用
哈爾濱軸承(2020年1期)2020-11-03 09:16:02
低面積復(fù)雜度AES低熵掩碼方案的研究
一類特殊矩陣特征向量的求法
基于布爾異或掩碼轉(zhuǎn)算術(shù)加法掩碼的安全設(shè)計*
EXCEL表格計算判斷矩陣近似特征向量在AHP法檢驗上的應(yīng)用
基于Bernstein多項式的配點法解高階常微分方程
商城县| 新津县| 修水县| 左权县| 云安县| 呼伦贝尔市| 宁河县| 清远市| 五家渠市| 林口县| 嵩明县| 怀仁县| 定襄县| 宜兴市| 洮南市| 邵东县| 泰安市| 定南县| 衢州市| 徐汇区| 河东区| 嘉峪关市| 拉萨市| 仁化县| 灌南县| 韩城市| 大丰市| 都江堰市| 北安市| 双柏县| 岢岚县| 宁海县| 平原县| 靖西县| 华坪县| 麦盖提县| 特克斯县| 礼泉县| 银川市| 陇川县| 齐河县|