1. 程式人生 > >蘋果不只有釋出會,還有更安全的TEE!

蘋果不只有釋出會,還有更安全的TEE!

今日凌晨,美國蘋果公司舉辦了秋季新品釋出會,果不其然,再一次引發了全民討論的熱潮。大家深諳蘋果新品釋出會之道,推出一批新手機,然後不出意外的螢幕更大、速度更快、價格更高。

其實蘋果產品被人追捧的背後,是它給客戶提供了一個安全可靠的全閉源生態。在硬體層面,使用了可信計算技術,為廣大使用者營造了一個獨立於系統之外單獨執行的“安全區”,即可信執行環境( Trust Execution Environment)。我們也可以把它理解成:裝置中一個自帶作業系統、獨立運行於系統之外的輔助處理器。比如說,當你觸控ipad的指紋識別器時,手機硬體本身的處理器並不會讀取你相關資料,而是傳送給安全區處理。

在軟體層面,所有能在蘋果電腦上執行的程式,必須通過蘋果的軟體APPcenter認證和測試,而所有的程式都是通過蘋果的API或者開發語言進行的實現。比如當你想要在蘋果手機上安裝一個軟體,只能安裝應用商店的軟體。

通過了解蘋果的生態,我們可以知道,TEE可在聯網裝置中提供一個安全區域,確保敏感資料在隔離、可信的環境中儲存、處理並受到保護。也就說,TEE可以為通過檢驗的軟體,提供一個獨立且安全的執行環境。

區塊鏈技術誕生之後,許多專案借鑑蘋果的思路,將TEE技術用在公鏈。比如用Intel SGX來確保資料安全。

背景:

我們在使用一個軟體的時候,總會產生一些機密資訊。為了保護這些機密資訊,作業系統通常會1)阻止非授權使用者訪問其它使用者的關鍵資料檔案;2)阻止非授權使用者訪問作業系統資源;3)阻止應用訪問其它應用的記憶體;4)對相關資料資訊進行加密處理;

但是即便是這樣,仍將無法解決“有更高許可權的處理器的入侵”這個棘手的問題,就像我們設了一個門禁,學生必須有學生證才能入內,通過各種手段來嚴查憑證。雖然我們能阻止那些沒有學生證的人入門,但是總有一類人可以拿到真實的學生證,然後混進學校,進而可能做一些危害學校的事情。為了解決這個問題,英特爾就設計了Intel SGX。

定義:

Intel SGX是一套CPU指令,它通過建立一個隔離的安全區(enclave)來確保數的機密性和完整性。凡是存在這個安全區的資訊,無論你擁有多高的許可權,都不可從從安全區外讀寫。如果想要訪問安全區內的資料,你只能通過共享安全區的程式碼訪問。安全區儲存這些資料的記憶體, 採用具有回放保護功能的加密演算法進行加密,而且金鑰會隨著啟動睡眠更新。

但是,不可忽視的是,如果安全區的程式碼本身有漏洞的話,它也無法保證資料程式的安全。就好比土壤已經出現問題,能不能培育出健碩的花朵就不一定了。黑客可以利用這些漏洞,來攻擊安全區,進而竊取機密資料。

此外,還有采用TPM, ARM TrustZone。ARM TrustZone 作為一種硬體框架,通過建立一個隔離的Secure world,來為系統提供機密性和完整性。

但是,無論是基於哪一種技術,都不可避免的十分依賴這種技術,將無法擺脫技術提供方的控制以及無法避免針對某種技術的攻擊。比如,Intel SGX技術對IAS(Intel Attestation Service)具有強依賴性,IAS的服務端或商業模式變化都將對基於Intel SGX的共識演算法產生極為嚴重甚至是摧毀性的打擊。

為了提升TEE 在區塊鏈中的效能,規避對單一TEE技術的依賴,Trias 提出了異構TEE體系。異構,是指一種包含不同成分的特性。異構TEE體系即包含了不同廠家TEE技術的體系,目前包括Intel SGX、Intel TXT、TPM、ARM TrustZone。也就是說,想要成為Trias的節點,只要具備其中一種TEE 環境即可,沒有特定型別的限制。

Trias首次實現了對所有TEE技術的支援,並構造出由異構TEE協議共同組建的共識網路,在很大程度上杜絕了資料的安全隱患,除非黑客掌握了所有TEE技術的漏洞和Trias全網90%以上的算力才可能對資料安全造成影響,而這種情況幾乎是不可能的。Trias也在不斷優化區塊鏈的安全技術和效能,相信在不久的將來,Trias可以構建出一個更安全、更穩定、更高速的區塊鏈系統。