[發(fā)明專利]適用于功能和信息安全芯片的CPU指令保護(hù)方法及系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 202010564515.X | 申請(qǐng)日: | 2020-06-19 |
| 公開(公告)號(hào): | CN111475868B | 公開(公告)日: | 2020-10-02 |
| 發(fā)明(設(shè)計(jì))人: | 朱華 | 申請(qǐng)(專利權(quán))人: | 南京芯馳半導(dǎo)體科技有限公司 |
| 主分類號(hào): | G06F21/71 | 分類號(hào): | G06F21/71 |
| 代理公司: | 北京德崇智捷知識(shí)產(chǎn)權(quán)代理有限公司 11467 | 代理人: | 王雪 |
| 地址: | 210000 江蘇省南京市*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 適用于 功能 信息 安全 芯片 cpu 指令 保護(hù) 方法 系統(tǒng) | ||
1.一種適用于功能安全和信息安全的芯片的CPU指令保護(hù)方法,其特征在于,在向指令存儲(chǔ)單元存儲(chǔ)指令時(shí),按照以下步驟進(jìn)行指令編碼:
將需要存儲(chǔ)的原始指令與編碼隨機(jī)值進(jìn)行編碼運(yùn)算,將編碼運(yùn)算所獲得的編碼指令值存儲(chǔ)在指令存儲(chǔ)單元中;
其中,所述編碼隨機(jī)值為預(yù)先獲得的初始值,或所述編碼隨機(jī)值為按照散列函數(shù)對(duì)上一條原始指令以及上一條原始指令所對(duì)應(yīng)的編碼隨機(jī)值進(jìn)行計(jì)算而獲得,并且,指令編碼過程中,僅對(duì)程序中的首條原始指令,或程序中各分支所匯合的原始指令,或程序中函數(shù)調(diào)用的首條原始指令,采用預(yù)先獲得的初始值作為編碼隨機(jī)值進(jìn)行編碼運(yùn)算而獲得編碼指令值;
在讀取指令后,按照以下步驟進(jìn)行指令解碼:
將讀取指令存儲(chǔ)單元所獲得的編碼指令值與解碼隨機(jī)值進(jìn)行解碼運(yùn)算,得到解碼后指令;
其中,所述解碼隨機(jī)值為預(yù)先獲得的初始值,或所述解碼隨機(jī)值為按照散列函數(shù)對(duì)上一條解碼后指令以及上一條解碼后指令所對(duì)應(yīng)的解碼隨機(jī)值進(jìn)行計(jì)算而獲得,并且,指令解碼過程中,僅對(duì)程序中的首條編碼指令值,或程序中各分支所匯合的編碼指令值,或程序中函數(shù)調(diào)用的首條編碼指令值,采用預(yù)先獲得的初始值作為解碼隨機(jī)值進(jìn)行解碼運(yùn)算而獲得解碼后指令;
其中,所述編碼運(yùn)算和所述解碼運(yùn)算互為逆運(yùn)算;
在所述解碼后指令執(zhí)行完成后按照以下步驟校驗(yàn)所述解碼后指令是否正確:
在所述解碼后指令執(zhí)行完成后進(jìn)行指令編碼,比較其進(jìn)行指令編碼所獲得的結(jié)果是否與指令存儲(chǔ)單元中所存儲(chǔ)的編碼指令值相同,若相同則確認(rèn)所述解碼后指令正確,若不同則表示存在異常。
2.如權(quán)利要求1所述的適用于功能安全和信息安全的芯片的CPU指令保護(hù)方法,其特征在于,所述散列函數(shù)的輸出長(zhǎng)度至少達(dá)到單條原始指令的最大長(zhǎng)度。
3.如權(quán)利要求2所述的適用于功能安全和信息安全的芯片的CPU指令保護(hù)方法,其特征在于,若散列函數(shù)的輸出長(zhǎng)度與需要編碼的原始指令的長(zhǎng)度不同,則:
在向指令存儲(chǔ)單元存儲(chǔ)指令時(shí),截取散列函數(shù)所輸出的隨機(jī)數(shù)中的固定位作為編碼隨機(jī)值,用于對(duì)需要編碼的原始指令進(jìn)行指令編碼;并對(duì)應(yīng)在讀取指令后,截取散列函數(shù)所輸出的隨機(jī)數(shù)中同樣的固定位作為解碼隨機(jī)值,用于對(duì)讀取到的編碼指令值進(jìn)行指令解碼。
4.如權(quán)利要求1所述的適用于功能安全和信息安全的芯片的CPU指令保護(hù)方法,其特征在于,指令解碼過程中,對(duì)程序中函數(shù)調(diào)用前的最后一條編碼指令值還將其所對(duì)應(yīng)的解碼后指令和/或解碼隨機(jī)值保存至堆棧中;
在該函數(shù)調(diào)用結(jié)束后,調(diào)取堆棧中所保存的解碼后指令和/或解碼隨機(jī)值對(duì)下一條編碼指令值進(jìn)行指令解碼。
5.如權(quán)利要求1所述的適用于功能安全和信息安全的芯片的CPU指令保護(hù)方法,其特征在于,所述散列函數(shù)包括:哈希函數(shù)、循環(huán)冗余校驗(yàn)函數(shù)中的任意一種或其組合;
所述編碼運(yùn)算為異或運(yùn)算,所述解碼運(yùn)算對(duì)應(yīng)選擇為異或運(yùn)算。
6.如權(quán)利要求1所述的適用于功能安全和信息安全的芯片的CPU指令保護(hù)方法,其特征在于,所述編碼隨機(jī)值或解碼隨機(jī)值所對(duì)應(yīng)的預(yù)先獲得的初始值由保護(hù)開始指令設(shè)定;
所述保護(hù)開始指令在指令編碼過程中,由編碼器插入至程序中的首條原始指令之前,或插入至程序中各分支所匯合的原始指令之前,或插入至程序中函數(shù)調(diào)用的首條原始指令之前;
所述保護(hù)開始指令在指令解碼過程中,由譯碼器插入至程序中的首條編碼指令值,或插入至程序中各分支所匯合的編碼指令值,或插入至程序中函數(shù)調(diào)用的首條編碼指令值之前;
所述保護(hù)開始指令本身不參與與編碼隨機(jī)值或解碼隨機(jī)值進(jìn)行的編碼運(yùn)算或解碼運(yùn)算。
7.一種適用于功能安全和信息安全的芯片的CPU指令保護(hù)系統(tǒng),其特征在于,包括:
編碼器,其在向指令存儲(chǔ)單元存儲(chǔ)指令時(shí),按照以下步驟進(jìn)行指令編碼:將需要存儲(chǔ)的原始指令與編碼隨機(jī)值進(jìn)行編碼運(yùn)算,將編碼運(yùn)算所獲得的編碼指令值存儲(chǔ)在指令存儲(chǔ)單元中;
其中,所述編碼隨機(jī)值為預(yù)先獲得的初始值,或所述編碼隨機(jī)值為按照散列函數(shù)對(duì)上一條原始指令以及上一條原始指令所對(duì)應(yīng)的編碼隨機(jī)值進(jìn)行計(jì)算而獲得,并且,指令編碼器中,僅對(duì)程序中的首條原始指令,或程序中各分支所匯合的原始指令,或程序中函數(shù)調(diào)用的首條原始指令,采用預(yù)先獲得的初始值作為編碼隨機(jī)值進(jìn)行編碼運(yùn)算而獲得編碼指令值;
譯碼器,其在讀取指令后,按照以下步驟進(jìn)行指令解碼:將讀取指令存儲(chǔ)單元所獲得的編碼指令值與解碼隨機(jī)值進(jìn)行解碼運(yùn)算,得到解碼后指令;
其中,所述解碼隨機(jī)值為預(yù)先獲得的初始值,或所述解碼隨機(jī)值為按照散列函數(shù)對(duì)上一條解碼后指令以及上一條解碼后指令所對(duì)應(yīng)的解碼隨機(jī)值進(jìn)行計(jì)算而獲得,并且,指令解碼器中,僅對(duì)程序中的首條編碼指令值,或程序中各分支所匯合的編碼指令值,或程序中函數(shù)調(diào)用的首條編碼指令值,采用預(yù)先獲得的初始值作為解碼隨機(jī)值進(jìn)行解碼運(yùn)算而獲得解碼后指令;
在所述解碼后指令執(zhí)行完成后還按照以下步驟校驗(yàn)所述解碼后指令是否正確:
在所述解碼后指令執(zhí)行完成后進(jìn)行指令編碼,比較其進(jìn)行指令編碼所獲得的結(jié)果是否與指令存儲(chǔ)單元中所存儲(chǔ)的編碼指令值相同,若相同則確認(rèn)所述解碼后指令正確,若不同則表示存在異常。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京芯馳半導(dǎo)體科技有限公司,未經(jīng)南京芯馳半導(dǎo)體科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010564515.X/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過限制訪問計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過限制訪問或處理程序或過程
- 信息記錄介質(zhì)、信息記錄方法、信息記錄設(shè)備、信息再現(xiàn)方法和信息再現(xiàn)設(shè)備
- 信息記錄裝置、信息記錄方法、信息記錄介質(zhì)、信息復(fù)制裝置和信息復(fù)制方法
- 信息記錄裝置、信息再現(xiàn)裝置、信息記錄方法、信息再現(xiàn)方法、信息記錄程序、信息再現(xiàn)程序、以及信息記錄介質(zhì)
- 信息記錄裝置、信息再現(xiàn)裝置、信息記錄方法、信息再現(xiàn)方法、信息記錄程序、信息再現(xiàn)程序、以及信息記錄介質(zhì)
- 信息記錄設(shè)備、信息重放設(shè)備、信息記錄方法、信息重放方法、以及信息記錄介質(zhì)
- 信息存儲(chǔ)介質(zhì)、信息記錄方法、信息重放方法、信息記錄設(shè)備、以及信息重放設(shè)備
- 信息存儲(chǔ)介質(zhì)、信息記錄方法、信息回放方法、信息記錄設(shè)備和信息回放設(shè)備
- 信息記錄介質(zhì)、信息記錄方法、信息記錄裝置、信息再現(xiàn)方法和信息再現(xiàn)裝置
- 信息終端,信息終端的信息呈現(xiàn)方法和信息呈現(xiàn)程序
- 信息創(chuàng)建、信息發(fā)送方法及信息創(chuàng)建、信息發(fā)送裝置





