[發明專利]基于國密算法的硬件指紋信息生成方法及系統有效
| 申請號: | 202010565463.8 | 申請日: | 2020-06-19 |
| 公開(公告)號: | CN111709044B | 公開(公告)日: | 2021-06-22 |
| 發明(設計)人: | 楊美紅;付勇;王英龍;陳麗娟;唐勇偉 | 申請(專利權)人: | 山東省計算中心(國家超級計算濟南中心) |
| 主分類號: | G06F21/60 | 分類號: | G06F21/60;G06F21/44 |
| 代理公司: | 濟南圣達知識產權代理有限公司 37221 | 代理人: | 黃海麗 |
| 地址: | 250014 山*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 算法 硬件 指紋 信息 生成 方法 系統 | ||
1.基于國密算法的硬件指紋信息生成方法,其特征是,包括:
S101:創建空白文件,檢測CPU指令支持情況,若滿足要求,則進入S102;如果不滿足要求,則將錯誤信息接入空白文件,結束;
S102:生成四組隨機數,將第一組隨機數作為序列號;
S103:獲取當前時間,生成INF信息段;所述INF信息段用于存儲關鍵信息,該段大小為320字節,從INF信息段中提取位置信息、偏移量和密鑰種子;
從INF信息段中提取位置信息,具體步驟包括:
從INF 168字節開始的信息段中獲取4個位置信息
pos0=128+INF[168+INF[181]%16]%16;
pos1=32+INF[168+INF[173]%16]%16;
pos2=64+INF[168+INF[175]%16]%16;
pos3=192+INF[168+INF[179]%16]%16;
其中,pos0表示第一位置信息;pos1表示第二位置信息;pos2表示第三位置信息;pos3表示第四位置信息;
從INF信息段中提取偏移量,具體步驟包括:
獲取4個偏移量:
shift0=(INF[168+INF[172]%16]%16)*8;
shift1=(INF[168+INF[182]%16]%16)*8;
shift2=(INF[168+INF[180]%16]%16)*8;
shift3=(INF[168+INF[176]%16]%16)*8;
其中,shift0表示第一循環移位值,shift1表示第二循環移位值,shift2表示第三循環移位值,shift3表示第四循環移位值,用于將加密后的數據循環移位后保存,增加數據破解難度;
從INF信息段中提取密鑰種子,具體步驟包括:
獲取臨時密鑰種子INFT=INF[168+INF[183]%16]%16;
將臨時密鑰種子擴展到16字節作為主密鑰,以SM4算法對32字節的序列號執行解密算法,將輸出的32字節數據復制到INF數組pos3開始的32字節;
設置臨時密鑰種子INFT為預設固定值;
將臨時密鑰種子擴展到16字節作為主密鑰,以SM4算法對INF數組168字節開始的16字節數據執行解密算法,將輸出的16字節數據復制到原位置;
S104:采用國密算法對序列號進行加密,生成加密初始值參數,生成加密用主密鑰,將所述加密初始值參數和所述加密用主密鑰保存到INF信息段,具體包括:
將第一組隨機數iC0 256比特數據循環左移shift0比特得到待加密數據,將第二組隨機數iC1循環左移shift1比特生成臨時密鑰,以該密鑰為主密鑰利用SM4算法對待加密數據執行加密算法,得到16字節臨時變量buf,將buf復制到16字節的加密初始值參數IV,將buf循環右移shift0比特后復制到INF數組pos1開始的16字節,S1042:將第三組隨機數iC2 256比特數據循環左移shift2比特得到待加密數據,將第四組隨機數iC3循環左移shift3比特生成臨時密鑰,以該密鑰為主密鑰對待加密數據執行SM4加密算法,得到16字節臨時變量buf,將buf循環右移shift0比特后復制到INF數組pos0開始的16字節;
S105:生成硬件信息,利用硬件信息、當前時間和CPU信息構造數據段;
S106:對數據段進行加密,計算校驗值,將所有數據寫入文件,結束。
2.如權利要求1所述的方法,其特征是,所述S102:生成四組隨機數,將第一組隨機數作為序列號;具體步驟包括:
S1021:用隨機數生成器生成256比特的隨機數,將其劃分為32個8比特的小塊,如果超過15個小塊為全0,判斷為隨機數生成失敗,將錯誤信息追加到bsinfo,將bsinfo寫入文件,返回錯誤信息,退出;否則將隨機數存入第一組隨機數iC0,所述bsinfo是指硬件指紋信息字符串;
S1022:重復S1021三次,生成第二組隨機數iC1、第三組隨機數iC2和第四組隨機數iC3;
S1023:將第一組隨機數iC0設置為序列號,將序列號標識信息和序列號追加到bsinfo。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于山東省計算中心(國家超級計算濟南中心),未經山東省計算中心(國家超級計算濟南中心)許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010565463.8/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種載人上下臺階的電動小車
- 下一篇:一種呼吸機及用于呼吸機的加濕器





