校驗系統(tǒng)鏡像合法性的方法及裝置制造方法
【專利摘要】本申請公開了一種校驗系統(tǒng)鏡像合法性的方法及裝置。其中,所述方法包括根據(jù)存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序?qū)τ糜谝龑?dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像的合法性進(jìn)行校驗;之后根據(jù)所述啟動加載器鏡像被校驗為合法的校驗結(jié)果,判定所述系統(tǒng)鏡像合或非法。由此可見,系統(tǒng)上電后的啟動順序變?yōu)椋喊踩珣B(tài)引導(dǎo)程序->啟動加載器鏡像->操作系統(tǒng)鏡像。由于加密前的啟動加載器鏡像與解密后的啟動加載鏡像是一一對應(yīng)的,因此,如果解密后的啟動加載器鏡像與加密前的啟動加載器鏡像完全一致,表明啟動加載器鏡像未被非法修改,其對應(yīng)的系統(tǒng)鏡像也是合法的,否則,表明啟動加載器鏡像已被非法修改,其對應(yīng)的系統(tǒng)鏡像也是非法的。
【專利說明】校驗系統(tǒng)鏡像合法性的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本申請涉及數(shù)據(jù)安全【技術(shù)領(lǐng)域】,尤其涉及一種校驗系統(tǒng)鏡像合法性的方法及裝置。
【背景技術(shù)】
[0002]操作系統(tǒng)鏡像文件就是操作系統(tǒng)安裝光盤上所有數(shù)據(jù)的克隆文件,一般鏡像文件后綴是〃.1S0",常用的編輯系統(tǒng)鏡像文件的軟件有ULtraIS0、POWerIS0等。鏡像文件其實和ZIP壓縮包類似,它將特定的一系列文件按照一定的格式制作成單一的文件,以方便用戶下載和使用,例如一個測試版的操作系統(tǒng)、游戲等。操作系統(tǒng)鏡像最重要的特點是可以被特定的軟件識別并可直接刻錄到光盤上。鏡像文件利用一些虛擬光驅(qū)工具進(jìn)行解壓后才能使用。
[0003]目前在智能終端如手機(jī)、平板電腦上,安卓系統(tǒng)的使用越來越廣泛。除了官方渠道提供安卓系統(tǒng)的鏡像外,在一些非官方渠道也會存在大量的非官方安卓系統(tǒng)鏡像,比如一些發(fā)燒友及業(yè)余愛好者發(fā)布在某些電子愛好者論壇上的安卓系統(tǒng)鏡像,聲稱破解了某些功能或修復(fù)了某些錯誤。但是,由于網(wǎng)絡(luò)的公開性,以及網(wǎng)絡(luò)安全的復(fù)雜性,某些不法分子會在安卓系統(tǒng)鏡像中加入一些木馬病毒、惡意軟件等,竊取用戶信息或盜取支付寶金額等。因此,如何校驗出非法安卓系統(tǒng)鏡像成為當(dāng)前亟待解決的問題之一。
[0004]眾所周知,無論是直接啟動操作系統(tǒng)還是操作系統(tǒng)鏡像,在系統(tǒng)啟動之前,都需要先運彳丁啟動程序啟動加載器鏡像boot loader,引導(dǎo)丨呆作系統(tǒng)的啟動,以初始化硬件設(shè)備、創(chuàng)建存儲器空間的映射,以便為操作系統(tǒng)準(zhǔn)備好正確的軟硬件環(huán)境。
[0005]為此,為了校驗非法系統(tǒng)鏡像,,現(xiàn)有技術(shù)中提供了一種結(jié)合啟動加載器鏡像bootloader的解決方案,其大致是通過在啟動加載器鏡像中增加校驗功能,并將啟動加載器鏡像boot loader存儲在flash的隱蔽分區(qū),保持對用戶不可見。但是,仍然可以通過一定的技術(shù)手段,找到啟動加載器鏡像bootloader的存儲分區(qū),對啟動加載器鏡像bootloader進(jìn)行修改,仍然無法校驗出非法系統(tǒng)鏡像。
【發(fā)明內(nèi)容】
[0006]本申請所要解決的技術(shù)問題在于提供一種校驗系統(tǒng)鏡像合法性的方法及裝置,用以克服現(xiàn)有技術(shù)中可對啟動加載鏡像bootloader進(jìn)行修改仍然無法校驗出非法系統(tǒng)鏡像。
[0007]為了解決上述問題,本申請揭示了一種校驗系統(tǒng)鏡像合法性的方法,包括:根據(jù)存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像的合法性進(jìn)行校驗;根據(jù)所述啟動加載器鏡像被校驗為合法的校驗結(jié)果,判定所述系統(tǒng)鏡像合法;或者,根據(jù)所述啟動加載器鏡像被校驗為非法的校驗結(jié)果,判定所述系統(tǒng)鏡像非法。
[0008]進(jìn)一步地,所述根據(jù)存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像的合法性進(jìn)行校驗之前還包括:使用存儲在所述安全態(tài)存儲器上的加密密鑰,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像進(jìn)行加密,得到加密后的啟動加載器鏡像。
[0009]進(jìn)一步地,所述根據(jù)存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像的合法性進(jìn)行校驗包括:存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序使用存儲在所述安全態(tài)存儲器上的加密密鑰,對加密后的啟動加載器鏡像進(jìn)行解密;根據(jù)對加密后的啟動加載器鏡像進(jìn)行解密的結(jié)果,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的加密后的啟動加載器鏡像的合法性進(jìn)行校驗。
[0010]進(jìn)一步地,所述根據(jù)存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像的合法性進(jìn)行校驗包括:存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序使用存儲在所述安全態(tài)存儲器上與加密私鑰匹配的解密私鑰,對使用所述加密私鑰加密后的啟動加載器鏡像進(jìn)行解密;根據(jù)對加密后的啟動加載器鏡像進(jìn)行解密的結(jié)果,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的加密后的啟動加載器鏡像的合法性進(jìn)行校驗。
[0011]進(jìn)一步地,根據(jù)存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像的合法性進(jìn)行校驗之前還包括:通過硬件資源和軟件資源隔離的方式在處理器上形成普通區(qū)和安全區(qū),使所述安全態(tài)存儲器位于所述安全區(qū)。
[0012]為了解決上述問題,本申請揭示了一種校驗系統(tǒng)鏡像合法性的裝置,包括:校驗?zāi)K,用于根據(jù)存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像的合法性進(jìn)行校驗;判定模塊,用于根據(jù)所述啟動加載器鏡像被校驗為合法的校驗結(jié)果,判定所述系統(tǒng)鏡像合法;或者,根據(jù)所述啟動加載器鏡像被校驗為非法的校驗結(jié)果,判定所述系統(tǒng)鏡像非法。
[0013]進(jìn)一步地,還包括:加密單元,用于使用存儲在所述安全態(tài)存儲器上的加密密鑰,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像進(jìn)行加密,得到加密后的啟動加載器鏡像。
[0014]進(jìn)一步地,所述校驗?zāi)K包括:解密單元,用于存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序使用存儲在所述安全態(tài)存儲器上的加密密鑰,對加密后的啟動加載器鏡像進(jìn)行解密;校驗單元,用于根據(jù)對加密后的啟動加載器鏡像進(jìn)行解密的結(jié)果,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的加密后的啟動加載器鏡像的合法性進(jìn)行校驗。
[0015]進(jìn)一步地,所述校驗?zāi)K包括:解密單元,用于存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序使用存儲在所述安全態(tài)存儲器上與加密私鑰匹配的解密私鑰,對使用所述加密私鑰加密后的啟動加載器鏡像進(jìn)行解密;校驗單元,用于根據(jù)對加密后的啟動加載器鏡像進(jìn)行解密的結(jié)果,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的加密后的啟動加載器鏡像的合法性進(jìn)行校驗。
[0016]進(jìn)一步地,還包括硬件邏輯模塊,用于隔離硬件資源和軟件資源以在處理器上形成普通區(qū)和安全區(qū),使所述安全態(tài)存儲器位于所述安全區(qū)。
[0017]與現(xiàn)有技術(shù)相比,本申請可以獲得包括以下技術(shù)效果:
[0018]根據(jù)存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序?qū)τ糜谝龑?dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像的合法性進(jìn)行校驗;之后根據(jù)所述啟動加載器鏡像被校驗為合法的校驗結(jié)果,判定所述系統(tǒng)鏡像合或非法。由此可見,系統(tǒng)上電后的啟動順序變?yōu)?安全態(tài)引導(dǎo)程序-> 啟動加載器鏡像-> 操作系統(tǒng)鏡像。由于加密前的啟動加載器鏡像與解密后的啟動加載鏡像是一一對應(yīng)的,因此,如果解密后的啟動加載器鏡像與加密前的啟動加載器鏡像完全一致,表明啟動加載器鏡像未被非法修改,其對應(yīng)的系統(tǒng)鏡像也是合法的,否則,表明啟動加載器鏡像已被非法修改,其對應(yīng)的系統(tǒng)鏡像也是非法的。
【專利附圖】
【附圖說明】
[0019]此處所說明的附圖用來提供對本申請的進(jìn)一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
[0020]圖1為本本申請實施例一校驗系統(tǒng)鏡像合法性的方法流程示意圖;
[0021]圖2為本申請實施例二校驗系統(tǒng)鏡像合法性的方法流程示意圖;
[0022]圖3為本申請實施例三解密啟動加載器鏡像的流程示意圖;
[0023]圖4為本申請實施例四解密啟動加載器鏡像的流程示意圖;
[0024]圖5為本申請實施例五校驗系統(tǒng)鏡像合法性的裝置功能框圖;
[0025]圖6為本申請實施例六校驗系統(tǒng)鏡像合法性的裝置功能框圖;
[0026]圖7為本申請實施例七校驗?zāi)K的功能框圖;
[0027]圖8為本申請實施例八校驗?zāi)K的功能框圖。
【具體實施方式】
[0028]以下將配合附圖及實施例來詳細(xì)說明本申請的實施方式,藉此對本申請如何應(yīng)用技術(shù)手段來解決技術(shù)問題并達(dá)成技術(shù)功效的實現(xiàn)過程能充分理解并據(jù)以實施。
[0029]如在說明書及權(quán)利要求當(dāng)中使用了某些詞匯來指稱特定組件。本領(lǐng)域技術(shù)人員應(yīng)可理解,硬件制造商可能會用不同名詞來稱呼同一個組件。本說明書及權(quán)利要求并不以名稱的差異來并保存為區(qū)分組件的方式,而是以組件在功能上的差異來并保存為區(qū)分的準(zhǔn)貝U。如在通篇說明書及權(quán)利要求當(dāng)中所提及的“包含”為一開放式用語,故應(yīng)解釋成“包含但不限定于”。“大致”是指在可接收的誤差范圍內(nèi),本領(lǐng)域技術(shù)人員能夠在一定誤差范圍內(nèi)解決所述技術(shù)問題,基本達(dá)到所述技術(shù)效果。此外,“耦接” 一詞在此包含任何直接及間接的電性耦接手段。因此,若文中描述一第一裝置耦接于一第二裝置,則代表所述第一裝置可直接電性耦接于所述第二裝置,或通過其他裝置或耦接手段間接地電性耦接至所述第二裝置。說明書后續(xù)描述為實施本申請的較佳實施方式,然所述描述乃以說明本申請的一般原則為目的,并非用以限定本申請的范圍。本申請的保護(hù)范圍當(dāng)視所附權(quán)利要求所界定者為準(zhǔn)。
[0030]本申請實施例的核心思想之一:
[0031]本申請下述實施例提供的校驗系統(tǒng)鏡像合法性的方法,該方法核心的思想包括:首先,根據(jù)存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像的合法性進(jìn)行校驗;最后,根據(jù)所述啟動加載器鏡像被校驗為合法的校驗結(jié)果,判定所述系統(tǒng)鏡像合法;或者,根據(jù)所述啟動加載器鏡像被校驗為非法的校驗結(jié)果,判定所述系統(tǒng)鏡像非法。
[0032]本申請實施例的核心思想之二:
[0033]本申請下述實施例提供的校驗系統(tǒng)鏡像合法性的裝置,該裝置的思想包括:校驗?zāi)K,用于根據(jù)存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像的合法性進(jìn)行校驗;判定模塊,用于根據(jù)所述啟動加載器鏡像被校驗為合法的校驗結(jié)果,判定所述系統(tǒng)鏡像合法;或者,根據(jù)所述啟動加載器鏡像被校驗為非法的校驗結(jié)果,判定所述系統(tǒng)鏡像非法。
[0034]本串請實施例的技術(shù)效果:
[0035]根據(jù)存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序?qū)τ糜谝龑?dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像的合法性進(jìn)行校驗;之后根據(jù)所述啟動加載器鏡像被校驗為合法的校驗結(jié)果,判定所述系統(tǒng)鏡像合或非法。由此可見,系統(tǒng)上電后的啟動順序變?yōu)?安全態(tài)引導(dǎo)程序_>啟動加載器鏡像_>操作系統(tǒng)鏡像。由于加密前的啟動加載器鏡像與解密后的啟動加載鏡像是一一對應(yīng)的,因此,如果解密后的啟動加載器鏡像與加密前的啟動加載器鏡像完全一致,表明啟動加載器鏡像未被非法修改,其對應(yīng)的系統(tǒng)鏡像也是合法的,否則,表明啟動加載器鏡像已被非法修改,其對應(yīng)的系統(tǒng)鏡像也是非法的。
[0036]本申請下述實施例中,系統(tǒng)是指安卓系統(tǒng),系統(tǒng)鏡像是指安卓系統(tǒng)鏡像,以對本申請的上述核心思想進(jìn)行說明。但是,需要說明的是,本申請的上述核心思想不局限于應(yīng)用在安卓系統(tǒng)上,本領(lǐng)域普通技術(shù)人員根據(jù)本申請的啟發(fā),無須創(chuàng)造性勞動,也可以將其應(yīng)用到其他操作系統(tǒng)上,諸如Iinux系統(tǒng),以安卓系統(tǒng)或Iinux系統(tǒng)為基礎(chǔ)改進(jìn)的任何系統(tǒng)上等
坐寸ο
[0037]實施例一
[0038]圖1為本本申請實施例一校驗系統(tǒng)鏡像合法性的方法流程示意圖。如圖1所示,本實施例的技術(shù)方案可以包括:
[0039]S101、根據(jù)存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像的合法性進(jìn)行校驗;
[0040]啟動加載器鏡像BootLoader是在操作系統(tǒng)內(nèi)核運行之前運行??梢猿跏蓟布O(shè)備、建立內(nèi)存空間映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。在嵌入式系統(tǒng)中,通常并沒有像BIOS那樣的固件程序,因此整個系統(tǒng)的加載啟動任務(wù)就完全由BootLoader來完成。在一個基于ARM7TDMI core的嵌入式系統(tǒng)中,系統(tǒng)在上電或復(fù)位時通常都從地址0x00000000處開始執(zhí)行,而在這個地址處安排的通常就是系統(tǒng)的BootLoader程序。
[0041]本實施例中的BootLoader不局限于下述舉例類別:
[0042](I) Redboot是Redhat公司隨eCos發(fā)布的一個BOOT方案,是一個開源項。
[0043](2) ARMboot是一個ARM平臺的開源固件項目,它特別基于PPCBoot,一個為PowerPC平臺上的系統(tǒng)提供類似功能的姊妹項目。鑒于對PPCBoot的嚴(yán)重依賴性,已經(jīng)與PPCBoot項目合并,新的項目為U-Boot。
[0044](3)U-Boot是由開源項目PPCBoot發(fā)展起來的,ARMboot并入了 PPCBoot,和其他一些 arch 的 Loader 合稱 U-Boot。
[0045](4) Blob (Boot Loader Ob ject)是由 Jan-Derk Bakker and Erik Mouw發(fā)布的,是專門為StrongARM構(gòu)架下的LART設(shè)計的Boot Loader。
[0046](5) Bios-lt是專門支持三星(Samsung)公司ARM構(gòu)架處理器S3C4510B的Loader,可以設(shè)置CPU/ROM/SDRAM/EXTIO,管理并燒寫FLASH,裝載引導(dǎo)uClinux內(nèi)核。[0047](6) Bootldr 是康柏(Compaq)公司發(fā)布的,類似于 Compaq iPAQ Pocket PC,支持SAllOO芯片。它被推薦用來引導(dǎo)Llinux,支持串口 Y-modem協(xié)議以及jffs文件系統(tǒng)。Bootldr 的最后版本為 Bootldr-2.19。
[0048](7) vivi是韓國mizi公司開發(fā)的bootloader,適用于ARM9處理器。Vivi有兩種工作模式:啟動加載模式和下載模式。啟動加載模式可以在一段時間后(這個時間可更改)自行啟動Iinux內(nèi)核,這是vivi的默認(rèn)模式。在下載模式下,vivi為用戶提供一個命令行接口,通過接口可以使用vivi提供的一些命令
[0049]本實施例中,對于使用ARM處理器的終端來說,由于ARM公司提供了系統(tǒng)范圍的安全技術(shù):信任區(qū)域TrustZone,該技術(shù)針對安全支付、數(shù)字版權(quán)管理(DRM)、企業(yè)服務(wù)和基于 Web 的服務(wù),該技術(shù)可以運用于 Cortex-Α 系列(ARM Cortex_A15、ARM Cortex_A9、ARMCortex-A8> ARM Cortex-A7> ARM Cortex-A5> ARMl 176)處理器。TrustZone 技術(shù)可以與C0rtex?-A處理器緊密集成,可以保護(hù)安全內(nèi)存、加密塊、鍵盤和屏幕等外設(shè),從而可確保它們免遭軟件攻擊。具體地,在TrustZone技術(shù)中,使用硬件邏輯,隔離終端的硬件資源和軟件資源,從而在處理器上形成普通區(qū)(normal world)和安全區(qū)(secure world),使所述安全態(tài)存儲器位于所述安全區(qū)(secure world),確保普通區(qū)的組件無法訪問安全區(qū)的資源,從而在這兩個區(qū)域之間構(gòu)建強(qiáng)大邊界。
[0050]在上述步驟SlOl中,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像的合法性進(jìn)行校驗之前,通過對啟動加載器鏡像進(jìn)行加解密的方法實現(xiàn),詳細(xì)可參加下述具體實施
例二和三。
[0051]S102、根據(jù)所述啟動加載器鏡像被校驗為合法的校驗結(jié)果,判定所述系統(tǒng)鏡像合法;或者,根據(jù)所述啟動加載器鏡像被校驗為非法的校驗結(jié)果,判定所述系統(tǒng)鏡像非法。
[0052]本實施例中,當(dāng)采用加解密啟動加載器鏡像的方式來進(jìn)行校驗的話,由于加密前
的啟動加載器鏡像與解密后的啟動加載鏡像是--對應(yīng)的,因此,如果解密后的啟動加載
器鏡像與加密前的啟動加載器鏡像完全一致,表明啟動加載器鏡像未被非法修改,其對應(yīng)的系統(tǒng)鏡像也是合法的,否則,表明啟動加載器鏡像已被非法修改,其對應(yīng)的系統(tǒng)鏡像也是非法的。
[0053]需要說明的時,加解密的秘鑰可以相同,也可以不相同,即可以采用對稱加密方法,也可以采用非對稱加密方法,詳細(xì)請分別參見下述實施例三和實施例四。
[0054]實施例二
[0055]圖2為本申請實施例二校驗系統(tǒng)鏡像合法性的方法流程示意圖。如圖2所示,本實施例的技術(shù)方案可以包括:
[0056]S201、使用存儲在所述安全態(tài)存儲器上的加密密鑰,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像進(jìn)行加密,得到加密后的啟動加載器鏡像。
[0057]本實施例中,在終端出廠時,給每一個設(shè)備配置一個加密密鑰,該加密密鑰不對外公開,不會出現(xiàn)在任何用戶可見、或是通過技術(shù)破解可見的地方。具體地,可以每一臺出廠設(shè)備的安全態(tài)存儲器中燒寫了該加密密鑰,保證在非安全態(tài)下不可以訪問該加密密鑰。對每一個發(fā)出的啟動加載器bootloader鏡像使用該加密密鑰進(jìn)行加密。
[0058]S202、根據(jù)存儲 在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的加密后的啟動加載器鏡像的合法性進(jìn)行校驗;[0059]本實施例中,由于通過存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序首先對加密后的啟動加載器鏡像進(jìn)行了合法性校驗,因此,系統(tǒng)上電后的啟動順序變?yōu)?安全態(tài)引導(dǎo)程序_>啟動加載器鏡像_>操作系統(tǒng)鏡像。所以,在啟動加載器鏡像的合法性沒有得到驗證之前,是不會真正啟動操作系統(tǒng)鏡像的。只有啟動加載器鏡像被驗證的合法性得到驗證,才會啟動操作系統(tǒng)鏡像。
[0060]S203、根據(jù)加密后的啟動加載器鏡像被校驗為合法的校驗結(jié)果,判定所述系統(tǒng)鏡像合法;或者,根據(jù)所述啟動加載器鏡像被校驗為非法的校驗結(jié)果,判定所述系統(tǒng)鏡像非法。
[0061]如前所述,由于啟動加載器鏡像和系統(tǒng)鏡像是嚴(yán)格的對應(yīng)關(guān)系,所以,可以通過啟動加載器鏡像的合法性,間接地判定系統(tǒng)鏡像的合法性。
[0062]實施例三
[0063]圖3為本申請實施例三解密啟動加載器鏡像的流程示意圖;如圖3所示,本實施例的技術(shù)方案可以包括:
[0064]S301、存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序使用存儲在所述安全態(tài)存儲器上的加密密鑰,對加密后的啟動加載器鏡像進(jìn)行解密;
[0065]S302、根據(jù)對加密后的啟動加載器鏡像進(jìn)行解密的結(jié)果,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的加密后的啟動加載器鏡像的合法性進(jìn)行校驗。
[0066]本實施例中,在終端出廠時,給每一個設(shè)備配置一個加密密鑰,該加密密鑰不對外公開,不會出現(xiàn)在任何用戶可見、或是通過技術(shù)破解可見的地方。具體地,可以每一臺出廠設(shè)備的安全態(tài)存儲器中燒寫了該加密密鑰,保證在非安全態(tài)下不可以訪問該加密密鑰。對每一個發(fā)出的啟動加載器bootloader鏡像使用該加密密鑰進(jìn)行加密。
[0067]需要說明的是,本實施例中,由于加密使用的密鑰和解密使用的密鑰是同一個密鑰,也就是說加解密采用共同的密鑰,其實質(zhì)為單鑰密碼系統(tǒng)的加密方法或者對稱加密方法,常用的具體算法有:數(shù)據(jù)加密算法(Data Encryption Algorithm, DEA)、國際數(shù)據(jù)加密算法((International Data Encryption Algorithm, IDEA)算法等。
[0068]實施例四
[0069]圖4為本申請實施例四解密啟動加載器鏡像的流程示意圖;如圖4所示,本實施例的技術(shù)方案可以包括:
[0070]S401、存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序使用存儲在所述安全態(tài)存儲器上與加密私鑰匹配的解密私鑰,對使用所述加密私鑰加密后的啟動加載器鏡像進(jìn)行解密;
[0071]S402、根據(jù)對加密后的啟動加載器鏡像進(jìn)行解密的結(jié)果,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的加密后的啟動加載器鏡像的合法性進(jìn)行校驗。
[0072]本實施例中,在終端出廠時,給每一個設(shè)備配置一個解密密鑰,該解密密鑰不對外公開,不會出現(xiàn)在任何用戶可見、或是通過技術(shù)破解可見的地方。具體地,可以每一臺出廠設(shè)備的安全態(tài)存儲器中燒寫了該解密密鑰,保證在非安全態(tài)下不可以訪問該解密密密鑰。對每一個發(fā)出的啟動加載器bootloader鏡像使用該解密密鑰進(jìn)行解密。
[0073]與上述實施例四不同的是,本實施例中,解密私鑰與加密私鑰不同,加密密鑰可以公開密鑰publickey,而解密私鑰是安全態(tài)的私有秘鑰privatekey。公開密鑰與私有密鑰是一對,組成一密鑰對。如果用公開密鑰對啟動加載器加密,只有用對應(yīng)的私有密鑰才能解密;如果用私有密鑰對數(shù)據(jù)進(jìn)行加密,那么只有用對應(yīng)的公開密鑰才能解密。本實施例中使用的加解密實際上是一種非對稱加密算法,具體的有錯誤檢查和糾正(Error CorrectingCode,簡稱ECC)算法、李維斯特-薩莫爾-阿德曼(Rivest-Shamir - Adleman, RSA)公開密鑰算法等。
[0074]實施例五
[0075]圖5為本申請實施例五校驗系統(tǒng)鏡像合法性的裝置功能框圖;如圖5所示,本實施例的技術(shù)方案可以包括:相互耦接的校驗?zāi)K501和判定模塊502,其中:
[0076]校驗?zāi)K501用于根據(jù)存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像的合法性進(jìn)行校驗。
[0077]判定模塊502用于根據(jù)所述啟動加載器鏡像被校驗為合法的校驗結(jié)果,判定所述系統(tǒng)鏡像合法;或者,根據(jù)所述啟動加載器鏡像被校驗為非法的校驗結(jié)果,判定所述系統(tǒng)鏡像非法。
[0078]實施例六
[0079]圖6為本申請實施例六校驗系統(tǒng)鏡像合法性的裝置功能框圖;如圖6所示,本實施例的技術(shù)方案除了包括上述校驗?zāi)K501和判定模塊502之外,還可以包括:與校驗?zāi)K501耦接的加密模塊503,用于使用存儲在所述安全態(tài)存儲器上的加密密鑰,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像進(jìn)行加密,得到加密后的啟動加載器鏡像。
[0080]實施例七
[0081]圖7為本申請實施例七校驗?zāi)K的功能框圖;如圖7所示,校驗?zāi)K可以包括:相互耦接的對稱解密單元701和第一校驗單元702,其中:
[0082]對稱解密單元701用于存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序使用存儲在所述安全態(tài)存儲器上的加密密鑰,對加密后的啟動加載器鏡像進(jìn)行解密;
[0083]第一校驗單元702用于根據(jù)對加密后的啟動加載器鏡像進(jìn)行解密的結(jié)果,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的加密后的啟動加載器鏡像的合法性進(jìn)行校驗。
[0084]實施例八
[0085]圖8為本申請實施例八校驗?zāi)K的功能框圖;如圖8所示,校驗?zāi)K包括:相互耦接的非對稱解密單元801和第二校驗單元802,其中:
[0086]非對稱解密單元801用于存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序使用存儲在所述安全態(tài)存儲器上與加密私鑰匹配的解密私鑰,對使用所述加密私鑰加密后的啟動加載器鏡像進(jìn)行解密;
[0087]第二校驗單元802用于根據(jù)對加密后的啟動加載器鏡像進(jìn)行解密的結(jié)果,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的加密后的啟動加載器鏡像的合法性進(jìn)行校驗。
[0088]在上述裝置的實施例基礎(chǔ)上,還可以包括硬件邏輯模塊,該硬件邏輯模塊用于隔離硬件資源和軟件資源以在處理器上形成普通區(qū)和安全區(qū),使所述安全態(tài)存儲器位于所述安全區(qū)。詳細(xì)不再贅述。
[0089]還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的商品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種商品或者系統(tǒng)所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的商品或者系統(tǒng)中還存在另外的相同要素。
[0090] 上述說明示出并描述了本申請的若干優(yōu)選實施例,但如前所述,應(yīng)當(dāng)理解本申請并非局限于本文所披露的形式,不應(yīng)看作是對其他實施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述發(fā)明構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識進(jìn)行改動。而本領(lǐng)域人員所進(jìn)行的改動和變化不脫離本申請的精神和范圍,則都應(yīng)在本申請所附權(quán)利要求的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種校驗系統(tǒng)鏡像合法性的方法,其特征在于,包括: 根據(jù)存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像的合法性進(jìn)行校驗; 根據(jù)所述啟動加載器鏡像被校驗為合法的校驗結(jié)果,判定所述系統(tǒng)鏡像合法;或者,根據(jù)所述啟動加載器鏡像被校驗為非法的校驗結(jié)果,判定所述系統(tǒng)鏡像非法。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像的合法性進(jìn)行校驗之前還包括: 使用存儲在所述安全態(tài)存儲器上的加密密鑰,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像進(jìn)行加密,得到加密后的啟動加載器鏡像。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像的合法性進(jìn)行校驗包括: 存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序使用存儲在所述安全態(tài)存儲器上的加密密鑰,對加密后的啟動加載器鏡像進(jìn)行解密; 根據(jù)對加密后的啟動加載器鏡像進(jìn)行解密的結(jié)果,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的加密后的啟動加載器鏡像的合法性進(jìn)行校驗。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像的合法性進(jìn)行校驗包括: 存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序使用存儲在所述安全態(tài)存儲器上與加密私鑰匹配的解密私鑰,對使用所述加密私鑰加密后的啟動加載器鏡像進(jìn)行解密; 根據(jù)對加密后的啟動加載器鏡像進(jìn)行解密的結(jié)果,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的加密后的啟動加載器鏡像的合法性進(jìn)行校驗。
5.根據(jù)權(quán)利要求1-4任一所述的方法,其特征在于,根據(jù)存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像的合法性進(jìn)行校驗之前還包括: 通過硬件資源和軟件資源隔離的方式在處理器上形成普通區(qū)和安全區(qū),使所述安全態(tài)存儲器位于所述安全區(qū)。
6.一種校驗系統(tǒng)鏡像合法性的裝置,其特征在于,包括: 校驗?zāi)K,用于根據(jù)存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像的合法性進(jìn)行校驗; 判定模塊,用于根據(jù)所述啟動加載器鏡像被校驗為合法的校驗結(jié)果,判定所述系統(tǒng)鏡像合法;或者,根據(jù)所述啟動加載器鏡像被校驗為非法的校驗結(jié)果,判定所述系統(tǒng)鏡像非法。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,還包括:加密單元,用于使用存儲在所述安全態(tài)存儲器上的加密密鑰,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的啟動加載器鏡像進(jìn)行加密,得到加密后的啟動加載器鏡像。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述校驗?zāi)K包括: 解密單元,用于存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序使用存儲在所述安全態(tài)存儲器上的加密密鑰,對加密后的啟動加載器鏡像進(jìn)行解密;校驗單元,用于根據(jù)對加密后的啟動加載器鏡像進(jìn)行解密的結(jié)果,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的加密后的啟動加載器鏡像的合法性進(jìn)行校驗。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述校驗?zāi)K包括: 解密單元,用于存儲在安全態(tài)存儲器上的安全態(tài)引導(dǎo)程序使用存儲在所述安全態(tài)存儲器上與加密私鑰匹配的解密私鑰,對使用所述加密私鑰加密后的啟動加載器鏡像進(jìn)行解密; 校驗單元,用于根據(jù)對加密后的啟動加載器鏡像進(jìn)行解密的結(jié)果,對用于引導(dǎo)對應(yīng)系統(tǒng)鏡像啟動的加密后的啟動加載器鏡像的合法性進(jìn)行校驗。
10.根據(jù)權(quán)利要求6-9任一所述的裝置,其特征在于,還包括硬件邏輯模塊,用于隔離硬件資源和軟件資源以在處理器上形成普通區(qū)和安全區(qū),使所述安全態(tài)存儲器位于所述安全區(qū)。
【文檔編號】G06F21/57GK103955648SQ201410205991
【公開日】2014年7月30日 申請日期:2014年5月15日 優(yōu)先權(quán)日:2014年5月15日
【發(fā)明者】周光迪 申請人:樂視致新電子科技(天津)有限公司