[论文解读] Rollback and Forking Detection for Trusted Execution Environments using Lightweight Collective Memory
本文提出轻量级集体内存(LCM),一种协议,通过仅使用客户端操作维护应用程序状态的集体一致视图,使客户端能够在可信执行环境(TEEs)如Intel SGX中检测回滚和分叉攻击。LCM以极低开销实现分叉线性化和操作稳定性——其吞吐量达到SGX保护键值存储的0.72倍至0.98倍,同时消除了对缓慢的可信非易失性计数器的依赖。
Novel hardware-aided trusted execution environments, as provided by Intel's Software Guard Extensions (SGX), enable to execute applications in a secure context that enforces confidentiality and integrity of the application state even when the host system is misbehaving. While this paves the way towards secure and trustworthy cloud computing, essential system support to protect persistent application state against rollback and forking attacks is missing. In this paper we present LCM - a lightweight protocol to establish a collective memory amongst all clients of a remote application to detect integrity and consistency violations. LCM enables the detection of rollback attacks against the remote application, enforces the consistency notion of fork-linearizability and notifies clients about operation stability. The protocol exploits the trusted execution environment, complements it with simple client-side operations, and maintains only small, constant storage at the clients. This simplifies the solution compared to previous approaches, where the clients had to verify all operations initiated by other clients. We have implemented LCM and demonstrated its advantages with a key-value store application. The evaluation shows that it introduces low network and computation overhead; in particular, a LCM-protected key-value store achieves 0.72x - 0.98x of a SGX-secured key-value store throughput.
研究动机与目标
- 为解决Intel SGX等TEE中持久状态完整性保护的缺失问题,此类TEE易受回滚和分叉攻击影响。
- 提供一种解决方案,确保分叉线性化,且不依赖可信非易失性计数器或复杂的客户端间验证。
- 通过仅使用常量大小的客户端存储和轻量级密码学操作,将性能开销最小化。
- 在保留回滚和分叉检测能力的同时,支持应用程序在不同TEE之间的迁移。
- 通过一个使用LCM保护的原型键值存储,证明其实用性。
提出的方法
- LCM利用轻量级密码原语和可信执行环境(TEE)特性,在客户端之间建立集体内存。
- 每个客户端维护一份共享状态日志的本地副本,通过TEE保护的应用程序发送的经过认证的消息进行更新。
- 协议通过基于通用版本控制机制,确保操作在各客户端间一致排序,从而强制实现分叉线性化。
- 操作稳定性通过多数客户端已确认某项操作的多数派机制来确定。
- LCM通过利用TEE对状态更新进行认证和传播,避免了直接的客户端间通信。
- 系统使用Merkle树结构高效验证状态一致性并检测篡改。
实验结果
研究问题
- RQ1一种轻量级、基于客户端的协议能否在不依赖可信非易失性计数器的情况下,检测TEE中的回滚和分叉攻击?
- RQ2在TEE环境中,如何以最小性能开销强制实现分叉线性化?
- RQ3为TEE保护的应用添加集体内存协调机制会带来多大的性能影响?
- RQ4LCM能否在保留安全保证的前提下,支持应用程序在不同TEE实例之间的迁移?
- RQ5与现有方法相比,LCM在安全性、一致性和效率方面表现如何?
主要发现
- LCM实现了SGX保护键值存储0.72倍至0.98倍的吞吐量,表明性能开销极低。
- 该协议通过在客户端之间保持应用程序状态的一致、集体视图,成功检测出回滚和分叉攻击。
- LCM在不依赖直接客户端间通信或可信非易失性计数器的情况下,确保了分叉线性化。
- 当多数客户端已确认某项操作时,操作稳定性可被可靠确定,使客户端能够推理一致性。
- 该系统支持在不同TEE之间迁移应用程序,同时保留回滚和分叉检测能力。
- 评估表明,LCM优于以往依赖可信计数器的方法,后者每项操作引入35–95 ms的延迟。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。