想象你正在运营一座高安全级别的银行金库(即NTT,数论变换)。这座金库是一种新型数字锁——后量子密码学(如 Kyber 系统所用)——的引擎室。它的职责是极快地执行极其复杂的数学运算,以保护你的数据免受未来超级计算机的威胁。
然而,坏人有两种主要方式可以闯入:
- “特洛伊木马”破坏者:一个微小的、隐藏在金库机械内部的硬件组件(硬件特洛伊木马)。它不直接窃取资金,而是通过干扰开关和杠杆(控制信号)来阻止金库正常工作、使其运行过慢,或强迫它打开错误的门。
- “窃听间谍”:一个通过观察金库开启所需时间或功耗来猜测密码的间谍(侧信道攻击)。
本文提出了一种名为抗特洛伊木马 NTT的全新、超安全版金库引擎。以下是其工作原理,使用简单的类比说明:
1. “双重检查”系统(控制流完整性)
想象金库有一位主要经理(控制单元),负责下达诸如“打开 A 门”或“开始计算”之类的指令。
- 问题:破坏者可能潜入并篡改经理的指令,命令金库跳过步骤或按错误顺序运行。
- 解决方案:作者构建了一位影子经理(一个轻量级的备用寄存器)。这位影子经理不执行任何实际工作,只是监视主要经理。
- 如果主要经理说“打开 A 门”,影子经理会预期在同一时刻看到“打开 A 门”。
- 如果主要经理突然说“打开 B 门”或陷入停滞,影子经理会立即发出红色警报:“嘿!指令与计划不符!”
- 为何出色:影子经理与主要机械完全分离。即使破坏者攻陷了主要经理,由于影子经理的构建方式不同且位于不同位置,他们也无法轻易攻陷它。
2. “秒表”(时钟周期计数器)
想象金库处理一笔交易本应恰好耗时 10 秒。
- 问题:破坏者可能试图通过卡住齿轮来减缓金库速度,使其耗时 15 秒。这种延迟可被用来窃取秘密,或直接导致系统崩溃。
- 解决方案:金库内置了一个秒表(时钟周期计数器),它计算每一次时钟滴答。
- 如果金库在 10 个滴答内完成,一切正常。
- 如果耗时 11 个滴答(因为破坏者卡住了齿轮),秒表会大喊:“太慢了!出问题了!”
- 这能捕捉任何试图延迟处理的行为,无论是意外还是蓄意攻击。
3. “魔法面具”(局部掩码)
想象金库正在处理一个秘密数字。外面的间谍正通过观察功率表,根据机器的工作强度来猜测这个数字。
- 问题:间谍通过观察功耗模式中的规律,推断出秘密。
- 解决方案:金库使用魔法面具。每次写入一个秘密数字时,它会先将其与一个随机的虚假数字混合。
- 对间谍而言,功耗看起来像是随机噪声。由于秘密始终被一层“静电”掩盖,他们无法辨别真正的秘密。
- 金库知道如何在最后移除面具以获得真实答案,但间谍看到的只有混乱。
4. “自愈”机制(自适应故障纠正)
这是最独特的部分。如果金库检测到问题(来自影子经理或秒表的红色警报),它不会直接关闭,而是尝试通过三个层级的“修复”来自我恢复:
- 层级 1:“让我们再试一次。”
如果错误只是微小的故障,金库会直接丢弃错误结果,并立即重新运行该特定步骤。这就像一名跑步者被小石子绊倒,起身后继续跑完这一圈,无需停顿。
- 层级 2:“重启同一房间。”
如果故障再次发生,金库会将自身的指令(比特流)重新加载到芯片上的完全相同位置。这就像电脑崩溃后重新启动同一程序以清除临时错误。
- 层级 3:“搬到一个新房间。”
如果问题在同一个位置持续发生,金库会意识到芯片的该特定区域可能已被破坏者“投毒”。它会获取一套全新的指令,并将整个操作迁移到芯片上完全不同的、干净的区域。
- 智能之处:系统为芯片中的每个“房间”维护一个“风险评分”。如果某个房间有故障历史,系统会避开它;如果某个房间是干净的,系统会将工作发送过去。
结果
作者在真实芯片(FPGA)上使用 Kyber 加密标准测试了该系统。
- 成功率:他们模拟了数千次攻击(如卡住齿轮或更改开关)。该系统检测到了**100%**的问题。
- 成本:“影子经理”、“秒表”和“魔法面具”仅使金库体积略微增大(约增加 20% 的空间),并略微降低速度(极少量的能耗)。
- 结论:他们证明,你可以建造一座不仅锁住大门,还能监视自己的守卫、计时自己的动作,并在当前房间被攻陷时迁移到新房间的金库,且这一切都不会导致破产。
简而言之,本文构建了一个具备自我意识、能够自愈的数学引擎,它拒绝被试图干扰其控制或计时的破坏者所欺骗。
以下是论文《Trojan-Resilient NTT:保护可重构平台免受控制流与时序故障侵害》的详细技术总结。
1. 问题陈述
数论变换(NTT)是基于格的后量子密码(PQC)算法(如 Kyber、Dilithium、NTRU)的关键组成部分,它将多项式乘法的复杂度从 O(n2) 降低至 O(nlogn)。然而,NTT 在 FPGA 等可重构平台上的实现容易受到以下威胁:
- 硬件木马:在供应链(RTL、综合、晶圆厂或比特流阶段)中插入的恶意修改,主要针对控制信号而非数据。单个被篡改的控制信号即可破坏整个控制流或引入非正常的延迟,导致灾难性故障或信息泄露。
- 侧信道攻击(SCA):特别是软分析侧信道攻击(SASCA),攻击者利用功耗或时序泄露来恢复秘密份额。
- 现有方案的局限性:先前的工作主要侧重于检测数据信号中的故障(需要大量重计算),或使用与主设计紧密耦合的控制流冗余逻辑,使其同样容易受到木马攻击。目前缺乏能够同时检测控制流中断、时序异常和 SASCA,并提供自适应修正且无显著性能开销的解决方案。
2. 方法论
作者提出了一种安全 NTT 架构,集成了三种主要检测机制和一个自适应故障修正系统。
A. 故障检测机制
通过独立备份 CSR 实现控制流完整性(CFI):
- 作者引入了一种轻量级右移寄存器(RSR),该寄存器完全独立于主 NTT 逻辑,而不是在逻辑内部复制主控制状态寄存器(CSR)(后者可能被木马篡改)。
- 主 CSR 生成控制信号(如
rd_en、wr_en、barrett_strt)。RSR 监控这些信号。
- 逻辑:RSR 与主 CSR 同步移位。如果主逻辑被篡改(例如,木马门控时钟或翻转复位),RSR 的预期状态将与实际控制信号发生偏离,从而触发
cfi_fault。
- 这验证了特定模块的完整性:
poly_mem、Barrett 约减 和 uv_add/sub。
通过时钟周期计数器(CCC)实现时序完整性:
- CCC 监控关键模块的活跃持续时间。
- 对于 n−1 次多项式,NTT 需要固定数量的周期:(logn×n/2)+(p−1),其中 p 是流水线深度。
- 如果木马引入延迟(使流水线停滞)或加速操作,CCC 会检测到与预期周期数的偏差,从而触发
ccc_fault。
通过局部掩码(LM)缓解 SASCA:
- 为防止 SASCA,该架构在向多项式存储器(
poly_mem)写入操作期间随机化旋转因子(ω)。
- 系统不直接写入 (U+V) 和 (U−V),而是写入 (U+V)ωr 和 (U−V)ωr,其中 ωr 是一个随机因子。
- 这掩盖了与实际数据相关的功耗特征,防止泄露。在逆 NTT 中,因子乘以 ωr−1 以恢复原始系数。
B. 自适应故障修正
检测到故障(cfi_fault 或 ccc_fault)后,系统采用比特修补器(主机端软件)和**部分重配置(PR)来修正错误,而无需永久停止系统。修正策略基于风险因子(Ri)**进行自适应调整:
- 风险因子(Ri)计算:系统根据检测到的故障频率除以运行次数,计算每个可用 PR 比特流位置的风险评分。这防止了对频繁使用的核心产生偏差。
- 三种修正措施:
- 重复前一次循环(低风险):如果故障计数较低,系统丢弃当前迭代的结果,并使用相同的比特流重新执行循环。
- 重新加载 PR 比特(中等风险):如果故障计数超过较低阈值,系统将相同的 PR 比特流重新加载到相同的 FPGA 位置(重置潜在的瞬态状态)。
- 迁移 PR 比特(高风险):如果故障计数超过较高阈值,系统选择具有最低 Ri(最低风险)的 PR 比特流,并将 NTT 重新配置到 FPGA 平面上的不同物理位置。
- 动态互连:总线互连动态地将控制信号和存储器接口路由到当前活动的 NTT 实例,允许在 PR 位置之间无缝切换。
3. 主要贡献
- 首个专注于控制流的防御:与先前侧重于数据信号的工作不同,这是首个利用独立、轻量级备份寄存器(RSR)专门针对控制信号木马以确保控制流完整性(CFI)的设计。
- 自适应修正策略:引入了一种新颖的故障修正算法,根据计算出的风险因子(Ri)动态选择重执行、重新加载或迁移,而不是采用静态的“总是迁移”方法。
- 全面保护:在单一架构中同时解决了控制流完整性、时序故障(通过 CCC)和 SASCA(通过局部掩码)。
- 最小开销:该方案设计注重高效率,避免了全量重计算或大规模冗余带来的沉重资源成本。
4. 结果与评估
该系统在 Artix-7 FPGA 上使用 Kyber PQC 算法(变体 512、768 和 1024)进行了实现。
- 故障检测与修正效率:
- 100% 检测率:CFI 和 CCC 模块检测到了控制信号上所有模拟的“固定为 0"和“固定为 1"故障。
- 100% 修正率:所有检测到的故障均通过自适应模块成功修正,确保了正确的密码学输出。
- 开销分析:
- 面积:与基准 NTT 相比,故障检测和修正模块产生了 19.7% 的切片开销。仅检测模块仅增加 8.7%。
- 能量:总能量开销为 3%。
- 时序:
- 检测不增加任何时序开销。
- 修正开销取决于措施:
- 重复循环:约 10 ns(1 个时钟周期)。
- 重新加载 PR:约 150 µs(ICAP 传输时间)。
- 迁移 PR:约 256 µs(包括搜索最佳比特流)。
- 木马场景:该系统有效缓解了位于上游/下游数据路径、NTT 核心内部甚至监控逻辑内部的木马(尽管后者被指出,如果监控器本身被破坏,则是一个关键故障点)。
5. 意义
本文展示了后量子密码硬件安全方面的重大进展。通过将重点从数据完整性转移到控制流完整性,它解决了一种高影响、低成本的攻击向量,而传统故障检测往往忽视这一点。自适应修正机制在安全性和性能之间提供了实用的平衡,使系统能够以最小的延迟和资源惩罚从复杂的硬件木马中恢复。这项工作为在供应链安全无法完全保证的关键基础设施(国防、航空航天、电信)中部署具有弹性的 PQC 加速器铺平了道路。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。