一種芯片錯誤注入測試方法及裝置的制造方法
【技術領域】
[0001] 本發明屬于芯片的測試技術領域,尤其涉及一種芯片錯誤注入測試方法及裝置。
【背景技術】
[0002] 隨著社會信息化的日益發展,信息安全產品逐步得到普及,安全芯片也隨之得到 越來越廣泛的應用。在安全芯片出廠之前,都必須對其安全性進行分析。而錯誤注入是對安 全芯片進行攻擊和分析的有效手段之一。錯誤注入是指在外面干擾(如激光注入)的情況 下,使芯片存儲數據出錯或運算出錯。安全芯片對錯誤注入都會采取相應的防御措施。當 芯片檢測到數據出錯時,則發出告警;若芯片沒有檢測到數據出錯時,則產生漏報警。根據 芯片的告警和漏告警情況計算得到的漏報率,成為衡量芯片安全性的重要指標。
[0003] 現行的采用錯誤注入對安全芯片進行漏報率的統計方法為;利用計算機向芯片的 存儲區輸入一組數據并進行錯誤注入,然后對芯片的告警和漏告警次數進行統計。不改變 所輸入數據的值,重新再進行錯誤注入和結果統計,根據若干次的統計結果計算出安全芯 片的漏報率。然而,由于電路結構、實現工藝等的不同,一些特殊存儲器在進行錯誤注入時, 數據出錯類型不具有隨機性,表現為對存儲區中的同一組數據進行錯誤注入時,產生相同 的錯誤類型,從而導致芯片的告警和漏告警統計不合理,不能準確地實現對安全芯片的安 全性評估。
【發明內容】
[0004] 本發明的目的在于提供一種基于對輸入的測試數據組進行更改的芯片錯誤注入 測試方法及裝置,W增加安全芯片在錯誤注入后的出錯類型,提高對安全芯片的安全性評 估的準確性。
[0005] 本發明是送樣實現的,一種芯片錯誤注入測試方法,所述方法包括:
[0006] 將測試數據組輸入到待檢測芯片的存儲區中;
[0007] 在待檢測芯片運行過程中對其進行錯誤注入;
[0008] 讀取錯誤注入后的測試數據組,判斷所述錯誤注入后的測試數據組與輸入的測試 數據組是否相同;
[0009] 在所述錯誤注入后的測試數據組與輸入的測試數據組不相同時,記錄芯片的告警 情況,W計算芯片的漏報率。
[0010] 進一步地,所述方法還包括:
[0011] 所述錯誤注入后的測試數據組與輸入的測試數據組相同時,對所述存儲區中的測 試數據組進行更改,并將更改后的測試數據組重新輸入到待檢測芯片的存儲區中,W重新 進行錯誤注入測試。
[0012] 本發明的第二方面,還提供了一種芯片錯誤注入測試裝置,所述裝置包括:
[0013] 數據輸入模塊,用于將測試數據組輸入到待檢測芯片的存儲區中;
[0014] 錯誤注入模塊,用于在待檢測芯片運行過程中對其進行錯誤注入;
[0015] 數據對比模塊,用于讀取錯誤注入后的測試數據組,判斷所述錯誤注入后的測試 數據組與輸入的測試數據組是否相同;
[0016] 統計模塊,用于在所述錯誤注入后的測試數據組與輸入的測試數據組不相同時, 記錄芯片的告警情況,W計算芯片的漏報率。
[0017] 進一步地,所述裝置還包括數據變更模塊;
[0018] 所述數據變更模塊,用于在所述錯誤注入后的測試數據組與輸入的測試數據組相 同時,對所述存儲區中的測試數據組進行更改,并將更改后的測試數據組重新輸入到待檢 測芯片的存儲區中,W重新進行錯誤注入測試。
[0019] 與現有技術相比,本發明通過判斷錯誤注入后的測試數據組與輸入的測試數據組 是否相同;若相同,則對所述存儲區中的測試數據組進行更改,并將更改后的測試數據組重 新輸入到待檢測芯片的存儲區中W重新進行錯誤注入測試;否則,待檢測芯片的告警情況, 記錄待檢測芯片的告警情況,W計算待檢測芯片的漏報率。通過所述對測試數據組進行更 改,增加了安全芯片在錯誤注入后的出錯類型,從而提高了對安全芯片的安全性評估的準 確性。
【附圖說明】
[0020] 圖1是本發明實施例一提供的芯片錯誤注入測試方法的第一實現流程圖;
[0021] 圖2是本發明實施例一提供的芯片錯誤注入測試方法的第二實現流程圖;
[0022] 圖3是本發明實施例二提供的芯片錯誤注入測試裝置的組成結構圖;
[0023] 圖4是本發明實施例H提供的芯片錯誤注入測試的一個應用場景圖。
【具體實施方式】
[0024]為了使本發明的目的、技術方案及優點更加清楚明白,W下結合附圖及實施例,對 本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用W解釋本發明,并 不用于限定本發明。
[00巧]本發明通過判斷錯誤注入后的測試數據組與輸入的測試數據組是否相同;若相 同,則對所述存儲區中的測試數據組進行更改,并將更改后的測試數據組重新輸入到待檢 測芯片的存儲區中W重新進行錯誤注入測試;否則,檢測芯片的告警情況,記錄待檢測芯片 的未漏報數和漏報數,W計算待檢測芯片的漏報率。通過所述對測試數據組進行更改,增加 了安全芯片在錯誤注入后的出錯類型,從而提高了對安全芯片的安全性評估的準確性。
[0026] 連施例一
[0027] 圖1示出了本發明實施例一提供的芯片錯誤注入測試方法的第一實現流程,為了 便于說明,僅示出了與本發明相關的部分。
[0028] 如圖1所示,所述方法包括:
[0029] 在步驟S101中,將測試數據組輸入到待檢測芯片的存儲區中。
[0030] 在本實施例中,第一組測試數據由計算機寫入到待檢測芯片的存儲區中,待檢測 芯片開始運行。所述待檢測芯片為安全芯片。
[0031] 在步驟S102中,在待檢測芯片運行過程中對其進行錯誤注入。
[0032] 在本實施例中,由于電路結構、實現工藝等的不同,實施錯誤注入后,一些特殊存 儲器的出錯類型不具有隨機性,從而導致待檢測芯片出現的錯誤類型可能相同。
[0033] 在步驟S103中,讀取錯誤注入后的測試數據組,判斷所述錯誤注入后的測試數據 組與輸入的測試數據組是否相同。
[0034] 在本實施例中,所述輸入的測試數據組為錯誤注入前輸入的測試數據組,由于本 發明增加了數據變更模塊,因此在每一次錯誤注入測試之前,所述輸入的測試數據組是不 相同的。
[0035] 判斷所述錯誤注入后的測試數據組與輸入的測試數據組是否相同。若相同,則表 示此次錯誤注入失敗,執行步驟S104 ;否則,表示此次錯誤注入成功,進入芯片的錯誤注入 測試,執行步驟S105。
[003引在步驟S104中,對所述存儲區中的測試數據組進行更改,并將更改后的測試數據 組重新輸入到待檢測芯片的存儲區中,返回步驟S102,重新進行錯誤注入測試。
[0037] 在本實施例中,所述對所述存儲區中的測試數據組進行更改的方式包括但不限于 W下方式:對存儲區中的測試數據組中的所有測試數據均加1、對存儲區中的測試數據組 中的所有測試數據均減1和/或寫入隨機數到測試數據組中。
[0038] 對測試數據組進行更改后,再進行錯誤注入時,其產生的錯誤類型將與之前錯誤 注入后產生的錯誤類型不相同,從而達到了增加安全芯片在錯誤注入后的出錯類型。
[0039] 在步驟S105中,記錄芯片的告警情況,W計算芯片的漏報率。
[0040] 在本實施例中,安全芯片對錯誤注入都會采取相應的防御措施,例如在發現有數 據出錯時,進行自動告警;而在沒有發現數據錯處時,則不進行告警。
[0041] 所述記錄芯片的告警情況的步驟具體為:
[0042] 在所述待檢測芯片發出告警時,將待檢測芯片的未漏報數加1 ;否則,待檢測芯片 未發出告警,將待檢測芯片的漏報數加1。
[0043] 在本實施例中,安全芯片發現數據出錯時,將發出自動告警,此時將芯片的未漏報 數加1 ;否則安全芯片沒有發現數據出