高博 鄭喜艷 徐錦濤
(1.中國人民解放軍92957部隊 浙江舟山 316000;2.河南省計量科學研究院 河南鄭州 450001)
21世紀是信息科技的時代,物聯網、云計算、大數據、人工智能、5G通信等信息技術產業蓬勃發展,給人類社會帶來了翻天覆地的變化。與此同時,信息產業的安全已經成為了關乎國家軍事安全、經濟安全、文化安全的重要保障。但惡意軟件入侵、黑客攻擊、個人隱私泄露等危害信息安全事件的頻頻發生,對信息產業的安全性構成了極大的威脅,也對信息安全提出了更高的要求。
密碼技術作為支撐國家安全的三大核心技術之一,是信息安全的基礎和有效保障。以密碼算法為核心的密碼設備,如微控制器、智能卡、現場可編程邏輯門陣列(Field Programmable Gate Array,FPGA)、專用集成電路(Application Specific Integrated Circuit,ASIC)等成為了各種信息和數據安全系統的重要組成部分。密碼設備的安全性不僅取決于加密算法理論上的安全性,更加依賴于加密算法在軟件、硬件實現上的安全性。在密碼算法的物理實現中,無法避免地會向周邊環境中泄露與敏感中間值相關的物理信息,如運行時間、能量消耗、電磁輻射、熱量、可見光強度等;側信道攻擊[1]便是利用這些泄露信息并結合統計工具來恢復密碼設備密鑰的方法[1]。側信道攻擊的出現,實現了對密碼算法實現方式上的攻擊,其攻擊成本更低、破壞性更強,對各類密碼設備的安全構成了嚴重的威脅。
在實際應用場景中,執行密碼算法的密碼設備并不是一個無懈可擊的理想黑盒,而是持續向外部環境泄露多種類型物理信息。電容的充放電,累積呈現為半導體器件的能量消耗,半導體器件消耗能量累積,對外變現為密碼設備整體的能量消耗變化。具體來說,對于CMOS器件,電平的變化會引起電容的充放電,產生明顯的能量消耗。對于邏輯元件(如觸發器、寄存器),電平的翻轉(從0到1或從1到0)會產生明顯的能量消耗。對于總線,高電平或低電平的變化會引起驅動總線的電容進行充放電,產生明顯的能量消耗。因此,密碼設備的能量消耗變化對外整體呈現出很強的數據相關性和操作相關性[2]。
攻擊者利用統計學工具分析由泄露模型刻畫出的假設泄露與測量到的真實泄露間的關系,分而治之地恢復出子密鑰;當所有子密鑰的破解后便可得到主密鑰。具體來說,在密碼設備運行時真實泄露信息L與密鑰之間的理論關系模型如公式(1)所示。
L=f(H(p,k))+n(1)
式(1)中:p為輸入明文;k為子密鑰(如密鑰的某一字節或比特);H(p,k)為密碼算法中依賴于p和k的某個中間運算變換值的假設泄露;f為H(p,k)到真實泄露信息L的映射;n為隨機噪聲。
側信道攻擊就是依據已知的輸入p和測量可知的真實泄露信息L來求解未知子密鑰k。側信道攻擊過程示意如圖1所示。

圖1 側信道攻擊過程示意圖
攻擊過程可以粗略地分為泄露信息采集和統計分析兩個階段。泄露信息采集階段主要根據密碼芯片泄露信息的類型選擇合適的測量工具,捕獲攻擊所需的泄露信息;統計分析階段主要利用捕獲的泄露信息,結合密碼算法的設計細節,使用統計工具恢復子密鑰。
側信道攻擊技術的萌芽最早出現在1965年[3]。英國利用麥克風監測埃及駐倫敦大使館敲擊旋翼密碼機時的滴答聲,減少了破解密碼的工作量,輕松獲取了大使館使用的密碼。成體系的、理論性強的側信道攻擊技術出現在1996年[4]。KOCHER P通過測量RSA算法在模冪運算中私鑰操作所需的時間量,提出了計時攻擊[1]。計時攻擊經過多年推廣應用[5-7],日漸發展成一種較為成熟的攻擊方法。值得注意的是,計時攻擊需要利用算法每次操作的定時變化,但在實踐中只能測量算法所有操作的總執行時間,這使得計時攻擊僅適用于無防護措施的簡單場景。
1997年,BONEH D等人[8-9]針對RSA的簽名方案,首次實施了故障分析攻擊。隨后,故障分析攻擊的有效性分別在DSA簽名方案[10]、橢圓曲線公鑰加密方案[11]、DES對稱密鑰加密方案[12]得到了驗證。SKOROBOGATOV S等人[13]改進了故障分析攻擊,提出了功能更加強大且實用的差分故障攻擊。差分故障攻擊一經提出,便得到了廣泛應用。1999年,KOCHER P等人[1]結合差分攻擊的思想,利用密碼設備運行時泄露的能量信息,提出了差分能量攻擊。攻擊者在不需要知道密碼算法具體實現細節的前提下,便能進行攻擊,顯著降低了側信道攻擊的難度。2004 年,BRIER E 等人[14]將統計學中的皮爾森相關系數引入差分能量攻擊中,并提出了相關能量攻擊,進一步提高了能量攻擊的威力。經過實踐驗證,相關能量攻擊始終是能量分析攻擊領域最為有效的方法。2002年,CHARI S等人[15]提出了模板攻擊,通過建模、匹配進行側信道攻擊。隨后,機器學習、深度學習技術被應用在模板類攻擊領域。2011 年,LERMAN L等人[16]使用隨機樹森林、支持向量機、自組織映射等監督式機器學習算法進行了基于機器學習的模板類攻擊。這之后,聚類[17]、回歸[18]等無監督式機器學習算法也被應用于模板類攻擊。在基于深度學習的模板類攻擊領域,多層感知機[19]、卷積神經網絡[20]、長短時記憶網絡[21]以及改進的網絡模型[22-23]都在特定的攻擊場景下獲得了較好的攻擊成果。
側信道攻擊的方法有許多種。若按照泄露信息的類型,可以分為計時攻擊、能量攻擊、電磁攻擊等;若按照對目標芯片的破壞程度,可以分為非入侵式攻擊、半入侵式攻擊和入侵式攻擊;若按照攻擊過程中是否需要建立模板,可以分為模板類攻擊和非模板類攻擊;其中,模板類攻擊又可以分為模板攻擊、隨機攻擊、基于機器學習的攻擊等,非模板類攻擊又可以分為簡單攻擊、差分攻擊、互信息攻擊、碰撞攻擊等。
在側信道攻擊領,最具有代表性的方法是模板攻擊和相關能量攻擊。
1.4.1 模板攻擊
模板攻擊是一種攻擊效率高、破壞能力強的攻擊方法。在攻擊中,假設攻擊者擁有與被攻擊的目標設備完全相同的密碼設備,并且可以控制密鑰的設置,即為建模設備。模板攻擊的攻擊過程大致可分為建模階段和匹配階段。在建模階段,攻擊者借助示波器捕獲建模設備加密過程中的大量功耗軌跡,以此來精確刻畫不同時刻目標設備加密過程中的能量泄露信息,建立起明文密鑰對、或運算中間值與多元功耗特征之間的映射模板;在匹配階段,攻擊者利用已經建立起來的映射模板對未知密鑰的功耗軌跡進行匹配攻擊。
取三組小鼠的腎組織,使用勻漿器進行勻漿,采用相應試劑盒檢測腎組織中超氧化物歧化酶(SOD)、丙二醛(MDA)、谷胱甘肽(GSH)的水平。
模板攻擊使用了多元正態分布模型,不僅可以刻畫功耗軌跡中信號信息,同時還可以對噪聲信息進行精確刻畫,是當前最強有力的攻擊方法。
1.4.2 相關能量攻擊
相關能量攻擊是非模板攻擊中一種常用的攻擊方法,其理論基礎是密碼算法運算中間值的漢明重量與真實功耗軌跡包含的特征點間存在相關性,如圖2 所示。當敏感中間值的漢明重量不同時,密碼設備泄露功耗軌跡上功耗點的電壓值也會存在一定的區別。

圖2 不同漢明重量的功耗軌跡
相關能量攻擊利用皮爾遜相關系數來衡量假設功耗泄露和真實功耗泄露間的相關性,當猜測密鑰正確時,假設功耗泄露與真實功耗泄露相應位置電壓幅值的變化相似,相關性最強,相關系數取得最大值。
相關能量攻擊利用功耗軌跡的數據依賴性和操作依賴性來攻擊密鑰,攻擊者不需要掌握密碼設備的詳細知識,實施簡單、高效,應用廣泛。
現有的側信道攻擊技術主要存在以下3個方面的不足。
(1)由于受外部環境等干擾因素的影響,示波器采集得到的原始信號信噪比較低,用于攻擊的重要信息在時間上分布稀疏。因此,在實施攻擊前,必須進行關鍵特征提取和原始信號的預處理操作。但這些操作需要結合具體場景和具體設備,由攻擊者憑借個人經驗主觀選擇。
(3)在實際的攻擊場景中,需要從目標設備上采集充足的數據樣本用于建模,但目標設備往往不受控,只能借助相似設備進行建模。目標設備與相似設備的差異性,使在相似設備上建立的模型與目標設備無法精準匹配。
密碼算法側信道攻擊技術自誕生以來,經過了多個階段的發展,當前主要呈現出3個方向的發展趨勢,具體如下。
2.2.1 攻擊過程更加自動化
傳統的側信道攻擊技術嚴重依賴于攻擊者的個人經驗。攻擊興趣點的選擇、原始信號中噪聲處理、對齊操作都離不開攻擊者的主觀判斷,增加了攻擊結果的不確定性。隨著攻擊技術的不斷發展,行業內出現了多種自動化的分析平臺,實現了攻擊流程中選點、信號預處理多個環節的自動化。
2.2.2 攻擊效率更加高效
側信道攻擊實驗所需目標設備、示波器、電磁探頭等基礎設備的性能不斷提升,使采集的原始信號信噪比更高;與此同時,攻擊所需要的假設泄露模型刻畫精度不斷提高,攻擊方法持續改進,直接提升了攻擊效率。
2.2.3 與新技術的融合更加深化
機器學習、深度學習在側信道攻擊中的成功應用,催化了更多新技術與側信道攻擊的融合發展。例如:重采樣技術可以用于緩解側信道攻擊中數據不平衡的問題;遷移學習可以解決建模設備與目標設備之間的差異性,實現攻擊模型可遷移性。
在高度信息化的時代,密碼芯片成為了各類電子設備信息安全的重要保障。密碼算法側信道攻擊技術的不斷發展,不僅能夠提升側信道安全性的檢測水平,而且能夠增強密碼芯片抗側信道攻擊能力,進而推動我國芯片技術與產業的蓬勃發展。