《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > ECC處理器時間隨機化抗DPA攻擊設計
ECC處理器時間隨機化抗DPA攻擊設計
2015年電子技術應用第10期
陳 琳,嚴迎建,周 超,李默然
(解放軍信息工程大學,河南 鄭州450000)
摘要: 為了提高ECC密碼處理器的抗差分能量攻擊能力,提出了基于軟中斷的時間隨機化抗差分能量攻擊方法。首先分析了時間隨機化抗DPA攻擊的原理;然后結合ECC處理器的運算特征,設計了基于軟中斷的時間隨機化電路;最后搭建了功耗仿真平臺。對設計進行仿真分析,結果表明,本設計能夠滿足抵抗DPA攻擊,同時時間隨機化部分的功耗特性在能量跡上不易被區分剔除,達到了處理器抗DPA攻擊的設計要求。
中圖分類號: TP302.2
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.10.028

中文引用格式: 陳琳,嚴迎建,周超,等. 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.
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
Abstract: 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.
Key words : ECC;cipher processor;time randomization;differential power attack;soft interrupt

 

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處的差分功耗為:

  1.png

  差分功耗的數學期望為:

  E(TD[j])=E(T[i][j]|D[i][j]=0)-E(T[i][j]|D[i][j]=1)

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

  2.png

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

  E(T[j])=E(T*[i][j]|D[i][j]=0)-E(T*[i][j]|D[i][j]=1)

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

  T*[i][j]=T[i][j-k]

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

  3.png

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

  4.png

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

  5.jpg

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

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

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

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

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

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

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

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

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

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

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

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

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

007.jpg

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

001.jpg

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

002.jpg

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

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

003.jpg

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

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

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

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

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

  3.1 隨機延遲仿真驗證

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

004.jpg

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

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

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

005.jpg

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

  3.3 DPA攻擊仿真驗證

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

006.jpg

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


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产成人精品综合久久久 | 国产99久久久久久免费看 | 国产免费爱在线观看视频 | 3d动漫精品啪啪一区二区中 | 免费看国产视频 | 国产福利在线观看永久视频 | 丁香婷婷色综合 | 中文一级国产特级毛片视频 | 男人的天堂久久精品激情a 男人的天堂久久精品激情 男人的天堂久久 | 非洲特黄一级毛片高清视频 | 99久久一区 | 99久久国内精品成人免费 | xxxx成人| 久久精品只有这里有 | 国产片网站 | 人人草视频在线观看 | 国产精品亚洲综合一区在线观看 | 国产看色免费 | 久草综合视频在线 | 国产动作大片中文字幕 | 亚洲人成影院77777 | 国产精品免费视频网站 | 精品视频免费 | 99久久精品国产一区二区 | 日韩成人综合网 | 久久成人毛片 | 久久综合狠狠综合久久97色 | 好吊色青青青国产综合在线观看 | 日本男人的天堂 | 国产福利免费 | 国产综合在线观看 | 深爱激情成人 | 欧美特级午夜一区二区三区 | 丁香花五月婷婷开心 | 久久中文视频 | 国产色视频一区 | 精品一区二区三区无卡乱码 | 你懂的视频在线观看资源 | 泡泡影视伦理片 | a级毛片免费在线观看 | 污视频网站大全 |