撰文:Oliver Jaros,CMT Digital 分析師、Shlok Khemani,decentralised.co
編輯:Yangz,Techub News
Uber 的舊金山總部與大多數科技公司類似,有著開放式的樓層設計,員工可以自由活動,分享自己的想法。然而,在主樓層的中心,有那麼一間鮮有員工涉足的房間。金屬和玻璃的外牆、一個可以讓透明玻璃變得不透明的開關,以及頻繁出現的保全人員,都讓這個房間顯得十分神秘。
這就是Uber 的「作戰室」,一個全天候運作的空間,主要供高階主管集思廣益,以解決公司面臨的最大問題。為了保密,這個房間嚴格按照「need to know」原則開放。而這種保密措施是極為必要的,畢竟為佔據叫車市場的主導地位,Uber 需要在全球範圍內與競爭對手展開激烈的競爭,而對手們不會放過任何可能洩露其戰略的機會。在作戰室裡發生的一切只會留在這個房間裡。
Uber 的作戰室內部;來源:Andrew Chen,a16z
這種在原本可進入空間內設置私人隔間的做法很常見。蘋果公司在進行秘密專案時,會將指定團隊安置在與總部分開的其他建築物中。國會大廈和其他美國政府大樓都設有敏感資訊設施(SCIF),為敏感討論提供隔音牆和電磁屏蔽。我們自己家裡或進駐的飯店房間也會設有保險箱。
安全飛地(Secure Enclaves)已經延展到了物理世界之外。如今,我們主要透過電腦來儲存資料和處理資訊。隨著我們對矽基機器的依賴性的不斷增長,攻擊和洩漏的風險也在增加。就像Uber 的作戰室一樣,電腦需要一個獨立的空間來儲存最敏感的資料並執行關鍵計算。這個空間被稱為可信執行環境(TEE)。
雖然TEE 已成為加密貨幣行業的熱門詞彙,但其目的和功能卻經常被誤解。我們希望透過本文來改變這一現狀。在此,我們將向您解釋關於TEE 的一切必要知識,包括它們是什麼、為什麼重要、我們每天使用它們的方式,以及它們如何幫助建立更好的Web3 應用。
TEE 已無所不在
首先,我們先來了解TEE 的定義。
TEE 是裝置主處理器內的專用安全區域,可確保正在處理的資料和程式碼的機密性。 TEE 提供了一個獨立於主作業系統的隔離執行環境,對於維護處理敏感資訊的應用程式的資料安全至關重要。
TEE 主要提供兩種保證。
-
隔離執行:TEE 在隔離環境中執行程式碼。這意味著,即使主作業系統受到破壞,TEE 中的程式碼和資料仍然是安全的。
-
記憶體加密:在TEE 內處理的資料都經過加密。這可確保即使攻擊者存取了實體內存,也無法破解TEE 中儲存的敏感資訊。
而要了解TEE 的重要性,你們手中可能正在用於閱讀本文的設備iPhone,就是很好的說明。 FaceID 已成為iPhone 驗證使用者存取裝置的主要方式。在幾百毫秒的時間裡,設備內部進行如下流程:
-
首先,點陣投影機會將3 萬多個不可見的紅外線(IR)點陣投射到使用者臉上。紅外線相機捕捉此圖案和臉部的紅外線影像。在低光源條件下,泛光照明器可提高可見度。
-
其次,處理器接收這些原始數據,並創建臉部的數學模型,包括深度數據、輪廓和獨特特徵。
-
最後,數學模型與FaceID 初始設定時儲存的模型進行比對。如果模型夠精確,就會向iOS 系統發送「成功」訊號,設備就會解鎖。如果比對失敗,裝置將保持鎖定狀態。
解鎖手機時,投射在臉部的3 萬個紅外線點;來源:YouTube
FaceID 不僅用於解鎖設備,還用於驗證其他操作,例如登入應用程式以及進行付款。因此,任何安全漏洞都會造成嚴重後果。如果模型建立和比對過程遭到破壞,非設備所有者就可以解鎖設備、存取所有者的個人資料並進行欺詐性金融交易。如果攻擊者設法提取儲存的使用者臉部數學模型,就會導致生物辨識資料被盜,並嚴重侵犯隱私。
當然,蘋果公司在實施FaceID 時很講究方法。所有的處理和儲存都是透過 The Secure Enclave 進行的,這是一個內建在iPhone 和其他蘋果設備中的獨立處理器,其功能與其他記憶體和進程隔離。它的設計目的是,即使設備的其他部分受到攻擊,攻擊者也無法存取它。除了生物辨識技術,它還能儲存和保護用戶的支付資訊、密碼、鑰匙鍊和健康資料。
蘋果的The Secure Enclave 只是TEE 的一個例子。由於大多數電腦都要處理敏感資料和計算,幾乎所有的處理器製造商現在都提供了某種形式的TEE。英特爾提供軟體防護擴充(SGX),AMD 有 AMD 安全處理器,ARM 有 TrustZone,高通提供 Secure Foundation,而Nvidia 的最新GPU 則附有保密運算功能。
TEE 也有軟體變體。例如,AWS Nitro Enclaves 允許使用者建立隔離的運算環境,以保護和處理亞馬遜常規EC2 實例中的高度敏感資料。同樣,Google雲端和微軟Azure 也提供保密運算。
蘋果最近也宣布推出私有雲運算(Private Cloud Compute),這是一個雲端智慧系統,旨在私下處理設備無法在本地提供服務的人工智慧請求。類似的,OpenAI 也在為人工智慧雲端運算開發安全基礎設施。
TEE 之所以令人興奮,部分原因是它們在個人電腦和雲端服務供應商中無處不在。它使開發人員能夠創建受益於用戶敏感資料的應用,而不必擔心資料外洩和安全漏洞。它還能透過生物辨識身分驗證和密碼等創新技術直接改善使用者體驗。
那麼,這些與加密貨幣有什麼關係呢?
遠端證明
TEE 為外部無法篡改的計算提供了可能,而區塊鏈技術也能提供類似的計算保證。智慧合約本質上是電腦程式碼,一旦部署,就會自動執行,外部參與者無法更改。
不過,在區塊鏈上運行計算有一些限制:
-
與普通計算機相比,區塊鏈的處理能力有限。例如,以太坊上的一個區塊每12 秒產生一次,最多只能容納2 MB 的資料。這比軟碟的容量還小,而軟碟已是一種過時的技術。雖然區塊鏈的速度越來越快,功能也越來越強大,但它們仍然無法執行複雜的演算法,例如FaceID 背後的演算法。
-
區塊鏈缺乏原生隱私。所有分類帳資料對所有人都是可見的,因此不適合依賴個人身分、銀行餘額、信用評分和病史等隱私資訊的應用。
TEE 並無這些限制。雖然TEE 的速度比普通處理器慢,但它們仍然比區塊鏈快上幾個數量級。此外,TEE 本身俱有隱私保護功能,預設會對所有處理過的資料進行加密。
當然,需要隱私和更強運算能力的鏈上應用可以從TEE 的互補功能中獲益。但是,區塊鏈是高度可信賴的運算環境,帳本上的每個資料點都應可追溯到其來源,並在眾多獨立電腦上複製。相較之下,TEE 流程發生在本地實體或雲端環境中。
所以,我們需要一種方法來結合這兩種技術,這就需要用到遠端驗證。那麼,何為遠程證明,讓我們繞道中世紀,先了解一下背景。
在電話、電報和網路等技術發明之前,由人類信差傳遞手寫信件是遠距離發送訊息的唯一方式。但是,收信人如何確保資訊真正來自原定的發信人,並且沒有被竄改呢?數百年來,蠟封成為了這個問題的解決方案。
裝有信件的信封會用熱蠟蓋上獨特而複雜的圖案,通常是國王、貴族或宗教人物的紋章或標誌。由於每個圖案對寄信者來說都是獨一無二的,沒有原始印章幾乎無法複製,因此收信人可以確信信件的真實性。此外,只要印章完好無損,收件人也可以確信資訊未被竄改。
英國國璽(Great Seal of the Realm):用來象徵君主批准國家文件的印章
遠端證明相當於現代的印章,即由TEE 產生的加密證明,允許持有者驗證其中運行的程式碼的完整性和真實性,並確認TEE 未被篡改。其工作原理如下:
-
TEE 產生一份報告,其中包含有關其狀態和內部運行程式碼的資訊。
-
該報告使用只有真正的TEE 硬體才能使用的金鑰進行加密簽署。
-
簽名後的報告將發送給遠端驗證器。
-
驗證器會檢查簽名,確保報告來自真正的TEE 硬體。然後檢查報告內容,確認預期程式碼正在運行且未修改。
-
如果驗證成功,遠端方就可以信任TEE 及其內部運作的程式碼。
為了將區塊鏈與TEE 進行結合,這些報告可以發佈在鏈上,並由指定的智能合約驗證證明。
那麼,TEE 如何幫助我們建立更好的加密貨幣應用程式呢?
TEE 在區塊鏈中的實際用例
作為以太坊MEV 基礎設施中的「領導者」,Flashbot 的解決方案MEV-boost 將區塊提議者與區塊建構者分開,並在兩者之間引入了一個名為「中繼器」的可信實體中介。中繼器驗證區塊的有效性,進行拍賣以選出獲勝的區塊,並防止驗證者利用建構者發現的MEV 機會。
MEV-Boost 架構
然而,如果中繼器是中心化的,例如三個中繼器處理超過 80% 的區塊,仍會出現問題。正如這篇部落格文章所概述的,這種中心化存在著中繼器審查交易、與建構者串通給予某些交易優先於其他交易的風險,以及中繼器本身可能竊取MEV 的風險。
那麼,為什麼智能合約不直接實施中繼功能呢?首先,中繼軟體非常複雜,無法直接在鏈上運作。此外,使用中繼器是為了保持輸入(由建構者創建的區塊)的私密性,以免MEV 被盜。
TEE 就能很好解決這個問題。透過在TEE 中運行中繼軟體,中繼器不僅可以保持輸入區塊的私密性,同時還能證明獲勝區塊是在沒有串通的情況下公平選出的。目前,Flashbots 正在開發的 SUAVE(測試中)就是一種由TEE 驅動的基礎架構。
最近,本刊和CMT Digital 探討了有關解決者(Solver)網路和意圖(Intent)如何幫助鏈抽象並解決加密貨幣應用的用戶體驗問題,我們都提到了這麼一個解決方案,即訂單流拍賣,它是MEV boost 中進行的拍賣的通用版本,而TEE 可以提高這些訂單流拍賣的公平性和效率。
此外,TEE 對DePIN 應用程式也有很大幫助。 DePIN 是貢獻資源(如頻寬、計算、能源、行動數據或GPU)以換取代幣獎勵的設備網絡,因此供應方完全有動機透過改變DePIN 軟體來欺騙系統,例如,顯示同一設備的重複貢獻,以賺取更多獎勵。
不過,正如我們所見,大多數現代設備都有某種形式的內建TEE。 DePIN 專案可以要求產生透過TEE 創建的裝置唯一識別碼的證明,確保裝置是真實的,並運行預期的安全軟體,進而遠端驗證貢獻是否合法且安全。 Bagel 就是一個正在探索使用TEE 的資料DePIN 專案。
另外,TEE 在Joel 近日探討的Passkey 技術中也扮演了重要角色。 Passkey 是一種將私鑰儲存在本機裝置或雲端解決方案TEE 中的身份驗證機制,用戶無需管理助記詞,且支援跨平台錢包,允許社交和生物認證,並簡化了金鑰的恢復流程。
Clave 和 Capsule 將該技術運用於嵌入式消費錢包,而硬體錢包公司 Ledger 則使用TEE 來產生和儲存私鑰。 CMT Digital 投資的Lit Protocol 為應用程式、錢包、協定和人工智慧代理的開發者提供去中心化簽章、加密和運算的基礎設施。該協定使用 TEE 作為其金鑰管理和計算網路的一部分。
TEE 也有其他變體。隨著生成式AI 的發展,要區分AI 產生的影像和真實影像變得越來越困難。為此,索尼、尼康和佳能等大型相機製造商正在收集為捕獲的影像即時分配數位簽章的技術。它們還為第三方提供基礎設施,透過驗證證明來檢查影像的來源。雖然這種基礎設施目前是中心化的,但我們希望這些證明將來能在鏈上得到驗證。
上週,我寫了一篇關於zkTLS 如何以可驗證的方式將Web2 資訊引入Web3 的文章。我們討論了使用zkTLS 的兩種方法,包括多方計算(MPC)與代理程式。而TEE 提供了第三種方法,即在設備的安全飛地中處理伺服器連接,並在鏈上發布計算證明。 Clique 就是一個正在實施基於TEE 的zkTLS 的專案。
此外,以太坊L2 解決方案 Scroll 和 Taiko 正在嘗試多證明方法,旨在將TEE 與ZK 證明整合在一起。 TEE 可以更快、更經濟高效地產生證明,且不會增加最終時間。它們透過增加證明機制的多樣性以及減少錯誤和漏洞補充了ZK 證明。
在基礎設施層面,也出現了一些支援越來越多的應用使用TEE 遠端證明的項目。 Automata 正在推出一個模組化驗證鏈,作為Eigenlayer AVS,充當遠端驗證的註冊中心,使其可公開驗證並易於存取。 Automata 與各種EVM 鏈相容,可在整個EVM 生態中實現可組合的TEE 證明。
另外,Flashbots 正在開發一種TEE 協處理器 Sirrah,用於在TEE 節點和區塊鏈之間建立安全通道。 Flashbots 還為開發人員提供程式碼,以建立可輕鬆驗證TEE 證明的Solidity 應用程式。他們正在使用上文提到的Automata 驗證鏈。
「玫瑰是帶刺的」
雖然TEE 用途廣泛,且已應用於加密貨幣的各個領域,但採用該技術並非沒有挑戰。希望採用TEE 的建構者們能夠牢記其中一些要點。
首先,最主要的考慮因素是TEE 需要一個可信任設定。這意味著,開發人員和使用者必須相信設備製造商或雲端提供者會堅持安全保證,不會擁有(或向政府等外部行為者提供)進入系統的後門。
另一個潛在問題是邊頻道攻擊(SCA)。想像在教室裡進行的選擇題測試,雖然你看不到任何人的考卷,但你完全可以觀察到邊上同學在選擇不同答案時花費時間的長短。
邊頻道攻擊的原理類似。攻擊者利用功耗或時序變化等間接資訊來推斷TEE 內處理的敏感資料。要減少這些漏洞,需要仔細實施加密操作和恆定時間演算法,以盡量減少TEE 程式碼執行過程中的可觀測變化。
英特爾SGX 等TEE 已被證實有漏洞。 2020 年的 SGAxe 攻擊利用英特爾SGX 中的漏洞從安全飛地中提取了加密金鑰,可能會洩漏雲端環境中的敏感資料。 2021 年,研究人員展示了「SmashEx」攻擊,該攻擊可導致SGX 飛地崩潰,並可能洩露機密資訊。 「Prime+Probe」技術也是一種邊通道攻擊,可透過觀察快取存取模式從SGX 週邊設備提取加密金鑰。所有這些例子都凸顯了安全研究人員與潛在攻擊者之間的「貓鼠遊戲」。
世界上大多數伺服器都使用Linux 的一個原因是它強大的安全性。這得歸功於它的開放原始碼特性,以及成千上萬的程式設計師不斷測試軟體並解決出現的漏洞。同樣的方法也適用於硬體。 OpenTitan 是一個開源項目,旨在使矽信任根(RoT,TEE 的另一個術語)更加透明、可信且安全。
未來展望
除了TEE 之外,還有其他幾種隱私保護技術可供建構者使用,例如零知識證明、多方計算和全同態加密。對這些技術進行全面比較超出了本文的討論範圍,但TEE 有兩個比較突出的優勢。
首先是其普遍性。其他技術的基礎架構仍處於萌芽階段,而TEE 已成為主流,並整合到了大多數現代電腦中,為希望利用隱私技術的創始人降低了技術風險。其次,與其他技術相比,TEE 的處理開銷要低得多。雖然這項特性涉及安全權衡,但對於許多使用案例來說,它不失為實用的解決方案。
最後,如果您正在考慮TEE 是否適合您的產品,請自問以下問題:
-
產品是否需要在鏈上證明複雜的鏈外計算?
-
應用輸入或主要資料點是否需要隱私化?
如果答案都是肯定的,那麼TEE 就值得一試。
不過,考慮到TEE 仍容易受到攻擊的事實,請隨時保持警惕。如果應用程式的安全價值低於攻擊成本(攻擊成本可能高達數百萬美元),您可以考慮單獨使用TEE。但是,如果你正在建立「安全至上」的應用,例如錢包和Rollup,則應考慮使用去中心化TEE 網路(如Lit Protocol),或將TEE 與其他技術(如ZK 證明)結合使用。
與建構者不同,投資者可能更關心TEE 的價值體現,以及是否會有價值數十億美元的公司因這項技術而崛起。
從短期來看,在許多團隊不斷嘗試使用TEE 的過程中,我們認為價值將在基礎設施層面產生,包括特定於TEE 的Rollup(如Automata 和Sirrah),以及為使用TEE 的其他應用提供關鍵構件的協議(如Lit)。隨著更多TEE 協處理器的推出,鏈外隱私運算的成本將會降低。
而從長遠來看,我們預期利用TEE 的應用和產品的價值將超過基礎設施層。不過,要注意的是,使用者採用這些應用並不是因為它們使用了TEE,而是因為它們是解決真正問題的優秀產品。我們已在Capsule 等錢包中看到了這一趨勢,與瀏覽器錢包相比,Capsule 的用戶體驗得到了極大改善。許多DePIN 專案可能僅使用TEE 進行身份驗證,而不是將其作為核心產品的一部分,但它們也將累積巨大的價值。
每過一周,我們對「我們正處於從胖協議論轉變為胖應用論的階段」這一論點的信心就會增強一分。我們希望TEE 等技術也能順應這股趨勢。 X 上的timeline 不會告訴你這一點,但隨著TEE 等技術的成熟,加密貨幣領域將迎來前所未有的令人興奮的時刻。