2016年文章中描述的SCA功率攻击称为"安全集成电路电源侧通道的硬件对策",它依赖于对已知纯文本或已知密码文本在AES-128执行过程中功耗波动的测量。此外,攻击者还具有更改密码文本(CPA攻击)的能力。
假设避免暴露这两种情况,例如使用秘密内部密钥和秘密内部计数器(CTR)模式加密。在这种情况下,AES-128块密码用不知道的密钥加密计数器。
此外,密码文本位于外部Flash中。最后,如本文所述,攻击者无法更改密码文本。
这样的方案是否仍然暴露在侧通道攻击之下?
发布于 2018-05-08 13:58:23
由于您总是用相同的密钥解密相同的闪存内容,所以像DPA这样的统计攻击不起作用,因为它们试图查找两个随机变量之间的依赖关系(一个是使用密钥的部分预测的中间值,另一个是测量的当前消耗(S)),在您的示例中,其中一个是恒定的。
攻击者可以从多个测量值(而不是仅使用一个)中获得的唯一用途是取平均值,以降低噪声或应用利用噪声的攻击。否则,攻击者基本上必须使用使用单一电源跟踪的攻击。
如果攻击者能够在相同的设备上运行相同的软件,其中(S)可以选择密钥和密码文本,那么他可以使用它来运行模板攻击的分析阶段,并希望这两种设备具有非常相似的功率特性。
当模板攻击根据观察到的噪声计算概率时,您可以结合几个度量的结果来提高恢复键和数据的机会。
根据我的经验,如果AES是在硬件中实现的,那么非常熟练的攻击者(使用最优模板攻击实现与关键枚举技术相结合)的成功概率相对较低,但对于泄漏设备上的软件实现来说则相当好。
发布于 2018-05-08 19:28:14
如果我能直接访问你的硬件,我就能拿到你的钥匙。
电源攻击基本上是通过读取不同状态下的电流来实现的。如果我能直接接触到这些ICs,我就可以强迫国家。在同步系统中,时钟允许我访问状态。在您的示例中,有一个外部IO,所以让我们假设一个现代流程,在这个过程中,您的核心有不同的总线IO电压。我将把总线IO电压降到零,这样我就可以始终以零读取密码文本。现在我有了关键的排列,在这里我可以做权力分析。(当然,我可以随时解散封面,把一些引线上的FIB和钥匙读出。)
发布于 2018-05-09 13:03:24
在非线性变换(如AES中的子字节变换)中,采用掩蔽对策是一种很好的预防方法。侧面通道在非线性部件上泄漏很大。
如@t.b.a.也就是说,即使你能隐藏尽可能多,但攻击者仍然可以从一个模块内处理的秘密值中捕获物理泄漏。但是,当您实现掩蔽对策(例如生成随机数、r并像r ^ x一样掩蔽它,x是秘密值)时,攻击者只捕获(无用)泄漏来自错误的秘密值(r ^ x)。

但是非线性函数f并不满足于f(x ^ r) != f(x) ^ f(r),所以需要做一个修正的非线性函数来遵循线性函数g,g(x ^ r) = f(x) ^ f(r)的性质。
https://crypto.stackexchange.com/questions/58995
复制相似问题