Skip to main content
QUICK REVIEW

[논문 리뷰] Keystone: An Open Framework for Architecting TEEs

Dayeol Lee, David Kohlbrenner|arXiv (Cornell University)|2019. 07. 23.
Security and Verification in Computing참고 문헌 104인용 수 27
한 줄 요약

Keystone는 RISC-V의 물리적 메모리 보호(PMP)를 기계 모드에서 프로그래밍 가능한 하드웨어 원자성으로 노출시켜, 사용자 정의 가능한 신뢰 실행 환경(TEE)을 구축할 수 있도록 하는 오픈소스 프레임워크입니다. 최소한의 하드웨어 강제 보안 모니터(SM)와 사용자 정의 가능한 런타임(RT)을 분리함으로써 TCB 크기, 위협 모델, 애플리케이션 특화 기능에 대한 세밀한 제어를 가능하게 하며, 수정되지 않은 RISC-V 하드웨어에서 다양한 워크로드를 구동하는 데 성공적으로 검증되었습니다.

ABSTRACT

Trusted execution environments (TEEs) are being used in all the devices from embedded sensors to cloud servers and encompass a range of cost, power constraints, and security threat model choices. On the other hand, each of the current vendor-specific TEEs makes a fixed set of trade-offs with little room for customization. We present Keystone -- the first open-source framework for building customized TEEs. Keystone uses simple abstractions provided by the hardware such as memory isolation and a programmable layer underneath untrusted components (e.g., OS). We build reusable TEE core primitives from these abstractions while allowing platform-specific modifications and application features. We showcase how Keystone-based TEEs run on unmodified RISC-V hardware and demonstrate the strengths of our design in terms of security, TCB size, execution of a range of benchmarks, applications, kernels, and deployment models.

연구 동기 및 목표

  • Intel SGX, ARM TrustZone, AMD SEV와 같은 하드웨어에 고정된 TEE에서의 커스터마이제이션 부족 문제를 해결하기 위해.
  • 고정된 TEE 아키텍처가 위협 모델, 성능, 기능 지원에 제약을 주는 문제를 극복하기 위해.
  • 하드웨어 제조사, 클라우드 제공업체, 애플리케이션 개발자가 특정 워크로드와 보안 요구사항에 맞게 TEE를 맞춤형으로 조정할 수 있도록 하기 위해.
  • 신뢰할 수 있는 하위 레이어를 제공하여 비신뢰적 운영 체제 위에 영향을 미치는 유연하고 조합 가능한 TEE 구성 방식을 지원하기 위해.
  • 보안 강제 조건(SM)을 기능 로직(RT)에서 분리함으로써 신뢰 컴퓨팅 기반(TCB)을 줄여 검증 가능성과 유지보수성을 향상시키기 위해.

제안 방법

  • 기계 모드에서 RISC-V의 물리적 메모리 보호(PMP)를 활용해 물리적 메모리 격리 조건을 강제 적용함으로써, 비신뢰적 운영 체제와 신뢰할 수 있는 에누릴 컴포넌트 간의 하드웨어 보호 경계를 구축합니다.
  • 기계 모드에서 실행되는 최소한의 하드웨어 강제 보안 모니터(SM)를 설계하여, 자원 관리 기능 없이도 격리, 안전 부팅, 인증 기능을 강제 적용합니다.
  • 관리자 모드에서 실행되는 사용자 정의 가능한 런타임(RT)을 구현하여 에누릴 가상 메모리, 시스템 호출, 공유 메모리를 통한 호스트와의 통신을 관리합니다.
  • SM과 RT를 분리하여 컴파일 타임에 플러그인 기반으로 功能 확장을 가능하게 하여, 예를 들어 libc, 스레딩, 동적 로딩 등의 기능을 독립적으로 확장할 수 있도록 합니다.
  • 컴파일 타임 플러그인을 활용해 각 배포 환경에 맞게 TCB와 위협 모델을 맞춤 설정함으로써 신뢰성과 성능 간의 트레이드오���을 세밀하게 제어할 수 있도록 합니다.
  • 수정되지 않은 RISC-V 하드웨어와의 호환성을 입증하고, 다양한 RT 구성 방식을 통해 표준 벤치마크, 커널, 애플리케이션을 지원함으로써 기술적 타당성을 입증합니다.

실험 결과

연구 질문

  • RQ1기본 하드웨어를 수정하지 않고도 보안 성질, TCB 크기, 기능을 커스터마이징할 수 있는 TEE 프레임워크를 구축할 수 있는가?
  • RQ2최소한의 하드웨어 강제 보안 모니터(SM)를 기능 런타임 로직(RT)에서 분리하여 모듈성과 신뢰성 향상을 이룰 수 있는가?
  • RQ3기존 TEE의 한계—예를 들어 정적 에누릴, I/O 지원 부족, 사이드 채널 취약성 등—을 프로그래밍 가능한 조합 가능한 TEE 스택을 통해 어느 정도 완화할 수 있는가?
  • RQ4RISC-V와 같은 오픈 ISA에 대해 강력한 보안 보장을 유지하면서도 성능에 영향을 주지 않는 방식으로 TEE 프레임워크를 이식할 수 있는가?
  • RQ5SM과 RT의 분리가 클라우드, IoT, 엣지 컴퓨팅을 포함한 다양한 배포 모델에 더 나은 지원을 가능하게 하는가?

주요 결과

  • Keystone는 보안 강제 조건(SM)을 기능 로직(RT)에서 분리함으로써 신뢰 컴퓨팅 기반(TCB)을 크게 줄이는 TEE를 구축할 수 있도록 합니다. RT는 필요할 때만 포함됩니다.
  • 프레임워크는 수정되지 않은 RISC-V 하드웨어에서 성공적으로 실행되어 다양한 배포 플랫폼에서 호환성과 확장성을 입증합니다.
  • 사용자 정의 가능한 런타임 구성 요소를 통해 표준 벤치마크, 커널, 애플리케이션(예: 보안 데이터베이스, 블록체인 프로토콜, 머신러닝) 등 광범위한 워크로드를 지원합니다.
  • SM과 RT의 분리로 컴파일 타임에 시스템 호출 인터페이스, libc 지원, 동적 메모리 관리 기능 등을 커스터마이징할 수 있어 각 용도에 맞는 맞춤형 TEE를 구현할 수 있습니다.
  • 가상화 기반 하이퍼바이저 방식을 피하고 PMP를 이용해 메모리 격리를 구현함으로써 TCB가 불필요하게 증가하지 않으며, 신뢰할 수 있는 하이퍼바이저 접근 방식보다 공격 표면이 작아집니다.
  • 디자인이 본질적으로 캐시 및 사전 실행과 같은 대표적인 사이드 채널 공격에 강건하며, 기존 방어 기법(예: 캐시 사이드 채널 하드닝)을 통합하여 추가 보호를 제공할 수 있습니다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.