麻省理工與伯克利正在構建基於RISC-V的開源TEE專案
構建可信鏈條對隱私有需求的個人裝置以及高安全性的雲環境一直是重要的議題,傳統Root of Trust構建基本上由verifiedboot以及measuredboot完成,隨著Intel SGX以及ARM平臺TEE的推廣,雖然當前雲環境中主要的需求attestation並不需要secure enclave 來實現,但這並不阻礙secure enclave 被業界越來越關注。
在深入探討本文之前,先來了解一下幾個主要概念!
首先什麼是secure enclave?Secure Enclave 是蘋果在iPhone和iPad上用來保護使用者資料安全的機制。根據蘋果在其iPhone in Business網站更新的iOS 安全手冊所言,A7的Secure Enclave 是一個建在蘋果最新的單晶片系統設計內部的協處理器。與應用處理器不同,該協處理器處理安全啟動序列碼和軟體更新機制,負責任何資料保護加密操作的關鍵操作及資料保護完整流程。
接下來,什麼是RISC-V?事實上,RISC-V是一套CPU的指令集架構。它於2011年由加州大學伯克利分校團隊設計和開發。所謂指令集,是指CPU進行運算時的各項指令集合,它定義了資料型別、儲存器和暫存器狀態等,相當於一個抽象層,構成處理器硬體與其上軟體之間的橋樑與介面。由於CPU的各種軟硬體操作都是建立在指令集之上的,其與生態環境密切相關,而生態建設又極其艱難,因此指令集在CPU中的作用非常關鍵。
與當前市場上主流CPU架構相比,RISC-V的獨特“魅力”在於它是開源、免費的,而且更加精簡。
早在 2016 年,麻省理工學院(MIT)的研究人員就在Sanctum專案中嘗試使用RISC-V實現Intel SGX類似的功能基礎PoC,不同的是,和Intel SGX的複雜且封閉的設計和實現完全不同,基於RISC-V的產品可以做到完全的開放,這讓晶片生態顛覆有了可能。而最新版本的Sanctum使用Rocket開放核實現了PUF,attestation以及verifiedboot相關的構建信任鏈條的核心功能。
近日,MIT再次和開發出這種“RISC-V”架構的加州大學伯克利分校合作,開發了另外一個名為“Keystone”的專案。據悉,Keystone一個是基於RISC-V中的現有硬體功能開發開源TEE的專案。
加州大學伯克利分校電腦科學教授Dawn Song表示, 從安全社群的角度來看,擁有值得信賴的secure enclaves對於構建安全系統而言非常重要,甚至可以將其視為電腦保安中的“聖盃”之一 。
Song最近剛參加完一個推進Keystone的研討會,與會者還包括眾多來自Facebook、谷歌、英特爾、微軟、加州大學伯克利分校、麻省理工學院、斯坦福大學以及華盛頓大學等的技術專家。
Keystone專案旨在構建一個可信執行環境(Trusted Execution Environment,簡稱TEE)。所謂“可信執行環境”(TEE)指的是移動裝置(包含智慧手機、平板電腦、機頂盒、智慧電視等)主處理器上的一個安全區域,其可以保證載入到該環境內部的程式碼和資料的安全性、機密性以及完整性。
TEE提供一個隔離的執行環境,提供的安全特徵包含:隔離執行、可信應用的完整性、可信資料的機密性、安全儲存等。總體來說,TEE提供的執行空間比常見的移動作業系統(如IoS、Android等)提供更高級別的安全性;比安全元素SE(Secure Element,如智慧卡、SIM卡等)提供更多的功能。
隨著公共雲提供商的興起,以及虛擬機器和容器的激增,TEE已經變得越來越重要。那些在其他人的硬體上執行敏感工作負載的人,更願意在這方面花費成本來確保他們自己的資料可以保持隔離和安全。
目前,市場上已經有各種各樣的安全硬體技術:英特爾有一套名為“軟體防護擴充套件”(Software Guard Extensions,簡稱SGX)的指令,主要功能是在計算平臺上提供一個可信的空間(類似“沙盒”),以保障使用者關鍵程式碼和資料的機密性和完整性;AMD擁有安全處理器和安全加密虛擬化(SEV)機制,旨在加密執行在 AMD CPU 伺服器上虛擬機器的資料;ARM則擁有TrustZone,以及其他諸如此類的等等。
但是,事實證明,這些技術既沒有實現開發者所宣傳的強大安全性(近年來,黑客破解SGX、SEV等的新聞不絕於耳),也沒有實現網路安全專業人士所期待的開放/開源性。
這並不是說開源安全因素可以免受這些問題的影響,但是帶有原始碼的開放式規範將更加值得信賴,因為它能夠被仔細地檢查。而目前市場上的這些解決方案都並非開源式的,所以很難驗證其安全性和正確性。如今,通過Keystone專案,我們將啟用一個完全開源的軟體和硬體資源。
RISC-V業務
此外, RISC-V微體系結構看起來不太容易受到“測通道攻擊”(side-channel attack)影響 。正如今年早些時候“Spectre”和“Meltdown”漏洞披露後,非盈利組織RISC-V基金會(RISC-V Foundation)所說的那樣,這些安全漏洞並沒有影響RISC-V晶片,也沒有影響流行的開源RISC-V Rocket處理器,因為該處理器不會推測性地執行儲存器訪問。
在這裡需要特別指出的是,RISC-V開源亂序執行處理器BOOM(Berkeley Out-of-Order Machine)支援分支預測和推測執行,因此不能全然假設“RISC-V微體系結構完全不受測通道攻擊影響”。
RISC-V是相對較新的技術領域,直至2010年才正式推出。但是其發展勢頭迅猛,即便是像AMR這樣的老牌晶片製造商也將其視為勁敵,認為其足以撼動自己的地位!
但目前尚不清楚RISC-V硬體的製造商是否會將其產品全面開放。谷歌軟體工程師兼coreboot建立者之一的Ronald Minnich最近指出,HiFive RISC-V晶片(首個基於 RISC-V的晶片)已經申請了專利。
在RISC-V技術發展早期,我們看到了很多隱含的“開放”訊息,但是目前的發展情況卻並非如此。即便是開放式指令集也未必一定會走向開放式實現。 RISC-V的開放式實現需要其製造商承諾在各個層面開放,而不僅僅是指令集。
RISC-V最終可能會走向更安全的晶片設計,其中包含從Spectre、Meltdown以及Foreshadow晶片漏洞中吸取的經驗教訓。