contributed by < BreezeDa
, Reack
>
sysprog2017
Trusted Execution Environment (TEE)
依據 行動支付安全元件(Secure Element)之存取控制、Wekipedia,TEE 可保障在該環境裏頭的 code 及 data 的機密性及完整性,可提供程式安全執行的隔離環境,TEE 需要有獨立的硬體以提供安全的作業系統、程式、使用介面、資料儲存空間等,而且經過授權的 tursted application (TA) 才可以在其間執行,另外 trusted application 擁有裝置處理器及記憶體完整的存取權。
Rich Execution Environment (REE)
另一方面,作業系統上的開放執行環境稱為 REE,建構在一般作業系統開放環境中,基本上無法確保應用程式執行的安全性
一般作業系統(REE) | 可信賴執行環境(TEE) | |
---|---|---|
程式下載之控制權 | 使用者可自行下載 | 須經授權程序 |
獨立性 | 視作業系統而定,部分作業系統會提供虛擬化或類似沙盒(sandbox)的架構。 | 與一般作業系統分離,其獨立性依各廠商之實作方式而有差異。 |
認 證 | 不須認證 | 須認證 |
作業系統核心與驅動程式等 | 偏重彈性與執行速度考量提供較豐富的 API | 偏重安全與執行速度考量提供較少 API |
安全防護性(軟體非法攻擊) | 未經認證的作業系統保護機密性,完整性有限制 | GlobalPlatform 認證過的作業系統保護機密性與完整性 |
安全防護性(外部硬體攻擊) | 無法防護 | 具防護性,但強度依各廠商實作之硬體架構而有差異。 |
1. Trusted Execution Environment (TEE) 的應用為何?(舉出共筆以外的真實世界案例)
Premium Content Protection: 利用 TEE 保護付費的內容。在手機、平板或者智慧型電視中可透過市集選購影集、音樂來播放,廠商為了防止這些內容遭非法利用( e.g. 拷貝),便可透過 TEE 對其進行保護。數位內容在傳輸或串流時,通常會進行加密,這樣即使中途被攔截也沒什麼大礙。但在使用者端為了能夠看撥放數位內容,勢必得解密,這樣就有被非法利用的可能。這時我們可以讓數位內容只在 TEE 中播放,讓他不暴露在 REE( rich execution environment,一般作業系統的開放環境 ) 中,當然解密的 key 也存放於 TEE 中。