[發明專利]流水線指令流加解密方法有效
| 申請號: | 201811440890.2 | 申請日: | 2018-11-29 |
| 公開(公告)號: | CN109583238B | 公開(公告)日: | 2023-03-28 |
| 發明(設計)人: | 郭慶隆 | 申請(專利權)人: | 中國電子科技集團公司第四十七研究所 |
| 主分類號: | G06F21/72 | 分類號: | G06F21/72;G06F9/30;G06F9/38 |
| 代理公司: | 沈陽科苑專利商標代理有限公司 21002 | 代理人: | 王倩 |
| 地址: | 110032 遼*** | 國省代碼: | 遼寧;21 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 流水線 指令 解密 方法 | ||
本發明涉及流水線指令流加解密方法,該方法提出使用可配置的密鑰,通過多條連續特殊加密指令來打開、關閉內核的加解密模塊。獲取指令碼后,通過對指令流的加密判定,確定是否需要解密,然后再進行指令解碼,指令執行,最后回寫到通用寄存器中。該方法可以實現通過動態配置密鑰、使用特殊的指令流控制CPU內核的加解密組件,來實現加密和解密控制。
技術領域
本發明屬于CPU內核設計領域,具體說是流水線指令流加解密方法。
背景技術
在軟件技術上,加解密算法的研究已經非常豐富;通過軟硬件結合的方式進行加解密,也有了一定的研究。
目前的加密技術,是通過專用加密芯片,將把加密芯片信息、專有鑰匙信息、硬盤信息進行對應并做加密運算,同時寫入硬盤的主分區表。但是,這雖然在一定程度上保護了硬盤,但是需要額外的加密芯片,且成本較高、仍然有被破解的風險;如果使用單一的一條指令,或者通過寫寄存器的簡單方式作為加解密的開關,仍然很容易被破解。
由于系統的加密算法是固定的,所以無法進行實時調整,也無法在線、動態地打開與關閉加解密開關,更不能實時開啟、關閉加解密。
發明內容
本發明目的是提供一種流水線指令流加解密方法,以克服傳統的軟件加密方法的缺陷。本方法深入到CPU內核、在指令級進行加解密進行研究,并且使用指令流的方式作為加解密的判定。
本發明為實現上述目的所采用的技術方案是:流水線指令流加解密方法,獲取指令碼后,通過對指令流的加密判定,確定是否需要解密,然后再進行指令解碼,指令執行,最后回寫到寄存器中。
流水線指令流加解密方法,包括以下步驟:
1)獲取指令碼;
2)對獲取到的指令碼進行加密判定:通過查詢目標指令表、歷史指令表得出判定結果,同時記錄當條指令;
3)如果判定結果是解密開啟,則進行解密;
如果判定結果是解密關閉,則不進行解密,直接進入下一步驟;
4)將上一步驟得到的指令進行指令執行和指令回寫。
所述對獲取到的指令碼進行加密判定具體如下:
(1)查詢歷史指令表,得到歷史指令序列,即過去若干條指令的SNCODE值組成的序列;
(2)查詢目標指令表,得到目標指令序列,即當前指令的SNCODE值;
(3)如果當前是解密開啟狀態,則通過將歷史指令序列與目標指令表的對比查詢是否滿足關閉條件;若滿足,則判定結果為解密關閉;否則,維持當前狀態不變;
如果當前是解密關閉狀態,則通過將歷史指令序列與目標指令表的對比查詢查詢是否滿足開啟條件;若滿足,則判定結果為解密開啟;否則,維持當前狀態不變;
(4)記錄當條指令。
通過將歷史指令序列與目標指令表的對比查詢是否滿足關閉條件開啟/關閉條件,具體如下:
將歷史指令序列的SNCODE值依次排序,查找目標指令表中SNCODE值所對應的解密開啟條件和解密關閉條件;
若歷史指令序列的SNCODE值排序與目標指令表中解密開啟條件、解密關閉條件中任一個條件中的SNCODE值排序相同,則目標指令表中該SNCODE值排序所對應的條件即為當前指令流滿足的條件,也表示當前指令流的狀態。
所述目標指令表包括SNCODE值域段以及對應的解密開啟條件和解密關閉條件;所述解密開啟條件和解密關閉條件均包括設定的SNCODE值排序。
通過在線配置目標指令表。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國電子科技集團公司第四十七研究所,未經中國電子科技集團公司第四十七研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811440890.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種安全的網間文件交換方法、客戶端及服務器
- 下一篇:半導體裝置





