• / 16
  • 下載費用:30 金幣  

一種抗錯誤注入攻擊的安全芯片加固方法及裝置.pdf

摘要
申請專利號:

CN201510355203.7

申請日:

2015.06.24

公開號:

CN104992126A

公開日:

2015.10.21

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 21/72申請日:20150624|||公開
IPC分類號: G06F21/72(2013.01)I 主分類號: G06F21/72
申請人: 深圳先進技術研究院
發明人: 邵翠萍; 李慧云; 徐國卿
地址: 518055廣東省深圳市南山區西麗大學城學苑大道1068號
優先權:
專利代理機構: 北京三友知識產權代理有限公司11127 代理人: 王天堯
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510355203.7

授權公告號:

||||||

法律狀態公告日:

2018.08.03|||2015.11.18|||2015.10.21

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本發明提供一種抗錯誤注入攻擊的安全芯片加固方法及裝置,包括以下步驟:對安全芯片中的所有邏輯單元分別在錯誤注入攻擊情況下進行加密或解密功能仿真,生成仿真結果;根據所述仿真結果查找故障字典,若在故障字典中查找到與所述仿真結果相同的值,則將相應的被錯誤注入攻擊的邏輯單元標記為敏感單元,直到遍歷完所有的邏輯單元為止,生成敏感單元列表;對敏感單元列表中的所有敏感單元進行加固。采用本發明方法及裝置可以只對敏感單元進行加固,產生的硬件開銷小;不需要設計人員精通密碼算法,也不需要了解電路的具體結構,適用于任意的密碼電路。

權利要求書

權利要求書
1.  一種抗錯誤注入攻擊的安全芯片加固方法,其特征在于,包括:
對安全芯片中的所有邏輯單元分別在錯誤注入攻擊情況下進行加密或解密功能仿真,生成仿真結果;
根據所述仿真結果查找故障字典,若在故障字典中查找到與所述仿真結果相同的值,則將相應的被錯誤注入攻擊的邏輯單元標記為敏感單元,直到遍歷完所有的邏輯單元為止,生成敏感單元列表;
對敏感單元列表中的所有敏感單元進行加固。

2.  如權利要求1所述的方法,其特征在于,所述對安全芯片中的所有邏輯單元分別在錯誤注入攻擊情況下進行加密或解密功能仿真,生成仿真結果,具體包括:
根據測試激勵文件和軟錯誤自動注入腳本對安全芯片中的所有邏輯單元分別在錯誤注入攻擊情況下進行加密或解密功能仿真,生成仿真結果;
所述測試激勵文件用于提供加密或解密運算所需要的輸入數據;
所述軟錯誤自動注入腳本用于控制被注入錯誤的邏輯單元和錯誤注入時序。

3.  如權利要求2所述的方法,其特征在于,所述測試激勵文件還用于控制軟錯誤自動注入腳本和敏感單元篩查腳本的執行;
所述敏感單元篩查腳本用于存儲所有的仿真結果,在故障字典中查找并判斷被注入錯誤的邏輯單元是否為敏感單元。

4.  如權利要求1所述的方法,其特征在于,還包括:按以下步驟生成故障字典:
分析錯誤注入攻擊方法;
根據錯誤注入攻擊方法建立錯誤注入攻擊模型;
根據錯誤注入攻擊模型確定加密或解密運算的敏感步驟;所述敏感步驟指在密碼算法運算過程中,易被錯誤注入攻擊且可用產生的錯誤數據結果分析出密鑰的運算步驟;
對所有敏感步驟分別注入所有可能的錯誤,輸入加密或解密運算所需要的數據,進行加密或解密運算;
收集所有的錯誤注入下的加密或解密運算的結果,生成故障字典。

5.  如權利要求1所述的方法,其特征在于,所述對敏感單元列表中的所有敏感 單元進行加固,包括:在安全芯片中定位所有敏感單元,并在所有敏感單元上插入傳感器。

6.  如權利要求1所述的方法,其特征在于,所述對敏感單元列表中的所有敏感單元進行加固,包括:用抗單粒子翻轉效應的加固單元替換敏感單元,所述抗單粒子翻轉效應的加固單元與敏感單元具有同等功能。

7.  一種抗錯誤注入攻擊的安全芯片加固裝置,其特征在于,包括:
仿真結果生成模塊,用于對安全芯片中的所有邏輯單元分別在錯誤注入攻擊情況下進行加密或解密功能仿真,生成仿真結果;
敏感單元生成模塊,用于根據所述仿真結果查找故障字典,若在故障字典中查找到與所述仿真結果相同的值,則將相應的被錯誤注入攻擊的邏輯單元標記為敏感單元,直到遍歷完所有的邏輯單元為止,生成敏感單元列表;
敏感單元加固模塊,用于對敏感單元列表中的所有敏感單元進行加固。

8.  如權利要求7所述的裝置,其特征在于,所述仿真結果生成模塊具體用于:根據測試激勵文件和軟錯誤自動注入腳本對安全芯片中的所有邏輯單元分別在錯誤注入攻擊情況下進行加密或解密功能仿真,生成仿真結果;
所述測試激勵文件用于提供加密或解密運算所需要的輸入數據;
所述軟錯誤自動注入腳本用于控制被注入錯誤的邏輯單元和錯誤注入時序。

9.  如權利要求8所述的裝置,其特征在于,所述測試激勵文件還用于控制軟錯誤自動注入腳本和敏感單元篩查腳本的執行;
所述敏感單元篩查腳本用于存儲所有的仿真結果,在故障字典中查找并判斷被注入錯誤的邏輯單元是否為敏感單元。

10.  如權利要求7所述的裝置,其特征在于,還包括:故障單元生成模塊,用于按以下步驟生成故障字典:
分析錯誤注入攻擊方法;
根據錯誤注入攻擊方法建立錯誤注入攻擊模型;
根據錯誤注入攻擊模型確定加密或解密運算的敏感步驟;所述敏感步驟指在密碼算法運算過程中,易被錯誤注入攻擊且可用產生的錯誤數據結果分析出密鑰的運算步驟;
對所有敏感步驟分別注入所有可能的錯誤,輸入加密或解密運算所需要的數據,進行加密或解密運算;
收集所有的錯誤注入下的加密或解密運算的結果,生成故障字典。

11.  如權利要求7所述的裝置,其特征在于,所述敏感單元加固模塊具體用于,在安全芯片中定位所有敏感單元,并在所有敏感單元上插入傳感器。

12.  如權利要求7所述的裝置,其特征在于,所述敏感單元加固模塊具體用于,用抗單粒子翻轉效應的加固單元替換敏感單元,所述抗單粒子翻轉效應的加固單元與敏感單元具有同等功能。

說明書

說明書一種抗錯誤注入攻擊的安全芯片加固方法及裝置
技術領域
本發明涉及電子加密技術領域,特別涉及一種抗錯誤注入攻擊的安全芯片加固方法及裝置。
背景技術
隨著信息技術的迅猛發展,信息安全重要性是毋庸置疑的。雖然安全芯片中有復雜的加解密算法和密鑰保護機制,然而近年來安全芯片易受到錯誤注入攻擊,從而導致在加密算法執行的過程中產生瞬態的邏輯錯誤,攻擊者通過分析正確的和錯誤的加密結果,最終引起密鑰的泄露。安全芯片的錯誤注入攻擊已被列為美國聯邦信息處理標準“FIPS 140-3”中重要的一類攻擊方式。
現有對安全芯片進行抗錯誤注入攻擊的防御主要有三種,最常見的一種是對整個加密電路做物理的防御,例如在整個芯片中加金屬網或者傳感器,這種方法的缺點是由于是對整塊芯片進行防御,所以增加了芯片的復雜性,尤其是類似傳感器這樣的模擬器件,無疑是增加了芯片的面積開銷,并且降低了性能。一種是在加密電路當中加入了錯誤檢測模塊,這種方法能夠在運算的同時,實時檢測是否有錯誤發生,但它是通過在密碼算法的主運算硬件之外,再加上另外一組獨立的運算模塊進行逆運算,將主運算的結果再經過逆運算后和主運算的輸入對比,從而實現并發錯誤檢測。這樣的冗余檢錯方法其缺點就是會造成近一倍的額外硬件開銷。另外一種常用的方法是針對具體的加密算法的攻擊弱點,從算法層面做改進,來達到抗錯誤注入攻擊的目的。顯然這種方法的缺點是只針對具體的某一種加密算法做改進,應用范圍太局限,而且要求設計人員精通密碼算法。
發明內容
本發明實施例提供了一種抗錯誤注入攻擊的安全加固方法,只對敏感單元進行加固,產生的硬件開銷小,且適用于任意的密碼電路。該方法包括:
對安全芯片中的所有邏輯單元分別在錯誤注入攻擊情況下進行加密或解密功能 仿真,生成仿真結果;
根據所述仿真結果查找故障字典,若在故障字典中查找到與所述仿真結果相同的值,則將相應的被錯誤注入攻擊的邏輯單元標記為敏感單元,直到遍歷完所有的邏輯單元為止,生成敏感單元列表;
對敏感單元列表中的所有敏感單元進行加固。
在一個實施例中,所述對安全芯片中的所有邏輯單元分別在錯誤注入攻擊情況下進行加密或解密功能仿真,生成仿真結果,具體包括:
根據測試激勵文件和軟錯誤自動注入腳本對安全芯片中的所有邏輯單元分別在錯誤注入攻擊情況下進行加密或解密功能仿真,生成仿真結果;
所述測試激勵文件用于提供加密或解密運算所需要的輸入數據;
所述軟錯誤自動注入腳本用于控制被注入錯誤的邏輯單元和錯誤注入時序。
在一個實施例中,所述測試激勵文件還用于控制軟錯誤自動注入腳本和敏感單元篩查腳本的執行;
所述敏感單元篩查腳本用于存儲所有的仿真結果,在故障字典中查找并判斷被注入錯誤的邏輯單元是否為敏感單元。
在一個實施例中,還包括:按以下步驟生成故障字典:
分析錯誤注入攻擊方法;
根據錯誤注入攻擊方法建立錯誤注入攻擊模型;
根據錯誤注入攻擊模型確定加密或解密運算的敏感步驟;所述敏感步驟指在密碼算法運算過程中,易被錯誤注入攻擊且可用產生的錯誤數據結果分析出密鑰的運算步驟;
對所有敏感步驟分別注入所有可能的錯誤,輸入加密或解密運算所需要的數據,進行加密或解密運算;
收集所有的錯誤注入下的加密或解密運算的結果,生成故障字典。
在一個實施例中,所述對敏感單元列表中的所有敏感單元進行加固,包括:在安全芯片中定位所有敏感單元,并在所有敏感單元上插入傳感器。
在一個實施例中,所述對敏感單元列表中的所有敏感單元進行加固,包括:用抗單粒子翻轉效應的加固單元替換敏感單元,所述抗單粒子翻轉效應的加固單元與敏感單元具有同等功能。
本發明實施例提供了一種抗錯誤注入攻擊的安全芯片加固裝置,只對敏感單元進行加固,產生的硬件開銷小,且適用于任意的密碼電路。該裝置包括:
仿真結果生成模塊,用于對安全芯片中的所有邏輯單元分別在錯誤注入攻擊情況下進行加密或解密功能仿真,生成仿真結果;
敏感單元生成模塊,用于根據所述仿真結果查找故障字典,若在故障字典中查找到與所述仿真結果相同的值,則將相應的被錯誤注入攻擊的邏輯單元標記為敏感單元,直到遍歷完所有的邏輯單元為止,生成敏感單元列表;
敏感單元加固模塊,用于對敏感單元列表中的所有敏感單元進行加固。
在一個實施例中,所述仿真結果生成模塊具體用于:根據測試激勵文件和軟錯誤自動注入腳本對安全芯片中的所有邏輯單元分別在錯誤注入攻擊情況下進行加密或解密功能仿真,生成仿真結果;
所述測試激勵文件用于提供加密或解密運算所需要的輸入數據;
所述軟錯誤自動注入腳本用于控制被注入錯誤的邏輯單元和錯誤注入時序。
在一個實施例中,所述測試激勵文件還用于控制軟錯誤自動注入腳本和敏感單元篩查腳本的執行;
所述敏感單元篩查腳本用于存儲所有的仿真結果,在故障字典中查找并判斷被注入錯誤的邏輯單元是否為敏感單元。
在一個實施例中,還包括:故障單元生成模塊,用于按以下步驟生成故障字典:
分析錯誤注入攻擊方法;
根據錯誤注入攻擊方法建立錯誤注入攻擊模型;
根據錯誤注入攻擊模型確定加密或解密運算的敏感步驟;所述敏感步驟指在密碼算法運算過程中,易被錯誤注入攻擊且可用產生的錯誤數據結果分析出密鑰的運算步驟;
對所有敏感步驟分別注入所有可能的錯誤,輸入加密或解密運算所需要的數據,進行加密或解密運算;
收集所有的錯誤注入下的加密或解密運算的結果,生成故障字典。
在一個實施例中,所述敏感單元加固模塊具體用于,在安全芯片中定位所有敏感單元,并在所有敏感單元上插入傳感器。
在一個實施例中,所述敏感單元加固模塊具體用于,用抗單粒子翻轉效應的加固 單元替換敏感單元,所述抗單粒子翻轉效應的加固單元與敏感單元具有同等功能。
在本發明實施例中,通過對安全芯片中的所有邏輯單元分別在錯誤注入攻擊情況下進行加密或解密功能仿真,然后根據仿真結果和故障字典查找被錯誤注入攻擊的敏感單元,最后對敏感單元進行加固,與現有的抗錯誤注入攻擊的方法相比,使用本發明方法及裝置只需對敏感單元進行加固即可,產生的硬件開銷小;不需要設計人員精通密碼算法,也不需要了解電路的具體結構,適用于任意的密碼電路。
附圖說明
此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,并不構成對本發明的限定。在附圖中:
圖1是本發明實施例提供的一種抗錯誤注入攻擊的安全芯片加固方法流程圖;
圖2是本發明實施例提供的一種故障字典生成流程圖;
圖3是本發明實施例提供的一種具體的抗錯誤注入攻擊的安全芯片加固方法流程圖;
圖4是本發明實施例提供的一種抗錯誤注入攻擊的安全芯片加固裝置結構圖。
具體實施方式
為使本發明的目的、技術方案和優點更加清楚明白,下面結合實施方式和附圖,對本發明做進一步詳細說明。在此,本發明的示意性實施方式及其說明用于解釋本發明,但并不作為對本發明的限定。
現有的對安全芯片進行抗錯誤注入攻擊的防御方法,大部分是以硬件開銷作為代價,還有的是只針對一種加密算法做改進,使得應用范圍局限,且要求設計人員必須精通密碼算法。如果可以提出一種過程簡單的抗錯誤注入攻擊的防御方法,且不要求設計人員精通密碼算法,也不需要了解電路的具體結構,同時還不會產生高額的硬件開銷,就能克服現有技術中存在的問題。基于此,本發明提出一種抗錯誤注入攻擊的安全加固方法及裝置。
圖1是本發明實施例提供的一種抗錯誤注入攻擊的安全芯片加固方法流程圖,如圖1所示,該方法包括:
步驟101:對安全芯片中的所有邏輯單元分別在錯誤注入攻擊情況下進行加密或 解密功能仿真,生成仿真結果;
步驟102:根據所述仿真結果查找故障字典,若在故障字典中查找到與所述仿真結果相同的值,則將相應的被錯誤注入攻擊的邏輯單元標記為敏感單元,直到遍歷完所有的邏輯單元為止,生成敏感單元列表;
步驟103:對敏感單元列表中的所有敏感單元進行加固。
具體實施時,在對安全芯片中的所有邏輯單元(包括組合邏輯單元和時序邏輯單元)分別進行錯誤注入攻擊情況下的加密或解密功能仿真之前,首先要生成故障字典,故障字典是所有的有效錯誤攻擊的加密或解密結果的集合,其生成步驟如圖2所示,具體為:
1)分析錯誤注入攻擊方法;
2)根據錯誤注入攻擊方法建立錯誤注入攻擊模型;
3)根據錯誤注入攻擊模型確定加密或解密運算的敏感步驟;所述敏感步驟指在密碼算法運算過程中,容易被錯誤注入攻擊,并且由此產生的錯誤數據結果可以用來分析出密鑰的運算步驟;
4)對所有敏感步驟分別注入所有可能的錯誤,輸入加密或解密運算所需要的數據,進行加密或解密運算;
其中,對步驟4)進行詳細描述,具體為:
41)在所有敏感步驟中選擇一個敏感步驟A;
42)在敏感步驟A中注入一個錯誤;
43)輸入一組加密或解密運算所需要的數據,進行加密或解密運算;
44)記錄通過步驟43)獲得的加密或解密運算結果;
45)重復步驟41)至44),直到遍歷完敏感步驟A中所有可能注入的錯誤;
46)重復步驟41)至45),直到遍歷完所有的敏感步驟。
5)收集上述所有的錯誤注入下的加密或解密運算的結果,生成故障字典。
在生成了故障字典之后,開始進行錯誤注入情況下的加密或解密功能仿真。具體的,根據測試激勵文件和軟錯誤自動注入腳本對原始電路的網表文件進行加密或解密功能仿真,生成仿真結果,且所有的仿真結果都記錄在敏感單元篩查腳本中。在這一步驟中涉及到的原始電路的網表文件、測試激勵文件和軟錯誤自動注入腳本同樣是在該步驟開始之前生成的,作為用戶安全加固設計的輸入文件。
其中,原始電路的網表文件用于描述沒有經過安全性加固的安全芯片中的密碼電路(網表是指用基礎的邏輯門來描述數字電路連接情況的描述方式,由于邏輯門陣列有著連線表一樣的排列外觀,因此稱之為“網表”,網表通常傳遞了電路連接方面的信息,例如模塊的實例、線網以及相關屬性文件)。
測試激勵文件用于提供安全芯片中的加密或解密運算所需要的輸入數據,并且控制軟錯誤自動注入腳本和敏感單元篩查腳本的執行。由于仿真結果要和故障字典中的數據去對比,所以在進行功能仿真時,加密或解密運算中輸入的數據必須要和生成故障字典的輸入數據一致。
軟錯誤自動注入腳本的功能是控制被注入錯誤的邏輯單元(標準單元庫提供的最小邏輯單元)和錯誤注入時序。每次被錯誤注入的邏輯單元可以是一個或者多個,這個根據錯誤注入模型決定。本發明方法中每次被錯誤注入的邏輯單元為一個。軟錯誤自動注入腳本負責遍歷完安全芯片中的所有邏輯單元和所有的加密或解密運算周期。
具體實施時,對原始電路的網表進行錯誤注入下的功能仿真(即對安全芯片中的所有邏輯單元分別在錯誤注入攻擊情況下進行加密或解密功能仿真)具體過程如下:選擇一個時鐘周期作為錯誤注入的時間,選擇加密電路中的一個邏輯單元處于第一個時鐘周期的錯誤注入攻擊下,通過測試激勵文件輸入加密或解密運算所需要的數據,開始加密或解密運算,等加密或解密運算結束,將錯誤注入攻擊的時間移到下一個時鐘周期,錯誤注入攻擊的對象不變,繼續進行功能仿真,直到遍歷完所有的加密或解密運算周期,獲得仿真結果,并將其存儲在敏感單元篩查腳本中,完成此次仿真之后,再將錯誤注入到下一個邏輯單元,重復上面的仿真過程,直到遍歷完加密電路中所有的邏輯單元。
在遍歷完加密電路中所有的邏輯單元之后,利用敏感單元篩查腳本查找故障字典,將所有仿真結果與故障字典中的值進行比對,如果在故障字典中找到與敏感單元篩查腳本中的某一個仿真結果相同的值,則將該仿真結果相對應的錯誤注入邏輯單元標記為敏感單元,直到對比完所有的仿真結果為止,得到一個敏感單元列表。
上述過程是在所有的邏輯單元進行錯誤注入攻擊下的加密或解密功能仿真之后,將所有的仿真結果與故障字典中的值對比,具體實施時,還可以在每一次錯誤注入下的加密或解密功能仿真之后,將得到的一個仿真結果與故障字典中的值進行比對,如果在故障字典中找到與該仿真結果相同的值,就將該邏輯單元標記為敏感單元;若在 不同時鐘周期下注入錯誤到邏輯單元的仿真結果都未在故障字典中查找到,則該邏輯單元不是敏感單元,則對下一個邏輯單元進行錯誤注入攻擊情況下的加密或解密功能仿真,直到遍歷完加密電路中所有的邏輯單元為止,具體的過程如圖3所示。
在得到敏感單元列表之后,需要對敏感單元列表中所有的敏感單元進行加固,加固方法可以有多種,具體的可以采用如下兩種方法來進行加固,一種是在版圖級的密碼電路(即安全芯片)中定位所有敏感單元,并分別在敏感單元的相應位置上加上傳感器;一種是僅將安全芯片(也可以說是加密電路)中的敏感單元替換成抗單粒子翻轉效應SEU(Single Event Upset)的加固單元,其中,抗單粒子翻轉效應的加固單元與敏感單元具有同等功能。具體的,因敏感單元可能是與門、非門、或門等的任一種邏輯門,且各種邏輯門具有不同的功能,所以當用抗單粒子翻轉效應SEU(Single Event Upset)的加固單元對敏感單元進行替換時,必須是用具有相同功能的抗SEU的邏輯門對敏感單元進行替換,即用與門替換與門,非門替換非門,或門替換或門。這些加固單元可以由工藝廠商提供的加固標準單元庫中選擇,也可以自己設計這個加固單元庫。
以上的方法步驟全部都是自動化的過程,因為故障字典、軟錯誤自動注入腳本是在之前就生成好的,本發明方法中直接調用這兩個文件就可以,所以利用本發明方法進行安全芯片的抗錯誤注入攻擊的安全加固設計時,不需要掌握密碼算法的原理和錯誤注入攻擊的方法,同時采用本發明方法不增加電路的硬件和時間開銷,適用于任意的密碼電路。
基于同一發明構思,本發明實施例中還提供了一種對抗錯誤注入攻擊的安全芯片進行加固的裝置,如下面的實施例所述。由于對抗錯誤注入攻擊的安全芯片進行加固的裝置解決問題的原理與對抗錯誤注入攻擊的安全芯片進行加固的方法相似,因此對抗錯誤注入攻擊的安全芯片進行加固的裝置的實施可以參見對抗錯誤注入攻擊的安全芯片進行加固的方法的實施,重復之處不再贅述。以下所使用的,術語“單元”或者“模塊”可以實現預定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現,但是硬件,或者軟件和硬件的組合的實現也是可能并被構想的。
圖4是本發明實施例提供的一種對抗錯誤注入攻擊的安全芯片進行加固的裝置結構圖,如圖4所示,該裝置包括:
仿真結果生成模塊401,用于對安全芯片中的所有邏輯單元分別在錯誤注入攻擊情況下進行加密或解密功能仿真,生成仿真結果;
敏感單元生成模塊402,用于根據所述仿真結果查找故障字典,若在故障字典中查找到與所述仿真結果相同的值,則將相應的被錯誤注入攻擊的邏輯單元標記為敏感單元,直到遍歷完所有的邏輯單元為止,生成敏感單元列表;
敏感單元加固模塊403,用于對敏感單元列表中的所有敏感單元進行加固。
具體實施時,仿真結果生成模塊401具體用于:根據測試激勵文件和軟錯誤自動注入腳本對安全芯片中的所有邏輯單元分別在錯誤注入攻擊情況下進行加密或解密功能仿真,生成仿真結果。其中,測試激勵文件用于提供加密或解密運算所需要的輸入數據;另外還用于控制軟錯誤自動注入腳本和敏感單元篩查腳本的執行。
軟錯誤自動注入腳本用于控制被注入錯誤的邏輯單元和錯誤注入時序。
敏感單元篩查腳本用于存儲所有的仿真結果,在故障字典中查找并判斷被注入錯誤的邏輯單元是否為敏感單元。
具體實施時,還有一個故障單元生成模塊,用于按以下步驟生成故障字典:
分析錯誤注入攻擊方法;
根據錯誤注入攻擊方法建立錯誤注入攻擊模型;
根據錯誤注入攻擊模型確定加密或解密運算的敏感步驟;所述敏感步驟指在密碼算法運算過程中,易被錯誤注入攻擊且可用產生的錯誤數據結果分析出密鑰的運算步驟;
對所有敏感步驟分別注入所有可能的錯誤,輸入加密或解密運算所需要的數據,進行加密或解密運算;
收集所有的錯誤注入下的加密或解密運算的結果,生成故障字典。
具體實施時,敏感單元加固模塊403具體用于,在安全芯片中定位所有敏感單元,并在所有敏感單元上插入傳感器。或者用抗單粒子翻轉效應的加固單元替換敏感單元,所述抗單粒子翻轉效應的加固單元與敏感單元具有同等功能。
本發明以RSA為例,通過C語言生成故障字典;用VCS仿真篩查敏感單元,得到敏感單元列表,再用Encounter生成的版圖上定位出敏感單元。實驗結果與理論分析一致,證明該方法可行。其中,表1為RSA硬件模塊的加解密參數,進行仿真所必需的。
表1


表2為故障字典中部分有效錯誤的加密或解密數據。
表2


表3為通過本發明方法進行仿真之后獲得的部分仿真結果(第3列),這些仿真結果與表2中的數據相同,從而確定敏感單元列表(第2列)。
表3


表2中的數據和表3中的仿真結果是一樣的,試驗結果和理論分析是一致的,證明本發明方法是可行的。
綜上所述,本發明方法及裝置使得整個加固設計變得簡單;不要求設計人員精通加密算法,也不需要了解加密電路的具體結構,適用于任意的密碼電路;由于只對敏感單元進行加固,因此產生的硬件開銷可以忽略不計。
顯然,本領域的技術人員應該明白,上述的本發明實施例的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,并且在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發明實施例不限制于任何特定的硬件和軟件結合。
以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明實施例可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。

關 鍵 詞:
一種 錯誤 注入 攻擊 安全 芯片 加固 方法 裝置
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:一種抗錯誤注入攻擊的安全芯片加固方法及裝置.pdf
鏈接地址:http://www.rgyfuv.icu/p-6353556.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图