本申請(qǐng)涉及計(jì)算機(jī),具體是一種基于硬件的固件認(rèn)證和安全引導(dǎo)系統(tǒng)及方法。
背景技術(shù):
1、隨著計(jì)算機(jī)硬件和軟件技術(shù)的發(fā)展,傳統(tǒng)的bios(basic?input/output?system)已經(jīng)逐漸被功能更強(qiáng)大的uefi(unified?extensible?firmware?interface)所取代。然而,現(xiàn)有的uefi固件在啟動(dòng)速度和安全性方面仍存在改進(jìn)空間。現(xiàn)有的啟動(dòng)流程較為復(fù)雜,導(dǎo)致啟動(dòng)時(shí)間較長(zhǎng),同時(shí)在安全性上也面臨著諸多挑戰(zhàn),例如惡意軟件的入侵。因此,亟需一種能夠提升啟動(dòng)速度并增強(qiáng)安全性的啟動(dòng)系統(tǒng)。隨著嵌入式系統(tǒng)和物聯(lián)網(wǎng)設(shè)備的普及,確保設(shè)備啟動(dòng)過(guò)程中的安全性和可靠性變得尤為重要。傳統(tǒng)的軟件級(jí)別的安全措施容易受到各種攻擊,如篡改、偽造和惡意軟件注入。因此,基于硬件的固件認(rèn)證和安全引導(dǎo)成為保障系統(tǒng)完整性和安全性的關(guān)鍵技術(shù)。
2、需要說(shuō)明的是,在上述背景技術(shù)部分公開的信息僅用于加強(qiáng)對(duì)本申請(qǐng)的背景的理解,因此可以包括不構(gòu)成對(duì)本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。
技術(shù)實(shí)現(xiàn)思路
1、為了對(duì)披露的實(shí)施例的一些方面有基本的理解,下面給出了簡(jiǎn)單的概括。所述概括不是泛泛評(píng)述,也不是要確定關(guān)鍵/重要組成元素或描繪這些實(shí)施例的保護(hù)范圍,而是作為后面的詳細(xì)說(shuō)明的序言。
2、針對(duì)現(xiàn)有技術(shù)的缺陷,本發(fā)明提供一種基于硬件的固件認(rèn)證和安全引導(dǎo)系統(tǒng)及方法,通過(guò)硬件手段確保設(shè)備在啟動(dòng)過(guò)程中加載的固件是經(jīng)過(guò)驗(yàn)證且未被篡改的,從而提升系統(tǒng)的整體安全性。
3、為了解決所述技術(shù)問(wèn)題,本發(fā)明采用的技術(shù)方案是:一種基于硬件的固件認(rèn)證和安全引導(dǎo)系統(tǒng),包括:
4、可信根,其是一個(gè)硬件安全模塊,用于存儲(chǔ)和管理用于數(shù)據(jù)加密、身份驗(yàn)證和數(shù)字簽名的加密密鑰;
5、固件存儲(chǔ)單元,用于持久化存儲(chǔ)設(shè)備的固件鏡像和數(shù)據(jù);
6、硬件認(rèn)證模塊,與固件存儲(chǔ)單元、可信根相連,用于讀取并驗(yàn)證固件的完整性和真實(shí)性,并在設(shè)備啟動(dòng)時(shí)對(duì)固件進(jìn)行認(rèn)證;
7、引導(dǎo)加載程序,與固件存儲(chǔ)單元相連,在固件通過(guò)認(rèn)證后,加載和啟動(dòng)固件。
8、進(jìn)一步的,硬件認(rèn)證模塊對(duì)經(jīng)過(guò)認(rèn)證的固件進(jìn)行周期性檢查,確保固件未被篡改;所述周期性檢查為哈希校驗(yàn),通過(guò)哈希算法生成固件對(duì)應(yīng)的哈希值,當(dāng)固件被修改時(shí),對(duì)應(yīng)的哈希值發(fā)生變化,通過(guò)比較哈希值檢測(cè)固件是否被篡改,將當(dāng)前哈希值與認(rèn)證時(shí)的哈希值進(jìn)行比對(duì),如果發(fā)現(xiàn)不一致,則觸發(fā)安全警報(bào)并采取相應(yīng)措施。
9、進(jìn)一步的,可信根中存儲(chǔ)有設(shè)備唯一的私鑰和制造商的公鑰證書,并生成和驗(yàn)證數(shù)字簽名。
10、進(jìn)一步的,固件存儲(chǔ)單元采用安全nor閃存,固件存儲(chǔ)單元中存儲(chǔ)的固件經(jīng)過(guò)加密和簽名處理。
11、進(jìn)一步的,引導(dǎo)加載程序存儲(chǔ)在只讀存儲(chǔ)器中,用于在系統(tǒng)啟動(dòng)時(shí)初始化硬件并加載操作系統(tǒng)內(nèi)核到內(nèi)存中。
12、進(jìn)一步的,可信根內(nèi)的加密密鑰需要授權(quán)訪問(wèn)。
13、本發(fā)明公開一種基于硬件的固件認(rèn)證和安全引導(dǎo)系統(tǒng),包括以下步驟:
14、s01、啟動(dòng)初始化,當(dāng)設(shè)備通過(guò)或者重啟時(shí),可信根和固件存儲(chǔ)單元進(jìn)行初始化操作,可信根初始化完成后,加載并激活存儲(chǔ)在可信根內(nèi)部的加密密鑰和安全策略;
15、s02、固件認(rèn)證,硬件認(rèn)證模塊從固件存儲(chǔ)單元中讀取待啟動(dòng)的固件,然后利用其管理的簽名認(rèn)證的公鑰對(duì)固件進(jìn)行數(shù)字簽名驗(yàn)證,如果,終止啟動(dòng)過(guò)程并發(fā)出警報(bào),如果驗(yàn)證,則繼續(xù)進(jìn)行下一步驟;
16、s03、引導(dǎo)加載,在固件通過(guò)認(rèn)證后,引導(dǎo)加載程序開始運(yùn)行,將經(jīng)過(guò)認(rèn)證的固件鏡像加載到內(nèi)存中,然后檢測(cè)硬件部件是否正常工作,如果硬件部件都正常工作,則繼續(xù)執(zhí)行初始化任務(wù),然后啟動(dòng)操作系統(tǒng)或者應(yīng)用程序;
17、s04、周期性檢查,在固件運(yùn)行期間,硬件認(rèn)證模塊對(duì)固件進(jìn)行周期性檢查,確保其未被篡改。
18、進(jìn)一步的,所述周期性檢查為哈希校驗(yàn),通過(guò)哈希算法生成固件對(duì)應(yīng)的哈希值,當(dāng)固件被修改時(shí),對(duì)應(yīng)的哈希值發(fā)生變化,通過(guò)比較哈希值檢測(cè)固件是否被篡改,將當(dāng)前哈希值與認(rèn)證時(shí)的哈希值進(jìn)行比對(duì),如果發(fā)現(xiàn)不一致,則觸發(fā)安全警報(bào)并采取相應(yīng)措施。
19、進(jìn)一步的,哈希校驗(yàn)不通過(guò)時(shí)采用的措施為重新引導(dǎo)或者進(jìn)入安全模式。
20、本發(fā)明還公開一種存儲(chǔ)介質(zhì),存儲(chǔ)有程序指令,所述程序指令在運(yùn)行時(shí),執(zhí)行如上所述的基于硬件的固件認(rèn)證和安全引導(dǎo)方法。
21、本公開實(shí)施例提供的基于硬件的固件認(rèn)證和安全引導(dǎo)系統(tǒng)、方法及介質(zhì),可以實(shí)現(xiàn)以下技術(shù)效果:高安全性:通過(guò)硬件實(shí)現(xiàn)固件認(rèn)證和安全引導(dǎo),難以被攻擊者繞過(guò)或篡改。
22、實(shí)時(shí)保護(hù):不僅在啟動(dòng)時(shí)認(rèn)證固件,還能在運(yùn)行期間進(jìn)行監(jiān)控,確保固件始終處于可信狀態(tài)。
23、低開銷:利用硬件模塊減少了對(duì)主cpu的依賴,提升了系統(tǒng)整體效率。
24、以上的總體描述和下文中的描述僅是示例性和解釋性的,不用于限制本申請(qǐng)。
1.一種基于硬件的固件認(rèn)證和安全引導(dǎo)系統(tǒng),其特征在于:包括:
2.根據(jù)權(quán)利要求1所述的基于硬件的固件認(rèn)證和安全引導(dǎo)系統(tǒng),其特征在于:硬件認(rèn)證模塊對(duì)經(jīng)過(guò)認(rèn)證的固件進(jìn)行周期性檢查,確保固件未被篡改;所述周期性檢查為哈希校驗(yàn),通過(guò)哈希算法生成固件對(duì)應(yīng)的哈希值,當(dāng)固件被修改時(shí),對(duì)應(yīng)的哈希值發(fā)生變化,通過(guò)比較哈希值檢測(cè)固件是否被篡改,將當(dāng)前哈希值與認(rèn)證時(shí)的哈希值進(jìn)行比對(duì),如果發(fā)現(xiàn)不一致,則觸發(fā)安全警報(bào)并采取相應(yīng)措施。
3.根據(jù)權(quán)利要求1所述的基于硬件的固件認(rèn)證和安全引導(dǎo)系統(tǒng),其特征在于:可信根中存儲(chǔ)有設(shè)備唯一的私鑰和制造商的公鑰證書,并生成和驗(yàn)證數(shù)字簽名。
4.根據(jù)權(quán)利要求1所述的基于硬件的固件認(rèn)證和安全引導(dǎo)系統(tǒng),其特征在于:固件存儲(chǔ)單元采用安全nor閃存,固件存儲(chǔ)單元中存儲(chǔ)的固件經(jīng)過(guò)加密和簽名處理。
5.根據(jù)權(quán)利要求1所述的基于硬件的固件認(rèn)證和安全引導(dǎo)系統(tǒng),其特征在于:引導(dǎo)加載程序存儲(chǔ)在只讀存儲(chǔ)器中,用于在系統(tǒng)啟動(dòng)時(shí)初始化硬件并加載操作系統(tǒng)內(nèi)核到內(nèi)存中。
6.根據(jù)權(quán)利要求1所述的基于硬件的固件認(rèn)證和安全引導(dǎo)系統(tǒng),其特征在于:可信根內(nèi)的加密密鑰需要授權(quán)訪問(wèn)。
7.一種基于硬件的固件認(rèn)證和安全引導(dǎo)系統(tǒng),其特征在于:包括以下步驟:
8.根據(jù)權(quán)利要求7所述的基于硬件的固件認(rèn)證和安全引導(dǎo)方法,其特征在于:所述周期性檢查為哈希校驗(yàn),通過(guò)哈希算法生成固件對(duì)應(yīng)的哈希值,當(dāng)固件被修改時(shí),對(duì)應(yīng)的哈希值發(fā)生變化,通過(guò)比較哈希值檢測(cè)固件是否被篡改,將當(dāng)前哈希值與認(rèn)證時(shí)的哈希值進(jìn)行比對(duì),如果發(fā)現(xiàn)不一致,則觸發(fā)安全警報(bào)并采取相應(yīng)措施。
9.根據(jù)權(quán)利要求8所述的基于硬件的固件認(rèn)證和安全引導(dǎo)方法,其特征在于:哈希校驗(yàn)不通過(guò)時(shí)采用的措施為重新引導(dǎo)或者進(jìn)入安全模式。
10.一種存儲(chǔ)介質(zhì),存儲(chǔ)有程序指令,其特征在于,所述程序指令在運(yùn)行時(shí),執(zhí)行如權(quán)利要求7至9任一項(xiàng)所述的基于硬件的固件認(rèn)證和安全引導(dǎo)方法。