Trusted Execution Environment(TEE),中文翻譯為“可信執行環境”,是近些年隱私計算方面提出的一個“比較新”的概念(早在2006年ARM就提出了類似TEE的TrustZone概念),不過直到最近幾年,Intel SGX技術的推廣應用才讓TEE備受矚目。盡管只言片語中看起來TEE只是隱私計算的一部分,但得益于其可以形成極高安全性的代碼執行空間,在區塊鏈領域可以有效解決智能合約執行時的代碼泄露等問題,因此許多區塊鏈專案開始研究并探索TEE的實際應用。考慮到這門較新的技術,中文網路上鮮有對它的簡單介紹,這里我們就稍稍了解下什么是TEE,以及TEE應用方面的代表技術Intel SGX。
01
什么是TEE?
TEE可信執行環境是芯片層面上單獨劃分出來的一片“區域”,這片區域并不一定會占有芯片的物理位置,也許只是在邏輯上占用了一定的執行空間。這片空間,在Intel SGX中被稱作Enclave,而在ARM TrustZone中則被稱為Secure World。這片區域負責為代碼的執行和資料的儲存提供一個更加安全的地方,以此確保其機密性和不可篡改性。
在沒有TEE的情況下,芯片執行代碼,要么將代碼儲存在芯片內部快取中,要么儲存在芯片外部的“記憶體”或者硬碟里。但不論是在快取還是記憶體,所有的代碼和執行程序都能被其它程式所讀取,這就導致代碼執行不存在隱私性,這對于某些需要隱藏代碼以及代碼流程的應用而言相當致命。而TEE通過在芯片層面為代碼執行提供一片獨立區域,這片獨立區域無法從軟體和硬體層面被其它程式所獲取,以此確保了在這片區域中執行的代碼的機密和安全。
TEE這種不受外部影響的代碼執行區域,通過將敏感資訊,例如支付密碼放入到TEE中,密碼的驗證通過TEE提供的介面進行,這樣只要TEE內部的資料沒有被覆寫,或者包含TEE的芯片沒有被丟失,TEE就可以一直提供支付密碼的驗證,而支付密碼卻幾乎不能被外界的程式所獲取。另一方面,TEE也會定期通過API介面提供資料完整性證明,確保外部環境能夠得知TEE內部的所儲存的值沒有發生變化。
如果要形象地說,TEE就像是一座大使館。我們以設立在美國的中國大使館為例子,大使館作為一片界外域,美國可以看到中國大使館所做的任何事情,包括銷毀資料等,但卻無法得知大使館銷毀資料的詳細資訊,并且也無權去干涉大使館的一切行為。
02
Intel SGX
Intel SGX(Intel Software Guard Extensions)是Intel提供的TEE實作,由于過去十年Intel在市場上的主流位置,Intel SGX也自然而然地成為了最常用的TEE方案之一。在SGX中,用于執行代碼的TEE環境被稱為Enclave(飛地),在Enclave中的資料可以確保其機密性和完整性;而Intel也提供了一個用于驗證某個結果是否由SGX所執行出來,以此確保惡意者偽裝成SGX來竊取資訊;最后SGX方案提供了更廣闊的安全邊界,記憶體資料,包括Bios都無法獲取到SGX中的加密資料。
除了Intel SGX外,幾乎所有主流的芯片企業都提供了TEE解決方案。在ARM中是TrustZone方案,而在AMD中則是 PSP方案。其它手機端芯片例如聯發科,高通等也廣泛采取了TEE技術。
03
Wisdom Chain能用嗎?
答案是肯定的。
TEE技術作為一種隱私技術,同樣適用于通過加密學確保隱私的區塊鏈領域。在Wisdom Chain中,盡管采用了混合共識獲得了更高的交易處理效率,但只要作為一個去中心化網路,對于保存全域賬本的區塊鏈節點而言,產塊節點越多,網路的效率反而會下降(因為網路全體狀態同步時間延長),也就是經典的CAP定理。不過,使用TEE技術,可以將一部分的事務執行以加密代碼形式注入到TEE空間中,這樣全網就可以省略掉對TEE執行步驟的驗證,甚至在極度樂觀情況下也可以省略對結果的驗證,這樣就可以彌補網路產塊節點數量上升帶來的效率下降問題。
此外,由于TEE也可以機密地執行智能合約,將TEE引入Wisdom Chain還能讓其具備隱私計算的能力,不僅代幣交易可以獲得隱私,事務的執行邏輯和程序也能確保隱私,并且這個隱私對于利益相關方是可驗證的。通過TEE,Wisdom Chain也能成為一個擁有極高隱私能力的公有鏈。
但是,TEE并非是一個沒有缺點的技術。首先,目前最廣泛采用的Intel SGX方案,除了更換設備需要大量成本外,由于需要對SGX進行驗證,而驗證卻是向由Intel所維護的中心服務器發起,這顯然是不滿足區塊鏈“去中心化”理論的行為,且這種方式還存在中間人攻擊和Intel作惡的風險。其次,TEE的空間有限,這導致TEE無法執行非常復雜的事務邏輯,像Uniswap類交易所就很難遷移到單個TEE環境中;最后,目前常用的TEE方案,各個可信空間之間是無法相互通信的,如何跨設備進行TEE通信還需要等待技術人員的努力。
不過,可以肯定的是,未來將會有更多的區塊鏈專案采取TEE方案來保護隱私,TEE方案更是已經在手機上推廣應用了。TEE在區塊鏈領域的大規模應用也不會只是紙上談兵了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/165392.html
標籤:區塊鏈技術
上一篇:關系型資料庫的外鍵約束與關聯
下一篇:TCP通信軟體開發--Qt
