摘要:隱私計算區塊鏈的細分賽道裡,有很多項目使用了TEE作為隱私計算的方向,這是一個通過軟硬件結合完成對數據的物理保護的綜合方案。 TEE本身是一個硬件的安全區域,和密碼學以及區塊鏈結合後,可以加入了軟件安全結構。我們還可以發現,在TEE被提出時,一直還是配合一些操作系統使用的,曾經也有很多人把區塊鏈比喻…
隱私計算區塊鏈的細分賽道裡,有很多項目使用了TEE作為隱私計算的方向,這是一個通過軟硬件結合完成對數據的物理保護的綜合方案。
TEE本身是一個硬件的安全區域,和密碼學以及區塊鏈結合後,可以加入了軟件安全結構。我們還可以發現,在TEE被提出時,一直還是配合一些操作系統使用的,曾經也有很多人把區塊鏈比喻為操作系統,這其中是有一些共通性的。
可信執行環境(TEE,Trusted Execution Environment)是由Global Platform(GP)提出的概念。主要針對移動設備在開放環境的安全問題。
TEE是可以與設備上的OS例如Android並存的運行環境,並且給OS提供安全服務。它具有其自身的執行空間,比OS的安全級別更高。能夠滿足大多數應用的安全需求。從成本上也可以達到安全和成本的平衡。
其在安全方面主要作用如下:
在開放環境的使用,使得設備不暴漏於各種攻擊之下;
保護隱私,個人信息如聯繫人,短消息,照片,視頻等,保護不被盜竊,丟失或者受到惡意軟件的攻擊;
公司數據,例如一些憑據類數據的保護;
連接性保護,在3G,4G,wifi,乃至NFC等方面,密鑰資源的保護;
保護金融類數據,保護金融交易中的用戶交互數據(交易內容,交易額,用戶輸入PIN等)。
在其運行的時候,TEE給授權安全軟件(可信應用,TA)提供了安全執行環境,同時也保護TA的資源和數據的保密性,完整性和訪問權限。為了保證TEE本身的可信根,TEE在安全啟動過程中是要通過驗證並且與OS隔離。
再來看TEE內部API,主要包含了密鑰管理,密碼算法,安全存儲,安全時鐘資源和服務,還有擴展的可信UI等API。可信UI是指在關鍵信息的顯示和用戶關鍵數據(如口令)輸入時,屏幕顯示和鍵盤等硬件資源完全由TEE控制和訪問,意味著資源都由TEE控制,而外部OS中的軟件不能訪問。
不過TEE在設計後,也會存在一些較難的部分。其概念是基於ARM的TrustZone技術的,在處理器核和調試功能等方面都需要充分的功能性和安全性考慮。
在這樣的框架裡,如何實現外部OS與TEE的通信機制,高效的內存共享機制,以及多核架構帶來的問題等,都是需要攻克的。
綜合以上的內容,TEE的功能很明顯,需要完善的部分也很明顯。其安全能力和對於算力、存儲、通信上的難點似乎都會在區塊鏈領域找到答案。
試想,如果把OS換成一個區塊鍊網絡,兩者似乎就具備了天然的融合能力。
因為TEE完成的一系列安全的功能,可以作為區塊鏈共識層下執行層的可信部分。
以下5個技術概念是TEE主要的核心能力:
1、簽注密鑰
簽注密鑰必須隨機生成並且不能被改變。其中私有密鑰必須被安全保存,除了指定接口調用,無法通過任何方式獲得。而公共密鑰用來認證及加密待發送的敏感數據。
2、安全輸入輸出
輸入輸出是指用戶與系統之間的交互,其途徑包括鍵盤、外設、網絡接口等。安全輸入輸出是指,從系統用戶到訪問的進程間存在一條受保護的路徑。
3、儲存器屏蔽
儲存器屏蔽拓展了一般的儲存保護技術,提供了完全獨立的儲存區域。即便是操作系統自身也沒有屏蔽區的去完全訪問權限,因此入侵者即便控制了操作系統,運行時(Run Time)的數據也是安全的。
4、密封存儲
密封存儲通過把私有信息和用戶使用的平台環境配置信息捆綁在一起來保護私有信息。意味著被密封存儲的數據只能在相同的安全環境下讀取。
5、遠程認證
遠程認證是指,由簽注密鑰生成當前系統的軟件證明書,系統上的任何改變可以通過證明書被遠程授權方感知和校驗,從而使得系統的執行邏輯安全可信。
那這樣來看,如果把TEE的硬件設備作為區塊鍊網絡組網的節點,是極為合適的。區塊鍊網絡本身的共識機制,數據分享,以及授權,准入等等。
而當把具備TEE的網絡搭建起來後,借助TEE區的安全算力、安全存儲,區塊鏈上的智能合約、用戶的密鑰都可以在TEE裡保存、運行。
物理隔離讓TEE與外界溝通必須通過合法性的查詢,這保證了智能合約、用戶數據等足夠的安全性。
並且區塊鏈的共識機制,讓TEE設備之間通過區塊鏈規則成功組網。也完成了前文說的多個處理器之間的協作問題。並且,這種方式也是一種擴容的方式,類似一種多分片的模型。
最後,筆者認為TEE在區塊鏈領域有很深的使用潛力,目前TEE的區塊鏈解決方案,其主要限制還是在於區塊鏈技術和平台發展。例如應用種類的限制以及產品成熟度的限制。現在可以確定的是,基於TEE的隱私計算區塊鏈會是隱私計算賽道的重要組成部分。