一種量化評估安全芯片安全性的方法及系統的制作方法
【技術領域】
[0001] 本發明設及巧片檢測技術領域,具體地說設及一種量化評估安全巧片安全性的方 法及系統。
【背景技術】
[0002] 隨著信息技術的迅猛發展,對信息安全性的要求也越來越高。電子設備一般采用 運行密碼算法的安全巧片來保證信息的安全性,然而安全巧片中的加密算法易受到錯誤注 入攻擊,常見的錯誤注入攻擊包括;電壓和時鐘突變錯誤,激光誘導錯誤,X射線和離子束 注入錯誤等,因此,對安全巧片的安全性的評估顯得尤為重要。
[0003]早在1996年就提出了通過CRT-RSA的錯誤注入攻擊方法來檢測安全巧片的安全 性。但現有的錯誤注入分析攻擊方法都是先對安全巧片進行剖片處理,再人為地對加密算 法注入一定時間的錯誤,最后分析正確和錯誤的加密結果來評估它的安全性,W及破解加 密算法的密鑰,測試的效率非常低,而且無法量化,因此無法在時間、空間上對兩款或者多 款安全巧片的安全性進行定量的比較,當然也無法從兩款或者多款安全巧片中選取出適用 于某種應用場合的安全性高的安全巧片了。
【發明內容】
[0004]為此,本發明所要解決的技術問題在于現有技術中對安全巧片的安全性的檢測方 法需要的測試的效率非常低,無法在時間、空間上對兩款或者多款安全巧片的安全性進行 定量的比較。
[0005]為解決上述技術問題,本發明的技術方案如下:
[0006]本發明提供了一種量化評估安全巧片安全性的方法,包括:
[0007]對待評估安全巧片進行錯誤注入攻擊,W確定所述安全巧片在空間上的易受錯誤 注入攻擊的敏感點,其中所述敏感點具有面積S,所述面積S是錯誤注入攻擊的面積;
[000引對所述敏感點進行錯誤注入攻擊,確定每個所述敏感點易受錯誤注入攻擊的敏感 時間長度;
[0009]確定所述安全巧片在時間、空間上的敏感區域
其中n表示所述敏感 點的個數,t(i)表示第i個敏感點的敏感時間長度,i為正整數。
[0010] 根據所述安全巧片的總面積、所述安全巧片完成一次加/解密所需要的總時間W及所述安全巧片在時間、空間上的敏感區域,對所述安全巧片的安全性進行量化評估。
[0011] 本發明所述的量化評估安全巧片安全性的方法,所述對待評估安全巧片進行錯誤 注入攻擊,W確定所述安全巧片在空間上的易受錯誤注入攻擊的敏感點包括:
[0012] 根據所述安全巧片的總面積和一次錯誤注入攻擊的面積,在所述安全巧片上劃分 出多個需要錯誤注入攻擊的點的位置;
[0013]順次對每個所述需要錯誤注入攻擊的點進行錯誤注入攻擊,將錯誤注入攻擊下加 /解密結果產生有效錯誤的點標記為易受錯誤注入攻擊的敏感點。
[0014] 本發明所述的量化評估安全巧片安全性的方法,在所述對待評估安全巧片進行錯 誤注入攻擊,W確定所述安全巧片在空間上的易受錯誤注入攻擊的敏感點之后,還包括
[0015] 對所述安全巧片在空間上的安全性進行量化評估,所述安全巧片在空間上的安全 性Sw=n/N,其中N表示需要錯誤注入攻擊的點的個數,n表示所述敏感點的個數,Sw越 大,所述安全巧片在空間上的安全性越低,反之越高。
[0016] 本發明所述的量化評估安全巧片安全性的方法,所述對所述敏感點進行錯誤注入 攻擊,確定每個敏感點易受錯誤注入攻擊的敏感時間長度,包括:
[0017] 選擇一個所述敏感點,在一個加/解密周期內,W-個時鐘周期或者多個時鐘周 期作為攻擊時長對該敏感點進行一輪或多輪錯誤注入攻擊,直至遍歷整個所述加/解密周 期,據此確定該敏感點易受錯誤注入攻擊的敏感時間長度;
[0018] 對所述安全巧片進行復位;
[0019] 移位到與該敏感點相鄰的下一個敏感點,重復進行上述操作,直到遍歷完所有的 敏感點,確定每個敏感點易受錯誤注入攻擊的敏感時間長度。
[0020] 本發明所述的量化評估安全巧片安全性的方法,所述選擇一個所述敏感點,在一 個加/解密周期內,W-個時鐘周期或者多個時鐘周期作為攻擊時長對該敏感點進行一輪 或多輪錯誤注入攻擊,直至遍歷完整個加/解密周期,據此確定該敏感點易受錯誤注入攻 擊的敏感時間長度包括:
[0021] 選擇一個所述敏感點;
[0022] 設定每輪錯誤注入攻擊的攻擊時長;
[0023] 在一個加/解密周期內,W-個時鐘周期或者多個時鐘周期作為攻擊時長對該敏 感點進行一輪或多輪錯誤注入攻擊,直至遍歷整個所述加/解密周期,并記錄每輪錯誤注 入攻擊的開始時間和結束時間,且每輪錯誤注入攻擊的時長均為所述攻擊時長;
[0024] 分析每輪錯誤注入攻擊下所述加/解密運算的加/解密結果,判斷是否產生有效 錯誤,如果是,將該輪錯誤注入攻擊的開始時間和結束時間標記為敏感時間段,反之不標 記;
[0025] 根據所述敏感時間段計算出該敏感點的敏感時間長度。
[0026] 本發明所述的量化評估安全巧片安全性的方法,所述安全巧片的安全性表示為:
[0027]
[002引其中n表示所述敏感點的個數,t(i)表示第i個敏感點的敏感時間長度,S表示一 次錯誤注入攻擊的面積,M表示所述安全巧片的總面積,T表示所述安全巧片完成一次加/ 解密所需要的時間,i為正整數,的值越大,所述安全巧片的安全性越低,反之越高。
[0029] 本發明還提供了一種量化評估安全巧片安全性的系統,包括:
[0030] 敏感點確定模塊,用于對待評估安全巧片進行錯誤注入攻擊,W確定所述安全巧 片在空間上的易受錯誤注入攻擊的敏感點,其中所述敏感點具有面積S,所述面積S是錯誤 注入攻擊的面積;
[0031] 敏感時間長度確定模塊,用于對所述敏感點進行錯誤注入攻擊,確定每個所述敏 感點易受錯誤注入攻擊的敏感時間長度;
[0032] 敏感區域確定模塊,用于確定所述安全巧片在時間、空間上的敏感區域
其中n表示所述敏感點的個數,t(i)表示第i個敏感點的敏感時間長度,i 為正整數。
[0033] 安全性評估模塊,用于根據所述安全巧片的總面積、所述安全巧片完成一次加/ 解密所需要的總時間W及所述安全巧片在時間、空間上的敏感區域,對所述安全巧片的安 全性進行量化評估。
[0034] 本發明所述的量化評估安全巧片安全性的系統,所述敏感點確定模塊包括:
[0035] 劃分單元,用于根據所述安全巧片的總面積和一次錯誤注入攻擊的面積,在所述 安全巧片上劃分出多個需要錯誤注入攻擊的點的位置;
[0036] 敏感點標記單元,用于順次對每個所述需要錯誤注入攻擊的點進行錯誤注入攻 擊,將錯誤注入攻擊下加/解密結果產生有效錯誤的點標記為易受錯誤注入攻擊的敏感 點。
[0037] 本發明所述的量化評估安全巧片安全性的系統,還包括:
[003引空間評估模塊,用于對所述安全巧片在空間上的安全性進行量化評估,所述安全 巧片在空間上的安全性S0s=n/N,其中N表示需要錯誤注入攻擊的點的個數,n表示所述敏 感點的個數,Sw越大,所述安全巧片在空間上的安全性越低,反之越高。
[0039] 本發明所述的量化評估安全巧片安全性的系統,所述敏感時間長度確定模塊包 括:
[0040] 敏感時間長度獲取單元,用于選擇一個所述敏感點,在一個加/解密周期內,W- 個時鐘周期或者多個時鐘周期作為攻擊時長對該敏感點進行一輪或多輪錯誤注入攻擊,直 至遍歷完整個加/解密周期,據此確定該敏感點易受錯誤注入攻擊的敏感時間長度;
[0041] 復位單元,用于對所述安全巧片進行復位;
[0042] 移位單元,用于移位到與該敏感點相鄰的下一個敏感點,重復進行上述操作,直到 遍歷完所有的敏感點,確定每個敏感點易受錯誤注入攻擊的敏感時間長度。
[0043] 本發明所述的量化評估安全巧片安全性的系統,所述敏感時間長度獲取單元包 括:
[0044] 選擇子單元,用于選擇一個所述敏感點;
[0045] 設定子單元,用于設定每輪錯誤注入攻擊的攻擊時長;
[0046] 檢測子單元,用于在一個加/解密周期內,W-個時鐘周期或者多個時鐘周期作 為攻擊時長對該敏感點進行一輪或多輪錯誤注入攻擊,直至遍歷完整個加/解密周期,并 記錄每輪錯誤注入攻擊的開始時間和結束時間,且每輪錯誤注入攻擊的時長均為所述攻擊 時長;
[0047] 敏感時間段標記子單元,用于分析每輪錯誤注入攻擊下所述加/解密運算的加/ 解密結果,判斷是否產生有效錯誤,如果是,將該輪錯誤注入攻擊的開始時間和結束時間標 記為敏感時間段,反之不標記;
[0048] 計算子單元,用于根據所述敏感時間段計算出該敏感點的敏感時間長度。
[0049]本發明所述的量化評估安全巧片安全性的系統,所述評估模塊將所述安全巧片的 安全性表示為:
[(K)加]
[0化1] 其中n表示所述敏感點的個數,t(i)表示第i個敏感點的敏感時間長度,S表示一 次錯誤注入攻擊的面積,M表示所述安全巧片的總面積,T表示所述安全巧片完成一次加/ 解密所需要的時間