title: Web3 생태계의 신뢰 실행 환경 (TEE): 심층 분석
description: Web3 생태계에서 신뢰 실행 환경 (TEE)의 정의, 아키텍처 및 Intel SGX, ARM TrustZone, AMD SEV와 같은 주요 하드웨어 구현 기술에 대해 심층적으로 살펴봅니다.
keywords:
%3A%20%EC%8B%AC%EC%B8%B5%20%EB%B6%84%EC%84%9D)
1. TEE 기술 개요
정의 및 아키텍처: 신뢰 실행 환경 (Trusted Execution Environment, TEE) 은 프로세서 내의 보안 영역으로, 그 안에 로드된 코드와 데이터를 기밀성 및 무결성 측면에서 보호합니다. 실질적인 측면에서 TEE는 CPU 내의 격리된 "엔클레이브 (enclave)" 역할을 합니다. 이는 시스템의 나머지 부분으로부터 보호된 상태로 민감한 연산을 실행할 수 있는 일종의 블랙박스 (black box) 와 같습니다. TEE 엔클레이브 내부에서 실행되는 코드는 보호되므로, 운영 체제나 하이퍼바이저가 손상되더라도 엔클레이브의 데이터나 코드를 읽거나 조작할 수 없습니다. TEE가 제공하는 주요 보안 속성은 다음과 같습니다:
- 격리성 (Isolation): 엔클레이브의 메모리는 다른 프로세스 및 OS 커널로부터 격리됩니다. 공격자가 해당 머신에 대해 완전한 관리자 권한을 획득하더라도 엔클레이브 메모리를 직접 검사하거나 수정할 수 없습니다.
- 무결성 (Integrity): 하드웨어는 TEE에서 실행되는 코드가 외부 공격에 의해 변경되지 않음을 보장합니다. 엔클레이브 코드 나 런타임 상태에 대한 모든 조작은 감지되어, 손상된 결과가 발생하는 것을 방지합니다.
- 기밀성 (Confidentiality): 엔클레이브 내부의 데이터는 메모리에서 암호화된 상태로 유지되며 CPU 내부에서 사용될 때만 복호화되므로, 비밀 데이터가 외부 세계에 평문으로 노출되지 않습니다.
- 원격 증명 (Remote Attestation): TEE는 원격 당사자에게 자신이 진짜이며 특정 신뢰할 수 있는 코드가 내부에서 실행되고 있음을 확신시키기 위해 암호화된 증명 (attestation)을 생성할 수 있습니다. 즉, 사용자는 비밀 데이터를 제공하기 전에 엔클레이브가 신뢰할 수 있는 상태 (예: 순정 하드웨어에서 예상된 코드가 실행 중임)인지 확인할 수 있습니다.
스마트 계약 실행을 위한 보안 엔클레이브 "블랙박스"로서의 신뢰 실행 환경 개념도. 암호화된 입력값 (데이터 및 계약 코드)은 보안 엔클레이브 내부에서 복호화 및 처리되며, 암호화된 결과값만 엔클레이브를 빠져나갑니다. 이는 민감한 계약 데이터가 TEE 외부의 누구에게도 노출되지 않도록 보장합니다.
내부적으로 TEE는 CPU의 하드웨어 기반 메모리 암호화 및 액세스 제어를 통해 활성화됩니다. 예를 들어, TEE 엔클레이브가 생성될 때 CPU는 이를 위해 보호된 메모리 영역을 할당하고 전용 키 (하드웨어에 내장되거나 보안 보조 프로세서에 의해 관리됨)를 사용하여 실시간으로 데이터를 암호화/복호화합니다. 외부 소프트웨어가 엔클레이브 메모리를 읽으려는 모든 시도는 암호화된 바이트만을 얻게 됩니다. 이러한 독특한 CPU 수준의 보호 기능을 통해 사용자 수준의 코드에서도 권한이 있는 멀웨어나 악의적인 시스템 관리자가 훔쳐보거나 수정할 수 없는 비공개 메모리 영역 (엔클레이브)을 정의할 수 있습니다. 본질적으로 TEE는 전용 보안 요소 (secure elements)나 하드웨어 보안 모듈 (HSM)보다 유연하면서도 일반적인 운영 환경보다 높은 수준의 애플리케이션 보안을 제공합니다.
주요 하드웨어 구현체: 시스템 내에 보안 엔클레이브를 구축한다는 유사한 목표를 가지고 있지만 아키텍처가 서로 다른 여러 하드웨어 TEE 기술이 존재합니다:
-
Intel SGX (Software Guard Extensions): Intel SGX는 가장 널리 사용되는 TEE 구현 중 하나입니다. 이는 애플리케이션이 프로세스 수준에서 엔클레이브를 생성할 수 있도록 하며, CPU에 의해 메모리 암호화 및 액세스 제어가 강제됩니다. 개발자는 특수 명령 (ECALL/OCALL)을 사용하여 데이터를 엔클레이브 내부로 전달하거나 외부로 내보내기 위해 코드를 "신뢰할 수 있는" 코드 (엔클레이브 내부)와 "신뢰할 수 없는" 코드 (일반 환경)로 분할해야 합니다. SGX는 엔클레이브에 대해 강력한 격리성을 제공하며 Intel의 증명 서비스 (IAS)를 통한 원격 증명을 지원합니다. Secret Network 및 Oasis Network와 같은 많은 블록체인 프로젝트가 SGX 엔클레이브를 기반으로 프라이버시 보존 스마트 계약 기능을 구축했습니다. 그러나 복잡한 x86 아키텍처 기반의 SGX 설계는 일부 취약점을 야기했으며 (4절 참조), Intel의 증명 방식은 중앙 집중식 신뢰 종속성을 도입합니다.
-
ARM TrustZone: TrustZone은 프로세서의 전체 실행 환경을 보안 세계 (Secure World) 와 일반 세계 (Normal World) 라는 두 세계로 나누어 다른 방식으로 접근합니다. 민감한 코드는 특정 보호된 메모리 및 주변 기기에 액세스할 수 있 는 보안 세계에서 실행되고, 일반 세계에서는 일반 OS와 애플리케이션이 실행됩니다. 두 세계 사이의 전환은 CPU에 의해 제어됩니다. TrustZone은 보안 UI, 결제 처리 또는 디지털 저작권 관리 등을 위해 모바일 및 IoT 장치에서 흔히 사용됩니다. 블록체인 맥락에서 TrustZone은 개인 키나 민감한 로직이 휴대폰의 보안 엔클레이브에서 실행될 수 있도록 함으로써 모바일 중심의 Web3 애플리케이션을 가능하게 할 수 있습니다. 하지만 TrustZone 엔클레이브는 일반적으로 더 큰 단위 (OS 또는 VM 수준)이며 현재 Web3 프로젝트에서는 SGX만큼 흔히 채택되지는 않습니다.
-
AMD SEV (Secure Encrypted Virtualization): AMD의 SEV 기술은 가상화된 환경을 대상으로 합니다. SEV는 애플리케이션 수준의 엔클레이브를 요구하는 대신 전체 가상 머신 (VM)의 메모리를 암호화할 수 있습니다. 임베디드 보안 프로세서를 사용하여 암호화 키를 관리하고 메모리 암호화를 수행하므로, VM의 메모리는 호스팅 하이퍼바이저에게도 기밀로 유지됩니다. 따라서 SEV는 클라우드 또는 서버 유스케이스에 적합합니다. 예를 들어, 블록체인 노드나 오프체인 워커가 완전히 암호화된 VM 내부에서 실행되어 악의적인 클라우드 제공업체로부터 데이터를 보호할 수 있습니다. SEV의 설계는 개발자가 코드를 분할하는 노력을 덜어줍니다 (기존 애플리케이션이나 전체 OS를 보호된 VM에서 실행할 수 있음). SEV-SNP와 같은 최신 버전은 변조 감지와 같은 기능을 추가하고 VM 소유자가 중앙 집중식 서비스에 의존하지 않고 VM을 증명할 수 있도록 합니다. SEV는 클라우드 기반 블록체인 인프라에서 TEE를 사용하는 데 매우 관련이 깊습니다.
기타 신흥 또는 틈새 TEE 구현체로는 Intel TDX (Trust Domain Extensions, 최신 Intel 칩의 VM에서 엔클레이브와 유사한 보호 제공), Keystone (RISC-V) 과 같은 오픈 소스 TEE, 그리고 모바일의 보안 엔클레이브 칩 (Apple의 Secure Enclave 등, 다만 일반적으로 임의의 코드를 위해 개방되지는 않음)이 있습니다. 각 TEE는 고유한 개발 모델과 신뢰 가정을 가지고 있지만, 모두 하드웨어 격리 보안 실행이라는 핵심 개념을 공유합니다.
2. Web3에서의 TEE 활용
신뢰 실행 환경(TEE)은 Web3의 가장 어려운 과제 중 일부를 해결하는 강력한 도구가 되었습니다. 보안 및 프라이빗 컴퓨팅 레이어를 제공함으로써, TEE는 개인정보 보호, 확장성, 오라클 보안 및 무결성 분야에서 블록체인 애플리케이션의 새로운 가능성을 열어줍니다. 주요 활용 영역은 다음과 같습니다.
개인정보 보호 스마트 컨트랙트
Web3에서 TEE의 가장 두드러진 용도 중 하나는 **기밀 스마트 컨트랙트(confidential smart contracts)**를 가능하게 하는 것입니다. 이는 블록체인에서 실행되면서도 개인 데이터를 안전하게 처리할 수 있는 프로그램입니다. 이더리움과 같은 블록체인은 기본적으로 투명하여 모든 트랜잭션 데이터와 컨트랙트 상태가 공개됩니다. 이러한 투명성은 기밀성이 필요한 사용 사례(예: 개인 금융 거래, 비밀 투표, 개인 데이터 처리)에는 문제가 됩니다. TEE는 블록체인에 연결된 개인정보 보호 컴퓨팅 엔클레이브(enclave) 역할을 하여 이 문제에 대한 해결책을 제공합니다.
TEE 기반 스마트 컨트랙트 시스템에서 트랜잭션 입력값은 검증인 또는 워커 노드의 보안 엔클레이브로 전송될 수 있습니다. 엔클레이브 내부에서 처리되는 동안 데이터는 외부 세계에 암호화된 상태로 유지되며, 이후 엔클레이브는 암호화되거나 해싱된 결과를 체인으로 다시 출력할 수 있습니다. 복호화 키를 가진 권한 있는 당사자(또는 컨트랙트 로직 자체)만 평문 결과에 접근할 수 있습니다. 예를 들어, Secret Network는 합의 노드에서 Intel SGX를 사용하여 암호화된 입력값에 대해 CosmWasm 스마트 컨트랙트를 실행합니다. 이를 통해 계정 잔액, 트랜잭션 금액 또는 컨트랙트 상태를 공개적으로 숨기면서도 컴퓨팅에 활용할 수 있습니다. 이는 금액이 기밀로 유지되는 프라이빗 토큰 스왑이나, 입찰가가 암호화되어 경매 종료 후에만 공개되는 비밀 경매와 같은 비밀 DeFi(secret DeFi) 애플리케이션을 가능하게 했습니다. 또 다른 사례는 Oasis Network의 Parcel 및 기밀 ParaTime입니다. 이를 통해 데이터를 토큰화하고 기밀 유지 조건 하에 스마트 컨트랙트에서 사용할 수 있어, 개인정보 보호 규정을 준수하면서 신용 점수 산출이나 의료 데이터의 블록체인 활용과 같은 사용 사례를 가능하게 합니다.
TEE를 통한 개인정보 보호 스마트 컨트랙트는 기업 및 기관의 블록체인 도입에 매력적입니다. 조직은 민감한 비즈니스 로직과 데이터를 기밀로 유지하면서 스마트 컨트랙트를 활용할 수 있습니다. 예를 들어, 은행은 고객 데이터를 온체인에 노출하지 않고도 대출 신청이나 거래 결제를 처리하기 위해 TEE 지원 컨트랙트를 사용할 수 있으며, 여전히 블록체인 검증의 투명성과 무결성이라는 이점을 누릴 수 있습니다. 이러한 기능은 규제상의 개인정보 보호 요구 사항(GDPR 또는 HIPAA 등)을 직접적으로 해결하여 의료, 금융 및 기타 민감한 산업에서 블록체인을 규제 준수 방식으로 사용할 수 있게 합니다. 실제로 TEE는 규제 준수를 용이하게 합니다. 개인 데이터가 엔클레이브 내부에서 처리되고 암호화된 결과만 외부로 나가도록 보장함으로써, 데이터가 안전하게 보호되고 있다는 점을 규제 기관에 만족시킬 수 있기 때문입니다.
기밀성 외에도 TEE는 스마트 컨트랙트의 _공정성_을 강제하는 데 도움이 됩니다. 예를 들어, 탈중앙화 거래소(DEX)는 매칭 엔진을 TEE 내부에서 실행하여 채굴자나 검증인이 대기 중인 주문을 보고 부당하게 선행 매매(front-running)하는 것을 방지할 수 있습니다. 요약하자면, TEE는 Web3에 꼭 필요한 개인정보 보호 레이어를 제공하여 기밀 DeFi, 프라이빗 투표/거버넌스, 기업용 컨트랙트 등 이전에는 퍼블릭 원장에서 불가능했던 애플리케이션을 구현할 수 있게 합니다.
확장성 및 오프체인 컴퓨팅
TEE의 또 다른 중요한 역할은 무거운 연산을 보안 환경의 오프체인으로 옮겨 블록체인의 확장성을 개선하는 것입니 다. 블록체인은 성능 제한과 온체인 실행 비용으로 인해 복잡하거나 연산 집약적인 작업을 처리하는 데 어려움이 있습니다. TEE 기반 오프체인 컴퓨팅은 이러한 작업을 메인 체인 밖에서 수행하게 함으로써(따라서 블록 가스를 소비하지 않고 온체인 처리 속도를 늦추지 않음), 결과의 정확성에 대한 신뢰 보장은 그대로 유지할 수 있게 합니다. 결과적으로 TEE는 Web3를 위한 검증 가능한 오프체인 컴퓨팅 가속기 역할을 할 수 있습니다.
예를 들어, iExec 플랫폼은 TEE를 사용하여 개발자가 오프체인에서 연산을 실행하고 블록체인이 신뢰할 수 있는 결과를 얻을 수 있는 탈중앙화 클라우드 컴퓨팅 마켓플레이스를 만듭니다. dApp은 iExec 워커 노드에 연산(예: 복잡한 AI 모델 추론 또는 빅데이터 분석)을 요청할 수 있습니다. 이러한 워커 노드는 SGX 엔클레이브 내에서 작업을 실행하며, 정품 엔클레이브에서 올바른 코드가 실행되었다는 증명(attestation)과 함께 결과를 생성합니다. 결과는 온체인으로 반환되며, 스마트 컨트랙트는 출력을 수락하기 전에 엔클레이브의 증명을 확인합니다. 이 아키텍처는 신뢰를 저해하지 않으면서도 무거운 워크로드를 오프체인에서 처리할 수 있게 하여 처리량을 효과적으로 높입니다. Chainlink와 iExec Orchestrator의 통합이 이를 잘 보여줍니다. Chainlink 오라클이 외부 데이터를 가져오면, iExec의 TEE 워커에게 복잡한 연산(예: 데이터 집계 또는 점수 산출)을 맡기고, 최종적으로 보안이 확보된 결과가 온체인에 전달됩니다. 사용 사례로는 iExec이 시연한 탈중앙화 보험 계산 등이 있으며, 여기서는 많은 데이터 처리가 오프체인에서 저렴하게 수행되고 최종 결과만 블록체인에 기록됩니다.
TEE 기반 오프체인 컴퓨팅은 일부 레이어 2(Layer-2) 확장 솔루션의 기반이 되기도 합니다. Oasis Labs의 초기 프로토타입인 Ekiden(Oasis Network의 전신)은 SGX 엔클레이브를 사용하여 트랜잭션 실행을 오프체인에서 병렬로 수행한 다음 상태 루트(state roots)만 메인 체인에 기록했습니다. 이는 하드웨어 신뢰를 사용한다는 점을 제외하면 롤업(rollup) 개념과 유사합니다. TEE에서 컨트랙트를 실행함으로써 보안을 엔클레이브에 의존하면서도 높은 처리량을 달성했습니다. 또 다른 사례는 TEE와 zkSNARK를 결합한 Sanders Network의 차기 Op-Succinct L2입니다. TEE가 트랜잭션을 비공개로 빠르게 실행하고, 영지식 증명(zk-proofs)을 생성하여 해당 실행의 정확성을 이더리움에 증명합니다. 이 하이브리드 접근 방식은 TEE의 속도와 ZK의 검증 가능성을 활용하여 확장 가능하고 프라이빗한 L2 솔루션을 제공합니다.
일반적으로 TEE는 실제 CPU 명령어를 사용하되 격리만 할 뿐이므로 네이티브에 가까운 성능으로 연산을 실행할 수 있습니다. 따라서 복잡한 로직의 경우 동형 암호(homomorphic encryption)나 영지식 증명(zero-knowledge proofs)과 같은 순수 암호학적 대안보다 수십 배 더 빠릅니다. 작업을 엔클레이브로 오프로딩함으로써 블록체인은 온체인에서 비실용적이었던 복잡한 애플리케이션(기계 학습, 이미지/오디오 처리, 대규모 분석 등)을 처리할 수 있습니다. 결과는 증명과 함께 반환되며, 온체인 컨트랙트나 사용자는 이를 신뢰할 수 있는 엔클레이브에서 생성된 것으로 검증하여 데이터 무결성과 정확성을 유지할 수 있습니다. 이 모델은 종종 **“검증 가능한 오프체인 컴퓨팅(verifiable off-chain computation)”**이라 불리며, TEE는 이러한 많은 설계의 핵심입니다(예: Intel, iExec 등이 개발한 Hyperledger Avalon의 Trusted Compute Framework는 TEE를 사용하여 EVM 바이트코드를 오프체인에서 실행하고 정확성 증명을 온체인에 게시합니다).
보안 오라클 및 데이터 무결성
오라클은 블록체인을 현실 세계의 데이터와 연결하지만 신뢰 문제를 야기합니다. 스마트 컨트랙트는 오프체인 데이터 피드가 정확하고 조작되지 않았음을 어떻게 믿을 수 있을까요? TEE는 오라클 노드를 위한 보안 샌드박스 역할을 하여 해결책을 제공합니다. TEE 기반 오라클 노드는 외부 소스(API, 웹 서비스)에서 데이터를 가져와 엔클레이브 내부에서 처리하며, 이 과정에서 노드 운영자나 노드의 악성 코드에 의해 데이터가 조작되지 않았음을 보장합니다. 그런 다음 엔클레이브는 제공하는 데이터의 진실성을 서명하거나 증명할 수 있습니다. 이는 오라클의 데이터 무결성과 신뢰성을 크게 향상시킵니다. 오라클 운영자가 악의적이더라도 엔클레이브의 증명을 깨지 않고는 데이터를 변경할 수 없으며, 조작 시 블록체인이 이를 감지하게 됩니다.
주목할 만한 사례는 코넬 대학교에서 개발한 오라클 시스템인 Town Crier입니다. 이는 Intel SGX 엔클레이브를 사용하여 이더리움 컨트랙트에 인증된 데이터를 제공한 최초의 시스템 중 하나였습니다. Town Crier는 SGX 엔클레이브 내부에서 데이터(예: HTTPS 웹 사이트)를 검색하고, 데이터가 소스에서 직접 왔으며 위조되지 않았다는 증거(엔클레이브 서명)와 함께 컨트랙트에 전달합니다. Chainlink는 이 가치를 인정하여 2018년에 Town Crier를 인수하고 TEE 기반 오라클을 탈중앙화 네트워크에 통합했습니다. 오늘날 Chainlink와 다른 오라클 제공업체들은 TEE 이니셔티브를 진행하고 있습니다. 예를 들어, Chainlink의 DECO 및 _Fair Sequencing Services_는 데이터 기밀성과 공정한 순서 보장을 위해 TEE를 활용합니다. 한 분석에서 언급되었듯이, “TEE는 데이터 처리를 위한 변조 방지 환경을 제공함으로써 오라클 보안을 혁신했습니다... 노드 운영자 자신도 데이터가 처리되는 동안 이를 조작할 수 없습니다.” 이는 DeFi용 가격 오라클과 같은 고가치 금융 데이터 피드에 특히 중요합니다. TEE는 대규모 익스플로잇으로 이어질 수 있는 미세한 조작까지 방지할 수 있습니다.
또한 TEE는 블록체인에 평문으로 게시할 수 없는 민감한 정보나 독점 데이터를 오라클이 처리할 수 있게 합니다. 예를 들어, 오라클 네트워크는 엔클레이브를 사용하여 비공개 데이터(예: 기밀 주식 주문서 또는 개인 건강 데이터)를 집계하고, 원시 민감 입력값을 노출하지 않고 유도된 결과나 검증된 증명만 블록체인에 공급할 수 있습니다. 이런 방식으로 TEE는 스마트 컨트랙트에 안전하게 통합될 수 있는 데이터의 범위를 넓히며, 이는 _실물 자산(RWA) 토큰화, 신용 점수 산출, 보험 및 기타 데이터 집약적인 온체인 서비스_에 매우 중요합니다.
크로스체인 브리지 주제에서도 TEE는 마찬가지로 무결성을 향상시킵니다. 브리지는 종종 자산을 수탁하고 체인 간 전송을 검증하기 위해 검증인 세트나 멀티시그(multi-sig)에 의존하므로 공격의 주요 목표가 됩니다. 브리지 검증인 로직을 TEE 내부에서 실행하면 브리지의 개인 키와 검증 프로세스를 변조로부터 보호할 수 있습니다. 검증인의 OS가 침해되더라도 공격자는 엔클레이브 내부에서 개인 키를 추출하거나 메시지를 위조할 수 없어야 합니다. TEE는 브리지 트랜잭션이 프로토콜 규칙에 따라 정확하게 처리되도록 강제하여, 운영자나 악성 코드가 허위 전송을 주입할 위험을 줄입니다. 또한 TEE는 보안 엔클레이브 내에서 아토믹 스왑(atomic swaps) 및 크로스체인 트랜잭션이 양방향 모두 완료되거나 깔끔하게 취소되도록 처리하여, 간섭으로 인해 자금이 묶이는 시나리오를 방지할 수 있습니다. 여러 브리지 프로젝트와 컨소시엄이 최근 몇 년간 발생한 브리지 해킹 피해를 완화하기 위해 TEE 기반 보안을 탐구해 왔습니다.
오프체인 데이터 무결성 및 검증 가능성
위의 모든 시나리오에서 반복되는 주제는 TEE가 블록체인 외부에서도 _데이터 무결성_을 유지하는 데 도움이 된다는 것입니다. TEE는 자신이 어떤 코드를 실행 중인지 증명(attestation을 통해)할 수 있고 간섭 없이 코드가 실행되도록 보장할 수 있기 때문에, 일종의 **검증 가능한 컴퓨팅(verifiable computing)**을 제공합니다. 사용자나 스마트 컨트랙트는 증명이 확인된다면 TEE에서 나온 결과를 온체인에서 계산된 것처럼 신뢰할 수 있습니다. 이 러한 무결성 보장 때문에 TEE는 오프체인 데이터와 컴퓨팅에 **“신뢰 앵커(trust anchor)”**를 가져다주는 것으로 언급되기도 합니다.
하지만 이 신뢰 모델은 일부 가정을 하드웨어로 옮긴다는 점에 유의해야 합니다(§4 참조). 데이터 무결성은 TEE의 보안만큼만 강력합니다. 엔클레이브가 침해되거나 증명이 위조되면 무결성이 무너질 수 있습니다. 그럼에도 불구하고 실제적으로 TEE는 (최신 상태로 유지될 경우) 특정 공격을 현저히 어렵게 만듭니다. 예를 들어, DeFi 대출 플랫폼은 TEE를 사용하여 사용자의 개인 데이터로부터 오프체인에서 신용 점수를 계산할 수 있으며, 스마트 컨트랙트는 유효한 엔클레이브 증명이 동반된 경우에만 해당 점수를 수락합니다. 이렇게 하면 컨트랙트는 사용자나 오라클을 맹목적으로 믿는 대신, 승인된 알고리즘에 의해 실제 데이터에서 점수가 계산되었음을 알 수 있습니다.
TEE는 신흥 탈중앙화 신원 증명(DID) 및 인증 시스템에서도 역할을 합니다. 사용자의 민감한 정보가 블록체인이나 dApp 제공업체에 절대 노출되지 않는 방식으로 개인 키, 개인 데이터 및 인증 프로세스를 안전하게 관리할 수 있습니다. 예를 들어, 모바일 장치의 TEE는 생체 인식 인증을 처리하고, 생체 인식 확인이 통과되면 사용자의 생체 정보를 노출하지 않고 블록체인 트랜잭션에 서명할 수 있습니다. 이는 신원 관리에서 보안과 개인정보 보호를 모두 제공하며, Web3가 여권, 인증서 또는 KYC 데이터를 사용자 주권 방식으로 처리하는 데 필수적인 요소입니다.
요약하자면, TEE는 Web3에서 다재다능한 도구로 활용됩니다. 온체인 로직에 대한 기밀성을 부여하고, 오프체인 보안 컴퓨팅을 통한 확장을 가능하게 하며, 오라클과 브리지의 무결성을 보호하고, 프라이빗 신원 확인부터 규제 준수 데이터 공유에 이르기까지 새로운 용도를 개척합니다. 다음으로 이러한 기능을 활용하는 구체적인 프로젝트들을 살펴보겠습니다.
3. TEE를 활용하는 주요 Web3 프로젝트
다수의 선도적인 블록체인 프로젝트들이 신뢰 실행 환경(TEE)을 중심으로 핵심 서비스를 구축해 왔습니다. 아래에서는 몇 가지 주목할 만한 프로젝트를 살펴보고, 각 프로젝트가 TEE 기술을 어떻게 활용하며 어떤 고유한 가치를 더하는지 심층 분석합니다.
시크릿 네트워크 (Secret Network)
**시크릿 네트워크(Secret Network)**는 TEE를 사용하여 프라이버시 보호 스마트 계약을 개척한 레이어 1 블록체인(Cosmos SDK 기반)입니다. 시크릿 네트워크의 모든 밸리데이터 노드는 인텔 SGX 엔클레이브(Intel SGX enclaves)를 실행하며, 이 엔클레이브는 스마트 계약 코드를 실행하여 계약 상태와 입출력 데이터가 노드 운영자에게조차 암호화된 상태로 유지되도록 합니다. 이를 통해 시크릿 네트워크는 최초의 프라이버시 우선 스마트 계약 플랫폼 중 하나가 되었습니다. 프라이버시는 선택적인 부가 기능이 아니라 프로토콜 수준에서 네트워크의 기본 기능으로 작동합니다.
시크릿 네트워크의 모델에서 사용자는 암호화된 트랜잭션을 제출하고, 밸리데이터는 이를 실행을 위해 SGX 엔클레이브에 로드합니다. 엔클레이브는 입력을 복호화하고 계약(수정된 CosmWasm 런타임으로 작성됨)을 실행한 후, 블록체인에 기록될 암호화된 출력을 생성합니다. 올바른 뷰잉 키(viewing key)를 가진 사용자나 자체 내부 키를 가진 계약만이 실제 데이터를 복호화하고 볼 수 있습니다. 이를 통해 애플리케이션은 데이터를 공개적으로 노출하지 않고도 온체인에서 비공개 데이터를 사용할 수 있습니다.
이 네트워크는 다음과 같은 몇 가지 새로운 유즈케이스를 입증했습니다:
- 시크릿 DeFi(Secret DeFi): 예를 들어, 사용자의 계정 잔액과 트랜잭션 금액이 비공개로 유지되는 AMM인 시크릿스왑(SecretSwap)이 있습니다. 이는 프런트 러닝(front-running)을 완화하고 거래 전략을 보호합니다. 유동성 공급자와 트레이더는 자신의 모든 움직임을 경쟁자에게 알리지 않고도 활동할 수 있습니다.
- 시크릿 옥션(Secret Auctions): 경매가 종료될 때까지 입찰가가 비밀로 유지되는 경매 계약으로, 타인의 입찰가에 기반한 전략적 행동을 방지합니다.
- 비공개 투표 및 거버넌스: 토큰 보유자는 자신의 투표 선택을 밝히지 않고도 제안에 투표할 수 있으며, 집계 결과는 여전히 검증 가능합니다. 이를 통해 공정하고 위협 없는 거버넌스를 보장합니다.
- 데이터 마켓플레이스: 민감한 데이터 세트를 구매자나 노드에 원본 데이터를 노출하지 않고도 거래하고 연산에 사용할 수 있습니다.
시크릿 네트워크는 본질적으로 프로토콜 수준에서 TEE를 통합하여 고유한 가치 제안을 창출합니다. 즉, '프로그래밍 가능한 프라이버시'를 제공합니다. 이들이 해결하는 과제에는 탈중앙화된 밸리데이터 세트 전체에서 엔클레이브 어테스테이션(attestation)을 조정하는 것과 노드로부터 비밀을 유지하면서 계약이 입력을 복호화할 수 있도록 키 분배를 관리하는 것이 포함됩니다. 여러 측면에서 시크릿 네트워크는 퍼블릭 블록체인에서 TEE 기반 기밀성의 생존 가능성을 증명하며 해당 분야의 선두 주자로 자리매김했습니다.
오아시스 네트워크 (Oasis Network)
**오아시스 네트워크(Oasis Network)**는 확장성과 프라이버시를 목표로 하는 또 다른 레이어 1 프로젝트로, 아키텍처 전반에 걸쳐 TEE(Intel SGX)를 광범위하게 활용합니다. 오아시스는 합의와 연산을 분리하여 **합의 계층(Consensus Layer)**과 **파라타임 계층(ParaTime Layer)**이라는 서로 다른 계층으로 나누는 혁신적인 설계를 도입했습니다. 합의 계층은 블록체인 순서 지정과 최종성을 처리하고, 각 파라타임은 스마트 계약을 위한 런타임 환경이 될 수 있습니다. 특히 오아시스의 에메랄드(Emerald) 파라타임은 EVM 호환 환경이며, 사파이어(Sapphire)는 TEE를 사용하여 스마트 계약 상태를 비공개로 유지하는 기밀 EVM입니다.
오아시스의 TEE 활용은 대규모 기밀 컴퓨팅에 초점을 맞추 고 있습니다. 무거운 연산을 병렬화 가능한 파라타임(많은 노드에서 실행 가능)으로 격리함으로써 높은 처리량을 달성하며, 해당 파라타임 노드 내에서 TEE를 사용함으로써 연산에 민감한 데이터를 노출 없이 포함할 수 있도록 보장합니다. 예를 들어, 어떤 기관이 비공개 데이터를 기밀 파라타임에 입력하여 오아시스에서 신용 평가 알고리즘을 실행할 수 있습니다. 데이터는 엔클레이브 내에서 처리되므로 노드에게는 암호화된 상태로 유지되고 결과 점수만 도출됩니다. 한편, 오아시스 합의 계층은 연산이 올바르게 수행되었다는 증명만을 기록합니다.
기술적으로 오아시스는 기본 SGX 이상의 추가 보안 계층을 추가했습니다. 이들은 인텔의 SGX 쿼팅 엔클레이브(Quoting Enclave)와 맞춤형 경량 커널을 사용하여 하드웨어 신뢰성을 검증하고 엔클레이브의 시스템 호출을 샌드박싱하는 **"계층화된 신뢰 루트(layered root of trust)"**를 구현했습니다. 이는 엔클레이브가 수행할 수 있는 OS 호출을 필터링하여 공격 표면을 줄이고 알려진 특정 SGX 공격으로부터 보호합니다. 또한 오아시스는 엔클레이브가 재시작 후에도 상태를 유지할 수 있는 **지속성 엔클레이브(durable enclaves)**와 노드가 오래된 엔클레이브 상태를 재생하려는 시도를 방지하는 **보안 로깅(secure logging)**과 같은 기능을 도입하여 롤백 공격을 완화했습니다. 이러한 혁신은 기술 백서에 설명되어 있으며, 오아시스가 TEE 기반 블록체인 컴퓨팅 분야에서 연구 주도형 프로젝트로 평가받는 이유이기도 합니다.
생태계 측면에서 오아시스는 비공개 DeFi(은행이 고객 데이터를 유출하지 않고 참여 가능) 및 데이터 토큰화(개인이나 기업이 AI 모델에 기밀 방식으로 데이터를 공유하고 보상을 받는 방식)를 위한 위치를 확보했습니다. 또한 BMW와 데이터 프라이버시 협업을 진행하고 의료 연구 데이터 공유 분야에서 기업들과 파일럿 프로젝트를 진행하는 등 기업들과도 협력해 왔습니다. 전반적으로 오아시스 네트워크는 TEE와 확장 가능한 아키텍처의 결합이 프라이버시와 성능 문제를 동시에 해결할 수 있음을 보여주며, TEE 기반 Web3 솔루션의 주요 플레이어가 되었습니다.
샌더스 네트워크 (Sanders Network)
**샌더스 네트워크(Sanders Network)**는 폴카닷(Polkadot) 생태계의 탈중앙화 클라우드 컴퓨팅 네트워크로, TEE를 사용하여 기밀성 및 고성능 컴퓨팅 서비스를 제공합니다. 이는 폴카닷의 **파라체인(parachain)**으로서 폴카닷의 보안과 상호운용성의 이점을 누리는 동시에, 보안 엔클레이브에서의 오프체인 연산을 위한 고유한 런타임을 도입합니다.
샌더스의 핵심 아이디어는 TEE(현재까지는 특히 Intel SGX) 내부에서 작업을 실행하고 검증 가능한 결과를 생성하는 대규모 워커 노드(이른바 샌더스 마이너) 네트워크를 유지하는 것입니다. 이러한 작업은 스마트 계약의 일부를 실행하는 것부터 사용자가 요청한 범용 연산까지 다양합니다. 워커가 SGX에서 실행되기 때문에 샌더스는 연산이 기밀성(입력 데이터가 워커 운영자로부터 숨겨짐)과 무결성(결과에 어테스테이션이 동반됨)을 갖추고 수행되도록 보장합니다. 이는 사용자가 호스트의 엿보기나 변조 걱정 없이 워크로드를 배포할 수 있는 **무신뢰 클라우드(trustless cloud)**를 효과적으로 구축합니다.
샌더스는 아마존 EC2나 AWS 람다와 유사하지만 탈중앙화된 형태라고 생각할 수 있습니다. 개발자는 샌더스 네트워크에 코드를 배포하고 전 세계의 수많은 SGX 지원 머신에서 코드를 실행하며 샌더스 토큰으로 서비스 비용을 지불할 수 있습니다. 주요 유즈케이스는 다음과 같습니다:
- Web3 분석 및 AI: 프로젝트는 샌더스 엔클레이브에서 사용자 데이터를 분석하거나 AI 알고리즘을 실행할 수 있습니다. 이를 통해 원본 사용자 데이터는 암호화된 상태로 유지(프라이버시 보호)되면서 집계된 인사이트만 엔클레이브 밖으로 나갑니다.
- 게임 백엔드 및 메타버스: 샌더스는 무거운 게임 로직이나 가상 세계 시뮬레이션을 오프체인에서 처리하고, 블록체인에는 커밋먼트나 해시만 전송할 수 있습니다. 이를 통해 단일 서버에 대한 신뢰 없이도 더 풍부한 게임 플레이를 가능하게 합니다.
- 온체인 서비스: 샌더스는 **샌더스 클라우드(Sanders Cloud)**라는 오프체인 컴퓨팅 플랫폼을 구축했습니다. 예를 들어, 봇, 탈중앙화 웹 서비스 또는 TEE 어테스테이션을 통해 DEX 스마트 계약에 거래를 게시하는 오프체인 오더북의 백엔드 역할을 할 수 있습니다.
샌더스는 기밀 컴퓨팅을 수평적으로 확장할 수 있음을 강조합니다. 용량이 더 필요한가요? TEE 워커 노드를 더 추가하면 됩니다. 이는 연산 용량이 합의에 의해 제한되는 단일 블록체인과는 다릅니다. 따라서 샌더스는 무신뢰 보안을 원하면서도 연산 집약적인 dApp을 위한 가능성을 열어줍니다. 중 요한 점은 샌더스가 하드웨어 신뢰에만 의존하지 않는다는 것입니다. 폴카닷의 합의 메커니즘(예: 잘못된 결과에 대한 스테이킹 및 슬래싱)과 통합되고 있으며, 심지어 TEE와 영지식 증명의 결합을 탐색하고 있습니다(언급했듯이, 그들의 차기 L2는 실행 속도를 높이기 위해 TEE를 사용하고 이더리움에서 간결하게 검증하기 위해 ZKP를 사용합니다). 이러한 하이브리드 접근 방식은 상단에 암호학적 검증을 추가함으로써 단일 TEE 침해 위험을 완화하는 데 도움이 됩니다.
요약하자면, 샌더스 네트워크는 TEE를 활용하여 Web3를 위한 탈중앙화 기밀 클라우드를 제공함으로써 보안이 보장된 오프체인 연산을 가능하게 합니다. 이는 무거운 연산과 데이터 프라이버시가 모두 필요한 블록체인 애플리케이션의 시대를 열어 온체인과 오프체인 세계 사이의 간극을 메워줍니다.
아이이젝 (iExec)
**아이이젝(iExec)**은 이더리움 기반의 탈중앙화 클라우드 컴퓨팅 리소스 마켓플레이스입니다. 이전의 세 프로젝트(자체 체인 또는 파라체인)와 달리 아이이젝은 이더리움 스마트 계약과 조정되는 레이어 2 또는 오프체인 네트워크로 작동합니다. TEE(특히 Intel SGX)는 오프체인 연산에 대한 신뢰를 구축하려는 아이이젝 접근 방식의 초석입니다.
아이이젝 네트워크는 다양한 제공자가 기여한 워커 노드로 구성됩니다. 이러한 워커는 사용자(dApp 개발자, 데이터 제공자 등)가 요청한 작업을 실행할 수 있습니다. 이러한 오프체인 연산이 신뢰할 수 있도록 보장하기 위해 아이이젝은 "신뢰할 수 있는 오프체인 컴퓨팅(Trusted off-chain Computing)" 프레임워크를 도입했습니다. 작업은 SGX 엔클레이브 내부에서 실행될 수 있으며, 결과에는 보안 노드에서 작업이 올바르게 실행되었음을 증명하는 엔클레이브 서명이 동반됩니다. 아이이젝은 인텔과 파트너십을 맺고 이 신뢰할 수 있는 컴퓨팅 기능을 출시했으며, 표준을 발전시키기 위해 기밀 컴퓨팅 컨소시엄(Confidential Computing Consortium)에도 합류했습니다. **기여 증명(Proof-of-Contribution, PoCo)**이라 불리는 이들의 합의 프로토콜은 필요한 경우 여러 워커의 투표/어테스테이션을 집계하여 올바른 결과에 대한 합의에 도달합니다. 많은 경우 코드가 결정론적이고 SGX에 대한 신뢰가 높다면 단일 엔클레이브의 어테스테이션으로 충분할 수 있으며, 더 높은 보증을 위해 아이이젝은 여러 TEE에 작업을 복제하고 합의 또는 다수결 투표를 사용할 수 있습니다.
아이이젝 플랫폼은 다음과 같은 몇 가지 흥미로운 유즈케이스를 가능하게 합니다:
- 탈중앙화 오라클 컴퓨팅: 앞서 언급했듯이 아이이젝은 체인링크(Chainlink)와 협력할 수 있습니다. 체인링크 노드가 원본 데이터를 가져온 다음, 이를 아이이젝 SGX 워커에게 전달하여 해당 데이터에 대한 연산(예: 독점 알고리즘 또는 AI 추론)을 수행하고 최종적으로 결과를 온체인으로 반환할 수 있습니다. 이는 오라클의 기능을 단순히 데이터를 전달하는 것 이상으로 확장합니다. 이제 오라클은 TEE를 통해 정직성을 보장하면서 (AI 모델 호출이나 여러 소스 집계와 같은) 컴퓨팅 서비스를 제공할 수 있습니다.
- AI 및 DePIN(탈중앙화 물리적 인프라 네트워크): 아이이젝은 탈중앙화 AI 앱을 위한 신뢰 계층으로 자리매김하고 있습니다. 예를 들어, 머신러닝 모델을 사용하는 dApp은 엔클레이브에서 모델을 실행하여 모델(독점적인 경우)과 입력되는 사용자 데이터를 모두 보호할 수 있습니다. DePIN(분산형 IoT 네트워크 등)의 맥락에서 TEE는 엣지 디바이스에서 센서 판독값과 해당 판독값에 대한 연산을 신뢰하는 데 사용될 수 있습니다.
- 보안 데이터 수익화: 데이터 제공자는 아이이젝 마켓플레이스에서 암호화된 형태로 자신의 데이터 세트를 제공할 수 있습니다. 구매자는 TEE 내부의 데이터에서 실행되도록 알고리즘을 보낼 수 있습니다(따라서 데이터 제공자의 원본 데이터는 절대 노출되지 않아 IP를 보호하며, 알고리즘의 세부 사항도 숨길 수 있습니다). 연산 결과는 구매자에게 반환되고, 데이터 제공자에 대한 적절한 지불은 스마트 계약을 통해 처리됩니다. 종종 보안 데이터 교환이라 불리는 이 체계는 TEE의 기밀성에 의해 촉진됩니다.
전반적으로 아이이젝은 이더리움 스마트 계약과 보안 오프체인 실행 사이의 가교 역할을 합니다. 이는 TEE "워커"들이 어떻게 네트워크로 연결되어 탈중앙화 클라우드를 형성할 수 있는지를 보여주며, 마켓플레이스(결제를 위한 아이이젝의 RLC 토큰 사용)와 합의 메커니즘을 완비하고 있습니다. 아이이젝은 엔터프라이즈 이더리움 얼라이언스(EEA)의 신뢰할 수 있는 컴퓨팅 작업 그룹을 주도하고 표준(예: Hyperledger Avalon)에 기여함으로써 기업용 블록체인 시나리오에서 TEE의 광범위한 채택을 이끌고 있습니다.
기타 프로젝트 및 생태계
위의 네 가지 외에도 주목할 만한 몇 가지 다른 프로젝트가 있습니다:
- 인테그리티(Integritee) – 샌더스와 유사한 또 다른 폴카닷 파라체인입니다(실제로 Energy Web Foundation의 TEE 작업에서 파생되었습니다). 인테그리티는 TEE를 사용하여 기업을 위한 "서비스형 파라체인(parachain-as-a-service)"을 구축하며, 온체인 및 오프체인 엔클레이브 처리를 결합합니다.
- 오토마타 네트워크(Automata Network) – 비공개 트랜잭션, 익명 투표 및 MEV 방지 트랜잭션 처리를 위해 TEE를 활용하는 Web3 프라이버시용 미들웨어 프로토콜입니다. 오토마타는 비공개 RPC 릴레이와 같은 서비스를 제공하는 오프체인 네트워크로 운영되며, 쉴드 아이덴티티(shielded identity) 및 가스비 없는 비공개 트랜잭션 등에 TEE를 사용하는 것으로 알려져 있습니다.
- 하이퍼레저 소투스(Hyperledger Sawtooth, PoET) – 기업용 영역에서 소투스는 SGX에 의존하는 경과 시간 증명(Proof of Elapsed Time)이라는 합의 알고리즘을 도입했습니다. 각 밸리데이터는 무작위 시간을 기다리고 증명을 생성하는 엔클레이브를 실행합니다. 가장 짧은 시간을 기다린 노드가 블록을 "승리"하게 되며, 이는 SGX에 의해 강제되는 공정한 추첨 방식입니다. 소투스는 그 자체로 Web3 프로젝트는 아니지만(기업용 블록체인에 가까움), 합의를 위한 TEE의 창의적인 활용 사례입니다.
- 기업용/컨소시엄 체인 – 많은 기업용 블록체인 솔루션(예: ConsenSys Quorum, IBM Blockchain)은 권한이 있는 노드만 특정 데이터를 볼 수 있도록 기밀 컨소시엄 트랜잭션을 가능하게 하기 위해 TEE를 통합합니다. 예를 들어, 엔터프라이즈 이더리움 얼라이언스의 신뢰할 수 있는 컴퓨팅 프레임워크(TCF) 청사진은 오프체인에서 비공개 계약을 실행하고 온체인에 머클 증명(merkle proofs)을 전달하기 위해 TEE를 사용합니다.
이러한 프로젝트들은 TEE의 다재다능함을 집합적으로 보여줍니다. TEE는 프라이버시 중심의 L1 전체를 구동하고, 오프체인 네트워크 역할을 하며, 오라클 및 브릿지와 같은 인프라 요소를 보호하고, 심지어 합의 알고리즘의 근간이 되기도 합니다. 다음으로, 탈중앙화 환경에서 TEE를 사용하는 것의 더 넓은 이점과 과제에 대해 살펴보겠습니다.
4. 탈중앙화 환경에서 TEE 의 이점과 과제
블록체인 시스템에 신뢰 실행 환경 (TEE) 을 도입하면 상당한 기술적 이점 과 더불어 주목할 만한 과제 및 트레이드오프 가 수반됩니다. 여기서는 TEE 가 탈중앙화 애플리케이션에 제공하는 기능과 사용 시 발생하는 문제 또는 위험이라는 두 가지 측면을 모두 살펴보겠습니다.
이점 및 기술적 강점
-
강력한 보안 및 프라이버시: 가장 큰 이점은 기밀성 및 무결성 보장입니다. TEE 를 사용하면 민감한 코드가 외부 맬웨어에 의해 감시되거나 변경되지 않는다는 확신을 가지고 실행될 수 있습니다. 이는 이전에는 불가능했던 오프체인 연산에 대한 신뢰 수준을 제공합니다. 블록체인의 경우, 이는 보안을 희생하지 않고도 개인 데이터를 활용하여 디앱 (dApp) 의 기능을 향상할 수 있음을 의미합니다. 신뢰할 수 없는 환경 (클라우드 서버, 제3자가 운영하는 검증인 노드) 에서도 TEE 는 비밀을 안전하게 유지합니다. 이는 특히 암호화 시스템 내에서 개인키, 사용자 데이터 및 독점 알고리즘을 관리하는 데 유용합니다. 예를 들어, 하드웨어 지갑이나 클라우드 서명 서비스는 TEE 를 사용하여 내부적으로 블록체인 트랜잭션에 서명함으로써 개인키가 평문으로 노출되지 않도록 하여 편의성과 보안을 결합할 수 있습니다.
-
네이티브에 가까운 성능: 영지식 증명 (ZK proofs) 이나 동형 암호화와 같은 순수 암호학적 보안 연산 방식과 달리 TEE 의 오버헤드는 상대적으로 적습니다. 코드가 CPU 에서 직접 실행되므로 엔클레이브 (enclave) 내부의 연산은 외부에서 실행하는 것과 거의 비슷하게 빠릅니다 (엔클레이브 전환 및 메모리 암호화로 인한 오버헤드가 발생하며, SGX 의 경우 일반적으로 한 자릿수 퍼센트 정도의 속도 저하가 있음). 이는 TEE 가 연산 집약적인 작업을 효율적으로 처리 할 수 있음을 의미하며, 암호화 프로토콜을 사용할 때보다 수십 배 더 느려질 수 있는 사용 사례 (예: 실시간 데이터 피드, 복잡한 스마트 컨트랙트, 머신러닝) 를 가능하게 합니다. 엔클레이브의 낮은 지연 시간 은 빠른 응답이 필요한 분야 (예: TEE 로 보안을 강화한 고빈도 매매 봇, 또는 지연 시간이 길어지면 사용자 경험이 저하되는 대화형 애플리케이션 및 게임) 에 적합합니다.
-
확장성 개선 (오프로딩을 통한): TEE 는 무거운 연산을 오프체인에서 안전하게 수행할 수 있게 함으로써 메인 체인의 혼잡과 가스 (gas) 비용을 완화하는 데 도움을 줍니다. 블록체인은 검증이나 최종 결제에만 사용되고 대규모 연산은 병렬 엔클레이브에서 일어나는 레이어 2 (Layer-2) 설계 및 사이드 프로토콜을 가능하게 합니다. 이러한 모듈화 (TEE 에서의 연산 집약적 로직, 온체인에서의 합의) 는 탈중앙화 앱의 처리량과 확장성을 획기적으로 향상할 수 있습니다. 예를 들어, DEX 는 TEE 오프체인에서 매수/매도 매칭을 수행하고 매칭된 거래만 온체인에 기록함으로써 처리량을 늘리고 온체인 가스 소모를 줄일 수 있습니다.
-
향상된 사용자 경험 및 기능: TEE 를 통해 디앱은 더 많은 사용자 (기관 포함) 를 유치할 수 있는 기밀성이나 복잡한 분석 기능을 제공할 수 있습니다. 또한 TEE 는 오프체인에서 트랜잭션을 안전하게 실행한 후 결과를 제출함으로써 가스 없는 (gasless) 트랜잭션 또는 메타 트랜잭션 을 가능하게 합니다. 이는 프라이빗 트랜잭션의 가스 비용을 줄이기 위해 TEE 를 사용하는 오토마타 (Automata) 의 사례에서도 확인할 수 있습니다. 아울러, 민감한 상태 값을 엔클레이브 내 오프체인에 저장하면 온체인에 게시되는 데이터를 줄일 수 있어 사용자 프라이버시와 네트워크 효율성 (저장/검증할 온체인 데이터 감소) 에 유리합니다.
-
타 기술과의 결합성: 흥미롭게도 TEE 는 다른 기술을 보완할 수 있습니다 (이는 TEE 만의 고유한 이점이라기보다 조합을 통한 장점입니다). 하이브리드 솔루션을 연결하는 접착제 역할을 할 수 있습니다. 예를 들어, 엔클레이브에서 프로그램을 실행하는 동시에 그 실행에 대한 ZK 증명을 생성할 때, 엔클레이브가 증명 프로세스의 일부를 도와 속도를 높일 수 있습니다. 또는 MPC 네트워크에서 TEE 를 사용하여 통신 횟수를 줄이면서 특정 작업을 처리할 수도 있습니다. 이에 대한 비교는 5절에서 다루겠지만, 많은 프로젝트는 TEE 가 암호학을 대체 할 필요가 없으며 보안을 강화하기 위해 함께 작동할 수 있다는 점을 강조합니다 (샌더스의 격언: "TEE 의 강점은 다른 기술을 대체하는 것이 아니라 지원하는 데 있다").
신뢰 가정 및 보안 취약점
이러한 장점에도 불구하고 TEE 는 특정 신뢰 가정을 도입하며 공격에 완전히 면역되어 있지는 않습니다. 다음과 같은 과제를 이해하는 것이 중요합니다.
-
하드웨어 신뢰 및 중앙집중화: TEE 를 사용한다는 것은 본질적으로 실리콘 벤더 (제조사) 와 해당 하드웨어 설계 및 공급망의 보안을 신뢰하는 것을 의미합니다. 예를 들어, Intel SGX 를 사용한다는 것은 인텔에 백도어가 없고, 제조 공정이 안전하며, CPU 의 마이크로코드가 엔클레이브 격리를 올바르게 구현했음을 신뢰하는 것입니다. 이는 모든 사용자에게 분산된 수학적 가정에 의존하는 순수 암호학에 비해 더 중앙집중화된 신뢰 모델입니다. 더욱이 SGX 의 원격 검증 (attestation) 은 역사적으로 인텔의 원격 검증 서비스 (Intel Attestation Service) 에 접속하는 방식에 의존해 왔습니다. 즉, 인텔의 서비스가 중단되거나 인텔이 키를 취소하기로 결정하면 전 세계의 엔클레이브가 영향을 받을 수 있습니다. 이러한 단일 기업의 인프라에 대한 의존은 우려를 낳습니다. 이는 단일 장애점 (single point of failure) 이 되거나 정부 규제의 대상 (예: 미국 수출 통제로 인해 강력한 TEE 사용이 이론적으로 제한될 수 있음) 이 될 수 있습니다. AMD SEV 는 VM 소유자가 자신의 VM 을 검증할 수 있도록 하여 더 탈중앙화된 원격 검증을 허용함으로써 이를 완화하지만, 여전히 AMD 의 칩과 펌웨어를 신뢰해야 합니다. 이러한 중앙집중화 위험 은 블록체인의 탈중앙화 정신에 다소 반하는 것으로 자주 인용됩니다. Keystone (오픈 소스 TEE) 과 같은 프로젝트들이 독점적인 블랙박스에 대한 의존도를 낮추기 위한 방법을 연구 중이지만, 아직 주류는 아닙니다.
-
사이드 채널 및 기타 취약점: TEE 는 만능 해결책이 아니며 간접적인 수단을 통해 공격받을 수 있습니다. 사이드 채널 공격 은 메모리에 직접 접근하는 것이 차단되더라도 엔클레이브의 동작이 시스템에 미묘한 영향 (타이밍, 캐시 사용량, 전력 소비, 전자기 방출 등) 을 준다는 점을 악용합니다. 지난 몇 년 동안 Foreshadow (L1 캐시 타이밍 누출을 통한 엔클레이브 비밀 추출), Plundervolt (권한 있는 명령어를 통한 전압 결함 주입), SGAxe (원격 검증 키 추출) 등 Intel SGX 에 대한 수많은 학술적 공격이 입증되었습니다. 이러한 정교한 공 격들은 TEE 가 암호학적 보호를 깨지 않고도 마이크로아키텍처의 동작이나 구현상의 결함을 악용하여 침해될 수 있음을 보여줍니다. 결과적으로 "연구자들은 하드웨어 취약점이나 TEE 작동의 타이밍 차이를 악용할 수 있는 다양한 잠재적 공격 벡터를 확인했다" 는 점이 인정되고 있습니다. 이러한 공격은 실행하기 까다롭고 종종 로컬 접근이나 악성 하드웨어가 필요하지만, 실제적인 위협 입니다. 또한 TEE 는 일반적으로 공격자가 칩을 직접 손에 넣은 경우 (예: 칩 뚜껑을 따거나 버스를 조사하는 등) 의 물리적 공격으로부터는 보호하지 못합니다.
벤더들은 알려진 누출을 완화하기 위해 마이크로코드 패치와 엔클레이브 SDK 업데이트로 대응해 왔습니다 (때로는 성능 저하를 감수함). 하지만 이는 여전히 쫓고 쫓기는 게임으로 남아 있습니다. Web3 의 경우, 누군가 SGX 에서 새로운 사이드 채널을 발견하면 SGX 에서 실행 중인 "안전한" DeFi 컨트랙트가 잠재적으로 공격받을 수 있음 (예: 비밀 데이터 유출 또는 실행 조작) 을 의미합니다. 따라서 TEE 에 의존한다는 것은 일반적인 블록체인 위협 모델 외부인 하드웨어 수준의 잠재적 취약점 표면 을 수용하는 것을 의미합니다. 이러한 취약점에 대비해 TEE 를 강화하는 것 (예: 상수 시간 연산으로 엔클레이브 코드 설계, 비밀에 의존하는 메모리 액세스 패턴 회피, 오블리비어스 RAM 기술 사용 등) 은 활발한 연구 분야입니다. 일부 프로젝트는 TEE 를 보조적인 체크와 결합하여 강화하기도 합니다. 예를 들어 ZK 증명과 결합하거나, 단일 칩 위험을 줄이기 위해 서로 다른 하드웨어 벤더의 여러 엔클레이브를 실행하는 방식 등이 있습 니다.
-
성능 및 리소스 제약: TEE 는 CPU 집약적 작업에 대해 네이티브에 가까운 속도로 실행되지만, 일부 오버헤드와 한계가 있습니다. 엔클레이브로 들어가는 과정 (ECALL) 과 나오는 과정 (OCALL) 에는 비용이 발생하며, 메모리 페이지의 암호화/복호화도 마찬가지입니다. 이는 엔클레이브 경계를 매우 빈번하게 넘나드는 작업의 성능에 영향을 줄 수 있습니다. 또한 엔클레이브는 흔히 메모리 크기 제한 이 있습니다. 예를 들어 초기 SGX 는 엔클레이브 페이지 캐시 (EPC) 가 제한적이었고, 엔클레이브가 더 많은 메모리를 사용하면 페이지를 교체 (암호화 동반) 해야 했으며 이는 성능을 크게 저하시켰습니다. 최신 TEE 조차도 시스템 RAM 전체를 쉽게 사용하지 못하는 경우가 많으며, 캡이 씌워진 보안 메모리 영역이 존재할 수 있습니다. 이는 매우 대규모의 연산이나 데이터 세트를 엔클레이브 내부에서 전부 처리하기 어렵게 만들 수 있습니다. Web3 맥락에서 이는 엔클레이브 내에서 실행할 수 있는 스마트 컨트랙트나 머신러닝 모델의 복잡성을 제한할 수 있습니다. 개발자는 메모리 최적화를 수행하고 작업 부하를 분할해야 할 수도 있습니다.
-
원격 검증 및 키 관리의 복잡성: 탈중앙화 설정에서 TEE 를 사용하려면 견고한 원격 검증 워크플로우가 필요합니다. 각 노드는 예상된 코드가 포함된 정품 엔클레이브를 실행하고 있음을 다른 노드에 증명해야 합니다. 이러한 온체인 원격 검증 을 설정하는 것은 복잡할 수 있습니다. 보통 벤더의 공개 원격 검증 키나 인증서를 프로토콜에 하드코딩하고 검증 로직을 스마트 컨트랙트나 오프체인 클라이언트에 작성하는 과정이 포함됩니다. 이는 프로토콜 설계에 오버헤드를 유발하며, 벤더가 원격 검증 서명 키 형식을 변경 (예: 인텔이 EPID 에서 DCAP 으로 변경) 하는 등의 변화가 생기면 유지보수 부담이 발생합니다. 또한, 데이터를 복호화하거나 결과에 서명하기 위해 TEE 내에서 키를 관리하는 것도 복잡성을 더합니다. 엔클레이브 키 관리의 실수는 보안을 무너뜨릴 수 있습니다 (예: 엔클레이브가 버그로 인해 실수로 복호화 키를 노출하면 모든 기밀성 약속이 무너짐). 모범 사례는 TEE 의 실링 (sealing) API 를 사용하여 키를 안전하게 저장하고 필요시 키를 교체하는 것이지만, 이 역시 개발자의 세심한 설계가 필요합니다.
-
서비스 거부 및 가용성: 덜 논의되는 문제일 수도 있지만, TEE 는 가용성 측면에 도움이 되지 않으며 오히려 새로운 DoS 경로를 제공할 수도 있습니다. 예를 들어, 공격자는 처리 비용이 많이 드는 입력을 TEE 기반 서비스에 쏟아부을 수 있습니다. 운영자가 엔클레이브를 쉽게 조사하거나 중단할 수 없다는 점 (격리되어 있기 때문) 을 악용하는 것입니다. 또한 취약점이 발견되어 펌웨어 업데이트 패치가 필요한 경우, 해당 기간 동안 보안을 위해 많은 엔클레이브 서비스가 노드가 패치될 때까지 일시 중단되어야 할 수 있으며 이는 가동 중지 시간 (downtime) 을 유발합니다. 블록체인 합의에서 치명적인 SGX 버그가 발견되었다고 가정해 보십시오. 시크릿 네트워크 (Secret Network) 와 같은 네트워크는 엔클레이브에 대한 신뢰가 깨지기 때문에 수리가 완료될 때까지 멈춰야 할 수도 있습니다. 탈중앙화 네트워크에서 이러한 대응을 조율하는 것은 매우 어려운 일입니다.