高博 鄭喜艷 徐錦濤
(1.中國(guó)人民解放軍92957部隊(duì) 浙江舟山 316000;2.河南省計(jì)量科學(xué)研究院 河南鄭州 450001)
21世紀(jì)是信息科技的時(shí)代,物聯(lián)網(wǎng)、云計(jì)算、大數(shù)據(jù)、人工智能、5G通信等信息技術(shù)產(chǎn)業(yè)蓬勃發(fā)展,給人類社會(huì)帶來(lái)了翻天覆地的變化。與此同時(shí),信息產(chǎn)業(yè)的安全已經(jīng)成為了關(guān)乎國(guó)家軍事安全、經(jīng)濟(jì)安全、文化安全的重要保障。但惡意軟件入侵、黑客攻擊、個(gè)人隱私泄露等危害信息安全事件的頻頻發(fā)生,對(duì)信息產(chǎn)業(yè)的安全性構(gòu)成了極大的威脅,也對(duì)信息安全提出了更高的要求。
密碼技術(shù)作為支撐國(guó)家安全的三大核心技術(shù)之一,是信息安全的基礎(chǔ)和有效保障。以密碼算法為核心的密碼設(shè)備,如微控制器、智能卡、現(xiàn)場(chǎng)可編程邏輯門陣列(Field Programmable Gate Array,F(xiàn)PGA)、專用集成電路(Application Specific Integrated Circuit,ASIC)等成為了各種信息和數(shù)據(jù)安全系統(tǒng)的重要組成部分。密碼設(shè)備的安全性不僅取決于加密算法理論上的安全性,更加依賴于加密算法在軟件、硬件實(shí)現(xiàn)上的安全性。在密碼算法的物理實(shí)現(xiàn)中,無(wú)法避免地會(huì)向周邊環(huán)境中泄露與敏感中間值相關(guān)的物理信息,如運(yùn)行時(shí)間、能量消耗、電磁輻射、熱量、可見(jiàn)光強(qiáng)度等;側(cè)信道攻擊[1]便是利用這些泄露信息并結(jié)合統(tǒng)計(jì)工具來(lái)恢復(fù)密碼設(shè)備密鑰的方法[1]。側(cè)信道攻擊的出現(xiàn),實(shí)現(xiàn)了對(duì)密碼算法實(shí)現(xiàn)方式上的攻擊,其攻擊成本更低、破壞性更強(qiáng),對(duì)各類密碼設(shè)備的安全構(gòu)成了嚴(yán)重的威脅。
在實(shí)際應(yīng)用場(chǎng)景中,執(zhí)行密碼算法的密碼設(shè)備并不是一個(gè)無(wú)懈可擊的理想黑盒,而是持續(xù)向外部環(huán)境泄露多種類型物理信息。電容的充放電,累積呈現(xiàn)為半導(dǎo)體器件的能量消耗,半導(dǎo)體器件消耗能量累積,對(duì)外變現(xiàn)為密碼設(shè)備整體的能量消耗變化。具體來(lái)說(shuō),對(duì)于CMOS器件,電平的變化會(huì)引起電容的充放電,產(chǎn)生明顯的能量消耗。對(duì)于邏輯元件(如觸發(fā)器、寄存器),電平的翻轉(zhuǎn)(從0到1或從1到0)會(huì)產(chǎn)生明顯的能量消耗。對(duì)于總線,高電平或低電平的變化會(huì)引起驅(qū)動(dòng)總線的電容進(jìn)行充放電,產(chǎn)生明顯的能量消耗。因此,密碼設(shè)備的能量消耗變化對(duì)外整體呈現(xiàn)出很強(qiáng)的數(shù)據(jù)相關(guān)性和操作相關(guān)性[2]。
攻擊者利用統(tǒng)計(jì)學(xué)工具分析由泄露模型刻畫出的假設(shè)泄露與測(cè)量到的真實(shí)泄露間的關(guān)系,分而治之地恢復(fù)出子密鑰;當(dāng)所有子密鑰的破解后便可得到主密鑰。具體來(lái)說(shuō),在密碼設(shè)備運(yùn)行時(shí)真實(shí)泄露信息L與密鑰之間的理論關(guān)系模型如公式(1)所示。
L=f(H(p,k))+n(1)
式(1)中:p為輸入明文;k為子密鑰(如密鑰的某一字節(jié)或比特);H(p,k)為密碼算法中依賴于p和k的某個(gè)中間運(yùn)算變換值的假設(shè)泄露;f為H(p,k)到真實(shí)泄露信息L的映射;n為隨機(jī)噪聲。
側(cè)信道攻擊就是依據(jù)已知的輸入p和測(cè)量可知的真實(shí)泄露信息L來(lái)求解未知子密鑰k。側(cè)信道攻擊過(guò)程示意如圖1所示。
圖1 側(cè)信道攻擊過(guò)程示意圖
攻擊過(guò)程可以粗略地分為泄露信息采集和統(tǒng)計(jì)分析兩個(gè)階段。泄露信息采集階段主要根據(jù)密碼芯片泄露信息的類型選擇合適的測(cè)量工具,捕獲攻擊所需的泄露信息;統(tǒng)計(jì)分析階段主要利用捕獲的泄露信息,結(jié)合密碼算法的設(shè)計(jì)細(xì)節(jié),使用統(tǒng)計(jì)工具恢復(fù)子密鑰。
側(cè)信道攻擊技術(shù)的萌芽最早出現(xiàn)在1965年[3]。英國(guó)利用麥克風(fēng)監(jiān)測(cè)埃及駐倫敦大使館敲擊旋翼密碼機(jī)時(shí)的滴答聲,減少了破解密碼的工作量,輕松獲取了大使館使用的密碼。成體系的、理論性強(qiáng)的側(cè)信道攻擊技術(shù)出現(xiàn)在1996年[4]。KOCHER P通過(guò)測(cè)量RSA算法在模冪運(yùn)算中私鑰操作所需的時(shí)間量,提出了計(jì)時(shí)攻擊[1]。計(jì)時(shí)攻擊經(jīng)過(guò)多年推廣應(yīng)用[5-7],日漸發(fā)展成一種較為成熟的攻擊方法。值得注意的是,計(jì)時(shí)攻擊需要利用算法每次操作的定時(shí)變化,但在實(shí)踐中只能測(cè)量算法所有操作的總執(zhí)行時(shí)間,這使得計(jì)時(shí)攻擊僅適用于無(wú)防護(hù)措施的簡(jiǎn)單場(chǎng)景。
1997年,BONEH D等人[8-9]針對(duì)RSA的簽名方案,首次實(shí)施了故障分析攻擊。隨后,故障分析攻擊的有效性分別在DSA簽名方案[10]、橢圓曲線公鑰加密方案[11]、DES對(duì)稱密鑰加密方案[12]得到了驗(yàn)證。SKOROBOGATOV S等人[13]改進(jìn)了故障分析攻擊,提出了功能更加強(qiáng)大且實(shí)用的差分故障攻擊。差分故障攻擊一經(jīng)提出,便得到了廣泛應(yīng)用。1999年,KOCHER P等人[1]結(jié)合差分攻擊的思想,利用密碼設(shè)備運(yùn)行時(shí)泄露的能量信息,提出了差分能量攻擊。攻擊者在不需要知道密碼算法具體實(shí)現(xiàn)細(xì)節(jié)的前提下,便能進(jìn)行攻擊,顯著降低了側(cè)信道攻擊的難度。2004 年,BRIER E 等人[14]將統(tǒng)計(jì)學(xué)中的皮爾森相關(guān)系數(shù)引入差分能量攻擊中,并提出了相關(guān)能量攻擊,進(jìn)一步提高了能量攻擊的威力。經(jīng)過(guò)實(shí)踐驗(yàn)證,相關(guān)能量攻擊始終是能量分析攻擊領(lǐng)域最為有效的方法。2002年,CHARI S等人[15]提出了模板攻擊,通過(guò)建模、匹配進(jìn)行側(cè)信道攻擊。隨后,機(jī)器學(xué)習(xí)、深度學(xué)習(xí)技術(shù)被應(yīng)用在模板類攻擊領(lǐng)域。2011 年,LERMAN L等人[16]使用隨機(jī)樹(shù)森林、支持向量機(jī)、自組織映射等監(jiān)督式機(jī)器學(xué)習(xí)算法進(jìn)行了基于機(jī)器學(xué)習(xí)的模板類攻擊。這之后,聚類[17]、回歸[18]等無(wú)監(jiān)督式機(jī)器學(xué)習(xí)算法也被應(yīng)用于模板類攻擊。在基于深度學(xué)習(xí)的模板類攻擊領(lǐng)域,多層感知機(jī)[19]、卷積神經(jīng)網(wǎng)絡(luò)[20]、長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)[21]以及改進(jìn)的網(wǎng)絡(luò)模型[22-23]都在特定的攻擊場(chǎng)景下獲得了較好的攻擊成果。
側(cè)信道攻擊的方法有許多種。若按照泄露信息的類型,可以分為計(jì)時(shí)攻擊、能量攻擊、電磁攻擊等;若按照對(duì)目標(biāo)芯片的破壞程度,可以分為非入侵式攻擊、半入侵式攻擊和入侵式攻擊;若按照攻擊過(guò)程中是否需要建立模板,可以分為模板類攻擊和非模板類攻擊;其中,模板類攻擊又可以分為模板攻擊、隨機(jī)攻擊、基于機(jī)器學(xué)習(xí)的攻擊等,非模板類攻擊又可以分為簡(jiǎn)單攻擊、差分攻擊、互信息攻擊、碰撞攻擊等。
在側(cè)信道攻擊領(lǐng),最具有代表性的方法是模板攻擊和相關(guān)能量攻擊。
1.4.1 模板攻擊
模板攻擊是一種攻擊效率高、破壞能力強(qiáng)的攻擊方法。在攻擊中,假設(shè)攻擊者擁有與被攻擊的目標(biāo)設(shè)備完全相同的密碼設(shè)備,并且可以控制密鑰的設(shè)置,即為建模設(shè)備。模板攻擊的攻擊過(guò)程大致可分為建模階段和匹配階段。在建模階段,攻擊者借助示波器捕獲建模設(shè)備加密過(guò)程中的大量功耗軌跡,以此來(lái)精確刻畫不同時(shí)刻目標(biāo)設(shè)備加密過(guò)程中的能量泄露信息,建立起明文密鑰對(duì)、或運(yùn)算中間值與多元功耗特征之間的映射模板;在匹配階段,攻擊者利用已經(jīng)建立起來(lái)的映射模板對(duì)未知密鑰的功耗軌跡進(jìn)行匹配攻擊。
取三組小鼠的腎組織,使用勻漿器進(jìn)行勻漿,采用相應(yīng)試劑盒檢測(cè)腎組織中超氧化物歧化酶(SOD)、丙二醛(MDA)、谷胱甘肽(GSH)的水平。
模板攻擊使用了多元正態(tài)分布模型,不僅可以刻畫功耗軌跡中信號(hào)信息,同時(shí)還可以對(duì)噪聲信息進(jìn)行精確刻畫,是當(dāng)前最強(qiáng)有力的攻擊方法。
1.4.2 相關(guān)能量攻擊
相關(guān)能量攻擊是非模板攻擊中一種常用的攻擊方法,其理論基礎(chǔ)是密碼算法運(yùn)算中間值的漢明重量與真實(shí)功耗軌跡包含的特征點(diǎn)間存在相關(guān)性,如圖2 所示。當(dāng)敏感中間值的漢明重量不同時(shí),密碼設(shè)備泄露功耗軌跡上功耗點(diǎn)的電壓值也會(huì)存在一定的區(qū)別。
圖2 不同漢明重量的功耗軌跡
相關(guān)能量攻擊利用皮爾遜相關(guān)系數(shù)來(lái)衡量假設(shè)功耗泄露和真實(shí)功耗泄露間的相關(guān)性,當(dāng)猜測(cè)密鑰正確時(shí),假設(shè)功耗泄露與真實(shí)功耗泄露相應(yīng)位置電壓幅值的變化相似,相關(guān)性最強(qiáng),相關(guān)系數(shù)取得最大值。
相關(guān)能量攻擊利用功耗軌跡的數(shù)據(jù)依賴性和操作依賴性來(lái)攻擊密鑰,攻擊者不需要掌握密碼設(shè)備的詳細(xì)知識(shí),實(shí)施簡(jiǎn)單、高效,應(yīng)用廣泛。
現(xiàn)有的側(cè)信道攻擊技術(shù)主要存在以下3個(gè)方面的不足。
(1)由于受外部環(huán)境等干擾因素的影響,示波器采集得到的原始信號(hào)信噪比較低,用于攻擊的重要信息在時(shí)間上分布稀疏。因此,在實(shí)施攻擊前,必須進(jìn)行關(guān)鍵特征提取和原始信號(hào)的預(yù)處理操作。但這些操作需要結(jié)合具體場(chǎng)景和具體設(shè)備,由攻擊者憑借個(gè)人經(jīng)驗(yàn)主觀選擇。
(3)在實(shí)際的攻擊場(chǎng)景中,需要從目標(biāo)設(shè)備上采集充足的數(shù)據(jù)樣本用于建模,但目標(biāo)設(shè)備往往不受控,只能借助相似設(shè)備進(jìn)行建模。目標(biāo)設(shè)備與相似設(shè)備的差異性,使在相似設(shè)備上建立的模型與目標(biāo)設(shè)備無(wú)法精準(zhǔn)匹配。
密碼算法側(cè)信道攻擊技術(shù)自誕生以來(lái),經(jīng)過(guò)了多個(gè)階段的發(fā)展,當(dāng)前主要呈現(xiàn)出3個(gè)方向的發(fā)展趨勢(shì),具體如下。
2.2.1 攻擊過(guò)程更加自動(dòng)化
傳統(tǒng)的側(cè)信道攻擊技術(shù)嚴(yán)重依賴于攻擊者的個(gè)人經(jīng)驗(yàn)。攻擊興趣點(diǎn)的選擇、原始信號(hào)中噪聲處理、對(duì)齊操作都離不開(kāi)攻擊者的主觀判斷,增加了攻擊結(jié)果的不確定性。隨著攻擊技術(shù)的不斷發(fā)展,行業(yè)內(nèi)出現(xiàn)了多種自動(dòng)化的分析平臺(tái),實(shí)現(xiàn)了攻擊流程中選點(diǎn)、信號(hào)預(yù)處理多個(gè)環(huán)節(jié)的自動(dòng)化。
2.2.2 攻擊效率更加高效
側(cè)信道攻擊實(shí)驗(yàn)所需目標(biāo)設(shè)備、示波器、電磁探頭等基礎(chǔ)設(shè)備的性能不斷提升,使采集的原始信號(hào)信噪比更高;與此同時(shí),攻擊所需要的假設(shè)泄露模型刻畫精度不斷提高,攻擊方法持續(xù)改進(jìn),直接提升了攻擊效率。
2.2.3 與新技術(shù)的融合更加深化
機(jī)器學(xué)習(xí)、深度學(xué)習(xí)在側(cè)信道攻擊中的成功應(yīng)用,催化了更多新技術(shù)與側(cè)信道攻擊的融合發(fā)展。例如:重采樣技術(shù)可以用于緩解側(cè)信道攻擊中數(shù)據(jù)不平衡的問(wèn)題;遷移學(xué)習(xí)可以解決建模設(shè)備與目標(biāo)設(shè)備之間的差異性,實(shí)現(xiàn)攻擊模型可遷移性。
在高度信息化的時(shí)代,密碼芯片成為了各類電子設(shè)備信息安全的重要保障。密碼算法側(cè)信道攻擊技術(shù)的不斷發(fā)展,不僅能夠提升側(cè)信道安全性的檢測(cè)水平,而且能夠增強(qiáng)密碼芯片抗側(cè)信道攻擊能力,進(jìn)而推動(dòng)我國(guó)芯片技術(shù)與產(chǎn)業(yè)的蓬勃發(fā)展。