亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于數(shù)據(jù)庫(kù)的嵌入式系統(tǒng)加密方法

文檔序號(hào):9350302閱讀:879來(lái)源:國(guó)知局
一種基于數(shù)據(jù)庫(kù)的嵌入式系統(tǒng)加密方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及系統(tǒng)管理技術(shù)領(lǐng)域,具體地說(shuō)是一種基于數(shù)據(jù)庫(kù)的嵌入式系統(tǒng)加密方法。
【背景技術(shù)】
[0002]嵌入式系統(tǒng)一般用Boot Loader+APP的方式實(shí)現(xiàn),這種方式功能和結(jié)構(gòu)簡(jiǎn)單,能夠?qū)崿F(xiàn)嵌入式系統(tǒng)的引導(dǎo)和運(yùn)行,但這種方式在想要獲得更好的功能和效果時(shí)顯得有點(diǎn)力不從心。比如,不方便實(shí)現(xiàn)在生產(chǎn)階段讓每臺(tái)設(shè)備都具有不同的管理員密碼和注冊(cè)碼密鑰;無(wú)法限制一臺(tái)設(shè)備的固件被非法拷貝到另一臺(tái)克隆設(shè)備上運(yùn)行;無(wú)法利用配置文件來(lái)配置系統(tǒng)的功能或模塊;引導(dǎo)程序和主程序之間參數(shù)傳遞也不夠方便。

【發(fā)明內(nèi)容】

[0003]本發(fā)明為克服現(xiàn)有技術(shù)的不足,提供一種改進(jìn)的嵌入式系統(tǒng)加密方案,該方案具備實(shí)施方便,安全性高,靈活性、通用性和移植性都很好等特點(diǎn)。
[0004]為實(shí)現(xiàn)上述目的,設(shè)計(jì)一種基于數(shù)據(jù)庫(kù)的嵌入式系統(tǒng)加密方法,其特征在于:將FLASH劃分為啟動(dòng)代碼區(qū)、系統(tǒng)參數(shù)區(qū)及數(shù)據(jù)庫(kù)/主程序區(qū)三個(gè)區(qū)域,配合所需的數(shù)據(jù)庫(kù)文件實(shí)現(xiàn)加密方案;所述的加密方法如下:
(1)系統(tǒng)進(jìn)行初始化,包括時(shí)鐘初始化、FLASH初始化;
(2)判斷FLASH中是否存在數(shù)據(jù)庫(kù)文件,是則進(jìn)入配置模式;否則判斷主程序是否存在;
(3)進(jìn)入配置模式后,將查詢數(shù)據(jù)庫(kù)結(jié)果寫入FLASH系統(tǒng)參數(shù)區(qū);
(4)讀取芯片UID,并寫入FLASH系統(tǒng)參數(shù)區(qū);
(5)進(jìn)行功能配置,進(jìn)行生產(chǎn)信息配置;
(6)判斷主程序是否存在,是則判斷是否存在升級(jí)程序;否則向FLASH寫入主程序;
(7)判斷是否存在升級(jí)程序,是則升級(jí)主程序;否則判斷UID是否匹配;
(8)判斷UID是否匹配,是則運(yùn)行主程序;否則終止工作;
(9)運(yùn)行主程序后,判斷是否進(jìn)入管理員界面,是則驗(yàn)證密碼是否正確;否則繼續(xù)運(yùn)行主程序;
(10)管理員界面驗(yàn)證密碼正確后,注冊(cè)使用時(shí)間時(shí)驗(yàn)證注冊(cè)碼信息是否匹配,進(jìn)行管理操作后退出。
[0005]所述的UID為芯片的唯一身份編號(hào)Unique ID。
[0006]本發(fā)明同現(xiàn)有技術(shù)相比,本發(fā)明提出的方法使用了檢索數(shù)據(jù)庫(kù)的加密方式,將檢索到的數(shù)據(jù)存儲(chǔ)到系統(tǒng)的系統(tǒng)參數(shù)區(qū),可以方便的實(shí)現(xiàn)每臺(tái)設(shè)備在出廠時(shí)就具備不同的管理員密碼和注冊(cè)碼密鑰,同時(shí)可以利用芯片的UID限制固件被非法拷貝到另一臺(tái)設(shè)備上運(yùn)行,也可以方便的通過(guò)配置文件來(lái)規(guī)劃和配置系統(tǒng)的功能模塊,同時(shí)也可以方便的實(shí)現(xiàn)引導(dǎo)程序和主程序之間的參數(shù)傳遞。
【附圖說(shuō)明】
[0007]圖1為FLASH的區(qū)域劃分示意圖。
[0008]圖2為FLASH的使用過(guò)程示意圖。
[0009]圖3為本發(fā)明程序流程圖。
【具體實(shí)施方式】
[0010]下面根據(jù)附圖對(duì)本發(fā)明做進(jìn)一步的說(shuō)明。
[0011]如圖1所示,將FLASH劃分為啟動(dòng)代碼區(qū)、系統(tǒng)參數(shù)區(qū)及數(shù)據(jù)庫(kù)/主程序區(qū)三個(gè)區(qū)域。
[0012]啟動(dòng)代碼區(qū)在初始化系統(tǒng)以后通過(guò)對(duì)數(shù)據(jù)庫(kù)/主程序區(qū)存儲(chǔ)的內(nèi)容的判斷有兩種模式:配置模式和正常模式。
[0013]配置模式:判斷到數(shù)據(jù)庫(kù)/主程序區(qū)存儲(chǔ)的是數(shù)據(jù)庫(kù)時(shí),進(jìn)入配置模式。配置模式下在用戶的參與下可以進(jìn)行很多操作,比如:查詢數(shù)據(jù)庫(kù),將數(shù)據(jù)庫(kù)中的管理員密碼和注冊(cè)碼密鑰等相關(guān)數(shù)據(jù)提取并存儲(chǔ)到系統(tǒng)參數(shù)區(qū);讀取芯片UID并存儲(chǔ)到系統(tǒng)參數(shù)區(qū);生成配置文件,存儲(chǔ)到系統(tǒng)參數(shù)區(qū)等。
[0014]正常模式:判斷到數(shù)據(jù)庫(kù)/主程序區(qū)存儲(chǔ)的是主程序時(shí)進(jìn)入正常模式,引導(dǎo)主程序運(yùn)行,如果檢測(cè)到有升級(jí)文件,則進(jìn)行固件升級(jí)。
[0015]系統(tǒng)參數(shù)區(qū)用來(lái)存儲(chǔ)系統(tǒng)運(yùn)行所需要的一些參數(shù)以及用戶數(shù)據(jù)。比如,系統(tǒng)管理員密碼、注冊(cè)碼密鑰、配置文件、芯片UID和生產(chǎn)信息等。
[0016]數(shù)據(jù)庫(kù)/主程序區(qū)先是用來(lái)存放配置模式下使用的數(shù)據(jù)庫(kù)文件,配置模式完成后,此區(qū)域?qū)?huì)被擦除,此后用來(lái)存儲(chǔ)系統(tǒng)正常運(yùn)行時(shí)所需要的主程序。
[0017]主程序運(yùn)行時(shí)如果要進(jìn)入管理員菜單,需要已被保存到系統(tǒng)參數(shù)區(qū)的系統(tǒng)管理員密碼,該密碼每一臺(tái)設(shè)備均不同。
[0018]對(duì)系統(tǒng)進(jìn)行注冊(cè)時(shí),只能識(shí)別經(jīng)過(guò)系統(tǒng)參數(shù)區(qū)的注冊(cè)碼密鑰加密的注冊(cè)碼,否則無(wú)法進(jìn)行解密。
[0019]芯片UID和系統(tǒng)參數(shù)區(qū)存儲(chǔ)的ID不匹配時(shí),認(rèn)為固件非法,停止運(yùn)行。
[0020]如圖2,圖3所示,加密方法如下:
(1)系統(tǒng)進(jìn)行初始化,包括時(shí)鐘初始化、FLASH初始化;
(2)判斷FLASH中是否存在數(shù)據(jù)庫(kù)文件,是則進(jìn)入配置模式;否則判斷主程序是否存在;
(3)進(jìn)入配置模式后,將查詢數(shù)據(jù)庫(kù)結(jié)果寫入FLASH系統(tǒng)參數(shù)區(qū);
(4)讀取芯片UID,并寫入FLASH系統(tǒng)參數(shù)區(qū);
(5)進(jìn)行功能配置,進(jìn)行生產(chǎn)信息配置;
(6)判斷主程序是否存在,是則判斷是否存在升級(jí)程序;否則向FLASH寫入主程序;
(7)判斷是否存在升級(jí)程序,是則升級(jí)主程序;否則判斷UID是否匹配;
(8)判斷UID是否匹配,是則運(yùn)行主程序;否則終止工作;
(9)運(yùn)行主程序后,判斷是否進(jìn)入管理員界面,是則驗(yàn)證密碼是否正確;否則繼續(xù)運(yùn)行主程序; (10)管理員界面驗(yàn)證密碼正確后,注冊(cè)使用時(shí)間時(shí)驗(yàn)證注冊(cè)碼信息是否匹配,進(jìn)行管理操作后退出。
[0021]啟動(dòng)代碼區(qū)負(fù)責(zé)初始化外設(shè),配置系統(tǒng)參數(shù),引導(dǎo)程序運(yùn)行和固件升級(jí)。配置系統(tǒng)參數(shù)時(shí)需要人為干預(yù),可以選擇使用USB通信、以太網(wǎng)通信、485通信等方式在PC端完成,也可以選擇使用IXD顯示屏在嵌入式設(shè)備上直接人機(jī)交互進(jìn)行。
[0022]系統(tǒng)參數(shù)區(qū)存儲(chǔ)系統(tǒng)運(yùn)行必要參數(shù)和用戶數(shù)據(jù),例如管理員密碼、注冊(cè)碼密鑰、芯片UID、生產(chǎn)信息、配置文件等,管理員密碼可以單獨(dú)在每臺(tái)設(shè)備上通過(guò)特定方式查詢,注冊(cè)碼密鑰不能在設(shè)備上查詢。管理員密碼和注冊(cè)碼密鑰在PC端建立一個(gè)數(shù)據(jù)庫(kù)來(lái)保存,利用管理員密碼進(jìn)行管理員操作,用注冊(cè)碼密鑰對(duì)注冊(cè)碼進(jìn)行加密、解密操作。
[0023]數(shù)據(jù)庫(kù)/主程序區(qū)先是用來(lái)存儲(chǔ)包含了隨機(jī)產(chǎn)生的管理員密碼以及隨機(jī)的注冊(cè)碼密鑰的數(shù)據(jù)庫(kù)(PC端也有同樣的一個(gè)數(shù)據(jù)庫(kù)),從數(shù)據(jù)庫(kù)中提取相應(yīng)數(shù)據(jù)寫入系統(tǒng)參數(shù)區(qū)。在數(shù)據(jù)庫(kù)使用完以后,擦除該區(qū)域,此后該區(qū)域?qū)⒂脕?lái)存儲(chǔ)系統(tǒng)運(yùn)行的主程序。
[0024]FLASH的使用過(guò)程如圖2所示。首先將整片F(xiàn)LASH擦除,然后編程啟動(dòng)代碼和數(shù)據(jù)庫(kù),此時(shí)系統(tǒng)參數(shù)區(qū)是未使用的。啟動(dòng)代碼在初始化以后進(jìn)入配置模式,將從數(shù)據(jù)庫(kù)中查詢到所需要的管理員密碼以及注冊(cè)碼密鑰寫入到系統(tǒng)參數(shù)區(qū),另外將芯片UID、配置文件、生產(chǎn)信息等寫入系統(tǒng)參數(shù)區(qū)。配置模式結(jié)束時(shí)將會(huì)擦除數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)的位置將用來(lái)存儲(chǔ)主程序。
[0025]系統(tǒng)的工作流程如圖3所示。其中需要說(shuō)明的為配置模式、UID加密和注冊(cè)碼操作。
[0026]配置模式:配置模式需要用戶輸入設(shè)備的ID號(hào),用以查詢當(dāng)前ID號(hào)在數(shù)據(jù)庫(kù)中對(duì)應(yīng)的管理員密碼和注冊(cè)碼密鑰,然后寫入到系統(tǒng)參數(shù)區(qū)。
[0027]UID加密:配置階段將主芯片的UID寫入系統(tǒng)存儲(chǔ)區(qū),程序運(yùn)行時(shí)將讀取芯片的ID和存儲(chǔ)的芯片ID比較,如果二者不一樣,則停止運(yùn)行。如此可以防止通過(guò)拷貝某一臺(tái)設(shè)備的固件非法批量生產(chǎn)的行為。
[0028]注冊(cè)碼操作:在PC端查詢管理員密碼或者以特定的方式在設(shè)備上查詢管理員密碼進(jìn)入系統(tǒng)管理員菜單。在管理員界面通過(guò)輸入注冊(cè)碼來(lái)對(duì)系統(tǒng)加解密。使用在PC數(shù)據(jù)庫(kù)里查詢的注冊(cè)碼密鑰對(duì)注冊(cè)碼進(jìn)行加密處理,注冊(cè)碼輸入到設(shè)備時(shí)系統(tǒng)會(huì)利用系統(tǒng)參數(shù)區(qū)的注冊(cè)碼密鑰進(jìn)行解密。每臺(tái)設(shè)備的注冊(cè)碼密鑰不同并且是隨機(jī)碼,同時(shí)在設(shè)備上無(wú)法查詢,安全性較高。
[0029]以上技術(shù)方案,其具有以下優(yōu)點(diǎn):1、安全性能高,不同的設(shè)備具有不同的管理員密碼和注冊(cè)碼密鑰,同時(shí)利用UID加密加強(qiáng)了芯片自身代碼的保護(hù)能力,防止惡意注冊(cè)和惡意抄襲等行為;2、通過(guò)配置文件實(shí)現(xiàn)系統(tǒng)功能的靈活配置;3、該結(jié)構(gòu)可以在不同的硬件平臺(tái)上使用,通用性、移植性好;4、可以方便的實(shí)現(xiàn)系統(tǒng)的引導(dǎo)功能和升級(jí)功能以及參數(shù)的傳遞,可維護(hù)性強(qiáng)。
【主權(quán)項(xiàng)】
1.一種基于數(shù)據(jù)庫(kù)的嵌入式系統(tǒng)加密方法,其特征在于:將FLASH劃分為啟動(dòng)代碼區(qū)、系統(tǒng)參數(shù)區(qū)及數(shù)據(jù)庫(kù)/主程序區(qū)三個(gè)區(qū)域,配合所需的數(shù)據(jù)庫(kù)文件實(shí)現(xiàn)加密方案;所述的加密方法如下: (1)系統(tǒng)進(jìn)行初始化,包括時(shí)鐘初始化、FLASH初始化; (2)判斷FLASH中是否存在數(shù)據(jù)庫(kù)文件,是則進(jìn)入配置模式;否則判斷主程序是否存在; (3)進(jìn)入配置模式后,將查詢數(shù)據(jù)庫(kù)結(jié)果寫入FLASH系統(tǒng)參數(shù)區(qū); (4)讀取芯片UID,并寫入FLASH系統(tǒng)參數(shù)區(qū); (5)進(jìn)行功能配置,進(jìn)行生產(chǎn)信息配置; (6)判斷主程序是否存在,是則判斷是否存在升級(jí)程序;否則向FLASH寫入主程序; (7)判斷是否存在升級(jí)程序,是則升級(jí)主程序;否則判斷UID是否匹配; (8)判斷UID是否匹配,是則運(yùn)行主程序;否則終止工作; (9)運(yùn)行主程序后,判斷是否進(jìn)入管理員界面,是則驗(yàn)證密碼是否正確;否則繼續(xù)運(yùn)行主程序; (10)管理員界面驗(yàn)證密碼正確后,注冊(cè)使用時(shí)間時(shí)驗(yàn)證注冊(cè)碼信息是否匹配,進(jìn)行管理操作后退出。2.根據(jù)權(quán)利要求1所述的一種基于數(shù)據(jù)庫(kù)的嵌入式系統(tǒng)加密方法,其特征在于:所述的UID為芯片的唯一身份編號(hào)Unique ID。
【專利摘要】本發(fā)明涉及系統(tǒng)管理技術(shù)領(lǐng)域,具體地說(shuō)是一種基于數(shù)據(jù)庫(kù)的嵌入式系統(tǒng)加密方法。一種基于數(shù)據(jù)庫(kù)的嵌入式系統(tǒng)加密方法,其特征在于:將FLASH劃分為啟動(dòng)代碼區(qū)、系統(tǒng)參數(shù)區(qū)及數(shù)據(jù)庫(kù)/主程序區(qū)三個(gè)區(qū)域,配合所需的數(shù)據(jù)庫(kù)文件實(shí)現(xiàn)加密方案。同現(xiàn)有技術(shù)相比,本發(fā)明提出的方法使用了檢索數(shù)據(jù)庫(kù)的加密方式,將檢索到的數(shù)據(jù)存儲(chǔ)到系統(tǒng)的系統(tǒng)參數(shù)區(qū),可以方便的實(shí)現(xiàn)每臺(tái)設(shè)備在出廠時(shí)就具備不同的管理員密碼和注冊(cè)碼密鑰,同時(shí)可以利用芯片的UID限制固件被非法拷貝到另一臺(tái)設(shè)備上運(yùn)行,也可以方便的通過(guò)配置文件來(lái)規(guī)劃和配置系統(tǒng)的功能模塊,同時(shí)也可以方便的實(shí)現(xiàn)引導(dǎo)程序和主程序之間的參數(shù)傳遞。
【IPC分類】G06F21/62
【公開(kāi)號(hào)】CN105069375
【申請(qǐng)?zhí)枴緾N201510500638
【發(fā)明人】代田田, 王仕卿
【申請(qǐng)人】上海柏楚電子科技有限公司
【公開(kāi)日】2015年11月18日
【申請(qǐng)日】2015年8月14日
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1