高 博,陳 琳,嚴迎建
(1.信息工程大學,河南 鄭州 450001;2.中國人民解放軍92957 部隊,浙江 舟山 316000)
側(cè)信道攻擊(Side Channel Attack,SCA)通過分析加密操作過程中泄漏的物理敏感信息與運算中間值假定功耗的統(tǒng)計特性,可輕松獲取嵌入式設(shè)備的秘密數(shù)據(jù),已經(jīng)成為嵌入式設(shè)備主要安全威脅之一。目前,側(cè)信道攻擊方法包括簡單能量攻擊、差分能量攻擊和相關(guān)能量攻擊等,均需要分析側(cè)信道信息中的所有泄漏點,攻擊效率的高低取決于對應(yīng)于同一操作的泄漏點在時域上對齊質(zhì)量。為了保證嵌入式設(shè)備的安全性,研究學者提出了眾多安全防護方法,包括盲化、隱藏、掩碼、平衡等,降低、掩蓋甚至消除側(cè)信道信息與數(shù)據(jù)的相關(guān)性,提高側(cè)信道攻擊的難度。目前,隱藏技術(shù)因其計算代價小、方法遷移性好和成本開銷低等優(yōu)點,已經(jīng)成為抗側(cè)信道攻擊的主要方法之一。作為典型的隱藏技術(shù),時間維度隨機化技術(shù)包括隨機延遲[1]、亂序操作[2]、隨機插入偽操作[3]和隨機變化工作時鐘頻率[4]等,使側(cè)信道信息在時域上失調(diào),達到降低側(cè)信道攻擊的攻擊效率,甚至可能導致攻擊失敗。
為了解決由時間維度隨機化導致攻擊效率低的問題,高效的時域?qū)R方法應(yīng)運而生。Clavier[5]等針對隨機插入偽操作,提出了基于滑動窗口的差分能量分析(Sliding Window Differential Power Analysis,SW-DPA);通過一個滑動窗口將多個相似泄漏點合并成一個,但該方法容易丟失部分的關(guān)鍵信息,且窗口大小的設(shè)置嚴重依賴于個人經(jīng)驗。Gennaro[6]等提出了靜態(tài)對齊(Static Alignment,SA)的方法,然而該方法只能用來消除觸發(fā)信號與時鐘信號不同步帶來的泄漏信號失調(diào)問題,且對噪聲極其敏感。Le[7]等提出了整合分析(Integrated Analysis,IA)的方法,但該方法抗噪性差,對齊效果欠佳。Woudenberg[8]等提出了基于動態(tài)時間扭曲(Dynamic Time Warping,DTW)的彈性對齊技術(shù),有效地解決了由隨機插入偽操作和隨機變化工作時鐘頻率引起的泄漏信號失調(diào)問題,但該方法的計算代價較大,難以應(yīng)用在實際場景中。Shiple[9]等提出了一種基于四階統(tǒng)計量的對齊方法,實現(xiàn)了失調(diào)泄漏信號的動態(tài)和局部對齊,但會丟失部分與密鑰相關(guān)的泄漏信息。Schfer[10]提出了結(jié)合小波變換和模擬退火算法的對齊方法,但模擬退火算法執(zhí)行速度嚴重影響了對齊算法的效率。Yang[11]等提出了基于shotgun 距離的局部泄漏信號對齊算法,但該方法僅能解決隨機插入偽操作導致的失調(diào)問題。Abdellatif[12]在電磁軌跡上證明了結(jié)合小波變換、包絡(luò)檢測預(yù)處理的彈性對齊方法能夠獲得更高的分析成功率,但需要的軌跡數(shù)量巨大。Jia[13]等提出了基于最長共同子序列的對齊方法,并在單通道、多通道泄漏分別驗證了方法的有效性,但該方法的時間復雜度和空間復雜度較高。總體上,目前提出的數(shù)據(jù)對齊方法雖然從一定程度上解決了側(cè)信息時域失調(diào)的問題,但仍存在對噪聲敏感、通用性差、效率低等問題。
針對現(xiàn)有時域?qū)R方法存在的問題,本文從泄漏信號形狀相似性度量角度出發(fā),將泄漏信號數(shù)據(jù)點間的對齊轉(zhuǎn)化為趨勢序列間的匹配,提出了一種基于趨勢序列動態(tài)匹配(Trend Series Dynamic Matching,TSDM)的對齊方法。在插入隨機延遲、偽操作、變頻時鐘及不同噪聲環(huán)境下的失調(diào)能量跡上驗證了本方法的性能,結(jié)果表明本方法的側(cè)信道關(guān)鍵信息保存度高、數(shù)據(jù)對齊效果好、抗噪性強。
時間維度隨機化技術(shù)通過改變同一操作的執(zhí)行周期,使得密碼設(shè)備泄露的側(cè)信道信息在時域上隨機化,消除、減弱甚至掩蓋敏感信息與泄露的側(cè)信道信息之間的相關(guān)性,進而實現(xiàn)降低側(cè)信道攻擊效率的目的。時間維度隨機化方法包括隨機插入偽操作、隨機延遲、改變時鐘頻率等,已經(jīng)成為主要防護技術(shù)之一。本節(jié)介紹3種時間維度隨機化技術(shù)的工作原理,分析其工作特性、優(yōu)勢與主要應(yīng)對策略,為提出本文的抗時間維度隨機化技術(shù)提供思路。
隨機插入偽操作技術(shù)通過在密碼算法執(zhí)行過程中插入若干個的隨機指令,利用隨機指令執(zhí)行泄露的側(cè)信道信息來降低、消除泄露信息與執(zhí)行過程間的相關(guān)性。插入指令的類型越私密,指令執(zhí)行的數(shù)量越隨機,呈現(xiàn)的隨機性就越強,防護的效果就越好。圖1 為由插入偽操作引發(fā)的能量跡時域失調(diào),其中能量跡1 為插入隨機偽操作的能量跡,能量跡2 為原始能量跡。從圖1 中可以明顯看出,由于隨機偽操作的插入,使得能量跡1 和2存在一定的時域偏移,這在一定程度上弱化了真實的相關(guān)性,進而降低側(cè)信道攻擊效率。
圖1 隨機插入偽操作導致的能量跡時域失調(diào)
隨機延遲插入技術(shù)通過在密碼算法執(zhí)行序列中添加隨機的等待時間,使關(guān)鍵信息點分散在時域上,進而掩蓋真實的側(cè)信息。與插入偽操作不同的是,插入的隨機延遲導致側(cè)信道信息的關(guān)鍵信息點在時域上更為分散,隨機性更強,防護效果更好。圖2 為由插入延遲導致的能量跡時域失調(diào),其中能量跡1 為原始能量跡,能量跡2 為插入了隨機延遲的能量跡。從圖中可以看出,由于延遲的插入,使得能量跡1 和2 存在一定的時域偏移。
圖2 插入隨機延遲導致的能量跡時域失調(diào)
隨機變化時鐘頻率技術(shù)通過控制變化密碼芯片加密過程的工作時鐘信號頻率,改變加密過程的執(zhí)行速度,降低攻擊效率。其安全性取決于工作時鐘頻率的變化,通常由內(nèi)部產(chǎn)生的隨機數(shù)確定。圖3 為變化時鐘頻率導致的能量跡時域失調(diào)。其中能量跡1 為時鐘頻率為24 MHz 時加密能量跡,能量跡2 為時鐘頻率為48 MHz時加密能量跡。從圖中可以看出,由于時鐘工作頻率的改變,使得能量跡1 和2 的長度存在較大差異,對應(yīng)于同一操作的功耗點發(fā)生了明顯的時域偏移,如果采用統(tǒng)一的分析過程和參數(shù),將會無法準確分析出正確的密鑰。
圖3 變化時鐘頻率導致的能量跡時域失調(diào)
若將能量跡當作多維隨機變量,時間維度的隨機化技術(shù)改變了密碼算法執(zhí)行過程中操作的執(zhí)行時刻,使得多個樣本在同一時刻的量值屬于不同維度變量;但包含最顯著相關(guān)性興趣點的尖峰形狀未受影響。因此,可以將各功耗點間的對齊轉(zhuǎn)化為變化趨勢的相似性度量、尖峰形狀間相似性匹配。通過提取趨勢信息,匹配尖峰形狀特征,便可攻破時間維度隨機化的防護。本文將從這一思路出發(fā),融合角度關(guān)鍵點的線性表示方法和余弦距離的動態(tài)時間扭曲方法,依據(jù)數(shù)據(jù)的趨勢和形狀特性,尋找并匹配趨勢一致的側(cè)信道信息,實現(xiàn)數(shù)據(jù)的高效對齊。
該方法受基于形狀的時間序列相似性度量[14]啟發(fā),利用角度關(guān)鍵點對能量跡進行分段線性表示,提取能量跡中尖峰形狀;并利用基于余弦距離的DTW 進行趨勢序列間的相似性度量,得到趨勢序列間的扭曲距離后,便可依照扭曲路徑完成能量跡對齊。接下來詳細介紹該對齊方法的原理。
本文以采用時間維度隨機化防護技術(shù)的密碼芯片為研究對象,工作過程中泄露的能量跡集為Traces={T1,T2,…,TN},Ti為第i條能量跡。
為了消除各功耗點間幅值上的偏移和尺度差別的影響,對每條能量跡進行了零均值歸一化處理。對于歸一化后的能量跡T'i,依次利用3 個連續(xù)功耗點形成的夾角變化值提取反映能量跡趨勢變化的關(guān)鍵點,得到能量跡關(guān)鍵點序列。
={x1,x2,…,xm}中任意連續(xù)的3 個樣本點xj-1、xj、xj+1,由xj-1、xj和xj、xj+1構(gòu)成的 兩條直線在xj處的夾角為αj,αj的計算方法如式(1)所示:
若xj處的角度變化值αj越小,xj-1、xj、xj+13 點連線越趨近于一條直線,趨勢變化越?。划敠羓大于設(shè)定的角度變化閾值η時,xj是關(guān)鍵點。
為了剔除噪聲引入的關(guān)鍵點,依照式(2)對所有關(guān)鍵點進行了篩選:
將能量跡第一點x1、所有關(guān)鍵點和最后一點xm按照時間順序進行合并,得到能量跡的關(guān)鍵點序列-T'i和關(guān)鍵點時間索引序列Ii。其對應(yīng)表征趨勢信息的向量序列為:
依照遞推公式(5),計算累積距離矩陣RiR,RiR的表示如式(6)所示:
根據(jù)構(gòu)造的累積距離矩陣RiR,以為起點p1,向上、左和對角3 個方向進行最大值尋優(yōu),將3 個方向累積距離最大值作為下一個路徑點p2,具體如式(7)所示。循環(huán)尋優(yōu),直到回到,即可找到最優(yōu)DTW路徑Pi={ps,…,p2,p1}。
依據(jù)扭曲路徑Pi,完成向量序列間的匹配,進而對齊兩條能量跡。具體實現(xiàn)過程如算法1 所示。
算法1: 基于趨勢序列動態(tài)匹配的對齊方法
輸入:能量跡Traces={T1,T2,…,TN},角度閾值η,幅度變化閾值ε;
算法1 中,第1~3 行完成了能量跡所有樣本點的零均值歸一化;第4~10 行篩選出能量跡角度關(guān)鍵點,得到了關(guān)鍵點序列;第11~13 行得到了能量跡形狀向量序列;第14~17 行依照式(6)、式(7)獲得扭曲路徑,返回對齊后的能量跡。
本文以典型的AES-128 加密算法為例,在單片機和FPGA 兩種實現(xiàn)平臺上,采集了由隨機延遲、隨機插入偽操作及變化芯片工作時鐘頻率引起的時域失調(diào)能量跡;利用TSDM 來對齊能量跡,并使用相關(guān)能量攻擊來攻擊對齊后的能量跡,計算出一階成功率[15]來比較其對齊效果。
本文分別采集了2 000 條、2 000 條、30 000 條由隨機延遲、隨機插入偽操作及變化工作時鐘頻率引起的時域失調(diào)能量跡,具體信息如表1 所示。
表1 能量跡信息
為了體現(xiàn)TSDM 對齊方法的性能,本文以經(jīng)典的靜態(tài)對齊SA[1]方法、整合對齊IA[7]方法、SW_DPA[6]方法、基于DTW[9]的彈性對齊方法作為對比。同時,為了驗證提出的TSDM 對齊算法的抗噪性,本文在原始能量跡中添加了適當?shù)脑肼?假設(shè)原始信號的信噪比為無窮大)。經(jīng)典方法的參數(shù)設(shè)置參考了文獻[13]。其中,IA 對齊方法的窗口長度設(shè)置為8;SW_DPA 對齊方法的時鐘周期長度設(shè)置為18,并將15 個樣本點合并為1 個樣本點;基于DTW 對齊方法的半徑設(shè)置為150。對于TSDM 方法,閾值η、ε的設(shè)定需要通過最小化擬合誤差綜合設(shè)定。閾值η取值過小會增加關(guān)鍵點數(shù)量降低對齊效率,取值過大會丟失敏感信息,降低對齊精度。經(jīng)反復實驗,將η設(shè)定為150°。由于能量跡進行了歸一化處理,限定在較小的數(shù)值區(qū)間里,ε設(shè)定為0.05。
圖4、圖5、圖6 分別為各對齊方法消除隨機延遲插入、隨機插入偽操作、改變時鐘頻率引發(fā)的能量跡失調(diào)影響后CPA 攻擊成功率對比圖。從圖4(a)中可以看出,在信噪比較高時,SA 對齊方法能夠精確地完成對應(yīng)于第一個S 盒輸出泄漏點間的模式匹配,且對齊效果非常理想,攻擊成功率達到100%需要能量跡數(shù)量約為105條;SW_DPA 方法完全沒有效果;DTW 方法攻擊成功率到100%需要能量跡約為500 條;IA 方法攻擊成功率在使用800 條能量跡時仍未達到100%。本文所提出的TSDM 對齊方法,依照能量跡的形狀趨勢完成了尖峰間的精準匹配,對齊后的分析效果優(yōu)于SA,攻擊成功率達到100%需要能量跡數(shù)量減少了約23.8%。從圖4(b)中可以看出,在噪聲較大時,SA 對齊方法由于無法準確選擇能量跡中特征突出的功耗點用于模式匹配,從而導致對齊效果較差;IA 對齊方法匹配后使用接近1 000 條能量跡的攻擊成功率僅為20%;SW_DPA、基于DTW 彈性的對齊方法也表現(xiàn)不佳,而TSDM 對齊方法剔除了噪聲引入的角度關(guān)鍵點,性能依舊穩(wěn)定,攻擊效果較好。
圖4 消除隨機延遲插入引發(fā)能量跡失調(diào)影響后攻擊效果對比
圖5 消除隨機插入偽操作引發(fā)能量跡失調(diào)影響后攻擊效果對比
圖6 消除改變時鐘頻率引發(fā)能量跡失調(diào)影響后攻擊效果對比
從圖5(a)中可以看出,在信噪比較高時,IA 方法優(yōu)于基于DTW 的對齊方法,攻擊成功率達到100%需要能量跡約595 條;SW_DPA 方法的性能出現(xiàn)較大的波動,在能量跡數(shù)量大約為1 150 條時成功率不升反降;TSDM對齊方法效果明顯優(yōu)于其他對齊算法,相比IA 方法,攻擊成功率達到100%需要能量跡數(shù)量減少了約24.2%。從圖5(b)中可以看出,在信噪比較低時,TSDM 對齊方法性能依舊穩(wěn)定,而基于DTW 的對齊方法完全失效,抗噪性較差。
圖6 為各對齊方法消除改變時鐘頻率引發(fā)的能量跡失調(diào)影響后攻擊成功率對比圖。由于IA 和SW_DPA 方法不適用于處理變頻時鐘導致的能量跡失調(diào),未進行對比?;贒TW 的對齊方法對噪聲極為敏感,性能下降明顯;TSDM 對齊方法性能依舊穩(wěn)健,相比DTW 方法,攻擊成功率達到100% 需要能量跡數(shù)量減少了約11.3%。
各對齊方法在消除3 種時間維度隨機化技術(shù)引發(fā)能量跡失調(diào)影響后效果較大差異的原因可以總結(jié)為:SA方法需要選擇能量跡最明顯的特征通過左右平移來實現(xiàn)模式匹配,所以在信噪比低時,SA 方法因無法準確選擇用于攻擊的興趣點而完全失效;IA 和SW_DPA 方法在對能量跡中功耗點整合時會丟失部分敏感信息,同時引入無用的累加噪聲;基于DTW 對齊方法需要完成逐點的匹配,使得計算復雜度高,并且容易受到噪聲和孤立點的干擾。本文提出的TSDM 對齊方法精確刻畫了能量跡的形狀特征,高質(zhì)量地保存了攻擊敏感信息,降低了能量跡的維度,在一定程度上抑制了噪聲干擾,使得該方法對齊效果準確高效、性能穩(wěn)健。
針對由隨機延遲插入、隨機插入偽操作、改變時鐘頻率等時間維度隨機化技術(shù)引起的能量跡時域失調(diào)問題,本文提出了TSDM 的對齊方法,將泄漏信號電壓值間的對齊轉(zhuǎn)化為趨勢序列的匹配,并在常見的實現(xiàn)平臺上及不同噪聲環(huán)境下驗證了該方法的性能。實驗結(jié)果表明,TSDM 對齊方法能夠在保存原有與密鑰相關(guān)泄漏的同時避免冗余信息的引入,信息利用率高,對齊效果好,并且抗噪性能好,通用性強。
本文僅用TSDM 對齊方法在3 種常見時間維度隨機化技術(shù)引起失調(diào)的能量跡上進行了驗證,下一步將使用TSDM 對齊方法對在采用組合防護策略(隱藏、掩碼)能量跡上進行攻擊。