本發(fā)明專利技術(shù)涉及系統(tǒng)管理技術(shù)領(lǐng)域,具體地說是一種基于數(shù)據(jù)庫的嵌入式系統(tǒng)加密方法。一種基于數(shù)據(jù)庫的嵌入式系統(tǒng)加密方法,其特征在于:將FLASH劃分為啟動代碼區(qū)、系統(tǒng)參數(shù)區(qū)及數(shù)據(jù)庫/主程序區(qū)三個區(qū)域,配合所需的數(shù)據(jù)庫文件實現(xiàn)加密方案。同現(xiàn)有技術(shù)相比,本發(fā)明專利技術(shù)提出的方法使用了檢索數(shù)據(jù)庫的加密方式,將檢索到的數(shù)據(jù)存儲到系統(tǒng)的系統(tǒng)參數(shù)區(qū),可以方便的實現(xiàn)每臺設備在出廠時就具備不同的管理員密碼和注冊碼密鑰,同時可以利用芯片的UID限制固件被非法拷貝到另一臺設備上運行,也可以方便的通過配置文件來規(guī)劃和配置系統(tǒng)的功能模塊,同時也可以方便的實現(xiàn)引導程序和主程序之間的參數(shù)傳遞。
【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)涉及系統(tǒng)管理
,具體地說是。
技術(shù)介紹
嵌入式系統(tǒng)一般用Boot Loader+APP的方式實現(xiàn),這種方式功能和結(jié)構(gòu)簡單,能夠?qū)崿F(xiàn)嵌入式系統(tǒng)的引導和運行,但這種方式在想要獲得更好的功能和效果時顯得有點力不從心。比如,不方便實現(xiàn)在生產(chǎn)階段讓每臺設備都具有不同的管理員密碼和注冊碼密鑰;無法限制一臺設備的固件被非法拷貝到另一臺克隆設備上運行;無法利用配置文件來配置系統(tǒng)的功能或模塊;引導程序和主程序之間參數(shù)傳遞也不夠方便。
技術(shù)實現(xiàn)思路
本專利技術(shù)為克服現(xiàn)有技術(shù)的不足,提供一種改進的嵌入式系統(tǒng)加密方案,該方案具備實施方便,安全性高,靈活性、通用性和移植性都很好等特點。為實現(xiàn)上述目的,設計,其特征在于:將FLASH劃分為啟動代碼區(qū)、系統(tǒng)參數(shù)區(qū)及數(shù)據(jù)庫/主程序區(qū)三個區(qū)域,配合所需的數(shù)據(jù)庫文件實現(xiàn)加密方案;所述的加密方法如下: (1)系統(tǒng)進行初始化,包括時鐘初始化、FLASH初始化;(2)判斷FLASH中是否存在數(shù)據(jù)庫文件,是則進入配置模式;否則判斷主程序是否存在; (3)進入配置模式后,將查詢數(shù)據(jù)庫結(jié)果寫入FLASH系統(tǒng)參數(shù)區(qū); (4)讀取芯片UID,并寫入FLASH系統(tǒng)參數(shù)區(qū); (5)進行功能配置,進行生產(chǎn)信息配置;(6)判斷主程序是否存在,是則判斷是否存在升級程序;否則向FLASH寫入主程序; (7)判斷是否存在升級程序,是則升級主程序;否則判斷UID是否匹配; (8)判斷UID是否匹配,是則運行主程序;否則終止工作; (9)運行主程序后,判斷是否進入管理員界面,是則驗證密碼是否正確;否則繼續(xù)運行主程序; (10)管理員界面驗證密碼正確后,注冊使用時間時驗證注冊碼信息是否匹配,進行管理操作后退出。所述的UID為芯片的唯一身份編號Unique ID。本專利技術(shù)同現(xiàn)有技術(shù)相比,本專利技術(shù)提出的方法使用了檢索數(shù)據(jù)庫的加密方式,將檢索到的數(shù)據(jù)存儲到系統(tǒng)的系統(tǒng)參數(shù)區(qū),可以方便的實現(xiàn)每臺設備在出廠時就具備不同的管理員密碼和注冊碼密鑰,同時可以利用芯片的UID限制固件被非法拷貝到另一臺設備上運行,也可以方便的通過配置文件來規(guī)劃和配置系統(tǒng)的功能模塊,同時也可以方便的實現(xiàn)引導程序和主程序之間的參數(shù)傳遞。【附圖說明】圖1為FLASH的區(qū)域劃分示意圖。圖2為FLASH的使用過程示意圖。圖3為本專利技術(shù)程序流程圖。【具體實施方式】下面根據(jù)附圖對本專利技術(shù)做進一步的說明。如圖1所示,將FLASH劃分為啟動代碼區(qū)、系統(tǒng)參數(shù)區(qū)及數(shù)據(jù)庫/主程序區(qū)三個區(qū)域。啟動代碼區(qū)在初始化系統(tǒng)以后通過對數(shù)據(jù)庫/主程序區(qū)存儲的內(nèi)容的判斷有兩種模式:配置模式和正常模式。配置模式:判斷到數(shù)據(jù)庫/主程序區(qū)存儲的是數(shù)據(jù)庫時,進入配置模式。配置模式下在用戶的參與下可以進行很多操作,比如:查詢數(shù)據(jù)庫,將數(shù)據(jù)庫中的管理員密碼和注冊碼密鑰等相關(guān)數(shù)據(jù)提取并存儲到系統(tǒng)參數(shù)區(qū);讀取芯片UID并存儲到系統(tǒng)參數(shù)區(qū);生成配置文件,存儲到系統(tǒng)參數(shù)區(qū)等。正常模式:判斷到數(shù)據(jù)庫/主程序區(qū)存儲的是主程序時進入正常模式,引導主程序運行,如果檢測到有升級文件,則進行固件升級。系統(tǒng)參數(shù)區(qū)用來存儲系統(tǒng)運行所需要的一些參數(shù)以及用戶數(shù)據(jù)。比如,系統(tǒng)管理員密碼、注冊碼密鑰、配置文件、芯片UID和生產(chǎn)信息等。數(shù)據(jù)庫/主程序區(qū)先是用來存放配置模式下使用的數(shù)據(jù)庫文件,配置模式完成后,此區(qū)域?qū)徊脸撕笥脕泶鎯ο到y(tǒng)正常運行時所需要的主程序。主程序運行時如果要進入管理員菜單,需要已被保存到系統(tǒng)參數(shù)區(qū)的系統(tǒng)管理員密碼,該密碼每一臺設備均不同。對系統(tǒng)進行注冊時,只能識別經(jīng)過系統(tǒng)參數(shù)區(qū)的注冊碼密鑰加密的注冊碼,否則無法進行解密。芯片UID和系統(tǒng)參數(shù)區(qū)存儲的ID不匹配時,認為固件非法,停止運行。如圖2,圖3所示,加密方法如下: (1)系統(tǒng)進行初始化,包括時鐘初始化、FLASH初始化; (2)判斷FLASH中是否存在數(shù)據(jù)庫文件,是則進入配置模式;否則判斷主程序是否存在; (3)進入配置模式后,將查詢數(shù)據(jù)庫結(jié)果寫入FLASH系統(tǒng)參數(shù)區(qū); (4)讀取芯片UID,并寫入FLASH系統(tǒng)參數(shù)區(qū); (5)進行功能配置,進行生產(chǎn)信息配置; (6)判斷主程序是否存在,是則判斷是否存在升級程序;否則向FLASH寫入主程序; (7)判斷是否存在升級程序,是則升級主程序;否則判斷UID是否匹配; (8)判斷UID是否匹配,是則運行主程序;否則終止工作; (9)運行主程序后,判斷是否進入管理員界面,是則驗證密碼是否正確;否則繼續(xù)運行主程序; (10)管理員界面驗證密碼正確后,注冊使用時間時驗證注冊碼信息是否匹配,進行管理操作后退出。啟動代碼區(qū)負責初始化外設,配置系統(tǒng)參數(shù),引導程序運行和固件升級。配置系統(tǒng)參數(shù)時需要人為干預,可以選擇使用USB通信、以太網(wǎng)通信、485通信等方式在PC端完成,也可以選擇使用IXD顯示屏在嵌入式設備上直接人機交互進行。系統(tǒng)參數(shù)區(qū)存儲系統(tǒng)運行必要參數(shù)和用戶數(shù)據(jù),例如管理員密碼、注冊碼密鑰、芯片UID、生產(chǎn)信息、配置文件等,管理員密碼可以單獨在每臺設備上通過特定方式查詢,注冊碼密鑰不能在設備上查詢。管理員密碼和注冊碼密鑰在PC端建立一個數(shù)據(jù)庫來保存,利用管理員密碼進行管理員操作,用注冊碼密鑰對注冊碼進行加密、解密操作。數(shù)據(jù)庫/主程序區(qū)先是用來存儲包含了隨機產(chǎn)生的管理員密碼以及隨機的注冊碼密鑰的數(shù)據(jù)庫(PC端也有同樣的一個數(shù)據(jù)庫),從數(shù)據(jù)庫中提取相應數(shù)據(jù)寫入系統(tǒng)參數(shù)區(qū)。在數(shù)據(jù)庫使用完以后,擦除該區(qū)域,此后該區(qū)域?qū)⒂脕泶鎯ο到y(tǒng)運行的主程序。FLASH的使用過程如圖2所示。首先將整片F(xiàn)LASH擦除,然后編程啟動代碼和數(shù)據(jù)庫,此時系統(tǒng)參數(shù)區(qū)是未使用的。啟動代碼在初始化以后進入配置模式,將從數(shù)據(jù)庫中查詢到所需要的管理員密碼以及注冊碼密鑰寫入到系統(tǒng)參數(shù)區(qū),另外將芯片UID、配置文件、生產(chǎn)信息等寫入系統(tǒng)參數(shù)區(qū)。配置模式結(jié)束時將會擦除數(shù)據(jù)庫,數(shù)據(jù)庫的位置將用來存儲主程序。系統(tǒng)的工作流程如圖3所示。其中需要說明的為配置模式、UID加密和注冊碼操作。配置模式:配置模式需要用戶輸入設備的ID號,用以查詢當前ID號在數(shù)據(jù)庫中對應的管理員密碼和注冊碼密鑰,然后寫入到系統(tǒng)參數(shù)區(qū)。UID加密:配置階段將主芯片的UID寫入系統(tǒng)存儲區(qū),程序運行時將讀取芯片的ID和存儲的芯片ID比較,如果二者不一樣,則停止運行。如此可以防止通過拷貝某一臺設備的固件非法批量生產(chǎn)的行為。注冊碼操作:在PC端查詢管理員密碼或者以特定的方式在設備上查詢管理員密碼進入系統(tǒng)管理員菜單。在管理員界面通過輸入注冊碼來對系統(tǒng)加解密。使用在PC數(shù)據(jù)庫里查詢的注冊碼密鑰對注冊碼進行加密處理,注冊碼輸入到設備時系統(tǒng)會利用系統(tǒng)參數(shù)區(qū)的注冊碼密鑰進行解密。每臺設備的注冊碼密鑰不同并且是隨機碼,同時在設備上無法查詢,安全性較高。以上技術(shù)方案,其具有以下優(yōu)點:1、安全性能高,不同的設備具有不同的管理員密碼和注冊碼密鑰,同時利用UID加密加強了芯片自身代碼的保護能力,防止惡意注冊和惡意抄襲等行為;2、通過配置文件實現(xiàn)系統(tǒng)功能的靈活配置;3、該結(jié)構(gòu)可以在不同的硬件平臺上使用,通用性、移植性好;4、可以方便的實現(xiàn)系統(tǒng)的引導功能和升級功能以及參數(shù)的傳遞,可維護性強。【主權(quán)項】1.,其特征在于:將FLASH劃分為啟動代碼區(qū)、系統(tǒng)參數(shù)區(qū)及數(shù)據(jù)庫/主程序區(qū)三個區(qū)域,配合本文檔來自技高網(wǎng)...

【技術(shù)保護點】
一種基于數(shù)據(jù)庫的嵌入式系統(tǒng)加密方法,其特征在于:將FLASH劃分為啟動代碼區(qū)、系統(tǒng)參數(shù)區(qū)及數(shù)據(jù)庫/主程序區(qū)三個區(qū)域,配合所需的數(shù)據(jù)庫文件實現(xiàn)加密方案;所述的加密方法如下:(1)系統(tǒng)進行初始化,包括時鐘初始化、FLASH初始化;(2)判斷FLASH中是否存在數(shù)據(jù)庫文件,是則進入配置模式;否則判斷主程序是否存在;(3)進入配置模式后,將查詢數(shù)據(jù)庫結(jié)果寫入FLASH系統(tǒng)參數(shù)區(qū);(4)讀取芯片UID,并寫入FLASH系統(tǒng)參數(shù)區(qū);(5)進行功能配置,進行生產(chǎn)信息配置;(6)判斷主程序是否存在,是則判斷是否存在升級程序;否則向FLASH寫入主程序;(7)判斷是否存在升級程序,是則升級主程序;否則判斷UID是否匹配;(8)判斷UID是否匹配,是則運行主程序;否則終止工作;(9)運行主程序后,判斷是否進入管理員界面,是則驗證密碼是否正確;否則繼續(xù)運行主程序;(10)管理員界面驗證密碼正確后,注冊使用時間時驗證注冊碼信息是否匹配,進行管理操作后退出。
【技術(shù)特征摘要】
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:代田田,王仕卿,
申請(專利權(quán))人:上海柏楚電子科技有限公司,
類型:發(fā)明
國別省市:上海;31
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。