夏璇 陳柏溈 鐘衛(wèi)東
武警工程大學(xué) 陜西 西安 710086
根據(jù)側(cè)信道攻擊的攻擊侵入程度,可分為非侵入式攻擊、半侵入式攻擊、侵入式攻擊等。侵入式攻擊是指攻擊者能夠直接接觸密碼芯片的內(nèi)部組件,通過破壞芯片的鈍化層獲得信息,將探針插入數(shù)據(jù)總線來獲得傳輸?shù)臄?shù)據(jù)。當(dāng)檢測到入侵時可將全部內(nèi)部數(shù)據(jù)清零來防御。半侵入式攻擊是指攻擊者不必破壞芯片鈍化層,而采用激光、X光等對芯片進(jìn)行照射攻擊,導(dǎo)致設(shè)備產(chǎn)生故障間接獲取秘密信息或者直接讀取秘密信息。非侵入式攻擊的開銷最小、不留痕,是設(shè)備安全的最大風(fēng)險隱患。非侵入式攻擊常利用設(shè)備運行時的電磁場變化等信息,側(cè)信道信息獲取方便,是最廣泛應(yīng)用的攻擊形式[1]。
按攻擊方式分類,側(cè)信道攻擊可劃分為計時攻擊、電磁攻擊、故障攻擊、緩存攻擊等。
計時攻擊利用加密算法所采用的各種運算執(zhí)行時間上的差異來恢復(fù)密鑰信息。密碼算法在執(zhí)行運行時間不固定的操作時,有限域乘法、冪指數(shù)運算等其具體的運行時間是由所涉及的操作數(shù)決定的。由于每步的操作數(shù)均依賴于所使用的主密鑰,所以算法的運行時間在一定程度上是依賴于所使用的密鑰的。據(jù)此,根據(jù)算法運行時間上的差異與所使用的主密鑰間的關(guān)系,利用統(tǒng)計方法分析時間差異即可恢復(fù)部分或全部密鑰信息。
電磁攻擊利用電磁探針捕獲密碼設(shè)備運行時的電磁場變化,電磁的變化與密碼設(shè)備運行的加密信息,秘鑰等高度相關(guān),可以通過對電磁場的變化數(shù)據(jù)進(jìn)行分析,還原出秘鑰或秘密信息。
故障攻擊多通過改變外界物理環(huán)境影響設(shè)備正常運行或在設(shè)備內(nèi)部產(chǎn)生時鐘毛刺、電壓突變等誘使密碼設(shè)備產(chǎn)生故障,導(dǎo)致錯誤執(zhí)行指令、跳過指令、數(shù)據(jù)誤讀等操作,并利用故障信息恢復(fù)密鑰或秘密信息。
緩存攻擊主要利用設(shè)備加密過程中的大量數(shù)據(jù)都存儲在緩存中且緩存數(shù)據(jù)與正在執(zhí)行的操作關(guān)聯(lián)性強(qiáng)。攻擊者可以利用設(shè)備運行緩存數(shù)據(jù)是否命中需要不同的運行時間來判斷設(shè)備執(zhí)行的操作恢復(fù)密鑰,或者攻擊者誘使緩存故障,收集故障信息來恢復(fù)密鑰。
攻擊者收集到數(shù)據(jù)之后,將對收集到的數(shù)據(jù)進(jìn)行進(jìn)一步分析,按照不同的分析方法可劃分為簡單側(cè)信道攻擊、差分側(cè)信道攻擊、相關(guān)功耗攻擊、模板攻擊等。
簡單側(cè)信道攻擊數(shù)據(jù)源多為設(shè)備運行時產(chǎn)生的功耗信息。攻擊者利用一條側(cè)信道功耗曲線,即只利用加密設(shè)備執(zhí)行的指令與側(cè)信道輸出之間的關(guān)系來恢復(fù)密鑰。但由于在實際環(huán)境中信道輸出時將有噪聲干擾,所以簡單側(cè)信道攻擊不易成功實現(xiàn)。
因此人們提出了使用統(tǒng)計手段的差分側(cè)信道攻擊。在差分側(cè)信道攻擊中,攻擊者主要利用猜測密鑰仿真功耗矩陣與實際功耗矩陣之間的統(tǒng)計關(guān)系,當(dāng)猜測的密鑰正確時,所對應(yīng)的兩組數(shù)據(jù)做差后就會產(chǎn)生明顯的尖峰。攻擊者一般同時利用多條側(cè)信道輸出軌跡,再利用統(tǒng)計方法分析這些輸出與加密數(shù)據(jù)之間的關(guān)系來恢復(fù)密鑰信息。
相關(guān)功耗攻擊通過建立漢明距離模型來量化數(shù)據(jù)之間的變化,而設(shè)備運行的功耗信息與數(shù)據(jù)變化呈線性關(guān)系。在本質(zhì)上差分功耗攻擊和相關(guān)功耗攻擊都是要發(fā)掘功耗與數(shù)據(jù)之間的相關(guān)性,主要的區(qū)別在于比較仿真能量消耗矩陣與實際功耗矩陣的方式不一樣。差分功耗攻擊使用對曲線進(jìn)行分類后做差值,而相關(guān)功耗攻擊對仿真能量與實際功耗曲線做相關(guān)性分析。實際功耗矩陣的每一列與仿真能量消耗矩陣的每一列進(jìn)行相關(guān)系數(shù)計算,就可以得到一個相關(guān)系數(shù)矩陣。相關(guān)系數(shù)的值越大,則匹配程度越高。矩陣中最大的相關(guān)系數(shù)所在的行數(shù)就是正確的密鑰猜測值。
模板攻擊被認(rèn)為是最強(qiáng)的側(cè)信道攻擊方法。模板攻擊利用密鑰和數(shù)據(jù)對來共同建立模板。此方法通過列舉每一個可能的中間值和數(shù)據(jù)對并結(jié)合來進(jìn)行模板庫的構(gòu)建。利用已經(jīng)建立好的模板庫對密鑰未知的待攻擊能量消耗曲線進(jìn)行匹配攻擊。匹配方法包括多元正態(tài)分布法,最小二乘法和相關(guān)系數(shù)法等。
面對側(cè)信道攻擊的防御策略主要分為隱藏和掩碼兩類。
隱藏的原理是阻斷加密過程密碼算法中間值與秘密信息的相關(guān)性。主要方法有:
(1)互補(bǔ)邏輯元件,通過平衡電路各個元件的功耗隱藏中間值與秘密信息的相關(guān)性。該方法成本較高,電路占用面積大,吞吐量低。
(2)插入隨機(jī)時間片,在正常密碼算法中加入空指令引起設(shè)備加密過程的延遲,不影響最終加密結(jié)果的正確性。此時采集的功耗曲線無法對齊,攻擊者分析難度大大增加。
(3)亂序,分析密碼算法中各操作順序的影響,將可改變順序的操作進(jìn)行順序調(diào)換。
掩碼的原理是將加密過程密碼算法中間值和秘密信息相關(guān)性隨機(jī)化。主要方法有:
(1)一階掩碼,將密碼算法中間值與布爾掩碼或乘法掩碼異或,隱藏密碼算法中間值與密碼信息的相關(guān)性。
(2)高階掩碼,通過門限方案將秘密信息進(jìn)行分割,將敏感信息劃分為多個部分的異或值,降低密碼算法中間值與秘密信息的相關(guān)性。
隨著5G網(wǎng)絡(luò)的不斷架設(shè),萬物互聯(lián)的物聯(lián)網(wǎng)時代即將到來,側(cè)信道攻擊技術(shù)對物聯(lián)網(wǎng)設(shè)備威脅不容忽視。為保護(hù)物聯(lián)網(wǎng)信息安全,不僅保證密碼算法的優(yōu)良數(shù)學(xué)抗攻擊性能,還要考慮其實際實現(xiàn)過程中各類側(cè)信道信息泄露引起的安全威脅。要在物聯(lián)網(wǎng)密碼算法輕量化的基礎(chǔ)上,提出能滿足安全性需求的防御方案。這方面工作可以以輕量級密碼算法的一階、二階實現(xiàn)為基礎(chǔ),不斷優(yōu)化算法占用的電路面積和消耗的時鐘周期,在輕量化、安全性、吞吐量方面達(dá)到良好平衡。