SGX/TEE 보안 기술
개요
Trusted Execution Environment(TEE)는 메인 프로세서 내에서 코드와 데이터를 격리하여 보호하는 하드웨어 기반 보안 기술이다. TEE는 외부 소프트웨어(운영체제, 하이퍼바이저, 악성 코드)로부터 격리된 보안 영역에서 신뢰할 수 있는 코드(TA: Trusted Application)가 안전하게 실행되도록 보장한다. Intel SGX(Software Guard Extensions), AMD SEV(Secure Encrypted Virtualization), ARM TrustZone 등이 대표적인 TEE 구현 기술이다.
현대 컴퓨팅 환경에서 클라우드, 모바일, 엣지 디바이스의 보안 요구가 급증하면서 TEE의 중요성이 강조되고 있다. 특히 클라우드 환경에서는 하이퍼바이저 수준의 보안 위협으로부터 VM 데이터를 보호하기 위해 SEV-SNP, Intel TDX 같은 VM 격리 기술이 필수적이며, 모바일에서는 생체 인증, DRM, 모바일 결제 등에 TrustZone이 광범위하게 사용된다. Intel SGX는 2015년 Skylake에서 처음 도입되었으며, 2021년 11세대/12세대 Core 프로세서에서 클라이언트 플랫폼 지원이 중단되었으나, Xeon 서버 플랫폼에서는 클라우드/엔터프라이즈용으로 지속 개발되고 있다.
핵심 개념
TEE의 기본 구조
TEE는 일반적으로 다음 세 가지 구성 요소로 동작한다:
- 하드웨어 격리 메커니즘: CPU의 특수 명령어와 메모리 보호 기능을 통해 일반 실행 환경(REE: Rich Execution Environment)과 격리된 보안 영역을 구성한다.
- 보안 OS/런타임: TEE 내부에서 동작하는 경량 운영체제 또는 런타임이 신뢰할 수 있는 애플리케이션의 로드, 실행, 메모리 관리를 담당한다.
- 보안 서비스: 원격 인증(remote attestation), 안전한 부팅(secure boot), 키 관리(key management) 등 보안 서비스를 제공한다.
하드웨어 루트 오브 트러스트
하드웨어 루트 오브 트러스트(Hardware Root of Trust)는 칩 제조 시 eFuse에 영구적으로 저장된 고유 키와 인증서를 기반으로 플랫폼의 신뢰성을 검증하는 메커니즘이다. 이 키는 하드웨어 리버스 엔지니어링으로도 추출이 거의 불가능하도록 설계되며, 원격 인증(remote attestation) 과정에서 사용된다. 원격 인증은 TEE가 실행 중인 플랫폼이 신뢰할 수 있는 하드웨어와 소프트웨어 구성인지 검증하는 프로토콜로, 검증 서버가 TEE의 하드웨어 루트 오브 트러스트 키를 통해 플랫폼 무결성을 확인한다.
주요 TEE 기술 분류
| 분류 기준 | 기술 | 제조사 | 주요 특징 |
|---|---|---|---|
| 프로세서 수준 격리 | Intel SGX | Intel | Enclave 기반 사용자 수준 격리 |
| Intel TDX | Intel | VM 수준 격리 (SEAM 모드) | |
| AMD SEV 계열 | AMD | VM별 메모리 암호화/격리 | |
| ARM TrustZone | ARM | Normal/Secure 월드 분리 | |
| Apple Secure Enclave | Apple | 별도 보안 프로세서 | |
| 오픈소스 TEE OS | OP-TEE | Linaro | TrustZone 기반 오픈소스 TEE |
| Trusty | Android용 TEE OS | ||
| Keystone | RISC-V | RISC-V 기반 커스터마이징 가능한 TEE |
비교/분석
주요 TEE 기술 비교
| 기술 | 격리 단위 | 메모리 보호 | 원격 인증 | 하드웨어 의존 | 지원 플랫폼 |
|---|---|---|---|---|---|
| Intel SGX | Enclave (프로세스 수준) | EPC 메모리 암호화 | Intel Attestation Service | Intel CPU (Skylake+) | Linux, Windows |
| Intel TDX | Trust Domain (VM 수준) | TD별 메모리 키 | Intel TDX attestation | Intel Xeon (Sapphire Rapids+) | Linux, VM |
| AMD SEV-SNP | VM | VM별 메모리 키 | AMD SEV-SNP attestation | AMD EPYC (Zen 3+) | Linux, VM |
| ARM TrustZone | Normal/Secure World | TrustZone 메모리 보호 | OEM 구현 | ARM Cortex-A | Android, Embedded |
| Apple Secure Enclave | 별도 프로세서 | 별도 메모리 보호 | Apple attestation | Apple A-series/M-series | iOS, macOS |
보호 수준 비교
| 보호 대상 | SGX | TDX | SEV-SNP | TrustZone |
|---|---|---|---|---|
| 코드 기밀성 | O | O | O | O |
| 데이터 기밀성 | O | O | O | O |
| 코드 무결성 | O | O | O | O |
| 메모리 무결성 | O (MAC) | O (MAC) | O (RMP) | X |
| CPU 레지스터 보호 | X | O (SEAM) | O (VE) | X |
| I/O 보호 | 제한적 | O (IOMMU) | O (IOMMU) | O (Secure I/O) |
| 리플레이 방지 | X | O | O | X |
| OS/Hypervisor 격리 | O | O | O | O |
공격 및 방어 비교
| 공격 유형 | SGX 취약점 | TDX/SEV-SNP 대응 | 방어 메커니즘 |
|---|---|---|---|
| 사이드 채널 | Prime+Probe, Spectre, Foreshadow | 캐시/분기 상태의 완전 은닉은 어려움 | secret-independent 코드, 캐시 파티셔닝, 최신 마이크로코드 |
| 전압/전력 변조 | Plundervolt | 서버 플랫폼에서 전압 인터페이스 제한 | 전압 조절 인터페이스 차단, 펌웨어 업데이트 |
| 로드 값 주입 | LVI | TDX/SEV-SNP는 VM 경계 기준으로 완화 | transient execution 차단, 직렬화, 마이크로코드 |
| 아키텍처 누설 | AEPIC Leak | APIC 접근 경로 격리 | 하드웨어 패치, 민감 버퍼 초기화 |
| 리플레이/리매핑 | EPCM 검증 범위 제한 | RMP 기반 페이지 소유권 검증 | 페이지 상태 검증, 무결성 메타데이터 확인 |
동작 원리
Intel SGX 동작 원리
Intel SGX는 사용자 수준 프로세스 내에 보호된 메모리 영역인 Enclave를 생성하여 OS와 하이퍼바이저로부터 격리한다.
- Enclave 생성: 애플리케이션이 ECREATE, EENTER 명령어를 사용하여 Enclave 메모리 영역(EPC: Enclave Page Cache)을 할당한다.
- 코드 로드: Enclave 내부에 신뢰할 수 있는 코드와 데이터를 로드한다. 이 과정에서 OS는 Enclave 내용에 접근할 수 없다.
- 메모리 보호: EPC의 모든 페이지는 Memory Encryption Engine을 통해 CPU 패키지 밖으로 나갈 때 암호화되며, 무결성 검증 메타데이터와 함께 관리된다.
- 원격 인증: Enclave가 실행 중인 플랫폼이 진짜 Intel SGX 하드웨어인지 검증하는 attestation 과정을 거친다.
- 시크릿 레지스터 보호: AEX(Asynchronous Enclave Exit) 시 시크릿 레지스터 값이 메모리에 안전하게 저장된다.
AMD SEV 동작 원리
AMD SEV는 가상화 환경에서 각 VM에 고유한 암호화 키를 할당하여 메모리를 보호한다.
- VM 생성 시 키 생성: 하이퍼바이저가 AMD 보안 프로세서(PSP)에 VM 생성을 요청하면 고유한 암호화 키가 생성된다.
- 페이지별 키 할당: 각 VM의 메모리 페이지에 VM별 고유 키 ID가 할당된다.
- 메모리 암호화: 메모리 컨트롤러가 VM별 키로 실시간 암호화/복호화를 수행한다.
- RMP 검증: SEV-SNP에서는 Reverse Map Table을 통해 페이지 소유권과 무결성을 검증한다.
- 원격 인증: 게스트 VM의 하드웨어/소프트웨어 구성과 보안 상태를 증명하는 attestation을 제공한다.
ARM TrustZone 동작 원리
ARM TrustZone은 프로세서를 Normal World와 Secure World로 분리하여 보안 서비스를 격리한다.
- 월드 분리: CPU가 Non-Secure(NS) 비트를 통해 현재 어떤 월드에서 실행 중인지 결정한다.
- 시큐어 모니터: Non-Secure와 Secure 간 전환을 관리하는 시큐어 모니터(Secure Monitor)가 동작한다.
- 시큐어 OS: Secure World 내에서 OP-TEE, Trusty 같은 시큐어 OS가 신뢰할 수 있는 앱(TA)을 관리한다.
- 보안 주변장치: TrustZone-protected 주변장치(PMU, TZASC, TZPC 등)가 물리적 접근으로부터 보호한다.
- 컨텍스트 스위칭: World Switch 시 레지스터 값이 시큐어 모니터에 안전하게 저장/복원된다.
TDX와 SEV-SNP의 기밀 컴퓨팅 관점
Intel TDX와 AMD SEV-SNP는 모두 클라우드의 기밀 컴퓨팅(confidential computing)을 위해 VM 단위 격리를 강화한 기술이지만, 신뢰 경계와 구현 방식은 다르다. TDX는 SEAM 모드와 TDX module을 통해 VMM이 TD 메모리 내용을 직접 읽지 못하게 막고, TD 측정값(measurement)을 기반으로 attestation을 수행한다. SEV-SNP는 PSP와 RMP를 이용해 페이지 소유권, 공유 여부, 하이퍼바이저 매핑 정합성을 검증한다.
실무에서는 애플리케이션 단위 최소 신뢰 영역이 필요하면 SGX류 enclave 모델이, 기존 VM 스택을 크게 바꾸지 않고 게스트 전체를 보호하려면 TDX/SEV-SNP 같은 VM 기반 TEE가 더 적합하다. 이 차이는 배포 모델, 디버깅 편의성, 메모리 오버헤드, I/O 경로 설계에 직접 영향을 준다.
원격 인증(Remote Attestation) 과정
- 챌린지 생성: 검증 클라이언트가 무작위 nonce를 생성하여 TEE에 전달한다.
- 증명서 생성: TEE가 하드웨어 루트 오브 트러스트 키로 현재 실행 중인 코드, 데이터, 플랫폼 상태를 서명한 증명서를 생성한다.
- 증명서 검증: 검증 서버가 TEE 제조사(Intel, AMD 등)의 공개 키로 증명서를 검증하고, 플랫폼 무결성을 확인한다.
- 신뢰 설정: 검증이 완료되면 클라이언트는 TEE와 안전한 통신 채널을 구축하고 신뢰할 수 있는 데이터를 전달한다.
장단점
Intel SGX
장점:
- 사용자 수준에서 동작하므로 OS/하이퍼바이저 변경 없이 적용 가능
- 코드와 데이터를 Enclave 내에서 완전히 격리하여 보호
- Intel Attestation Service를 통한 표준화된 원격 인증
- Gramine 같은 오픈소스 LibOS로 기존 Linux 애플리케이션 보호 가능
단점:
- EPC 메모리 크기 제한 (최대 512MB/코어)
- AEX로 인한 사이드 채널 공격 취약성 (Foreshadow, Plundervolt, LVI 등)
- 11세대/12세대 Core에서 클라이언트 지원 중단
- Enclave 내부에서 시스템 호출 불가능으로 인한 개발 복잡성
AMD SEV/SNP
장점:
- VM 수준 격리로 기존 VM 인프라와의 높은 호환성
- 하이퍼바이저로부터 VM 데이터 완전 격리
- SEV-SNP는 메모리 무결성과 원격 인증 지원
- AMD EPYC 서버에서 광범위한 클라우드 채택
단점:
- 하이퍼바이저 수준 공격에 대한 보호가 제한적 (SEV 기본 버전)
- 메모리 암호화 오버헤드 (3~5 cycle)
- PSP(Platform Security Processor)에 대한 공격 가능성
- 초기 버전(SEV, SEV-ES)은 무결성 보장 부족
ARM TrustZone
장점:
- 모바일/임베디드 환경에서 광범위한 채택
- 하드웨어 기반 월드 분리로 높은 보안성
- OP-TEE 등 오픈소스 TEE OS 생태계
- 낮은 전력 소비와 빠른 컨텍스트 스위칭
단점:
- Normal/Secure World 분리 구조로 인한 유연성 제한
- OEM별 구현 차이로 인한 호환성 문제
- TrustZone 기반 TEE는 제조사의 공급망 보안에 의존
- 최신 보안 요구에 대응하기 위한 지속적인 업데이트 필요
관련 기술
참고 문헌
- Intel Corporation. "Intel Software Guard Extensions (Intel SGX)." Intel Developer Documentation, 2015.
- McKeen, F. et al. "Innovative Instructions and Software Model for Isolated Execution." HASP 2013.
- Costan, V. & Devadas, S. "Intel SGX Explained." IACR ePrint, 2016.
- AMD. "AMD Secure Encrypted Virtualization (SEV)." AMD White Paper, 2017.
- AMD. "SEV-SNP: Strengthening VM Isolation with Integrity Protection." AMD White Paper, 2020.
- ARM Limited. "ARM TrustZone Technology." ARM Developer Documentation, 2021.
- Sabt, M. et al. "Trusted Execution Environment: What It Is, and What It Is Not." IEEE TrustCom, 2015.
- Arnautov, S. et al. "SCONE: Secure Linux Containers with Intel SGX." OSDI, 2016.
- Kim, J. et al. "SGX Keccak: Scalable SGX Support for Memory-Intensive Applications." USENIX ATC, 2020.
- Gruss, D. et al. "Software Guard Extensions: Intel's Foundation for Trustworthy Execution." IEEE Micro, 2017.
- Schwarz, M. et al. "Foreshadow: Extracting the Keys to the Intel SGX Kingdom." USENIX Security, 2018.
- Gu, Z. et al. "SGAxe: Breaking SGX via the Cache." USENIX Security, 2020.
- Moghimi, D. et al. "AEPIC Leak: Architecturally Leaking Uninitialized Data from the Microarchitecture." USENIX Security, 2022.
- OP-TEE Documentation. "OP-TEE: Open Portable Trusted Execution Environment." Linaro, 2023.
- Keystone Enclave. "Keystone: An Open Framework for Architecting Trusted Execution Environments." EuroSys, 2020.
관련 문서
핵심 정리
TEE는 현대 컴퓨팅에서 코드와 데이터를 물리적/논리적 위협으로부터 보호하는 핵심 하드웨어 보안 기술로, Intel SGX, AMD SEV/SNP, ARM TrustZone이 대표적인 구현이다. Intel SGX는 사용자 수준 Enclave 격리를 통해 OS/하이퍼바이저로부터 보호하지만, EPC 메모리 제한과 사이드 채널 공격 취약성이 존재하며 11세대 이후 클라이언트 지원이 중단되었다. AMD SEV-SNP는 VM 수준 격리와 메모리 무결성 보호를 제공하여 클라우드 환경에서 기밀 컴퓨팅을 실현하며, ARM TrustZone은 모바일/임베디드 환경에서 하드웨어 기반 월드 분리로 보안 서비스를 격리한다. 원격 인증은 TEE가 실행 중인 플랫폼의 무결성을 검증하는 핵심 메커니즘으로, 하드웨어 루트 오브 트러스트 키를 기반으로 동작한다. 사이드 채널 공격(Foreshadow, Plundervolt, LVI, ÆPIC Leak 등)은 SGX의 주요 취약점으로, 하드웨어 패치와 소프트웨어 완화 기법이 지속적으로 개발되고 있다. 클라우드 컴퓨팅과 모바일 보안의 중요성이 강조되면서 TEE 기술은 계속 발전하고 있으며, AMD SEV-SNP과 Intel TDX는 VM 격리 기술의 새로운 표준으로 자리잡고 있다.