Skip to main content
QUICK REVIEW

[논문 리뷰] Building Your Own Trusted Execution Environments Using FPGA

Md Armanuzzaman, Sadeghi, Ahmad-Reza|arXiv (Cornell University)|2022. 03. 08.
Security and Verification in Computing인용 수 5
한 줄 요약

BYOTee는 사용자가 구성 가능한 하드웨어 및 소프트웨어 신뢰 컴퓨팅 기반(TCB)을 가진 on-demand 에이전시를 생성함으로써 일반 소비자용 FPGA 장치에서 다중이고 동등한 보안의 신뢰 실행 환경(TEE)을 구축할 수 있도록 해주는 프레임워크이다. 하드웨어 및 소프트웨어 무결성에 대한 사전 및 사후 원격 인증을 제공하며, 네 개의 SSA 워크로드와 12개의 벤치마크를 활용하여 저성능 Zynq-7000 FPGA 시스템에서 강력한 보안성과 성능을 달성한다.

ABSTRACT

In recent years, we have witnessed unprecedented growth in using hardware-assisted Trusted Execution Environments (TEE) or enclaves to protect sensitive code and data on commodity devices thanks to new hardware security features, such as Intel SGX and Arm TrustZone. Even though the proprietary TEEs bring many benefits, they have been criticized for lack of transparency, vulnerabilities, and various restrictions. For example, existing TEEs only provide a static and fixed hardware Trusted Computing Base (TCB), which cannot be customized for different applications. Existing TEEs time-share a processor core with the Rich Execution Environment (REE), making execution less efficient and vulnerable to cache side-channel attacks. Moreover, TrustZone lacks hardware support for multiple TEEs, remote attestation, and memory encryption. In this paper, we present BYOTee (Build Your Own Trusted Execution Environments), which is an easy-to-use infrastructure for building multiple equally secure enclaves by utilizing commodity Field Programmable Gate Arrays (FPGA) devices. BYOTee creates enclaves with customized hardware TCBs, which include softcore CPUs, block RAMs, and peripheral connections, in FPGA on demand. Additionally, BYOTee provides mechanisms to attest the integrity of the customized enclaves' hardware and software stacks, including bitstream, firmware, and the Security-Sensitive Applications (SSA) along with their inputs and outputs to remote verifiers. We implement a BYOTee system for the Xilinx System-on-Chip (SoC) FPGA. The evaluations on the low-end Zynq-7000 system for four SSAs and 12 benchmark applications demonstrate the usage, security, effectiveness, and performance of the BYOTee framework.

연구 동기 및 목표

  • Intel SGX나 Arm TrustZone과 같은 전용 TEE의 한계, 즉 투명성 부족, 고정된 TCB, 공유 CPU 코어, 측면채널 공격 및 콜드부트 공격에 취약한 점을 해결한다.
  • 기존 TEE가 단일 소프트웨어 TCB를 강제로 적용하고 신뢰할 수 없는 복잡한 운영 체제나 펌웨어에 의존하는 점을 극복한다.
  • 일반 소비자용 FPGA에서 사용자가 정의한 하드웨어 구성 요소(예: 소프트코어 CPU, 주변장치)를 포함한 다중, 고립, 암호학적으로 검증 가능한 TEE를 구축할 수 있도록 한다.
  • 실행 중 무결성을 보장하기 위해 하드웨어(비트스트림, 펌웨어) 및 소프트웨어(SSI, 입력/출력) 스택에 대한 강력한 원격 인증을 제공한다.
  • 개발자가 특정 애플리케이션 요구사항에 맞게 TEE를 맞춤화할 수 있도록 경량이며 조합 가능하고 확장 가능한 프레임워크를 설계한다. 이는 보안을 훼손하지 않는다.

제안 방법

  • Xilinx Zynq-7000과 같은 일반 소비자용 시스템온칩(SoC) FPGA를 활용하여 소프트코어 CPU, 블록 램, 주변장치 인터페이스를 포함한 사용자 정의 하드웨어 구성 요소를 가진 다중 고립 에이전시를 생성한다.
  • 에이전시 수명 주기 관리, 시스템 라이브러리 제공, 리치 실행 환경(REE)과의 안전한 통신을 가능하게 하는 BYOTee 펌웨어 레이어를 적용한다.
  • 하드웨어로 보호된 키를 사용하여 FPGA 비트스트림, 펌웨어, SSA를 고유한 암호학적 신뢰 기반에 묶는 신뢰 부트스트랩 메커니즘을 도입한다.
  • 두 가지 인증 모드를 지원한다: 사전 실행(실행 전에 에이전시의 하드웨어 및 소프트웨어 스택의 무결성 검증) 및 사후 실행(입력, 출력 및 실행 상태의 정확성 검증).
  • FPGA의 재구성 가능성을 활용하여 사용자 정의 TCB를 가진 에이전시를 즉시 생성 및 파기할 수 있도록 하여 고정된 단일 구조의 TEE에 의존하지 않는다.
  • 안전한 레지스터나 암호학적 다이제스트를 통해 하드웨어로 보호된 측정 누적 기법을 사용하여, 신뢰할 수 없는 검증자가 에이전시의 무결성을 원격으로 검증할 수 있도록 한다.
Figure 1: An overview of SoC FPGA hardware
Figure 1: An overview of SoC FPGA hardware

실험 결과

연구 질문

  • RQ1일반 소비자용 FPGA에서 사용자가 완전히 구성 가능한 TEE를 다중 고립 에이전시와 별개의 하드웨어 및 소프트웨어 TCB를 지원하는 방식으로 성공적으로 구현할 수 있는가?
  • RQ2원격 인증이 비트스트림과 펌웨어 외에도 보안 감시가 필요한 응용 프로그램(SSA)의 입력, 출력 및 실행 동작까지 효과적으로 확장될 수 있는가?
  • RQ3제안된 프레임워크가 강력한 보안 보장을 유지하면서 저성능 FPGA에서 수용 가능한 성능과 자원 효율성을 달성하는가?
  • RQ4SGX나 TrustZone과 같은 기존 TEE와 비교해 BYOTee의 실행 오버헤드와 측면채널 저항성 측면에서 성능은 어떠한가?
  • RQ5아키텍처적 고립과 메모리 암호화를 통해 캐시 측면채널 공격 및 콜드부트 공격과 같은 일반적인 TEE 취약점을 프레임워크가 완화할 수 있는가?

주요 결과

  • BYOTee는 저성능 Xilinx Zynq-7000 FPGA에서 다중 고립 암호학적 검증 가능한 TEE를 성공적으로 구현하여 일반 하드웨어에서의 구현 가능성을 입증한다.
  • 하드웨어(비트스트림, 펌웨어) 및 소프트웨어(SSI 입력/출력) 스택에 대한 원격 인증을 달성하여 원격 검증자와의 신뢰를 수립할 수 있다.
  • 네 개의 SSA와 12개의 벤치마크 애플리케이션에 대한 평가 결과, BYOTee는 캐시 측면채널 공격에 대한 하드웨어 고립 덕분에 강력한 보안 특성을 유지한다.
  • 네이티브 실행 대비 낮은 성능 오버헤드를 기록했으며, 각 에이전시에 전용 하드웨어 고립을 제공함으로써 컨텍스트 스위치 비용이 크게 감소했다.
  • BYOTee는 단일 구조의 REE OS나 신뢰할 수 있는 OS 커널이 필요 없음을 제거하여 SGX 및 OP-TEE 대비 소프트웨어 TCB와 공격 표면을 줄였다.
  • 프레임워크는 메모리 암호화를 지원하며, 민감한 데이터를 FPGA 내부 메모리에 고립하고 안전한 비트스트림 로딩을 통해 콜드부트 공격에 대비한다.
Figure 2: The architecture and workflow of the BYOTee framework at development-, boot- and run-time. During development, BYOTee and vendor-provided tools are used to generate the protected FPGA image and protected SSAs, which are loaded onto the FPGA ( \Circled 1 ) and enclaves ( \Circled 2 ), respe
Figure 2: The architecture and workflow of the BYOTee framework at development-, boot- and run-time. During development, BYOTee and vendor-provided tools are used to generate the protected FPGA image and protected SSAs, which are loaded onto the FPGA ( \Circled 1 ) and enclaves ( \Circled 2 ), respe

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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