[论文解读] Keystone: An Open Framework for Architecting TEEs
Keystone 是一个开源框架,通过暴露可编程的硬件原语——特别是 RISC-V 的机器模式物理内存保护(PMP)——来实现可定制的可信执行环境(TEE)。它将一个最小化、由硬件强制执行的安全监控器(SM)与可定制的运行时(RT)分离,从而实现对 TCB 大小、威胁模型和特定应用功能的细粒度控制,并在未经修改的 RISC-V 硬件上成功支持多种工作负载。
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.
研究动机与目标
- 解决现有硬件锁定 TEE(如 Intel SGX、ARM TrustZone 和 AMD SEV)缺乏可定制性的问题。
- 克服固定 TEE 架构在威胁模型、性能和功能支持方面的局限性。
- 使硬件厂商、云服务提供商和应用开发者能够根据特定工作负载和安全需求定制 TEE。
- 提供一个位于不受信操作系统之下的可编程、可信层,以支持灵活、可组合的 TEE 配置。
- 通过将安全执行(SM)与功能逻辑(RT)分离,减少可信计算基(TCB),从而提升可验证性和可维护性。
提出的方法
- 利用 RISC-V 的机器模式 PMP 强制执行物理内存隔离,创建一个在不受信操作系统与受信任的飞地组件之间具有硬件保护边界的隔离区域。
- 设计一个最小化、由硬件强制执行的安全监控器(SM),在机器模式下运行,负责强制执行隔离、安全启动和认证,但不执行资源管理。
- 在特权模式下实现一个可定制的运行时(RT),负责管理飞地虚拟内存、系统调用以及通过共享内存与主机通信。
- 将 SM 与 RT 解耦,以支持在编译时通过插件方式独立扩展功能(例如 libc、线程、动态加载)。
- 使用编译时插件根据部署需求定制 TCB 和威胁模型,从而实现对信任与性能权衡的细粒度控制。
- 通过多种 RT 配置,证明其与未经修改的 RISC-V 硬件兼容,并支持标准基准测试、内核和应用程序。
实验结果
研究问题
- RQ1是否可以构建一个 TEE 框架,使用户能够在不修改底层硬件的前提下,自定义安全属性、TCB 大小和功能?
- RQ2如何将最小化、由硬件强制执行的安全监控器与功能运行时逻辑分离,以提升模块化程度和可信度?
- RQ3通过可编程、可组合的 TEE 架构,现有 TEE 的局限性(如静态飞地、缺乏 I/O 支持和侧信道漏洞)在多大程度上可以被缓解?
- RQ4TEE 框架是否可以移植到开放指令集架构(ISA)如 RISC-V,同时保持强安全保证和高性能?
- RQ5SM 与 RT 的分离如何更好地支持包括云、物联网和边缘计算在内的多样化部署模式?
主要发现
- Keystone 通过将安全执行(SM)与功能逻辑(RT)分离,显著减少了可信计算基(TCB)的大小,仅在需要时才包含 RT。
- 该框架成功运行在未经修改的 RISC-V 硬件上,证明了其在多种部署平台上的兼容性和可扩展性。
- Keystone 通过可配置的运行时组件,支持广泛的工作负载,包括标准基准测试、内核以及安全数据库、区块链协议和机器学习等应用。
- SM 与 RT 的分离使得系统调用接口、libc 支持和动态内存管理等功能可在编译时进行定制,从而实现按用例定制的 TEE。
- 通过依赖 PMP 实现内存隔离并避免使用类似虚拟机监控器的虚拟化机制,Keystone 避免了 TCB 的膨胀,并相比可信虚拟机监控器方案减少了攻击面。
- 该设计天然具备对大量侧信道攻击(如缓存和推测执行攻击)的鲁棒性,并可集成现有防护机制(如缓存侧信道加固)以提供进一步保护。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。