电路设计 沉浸阅读 · 约 9 分钟
全文 3,766 字

波鸿鲁尔大学等发布随机化缓存开销与限制研究

核心导读 波鸿鲁尔大学、马克斯·普朗克安全与隐私研究所和佐治亚理工学院研究人员实现四种随机化缓存设计,并集成到多核乱序RISC-V SoC。FPGA评估显示,延迟与关键路径造成频率和性能损失,资源开销因设计而异。

论文解读:该论文研究如何把用于防御侧信道攻击的随机化缓存从方案描述落到真实硬件。作者实现 Ceaser-S、ScatterCache、SassCache 和 Mirage 四种设计,并将其作为多核乱序 RISC-V 片上系统的最后级缓存,在 FPGA 平台上运行完整基准,评估频率、性能、资源和功耗。研究结果表明,仅对索引推导函数进行流水化并不足够,缓存访问延迟和关键路径会成为主要开销来源。

波鸿鲁尔大学、马克斯·普朗克安全与隐私研究所和佐治亚理工学院的研究人员发表了《硬件中的随机化缓存:挑战与权衡》。

技术论文可在此处查看。2026年10月

Wang, Xinrui、Pascal Kosak、Christof Paar、Daniel Genkin、Yuval Yarom 和 Anirban Chakraborty。《Randomized Caches in Hardware: Challenges and Trade-offs》。arXiv 预印本 arXiv:2611.00282(2026 年)。CC BY 4.0 许可。

arXiv:2611.00282v1 [cs.AR] 2026年10月30日

硬件中的随机化缓存:挑战与权衡

作者单位包括波鸿鲁尔大学、马克斯·普朗克安全与隐私研究所和佐治亚理工学院。

摘要

最近的多项研究提出了随机化缓存设计,通过混淆内存地址到缓存位置的映射来防御侧信道攻击。这些设计通常只规定方案的架构行为,而对具体硬件实现中的现实挑战探索较少。此外,在缺乏硬件实现的情况下,设计者只能借助架构模拟器评估设计,这又引入了一层抽象。为弥合抽象设计与具体实现之间的差距,我们实现了四种代表性随机化缓存设计,即 Ceaser-S、ScatterCache、SassCache 和 Mirage,并将它们作为多核乱序 RISC-V 片上系统(SoC)的最后级缓存(LLC)集成。我们首先识别出多个共同的实现挑战,以及一些与特定设计相关的挑战,并提出了解决这些问题的实用方案。随后,我们通过完整的 FPGA 实现评估所得到的 SoC 变体,并在其上完整运行 SPEC CPU 2017 rate 和 GAPBS 工作负载。据我们所知,这是首次将这些设计集成到同一个完整系统硬件平台上并进行比较评估。我们的研究结果表明,按照以往工作建议仅对索引推导函数(IDF)进行流水化并不足够。在四个变体中的三个里,频率瓶颈转移到设计的其他方面,导致与基线组相联缓存相比,频率最多下降 35%。在保持各设计映射、重密钥和牺牲行选择策略不变的情况下,重新设计关键路径,可使受影响的三个变体频率降至不超过基线频率的 10% 以下,代价是增加延迟或降低并发。我们进一步发现,影响每周期指令数(IPC)的主要因素是 LLC 访问延迟增加,而不是额外未命中;SPEC 的 IPC 最多下降 5%,GAPBS 最多下降 11%。资源开销会因具体资源、设计和实现工艺而显著不同。对于 FPGA,查找表(LUT)数量增加 10% 至 35%;对于 ASIC,面积增加 1% 至 14%。

索引术语:随机化缓存、硬件设计。

I 引言

现代处理器依赖缓存来隐藏内存访问的长延迟。然而,缓存命中与未命中之间的时序差异已成为侧信道攻击的重要来源 [36, 52, 9, 50, 85]。对于跨核共享、可被利用在安全域之间泄露信息的最后级缓存(LLC)而言,尤其如此 [41, 44, 32, 86]。基于争用的攻击通过用攻击者控制的缓存行填充选定缓存组,然后测量对这些缓存行的访问是否变慢来利用这种时序差异,从而揭示受害者是否驱逐了它们。过去二十年的研究表明,此类攻击可泄露加密密钥 [50, 41, 25]、击键和用户行为 [61, 49, 67, 51],以及其他敏感信息 [66, 84, 39, 30]。这些攻击的核心是构建最小驱逐集:映射到同一缓存组、能够共同置换目标缓存行的地址集合 [41, 86, 58, 78, 35, 45, 54, 56, 74]。在传统缓存中,构建驱逐集是可行的,因为地址到缓存组的映射会基于地址位可预测地划分内存地址。

图1:随机化缓存实现的架构概览。

随机化缓存通过打破这种固定映射来对抗基于争用的攻击。早期设计通过查找表随机化地址到缓存的映射 [80, 81],或随机化填充策略 [40],但这些方法针对小型 L1 缓存,难以扩展到大型 LLC。近期设计 [57, 58, 82, 26, 62, 73, 77, 69] 改用带密钥的加密函数计算缓存索引,称为索引推导函数(IDF),打破地址到缓存组的直接映射。以往工作广泛评估了随机化缓存的安全性 [16, 10, 15, 24, 55, 53, 68],指出弱点并提出对策。

尽管这些提案描述了高层设计,但没有达到完整硬件实现。现有工作主要关注少数孤立的实现问题。例如,多数设计认识到必须对 IDF 进行流水化以满足时序约束,并估计由此导致的缓存访问延迟增加。然而,IDF 之外的集成挑战,例如关键路径分析、控制流水化、冒险管理和未命中状态保持寄存器(MSHR)锁定,受到的关注较少。

在缺乏具体实现的情况下,性能评估主要依赖架构模拟器 [13, 27, 42, 60]。尽管这些模拟器对早期探索非常有价值,但它们往往会抽象掉许多实现问题,从而带来不准确 [1, 31, 79, 29]。此外,这些工具的模拟速度严重限制了可模拟的代码量。因此,评估只覆盖较短的指令序列,通常为数十亿条或更少 [62, 16, 10]。硬件成本评估面临类似限制。没有可综合实现时,面积、时序和能耗通常使用 CACTI [46] 等分析模型估算,而不是来自已实现设计。

两项工作实现了 Ceaser [70] 和 ScatterCache [19] 的变体。两者都面向顺序执行的 RocketChip 核心 [17],留下了这些设计如何适用于具有推测执行和乱序执行的高性能核心的问题。此外,由于每项工作只实现一种设计,跨设计实现权衡的直接比较仍然缺失。这引出以下问题:随机化缓存实现的挑战和权衡是什么?在完全集成后,它们会在时钟频率、性能和面积方面付出什么代价?

本工作通过图1所示的端到端研究回答这些问题。第一步,我们选择四种代表性随机化缓存设计,即 Ceaser-S [58]、ScatterCache [82]、SassCache [26] 和 Mirage [62],它们突出设计空间的不同方面。我们识别了实现这些设计的若干挑战:一些源于多数现代随机化缓存所基于的倾斜缓存设计 [65],另一些由某些特定设计的重定位和间接访问方面引入。我们提出解决这些挑战的方案,并开发了四种缓存设计的 RTL 实现。

我们将不同缓存设计作为多核乱序 NaxRiscv [71] RISC-V SoC 的 LLC 进行集成,并在 FPGA 上综合生成的系统。综合后的 SoC 使我们能够表征实现的物理特性,包括最高工作频率、资源利用率和功耗。此外,通过在综合后的 SoC 上启动 Linux,我们执行完整的基准测试套件,如 SPEC CPU2017 [72] 和 GAPBS [6]。FPGA 的执行速度使这些基准能够运行至完成,每个基准平均 2900 亿条指令,部分超过 1 万亿条指令,从而在完整应用执行过程中测量缓存随机化的性能影响,而不是在短暂的模拟指令窗口中测量。

我们观察到,除了动态分区会降低有效缓存容量的 SassCache 外,随机化缓存设计带来类似的每周期指令数(IPC)损失。该损失与 LLC 访问率高度相关,在内存密集型工作负载中最高达到 10%,而与未命中相关的影响仍然次要。向标准组相联缓存增加三个周期延迟,即与 ScatterCache 和 Mirage 的 IDF 延迟一致,即可复现大部分 IPC 损失。综合来看,这些观察表明,IDF 引入的延迟,而非缓存未命中增加,是 IPC 下降的主导因素。

我们进一步观察到,IDF 并非信号传播延迟的唯一来源。即使 IDF 已流水化,所有设计仍出现频率下降,ScatterCache 为 1%,Mirage 为 35%,这一效应迄今被忽视。关键路径分析显示,异步操作,例如 Ceaser-S 中的重定位和 Mirage 中的间接访问,是大幅频率下降的主要来源。我们重新设计 SassCache、Ceaser-S 和 Mirage 以缓解这些关键路径,以额外 LLC 延迟或缓存锁定为代价恢复了大部分损失的频率。总体而言,在同时考虑 IPC 下降和频率降低后,随机化缓存使最大执行吞吐量最多降低 35%。

总之,我们作出以下贡献:我们提供了支持随机化缓存的先进 SoC 的首个完整实现(第 III 和 IV 节);我们识别并分析了设计中频率下降的原因,并展示如何克服它们(第 V 节);我们对这些设计的性能和资源使用进行了端到端比较(第 VI 节)。

II 背景

II-A 缓存与缓存攻击

阅读全文,请访问:https://arxiv.org/abs/2611.00282

来源: 海外媒体

相关推荐
评论区

登录后即可参与技术讨论与同行交流

免费注册