?

基于AES-128密碼算法的嵌入式系統安全*

2020-09-24 08:34黃燦英
沈陽工業大學學報 2020年5期
關鍵詞:功耗密鑰嵌入式

黃燦英,汪 瑩,陳 艷

(南昌大學 科學技術學院,南昌 330029)

嵌入式系統是一種控制或監測機器的專用計算機系統,廣泛應用于醫療電子設備、智能家居、物流運輸裝飾和電力控制系統等多個領域[1-2].為了實現嵌入式系統數據和信息的安全性,密碼技術作為信息安全領域的核心技術通常被用于該系統的具體運行中,其主要原理是利用計算復雜性理論,防止攻擊者獲取系統的數據和信息[3-4].在密碼技術的實際應用中,密碼算法和協議的設計可以充分保證其理論上的安全性,然而,其最容易被攻擊的弱點通常出現在其具體實現細節上.尤其是在具有開放性的嵌入式系統中,攻擊者可以輕松得到眾多關鍵運行數據,甚至直接獲取算法的密鑰,此時,嵌入式系統沒有任何安全性可言[5-6],所以,如何提高嵌入式系統中密碼算法的安全性是一個亟待解決的系統化問題.為了解決嵌入式系統的安全問題,必須從該類系統的基本組成結構出發,探索安全性較高的輕量實現方案,其具體措施是基于有限的帶寬和硬件資源,盡量使用較小的功耗和計算資源實現嵌入式系統所需的安全計算任務[7].在設計安全方案時,需要考慮系統的功耗、存儲和面積等多種因素.尤其需要注意的是,由于功耗分析方法具有較高的攻擊效率,所以設計該方案時,必須考慮其對功耗分析方法的抵抗能力[8-9].

本文從密碼算法的實現準則出發,研究了AES-128算法的實現問題.通過介紹該算法的S盒、行移位和列混合等多個計算部件的實現設計,給出了AES-128算法的實現方案.此外,使用差分功耗分析和相關性功耗分析的方法對該算法進行了多次攻擊,并統計其響應結果.結果表明,AES-128算法具有較好的安全性,可以滿足嵌入式系統的安全需求.

1 實現準則

在嵌入式系統中,密碼算法的實現必須考慮多方面因素,主要包括:1)實現平臺需選擇的軟件或硬件,這是設計人員首要考慮的問題;2)為了保證嵌入式系統的實時性,算法的實現方案應盡可能地提高其吞吐率;3)算法的安全強度是設計實現方案的核心指標,密碼算法的實現方案應該可以抵抗軟件攻擊和旁路攻擊等主流攻擊方法;4)需考慮算法的靈活性,即當嵌入式系統的某一協議或標準發生較小改變時,算法的實現方案經過微調之后依舊適應系統的運行;5)在算法實現過程中,設計人員應重點考慮密碼算法的實現成本,即芯片使用面積、功率消耗和能源消耗等,從而提高系統設備的續航性能.

另外,針對不同要求的嵌入式系統,密碼算法的實現方案需要考慮的優先級也略有不同.針對低端和高端系統,表1列舉了這兩種系統的安全實現方案應重點考慮的實現準則.其中,本文主要研究嵌入式系統平臺的安全實現方案,而用戶認證和信息完整性是方案的主要實現目標,所以,實現成本、功耗、吞吐率和安全性等性能指標是本文需要重點設計和分析的對象.為了平衡功耗、安全性、吞吐率和實現成本等指標,通過比較ECC-GF(2163)和SHA-1等算法,本文選用AES-128算法實現嵌入式系統平臺的安全設計.

2 AES-128算法實現

目前,AES標準是對稱密碼學中最流行的加密算法[10].在其加解密流程中,所有的計算操作主要可分為字節混淆、行移位、列混合和輪密鑰加.圖1展示了AES算法的加密和解密流程,其中,左邊是加密流程,右邊是解密流程,其加解密的流程均是10輪.

圖1 AES算法加解密流程圖

為了實現輕量化的AES-128算法,本文需要實現該算法某一輪的加密或解密運算.其中,由于AES-128算法的加解密流程是相似的,所以只需要實現該算法的一輪加密運算,再對其進行有機組合,即可實現整個算法流程.為了實現該算法的加密輪運算,本文使用了迭代結構,其具體架構如圖2所示.

為了實現圖2的迭代加密結構,本文一共需要實現20個128位結構的S盒,4個32位結構的S盒和2個8位結構的S盒,這些S盒被用于密鑰擴展的數量分別是4、4和1,主要承擔了字節替代的計算任務,不同位數的S盒結構是一致的.

圖2 AES算法加密輪的迭代結構

2.1 S盒的實現方法

在AES-128算法中,字節替代運算主要由S盒執行.一般而言,AES-128算法的S盒是一個乘法逆變換,也是該算法唯一的非線性變換[11-12].通常,S盒的實現難度是AES算法中最高的.令a表示經過輪密鑰加計算的明文,SR表示S盒的乘法逆變換,則S盒的計算公式可表示為

SR[a]=f(g(a))

(1)

式中:g為有限域上的乘法逆運算;f為仿射運算.

AES算法中有兩種常用的S盒實現方法[13],第一種方法是查表法,即查找記錄運算結果的表格,從而回避繁雜的邏輯運算,然而這種方法的內存要求較高,難以進行復用,不適用于嵌入式系統;第二種方法是基于有限域分解原理的實現方法,即通過將大域的元素分解為小域的元素,經過平方、乘法等一系列的運算,最終得到元素在大域中的乘法逆運算.根據S盒的數學公式,乘法逆運算g的逆變換是其本身,用公式表示為

(2)

綜合考慮式(1)、(2)可知,只要實現S盒中的乘法逆運算g、仿射變換f和f-1,就可以實現AES算法中的S盒變換,其電路結構圖如圖3所示.這種方法非常靈活,實現所需的芯片面積和成本均比較小,所以,該種方法廣泛地應用于AES算法中.

圖3 S盒的電路結構

本文使用VHDL語言對這兩種實現方法進行對比,通過使用ModelSim仿真手段計算了這兩種S盒實現的具體功耗.當時鐘頻率是10 MHz,輸入8位時,其仿真結果如表2所示.

表2 兩種S盒實現結構的功耗仿真結果

2.2 行移位

在算法流程中,明文以字節為單位輸入到行移位的寄存器中,而相應的部件再次排列寄存器中的字節,即可完成行移位的操作.需要說明的是,這一部分設備在控制時鐘信號時,能夠完成字節循環雙向移動的計算,其電路結構如圖4所示.

圖4 行移位電路結構圖

2.3 列混合

當算法進入到列混合運算之后,其中間數據仍然以字節為單位.當數據輸入之前,寄存器的使能信號為0,在數據輸入和完成時,寄存器的使能信號變為1,同時用相同的乘法系數對數據進行乘法計算,通過添加和循環轉移等操作實現列混合的運算,并將其結果存儲到寄存器中.計算完成后,其輸出結果將被傳輸到串并轉換單元,其電路結構如圖5所示.

圖5 列混合電路結構圖

3 功耗分析

在實現AES-128算法后,為了保證該算法的安全性,本文使用功耗分析對該算法進行了多次攻擊測試.功耗分析是一種旁路攻擊方法,其攻擊方法與電磁分析類似,攻擊原理是通過觀察和測量的方法,檢測加密電路中的多種特征,從而分析和推測算法中的計算與邏輯信息,最終得到其密鑰信息,破解其加密算法.

本文主要采用了差分功耗分析(DPA)和相關性功耗分析(CPA)對AES-128算法進行分析與測試.DPA是利用不同的功耗泄露數據進行差異推斷的統計分析方法,該方法對平均值做差,以功耗泄露數據為區分函數,其具體分析過程為

(3)

(4)

式中:Pi和Pj為真實功耗泄露數據;HK,i和HK,j分別為S0集合與S1集合的預測功耗泄露參數;K為待攻擊的子密鑰;P(t)為t時刻的功耗泄露數據.

CPA是一種基于皮爾森相關系數統計的分析方法,該方法通過統計功耗數據和算法中間變量的相關系數,獲取相應的密鑰信息,其具體分析過程為

(5)

式中:T(t)為算法中的中間變量;E和σ為某變量的期望和方差.

在DPA仿真測試平臺上,設置電路的時鐘頻率為2.5 MHz,其功耗數據的記錄周期為1 ns,在每個時鐘周期之內,平臺可以記錄400個數據點.因為DPA的攻擊時間處于AES的前兩輪,所以本文只需要記錄這兩輪的功耗數據.由于本文選擇了AES-128算法的前兩輪進行攻擊,所以得到了這兩輪的瞬時功耗數據如圖6所示.

圖6 AES-128算法的瞬時功耗泄露數據

由圖6可知,在輸出數據為20~50之后,電路的功耗泄漏趨近于0.在數據達到80以后,電路的功耗泄漏可以忽略不計.這意味著AES-128算法在數據量為0~20、50~77時更容易被分析,而一旦數據量超過80,則該算法基本難以被攻擊.利用DPA仿真測試平臺,本文對AES-128算法進行了6 000次仿真,其結果基本一致,即當密鑰的數據位數超過80之后,DPA就難以獲取正確的密鑰信息.

在CPA仿真測試平臺上,使用相同的時鐘頻率和數據周期等參數,本文也進行了類似的測試和分析,得到了預測功耗與實際功耗之間的相關系數隨數據個數變化的曲線,結果如圖7所示.

圖7 相關系數與數據個數的關系圖

由圖7可知,在數據個數達到60之后,則其相關系數就趨近于0.利用CPA仿真測試平臺,本文對AES-128算法進行了4 000次仿真,其統計結果大同小異,即當密鑰的位數達到60之后,目前的攻擊模型便難以得到密鑰信息.

根據DPA和CPA的仿真測試結果可知,針對這兩種主流的功耗分析方法,AES-128算法的密鑰信息很難發生泄露,安全性較好.

4 結 論

針對嵌入式系統的安全問題,本文提出了AES-128算法的輕量實現方案,并對該方案進行了功耗的仿真測試.測試結果表明,AES-128算法具有較好的安全性,但本文還未對該方案進行其他分析方法的測試和攻擊,該實現方案可能存在一些未知的安全隱患,所以,如何繼續優化AES-128算法的實現方案將是未來研究的方向.

猜你喜歡
功耗密鑰嵌入式
基于任務映射的暗硅芯片功耗預算方法
基于IMX6ULL的嵌入式根文件系統構建
幻中邂逅之金色密鑰
幻中邂逅之金色密鑰
Focal&Naim同框發布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
密碼系統中密鑰的狀態與保護*
基于ARM嵌入式的關于圖像處理的交通信號燈識別
TS系列紅外傳感器在嵌入式控制系統中的應用
TPM 2.0密鑰遷移協議研究
揭開GPU功耗的面紗
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合