摘要:為了更好地保障手機(jī)應(yīng)用的安全執(zhí)行和對手機(jī)終端進(jìn)行安全訪問控制及遠(yuǎn)程安全管理,提出一種基于TEE的安全手機(jī)功能及管理平臺架構(gòu),研究表明,這種架構(gòu)有助于移動運(yùn)營商向用戶提供安全存儲、安全算法、安全用戶界面和安全支付等安全服務(wù)。
關(guān)鍵詞:可信執(zhí)行環(huán)境 多媒體執(zhí)行環(huán)境 可信操作系統(tǒng) 可信應(yīng)用 安全手機(jī)
1 引言
隨著移動互聯(lián)網(wǎng)的蓬勃發(fā)展,互聯(lián)網(wǎng)向移動互聯(lián)網(wǎng)發(fā)展遷移已經(jīng)成為不可逆轉(zhuǎn)的趨勢,而作為其中的關(guān)鍵主體,移動終端的操作系統(tǒng)也面臨著與互聯(lián)網(wǎng)時代桌面?zhèn)€人計算機(jī)上的視窗操作系統(tǒng)同樣的安全性問題。在全球智能機(jī)操作系統(tǒng)市場上,目前,安卓系統(tǒng)已經(jīng)占統(tǒng)治地位[1],但隨之而來的是開放的安卓系統(tǒng)成了惡意軟件攻擊的首選目標(biāo),實(shí)際上,即使蘋果手機(jī)的iOS操作系統(tǒng)相對封閉,也不可避免地受到病毒的侵襲,如2015年的XcodeGhost入侵蘋果iOS的事件已經(jīng)在業(yè)內(nèi)引起不小的震動[2]。對于移動運(yùn)營商來說,移動互聯(lián)網(wǎng)應(yīng)用的蓬勃發(fā)展既給移動運(yùn)營商帶來提高用戶粘合性的機(jī)會,但也帶來了安全性的挑戰(zhàn),因此移動設(shè)備操作系統(tǒng)所產(chǎn)生的安全性問題不僅受到終端用戶、服務(wù)提供商、手機(jī)設(shè)備制造商和芯片廠商等的關(guān)注,也同樣引起移動運(yùn)營商的關(guān)注,如何向用戶提供安全可靠的服務(wù)及提高用戶的信任度已經(jīng)成為移動運(yùn)營商需要考慮的首要問題。
2 GP的TEE系統(tǒng)架構(gòu)
針對移動設(shè)備操作系統(tǒng)的開放環(huán)境產(chǎn)生的安全問題,為保障用戶方便、快捷且安全可靠地進(jìn)行移動支付交易,智能卡及終端安全的標(biāo)準(zhǔn)組織GP(Global Platform,全球平臺組織)提出TEE(Trusted Execution Environment,可信執(zhí)行環(huán)境)概念。TEE是與移動終端設(shè)備上的REE(Rich Execution Environment,多媒體執(zhí)行環(huán)境)并存的運(yùn)行環(huán)境,Rich OS(Rich Operating System,多媒體操作系統(tǒng))通常是安卓系統(tǒng)或蘋果手機(jī)的iOS系統(tǒng),運(yùn)行在REE環(huán)境中。TEE則由手機(jī)處理器核、安全存儲器、TUI(Trusted User Interface,可信用戶接口界面)、Trusted OS(Trusted Operating System,可信操作系統(tǒng))和TA(Trusted Application,可信應(yīng)用)等可信軟硬件資源組成以構(gòu)造一個比REE更安全的可信執(zhí)行空間。為保證TEE資源的安全,GP標(biāo)準(zhǔn)規(guī)定一些REE可以訪問的資源TEE也能訪問,而反過來,除非有TEE的明確授權(quán),否則TEE上的可信資源只允許其他可信資源訪問[3]。這樣,在這個與Rich OS相隔離的封閉的可信空間環(huán)境里可以更安全地存儲和處理用戶的個人信息,進(jìn)行電子支付,并且給Rich OS提供安全服務(wù)。
GP提出的TEE系統(tǒng)架構(gòu)[4]如圖1所示。
在這個架構(gòu)中,手機(jī)執(zhí)行環(huán)境由REE和TEE組成。REE通常是安卓或iOS等移動終端操作系統(tǒng)的運(yùn)行環(huán)境,包含CA(Client Application,客戶端應(yīng)用)、TEE功能API(Application Programming Interface,應(yīng)用程序編程接口)、TEE客戶端API及多媒體操作系統(tǒng)部件等模塊。CA是提供給用戶使用的客戶端應(yīng)用,如微信或支付寶等。TEE功能API將提供給CA一套訪問TEE核心服務(wù)(如可信存儲及加密算法等服務(wù))的友好接口,目前這個接口尚在定義中。TEE客戶端API提供運(yùn)行于REE環(huán)境的CA訪問TEE環(huán)境中的TA及與TA進(jìn)行數(shù)據(jù)交換的底層通信接口。多媒體操作系統(tǒng)部件包含公共設(shè)備驅(qū)動及REE通信代理等模塊,REE通信代理提供CA與TA之間的消息傳送[5]。
相對于開放環(huán)境的REE,TEE提供了一個較安全的封閉的執(zhí)行環(huán)境,TEE主要由TA、TEE內(nèi)部API、可信操作系統(tǒng)部件和可信內(nèi)核等組成。TA運(yùn)行于TEE環(huán)境,向它的用戶提供安全服務(wù),TA與TA之間通過TEE內(nèi)部API進(jìn)行通信,在這種情況下,一個TA可作為另一個TA的客戶端[6]。TEE內(nèi)部API為運(yùn)行于TEE環(huán)境內(nèi)的TA定義一套C語言的APIs,這套APIs定義運(yùn)行在TEE內(nèi)部的TA的開發(fā)接口[6],具體來說,就是提供集成、調(diào)度、通信、內(nèi)存管理和系統(tǒng)信息檢索接口,以及提供安全存儲、密碼服務(wù)、安全時鐘服務(wù)和安全算術(shù)運(yùn)算等APIs接口[7]??尚挪僮飨到y(tǒng)部件包含TEE通信代理、可信核心框架和可信功能等模塊。TEE通信代理與REE通信代理一起實(shí)現(xiàn)CA與TA之間消息的安全傳送??尚藕诵目蚣芟騎A提供安全OS功能??尚殴δ苣K向應(yīng)用開發(fā)者提供輔助設(shè)施支撐[5]。對于可信內(nèi)核,可信內(nèi)核主要向可信核心框架和可信功能模塊提供調(diào)度和其他OS管理功能[5]。
如圖1所示,TEE與Rich OS分離,對TEE的軟硬件資源的訪問必須有TEE的明確授權(quán),對TEE中的授權(quán)安全軟件TA的訪問必須通過GP定義的一套APIs進(jìn)行,因此TEE保障了TA的安全執(zhí)行,從而TEE比Rich OS的安全級別更高,能對大多數(shù)應(yīng)用,如某些小額的支付及DRM(Digital Rights Management,數(shù)字版權(quán)管理)等提供合適的安全保護(hù)強(qiáng)度。
3 一種基于TEE的安全手機(jī)功能及管理
架構(gòu)
GP TEE標(biāo)準(zhǔn)一經(jīng)推出,就獲得了國內(nèi)外相關(guān)金融安全組織和機(jī)構(gòu)的重視,目前,GP TEE安全架構(gòu)已得到全球主流芯片廠商的支持,越來越多的移動終端已開始采用支持TEE架構(gòu)的安全芯片作為底層硬件支撐,從而便于在移動設(shè)備中開發(fā)安全可靠的移動支付等安全應(yīng)用。
面對未來可能出現(xiàn)的多種TEE終端設(shè)備,如何定制和管理TEE終端設(shè)備成了移動運(yùn)營商迫切需要解決的問題。為此,本文提出一種基于TEE的安全手機(jī)功能及管理架構(gòu)。
3.1 基于TEE的安全手機(jī)功能架構(gòu)
本文提出的基于TEE的安全手機(jī)功能架構(gòu)如圖2所示。
基于TEE安全手機(jī)終端由兩種執(zhí)行環(huán)境組成,即REE與TEE。REE主要由REE硬件、REE硬件驅(qū)動、Rich OS部件、TEE客戶端API、REE訪問控制執(zhí)行器和CA等組成。REE硬件提供輸入/輸出、觸摸顯示屏、存儲、CPU等設(shè)備。REE硬件驅(qū)動提供多媒體環(huán)境下的設(shè)備驅(qū)動,如SIM卡等設(shè)備的驅(qū)動。Rich OS部件提供REE通信代理及Rich OS下的REE應(yīng)用。TEE客戶端API為CA訪問TA的接口,采用GP客戶端標(biāo)準(zhǔn)接口[8]。REE訪問控制執(zhí)行器實(shí)現(xiàn)CA對SE(Secure Element,安全元件)的安全訪問控制,REE訪問控制執(zhí)行器從與REE連接的SE獲取訪問規(guī)則并運(yùn)用這些規(guī)則來控制CA對于SE上各種應(yīng)用程序的訪問,同時REE訪問控制執(zhí)行器也控制CA對TA的安全訪問,以進(jìn)一步加強(qiáng)對TA訪問的安全性。CA為移動運(yùn)營商自有的客戶端應(yīng)用或第三方客戶端應(yīng)用。
對于TEE,TEE主要由安全硬件、安全硬件驅(qū)動、安全OS部件、TEE內(nèi)部核心API、TEE訪問控制執(zhí)行器、SD(Secure Domain,安全域)及TA等模塊組成。安全硬件包含安全輸入/輸出、觸摸顯示屏、處理器核及存儲器等設(shè)備。安全硬件驅(qū)動提供安全設(shè)備驅(qū)動,如指紋設(shè)備驅(qū)動等。安全OS部件提供安全OS功能,由安全存儲、安全算法、生物特征識別、可信用戶界面和TEE通信代理等核心安全功能模塊組成。安全存儲提供在TEE環(huán)境下的統(tǒng)一安全數(shù)據(jù)存儲服務(wù)及接口API。安全算法提供在TEE環(huán)境下的常用加解密算法服務(wù)及接口API。生物特征識別提供TEE環(huán)境下的生物特征,如指紋等生物特征的采集、存儲和識別服務(wù)及接口API??尚庞脩艚缑嬖赥EE環(huán)境下提供用戶界面展示及相關(guān)輸入輸出信息處理的界面服務(wù)及接口API,采用GP TUI標(biāo)準(zhǔn)接口[9]。安全OS所提供的功能可以很好地提高移動支付的安全性和提供更好的用戶安全體驗(yàn),如安全存儲功能可以將支付中的關(guān)鍵數(shù)據(jù)(例如密鑰、憑據(jù)和證書等)存到TEE中的安全存儲器來加強(qiáng)支付的安全性。安全算法提供安全支付中數(shù)據(jù)的加解密和私鑰簽名等安全服務(wù),從而提高支付的安全性。可信用戶界面則向用戶提供在認(rèn)證、交易處理和確認(rèn)等方面的安全保護(hù)和更好的安全體驗(yàn)。基于TEE實(shí)現(xiàn)的生物特征識別功能則進(jìn)一步增強(qiáng)支付業(yè)務(wù)的安全性。TEE內(nèi)部核心API提供TA之間互相訪問及TA訪問安全OS功能的接口API,接口采用GP內(nèi)部核心標(biāo)準(zhǔn)接口[10]。TEE訪問控制執(zhí)行器控制TA對SE的安全訪問,當(dāng)終端設(shè)備啟動時,TEE訪問控制執(zhí)行器從與TEE連接的SE獲取SE訪問規(guī)則,存放于TEE安全存儲器中,以后如果SE訪問規(guī)則沒有發(fā)生變化,則從TEE安全存儲器中獲取訪問規(guī)則并運(yùn)用這些規(guī)則來控制TA對SE的訪問;如果訪問規(guī)則在設(shè)備啟動后發(fā)生變化,則重新讀取規(guī)則到TEE安全存儲器中并運(yùn)用新規(guī)則來控制TA對SE的訪問。SD是TEE的特權(quán)部件,SD負(fù)責(zé)提供和管理TEE和TA。也就是說SD負(fù)責(zé)執(zhí)行TEE的創(chuàng)建、初始化和個性化設(shè)置以及TEE的鎖定與解鎖。對于TA,SD負(fù)責(zé)執(zhí)行TA的安裝、刪除、更新及TA的鎖定與解鎖。
為了保障TEE的安全,REE與TEE之間有硬件隔離。在軟件上,REE與TEE采用兩種方式進(jìn)行通信,一種是通過TEE客戶端API接口[8],通過共享內(nèi)存方式,提供REE的CA訪問TEE的TA的底層通信。另一種是通過REE通信代理和TEE通信代理一起提供CA與TA之間的消息傳送。為了保障TEE中TA的安全,CA在使用TEE客戶端API來建立與TA之間的通信通道時,這個請求被轉(zhuǎn)發(fā)到REE訪問控制執(zhí)行器,由REE訪問控制執(zhí)行器根據(jù)CA所獲取的TA所屬TEE的簽名和TA的訪問規(guī)則來控制CA對TA的安全訪問。
以上基于TEE的安全手機(jī)功能架構(gòu)實(shí)現(xiàn)REE與TEE的硬件隔離,向可信應(yīng)用TA提供一個安全的執(zhí)行環(huán)境,并通過引入REE訪問控制執(zhí)行器與TEE訪問控制執(zhí)行器進(jìn)一步保障對TA和SE的安全訪問控制,提高了TA的資源和數(shù)據(jù)的保密性和完整性,從而有助于移動運(yùn)營商向用戶提供具有安全存儲、安全算法、安全用戶界面和安全支付等安全功能的手機(jī)終端。
3.2 基于TEE的安全手機(jī)管理平臺架構(gòu)
為了實(shí)現(xiàn)對不同手機(jī)終端上的TEE、SD及TA的遠(yuǎn)程實(shí)時管理,并同時有效地保障應(yīng)用安全和訪問通道的安全,本文提出一種對基于TEE的安全手機(jī)終端進(jìn)行管理的平臺架構(gòu)。這個基于TEE的安全手機(jī)管理平臺架構(gòu)分4層,從上到下分別為可信應(yīng)用(TA)層、平臺層、終端層及SE層。具體如圖3所示。
可信應(yīng)用層由移動運(yùn)營商自有的應(yīng)用(如翼支付和愛Wi-Fi等)與行業(yè)應(yīng)用(如銀行與公交行業(yè)等提供的應(yīng)用)組成。
平臺層由移動運(yùn)營商自有的TEEMP(Trusted Execution Environment Management Platform,可信環(huán)境管理平臺)和第三方的TEEMP組成。第三方的TEEMP主要負(fù)責(zé)第三方的TA、SD及TEE的管理。移動運(yùn)營商自有的TEEMP實(shí)現(xiàn)對運(yùn)營商自有TA、SD及TEE的管理,即主要負(fù)責(zé)管理SP的TA接入,并對移動運(yùn)營商可管理的SE、TEE、SD以及TA提供管理操作服務(wù)。具體來說,對于TA,TEEMP提供TA的遠(yuǎn)程下載、安裝/卸載、更新、和鎖定/解鎖等遠(yuǎn)程實(shí)時管理服務(wù);對于SD,TEEMP提供SD的遠(yuǎn)程下載、安裝/卸載、個性化、密鑰更新和鎖定/解鎖等管理服務(wù);對于TEE,TEEMP負(fù)責(zé)對TEE進(jìn)行管理與授權(quán),提供TEE的遠(yuǎn)程密鑰管理、個性化設(shè)置、恢復(fù)出廠設(shè)置、通道管理和鎖定/解鎖等服務(wù)。其中,通道管理服務(wù)提供遠(yuǎn)程管理和控制CA對TA的訪問,以及TA對僅供TEE訪問的SE的安全訪問。以CA訪問TA為例,TEE的管理SD在手機(jī)出廠時預(yù)置有TEE訪問控制簽名,只有獲得TEE訪問控制簽名的CA才能正常訪問TEE的TA,當(dāng)CA要訪問TA時,CA先要從TEEMP獲取TA所屬的TEE的訪問控制簽名,然后CA使用TEE客戶端API[8]來請求建立與TA之間的通信通道,這個請求立即被轉(zhuǎn)發(fā)到REE訪問控制執(zhí)行器,REE訪問控制器與TA所屬的TEE的管理SD通信,得到該TEE訪問控制簽名。REE訪問控制器在本地比較CA提供的TEE的訪問控制簽名是否與REE訪問控制器得到的TEE的訪問控制簽名一致。如果兩者一致,允許CA訪問TEE的TA,否則拒絕CA訪問TEE的TA,并返回錯誤信息給CA。對于TA訪問僅供TEE訪問的SE,TEE訪問控制器實(shí)時接收TEEMP的指令,更新存于該SE中的安全訪問控制規(guī)則,并根據(jù)最新的安全訪問控制規(guī)則實(shí)現(xiàn)TA對僅供TEE訪問的SE的安全訪問控制。
終端層接受TEEMP對基于TEE的手機(jī)終端進(jìn)行集中管理,支持TEEMP對TA、SD及TEE的遠(yuǎn)程管理操作。終端層接收TEEMP下發(fā)指令實(shí)現(xiàn)對手機(jī)終端SD的遠(yuǎn)程下載、安裝/卸載、個性化、鎖定/解鎖以及密鑰更新等管理操作。TEEMP對TA與TEE的管理通過SD進(jìn)行,SD在TEE內(nèi)接收TEEMP指令后實(shí)現(xiàn)對TA的下載、安裝、卸載、更新和鎖定/解鎖等操作,以及對TEE的密鑰管理、個性化設(shè)置、恢復(fù)出廠設(shè)置和鎖定/解鎖等操作。
SE層由安全元件組成,為REE和TEE所接入的安全元件,安全級別高的文件可存儲在僅由TEE可訪問的SE中,一般的文件則可存儲在能由REE訪問的SE中。
綜上,通過TEEMP并結(jié)合手機(jī)終端上REE訪問控制器和TEE訪問控制器一起實(shí)現(xiàn)了對手機(jī)終端上的TA、SD、TEE和SE的遠(yuǎn)程安全部署、安全訪問控制及安全管理。
4 結(jié)束語
當(dāng)前,手機(jī)已經(jīng)成為人們隨身攜帶的重要工具,手機(jī)的功能已經(jīng)不再局限于作為通信工具,它還是娛樂工具、導(dǎo)航儀、移動辦公工具、電子錢包及存有個人重要數(shù)據(jù)的移動硬盤等。實(shí)際上,手機(jī)已經(jīng)成為人們隨身攜帶的必不可少的智能計算機(jī),因此手機(jī)也像傳統(tǒng)的個人計算機(jī)一樣不可避免地成了惡意應(yīng)用及黑客攻擊的目標(biāo)[11],如何加強(qiáng)手機(jī)的安全性已經(jīng)成為業(yè)界討論的熱點(diǎn)問題。本文從GP的TEE系統(tǒng)架構(gòu)出發(fā),提出一種基于TEE的安全手機(jī)功能和管理平臺架構(gòu),這種架構(gòu)保障了授權(quán)安全軟件TA的安全執(zhí)行和實(shí)現(xiàn)對手機(jī)進(jìn)行安全訪問控制及遠(yuǎn)程安全管理,從而有助于移動運(yùn)營商向用戶提供安全存儲、安全算法、安全用戶界面及安全支付等安全服務(wù)。
參考文獻(xiàn):
[1] 先謝郭嘉. 2016年Q1全球智能機(jī)市場銷量報告 三星蘋果華為前三甲[EB/OL]. (2016-05-20). http://t.qianzhan.com/mob/detail/160520-4a7a230d.html.
[2] 伯小樂. 讓微信等知名APP都中招的XcodeGhost事件全面詳細(xì)回顧[EB/OL]. (2015-09-20). http://blog.jobbole.com/91646/.
[3] GlobalPlatform Device Technology. TEE system architecture version 1.0. Technical Report GPD_SPE_009, globalplatform.org[R]. 2011: 13.
[4] GlobalPlatform Device Technology. TEE system architecture version 1.0. Technical Report GPD_SPE_009, globalplatform.org[R]. 2011: 17.
[5] GlobalPlatform Device Technology. TEE system architecture version 1.0. Technical Report GPD_SPE_009, globalplatform.org[R]. 2011: 18.
[6] GlobalPlatform Device Technology. TEE internal API specification version 1.0. Technical Report GPD_SPE_010, globalplatform.org[R]. 2011: 16.
[7] GlobalPlatform Device Technology. TEE system architecture version 1.0. Technical Report GPD_SPE_009, globalplatform.org[R]. 2011: 21.
[8] GlobalPlatform Device Technology. TEE client API specification version 1.0. Technical Report GPD_SPE_007, globalplatform.org[R]. 2010.
[9] GlobalPlatform Device Technology. Trusted user interface API version 1.0. Technical Report GPD_SPE_020, globalplatform.org[R]. 2013.
[10] GlobalPlatform Device Technology. TEE internal core API specification version 1.1.1. Technical Report GPD_SPE_010, globalplatform.org[R]. 2016.
[11] 楊穗珊,王朝暉. 天價流量與數(shù)據(jù)流量業(yè)務(wù)的未來[J]. 移動通信, 2015,39(23): 34-38. ★