鬼佬大哥大
  • / 13
  • 下載費用:30 金幣  

嵌入式操作系統的加密方法和裝置.pdf

摘要
申請專利號:

CN201510521146.5

申請日:

2015.08.24

公開號:

CN105069350A

公開日:

2015.11.18

當前法律狀態:

實審

有效性:

審中

法律詳情: 實質審查的生效IPC(主分類):G06F 21/51申請日:20150824|||著錄事項變更IPC(主分類):G06F 21/51變更事項:申請人變更前:上海繁易電子科技有限公司變更后:上海繁易信息科技股份有限公司變更事項:地址變更前:200092 上海市楊浦區鐵嶺路32號同葉大廈1117室變更后:200092 上海市楊浦區鐵嶺路32號同葉大廈1117室|||公開
IPC分類號: G06F21/51(2013.01)I 主分類號: G06F21/51
申請人: 上海繁易電子科技有限公司
發明人: 梁喜東; 孫旦均; 馬學童
地址: 200092上海市楊浦區鐵嶺路32號同葉大廈1117室
優先權:
專利代理機構: 上海東亞專利商標代理有限公司31208 代理人: 董梅
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510521146.5

授權公告號:

||||||

法律狀態公告日:

2018.07.10|||2017.09.26|||2015.11.18

法律狀態類型:

實質審查的生效|||著錄事項變更|||公開

摘要

一種嵌入式操作系統的加密方法和裝置,基于該硬件系統CPU的唯一硬件序列號ID。在加密處理中,上位機首先讀取CPU唯一硬件序列號ID,并將BOOT程序和主程序燒錄在硬件系統的FLASH中;然后將原始數據與ID號通過一定的加密算法處理,生成相應的校驗數據并儲存在硬件系統的EEPROM中。由于每個CPU的唯一硬件ID號各不一樣,在硬件電路和軟件程序數據被抄襲拷貝時,使用本發明加密方法所建立的程序啟動交叉互鎖校驗過程就不會通過,BOOT程序和主程序則無法正常運行,從而起到了保護作用。

權利要求書

1.嵌入式操作系統的加密方法,其特征在于:它基于嵌入式硬件系統的唯一硬件序列號,由上位機分別對BOOT程序和主程序進行加密處理,各自生成相應的校驗數據,在將BOOT程序和主程序燒錄在所述嵌入式硬件系統的FLASH的同時,將所述校驗數據存儲至所述嵌入式硬件系統的EEPROM,使BOOT程序和主程序形成了基于所述唯一硬件序列號的互鎖結構,保持所述嵌入式操作系統的唯一性,其加密燒錄步驟如下:步驟1.運行所述上位機中燒錄授權軟件,為所述嵌入式硬件系統上電,嵌入式硬件系統與上位機連接;步驟2.上位機發送請求,讀取嵌入式硬件系統的唯一硬件序列號;步驟3.上位機將BOOT程序燒錄到嵌入式硬件系統的FLASH中;步驟4.上位機將讀到的唯一硬件序列號與BOOT程序通過加密算法計算出BOOT程序校驗數據,并將BOOT程序校驗數據儲存在嵌入式硬件系統的EEPROM中;步驟5.上位機將Kernel程序燒錄到嵌入式硬件系統的FLASH中;步驟6.上位機將主程序燒錄到嵌入式硬件系統的FLASH中;步驟7.上位機將讀到的唯一硬件序列號與主程序通過加密算法計算出主程序校驗數據,并將主程序校驗數據儲存在嵌入式硬件系統的EEPROM中;步驟8.上位機確認上述步驟完成,指令嵌入式硬件系統結束燒錄過程;所述嵌入式操作系統啟動時,BOOT程序和主程序在啟動過程中相互校驗,一旦校驗不通過,程序運行結束,嵌入式操作系統停止工作;BOOT程序和主程序運行步驟如下:步驟11.BOOT程序啟動;步驟12.讀取所述嵌入式硬件系統的硬件唯一序列號和燒錄在FLASH中的主程序;步驟13.通過與授權軟件相同的加密算法生成主程序校驗數據;步驟14.讀取儲存在EEPROM中由加密授權軟件燒錄的主程序的校驗數據,并與步驟13生成的主程序校驗數據進行比較;步驟15.如果不匹配,則程序運行結束;如果匹配,則正常跳轉啟動主程序;步驟16.主程序啟動后,讀取所述嵌入式系統硬件唯一序列號和燒錄在FLASH中的BOOT程序;步驟17.通過與授權軟件相同的加密算法生成BOOT程序校驗數據;步驟18.讀取儲存在EEPROM中由加密授權軟件燒錄的BOOT程序校驗數據,并與步驟17生成的BOOT程序校驗數據進行比較;步驟19.如果不匹配,則程序運行結束;如果匹配,主程序正常運行。2.如權利要求1所述的嵌入式操作系統的加密方法,其特征在于:在步驟2讀取所述嵌入式硬件系統的唯一硬件序列號時,所述嵌入式操作系統的燒錄程序將序列號進行加密,傳輸給上位機的燒錄授權軟件,所述燒錄授權軟件再進行解密,得到嵌入式硬件系統真實的唯一硬件序列號。3.一種應用權利要求1和2所述加密方法的裝置,它包括:嵌入式硬件系統,是待加密的硬件設備,內置了CPU、FLASH、EEPROM;上位機,通過USB線與所述嵌入式硬件系統連接,內存燒錄軟件,為所述嵌入式硬件系統燒錄程序、傳輸數據;其特征在于:所述上位機還內存加密算法軟件;加密燒錄時,所述上位機讀取所述嵌入式硬件系統CPU的唯一硬件序列號,由上位機運用所述加密算法軟件分別對BOOT程序和主程序進行加密處理,生成各自相應的校驗數據;在將BOOT程序和主程序燒錄在所述嵌入式系統的FLASH的同時,將所述校驗數據存儲至所述嵌入式硬件系統的EEPROM,使BOOT程序和主程序形成了基于所述唯一硬件序列號的互鎖結構;所述嵌入式硬件系統啟動時,加密處理的BOOT程序和主程序在啟動過程中相互校驗,一旦校驗不通過,程序運行結束,嵌入式操作系統停止工作。

說明書

嵌入式操作系統的加密方法和裝置

技術領域

本發明屬于計算機技術領域,具體涉及一種嵌入式操作系統的加密方法和裝置。

背景技術

嵌入式操作系統(EmbeddedOperatingSystem,簡稱:EOS)是指用于嵌入式系統的操作系統。嵌入式操作系統運行時,一般是先啟動BOOT程序,然后由BOOT程序跳轉至Kernel,運行主程序。BOOT、Kernel和主程序都是燒錄在FLASH中,待系統上電的時候,才會從FLASH把相應的程序運行起來。

在硬件結構電路相同的情況下,如果把FLASH的數據讀取并拷貝至另一個操作系統的板子去,程序也同樣運行起來。因此在沒有加密的系統里,很容易被抄襲。

在一些常見的加密處理中,需要在電路里,加個EEPROM來儲存校驗數據(見圖1),這樣在BOOT程序和應用程序里,都先讀取校驗數據,如果匹配才正常運行,如果不匹配,則不能正常運行,從而起到一定的保護作用。但即便這樣,如果EEPROM的數據被讀取拷貝至抄襲的嵌入式系統的板子里,還是會面臨被抄襲的情況。

發明內容

本發明旨在為嵌入式操作系統提供一種基于系統唯一硬件序列號的加密方法和裝置,防止系統硬件或軟件被非法偽造,確保系統數據不被非法篡改,保證系統安全運行。

本發明的技術方案是:嵌入式操作系統的加密方法,它基于嵌入式硬件系統的唯一硬件序列號,由上位機分別對BOOT程序和主程序進行加密處理,各自生成相應的校驗數據,在將BOOT程序和主程序燒錄在所述嵌入式硬件系統的FLASH的同時,將所述校驗數據存儲至所述嵌入式硬件系統的EEPROM,使BOOT程序和主程序形成了基于所述唯一硬件序列號的互鎖結構,保持所述嵌入式操作系統的唯一性,其加密燒錄步驟如下:

步驟1.運行所述上位機中燒錄授權軟件,為所述嵌入式硬件系統上電,嵌入式硬件系統與上位機連接;

步驟2.上位機發送請求,讀取嵌入式硬件系統的唯一硬件序列號;讀取硬件序列號時,嵌入式操作系統的燒錄程序將序列號進行加密,傳輸給上位機的燒錄授權軟件,所述燒錄授權軟件再進行解密,得到嵌入式硬件系統真實的唯一硬件序列號;

步驟3.上位機將BOOT程序燒錄到嵌入式硬件系統的FLASH中;

步驟4.上位機將讀到的唯一硬件序列號與BOOT程序通過加密算法計算出BOOT程序校驗數據,并將BOOT程序校驗數據儲存在嵌入式硬件系統的EEPROM中;

步驟5.上位機將Kernel程序燒錄到嵌入式硬件系統的FLASH中;

步驟6.上位機將主程序燒錄到嵌入式硬件系統的FLASH中;

步驟7.上位機將讀到的唯一硬件序列號與主程序通過加密算法計算出主程序校驗數據,并將主程序校驗數據儲存在嵌入式硬件系統的EEPROM中;

步驟8.上位機確認上述步驟完成,指令嵌入式硬件系統結束燒錄過程。

所述嵌入式操作系統啟動時,BOOT程序和主程序在啟動過程中相互校驗,一旦校驗不通過,程序運行結束,嵌入式操作系統停止工作,BOOT程序和主程序啟動運行步驟如下:

步驟11.啟動BOOT程序;

步驟12.BOOT程序啟動后,讀取所述嵌入式硬件系統的唯一硬件序列號和燒錄在FLASH中的主程序;

步驟13.通過與授權軟件相同的加密算法生成主程序校驗數據;

步驟14.讀取儲存在EEPROM中由加密授權軟件燒錄的主程序的校驗數據,并與步驟13生成的主程序校驗數據進行比較;

步驟15.如果不匹配,則程序運行結束;如果匹配,則正常跳轉啟動主程序;

步驟16.主程序啟動后,讀取所述嵌入式硬件系統唯一硬件序列號和燒錄在FLASH中的BOOT程序;

步驟17.通過與授權軟件相同的加密算法生成BOOT程序校驗數據;

步驟18.讀取儲存在EEPROM中由加密授權軟件燒錄的BOOT程序校驗數據,并與步驟17生成的BOOT程序校驗數據進行比較;

步驟19.如果匹配,主程序正常運行;如果不匹配,則程序運行結束。

一種應用上述加密方法的裝置,它包括:

嵌入式硬件系統,是待加密的硬件設備,內置了CPU、FLASH、EEPROM;

上位機,通過USB線與所述嵌入式系統連接,內存燒錄軟件和加密算法軟件,為所述嵌入式系統燒錄程序、傳輸數據。

加密燒錄時,所述上位機讀取所述嵌入式硬件系統CPU的唯一硬件序列號,由上位機運用加密算法軟件分別對BOOT程序和主程序進行加密處理,各自生成相應的校驗數據,在將BOOT程序和主程序燒錄在所述嵌入式硬件系統的FLASH的同時,將所述校驗數據存儲至所述嵌入式硬件系統的EEPROM,使BOOT程序和主程序形成了基于所述唯一硬件序列號的互鎖結構;所述嵌入式硬件系統啟動時,加密處理的BOOT程序和主程序在啟動過程中相互校驗,一旦校驗不通過,程序運行結束,嵌入式操作系統停止工作。

由于本發明嵌入式操作系統的加密方法和裝置基于嵌入式硬件系統的唯一硬件序列號,可以很好地讓BOOT程序與主程序進行互鎖,將軟件程序與硬件結構電路結合在一起。當硬件被抄襲時,FLASH與EEPROM的數據遭拷貝復制,但由于唯一硬件序列號不一樣,則交叉互檢校驗就不會通過,系統也無法運行起來,從而很好地對原硬件及軟件系統進行了保護。

附圖說明

圖1是現有技術嵌入式操作系統加密程序框圖;

圖2是本發明嵌入式操作系統加密程序框圖;

圖3是本發明嵌入式操作系統BOOT程序和主程序校驗數據生成框圖;

圖4是本發明嵌入式操作系統加密燒錄程序圖;

圖5是本發明嵌入式操作系統BOOT程序和主程序加密啟動互鎖原理框圖;

圖6是加密燒錄過程上位機與嵌入式硬件系統的信息交互狀態梯形圖。

具體實施方式

下面結合附圖對本發明進一步說明。

如圖2所示是嵌入式硬件系統的CPU框架圖,FLASH用于燒錄BOOT程序和主程序,而BOOT程序校驗數據和主程序校驗數據是存放在EEPROM里的,本發明嵌入式操作系統的加密方法基于該CPU的唯一硬件序列號ID。在加密處理中,讀取CPU唯一硬件序列號ID,將原始數據與ID號通過一定的算法處理,生成相應的校驗數據。由于每個CPU的唯一硬件ID號各不一樣,就算硬件電路和軟件程序數據被抄襲拷貝,經本發明加密方法所建立的校驗過程就不會通過,BOOT程序和主程序則無法正常運行,從而起到了保護作用。

具體加密過程如圖4所示,在待加密嵌入式硬件系統CPU上電后,首先上位機運行燒錄授權軟件,讀取CPU的唯一硬件ID號。由于上位機是通過USB或串口與下位機進行通信,如果唯一硬件ID號直接明文傳輸,則有可能被監控軟件監控或篡改,因此在傳輸ID時,嵌入式操作系統的燒錄程序將ID號進行加密,傳輸給上位機的燒錄授權軟件,然后燒錄授權軟件再進行解密,得到CPU真實的唯一硬件ID號。

得到唯一硬件ID號后,燒錄授權軟件將BOOT程序與ID號經過加密算法處理,生成BOOT校驗數據(見圖3),并將BOOT程序燒錄到嵌入式硬件系統FLASH指定的地址中,然后將BOOT程序校驗數據存儲在嵌入式硬件系統EEPROM指定的地址中;同樣地,將主程序與ID號經過加密算法處理,生成主程序校驗數據(見圖3),并將主程序燒錄到嵌入式硬件系統FLASH指定的地址中,然后將主程序校驗數據存放在嵌入式硬件系統EEPROM指定的地址中;加密燒錄工作完成。

加密后的嵌入式硬件系統CPU再次啟動時,BOOT程序和主程序分別基于本系統唯一ID號形成了如下互鎖結構,為系統安全啟動運行提供嚴格的校驗程序:

如圖5所示,在BOOT程序啟動的時候,先讀取系統CPU唯一ID和存儲在FLASH中的主程序,并通過與授權軟件相同的加密算法處理生成主程序校驗數據;然后讀取存儲在EEPROM中由授權軟件燒錄的主程序的校驗數據;再將這兩組校驗數據進行比較,如果匹配,則可以正常跳轉,啟動主程序;如果不匹配,則程序結束,嵌入式系統停止工作。

在主程序啟動的時候,先讀取系統CPU唯一ID和存儲在FLASH中的BOOT程序,并通過與授權軟件相同的加密算法處理生成BOOT程序校驗數據;然后讀取存儲在EEPROM中由授權軟件燒錄的BOOT程序的校驗數據;再將這兩組校驗數據進行比較,如果匹配,則可以正常運行,如果不匹配,則程序結束,嵌入式系統停止工作。

以CPU采用AM3352BZCZ80、EEPROM采用24LC08、FLASH采用K9F1G08U0B作為一個嵌入式系統硬件設備框架實施例,其中AM3352BZCZ80最大頻率高達800MHz;24LC08是8Kbit的EEPROM,即可以儲存1K字節的數據;K9F1G08U0B是1Gbit,即可以儲存128M的數據(詳見圖2)。

加密燒錄步驟如下:

步驟1.運行上位機燒錄軟件,硬件設備上電,并通過USB連接上位機。

步驟2.上位機發送請求,讀取硬件設備的唯一硬件序列號ID;硬件設備收到請求后,把12字節ID返回給上位機。

步驟3.上位機發送BOOT程序的數據進行燒錄;硬件設備接收到BOOT數據后,將BOOT數據寫入到FLASH的地址0x00000000開始的地方;寫入完成后返回確認。

步驟4.上位機把BOOT數據和唯一序列號通過加密算法計算出16字節的校驗數據,并發送給硬件設備;硬件設備將這16字節校驗數據寫入到EEPROM的0x00至0x0F這16個字節中;寫入完成后返回確認。

步驟5.上位機發送Kernel程序的數據進行燒錄;硬件設備接收到Kernel程序數據后,將Kernel程序數據寫入到FLASH的地址0x00400000開始的地方;寫入完成后返回確認。

步驟6.上位機發送主程序的數據進行燒錄;硬件設備接收到主程序數據后,將主程序數據寫入到FLASH的地址0x02000000開始的地方;寫入完成后返回確認。

步驟7.上位機把主程序數據和唯一序列號通過加密算法計算出16字節校驗數據,并發送給硬件設備;硬件設備將這16字節校驗數據寫入到EEPORM的0x10至0x1F這16個字節中;寫入完成后返回確認。

步驟8.上位機接收到最后的確認信號后,發送結束燒錄命令給硬件設備,結束燒錄過程。

在加密燒錄過程中,上位機與硬件設備的信息交互梯形狀態如圖6所示。

上位機將程序和校驗數據燒錄到硬件設備后,在硬件設備啟動時,BOOT和主程序就可以通過啟動階段交叉互檢的互鎖運行,來保障硬件設備程序的安全性。其中:

BOOT程序的互鎖校驗原理如圖5所示,運行步驟如下:

步驟11.硬件上電,啟動BOOT程序。

步驟12.BOOT程序運行后,讀取CPU的唯一硬件序列號ID和燒錄在FLASH中的主程序的數據。

步驟13.將ID和主程序的數據通過加密算法計算出主程序的校驗數據。

步驟14.讀取存放在EEPROM里的主程序的校驗數據。

步驟15.將計算出來的校驗數據和EEPROM里的校驗數據進行比較,如果不匹配,則停止運行,硬件設備停止工作;如果匹配,則正常跳轉啟動主程序。

步驟16.主程序運行后讀取CPU唯一硬件序列號ID和燒錄在FLASH中的BOOT程序的數據。

步驟17.將ID和BOOT程序的數據通過加密算法計算出BOOT程序的校驗數據。

步驟18.讀取存放在EEPROM里的BOOT程序的校驗數據。

步驟19.將計算出來的校驗數據和EEPROM里的校驗數據進行比較,如果不匹配,則停止運行,硬件設備停止工作;如果匹配,則繼續運行。

通過這樣一種基于唯一硬件序列號的加密方法,可以很好地讓BOOT程序與主程序進行互鎖校驗,也很好地將軟件程序與硬件結構電路結合在一起。一旦主程序或者EEPROM里主程序的校驗數據被修改了,則BOOT程序是無法校驗通過,從而系統是無法正常運行;如果BOOT程序或者EEPROM里的BOOT程序校驗數據被修改了,則主程序也無法校驗通過,從而系統也是無法正常運行。正是由于每個嵌入式系統CPU唯一ID號不一樣,使得BOOT程序和主程序互鎖校驗,能夠有效地對嵌入式系統硬件和軟件進行保護,防止被抄襲與篡改。

關 鍵 詞:
嵌入式 操作系統 加密 方法 裝置
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:嵌入式操作系統的加密方法和裝置.pdf
鏈接地址:http://www.wwszu.club/p-6385964.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
鬼佬大哥大