?

ECC處理器時間隨機化抗DPA攻擊設計

2015-12-16 08:03嚴迎建李默然
電子技術應用 2015年10期
關鍵詞:功耗中斷差分

陳 琳,嚴迎建,周 超,李默然

(解放軍信息工程大學,河南 鄭州450000)

ECC處理器時間隨機化抗DPA攻擊設計

陳琳,嚴迎建,周超,李默然

(解放軍信息工程大學,河南 鄭州450000)

為了提高ECC密碼處理器的抗差分能量攻擊能力,提出了基于軟中斷的時間隨機化抗差分能量攻擊方法。首先分析了時間隨機化抗DPA攻擊的原理;然后結合ECC處理器的運算特征,設計了基于軟中斷的時間隨機化電路;最后搭建了功耗仿真平臺。對設計進行仿真分析,結果表明,本設計能夠滿足抵抗DPA攻擊,同時時間隨機化部分的功耗特性在能量跡上不易被區分剔除,達到了處理器抗DPA攻擊的設計要求。

ECC;密碼處理器;時間隨機化;差分能量攻擊;軟中斷

0 引言

橢圓曲線密碼(Elliptic Curve Cryptography,ECC)[1]的算法安全性是建立在解橢圓曲線離散對數數學難題之上的,是目前公開密鑰密碼中單位比特長度安全性最高的密碼算法[2]。但是當密碼算法在硬件實現時,其安全性不僅依賴算法和協議的安全性,還要依賴實現的安全性。能量分析(Power Analysis,PA)[3]攻擊通過分析密碼設備工作時的能量消耗來獲取密碼算法的秘密信息,避開了求解數學難題,對密碼系統的安全造成了很大威脅。能量攻擊主要分為簡單能量(Simple Power Analysis,SPA)[4]攻擊和差分能量(Differential Power Analysis,DPA)[5]攻擊。其中DPA攻擊是利用密碼設備能量消耗對數據的依賴性,利用統計分析手段分析固定時刻設備的能量消耗,進而獲取運算過程中的秘密信息,成為最具威脅的能量攻擊手段,因此有必要對密碼設備進行抗DPA攻擊設計。

時間是影響DPA攻擊的重要因素,DPA攻擊之所以能夠成功,是因為密碼設備每次執行的相應運算操作都會出現在固定的時間點上,因此可以從時間角度對密碼設備進行抗DPA攻擊設計。時間隨機化通過在密碼設備運行過程中插入隨機時間延遲,擾亂功耗與操作和數據的關系,使統計分析手段失效,進而達到抗DPA攻擊的目的。目前常用的時間隨機化技術主要有多時鐘技術[6]、門控時鐘延遲技術[7]、冗余指令延遲等,其中多時鐘技術要求系統中有多個時鐘源,并且會增加系統的控制復雜度;門控時鐘延遲技術產生的隨機延遲部分表現在能量跡上為一段直線,很容易被區分剔除;由于ECC處理器的運算指令為多周期指令,且不同指令的周期不同,導致時間延遲的基本粒度較大,不利于控制。

針對上述問題,本文在分析了時間隨機化抗能量攻擊原理的基礎上,結合ECC處理器的處理特點,有針對性的設計了基于軟中斷的可配置時間隨機化抗DPA攻擊電路,并對其進行仿真分析,結果表明本文設計的時間隨機化電路能夠達到抗能量攻擊的目的。

1 時間隨機化抗DPA攻擊原理分析

設密碼設備正常工作時的功耗采樣信號為 T[i][j],其中i為采樣樣本,j為采樣點,由DPA攻擊的原理可知,需要樣本空間N足夠大,即需要采集N組功耗數據。定義一組區分函數 D[i][j]→(0,1),將采集到的功耗數據分為兩組 T0={T[i][j]|D[i][j]=0},T1={T[i][j]|D[i][j]= 1}。當 N足夠大時,集合T0、T1中的樣本數量近似相等,設為m,則采樣點j處的差分功耗為:

差分功耗的數學期望為:

設在運算過程中插入隨機延遲Δt后的功耗采樣信號為T*[i][j],攻擊者不知道插入隨機時間延遲的情況下,仍然使用攻擊正常工作設備時構造的區分函數D[i][j]來對數據進行分組處理,得到,,則采樣點j處的差分功耗為:

此時,差分功耗的數學期望為:

設隨機延遲Δt有w種可能值,延遲Δt等于k的概率為pk,則插入時間延遲后的采樣信號可表示為:

那么,插入隨機時間延遲后的差分功耗的數學期望可以表示為:

由DPA攻擊的原理知,正常情況下,當密鑰猜測正確時,差分功耗曲線會在時間點n處出現尖峰,設尖峰的幅值為A,其他點處與區分函數D不相關,所以差分功耗值約等于0,即:

當插入隨機延遲Δt后,密鑰猜測正確時的功耗曲線尖峰會分布在w+1個位置處,每個位置的差分功耗值為pkA,即:

以時間延遲 Δt服從均勻分布為例,即 pk=1/(w+1),則加入隨機延遲后的差分功耗尖峰會均勻分布在w+1個位置上,且每個尖峰的幅值為A/(w+1)。

2 ECC處理器的時間隨機化設計

為了更好地在ECC處理器中實現時間隨機化,達到抗能量攻擊的目的,必須分析時間隨機化的設計要求和ECC處理器的特征,提出合適的設計方案。

2.1ECC處理器時間隨機化設計方案

結合上一節的分析,為了兼顧安全和效率兩個方面,時間隨機化設計需要滿足以下要求:

(1)安全性好。功耗曲線上時間延遲部分不易被區分剔除,即要求時間延遲部分的功耗特性和算法中的正常運算操作的功耗特性相似,并且每次的延時時間隨機產生。

(2)靈活性高。在正常計算過程中插入的延遲時間越長,抗能量攻擊效果越好,但是對算法的效率影響也越大。因此,處理器的時間隨機化設計需要滿足不同的安全需求,能夠根據具體情況選擇一個安全與效率的平衡點,設置隨機時間延遲的范圍。

(3)方便使用。ECC處理器上的時間隨機化設計,必須方便用戶使用,用戶可以根據需要在任意時刻執行時間隨機化程序。

綜合上述安全性、靈活性與易用性要求,本文借鑒軟中斷[8]的思想,對密碼處理器進行時間隨機化設計。在ECC處理器指令RAM中,存入一段不影響密碼算法正常運算的冗余指令,利用中斷指令來執行中斷程序,隨機地調用冗余指令,當中斷結束后,正常程序的執行時間發生偏移,達到時間隨機化的目的。由于時間隨機化處理過程中執行的是冗余指令,所以其功耗特征與正常運算的功耗特征相似,單條能量跡中不易被區分。

2.2基于軟中斷的時間隨機化設計

時間隨機化設計的一個關鍵因素是延遲時間的隨機可控,既關系到抗能量攻擊的效果,又關系到對密碼運算的性能影響。為了設計靈活的控制單元,首先分析橢圓曲線密碼處理器的特征:

(1)主要運算模塊較少,橢圓曲線各層次的運算最終都是基于有限域層的運算實現的,域運算種類比較單一,主要包括為模乘、模逆、模加、模減等運算;

(2)運算指令周期較長,且同一運算指令處理不同長度數據時所用周期不同。表1給出了不同長度曲線對應的基本運算單元的時鐘周期數。

表1 不同長度曲線中基本運算的時鐘周期

橢圓曲線密碼處理器的這些特征為時間隨機化控制帶來難度,不適合以指令條數為基本單位進行時間隨機化控制。一方面,運算指令周期較長,以指令條數為粒度進行控制會對整個算法的性能影響較大;另一方面,不同的運算指令的周期不同,且處理不同長度曲線時,同一運算指令需要的時鐘周期不一致,這樣無法精確地控制插入的延時時間??紤]到用于實現隨機化的冗余指令對于密碼運算沒有實際的意義,為了靈活控制隨機化的程度,設計了以時鐘周期為基本粒度的隨機延遲控制單元,如圖1所示。在執行中斷程序時,生成一個隨機數作為延時控制計數器的計數周期,當計數器計數結束后,產生一個進位信號CO。利用CO信號控制中斷的返回,一方面參與生成運算模塊的結束信號 Valid,結束正在執行的冗余運算;另一方面用于生成堆棧寄存器的使能信號PP_EN和程序計數器PC的地址選擇信號 SEL,控制返回斷點執行正常程序。隨機數的值就是執行中斷的時間,即時間隨機化的延遲時間。

圖1 隨機時間延遲控制邏輯

采用軟中斷的時間隨機化設計,能夠保證中斷時間延遲部分的功耗特性與正常運算的功耗特性一致,在單條能量跡上無法將其區分出來。但是DPA攻擊是通過分析大量能量跡來實施的,當隨機化的首地址相同時,通過對比多條能量跡,仍然能夠將延遲時間短的隨機化部分區分出來,如圖2所示。

為了解決這個問題,將冗余指令RAM的首地址加上可控的隨機偏移地址作為中斷的跳轉地址,如圖3所示,這樣執行中斷的部分就很難在能量跡中被區分剔除。

圖2 能量跡對比分析示意圖

圖3 隨機中斷跳轉地址生成邏輯

上述的延遲時間隨機化設計解決了中斷時間靈活控制的問題,跳轉地址隨機化設計解決了隨機化功耗與正常運算功耗一致性的問題。本文設計了級數可變的偽隨機數發生器,通過實際需求配置其級數來控制隨機延遲和隨機偏移地址的范圍。在此基礎上設計了帶軟中斷的橢圓曲線密碼處理器控制結構,并設計了軟中斷指令,支持時間隨機化抗能量攻擊功能,如圖4所示。

圖4 帶中斷的橢圓曲線密碼處理器控制電路結構

3 時間隨機化抗能量攻擊能力驗證

由于抗DPA攻擊的時間隨機化設計要求每次運算都要發生隨機時間延遲,并且時間延時部分對應的功耗不能在單條能量跡上被區分,因此從三方面對設計進行驗證:

(1)仿真驗證運算操作的執行時間是否發生隨機延遲;

(2)采集處理器執行密碼運算的功耗曲線,觀察時間隨機化部分的功耗特性與正常運算時的功耗特性是否一致;

(3)進行DPA攻擊仿真實驗,驗證其抗DPA攻擊效果。

3.1隨機延遲仿真驗證

以 Montgomery點乘算法[9]為例,在處理器執行算法的過程中通過指令開啟中斷程序,任意兩次相同輸入的仿真中間結果如圖5所示。

圖5 基于軟中斷的時間隨機化設計仿真結果

由圖5可以看出,執行中斷程序時,程序計數器PC (Current_PC)的值轉向冗余程序地址,每次跳轉地址不同,達到了跳轉地址隨機的設計要求,每次中斷返回時間不同,達到了時間隨機化的設計要求。

3.2單條能量跡功耗特性一致性驗證

采集處理器在執行加入軟中斷的算法時的功耗信息,如圖6所示。

圖6 基于軟中斷的時間隨機化設計仿真功耗

可以看出冗余運算部分與正常運算程序的功耗特性一致,不容易被區分剔除,滿足了時間隨機化部分不可區分的設計要求。

3.3DPA攻擊仿真驗證

為了驗證基于軟中斷的時間隨機化設計的抗能量攻擊能力,以 Montgomery點乘算法為例,在執行時啟動軟中斷程序,分別配置隨機延遲范圍為0~32個時鐘周期和0~64個時鐘周期,對其分別進行DPA攻擊實驗,并與正常運算的DPA攻擊實驗對比,結果如圖7所示。

由圖7可知,正常運算的差分功耗曲線上攻擊點位置出現了明顯的功耗尖峰,當加入32以內的隨機時鐘延遲時,尖峰值分布在多個位置上,幅值明顯降低,理論上幅值是峰值的 1/32,由于運算多為多周期,同一數據保持較長時間,加上噪聲等影響,導致實際效果與理論分析效果有部分差異;當加入64以內的延遲時,差分功耗曲線上沒有明顯的尖峰值出現,達到了時間隨機化抗DPA攻擊的要求。

圖7 時間隨機化設計的DPA攻擊結果

4 結束語

本文分析了時間隨機化抗DPA攻擊的原理,結合ECC處理器的處理特征,設計了基于軟中斷的時間隨機化電路。搭建了功耗仿真平臺,驗證了本設計的抗DPA攻擊能力。在處理器系統級進行設計,與具體的算法無關,具有較強的通用性,滿足處理器的抗DPA攻擊需求。

[1]Victor Miller.Use of elliptic curves in cryptography[A].In:H.C.Williams.Advances in Cryptography-CRYPTO′85[C]. Heidelberg:Springer-Verlag,1986:417-426.

[2]倪樂.面向橢圓曲線密碼的正規基模乘單元研究與設計[D].鄭州:信息工程大學,2013.

[3]Stefan Mangard,Elisabeth Oswald,Thomas Popp.能量分析攻擊[M].北京:科學出版社,2010.

[4]段二朋,嚴迎建,李佩之.針對AES密碼算法 FPGA實現的CEMA攻擊[J].計算機工程與設計,2012,33(8):2926-2930.

[5]BUCEK J,NOVOTNY M.Differential power analysis under constrained budget:low cost education of hackers[C].Digital System Design(DSD),2013 Euromicro Conference on.IEEE,2013:645-648.

[6]樂大珩.抗能量攻擊的密碼芯片電路級防護關鍵技術研究[D].長沙:國防科學技術大學,2011.

[7]韓軍.信息安全芯片的防御攻擊技術研究[D].上海:復旦大學,2006.

[8]馬忠梅,馬廣云,徐英慧,等.ARM嵌入式處理器結構與應用基礎[M].北京:北京航空航天大學出版社,2002.

[9]Darrel Hankerson,Alfred Menezes,Scott Vanstone.橢圓曲線密碼學導論[M].北京:電子工業出版社,2005.

The design of anti-DPA attack with time randomization for ECC processor

Chen Lin,Yan Yingjian,Zhou Chao,Li Moran
(PLA Information Engineering University,Zhengzhou 450000,China)

In order to improve the resistance to differential power attack capability of the ECC cryptographic processor,this paper presents the method of time randomization based on soft interrupt resistance to DPA attack.First the principle of the time randomization against DPA attack is analyzed;and then combined with the operational characteristics of ECC processor,this paper designs a time randomized circuit based on soft interrupt request;finally,power simulation platform is built and the design result is simulated.Simulation results show that the design can resist the DPA attack,and power characteristics of time randomization part in energy trace are not easy to be culled.The design achieves requirements of against DPA attack for ECC cryptographic processor.

ECC;cipher processor;time randomization;differential power attack;soft interrupt

TP302.2

A

10.16157/j.issn.0258-7998.2015.10.028

2015-06-10)

陳琳(1975-),女,在讀博士,副教授,主要研究方向:信息安全。

嚴迎建(1973-),男,博士,教授,主要研究方向:信息安全。

周超(1975-),男,碩士,講師,主要研究方向:信息安全。

中文引用格式:陳琳,嚴迎建,周超,等.ECC處理器時間隨機化抗DPA攻擊設計[J].電子技術應用,2015,41(10):103-106.

英文引用格式:Chen Lin,Yan Yingjian,Zhou Chao,et al.The design of anti-DPA attack with time randomization for ECC processor[J].Application of Electronic Technique,2015,41(10):103-106.

猜你喜歡
功耗中斷差分
RLW-KdV方程的緊致有限差分格式
基于任務映射的暗硅芯片功耗預算方法
數列與差分
基于FPGA的中斷控制器設計*
跟蹤導練(二)(5)
千里移防,衛勤保障不中斷
揭開GPU功耗的面紗
數字電路功耗的分析及優化
IGBT模型優化及其在Buck變換器中的功耗分析
基于差分隱私的大數據隱私保護
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合