《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 抗故障攻擊的專用芯片存儲單元設計
抗故障攻擊的專用芯片存儲單元設計
來源:電子技術應用2011年第1期
朱巍巍, 嚴迎建, 段二朋
解放軍信息工程大學 電子技術學院, 河南 鄭州 450004
摘要: 在復用檢測和線性校驗碼檢測的基礎上,提出互補存儲、奇偶校驗和漢明碼校驗三種存儲單元的抗故障攻擊防護方案。應用這三種方案,用硬件描述語言Verilog設計了三種抗故障攻擊雙端口RAM存儲器,在Altera 公司的器件EP1C12Q240C8上予以實現。通過仿真驗證,三種帶故障檢測的RAM具有較高的故障檢測概率,而對硬件芯片性能影響不大。
中圖分類號: TP309.2
文獻標識碼: A
文章編號: 0258-7998(2011)01-0141-04
Special chip′s memory unit design to resistance fault attack
Zhu Weiwei, Yan Yingjian, Duan Erpeng
Institute of Electronic Technology, the PLA Information Engineering University, Zhengzhou 450004 China
Abstract: Based on duplication with comparison and linear code with comparison, three methods were used to thwart fault attack, those who called complementary register, parity detection and hamming code detection. And this paper design three kinds of duple RAM with these countermeasures by using hardware describe language verilog, realized in device EP1C12Q240C8 of Altera. And through modesim’s simulation and verification, it is proved that their fault detection rate is high but with little performance decreased.
Key words : fault attack; grouping detection; complementary register; parity detection; hamming code detection


    自1996年由Boneh等人[1]提出故障攻擊方法由簡單故障攻擊發展為差分故障攻擊、安全故障攻擊,攻擊的對象包括功能運算單元、存儲單元和狀態機,已對智能卡、密碼器件等專用芯片的安全造成很大威脅。其中,以存儲單元為對象建立的故障模型最為常用。Bar-El等人[2]建立向RSA密碼算法的私鑰存儲器中導入單比特故障的模型;Berzati等人[3]通過向模數N中導入故障成功獲得RSA密碼算法的私鑰。如何防護專用芯片中的存儲單元,抵抗故障攻擊成為專用芯片設計的一個重要方面。付小兵等人[4]利用奇偶校驗碼對128 bit的寄存器進行故障測驗,通過比較輸入數據與輸出數據中0的個數是否相等來檢測故障,這種方法對芯片性能影響較大,實時寄存數據時易造成誤判。Ocheretnij等人[5]利用奇偶校驗碼對ROM實現的S盒進行故障檢測,屬于固定表形式。Bar-El等人[2]提出復用比較的抗故障攻擊方案,但是不能夠檢測出同步對稱故障。
1 存儲單元的防護技術背景
    在抗故障攻擊的芯片設計中,存儲單元的常用防護措施是復用檢測和奇偶校驗碼檢測。復用檢測是指復制存儲單元,存儲數據時,把數據分別存儲在2個或多個存儲單元中;讀取數據時,把各個存儲單元中的數據讀出,通過比較讀取數據是否一致來檢測故障。奇偶校驗碼檢測是指為存儲數據添加奇偶校驗位,讀取數據時,重新計算數據的奇偶位,通過與原校驗位比對檢測故障。
    Ocheretnij等人[5] 把S盒設計為8進9出的查找表,附加位是奇偶校驗位。在故障監測過程中,計算輸入的校驗和,并與所有S盒的附加位“異或”,即得經S盒修正的奇偶校驗值。在此基礎上進一步設計了監測AES輪運算的奇偶校驗機制,奇偶校驗碼原理簡單,使用方便,但是只能檢測奇數個故障,檢測概率低。隨著數據位數的增加,只簡單的進行奇偶校驗編碼將降低設計的性能。本文主要針對大數存儲器進行設計,但是防護方法同樣適用于寄存器、緩存器等存儲單元。
2 抗故障攻擊的存儲單元設計
2.1 互補存儲單元設計

    復用檢測是重要的抗故障攻擊設計技術,具有故障檢測率高、設計簡單的優點。互補存儲單元在復用的基礎,存儲的內容是互反的,同時各自的存儲位置也是互反的,其結構如圖1所示。

    故障檢測函數EDF(Error Detection Function)是互補存儲器兩個輸出的函數,函數關系式為:
  
  顯然,當輸出XA和XA互反時,兩者每位的“異或”值恒為1,因此逐位相“與”的值恒為1。當兩者不互反時,判決位check值為0,表明存儲單元發生故障。互補存儲結構避免了簡單復用易受同步故障導入的攻擊,即向復用存儲單元的同一位置同時導入比特翻轉故障。
2.2 奇偶校驗存儲單元設計
    根據參考文獻[5]對S盒防護的策略,設計“在線”奇偶校驗編碼的大數存儲器。存儲單元的每個位置設計存儲一個字和一個校驗位,即33 bit。存儲數據時,數據先輸入校驗位編碼器PDC(Parity Detection Coder),獲得輸入字的校驗位,輸入字與校驗位合并存儲在存儲單元的一個位置。讀取數據時,輸出字和校驗位同時輸入PDC,計算所讀取數據(33 bit)的校驗值,獲得判決位check,由check檢測存儲器的故障。奇偶檢驗存儲單元結構如圖2所示。

    奇偶校驗編碼過程為逐位“異或”,PDC的輸入輸出函數為:
    
    輸出check=1,表明讀取數據與原數據不相符,即發生故障;若check=0,表明存儲單元可能無故障發生。奇偶校驗碼的故障檢測范圍僅限于奇數個故障位。由于碼間的最小距離越大,糾檢錯能力越強[6]。增加校驗位數能夠加大碼的最小距離,也就能夠提高故障檢測能力。結合字節故障模型,采取分組奇偶校驗方法,把輸入字分為4個字節,設置8個奇偶校驗位,每個校驗位檢測4個字節中的一個比特,能夠有效抵抗故障攻擊。

    編碼時,按校驗關系式計算出P0、P1、P2、P3,置于信息位之后;譯碼時,用監督矩陣乘以碼字,得S值,若S不等于0,則碼字中存在故障比特;反之,可能無故障發生。
    漢明碼的監測范圍是8 bit,采用分組漢明碼檢測的設計方法,把輸入字分為4個字節,對每一個字節分別進行漢明編碼,共得四組16 bit監督位。為了減小所需存儲空間,把四組監督位的對應位分別“異或”,獲得一組總監督位(4 bit),并與輸入字合并存儲在一個地址中。漢明碼檢測器HDC(Hamming Detection Coder)的設計結構如圖3所示。

    設:漢明編碼函數為P=H(x),x∈[0,28-1],P∈[0,11],P′為存儲單元中存儲的總監督位,對輸入字進行漢明編碼后的總監督位和讀取數據的校驗子、判決位分別為:

    輸出check=1,表明存儲單元中的某個字節發生故障;若check=0,則可能無故障發生。假如4個字節中發生對稱故障時,則check=0,不能正確反映故障發生情況。
3 功能驗證與分析
 設計實現了抗故障攻擊雙端口RAM存儲器,按字存儲,存儲深度為32 B。在均衡速度和面積的條件下,Quartus II6.0綜合結果如表1所示。

 在互補檢測、1位奇偶碼校驗、4位奇偶碼校驗和漢明碼檢驗防護方案中,互補檢測RAM的故障檢測概率最高。當奇偶校驗位增加時,故障檢測概率也會隨之增大,以一個字節的故障檢測情況進行仿真統計,4位奇偶校驗位數的故障檢測率是0.937 2,比1位奇偶位的故障檢測率提高了80%,但是僅增加了約0.9%的存儲負擔。權衡兩者利弊,4位奇偶校驗位檢測方案更可取。漢明碼的故障檢測能力與4位奇偶校驗碼相同,但是漢明碼能夠檢測單個字節中的兩個任意故障和連續發生的故障,故障檢測范圍更具有針對性,適用于以字節故障為模型的抗故障攻擊設計。漢明碼檢測RAM在Modesim中的仿真波形如圖4所示,check是高電平時表示發生故障,單個字節中的連續故障及其他不屬于對稱故障的多比特故障都能夠檢測出來。

    根據以上分析,存儲單元的抗故障攻擊設計,適合采用復用或線性校驗碼的方式實現,不僅具有較高的故障檢測概率,而且對設計的性能影響不大。本文提出的互補檢測、奇偶碼檢驗和漢明碼檢驗三種抗故障攻擊方案具有較廣的應用范圍,互補存儲單元適用于故障檢測率要求高和安全級別高的位置,奇偶校驗存儲單元適用于安全級別較低和隨機故障類型,漢明碼校驗存儲器適用于故障發生較集中、連續的場合。而且,同時存儲校驗位與數據位,實現了實時的故障檢測功能,避免了數據存儲讀取變換時的誤判行為。
參考文獻
[1] BONEH D, DEMILLO R A, LIPTON R J. On the importance of checking cryptographic protocols for faults,Advances in cryptology-EUROCRYPT′97 (W. Fumy,ed.)[J].Lecture Notes in Computer Science,Springer-Verlag,1997(1233): 37-51.
[2] HAGAI B E, CHOUKRI H, NACCACHE D, et al. The sorcerer′sapprentice guide to fault attacks[C].Cryptology ePrint  Archive, 2004.
[3] BERZATI A,CANOVASL C, GOUBIN L. Perturbating RSA public keys: An Improved Attack[C]. CHES 2008, LNCS 5154,2008.
[4] 付小兵,嚴迎建,朱巍巍.抗差分故障攻擊的AES密碼芯片設計[J].電子技術應用, 2009,39(5):153-156.
[5] OCHERETNIJ V, KOUZNETSOV G R, KARRI M G. On-line error detection and BIST for the AES encryption algorithm with Different S-Box Implementations.IEEE 2005.
[6] 趙琦,劉榮科.編碼理論[M].北京:北京航空航天大學出版社,2009.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 无翼乌日本漫画| 爱情岛论坛亚洲品质自拍视频网站| 国产精品爽爽va在线观看无码| 中文字幕亚洲一区二区va在线| 欧美jizzhd精品欧美| 免费一级毛片正在播放| 超级乱淫视频播放日韩| 国产精品影音先锋| www.日韩精品| 日本三级欧美三级人妇英文| 亚洲伊人久久大香线蕉| 男人操女人的免费视频| 国产一级毛片高清视频完整版| 深夜福利视频导航| 天天操天天射天天爽| 中文字幕综合网| 曰批免费视频播放免费| 亚洲爆乳少妇无码激情| 精品无码一区二区三区爱欲| 国产成人教育视频在线观看| 88xx成人永久免费观看| 妞干网免费视频观看| 久久久久久久久蜜桃| 欧美18videos极品massage| 亚洲色偷拍区另类无码专区| 老司机亚洲精品影院在线观看| 国产成人一区二区动漫精品| 69精品久久久久| 天堂网www在线资源| 不卡av电影在线| 日本牲交大片免费观看| 亚洲av无码片在线观看| 欧美视频久久久| 你懂的电影在线| 精品欧美一区二区精品久久| 国产做受视频120秒试看| 日本国产成人精品视频| 国产美女mm131爽爽爽毛片| JAPANESE国产在线观看播放| 岛国免费v片在线播放| 丰满少妇被猛烈进入无码|