基于Rowhammer的格基密钥封装机制攻击分析
1. 密钥恢复时间估计与攻击实现方式
要估计恢复整个密钥所需的总时间,需要向预言机进行57次独立查询。这相当于在解封装算法实现中,“fail”变量出现57次独立的故障。有很大概率,一次这样的故障发生时间小于350毫秒。因此,这种攻击可以通过对各个查询的时间进行累加来实现,并且可以在一个线性的时间尺度上观察到。
2. 软件驱动的硬件故障攻击
2.1 攻击选择与优化
选择Saber和Kyber密钥封装方案进行故障分析,与现有文献相比,Saber的查询次数减少了39%,Kyber768约减少了23%。这是通过修剪攻击中使用的决策二叉搜索树的选定叶子节点实现的。
2.2 故障诱导步骤
由于商用DDR RAM的可靠性问题,使用Rowhammer进行故障诱导时,故障会随机出现在内存中。为解决此问题,采取以下精确步骤:
1. 对内存空间进行模板化。
2. 列出系统的易受攻击地址。
3. 精确地在这些易受攻击的位置定位目标KEM实现。
在这个过程中,使用公开可用的Hammertime代码对内存空间进行模板化,然后进行一些小的修改,以在同一位置确定性地重新诱导Rowhammer。这个半确定性的过程与Buddy分配器的分页策略相结合,然后将这些位翻转应用于公开可用的目标实现。
2.3 与其他攻击方法的比较
近期有关于Frodo KEM的研究,作者在密钥生成阶段使用Rowhammer引入故障。但CCA安全KEM的密钥生成是一次性操作,很少被调用,必要时甚至可以在离线的隔离环境中完成。而CC
超级会员免费看
订阅专栏 解锁全文
53

被折叠的 条评论
为什么被折叠?



