官术网_书友最值得收藏!

1.13 可信執(zhí)行環(huán)境

可信執(zhí)行環(huán)境(Trusted Execution Environment,TEE)是CPU內的一個安全區(qū)域,運行在一個獨立的環(huán)境中,并且與操作系統(tǒng)并行運行。CPU確保TEE中代碼和數據的機密性和完整性都得到保護。TEE作為隔離的執(zhí)行環(huán)境提供安全性功能,如隔離執(zhí)行。一般而言,TEE通過同時使用硬件和軟件來保護數據和代碼,TEE比操作系統(tǒng)更加安全。在TEE中運行的受信任應用程序可以訪問設備主處理器和內存的全部功能,硬件隔離負責保護這些組件不受主操作系統(tǒng)中運行的用戶安裝應用程序的影響。

TEE具有自身的執(zhí)行空間,它所能訪問的軟硬件資源與操作系統(tǒng)是分離的。TEE為授權安全軟件或可信安全軟件(Trust App)提供了安全的執(zhí)行環(huán)境,保護了其數據和資源的保密性、完整性和訪問權限。TEE在啟動時為了保證整個系統(tǒng)的安全,從系統(tǒng)引導啟動開始逐步驗證以保證TEE平臺的完整性。當設備加電后,TEE首先加載ROM中的安全引導程序,并利用根密鑰驗證其完整性。然后,該引導程序進入TEE初始化階段并啟動TEE內置的安全操作系統(tǒng),逐級核查安全操作系統(tǒng)啟動過程中的各個階段的關鍵代碼以保證安全操作系統(tǒng)的完整性,同時防止未授權或經過惡意篡改的軟件的運行。安全操作系統(tǒng)啟動后,運行非安全世界的引導程序并啟動普通操作系統(tǒng)。至此基于信任鏈,TEE完成了整個系統(tǒng)的安全啟動,能夠有效抵御TEE啟動過程中的非法篡改、代碼執(zhí)行等惡意行為。

目前的TEE在不同CPU上有不同的實現方案,在Intel的CPU上實現TEE的技術方案叫SGX,全稱為Intel Software Guard Extension,在ARM架構的CPU上實現TEE的技術方案叫TrustZone,但是由于ARM架構的開放性,各大廠商在進行定制的時候會采用不同的方案,如高通的QSEE、華為的TEE OS等。

TEE與普通操作系統(tǒng)之間的接口稱為TEE Client API,在2010年GlobalPlatform對其進行了標準化,可信應用程序與可信操作系統(tǒng)之間的互操作接口(TEE Internal API)在2011年完成了標準化。

在區(qū)塊鏈場景下,使用TEE的模塊主要集中在智能合約、預言機、共識模塊和數字錢包中。智能合約和預言機期望通過使用TEE來保證數據的安全性和隱私性,如在螞蟻鏈中利用TEE技術將合約引擎和必要的交易處理及密碼學運算單元集成封裝在TEE中,配合安全協(xié)議流程達到隱私保護的目的,具體隱私保護結構如圖1-9所示。在共識模塊中,則期望通過TEE對特定信息的保護來加速共識流程,如浙江大學百人計劃研究員劉健提出的FastBFT就使用了TEE來加速實用拜占庭共識算法。在數字錢包中,則利用TEE實現密鑰的生成與安全存儲。

圖1-9 螞蟻鏈中的隱私保護結構

主站蜘蛛池模板: 寿阳县| 京山县| 新丰县| 陇南市| 抚宁县| 秦安县| 晋中市| 咸丰县| 庐江县| 延寿县| 正镶白旗| 湘潭县| 汝城县| 鹤庆县| 长岛县| 丁青县| 塘沽区| 江城| 东丽区| 卓资县| 城固县| 台山市| 蛟河市| 紫云| 柘城县| 天全县| 衡阳县| 盘山县| 志丹县| 新蔡县| 长子县| 临颍县| 桐乡市| 洞口县| 仁布县| 永春县| 伽师县| 莆田市| 东源县| 固始县| 嘉黎县|