很多涉及隱私保護的項目在介紹自己的時候,都會提到自己使用了TEE技術。TEE到底是何方神聖呢?今天的萬向區塊鏈小課堂就帶大家瞭解一下這個知識點。

區塊鏈中的智能合約實現了合約的自動化編寫與執行,有助於提高系統效率,因而廣受歡迎。但由於其運行在具有去中心化、分佈式記賬等特點的區塊鏈上,使得智能合約的數據會被複制到區塊鏈上的所有節點中,一定程度上增加了受攻擊面,導致智能合約面臨回滾攻擊、重入攻擊等安全風險,威脅數據的隱私性和安全性。

隱私保護是當前區塊鏈領域的難點,同時也是熱點。因此,在一些高度重視數據安全隱私的應用中,僅靠智能合約已難以滿足應用需求,行業內越來越多的企業和研究機構正在探索區塊鏈+可信執行環境(Trusted Execution Environment,TEE)的解決方案,以提升智能合約對抗安全風險的能力。

什麼是TEE?

TEE是一種可信的代碼執行環境,由致力於開發、制定和發佈安全芯片技術標準的全球平臺組織(GlobalPlatform)提出。它通過將環境內的操作執行與外部隔離來確保環境中代碼、應用和數據資產的隱私性和完整性。它比起安卓、Linux等多媒體操作系統(Rich Operating System),能爲環境中的受信應用提供更安全的執行環境,比起單一的安全模塊(Secure Element),在功能上有更強的延展性,所以目前已廣泛應用於移動支付、智能設備等領域。

TEE如何做到可信

TEE中所有數據資產、代碼和底層可行操作系統(Trusted OS)的初始狀態都要經設計者簽名驗證後纔可以安裝使用,而且環境中的這些元素都是不可改變、相互隔離的,也就是說一個元素失效或被篡改並不會影響到環境中的其他元素,從而確保整體環境的可信性。

TEE在區塊鏈中的應用潛力

TEE與公鏈

目前的一些熱門公鏈(如以太坊區塊鏈),使用的大多是工作量證明(PoW)、權益證明(PoS)、委託權益證明(DPoS)這幾類常見的共識機制。這些共識機制都屬於隨機性協議,缺乏確定性。它們通過某種概率機制選出爲系統添加新區塊的節點,系統再通過點對點傳輸協議將新出區塊廣播給系統裏的所有節點,這中做法可以確保傳輸效率,但難以保證傳輸過程中信息的一致性。

信息傳輸不一致就無法支撐智能合約維持系統中的應用狀態,容易使智能合約因狀態不穩受到回滾攻擊(Rollback Attack),威脅系統數據的安全與隱私。這種風險是TEE也難以規避的。所以在採用非確定性共識機制的公鏈中,智能合約必須在設計之初就考慮到如何在執行過程中應對回滾攻擊這一問題,不能單純依賴TEE保障系統執行的安全性。

TEE與聯盟鏈

與上文提及的公鏈不同,Hyperledger Fabric這類聯盟使用的共識機制大都是確定性的,即應用戶需求產生的新區塊經過節點驗證後就是確定且正確的,TEE與這類區塊鏈的適配性更高,更有應用潛力。

目前TEE在許可鏈中的應用已取得了顯著進展。比如Visa開發的LucidiTEE區塊鏈系統,它能在不儲存輸入和輸出數據的情況下記錄每個處理器的安全隔層裏進行了哪些計算。另外,該系統中的“交換協議”確保所有數據結果都能得到公平的傳遞,只要有一個接收者收到了數據結果,那麼就可以放心地相信所有接收方都受到了該結果。

另外, Hyperledger 在2019年10月發佈的Avalon項目(之前叫可信計算框架)也採用了TEE(可信執行環境)、MPC(安全多方計算)和ZK(零知識證明)等多種安全技術確保數據的正確性和隱私性,進而解決區塊鏈項目在可擴展性和隱私性方面的挑戰。

總的來說,TEE與區塊鏈的有機結合將創造出更加牢固的系統結構,更好地滿足實際應用對數據安全和隱私性的高要求。各大研究機構和企業也在大力探索區塊鏈+TEE的數據安全解決方案,推出了越來越多的相關落地項目。因此我們相信TEE將爲提高區塊鏈系統的安全性提供有力支持,有望成爲保障區塊鏈數據安全隱私的第二重保險。

參考文章

1、What is a Trusted Execution Environment (TEE)? https://www.trustonic.com/news/technology/what-is-a-trusted-execution-environment-tee/

2、Blockchains in Trusted Execution Environments (TEEs) https://medium.com/@nadeem.bhati/blockchains-in-trusted-execution-environments-tees-9343b6c3f9e8

相關文章