리눅스데브코스 [7주차 - 5(4)]<가상화와 트러스트 존>

심우열·2023년 5월 22일
0

1. 트러스트 존

1. 트러스트 존이란?

  • ARM에서 제공하는 시큐리티 기능이자 소프트웨어 아키텍쳐
  • 대부분 ARM 프로세스에 적용되는 기술

CPU 내부에 보안 관점으로 소프트웨어 및 하드웨어적으로 신뢰할 수 있는 실행 영역을 제공하자!

2. 트러스트 존의 실행 흐름

3. 트러스트 존의 하드웨어 기능

1. Security Extension

  • ARM Core 내부의 Secure World를 분리

2. GIC(Generic Interrupt Controller)

  • 외부 페리퍼럴 인터럽트를 ARM 코어로 라우팅
  • 인터럽틀를 논 시큐어(인터럽트 그룹1)와 시큐어(인터럽트 그룹 0)로 구분해 라우팅

3. TZASC(Trust Zone Address Space Controller)

  • DRAM에 지정한 영역을 시큐어 영역으로 만들고 논 시큐어 접근을 필터링

4. TZPC(Trust Zone Program Controller)

  • cpu가 아닌 HW 마스터의 레지스터나 메모리에 접근할 때에 시큐어와 논 시큐어를 분리

5. TZMA(Trust Zone Memory Adaptor)

  • 칩셋 내부의 메모리 영역을 시큐어와 논시큐어로 구분

2. 하이퍼바이저

1. 하이퍼바이저란?

  • 2개 이상의 운영체제를 동시에 실행할 수 있는 아키텍쳐 혹은 플랫폼
  • 가상 컴퓨터 기법으로 X86 계통의 CPU에서 꾸준히 개발됨
  • 전기 자동차의 인포테인먼트 분야에서 ArmV8 기반의 하이퍼바이저가 많이 활용됨
  • 자동차 고객사는 자사의 운영체제와 더불어 하이퍼바이저를 개발

2. 하이퍼바이저의 구조

1. 가상화 대상

  • VCPU
  • VIRQ
  • Virtual MMU

2. 관련 레지스터

  • HCR_EL2
  • SCR_EL3
profile
Dev Ops, "Git, Linux, Docker, Kubernetes, ansible, " .

0개의 댓글