隱私計(jì)算的硬件方案:「可信執(zhí)行環(huán)境TEE」兼顧數(shù)據(jù)安全、隱私保護(hù)
隨著移動(dòng)互聯(lián)網(wǎng)和云計(jì)算技術(shù)的迅猛發(fā)展,越來(lái)越多的數(shù)據(jù)在云環(huán)境下進(jìn)行存儲(chǔ)、共享和計(jì)算,云環(huán)境下的數(shù)據(jù)安全與隱私保護(hù)也逐漸成為學(xué)術(shù)界以及工業(yè)界關(guān)注的熱點(diǎn)問(wèn)題。目前階段,隱私保護(hù)技術(shù)主要基于密碼算法及協(xié)議(如安全多方計(jì)算、同態(tài)加密等)完成場(chǎng)景落地,其優(yōu)點(diǎn)主要在于具有較高的安全性和可靠性,然而,由于這些算法或協(xié)議的實(shí)現(xiàn)依賴(lài)于大量復(fù)雜計(jì)算(如乘法循環(huán)群上的乘法、指數(shù)運(yùn)算,Pairing 運(yùn)算,格上的數(shù)學(xué)運(yùn)算等),因此存在較大的性能瓶頸,難以在實(shí)際場(chǎng)景中大規(guī)模應(yīng)用。作為基于密碼學(xué)的隱私保護(hù)技術(shù)的一種替代方案,可信執(zhí)行環(huán)境(Trusted execution environment,TEE)基于硬件安全的 CPU 實(shí)現(xiàn)了基于內(nèi)存隔離的安全計(jì)算,可在保證計(jì)算效率的前提下完成隱私保護(hù)的計(jì)算。本文將闡釋梳理 TEE 的概念定義及發(fā)展脈絡(luò),剖析 TEE 與基于密碼學(xué)的隱私保護(hù)技術(shù)的對(duì)比及其在聯(lián)邦學(xué)習(xí)中的應(yīng)用,最后介紹 TEE 的現(xiàn)有框架和相關(guān)應(yīng)用。
一、TEE 定義與發(fā)展脈絡(luò)
概念及辨析:TEE 與 REETEE 是一種具有運(yùn)算和儲(chǔ)存功能,能提供安全性和完整性保護(hù)的獨(dú)立處理環(huán)境。其基本思想是:在硬件中為敏感數(shù)據(jù)單獨(dú)分配一塊隔離的內(nèi)存,所有敏感數(shù)據(jù)的計(jì)算均在這塊內(nèi)存中進(jìn)行,并且除了經(jīng)過(guò)授權(quán)的接口外,硬件中的其他部分不能訪(fǎng)問(wèn)這塊隔離的內(nèi)存中的信息。以此來(lái)實(shí)現(xiàn)敏感數(shù)據(jù)的隱私計(jì)算。富執(zhí)行環(huán)境 (Rich Execution Environment,REE) 指的是操作系統(tǒng)運(yùn)行時(shí)的環(huán)境中,可以運(yùn)行如 Android、IOS 等通用的 OS(Opreating System)。REE 是一個(gè)容易受到攻擊的開(kāi)放環(huán)境,如敏感數(shù)據(jù)的竊取、移動(dòng)支付盜用等等。而 TEE 是中央處理器上的一個(gè)安全區(qū)域,能夠保證敏感數(shù)據(jù)在隔離和可信的環(huán)境內(nèi)被處理,從而免受來(lái)自 REE 中的軟件攻擊。此外,與其他的安全執(zhí)行環(huán)境相比,TEE 可以端到端地保護(hù) TA(Trusted Application)的完整性和機(jī)密性,能夠提供更強(qiáng)的處理能力和更大的內(nèi)存空間。在下圖這一典型的可信執(zhí)行環(huán)境架構(gòu)中,TEE 內(nèi)部為 REE 中的軟件提供了接口,使得 REE 中的軟件可以調(diào)用 TEE 對(duì)數(shù)據(jù)進(jìn)行處理,但不會(huì)泄露敏感數(shù)據(jù)。

TEE 與 REE 關(guān)系圖示
TEE 強(qiáng)大的數(shù)據(jù)安全和隱私保護(hù)能力,使其成為隱私計(jì)算主要技術(shù)流派之一,比 REE 得到了更廣泛的應(yīng)用。
TEE 的定義論述完 TEE 的概念后,接下來(lái)進(jìn)一步解析 TEE 的深層定義。目前對(duì)于 TEE 的定義有很多種形式,針對(duì)于不同的安全性需求和平臺(tái),TEE 的定義也不盡相同,但在所有 TEE 的定義中都會(huì)包含兩個(gè)最關(guān)鍵的點(diǎn):獨(dú)立執(zhí)行環(huán)境和安全存儲(chǔ)。在 GlobalPlatform, TEE System Architecture, 2011 中,GlobalPlatform 將 TEE 定義如下:TEE 是一個(gè)與設(shè)備操作系統(tǒng)并行,但相互隔離的執(zhí)行環(huán)境。TEE 可以保護(hù)其中的數(shù)據(jù)免受一般的軟件攻擊,TEE 可以使用多種技術(shù)實(shí)現(xiàn),在不同的技術(shù)實(shí)現(xiàn)下 TEE 的安全性等級(jí)也會(huì)有所不同。在 IEEE International Conference on Trust 2015 上,Mohamed Sabt 等人使用分離核(separation kernel)對(duì) TEE 進(jìn)行了嶄新的更一般化的定義。分離核最早用于模擬分布式系統(tǒng),其需要滿(mǎn)足以下安全性準(zhǔn)則:1. 數(shù)據(jù)獨(dú)立(data separation):儲(chǔ)存在某個(gè)分區(qū)中的數(shù)據(jù)不能被其他的分區(qū)讀取或篡改。2. 時(shí)間隔離(temporal separation):公共資源區(qū)域中的數(shù)據(jù)不會(huì)泄露任意分區(qū)中的數(shù)據(jù)信息。 3. 信息流控制(Control of information flow):除非有特殊的允許,否則各個(gè)分區(qū)之間不能進(jìn)行通信。4. 故障隔離(Fault isolation):一個(gè)分區(qū)中的安全性漏洞不能傳播到其他分區(qū)?;诜蛛x核的安全性特質(zhì),TEE 可被定義成「一個(gè)運(yùn)行在分離核上的不可篡改的執(zhí)行環(huán)境。」 也就是說(shuō),TEE 可以保證其內(nèi)部代碼的安全性,認(rèn)證性和完整性;可以向第三方證明它的安全性;可以抵抗幾乎所有的對(duì)主要系統(tǒng)的軟件攻擊和物理攻擊;可以有效杜絕利用后門(mén)安全漏洞所展開(kāi)的攻擊。
TEE 發(fā)展脈絡(luò)及現(xiàn)狀TEE 技術(shù)最早可以追溯到 2006 年。開(kāi)放移動(dòng)終端平臺(tái)(Open Mobile Terminal Platform ,以下簡(jiǎn)稱(chēng) OMTP))率先提出一個(gè)針對(duì)移動(dòng)終端的雙系統(tǒng)安全解決方案,即在同一個(gè)終端系統(tǒng)下同時(shí)部署兩個(gè)操作系統(tǒng),其中一個(gè)是常規(guī)的操作系統(tǒng),另一個(gè)是隔離的安全操作系統(tǒng)。其中,安全操作系統(tǒng)運(yùn)行在隔離的硬件環(huán)境中,專(zhuān)門(mén)處理敏感信息以保障其安全性。在 OMTP 方案的基礎(chǔ)上,ARM 公司提出了一種硬件虛擬化技術(shù) TrustZone 及其相關(guān)的硬件實(shí)現(xiàn)方案,并于 2008 年第一次發(fā)布了 Trustzone 技術(shù)白皮書(shū)。目前 ARM 是移動(dòng)端最具影響力的方案供應(yīng)商,其 TEE 技術(shù)也在行業(yè)內(nèi)處于主導(dǎo)地位:高通的驍龍 835/845 系列芯片,海思的麒麟 950/960 系列芯片,聯(lián)發(fā)科的 HelioX20、X25、X30,三星的 Exynos8890、7420、5433 等移動(dòng)端主流處理器的芯片均基于 ARM 結(jié)構(gòu),并且它們采用的 TEE 技術(shù)也基于 ARM 結(jié)構(gòu)。除此之外,還有一種比較主流的可信執(zhí)行環(huán)境產(chǎn)品是 Intel 公司推出的 SGX(Software Guard Extensions)。2010 年 7 月,Global Platform(以下簡(jiǎn)稱(chēng) GP)正式提出了 TEE 的概念,并從 2011 年開(kāi)始起草制定相關(guān)的 TEE 規(guī)范標(biāo)準(zhǔn),針對(duì) TEE 系統(tǒng)設(shè)計(jì)了一系列規(guī)范,對(duì)應(yīng)用接口,應(yīng)用流程,安全存儲(chǔ),身份認(rèn)證等功能進(jìn)行了規(guī)范化。GP 是跨行業(yè)的國(guó)際標(biāo)準(zhǔn)組織,致力于制定和發(fā)布基于硬件安全的技術(shù)標(biāo)準(zhǔn)。GP 組織制定和發(fā)布的國(guó)際標(biāo)準(zhǔn)被稱(chēng)為 GP 標(biāo)準(zhǔn)。此外 GP 組織還設(shè)立了 TEE 檢測(cè)認(rèn)證體系,對(duì) TEE 產(chǎn)品進(jìn)行功能檢測(cè)并頒發(fā)證書(shū),國(guó)際上大多數(shù)基于 TEE 技術(shù)的 Trust OS 都遵循了 GP 的標(biāo)準(zhǔn)規(guī)范。國(guó)內(nèi),銀聯(lián)自 2012 年起與產(chǎn)業(yè)鏈合作開(kāi)始制定包括 TEE 硬件、TEE 操作系統(tǒng)、TEE 基礎(chǔ)服務(wù)和應(yīng)用等各個(gè)層面的規(guī)范標(biāo)準(zhǔn),并且于 2015 年通過(guò)技術(shù)管理委員會(huì)的審核發(fā)布銀聯(lián) TEEI 規(guī)范。2017 年初,人民銀行開(kāi)始制定 TEE 各層面的需求類(lèi)規(guī)范。2020 年 7 月,中國(guó)信通院發(fā)布聯(lián)合 20 家單位共同參與制定的標(biāo)準(zhǔn)《基于可信執(zhí)行環(huán)境的數(shù)據(jù)計(jì)算平臺(tái) 技術(shù)要求與測(cè)試方法》。
二、TEE 與其他隱私計(jì)算技術(shù)
TEE 與安全多方計(jì)算、同態(tài)加密對(duì)比安全多方計(jì)算(MPC)、同態(tài)加密是和 TEE 一樣各有所長(zhǎng)的隱私計(jì)算技術(shù)。MPC 與同態(tài)加密是密碼學(xué)領(lǐng)域最主流的兩種隱私計(jì)算技術(shù),這兩種技術(shù)一般在數(shù)學(xué)上的困難性假設(shè)基礎(chǔ)均可證明安全,因此它們具有邏輯嚴(yán)謹(jǐn)、可解釋性強(qiáng)、可證明安全等特點(diǎn),但是安全性的提升也導(dǎo)致了較高的計(jì)算或通信復(fù)雜度,讓兩種技術(shù)的可用性受到了一定限制。例如,同態(tài)加密的加解密過(guò)程中群上的大數(shù)運(yùn)算帶來(lái)的計(jì)算開(kāi)銷(xiāo),同態(tài)加密的密文長(zhǎng)度增長(zhǎng)以及安全多方計(jì)算技術(shù)中多輪通信帶來(lái)的通信開(kāi)銷(xiāo)等,雖然存在針對(duì)這些問(wèn)題的大量?jī)?yōu)化方案,但是其性能瓶頸仍未從根本上解決。因此通用型 MPC 協(xié)議很難在大規(guī)模計(jì)算環(huán)境下廣泛應(yīng)用,更多是針對(duì)特定問(wèn)題的 MPC 協(xié)議,如隱私信息檢索(PIR)、隱私集合求交(PSI)等,而同態(tài)加密技術(shù)則大多僅應(yīng)用于某些計(jì)算協(xié)議中關(guān)鍵步驟的計(jì)算。與 MPC 和同態(tài)加密相比,TEE 可被視為密碼學(xué)與系統(tǒng)安全的結(jié)合,既包含底層的密碼學(xué)基礎(chǔ),又結(jié)合硬件及系統(tǒng)安全的上層實(shí)現(xiàn),其安全性來(lái)源于隔離的硬件設(shè)備抵御攻擊的能力,同時(shí)避免了額外的通信過(guò)程以及公鑰密碼學(xué)中大量的計(jì)算開(kāi)銷(xiāo)。其缺點(diǎn)也在于其安全性很大程度上依賴(lài)于硬件實(shí)現(xiàn),因此很難給出安全邊界的具體定義,也更容易遭受來(lái)自不同攻擊面的側(cè)信道攻擊。此外,目前 TEE 的安全性標(biāo)準(zhǔn)主要由 GlobalPlatform 制定,通過(guò) GlobalPlatform 安全性認(rèn)證的產(chǎn)品也比較少,如何進(jìn)一步制定明確的 TEE 安全性標(biāo)準(zhǔn)也是一個(gè)難題。TEE、MPC 和同態(tài)加密的對(duì)比如下表:

TEE 在聯(lián)邦學(xué)習(xí)中的應(yīng)用TEE 作為基于硬件的隱私計(jì)算技術(shù),可通過(guò)與聯(lián)邦學(xué)習(xí)相結(jié)合來(lái)保障計(jì)算效率和安全性。聯(lián)邦學(xué)習(xí)是近年來(lái)興起的一種嶄新的機(jī)器學(xué)習(xí)技術(shù),類(lèi)似于隱私保護(hù)下的分布式學(xué)習(xí),多個(gè)參與方利用自己的數(shù)據(jù)聯(lián)合訓(xùn)練一個(gè)模型,但每個(gè)參與方的數(shù)據(jù)都不會(huì)被暴露。其核心理念是:數(shù)據(jù)不動(dòng)模型動(dòng),數(shù)據(jù)可用不可見(jiàn)。在橫向聯(lián)邦學(xué)習(xí)中,需要每個(gè)參與方(party)獨(dú)立地根據(jù)自己手中的數(shù)據(jù)訓(xùn)練模型,然后將梯度等模型參數(shù)上傳到服務(wù)端(server)并由服務(wù)端進(jìn)行聚合操作,接著生成新的模型分發(fā)給各個(gè)參與方。在這一過(guò)程中,雖然原始數(shù)據(jù)仍然只保存在每個(gè)參與方手中,但實(shí)際上攻擊者可從梯度信息恢復(fù)出原始數(shù)據(jù)。為解決上述問(wèn)題,在實(shí)際應(yīng)用中大多通過(guò)加噪或同態(tài)加密的方式對(duì)梯度信息進(jìn)行保護(hù)。此外,也可由 TEE 來(lái)替代上述場(chǎng)景中的參數(shù)服務(wù)器,即在可信執(zhí)行環(huán)境中進(jìn)行聯(lián)邦學(xué)習(xí)的參數(shù)聚合,假設(shè) TEE 是可信的,則可以通過(guò)簡(jiǎn)單的數(shù)字信封的形式實(shí)現(xiàn)可信執(zhí)行環(huán)境與計(jì)算節(jié)點(diǎn)之間的交互,由此省略了復(fù)雜的同態(tài)加密計(jì)算過(guò)程,使聯(lián)邦學(xué)習(xí)訓(xùn)練的效率大幅提升。本文以 FLATEE 框架為例,簡(jiǎn)要介紹 TEE 技術(shù)在聯(lián)邦學(xué)習(xí)中的應(yīng)用。如下圖所示,在 FLATEE 中,TEE 可以生成用于傳輸數(shù)據(jù)和代碼的對(duì)稱(chēng)加密密鑰和公鑰。參與方在 TEE 中根據(jù)自己的數(shù)據(jù)訓(xùn)練模型,然后使用這些密鑰對(duì)模型參數(shù)進(jìn)行加密,并上傳至服務(wù)端。接收到加密的模型參數(shù)后服務(wù)端在 TEE 中對(duì)加密的模型進(jìn)行解密,接著通過(guò)聚合操作得到新的模型。如果新模型的損失函數(shù)在閾值之下,便可宣布算法完成,并把新模型通過(guò) TEE 生成的密鑰加密后發(fā)送給各個(gè)參與方,否則就再進(jìn)行新一輪的迭代訓(xùn)練,直至到達(dá)迭代次數(shù)上限或模型訓(xùn)練成功為止。在這個(gè)模型中,TEE 同時(shí)承擔(dān)了加解密和隔離計(jì)算的功能,可以在不損失計(jì)算效率的前提下有效地保障聯(lián)邦學(xué)習(xí)算法的安全性。

圖片來(lái)源文獻(xiàn) 5
三、TEE 框架和應(yīng)用
隨著 TEE 技術(shù)和標(biāo)準(zhǔn)的日趨成熟,基于 TEE 的開(kāi)發(fā)框架和應(yīng)用也不斷涌現(xiàn)。如下表所示,目前很多公司都開(kāi)發(fā)了其相應(yīng)的 TEE 系統(tǒng)。其中諾基亞和三星已經(jīng)公開(kāi)了各自的 TEE 框架。諾基亞和微軟整合的 TEE 框架稱(chēng)為 ObC,目前已經(jīng)部署在諾基亞流光設(shè)備上。三星的 TEE 框架名為 TZ-RKP, 已經(jīng)部署在三星的 Galaxy 系列設(shè)備上。此外,還有一些未公開(kāi)的 TEE 框架,如 Trustonic 的 < t-base 框架,Solacia 的 SecuriTEE,Qualcomm 的 QSEE,Sierraware 的 SierraTEE 等等。

表格來(lái)源文獻(xiàn) 1
TEE 可以在一個(gè)復(fù)雜且相互聯(lián)系的系統(tǒng)中提供良好的安全性,目前多數(shù) TEE 應(yīng)用場(chǎng)景均指向智能手機(jī)端。在該場(chǎng)景下,TEE 能夠提供的安全性服務(wù)包括:隱私保護(hù)的票務(wù)服務(wù)、在線(xiàn)交易確認(rèn)、移動(dòng)支付、媒體內(nèi)容保護(hù)、云存儲(chǔ)服務(wù)認(rèn)證等等。此外,TEE 也可在僅基于軟件的情況下實(shí)現(xiàn) TPM(Trusted Platform Module),目前的一個(gè)研究趨勢(shì)是使用 TEE 去保障各種嵌入式系統(tǒng)平臺(tái)的安全,如傳感器和物聯(lián)網(wǎng)等?;谟布?TEE 技術(shù)具有很高的實(shí)現(xiàn)效率,但這也導(dǎo)致它較為依賴(lài)底層的硬件架構(gòu),與一般的安全多方計(jì)算相比,TEE 具有如下優(yōu)勢(shì)和劣勢(shì):
優(yōu)勢(shì):
- 可信硬件部分可支持多層次、高復(fù)雜度的算法邏輯實(shí)現(xiàn)
- 運(yùn)算效率高,相較于明文計(jì)算僅有 3-4 倍損耗,而 MPC 等技術(shù)具有上百倍的計(jì)算損耗
- 能夠抵御惡意敵手
劣勢(shì):
- 方案實(shí)現(xiàn)依賴(lài)底層硬件架構(gòu)
- 更新升級(jí)需要同步進(jìn)行軟硬件升級(jí)
- 不同廠(chǎng)商的 TEE 技術(shù)各異,需要形成統(tǒng)一的行業(yè)標(biāo)準(zhǔn)
根據(jù) TEE 技術(shù)的優(yōu)勢(shì)和劣勢(shì),可以總結(jié)出 TEE 技術(shù)適用于以下應(yīng)用場(chǎng)景:
- 計(jì)算邏輯相對(duì)復(fù)雜的計(jì)算場(chǎng)景
- 數(shù)據(jù)量大,數(shù)據(jù)傳輸和加解密的成本較高
- 性能要求較高,要求在較短時(shí)間內(nèi)完成運(yùn)算并返回結(jié)果
- 需要可信第三方參與的隱私計(jì)算場(chǎng)景,且數(shù)據(jù)(部分或間接)可被可信第三方獲取或反推
- 數(shù)據(jù)的傳輸與使用環(huán)境與互聯(lián)網(wǎng)直接接觸,需要防范來(lái)自外部的攻擊
- 數(shù)據(jù)協(xié)作的各方不完全互信,存在參與各方惡意攻擊的可能
其中已落地的最常見(jiàn)應(yīng)用場(chǎng)景包括:隱私身份信息的認(rèn)證比對(duì)、大規(guī)模數(shù)據(jù)的跨機(jī)構(gòu)聯(lián)合建模分析、數(shù)據(jù)資產(chǎn)所有權(quán)保護(hù)、鏈上數(shù)據(jù)機(jī)密計(jì)算、智能合約的隱私保護(hù)等。
四、總結(jié)
作為一種新興的系統(tǒng)安全與隱私保護(hù)技術(shù),TEE 技術(shù)實(shí)現(xiàn)了安全性與可用性之間較好的平衡,是當(dāng)前傳統(tǒng)公鑰密碼學(xué)性能受限情況下的一個(gè)較好的替代方案,在適當(dāng)?shù)膽?yīng)用場(chǎng)景中可以作為一些計(jì)算協(xié)議中的信任根來(lái)減少為了去信任引入的性能代價(jià)。然而目前 TEE 技術(shù)還無(wú)法作為通用的安全技術(shù)進(jìn)行應(yīng)用,主要原因在于其安全性一定程度上依賴(lài)于對(duì)硬件廠(chǎng)商的信任,同時(shí)攻擊面較多、安全邊界定義不清晰,這都成為了限制其大規(guī)模應(yīng)用的重要因素。對(duì)于用戶(hù)而言,在 TEE 技術(shù)的應(yīng)用過(guò)程中,需要清晰地了解其應(yīng)用場(chǎng)景和局限性,以免造成不可預(yù)知的安全問(wèn)題和財(cái)產(chǎn)損失。


























