重磅!中國電信研究院、浦發銀行、沖量在線和中國信通院聯合發布——隱私計算之TEE技術實踐分析
除企業和個人對數據隱私愈發重視外,國家在數據流通安全方面的法律法規也逐漸完善,并且推出了一系列法律法規。
隱私計算之TEE技術和應用實踐分析
大數據時代,數據流通、安全等問題接踵而至。
據IDC預測,全球數據總量預計2020年達到44ZB,我國數據量將達到8060EB,占全球數據總量的18%。2025年全球大數據規模將增長至163ZB,但據統計98%的企業數據都存在數據孤島問題,各自存儲難以流通,使得數據價值無法得到充分利用。隨著數據量量級迅速增長,以及數據自身的特殊性質,數據流通安全問題顯得尤為重要。除企業和個人對數據隱私愈發重視外,國家在數據流通安全方面的法律法規也逐漸完善,并且推出了一系列法律法規。
(內容來源于網上公開資料)
在數據安全問題頻出的時代,隱私計算中的TEE技術作為一種可以在保證數據“可用而不可見”的前提下進行數據運算的技術,逐漸被大家所關注。
一、隱私計算TEE技術介紹
TEE全名為可信執行環境(Trusted Execution Environment)是計算平臺上由軟硬件方法構建的一個安全區域,可保證在安全區域內部加載的代碼和數據在機密性和完整性方面得到保護。其目標是確保一個任務按照預期執行,保證初始狀態的機密性、完整性,以及運行時狀態的機密性、完整性。
1.1 發展歷史
TEE相關標準組織的成立:1999年,康柏、HP、IBM、Intel、微軟等企業發起成立了可信計算平臺聯盟TCPA(Trusted Computing Platform Alliance)該組織于2003年改組為可信計算組織TCG,并制定了關于可信計算平臺、可信存儲和可信網絡鏈接等一些列技術規范。
TEE的實現:2009年OMTP (Open Mobile Terminal Platform,開放移動終端平臺)率先提出了一種雙系統解決方案:即在同一個智能終端下,除了多媒體操作系統外再提供一個隔離的安全操作系統,這一運行在隔離的硬件之上的隔離安全操作系統用來專門處理敏感信息以保證信息的安全。
TEE相關標準的規范:2011年GlobalPlatform(全球最主要的智能卡多應用管理規范的組織,簡稱為GP)從2011年起開始起草制定相關的TEE規范標準,并聯合一些公司共同開發基于GP TEE標準的可信操作系統。因此,如今大多數基于TEE技術的Trust OS都遵循了GP的標準規范。
TEE相關的芯片廠商:在國外 ARM公司、Intel和AMD公司分別于2006、2015和2016年各自提出了硬件虛擬化技術TrustZone、 Intel SGX和AMD SEV技術及其相關實現方案,在國內由中關村可信計算產業聯盟2016年發布TPCM可信平臺控制模塊,為國產化可信執行環境TEE技術的發展起到了指導作用,國內芯片廠商兆芯、海光分別在2017年和2020年推出了支持可信執行環境技術ZX-TCT、海光CSV(China Security Virtualization)。
(內容來源于網上公開資料)
二、TEE分類和系統架構
TEE技術是隱私計算的核心技術之一,目前較為成熟的技術主要有:Intel SGX、ARM TrustZone、AMD SEV和Intel TXT。
2.1 Intel SGX
Intel® Software Guard Extensions(英特爾® SGX)是一組用于增強應用程序代碼和數據安全性的指令,開發者使用SGX技術可以把應用程序的安全操作封裝在一個被稱之為Enclave的容器內,保障用戶關鍵代碼和數據的機密性和完整性。
(圖片來自:Intel Sgx Product Brief 2019 )
Intel SGX最關鍵的優勢在于將應用程序以外的軟件棧如OS和BIOS都排除在了Trusted Computing Base(簡稱TCB)以外,一旦軟件和數據位于Encalve中,即便是操作系統和VMM(Hypervisor)也無法影響Enclave里面的代碼和數據,Enclave的安全邊界只包含CPU和它本身。
(圖片來自:Intel Sgx Product Brief 2019 )
SGX Enclave運行時主要由三個部分組成,分別是運行在Ring0的系統模塊即SGX驅動,和運行在Ring3中的非可信運行時系統即uRTS,以及運行在EPC內存區的可信運行時系統(tRTS),其中Enclave代碼和數據放置在被稱為Enclave Page Cache。
(圖片來自:Caslab官網)
SGX驅動主要完成如下工作:
Enclave加載。
內存空間分配與銷毀。
換頁和缺頁中斷處理。
uRTS主要完成如下工作:
Enclave加載和卸載。
調用管理,處理所有ECall和OCall請求。其中ECall指調用Enclave內的請求,OCall指從Enclave內調用外部的請求。
異常處理,判斷具體異常反向調用Enclave。
tRTS主要完成如下工作:
Enclave加載。
調用管理,處理ECall和OCall。
Enclave代碼和數據放置在被稱為Enclave Page Cache(EPC)的特殊內存區域中,該內存區域使用內存加密引擎(MEE)進行加密,下圖展示的是SGX對Enclave內存的保護過程:
(圖片來自:Overview of Intel SGX - Part 1, SGX Internals)
值得關注的是,Intel SGX已經先后發布了SGX1與SGX2兩代次。其中在服務端芯片中SGX2已在2021正式開始大規模商用。
(圖片來自:Caslab官網)
(圖片來自:Caslab官網)
SGX2相較于SGX1增加了Enclave動態內存管理(Enclave Dynamic Memory Management,簡稱為EDMM)能力。在SGX1的指令集中,創建Enclave時需要提前確認Enclave需要用到的內存大小。并且在運行過程中代碼模塊不能動態加載到Enclave中。這種設計一是增加了Enclave的啟動時間,因為需要確認所有內存地址。二是限制了EPC的空間大小,因為需要預分配,考慮到合理性,SGX1 EPC內存上限被設置為256M。這就導致了在運行過程中超過256M的堆棧,會被以換頁的形式加密換出到系統內存中,類似換頁就會帶來較大的性能開銷。
SGX2設計引入了EDMM機制,提供了在保證安全性的同時可動態擴縮Enclave內存的能力。EDMM方案中EPC中內存的分配主要有基于OCall事件觸發的分配以及基于缺頁終端觸發的分配兩種模式。其核心都是由SGX Driver分配內存頁,再由Enclave確認分配生效,分配機制對應用層透明。
SGX2在引入EDMM后,安全性沒有降低。SGX2依舊確保Enclave內存頁的一致性,一致性可以被度量。由于內存分配依賴OS,為了防止OS提供錯誤的內存頁,每一次內存調整Enclave都需要二次檢查內存頁(包括權限)的正確性。
SGX支持通過安全認證技術來向挑戰者證明Enclave中運行的用戶程序的完整性和真實性。SGX的安全認證分為本地認證和遠程認證,下圖展示的是SGX的遠程認證流程:
(圖片來自:Intel Software Guard Extensions EPID Provisioning and Attestation Services)
2.2 ARM TrustZone
ARM TrustZone是ARM公司推出的TEE解決方案,它通過對原有硬件架構進行修改,在處理器層次引入了兩個不同權限的保護域 --安全世界和普通世界,任何時刻處理器僅在其中的一個環境內運行。
同時這兩個世界完全是硬件隔離的,并具有不同的權限,正常世界中運行的應用程序或操作系統訪問安全世界的資源受到嚴格的限制,反過來安全世界中運行的程序可以正常訪問正常世界中的資源。
(圖片來自:ARM官網)
各芯片產商會根據ARM公司對于TrustZone的硬件設計在具體的芯片上進行設計和實現,基于TrustZone技術,可以搭建一個可信執行環境TEE,在TEE內可以有基于TrustZone的操作系統,如高通的QSEE、開源的OPTEE等,下圖即為高通的QSEE的整體架構。
(圖片來自:Blogspot: Exploring Qualcomms Secure Execution)
在國產化方面,飛騰、華為等都推出了基于ARM架構CPU的TrustZone方案,如下圖所示是支持TrustZone技術的飛騰FT-2000CPU的系統軟件架構。
(圖片來自:天津飛騰信息技術有限公司 FT-2000+/64 系統軟件開發指南)
2.3 AMD SEV
SEV是由AMD提出的安全虛擬化Secure Encrypted Virtualization技術。主要有三個核心技術:
SVM,虛擬化技術。
SME,內存加密技術。
SEV,虛機內存保護技術。
SVM即AMD Secure Virtual Machine的縮寫。這是由AMD提供的虛擬化技術,用來X86上支持基于硬件的虛擬化技術,通過硬件提供的輔助加速功能,可以有效提高虛擬化性能。為了支持虛擬化技術,AMD虛擬機框架做了以下設計:
提供VMM(即Hypervisor)和Guest(即虛擬機)之間的快速切換機制。
攔截虛擬機中特定指令和事件的能力。
對內存提供外部(DMA)訪保護。
輔助中斷處理和虛擬中斷(Virtual Interrupt)支持。
對屬于Guest和Host(宿主機)的TLB使用標簽來減少虛擬化的開銷。
SME是Secure Memory Encryption的縮寫。AMD在DRAM的控制器中添加了加解密模塊,用來控制內內存數據的加密和解密。
(圖片來自:AMD Memory Encryption white paper)
SEV(Secure Encrypted Virtualization)是在SVM、SME的基礎上對虛擬機進行保護提供的安全增加功能,主要完成對虛擬機內存數據的保護。
將主內存加密功能與現有的AMD-V虛擬化體系結構來支持加密的虛擬機。 加密虛擬機不僅可以讓虛擬機免受物理威脅,還可以免受其他虛擬機甚至是hypervisor本身。 因此,SEV代表了一種新的虛擬化安全范例,特別適用于虛擬機不需要完全信任其主機的hypervisor和管理員的云計算系統。 與SME一樣,不需要修改應用程序軟件即可支持SEV。
(圖片來自:AMD x86 Memory Encryption Technology)
在國產化方面,海光推出過相關的解決方案。
2.4 Intel TXT
Intel TXT(Trusted Execution Technology)的主要目標是通過使用特定的Intel CPU、專用硬件以及相關固件,建立一個從開機就可信的環境,從而為系統上運行的用戶程序提供更好的安全保護。
(圖片來自:英特爾官網)
Intel TXT依賴于可信平臺模塊(Trusted Platform Module,TPM)來保存軟件的指紋信息,每次軟件啟動時都會Intel TXT都會檢測并對比這些指紋信息是否一致,從而判斷是否存在風險。
Intel TXT引入了兩個TCG概念:靜態信任鏈(Static Chain of Trust)和動態信任鏈(Dynamic Chain of Trust),如下圖所示。靜態信任鏈度量平臺配置,動態信任鏈度量系統軟件、軟件配置及策略。對于Intel TXT而言,信任根(Root of Trust)就是支持TXT技術的Intel CPU。
(圖片來自:英特爾官網)
在國產化方面,兆芯推出過基于其自主設計的開先系列CPU的ZX-TCT解決方案,來應用于可信計算領域。
三、TEE的優勢和劣勢
3.1 TEE的技術特點
2009年OMTP(Open Mobile Terminal Platform)組織在《OMTP Advanced Trusted Environment OMTP TR1 V11》中明確定義TEE的相關概念和規范,定義TEE為“一組軟硬件組件,可以為應用程序提供必要的設施”,相關實現需要支持兩種安全級別中的一種:
(1)安全界別(Profile 1)目標要求可以抵御軟件級別的攻擊。
(2)安全界別(Profile 2)目標要求可以同時抵御軟件和硬件攻擊。
針對TEE的相關概念及規范定義,各家軟、硬件廠商結合自己的基礎架構形態具體實現各不相同。雖然在技術實現上存在差異性,但是仍可抽象出TEE的共同技術特點。具體而言,TEE存在以下技術特點:
隔離性:X86架構的隔離機制從Intel 80286處理器開始,Intel提出了CPU的兩種運行模式,并且逐步衍生出后來的不同的特權界別,再后來提出了安全區域更小的SGX機制實現可信執行環境TEE。同樣的,ARM架構通過TrustZone技術實現了相關軟硬件的隔離性,實現安全世界與非安全世界的隔離。TEE通過隔離的執行環境,提供一個執行空間,該空間有更強的安全性,比安全芯片功能更豐富,提供其代碼和數據的機密性和完整性保護。
軟硬協同性:雖然標準定義可以通過軟件方式或硬件方式實現TEE,但實際生產場景下,行業內更多通過軟硬結合的方式進行安全性的保障與支持。
富表達性:TEE與單純的安全芯片或純軟件的密碼學隱私保護方案相比支持的上層業務表達性更強,由于只需要定義好業務層面隱私區域和非隱私區域的邏輯劃分,而不會對定義隱私區域內的算法邏輯的語言有可計算性方面的限制(圖靈完備的)。同時由于TEE已經提供了”安全黑盒“,安全區域內數據無需進行密態運算,從而支持更多的算子及復雜算法。
3.2 TEE的優勢
根據TEE的技術特定可以總結其優勢:
(1)可信區域內可支持多層次、高復雜度的算法邏輯實現。
(2)運算效率高,相較于明文計算僅有3-4倍損耗,相比MPC及聯邦學習100+倍的運算損耗具有一定的優勢。
(3)能夠應對惡意攻擊模型下的攻擊手段,通過可信度量的方式保證TEE的運行邏輯的可信及可度量性。
3.3 TEE的劣勢
相對的TEE的劣勢如下:
(1)方案實現依賴底層硬件架構。
(2)更新升級需要同步進行軟硬件升級。
(3)不同廠商的TEE技術互聯互通方面有待加強形成更統一的生產級行業標準與事實標準。
四、業界布局
可信執行環境TEE技術因可支持多層次、高復雜度的算法邏輯實現、 運算效率高和可信度量的方式保證TEE的運行邏輯的可信及可度量性的特性,受到業界一致認可,越來越多可信執行環境TEE的開源框架和產品踴躍而出。
4.1 開源框架
(內容來源于網上公開資料)
4.2 Teaclave
Teaclave是由百度公司開源的基于TEE的安全計算平臺,目前是Apache孵化項目之一,在貢獻給Apache之前項目名為MesaTEE。Teaclave設計思路是構建一個類FaaS(Function as a Service)的計算平臺服務。平臺在提供TEE機密計算、遠程驗證、安全存儲等功能基礎上,再通過一套任務管理框架實現了多任務的管理和并發操作。同時按照FaaS的設計邏輯實現計算函數的可插拔。
Teaclave后端核心模塊包括管理服務、調度服務、鑒權服務和機密存儲服務,這些服務全部在Enclave運行。各模塊之間通過統一形式的RPC接口通信,并且端到端雙向驗證。具體的函數執行通過調度服務分派到不同的TEE工作節點上完成。
當前Teaclave支持兩類計算實現,一類由Rust實現,通過實現預定義的run方法,并將類注冊到執行器類中即可發起對應方法的任務。另一類由python實現,python實現的代碼會在具體執行時被TEE內的解釋器翻譯執行。底層使用的是MesaPy for SGX解釋器,目前已經支持Marshal、Math、Binascii、Itertools、Micronumpy等工具庫。
4.3 Graphene
Graphene是一個SGX LibOS項目,Graphene本身直接與SGX AESM Gateway服務進行交互,所以在實現上不依賴SGX SDK。目前已經封裝了47個Host ABI接口,其中36個需要OCall。支持包括fork、exec在內大部分System V IPC。Graphene目前包含接近5萬行LibOS代碼和2萬行SGX PAL代碼。編譯后接近1MB,可以說非常輕量。
Graphene用戶態多進程模型是由LibOS隔離的,即通過創建新的Enclave來啟動新的OS進程。LibOS之間使用RPC模擬進程間通信。
在Graphene上已經進行過充分驗證的應用包括Tensorflow、Pytorch、OpenVINO等機器學習框架,Memchached、Redis、Nginx、Apache HTTP Server等企業級服務。
4.4 Occlum
Occlum是螞蟻金服公司開源的面向內存安全和多任務的SGX LibOS項目。和其他LibOS一樣,Occlum目標是降低遺留應用遷移到SGX中的編碼成本。對應用代碼不做更改或者只做少量調整,就可以遷移到SGX中運行,獲得機密性和完整性保護。
Occlum相比其他同類LibOS項目主要有以下優勢:
Enclave內多進程管理:目前其他的LibOS都是單進程模型,實現多進程需要啟動多個LibOS實例。Occlum提供了一個輕量的LibOS進程實現,從而可以在一個Enclave內運行多個獨立進程。Occlum在實驗室環境下有3倍的進程間通信速度提升。
全類型的文件系統支持:Occlum支持多類型的文件系統,可以方便的在Enclave不同進程之間或是在Enclave與外部操作系統之間共享文件。此外Occlum也基于SGX封存技術實現了加密文件系統,可保證Enclave內部數據的加密落盤。
內存安全:這個主要得益于Occlum使用內存安全的Rust語言實現。
容器化設計:實現了命令行工具,可以類似Docker那樣管理Enclave實例容器。
4.5 OpenEnclave
Microsoft Open Enclave希望兼容不同的TEE技術,并且提供統一的編程API。Open Enclave是一套C/C++的SDK。Open Enclave目前主要支持Intel SGX,對ARM TrustZone的OP TEE OS支持還停留在預覽階段。
Open Enclave SDK主要封裝了Enclave生命周期管理、Enclave度量、Enclave內外互調用、系統調用、數據封裝、遠程驗證以及一些密碼學庫。
Open Enclave移植了MUSL庫(跨平臺的C標準庫),也適配了一些第三方庫,包括Openssl、Mbedtls、LLVM LibC++等。
4.6 Asylo
Google Asylo也提供了C/C++的SDK,但不同的是Asylo更進一步定義了基于SGX的應用實現規范,也就是所謂的編程框架?;贏sylo實現的應用也是分為非可信區和可信區,但互相的通信被約束為C/S模式。非可信部分實現客戶端和Enclave管理器,可信部分實現計算服務端。
在遠程驗證方面,Asylo提供了基于Intel ECDSA Quoting Enclave和Assertion Generator Enclave(簡稱AGE)兩種TCB模式,兩種模式都是在SGX ECDSA遠程驗證模式基礎上開發的,所以都需要CPU支持FLC。兩者的區別是前者直接基于Intel QE提供了函數接口。而AGE采用了C/S模式,基于Asylo框架,成為了一個常駐GRPC服務,方便外部用戶實時調用驗證。雖然提升了遠程驗證的易用性。但顯然,AGE的TCB會比單純使用Intel QE更大。
另外,Asylo還集成了秘密封裝、密鑰協商以及TEE服務代理等功能??傮w而言Asylo是一套把SGX做成服務化的編程框架。
4.7 OP-TEE
在ARM TrustZone生態中,Trusted OS是工程化相對密集的領域。OP-TEE是Trusted OS的一個開源實現。Trusted OS位于安全世界(Secure World)不是一個位于非安全世界(Normal World)的普通操作系統(Normal OS)。Trusted OS屬于整個TrustZone應用的可信計算根,必須保證安全,所以相對而言代碼量較少,通常而言代碼量會比TA少一個量級。在Trusted OS中沒有POSIX API,也沒有動態鏈接庫,所以其上運行的TA默認使用了靜態編譯。Trusted OS也需要依賴普通操作系統的幫助,比如對文件系統的訪問、對外部設備的訪問,都需要通過普通操作系統的系統調用完成。
OP-TEE包括安全世界操作系統(OPTEE_OS),普通世界客戶端(OPTEE_Client),測試套件(OPTEE_Test / XTest)和Linux驅動程序。 操作系統和客戶端符合Global Platform規范。 項目由Linaro維護,已經適配支持28多個平臺/處理器。開發用戶負責開發在Linux上運行的客戶端應用程序(CA)和在OP-TEE上運行的可信應用程序(TA)。 CA使用TEE客戶端API與TA對話并從中獲取安全服務。 CA和TA使用共享內存在彼此之間傳遞數據。
類似OP-TEE,開源的Trusted OS還包括OPEN-TEE、Trusty、SierraTEE、SafeG等,并且還有很多企業自用閉源的Trusted OS,比如蘋果的Secure Enclave、高通的QTEE、三星的Knox、Teegris、Trustonic的Kinibi OS、華為的TrustedCore等。
4.8 產品服務
中國信息通信研究院聯合行業領軍企業共同制修訂了《基于可信執行環境的數據計算平臺 技術要求與測試方法》。測試標準致力于為可信執行環境TEE在數據流通中的應用提供在任務處理能力、算法拓展性、環境驗證、通信安全、計算機密性、一致性、數據存儲、審計和運維這九個角度對產品能力提出規范要求,為可信執行環境技術在數據流通行業的落地提供可行性證明。
(內容來源于:2020年12月首批通過中國信息通信研究院可信執行環境的數據計算平臺評測的企業名單)
五、基于TEE技術的應用場景和實踐
5.1 應用場景:
可信執行環境技術(后簡稱TEE)因其較強的算法通用性和較小的性能損失,在許多涉及到隱私數據計算的場景中都得到了廣泛應用,并且尤其適用于具備以下特征的應用場景:
計算邏輯相對復雜,算法難以通過同態加密等技術進行改造,或者改造過后效率下降過多
數據量大,數據傳輸和加解密的成本較高。
性能要求較高,要求在較短時間內完成運算并返回結果。
需要可信第三方參與的隱私計算場景,且數據(部分或間接)可被可信第三方獲取或反推。
數據的傳輸與使用環境與互聯網直接接觸,需要防范來自外部的攻擊。
數據協作的各方不完全互信,存在參與各方惡意攻擊的可能。
其中最常見的具體應用場景包括:隱私身份信息的認證比對、大規模數據的跨機構聯合建模分析、數據資產所有權保護、鏈上數據機密計算、智能合約的隱私保護等。
隱私身份信息的認證比對
身份信息的認證比對是許多數字化應用需要具備的基礎功能之一,通過對使用者的指紋、臉部圖像、聲音等數據進行比對,驗證使用者的真實身份以確保安全性。在一些場景中,監管部門還會要求應用對使用者的實名信息進行匹配,以便滿足社會安全管理的相關需求。
在身份信息認證比對的過程中,用戶的個人信息需要被設備采集上傳,并存儲在服務端的數據庫當中。無論是網絡傳輸、持久化存儲還是驗證過程中的數據調用,都有可能因外部攻擊或應用本身的惡意行為而導致的用戶隱私泄露,從而危害到用戶的財產甚至人身安全。
為了降低身份信息認證比對過程中的隱私泄露風險,TEE技術被應用于包括移動端、PC端和各類終端設備中。由攝像頭、指紋識別器等IO設備采集到的個人身份數據,經過加密后傳輸到基于TEE技術生成的隱私計算環境中,數據在TEE內進行解密、特征提取、相似性比對等一系列操作,并將最終結果和再次加密的數據,通過安全的傳輸通道上傳至服務器端。
在整個過程中服務器僅能獲得最終的比對結果和加密的原始數據,明文數據的計算完全在由用戶掌握的終端設備的TEE中完成,既能夠保障用戶隱私信息的安全性,又可以防止終端設備上其它應用通過對校驗過程進行干擾而發生作弊行為。
大規模數據的跨機構聯合建模分析
在數字化社會的發展過程中,基于大數據技術和數據智能衍生出的各類產品和服務已經廣泛地影響到商業和生活,包括但不限于基于大數據制定商業策略、預測市場趨勢、評估用戶購買意愿、控制金融和社會風險等。隨著這些場景中各類算法的迭代發展,對于數據維度和數據量的要求也在日益增加,單個機構僅僅使用自身業務產生的數據已經不足以支撐這些場景的需求,因此聯合多方數據進行聯合分析建模已經成為一個重要趨勢。
由于大數據分析難以避免會涉及到企業的用戶數據和經營數據,在多方數據聯合和協作的過程中,各方都希望輸入的原始數據中的這些隱私信息能夠得到充分保護,而最終輸出的結果僅包括通過算法計算得到的不包含具體數據的分析結果或模型,即實現數據的可用而不可見。
在這類型的場景中,可以通過分布式部署在多個機構間的TEE節點網絡,實現數據的隱私求交和計算。各方通過部署在本地的TEE節點從數據庫中獲取數據,并通過一個基于TEE可信根生成的加密密鑰對數據進行加密,該密鑰通過多個TEE節點協商產生,僅在各節點的TEE安全區域內部可見。加密后的數據在TEE節點網絡間傳輸,并最終在一個同樣由TEE節點組成的計算資源池中,然后在TEE中進行數據的解密、求交和運算。在運算完成后,TEE節點僅對外部輸出結算結果,而原始數據和計算過程數據均在TEE內部就地銷毀。
通過TEE技術實現的多方數據聯合建模,既能夠滿足多方數據協作的業務需求,也能夠充分保護各方之間原始數據可用不可見。并且相比其它的分布式計算或純密態計算的方案,基于TEE的方案具備更強大的性能和算法通用性,能夠在涉及到大規模數據或對性能有一定要求的場景中達到更好地效果。
數據資產所有權保護
隨著國家宏觀數據政策對于數據生產要素市場化的要求越來越明確,數據作為一種資產在企業間共享、交易和流通已經是大勢所趨。然而數據作為一種數字化資產,具備可復制、易傳播的特性,如何在數據資產共享和交易過程中保護數據資產的所有權,成為了推動數據生產要素市場化需要解決的首要問題之一。
通過TEE技術與區塊鏈技術的有機結合,可以在企業間進行數據共享和交易時有效確保數據所有權和數據使用權的分離和保護。所有數據資產通過數據指紋在區塊鏈中存證,通過區塊鏈的交易記錄來追溯和監管數據所有權的變更。當數據使用權和所有權發生分離時,所有數據的使用過程必須在TEE內部發生,通過對運行在TEE中的程序可信度量值的存證,數據的所有者可以確定數據使用者僅在雙方約定的范圍和方式內使用數據,當計算過程完成后,原始數據將在TEE內部銷毀,保障數據所有權不會因使用者對原始數據的沉淀而丟失。
在TEE和區塊鏈技術的結合下,數據交易過程的安全、可信和公平可以得到更好的保障,數據權屬的劃分可以更加明確,從而讓數據生產要素成為一種真正可流通的資產,促進數字化社會對于數據生產要素潛能的充分激活。
鏈上數據機密存儲和計算
面對日益增長的電子數據存證需求,傳統的存證方式因成本高、效率低、采信困難等不足,而逐步被區塊鏈電子存證取代,利用區塊鏈的可追溯、不可篡改和安全透明的特性去保證數據“存儲、提取、出示、比對”等環節都在鏈上公示,如何保證鏈上公示數據的安全性,成為推動區塊鏈電子存證發展的需要首要解決的問題之一。
在這類場景中,可以通過TEE節點,實現鏈上數據的機密存儲和計算。鏈上的各方通過一個加密密鑰對數據進行加密存儲,該密鑰通過鏈上的TEE節點協商產生,僅在各節點的TEE安全區域內部可見。當需要對鏈上數據進行驗證時,加密后的數據在TEE節點網絡間傳輸,然后在TEE中進行數據的解密,并與鏈上存儲的經過區塊鏈全網共識的數據指紋進行對比,確認數據未被惡意篡改后,再進行后續的運算。在運算完成后,TEE節點僅對外部輸出運算結果,而原始數據和計算過程數據均在TEE內部就地銷毀,從而實現鏈上數據的機密存儲和計算。
在TEE技術的加成下,鏈上數據以及使用流程的隱私性也可以得到更好的保證,從而讓區塊鏈具備安全、可信和公平的存證的能力,讓區塊鏈存證也可以更好的落地并服務于各行各業的用戶,做到真正的為民所用。
5.2 實踐案例:
基于可信執行環境TEE的數據隱私計算服務通過TEE技術實現的多方數據協作運算,既能夠滿足數據協作的業務需求,也能夠充分保護各方之間原始數據可用不可見。并且相比其它的分布式計算或純密態計算的方案,基于TEE的方案具備更強大的性能和算法通用性,目前已在運營商、政務、金融、互聯網和醫療行業不斷落地,以下根據網上公開信息收集整理。
沖量在線和中國電信圍繞電信集團內部和政企客戶之間的數據流通場景展開,基于中國電信自主研發的區塊鏈底層技術,和沖量在線在隱私計算方向的技術融合解決數據流通的可信、隱私、安全、公平、可追溯等問題,提供鏈上數據智能合約化定價與流通的新范式。
百度區塊鏈和浦發銀行的合作中通過可信計算+區塊鏈的能力,構建一個多方聯合數據隱私計算的平臺,讓各參與方在不暴露原數據的情況下,在隱私安全、公平可追溯的前提條件下進行一些數據的聯合計算,有助于打破數據孤島,發揮出數據的價值。
螞蟻推出的可信計算服務產品可信計算服務,打通了鏈上數據與鏈下數據源,支持多方數據融合和治理,為用戶提供了通用的、可驗證的隱私數據計算服務,當前該服務已在某數據物理平臺落地,通過網絡貨運平臺運單上鏈,將物流運輸關鍵信息進行交叉核驗,以真實運輸背景為出發點,連接金融機構,為物流平臺提供普惠金融服務,同時擁抱監管,確保各項業務真實合規。
國外的Fortanix是一家專注可信計算的公司,為企業提供數據隱私保護服務,該服務支持多家企業數據在可信環境中匯聚并進行數據分析任務,并在PayPal、Standard Chartered Bank等多家金融機構合作的項目中,完成了落地,通過多家金融機構的數據協作,極大的提升了金融機構反洗錢風控的準確性。
六、未來發展預判
6.1 端到端的可信任
可信執行環境TEE技術已經成為隱私計算領域的多種技術路線之一,并且具備通用性好、性能高,跨網通信量小、支持人工智能算法、算力可無限擴展等核心優勢,但仍需進一步提升TEE技術的普及度和可信度。
首先需要提供的是“可信第三方”的能力,TEE技術本質上源于芯片的安全與加密能力,所以對于芯片提供商的技術能力、可持續發展性、安全可控性有很高要求。在國內的自主可控與自主創新的大背景下,國產芯片、TEE中間件、操作系統和隱私計算軟件等多廠商聯合起來共同提高國產芯片TEE的可用性、性能、安全性和通用性才能夠真正地提供端到端的隱私計算與數據流通方案能力。截止2021年第二季度,已看到很多國產芯片結合隱私計算的相關解決方案落地,相信不久的將來將會出現更多可信任的國產化TEE實踐案例。
其次需要提供的是“去中心化和大規模組網”的能力,從芯片開始TEE技術本質提供的是單臺服務器的加密計算內存空間,在實際落地中僅使用一臺TEE無法解決多參與方和大規模數據量并行計算的問題,需要通過軟件與中間件的手段建設分布式組網的大規模TEE算力集群,真正地做到任何參與方都掌控TEE算力,任何計算任務都能靈活地并行調度至合適的TEE節點中,才能夠實現去中心化和靈活組網的數據流通新范式,符合國家對于跨域跨網跨地區的數據流通和共享的新要求。
6.2 工業標準
TEE技術已經成為硬件行業和軟件行業爭相布局的安全領域。硬件行業包括全球最領先的計算芯片設計制造商Intel、AMD、ARM都提出了各自的TEE實現方案;軟件行業,虛擬化方向包括VMware、Xen、KVM都在跟進TEE虛擬化方案,云服務行業包括AWS、Azure、Google Cloud、Alibaba Cloud、IBM Cloud、Oracle Cloud都在推出基于TEE的安全計算服務??梢源_信,在不久的將來,可信執行環境TEE一定會成為安全計算的基礎技術。
6.3 開發者友好度
對于目前TEE LibOS技術路線來說,較小的TCB和較完備的POSIX兼容性看起來是一對矛盾的工程化目標。較小的TCB意味著更簡單更透明的基礎依賴層以及更低的信任成本,較完備的POSIX兼容性意味著遺留系統遷移到TEE中運行的改造工作更少。目前看來工程界還沒有找到兩全其美的解決方案。不過有越來越多的LibOS項目在壓縮自己的設計復雜度和代碼量,同時也在兼容覆蓋更多的系統調用。
對于堅持使用SDK的開發者陣營而言,如何去支持更多的語言成為了工程上最大的問題。目前已經兼容的SDK,包括C/C++、Rust、Python、Golang等。但除了C/C++、Rust外,其他SDK從API覆蓋度、語言單一度都有所欠缺,還無法直接支持生產環境下的工程開發。不過我們可以看到有越來越多的研發資源投入到SDK本身的開發上,并且越來越多的項目依賴這些SDK來開發。另一個思路是找到通用語言適配的方法,目前嘗試最多的是針對WASM的TEE實現,可以將任何高級語言的代碼轉譯成WASM碼然后再執行。通過上述兩個研發方向的促進,TEE的SDK生態發展規模勢必會越發蓬勃。
6.4 TEE實例化
TEE實例化是解決TEE運行時統一性的問題??梢钥吹讲还苁悄姆NTEE技術,各個廠家的原生方案都在追求同一個TEE芯片內部的實例化隔離特性。TEE提供資源管理,具體內部的運行邏輯以及運行并發數則由具體的程序邏輯而定。從而把資源和運行時區分開來。運行時的隔離往往更方便資源的切割,這是云計算服務商最希望使用的技術。因為TEE實例化后可以對底層資源進行更好的度量、分配和調度。
這個方向后續可以關注TEE與云原生的結合,云計算服務廠商目前都在推出單個的安全容器服務,后續會逐步過渡到支持安全容器在云原生系統中調度。同時也可以關注異構TEE硬件的通用實例化技術,包括SGX Enclave、TrustZone TA以及AMD SEV,可能可以找到一致的實例化通用描述,從而方便未來在跨硬件跨云的靈活調度。
6.5 自主可控性
隨著國內的政府、金融等關系到國計民生的重要領域在計算機軟硬件領域的自主可控要求逐步提高,如何將依賴軟硬件結合的數據流通和隱私計算技術——TEE,發展成為完全自主可控的技術,并落地在實際業務場景中,成為業界關注的話題,當前國內的多個芯片廠商也在研發和推出TEE解決方案,并在信任鏈擴展性、集成密碼學算法等方面,相比國外TEE方案國產化TEE技術都做了創新。隨著國產化CPU需求的快速增長、軟硬結合的隱私計算技術的快速突破以及跨機構跨行業的數據協作意識越來越強,多重因素的刺激下,滿足自主可控性要求的國產化TEE技術勢必會成為未來TEE技術的主流。
6.6 多技術融合
滿足商業生產環境的復雜應用需求,保障數據安全可信流通的技術解決方案只靠TEE是遠遠不夠的??梢詮陌踩?、可信、可運維和數據智能化四個層面來分析需要融合的技術。
從系統安全角度來看,系統安全是數據隱私保護的前提,若某一方的系統如果被敵手攻破,之上構建的所有隱私策略效果都會歸零。安全主要要保證系統的各個域內以及跨域之間的通信是可靠的,抗攻擊的。所以需要TEE、可信計算、加密通信等技術對已有底層系統進行安全加固。
從系統可信角度來看,系統本身要保證各個切面的行為都是可以被跟蹤、審計的。所以需要保證各方之間流通的要素都是可度量的。各方之間有計算任務的流通、算法需求的流通、算力的共享等,這些要素都可以直接或間接地通過密碼學算法、TEE等進行量化度量,再通過區塊鏈做到抗抵賴的存在性證明。
從系統可運維性來看,因為是一套跨多方的分布式系統,系統要具備可靈活部署、標準化交付的能力。在系統設計上,基于云原生標準構建,可以方便地進行跨云部署,并且兼容底層不同的硬件體系。此外容器化構建的好處也在于可以將交付物統一。
從數據智能化來看,因為數據的價值取決于數據挖掘的計算能力。構建數據協作的系統的目的是為了挖掘出數據的價值,所以必然需要集成已有大數據系統和已在生產環境中反復驗證過效果的數據挖掘算法。
結合上面的分析,安全可信的數據流通系統需要多技術融合,不僅僅是TEE,區塊鏈、云原生、數據挖掘等都將是這個領域的技術基石。
最后,記得關注微信公眾號:鎂客網(im2maker),更多干貨在等你!
硬科技產業媒體
關注技術驅動創新
