[發明專利]一種具有多個硬件IP核的芯片密鑰管理方法有效
| 申請號: | 201911218132.0 | 申請日: | 2019-12-03 |
| 公開(公告)號: | CN111125789B | 公開(公告)日: | 2023-03-14 |
| 發明(設計)人: | 張躍軍;王佳偉;吳秋豐 | 申請(專利權)人: | 寧波大學 |
| 主分類號: | G06F21/72 | 分類號: | G06F21/72;G06F21/73 |
| 代理公司: | 寧波奧圣專利代理有限公司 33226 | 代理人: | 方小惠 |
| 地址: | 315211 浙*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 具有 硬件 ip 芯片 密鑰 管理 方法 | ||
1.一種具有多個硬件IP核的芯片密鑰管理方法,包括加密過程和解密過程,其特征在于在于所述的加密過程中對每個硬件IP核分別加密,所述的解密過程中對每個硬件IP核分別解密;
所述的加密過程具體包括以下步驟:
①獲取芯片內部硬件IP核的總數量,將其記為N,N為小于等于50的整數,根據硬件IP核設計者設定的各硬件IP核的權重,按照權重從大到小的順序將這N個硬件IP核進行排序,第1個硬件IP核為權重最大的硬件IP核,第2個硬件IP核為權重第二大的硬件IP核,以此類推,第N個硬件IP核為權重最小的硬件IP核,將第i個硬件IP核的序號記為IPi,i=1,2,…,N;
②在每個硬件IP核中分別預設一個特征矢量,每個特征矢量分別包括N-1個8位二進制數,將第i個硬件IP核中預設的特征矢量記為KIPi,KIPi=[ai1 ai2…ai(N-2) ai(N-1)],其中aij為第i個硬件IP核中預設的特征矢量KIPi中第j個8位二進制數,j=1,2,…,N-1;
③在芯片中內嵌多端口物理不可克隆函數,多端口物理不可克隆函數用于提供2N個8位二進制數,使用多端口物理不可克隆函數提供2N個8位二進制數,將多端口物理不可克隆函數提供的2N個8位二進制數隨機均分為N組8位二進制數,每組8位二進制數分別包括兩個8位二進制數,將第i組8位二進制數中的兩個8位二進制數分別記為ei1和ei2;
對第1個~第N個硬件IP核中預設的特征矢量分別進行更新,具體方式為:將第i組8位二進制數中的兩個8位二進制數添加到第i個硬件IP核的特征矢量KIPi中,對KIPi進行更新,更新后的KIPi采用式(1)表示為:
KIPi=[ai1 ai2…ai(N-2) ai(N-1) ei1 ei2] (1)
④采用第1個~第N個硬件IP核的當前特征矢量構建一個正交混淆矩陣,將該正交混淆矩陣記為O,正交混淆矩陣O采用式(2)表示為:
⑤設定KIPi的簡化特征矢量變量,將其記為K'IPi,設定定點數,將該定點數記為p,對K'IPi以及正交混淆矩陣O分別依次進行首次更新,首次更新過程包括N-1輪次,具體如下:
S1、設定首次更新輪次變量,將其記為T;
S2、設定更新次數變量,將其記為t;
S3、對T進行初始化賦值,令T=1;
S4、對t進行初始化,令t=T;
S5、進入第T輪次第t次更新:采用公式p=a(t+1)1÷a11對定點數p進行第t次更新,得到的p保留兩位小數,然后采用公式K'IP(t+1)=KIP(t+1)-KIP1×p對K'IP(t+1)進行第t次更新,采用K'IP(t+1)更新后的值對KIP(t+1)的值進行更新,然后再對正交混淆矩陣O進行更新,使正交混淆矩陣O內KIP(t+1)為最新值,本次更新過程中,每次計算時p、KIP(t+1)、KIP1、a(t+1)1和a11的取值均為其當前最新值;
S6、判定t的當前值是否等于N-1,如果不等于,則采用t的當前值加1的和更新t的值,返回步驟S5進行下一次更新,如果等于,則判斷T的當前值是否等于N-1,如果不等于,則采用T的當前值加1的和更新T的值,返回步驟S4,進行下一輪更新,如果等于,則首次更新結束,進入步驟⑥。
⑥對K'IPi以及正交混淆矩陣O分別依次進行再次更新,再次更新過程包括N-1輪次,具體如下:
A、設定再次更新輪次變量,將其記為G,設定中間參數H;
B、設定更新次數變量,將其記為g;
C、對H進行初始化賦值,令H=N-1;
D、對G進行賦值,令G=N-H;
E、對g行初始化,令g=G;
F、進入第G輪次第g次更新:
采用公式p=aHN÷aNN對定點數p進行更新,p保留兩位小數,然后采用公式K'IPH=KIPH-KIPN×p對K'IPH進行更新,采用K'IPH更新后的值對KIPH進行更新,然后再對正交混淆矩陣O進行更新,使其KIPH為最新值,本次更新過程中,每次計算時公式中的p、KIPH、KIPN、aHN和aNN均為其當前最新值;
G、判斷g的當前值是否等于N-1,如果不等于,則采用g的當前值加1的和更新g的值,返回步驟F進行下一次更新,如果等于,則判斷G的當前值是否等于N-1,如果不等于,則采用H的當前值減1的差更新H的值,返回步驟D,進行下一輪更新,如果等于,則再次更新結束,進入步驟⑦;
⑦經過步驟⑤和步驟⑥中首次N-1輪更新和再次N-1輪更新后,此時得到的正交混淆矩陣O采用式(3)表示為:
⑧加密過程結束;
所述的解密過程具體包括以下步驟:
①在芯片用戶需要解密已獲得芯片廠家授權的芯片內部某個或者某幾個硬件IP核時,芯片用戶向芯片內輸入芯片廠家提供的該芯片的128位二進制密鑰,128位二進制密鑰的第1位至第16位為芯片廠家配置位,其中第1位至第4位全是0,第5位至第10位構成的6位二進制數據為芯片廠家已授權的硬件IP核的數量,第11位至第16位作為字長位,第11位至第16位構成的6位二進制數據為字長位數據,將字長位數據記為W,W的值滿足條件:(N+1)*W≤112,128位二進制密鑰的第17位至第128位為芯片廠家秘鑰設定位,從128位二進制密鑰的第17位開始按照每W位二進制數據選擇一次的規則進行二進制數據選取,直到選取到N+1個W位二進制數,將第f次選取的W位二進制數據記為kf,f=1,2,…,N+1,采用選取到N+1個W位二進制數構建一個矩陣,將該矩陣即為Kuser,Kuser采用式(4)表示為:
Kuser=[k1,k2,…,kN,kN+1]T (4)
其中,式(4)中上標T表示矩陣的轉置;
②計算O與Kuser的乘積,將計算得到的矩陣記為P,矩陣P采用式(5)表示為:
式(5)中,ps表示矩陣P中第s行的元素,s=1,2,…,N;
③判定ps是否等于0,如果等于0,則第s個硬件IP核的解鎖秘鑰正確,第s個硬件IP核為芯片廠家已授權的硬件IP核,將第s個硬件IP核解鎖,如果不等于0,則第s個硬件IP核的解鎖秘鑰不正確,第s個硬件IP核未被芯片廠家授權,不解鎖第s個硬件IP核。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于寧波大學,未經寧波大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911218132.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種保證充氣膜防火門與膜接觸緊密性的設備
- 下一篇:數據庫的防穿庫方法及裝置





