[發明專利]系統運行中指令流的安全檢測和容錯方法有效
| 申請號: | 201710083965.5 | 申請日: | 2017-02-16 |
| 公開(公告)號: | CN106874796B | 公開(公告)日: | 2021-03-30 |
| 發明(設計)人: | 張景 | 申請(專利權)人: | 中云信安(深圳)科技有限公司 |
| 主分類號: | G06F21/71 | 分類號: | G06F21/71;G06F11/07 |
| 代理公司: | 深圳市凱達知識產權事務所 44256 | 代理人: | 王琦 |
| 地址: | 518000 廣東省深圳市南山區粵海街道濱海社區*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 系統 運行 指令 安全 檢測 容錯 方法 | ||
1.一種系統運行中指令流的安全檢測和容錯方法,其特征在于在FLASH等非揮發性存儲器中存儲的經過安全認證的指令流稱為原始指令流,將CPU接收到的實際執行的指令流稱為執行指令流,在原始指令流和執行指令流之間增加了一級作為緩沖的指令流,被稱為中間指令流,設置PRAM存儲中間指令流,PFLASH中存儲原始指令流,緩存中間指令流采用類Cache的結構,不需要編址,指令流的存儲和檢測都由硬件自動完成;
系統的原始指令流和原始數據流存儲在非揮發的FLASH中,非揮發FLASH分成若干塊,且每個塊的大小一樣,同時,一個塊內要么都是程序,要么都是數據;
所述FLASH具有保護電路,且該FLASH保護電路具有權限管理模塊及指令多重糾錯碼產生和狀態維護模塊,總線主機先給FLASH傳送一段驗證碼,FLASH保護電路的權限管理模塊接收這段驗證碼,并進行驗證;所述FLASH保護電路的權限管理模塊同時維護著指令塊、數據塊的標志位,FLASH保護電路的權限保護電路管理模塊產生的允許寫入信號和接下來總線上傳輸的地址、數據和控制信號一起,輸入給指令多重糾錯碼產生和狀態維護模塊;
為了保證PFLASH可靠性和安全性,將塊糾錯碼和指令多重糾錯碼聯合使用,塊糾錯碼在程序進行認證時產生,并和程序一起傳輸、存儲;對于指令塊,還需要保存它的塊糾錯碼;在FLASH保護電路生成的多重糾錯碼是以指令為單位產生的指令多重糾錯碼;除了對指令流產生糾錯碼之外,對塊多重糾錯碼也會產生指令多重糾錯碼,這樣的雙重保護可以保證塊多重糾錯碼的可靠性和正確性。
2.如權利要求1所述的一種系統運行中指令流的安全檢測和容錯方法,其特征在于所述PFLASH不能輕易被寫入,只有經過認證的程序才能由DMA在特定的條件下才能將新程序寫入PFLASH,否則,PFLASH不開放寫權限。
3.如權利要求2所述的一種系統運行中指令流的安全檢測和容錯方法,其特征在于程序RAM和數據RAM,也叫PRAM和DRAM,分別實現了對指令流和數據流的分級管理;程序RAM和數據RAM不獨立編址,程序RAM和數據RAM也分成若干塊,塊的大小和FLASH中塊的大小相同,程序RAM中的塊只存儲程序;數據RAM中的塊只存儲數據。
4.如權利要求1所述的一種系統運行中指令流的安全檢測和容錯方法,其特征在于在指令流從FLASH中讀出時,指令多重糾錯碼產生和狀態維護模塊計算讀出指令流的指令多重糾錯碼,和寫入時計算的糾錯碼值進行比較,如果一致說明指令流正確,如果不一致并不能糾正,說明指令流有糾正不了的故障;如果塊多重糾錯碼的指令多重糾錯碼顯示有故障,則說明塊多重糾錯碼已經失效,已經無法保證指令流動態安全檢測的可靠性,發出報警信號,并停止運行指令流。
5.如權利要求3所述的一種系統運行中指令流的安全檢測和容錯方法,其特征在于PRAM以塊為單位進行傳輸,當PRAM接收到CPU的取指信號和取指地址后,判斷該指令所在的塊是否已經在PRAM中;如果在,CPU取指執行;如果不在,DMA從PFLASH中搬運該塊給PRAM,同時搬運該塊的塊多重糾錯碼,存儲在保護電路中;在指令流被CPU執行的過程中,PRAM保護電路時刻檢測發送給CPU的指令流的指令多重糾錯碼和存儲在保護電路中的塊多重糾錯碼,實現對執行指令流的動態實時監控。
6.如權利要求5所述的一種系統運行中指令流的安全檢測和容錯方法,其特征在于對于PRAM,設有PRAM保護電路,用兩種糾錯碼進行保護,一種是塊多重糾錯碼,一種是指令多重糾錯碼,這兩種糾錯碼其實都是多重糾錯碼,不同的是參與糾錯的數據量不同。
7.如權利要求6所述的一種系統運行中指令流的安全檢測和容錯方法,其特征在于所述PRAM保護電路由塊維護、動態保護模塊和靜態保護模塊三部分構成;其中,塊維護中包含塊表、塊替換等模塊,塊表中維護著FLASH地址和DRAM地址之間的映射塊表,對塊表進行查找和維護,塊替換是在DRAM已滿時進行塊替換的判斷、選擇和替換等;動態保護模塊中存儲著每個塊的塊多重糾錯碼,塊多重糾錯碼和指令流一起從FLASH中傳輸到PRAM,并保存在動態保護模塊的存儲塊多重糾錯碼中;靜態保護模塊主要負責對指令流在PRAM中的改動進行安全檢測,靜態保護采用以指令為單位的多重糾錯碼,在指令寫入PRAM時由靜態保護電路計算該指令的多重糾錯碼,并將指令多重糾錯碼保存在PRAM中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中云信安(深圳)科技有限公司,未經中云信安(深圳)科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710083965.5/1.html,轉載請聲明來源鉆瓜專利網。





