本發(fā)明涉及汽車技術(shù)領(lǐng)域,尤其涉及一種車機(jī)系統(tǒng)的控制方法、裝置以及車機(jī)系統(tǒng)。
背景技術(shù):
隨著汽車技術(shù)領(lǐng)域的快速發(fā)展以及用戶需求的提高,越來越多的車載信息娛樂產(chǎn)品被安裝在汽車中,以滿足用戶的多樣化需求,其中,這些被安裝在汽車中的車載信息娛樂產(chǎn)品可簡稱為車機(jī)。目前,在車機(jī)系統(tǒng)刷寫或更新過程中,系統(tǒng)本身可能會(huì)被篡改,篡改后的系統(tǒng)在啟動(dòng)之后,車機(jī)將面臨各種安全威脅,后續(xù)的安全機(jī)制也可能被破壞,所以車機(jī)系統(tǒng)的安全是一切安全的基礎(chǔ),從系統(tǒng)啟動(dòng)開始就要保證車機(jī)系統(tǒng)未被篡改過。
相關(guān)技術(shù)中,車機(jī)系統(tǒng)的安全啟動(dòng)方法通常是從驗(yàn)證系統(tǒng)引導(dǎo)程序開始,到最終的整個(gè)文件系統(tǒng)的驗(yàn)證,逐級(jí)驗(yàn)證,保證車機(jī)系統(tǒng)的完整性。然而,車機(jī)系統(tǒng)中的文件系統(tǒng)一般都很大,如幾百兆,如果等到用戶文件系統(tǒng)驗(yàn)證之后再安全啟動(dòng)系統(tǒng),耗時(shí)比較長,系統(tǒng)啟動(dòng)效率低。因此,如何在車機(jī)系統(tǒng)的啟動(dòng)過程中,既能保證車機(jī)系統(tǒng)的安全性又能實(shí)現(xiàn)快速啟動(dòng)車機(jī)系統(tǒng),已經(jīng)成為亟待解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的旨在至少在一定程度上解決上述的技術(shù)問題之一。
為此,本發(fā)明的第一個(gè)目的在于提出一種車機(jī)系統(tǒng)的控制方法。該方法可以在車機(jī)系統(tǒng)的啟動(dòng)過程中,既能保證車機(jī)系統(tǒng)的安全性又能實(shí)現(xiàn)快速啟動(dòng)車機(jī)系統(tǒng),提升了用戶體驗(yàn)。
本發(fā)明的第二個(gè)目的在于提出一種車機(jī)系統(tǒng)的控制裝置。
本發(fā)明的第三個(gè)目的在于提出一種車機(jī)系統(tǒng)。
為達(dá)上述目的,本發(fā)明第一方面實(shí)施例的車機(jī)系統(tǒng)的控制方法,包括:在接收到針對所述車機(jī)系統(tǒng)的啟動(dòng)指令時(shí),對所述車機(jī)系統(tǒng)中的引導(dǎo)加載程序的完整性進(jìn)行驗(yàn)證;當(dāng)所述引導(dǎo)加載程序的完整性通過驗(yàn)證時(shí),確定預(yù)設(shè)的根文件系統(tǒng),并通過所述引導(dǎo)加載程序分別對內(nèi)核和根文件系統(tǒng)的完整性進(jìn)行驗(yàn)證;當(dāng)所述內(nèi)核和根文件系統(tǒng)的完整性通過驗(yàn)證時(shí),啟動(dòng)所述車機(jī)系統(tǒng)。
根據(jù)本發(fā)明實(shí)施例的車機(jī)系統(tǒng)的控制方法,在接收到針對車機(jī)系統(tǒng)的啟動(dòng)指令時(shí),對車機(jī)系統(tǒng)中的引導(dǎo)加載程序的完整性進(jìn)行驗(yàn)證,并在引導(dǎo)加載程序的完整性通過驗(yàn)證時(shí),確定預(yù)設(shè)的根文件系統(tǒng),并通過引導(dǎo)加載程序分別對內(nèi)核和根文件系統(tǒng)的完整性進(jìn)行驗(yàn)證,以及在內(nèi)核和根文件系統(tǒng)的完整性通過驗(yàn)證時(shí),直接啟動(dòng)車機(jī)系統(tǒng)。即通過對影響車機(jī)系統(tǒng)啟動(dòng)的必要模塊、文件或進(jìn)程進(jìn)行完整性驗(yàn)證,并在通過驗(yàn)證時(shí),直接啟動(dòng)車機(jī)系統(tǒng),無需在啟動(dòng)車機(jī)系統(tǒng)的過程中,對用戶系統(tǒng)進(jìn)行驗(yàn)證,只需在車機(jī)系統(tǒng)啟動(dòng)后在對用戶系統(tǒng)進(jìn)行驗(yàn)證,這樣可以大大縮短了系統(tǒng)啟動(dòng)的時(shí)間,同時(shí)又保證了整個(gè)系統(tǒng)未被篡改,使得在車機(jī)系統(tǒng)的啟動(dòng)過程中,既能保證車機(jī)系統(tǒng)的安全性又能實(shí)現(xiàn)快速啟動(dòng)車機(jī)系統(tǒng),提升了用戶體驗(yàn)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述根文件系統(tǒng)通過以下步驟預(yù)先設(shè)定的:獲取業(yè)務(wù)功能,并確定所述業(yè)務(wù)功能的性質(zhì);根據(jù)所述業(yè)務(wù)功能的性質(zhì)生成對應(yīng)的驗(yàn)證策略,并根據(jù)所述驗(yàn)證策略確定所述根文件系統(tǒng),其中,所述根文件系統(tǒng)包括至少一個(gè)待驗(yàn)證進(jìn)程。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述根文件系統(tǒng)包括監(jiān)控進(jìn)程,所述監(jiān)控進(jìn)程用于監(jiān)控所述車機(jī)系統(tǒng)的應(yīng)用層軟件的安全;其中,所述通過所述引導(dǎo)加載程序?qū)Ω募到y(tǒng)的完整性進(jìn)行驗(yàn)證,包括:通過所述引導(dǎo)加載程序?qū)λ霰O(jiān)控進(jìn)程進(jìn)行完整性驗(yàn)證。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,在啟動(dòng)所述車機(jī)系統(tǒng)之后,所述方法還包括:通過所述監(jiān)控進(jìn)程對所述車機(jī)系統(tǒng)的應(yīng)用層軟件進(jìn)行安全性驗(yàn)證。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述方法還包括:當(dāng)所述應(yīng)用層軟件的安全性未通過驗(yàn)證時(shí),確定所述應(yīng)用層軟件的功能類型;根據(jù)所述應(yīng)用層軟件的功能類型確定所述車機(jī)系統(tǒng)與車輛之間的交互信息;根據(jù)所述車機(jī)系統(tǒng)與車輛之間的交互信息生成提醒信息,并將所述提醒信息提供給用戶。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述方法還包括:當(dāng)所述引導(dǎo)加載程序的完整性未通過驗(yàn)證時(shí),不加載所述內(nèi)核和根文件系統(tǒng),并退出所述車機(jī)系統(tǒng)的啟動(dòng)過程;當(dāng)所述內(nèi)核的完整性未通過驗(yàn)證,和/或,所述根文件系統(tǒng)的完整性未通過驗(yàn)證時(shí),不啟動(dòng)所述車機(jī)系統(tǒng)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述車機(jī)系統(tǒng)的ROM芯片中包含預(yù)先寫入的可信根,所述可信根包括代碼簽名證書;其中,根據(jù)所述代碼簽名證書的公鑰依次對所述引導(dǎo)加載程序、所述內(nèi)核和所述根文件系統(tǒng)進(jìn)行完整性驗(yàn)證。
為達(dá)上述目的,本發(fā)明第二方面實(shí)施例的車機(jī)系統(tǒng)的控制裝置,包括:第一驗(yàn)證模塊,用于在接收到針對所述車機(jī)系統(tǒng)的啟動(dòng)指令時(shí),對所述車機(jī)系統(tǒng)中的引導(dǎo)加載程序的完整性進(jìn)行驗(yàn)證;確定模塊,用于在所述引導(dǎo)加載程序的完整性通過驗(yàn)證時(shí),確定預(yù)設(shè)的根文件系統(tǒng);所述第一驗(yàn)證模塊還用于通過所述引導(dǎo)加載程序分別對內(nèi)核和根文件系統(tǒng)的完整性進(jìn)行驗(yàn)證;控制模塊,用于在所述內(nèi)核和根文件系統(tǒng)的完整性通過驗(yàn)證時(shí),啟動(dòng)所述車機(jī)系統(tǒng)。
根據(jù)本發(fā)明實(shí)施例的車機(jī)系統(tǒng)的控制裝置,可通過第一驗(yàn)證模塊在接收到針對車機(jī)系統(tǒng)的啟動(dòng)指令時(shí),對車機(jī)系統(tǒng)中的引導(dǎo)加載程序的完整性進(jìn)行驗(yàn)證,確定模塊在引導(dǎo)加載程序的完整性通過驗(yàn)證時(shí),確定預(yù)設(shè)的根文件系統(tǒng),第一驗(yàn)證模塊通過引導(dǎo)加載程序分別對內(nèi)核和根文件系統(tǒng)的完整性進(jìn)行驗(yàn)證,控制模塊在內(nèi)核和根文件系統(tǒng)的完整性通過驗(yàn)證時(shí),直接啟動(dòng)車機(jī)系統(tǒng)。即通過對影響車機(jī)系統(tǒng)啟動(dòng)的必要模塊、文件或進(jìn)程進(jìn)行完整性驗(yàn)證,并在通過驗(yàn)證時(shí),直接啟動(dòng)車機(jī)系統(tǒng),無需在啟動(dòng)車機(jī)系統(tǒng)的過程中,對用戶系統(tǒng)進(jìn)行驗(yàn)證,只需在車機(jī)系統(tǒng)啟動(dòng)后在對用戶系統(tǒng)進(jìn)行驗(yàn)證,這樣可以大大縮短了系統(tǒng)啟動(dòng)的時(shí)間,同時(shí)又保證了整個(gè)系統(tǒng)未被篡改,使得在車機(jī)系統(tǒng)的啟動(dòng)過程中,既能保證車機(jī)系統(tǒng)的安全性又能實(shí)現(xiàn)快速啟動(dòng)車機(jī)系統(tǒng),提升了用戶體驗(yàn)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述裝置還包括:預(yù)先處理模塊,用于獲取業(yè)務(wù)功能,并確定所述業(yè)務(wù)功能的性質(zhì),并根據(jù)所述業(yè)務(wù)功能的性質(zhì)生成對應(yīng)的驗(yàn)證策略,以及根據(jù)所述驗(yàn)證策略確定所述根文件系統(tǒng),其中,所述根文件系統(tǒng)包括至少一個(gè)待驗(yàn)證進(jìn)程。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述根文件系統(tǒng)包括監(jiān)控進(jìn)程,所述監(jiān)控進(jìn)程用于監(jiān)控所述車機(jī)系統(tǒng)的應(yīng)用層軟件的安全;其中,所述第一驗(yàn)證模塊具體用于:通過所述引導(dǎo)加載程序?qū)λ霰O(jiān)控進(jìn)程進(jìn)行完整性驗(yàn)證。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述裝置還包括:第二驗(yàn)證模塊,用于在所述控制模塊啟動(dòng)所述車機(jī)系統(tǒng)之后,通過所述監(jiān)控進(jìn)程對所述車機(jī)系統(tǒng)的應(yīng)用層軟件進(jìn)行安全性驗(yàn)證。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述裝置還包括:第一確定模塊,用于在所述應(yīng)用層軟件的安全性未通過驗(yàn)證時(shí),確定所述應(yīng)用層軟件的功能類型;第二確定模塊,用于根據(jù)所述應(yīng)用層軟件的功能類型確定所述車機(jī)系統(tǒng)與車輛之間的交互信息;生成模塊,用于根據(jù)所述車機(jī)系統(tǒng)與車輛之間的交互信息生成提醒信息;提供模塊,用于將所述提醒信息提供給用戶。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述控制模塊還用于:在所述引導(dǎo)加載程序的完整性未通過驗(yàn)證時(shí),不加載所述內(nèi)核和根文件系統(tǒng),并退出所述車機(jī)系統(tǒng)的啟動(dòng)過程;在所述內(nèi)核的完整性未通過驗(yàn)證,和/或,所述根文件系統(tǒng)的完整性未通過驗(yàn)證時(shí),不啟動(dòng)所述車機(jī)系統(tǒng)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述車機(jī)系統(tǒng)的ROM芯片中包含預(yù)先寫入的可信根,所述可信根包括代碼簽名證書的公鑰;其中,所述第一驗(yàn)證模塊具體用于:根據(jù)所述代碼簽名證書的公鑰依次對所述引導(dǎo)加載程序、所述內(nèi)核和所述根文件系統(tǒng)進(jìn)行完整性驗(yàn)證。
為達(dá)上述目的,本發(fā)明第三方面實(shí)施例的車機(jī)系統(tǒng),包括:本發(fā)明第二方面實(shí)施例所述的控制裝置。
根據(jù)本發(fā)明實(shí)施例的車機(jī)系統(tǒng),可通過控制裝置中的第一驗(yàn)證模塊在接收到針對車機(jī)系統(tǒng)的啟動(dòng)指令時(shí),對車機(jī)系統(tǒng)中的引導(dǎo)加載程序的完整性進(jìn)行驗(yàn)證,確定模塊在引導(dǎo)加載程序的完整性通過驗(yàn)證時(shí),確定預(yù)設(shè)的根文件系統(tǒng),第一驗(yàn)證模塊通過引導(dǎo)加載程序分別對內(nèi)核和根文件系統(tǒng)的完整性進(jìn)行驗(yàn)證,控制模塊在內(nèi)核和根文件系統(tǒng)的完整性通過驗(yàn)證時(shí),直接啟動(dòng)車機(jī)系統(tǒng)。即通過對影響車機(jī)系統(tǒng)啟動(dòng)的必要模塊、文件或進(jìn)程進(jìn)行完整性驗(yàn)證,并在通過驗(yàn)證時(shí),直接啟動(dòng)車機(jī)系統(tǒng),無需在啟動(dòng)車機(jī)系統(tǒng)的過程中,對用戶系統(tǒng)進(jìn)行驗(yàn)證,只需在車機(jī)系統(tǒng)啟動(dòng)后在對用戶系統(tǒng)進(jìn)行驗(yàn)證,這樣可以大大縮短了系統(tǒng)啟動(dòng)的時(shí)間,同時(shí)又保證了整個(gè)系統(tǒng)未被篡改,使得在車機(jī)系統(tǒng)的啟動(dòng)過程中,既能保證車機(jī)系統(tǒng)的安全性又能實(shí)現(xiàn)快速啟動(dòng)車機(jī)系統(tǒng),提升了用戶體驗(yàn)。
本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
附圖說明
本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的車機(jī)系統(tǒng)的控制方法的流程圖;
圖2是根據(jù)本發(fā)明一個(gè)具體實(shí)施例的車機(jī)系統(tǒng)的控制方法的流程圖;
圖3根據(jù)本發(fā)明另一個(gè)具體實(shí)施例的車機(jī)系統(tǒng)的控制方法的流程圖;
圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的車機(jī)系統(tǒng)的控制裝置的結(jié)構(gòu)示意圖;
圖5是根據(jù)本發(fā)明一個(gè)具體實(shí)施例的車機(jī)系統(tǒng)的控制裝置的結(jié)構(gòu)示意圖;
圖6是根據(jù)本發(fā)明另一個(gè)具體實(shí)施例的車機(jī)系統(tǒng)的控制裝置的結(jié)構(gòu)示意圖;
圖7是根據(jù)本發(fā)明又一個(gè)具體實(shí)施例的車機(jī)系統(tǒng)的控制裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
下面參考附圖描述本發(fā)明實(shí)施例的車機(jī)系統(tǒng)的控制方法、裝置以及車機(jī)系統(tǒng)。
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的車機(jī)系統(tǒng)的控制方法的流程圖。需要說明的是,本發(fā)明實(shí)施例的車機(jī)系統(tǒng)的控制方法可應(yīng)用于本發(fā)明實(shí)施例的車機(jī)系統(tǒng)的控制裝置,該車機(jī)系統(tǒng)的控制裝置可被配置于車機(jī)系統(tǒng)上。其中,該車機(jī)系統(tǒng)的操作系統(tǒng)可為安卓Android系統(tǒng)。
如圖1所示,該車機(jī)系統(tǒng)的控制方法可以包括:
S110,在接收到針對車機(jī)系統(tǒng)的啟動(dòng)指令時(shí),對車機(jī)系統(tǒng)中的引導(dǎo)加載程序的完整性進(jìn)行驗(yàn)證。
舉例而言,假設(shè)本發(fā)明實(shí)施例的車機(jī)系統(tǒng)的控制方法應(yīng)用于車機(jī)系統(tǒng),該車機(jī)系統(tǒng)可被安裝于汽車中,可以理解,該汽車或該車機(jī)系統(tǒng)上具備該車機(jī)系統(tǒng)的啟動(dòng)按鈕,當(dāng)用戶通過該啟動(dòng)按鈕啟動(dòng)車機(jī)系統(tǒng)時(shí),車機(jī)系統(tǒng)可接收到啟動(dòng)指令,此時(shí)可加載引導(dǎo)加載程序,并對該引導(dǎo)加載程序進(jìn)行完整性驗(yàn)證。其中,在本發(fā)明的實(shí)施例中,該引導(dǎo)加載程序可為Bootloader。
也就是說,在車機(jī)系統(tǒng)中操作系統(tǒng)內(nèi)核運(yùn)行之前,先加載該引導(dǎo)加載程序,并對該引導(dǎo)加載程序進(jìn)行完整性驗(yàn)證,以保證該引導(dǎo)加載程序是安全的。作為一種示例,可通過簽名驗(yàn)證的方式對引導(dǎo)加載程序進(jìn)行完整性驗(yàn)證。例如,基于安全啟動(dòng),可利用一次性可編程模塊,將可信根寫入該一次性可編程模塊中,該一次性可編程模塊可被配置于車機(jī)系統(tǒng)的ROM芯片中,其中,該可信根可包含針對該引導(dǎo)加載程序的完整性驗(yàn)證的密鑰,因此,在加載該引導(dǎo)加載程序時(shí),可根據(jù)可信根中的密鑰對該引導(dǎo)加載程序進(jìn)行完整性驗(yàn)證。
需要說明的是,在本發(fā)明的實(shí)施例中,當(dāng)引導(dǎo)加載程序的完整性未通過驗(yàn)證時(shí),不加載內(nèi)核和根文件系統(tǒng),并退出車機(jī)系統(tǒng)的啟動(dòng)過程。例如,針對該引導(dǎo)加載程序的完整性驗(yàn)證,當(dāng)可信根中的密鑰與車機(jī)系統(tǒng)中加載的引導(dǎo)加載程序的密鑰不一致時(shí),可判定該車機(jī)系統(tǒng)中所加載的引導(dǎo)加載程序未通過完整性的驗(yàn)證,即該引導(dǎo)加載程序被篡改,此時(shí)不再繼續(xù)加載車機(jī)系統(tǒng)中的內(nèi)核和根文件系統(tǒng),并停止車機(jī)系統(tǒng)的啟動(dòng),退出該車機(jī)系統(tǒng)的啟動(dòng)過程。這樣,在車機(jī)系統(tǒng)被篡改時(shí),可以保證被及時(shí)發(fā)現(xiàn)。
S120,當(dāng)引導(dǎo)加載程序的完整性通過驗(yàn)證時(shí),確定預(yù)設(shè)的根文件系統(tǒng),并通過引導(dǎo)加載程序分別對內(nèi)核和根文件系統(tǒng)的完整性進(jìn)行驗(yàn)證。
具體地,在引導(dǎo)加載程序的完整性通過驗(yàn)證時(shí),可確定預(yù)先設(shè)置的根文件系統(tǒng),并加載車機(jī)系統(tǒng)中的內(nèi)核以及該根文件系統(tǒng),并分別對該內(nèi)核和根文件系統(tǒng)進(jìn)行完整性驗(yàn)證。
可以理解,在車機(jī)系統(tǒng)的啟動(dòng)過程中,哪些文件系統(tǒng)需要先進(jìn)行完整性驗(yàn)證以保證車機(jī)系統(tǒng)的安全性,可以是根據(jù)實(shí)際需求設(shè)定的,即可根據(jù)實(shí)際業(yè)務(wù)功能來決定:作為一種示例,該根文件系統(tǒng)可通過以下步驟預(yù)先設(shè)定的:獲取業(yè)務(wù)功能,并確定業(yè)務(wù)功能的性質(zhì);根據(jù)業(yè)務(wù)功能的性質(zhì)生成對應(yīng)的驗(yàn)證策略,并根據(jù)驗(yàn)證策略確定根文件系統(tǒng),其中,根文件系統(tǒng)包括至少一個(gè)待驗(yàn)證進(jìn)程。其中,在本發(fā)明的實(shí)施例中,該業(yè)務(wù)功能可理解為該車機(jī)系統(tǒng)所能夠?qū)崿F(xiàn)的業(yè)務(wù)功能,例如,車載導(dǎo)航功能、車載多媒體(如播放音視頻等)功能等。
舉例而言,假設(shè)車機(jī)系統(tǒng)是用于車載導(dǎo)航時(shí),則可確定該車機(jī)系統(tǒng)的業(yè)務(wù)功能為車載導(dǎo)航功能,并確定該車載導(dǎo)航功能的性質(zhì)為GPS導(dǎo)航,之后,可根據(jù)該特性生成對應(yīng)的驗(yàn)證策略,該驗(yàn)證策略可包括需要驗(yàn)證的文件系統(tǒng)或進(jìn)程,最后,根據(jù)該驗(yàn)證策略確定根文件系統(tǒng),該根文件系統(tǒng)可理解為該用于車載導(dǎo)航的車機(jī)系統(tǒng)在快速啟動(dòng)時(shí),必須要啟動(dòng)并進(jìn)行完整性驗(yàn)證的文件系統(tǒng),以保證該車機(jī)系統(tǒng)的車載導(dǎo)航功能能夠安全,不被篡改。
為了能夠?qū)崿F(xiàn)快速啟動(dòng)車機(jī)系統(tǒng),在對根文件系統(tǒng)進(jìn)行完整性驗(yàn)證時(shí),需對操作系統(tǒng)中重要資源,如負(fù)責(zé)用戶系統(tǒng)安全的監(jiān)控進(jìn)程進(jìn)行完整性驗(yàn)證。作為一種示例,該根文件系統(tǒng)可包括監(jiān)控進(jìn)程,監(jiān)控進(jìn)程可用于監(jiān)控車機(jī)系統(tǒng)的應(yīng)用層軟件的安全。其中,在本發(fā)明的實(shí)施例中,通過引導(dǎo)加載程序?qū)Ω募到y(tǒng)的完整性進(jìn)行驗(yàn)證的具體實(shí)現(xiàn)過程可包括:通過引導(dǎo)加載程序?qū)ΡO(jiān)控進(jìn)程進(jìn)行完整性驗(yàn)證。
需要說明的是,在本發(fā)明的實(shí)施例中,當(dāng)內(nèi)核的完整性未通過驗(yàn)證,和/或,根文件系統(tǒng)的完整性未通過驗(yàn)證時(shí),不啟動(dòng)車機(jī)系統(tǒng)。也就是說,在內(nèi)核的完整性未通過驗(yàn)證,和/或,根文件系統(tǒng)的完整性未通過驗(yàn)證時(shí),直接停止車機(jī)系統(tǒng)的啟動(dòng),以避免不安全的車機(jī)系統(tǒng)啟動(dòng)后,會(huì)發(fā)送不安全信息,以影響汽車中其他控制系統(tǒng),避免汽車由于車機(jī)系統(tǒng)而存在安全隱患。
S130,當(dāng)內(nèi)核和根文件系統(tǒng)的完整性通過驗(yàn)證時(shí),啟動(dòng)車機(jī)系統(tǒng)。
具體地,在內(nèi)核和根文件系統(tǒng)的完整性通過驗(yàn)證時(shí),直接啟動(dòng)車機(jī)系統(tǒng)。這樣可以通過對操作系統(tǒng)的必要模塊、文件或進(jìn)程進(jìn)行完整性驗(yàn)證,達(dá)到快速通過驗(yàn)證的目的,實(shí)現(xiàn)了車機(jī)系統(tǒng)的快速啟動(dòng)功能,大大縮短了啟動(dòng)時(shí)間,在保證車機(jī)系統(tǒng)本身的完整性的同時(shí),又保證了車機(jī)啟動(dòng)時(shí)間。
在保證車機(jī)系統(tǒng)本身的完整性的同時(shí),還需保證用戶系統(tǒng)的安全性,進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,在快速啟動(dòng)車機(jī)系統(tǒng)之后,可通過監(jiān)控進(jìn)程對用戶系統(tǒng)進(jìn)行安全性驗(yàn)證。具體地,如圖2所示,該控制方法可包括:
S210,在接收到針對車機(jī)系統(tǒng)的啟動(dòng)指令時(shí),對車機(jī)系統(tǒng)中的引導(dǎo)加載程序的完整性進(jìn)行驗(yàn)證。
S220,當(dāng)引導(dǎo)加載程序的完整性通過驗(yàn)證時(shí),確定預(yù)設(shè)的根文件系統(tǒng),并通過引導(dǎo)加載程序分別對內(nèi)核和監(jiān)控進(jìn)程進(jìn)行完整性驗(yàn)證。
S230,當(dāng)內(nèi)核和根文件系統(tǒng)的完整性通過驗(yàn)證時(shí),啟動(dòng)車機(jī)系統(tǒng)。
S240,通過監(jiān)控進(jìn)程對車機(jī)系統(tǒng)的應(yīng)用層軟件進(jìn)行安全性驗(yàn)證。
由此,在快速啟動(dòng)車機(jī)系統(tǒng)之后,可通過監(jiān)控進(jìn)程完成對車機(jī)系統(tǒng)中的整個(gè)文件系統(tǒng)進(jìn)行安全性驗(yàn)證,大大縮短了系統(tǒng)啟動(dòng)的時(shí)間,同時(shí)又保證了整個(gè)系統(tǒng)未被篡改。
為了提升用戶體驗(yàn),在對車機(jī)系統(tǒng)的應(yīng)用層軟件進(jìn)行安全性驗(yàn)證的過程中,如果應(yīng)用層軟件出現(xiàn)安全隱患,則可生成對應(yīng)的提醒信息以提醒用戶。作為一種示例,如圖3所示,在如圖2所示的基礎(chǔ)上,在通過監(jiān)控進(jìn)程對車機(jī)系統(tǒng)的應(yīng)用層軟件進(jìn)行安全性驗(yàn)證之后,該控制方法還可包括:
S310,當(dāng)應(yīng)用層軟件的安全性未通過驗(yàn)證時(shí),確定應(yīng)用層軟件的功能類型。
其中,應(yīng)用層軟件的功能類型可理解為該應(yīng)用層軟件所實(shí)現(xiàn)的功能,例如,該應(yīng)用層軟件為車載導(dǎo)航軟件,則該功能類型為車載導(dǎo)航類型。
S320,根據(jù)應(yīng)用層軟件的功能類型確定車機(jī)系統(tǒng)與車輛之間的交互信息。
例如,以該應(yīng)用層軟件的功能類型為車載導(dǎo)航類型為例,該車載導(dǎo)航軟件具有路線規(guī)劃功能,該路線規(guī)劃需要根據(jù)車速、當(dāng)前地理位置等信息進(jìn)行計(jì)算,其中,車速需要從車輛中的車速采集模塊獲得,所以,可以確定該具有車載導(dǎo)航功能的車機(jī)系統(tǒng)與車輛之間的交互信息可包括車輛的車速信息。
S330,根據(jù)車機(jī)系統(tǒng)與車輛之間的交互信息生成提醒信息,并將提醒信息提供給用戶。
例如,假設(shè)該車機(jī)系統(tǒng)與車輛之間的交互信息為車輛的車速信息時(shí),可根據(jù)該車速信息生成對應(yīng)的提醒信息,例如,該提醒信息可為“當(dāng)前車載導(dǎo)航軟件存在安全隱患,其中可能會(huì)影響以下車輛信息:車速信息、GPS定位等”,并將該提醒信息提供給用戶,以對用戶進(jìn)行提醒。其中,該提供方式可以是文本和/或語音的方式。
可以理解,在本發(fā)明的實(shí)施例中,該車機(jī)系統(tǒng)的ROM芯片中包含預(yù)先寫入的可信根,可信根包括代碼簽名證書的公鑰;其中,可根據(jù)代碼簽名證書的公鑰依次對引導(dǎo)加載程序、內(nèi)核和根文件系統(tǒng)進(jìn)行完整性驗(yàn)證。也就是說,可根據(jù)可信根中的代碼簽名證書的公鑰依次對引導(dǎo)加載程序、內(nèi)核和根文件系統(tǒng)的完整性逐級(jí)進(jìn)行驗(yàn)證,例如,以引導(dǎo)加載程序的完整性驗(yàn)證為例,可使用可信根中的代碼簽名證書的公鑰解密引導(dǎo)加載程序中被簽名的哈希值,然后將該哈希值與該引導(dǎo)加載程序中自帶的哈希值進(jìn)行比較,若不相同,則判定該引導(dǎo)加載程序的完整性未能通過驗(yàn)證,即該引導(dǎo)加載程序可能存在隱患,若相同,則判定該引導(dǎo)加載程序的完整性通過驗(yàn)證。該ROM芯片具有一次性可編程的特性。由此,在車機(jī)系統(tǒng)的啟動(dòng)過程中,既能保證車機(jī)系統(tǒng)的安全性又能保證車機(jī)啟動(dòng)時(shí)間。
根據(jù)本發(fā)明實(shí)施例的車機(jī)系統(tǒng)的控制方法,在接收到針對車機(jī)系統(tǒng)的啟動(dòng)指令時(shí),對車機(jī)系統(tǒng)中的引導(dǎo)加載程序的完整性進(jìn)行驗(yàn)證,并在引導(dǎo)加載程序的完整性通過驗(yàn)證時(shí),確定預(yù)設(shè)的根文件系統(tǒng),并通過引導(dǎo)加載程序分別對內(nèi)核和根文件系統(tǒng)的完整性進(jìn)行驗(yàn)證,以及在內(nèi)核和根文件系統(tǒng)的完整性通過驗(yàn)證時(shí),直接啟動(dòng)車機(jī)系統(tǒng)。即通過對影響車機(jī)系統(tǒng)啟動(dòng)的必要模塊、文件或進(jìn)程進(jìn)行完整性驗(yàn)證,并在通過驗(yàn)證時(shí),直接啟動(dòng)車機(jī)系統(tǒng),無需在啟動(dòng)車機(jī)系統(tǒng)的過程中,對用戶系統(tǒng)進(jìn)行驗(yàn)證,只需在車機(jī)系統(tǒng)啟動(dòng)后在對用戶系統(tǒng)進(jìn)行驗(yàn)證,這樣可以大大縮短了系統(tǒng)啟動(dòng)的時(shí)間,同時(shí)又保證了整個(gè)系統(tǒng)未被篡改,使得在車機(jī)系統(tǒng)的啟動(dòng)過程中,既能保證車機(jī)系統(tǒng)的安全性又能實(shí)現(xiàn)快速啟動(dòng)車機(jī)系統(tǒng),提升了用戶體驗(yàn)。
與上述幾種實(shí)施例提供的車機(jī)系統(tǒng)的控制方法相對應(yīng),本發(fā)明的一種實(shí)施例還提供一種車機(jī)系統(tǒng)的控制裝置,由于本發(fā)明實(shí)施例提供的車機(jī)系統(tǒng)的控制裝置與上述幾種實(shí)施例提供的車機(jī)系統(tǒng)的控制方法相對應(yīng),因此在前述車機(jī)系統(tǒng)的控制方法的實(shí)施方式也適用于本實(shí)施例提供的車機(jī)系統(tǒng)的控制裝置,在本實(shí)施例中不再詳細(xì)描述。圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的車機(jī)系統(tǒng)的控制裝置的結(jié)構(gòu)示意圖。如圖4所示,該車機(jī)系統(tǒng)的控制裝置可以包括:第一驗(yàn)證模塊410、確定模塊420和控制模塊430。
具體地,第一驗(yàn)證模塊410可用于在接收到針對車機(jī)系統(tǒng)的啟動(dòng)指令時(shí),對車機(jī)系統(tǒng)中的引導(dǎo)加載程序的完整性進(jìn)行驗(yàn)證。
確定模塊420可用于在引導(dǎo)加載程序的完整性通過驗(yàn)證時(shí),確定預(yù)設(shè)的根文件系統(tǒng)。
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,如圖5所示,該控制裝置還可包括:預(yù)先處理模塊440。其中,預(yù)先處理模塊440可用于獲取業(yè)務(wù)功能,并確定業(yè)務(wù)功能的性質(zhì),并根據(jù)業(yè)務(wù)功能的性質(zhì)生成對應(yīng)的驗(yàn)證策略,以及根據(jù)驗(yàn)證策略確定根文件系統(tǒng),其中,根文件系統(tǒng)包括至少一個(gè)待驗(yàn)證進(jìn)程。
第一驗(yàn)證模塊410還可用于通過引導(dǎo)加載程序分別對內(nèi)核和根文件系統(tǒng)的完整性進(jìn)行驗(yàn)證。
為了能夠?qū)崿F(xiàn)快速啟動(dòng)車機(jī)系統(tǒng),在對根文件系統(tǒng)進(jìn)行完整性驗(yàn)證時(shí),需對操作系統(tǒng)中重要資源,如負(fù)責(zé)用戶系統(tǒng)安全的監(jiān)控進(jìn)程進(jìn)行完整性驗(yàn)證。作為一種示例,該根文件系統(tǒng)可包括監(jiān)控進(jìn)程,監(jiān)控進(jìn)程用于監(jiān)控車機(jī)系統(tǒng)的應(yīng)用層軟件的安全。其中,在本發(fā)明的實(shí)施例中,該第一驗(yàn)證模塊410通過引導(dǎo)加載程序?qū)Ω募到y(tǒng)的完整性進(jìn)行驗(yàn)證的具體實(shí)現(xiàn)過程可如下:通過引導(dǎo)加載程序?qū)ΡO(jiān)控進(jìn)程進(jìn)行完整性驗(yàn)證。
控制模塊430可用于在內(nèi)核和根文件系統(tǒng)的完整性通過驗(yàn)證時(shí),啟動(dòng)車機(jī)系統(tǒng)。
在保證車機(jī)系統(tǒng)本身的完整性的同時(shí),還需保證用戶系統(tǒng)的安全性,進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,如圖6所示,該控制裝置還可包括:第二驗(yàn)證模塊450。其中,第二驗(yàn)證模塊450可用于在控制模塊430啟動(dòng)車機(jī)系統(tǒng)之后,通過監(jiān)控進(jìn)程對車機(jī)系統(tǒng)的應(yīng)用層軟件進(jìn)行安全性驗(yàn)證。
為了提升用戶體驗(yàn),在對車機(jī)系統(tǒng)的應(yīng)用層軟件進(jìn)行安全性驗(yàn)證的過程中,如果應(yīng)用層軟件出現(xiàn)安全隱患,則可生成對應(yīng)的提醒信息以提醒用戶。作為一種示例,在本發(fā)明的一個(gè)實(shí)施例中,如圖7所示,該控制裝置還可包括:第一確定模塊460、第二確定模塊470、生成模塊480和提供模塊490。其中,第一確定模塊460可用于在應(yīng)用層軟件的安全性未通過驗(yàn)證時(shí),確定應(yīng)用層軟件的功能類型。第二確定模塊470可用于根據(jù)應(yīng)用層軟件的功能類型確定車機(jī)系統(tǒng)與車輛之間的交互信息。生成模塊480可用于根據(jù)車機(jī)系統(tǒng)與車輛之間的交互信息生成提醒信息。提供模塊490可用于將提醒信息提供給用戶。
需要說明的是,在本發(fā)明的一個(gè)實(shí)施例中,該控制模塊430還可用于:在引導(dǎo)加載程序的完整性未通過驗(yàn)證時(shí),不加載內(nèi)核和根文件系統(tǒng),并退出車機(jī)系統(tǒng)的啟動(dòng)過程;在內(nèi)核的完整性未通過驗(yàn)證,和/或,根文件系統(tǒng)的完整性未通過驗(yàn)證時(shí),不啟動(dòng)車機(jī)系統(tǒng)。
可以理解,在本發(fā)明的實(shí)施例中,該車機(jī)系統(tǒng)的ROM芯片中可包含預(yù)先寫入的可信根,可信根包括代碼簽名證書的公鑰。其中,在本發(fā)明的實(shí)施例中,第一驗(yàn)證模塊410可具體用于:根據(jù)代碼簽名證書的公鑰依次對引導(dǎo)加載程序、內(nèi)核和根文件系統(tǒng)進(jìn)行完整性驗(yàn)證。
根據(jù)本發(fā)明實(shí)施例的車機(jī)系統(tǒng)的控制裝置,可通過第一驗(yàn)證模塊在接收到針對車機(jī)系統(tǒng)的啟動(dòng)指令時(shí),對車機(jī)系統(tǒng)中的引導(dǎo)加載程序的完整性進(jìn)行驗(yàn)證,確定模塊在引導(dǎo)加載程序的完整性通過驗(yàn)證時(shí),確定預(yù)設(shè)的根文件系統(tǒng),第一驗(yàn)證模塊通過引導(dǎo)加載程序分別對內(nèi)核和根文件系統(tǒng)的完整性進(jìn)行驗(yàn)證,控制模塊在內(nèi)核和根文件系統(tǒng)的完整性通過驗(yàn)證時(shí),直接啟動(dòng)車機(jī)系統(tǒng)。即通過對影響車機(jī)系統(tǒng)啟動(dòng)的必要模塊、文件或進(jìn)程進(jìn)行完整性驗(yàn)證,并在通過驗(yàn)證時(shí),直接啟動(dòng)車機(jī)系統(tǒng),無需在啟動(dòng)車機(jī)系統(tǒng)的過程中,對用戶系統(tǒng)進(jìn)行驗(yàn)證,只需在車機(jī)系統(tǒng)啟動(dòng)后在對用戶系統(tǒng)進(jìn)行驗(yàn)證,這樣可以大大縮短了系統(tǒng)啟動(dòng)的時(shí)間,同時(shí)又保證了整個(gè)系統(tǒng)未被篡改,使得在車機(jī)系統(tǒng)的啟動(dòng)過程中,既能保證車機(jī)系統(tǒng)的安全性又能實(shí)現(xiàn)快速啟動(dòng)車機(jī)系統(tǒng),提升了用戶體驗(yàn)。
為了實(shí)現(xiàn)上述實(shí)施例,本發(fā)明還提出了一種車機(jī)系統(tǒng),包括本發(fā)明上述任一個(gè)實(shí)施例的控制裝置。
根據(jù)本發(fā)明實(shí)施例的車機(jī)系統(tǒng),可通過控制裝置中的第一驗(yàn)證模塊在接收到針對車機(jī)系統(tǒng)的啟動(dòng)指令時(shí),對車機(jī)系統(tǒng)中的引導(dǎo)加載程序的完整性進(jìn)行驗(yàn)證,確定模塊在引導(dǎo)加載程序的完整性通過驗(yàn)證時(shí),確定預(yù)設(shè)的根文件系統(tǒng),第一驗(yàn)證模塊通過引導(dǎo)加載程序分別對內(nèi)核和根文件系統(tǒng)的完整性進(jìn)行驗(yàn)證,控制模塊在內(nèi)核和根文件系統(tǒng)的完整性通過驗(yàn)證時(shí),直接啟動(dòng)車機(jī)系統(tǒng)。即通過對影響車機(jī)系統(tǒng)啟動(dòng)的必要模塊、文件或進(jìn)程進(jìn)行完整性驗(yàn)證,并在通過驗(yàn)證時(shí),直接啟動(dòng)車機(jī)系統(tǒng),無需在啟動(dòng)車機(jī)系統(tǒng)的過程中,對用戶系統(tǒng)進(jìn)行驗(yàn)證,只需在車機(jī)系統(tǒng)啟動(dòng)后在對用戶系統(tǒng)進(jìn)行驗(yàn)證,這樣可以大大縮短了系統(tǒng)啟動(dòng)的時(shí)間,同時(shí)又保證了整個(gè)系統(tǒng)未被篡改,使得在車機(jī)系統(tǒng)的啟動(dòng)過程中,既能保證車機(jī)系統(tǒng)的安全性又能實(shí)現(xiàn)快速啟動(dòng)車機(jī)系統(tǒng),提升了用戶體驗(yàn)。
在本發(fā)明的描述中,需要理解的是,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個(gè)該特征。在本發(fā)明的描述中,“多個(gè)”的含義是至少兩個(gè),例如兩個(gè),三個(gè)等,除非另有明確具體的限定。
在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不必須針對的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,"計(jì)算機(jī)可讀介質(zhì)"可以是任何可以包含、存儲(chǔ)、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計(jì)算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個(gè)或多個(gè)布線的電連接部(電子裝置),便攜式計(jì)算機(jī)盤盒(磁裝置),隨機(jī)存取存儲(chǔ)器(RAM),只讀存儲(chǔ)器(ROM),可擦除可編輯只讀存儲(chǔ)器(EPROM或閃速存儲(chǔ)器),光纖裝置,以及便攜式光盤只讀存儲(chǔ)器(CDROM)。另外,計(jì)算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^對紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時(shí)以其他合適方式進(jìn)行處理來以電子方式獲得所述程序,然后將其存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中。
應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有用于對數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
此外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理模塊中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。
上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對上述實(shí)施例進(jìn)行變化、修改、替換和變型。