Skip to main content
QUICK REVIEW

[论文解读] Securing the Storage Data Path with SGX Enclaves

Danny Harnik, Eliad Tsfadia|arXiv (Cornell University)|Jun 28, 2018
Advanced Data Storage Technologies参考文献 13被引用 12
一句话总结

本文评估了使用Intel SGX飞地保护静态数据加密在存储系统中的性能表现,表明通过精心配置——尤其是最优缓冲区大小和高效加密库——SGX可实现原生性能的90%–99%。研究发现,尽管SGX能够实现高吞吐量加密,但性能对线程数量、内存访问模式和ECALL开销等实现细节极为敏感。

ABSTRACT

We explore the use of SGX enclaves as a means to improve the security of handling keys and data in storage systems. We study two main configurations for SGX computations, as they apply to performing data-at-rest encryption in a storage system. The first configuration aims to protect the encryption keys used in the encryption process. The second configuration aims to protect both the encryption keys and the data, thus providing end-to-end security of the entire data path. Our main contribution is an evaluation of the viability of SGX for data-at-rest encryption from a performance perspective and an understanding of the details that go into using enclaves in a performance sensitive environment. Our tests paint a complex picture: On the one hand SGX can indeed achieve high encryption and decryption throughput, comparable to running without SGX. On the other hand, there are many subtleties to achieving such performance and careful design choices and testing are required.

研究动机与目标

  • 评估在存储系统中使用Intel SGX飞地保护静态数据加密路径的可行性。
  • 识别在SGX飞地中运行加密操作时的性能瓶颈与设计权衡。
  • 确定基于飞地的加密是否能在性能敏感的存储工作负载中实现与不受信任执行相当的吞吐量。
  • 理解系统级因素(如缓冲区大小、多线程和内存访问模式)对飞地性能的影响。

提出的方法

  • 实现两种SGX飞地配置:一种仅保护加密密钥,另一种实现端到端保护密钥与数据。
  • 通过微基准测试测量不同缓冲区大小、线程数量和内存访问模式(常规内存与加密内存)下的加密吞吐量。
  • 使用Opaque加密库(已移植至SGX)实现高性能加密,避免使用性能欠佳的默认库。
  • 通过预热和冷却阶段运行测试,确保在1–8个线程下系统稳定且完全利用,获得可靠测量结果。
  • 在相同工作负载下,分别测量不受信任(原生)和受信任(SGX飞地)执行模式下的性能表现。
  • 分析ECALL上下文切换、缓存未命中和EPC分页对吞吐量的影响,特别是在加密内存场景下。

实验结果

研究问题

  • RQ1SGX飞地能否在不使用飞地的情况下实现与原生执行相当的高吞吐量静态数据加密?
  • RQ2缓冲区大小、线程数量和内存访问模式如何影响SGX飞地内加密性能?
  • RQ3基于飞地的加密中主要性能瓶颈是什么,例如ECALL开销或缓存未命中?
  • RQ4与常规内存相比,运行在加密内存(EPC)中性能下降程度如何?
  • RQ5设计选择(如加密库选择和多线程策略)如何影响SGX中最终的吞吐量?

主要发现

  • 在最优缓冲区大小(如512KB–1MB)下,SGX飞地对密钥保护和端到端加密的吞吐量可达到原生执行的90%–99%。
  • 当缓冲区大小超过1MB时,多线程性能显著下降,这是由于缓存未命中导致,对不受信任和受信任执行均产生影响。
  • 在加密内存(EPC)中运行时,即使使用最优缓冲区大小,4个线程下的性能仍比不受信任执行低约10%。
  • 较小的缓冲区导致高ECALL开销,而较大的缓冲区则引发缓存抖动,形成一个狭窄的‘最佳性能区间’。
  • 受信任与不受信任执行之间的性能差距在加密内存中最为显著,EPC分页和内存加密增加了延迟。
  • 不存在一种通用配置能适用于所有场景——性能对系统负载、线程数量和后台工作极为敏感,导致在无实测的情况下几乎无法准确预测。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。