背景介紹

深度學習經廣泛研究并表明這是一種很強的分析攻擊,其在SCA中的主要優勢之一是無需預處理/特征工程。這意味著我們只需要將數百或數千個樣本點(特征)的原始測量結果直接輸入深度神經網絡,之后分類算法會自動檢測泄漏最多的點。模板攻擊、深度學習攻擊和基于機器學習的攻擊[2]由于其在實踐中的效率而被廣泛考慮。這些分析方法允許評估人員估計目標設備在最壞情況下的安全性。為此,一般考慮有關隨機密鑰共享和實現源代碼的知識,以從側通道測量中選擇特征點 (POI)。因為如果從共享因子中選擇的興趣點包含足夠高的信噪比 (SNR) 值,則更容易實現最佳模型。所以在最壞的安全假設下,噪聲成為降低攻擊效率的主要條件。從而就會產生一個問題,在不同信噪比水平下的POI選擇對深度神經網絡的分析攻擊性能有多大影響?2022年,來自拉德堡德大學、代爾夫特理工大學的Guilherme Perin、Lichao Wu、Stjepan Picek在頂級學術會議CHES上通過構建三種實驗場景:精煉特征點(RPOI)、優化特征點(OPOI)、非優化特征點 (NOPOI),通過對比實驗結果給出了答案。

實驗過程

1、模型評價指標

①感知信息Perceived Information(PI)。PI可以作為衡量攻擊效率的信息度量。PI測量模型可以從側通道中獲得感知信息,并根據多個測量結果來指示攻擊的復雜性。

進而根據PI可以計算出恢復密鑰最少需要的波形條數:

其中f(β) 是與預期成功率β相關的小常數。在本篇論文中主要利用感知信息度量比較深度學習模型在最壞情況下(即攻擊者知道泄露中間值以及相關加密實現信息)的性能。

②猜測熵Guessing Entropy (GE)。GE表示正確密鑰的位置排名。當GE=1時,說明一組正確密鑰的排名均為1,此時攻擊者成功恢復了密鑰,模型的性能最佳。

2、數據集

ASCAD with a Fixed Key - ASCADf數據集總共有6萬條密鑰固定的能量跡,其中訓練能量跡50000條,驗證能量跡5000條,攻擊能量跡5000條,每條能量跡包含10萬個樣本點,對其中700個特征點進行分析,它包含AES第一輪的第三個S盒加密。

ASCAD with Random Keys - ASCADr數據集總共有300000條能量跡,其中前200000條能量跡為隨機密鑰,用于訓練階段。后100000條能量跡為固定密鑰,從中隨機挑選出10000條用于驗證,10000條用于攻擊。每條能量跡有25萬個樣本點,對其中1400個特征點進行分析。

DPAContest 4.2 - DPAv4.2包含80000條能量跡,細分為16組5000條能量跡。每個組都定義了一個單獨的固定密鑰。每條能量跡中有704046個樣本點,對前400000個樣本點進行分析,它包含了S盒的輸出和掩碼。

CHES CTF 2018 - CHES_CTF總共包含50000條能量跡,其中訓練集包含4.5萬條能量跡且密鑰固定,驗證集和攻擊集各含2500條能量跡且密鑰固定,攻擊集和驗證集密鑰相同但與訓練集的密鑰不同。每條能量跡包含65萬個樣本點,對前15萬個樣本點進行分析。

3、共享因子

掩碼技術意味著通過掩碼來改變中間值,在布爾掩碼中,掩碼型中間值vm=v⊕m,一旦給定vm和m,就可以計算出中間值v,我們將vm和m稱為共享因子,也就是說,可以用兩個共享因子表示中間值v,記為(vm,m)。在我們已知共享因子的情況下,我們便可以通過共享因子進行特征選擇。

4、三種特征點選擇的場景

本篇論文選取了三種實驗場景進行對照:

精煉特征點(RPOI):從實施二階DPA攻擊所需的兩個共享因子(sr=Sbox(p3⊕k3)⊕r和r)的最高SNR峰值中選擇特征點。

優化特征點(OPOI):數據集由一個優化的區間(或兩個區間的串聯)組成,其中包括從兩個共享因子中獲得的主要 SNR 峰值。

非優化特征點(NOPOI):考慮完整的測量區間,僅僅使用重采樣的方法進行降維。

實驗結果

1、精煉特征點(RPOI)

對于RPOI,實施了幾種對比實驗,①將精煉的特征點進行分類(低、中、高信噪比);②在特征提取階段設置是否使用線性判別分析(LDA);③在訓練階段,選擇高斯模板攻擊or神經網絡;④最后使用PI和GE進行模型性能的評估。

圖1 身份泄露模型下特征點數量和PI的關系

從整體的趨勢來看,特征點越多,模型的性能越好,因為輸入包含了更多的泄漏點;由于ASCADf數據集中用于訓練的數據集較少(5萬),因此對于中等和低等信噪比顯示出相對較差的性能。

圖2 漢明重量泄露模型下特征點數量和PI的關系

在高信噪比的情況下,神經網絡顯示出優于高斯模板攻擊的性能。對于具有中等SNR的數據集 (圖2b和3b),隨著特征點數量的增加,可以發現必須經過線性判別分析(LDA)降維,才可以增加PI值。當多層感知機(MLP)和卷積神經網絡(CNN)模型不考慮LDA時,增加所選特征點的數量往往會降低模型的質量。這表明對于這種特殊情況,需要降維才能找到最佳模型。

2、優化特征點 (OPOI)

OPOI與RPOI方案的主要區別在于,OPOI考慮了包括兩個共享因子的主要SNR峰值的最小化區間。實驗目的:通過對比在輸入為精煉特征點和最小化的軌跡區間 (包括來自密鑰共享因子的主要SNR峰值) 下的深度學習SCA的性能,來了解排除噪聲對深度學習模型性能的影響。

圖3 優化的興趣點 (OPOI):對于不同泄露模型的猜測熵

3、非優化興趣點 (NOPOI)

最后使用 NOPOI 場景攻擊完整的 AES 密鑰。

圖4 NOPOI 場景下恢復完整密鑰所需軌跡數

上圖展示了,NOPOI 場景(沒有去同步)下,針對16字節的密鑰,利用MLP和CNN重新訓練得到的最佳模型(重采樣窗口大小為20,泄露模型包括ID和漢明重量)。圖中顯示了每個單獨的密鑰字節達到猜測熵為1 時所需的攻擊軌跡數。正如我們所看到的,對于使用ID泄露泄漏模型的 MLP 案例,可以使用少于20條的攻擊軌跡將ASCADf 數據集中完整的 AES 密鑰恢復出來。

總結

總體而言,本篇論文主要的目標是了解特征選擇如何影響基于深度學習的分析模型的性能。以ASCDAf數據集為例,有以下結論:

1、在超參數選擇時,使用在固定區間范圍內的超參數搜索,并在NPOI場景下,證明這種固定區間的超參數搜索方法可以與超參數調整技術 (例如強化學習和網格搜索) 的模型性能相媲美。

2、在最壞情況下的安全假設下(RPOI),可以找到與GTA相比具有優越性能的神經網絡。但是,這需要大量的時間來進行超參數搜索。因此,需要在模型性能和計算成本之間權衡。

3、在NOPOI場景下,分析攻擊可以在不考慮掩碼共享知識的情況下,通過單個攻擊跟蹤從ASCADf數據集恢復出正確的密鑰字節。

最后,本篇論文對四個數據集進行實驗得到重要結論:在跨多個數據集和特征選擇的安全評估中,可以保持超參數搜索空間不變,其中要考慮的變量僅是搜索嘗試的次數。

參考資料

[1]Houssem Maghrebi, Thibault Portigliatti, and Emmanuel Prou?. Breaking cryptographic implementations using deep learning techniques. In Interna-tional Conference on Security, Privacy, and Applied Cryptography Engineering,pages 3–26. Springer, 2016.

[2]Liran Lerman, Stephane Fernandes Medeiros, Gianluca Bontempi, and Olivier Markowitch. A Machine Learning Approach Against a Masked AES. In CARDIS, Lecture Notes in Computer Science. Springer, November 2013.Berlin, Germany.