TEE(Trusted Execution Environment)簡介【轉】


轉自:https://blog.csdn.net/fengbingchun/article/details/78657188

TEE(Trusted Execution Environment),可信執行環境,該環境可以保證不被常規操作系統干擾的計算,因此稱為”可信”。這是通過創建一個可以在TrustZone的”安全世界”中獨立運行的小型操作系統實現的,該操作系統以系統調用(由TrustZone內核直接處理)的方式直接提供少數的服務。另外,TrustZone內核可以安全加載並執行小程序”Trustlets”,以便在擴展模型中添加”可信”功能。Trustlets程序可以為不安全(普通世界)的操作系統(如Android)提供安全的服務。

TEE通常用於運行關鍵的操作:(1)、移動支付:指紋驗證、PIN碼輸入等;(2)、機密數據:私鑰、證書等的安全存儲;(3)、內容包括:DRM(數字版權保護)等。

TEE已經成為生物識別設備的標配:使用TEE來隔離指紋的采集、存儲、驗證等過程。即使手機被越獄或Root,攻擊者也無法獲取指紋數據。

TEE內部運行一個完整的操作系統,與REE(如Android)隔離運行,TEE與REE通過共享內存進行交互:OS間/應用間。

TEE內部也分為內核態與用戶態,TEE的用戶態可以運行多個不同的安全應用(TA)。

TEE包含:Secure SO+ 中間件 + 安全應用 + 外部交互。

TEE三層架構:TA(Trusted Application)層:可信錢包、TUI;TEE層:安全操作系統,對上層TA提供的庫;硬件層:CPU狀態隔離、內存隔離、外設隔離,如下圖:

 

TEE並不僅僅是指紋保護,指紋目前是TEE推廣的強大動力,解鎖、手機支付是主要應用場景。

TEE並不僅僅在手機端,從手機端到雲端都有TEE:ARM:TrustZone; X86: VT-x和SGX。TEE並不是全新的概念,本質就是一種基於硬件的隔離。

TEE並不是100%都安全,關於TEE的CVE開始出現,各家實現的TEE良莠不齊。

TEE的目的是增強移動設備的安全特性,包括軟件編程接口、硬件IP在內的一整套方案。芯片在軟件和硬件上,有REE和TEE兩個區域,分別對應富執行環境和可信執行環境。其主要思想就是在同一個CPU芯片上,通過硬件配置方式實現不同IP組件的訪問控制,從而提供一個完全隔離的運行空間。ARM在芯片IP設計中已經全面支持了TEE,包括高通、聯發科、三星、海思、展訊等都紛紛采用,成為基於硬件安全的主流方案。

TEE是和REE(Rich Execution Environment)相對應的,一般稱TEE和REE為Secure World和Normal World。Linux跑在Normal World上,但是有些安全性要求比較高的行為,例如指紋的比對,支付時候用私鑰簽名的動作等,需要放到Secure World里面去。

TEE具有其自身的執行空間,也就是說在TEE的環境下也要有一個操作系統。TEE環境比Rich OS(普通操作系統)的安全級別更高,但是比起安全元件(SE,通常是智能卡)的安全性要低一些;另一方面,加入TEE的成本增加比較低,SE的成本則更高。TEE所能訪問的軟硬件資源是與Rich OS分離的。TEE提供了授權安全軟件(TrustApp可信應用,簡稱TA)的安全執行環境,同時也保護TA的資源和數據的保密性、完整性和訪問權限。為了保證TEE本身的可信根,TEE在安全啟動過程中是要通過驗證並且與Rich OS隔離的。在TEE中,每個TA是相互獨立的,而且不能在未授權的情況下互相訪問。簡而言之就是在TEE環境的操作系統上同樣有相應的應用程序(TA),除了TEE的運行環境與普通操作系統相互獨立外,TEE里的每一個TA也是需要授權並相互獨立運行的。

基於TEE環境的操作系統由不同的企業在推行,例如華為海思有自己的TrustZone的操作系統,高通的QSEE、ARM的Trustonic、還有Linaro開源的OPTEE等。

TEE最早出於OMTP規范,ARM是TEE技術的主導者之一,其TrustZone即是支持TEE技術的產品。

2006年,OMTP (Open Mobile Terminal Platform,開放移動終端平台)工作組智能終端的安全率先提出了一種雙系統解決方案:即在同一個智能終端下,除了多媒體操作系統外再提供一個隔離的安全操作系統,這一運行在隔離的硬件之上的隔離安全操作系統用來專門處理敏感信息以保證信息的安全。該方案即TEE的前身。

基於OMTP的方案,ARM公司(嵌入式處理器的全球最大方案供應商,它們架構的處理器約占手機市場95%以上的份額)於2006年提出了一種硬件虛擬化技術TrustZone及其相關硬件實現方案。TrustZone即是支持TEE技術的產品,TrustZone是所有Cortex-A類處理器的基本功能,是通過ARM架構安全擴展引入的,而ARM也成為了TEE技術的主導者之一。

ARM后將其TrustZoneAPI提供給GlobalPlatform,該API已發展為TEE客戶端API。GlobalPlatform(全球最主要的智能卡多應用管理規范的組織,簡稱為GP)是Visa、MasterCard等國際銀行卡組織主導的國際標准化組織,從2011年起開始起草制定相關的TEE規范標准,並聯合一些公司(ARM等)共同開發基於GP TEE標准的可信操作系統。因此,如今大多數基於TEE技術的Trust OS都遵循了GP的標准規范。

移動設備使用TrustZone的最主要的原因之一是它可以提供”可信執行環境(TEE)”。2003年,ARM公司提出TrustZone。

ARM TrustZone技術:(1)、ARMv6版本開始的安全硬件特性,包括ARM11及Cortex A系列,目前大部分手機芯片均有該硬件特性。(2)、同時運行一個安全的OS和一個普通的OS:兩個系統之間互相隔離運行,安全的OS具有更多的權限。(3)、TrustZone是一個全系統級別的安全架構:處理器、內存和外設的安全隔離。

手機內部分為硬件、操作系統、應用軟件三層。安全技術和解決方案的演進順序依次為應用軟件層安全技術、操作系統層安全技術和硬件層安全技術。從抗攻擊的角度來講,越是基於底層的安全防護越是抗攻擊。目前很多手機廠商推出的指紋,都是基於硬件的安全方案來進行保護的,通過一個硬件隔離區來保護指紋數據和敏感操作,這種硬件隔離技術就是TEE技術。TEE是存在於智能手機(或任何移動設備)主處理器內的安全區,確保敏感數據在可信的環境里得到存儲、處理和保護。TEE有能力對經授權的安全軟件(所謂的”可信應用程序”)進行安全的執行,因此可通過實施保護、保密性、完整性和數據訪問權限,提供端到端的安全性。目前在國內市場蘋果、華為、三星等手機共同選擇了TEE技術。

目前,ARM在芯片IP設計中已全面支持了TEE,包括高通、聯發科、三星、海思、展訊等企業已采用,成為基於硬件安全的方案。

可信終端具有以下三個基本的安全功能:

(1)、基於硬件隔離的安全執行環境:TEE提供了基於硬件隔離的安全世界來保護敏感數據的安全和程序正確執行。實現TEE需要將設備的硬件和軟件資源全部划分成安全世界和非安全世界,兩個世界具有獨立的系統資源,包括寄存器、物理內存和外設,不能隨意進行數據交換。安全世界中的代碼和資源受到嚴格的訪問控制策略保護,非安全世界的進程禁止訪問安全世界,以保證存儲在安全世界的敏感資源不被非法訪問或竊取,能夠有效減少安全系統漏洞的披露、外界的攻擊和病毒的入侵。

(2)、基於信任鏈的平台完整性:為了保證整個系統的安全,TEE從系統引導啟動開始逐步驗證以保證TEE平台的完整性。設備加電后,加載ROM中的安全引導程序,並利用根密鑰驗證其完整性。然后,該引導程序進入TEE 初始化階段並啟動安全操作系統,逐級核查安全操作系統啟動過程中的各個階段的關鍵代碼以保證安全操作系統的完整性,同時防止未授權或經過惡意篡改軟件的運行;安全操作系統啟動后,運行非安全世界的引導程序並啟動普通操作系統。至此基於信任鏈,完成了移動終端整個系統的安全啟動,能夠有效抵御TEE啟動過程中的非法篡改、代碼執行等惡意行為。

(3)、基於安全存儲的數據機密性:用戶的身份、密鑰和證書等敏感信息需要高度保護,TEE依靠加密和完整性保護技術來保護數據和密鑰。TEE將用戶的身份、密鑰和證書等敏感信息存儲在安全區域中,這些敏感信息只能由TEE授權的可信應用訪問或修改,並且TEE為這些敏感信息的操作處理提供了加密和完整性保護機制。同時,可利用TEE中存儲的密鑰對普通執行環境下用戶的信息,如通訊錄、短信等敏感信息進行加密,保證存儲在普通執行環境下敏感信息的安全性。

注:以上內容均整理自網絡。
---------------------
作者:fengbingchun
來源:CSDN
原文:https://blog.csdn.net/fengbingchun/article/details/78657188
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM