一種嵌入式系統程序加密方法
2023-05-31 19:50:56 1
專利名稱:一種嵌入式系統程序加密方法
技術領域:
本發明涉及一種系統程序加密方法,具體地說是一種嵌入式系統程序加密 方法。
背景技術:
根據IEEE (國際電機工程師協會)的定義,嵌入式系統是"控制、監 視或者輔助裝置、機器和設備運行的裝置"(原文為devices used to control, monitor, or assist the operation of equipment, machinery or plants)。 這主要
是從應用上加以定義的,從中可以看出嵌入式系統是軟體和硬體的綜合 體,還可以涵蓋機械等附屬裝置。嵌入式系統是以應用為中心、以計算機 技術為基礎、軟體硬體可裁剪、適應應用系統、對功能、可靠性、成本、 體積、功耗嚴格要求的專用計算機系統。
高實時性的系統軟體(OS)是嵌入式系統中軟體的基本要求。而且軟體
要求固態存儲,以提高速度;軟體代碼要求高質量和高可靠性。嵌入式系
統的應用程式可以沒有作業系統直接在晶片上運行。
在嵌入式系統中,燒入的程序代碼非常容易被非法拷貝出來,使得嵌入式
產品的軟體容易被複製,給嵌入式產品造成損失。
發明內容
本發明的技術任務是提供一種將系統程序進行加密,以便對所作系統和程 序進行有效保護的一種嵌入式系統程序加密方法。
本發明的技術任務是按以下方式實現的,嵌入式系統包括微處理器CPU、 存儲器ROM和存儲器RAM;在嵌入式系統中增加了加密晶片CPLD, CPLD、 ROM和RAM均與CPU相互間進行通信;其中CPLD用來存放加密密匙,ROM加密的系統程序、需要加密但未經加
密的系統程序和加密之後的系統程序,RAM用來運行通過CPLD解密後的系 統程序。
系統程序加密的具體歩驟為
(1) 、嵌入式系統生產中並且在第一次上電前,先將嵌入式系統上電運行
所需的不加密的系統程序和需要加密但未經加密的系統程序燒寫到ROM中;
(2) 、嵌入式系統上電;
(3) 、嵌入式系統初始上電後,通過CPLD中存放的加密密匙,將ROM中 需要加密但未經加密的系統程序加密之後再存入ROM中;
(4) 、加密之後的系統程序在ROM中設置加密標誌位,表明該程序已經 經過加密;
(5) 、在加密存儲到ROM的過程中,加密之後的系統程序就將需要加密 但未經加密的系統程序覆蓋,ROM中不再存在需要加密但未經加密的系統程 序。
系統程序解密的具體步驟為
(1) 、當嵌入式系統第二次或者以後上電時,嵌入式系統會根據ROM中 的加密標誌位,讀取加密之後的系統程序;
(2) 、將加密之後的系統程序經過CPLD中存放的加密密匙的作用進行解
密;
(3) 、將解密後的系統程序存放到RAM中;
(4) 、嵌入式系統上電程序跳轉到解密後的系統程序的入口點地址,運行 該程序。
對於ROM中存放的嵌入式系統上電運行所需的不加密的系統程序,由於 嵌入式系統上電之後會自動運行所存儲的程序代碼,因此,將整個程序全部進 行加密的方式是不可行的。因為,如果全部加密,那麼嵌入式系統上電運行所 需的系統程序也將進行加密,這樣,就會使得嵌入式系統根本無法運行。所以,在程序開始的部分是正常代碼,不進行加密。而這些程序也是一些對嵌入式系 統應用來說,無關緊要的程序。
同時由於程序的加密存儲和解密運行同時在一個系統中,因此,嵌入式系 統上電運行的程序需要同時具備加密存儲和解密運行的程序。
本發明的一種嵌入式系統程序加密方法具有以下優點將系統程序進行加 密,以便對所作系統和程序進行有效保護;經過加密之後的產品,即使將系統程 序代碼拷貝出來,系統也不能正常運行;設計合理、易於加工、使用方便;因 而,具有很好的推廣使用價值。
下面結合附圖對本發明進一步說明。
附圖1為一種嵌入式系統程序加密方法的系統結構框圖。 圖中1、 CPU, 2、 ROM, 3、 RAM, 4、 CPLD。
具體實施例方式
參照說明書附圖和具體實施例對本發明的一種嵌入式系統程序加密方法 作以下詳細地說明。
本發明的一種嵌入式系統程序加密方法,嵌入式系統包括微處理器 CPU1、存儲器ROM2和存儲器RAM3;在嵌入式系統中增加了加密晶片 CPLD4, CPLD4、 ROM2和RAM3均與CPU1相互間進行通信;其中CPLD4 用來存放加密密匙,ROM2用來存放嵌入式系統上電運行所需的不加密的系統 程序、需要加密但未經加密的系統程序和加密之後的系統程序,RAM3用來運 行通過CPLD4解密後的系統程序。
系統程序加密的具體步驟為
(1) 、嵌入式系統生產中並且在第一次上電前,先將嵌入式系統上電運行 所需的不加密的系統程序和需要加密但未經加密的系統程序燒寫到ROM2中;
(2) 、嵌入式系統上電;(3) 、嵌入式系統初始上電後,通過CPLD4中存放的加密密匙,將ROM2 中需要加密但未經加密的系統程序加密之後再存入ROM2中;
(4) 、加密之後的系統程序在ROM2中設置加密標誌位,表明該程序已經 經過加密;
(5) 、在加密存儲到ROM2的過程中,加密之後的系統程序就將需要加 密但未經加密的系統程序覆蓋,ROM2中不再存在需要加密但未經加密的系統 程序。
系統程序解密的具體步驟為
(1) 、當嵌入式系統第二次或者以後上電時,嵌入式系統會根據ROM2 中的加密標誌位,讀取加密之後的系統程序;
(2) 、將加密之後的系統程序經過CPLD4中存放的加密密匙的作用進行
(3) 、將解密後的系統程序存放到RAM3中;
(4) 、嵌入式系統上電程序跳轉到解密後的系統程序的入口點地址,運行 該程序。
除說明書所述的技術特徵外,均為本專業技術人員的已知技術。
權利要求
1、一種嵌入式系統程序加密方法,嵌入式系統包括微處理器CPU、存儲器ROM和存儲器RAM,其特徵在於在嵌入式系統中增加了加密晶片CPLD,CPLD、ROM和RAM均與CPU相互間進行通信;其中CPLD用來存放加密密匙,ROM用來存放嵌入式系統上電運行所需的不加密的系統程序、需要加密但未經加密的系統程序和加密之後的系統程序,RAM用來運行通過CPLD解密後的系統程序。
2、 根據權利要求1所述的一種嵌入式系統程序加密方法,其特徵在於系 統程序加密的具體步驟為(1) 、嵌入式系統生產中並且在第一次上電前,先將嵌入式系統上電運行 所需的不加密的系統程序和需要加密但未經加密的系統程序燒寫到ROM中;(2) 、嵌入式系統上電;(3) 、嵌入式系統初始上電後,通過CPLD中存放的加密密匙,將ROM中 需要加密但未經加密的系統程序加密之後再存入ROM中;(4) 、加密之後的系統程序在ROM中設置加密標誌位,表明該程序已經 經過加密;(5) 、在加密存儲到ROM的過程中,加密之後的系統程序就將需要加密 但未經加密的系統程序覆蓋,ROM中不再存在需要加密但未經加密的系統程 序。
3、 根據權利要求1或2所述的一種嵌入式系統程序加密方法,其特徵在 於系統程序解密的具體步驟為(1) 、當嵌入式系統第二次或者以後上電時,嵌入式系統會根據ROM中 的加密標誌位,讀取加密之後的系統程序;(2) 、將加密之後的系統程序經過CPLD中存放的加密密匙的作用進行解密;(3) 、將解密後的系統程序存放到RAM中;(4) 、嵌入式系統上電程序跳轉到解密後的系統程序的入口點地址,運行該程序。
全文摘要
本發明公開了一種嵌入式系統程序加密方法,屬於一種系統程序加密方法,嵌入式系統包括微處理器CPU、存儲器ROM和存儲器RAM;在嵌入式系統中增加了加密晶片CPLD,CPLD、ROM和RAM均與CPU相互間進行通信;其中CPLD用來存放加密密匙,ROM用來存放嵌入式系統上電運行所需的不加密的系統程序、需要加密但未經加密的系統程序和加密之後的系統程序,RAM用來運行通過CPLD解密後的系統程序。本發明的一種嵌入式系統程序加密方法,將系統程序進行加密,以便對所作系統和程序進行有效保護;經過加密之後的產品,即使將系統程序代碼拷貝出來,系統也不能正常運行。
文檔編號G06F21/22GK101639887SQ20091001766
公開日2010年2月3日 申請日期2009年8月19日 優先權日2009年8月19日
發明者於治樓, 偉 李, 梁華勇 申請人:浪潮電子信息產業股份有限公司