DL-LA:基于深度學習的泄漏評估模型
SCA評估的指引方向
背景介紹
機器學習技術常用于基于模板的攻擊(Profiled)場景下輔助分析密碼設備的泄漏,使得模板攻擊更加便利。2019年CHES會議上,Benjamin Timon首次提出將深度學習應用到了不構建模板、直接進行的攻擊(Non-Profiled)場景中,稱為DDLA模型[1]。
鑒于機器學習尚未應用到“泄漏評估”這個研究方向,并且傳統的經典泄漏評估方法如t-test和X2-test存在以下缺陷:①不能對整條波形檢驗,只能檢驗每個單獨的樣本點;②無法檢測多點泄漏;③在“噪聲水平低、泄漏階數高”“有多點泄漏”的情況下,會產生假陰性(即實際上存在泄漏,但評估方法沒有檢測到泄漏)。
基于以上背景,德國魯爾波鴻大學的Thorben Moos等人在2021年的CHES會議上提出了Non-Profiled場景下的基于深度學習的泄漏評估模型DL-LA,這是第一個通過訓練神經網絡作為分類器來進行泄漏檢測的方法[2]。
已有工作
在統計學領域,為了回答兩組數據是否存在顯著差異的問題,采用了假設檢驗t檢驗和χ2檢驗。在側信道分析中,通常用它們來評估兩組測量值是否具有置信度。傳統上,這兩個組是通過向被攻擊設備提供固定(group 0)或隨機輸入(group 1),即fixed-vs-random來獲得的。后來Fran?ois Durvaux等人的研究表明,使用fixed-vs-fixed的輸入會降低數據復雜性[3]。因此,DL-LA的實驗采用了fixed-vs-fixed形式的明文數據進行,但DL-LA仍也適用于fixed-vs-random形式的輸入數據。
實驗內容
DL-LA評估流程
1、攻擊者向被攻擊設備提供兩個不同的固定明文(fixed-vs-fixed)隨機交錯輸入,采集輸出波形,進行標準化Xij=(Xij-μi)/σi;
2、采集到的波形分割成一個訓練集(N條波形)和一個驗證集(M條波形);
3、在訓練集上訓練神經網絡(MLP或CNN);
4、用訓練好的網絡對驗證集的波形進行分類;
5、網絡輸出一個驗證正確率 (validation accuracy,v),計算統計正確分類的波形數SM(SM=v·M);
6、計算通過“隨機分類”的方法能正確分類得到SM的概率P;

7、如果概率P小于閾值pth(pth=10-5),那么存在泄漏。
泄漏可視化
因為神經網絡是黑盒模型,攻擊者無法知道波形各點對攻擊結果的影響,論文用敏感性分析(Sensitivity Analysis,SA)對泄漏位置進行可視化。計算方法:

其中,xi是網絡的第i個輸入,y0是網絡的第一層輸出向量,Xij是訓練集中第條波形的第個i輸入值。
泄漏可視化結果如圖1所示,橫軸是采樣點數,縱軸是計算得到的si值。注意:SA的絕對值無意義,不能和任何閾值比較。

圖1 DL-LA泄漏檢測結果
實驗結果
本文作者設計了9組實驗,實驗內容與對應泄漏類型如表1所示。因為本文涉及的實驗較多,且實驗結果圖的內容基本相近,所以下面僅對下表實驗編號為CS5的實驗結果展開敘述。

表1 實驗內容概覽
CS5是FPGA上實現的有TI防護的PRENSENT分組密碼的錯位波形,泄漏類型單點高階泄漏。圖2和圖3是CS5的泄漏檢測結果。其中圖2為統泄漏檢測方法的結果,顯然一階t-test檢測不到任何泄漏,二階、三階t-test能檢測到泄漏,其中三階t-test需要一百五十萬條波形來檢測泄漏。X2-test需要80萬條波形檢測泄漏。

圖2 CS5中的傳統泄漏檢測方法的結果 從上至下:
1)樣本能量跡;2)10條重疊能量跡;3)一階t-test結果;
4)二階t-test結果;5)三階t-test結果;6)X2-test結果
下圖3是使用DL-LA的泄露檢測結果,DL-LA在用80萬條波形訓練下,在大約第14個迭代輪次(epoch)時就能使置信度超過閾值;在使用更大數據集3百萬條波形訓練后,在約第六個epoch時就能檢測到泄漏。

圖3 CS5中的DL-LA泄漏檢測方法的結果 從左至右:
1)SA泄露位置;2)使用800 000條能量跡做DL-LA的結果;
3)用3 000 000條能量跡做DL-LA的結果
表2是本文實驗的結果,具體列出了傳統泄漏檢測方法和DL-LA檢測泄漏各自所需的波形數量。

表2 9組實驗中檢測出泄漏所需的波形數
總結
基于上述實驗結果,本文作者得出如下結論:
1、利用神經網絡進行泄漏評估是可行的,而且在復雜的檢測場景中很有前景;
2、MLP和CNN都可以檢測單變量一階泄漏、單變量高階泄漏和多變量高階泄漏,而不需要對預期的泄漏類型進行任何預處理或先驗信息;
3、由于在DL-LA中需要同時分析整個波形,因此通常需要比傳統泄漏檢測方法更少的波形;
4、使用相同數量的波形所提供的置信度通常比傳統泄漏檢測方法大幾個數量級;
5、DL-LA中的假陽性風險較低(如果選擇相同的置信閾值),因為它為每組波形提供一個置信值,而不是為每個采樣點提供一個置信值。