本發(fā)明涉及終端設(shè)備技術(shù)領(lǐng)域,尤其涉及一種終端設(shè)備及其開機(jī)方法。
背景技術(shù):
隨著終端設(shè)備的長足發(fā)展,其應(yīng)用范圍越來越廣泛,不再局限于打電話、發(fā)短信等傳統(tǒng)功能,還具有移動支付、移動辦公等新興功能,進(jìn)而使得終端設(shè)備的安全也越來越受到各大終端設(shè)備制造商的重視。
其中一個(gè)需要優(yōu)先考慮的安全因素是如何對用戶數(shù)據(jù)進(jìn)行保護(hù),該用戶數(shù)據(jù)包括用戶的個(gè)人照片、聯(lián)系人、電話號碼、短信,甚至一些重要的賬號密碼。為了避免因終端丟失而導(dǎo)致用戶數(shù)據(jù)的泄露,全盤加密(FDE,F(xiàn)ull Disk Encryption)技術(shù)應(yīng)運(yùn)而生,即用戶可以通過終端設(shè)備所具備的全盤加密功能,來對存儲用戶數(shù)據(jù)的用戶數(shù)據(jù)分區(qū)執(zhí)行加密流程。待終端設(shè)備的用戶數(shù)據(jù)分區(qū)完成加密,該用戶數(shù)據(jù)分區(qū)就僅能夠在該終端設(shè)備中被識別,而在其他任何電子設(shè)備中均無法識別,以此提高終端設(shè)備的安全系數(shù)。
然而,用戶數(shù)據(jù)分區(qū)的存儲能力通??梢赃_(dá)到64G甚至128G,這就造成終端設(shè)備對用戶數(shù)據(jù)分區(qū)執(zhí)行加密流程的時(shí)間可能會很漫長,因此增加了用戶數(shù)據(jù)分區(qū)加密失敗的風(fēng)險(xiǎn)。一旦用戶數(shù)據(jù)分區(qū)加密失敗,用戶數(shù)據(jù)分區(qū)可能介于未加密和已加密之間,即用戶數(shù)據(jù)分區(qū)中存儲的一部分?jǐn)?shù)據(jù)未加密,而另一部分?jǐn)?shù)據(jù)已加密,由此導(dǎo)致用戶數(shù)據(jù)分區(qū)在開機(jī)啟動時(shí)無法掛載,從而造成終端設(shè)備無法正常開機(jī)。
技術(shù)實(shí)現(xiàn)要素:
基于此,本發(fā)明的一個(gè)目的在于提供一種終端設(shè)備的開機(jī)方法,用于解決現(xiàn)有技術(shù)中終端設(shè)備因用戶數(shù)據(jù)分區(qū)加密失敗而導(dǎo)致無法開機(jī)的問題。
此外,本發(fā)明的另一個(gè)目的在于提供一種終端設(shè)備,用于解決現(xiàn)有技術(shù)中終端設(shè)備因用戶數(shù)據(jù)分區(qū)加密失敗而導(dǎo)致無法開機(jī)的問題。
為了解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案為:
一種終端設(shè)備的開機(jī)方法,包括:監(jiān)控終端設(shè)備的加密狀態(tài),所述加密狀態(tài)用于指示所述終端設(shè)備的用戶數(shù)據(jù)分區(qū)在加密流程中各階段的狀態(tài),所述加密狀態(tài)包括未加密狀態(tài)和加密失敗狀態(tài);當(dāng)監(jiān)控到所述終端設(shè)備的加密狀態(tài)為加密失敗狀態(tài),運(yùn)行預(yù)置恢復(fù)程序,通過所述預(yù)置恢復(fù)程序的運(yùn)行對所述用戶數(shù)據(jù)分區(qū)進(jìn)行修復(fù);待所述用戶數(shù)據(jù)分區(qū)修復(fù)完畢,將所述終端設(shè)備的加密狀態(tài)由加密失敗狀態(tài)更新為未加密狀態(tài),并執(zhí)行開機(jī)流程。
一種終端設(shè)備,包括:狀態(tài)監(jiān)控模塊,用于監(jiān)控終端設(shè)備的加密狀態(tài),所述加密狀態(tài)用于指示所述終端設(shè)備的用戶數(shù)據(jù)分區(qū)在加密流程中各階段的狀態(tài),所述加密狀態(tài)包括未加密狀態(tài)和加密失敗狀態(tài);分區(qū)修復(fù)模塊,用于當(dāng)監(jiān)控到所述終端設(shè)備的加密狀態(tài)為加密失敗狀態(tài),運(yùn)行預(yù)置恢復(fù)程序,通過所述預(yù)置恢復(fù)程序的運(yùn)行對所述用戶數(shù)據(jù)分區(qū)進(jìn)行修復(fù);第一開機(jī)模塊,用于待所述用戶數(shù)據(jù)分區(qū)修復(fù)完畢,將所述終端設(shè)備的加密狀態(tài)由加密失敗狀態(tài)更新為未加密狀態(tài),并執(zhí)行開機(jī)流程。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
通過對終端設(shè)備的加密狀態(tài)進(jìn)行監(jiān)控,在監(jiān)控到終端設(shè)備的加密狀態(tài)為加密失敗狀態(tài)時(shí),運(yùn)行預(yù)置恢復(fù)程序?qū)τ脩魯?shù)據(jù)分區(qū)進(jìn)行修復(fù),使得修復(fù)完畢的用戶數(shù)據(jù)分區(qū)不再介于未加密和已加密之間,進(jìn)而使得該修復(fù)完畢的用戶數(shù)據(jù)分區(qū)能夠在開機(jī)啟動時(shí)進(jìn)行掛載,從而保證終端設(shè)備能夠正常開機(jī)。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實(shí)施例,并于說明書一起用于解釋本發(fā)明的原理。
圖1是根據(jù)一示例性實(shí)施例示出的一種終端設(shè)備的框圖;
圖2是根據(jù)一示例性實(shí)施例示出的一種終端設(shè)備的開機(jī)方法的流程圖;
圖3是根據(jù)所述加密流程中的各階段為預(yù)設(shè)的加密狀態(tài)標(biāo)識設(shè)置相應(yīng)的屬性值步驟在一個(gè)實(shí)施例的流程圖;
圖4是根據(jù)所述加密流程中的各階段為預(yù)設(shè)的加密狀態(tài)標(biāo)識設(shè)置相應(yīng)的屬性值步驟在另一個(gè)實(shí)施例的流程圖;
圖5是通過所述加密狀態(tài)標(biāo)識的屬性值監(jiān)控所述終端設(shè)備的加密狀態(tài)步驟在一個(gè)實(shí)施例的流程圖;
圖6是通過所述加密狀態(tài)標(biāo)識的屬性值監(jiān)控所述終端設(shè)備的加密狀態(tài)步驟在另一個(gè)實(shí)施例的流程圖;
圖7是根據(jù)一示例性實(shí)施例示出的一種終端設(shè)備的框圖。
通過上述附圖,已示出本發(fā)明明確的實(shí)施例,后文中將有更詳細(xì)的描述,這些附圖和文字描述并不是為了通過任何方式限制本發(fā)明構(gòu)思的范圍,而是通過參考特定實(shí)施例為本領(lǐng)域技術(shù)人員說明本發(fā)明的概念。
具體實(shí)施方式
這里將詳細(xì)地對示例性實(shí)施例執(zhí)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
如前所述,一旦終端設(shè)備對用戶數(shù)據(jù)分區(qū)加密失敗,將導(dǎo)致用戶數(shù)據(jù)分區(qū)在開機(jī)啟動時(shí)無法掛載,而造成終端設(shè)備無法正常開機(jī)。
目前,為了避免用戶數(shù)據(jù)分區(qū)加密失敗的問題,終端設(shè)備在對用戶數(shù)據(jù)分區(qū)執(zhí)行加密流程之前,通常會對用戶進(jìn)行提示,例如,提示用戶終端設(shè)備的剩余電量必須超過預(yù)設(shè)閾值,以此保證加密過程中終端設(shè)備不會突然斷電。
然而,若終端設(shè)備的電池老化,終端設(shè)備所顯示的剩余電量可能是個(gè)虛值,例如,顯示的剩余電量為80%,而實(shí)際的剩余電量僅為20%,這就可能造成用戶出現(xiàn)誤判,而導(dǎo)致加密過程中終端設(shè)備因剩余電量不足而突然斷電,進(jìn)而造成用戶數(shù)據(jù)分區(qū)加密失敗。
此外,加密過程中,終端設(shè)備還有可能因意外重啟而導(dǎo)致用戶數(shù)據(jù)分區(qū)加密失敗。終端設(shè)備的意外重啟可能是由于系統(tǒng)異常導(dǎo)致的,例如,系統(tǒng)服務(wù)崩潰、內(nèi)核運(yùn)行錯(cuò)誤等等;終端設(shè)備的意外重啟也可能是由于終端設(shè)備溫度過高造成的,例如,外界環(huán)境溫度高、CPU占用率過高等等。
由此可知,即使終端設(shè)備的剩余電量超過了預(yù)設(shè)閾值,終端設(shè)備在加密過程中仍然有可能突然斷電或者意外重啟,而導(dǎo)致用戶數(shù)據(jù)分區(qū)加密失敗,最終造成終端設(shè)備無法正常開機(jī)。
因此,為了避免終端設(shè)備因用戶數(shù)據(jù)分區(qū)加密失敗而導(dǎo)致無法開機(jī)的問題,特提出了一種終端設(shè)備的開機(jī)方法。
請參閱圖1,圖1是根據(jù)一示例性實(shí)施例示出的一種終端設(shè)備的框圖。需要說明的是,該終端設(shè)備100只是一個(gè)適配于本發(fā)明的示例,不能認(rèn)為是提供了對本發(fā)明的使用范圍的任何限制。該終端設(shè)備100也不能解釋為需要依賴于或者必須具有圖1中示出的示例性的終端設(shè)備100中的一個(gè)或者多個(gè)部件。
如圖1所示,終端設(shè)備100包括存儲器101、存儲控制器103、一個(gè)或多個(gè)(圖中僅示出一個(gè))處理器105、外設(shè)接口107、射頻模塊109、定位模塊111、攝像模塊113、音頻模塊115、觸控屏幕117以及按鍵模塊119。這些組件通過一條或多條通訊總線/信號線121相互通訊。
可以理解,圖1所示的結(jié)構(gòu)僅為示意,終端設(shè)備100還可包括比圖1中所示更多或更少的組件,或者具有與圖1所示不同的組件。圖1中所示的各組件可以采用硬件、軟件或者其組合來實(shí)現(xiàn)。
其中,存儲器101可用于存儲軟件程序以及模塊,如本發(fā)明示例性實(shí)施例中的桌面工具顯示方法及裝置對應(yīng)的程序指令及模塊,處理器105通過運(yùn)行存儲在存儲器101內(nèi)的程序指令,從而執(zhí)行各種功能以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述運(yùn)行于終端設(shè)備100的應(yīng)用中圖片內(nèi)容的顯示方法。
存儲器101作為資源存儲的載體,可以是隨機(jī)存儲介質(zhì)、例如高速隨機(jī)存儲器、非易失性存儲器,如一個(gè)或多個(gè)磁性存儲裝置、閃存、或者其它固態(tài)存儲器。存儲方式可以是短暫存儲或者永久存儲。
外設(shè)接口107可以包括至少一有線或無線網(wǎng)絡(luò)接口、至少一串并聯(lián)轉(zhuǎn)換接口、至少一輸入輸出接口以及至少一USB接口等等,用于將外部各種輸入/輸出裝置耦合至存儲器101以及處理器105,以實(shí)現(xiàn)與外部各種輸入/輸出裝置的通信。
射頻模塊109用于收發(fā)電磁波,實(shí)現(xiàn)電磁波與電信號的相互轉(zhuǎn)換,從而通過通訊網(wǎng)絡(luò)與其他設(shè)備進(jìn)行通訊。通信網(wǎng)絡(luò)包括蜂窩式電話網(wǎng)、無線局域網(wǎng)或者城域網(wǎng),上述通信網(wǎng)絡(luò)可以使用各種通信標(biāo)準(zhǔn)、協(xié)議及技術(shù)。
定位模塊111用于獲取終端設(shè)備100的當(dāng)前所在的地理位置。定位模塊111的實(shí)例包括但不限于全球衛(wèi)星定位系統(tǒng)(GPS)、基于無線局域網(wǎng)或者移動通信網(wǎng)的定位技術(shù)。
攝像模塊113隸屬于攝像頭,用于拍攝圖片或者視頻。拍攝的圖片或者視頻可以存儲至存儲器101內(nèi),還可以通過射頻模塊109發(fā)送至上位機(jī)。
音頻模塊115向用戶提供音頻接口,其可包括一個(gè)或多個(gè)麥克風(fēng)接口、一個(gè)或多個(gè)揚(yáng)聲器接口以及一個(gè)或多個(gè)耳機(jī)接口。通過音頻接口與其它設(shè)備進(jìn)行音頻數(shù)據(jù)的交互。音頻數(shù)據(jù)可以存儲至存儲器101內(nèi),還可以通過射頻模塊109發(fā)送。
觸控屏幕117在終端設(shè)備100與用戶之間提供一個(gè)輸入輸出界面。具體地,用戶可通過觸控屏幕117進(jìn)行輸入操作,例如點(diǎn)擊、觸摸、滑動等手勢操作,以使電子設(shè)備對該輸入操作進(jìn)行響應(yīng)。終端設(shè)備100則將文字、圖片或者視頻任意一種形式或者組合所形成的輸出內(nèi)容通過觸控屏幕117向用戶顯示輸出。
按鍵模塊119包括至少一個(gè)按鍵,用以提供用戶向終端設(shè)備100進(jìn)行輸入的接口,用戶可以通過按下不同的按鍵使終端設(shè)備100執(zhí)行不同的功能。例如,聲音調(diào)節(jié)按鍵可供用戶實(shí)現(xiàn)對終端設(shè)備100播放的聲音音量的調(diào)節(jié)。
請參閱圖2,在一示例性實(shí)施例中,一種終端設(shè)備的開機(jī)方法適用于圖1所示出的終端設(shè)備100,該開機(jī)方法可以由圖1所示出的終端設(shè)備100執(zhí)行,可以包括以下步驟:
步驟210,監(jiān)控終端設(shè)備的加密狀態(tài)。
應(yīng)當(dāng)理解,終端設(shè)備正常情況下的開機(jī)流程通常是響應(yīng)用戶觸發(fā)的開機(jī)操作而進(jìn)行的。
即,當(dāng)用戶觸發(fā)了開機(jī)操作,終端設(shè)備將偵聽得到響應(yīng)用戶觸發(fā)的該開機(jī)操作而生成的開機(jī)指令,進(jìn)而能夠根據(jù)該開機(jī)指令執(zhí)行開機(jī)流程。
其中,用戶觸發(fā)的開機(jī)操作包括長按終端設(shè)備設(shè)置的開關(guān)機(jī)鍵、觸摸終端設(shè)備所提供的觸控屏幕中的重啟虛擬按鍵等等。
而終端設(shè)備異常情況下(例如,突然斷電或者意外重啟等等)的開機(jī)流程則可以是響應(yīng)用戶觸發(fā)的開機(jī)操作而進(jìn)行的,例如,終端設(shè)備突然斷電時(shí),用戶將通過長按終端設(shè)備設(shè)置的開關(guān)機(jī)鍵進(jìn)行開機(jī),還可以是由意外重啟所自動引發(fā)的。
然而,無論上述何種方式使得終端設(shè)備進(jìn)入開機(jī)流程,若用戶數(shù)據(jù)分區(qū)加密失敗,都將影響到終端設(shè)備的正常開機(jī)。
基于此,為了避免終端設(shè)備因用戶數(shù)據(jù)分區(qū)加密失敗而無法開機(jī)的問題,在執(zhí)行開機(jī)流程之前,需要對終端設(shè)備的加密狀態(tài)進(jìn)行監(jiān)控,以此判斷用戶數(shù)據(jù)分區(qū)是否加密,進(jìn)而判斷是否會影響終端設(shè)備的正常開機(jī)。
具體而言,加密狀態(tài)用于指示終端設(shè)備的用戶數(shù)據(jù)分區(qū)在加密流程中各階段的狀態(tài)。該加密狀態(tài)包括未加密狀態(tài)、已加密狀態(tài)和加密失敗狀態(tài)。其中,未加密狀態(tài)和已加密狀態(tài)不影響終端設(shè)備的正常開機(jī),而加密失敗狀態(tài)會影響終端設(shè)備的正常開機(jī)。
舉例來說,當(dāng)用戶數(shù)據(jù)分區(qū)尚未開始執(zhí)行加密流程時(shí),加密流程始終處于等待確認(rèn)階段,此時(shí),用戶數(shù)據(jù)分區(qū)尚未加密,即終端設(shè)備的加密狀態(tài)為未加密狀態(tài)。
又或者,當(dāng)加密流程進(jìn)入加密階段,終端設(shè)備啟動對用戶數(shù)據(jù)分區(qū)的加密操作。若加密階段出現(xiàn)異常,則用戶數(shù)據(jù)分區(qū)加密失敗,即終端設(shè)備的加密狀態(tài)為加密失敗狀態(tài)。反之,若加密階段未出現(xiàn)任何異常,則用戶數(shù)據(jù)分區(qū)完成加密,即終端設(shè)備的加密狀態(tài)為已加密狀態(tài)。
進(jìn)一步地,終端設(shè)備的加密狀態(tài)的監(jiān)控可以通過預(yù)先設(shè)置的加密狀態(tài)標(biāo)識實(shí)現(xiàn)。例如,若加密狀態(tài)標(biāo)識不同,則監(jiān)控到的終端設(shè)備的加密狀態(tài)也有所區(qū)別。
步驟230,當(dāng)監(jiān)控到終端設(shè)備的加密狀態(tài)為加密失敗狀態(tài),運(yùn)行預(yù)置恢復(fù)程序,通過預(yù)置恢復(fù)程序的運(yùn)行對用戶數(shù)據(jù)分區(qū)進(jìn)行修復(fù)。
當(dāng)監(jiān)控到終端設(shè)備的加密狀態(tài)為加密失敗狀態(tài),表示用戶數(shù)據(jù)分區(qū)加密失敗,將影響終端設(shè)備的正常開機(jī),此時(shí),終端設(shè)備需要對用戶數(shù)據(jù)分區(qū)進(jìn)行修復(fù),以使用戶數(shù)據(jù)分區(qū)不再介于未加密和已加密之間,才能夠在開機(jī)啟動時(shí)進(jìn)行掛載,避免終端設(shè)備正常開機(jī)失敗。
本實(shí)施例中,用戶數(shù)據(jù)分區(qū)的修復(fù)是通過預(yù)置恢復(fù)程序的運(yùn)行實(shí)現(xiàn)的。該預(yù)置恢復(fù)程序是根據(jù)開發(fā)人員編寫的底層修復(fù)代碼編譯生成的,用于將用戶數(shù)據(jù)分區(qū)恢復(fù)至原始狀態(tài)。其中,該原始狀態(tài)的用戶數(shù)據(jù)分區(qū)對應(yīng)的是未進(jìn)行加密時(shí)(例如,出廠時(shí))的用戶數(shù)據(jù)分區(qū),以便于后續(xù)開機(jī)啟動時(shí)進(jìn)行掛載。
進(jìn)一步地,為提高終端設(shè)備的安全系數(shù),可以為該預(yù)置恢復(fù)程序設(shè)置所屬的domain(域),則不屬于該domain的進(jìn)程將無法運(yùn)行該預(yù)置恢復(fù)程序。
更進(jìn)一步地,為了保證預(yù)置恢復(fù)程序不被非法篡改,還可以為該預(yù)置恢復(fù)程序設(shè)置相應(yīng)的操作權(quán)限(例如,只讀權(quán)限),則即使是該domain的進(jìn)程也無法修改該預(yù)置恢復(fù)程序。
具體地,在預(yù)置恢復(fù)程序生成之后,即被存儲至內(nèi)存虛擬硬盤(ramdisk)中。當(dāng)監(jiān)控到終端設(shè)備的加密狀態(tài)為加密失敗狀態(tài),則通過加載該預(yù)置恢復(fù)程序至內(nèi)存,運(yùn)行該預(yù)置恢復(fù)程序,以此實(shí)現(xiàn)將用戶數(shù)據(jù)分區(qū)恢復(fù)至原始狀態(tài)。
步驟250,待用戶數(shù)據(jù)分區(qū)修復(fù)完畢,將終端設(shè)備的加密狀態(tài)由加密失敗狀態(tài)更新為未加密狀態(tài),并執(zhí)行開機(jī)流程。
待用戶數(shù)據(jù)分區(qū)修復(fù)完畢,用戶數(shù)據(jù)分區(qū)不再介于未加密和已加密之間,即不再影響終端設(shè)備的正常開機(jī),此時(shí),終端設(shè)備通過執(zhí)行開機(jī)流程即可實(shí)現(xiàn)正常開機(jī)。其中,開機(jī)流程的執(zhí)行屬于現(xiàn)有技術(shù)范疇,本實(shí)施例中并未對此加以限制。
如前所述,用戶數(shù)據(jù)分區(qū)的修復(fù)是將用戶數(shù)據(jù)分區(qū)恢復(fù)至原始狀態(tài),該原始狀態(tài)的用戶數(shù)據(jù)分區(qū)對應(yīng)的是未進(jìn)行加密時(shí)的用戶數(shù)據(jù)分區(qū),因此,在用戶數(shù)據(jù)分區(qū)修復(fù)完畢之后,終端設(shè)備的加密狀態(tài)將由加密失敗狀態(tài)更新至未加密狀態(tài)。
進(jìn)一步地,用戶數(shù)據(jù)分區(qū)經(jīng)過修復(fù)之后,其中所存儲的用戶數(shù)據(jù)將全部丟失,因此,終端設(shè)備可以通過彈出對話框的方式對用戶進(jìn)行提示,以使用戶知悉用戶數(shù)據(jù)分區(qū)加密失敗,且用戶數(shù)據(jù)已丟失。
更進(jìn)一步地,由于用戶數(shù)據(jù)已丟失,終端設(shè)備還可以向用戶提供用戶數(shù)據(jù)恢復(fù)工具,以供用戶將預(yù)先備份的用戶數(shù)據(jù)恢復(fù)至修復(fù)的用戶數(shù)據(jù)分區(qū)中。
在一示例性實(shí)施例中,加密狀態(tài)還包括已加密狀態(tài)。相應(yīng)地,如上所述的方法還可以包括以下步驟:
當(dāng)監(jiān)控到終端設(shè)備的加密狀態(tài)為未加密狀態(tài)或者已加密狀態(tài),執(zhí)行開機(jī)流程。
當(dāng)監(jiān)控到終端設(shè)備的加密狀態(tài)為未加密狀態(tài)或者已加密狀態(tài),表示用戶數(shù)據(jù)分區(qū)并未加密失敗,即不會影響終端設(shè)備的正常開機(jī),此時(shí),終端設(shè)備通過執(zhí)行開機(jī)流程即可實(shí)現(xiàn)正常開機(jī)。
進(jìn)一步地,終端設(shè)備可以通過彈出對話框的方式對用戶進(jìn)行提示,以使用戶知悉用戶數(shù)據(jù)分區(qū)尚未加密或者已完成加密。
通過如上所述的過程,實(shí)現(xiàn)了即使用戶數(shù)據(jù)分區(qū)加密失敗,終端設(shè)備也能夠正常開機(jī),即以在線的方式解決了現(xiàn)有技術(shù)中存在的問題,以此避免終端設(shè)備因用戶數(shù)據(jù)分區(qū)加密失敗而導(dǎo)致無法開機(jī)時(shí),用戶需要申請售后服務(wù)或者按照操作說明自行處理,進(jìn)而有效地提高了用戶的使用體驗(yàn)。
在一示例性實(shí)施例中,步驟210之前,如上所述的方法還可以包括以下步驟:
在對用戶數(shù)據(jù)分區(qū)執(zhí)行加密流程時(shí),根據(jù)加密流程中的各階段為預(yù)設(shè)的加密狀態(tài)標(biāo)識設(shè)置相應(yīng)的屬性值。
加密流程包括等待確認(rèn)階段、加密預(yù)處理階段、加密階段和結(jié)束階段。
具體而言,當(dāng)用戶數(shù)據(jù)分區(qū)尚未開始執(zhí)行加密流程時(shí),加密流程始終處于等待確認(rèn)階段,此時(shí),用戶數(shù)據(jù)分區(qū)尚未加密,即終端設(shè)備的加密狀態(tài)為未加密狀態(tài)。
當(dāng)用戶請求對用戶數(shù)據(jù)分區(qū)進(jìn)行加密時(shí),終端設(shè)備提示用戶進(jìn)行加密確認(rèn),待用戶完成確認(rèn)之后,加密流程進(jìn)入加密預(yù)處理階段,此時(shí),用戶數(shù)據(jù)分區(qū)也尚未加密,即終端設(shè)備的加密狀態(tài)為未加密狀態(tài)。
待加密預(yù)處理完畢,加密流程進(jìn)入加密階段,終端設(shè)備啟動對用戶數(shù)據(jù)分區(qū)的加密操作。若加密階段出現(xiàn)異常,則用戶數(shù)據(jù)分區(qū)加密失敗,即終端設(shè)備的加密狀態(tài)為加密失敗狀態(tài)。反之,若加密階段未出現(xiàn)任何異常,則用戶數(shù)據(jù)分區(qū)完成加密,即終端設(shè)備的加密狀態(tài)為已加密狀態(tài)。
待用戶數(shù)據(jù)分區(qū)完成加密,加密流程進(jìn)入結(jié)束階段,終端設(shè)備將向用戶提示用戶數(shù)據(jù)分區(qū)已加密完成,即終端設(shè)備的加密狀態(tài)為已加密狀態(tài)。
值得一提的是,終端設(shè)備在提示用戶進(jìn)行加密確認(rèn)之前,還可以提示用戶先對用戶數(shù)據(jù)分區(qū)中存儲的用戶數(shù)據(jù)進(jìn)行備份,以防止用戶數(shù)據(jù)分區(qū)加密失敗而造成用戶數(shù)據(jù)丟失。進(jìn)一步地,終端設(shè)備還可以向用戶提供用戶數(shù)據(jù)備份工具,以將用戶數(shù)據(jù)備份至外置存儲設(shè)備(例如,USB閃存盤)。
由上可知,加密狀態(tài)標(biāo)識可以設(shè)置為若干個(gè),以通過不同的加密狀態(tài)標(biāo)識來表示加密流程所處的不同階段,也可以僅設(shè)置一個(gè),但是通過不同的屬性值來表示加密流程所處的不同階段。
較優(yōu)地,本實(shí)施例中,根據(jù)加密流程中的各階段,為預(yù)設(shè)的加密狀態(tài)標(biāo)識設(shè)置相應(yīng)的屬性值。
進(jìn)一步地,該屬性值可以通過數(shù)字進(jìn)行標(biāo)識,也可以通過字母進(jìn)行標(biāo)識。例如,加密流程處于等待確認(rèn)階段時(shí),加密狀態(tài)標(biāo)識的屬性值設(shè)置為0。又或者,加密流程處于等待確認(rèn)階段時(shí),加密狀態(tài)標(biāo)識的屬性值設(shè)置為crypto_null。
更進(jìn)一步地,為了防止加密過程中終端設(shè)備突然斷電或者意外重啟而導(dǎo)致加密狀態(tài)標(biāo)識的屬性值丟失,該屬性值將被存儲于終端設(shè)備的FLASH閃存區(qū),以此保證即使終端設(shè)備突然斷電或者意外重啟時(shí),該屬性值仍可以正常讀取,從而有利于后續(xù)根據(jù)該屬性值對終端設(shè)備的加密狀態(tài)進(jìn)行監(jiān)控。
相應(yīng)地,步驟210可以包括以下步驟:
讀取加密狀態(tài)標(biāo)識的屬性值,并通過加密狀態(tài)標(biāo)識的屬性值監(jiān)控終端設(shè)備的加密狀態(tài)。
如前所述,加密狀態(tài)標(biāo)識的屬性值不同,其所表示的加密流程所處的階段也不同,相應(yīng)地,終端設(shè)備的加密狀態(tài)也有所區(qū)別。
基于此,在執(zhí)行開機(jī)流程之前,通過加密狀態(tài)標(biāo)識的屬性值的讀取即可實(shí)現(xiàn)對終端設(shè)備的加密狀態(tài)的監(jiān)控。
舉例來說,若讀取到的加密狀態(tài)標(biāo)識的屬性值表示加密流程處于等待確認(rèn)階段,則監(jiān)控到的終端設(shè)備的加密狀態(tài)為未加密狀態(tài)。
請參閱圖3,在一示例性實(shí)施例中,加密狀態(tài)標(biāo)識的屬性值包括空屬性、開始屬性、加密屬性、出錯(cuò)屬性和結(jié)束屬性。該屬性值根據(jù)加密流程中的各階段進(jìn)行相應(yīng)地設(shè)置,以此表示加密流程所處的不同階段。
進(jìn)一步地,該屬性值可以通過數(shù)字進(jìn)行標(biāo)識,也可以通過字母進(jìn)行標(biāo)識。
舉例來說,空屬性為0,開始屬性為1,加密屬性2、出錯(cuò)屬性3和結(jié)束屬性4。
或者,空屬性為crypto_null,開始屬性為crypto_start,加密屬性crypto_ing、出錯(cuò)屬性crypto_error和結(jié)束屬性crypto_end。
相應(yīng)地,所述根據(jù)加密流程中的各階段為預(yù)設(shè)的加密狀態(tài)標(biāo)識設(shè)置相應(yīng)的屬性值的步驟310可以包括以下步驟:
步驟311,在加密流程中的加密階段出現(xiàn)異常時(shí),將加密狀態(tài)標(biāo)識的屬性值設(shè)置為出錯(cuò)屬性,并運(yùn)行預(yù)置恢復(fù)程序,以修復(fù)用戶數(shù)據(jù)分區(qū)。
當(dāng)加密狀態(tài)標(biāo)識的屬性值設(shè)置為出錯(cuò)屬性,表示用戶數(shù)據(jù)分區(qū)已被破壞,即用戶數(shù)據(jù)分區(qū)加密失敗,終端設(shè)備將通過預(yù)置恢復(fù)程序的運(yùn)行對用戶數(shù)據(jù)分區(qū)進(jìn)行修復(fù)。
步驟313,待用戶數(shù)據(jù)分區(qū)修復(fù)完畢,將加密狀態(tài)標(biāo)識的屬性值由出錯(cuò)屬性修改為空屬性,以使加密流程由加密階段進(jìn)入等待確認(rèn)階段。
若用戶數(shù)據(jù)分區(qū)修復(fù)完畢,則加密狀態(tài)標(biāo)識的屬性值被修改為空屬性,表示加密流程進(jìn)入等待確認(rèn)階段,即用戶數(shù)據(jù)分區(qū)恢復(fù)至原始狀態(tài),相應(yīng)地,在執(zhí)行開機(jī)流程時(shí),根據(jù)該空屬性即可判定終端設(shè)備的加密狀態(tài)為未加密狀態(tài)。
反之,若用戶數(shù)據(jù)分區(qū)無法修復(fù),則加密狀態(tài)標(biāo)識的屬性值仍然保持為出錯(cuò)屬性,表示加密流程中加密階段出現(xiàn)異常,相應(yīng)地,在執(zhí)行開機(jī)流程時(shí),根據(jù)該出錯(cuò)屬性即可判定終端設(shè)備的加密狀態(tài)為加密失敗狀態(tài)。
通過如上所述的過程,在加密階段出現(xiàn)異常時(shí),即對用戶數(shù)據(jù)分區(qū)進(jìn)行初次的修復(fù),以盡量避免用戶數(shù)據(jù)分區(qū)加密失敗,從而有利于提高終端設(shè)備的正常開機(jī)率。
進(jìn)一步地,如圖4所示,步驟310還可以包括以下步驟:
步驟411,若加密流程處于等待確認(rèn)階段,則將加密狀態(tài)標(biāo)識的屬性值設(shè)置為空屬性。
步驟413,若加密流程處于加密預(yù)處理階段,則將加密狀態(tài)標(biāo)識的屬性值設(shè)置為開始屬性。
步驟415,若加密流程處于加密階段,則將加密狀態(tài)標(biāo)識的屬性值設(shè)置為加密屬性。
步驟417,若加密流程處于結(jié)束階段,則將加密狀態(tài)標(biāo)識的屬性值設(shè)置為結(jié)束屬性。
通過如上所述的過程,實(shí)現(xiàn)了加密狀態(tài)標(biāo)識的屬性值的設(shè)置,即無論終端設(shè)備在加密過程中的任何時(shí)刻突然斷電或者意外重啟,加密流程所處的階段都將通過加密狀態(tài)標(biāo)識的屬性值而得到相應(yīng)的記錄,從而有利于后續(xù)根據(jù)該屬性值監(jiān)控終端設(shè)備的加密狀態(tài),以使終端設(shè)備知悉下一步該如何處理。
請參閱圖5,在一示例性實(shí)施例中,所述通過加密狀態(tài)標(biāo)識的屬性值監(jiān)控終端設(shè)備的加密狀態(tài)的步驟510可以包括以下步驟:
步驟511,在加密狀態(tài)標(biāo)識的屬性值為加密屬性時(shí),掛載用戶數(shù)據(jù)分區(qū)對應(yīng)的物理存儲空間。
在加密狀態(tài)標(biāo)識的屬性值為加密屬性時(shí),即表示加密流程處于加密階段。也就是說,在加密階段時(shí),終端設(shè)備可能發(fā)生了某種異常(例如突然斷電)而導(dǎo)致加密過程被中斷,相應(yīng)地,用戶數(shù)據(jù)分區(qū)可能被破壞,即,既有可能尚未加密,也有可能已加密完成,還有可能介于未加密和已加密之間。
換而言之,在加密狀態(tài)標(biāo)識的屬性值為加密屬性時(shí),終端設(shè)備的加密狀態(tài)可能為未加密狀態(tài),也可能為已加密狀態(tài),還有可能為加密失敗狀態(tài)。
基于此,本實(shí)施例中,將通過用戶數(shù)據(jù)分區(qū)所對應(yīng)的存儲空間的掛載成功與否來判斷終端設(shè)備的加密狀態(tài)究竟是哪一種。
進(jìn)一步地,用戶數(shù)據(jù)分區(qū)所對應(yīng)的存儲空間包括物理存儲空間和邏輯存儲空間。其中,物理存儲空間是終端設(shè)備中真實(shí)的存儲設(shè)備,而邏輯存儲空間則是終端設(shè)備中虛擬的存儲設(shè)備,其可視為真實(shí)的存儲設(shè)備的鏡像。
若物理存儲空間掛載成功,即表示物理存儲空間中存儲的用戶數(shù)據(jù)可以被訪問,此時(shí),用戶數(shù)據(jù)分區(qū)尚未加密。
若物理存儲空間掛載失敗而邏輯存儲空間掛載成功,即表示邏輯存儲空間中鏡像形成的用戶數(shù)據(jù)可以被訪問,此時(shí),用戶數(shù)據(jù)分區(qū)已完成加密。
若物理存儲空間和邏輯存儲空間均掛載失敗,即表示用戶數(shù)據(jù)無法訪問,此時(shí),用戶數(shù)據(jù)分區(qū)加密失敗。
具體而言,如以下步驟所描述的:
步驟513,當(dāng)物理存儲空間掛載成功,判定終端設(shè)備的加密狀態(tài)為未加密狀態(tài),并卸載物理存儲空間。
步驟515,當(dāng)物理存儲空間掛載失敗,進(jìn)一步掛載用戶數(shù)據(jù)分區(qū)對應(yīng)的邏輯存儲空間。
步驟517,當(dāng)邏輯存儲空間掛載成功,判定終端設(shè)備的加密狀態(tài)為已加密狀態(tài),并卸載邏輯存儲空間。
步驟519,當(dāng)邏輯存儲空間掛載失敗,判定終端設(shè)備的加密狀態(tài)為加密失敗狀態(tài)。
進(jìn)一步地,如圖6所示,步驟510還可以包括以下步驟:
步驟611,若加密狀態(tài)標(biāo)識的屬性值為空屬性或者開始屬性,則判定終端設(shè)備的加密狀態(tài)為未加密狀態(tài)。
若加密狀態(tài)標(biāo)識的屬性值為空屬性或者開始屬性,即表示加密流程處于等待確認(rèn)階段或者加密預(yù)處理階段,此時(shí),意外中斷的加密過程尚未啟動加密操作,即用戶數(shù)據(jù)分區(qū)尚未加密,則判定終端設(shè)備的加密狀態(tài)為未加密狀態(tài)。
進(jìn)一步地,待開機(jī)流程執(zhí)行完畢,加密狀態(tài)標(biāo)識的屬性值將被修改為空屬性,以使加密流程進(jìn)入等待確認(rèn)階段,等待下一次用戶請求對用戶數(shù)據(jù)分區(qū)的加密。
步驟613,若加密狀態(tài)標(biāo)識的屬性值為出錯(cuò)屬性,則判定終端設(shè)備的加密狀態(tài)為加密失敗狀態(tài)。
若加密狀態(tài)標(biāo)識的屬性值為出錯(cuò)屬性,即表示加密流程中的加密階段出現(xiàn)異常,此時(shí),意外中斷的加密過程已造成用戶數(shù)據(jù)分區(qū)被破壞,即用戶數(shù)據(jù)分區(qū)加密失敗,則判定終端設(shè)備的加密狀態(tài)為加密失敗狀態(tài)。
需要說明的是,在進(jìn)入開機(jī)流程之后,若加密狀態(tài)標(biāo)識的屬性值仍為出錯(cuò)屬性,即表示加密階段所進(jìn)行的用戶數(shù)據(jù)分區(qū)的初次修復(fù)失敗,此時(shí),將終端設(shè)備的加密狀態(tài)判定為加密失敗狀態(tài),以便于對用戶數(shù)據(jù)分區(qū)進(jìn)行再次修復(fù),從而盡可能地避免用戶數(shù)據(jù)分區(qū)加密失敗,以此進(jìn)一步地提高終端設(shè)備的正常開機(jī)率。
進(jìn)一步地,待用戶數(shù)據(jù)分區(qū)修復(fù)完畢且開機(jī)流程執(zhí)行完畢,,加密狀態(tài)標(biāo)識的屬性值被修改為空屬性,以使加密流程進(jìn)入等待確認(rèn)階段,即用戶數(shù)據(jù)分區(qū)恢復(fù)至原始狀態(tài),并等待下一次用戶請求對用戶數(shù)據(jù)分區(qū)的加密。
步驟615,若加密狀態(tài)標(biāo)識的屬性值為結(jié)束屬性,則判定終端設(shè)備的加密狀態(tài)為已加密狀態(tài)。
若加密狀態(tài)標(biāo)識的屬性值為結(jié)束屬性,即表示加密流程處于結(jié)束階段,此時(shí),意外中斷的加密過程已完成加密操作,即用戶數(shù)據(jù)分區(qū)加密完成,則判定終端設(shè)備的加密狀態(tài)為已加密狀態(tài)。
應(yīng)當(dāng)理解,用戶數(shù)據(jù)分區(qū)中存儲的用戶數(shù)據(jù)隨著用戶使用時(shí)間的增長將有所變化,用戶可能不定期地需要對用戶數(shù)據(jù)分區(qū)進(jìn)行加密,以此防止變化的用戶數(shù)據(jù)也能夠不被泄露。
因此,進(jìn)一步地,待開機(jī)流程執(zhí)行完畢,加密狀態(tài)標(biāo)識的屬性值將由結(jié)束屬性修改為空屬性,以等待下一次用戶請求對用戶數(shù)據(jù)分區(qū)的加密。
通過如上所述的過程,實(shí)現(xiàn)了對終端設(shè)備的加密狀態(tài)的監(jiān)控,從而有利于后續(xù)準(zhǔn)確地判斷終端設(shè)備的正常開機(jī)是否受到影響,以進(jìn)行相應(yīng)的處理。
下述為本發(fā)明裝置實(shí)施例,可以用于執(zhí)行本發(fā)明所涉及的終端設(shè)備的開機(jī)方法。對于本發(fā)明裝置實(shí)施例中未披露的細(xì)節(jié),請參照本發(fā)明所涉及的終端設(shè)備的開機(jī)方法的方法實(shí)施例。
請參閱圖7,在一示例性實(shí)施例中,一種終端設(shè)備700包括但不限于:狀態(tài)監(jiān)控模塊710、分區(qū)修復(fù)模塊730、和第一開機(jī)模塊750。
其中,狀態(tài)監(jiān)控模塊710用于監(jiān)控終端設(shè)備的加密狀態(tài)。加密狀態(tài)用于指示終端設(shè)備的用戶數(shù)據(jù)分區(qū)在加密流程中各階段的狀態(tài)。加密狀態(tài)包括未加密狀態(tài)和加密失敗狀態(tài)。
分區(qū)修復(fù)模塊730用于當(dāng)監(jiān)控到終端設(shè)備的加密狀態(tài)為加密失敗狀態(tài),運(yùn)行預(yù)置恢復(fù)程序,通過預(yù)置恢復(fù)程序的運(yùn)行對用戶數(shù)據(jù)分區(qū)進(jìn)行修復(fù)。
第一開機(jī)模塊750用于待用戶數(shù)據(jù)分區(qū)修復(fù)完畢,將終端設(shè)備的加密狀態(tài)由加密失敗狀態(tài)更新為未加密狀態(tài),并執(zhí)行開機(jī)流程。
在一示例性實(shí)施例中,加密狀態(tài)還包括已加密狀態(tài)。相應(yīng)地,終端設(shè)備700還包括但不限于:第二開機(jī)模塊。
其中,第二開機(jī)模塊用于當(dāng)監(jiān)控到終端設(shè)備的加密狀態(tài)為未加密狀態(tài)或者已加密狀態(tài),執(zhí)行開機(jī)流程。
在一示例性實(shí)施例中,終端設(shè)備700還包括但不限于:標(biāo)識設(shè)置模塊。
其中,標(biāo)識設(shè)置模塊用于在對用戶數(shù)據(jù)分區(qū)執(zhí)行加密流程時(shí),根據(jù)加密流程中的各階段為預(yù)設(shè)的加密狀態(tài)標(biāo)識設(shè)置相應(yīng)的屬性值。
相應(yīng)地,狀態(tài)監(jiān)控模塊710監(jiān)控終端設(shè)備700的加密狀態(tài)包括但不限于:
讀取加密狀態(tài)標(biāo)識的屬性值,并通過加密狀態(tài)標(biāo)識的屬性值監(jiān)控終端設(shè)備的加密狀態(tài)。
在一示例性實(shí)施例中,標(biāo)識設(shè)置模塊810根據(jù)加密流程中的各階段為預(yù)設(shè)的加密狀態(tài)標(biāo)識設(shè)置相應(yīng)的屬性值包括但不限于:
在加密流程中的加密階段出現(xiàn)異常時(shí),將加密狀態(tài)標(biāo)識的屬性值設(shè)置為出錯(cuò)屬性,并運(yùn)行預(yù)置恢復(fù)程序,以修復(fù)用戶數(shù)據(jù)分區(qū)。
待用戶數(shù)據(jù)分區(qū)修復(fù)完畢,將加密狀態(tài)標(biāo)識的屬性值由出錯(cuò)屬性修改為空屬性,以使加密流程由加密階段進(jìn)入等待確認(rèn)階段。
進(jìn)一步地,標(biāo)識設(shè)置模塊810根據(jù)加密流程中的各階段為預(yù)設(shè)的加密狀態(tài)標(biāo)識設(shè)置相應(yīng)的屬性值還包括但不限于:
若加密流程處于等待確認(rèn)階段,則將加密狀態(tài)標(biāo)識的屬性值設(shè)置為空屬性。
若加密流程處于加密預(yù)處理階段,則將加密狀態(tài)標(biāo)識的屬性值設(shè)置為開始屬性。
若加密流程處于加密階段,則將加密狀態(tài)標(biāo)識的屬性值設(shè)置為加密屬性。
若加密流程處于結(jié)束階段,則將加密狀態(tài)標(biāo)識的屬性值設(shè)置為結(jié)束屬性。
在一示例性實(shí)施例中,狀態(tài)監(jiān)控模塊710通過所述加密狀態(tài)標(biāo)識的屬性值監(jiān)控所述終端設(shè)備的加密狀態(tài)包括但不限于:
在加密狀態(tài)標(biāo)識的屬性值為加密屬性時(shí),掛載用戶數(shù)據(jù)分區(qū)對應(yīng)的物理存儲空間。
當(dāng)物理存儲空間掛載成功,判定終端設(shè)備的加密狀態(tài)為未加密狀態(tài),并卸載物理存儲空間。
當(dāng)物理存儲空間掛載失敗,進(jìn)一步掛載用戶數(shù)據(jù)分區(qū)對應(yīng)的邏輯存儲空間。
當(dāng)邏輯存儲空間掛載成功,判定終端設(shè)備的加密狀態(tài)為已加密狀態(tài),并卸載邏輯存儲空間。
當(dāng)邏輯存儲空間掛載失敗,判定終端設(shè)備的加密狀態(tài)為加密失敗狀態(tài)。
進(jìn)一步地,狀態(tài)監(jiān)控模塊710通過所述加密狀態(tài)標(biāo)識的屬性值監(jiān)控所述終端設(shè)備的加密狀態(tài)還包括但不限于:
若加密狀態(tài)標(biāo)識的屬性值為空屬性或者開始屬性,則判定終端設(shè)備的加密狀態(tài)為未加密狀態(tài)。
若加密狀態(tài)標(biāo)識的屬性值為出錯(cuò)屬性,則判定終端設(shè)備的加密狀態(tài)為加密失敗狀態(tài)。
若加密狀態(tài)標(biāo)識的屬性值為結(jié)束屬性,則判定終端設(shè)備的加密狀態(tài)為已加密狀態(tài)。
需要說明的是,上述實(shí)施例所提供的終端設(shè)備在開機(jī)時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即終端設(shè)備的內(nèi)部結(jié)構(gòu)將劃分為不同的功能模塊,以完成以上描述的全部或者部分功能。
另外,上述實(shí)施例所提供的終端設(shè)備與終端設(shè)備的開機(jī)方法的實(shí)施例屬于同一構(gòu)思,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在方法實(shí)施例中進(jìn)行了詳細(xì)描述,此處不再贅述。
上述內(nèi)容,僅為本發(fā)明的較佳示例性實(shí)施例,并非用于限制本發(fā)明的實(shí)施方案,本領(lǐng)域普通技術(shù)人員根據(jù)本發(fā)明的主要構(gòu)思和精神,可以十分方便地進(jìn)行相應(yīng)的變通或修改,故本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求書所要求的保護(hù)范圍為準(zhǔn)。