本發明專利技術涉及嵌入式操作系統技術。本發明專利技術解決了現有技術中校驗方式校驗速度慢、不適用于可寫文件系統的問題,提供了一種基于linux嵌入式操作系統的程序校驗裝置,其技術方案可概括為:基于linux嵌入式操作系統的程序校驗裝置,包括boot引導模塊、kernel內核模塊、rootfs根文件模塊、loader裝載模塊、被檢驗模塊、校驗模塊、啟動腳本模塊,校驗模塊和啟動腳本模塊保存在loader裝載模塊中,在boot引導模塊、kernel內核模塊、rootfs根文件模塊啟動運行后,由啟動腳本模塊調用校驗模塊對被檢驗模塊進行校驗。本發明專利技術的有益效果是,校驗速度快,適用于基于linux嵌入式操作系統的嵌入式設備。
【技術實現步驟摘要】
本專利技術屬于嵌入式操作系統
,具體涉及一種基于Iinux嵌入式操作系統的程序校驗裝置。
技術介紹
長期以來,一些使用Iinux嵌入式操作系統的產品,例如數字電視機頂盒產品,為保證系統主程序的安全性和完整性,會強制 要求采用loader裝載程序+app主程序架構,由loader裝載程序負責對app主程序進行自檢校驗、解壓,如果自檢通過、解壓正確,才會真正跳轉應用app主程序開始運行,否則跳轉到指定的系統修復界面。隨著Iinux嵌入式操作系統大flash存儲設備的應用,例如使用512M 2G的flash存儲設備,原有的loader裝載程序中校驗的校驗機制存在校驗時間長,效率不高的問題。這是由于,loader裝載程序中為計算校驗,已經將app主程序加載了一次內存,跳轉app主程序運行時又要再加載一次內存,在app較大的場景,app加載內存耗時較多,校驗耗時問題尤為突出,這樣會延長系統開機的時間,造成用戶的使用體驗不佳。更為麻煩的是由于上述loader裝載程序校驗做法的校驗碼是預先通過工具寫入的,寫入后不會隨著程序更改而自動更新,所以這種校驗機制只能用于校驗寫入后不會被自身更改的app主程序,不能適用于基于可讀寫文件系統,例如yaffs可讀寫根文件系統,這是由于在基于這類可讀寫文件系統的應用運行過程中會自行產生和更改一些臨時文件的應用場景。因此,隨著Iinux嵌入式操作系統的廣泛應用,傳統的loader裝載程序校驗方式校驗速度慢、不適用于可寫文件系統的問題越發突出。
技術實現思路
本專利技術所要解決的技術問題是提出一種基于Iinux嵌入式操作系統的程序校驗裝置,實現對需要校驗的程序模塊的校驗。解決傳統技術中校驗方式校驗速度慢、不適用于可寫文件系統的缺陷。本專利技術解決上述技術問題所采用的技術方案是—種基于Iinux嵌入式操作系統的程序校驗裝置,包括有boot引導模塊、kernel內核模塊、rootfs根文件模塊、loader裝載模塊、被檢驗模塊,另外還包括校驗模塊,該校驗模塊保存在loader裝載模塊中;啟動腳本模塊,該啟動腳本模塊保存在loader裝載模塊中,用于在boot引導模塊、kernel內核模塊、rootfs根文件模塊啟動運行后,調用校驗模塊對被檢驗模塊進行校驗。本專利技術的有益效果是本專利技術利用了 Iinux嵌入式操作系統本身的特點,將校驗工作放到Iinux嵌入式操作系統啟動后做,利用Iinux嵌入式操作系統啟動后,文件系統內可以存在多個可執行的獨立應用,并通過自動執行的腳本來調用這些應用。這樣校驗、執行工作在同一套操作系統中運行,校驗完不需要退出操作系統,直接執行,可以避免因校驗、執行的不同目的將程序重復載入內存;同時由于校驗標的已經是應用程序的可執行文件而不是應用程序分區映像,對可寫文件系統,分區映像雖然可能會隨時改變,但應用的可執行文件/文件夾不會變化,這樣就可以很好的規避可寫文件系統創建臨時文件、文件夾導致loader裝載模塊無法對分區映像校驗的問題, 因此能夠適用于可寫文件系統。該校驗裝置是基于Iinux嵌入式操作系統開發的,可以固件化,具有通用性好,容易跨硬件平臺移植的優點。附圖說明圖I是本專利技術的裝置架構圖。具體實施例方式下面結合附圖和具體實施例對本專利技術作進一步說明。本實施例的技術方案主要適用于數字電視機頂盒產品,但也可以用于其他基于Iinux嵌入式操作系統的嵌入式設備的程序校驗,并不局限于機頂盒。如圖1,該基于Iinux嵌入式操作系統的程序校驗裝置,包括有boot引導模塊、kernel內核模塊、rootfs根文件模塊、loader裝載模塊、被檢驗模塊,另外還包括校驗模塊,該校驗模塊保存在loader裝載模塊中;啟動腳本模塊,該啟動腳本模塊保存在loader裝載模塊中,用于在boot引導模塊、kernel內核模塊、rootfs根文件模塊啟動運行后,調用校驗模塊對被檢驗模塊進行校驗。在檢驗模塊中,包括參數接收模塊、校驗固件、標志模塊,校驗所需的參數例如解壓方式和密鑰,由參數接收模塊進行接收,再由校驗固件按照參數接收模塊所接收的參數對被檢驗模塊進行校驗。校驗的結果保存在標志模塊中。基于Iinux操作系統的獨立的校驗固件和配套的啟動腳本模塊可獨立制作,這樣可移植性和穩定性更強校驗部分的應用一旦做好,將不受平臺和驅動程序狀態影響,可以隨意移植到同一個編譯環境下的所有Iinux操作中去;如果是不同的編譯環境,也只需要重新編譯生成可執行文件即可移植。不同的硬件平臺、不同的項目移植該模塊只需要啟動腳本模塊做相應變化即可,這樣可以實現將原來的開發模式改為固件調用模式;算法優良的固件也可以和配套的主程簽名工具打包出售,用于主程序安全管理。被檢驗模塊可以是loader裝載程序模塊,也可以是app應用程序模塊。由于該固件底層驅動基于Iinux操作,移植、維護的工作量將大大減小,因此更加適用于一些嵌入式產品對不同廠家統一 loader裝載程序模塊校驗方式、需要統一對app應用程序模塊進行簽名的要求。loader裝載程序模塊和app應用程序模塊可以使用同一個的固件進行全套校驗工具,不需要loader裝載程序模塊設計人員和app應用程序模塊設計人員溝通交互,這樣就不容易出錯。如果需要節省flash存儲設備空間,可以在Iinux嵌入式操作系統系統中使用腳本直接調用Iinux嵌入式操作系統下的第3方解壓軟件進行處理,也可以調用第3方防毒、防木馬、防盜改的補丁;也可以直接將app應用程序模塊執行文件做成自解壓運行的格式。由于校驗模塊和啟動腳本模塊是基于Iinux嵌入式操作系統的可執行程序,因此在校驗loader裝載程序模塊和app應用程序模塊時,均可以通過mount掛載該校驗模塊和啟動腳本模塊所在的文件系統,然后直接在Iinux嵌入式操作系統下運行的方式來進行調用同一個模塊。對于被檢驗模塊為app應用程序模塊的情形,還可按以下方式進行校驗和簽名。在校驗裝置中還包括加密模塊,該加密模塊用于按照mount掛載U盤的方式對所述app應用程序模塊簽名。在校驗裝置中,先判斷校驗固件是否存在,如果存在則運行該校驗固件,根據app應用程序模塊的壓縮或加密或校驗的方式不同,校驗固件需傳入的參數,例如解壓方式和密鑰,可能簡單、可能復雜甚至需要傳入一個獨立的參數文件。如果app應用程序模塊校驗失敗,則校驗固件返回錯誤,由標志模塊實現錯誤狀態標志位的保存; 如果未發現校驗固件、或校驗固件輸入的參數非法,或者校驗固件中觸發了需要重簽名的后門,則跳轉運行加密模塊進行重簽名。上述調用的邏輯關系容易用Iinux腳本實現,例如本文檔來自技高網...
【技術保護點】
一種基于linux嵌入式操作系統的程序校驗裝置,包括有boot引導模塊、kernel內核模塊、rootfs根文件模塊、loader裝載模塊、被檢驗模塊,其特征在于,還包括:校驗模塊,該校驗模塊保存在loader裝載模塊中;啟動腳本模塊,該啟動腳本模塊保存在loader裝載模塊中,用于在boot引導模塊、kernel內核模塊、rootfs根文件模塊啟動運行后,調用校驗模塊對被檢驗模塊進行校驗。
【技術特征摘要】
1.一種基于Iinux嵌入式操作系統的程序校驗裝置,包括有boot引導模塊、kernel內核模塊、rootfs根文件模塊、loader裝載模塊、被檢驗模塊,其特征在于,還包括 校驗模塊,該校驗模塊保存在loader裝載模塊中; 啟動腳本模塊,該啟動腳本模塊保存在loader裝載模塊中,用于在boot引導模塊、kernel內核模塊、rootfs根文件模塊啟動運行后,調用校驗模塊對被檢驗模塊進行校驗。2.根據權利要求I所述的一種基于Iinux嵌入式操作系統的程序校驗裝置,其特征在于,所述校驗模塊包括 參數接收模塊,用于接收所述進行校驗所需的參數; 校驗固件,按照參數接收模塊所接收的參數對被檢驗模塊進行校驗。3.根據權利要求2所述的一種基于Iinux嵌入式操作系統的...
【專利技術屬性】
技術研發人員:羅健豐,熊建勇,王偉軍,
申請(專利權)人:四川長虹電器股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。