[發明專利]微控制器及其他嵌入式系統程序代碼保護方法和裝置有效
| 申請號: | 201410046230.1 | 申請日: | 2014-02-10 |
| 公開(公告)號: | CN103745140B | 公開(公告)日: | 2017-01-25 |
| 發明(設計)人: | 程青云;劉峰;潘競;馬果;江永林 | 申請(專利權)人: | 北京芯盈速騰電子科技有限責任公司 |
| 主分類號: | G06F21/12 | 分類號: | G06F21/12 |
| 代理公司: | 上海唯源專利代理有限公司31229 | 代理人: | 曾耀先 |
| 地址: | 100176 北京市大興區北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 控制器 其他 嵌入式 系統 程序代碼 保護 方法 裝置 | ||
技術領域
本發明涉及計算機領域,尤其是指一種微控制器及其他嵌入式系統程序代碼保護方法和裝置。
背景技術
MCU(Micro?Control?Unit)中文名稱為微控制器,又稱單片微型計算機(Single?Chip?Microcomputer)或者單片機,是指隨著大規模集成電路的出現及其發展,將計算機的CPU、RAM、ROM、定時計數器和多種I/O接口集成在一片芯片上,形成芯片級的計算機,為不同的應用場合做不同組合控制。
一般說來,SOC稱為系統級芯片,也有稱片上系統,意指它是一個產品,是一個有專用目標的集成電路,其中包含完整系統并有嵌入軟件的全部內容。同時它又是一種技術,用以實現從確定系統功能開始,到軟/硬件劃分,并完成設計的整個過程。
微控制器(以下簡稱MCU)或其他嵌入式系統(以下簡稱SOC)常常存在多次開發的情況,舉例來說,MCU/SOC芯片制造商提供給系統開發用戶的開發程序庫,或者系統開發商提供給用戶的程序代碼,都存在即要求保護代碼不被讀出又要求可以被CPU執行這些代碼的需求。
如圖1所示,通用的MCU/SOC系統的結構,一般由中央處理單元91(以下簡稱CPU)或者數字信號處理單元(以下簡稱DSP)、調試器92、直接通道存取單元93(以下簡稱DMA)總線、總線控制器94及程序存儲器95及其他外部設備96、97等組成。其中,CPU、DMA與調試器92都是主動設備,可以發出指令,請求取得總線控制權。而程序存儲器95及其他外部設備96、97等是從動設備,只能被主動設備操作,無法主動發起總線控制權請求。具體的程序執行的過程如下,首先整個系統上電,上電復位電路發出復位信號,程序指針復位為0,復位完成后釋放復位信號,在時鐘(也稱為定時器)的驅動下,主動設備CPU從0地址開始執行,CPU發出讀取0地址存儲單元程序總線請求,總線控制器仲裁,賦予CPU總線控制權,存儲單元地址譯碼器得到本設備讀出請求,從存儲單元讀出0地址程序或數據返回總線,CPU取得指令,送入CPU執行單元執行,完成指令執行,程序指針增加或跳轉,重復以上過程。
通用系統的程序一般放在程序存儲器95中,一次開發,二次開發及多次開發的程序被存在程序存儲器95中不同的位置,通用系統主動設備可以訪問或擦寫程序存儲器95的任意位置,這樣一次開發的程序,可能被二次或多次開發的程序讀出來破譯或者擦除毀壞,也存在二次開發的程序被其后續開發的程序讀出來破譯或擦除毀壞,也存在程序被調試器92、DMA等主動設備讀出或擦除毀壞。
為了解決上述問題,目前行業內通常都采用傳統的加密算法(比如AES,DES,RSA等)來直接加密程序本身,防止程序被讀出來破譯或擦除毀壞。但是,這種方法是將程序本身被加密存儲于程序存儲器中,那么每次執行,讀寫都要加解密,缺點在于:第一會增加硬件成本,第二增加執行,讀寫時間,降低CPU及系統的效率。
發明內容
有鑒于上述問題,本發明的目的在于,提供一種既能保護程序代碼本身不被讀出、跟蹤或破解,又能使得已開發程序可以被調用與執行的微控制器程序代碼保護方法。
為此,本發明提供了一種微控制器及其他嵌入式系統程序代碼保護方法,包括以下步驟:
提供至少一中央處理單元,一總線控制器以及一程序存儲器,所述中央處理單元通過所述總線控制器連接所述程序存儲器;
將所述程序存儲器分為復數個程序分區;
提供一密鑰存儲器,在所述密鑰存儲器中存儲分別對應所述程序分區的復數個分區密鑰,用于鎖定所述程序分區中的程序。
本發明對程序存儲器進行分區,程序開發者首先將已開發完成的程序編程入程序存儲器的各個程序分區中,然后將密鑰存儲到密鑰存儲器的各個分區密鑰中,重新上電啟動該系統裝置,這樣各個程序分區以及其各自對應的分區密鑰,都將被密鑰鎖定,只允許被密匙認可的設備執行此程序分區內的程序,其他任何操作如讀、寫、擦除都將被拒絕,同時此程序分區的密鑰將不能被隨意更改,且不能被任何主動設備或從動設備讀出,保證了程序存儲器的程序不會被破譯或者擦除毀壞。
本發明微控制器及其他嵌入式系統程序代碼保護方法的進一步改進在于,提供所述密鑰存儲器之后,還包括步驟:提供一密鑰臨時寄存器,在所述密鑰臨時寄存器中存儲分別匹配所述分區密鑰的復數個解鎖密鑰。
本發明微控制器及其他嵌入式系統程序代碼保護方法的進一步改進在于,對所述程序分區進行解鎖的方法,包括以下步驟:
在待解鎖的程序分區相對應的解鎖密鑰中輸入一密匙;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京芯盈速騰電子科技有限責任公司,未經北京芯盈速騰電子科技有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410046230.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:筆記本電腦強制身份認證裝置
- 下一篇:一種在線電壓安全性量化評估方法





