Term:
- ARM TrustZone: 一種實現 TEE 的硬件技術。
- OP-TEE (Optimized Trusted Execution Environment) : 一種基於 ARM TrustZone 的 TEE 開源實現。
- REE (Rich Execution Environment) 是我們日常使用的系統環境,負責運行一般的應用程序。
- TEE (Trusted Execution Environment) 是一個安全隔離的環境,用於保護敏感數據和關鍵應用。
- CA (Client Application)是運行在 REE 中的應用程序,需要調用 TEE 中的 TA 的服務。
- TA (Trusted Application) 是運行在 TEE 中的應用程序,提供具體的安全功能。
- privilege mode:
- SVC(Supervisor Call): 当用户空间通过系统调用陷入到内核空间的时候,则最终会通过SVC指令进入到内核空间
- HVC(Hypervisor Call): 当在ARMv8-A架构下,normal world, EL1尝试去访问 EL2的时候,则会陷入到虚拟化层的,其中是通过HVC指令
- SMC(Secure Moniter Call): 用于切换noramal world 和 secure world使用。
- ARMv8-A_Architecture_Reference_Manual P.1408
- ARMv8-A架構定義了四個例外層級,分別為EL0到EL3,其中數字越大代表特權(privilege)越大。 (Exception Level)
- EL0: 無特權模式(unprivileged)
- EL1: 作業系統核心模式(OS kernel mode)
- EL2: 虛擬機器監視器模式(Hypervisor mode)
- EL3: TrustZone® monitor mode
- 要提升到較高層級需要透過exceptions(如: 中斷、page faults等)。
- EL0 => EL1: SVC (system call)
- EL1 => EL2: HVC (hypervisor call)
- EL2 => EL3: SMC (secure monitor call)
Boot Flow
bl1: MASKROM
bl2: Loader
bl31: ARM TRUST Firmware
bl32: OP-TEE OS
bl33: U-boot
Reference:
- TrustZone-OPTEE 编译调试笔记
- 什麼是OPTEE-OS
- TrustZone-OPTEE 编译调试笔记
- 代码导读1: REE->TEE 调用, RA->TA 调用
- ARM Trusted Firmware分析——启动、PSCI、OP-TEE接口
- ARMv8架構介紹
沒有留言:
張貼留言