亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種加密芯片安全性能測試方法和裝置制造方法

文檔序號:7805239閱讀:158來源:國知局
一種加密芯片安全性能測試方法和裝置制造方法
【專利摘要】本發(fā)明適用于測試領域,提供了一種加密芯片安全性能測試方法和裝置,該方法包括:根據所述加密芯片的加密算法,確定加密算法中錯誤注入攻擊的被攻擊參數;查找在所述加密芯片中與計算所述被攻擊參數相關的敏感寄存器并插入掃描鏈;使被攻擊芯片工作在測試模式下,由掃描輸出所述被攻擊參數的掃描輸出結果確定加密芯片的安全性。本發(fā)明實施例由于采用掃描鏈插入到與被攻擊參數相關的敏感寄存器,從而能夠獲取被攻擊參數的變化,從而更加直觀的判斷是否產生有效的錯誤,有效提高加密芯片安全性的測試效率。
【專利說明】一種加密芯片安全性能測試方法和裝置
【技術領域】
[0001]本發(fā)明屬于測試領域,尤其涉及一種加密芯片安全性能測試方法和裝置。
【背景技術】
[0002]隨著通信技術的發(fā)展,信息安全也顯得越來越重要。雖然芯片中有復雜的加解密算法和密鑰保護機制,但是,芯片仍然容易受到誘導錯誤攻擊,從而造成芯片中的數據內容的泄露。
[0003]為避免芯片受到誘導錯誤攻擊時的數據泄露,比如私鑰的泄露,需要對安全芯片內的加密電路的安全性和穩(wěn)定性進行測試。其中,錯誤注入攻擊就是一種廣泛使用的、用來評估加密芯片的容錯能力以及、故障對加密芯片影響的安全性能測試方法。
[0004]加密芯片的錯誤注入攻擊原理是:通過人為的注入一定的錯誤,根據錯誤傳輸機理和加解密的結果分析出密鑰信息的方法。其中,常見的用于注入的誘導錯誤包括:電壓和時鐘突變錯誤、激光誘導錯誤、X射線和離子束注入錯誤。
[0005]然而,由于現(xiàn)在的錯誤注入技術在時間及空間上的不確定性,一方面不能有效的將注入的錯誤產生的內部變化反映在輸出結果,另一方面,在實際應用中,僅憑輸出的加解密結果,很難分析判斷出產生錯誤的機制。從而使得現(xiàn)有的加密芯片測試方法的測試效率較低。

【發(fā)明內容】

[0006]本發(fā)明實施例的目的在于提供一種加密芯片的安全性能測試方法,以解決現(xiàn)有技術的加密芯片的測試過程中,注入的錯誤所產生的內部變化不能反應在輸出結果,僅憑輸出加解密結果,很難分析判斷產生錯誤的機制,導致現(xiàn)有加密芯片的測試效率低的問題。
[0007]本發(fā)明實施例是這樣實現(xiàn)的,一種加密芯片安全性能測試方法,所述方法包括:
[0008]根據所述加密芯片的加密算法,確定加密算法中錯誤注入攻擊的被攻擊參數;
[0009]根據所述錯誤注入攻擊的被攻擊參數,查找在所述加密芯片中與計算所述被攻擊參數相關的敏感寄存器;
[0010]在計算所述被攻擊參數相關的敏感寄存器插入掃描鏈;
[0011]根據輸入的測試向量以及所述錯誤注入攻擊,掃描輸出所述被攻擊參數的掃描輸出結果;
[0012]將被攻擊的掃描輸出結果與期望的掃描輸出結果比較,根據比較結果確定加密芯片的安全性。
[0013]本發(fā)明實施例的另一目的在于提供一種加密芯片安全性能測試裝置,所述裝置包括:
[0014]被攻擊參數確定單元,根據所述加密芯片的加密算法,確定加密算法中錯誤注入攻擊的被攻擊參數;
[0015]敏感寄存器查找單元,用于根據所述錯誤注入攻擊的被攻擊參數,查找在所述加密芯片中與計算所述被攻擊參數相關的敏感寄存器;
[0016]掃描鏈插入單元,用于在計算所述被攻擊參數相關的敏感寄存器插入掃描鏈;
[0017]結果輸出單元,用于根據輸入的測試向量以及所述錯誤注入攻擊,掃描輸出所述被攻擊參數的掃描輸出結果;
[0018]安全性確定單元,用于將被攻擊的掃描輸出結果與期望的掃描輸出結果比較,根據比較結果確定加密芯片的安全性。
[0019]在本發(fā)明實施例中,根據芯片的加密算法確定注入的錯誤攻擊的被攻擊參數,并根據所述被攻擊參數,查找在計算所述被攻擊參數所使用的相關的寄存器,稱之為敏感寄存器,并將敏感寄器中插入到掃描鏈中,掃描輸出被攻擊參數因注入的錯誤攻擊而產生的變化結果,并將被攻擊參數的輸出結果與期望的掃描輸出結果比較,確定加密芯片的安全性。本發(fā)明實施例由于將敏感寄存器插入到掃描鏈中,從而能夠獲取被攻擊參數的變化,從而更加直觀的判斷是否產生有效的錯誤,有效提高加密芯片安全性的測試效率。
【專利附圖】

【附圖說明】
[0020]圖1是本發(fā)明實施例提供的加密芯片安全性能測試方法的實現(xiàn)流程圖;
[0021]圖2是本發(fā)明實施例提供的加密芯片安全性能測試的結構示意圖;
[0022]圖3是本發(fā)明實施例提供的加密芯片安全性能測試裝置的結構示意圖;
【具體實施方式】
[0023]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0024]本發(fā)明實施例所述加密芯片安全性能測試方法,可用于加密芯片設計階段的安全評估,也可用于加密芯片的實際測試。
[0025]在設計階段的安全評估過程中,在門級網表中人為引入錯誤的情況下,通過仿真可以得到錯誤攻擊所產生的針對被攻擊參數的掃描輸出結果,根據所述結果與期望的掃描輸出結果比較,即可得到設計階段的加密算法是否符合安全性要求。
[0026]在實際測試過程中,可以根據預先在芯片中插入的、位于敏感寄存器處的掃描鏈,得到被攻擊參數的變化結果,根據掃描鏈的輸出結果進行比較分析,可以測出芯片是否符合安全要求。下面結合實施例具體說明。
[0027]如圖1示出了本發(fā)明實施例提供的加密芯片安全性能測試方法的實現(xiàn)流程,詳述如下:
[0028]在步驟SlOl中,根據所述加密芯片的加密算法,確定加密算法中錯誤注入攻擊的被攻擊參數。
[0029]具體的,由于本發(fā)明實施例可用于加密芯片的設計階段,也可用于加密芯片的測試階段,因此,本發(fā)明實施例中所述的加密芯片,在芯片的加密設計階段也可稱為對芯片的加密設計(芯片是需要經過設計,并且經過流片生產的成品),在芯片的測試階段稱為加密芯片,為便于描述,統(tǒng)稱為加密芯片。
[0030]本發(fā)明實施例中所述的芯片加密算法,并不局限于一種加密算法,可以為對稱加密算法AES、DES,也可以為非對稱加密算法RSA、ECC,當然,還可以為其它類型的算法,如國家商用的密碼算法等。
[0031]其中,AES加密算法(其英文全稱為Advanced Encryption Standard,中文全稱為高級加密標準),基于排列和置換運算。排列是對數據重新進行安排,置換是將一個數據單元替換為另一個。AES使用幾種不同的方法來執(zhí)行排列和置換運算。
[0032]AES是一個迭代的、對稱密鑰分組的密碼,它可以使用128、192和256位密鑰,并且用128位(16字節(jié))分組加密和解密數據。與公共密鑰密碼使用密鑰對不同,對稱密鑰密碼使用相同的密鑰加密和解密數據。通過分組密碼返回的加密數據的位數與輸入數據相同。迭代加密使用一個循環(huán)結構,在該循環(huán)中重復置換和替換輸入數據。
[0033]所述DES (英文全稱為Data Encryption Algorithm,中文全稱為數據加密算法),是一種對稱加密算法,是使用最廣泛的密鑰系統(tǒng),特別是在保護金融數據的安全。
[0034]DES使用一個56位的密鑰以及附加的8位奇偶校驗位(每組的第8位作為奇偶校驗位),產生最大64位的分組大小。這是一個迭代的分組密碼,使用稱為Feistel的技術,其中將加密的文本塊分成兩半。使用子密鑰對其中一半應用循環(huán)功能,然后將輸出與另一半進行“異或”運算;接著交換這兩半,這一過程會繼續(xù)下去,但最后一個循環(huán)不交換。DES使用16輪循環(huán),使用異或,置換,代換,移位操作四種基本運算。
[0035]所述RSA,即公開密鑰密碼體制。所謂的公開密鑰密碼體制就是使用不同的加密密鑰與解密密鑰,是一種“由已知加密密鑰推導出解密密鑰在計算上是不可行的”密碼體制。
[0036]在公開密鑰密碼體制中,加密密鑰(即公開密鑰)是公開信息,而解密密鑰(即秘密密鑰)是需要保密的。加密算法和解密算法也都是公開的。雖然秘密密鑰是由公開密鑰決定的,但卻不能根據公開密鑰計算出秘密密鑰。
[0037]所述ECC (英文全稱為Elliptic Curves Cryptography,中文全稱為橢圓曲線密碼編碼學)加密算法,ECC算法的數學理論非常深奧和復雜,在工程應用中比較難于實現(xiàn),但它的單位安全強度相對較高。
[0038]所述根據加密芯片的加密算法,確定加密算法中錯誤注入攻擊的被攻擊參數,根據不同的加密算法,所述被攻擊參數也不相同,如對于CRT(英文全稱為=Chineseremainder theorem,中文全稱為:中國剩余定理)RSA加密算法中,只要其中一個冪運算(Sp*SQ)發(fā)生錯誤,就可以成功的推算出密鑰。因此,對于RSA-CRT加密算法中的被攻擊參數,即可以是SP,也可以是SQ。
[0039]對于其它的加密算法,也可以根據加密算法所對應的錯誤攻擊注入參數,相應的確定被攻擊參數。
[0040]在步驟S102中,根據所述錯誤注入攻擊的被攻擊參數,查找在所述加密芯片中與計算所述被攻擊參數相關的敏感寄存器。
[0041]具體的,所述注入的錯誤攻擊,可以包括但不局限于重離子錯誤攻擊、激光照射錯誤攻擊、X射線錯誤攻擊等。
[0042]所述查找在所述加密芯片中與計算所述被攻擊參數相關的敏感寄存器,可以根據被攻擊參數的表達式,得到與計算所述被攻擊參數相關的因子,該相關的因子定義的寄存器存儲空間即為敏感寄存器。
[0043]在步驟S103中,在計算所述被攻擊參數相關的敏感寄存器插入掃描鏈。[0044]具體的,根據安全可測性設計工具(DFST,英文全稱為Design for SafeTestability),在計算所述被攻擊參數相關的敏感寄存器中插入掃描鏈。
[0045]所述掃描鏈,(英文全稱為:Scan chain)是可測試性設計的一種實現(xiàn)技術。它通過植入移位寄存器,使得測試人員可以從外部控制和觀測電路內部觸發(fā)器的信號值。
[0046]在步驟S104中,根據輸入的測試向量以及所述錯誤注入攻擊,掃描輸出所述被攻擊參數的掃描輸出結果。
[0047]所述測試向量,可以使用自動測試向量工具,比如TeraMax,生成測試向量。
[0048]在步驟S105中,將被攻擊的掃描輸出結果與期望的掃描輸出結果比較,根據比較結果確定加密芯片的安全性。
[0049]所述敏感寄存器,為與被攻擊參數的計算相關的寄存器,其它未與被攻擊參數計算相關的寄存器,以及密鑰寄存器不需要插入掃描鏈。
[0050]這樣做的好處在于,一方面可以避免因掃描鏈的插入而導致芯片的密鑰泄露,另一方面誘導錯誤注入實驗下,在測試模式下通過掃描測試即可快速判斷該安全芯片的安全程度。
[0051]其中,將被攻擊的掃描輸出結果與期望的掃描輸出結果比較,根據比較結果確定加密芯片的安全性步驟包括:
[0052]將被攻擊的掃描輸出結果與期望的掃描輸出結果比較,判斷兩者是否相同;
[0053]如果相同,則所述加密芯片的安全性通過測試驗證;
[0054]如果不相同,則所述加密芯片未能通過安全性測試。
[0055]所述期望的掃描輸出結果,即加密芯片在接收測試向量輸入時,被攻擊參數輸出的正常結果。
[0056]下面通過具體的非對稱加密算法1024位的CRT-RSA加密算法為例進行具體說明,應當理解,CRT-RSA只是其中一種實施方式,本領域一般技術人員還可以想到其它與此相類似的設計方式,均應在本發(fā)明的保護范圍。
[0057]設a和b是預先計算好的值,P和q為兩個素數,n = p*q, d為私鑰參數,且:
【權利要求】
1.一種加密芯片安全性能測試方法,其特征在于,所述方法包括: 根據所述加密芯片的加密算法,確定加密算法中錯誤注入攻擊的被攻擊參數; 根據所述錯誤注入攻擊的被攻擊參數,查找在所述加密芯片中與計算所述被攻擊參數相關的敏感寄存器; 在計算所述被攻擊參數相關的敏感寄存器插入掃描鏈; 根據輸入的測試向量以及所述錯誤注入攻擊,掃描輸出所述被攻擊參數的掃描輸出結果; 將被攻擊的掃描輸出結果與期望的掃描輸出結果比較,根據比較結果確定加密芯片的安全性。
2.根據權利要求1所述方法,其特征在于,所述加密算法為對稱加密算法或者非對稱加密算法。
3.根據權利要求1或2所述方法,其特征在于,所述芯片的加密算法為CRT-RSA加密算法,所述根據所述加密芯片的加密算法,確定加密算法中錯誤注入攻擊的被攻擊參數包括: 根據CRT-RSA加密的簽名表達式:s = a.sp+b.sq(modn),確定所述CRT-RSA加密算法中錯誤注入攻擊的被攻擊參數為Sp或Sq,其中,
4.根據權利要求1所述方法,其特征在于,將被攻擊的掃描輸出結果與期望的掃描輸出結果比較,根據比較結果確定加密芯片的安全性步驟包括: 將被攻擊的掃描輸出結果與期望的掃描輸出結果比較,判斷兩者是否相同; 如果相同,則所述加密芯片的安全性通過測試驗證; 如果不相同,則所述加密芯片未能通過安全性測試。
5.根據權利要求1所述方法,其特征在于,所述在計算所述被攻擊參數相關的敏感寄存器插入掃描鏈步驟具體為: 根據可測性設計工具,將所查找的敏感寄存器插入到掃描鏈中。(該步驟僅用于對插入掃描鏈,查找敏感寄存器的過程在其它步驟中有限定)。
6.一種加密芯片安全性能測試裝置,其特征在于,所述裝置包括: 被攻擊參數確定單元,根據所述加密芯片的加密算法,確定加密算法中錯誤注入攻擊的被攻擊參數; 敏感寄存器查找單元,用于根據所述錯誤注入攻擊的被攻擊參數,查找在所述加密芯片中與計算所述被攻擊參數相關的敏感寄存器; 掃描鏈插入單元,用于在計算所述被攻擊參數相關的敏感寄存器插入掃描鏈; 結果輸出單元,用于根據輸入的測試向量以及所述錯誤注入攻擊,掃描輸出所述被攻擊參數的掃描輸出結果; 安全性確定單元,用于將被攻擊的掃描輸出結果與期望的掃描輸出結果比較,根據比較結果確定加密芯片的安全性。
7.根據權利要求6所述裝置,其特征在于,所述加密算法為對稱加密算法或者非對稱加密算法。
8.根據權利要求6或7所述裝置,其特征在于,所述芯片的加密算法為CRT-RSA加密算法,所述被攻擊參數確定單元具體用于: 根據CRT-RSA加密的簽名表達式:s = a.sp+b.sq(modn),確定所述CRT-RSA加密算法中錯誤注入攻擊的被攻擊參數為Sp或Sq,其中,Sii=In1 {mod P),sq - m'.(modi/),dp =
9.根據權利要求6所述裝置,其特征在于,所述安全性確定單元包括: 比較子單元,用于將被攻擊的掃描輸出結果與期望的掃描輸出結果比較,判斷兩者是否相同; 第一驗證子單元,用于如果相同,則所述加密芯片的安全性通過測試驗證; 第二驗證子單元,用于如果不相同,則所述加密芯片未能通過安全性測試。
10.根據權利要求6所述裝置,其特征在于,所述掃描鏈插入單元具體用于:根據可測性設計工具,將所查找的敏感寄存器插入到掃描鏈中。
【文檔編號】H04L9/00GK103997402SQ201410240453
【公開日】2014年8月20日 申請日期:2014年5月30日 優(yōu)先權日:2014年5月30日
【發(fā)明者】邵翠萍, 李慧云, 徐國卿 申請人:中國科學院深圳先進技術研究院
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1