Virtualization & Trustzone

EEEFFEE·2023년 11월 22일
0

Armv8 Architecture

목록 보기
3/15

23.11.22 최초 작성

1. Trustzone

  • Arm에서 제공하는 시큐리티 기능으로
    CPU 내부에 보안 관점으로 소프트웨어/하드웨어 적으로 신뢰할 수 있는 실행영역

1.1 실행 과정

  1. 일반 애플리케이션 (Non-Secure Mode)에서 kernel 호출(SVC)

  2. kernel에서 SMC 호출

  3. EL3로 변경되며 Secure Monitor 진입 후 Trusted OS로 진입

  4. Secure Mode에서 애플리케이션을 실행하며 작업 수행

  5. 작업 종료 후 보안 애플리케이션에서 Trusted kernel 호출

  6. 커널에서 SMC 호출(Secure Monitor 진입) 후 Non-Secure Mode로 복귀

1.2 하드웨어 기능

  1. Security Extension
    • Arm Core 내부의 시큐어 월드를 분리
  2. GIC (GENERIC INTERRUPT CONTROLLER)
    • 외부 페리페럴 인터럽트를 Arm 코어로 라우팅
    • 인터럽트를 논 시큐어와 시큐어로 구분해 라우팅
  3. TZASC (Trust Zone Address Space Controller)
    • DRAM에 지정한 영역을 시큐어 영역으로 만들고 논 시큐어 접근을 필터링
  4. TZPC (TrustZone Program Controller)
    • CPU가 아닌 HW 마스터의 레지스터나 메모리에 접근할 때에 시큐어와 논 시큐어를 분리
  5. TZMA (TrustZone Memory Adapter)
    • 칩셋 내부의 메모리 영역을 시큐어와 논 시큐어로 구분

2. Hypervisor

  • VM간의 격리와 리소스 할당하는 아키텍처/플랫폼

0개의 댓글