專利名稱:一種嵌入式微處理器輸出程序校驗(yàn)碼的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及一種嵌入式微處理器輸出程序校驗(yàn)碼的方法。
背景技術(shù):
現(xiàn)有技術(shù)中,針對(duì)程序校驗(yàn)碼的輸出主要有以下幾種方式:(I)用戶編寫一段程序,通過一定的格式計(jì)算輸出戶程序校驗(yàn)碼。該做法無(wú)法保證輸出校驗(yàn)碼是真實(shí)的程序校驗(yàn)碼,而且無(wú)法驗(yàn)證。非法用戶可以通過編寫一段程序,不通過運(yùn)算,而直接輸出已知程序校驗(yàn)碼。正因?yàn)槿绱?,?dǎo)致合法用戶的產(chǎn)品很容易被仿制甚至加入作弊程序。(2)采用專用的代碼管理系統(tǒng)或工具專用的代碼管理系統(tǒng)或工具只是在程序?qū)懭霑r(shí)計(jì)算程序的校驗(yàn)碼,并將校驗(yàn)碼寫入一個(gè)固定的代碼區(qū)域,在輸出的時(shí)候,讀取已經(jīng)寫入的程序校驗(yàn)碼,這種方式雖然能起到一定的保護(hù)作用,但是,非法用戶可以用特定的工具將已寫入的程序校驗(yàn)碼改寫,使輸出的程序校驗(yàn)碼非真實(shí)的用戶程序校驗(yàn)碼。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種嵌入式微處理器輸出程序校驗(yàn)碼的方法,這種方法可以確保程序校驗(yàn)碼的真實(shí)性和唯一性,從而可以驗(yàn)證嵌入式微處理器中程序的唯一合法性。為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明采用了如下技術(shù)方案:一種嵌入式微處理器輸出程序校驗(yàn)碼的方法,其特征在于,在嵌入式微處理器內(nèi)部設(shè)置一個(gè)功能模塊,功能模塊用于計(jì)算用戶程序校驗(yàn)碼,并輸出該校驗(yàn)碼到外設(shè),外設(shè)將接收到的校驗(yàn)碼和預(yù)先備份的校驗(yàn)碼對(duì)比,如果對(duì)比結(jié)果一致,則可判定微處理器中的用戶程序?yàn)轭A(yù)先燒錄的程序。進(jìn)一步的,上述方法的具體步驟如下:(I)嵌入式微處理器上電復(fù)位后,將控制權(quán)交給所述功能模塊,所述功能模塊向外設(shè)發(fā)送輸出校驗(yàn)碼的請(qǐng)求;(2)外設(shè)接收到輸出校驗(yàn)碼的請(qǐng)求后,發(fā)送輸出校驗(yàn)碼指令給功能模塊,并發(fā)送一串用于加密的隨機(jī)數(shù)據(jù);(3)功能模塊接收到外設(shè)傳送的隨機(jī)數(shù)據(jù)和輸出校驗(yàn)應(yīng)答后,功能模塊解密隨機(jī)數(shù)據(jù),并計(jì)算嵌入式微處理器內(nèi)的用戶程序區(qū)的校驗(yàn)碼,然后將解密結(jié)果和計(jì)算得到的程序校驗(yàn)碼發(fā)送給外設(shè),發(fā)送完成后,功能模塊將控制權(quán)交給嵌入式微處理器;(4)若功能模塊未接收到外設(shè)傳送的輸出校驗(yàn)應(yīng)答信號(hào),則將控制權(quán)交給嵌入式微處理器;(5)外設(shè)接收到功能模塊發(fā)送的解密結(jié)果和校驗(yàn)碼后,先核實(shí)解密結(jié)果是否正確,如果解密結(jié)果正確,則判定功能模塊發(fā)送的校驗(yàn)碼是合法的;然后將接收到的合法的校驗(yàn)碼和預(yù)先備份的校驗(yàn)碼對(duì)比,若對(duì)比結(jié)果一致,則判定嵌入式微處理器中的用戶程序?yàn)轭A(yù)先燒錄的程序,若對(duì)比結(jié)果不一致,則判定嵌入式微處理器中的用戶程序?yàn)楦膶懞蟮某绦?。進(jìn)一步的,所述功能模塊是固化在嵌入式微處理器內(nèi)核中的一部分,功能模塊包括計(jì)算和輸出用戶程序校驗(yàn)碼的模塊和解密模塊。所述功能模塊還包括校驗(yàn)碼生成和輸出電路。優(yōu)選的,所述校驗(yàn)碼為CRC32校驗(yàn)碼。優(yōu)選的,所述用于加密的隨機(jī)數(shù)據(jù)為256bit隨機(jī)數(shù)據(jù)。優(yōu)選的,所述功能模塊和外設(shè)之間采用RS232串行接口連接,波特率為9600。 所述外設(shè)為檢測(cè)顯示設(shè)備。發(fā)明優(yōu)點(diǎn):本發(fā)明所述嵌入式微處理器輸出程序校驗(yàn)碼的方法,具有如下優(yōu)點(diǎn):功能模塊作為微處理器內(nèi)核的一部分,是固化在微處理器內(nèi)核中的,微處理器生產(chǎn)之后,無(wú)法修改,且每次輸出校驗(yàn)碼之前都是重新計(jì)算一次程序校驗(yàn)碼而非讀取預(yù)先寫入在某一地址的校驗(yàn)碼,所有,只要程序代碼一旦更改,計(jì)算的結(jié)果都不一樣,可以確保程序校驗(yàn)碼的真實(shí)性與唯一性。該方法可以起到驗(yàn)證微處理器中程序的唯一合法性。
圖1為本發(fā)明所述方法的流程圖;圖2為本發(fā)明的結(jié)構(gòu)示意圖。
具體實(shí)施例方式以下結(jié)合附圖及一優(yōu)選實(shí)施例對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步的說明。實(shí)施例1:如圖2所示:在嵌入式微處理器內(nèi)核中設(shè)置一個(gè)功能模塊A,功能模塊A用于計(jì)算用戶程序校驗(yàn)碼(優(yōu)先采用CRC32校驗(yàn)方式),并輸出該校驗(yàn)碼(優(yōu)先使用RS232串行接口,9600波特率)功能模塊A包含計(jì)算輸出用戶程序校驗(yàn)碼的模塊Al和解密模塊A2。所述功能模塊包括校驗(yàn)碼生成和輸出電路。如圖1和圖2所示,一種嵌入式微處理器輸出程序校驗(yàn)碼的方法的具體步驟如下:(I)嵌入式微處理器上電復(fù)位后,將控制權(quán)交給所述功能模塊,所述功能模塊向外設(shè)發(fā)送輸出校驗(yàn)碼的請(qǐng)求;(2)外設(shè)B接收到輸出校驗(yàn)碼的請(qǐng)求后,發(fā)送輸出校驗(yàn)碼指令給功能模塊A,并發(fā)送一串用于加密的隨機(jī)數(shù)據(jù)A ;(3)功能模塊A接收到外設(shè)傳送的隨機(jī)數(shù)據(jù)和輸出校驗(yàn)應(yīng)答后,功能模塊A2解密隨機(jī)數(shù)據(jù),模塊Al計(jì)算嵌入式微處理器內(nèi)的用戶程序區(qū)的校驗(yàn)碼,然后將解密結(jié)果和計(jì)算得到的程序校驗(yàn)碼發(fā)送給外設(shè)B,發(fā)送完成后,功能模塊A將控制權(quán)交給嵌入式微處理器;(4)若功能模塊A未接收到外設(shè)B傳送的輸出校驗(yàn)應(yīng)答信號(hào),則將控制權(quán)交給嵌入式微處理器;(5)外設(shè)B接收到功能模塊發(fā)送的解密結(jié)果和校驗(yàn)碼后,先核實(shí)解密結(jié)果是否正確,如果解密結(jié)果正確,則判定功能模塊發(fā)送的校驗(yàn)碼是合法的;然后將接收到的合法的校驗(yàn)碼和預(yù)先備份的校驗(yàn)碼對(duì)比,若對(duì)比結(jié)果一致,則判定嵌入式微處理器中的用戶程序?yàn)轭A(yù)先燒錄的程序,若對(duì)比結(jié)果不一致,則判定嵌入式微處理器中的用戶程序?yàn)楦膶懞蟮某绦颉S捎诠δ苣KA作為微處理器內(nèi)核的一部分,是固化在微處理器內(nèi)核中的,微處理器生產(chǎn)之后,無(wú)法修改,且每次輸出校驗(yàn)碼之前都是重新計(jì)算一次程序校驗(yàn)碼而非讀取預(yù)先寫入在某一地址的校驗(yàn)碼,所有,只要程序代碼一旦更改,計(jì)算的接口都不一樣,可以確保程序校驗(yàn)碼的真實(shí)性與唯一性。該方法可以起到驗(yàn)證微處理器中程序的唯一合法性需要指出的是,以上所述者僅為用以解釋本發(fā)明之較佳實(shí)施例,并非企圖據(jù)以對(duì)本發(fā)明作任何形式上之限制,是以,凡有在相同之發(fā)明精神下所作有關(guān)本發(fā)明之任何修飾或變更,皆仍應(yīng)包括在本發(fā)明意圖保護(hù)之范疇。
權(quán)利要求
1.一種嵌入式微處理器輸出程序校驗(yàn)碼的方法,其特征在于,在嵌入式微處理器內(nèi)部設(shè)置一個(gè)功能模塊,功能模塊用于計(jì)算用戶程序校驗(yàn)碼,并輸出該校驗(yàn)碼到外設(shè),外設(shè)將接收到的校驗(yàn)碼和預(yù)先備份的校驗(yàn)碼對(duì)比,如果對(duì)比結(jié)果一致,則可判定微處理器中的用戶程序?yàn)轭A(yù)先燒錄的程序。
2.根據(jù)權(quán)利要求1所述的嵌入式微處理器輸出程序校驗(yàn)碼的方法,其特征在于,具體步驟如下: (1)嵌入式微處理器上電復(fù)位后,將控制權(quán)交給所述功能模塊,所述功能模塊向外設(shè)發(fā)送輸出校驗(yàn)碼的請(qǐng)求; (2)外設(shè)接收到輸出校驗(yàn)碼的請(qǐng)求后,發(fā)送輸出校驗(yàn)碼指令給功能模塊,并發(fā)送一串用于加密的隨機(jī)數(shù)據(jù); (3)功能模塊接收到外設(shè)傳送的隨機(jī)數(shù)據(jù)和輸出校驗(yàn)應(yīng)答后,功能模塊解密隨機(jī)數(shù)據(jù),并計(jì)算嵌入式微處理器內(nèi)的用戶程序區(qū)的校驗(yàn)碼,然后將解密結(jié)果和計(jì)算得到的程序校驗(yàn)碼發(fā)送給外設(shè),發(fā)送完成后,功能模塊將控制權(quán)交給嵌入式微處理器; (4)若功能模塊未接收到外設(shè)傳送的輸出校驗(yàn)應(yīng)答信號(hào),則將控制權(quán)交給嵌入式微處理器; (5)外設(shè)接收到功能模塊發(fā)送的解密結(jié)果和校驗(yàn)碼后,先核實(shí)解密結(jié)果是否正確,如果解密結(jié)果正確,則判定功能模塊發(fā)送的校驗(yàn)碼是合法的;然后將接收到的合法的校驗(yàn)碼和預(yù)先備份的校驗(yàn)碼對(duì)比,若對(duì)比結(jié)果一致,則判定嵌入式微處理器中的用戶程序?yàn)轭A(yù)先燒錄的程序,若對(duì)比結(jié)果不一致,則判定嵌入式微處理器中的用戶程序?yàn)楦膶懞蟮某绦颉?br>
3.根據(jù)權(quán)利要求2所述的嵌入式微處理器輸出程序校驗(yàn)碼的方法,其特征在于,所述功能模塊是固化在嵌入式微處理器內(nèi)核中的一部分,功能模塊包括計(jì)算和輸出用戶程序校驗(yàn)碼的模塊和解密模塊;所述功能模塊還包括校驗(yàn)碼生成和輸出電路。
4.根據(jù)權(quán)利要求3所述的嵌入式微處理器輸出程序校驗(yàn)碼的方法,其特征在于,所述校驗(yàn)碼為CRC32校驗(yàn)碼。
5.根據(jù)權(quán)利要求4所述的嵌入式微處理器輸出程序校驗(yàn)碼的方法,其特征在于,所述用于加密的隨機(jī)數(shù)據(jù)為256bit隨機(jī)數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的嵌入式微處理器輸出程序校驗(yàn)碼的方法,其特征在于,所述功能模塊和外設(shè)之間采用RS232串行接口連接,波特率為9600。
7.根據(jù)權(quán)利要求6所述的嵌入式微處理器輸出程序校驗(yàn)碼的方法,其特征在于,所述外設(shè)為檢測(cè)顯示設(shè)備。
全文摘要
本發(fā)明公開了一種嵌入式微處理器輸出程序校驗(yàn)碼的方法,其特征在于,在嵌入式微處理器內(nèi)部設(shè)置一個(gè)功能模塊,功能模塊用于計(jì)算用戶程序校驗(yàn)碼,并輸出該校驗(yàn)碼到外設(shè),外設(shè)將接收到的校驗(yàn)碼和預(yù)先備份的校驗(yàn)碼對(duì)比,如果對(duì)比結(jié)果一致,則可判定微處理器中的用戶程序?yàn)轭A(yù)先燒錄的程序。這種方法可以確保程序校驗(yàn)碼的真實(shí)性和唯一性,從而可以驗(yàn)證嵌入式微處理器中程序的唯一合法性。
文檔編號(hào)G06F11/08GK103164251SQ20131012202
公開日2013年6月19日 申請(qǐng)日期2013年4月10日 優(yōu)先權(quán)日2013年4月10日
發(fā)明者榮金龍, 張會(huì) 申請(qǐng)人:蘇州蘇靈儀表有限公司