查ICP網:全新的綜合網站備案信息查詢網
Copyright ? 2008-2028 www.mshuangcha.com [ 查icp] All Rights Reserved.
bios里的sgx是什么意思?
SGX技術定義
SGX全稱Intel Software Guard Extensions,顧名思義,其是對因特爾體系(IA)的一個擴展,用于增強軟件的安全性。
SGX指令集擴展,旨在以硬件安全為強制性保障,不依賴于固件和軟件的安全狀態,提供用戶空間的可信執行環境,通過一組新的指令集擴展與訪問控制機制,實現不同程序間的隔離運行,保障用戶關鍵代碼和數據的機密性與完整性不受惡意軟件的破壞。

這種方式并不是識別和隔離平臺上的所有惡意軟件,而是將合法軟件的安全操作封裝在一個enclave中,保護其不受惡意軟件的攻擊,特權或者非特權的軟件都無法訪問enclave,也就是說,一旦軟件和數據位于enclave中,即便操作系統或者和VMM(Hypervisor)也無法影響enclave里面的代碼和數據。
Enclave的安全邊界只包含CPU和它自身。SGX創建的enclave也可以理解為一個可信執行環境TEE(Trusted Execution Environment)。
不過其與ARM TrustZone(TZ)還是有一點小區別的,TZ中通過CPU劃分為兩個隔離環境(安全世界和正常世界),兩者之間通過SMC指令通信;而SGX中一個CPU可以運行多個安全enclaves,并發執行亦可。
當然,在TZ的安全世界內部實現多個相互隔離的安全服務亦可達到同樣的效果。
SGX Enclave的創建
借助Intel處理器的SGX技術,通過CPU的硬件模式切換,系統進入可信模式執行,只使用必需的硬件構成一個完全隔離的特權模式,加載一個極小的微內核操作系統支持任務調度,完成身份認證,并根據認證后的用戶身份.
通過使用Intel SGX技術,構建Enclave作為完全隔離的特權模式的具體實現方案如下: (1)將需要運行的虛擬機鏡像加載到磁盤中。 (2)生成加密應用程序代碼和數據的秘鑰憑證,SGX技術提供了一種較為先進的秘鑰加密方法,其秘鑰由SGX版本秘鑰、CPU機器秘鑰和Intel官方分配給用戶的秘鑰在秘鑰生成算法下生成的全新秘鑰,使用此秘鑰對需要加載的應用程序的代碼和數據進行加密。 (3)將需要加載的應用程序或鏡像的代碼和數據首先加載到SGX Loader加載器中,為將其加載至Enclave做準備。 (4)在Intel SGX 可信模式下動態申請構建一個Enclave。 (5)將需要加載的程序和數據以EPC(Enclave Page Cache)的形式首先通過秘鑰憑證解密。 (6)通過SGX指令證明解密后的程序和數據可信,并將其加載進Enclave中,然后對加載進Enclave中的每個EPC內容進行復制。 (7)由于使用了硬件隔離,進一步保障Enclave的機密性和完整性,保障了不同的Enclave之間不會發生沖突更不會允許其互相訪問。 (8)啟動Enclave初始化程序,禁止繼續加載和驗證EPC,生成Enclave身份憑證,并對此憑證進行加密,并作為Enclave標示存入Enclave的TCS(Thread Control Structure)中,用以恢復和驗證其身份。 (9)SGX的隔離完成,通過硬件隔離的Enclave中的鏡像程序開始執行,構建基于SGX技術的硬件隔離完成。
SGX Enclave的啟動和銷毀
在完成構建Enclave后,為保護Enclave在運行結束或掛起后,Enclave中的信息不被泄露,而Enclave中的應用程序可能會因為系統出現中斷、異常等出現非正常情況下的退出,為解決此類問題使用SGX技術對可能出現的同步退出和異步退出設置不同的處理方式,在同步退出時,Enclave中運行的數據和代碼將會根據自定義的EEE(Enclave Exiting Events) 設置的處理方式進行處理。而如果時異步退出的情況下,Enclave中的數據和運行狀態等信息將會秘鑰憑證進行加密,并存儲到Enclave之外,在下一次啟動系統時有選擇的恢復中斷的Enclave。
SGX 創建Enclave可信通信通道
對于SGX Enclave的訪問請求,構建檢測機制進行限制,首先判斷是否啟動了Enclave模式,然后判斷訪問請求是否來源于Enclave內部,如果是則繼續判斷,如果不是則返回訪問失敗,然后根據給予生成Enclave前的身份憑證用于檢驗此訪問請求是否來源于同一個Enclave,如果是則通過訪問檢測,若不是則根據Enclave的身份憑證記錄表,更換下一個Enclave身份憑證進行匹配,知道所有的正在運行的Enclave全部匹配完成,若還無法匹配成功,返回訪問失敗。