星期五, 8月 09, 2024

Secure Boot





Term:

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

----------------------------------------

Boot Flow
bl1: MASKROM 
bl2: Loader
bl31: ARM TRUST Firmware 
bl32: OP-TEE OS
bl33: U-boot




Reference:

  1. TrustZone-OPTEE 编译调试笔记
  2. 什麼是OPTEE-OS
  3. TrustZone-OPTEE 编译调试笔记
    1. 代码导读1: REE->TEE 调用, RA->TA 调用
  4. ARM Trusted Firmware分析——启动、PSCI、OP-TEE接口
  5. ARMv8架構介紹




沒有留言: