本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種可信執(zhí)行環(huán)境的身份驗證方法、裝置及終端。
背景技術(shù):
可信執(zhí)行環(huán)境(TEE)是Global Platform(GP)提出的概念。
針對移動設(shè)備的開放環(huán)境,安全問題越來越受到關(guān)注,不僅僅是終端用戶,還包括服務(wù)提供者、移動運營商,以及芯片廠商。TEE是與設(shè)備上的普通執(zhí)行環(huán)境(Rich OS,通常指Android等)并存的運行環(huán)境,并且給Rich OS提供安全服務(wù)。它具有其自身的執(zhí)行空間,比Rich OS的安全級別更高。
TEE所能訪問的軟硬件資源是與普通執(zhí)行環(huán)境分離的。TEE提供了授權(quán)安全軟件(可信應(yīng)用,Trusted Application,TA)的安全執(zhí)行環(huán)境,同時也保護TA的資源和數(shù)據(jù)的保密性,完整性和訪問權(quán)限。為了保證TEE本身的可信根,TEE在安全啟動過程中是要通過驗證并且與普通執(zhí)行環(huán)境隔離。在TEE中,每個TA是相互獨立的,而且不能在未授權(quán)的情況下不能互相訪問。
TEE現(xiàn)有方案在很多方面還不成熟,主要側(cè)重于解決如何實現(xiàn)普通執(zhí)行環(huán)境與TEE的通信機制、高效的內(nèi)存共享機制,以及多核架構(gòu)帶來的問題。其安全性主要通過普通執(zhí)行環(huán)境與TEE執(zhí)行空間和資源分離來實現(xiàn)。而且,在TEE中運行的TA經(jīng)過嚴格審查,不帶有惡意代碼,需要相應(yīng)機構(gòu)的認證和簽名才能部署到設(shè)備,以此保證TEE的安全性。
但是,即使TA本身沒有漏洞,可以正確執(zhí)行,由于現(xiàn)有TEE機制中尚未定義如何約束普通執(zhí)行環(huán)境中的應(yīng)用通過Client API訪問TA,防止未授權(quán)的普通執(zhí)行環(huán)境中應(yīng)用濫用Client API,導(dǎo)致TA執(zhí)行狀態(tài)和結(jié)果被普通執(zhí)行環(huán)境中的非法應(yīng)用篡改,并影響到普通執(zhí)行環(huán)境中合法應(yīng)用的正確邏輯。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是提供一種可信執(zhí)行環(huán)境的身份驗證方法、裝置及終端,解決了現(xiàn)有技術(shù)中未授權(quán)的普通執(zhí)行環(huán)境中應(yīng)用濫用Client API,破壞TA正確邏輯的問題。該方法不需要在普通執(zhí)行環(huán)境的應(yīng)用中增加額外邏輯,就可實現(xiàn)身份驗證;不需要在TA中增加額外邏輯,就可實現(xiàn)身份驗證,從而保證了TEE的安全性。
為了達到上述目的,本發(fā)明實施例提供了一種可信執(zhí)行環(huán)境的身份驗證方法,包括:
獲取用于唯一標識終端普通執(zhí)行環(huán)境中的應(yīng)用身份的標識;
獲取終端可信執(zhí)行環(huán)境TEE中的身份驗證規(guī)則;
若所述標識在終端可信執(zhí)行環(huán)境TEE中的身份驗證規(guī)則中,確定所述終端普通執(zhí)行環(huán)境中的應(yīng)用合法;
產(chǎn)生允許所述終端普通執(zhí)行環(huán)境中的應(yīng)用訪問終端可信應(yīng)用TA的指令,使所述應(yīng)用根據(jù)所述指令訪問所述可信應(yīng)用TA。
其中,所述獲取用于唯一標識終端普通執(zhí)行環(huán)境中的應(yīng)用身份的標識的步驟包括:
獲取終端中的軟件包管理器在普通執(zhí)行環(huán)境中的應(yīng)用安裝時的應(yīng)用安裝包;
解析所述應(yīng)用安裝包,獲取所述應(yīng)用身份的標識。
其中,所述標識為應(yīng)用證書哈希值。
其中,所述獲取可信執(zhí)行環(huán)境TEE中的身份驗證規(guī)則的步驟包括:
獲取終端生產(chǎn)或安裝可信應(yīng)用TA時,預(yù)置或下載在可信執(zhí)行環(huán)境TEE中的身份驗證規(guī)則。
其中,所述身份驗證規(guī)則中包括:允許訪問可信應(yīng)用TA的普通執(zhí)行環(huán)境中的應(yīng)用的標識和可信應(yīng)用通用唯一識別碼TA UUID。
本發(fā)明實施例還提供一種可信執(zhí)行環(huán)境的身份驗證裝置,包括:
第一獲取模塊,用于獲取用于唯一標識終端普通執(zhí)行環(huán)境中的應(yīng)用身份的標識;
第二獲取模塊,用于獲取終端可信執(zhí)行環(huán)境TEE中的身份驗證規(guī)則;
確定模塊,用于判斷所述標識在終端可信執(zhí)行環(huán)境TEE中的身份驗證規(guī)則中,確定所述終端普通執(zhí)行環(huán)境中的應(yīng)用合法;
指令產(chǎn)生模塊,用于產(chǎn)生允許所述終端普通執(zhí)行環(huán)境中的應(yīng)用訪問移動設(shè)備可信應(yīng)用TA的指令,使所述應(yīng)用根據(jù)所述指令訪問所述可信應(yīng)用TA。
其中,所述第一獲取模塊包括:
第一獲取子模塊,用于獲取終端中的軟件包管理器在普通執(zhí)行環(huán)境中的應(yīng)用安裝時的應(yīng)用安裝包;
解析模塊,用于解析所述應(yīng)用安裝包,獲取所述應(yīng)用身份的標識。
其中,所述第二獲取模塊具體用于獲取終端生產(chǎn)或安裝可信應(yīng)用TA時,預(yù)置或下載在可信執(zhí)行環(huán)境TEE中的身份驗證規(guī)則。
其中,所述身份驗證規(guī)則中包括:允許訪問可信應(yīng)用TA的普通執(zhí)行環(huán)境中的應(yīng)用的標識和可信應(yīng)用通用唯一識別碼TA UUID。
本發(fā)明實施例還提供一種終端,包括如上述實施例所述的可信執(zhí)行環(huán)境的身份驗證裝置。
本發(fā)明的上述技術(shù)方案至少具有如下有益效果:
本發(fā)明實施例的可信執(zhí)行環(huán)境的身份驗證方法、裝置及終端中,利用唯一標識終端普通執(zhí)行環(huán)境中的應(yīng)用身份的標識及可信執(zhí)行環(huán)境TEE中的身份驗證規(guī)則,確定所述終端普通執(zhí)行環(huán)境中的應(yīng)用合法,且不需要在普通執(zhí)行環(huán)境的應(yīng)用中增加額外邏輯,不需要在TA中增加額外邏輯,即可實現(xiàn)身份驗證。從而防止未授權(quán)的普通執(zhí)行環(huán)境中應(yīng)用濫用Client API,破壞TA正確邏輯,保證了TEE的安全性。
附圖說明
圖1為本發(fā)明實施例可信執(zhí)行環(huán)境的身份驗證方法的基本步驟示意圖;
圖2為本發(fā)明實施例可信執(zhí)行環(huán)境的身份驗證裝置的組成結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例進行詳細描述。
本發(fā)明針對現(xiàn)有技術(shù)中終端未授權(quán)的普通執(zhí)行環(huán)境中應(yīng)用濫用Client API,破壞TA正確邏輯的問題,提供了一種可信執(zhí)行環(huán)境的身份驗證方法、裝置及終端,用唯一標識終端普通執(zhí)行環(huán)境中的應(yīng)用身份的標識及可信執(zhí)行環(huán)境TEE中的身份驗證規(guī)則,確定所述終端普通執(zhí)行環(huán)境中的應(yīng)用合法,且不需要在普通執(zhí)行環(huán)境的應(yīng)用中增加額外邏輯,不需要在TA中增加額外邏輯,即可實現(xiàn)身份驗證。從而防止未授權(quán)的普通執(zhí)行環(huán)境中應(yīng)用濫用Client API,破壞TA正確邏輯,保證了TEE的安全性。
如圖1所示,本發(fā)明實施例提供一種可信執(zhí)行環(huán)境的身份驗證方法,包括:
步驟11,獲取用于唯一標識終端普通執(zhí)行環(huán)境中的應(yīng)用身份的標識;
步驟12,獲取終端可信執(zhí)行環(huán)境TEE中的身份驗證規(guī)則;
步驟13,若所述標識在終端可信執(zhí)行環(huán)境TEE中的身份驗證規(guī)則中,確定所述終端普通執(zhí)行環(huán)境中的應(yīng)用合法;
步驟14,產(chǎn)生允許所述終端普通執(zhí)行環(huán)境中的應(yīng)用訪問終端可信應(yīng)用TA的指令,使所述應(yīng)用根據(jù)所述指令訪問所述可信應(yīng)用TA。
本發(fā)明實施例的可信執(zhí)行環(huán)境的身份驗證方法及裝置中,利用唯一標識終端普通執(zhí)行環(huán)境中的應(yīng)用身份的標識及可信執(zhí)行環(huán)境TEE中的身份驗證規(guī)則,確定所述終端普通執(zhí)行環(huán)境中的應(yīng)用合法,且不需要在普通執(zhí)行環(huán)境的應(yīng)用中增加額外邏輯,不需要在TA中增加額外邏輯,即可實現(xiàn)身份驗證。從而防止未授權(quán)的普通執(zhí)行環(huán)境中應(yīng)用濫用Client API,破壞TA正確邏輯,保證了TEE的安全性。
本發(fā)明的上述實施例中,所述可信應(yīng)用TA包括:支付TA、數(shù)字版權(quán)管理TA、企業(yè)TA。
進一步的,本發(fā)明的上述實施例中提供的從終端獲取用于唯一標識終端普通執(zhí)行環(huán)境中的應(yīng)用身份的標識的方法中,步驟11可以包括:
步驟111,獲取終端中的軟件包管理器在普通執(zhí)行環(huán)境中的應(yīng)用安裝時的應(yīng)用安裝包;
步驟112,解析所述應(yīng)用安裝包,獲取所述應(yīng)用身份的標識。
具體的,步驟112中的應(yīng)用身份的標識為應(yīng)用證書SHA-1哈希值。
進一步的,本發(fā)明的實施例中提供的獲取終端可信執(zhí)行環(huán)境TEE中的身 份驗證規(guī)則的方法中,步驟12可以包括:
步驟121,獲取終端生產(chǎn)或安裝可信應(yīng)用TA時,預(yù)置或下載在可信執(zhí)行環(huán)境TEE中的身份驗證規(guī)則。
具體的,步驟121中的身份驗證規(guī)則是指:將身份驗證規(guī)則信息數(shù)據(jù)庫中對應(yīng)TA的身份驗證規(guī)則,預(yù)置或下載到TEE中的身份驗證規(guī)則。
該身份驗證規(guī)則中包括:允許訪問可信應(yīng)用TA的普通執(zhí)行環(huán)境中的應(yīng)用的標識和可信應(yīng)用通用唯一識別碼TA UUID。
下面通過Android手機支付應(yīng)用這一具體實施來更清楚的描述本申請中可信執(zhí)行環(huán)境的身份驗證方法:
當(dāng)可信執(zhí)行環(huán)境TEE中不存在身份驗證規(guī)則,普通執(zhí)行環(huán)境中不存在唯一標識終端的應(yīng)用身份的標識時,惡意軟件可以通過Client API訪問支付TA,影響普通執(zhí)行環(huán)境中合法支付應(yīng)用的正確邏輯。
當(dāng)可信執(zhí)行環(huán)境TEE中存在身份驗證規(guī)則,普通執(zhí)行環(huán)境中存在唯一標識終端的應(yīng)用身份的標識時,惡意軟件試圖通過Client API訪問支付TA前,需要經(jīng)過普通執(zhí)行環(huán)境中應(yīng)用身份的標識的檢查,因惡意軟件應(yīng)用證書哈希值不在可信執(zhí)行環(huán)境TEE中的身份驗證規(guī)則中,因此普通執(zhí)行環(huán)境中的信令產(chǎn)生模塊不允許惡意軟件通過Client API訪問支付TA。
當(dāng)經(jīng)過授權(quán)的支付應(yīng)用試圖通過Client API訪問支付TA前,也需要經(jīng)過普通執(zhí)行環(huán)境中應(yīng)用身份的標識的檢查,因授權(quán)的支付應(yīng)用TA證書哈希值存在于可信執(zhí)行環(huán)境TEE中的身份驗證規(guī)則,因此普通執(zhí)行環(huán)境中的指令產(chǎn)生模塊允許經(jīng)過授權(quán)的支付應(yīng)用通過Client API訪問支付TA。
本發(fā)明的上述方法,利用唯一標識終端普通執(zhí)行環(huán)境中的應(yīng)用身份的標識及可信執(zhí)行環(huán)境TEE中的身份驗證規(guī)則,確定所述終端普通執(zhí)行環(huán)境中的應(yīng)用合法,且不需要在普通執(zhí)行環(huán)境的應(yīng)用中增加額外邏輯,不需要在TA中增加額外邏輯,即可實現(xiàn)身份驗證。從而防止未授權(quán)的普通執(zhí)行環(huán)境中應(yīng)用濫用Client API,破壞TA正確邏輯,保證了TEE的安全性。
如圖2所示,本發(fā)明實施例還提供一種可信執(zhí)行環(huán)境的身份驗證裝置,包括:
第一獲取模塊21,用于獲取用于唯一標識終端普通執(zhí)行環(huán)境中的應(yīng)用身 份的標識;
第二獲取模塊22,用于獲取終端可信執(zhí)行環(huán)境TEE中的身份驗證規(guī)則;
確定模塊23,用于判斷所述標識在終端可信執(zhí)行環(huán)境TEE中的身份驗證規(guī)則中,確定所述終端普通執(zhí)行環(huán)境中的應(yīng)用合法;
指令產(chǎn)生模塊24,用于產(chǎn)生允許所述終端普通執(zhí)行環(huán)境中的應(yīng)用訪問移動設(shè)備可信應(yīng)用TA的指令,使所述應(yīng)用根據(jù)所述指令訪問所述可信應(yīng)用TA。
具體的,本發(fā)明的上述實施例中所述第一獲取模塊21包括:
第一獲取子模塊,用于獲取終端中的軟件包管理器在普通執(zhí)行環(huán)境中的應(yīng)用安裝時的應(yīng)用安裝包;
具體的,本發(fā)明的上述實施例中所述第一獲取模塊21包括:
解析模塊,用于解析所述應(yīng)用安裝包,獲取所述應(yīng)用身份的標識。
需要說明的是:該裝置是與上述方法對應(yīng)的裝置,上述方法的所有實現(xiàn)實施例均適用于該裝置的實施例中,也能達到相同的技術(shù)效果。
本發(fā)明實施例還提供一種終端,包括如上述實施例所述的可信執(zhí)行環(huán)境的身份驗證裝置。
以上所述是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。