Vogls: a Fast Interactive Full-timing Simulator for Pre-silicon Power Side-Channel Analysis
本文介绍了 Vogls,这是一款开源 Verilog 仿真器,它将编译后代码的性能与全时序仿真以及细粒度状态控制相结合,能够高效地为硅前功耗侧信道分析生成大规模轨迹集合,在速度和准确性方面显著优于现有工具。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下你是一位锁匠大师,但你不是在为门制造锁具,而是在构建数字保险库,以保护密码和加密密钥等秘密。多年来,测试你的保险库是否真正安全的唯一方法是制作一个物理原型,交给一支专家级的小偷团队,看他们是否能将其破解。如果他们成功了,你就必须拆除它,重新设计,然后再造一个新的。这个过程极其昂贵、缓慢且令人沮丧。
在计算机芯片的世界里,这个“物理原型”就是实际的硅芯片。但在工程师将熔融硅注入模具之前,他们会创建一个数字蓝图。一个核心问题是:我们能否在制造出真实物体之前,测试这些蓝图是否存在“侧信道”泄漏?侧信道泄漏就像是一个保险库不仅会被撬开,还会通过哼唱旋律、发出特定的颜色光,或者在工作时消耗特定量的电力来泄露其秘密。如果黑客能够测量这些微小的物理线索,他们就能推算出内部的秘密代码。为了阻止这种情况,研究人员需要一种方法来模拟芯片的行为,在计算机上运行,观察每一次细微的电学抽搐,看看它是否正在泄露信息。问题在于,目前的计算机工具要么运行数百万次测试的速度太慢,要么过于简单,无法捕捉到隐藏秘密的那些微妙且快速的故障。
这就是名为 Vogls 的新工具发挥作用的地方。把 Vogls 想象成一个专为安全研究人员设计的、拥有超强能力的、具有“穿越”功能的视频游戏引擎。在论文中,作者将 Vogls 介绍为一个快速、交互式的模拟器,它可以以极高的精度运行数字芯片设计。与那些像是在看慢动作电影的旧模拟器不同,Vogls 的设计初衷是高速运行,从而允许研究人员快速收集海量数据。
该论文的主要发现是,Vogls 是“前硅(pre-silicon)”分析领域的游戏规则改变者,这意味着在芯片物理制造之前对其进行测试。研究人员展示了 Vogls 模拟一个复杂的、带有时间注释的芯片设计速度比一款流行的开源工具 Icarus Verilog 快 5.9 倍。虽然在某个特定设计上它比另一个名为 Verilator 的工具慢约 30%,但 Vogls 提供了一件 Verilator 无法提供的东西:它能够模拟那些通常会导致安全泄漏的微小、瞬时的时序故障。
然而,Vogls 最神奇的功能是它的“分支(fork)”模拟能力。想象一下你在玩一款视频游戏,你必须走过一段漫长而枯燥的长廊(设置阶段)才能到达一个宝箱(你想研究的部分)。在旧的模拟器中,每次你想尝试不同的钥匙时,都必须重新走一遍整个长廊。有了 Vogls,你可以走完长廊,然后在宝箱前按下一个“存档点”。接着你可以创建游戏状态的克隆,尝试不同的钥匙,并瞬间看到结果,而无需再次走过长廊。这使得研究人员能够以极短的时间内运行数千次测试。
作者通过使用 Vogls 对一个数字锁(一个 AES 加密设计)进行“差分功耗分析(Differential Power Analysis)”攻击来测试它。他们成功地利用该模拟器在三个不同的细节层级上恢复了密钥:从高层蓝图(RTL),到门级映射(GTL),最后到包含每一个微小延迟的全时序映射。结果显示,虽然更详细的模型需要更多的数据来破解代码,但 Vogls 都能高效地处理这些模型。
论文明确反对“我们必须等待芯片制造完成后才能测试泄漏”的观点。它还强调,目前的工具并不适合安全分析所需的这种大规模、短促且多样的测试。作者对 Vogls 的模拟结果充满信心,表明 Vogls 使此前难以实现的安全性检查变得切实可行。他们也指出,与成熟的工业标准相比,Vogls 仍是一个新工具,目前它专注于安全所需的特定功能,而非 Verilog 语言的所有功能。通过将 Vogls 开源,作者希望邀请更多人参与进来,共同构建更好的工具,以便在任何一颗芯片被制造出来之前,就确保我们的数字保险库安全。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。