?

針對未知防御智能卡的能量分析攻擊*

2022-11-04 02:22段曉毅劉承遠
北京電子科技學院學報 2022年2期
關鍵詞:智能卡漢明字節

段曉毅 劉承遠 李 郵

北京電子科技學院,北京市 100070

1 引言

能量分析攻擊針對智能卡或存儲密鑰的專用嵌入式系統具有顯著效果,嚴重威脅了此類密碼設備的安全性。 通過利用能量分析攻擊方法分析智能卡密碼算法的途徑,來有效揭示智能卡密碼算法在硬件實現上的安全性問題,從而可以顯著提升智能卡芯片的安全設計水平,因此開展對密碼芯片能量分析攻擊方法的研究,對于實現信息安全的快速發展具有重大意義。

能量分析攻擊是側信道攻擊中最強有力的手段之一,具有實施設備簡單,易于實現的優勢。能量分析攻擊的原理是密碼芯片在執行密碼算法時,所消耗的能量與密鑰之間具有一定的相關性,即利用密碼芯片工作時泄漏出來與密鑰信息相關的能量信息進行攻擊的方法。

1999 年,Paul Kocher 和Joshua Jaffe 等人提出了差分能量分析(Differential Power Analysis,DPA)恢復出DES(Data Encryption Standard)的密鑰[1]。 2003 年,Chari S[2]等人通過采集大量能量跡樣本建立統計信息,利用模板攻擊(Template Attack, TA) 獲取密鑰。 2003 年, Eric Brier[3]等提出了使用相關功耗分析的方法。

1.1 相關工作

近年來,隨著機器學習的不斷發展,越來越多的學者將機器學習應用到功率分析攻擊中。2009 年,Massimo Alioto 等人[4]根據對稱算法的特點和處理器的結構,設計了一種通用的預充電電路多比特功耗模型。 該模型對預充電電路具有較高的精度。 2011 年,Gabrielet 等人首次將機器學習技術應用到側信道攻擊中,利用具有明顯漢明重量泄漏的數據集進行功率分析攻擊,利用最小二乘支持向量機(LS-SVM)[5]成功攻擊了一些高級加密標準(AES)的軟件實現。 2013年Oswald 研究發現,通過對功耗曲線進行線性變換,可以準確量化線性濾波器對功率分析攻擊的影響,從而有效選擇最優線性濾波器提高攻擊效率[6]。 Satoh R 等人提出了一種新的功率分析攻擊方法,可以用來提高密碼LSI 的抗性評估效率,該方法不是在傳統的時域進行功率分析,而是在頻域進行功率分析[7]。 2014 年,Kim 等人發現由于功率消耗曲線中存在噪聲信息,攻擊效率會降低,他們提出了基于原始數據的主成分分析方法,提出了相關系數分析的思想,該方法首先尋找原始數據的主成分,然后根據主成分選擇質量較好的功耗曲線進行功耗分析,該方法的效率高于普通方法[8]。 論文[9]探討了使用機器學習技術來執行功率分析攻擊和處理高維特征向量。 論文[10]研究了SIMON 和LED 輕量級分組密碼對差分功率分析(DPA)攻擊的脆弱性。 2015 年Pozo 針對采樣率低影響信號分析的問題,將奇異譜分析(SSA)應用于功率分析攻擊,提高信號的信噪比和攻擊效率[11]。 L Guo等人提出了一種基于SM3 算法[12]的動態密碼令牌差分功率分析攻擊。 2016 年,L Guo 等人提出了一種針對HMAC-SM3[13]的選擇明文差分功率分析攻擊。 Masoumi 等人提出了一種實用的高級加密標準(AES-128)算法的智能卡實現,結合一種簡單而有效的屏蔽方案,保護其免受時域和頻域的一階功率分析攻擊[14]。 論文[15]提出了一種對SIMECK 進行功率分析攻擊的方法。 2017 年,Eleonora 等人提出了一個基于卷積神經網絡的端到端攻擊方法對功率曲線錯位的問題,可有效實現對沒有提前調整功率曲線的攻擊[16]。 Chakraborty 等人對STT-MRAM 加密設計使用一個新的功耗模型,提出了一個通用的相關功率分析(Correlation Power Analysis,CPA)攻擊策略[17]。 2018 年,Wiemers A 等人基于對如何量化剩余熵的理論分析,推導出一種實用的搜索算法,即使在高噪聲或少量能量曲線的環境中,也可以成功地恢復整個AES 密鑰或顯著降低其熵[18]。 2019 年,Kim 等人[19]介紹了一種使用卷積神經網絡分析側通道的方法。 論文[20]利用卷積神經網絡(CNN)對單片機上的算法實現進行了掩碼和抗干擾攻擊。 2020 年,Cai X 等人提出了差分功率分析攻擊[21]的能量曲線壓縮方法。 在論文[22]中段曉毅等使用數據增強技術解決了機器學習中SBOX 輸出值的漢明重量不平衡問題。

1.2 我們的貢獻

本文對功率分析攻擊及其技術進行了綜述。同時,簡要介紹了一些針對智能卡和FPGA 的功率分析攻擊。 針對未知防御的智能卡,本文采用機器學習,建立了密鑰和能量曲線的圖譜,成功實現了針對未知防御智能卡的攻擊,通過訓練的模型,能量分析攻擊中每個字節的猜測熵為12.4 次,完全攻擊出8 字節密鑰僅需要12.48次DES 計算,比暴力攻擊的1288極大地減小了計算量。 實驗驗證了對未知防御技術的智能卡來說,攻擊點的不同,會影響攻擊的成功率。 同時,在保證成功率的前提下,通過采用機器學習算法進行建模,會很大程度提高攻擊效率。 另外,本文實驗驗證了使用機器學習算法進行能量分析攻擊時,分類模型的不同,也會導致攻擊成功率和攻擊效率的不同。 本文通過機器學習算法對未知防御技術的智能卡進行攻擊,不僅成功破解密鑰,而且提高了攻擊效率。 最后,本文給出了針對未知防御技術的智能卡算法模塊的攻擊思路,如圖1 所示。

圖1 針對未知防御技術的智能卡算法模塊的攻擊思路

1.3 本文結構

本文的結構如下,在第2 章中,介紹了數據加密標準DES 算法的原理及其S 盒輸出特性。在第3 章,介紹了傳統能量分析攻擊原理、基于機器學習能量分析攻擊原理、結合DES 算法S盒輸出特性進行的模型構建和能量分析防御技術。 第4 章中進行了實驗驗證及討論。 第5 章進行了總結并對未來研究進行了展望。

2 DES 算法

2.1 DES 算法原理

數據加密標準DES[23],為對稱密碼算法。它是1972 年美國IBM 公司研制的一種分組加密算法。 DES 算法密鑰長度為64 位,其中56 位參與DES 運算,其以64 位(8 字節)為分組對數據進行加密。 DES 算法加密流程圖如圖2 所示。

圖2 DES 算法加密流程圖

2.2 DES 算法S 盒特性

S 盒是DES 算法的關鍵步驟,它是DES 算法中唯一的非線性部件,它提供了算法所需要的混亂特性,相比于其他步驟,提供了更好的安全性。 DES 算法共有8 個S 盒。 輸入n 比特輸出m 比特的S 盒本質上可以表示為如公式(1)所示的一個映射。

2.2.1 DES SBOX 輸出完整字節特性

如圖2 所示,在每一輪運算f 中,經初始置換IP 后,明文數據被分為左右兩個32 位的分組,分別用Ln、Rn 表示。 通過擴展置換,數據的右半部分Rn 從32 位擴展到48 位,與用初始密鑰生成的48 位子密鑰進行異或,所得數值分為8 個6 位的分組,這8 個分組分別為8 個S 盒的輸入值。 DES 的每個S 盒將6 個輸入位變成4個輸出位。 因此,對于DES 算法來說,對于每一字節明文輸入,S 盒的輸出值都在[0,15]這一區間,共有16 種可能值。

2.2.2 DES SBOX 輸出漢明重量特性

漢明重量[24]是指一個二進制數值中1 的個數,DES 的每個S 盒將6 個輸入位變成4 個輸出位,所以DES 算法,S 盒輸出的漢明重量值在[0,4]這一區間,共有5 種可能值,因為S 盒輸出的“01”平衡性,會導致漢明重量的不平衡性,DES SBOX 輸出漢明重量特性符合正態分布。每字節明文經過S 盒后,輸出的漢明重量分布及其分布概率如表1 所示。

表1 DES 算法S 盒輸出的漢明重量分布及其分布概率

3 能量分析攻擊

能量分析攻擊是側信道攻擊中最強有力的手段之一,具有實施設備簡單,易于實現的優勢。能量分析攻擊的原理是密碼芯片在執行密碼算法時,所消耗的能量與密鑰之間具有一定的相關性,即利用密碼芯片工作時泄漏出來與密鑰信息相關的能量信息進行攻擊的方法。

3.1 傳統能量分析攻擊

根據分析方法不同,傳統能量分析攻擊可以分為簡單功耗分析SPA(Simple Power Analysis)攻擊、差分功耗分析DPA 攻擊、相關功耗分析CPA 攻擊等不同攻擊類型[25]。

簡單功耗分析攻擊[25]是一種通過觀察密碼芯片加密獲得的功耗曲線的特征,來猜測密鑰的攻擊方法。 其攻擊方法簡單,但受噪聲影響較大,在攻擊過程中很難區分真實的運算功耗和噪聲,常常導致攻擊失敗。 因此它常用作為差分功耗分析攻擊等攻擊方法的輔助攻擊方法。 例如,首先通過SPA 攻擊,確定密碼算法執行的時間區間,然后通過其他攻擊方法對這一時間段進行攻擊。

與簡單功耗分析攻擊相比,差分功耗分析攻擊[1]是一種更強大的攻擊手段,即使所采集到的功耗曲線中包含大量的噪聲,差分功耗分析攻擊也可以成功地從中恢復出密鑰。 差分功耗分析攻擊關注的是所有能量跡在同一時刻的統計特性。 其需要采集大量的能量曲線,將采集到的能量曲線照一定的規則劃分成不同的兩個集合,然后對這兩個集合求平均值,最后對兩個均值進行差值處理。 利用統計學分析方法,找到這些能量曲線與密鑰的相關性,從而恢復出密鑰。

使用相關系數模型改進后的差分能量分析被稱為相關功耗分析[3]。 其中,相關功耗分析攻擊采用相關系數的統計學方法。 該方法首先利用功耗模型對進行攻擊的實際電路進行理論功耗的預測,然后將實際的電路功耗與預測的理論功耗聯系起來,得出兩者之間的相關系數。 因為如果猜測的密鑰正確,那么根據電路功耗模型計算的理論功耗一定與實際電路的功耗具有一定的相關性。 根據相關性的大小也就是相關系數的大小來判定密鑰的猜測是否正確。 圖3 為相關功耗分析攻擊的數據處理流程圖。

圖3 相關功耗分析攻擊的數據處理流程圖

如圖3 所示,相關功耗分析攻擊分為五個步驟:

第一步:選擇攻擊點。 計算密碼算法該攻擊點的中間值X。 中間值X 與輸入的N 個明文Ii( 1 ≤i ≤N)和K 個密鑰Kj( 1 ≤j≤K)有關。如公式(2)所示。

式(2)中,Xij表示當輸入明文為Ii( 1 ≤i ≤N),密鑰為Kj( 1 ≤j≤K)時中間變量的值,f由密碼算法決定。

第二步:輸入N 個不同的明文,得到N 條能量曲線,每條能量曲線上有W 個采樣點。 因此,得到一個N 行W 列的實際功耗矩陣,用P表示。

第三步:當第一步選擇好攻擊點后,輸入N個明文和K 個密鑰。 將所有可能的Kj( 1 ≤j≤K)與輸入的明文Ii( 1 ≤i ≤N)計算得出中間變量xij。 得到的所有中間變量組成了一個N 行K 列的矩陣。 根據選擇的功耗模型,將中間值xij映射成理論功耗hij,所有的理論功耗組成了一個N 行K 列的矩陣,用H 表示。

第四步:利用相關系數方法計算理論功耗矩陣H 的列(記為hi)與實際功耗矩陣P 的列(記為pj)的線性相關程度,并得出正確的密鑰。 這些相關系數構成了一個K 行W 列的相關系數矩陣R。 相關系數計算方法如公式(7)所示的方法。

能量跡的正確分類依賴于正確的猜測密鑰,當密鑰猜測正確時,相關功耗分析攻擊出現一個尖峰,尖峰出現的采樣點,表示中間變量正在被執行的時刻;當猜測密鑰錯誤時,相關功耗分析攻擊不會出現尖峰。

3.2 基于機器學習的能量分析攻擊

其中c 類是根據給定密鑰猜測k*和輸入的泄漏模型計算的。

3.2.1 SBOX 輸出漢明重量模型

由于DES 中S 盒的非線性度最高,對于能量分析攻擊來說,選擇S 盒作為攻擊點,會得到更多與算法相關的信息,因此,能量分析攻擊中,經常選用SBOX 輸出值為攻擊點,其攻擊對象如圖4 所示。

圖4 能量分析攻擊點

在能量分析攻擊中,一般使用漢明重量模型來表示芯片中操作數據的功耗模型[26]。 對于DES 算法來說,對于每一字節明文輸入,S 輸出的漢明重量值都在[0,4]這一區間,因此,使用機器學習對密碼芯片SBOX 輸出值的漢明重量建立標簽模型,首先訓練出一個5 分類的模型,然后再進行測試攻擊。

3.2.2 SBOX 輸出完整字節模型

對于DES 算法來說,對于每一字節明文輸入,S 盒的輸出值都在[0,15]這一區間,并且互不相等。 因此,使用機器學習對密碼芯片SBOX輸出完整字節建立標簽模型,首先訓練出一個16 分類的模型,然后再進行測試攻擊。

3.2.3 評估指標

為了評估不同機器學習模型攻擊效果,本文用兩個指標來評估模型的性能,這兩個指標是:猜測熵和精確度。

猜測熵是Side Channel Attacks (SCA)[2]中評估攻擊性能的常用指標。 其定義如下:設g 為每次實驗所有可能密鑰的遞減概率排序,設I 為定義正確密鑰的索引。 在進行s 次實驗時,得到一個矩陣[g1,g2,...gs] 和相應的向量[i1,i2,...is],猜測熵為確定正確密鑰的平均位置如公式(12)所示:

換句話說,猜測熵描述了恢復實際密鑰所需的平均猜測次數。

機器學習中常用的度量標準是精確度。 定義為分類正確的樣本數除以所有的樣本數,通常來說,正確率越高,分類器越好。 二分類模型其定義如公式(13)所示:

其中,TP、TN、FP、FN 均為混淆矩陣,分別表示為將正類預測為正類數、將負類預測為負類數、將負類預測為正類數誤報和將正類預測為負類數漏報。 二分類混淆矩陣[27]如表2 所示。

表2 混淆矩陣

在使用正確率作為性能度量的同時,用查全率(recall)和查準率(precision)進行評估,能全面的評價模型的性能好壞。

則查準率P[28]為:

查全率R[28]為:

本文使用機器學習對DES 算法S 盒輸出漢明重量進行攻擊并構建模型時,分類結果就不僅僅包括正類和反類,一共包括五類,分別是漢明重量H0-H4,五種類別都看成正類,把分類正確的樣本數分別記為T0,T1…T4,分類錯誤的樣本數記為F01(表示將真實樣本H0 預測為H1),F02(表示將真實樣本H0 預測為H2)…F04,F12…F34。 五分類混淆矩陣[27][29]如表3 所示。

表3 五分類混淆矩陣

每一類的查準率與查全率可以分別使用公式(16)和公式(17)表示[27][29],其中i∈[0,8]。

當建立DES 算法SBOX 輸出完整字節模型時,SBOX 輸出完整字節分為16 類,當直接對密鑰進行攻擊時,需建立256 種分類,其正確率定義均同上。

3.3 能量分析防御技術

能量分析攻擊實施的依據是密碼芯片的能量消耗依賴于芯片所執行的密碼算法的中間值。因此,如果試圖抵御這種攻擊,就要降低甚至消除這種依賴性。 根據能量分析攻擊防御技術是否改變算法的中間值,現有的防御技術可分為掩碼型防御措施和隱藏型防御措施[30]。

3.3.1 隱藏型防御措施

隱藏型防御措施[30]不會改變算法的中間值,它的思想是通過隨機插入偽操作和隨機亂序等操作,切斷密碼算法中間值和功耗之間的關系,這樣即使采用了隱藏技術的密碼芯片和未加任何保護的密碼芯片執行了同樣的算法操作,產生了同樣的中間值,但是相比未加任何保護的密碼芯片,采用了隱藏技術的芯片,攻擊者很難從它的能量曲線中獲得相關的密鑰信息。

隨機插入偽操作的基本思想是在密碼執行過程中和芯片執行前后隨機插入操作。 它是根據在每一次執行密碼算法時生成的隨機數,來確定在不同位置插入偽操作的數量。

隨機亂序操作的基本思想是,通過改變某些密碼算法中特定操作的執行順序來引入隨機性。以DES 為例,其每一輪函數都需要執行8 次S盒查表操作,而且這些查表操作相互獨立,所以可以打亂這些操作的執行順序,即在每一次DES算法執行中,需要生成隨機數用來確定8 個S 盒查表操作的執行順序。

3.3.2 掩碼型防御措施

掩碼型防御措施[30]會改變算法的中間值,它是通過隨機化密碼芯片所處理的中間值來使密碼芯片的能量消耗不依賴于密碼芯片所執行的密碼算法的中間值。

掩碼技術首先生成一個隨機數,然后使用隨機數對中間敏感數據進行掩碼,從而使算法所有的中間數據隨機分布,這樣就去除了算法中間數據與密鑰之間的相關性。 具體操作步驟如公式(18)所示。 即密碼芯片在T1,T2,T3 時刻分別執行了三個操作:生成隨機數即掩碼值r、對中間值x 進行掩碼得到xr,掩碼后的結果xr與密鑰k 異或得到p。

由于r 是隨機產生的,因此攻擊者無法獲得經過掩碼計算的中間結果p,也就無法得到中間結果與密鑰之間的關系,從而能夠抵御能量分析攻擊。

3.4 針對未知防御技術的能量分析攻擊思路

針對未知防御技術的智能卡算法模塊的攻擊思路如圖1 所示。

首先選擇傳統能量分析攻擊方法CPA 進行攻擊,選擇包含更多算法信息的S 盒作為攻擊點,選擇準確率更高的漢明重量模型作為攻擊模型。 倘若攻擊失敗,由3.1 節相關系數分析CPA攻擊原理可知,假設的密鑰形成的理論功耗矩陣H 和實際功耗矩陣P 不匹配而導致攻擊失敗,這種現象可能是由于該DES 算法加了防護措施。

當傳統能量分析攻擊沒有攻擊成功時,本文進一步選擇更強大的機器學習與能量分析攻擊相結合的方式進行破解密鑰。 攻擊點仍選擇包含更多算法信息的S 盒作為攻擊點,選擇準確率更高的漢明重量模型作為攻擊模型。 倘若實驗結果表明,其猜測熵低于或略等于理論上的平均猜測熵時,此時本文認為基于該方法進行能量分析攻擊,攻擊失敗。 因為它的攻擊效果幾乎與隨機猜測的效果相同,甚至略低于隨機猜測的效果,對提高攻擊效率起不到任何的指導作用。

當傳統能量分析攻擊沒有攻擊成功、且基于SBOX 輸出漢明重量模型的能量分析攻擊也未攻擊成功時,本文采用基于SBOX 輸出完整字節模型進行破解密鑰。 倘若實驗結果表明,它的攻擊效果幾乎與隨機猜測的效果相同,甚至略低于隨機猜測的效果,對提高攻擊效率起不到任何的指導作用。 此時本文認為基于該方法進行能量分析攻擊,攻擊失敗。

當傳統能量分析攻擊和使用機器學習算法選擇S 盒輸出作為攻擊點均攻擊失敗時,說明該智能卡算法模塊已經添加了安全防護,如進行了掩碼型防御措施和隱藏型防御措施。 此時,本文采用基于密鑰的能量分析攻擊,建立密鑰與功耗曲線的關系。

4 實驗結果與分析

本實驗的攻擊對象為一款未知防御技術的智能卡,采集智能卡加密時的能量曲線。 通過依次采用相關性功率分析CPA 攻擊、基于SBOX輸出漢明重量模型的能量分析攻擊、基于SBOX輸出完整字節模型的能量分析攻擊和基于密鑰的能量分析攻擊來對該未知防御技術數據集進行攻擊并進行分析,由于智能卡上DES 算法有防御,所以前三種攻擊均未成功,基于密鑰的能量分析攻擊成功。

4.1 CPA 攻擊結果與分析

針對智能卡上未知防御技術的能量分析攻擊,本文首先選用傳統能量分析攻擊中最具代表性的攻擊方法-相關系數分析CPA 攻擊。 本實驗的攻擊點為SBOX 輸出值,使用漢明重量作為標簽。 本實驗設定功耗曲線條數為30000 條,每條能量曲線上特征點為1200。 其實驗結果如圖5 所示。 由圖5 可知,用該方法進行能量分析攻擊時,各特征點的皮爾森相關系數均小于0.015,即具有極弱的相關性或不相關,此時,可認定為該攻擊方法無效,即無法成功破解密鑰。

圖5 CPA 攻擊結果

4.2 基于SBOX 輸出漢明重量模型的能量分析攻擊

針對智能卡上未知防御技術的能量分析攻擊,當傳統能量分析攻擊沒有攻擊成功時,本文使用機器學習與能量分析攻擊相結合的方式進行破解密鑰。 根據DES 算法特性,對于每一字節明文輸入,S 盒輸出的漢明重量值都在[0,4]這一區間,因此,使用機器學習與漢明重量模型進行能量分析攻擊時,首先根據漢明重量標簽,訓練出一個5 分類的模型,然后再進行測試攻擊。 本實驗設定功耗曲線條數為50000 條,其中40000 條用來訓練模型,10000 條用來驗證。 本實驗采用機器學習算法卷積神經網絡,隨著迭代次數的增加,損失函數和精確度的變化如圖6 所示。 由圖6 可知,隨著迭代次數的增加,損失函數逐漸下降并穩定,精確度逐漸上升穩定于0.37。 猜測熵為2.1986。

圖6 損失函數和精確度的變化

由表1 可知,DES 算法S 盒輸出的漢明重量分布不均勻,呈正態分布。 對16 種可能的SBOX 輸出值,定義漢明重量值和權重占比的映射關系為f:(0,1,2,3,4) →(1,4,6,4,1),按照先猜測概率最大的可能密鑰的原則,依次猜測漢明重量為2 →1 →4 →0 →5 時,其理論上平均的漢明重量猜測熵如公式(19)所示。

即對DES 算法,當隨機猜測一字節密鑰時,其理論上平均猜測熵為2.1875。 而通過基于SBOX 輸出漢明重量模型的能量分析攻擊,實驗結果顯示猜測熵為2.1986,略高于理論上平均猜測熵為2.1875,此時本文認為基于該方法進行能量分析攻擊,攻擊失敗。 因為它的攻擊效果幾乎與隨機猜測的效果相同,甚至略低于隨機猜測的效果,對提高攻擊效率起不到任何的指導作用。

4.3 基于SBOX 輸出完整字節模型的能量分析攻擊

針對智能卡上未知防御技術的能量分析攻擊,當傳統能量分析攻擊沒有攻擊成功、且基于SBOX 輸出漢明重量模型的能量分析攻擊也未攻擊成功時,本文采用基于SBOX 輸出完整字節模型進行破解密鑰。 對于DES 算法來說,對于每一字節明文輸入,S 盒的輸出值都在[0,15]這一區間,并且互不相等。 因此,使用機器學習與SBOX 輸出完整字節模型進行能量分析攻擊時,首先根據S 盒輸出完整字節標簽,訓練出一個16 分類的模型,然后再進行測試攻擊。 本實驗設定功耗曲線條數為50000 條,其中40000 條用來訓練模型,10000 條用來驗證。 本實驗采用機器學習算法卷積神經網絡,隨著迭代次數的增加,損失函數和精確度的變化如圖7 所示。 由圖7 可知,隨著迭代次數的增加,損失函數逐漸下降并穩定,精確度逐漸上升穩定于0.069。 猜測熵為8.424。

圖7 損失函數和精確度的變化

由2.2.1 小節,DES 算法SBOX 輸出完整字節特性可知,DES 算法S 盒的輸出值都在[0,15]這一區間,共有16 種可能值。 當隨機猜測一個字節密鑰時,其理論上猜測熵為8.5,其計算方法如公式(20)所示。

而由實驗結果可知,基于SBOX 輸出完整字節模型的能量分析攻擊,猜測熵為8.424,幾乎與隨機猜測一個字節密鑰時的理論猜測熵相等,即使用該攻擊方法的攻擊效果幾乎與隨機猜測的效果相同,對提高攻擊效率起不到任何的指導作用。 此時本文認為基于該方法進行能量分析攻擊,攻擊失敗。

4.4 基于密鑰的能量分析攻擊

針對智能卡上未知防御技術的能量分析攻擊,當傳統能量分析攻擊和使用機器學習算法選擇S 盒輸出作為攻擊點均攻擊失敗時,說明該智能卡算法模塊已經添加了安全防護,如進行了掩碼型防御措施和隱藏型防御措施。 此時,本文采用基于密鑰的能量分析攻擊,建立密鑰與功耗曲線的關系。 當破解DES 算法一個字節密鑰時,首先使用機器學習算法訓練出一個256 分類的模型,然后再進行測試攻擊。 本實驗采用機器學習算法卷積神經網絡,隨著迭代次數的增加,損失函數和精確度的變化如圖8 所示。 由圖8 可知,隨著迭代次數的增加,損失函數逐漸下降并穩定,精確度逐漸上升穩定于0.1445。 猜測熵為12.4792,即平均需要猜測12.4792 次即可恢復一個字節密鑰。

圖8 損失函數和精確度的變化

DES 算法以8 字節為分組對數據進行加密,即攻擊時需要攻擊8 字節的密鑰,用本文的基于密鑰的能量分析攻擊方法,攻擊8 字節密鑰僅需12.48次即可攻擊成功,與采取暴力攻擊方法需進行1288次攻擊相比,非常大程度地提高了攻擊效率,此時,本文認為基于該方法進行能量分析攻擊,攻擊成功。

5 結論

本文針對未知防御技術的智能卡密碼算法,研究了使用傳統能量分析攻擊方法CPA 以及機器學習能量攻擊方法。 針對SBOX 輸出漢明重量、輸出完整字節進行攻擊均失敗,最后使用機器學習對密鑰進行建模并攻擊成功。 攻擊對于未知防御技術的智能卡中使用DES 算法的密鑰的猜測熵為12.4,完成DES 算法中8 個字節密鑰的攻擊僅需要12.48次暴力破解,比原來的1288次有很大提高。

猜你喜歡
智能卡漢明字節
No.11 字節跳動計劃自研芯片:僅供內部使用
字節跳動瞄準教育等新業務
澄天偉業 國內領先的智能卡生產企業
媳婦管錢
人類進入“澤它時代”
巴黎智能卡暨身份識別技術工業展落戶亞洲
一種新的計算漢明距方法
智能卡抗DPA攻擊的設計與實現
電信智能卡發展現狀及趨勢研究
妻子眼中的陶漢明
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合