本發(fā)明涉及終端設(shè)備技術(shù)領(lǐng)域,特別涉及一種系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)方法及系統(tǒng)。
背景技術(shù):
近年來Android智能手機的普及率越來越高,用戶體驗也越來越好,不過系統(tǒng)安全問題一直是用戶和運營商關(guān)注的重點,Google以及各手機方案提供商也在安全方面做了很多改善。如分區(qū)加密、安全版本號驗證等方案。但是針對系統(tǒng)分區(qū),由于分區(qū)文件太大,無法對其進(jìn)行加密處理。目前Google只提供了DM-verity機制來保證系統(tǒng)分區(qū)的數(shù)據(jù)安全,而該機制是開源的項目,并且在某些特定條件下可以用adb命令關(guān)閉。這樣,當(dāng)系統(tǒng)分區(qū)里的某些數(shù)據(jù)文件被破解(如記錄系統(tǒng)屬性的文件),那么就相當(dāng)于破解了整個系統(tǒng),使得系統(tǒng)的安全性受到影響。
因而現(xiàn)有技術(shù)還有待改進(jìn)和提高。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的不足,提供一種系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)方法及系統(tǒng),實現(xiàn)在無需對整個系統(tǒng)分區(qū)進(jìn)行加密的情況下保護(hù)系統(tǒng)分區(qū)的關(guān)鍵數(shù)據(jù)。
為了解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案如下:
一種系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)方法,其包括:
在Bootloader啟動時,獲取系統(tǒng)分區(qū)文件攜帶的關(guān)鍵數(shù)據(jù)對應(yīng)的驗證表,其中,所述驗證表包括數(shù)字簽名、塊地址以及Hash值;
采用預(yù)設(shè)的公鑰或私鑰解密所述數(shù)字簽名得到第一驗證值;
根據(jù)所述塊地址和Hash值生成第二驗證值,將第一驗證值和第二驗證值進(jìn)行比較;
若第一驗證值與第二驗證值一致,則啟動系統(tǒng)。
所述系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)方法,其中,所述若第一驗證值與第二驗證值一致,則啟動系統(tǒng)具體包括:
若第一驗證值與第二驗證值一致,則根據(jù)所述塊地址計算所述關(guān)鍵數(shù)據(jù)的當(dāng)前Hash值;
將所述當(dāng)前Hash值與所述Hash值進(jìn)行比較,當(dāng)所述當(dāng)前Hash值與所述Hash值一致時,啟動系統(tǒng)。
所述系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)方法,其中,所述在Bootloader啟動時,獲取系統(tǒng)分區(qū)文件攜帶的關(guān)鍵數(shù)據(jù)對應(yīng)的驗證表,其中,所述驗證表包括數(shù)字簽名信息、塊地址以及Hash值之前還包括:
在編譯系統(tǒng)文件時,生成記錄有系統(tǒng)分區(qū)所有文件及其對應(yīng)的塊地址的映射文件;
根據(jù)所述映射文件確定所述關(guān)鍵數(shù)據(jù)對應(yīng)的塊地址,并計算所述塊地址的Hash值;
根據(jù)所述塊地址和Hash值生成第一驗證值,并采用預(yù)設(shè)的私鑰或公鑰加密所述第一驗證值得到所述數(shù)字簽名;
將所述數(shù)字簽名、塊地址以及Hash值存于所述驗證表,并將所述驗證表追加至系統(tǒng)文件后面。
所述系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)方法,其中,所述根據(jù)所述塊地址和Hash值生成第一驗證值,并采用預(yù)設(shè)的私鑰或公鑰加密所述第一驗證值得到所述數(shù)字簽名具體包括:
將所述Hash值放置于所述塊地址后生成第一待驗證值,并計算所述第一待驗證值的Hash值以得到第一驗證值;
采用預(yù)設(shè)的私鑰或公鑰加密所述第一驗證值得到所述數(shù)字簽名,其中,所述私鑰為所述公鑰對應(yīng)的私鑰。
所述系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)方法,其中,所述將所述數(shù)字簽名信息、塊地址以及Hash值存于所述驗證表,并將所述驗證表追加至系統(tǒng)文件后面之后還包括:
將所述私鑰或公鑰對應(yīng)的公鑰或私鑰以數(shù)組的形式編譯到Bootloader,以使得在Bootloader啟動時采用所述公鑰或私鑰解密所述數(shù)字簽名。
一種系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)系統(tǒng),其包括:
獲取模塊,用于在Bootloader啟動時,獲取系統(tǒng)分區(qū)文件攜帶的關(guān)鍵數(shù)據(jù)對應(yīng)的驗證表,其中,所述驗證表包括數(shù)字簽名、塊地址以及Hash值;
解密模塊,用于采用預(yù)設(shè)的公鑰或私鑰解密所述數(shù)字簽名得到第一驗證值;
比較模塊,用于根據(jù)所述塊地址和Hash值生成第二驗證值,將第一驗證值和第二驗證值進(jìn)行比較;
執(zhí)行模塊,用于當(dāng)?shù)谝或炞C值與第二驗證值一致時,啟動系統(tǒng)。
所述系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)系統(tǒng),其中,所述執(zhí)行模塊具體包括:
計算單元,用于當(dāng)?shù)谝或炞C值與第二驗證值一致時,根據(jù)所述塊地址計算所述關(guān)鍵數(shù)據(jù)的當(dāng)前Hash值;
執(zhí)行單元,用于將所述當(dāng)前Hash值與所述Hash值進(jìn)行比較,當(dāng)所述當(dāng)前Hash值與所述Hash值一致時,啟動系統(tǒng)。
所述系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)系統(tǒng),其還包括:
生成模塊,用于在編譯系統(tǒng)文件時,生成記錄有系統(tǒng)分區(qū)所有文件及其對應(yīng)的塊地址的映射文件;
計算模塊,用于根據(jù)所述映射文件確定所述關(guān)鍵數(shù)據(jù)對應(yīng)的塊地址,并計算所述塊地址的Hash值;
加密模塊,用于根據(jù)所述塊地址和Hash值生成第一驗證值,并采用預(yù)設(shè)的私鑰或公鑰加密所述第一驗證值得到所述數(shù)字簽名;
存儲模塊,用于將所述數(shù)字簽名、塊地址以及Hash值存于所述驗證表,并將所述驗證表追加至系統(tǒng)文件后面。
所述系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)系統(tǒng),其中,所述加密模塊具體包括:
生成單元,用于將所述Hash值放置于所述塊地址后生成第一待驗證值,并計算所述第一待驗證值的Hash值以得到第一驗證值;
加密單元,用于采用預(yù)設(shè)的私鑰或公鑰加密所述第一驗證值得到所述數(shù)字簽名,其中,所述私鑰為所述公鑰對應(yīng)的私鑰。
所述系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)系統(tǒng),其還包括:
編譯模塊,用于將所述私鑰或公鑰對應(yīng)的公鑰或私鑰以數(shù)組的形式編譯到Bootloader,以使得在Bootloader啟動時采用所述公鑰或私鑰解密所述數(shù)字簽名。
有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明提供了一種系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)方法及系統(tǒng),所述方法包括:在Bootloader啟動時,獲取系統(tǒng)分區(qū)文件攜帶的關(guān)鍵數(shù)據(jù)對應(yīng)的驗證表,其中,所述驗證表包括數(shù)字簽名、塊地址以及Hash值;采用預(yù)設(shè)的公鑰或私鑰解密所述數(shù)字簽名得到第一驗證值;根據(jù)所述塊地址和Hash值生成第二驗證值,將第一驗證值和第二驗證值進(jìn)行比較;若第一驗證值與第二驗證值一致,則啟動系統(tǒng)。本發(fā)明通過對系統(tǒng)關(guān)鍵數(shù)據(jù)的驗證,而不是先進(jìn)行整個系統(tǒng)文件分區(qū)校驗后,再加加載系統(tǒng)文件;從而節(jié)省了讀取整個文件系統(tǒng)分區(qū)的時間,大大減少了系統(tǒng)啟動時間,同時對系統(tǒng)進(jìn)行了保護(hù)。
附圖說明
圖1為本發(fā)明提供的系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)方法較佳實施的流程圖。
圖2為本發(fā)明提供的系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)系統(tǒng)的結(jié)構(gòu)原理圖。
具體實施方式
本發(fā)明提供一種系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)方法及系統(tǒng),為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下參照附圖并舉實施例對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身并沒有特定的意義。因此,模塊”、“部件”或“單元”可以混合地使用。
終端設(shè)備可以以各種形式來實施。例如,本發(fā)明中描述的終端可以包括諸如移動電話、智能電話、筆記本電腦、數(shù)字廣播接收器、PDA(個人數(shù)字助理)、PAD(平板電腦)、PMP(便攜式多媒體播放器)、導(dǎo)航裝置等等的移動終端以及諸如數(shù)字TV、臺式計算機等等的固定終端。然而,本領(lǐng)域技術(shù)人員將理解的是,除了特別用于移動目的的元件之外,根據(jù)本發(fā)明的實施方式的構(gòu)造也能夠應(yīng)用于固定類型的終端。
下面結(jié)合附圖,通過對實施例的描述,對發(fā)明內(nèi)容作進(jìn)一步說明。
請參照圖1,圖1為本發(fā)明提供的系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)方法的較佳實施例的流程圖。所述方法包括:
S101、在Bootloader啟動時,獲取系統(tǒng)分區(qū)文件攜帶的關(guān)鍵數(shù)據(jù)對應(yīng)的驗證表,其中,所述驗證表包括數(shù)字簽名、塊地址以及Hash值;
S102、采用預(yù)設(shè)的公鑰或私鑰解密所述數(shù)字簽名得到第一驗證值;
S103、根據(jù)所述塊地址和Hash值生成第二驗證值,將第一驗證值和第二驗證值進(jìn)行比較;
S104、若第一驗證值與第二驗證值一致,則啟動系統(tǒng)。
本實施例提供在Bootloader啟動時,對系統(tǒng)分區(qū)文件攜帶的關(guān)鍵數(shù)據(jù)的驗證表進(jìn)行解析以得到數(shù)字簽名、塊地址以及Hash值;通過對數(shù)字簽名解密得到第一驗證值,并根據(jù)塊地址以及Hash值生成第二驗證值;通過第一驗證值和第二驗證值的比較來判定所述關(guān)鍵數(shù)據(jù)是否被篡改,進(jìn)行判定是否啟動系統(tǒng)。本發(fā)明通過對系統(tǒng)關(guān)鍵數(shù)據(jù)的驗證,而不是先進(jìn)行整個系統(tǒng)文件分區(qū)校驗后,再加加載系統(tǒng)文件;從而節(jié)省了讀取整個文件系統(tǒng)分區(qū)的時間,大大減少了系統(tǒng)啟動時間,同時對系統(tǒng)進(jìn)行了保護(hù)。
具體的來說,在所述步驟S101中,所述關(guān)鍵數(shù)據(jù)預(yù)設(shè)設(shè)置的系統(tǒng)分區(qū)文件的一部分,例如,記錄系統(tǒng)屬性的文件。也就是說,所述關(guān)鍵數(shù)據(jù)也為系統(tǒng)分區(qū)文件。
在所述步驟S102中,所述公鑰或私鑰為Bootloader啟動程序中攜帶的,用于解密所述數(shù)字簽名。所述公鑰或私鑰與系統(tǒng)編譯過程中對所述第一驗證值進(jìn)行加密的私鑰或公鑰相對應(yīng)。
在所述步驟S103中,所述根據(jù)塊地址(Key Blocks)和Hash值(Key Hash)為系統(tǒng)分區(qū)文件中的驗證表中攜帶的塊地址和Hash值。所述根據(jù)所述塊地址和Hash值生成第二驗證值生成第二驗證值具體為將所述Hash值放置于塊地址之后形成第二待驗證值(Key Blocks+Key Hash),之后openssl庫中提供的EVP系列函數(shù)來計算這段地址的SHA256哈希值記為第二驗證值。在實際應(yīng)用中,當(dāng)所述塊地址(Key Blocks)對應(yīng)的內(nèi)容太大時,可以采用則采用以4K為單位分段讀取內(nèi)容,并分別每段內(nèi)容輸入到EVP函數(shù)中,最終輸出一個SHA256哈希值。由于所述分段輸入得到的SHA256哈希值等同于對整段內(nèi)容直接計算SHA256哈希值,從而將所述分段輸入得到的SHA256哈希值記為第二驗證值。值得說明的,所述根據(jù)塊地址和Hash值生成第二驗證值的方法與第一驗證值的生成方法一樣,這樣可以根據(jù)第一驗證值和第二驗證值的一致性來判斷系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)文件是否被篡改,進(jìn)而判斷系統(tǒng)的安全性。
在所述步驟S104中,所述第一驗證值與第二驗證一致,認(rèn)為該關(guān)鍵數(shù)據(jù)文件是沒有被篡改的,可以正常啟動系統(tǒng)。當(dāng)然,當(dāng)?shù)谝或炞C值與第二驗證不一致時,判定關(guān)鍵數(shù)據(jù)文件被篡改,自動關(guān)機。
在本發(fā)明的一個實施例中,所述步驟S104:若第一驗證值與第二驗證值一致,則啟動系統(tǒng)具體可以包括:
S1041、若第一驗證值與第二驗證值一致,則根據(jù)所述塊地址計算所述關(guān)鍵數(shù)據(jù)的當(dāng)前Hash值;
S1042、將所述當(dāng)前Hash值與所述Hash值進(jìn)行比較,當(dāng)所述當(dāng)前Hash值與所述Hash值一致時,啟動系統(tǒng)。
本實施例在第一驗證值和第二驗證值一致的情況下,將驗證表攜帶的Hash值與根據(jù)塊地址計算的當(dāng)前Hash值進(jìn)行比較,進(jìn)而判定所述關(guān)鍵數(shù)據(jù)的存放地址是否發(fā)生變化,在關(guān)鍵數(shù)據(jù)的存放地址未發(fā)生變化時,正常啟動系統(tǒng)。這樣在關(guān)鍵數(shù)據(jù)未篡改以及存放地址未發(fā)生變化時才正常啟動系統(tǒng),進(jìn)一步提高了系統(tǒng)的安全。
實施例一
本實施例提供了一種系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)方法,其具體包括:
S201、在編譯系統(tǒng)文件時,生成記錄有系統(tǒng)分區(qū)所有文件及其對應(yīng)的塊地址的映射文件;
S202、根據(jù)所述映射文件確定所述關(guān)鍵數(shù)據(jù)對應(yīng)的塊地址,并計算所述塊地址的Hash值;
S203、根據(jù)所述塊地址和Hash值生成第一驗證值,并采用預(yù)設(shè)的私鑰或公鑰加密所述第一驗證值得到所述數(shù)字簽名;
S204、將所述數(shù)字簽名、塊地址以及Hash值存于所述驗證表,并將所述驗證表追加至系統(tǒng)文件后面;
S205、在Bootloader啟動時,獲取系統(tǒng)分區(qū)文件攜帶的所述關(guān)鍵數(shù)據(jù)對應(yīng)的驗證表;
S206、采用預(yù)設(shè)的公鑰和私鑰解密所述數(shù)字簽名得到第一驗證值;
S207、根據(jù)所述塊地址和Hash值生成第二驗證值,將第一驗證值和第二驗證值進(jìn)行比較;
S208、若第一驗證值與第二驗證值一致,則啟動系統(tǒng)。
本實施提供的系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)方法中,首先在編譯系統(tǒng)分區(qū)文件時生成記錄有系統(tǒng)分區(qū)所有文件及其對應(yīng)的塊地址的映射文件,并根據(jù)所述映射文件確定所述關(guān)鍵數(shù)據(jù)對應(yīng)的塊地址,根據(jù)所述塊地址生成第一驗證值,在采用公鑰或私鑰加密生成數(shù)字簽名。在Bootloader啟動時,獲取系統(tǒng)分區(qū)文件攜帶的數(shù)字簽名,塊地址和Hash值,并采用私鑰或公鑰解密數(shù)字簽名得到第一驗證值,同時根據(jù)塊地址和Hash值生成第二驗證值,根據(jù)第一驗證值和第二驗證值判斷關(guān)鍵數(shù)據(jù)是否被篡改,進(jìn)而判斷系統(tǒng)是否安全。
具體地來說,在所述步驟S201中,所述在編譯系統(tǒng)文件時,生成記錄系統(tǒng)分區(qū)所有文件以及其對應(yīng)塊地址的映射文件(map文件),所述map文件內(nèi)記載著系統(tǒng)分區(qū)文件的名稱以及其對應(yīng)的塊地址。也就是說,所述map文件中記錄有系統(tǒng)分區(qū)文件名稱、塊地址,以及系統(tǒng)系統(tǒng)文件名稱與塊地址之間的對應(yīng)關(guān)系。在所述map文件中,根據(jù)系統(tǒng)分區(qū)文件名稱可以確定其對應(yīng)的塊地址,根據(jù)塊地址也可以確定其對應(yīng)的系統(tǒng)分區(qū)文件名稱。這樣可以從所述map文件中解析出關(guān)鍵數(shù)據(jù)文件對應(yīng)的塊地址。在實際應(yīng)用中,所述map文件的內(nèi)容摘選可以為:
/system/xbin/tcpdump 293974-294294
/system/xbin/taskstats 293969-293972
/system/xbin/su 293965-293967
/system/xbin/strace 293801-293963
/system/xbin/sqlite3293781-293799
/system/xbin/simpleperf 293680-293779。
在所述步驟S202中,所述塊地址Key Blocks通常是以xxx-xxx格式記錄的一段地址范圍。所述計算所述塊地址的Hash值可以采用openssl庫中提供的EVP系列函數(shù)來計算這段地址的SHA256哈希值,如果這段地址的內(nèi)容太大,則采用以4K為單位分段讀取內(nèi)容,輸入到EVP函數(shù)中,最終輸出一個SHA256哈希值,其最終結(jié)果等同于對整段內(nèi)容直接計算SHA256哈希值。所述使用EVP計算SHA256哈希值的偽代碼可以為:
在所述步驟S203中,所述根據(jù)所述塊地址和Hash值生成第一驗值可以采用RSA2048算法確定第一驗證值,再采用預(yù)先生成的私鑰或公鑰對所述第一驗證值加密得到數(shù)字簽名(Signature)。所述數(shù)字簽名(Signature)的計算方法采用標(biāo)準(zhǔn)的RSA簽名過程,其具體為:獲取要簽名的內(nèi)容[Key Blocks+Key Hash],再用RSA2048算法對以上內(nèi)容進(jìn)行簽名得到數(shù)字簽名(Signature)。值得說明的,所述加密采用的私鑰或公鑰與后面解密采用的公鑰或私鑰成對的。
示例性的,根據(jù)所述塊地址和Hash值生成第一驗證值,并采用預(yù)設(shè)的私鑰或公鑰加密所述第一驗證值得到所述數(shù)字簽名具體可以包括:
S2031、所述將所述Hash值放置于所述塊地址后生成第一待驗證值,并計算所述第一待驗證值的Hash值以得到第一驗證值;
S2032、采用預(yù)設(shè)的私鑰或公鑰加密所述第一驗證值得到所述數(shù)字簽名。
在本發(fā)明的另一個實施例中,為了便于在Bootloader啟動時獲取所述私鑰或公鑰對應(yīng)的公鑰或私鑰,在所述步驟S204之后還可以包括:將所述私鑰或公鑰對應(yīng)的公鑰或私鑰以數(shù)組的形式編譯到Bootloader,以使得在Bootloader啟動時采用所述公鑰或私鑰解密所述數(shù)字簽名。
本發(fā)明還提供了一種系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)系統(tǒng),如圖2所示,其包括:
獲取模塊100,用于在Bootloader啟動時,獲取系統(tǒng)分區(qū)文件攜帶的關(guān)鍵數(shù)據(jù)對應(yīng)的驗證表,其中,所述驗證表包括數(shù)字簽名、塊地址以及Hash值;
解密模塊200,用于采用預(yù)設(shè)的公鑰或私鑰解密所述數(shù)字簽名得到第一驗證值;
比較模塊300,用于根據(jù)所述塊地址和Hash值生成第二驗證值,將第一驗證值和第二驗證值進(jìn)行比較;
執(zhí)行模塊400,用于當(dāng)?shù)谝或炞C值與第二驗證值一致時,啟動系統(tǒng)。
所述系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)系統(tǒng),其中,所述執(zhí)行模塊具體包括:
計算單元,用于當(dāng)?shù)谝或炞C值與第二驗證值一致時,根據(jù)所述塊地址計算所述關(guān)鍵數(shù)據(jù)的當(dāng)前Hash值;
執(zhí)行單元,用于將所述當(dāng)前Hash值與所述Hash值進(jìn)行比較,當(dāng)所述當(dāng)前Hash值與所述Hash值一致時,啟動系統(tǒng)。
所述系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)系統(tǒng),其還包括:
生成模塊,用于在編譯系統(tǒng)文件時,生成記錄有系統(tǒng)分區(qū)所有文件及其對應(yīng)的塊地址的映射文件;
計算模塊,用于根據(jù)所述映射文件確定所述關(guān)鍵數(shù)據(jù)對應(yīng)的塊地址,并計算所述塊地址的Hash值;
加密模塊,用于根據(jù)所述塊地址和Hash值生成第一驗證值,并采用預(yù)設(shè)的私鑰或公鑰加密所述第一驗證值得到所述數(shù)字簽名;
存儲模塊,用于將所述數(shù)字簽名、塊地址以及Hash值存于所述驗證表,并將所述驗證表追加至系統(tǒng)文件后面。
所述系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)系統(tǒng),其中,所述加密模塊具體包括:
生成單元,用于將所述Hash值放置于所述塊地址后生成第一待驗證值,并計算所述第一待驗證值的Hash值以得到第一驗證值;
加密單元,用于采用預(yù)設(shè)的私鑰或公鑰加密所述第一驗證值得到所述數(shù)字簽名,其中,所述私鑰為所述公鑰對應(yīng)的私鑰。
所述系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)系統(tǒng),其還包括:
編譯模塊,用于將所述私鑰或公鑰對應(yīng)的公鑰或私鑰以數(shù)組的形式編譯到Bootloader,以使得在Bootloader啟動時采用所述公鑰或私鑰解密所述數(shù)字簽名。
上述系統(tǒng)分區(qū)關(guān)鍵數(shù)據(jù)的保護(hù)系統(tǒng)的各個模塊在上述方法中已經(jīng)詳細(xì)說明,在這里就不再一一陳述。
在本發(fā)明所提供的實施例中,應(yīng)該理解到,所揭露的系統(tǒng)和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。
上述以軟件功能單元的形式實現(xiàn)的集成的單元,可以存儲在一個計算機可讀取存儲介質(zhì)中。上述軟件功能單元存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個實施例所述方法的部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(Read-Only Memory,ROM)、隨機存取存儲器(Random Access Memory,RAM)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。