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架構介紹
 
沒有留言:
張貼留言