可信執行環境的啟動方法和裝置
本發明涉及電子技術領域,特別是涉及一種可信執行環境的啟動方法和一種可信執行環境的啟動裝置。
代工生產,是指品牌商委託OEM(Original Equipment Manufacturer原始設備製造商)廠商進行加工生產的方式。
為了防止OEM廠商非法生產,品牌商可以對OEM廠商的生產設備進行授權監控。品牌商可以對OEM廠商的生產設備安裝需要由品牌商啟動的生產軟體,設備的生產過程由生產軟體控制。
目前,OEM廠商的生產設備的啟動方式可以包括線上啟動方案和離線啟動方案。
線上啟動方案需要生產設備具有網路連結功能,由品牌商透過網路向生產設備發送啟動碼。但是,目前OEM廠商的生產設備大多沒有網路連結功能,導致生產設備無法實現線上啟動方案。
離線啟動的方案中,OEM廠商向生產設備輸入由品牌商提供的啟動碼,但是在啟動過程中,可能會遇到啟動碼意外損壞或丟失,導致生產軟體後續無法使用的問題。
鑒於上述問題,提出了本發明實施例以便提供一種克服上述問題或者至少部分地解決上述問題的一種可信執行環境的啟動方法和相應的一種可信執行環境的啟動裝置。
為了解決上述問題,本發明實施例公開了一種可信執行環境的啟動方法,所述可信執行環境配置在設備中,所述設備還配置有運行在所述可信執行環境的受信任應用程式、富執行環境以及運行在所述富執行環境的用戶端程式;所述的方法包括:
所述可信執行環境獲取由所述用戶端程式發送的預置在所述設備的啟動檔;
所述可信執行環境驗證所述啟動檔是否合法;
若所述啟動檔合法,則所述可信執行環境啟動並允許所述受信任應用程式正常運行;
所述可信執行環境啟動後,將所述啟動檔儲存到所述設備的可信儲存空間。
較佳的,還包括:
所述可信執行環境判斷所述可信儲存空間中是否儲存有啟動檔;
若所述可信儲存空間中儲存有啟動檔,則所述可信執行環境產生已啟動消息,並向所述用戶端程式發送所述已啟動消息;
若所述可信儲存空間中未儲存有啟動檔,則所述可信執行環境產生未啟動消息,並向所述用戶端程式發送所述未啟動消息。
較佳的,還包括:
所述可信執行環境對儲存到所述可信儲存空間的啟動檔進行備份儲存;
在所述可信儲存空間的啟動檔損壞或丟失時,所述可信執行環境根據備份儲存的啟動檔進行恢復處理。
較佳的,所述可信執行環境驗證所述啟動檔是否合法的步驟包括:
所述可信執行環境從所述啟動檔,獲取對應的第一校驗資訊;
所述可信執行環境獲取當前設備的第二校驗資訊;
所述可信執行環境判斷所述第一校驗資訊、所述第二校驗資訊是否相同。
較佳的,所述啟動檔透過如下方式產生:
啟動檔產生程式獲取設備的唯一標識;
所述啟動檔產生程式採用所述設備的唯一標識,產生具有所述第一校驗資訊的啟動檔。
較佳的,所述可信執行環境獲取當前設備的第二校驗資訊的步驟包括:
所述可信執行環境獲取當前設備的唯一標識;
所述可信執行環境採用所述當前設備的唯一標識產生第二校驗資訊。
較佳的,所述啟動檔產生程式採用所述唯一標識,產生具有所述第一校驗資訊的啟動檔的步驟包括:
所述啟動檔產生程式計算所獲取設備的唯一標識的雜湊值,並將該雜湊值作為第一檢驗資訊;
所述啟動檔產生程式產生具有所述第一檢驗資訊的啟動檔。
較佳的,所述可信執行環境採用所述當前設備的唯一標識產生第二校驗資訊的步驟包括:
所述可信執行環境計算所述當前設備的唯一標識的雜湊值,並將該雜湊值作為第二校驗資訊。
較佳的,所述啟動檔產生程式產生具有所述第一檢驗資訊的啟動檔的步驟包括:
所述啟動檔產生程式對所述第一檢驗資訊進行加密處理;
所述啟動檔產生程式產生具有加密後的所述第一檢驗資訊的啟動檔。
較佳的,所述可信執行環境從所述啟動檔,獲取對應的第一校驗資訊的步驟包括:
所述可信執行環境從所述啟動檔,獲取經加密的第一校驗資訊;
所述可信執行環境對所述經加密的第一校驗資訊進行解密處理,得到第一校驗資訊。
本發明實施例還公開了一種可信執行環境的啟動方法,包括:
所述可信執行環境獲取由用戶端程式發送的預置在設備的啟動檔;
所述可信執行環境驗證所述啟動檔是否符合啟動條件;
若所述啟動檔符合啟動條件,則所述可信執行環境啟動並允許所述受信任應用程式正常運行。
本發明實施例還公開了一種可信執行環境的啟動裝置,其中,所述可信執行環境配置在設備中,所述設備還配置有運行在所述可信執行環境的受信任應用程式、富執行環境以及運行在所述富執行環境的用戶端程式;所述的裝置包括:
位於所述可信執行環境的啟動檔獲取模組,用於獲取由所述用戶端程式發送的預置在所述設備的啟動檔;
位於所述可信執行環境的驗證模組,用於驗證所述啟動檔是否合法;
位於所述可信執行環境的啟動模組,用於若所述啟動檔合法,則啟動並允許所述受信任應用程式正常運行;
位於所述可信執行環境的儲存模組,用於在啟動後,將所述啟動檔儲存到所述設備的可信儲存空間。
較佳的,還包括:
位於所述可信執行環境的儲存判斷模組,用於判斷所述可信儲存空間中是否儲存有啟動檔;
位於所述可信執行環境的第一啟動結果通知模組,用於若所述可信儲存空間中儲存有啟動檔,則產生已啟動消息,並向所述用戶端程式發送所述已啟動消息;
位於所述可信執行環境的第二啟動結果通知模組,用於若所述可信儲存空間中未儲存有啟動檔,則產生未啟動消息,並向所述用戶端程式發送所述未啟動消息。
較佳的,還包括:
位於所述可信執行環境的備份儲存模組,用於對儲存到所述可信儲存空間的啟動檔進行備份儲存;
位於所述可信執行環境的備份恢復模組,用於在所述可信儲存空間的啟動檔損壞或丟失時,根據備份儲存的啟動檔進行恢復處理。
較佳的,所述驗證模組包括:
第一校驗資訊獲取子模組,用於從所述啟動檔,獲取對應的第一校驗資訊;
第二校驗資訊獲取子模組,用於獲取當前設備的第二校驗資訊;
檢驗資訊判斷子模組,用於判斷所述第一校驗資訊、所述第二校驗資訊是否相同。
較佳的,所述啟動檔透過如下模組產生:
位於啟動檔產生程式的唯一標識獲取模組,用於獲取設備的唯一標識;
位於所述啟動檔產生程式的啟動檔產生模組,用於採用所述設備的唯一標識,產生具有所述第一校驗資訊的啟動檔。
較佳的,所述第二校驗資訊獲取子模組包括:
唯一標識獲取單元,用於獲取當前設備的唯一標識;
第二校驗資訊產生單元,用於採用所述當前設備的唯一標識產生第二校驗資訊。
較佳的,所述啟動檔產生模組包括:
第一檢驗資訊產生子模組,用於計算所獲取設備的唯一標識的雜湊值,並將該雜湊值作為第一檢驗資訊;
啟動檔產生子模組,用於產生程式產生具有所述第一檢驗資訊的啟動檔。
較佳的,所述第二校驗資訊產生單元包括:
第二校驗資訊產生子單元,用於計算所述當前設備的唯一標識的雜湊值,並將該雜湊值作為第二校驗資訊。
較佳的,所述啟動檔產生子模組包括:
第一檢驗資訊加密單元,用於對所述第一檢驗資訊進行加密處理;
啟動檔產生單元,用於產生程式產生具有加密後的所述第一檢驗資訊的啟動檔。
較佳的,所述第一校驗資訊獲取子模組包括:
加密校驗資訊獲取單元,用於從所述啟動檔,獲取經加密的第一校驗資訊;
第一校驗資訊解密單元,用於對所述經加密的第一校驗資訊進行解密處理,得到第一校驗資訊。
本發明實施例還公開了一種可信執行環境的啟動裝置,包括:
位於所述可信執行環境的啟動檔獲取模組,用於獲取由用戶端程式發送的預置在設備的啟動檔;
位於所述可信執行環境的啟動條件判斷模組,用於驗證所述啟動檔是否符合啟動條件;
位於所述可信執行環境的啟動模組,用於若所述啟動檔符合啟動條件,則啟動並允許所述受信任應用程式正常運行。
本發明實施例還公開了一種裝置,包括:
一個或多個處理器;和
其上儲存有指令的一個或多個機器可讀媒體,當由所述一個或多個處理器執行時,使得所述裝置執行如上所述的一個或多個的方法。
本發明實施例還公開了一個或多個機器可讀媒體,其上儲存有指令,當由一個或多個處理器執行時,使得所述處理器執行如上所述的一個或多個的方法。
本發明實施例包括以下優點:
在本發明實施例中,設備可以透過離線方式獲得啟動檔,用戶端程式可以從富執行環境能夠存取的儲存空間中獲取啟動檔,用戶端程式將啟動檔發送給可信執行環境。可信執行環境驗證啟動檔是否合法,若啟動檔合法,則可信執行環境啟動並且允許受信任應用程式正常運行使用,使得設備不依賴網路也可以進行啟動。
同時可信執行環境啟動後,可以將啟動檔儲存到可信儲存空間。當富執行環境能夠存取的儲存空間中的啟動檔損害或被丟失後,也能透過可信儲存空間中的啟動檔進行啟動,避免了受信任應用程式無法被使用的情況。
為使本發明的上述目的、特徵和優點能夠更加明顯易懂,下面結合圖式和具體實施方式對本發明作進一步詳細的說明。
參照圖1,示出了本發明的一種可信執行環境的啟動方法實施例一的步驟流程圖,其中,所述可信執行環境配置在設備中,所述設備還配置有運行在所述可信執行環境的受信任應用程式、富執行環境以及運行在所述富執行環境的用戶端程式;所述的方法具體可以包括如下步驟:
步驟101,所述可信執行環境獲取由所述用戶端程式發送的預置在所述設備的啟動檔;
可信執行環境TEE(Trusted Execution Environment)和富執行環境REE(Rich Execution Environment)是設備上並存的運行環境,可信執行環境可以給富執行環境提供安全服務。可信執行環境具有其自身的執行空間,比富執行環境的安全級別更高。
可信執行環境所能存取的軟硬體資源是與富執行環境分離的。可信執行環境提供了受信任應用程式TA(Trusted Application)的安全執行環境,同時也保護受信任應用程式的資源和資料的保密性,完整性和存取權限。
富執行環境提供給富作業系統(Rich OS)執行和管理的運行環境,它在可信執行環境之外,在該環境執行的應用被認為是不可信的。
為了保證可信執行環境本身的可信根,可信執行環境在安全啟動過程中是要透過驗證啟動並且與富作業系統隔離的。
運行在富執行環境的用戶端程式CA(Client
Application),不依賴可信執行環境就能夠使用。用戶端程式可以與受信任應用程式通信,並且調用受信任應用程式的介面API(Application Programming Interface)。
在代工生產中,OEM廠商的生產線上的各種設備都可以安裝有可信執行環境、運行在可信執行環境的受信任應用程式、富執行環境以及運行在富執行環境的用戶端程式。
受信任應用程式可以包括多個由品牌商提供的用於控制設備生產的應用程式,受信任應用程式可以提供用於控制設備生產的介面,用戶端程式可以調用這些介面實現設備的生產過程。受信任應用程式還可以收集生產過程中的資訊,並將生產過程中的資訊上報給品牌商。
可信執行環境需要透過啟動檔驗證啟動之後才能被正常使用。可信執行環境的啟動檔可以由品牌商提供給OEM廠商,由OEM廠商將啟動檔輸入到設備。由OEM廠商輸入到設備的啟動檔只能儲存到富執行環境能夠存取的儲存空間,不能儲存到可信執行環境的可信儲存空間。
在本發明實施例中,在設備的富執行環境能夠存取的儲存空間中可以預置有啟動檔。在需要啟動可信執行環境時,用戶端程式可以從富執行環境能夠存取的儲存空間中獲取啟動檔,然後將啟動檔發送給可信執行環境。
步驟102,所述可信執行環境驗證所述啟動檔是否合法;
可信執行環境可以判斷啟動檔是否符合預設條件,以此驗證啟動檔是否合法。
在本發明實施例中,啟動檔可以與設備一一對應,安裝在設備的可信執行環境只能透過與該設備對應的啟動檔來啟動。在代工生產中,可以由品牌商為每個設備產生對應的啟動檔,從而保證能夠有效控制OEM廠商的設備的啟動情況。
步驟103,若所述啟動檔合法,則所述可信執行環境啟動並允許所述受信任應用程式正常運行;
若啟動檔合法,則可信執行環境啟動並允許受信任應用程式正常運行,使得OEM廠商能夠正常使用受信任應用程式。
若啟動檔合法,則可信執行環境啟動可以返回啟動失敗消息,已告知OEM廠商啟動失敗。
步驟104,所述可信執行環境啟動後,將所述啟動檔儲存到所述設備的可信儲存空間。
在可信執行環境啟動後,可信執行環境啟動將啟動檔儲存到設備的可信儲存空間。可信儲存空間是只能由可信執行環境存取的空間,可信儲存空間可以是指定的某個資料夾中,或者獨立分區。
具體的,可信執行環境提供安全儲存功能,安全儲存功能是可信執行環境本身提供的檔加解密服務機制。透過安全儲存功能,可信執行環境可以對檔加密然後儲存在可信儲存空間。
在本發明實施例中,設備可以透過離線方式獲得啟動檔,用戶端程式可以從富執行環境能夠存取的儲存空間中獲取啟動檔,用戶端程式將啟動檔發送給可信執行環境。可信執行環境驗證啟動檔是否合法,若啟動檔合法,則可信執行環境啟動並且允許受信任應用程式正常運行使用,使得設備不依賴網路也可以進行啟動。
同時可信執行環境啟動後,可以將啟動檔儲存到可信儲存空間。當富執行環境能夠存取的儲存空間中的啟動檔損害或被丟失後,也能透過可信儲存空間中的啟動檔進行啟動,避免了受信任應用程式無法被使用的情況。
參照圖2,示出了本發明的一種可信執行環境的啟動方法實施例二的步驟流程圖,其中,所述可信執行環境配置在設備中,所述設備還配置有運行在所述可信執行環境的受信任應用程式、富執行環境以及運行在所述富執行環境的用戶端程式;所述的方法具體可以包括如下步驟:
步驟201,所述可信執行環境判斷可信儲存空間中是否儲存有啟動檔;
在本發明實施例中,用戶端程式可以向可信執行環境發送用於查詢是否已經啟動的啟動查詢命令。可信執行環境接收到查詢命令後,判斷可信儲存空間中是否儲存有啟動檔。
步驟202,若所述可信儲存空間中儲存有啟動檔,則所述可信執行環境產生已啟動消息,並向所述用戶端程式發送所述已啟動消息;
若可信儲存空間中儲存有啟動檔,則表示可信執行環境已經啟動,可信執行環境可以產生已啟動消息並向用戶端程式發送已啟動消息,以告知用戶端程式已經啟動。
步驟203,若所述可信儲存空間中未儲存有啟動檔,則所述可信執行環境產生未啟動消息,並向所述用戶端程式發送所述未啟動消息。
若可信儲存空間中未儲存有啟動檔,則表示可信執行環境還未啟動,可信執行環境可以產生未啟動消息並向用戶端程式發送未啟動消息,以告知用戶端程式未啟動。
步驟204,所述可信執行環境獲取由所述用戶端程式發送的預置在所述設備的啟動檔;
在本發明實施例中,在設備的富執行環境能夠存取的儲存空間中可以預置有啟動檔。用戶端程式在收到未啟動消息後,可以從富執行環境能夠存取的儲存空間中獲取啟動檔,然後將啟動檔發送給可信執行環境。
步驟205,所述可信執行環境驗證所述啟動檔是否合法;
在本發明實施例中,啟動檔可以與設備一一對應,安裝在設備的可信執行環境只能用與該設備對應的啟動檔來啟動。
在本發明實施例中,啟動檔可以由啟動檔產生程式產生,具體方式可以包括:
步驟301,啟動檔產生程式獲取設備的唯一標識;
啟動檔產生程式並不是安裝在設備上的程式。在代工生產中,啟動檔產生程式是品牌商提供的用於產生啟動檔的應用程式。OEM廠商可以將生產線上各個設備的唯一標識提供給品牌商的啟動檔產生程式。
設備的唯一標識可以是媒體存取控制MAC(Media Access Control)位址,晶片的唯一標準碼UID(unique ID),手機國際移動設備識別碼IMEI(International Mobile Equipment Identity)等。
步驟302,所述啟動檔產生程式採用所述設備的唯一標識,產生具有所述第一校驗資訊的啟動檔。
啟動檔產生程式可以採用設備的唯一標識,產生具有第一校驗資訊的啟動檔。
進一步的,所述步驟302可以包括如下子步驟:
子步驟S11,所述啟動檔產生程式計算所獲取設備的唯一標識的雜湊值,並將該雜湊值作為第一檢驗資訊;
子步驟S12,所述啟動檔產生程式產生具有所述第一檢驗資訊的啟動檔。
啟動檔產生程式採用設備的唯一標識產生第一校驗資訊,然後將第一檢驗資訊添加到指定尾碼名的檔中,得到啟動檔。透過指定啟動檔的尾碼名,可以方便可信執行環境識別啟動檔。
在本發明實施例中,所述子步驟S12可以進一步包括:
子步驟S121,所述啟動檔產生程式對所述第一檢驗資訊進行加密處理;
子步驟S122,所述啟動檔產生程式產生具有加密後的所述第一檢驗資訊的啟動檔。
例如,啟動檔產生程式可以採用預設金鑰並按照高級加密標準AES(Advanced Encryption Standard)演算法對第一校驗資訊進行加密處理。
在本發明實施例中,所述步驟205可以包括如下子步驟:
子步驟S21,所述可信執行環境從所述啟動檔,獲取對應的第一校驗資訊;
啟動檔包含有第一校驗資訊,可信執行環境從啟動檔中獲取啟動檔對應的第一校驗資訊;
在本發明實施例中,如果啟動檔被加密了,則所述子步驟S21可以包括:所述可信執行環境從所述啟動檔,獲取經加密的第一校驗資訊;所述可信執行環境對所述經加密的第一校驗資訊進行解密處理,得到第一校驗資訊。
例如,若啟動檔產生程式採用預設金鑰並按照高級加密標準AES演算法對第一校驗資訊進行加密處理,則可信執行環境可以採用相同的預設金鑰對經加密的第一檢驗資訊進行解密,得到第一校驗資訊。
子步驟S22,所述可信執行環境獲取當前設備的第二校驗資訊;
設備中可以預置有設備的第二校驗資訊。
在本發明實施例中,所述子步驟S22可以進一步包括:
子步驟S221,所述可信執行環境獲取當前設備的唯一標識;
子步驟S222,所述可信執行環境採用所述當前設備的唯一標識產生第二校驗資訊。
在本發明實施例中,啟動檔可以是由啟動檔產生程式產生的,啟動檔產生程式採用設備的唯一標識產生第一校驗資訊。
可信執行環境可以獲取當前設備的唯一標識,然後採用當前設備的唯一標識產生第二校驗資訊。
在一種示例中,啟動檔產生程式可以將獲得的設備的唯一標識作為第一校驗資訊;同時,可信執行環境可以將當前設備的唯一標識作為第二檢驗資訊。
在另一種示例中,啟動檔產生程式可以按照預設演算法,對獲得的設備的唯一標識進行計算,得到第一校驗資訊。例如,啟動檔產生程式計算設備的唯一標識的雜湊值,將該雜湊值作為第一校驗資訊。
同時,可信執行環境可以按照同樣的預設方法對當前設備的唯一標識進行計算,得到第二校驗資訊。例如,可信執行環境計算當前設備的唯一標識的雜湊值,將該雜湊值作為第二校驗資訊。
子步驟S13,所述可信執行環境判斷所述第一校驗資訊、所述第二校驗資訊是否相同。
若第一校驗資訊與第二校驗資訊相同,則表示啟動檔合法;若第一校驗資訊與第二校驗資訊不相同,則表示啟動檔不合法。
在本發明實施例中,第一校驗資訊和第二檢驗資訊都可以透過設備的唯一標識產生,保證了的設備的可信執行環境只能透過與該設備的唯一標識對應的校驗資訊來啟動。在代工生產中,可以保證品牌商能夠有效控制OEM廠商的設備的啟動情況。
步驟206,若所述啟動檔合法,則所述可信執行環境啟動並允許所述受信任應用程式正常運行;
步驟207,所述可信執行環境啟動後,將所述啟動檔儲存到所述設備的可信儲存空間。
步驟208,所述可信執行環境對儲存到所述可信儲存空間的啟動檔進行備份儲存;
具體的,可信執行環境提供安全儲存的備份恢復功能。透過備份恢復功能,可信執行環境對儲存到可信儲存空間的啟動檔進行備份儲存,並且對啟動檔進行完整性校驗。
如果可信儲存空間的啟動檔完整性校驗失敗(例如,啟動檔損壞或丟失),則可信執行環境根據備份儲存的啟動檔,恢復可信儲存空間的啟動檔。
步驟209,在所述可信儲存空間的啟動檔損壞或丟失時,所述可信執行環境根據備份儲存的啟動檔進行恢復處理。
在本發明實施例中,在可信儲存空間的啟動檔損壞或丟失時,仍然能夠透過可信執行環境的備份恢復功能,恢復可信儲存空間的啟動檔,保證可信執行環境能正常啟動。
在本發明實施例中,設備可以透過離線方式獲得啟動檔,用戶端程式可以從富執行環境能夠存取的儲存空間中獲取啟動檔,用戶端程式將啟動檔發送給可信執行環境。可信執行環境驗證啟動檔是否合法,若啟動檔合法,則可信執行環境啟動並且允許受信任應用程式正常運行使用,使得設備不依賴網路也可以進行啟動。
同時可信執行環境啟動後,可以將啟動檔儲存到可信儲存空間。當富執行環境能夠存取的儲存空間中的啟動檔損害或被丟失後,也能透過可信儲存空間中的啟動檔進行啟動,避免了受信任應用程式無法被使用的情況。
參照圖3,示出了本發明的一種可信執行環境的啟動方法實施例三的步驟流程圖,所述的方法具體可以包括如下步驟:
步驟401,所述可信執行環境獲取由用戶端程式發送的預置在設備的啟動檔;
在本發明實施例中,可信執行環境配置在設備中,設備還配置有運行在可信執行環境的受信任應用程式、富執行環境以及運行在富執行環境的用戶端程式;
在本發明實施例中,在設備的富執行環境能夠存取的儲存空間中可以預置有啟動檔。在需要啟動可信執行環境時,用戶端程式可以從富執行環境能夠存取的儲存空間中獲取啟動檔,然後將啟動檔發送給可信執行環境。
步驟402,所述可信執行環境驗證所述啟動檔是否符合啟動條件;
可信執行環境可以判斷啟動檔是否符合啟動條件,以此驗證啟動檔是否合法。
步驟403,若所述啟動檔符合啟動條件,則所述可信執行環境啟動並允許所述受信任應用程式正常運行。
若啟動檔符合啟動條件,則可信執行環境啟動並允許受信任應用程式正常運行。
在本發明實施例中,設備可以透過離線方式獲得啟動檔,用戶端程式可以從富執行環境能夠存取的儲存空間中獲取啟動檔,用戶端程式將啟動檔發送給可信執行環境。可信執行環境驗證啟動檔是否合法,若啟動檔合法,則可信執行環境啟動並且允許受信任應用程式正常運行使用,使得設備不依賴網路也可以進行啟動。
為了使本領域技術人員能夠更好地理解本發明實施例,下面透過一個例子對本發明實施例加以說明:
參照圖4所示為本發明實施例中產生啟動檔的流程圖。
首先,OEM廠商獲取所有設備的唯一標識,並產生唯一標識清單。OEM廠商將唯一標識清單發送給啟動檔產生程式。
啟動檔產生程式獲取唯一標識清單中的各個唯一標識,並採用唯一標識產生第一校驗資訊,然後將第一校驗資訊儲存到啟動檔,每一個啟動檔與一個設備對應。採用唯一標識產生第一檢驗資訊的方式可以包括:計算唯一標識的雜湊值,然後將該雜湊值作為第一校驗資訊,或者直接將唯一標識作為第一檢驗資訊。將第一校驗資訊儲存到啟動檔的方式可以包括:採用預設金鑰,按照AES演算法對第一校驗資訊進行加密。然後將加密後的第一檢驗資訊儲存到指定尾碼名的啟動檔,
啟動檔產生程式產生各個設備對應的啟動檔後,將啟動檔發送給OEM廠商,由OEM廠商根據設備的唯一標識,將啟動檔輸入到對應的設備。
參照圖5所示為本發明實施例中可信執行環境的啟動的流程圖。
設備中安裝有可信執行環境、運行在可信執行環境的受信任應用程式、富執行環境以及運行在富執行環境的用戶端程式。
首先,用戶端程式向可信執行環境發送用於查詢是否已經啟動的啟動查詢命令。
接收到啟動查詢命令後,可信執行環境判斷可信儲存空間中是否儲存有啟動檔;若可信儲存空間中儲存有啟動檔,則可信執行環境產生已啟動消息,並向用戶端程式發送已啟動消息;若可信儲存空間中未儲存有啟動檔,則可信執行環境產生未啟動消息,並向用戶端程式發送未啟動消息。
若啟動查詢結果為未啟動,則用戶端程式讀取啟動檔;
若讀取成功,則用戶端程式向可信執行環境發送啟動檔;若讀取失敗,則用戶端程式產生啟動失敗消息。
可信執行環境獲取到啟動檔後,從啟動檔獲取第一校驗資訊,然後獲取當前設備的唯一標識,並採用當前設備唯一標識產生第二校驗資訊。可信執行環境比較第一校驗資訊和第二校驗資訊是否相同;若相同,則啟動成功並將啟動檔儲存到可信儲存空間;若不相同,則啟動失敗。
可信執行環境向用戶端程式返回啟動結果(啟動成功或啟動失敗)。
若啟動成功,則可信執行環境開啟正常功能,允許受信任應用程式被正常使用。
需要說明的是,對於方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發明實施例並不受所描述的動作順序的限制,因為依據本發明實施例,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬於較佳實施例,所涉及的動作並不一定是本發明實施例所必須的。
參照圖6,示出了本發明的一種可信執行環境的啟動裝置實施例的結構方塊圖,所述可信執行環境配置在設備中,所述設備還配置有運行在所述可信執行環境的受信任應用程式、富執行環境以及運行在所述富執行環境的用戶端程式;所述的裝置具體可以包括如下模組:
位於所述可信執行環境的啟動檔獲取模組501,用於獲取由所述用戶端程式發送的預置在所述設備的啟動檔;
位於所述可信執行環境的驗證模組502,用於驗證所述啟動檔是否合法;
位於所述可信執行環境的啟動模組503,用於若所述啟動檔合法,則啟動並允許所述受信任應用程式正常運行;
位於所述可信執行環境的儲存模組504,用於在啟動後,將所述啟動檔儲存到所述設備的可信儲存空間。
在本發明實施例中,所述的裝置還可以包括:
位於所述可信執行環境的儲存判斷模組,用於判斷所述可信儲存空間中是否儲存有啟動檔;
位於所述可信執行環境的第一啟動結果通知模組,用於若所述可信儲存空間中儲存有啟動檔,則產生已啟動消息,並向所述用戶端程式發送所述已啟動消息;
位於所述可信執行環境的第二啟動結果通知模組,用於若所述可信儲存空間中未儲存有啟動檔,則產生未啟動消息,並向所述用戶端程式發送所述未啟動消息。
在本發明實施例中,所述的裝置還可以包括:
位於所述可信執行環境的備份儲存模組,用於對儲存到所述可信儲存空間的啟動檔進行備份儲存;
位於所述可信執行環境的備份恢復模組,用於在所述可信儲存空間的啟動檔損壞或丟失時,根據備份儲存的啟動檔進行恢復處理。
在本發明實施例中,所述驗證模組502可以包括:
第一校驗資訊獲取子模組,用於從所述啟動檔,獲取對應的第一校驗資訊;
第二校驗資訊獲取子模組,用於獲取當前設備的第二校驗資訊;
檢驗資訊判斷子模組,用於判斷所述第一校驗資訊、所述第二校驗資訊是否相同。
在本發明實施例中,所述啟動檔可以透過如下模組產生:
位於啟動檔產生程式的唯一標識獲取模組,用於獲取設備的唯一標識;
位於所述啟動檔產生程式的啟動檔產生模組,用於採用所述設備的唯一標識,產生具有所述第一校驗資訊的啟動檔。
在本發明實施例中,所述第二校驗資訊獲取子模組可以包括:
唯一標識獲取單元,用於獲取當前設備的唯一標識;
第二校驗資訊產生單元,用於採用所述當前設備的唯一標識產生第二校驗資訊。
在本發明實施例中,所述啟動檔產生模組可以包括:
第一檢驗資訊產生子模組,用於計算所獲取設備的唯一標識的雜湊值,並將該雜湊值作為第一檢驗資訊;
啟動檔產生子模組,用於產生程式產生具有所述第一檢驗資訊的啟動檔。
在本發明實施例中,所述第二校驗資訊產生單元可以包括:
第二校驗資訊產生子單元,用於計算所述當前設備的唯一標識的雜湊值,並將該雜湊值作為第二校驗資訊。
在本發明實施例中,所述啟動檔產生子模組可以包括:
第一檢驗資訊加密單元,用於對所述第一檢驗資訊進行加密處理;
啟動檔產生單元,用於產生程式產生具有加密後的所述第一檢驗資訊的啟動檔。
在本發明實施例中,所述第一校驗資訊獲取子模組可以包括:
加密校驗資訊獲取單元,用於從所述啟動檔,獲取經加密的第一校驗資訊;
第一校驗資訊解密單元,用於對所述經加密的第一校驗資訊進行解密處理,得到第一校驗資訊。
本發明還公開了一種可信執行環境的啟動裝置實施例,包括:
位於所述可信執行環境的啟動檔獲取模組,用於獲取由用戶端程式發送的預置在設備的啟動檔;
位於所述可信執行環境的啟動條件判斷模組,用於驗證所述啟動檔是否符合啟動條件;
位於所述可信執行環境的啟動模組,用於若所述啟動檔符合啟動條件,則啟動並允許所述受信任應用程式正常運行。
對於裝置實施例而言,由於其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
本發明實施例還提供了一種裝置,包括:
一個或多個處理器;和
其上儲存有指令的一個或多個機器可讀媒體,當由所述一個或多個處理器執行時,使得所述裝置執行本發明實施例所述的方法。
本發明實施例還提供了一個或多個機器可讀媒體,其上儲存有指令,當由一個或多個處理器執行時,使得所述處理器執行本發明實施例所述的方法。
本說明書中的各個實施例均採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
本領域內的技術人員應明白,本發明實施例的實施例可提供為方法、裝置、或電腦程式產品。因此,本發明實施例可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明實施例可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟儲存器、CD-ROM、光學儲存器等)上實施的電腦程式產品的形式。
本發明實施例是參照根據本發明實施例的方法、終端設備(系統)、和電腦程式產品的流程圖和/或方塊圖來描述的。應理解可由電腦程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理器或其他可程式設計資料處理終端設備的處理器以產生一個機器,使得透過電腦或其他可程式設計資料處理終端設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的裝置。
這些電腦程式指令也可儲存在能引導電腦或其他可程式設計資料處理終端設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理終端設備上,使得在電腦或其他可程式設計終端設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計終端設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。
儘管已描述了本發明實施例的較佳實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例做出另外的變更和修改。所以,申請專利範圍意欲解釋為包括較佳實施例以及落入本發明實施例範圍的所有變更和修改。
最後,還需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、物品或者終端設備中還存在另外的相同要素。
以上對本發明所提供的一種可信執行環境的啟動方法和一種可信執行環境的啟動裝置,進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
501‧‧‧位於所述可信執行環境的啟動檔獲取模組
502‧‧‧位於所述可信執行環境的驗證模組
503‧‧‧位於所述可信執行環境的啟動模組
504‧‧‧位於所述可信執行環境的儲存模組
圖1是本發明的一種可信執行環境的啟動方法實施例一的步驟流程圖;
圖2是本發明的一種可信執行環境的啟動方法實施例二的步驟流程圖;
圖3是本發明的一種可信執行環境的啟動方法實施例三的步驟流程圖;
圖4是本發明實施例中產生啟動檔的流程圖;
圖5是本發明實施例中可信執行環境的啟動的流程圖;
圖6是本發明的一種可信執行環境的啟動裝置實施例的結構方塊圖。