本發(fā)明涉及終端設(shè)備技術(shù)領(lǐng)域,具體而言,本發(fā)明涉及一種多操作系統(tǒng)的系統(tǒng)文件訪問(wèn)方法及裝置。
背景技術(shù):
目前,智能手機(jī)、平板電腦、智能穿戴設(shè)備、電子閱讀器或行車記錄儀等終端設(shè)備越來(lái)越普及。
相當(dāng)一部分?jǐn)?shù)量的終端設(shè)備中安裝了兩個(gè)操作系統(tǒng)。每個(gè)操作系統(tǒng)的系統(tǒng)文件通常存儲(chǔ)于對(duì)應(yīng)的物理存儲(chǔ)設(shè)備中?,F(xiàn)有的多操作系統(tǒng)的系統(tǒng)文件訪問(wèn)方法,包括:當(dāng)內(nèi)核接收到應(yīng)用針對(duì)一個(gè)操作系統(tǒng)的系統(tǒng)文件的訪問(wèn)請(qǐng)求時(shí),根據(jù)所述訪問(wèn)請(qǐng)求進(jìn)行操作,例如從相應(yīng)的物理存儲(chǔ)設(shè)備中讀取該操作系統(tǒng)相應(yīng)的系統(tǒng)文件向該應(yīng)用返回。
然而,本發(fā)明的發(fā)明人發(fā)現(xiàn),一旦惡意程序通過(guò)非法手段侵入終端設(shè)備后,很可能惡意篡改該終端設(shè)備中的應(yīng)用或者附著隱藏在應(yīng)用中。操作系統(tǒng)啟動(dòng)后,惡意程序利用現(xiàn)有的多操作系統(tǒng)的系統(tǒng)文件訪問(wèn)方法,訪問(wèn)操作系統(tǒng)的系統(tǒng)文件,很容易導(dǎo)致操作系統(tǒng)或應(yīng)用的運(yùn)行遭到破壞、或終端設(shè)備的數(shù)據(jù)發(fā)生泄漏等嚴(yán)重后果;因此,現(xiàn)有的多操作系統(tǒng)的系統(tǒng)文件訪問(wèn)方法具有安全性低下的缺陷,容易給用戶帶來(lái)?yè)p失,導(dǎo)致用戶體驗(yàn)不佳。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)現(xiàn)有方式的缺點(diǎn),提出一種多操作系統(tǒng)的系統(tǒng)文件訪問(wèn)方法及裝置,用以解決現(xiàn)有技術(shù)存在應(yīng)用訪問(wèn)多操作系統(tǒng)的系統(tǒng)文件時(shí)安全性低下的問(wèn)題。
本發(fā)明的實(shí)施例根據(jù)一個(gè)方面,提供了一種多操作系統(tǒng)的系統(tǒng)文件訪問(wèn)方法,包括:
內(nèi)核創(chuàng)建兩個(gè)以上操作系統(tǒng)各自的邏輯存儲(chǔ)設(shè)備;
邏輯存儲(chǔ)設(shè)備接收到應(yīng)用針對(duì)操作系統(tǒng)的系統(tǒng)文件的訪問(wèn)請(qǐng)求后,對(duì)該訪問(wèn)請(qǐng)求涉及的操作系統(tǒng)的系統(tǒng)文件進(jìn)行完整性校驗(yàn);
當(dāng)所述完整性校驗(yàn)結(jié)果表明該操作系統(tǒng)的系統(tǒng)文件完整時(shí),根據(jù)所述訪問(wèn)請(qǐng)求進(jìn)行操作。
本發(fā)明的實(shí)施例根據(jù)另一個(gè)方面,還提供了一種多操作系統(tǒng)的系統(tǒng)文件訪問(wèn)裝置,包括:內(nèi)核和兩個(gè)以上操作系統(tǒng);
所述內(nèi)核包括:
邏輯存儲(chǔ)設(shè)備創(chuàng)建模塊,用于創(chuàng)建所述兩個(gè)以上操作系統(tǒng)各自的邏輯存儲(chǔ)設(shè)備;
邏輯存儲(chǔ)設(shè)備,用于接收到針對(duì)操作系統(tǒng)的訪問(wèn)請(qǐng)求后,對(duì)該訪問(wèn)請(qǐng)求涉及的操作系統(tǒng)的系統(tǒng)文件進(jìn)行完整性校驗(yàn);當(dāng)所述完整性校驗(yàn)結(jié)果表明該操作系統(tǒng)的系統(tǒng)文件完整時(shí),根據(jù)所述訪問(wèn)請(qǐng)求進(jìn)行操作。
本發(fā)明實(shí)施例中,為每個(gè)操作系統(tǒng)創(chuàng)建了對(duì)應(yīng)的邏輯存儲(chǔ)設(shè)備;在啟動(dòng)操作系統(tǒng)之后,邏輯存儲(chǔ)設(shè)備接收到應(yīng)用針對(duì)操作系統(tǒng)的系統(tǒng)文件的訪問(wèn)請(qǐng)求后,對(duì)應(yīng)用待訪問(wèn)的系統(tǒng)文件所屬操作系統(tǒng)的所有系統(tǒng)文件進(jìn)行完整性校驗(yàn);完整性校驗(yàn)結(jié)果為通過(guò)時(shí),表明該操作系統(tǒng)的系統(tǒng)文件完整,未被惡意程序篡改或附著,是安全的;因此,根據(jù)訪問(wèn)請(qǐng)求進(jìn)行操作;可以提升操作系統(tǒng)的安全性,進(jìn)而提升在操作系統(tǒng)基礎(chǔ)上運(yùn)行的各種應(yīng)用的安全性,可以大大降低操作系統(tǒng)的服務(wù)或應(yīng)用涉及的數(shù)據(jù)泄露的幾率,從而提升用戶的數(shù)據(jù)的安全性,提升用戶的體驗(yàn)。
本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。
附圖說(shuō)明
本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1為本發(fā)明實(shí)施例的終端設(shè)備的內(nèi)部結(jié)構(gòu)的框架示意圖;
圖2為本發(fā)明實(shí)施例的一個(gè)操作系統(tǒng)的摘要值樹(shù)的一個(gè)實(shí)例的示意圖;
圖3a、圖3b分別為本發(fā)明實(shí)施例的兩個(gè)以上操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的兩種創(chuàng)建方法的流程示意圖;
圖4a、圖4b分別為本發(fā)明實(shí)施例的基于邏輯存儲(chǔ)設(shè)備的多操作系統(tǒng)的兩種啟動(dòng)方法的流程示意圖;
圖5為本發(fā)明實(shí)施例的多操作系統(tǒng)的系統(tǒng)文件訪問(wèn)裝置的內(nèi)部結(jié)構(gòu)的框架示意圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個(gè)”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,本發(fā)明的說(shuō)明書(shū)中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時(shí),它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無(wú)線連接或無(wú)線耦接。這里使用的措辭“和/或”包括一個(gè)或更多個(gè)相關(guān)聯(lián)的列出項(xiàng)的全部或任一單元和全部組合。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(yǔ)(包括技術(shù)術(shù)語(yǔ)和科學(xué)術(shù)語(yǔ)),具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語(yǔ),應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣被特定定義,否則不會(huì)用理想化或過(guò)于正式的含義來(lái)解釋。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,這里所使用的“終端”、“終端設(shè)備”既包括無(wú)線信號(hào)接收器的設(shè)備,其僅具備無(wú)發(fā)射能力的無(wú)線信號(hào)接收器的設(shè)備,又包括接收和發(fā)射硬件的設(shè)備,其具有能夠在雙向通信鏈路上,進(jìn)行雙向通信的接收和發(fā)射硬件的設(shè)備。這種設(shè)備可以包括:蜂窩或其他通信設(shè)備,其具有單線路顯示器或多線路顯示器或沒(méi)有多線路顯示器的蜂窩或其他通信設(shè)備;PCS(Personal Communications Service,個(gè)人通信系統(tǒng)),其可以組合語(yǔ)音、數(shù)據(jù)處理、傳真和/或數(shù)據(jù)通信能力;PDA(Personal Digital Assistant,個(gè)人數(shù)字助理),其可以包括射頻接收器、尋呼機(jī)、互聯(lián)網(wǎng)/內(nèi)聯(lián)網(wǎng)訪問(wèn)、網(wǎng)絡(luò)瀏覽器、記事本、日歷和/或GPS(Global Positioning System,全球定位系統(tǒng))接收器;常規(guī)膝上型和/或掌上型計(jì)算機(jī)或其他設(shè)備,其具有和/或包括射頻接收器的常規(guī)膝上型和/或掌上型計(jì)算機(jī)或其他設(shè)備。這里所使用的“終端”、“終端設(shè)備”可以是便攜式、可運(yùn)輸、安裝在交通工具(航空、海運(yùn)和/或陸地)中的,或者適合于和/或配置為在本地運(yùn)行,和/或以分布形式,運(yùn)行在地球和/或空間的任何其他位置運(yùn)行。這里所使用的“終端”、“終端設(shè)備”還可以是通信終端、上網(wǎng)終端、音樂(lè)/視頻播放終端,例如可以是PDA、MID(Mobile Internet Device,移動(dòng)互聯(lián)網(wǎng)設(shè)備)和/或具有音樂(lè)/視頻播放功能的移動(dòng)電話,也可以是智能電視、機(jī)頂盒等設(shè)備。
本發(fā)明實(shí)施例中,內(nèi)核創(chuàng)建兩個(gè)以上操作系統(tǒng)各自的邏輯存儲(chǔ)設(shè)備;邏輯存儲(chǔ)設(shè)備接收到應(yīng)用針對(duì)操作系統(tǒng)的系統(tǒng)文件的訪問(wèn)請(qǐng)求后,對(duì)該訪問(wèn)請(qǐng)求涉及的操作系統(tǒng)的系統(tǒng)文件進(jìn)行完整性校驗(yàn);當(dāng)完整性校驗(yàn)結(jié)果表明該操作系統(tǒng)的系統(tǒng)文件完整時(shí),根據(jù)訪問(wèn)請(qǐng)求進(jìn)行操作。可見(jiàn),本發(fā)明實(shí)施例中,為每個(gè)操作系統(tǒng)創(chuàng)建了對(duì)應(yīng)的邏輯存儲(chǔ)設(shè)備;在啟動(dòng)操作系統(tǒng)之后,邏輯存儲(chǔ)設(shè)備對(duì)應(yīng)用待訪問(wèn)的系統(tǒng)文件所屬操作系統(tǒng)的所有系統(tǒng)文件進(jìn)行完整性校驗(yàn);完整性校驗(yàn)結(jié)果為通過(guò)時(shí),表明該操作系統(tǒng)的系統(tǒng)文件完整,未被惡意程序篡改或附著,是安全的;因此,根據(jù)訪問(wèn)請(qǐng)求進(jìn)行操作;可以提升操作系統(tǒng)的安全性,進(jìn)而提升在操作系統(tǒng)基礎(chǔ)上運(yùn)行的各種應(yīng)用的安全性,可以大大降低操作系統(tǒng)的服務(wù)或應(yīng)用涉及的數(shù)據(jù)泄露的幾率,從而提升用戶的數(shù)據(jù)的安全性,提升用戶的體驗(yàn)。
下面結(jié)合附圖具體介紹本發(fā)明實(shí)施例的技術(shù)方案。
本發(fā)明實(shí)施例的終端設(shè)備的內(nèi)部結(jié)構(gòu)的框架示意圖如圖1所示,包括:內(nèi)核和兩個(gè)以上操作系統(tǒng)。
其中,兩個(gè)以上操作系統(tǒng)包括第一操作系統(tǒng)、第二操作系統(tǒng)、……、第N操作系統(tǒng)。N為2以上的正整數(shù)。
本發(fā)明實(shí)施例的操作系統(tǒng)包括容器系統(tǒng)。
較佳地,本發(fā)明實(shí)施例中的操作系統(tǒng),可以是設(shè)置在以Linux container(容器)虛擬化技術(shù)創(chuàng)建的容器中的操作系統(tǒng)。操作系統(tǒng)可以為傳統(tǒng)意義上的Linux操作系統(tǒng)或Unix操作系統(tǒng),也可以是基于Linux操作系統(tǒng)衍生出來(lái)的Android系統(tǒng)或Ubuntu系統(tǒng)等,還可以為以Windows平臺(tái)為基礎(chǔ)的windows系統(tǒng)等等。實(shí)際上,本發(fā)明中的操作系統(tǒng)不限于前述例舉的操作系統(tǒng),可以涵蓋所有能夠在容器中運(yùn)行的操作系統(tǒng)。為便于描述,下面以Android系統(tǒng)作為操作系統(tǒng)為例闡述本發(fā)明的技術(shù)方案。
較佳地,本發(fā)明實(shí)施例的操作系統(tǒng)包括:主控系統(tǒng)。
本發(fā)明實(shí)施例的終端設(shè)備中,還包括主控系統(tǒng),該主控系統(tǒng)可以是上述傳統(tǒng)的操作系統(tǒng),也可以是對(duì)傳統(tǒng)的操作系統(tǒng)進(jìn)行改進(jìn)得到的操作系統(tǒng)。內(nèi)核為kernel,或者在kernel基礎(chǔ)上增加功能模塊之后得到的增強(qiáng)型kernel。較佳地,主控系統(tǒng)可以包括內(nèi)核;上述操作系統(tǒng)通過(guò)主控系統(tǒng)調(diào)用或訪問(wèn)內(nèi)核以實(shí)現(xiàn)各種功能。或者,操作系統(tǒng)和主控系統(tǒng)共享內(nèi)核;本發(fā)明的操作系統(tǒng)和主控系統(tǒng)包含現(xiàn)有操作系統(tǒng)中kernel之外的部分,例如框架層和應(yīng)用層的部分;操作系統(tǒng)和主控系統(tǒng)都可以獨(dú)立調(diào)用或訪問(wèn)內(nèi)核以實(shí)現(xiàn)各種功能。
主控系統(tǒng)主要用于對(duì)多個(gè)操作系統(tǒng)進(jìn)行前后臺(tái)管理,與各操作系統(tǒng)進(jìn)行交互等。較佳地,主控系統(tǒng)可以通過(guò)容器通道與操作系統(tǒng)進(jìn)行通信。同理,操作系統(tǒng)之間可以通過(guò)容器通道進(jìn)行通信。進(jìn)一步,容器通道可以是socket(套接字)通道。
本發(fā)明實(shí)施例的終端設(shè)備中安裝或升級(jí)的操作系統(tǒng),都是由服務(wù)方提供的。
服務(wù)方服務(wù)器中存儲(chǔ)有用于終端設(shè)備的多個(gè)版本的操作系統(tǒng)。每個(gè)版本的操作系統(tǒng)在服務(wù)方服務(wù)器中的存儲(chǔ)方式,與該版本的操作系統(tǒng)安裝到終端設(shè)備中后的存儲(chǔ)方式相一致。
具體地,服務(wù)方服務(wù)器中的物理存儲(chǔ)設(shè)備按照終端設(shè)備中的物理存儲(chǔ)設(shè)備的劃分方式,劃分出多個(gè)物理塊存儲(chǔ)設(shè)備Block;服務(wù)方服務(wù)器中每個(gè)物理塊存儲(chǔ)設(shè)備的容量大小與終端設(shè)備中的物理塊存儲(chǔ)設(shè)備的容量大小相一致。
每個(gè)版本的操作系統(tǒng)分塊存儲(chǔ)于服務(wù)方服務(wù)器的多個(gè)物理塊存儲(chǔ)設(shè)備中。每個(gè)版本的操作系統(tǒng)在服務(wù)方服務(wù)器中所占用的物理塊存儲(chǔ)設(shè)備的數(shù)量,與該版本的操作系統(tǒng)安裝或升級(jí)到終端設(shè)備中所占用的物理塊存儲(chǔ)設(shè)備的數(shù)量相一致。每個(gè)版本的操作系統(tǒng)在服務(wù)方服務(wù)器的多個(gè)物理塊存儲(chǔ)設(shè)備中分別存儲(chǔ)的系統(tǒng)文件,與該版本的操作系統(tǒng)在終端設(shè)備的多個(gè)物理塊存儲(chǔ)設(shè)備中分別存儲(chǔ)的系統(tǒng)文件分別相一致。
服務(wù)方服務(wù)器確定出每個(gè)操作系統(tǒng)所分塊存儲(chǔ)的系統(tǒng)文件的摘要值樹(shù),作為每個(gè)操作系統(tǒng)的摘要值樹(shù)。
具體地,服務(wù)方服務(wù)器對(duì)于存儲(chǔ)在其中的每個(gè)操作系統(tǒng),根據(jù)預(yù)設(shè)的消息摘要算法,確定出該操作系統(tǒng)分塊存儲(chǔ)于每個(gè)物理塊存儲(chǔ)設(shè)備中的系統(tǒng)文件的摘要值。較佳地,根據(jù)哈希算法,計(jì)算出一個(gè)操作系統(tǒng)存儲(chǔ)于每個(gè)物理塊存儲(chǔ)設(shè)備中的系統(tǒng)文件的哈希值作為摘要值。
以一個(gè)操作系統(tǒng)存儲(chǔ)在多個(gè)物理塊存儲(chǔ)設(shè)備中的系統(tǒng)文件的摘要值,作為多個(gè)葉子節(jié)點(diǎn);基于多個(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)的摘要值,構(gòu)建該操作系統(tǒng)的摘要值樹(shù)。
確定出該操作系統(tǒng)的多個(gè)葉子節(jié)點(diǎn)中每組葉子節(jié)點(diǎn)的摘要值,作為該組葉子節(jié)點(diǎn)共同的父親節(jié)點(diǎn);進(jìn)而確定出每組父親節(jié)點(diǎn)的摘要值作為祖父節(jié)點(diǎn);同理根據(jù)每組在下一層的節(jié)點(diǎn)對(duì)應(yīng)的摘要值確定出摘要值作為在上一次的節(jié)點(diǎn),直到確定出根節(jié)點(diǎn)。
圖2示出了一個(gè)操作系統(tǒng)的摘要值樹(shù)的一個(gè)實(shí)例。該操作系統(tǒng)的系統(tǒng)文件分塊存儲(chǔ)于物理塊存儲(chǔ)設(shè)備(Block)0至物理塊存儲(chǔ)設(shè)備(Block)32767中。
從下至上第一層(即最下層)左起第一個(gè)Block0是葉子節(jié)點(diǎn),表示操作系統(tǒng)存儲(chǔ)在物理塊存儲(chǔ)設(shè)備(Block)0中系統(tǒng)文件的哈希值。一旦物理塊存儲(chǔ)設(shè)備(Block)0中任一系統(tǒng)文件發(fā)生變化,會(huì)引起葉子節(jié)點(diǎn)層級(jí)的Block0所表示的哈希值發(fā)生對(duì)應(yīng)變化。
從下至上第二層左起第一個(gè)Hash(哈希)0,0是Block0至Block127這組葉子節(jié)點(diǎn)的父親節(jié)點(diǎn),表示對(duì)Block0至Block127這組哈希值進(jìn)行摘要值計(jì)算后得到的父親節(jié)點(diǎn)層級(jí)的哈希值。一旦物理塊存儲(chǔ)設(shè)備(Block)0至物理塊存儲(chǔ)設(shè)備(Block)127中任一系統(tǒng)文件發(fā)生變化,會(huì)引起父親節(jié)點(diǎn)層級(jí)的Hash0,0所表示的哈希值發(fā)生對(duì)應(yīng)變化。
從下至上第三層左起第一個(gè)Hash0是Hash0,0至hash0,127這組父親節(jié)點(diǎn)的父親節(jié)點(diǎn),即葉子節(jié)點(diǎn)Block0至Block16383的祖父節(jié)點(diǎn),表示對(duì)Hash0,0至hash0,127這組哈希值進(jìn)行摘要值計(jì)算后得到的祖父節(jié)點(diǎn)層級(jí)的哈希值。一旦物理塊存儲(chǔ)設(shè)備(Block)0至物理塊存儲(chǔ)設(shè)備(Block)16383中任一系統(tǒng)文件發(fā)生變化,會(huì)引起祖父節(jié)點(diǎn)層級(jí)的Hash0所表示的哈希值發(fā)生對(duì)應(yīng)變化。
從下至上第三層(即最上層)的Root Hash是Hash0至Hash1的父親節(jié)點(diǎn),即葉子節(jié)點(diǎn)Block0至Block32767的根節(jié)點(diǎn),表示對(duì)Hash0至hash1這組哈希值進(jìn)行摘要值計(jì)算后得到的根節(jié)點(diǎn)層級(jí)的哈希值。一旦物理塊存儲(chǔ)設(shè)備(Block)0至物理塊存儲(chǔ)設(shè)備(Block)32767中任一系統(tǒng)文件發(fā)生變化,會(huì)引起根節(jié)點(diǎn)層級(jí)的Root Hash所表示的哈希值發(fā)生對(duì)應(yīng)變化。
可以理解,當(dāng)一個(gè)操作系統(tǒng)的摘要值樹(shù)中任一層級(jí)(例如葉子節(jié)點(diǎn)層級(jí)、父親節(jié)點(diǎn)層級(jí)、祖父節(jié)點(diǎn)層級(jí)或根節(jié)點(diǎn)層級(jí))的所有節(jié)點(diǎn)的摘要值都保持不變,則可以認(rèn)為該操作系統(tǒng)的系統(tǒng)文件沒(méi)有發(fā)生變化。相反,當(dāng)一個(gè)操作系統(tǒng)的摘要值樹(shù)中任一節(jié)點(diǎn)的摘要值發(fā)生變化時(shí),說(shuō)明該操作系統(tǒng)的系統(tǒng)文件發(fā)生了變化。
服務(wù)方服務(wù)器確定出每個(gè)操作系統(tǒng)的摘要值樹(shù)后,將該操作系統(tǒng)的系統(tǒng)文件以及摘要值樹(shù)打包成該操作系統(tǒng)的安裝包,供終端設(shè)備下載安裝或升級(jí)。
較佳地,在每個(gè)操作系統(tǒng)的安全包中增加記載有摘要值樹(shù)對(duì)應(yīng)的消息摘要算法或算法標(biāo)識(shí)的文件。
本發(fā)明實(shí)施例中,終端設(shè)備從服務(wù)方服務(wù)器獲取到一個(gè)操作系統(tǒng)的安裝包后,安裝或升級(jí)該操作系統(tǒng)的系統(tǒng)文件,并從該安裝包中解析出該操作系統(tǒng)所分塊存的系統(tǒng)文件的摘要值樹(shù)、以及對(duì)應(yīng)的消息摘要算法或算法標(biāo)識(shí)。
較佳地,終端設(shè)備中安裝有多個(gè)操作系統(tǒng),并對(duì)應(yīng)存儲(chǔ)多個(gè)操作系統(tǒng)的摘要值樹(shù)、以及對(duì)應(yīng)的消息摘要算法或算法標(biāo)識(shí)。
較佳地,終端設(shè)備中存儲(chǔ)操作系統(tǒng)的系統(tǒng)文件的物理塊存儲(chǔ)設(shè)備,僅用于存儲(chǔ)系統(tǒng)文件,拒絕存儲(chǔ)其它文件。進(jìn)一步,存儲(chǔ)操作系統(tǒng)的系統(tǒng)文件的物理塊存儲(chǔ)設(shè)備屬于只讀存儲(chǔ)設(shè)備。
本發(fā)明的發(fā)明人考慮到,假設(shè)將操作系統(tǒng)的摘要值樹(shù)存儲(chǔ)在用以存儲(chǔ)該操作系統(tǒng)系統(tǒng)文件的物理存儲(chǔ)設(shè)備中,則很可能會(huì)在實(shí)際上改變?cè)摬僮飨到y(tǒng)的系統(tǒng)文件,引起該操作系統(tǒng)的摘要值的變化,導(dǎo)致存儲(chǔ)的摘要值樹(shù)與實(shí)際的摘要值樹(shù)不符,導(dǎo)致后續(xù)的摘要值完整性校驗(yàn)失敗。
因此,終端設(shè)備在將每個(gè)操作系統(tǒng)安裝或升級(jí)到該終端設(shè)備中時(shí),將從安裝包中解析出的(服務(wù)方服務(wù)器預(yù)先確定出的)每個(gè)操作系統(tǒng)所分塊存儲(chǔ)的系統(tǒng)文件的摘要值樹(shù),存儲(chǔ)到該終端設(shè)備中用以存儲(chǔ)操作系統(tǒng)系統(tǒng)文件的所有物理存儲(chǔ)設(shè)備之外的物理存儲(chǔ)設(shè)備中。從而保證存儲(chǔ)一個(gè)操作系統(tǒng)的摘要值樹(shù),與根據(jù)該操作系統(tǒng)的安裝包安裝或升級(jí)的系統(tǒng)文件的實(shí)際的摘要值樹(shù)相一致。
本發(fā)明實(shí)施例中多操作系統(tǒng)的系統(tǒng)文件訪問(wèn)方法,包括:兩個(gè)以上操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的創(chuàng)建方法、以及基于邏輯存儲(chǔ)設(shè)備的多操作系統(tǒng)的系統(tǒng)文件訪問(wèn)方法。
在啟動(dòng)操作系統(tǒng)之后,兩個(gè)以上操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的一種創(chuàng)建方法的流程示意圖如圖3a所示,包括下述步驟:
S301:確定出每個(gè)操作系統(tǒng)對(duì)應(yīng)的物理存儲(chǔ)設(shè)備、物理塊存儲(chǔ)設(shè)備與邏輯塊存儲(chǔ)設(shè)備之間的映射關(guān)系。
每個(gè)操作系統(tǒng)中的服務(wù)或應(yīng)用,確定出分配給該操作系統(tǒng)、用以存儲(chǔ)該操作系統(tǒng)的系統(tǒng)文件的物理存儲(chǔ)設(shè)備。
確定出該操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的參數(shù)、以及物理存儲(chǔ)設(shè)備與邏輯存儲(chǔ)設(shè)備之間的映射關(guān)系。邏輯存設(shè)備的參數(shù)包括:邏輯存儲(chǔ)設(shè)備的標(biāo)識(shí)、起始地址、和終止地址等。
較佳地,可以利用Device-Mapper(設(shè)備映射)機(jī)制確定出物理存儲(chǔ)設(shè)備與邏輯存儲(chǔ)設(shè)備之間的映射關(guān)系。本發(fā)明實(shí)施例中的邏輯存儲(chǔ)設(shè)備可以具體為dm-verity(設(shè)備映射驗(yàn)證)設(shè)備,可以實(shí)現(xiàn)對(duì)相應(yīng)的操作系統(tǒng)的系統(tǒng)文件進(jìn)行完整性校驗(yàn)的功能。
例如,操作系統(tǒng)在fs_mgr中初始化結(jié)構(gòu)體(struct)dm_ioctl*io,然后調(diào)用ioctl(input output control,輸如輸出控制)創(chuàng)建dm(device-mapper,設(shè)備映射)設(shè)備的參數(shù)。由于傳統(tǒng)的Device-Mapper機(jī)制僅支持單操作系統(tǒng),創(chuàng)建邏輯存儲(chǔ)設(shè)備的過(guò)程中,操作系統(tǒng)傳遞給內(nèi)核的路徑參數(shù)都是system(系統(tǒng)),內(nèi)核會(huì)根據(jù)io(input output,輸入輸出)->name參數(shù)創(chuàng)建dm設(shè)備,name參數(shù)的值是字符串“system”,單一的system無(wú)法對(duì)不同的操作系統(tǒng)進(jìn)行區(qū)分,容易造成沖突。因此,本發(fā)明實(shí)施例中,添加了dm_rename函數(shù),在內(nèi)核創(chuàng)建dm設(shè)備之前調(diào)用,作用是將io->name重命名,方法是將操作系統(tǒng)的標(biāo)識(shí)(例如名稱)與dm設(shè)備的標(biāo)識(shí)(例如名稱)相組合。這樣就不會(huì)產(chǎn)生沖突了。
S302:基于每個(gè)操作系統(tǒng)對(duì)應(yīng)的物理存儲(chǔ)設(shè)備與邏輯存儲(chǔ)設(shè)備之間的映射關(guān)系,生成該操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的創(chuàng)建請(qǐng)求進(jìn)行發(fā)送。
將上述步驟中確定出的每個(gè)操作系統(tǒng)對(duì)應(yīng)的物理存儲(chǔ)設(shè)備的路徑、物理存儲(chǔ)設(shè)備與邏輯存儲(chǔ)設(shè)備之間的映射關(guān)系、邏輯存儲(chǔ)設(shè)備的參數(shù),攜帶于邏輯存儲(chǔ)設(shè)備的創(chuàng)建請(qǐng)求中后,向內(nèi)核進(jìn)行發(fā)送。
較佳地,調(diào)用內(nèi)核提供的Device-Mapper機(jī)制相關(guān)的API(Application Programming Interface,應(yīng)用程序編程接口),將邏輯存儲(chǔ)設(shè)備的創(chuàng)建請(qǐng)求通過(guò)該API向內(nèi)核發(fā)送。
S303:內(nèi)核根據(jù)接收的每個(gè)操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的創(chuàng)建請(qǐng)求,在內(nèi)核中創(chuàng)建該操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備。
內(nèi)核接收到操作系統(tǒng)中的服務(wù)或應(yīng)用發(fā)送的邏輯存儲(chǔ)設(shè)備的創(chuàng)建請(qǐng)求后,根據(jù)該創(chuàng)建請(qǐng)求中的邏輯存儲(chǔ)設(shè)備的參數(shù),創(chuàng)建邏輯存儲(chǔ)設(shè)備,為邏輯存儲(chǔ)設(shè)備分配路徑。
根據(jù)該創(chuàng)建請(qǐng)求中的物理存儲(chǔ)設(shè)備與邏輯存儲(chǔ)設(shè)備的映射關(guān)系,建立該邏輯存儲(chǔ)設(shè)備的路徑,與該創(chuàng)建請(qǐng)求中的物理存儲(chǔ)設(shè)備的路徑之間的映射關(guān)系。
較佳地,如圖3b所示,兩個(gè)以上操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的另一種創(chuàng)建方法,在上述步驟S301至S303的基礎(chǔ)上,還包括下述步驟:
S304:確定出該操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的標(biāo)識(shí)。
內(nèi)核根據(jù)預(yù)設(shè)的多個(gè)操作系統(tǒng)與邏輯存儲(chǔ)設(shè)備的多個(gè)標(biāo)識(shí)范圍的對(duì)應(yīng)關(guān)系,在該操作系統(tǒng)對(duì)應(yīng)的邏輯存儲(chǔ)設(shè)備的標(biāo)識(shí)范圍內(nèi),確定出該操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的標(biāo)識(shí)。
具體地,內(nèi)核為每個(gè)邏輯存儲(chǔ)設(shè)備分配作為標(biāo)識(shí)的編號(hào);編號(hào)具體可以是ID。終端設(shè)備中的許多系統(tǒng)資源都用整數(shù)ID來(lái)標(biāo)識(shí),如進(jìn)程ID、文件描述符ID、IPC ID等;具體的系統(tǒng)資源的信息通常存放在對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)中(如進(jìn)程信息存放在task_struct中、ipc信息存放在ipc_perm中)。
邏輯存儲(chǔ)設(shè)備包括其數(shù)據(jù)結(jié)構(gòu),可以采用多種方法(機(jī)制)關(guān)聯(lián)ID與數(shù)據(jù)結(jié)構(gòu)。
較佳地,采用linux內(nèi)核的idr機(jī)制為作為邏輯存儲(chǔ)設(shè)備的device mapper設(shè)備分配ID(IDentification,標(biāo)識(shí))號(hào)。
下面簡(jiǎn)單介紹一下傳統(tǒng)的idr機(jī)制:idr是d radix(基數(shù))的縮寫(xiě)。idr主要用于建立id與指針(指向?qū)?yīng)的數(shù)據(jù)結(jié)構(gòu))之間的對(duì)應(yīng)關(guān)系。idr用類基數(shù)樹(shù)結(jié)構(gòu)來(lái)構(gòu)造一個(gè)稀疏數(shù)組,以id為索引找到對(duì)應(yīng)數(shù)組元素,進(jìn)而找到對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)指針。用到idr機(jī)制的主要有:IPC id(消息隊(duì)列id、信號(hào)量id、共享內(nèi)存id等),磁盤(pán)分區(qū)id等。
然而,本發(fā)明的發(fā)明人發(fā)現(xiàn),傳統(tǒng)的idr機(jī)制通常僅支持單操作系統(tǒng)。當(dāng)利用傳統(tǒng)的idr機(jī)制為兩個(gè)以上操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備分配ID時(shí),容易出現(xiàn)為不同操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備分配同一ID,而造成沖突的情況。
因此,本發(fā)明實(shí)施例中在傳統(tǒng)的idr機(jī)制基礎(chǔ)上,增加了dm_ns_minor函數(shù),在內(nèi)核中的dm.c調(diào)用idr_alloc申請(qǐng)邏輯存儲(chǔ)設(shè)備的ID之前調(diào)用該函數(shù);該函數(shù)的作用是,根據(jù)dm設(shè)備對(duì)應(yīng)的操作系統(tǒng),對(duì)dm設(shè)備的ID限定范圍,以使得不同操作系統(tǒng)之間的dm設(shè)備的ID。
例如,第一、二、三操作系統(tǒng)對(duì)應(yīng)的邏輯存儲(chǔ)設(shè)備的ID范圍分別為0-31、32-63、64-95。第一操作系統(tǒng)具體可以是主控系統(tǒng),例如host域系統(tǒng);第二操作系統(tǒng)具體可以是容器系統(tǒng),例如內(nèi)域容器系統(tǒng);第三操作系統(tǒng)具體可以是容器系統(tǒng),例如外域容器系統(tǒng)。其中,內(nèi)域容器操作系統(tǒng)是高安全系統(tǒng),具有較高的安全度,主要負(fù)責(zé)處理用戶的個(gè)人隱私數(shù)據(jù)及安全級(jí)別較高的數(shù)據(jù)(例如金融數(shù)據(jù)操作);外域容器系統(tǒng)是開(kāi)放系統(tǒng),主要用于用戶安全級(jí)別較低的數(shù)據(jù)處理,滿足用戶生活?yuàn)蕵?lè)需要,可以直接將現(xiàn)有的操作系統(tǒng)(例如第三方操作系統(tǒng))作為外域容器系統(tǒng)。
更優(yōu)的,根據(jù)操作系統(tǒng)的編號(hào)和邏輯存儲(chǔ)設(shè)備的編號(hào),對(duì)每個(gè)操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的編號(hào)進(jìn)行稀疏化,以進(jìn)一步降低不同操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的編號(hào)相沖突的幾率。
在每個(gè)容器系統(tǒng)的容器配置文件中增加了可訪問(wèn)的邏輯存設(shè)備的ID的限制參數(shù),例如作為限制參數(shù)的device_block_allow(設(shè)備塊允許)=253:([0:31]<<$id),253表示第一操作系統(tǒng)的ID,0:31表示邏輯存儲(chǔ)設(shè)備本身的ID范圍,該參數(shù)表示將操作系統(tǒng)的ID與邏輯存儲(chǔ)設(shè)備的ID相乘后得到該操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的ID范圍。該限制參數(shù)會(huì)在lotusd(容器管理程序)創(chuàng)建容器是被傳輸?shù)絻?nèi)核。
S305:建立該操作系統(tǒng)的標(biāo)識(shí)與該操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系。
內(nèi)核對(duì)于每個(gè)操作系統(tǒng),建立上述步驟中確定出的該操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的標(biāo)識(shí),與該操作系統(tǒng)的標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系。
較佳地,容器系統(tǒng)的標(biāo)識(shí)與該容器系統(tǒng)的邏輯存儲(chǔ)設(shè)備的標(biāo)識(shí)相對(duì)應(yīng);主控系統(tǒng)的標(biāo)識(shí)與主控系統(tǒng)以及所有容器系統(tǒng)的邏輯存儲(chǔ)設(shè)備的標(biāo)識(shí)相對(duì)應(yīng)。
下面介紹本發(fā)明實(shí)施例中基于邏輯存儲(chǔ)設(shè)備的多操作系統(tǒng)的一種系統(tǒng)文件訪問(wèn)方法,該方法的流程示意圖如圖4所示,包括下述步驟:
S401:邏輯存儲(chǔ)設(shè)備接收到應(yīng)用針對(duì)操作系統(tǒng)的系統(tǒng)文件的訪問(wèn)請(qǐng)求后,對(duì)該訪問(wèn)請(qǐng)求涉及的操作系統(tǒng)的系統(tǒng)文件進(jìn)行完整性校驗(yàn)。
邏輯存儲(chǔ)設(shè)備確定出訪問(wèn)請(qǐng)求涉及的操作系統(tǒng)對(duì)應(yīng)的物理存儲(chǔ)設(shè)備中的多個(gè)物理塊存設(shè)備中系統(tǒng)文件的摘要值。其中,該操作系統(tǒng)的系統(tǒng)文件分塊存儲(chǔ)于該操作系統(tǒng)對(duì)應(yīng)的物理存儲(chǔ)設(shè)備中的多個(gè)物理塊存設(shè)備中;
較佳地,邏輯存儲(chǔ)設(shè)備對(duì)于訪問(wèn)請(qǐng)求涉及的操作系統(tǒng),將確定出的該操作系統(tǒng)的多個(gè)物理塊存儲(chǔ)設(shè)備中系統(tǒng)文件的摘要值,作為多個(gè)葉子節(jié)點(diǎn),構(gòu)建該操作系統(tǒng)的摘要值樹(shù)。
具體地,邏輯存儲(chǔ)設(shè)備對(duì)于訪問(wèn)請(qǐng)求涉及的操作系統(tǒng),確定出該操作系統(tǒng)的多個(gè)葉子節(jié)點(diǎn)中每組葉子節(jié)點(diǎn)的摘要值,作為該組葉子節(jié)點(diǎn)共同的父親節(jié)點(diǎn);進(jìn)而確定出每組父親節(jié)點(diǎn)的摘要值作為祖父節(jié)點(diǎn);同理根據(jù)每組在下一層的節(jié)點(diǎn)對(duì)應(yīng)的摘要值確定出摘要值作為在上一次的節(jié)點(diǎn),直到確定出根節(jié)點(diǎn)。
例如,如圖2所示的訪問(wèn)請(qǐng)求涉及的操作系統(tǒng)的摘要值樹(shù)的一個(gè)實(shí)例。該操作系統(tǒng)的系統(tǒng)文件分塊存儲(chǔ)于物理塊存儲(chǔ)設(shè)備(Block)0至物理塊存儲(chǔ)設(shè)備(Block)32767中。
從下至上第一層(即最下層)左起第一個(gè)Block0是葉子節(jié)點(diǎn),表示操作系統(tǒng)存儲(chǔ)在物理塊存儲(chǔ)設(shè)備(Block)0中系統(tǒng)文件的哈希值。一旦物理塊存儲(chǔ)設(shè)備(Block)0中任一系統(tǒng)文件發(fā)生變化,會(huì)引起葉子節(jié)點(diǎn)層級(jí)的Block0所表示的哈希值發(fā)生對(duì)應(yīng)變化。
從下至上第二層左起第一個(gè)Hash(哈希)0,0是Block0至Block127這組葉子節(jié)點(diǎn)的父親節(jié)點(diǎn),表示對(duì)Block0至Block127這組哈希值進(jìn)行摘要值計(jì)算后得到的父親節(jié)點(diǎn)層級(jí)的哈希值。一旦物理塊存儲(chǔ)設(shè)備(Block)0至物理塊存儲(chǔ)設(shè)備(Block)127中任一系統(tǒng)文件發(fā)生變化,會(huì)引起父親節(jié)點(diǎn)層級(jí)的Hash0,0所表示的哈希值發(fā)生對(duì)應(yīng)變化。
從下至上第三層左起第一個(gè)Hash0是Hash0,0至hash0,127這組父親節(jié)點(diǎn)的父親節(jié)點(diǎn),即葉子節(jié)點(diǎn)Block0至Block16383的祖父節(jié)點(diǎn),表示對(duì)Hash0,0至hash0,127這組哈希值進(jìn)行摘要值計(jì)算后得到的祖父節(jié)點(diǎn)層級(jí)的哈希值。一旦物理塊存儲(chǔ)設(shè)備(Block)0至物理塊存儲(chǔ)設(shè)備(Block)16383中任一系統(tǒng)文件發(fā)生變化,會(huì)引起祖父節(jié)點(diǎn)層級(jí)的Hash0所表示的哈希值發(fā)生對(duì)應(yīng)變化。
從下至上第三層(即最上層)的Root Hash是Hash0至Hash1的父親節(jié)點(diǎn),即葉子節(jié)點(diǎn)Block0至Block32767的根節(jié)點(diǎn),表示對(duì)Hash0至hash1這組哈希值進(jìn)行摘要值計(jì)算后得到的根節(jié)點(diǎn)層級(jí)的哈希值。一旦物理塊存儲(chǔ)設(shè)備(Block)0至物理塊存儲(chǔ)設(shè)備(Block)32767中任一系統(tǒng)文件發(fā)生變化,會(huì)引起根節(jié)點(diǎn)層級(jí)的Root Hash所表示的哈希值發(fā)生對(duì)應(yīng)變化。
邏輯存儲(chǔ)設(shè)備根據(jù)確定出的該操作系統(tǒng)的多個(gè)物理塊存儲(chǔ)設(shè)備中系統(tǒng)文件的摘要值,對(duì)該操作系統(tǒng)的系統(tǒng)文件進(jìn)行完整性校驗(yàn)。
較佳地,根據(jù)預(yù)存的多個(gè)操作系統(tǒng)的摘要值樹(shù),對(duì)所構(gòu)建的該操作系統(tǒng)的摘要值樹(shù)進(jìn)行完整性校驗(yàn)。
具體地,邏輯存儲(chǔ)設(shè)備對(duì)于訪問(wèn)請(qǐng)求涉及的操作系統(tǒng),從預(yù)存的多個(gè)操作系統(tǒng)的摘要值樹(shù)中,確定出預(yù)存的該操作系統(tǒng)的摘要值樹(shù);將預(yù)存的該操作系統(tǒng)的摘要值樹(shù),與所構(gòu)建的該操作系統(tǒng)的摘要值樹(shù)進(jìn)行比較。預(yù)存的每個(gè)操作系統(tǒng)的摘要樹(shù),具體為該操作系統(tǒng)所分塊存儲(chǔ)的系統(tǒng)文件的摘要值樹(shù)。
進(jìn)一步,根據(jù)預(yù)存的多個(gè)操作系統(tǒng)的摘要值樹(shù),對(duì)所構(gòu)建的該操作系統(tǒng)的摘要值樹(shù)中任一層級(jí)所有節(jié)點(diǎn)的摘要值進(jìn)行完整性校驗(yàn)。
較佳地,根據(jù)預(yù)存的每個(gè)操作系統(tǒng)所分塊存儲(chǔ)的系統(tǒng)文件的摘要值樹(shù),對(duì)所構(gòu)建的該操作系統(tǒng)的摘要值樹(shù)中任一層級(jí)所有節(jié)點(diǎn)的摘要值進(jìn)行完整性校驗(yàn)。
具體地,邏輯存儲(chǔ)設(shè)備對(duì)于訪問(wèn)請(qǐng)求涉及的操作系統(tǒng),將預(yù)存的該操作系統(tǒng)的摘要值樹(shù)中的各葉子節(jié)點(diǎn)對(duì)應(yīng)的摘要值,分別與所構(gòu)建的該操作系統(tǒng)的摘要值樹(shù)中的各葉子節(jié)點(diǎn)對(duì)應(yīng)的摘要值進(jìn)行比較。
或者,邏輯存儲(chǔ)設(shè)備對(duì)于訪問(wèn)請(qǐng)求涉及的操作系統(tǒng),將預(yù)存的該操作系統(tǒng)的摘要值樹(shù)中的各父親節(jié)點(diǎn)對(duì)應(yīng)的摘要值,分別與所構(gòu)建的該操作系統(tǒng)的摘要值樹(shù)中的各父親節(jié)點(diǎn)對(duì)應(yīng)的摘要值進(jìn)行比較。
或者,邏輯存儲(chǔ)設(shè)備對(duì)于訪問(wèn)請(qǐng)求涉及的操作系統(tǒng),將預(yù)存的該操作系統(tǒng)的摘要值樹(shù)中的各祖父節(jié)點(diǎn)對(duì)應(yīng)的摘要值,分別與所構(gòu)建的該操作系統(tǒng)的摘要值樹(shù)中的各祖父節(jié)點(diǎn)對(duì)應(yīng)的摘要值進(jìn)行比較。
或者,邏輯存儲(chǔ)設(shè)備對(duì)于訪問(wèn)請(qǐng)求涉及的操作系統(tǒng),將預(yù)存的該操作系統(tǒng)的摘要值樹(shù)中的根節(jié)點(diǎn)對(duì)應(yīng)的摘要值,分別與所構(gòu)建的該操作系統(tǒng)的摘要值樹(shù)中的根節(jié)點(diǎn)對(duì)應(yīng)的摘要值進(jìn)行比較。
或者,邏輯存儲(chǔ)設(shè)備對(duì)于訪問(wèn)請(qǐng)求涉及的操作系統(tǒng),將預(yù)存的該操作系統(tǒng)的摘要值樹(shù)中的任一其它祖先層級(jí)的所有節(jié)點(diǎn)對(duì)應(yīng)的摘要值,分別與所構(gòu)建的該操作系統(tǒng)的摘要值樹(shù)中的任一其它祖先層級(jí)的所有節(jié)點(diǎn)對(duì)應(yīng)的摘要值進(jìn)行比較。
可以理解,操作系統(tǒng)的摘要值樹(shù)中任一層級(jí)的所有節(jié)點(diǎn)的摘要值涵蓋了該操作系統(tǒng)的所有系統(tǒng)文件的摘要值。節(jié)點(diǎn)層級(jí)越接近根節(jié)點(diǎn),節(jié)點(diǎn)數(shù)量越少,需要比較的節(jié)點(diǎn)對(duì)應(yīng)的摘要值也越少,比較速度更快,效率更高,從而整個(gè)完整性校驗(yàn)的效率更高。
更優(yōu)的,邏輯存儲(chǔ)設(shè)備接收到訪問(wèn)請(qǐng)求后,邏輯存儲(chǔ)設(shè)備確定出訪問(wèn)請(qǐng)求涉及的系統(tǒng)文件所在的物理塊存儲(chǔ)設(shè)備;進(jìn)而確定出該物理塊存儲(chǔ)設(shè)備中的系統(tǒng)文件的摘要值;從預(yù)存的多個(gè)操作系統(tǒng)的摘要值樹(shù)中,確定出預(yù)存的訪問(wèn)請(qǐng)求涉及的系統(tǒng)文件所屬操作系統(tǒng)的摘要值樹(shù);根據(jù)預(yù)存的訪問(wèn)請(qǐng)求涉及的系統(tǒng)文件所屬操作系統(tǒng)的摘要值樹(shù),對(duì)確定出的物理塊存儲(chǔ)設(shè)備中的系統(tǒng)文件的摘要值進(jìn)行完整性校驗(yàn)。
具體地,從訪問(wèn)請(qǐng)求中解析出待訪問(wèn)的系統(tǒng)文件的標(biāo)識(shí)和存儲(chǔ)路徑;根據(jù)解析出的系統(tǒng)文件的存儲(chǔ)路徑,確定出解析出的系統(tǒng)文件所在的物理塊存儲(chǔ)設(shè)備;進(jìn)而確定出物理塊存儲(chǔ)設(shè)備中的系統(tǒng)文件的摘要值。
根據(jù)出解析出的系統(tǒng)文件的標(biāo)識(shí),確定出解析出的系統(tǒng)文件所屬的系統(tǒng)文件;從預(yù)存的多個(gè)操作系統(tǒng)的摘要值樹(shù)中,查找出訪問(wèn)請(qǐng)求涉及的系統(tǒng)文件所屬操作系統(tǒng)的摘要值樹(shù)。
從預(yù)存的訪問(wèn)請(qǐng)求涉及的系統(tǒng)文件所屬操作系統(tǒng)的摘要值樹(shù)中,查找出預(yù)存的該系統(tǒng)文件所在物理塊存儲(chǔ)設(shè)備中的系統(tǒng)文件的摘要值。
將預(yù)存的該系統(tǒng)文件所在物理塊存儲(chǔ)設(shè)備中的系統(tǒng)文件的摘要值,與確定出的系統(tǒng)文件所在的物理塊存儲(chǔ)設(shè)備中的系統(tǒng)文件的摘要值進(jìn)行比較。
S402:當(dāng)完整性校驗(yàn)結(jié)果表明該操作系統(tǒng)的系統(tǒng)文件完整時(shí),根據(jù)訪問(wèn)請(qǐng)求進(jìn)行操作。
邏輯存儲(chǔ)設(shè)備對(duì)于訪問(wèn)請(qǐng)求涉及的操作系統(tǒng),當(dāng)預(yù)存的該操作系統(tǒng)的摘要值樹(shù),與所構(gòu)建的該操作系統(tǒng)的摘要值樹(shù)的比較結(jié)果為完全一致時(shí),說(shuō)明所構(gòu)建的該操作系統(tǒng)的摘要值樹(shù)完整性校驗(yàn)成功,該操作系統(tǒng)的系統(tǒng)文件未被修改、數(shù)據(jù)完整,根據(jù)訪問(wèn)請(qǐng)求進(jìn)行操作;例如,當(dāng)訪問(wèn)請(qǐng)求為讀取請(qǐng)求時(shí),讀取相應(yīng)的系統(tǒng)文件向發(fā)送該訪問(wèn)請(qǐng)求的應(yīng)用返回。
較佳地,邏輯存儲(chǔ)設(shè)備對(duì)于訪問(wèn)請(qǐng)求涉及的操作系統(tǒng),當(dāng)預(yù)存的該操作系統(tǒng)的摘要值樹(shù)中任一層級(jí)所有節(jié)點(diǎn)對(duì)應(yīng)的摘要值,與所構(gòu)建的該操作系統(tǒng)的摘要值樹(shù)中同一層級(jí)所有節(jié)點(diǎn)對(duì)應(yīng)的摘要值的比較結(jié)果為完全一致時(shí),說(shuō)明所構(gòu)建的該操作系統(tǒng)的摘要值樹(shù)完整性校驗(yàn)成功,該操作系統(tǒng)的系統(tǒng)文件未被修改、數(shù)據(jù)完整,根據(jù)訪問(wèn)請(qǐng)求進(jìn)行操作。
更優(yōu)的,當(dāng)預(yù)存的該系統(tǒng)文件所在物理塊存儲(chǔ)設(shè)備中的系統(tǒng)文件的摘要值,與確定出的系統(tǒng)文件所在的物理塊存儲(chǔ)設(shè)備中的系統(tǒng)文件的摘要值之間的比較結(jié)果為一致時(shí),說(shuō)明訪問(wèn)請(qǐng)求所涉及的系統(tǒng)文件(即應(yīng)用所待訪問(wèn)的系統(tǒng)文件)的完整性校驗(yàn)成功,該系統(tǒng)文件未被修改、數(shù)據(jù)完整,根據(jù)訪問(wèn)請(qǐng)求進(jìn)行操作;例如,當(dāng)訪問(wèn)請(qǐng)求為讀取請(qǐng)求時(shí),讀取相應(yīng)的系統(tǒng)文件向發(fā)送該訪問(wèn)請(qǐng)求的應(yīng)用返回。
S403:當(dāng)完整性校驗(yàn)結(jié)果表明該操作系統(tǒng)的系統(tǒng)文件不完整時(shí),忽略訪問(wèn)請(qǐng)求。
邏輯存儲(chǔ)設(shè)備對(duì)于訪問(wèn)請(qǐng)求涉及的操作系統(tǒng),當(dāng)預(yù)存的該操作系統(tǒng)的摘要值樹(shù),與所構(gòu)建的該操作系統(tǒng)的摘要值樹(shù)的比較結(jié)果為不完全一致時(shí),說(shuō)明所構(gòu)建的該操作系統(tǒng)的摘要值樹(shù)完整性校驗(yàn)失敗,該操作系統(tǒng)的系統(tǒng)文件已被修改、數(shù)據(jù)不完整,忽略接收到的訪問(wèn)請(qǐng)求。
較佳地,邏輯存儲(chǔ)設(shè)備對(duì)于訪問(wèn)請(qǐng)求涉及的操作系統(tǒng),任一層級(jí)任一節(jié)點(diǎn)對(duì)應(yīng)的摘要值,與所構(gòu)建的該操作系統(tǒng)的摘要值樹(shù)中同一層級(jí)同一節(jié)點(diǎn)對(duì)應(yīng)的摘要值的比較結(jié)果為不一致時(shí),說(shuō)明所構(gòu)建的該操作系統(tǒng)的摘要值樹(shù)完整性校驗(yàn)失敗,該操作系統(tǒng)的系統(tǒng)文件已被修改、數(shù)據(jù)不完整,忽略接收到的訪問(wèn)請(qǐng)求。
更優(yōu)的,當(dāng)預(yù)存的該系統(tǒng)文件所在物理塊存儲(chǔ)設(shè)備中的系統(tǒng)文件的摘要值,與確定出的系統(tǒng)文件所在的物理塊存儲(chǔ)設(shè)備中的系統(tǒng)文件的摘要值之間的比較結(jié)果為不一致時(shí),說(shuō)明訪問(wèn)請(qǐng)求所涉及的系統(tǒng)文件(即應(yīng)用所待訪問(wèn)的系統(tǒng)文件)的完整性校驗(yàn)失敗,該系統(tǒng)文件已被修改、數(shù)據(jù)已不完整,忽略接收到的訪問(wèn)請(qǐng)求。
本發(fā)明實(shí)施例中基于邏輯存儲(chǔ)設(shè)備的多操作系統(tǒng)的另一種啟動(dòng)方法,該方法的流程示意圖如圖4b所示,包括下述步驟:
S411:邏輯存儲(chǔ)設(shè)備接收到應(yīng)用針對(duì)操作系統(tǒng)的系統(tǒng)文件的訪問(wèn)請(qǐng)求后,檢測(cè)訪問(wèn)請(qǐng)求涉及的操作系統(tǒng)與該邏輯存儲(chǔ)設(shè)備對(duì)應(yīng)的操作系統(tǒng)是否相一致;若是,則執(zhí)行下述步驟S412;否則拒絕完整性校驗(yàn)并忽略該訪問(wèn)請(qǐng)求。
較佳地,邏輯存儲(chǔ)設(shè)備接收到應(yīng)用針對(duì)操作系統(tǒng)的系統(tǒng)文件的訪問(wèn)請(qǐng)求后,檢測(cè)發(fā)送訪問(wèn)請(qǐng)求的應(yīng)用是否屬于訪問(wèn)請(qǐng)求涉及的系統(tǒng)文件所屬的操作系統(tǒng);若是,則繼續(xù)檢測(cè)訪問(wèn)請(qǐng)求涉及的操作系統(tǒng)與該邏輯存儲(chǔ)設(shè)備對(duì)應(yīng)的操作系統(tǒng)是否相一致;否則,拒絕完整性校驗(yàn)并忽略該訪問(wèn)請(qǐng)求。
邏輯存儲(chǔ)設(shè)備根據(jù)接收到的應(yīng)用針對(duì)操作系統(tǒng)的系統(tǒng)文件的訪問(wèn)請(qǐng)求,確定出該訪問(wèn)請(qǐng)求所涉及的操作系統(tǒng)的標(biāo)識(shí),例如編號(hào)。
邏輯存儲(chǔ)設(shè)備根據(jù)本邏輯存儲(chǔ)設(shè)備的標(biāo)識(shí),以及上述步驟S305中確定出的操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的標(biāo)識(shí)與該操作系統(tǒng)的標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系,確定出本邏輯存儲(chǔ)設(shè)備的標(biāo)識(shí)對(duì)應(yīng)的操作系統(tǒng)的標(biāo)識(shí)。
邏輯存儲(chǔ)設(shè)備檢測(cè)訪問(wèn)請(qǐng)求涉及的操作系統(tǒng)的標(biāo)識(shí),與該邏輯存儲(chǔ)設(shè)備的標(biāo)識(shí)對(duì)應(yīng)的操作系統(tǒng)的標(biāo)識(shí)是否相一致;若是,則說(shuō)明該邏輯存儲(chǔ)設(shè)備具有檢驗(yàn)該操作系統(tǒng)的系統(tǒng)文件的完整性的權(quán)限,執(zhí)行下述步驟S412;否則說(shuō)明該邏輯存儲(chǔ)設(shè)備不具有檢驗(yàn)該操作系統(tǒng)的系統(tǒng)文件的完整性的權(quán)限,拒絕完整性校驗(yàn)并拒絕啟動(dòng)該訪問(wèn)請(qǐng)求涉及的操作系統(tǒng)。
相當(dāng)于在邏輯存儲(chǔ)設(shè)備的層面上,對(duì)不同的操作系統(tǒng)的操作進(jìn)行了隔離。即使某一個(gè)邏輯存儲(chǔ)設(shè)備被惡意程序侵入,也無(wú)法影響除了該邏輯存儲(chǔ)設(shè)備對(duì)應(yīng)的操作系統(tǒng)之外的其它操作系統(tǒng)的完整性校驗(yàn),可以提升其它操作的完整性校驗(yàn)的安全性,從整體上提升各操作系統(tǒng)的完整性校驗(yàn)的安全性;從而可以使得用戶可以在校驗(yàn)為完整安全的操作系統(tǒng)基礎(chǔ)上,更為安全地使用操作系統(tǒng)的服務(wù)或應(yīng)用的功能,大大降低用戶數(shù)據(jù)泄露的幾率,提升用戶的體驗(yàn)。
S412:對(duì)訪問(wèn)請(qǐng)求涉及的操作系統(tǒng)的系統(tǒng)文件進(jìn)行完整性校驗(yàn)。
本步驟的方法與上述步驟S401中對(duì)訪問(wèn)請(qǐng)求涉及的操作系統(tǒng)的系統(tǒng)文件進(jìn)行完整性校驗(yàn)的方法相一致,此處不再贅述。
S413:當(dāng)完整性校驗(yàn)結(jié)果表明操作系統(tǒng)的系統(tǒng)文件完整時(shí),根據(jù)訪問(wèn)請(qǐng)求進(jìn)行操作。
本步驟的方法與上述步驟S402的具體方法相一致,此處不再贅述。
S414:當(dāng)完整性校驗(yàn)結(jié)果表明該操作系統(tǒng)的系統(tǒng)文件不完整時(shí),忽略訪問(wèn)請(qǐng)求。
本步驟的方法與上述步驟S403的具體方法相一致,此處不再贅述。
基于上述多操作系統(tǒng)的系統(tǒng)文件訪問(wèn)方法,本發(fā)明實(shí)施例還提供了一種多操作系統(tǒng)的系統(tǒng)文件訪問(wèn)裝置,該裝置設(shè)置于本發(fā)明實(shí)施例的終端設(shè)備中,該裝置的內(nèi)部結(jié)構(gòu)的框架示意圖如圖5所示,包括:內(nèi)核和兩個(gè)以上操作系統(tǒng);
其中,內(nèi)核包括:邏輯存儲(chǔ)設(shè)備創(chuàng)建模塊501和兩個(gè)以上邏輯存儲(chǔ)設(shè)備502。
邏輯存儲(chǔ)設(shè)備創(chuàng)建模塊501用于創(chuàng)建兩個(gè)以上操作系統(tǒng)各自的邏輯存儲(chǔ)設(shè)備;
邏輯存儲(chǔ)設(shè)備502用于接收到應(yīng)用針對(duì)操作系統(tǒng)的系統(tǒng)文件的訪問(wèn)請(qǐng)求后,對(duì)該訪問(wèn)請(qǐng)求涉及的操作系統(tǒng)的系統(tǒng)文件進(jìn)行完整性校驗(yàn);當(dāng)完整性校驗(yàn)結(jié)果表明該操作系統(tǒng)的系統(tǒng)文件完整時(shí),根據(jù)訪問(wèn)請(qǐng)求進(jìn)行操作。
更優(yōu)的,如圖5所示,本發(fā)明實(shí)施例的多操作系統(tǒng)的啟動(dòng)裝置中的每個(gè)操作系統(tǒng),還包括:邏輯存儲(chǔ)設(shè)備請(qǐng)求模塊511。
邏輯存儲(chǔ)設(shè)備請(qǐng)求模塊,用于基于每個(gè)操作系統(tǒng)對(duì)應(yīng)的物理存儲(chǔ)設(shè)備與邏輯存儲(chǔ)設(shè)備之間的映射關(guān)系,生成該操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的創(chuàng)建請(qǐng)求進(jìn)行發(fā)送。
以及,邏輯存儲(chǔ)設(shè)備創(chuàng)建模塊501具體用于根據(jù)接收的每個(gè)操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的創(chuàng)建請(qǐng)求,在內(nèi)核中創(chuàng)建該操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備。
較佳地,邏輯存儲(chǔ)設(shè)備創(chuàng)建模塊501還用于確定出該操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的標(biāo)識(shí);建立該操作系統(tǒng)的標(biāo)識(shí)與該操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系。
較佳地,邏輯存儲(chǔ)設(shè)備創(chuàng)建模塊501具體用于根據(jù)預(yù)設(shè)的多個(gè)操作系統(tǒng)與邏輯存儲(chǔ)設(shè)備的多個(gè)標(biāo)識(shí)范圍的對(duì)應(yīng)關(guān)系,在該操作系統(tǒng)對(duì)應(yīng)的邏輯存儲(chǔ)設(shè)備的標(biāo)識(shí)范圍內(nèi),確定出該操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的標(biāo)識(shí)。
較佳地,邏輯存儲(chǔ)設(shè)備502具體用于檢測(cè)訪問(wèn)請(qǐng)求涉及的操作系統(tǒng)與該邏輯存儲(chǔ)設(shè)備對(duì)應(yīng)的操作系統(tǒng)是否相一致;若是,則對(duì)該訪問(wèn)請(qǐng)求涉及的操作系統(tǒng)的系統(tǒng)文件進(jìn)行完整性校驗(yàn);否則拒絕完整性校驗(yàn)并忽略該訪問(wèn)請(qǐng)求。
較佳地,邏輯存儲(chǔ)設(shè)備502具體用于確定出訪問(wèn)請(qǐng)求涉及的操作系統(tǒng)對(duì)應(yīng)的物理存儲(chǔ)設(shè)備中的多個(gè)物理塊存設(shè)備中系統(tǒng)文件的摘要值;其中,該操作系統(tǒng)的系統(tǒng)文件分塊存儲(chǔ)于該操作系統(tǒng)對(duì)應(yīng)的物理存儲(chǔ)設(shè)備中的多個(gè)物理塊存設(shè)備中;根據(jù)確定出的該操作系統(tǒng)的多個(gè)物理塊存儲(chǔ)設(shè)備中系統(tǒng)文件的摘要值,對(duì)該操作系統(tǒng)的系統(tǒng)文件進(jìn)行完整性校驗(yàn)。
較佳地,邏輯存儲(chǔ)設(shè)備502具體用于將確定出的該操作系統(tǒng)的多個(gè)物理塊存儲(chǔ)設(shè)備中系統(tǒng)文件的摘要值,作為多個(gè)葉子節(jié)點(diǎn),構(gòu)建該操作系統(tǒng)的摘要值樹(shù);根據(jù)預(yù)存的每個(gè)操作系統(tǒng)所分塊存儲(chǔ)的系統(tǒng)文件的摘要值樹(shù),對(duì)所構(gòu)建的該操作系統(tǒng)的摘要值樹(shù)進(jìn)行完整性校驗(yàn)。
較佳地,邏輯存儲(chǔ)設(shè)備502具體用于確定出該操作系統(tǒng)的多個(gè)葉子節(jié)點(diǎn)中每組葉子節(jié)點(diǎn)的摘要值,作為該組葉子節(jié)點(diǎn)共同的父親節(jié)點(diǎn);進(jìn)而確定出每組父親節(jié)點(diǎn)的摘要值作為祖父節(jié)點(diǎn),直到確定出根節(jié)點(diǎn);根據(jù)預(yù)存的每個(gè)操作系統(tǒng)的摘要值樹(shù),對(duì)所構(gòu)建的該操作系統(tǒng)的摘要值樹(shù)中任一層級(jí)所有節(jié)點(diǎn)的摘要值進(jìn)行完整性校驗(yàn)。
較佳地,如圖5所示,本發(fā)明實(shí)施例的多操作系統(tǒng)的啟動(dòng)裝置中的內(nèi)核,還包括:摘要值樹(shù)預(yù)存模塊503。
摘要值樹(shù)預(yù)存模塊503用于在將每個(gè)操作系統(tǒng)安裝或升級(jí)到終端設(shè)備中時(shí),將預(yù)先確定出的每個(gè)操作系統(tǒng)所分塊存儲(chǔ)的系統(tǒng)文件的摘要值樹(shù),存儲(chǔ)到終端設(shè)備中用以存儲(chǔ)操作系統(tǒng)系統(tǒng)文件的所有物理存儲(chǔ)設(shè)備之外的物理存儲(chǔ)設(shè)備中。
較佳地,邏輯存儲(chǔ)設(shè)備502還用于確定出訪問(wèn)請(qǐng)求涉及的系統(tǒng)文件所在的物理塊存儲(chǔ)設(shè)備;進(jìn)而確定出該物理塊存儲(chǔ)設(shè)備中的系統(tǒng)文件的摘要值;從預(yù)存的多個(gè)操作系統(tǒng)的摘要值樹(shù)中,確定出預(yù)存的訪問(wèn)請(qǐng)求涉及的系統(tǒng)文件所屬操作系統(tǒng)的摘要值樹(shù);根據(jù)預(yù)存的訪問(wèn)請(qǐng)求涉及的系統(tǒng)文件所屬操作系統(tǒng)的摘要值樹(shù),對(duì)確定出的物理塊存儲(chǔ)設(shè)備中的系統(tǒng)文件的摘要值進(jìn)行完整性校驗(yàn)。
上述內(nèi)核中的邏輯存儲(chǔ)設(shè)備創(chuàng)建模塊501、邏輯存儲(chǔ)設(shè)備502和摘要值樹(shù)預(yù)存模塊503,以及每個(gè)操作系統(tǒng)中的邏輯存儲(chǔ)設(shè)備請(qǐng)求模塊511功能的實(shí)現(xiàn)方法,可以參考上述如圖3a、圖3b、圖4a和圖4b的流程步驟的具體內(nèi)容,此處不再贅述。
本發(fā)明實(shí)施例中,無(wú)需修改應(yīng)用層的代碼,就可以為每個(gè)操作系統(tǒng)創(chuàng)建了對(duì)應(yīng)的邏輯存儲(chǔ)設(shè)備;在啟動(dòng)操作系統(tǒng)之后,邏輯存儲(chǔ)設(shè)備接收到應(yīng)用針對(duì)操作系統(tǒng)的系統(tǒng)文件的訪問(wèn)請(qǐng)求后,對(duì)應(yīng)用待訪問(wèn)的系統(tǒng)文件所屬操作系統(tǒng)的所有系統(tǒng)文件進(jìn)行完整性校驗(yàn);完整性校驗(yàn)結(jié)果為通過(guò)時(shí),表明該操作系統(tǒng)的系統(tǒng)文件完整,未被惡意程序篡改或附著,是安全的;因此,根據(jù)訪問(wèn)請(qǐng)求進(jìn)行操作;可以提升操作系統(tǒng)的安全性,進(jìn)而提升在操作系統(tǒng)基礎(chǔ)上運(yùn)行的各種應(yīng)用的安全性,可以大大降低操作系統(tǒng)的服務(wù)或應(yīng)用涉及的數(shù)據(jù)泄露的幾率,從而提升用戶的數(shù)據(jù)的安全性,提升用戶的體驗(yàn)。
而且,本發(fā)明實(shí)施例中,建立操作系統(tǒng)的標(biāo)識(shí)與該操作系統(tǒng)的邏輯存儲(chǔ)設(shè)備的標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系,邏輯存儲(chǔ)設(shè)備接收到應(yīng)用針對(duì)操作系統(tǒng)的系統(tǒng)文件的訪問(wèn)請(qǐng)求后,僅具有相對(duì)應(yīng)的操作系統(tǒng)的完整性校驗(yàn)的權(quán)限,而不具備其它操作系統(tǒng)的完整性校驗(yàn)的權(quán)限。相當(dāng)于在邏輯存儲(chǔ)設(shè)備的層面上,對(duì)不同的操作系統(tǒng)的操作進(jìn)行了隔離。即使某一個(gè)邏輯存儲(chǔ)設(shè)備被惡意程序侵入,也無(wú)法影響除了該邏輯存儲(chǔ)設(shè)備對(duì)應(yīng)的操作系統(tǒng)之外的其它操作系統(tǒng)的完整性校驗(yàn),可以提升其它操作的完整性校驗(yàn)的安全性,從整體上提升各操作系統(tǒng)的完整性校驗(yàn)的安全性;從而可以使得用戶可以在校驗(yàn)為完整安全的操作系統(tǒng)基礎(chǔ)上,更為安全地使用操作系統(tǒng)的服務(wù)或應(yīng)用的功能,大大降低用戶數(shù)據(jù)泄露的幾率,提升用戶的體驗(yàn)。
進(jìn)一步,本發(fā)明實(shí)施例中,在對(duì)操作系統(tǒng)的系統(tǒng)文件進(jìn)行完整性校驗(yàn)過(guò)程中,可以根據(jù)預(yù)存的多個(gè)操作系統(tǒng)的摘要值樹(shù),對(duì)訪問(wèn)請(qǐng)求涉及的操作系統(tǒng)的摘要值樹(shù)進(jìn)行完整性校驗(yàn);本發(fā)明實(shí)例中,校驗(yàn)的對(duì)象是摘要值,與校驗(yàn)系統(tǒng)文件本身相比,減少了校驗(yàn)的工作量,提升了校驗(yàn)的效率。而且,摘要值屬于密文,系統(tǒng)文件屬于明文,對(duì)摘要值進(jìn)行校驗(yàn),可以防止校驗(yàn)過(guò)程中操作系統(tǒng)的系統(tǒng)文件的泄露,提升了安全性。
此外,本發(fā)明實(shí)施例中,在對(duì)訪問(wèn)請(qǐng)求涉及的操作系統(tǒng)的摘要值樹(shù)進(jìn)行完整性校驗(yàn)的過(guò)程中,可以僅對(duì)一個(gè)祖先層級(jí)的所有節(jié)點(diǎn)對(duì)應(yīng)的摘要值進(jìn)行完整性校驗(yàn),與對(duì)所有葉子節(jié)點(diǎn)對(duì)應(yīng)的摘要值進(jìn)行完整性校驗(yàn)相比,在不影響完整性校驗(yàn)效果的情況下,大大減少了檢驗(yàn)的工作量,提升校驗(yàn)的效率。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,本發(fā)明包括涉及用于執(zhí)行本申請(qǐng)中所述操作中的一項(xiàng)或多項(xiàng)的設(shè)備。這些設(shè)備可以為所需的目的而專門(mén)設(shè)計(jì)和制造,或者也可以包括通用計(jì)算機(jī)中的已知設(shè)備。這些設(shè)備具有存儲(chǔ)在其內(nèi)的計(jì)算機(jī)程序,這些計(jì)算機(jī)程序選擇性地激活或重構(gòu)。這樣的計(jì)算機(jī)程序可以被存儲(chǔ)在設(shè)備(例如,計(jì)算機(jī))可讀介質(zhì)中或者存儲(chǔ)在適于存儲(chǔ)電子指令并分別耦聯(lián)到總線的任何類型的介質(zhì)中,所述計(jì)算機(jī)可讀介質(zhì)包括但不限于任何類型的盤(pán)(包括軟盤(pán)、硬盤(pán)、光盤(pán)、CD-ROM、和磁光盤(pán))、ROM(Read-Only Memory,只讀存儲(chǔ)器)、RAM(Random Access Memory,隨即存儲(chǔ)器)、EPROM(Erasable Programmable Read-Only Memory,可擦寫(xiě)可編程只讀存儲(chǔ)器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,電可擦可編程只讀存儲(chǔ)器)、閃存、磁性卡片或光線卡片。也就是,可讀介質(zhì)包括由設(shè)備(例如,計(jì)算機(jī))以能夠讀的形式存儲(chǔ)或傳輸信息的任何介質(zhì)。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,可以用計(jì)算機(jī)程序指令來(lái)實(shí)現(xiàn)這些結(jié)構(gòu)圖和/或框圖和/或流圖中的每個(gè)框以及這些結(jié)構(gòu)圖和/或框圖和/或流圖中的框的組合。本技術(shù)領(lǐng)域技術(shù)人員可以理解,可以將這些計(jì)算機(jī)程序指令提供給通用計(jì)算機(jī)、專業(yè)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理方法的處理器來(lái)實(shí)現(xiàn),從而通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理方法的處理器來(lái)執(zhí)行本發(fā)明公開(kāi)的結(jié)構(gòu)圖和/或框圖和/或流圖的框或多個(gè)框中指定的方案。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,本發(fā)明中已經(jīng)討論過(guò)的各種操作、方法、流程中的步驟、措施、方案可以被交替、更改、組合或刪除。進(jìn)一步地,具有本發(fā)明中已經(jīng)討論過(guò)的各種操作、方法、流程中的其他步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。進(jìn)一步地,現(xiàn)有技術(shù)中的具有與本發(fā)明中公開(kāi)的各種操作、方法、流程中的步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。
以上所述僅是本發(fā)明的部分實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。