TrustZone·SGX·SEV/TDX의 차이: 격리 단위·신뢰 범위·메모리 암호화 비교
세 가지 모두 일반 OS나 하이퍼바이저가 장악되더라도 민감한 처리를 지키기 위한 CPU의 하드웨어 기능, 즉 TEE(신뢰 실행 환경)입니다. 차이는 잘라 내는 단위입니다. TrustZone은 프로세서를 시큐어 월드와 노멀 월드로 나누며 주로 스마트폰과 임베디드 기기에서 쓰입니다. SGX는 애플리케이션의 일부만 엔클레이브로 잘라 내어 신뢰해야 하는 범위를 최대한 작게 만듭니다. SEV와 TDX는 가상 머신(VM) 전체의 메모리를 암호화해 클라우드 사업자조차 읽을 수 없게 하며, 이런 방식을 기밀 컴퓨팅이라고 부릅니다.
| 비교 항목 | TrustZone | SGX(엔클레이브) | SEV/TDX(VM형 기밀 컴퓨팅) |
|---|---|---|---|
| 격리 단위 | 프로세서 전체를 시큐어 월드와 노멀 월드로 나눕니다. 시큐어 월드에서는 작은 신뢰 OS와 신뢰 애플리케이션이 동작합니다 | 애플리케이션 중 비밀을 다루는 일부(엔클레이브) | 가상 머신 전체 |
| 무엇으로부터 지키는가 | 노멀 월드의 OS와 애플리케이션. 그 커널이 장악되어도 시큐어 월드의 메모리는 읽을 수 없습니다 | OS, 하이퍼바이저, 다른 애플리케이션, 메인 메모리를 물리적으로 읽는 공격자 | 하이퍼바이저, 클라우드 사업자의 관리자, 다른 VM, 메인 메모리를 물리적으로 읽는 공격자 |
| 신뢰해야 하는 범위(TCB) | CPU 하드웨어, 월드를 전환하는 시큐어 모니터, 시큐어 월드의 신뢰 OS와 애플리케이션 | CPU 하드웨어와 펌웨어, 엔클레이브 자신의 코드. OS는 포함되지 않습니다 | CPU 하드웨어와 펌웨어(AMD의 보안 프로세서나 Intel의 TDX 모듈 등), 게스트 OS를 포함한 VM 안의 모든 것. 하이퍼바이저는 포함되지 않습니다 |
| 메모리 암호화 | 기본 구조에는 포함되지 않습니다. 버스 신호로 접근이 시큐어인지 아닌지 표시하고, 접근 자체를 차단합니다 | 엔클레이브의 페이지는 CPU 밖의 메인 메모리에서 암호화된 채로 유지됩니다. 변조를 감지하는 구현도 있습니다 | VM 메모리 전체를 CPU 안에서만 관리하는 VM별 키로 암호화합니다. SEV-SNP와 TDX는 하이퍼바이저가 메모리를 고쳐 쓰거나 재매핑하지 못하게 하는 무결성 보호를 더합니다 |
| 증명 | 아키텍처 공통 방식은 없습니다. SoC의 보안 부팅과 키 기능을 조합해 구성합니다 | 엔클레이브의 시작 시 측정값을 CPU 안의 키로 서명합니다. 이용자는 비밀 데이터를 넘기기 전에 보고서를 확인합니다 | CPU가 VM의 초기 상태를 측정하고 CPU 안의 키로 서명한 보고서를 발행합니다. 이용자는 데이터 복호 키를 넘기기 전에 이를 확인합니다 |
| 대표 용도 | 스마트폰과 임베디드 기기에서 생체 인증 대조, 결제 자격 증명, DRM 키 보관, 보안 부팅 중의 검증 | 키 관리나 민감한 데이터 처리처럼 서버 작업의 일부만 보호 | 클라우드의 기밀 VM. 기존 애플리케이션을 사업자로부터도 보호하면서 실행 |
| 이식 작업량 | 노멀 월드와의 좁은 인터페이스를 가진 시큐어 월드용 애플리케이션으로 작성해야 합니다 | 큼. 애플리케이션을 엔클레이브 안과 밖으로 나누고, 시스템 콜이나 파일·네트워크 입출력은 밖의 코드에 맡깁니다 | 작음. 지원되는 게스트 OS라면 기존 OS와 애플리케이션이 거의 그대로 동작합니다 |
| 알려진 공격 유형 | 코어, 캐시, 전원을 공유하므로 캐시 사이드 채널 공격과 전압·클록 글리치를 이용한 오류 주입이 연구에서 실증되었습니다. 신뢰 OS와 애플리케이션의 결함도 표적이 됩니다 | 캐시 타이밍, 페이지 폴트 패턴, 투기적 실행을 이용한 사이드 채널 공격으로 비밀이 새는 사례가 연구에서 보고되었습니다 | 악의적인 하이퍼바이저가 메모리 매핑이나 인터럽트 같은 VM 인터페이스를 조작하는 공격과 사이드 채널 공격이 연구에서 보고되었습니다. 이런 공격에 대응해 무결성 보호가 추가되었습니다 |
| 제공 현황 | Arm 애플리케이션 프로세서에서 널리 쓰이며, Armv8-M 마이크로컨트롤러에는 경량판이 있습니다. Armv9-A는 VM 단위 격리를 위한 Arm CCA(Realm)도 정의합니다 | 2020년대 초 기준으로 Intel은 클라이언트 CPU에서 SGX 제공을 중단했고, 주로 서버 CPU에서 제공합니다 | SEV는 AMD 서버 CPU, TDX는 Intel 서버 CPU의 기능입니다. 2020년대 중반 기준으로 주요 클라우드가 기밀 VM으로 제공합니다 |
수치는 대략적인 자릿수 기준이며, 공정 세대와 제품에 따라 달라져요.