简单防御功率分析?

信息安全 密码学 防御 攻击向量 定时攻击 侧信道
2021-08-27 22:54:17

我想听听您的意见,以及我提出的防御对功率分析的效果如何。它是最恶劣的侧信道攻击之一,因为它是不可检测且被动的,但假设您的电源板可以信任它应该可以工作:

我们使用一个带有 7-8 个插槽的电源板,插入 PC 的 2 根电缆(通常是显示器 + 电源单元),并将其他设备放入其他 6 个插槽。每当我们执行敏感的加密操作(如签名密钥或解密)时,我们只需打开其他设备,以对功耗产生干扰。因此,它将从功率分析中变得无法检测到,因为功率波重叠并且尖峰(由加密操作引起)将变得无法从其他设备的尖峰中检测到。特别是如果您将冰箱或洗衣机插入同一个电源板上,因为这些设备会周期性地消耗电力,所以会出现电源尖峰,这将隐藏您的 PC 的加密操作。

这行得通吗?

4个回答

除非你想烧毁你的房子,否则你不应该把洗衣机和你的电脑连接到同一个电源板上,或者把大量的开关串联起来。照这样说...

根据对手的不同,缓解功率分析攻击可能容易或困难。如果他们只是测量用电量,您可以通过使用在线双转换 UPS来减轻它. 那是一种 UPS,其逆变器始终运行,由整流器驱动,整流器本身连接到墙上电源。电池与直流整流器平行放置,以便在墙壁(以及整流器)断电时立即接管。这确保了停电或断电期间的零延迟。由于逆变器损耗,它们的效率低于线路交互式 UPS(后者仅通过墙上的电源并在电压或频率超出设定范围时切换到内部电源),但它们会减轻简单的功率分析攻击,因为受损信号不太可能通过逆变器而幸存下来。如果你的对手在你的房子外面,无论如何这不太可能是必要的,因为敏感的电力使用信息往往不会通过第一个大型变压器,如果没有记错的话。即使在建筑物外滥用受损的智能电表也是不太可能对功率分析有用

如果您的对手特别先进或将探针连接到非常靠近计算机的位置,那么您将无法通过COTS硬件缓解复杂的攻击。您需要为EMSEC设计特殊的硬件。特别是,您可能需要为您使用的任何硬件获得NATO SDIP-27 (TEMPEST) 认证,以确保不会释放有危害的放射物。

因此,它将从功率分析中变得无法检测到,因为功率波重叠并且尖峰(由加密操作引起)将变得无法从其他设备的尖峰中检测到。

不幸的是,这不起作用。与 EMSEC 相关的是高频域(通常为 300 MHz 及以上)。只需打开其他设备,它就不会变得无法检测。事实上,通过有效地制造天线,它实际上可能会使情况变得更糟。当受到功率分析攻击时,即使是使用相同电源的十几台其他计算机也无法掩盖廉价 PS/2 键盘中的单个8051微处理器。EMSEC 很复杂。您不能仅通过插入其他设备并希望它们掩盖高频域来减轻它。

傅里叶变换

上面的动画演示了在不同频域中添加多个正弦波如何叠加成一个看似混乱的模式。事实上,分析这样的波形并提取每个频域很容易。插入其他机器会增加低频域。然后,只需对波形进行傅里叶分析,即可提取出完全未损坏的泄漏高频信息。

即使您对添加的频率有绝对的控制权,仍然很难屏蔽现有信号。只要问任何试图干扰DSSS信号而无法预测序列的人。在您的情况下,您甚至不会产生高幅度干扰。您正在打开另一台机器,该机器的设计目的是不会造成干扰,并且无疑不会在所有正确的频率上发送强烈的干扰信号!

不会。原因是涉及到密码学的功率分析依赖于某些签名,例如特定的信号频率,因此即使您有大型设备正在运行,仍然可以检测到。

你的“防御”更像是试图用白噪声掩盖莫尔斯电码。是的,莫尔斯电码对人类来说可能无法区分,但是通过技术,您可以从乱码的声音信号中挖掘出莫尔斯电码。

更好的防御方法是使用 UPS。假设计算机的位置是“安全的”,正如您最初的辩护所假设的那样,换句话说,您可以在那里放置一个 UPS。当然,UPS 应该是“在线”的,例如不是基于继电器的,而是一个带有电池、充电器和逆变器的不间断电源。

这样的 UPS 将消除输入和输出端的电流消耗、电压尖峰和杂质,因为有变压器可以消除交流电。


如果你想要超安全,你可以安排这个,注意UPSA和UPSB必须非常大,可以驱动你的电脑几个小时甚至几天。UPSB 还必须比 UPSA 大,并且能够提供比 UPSA 更多的功率,并且 UPSB 必须比 UPSA 消耗的速度更快地充满电:

计算机 --> UPSA --> SwitchA --> UPSB --> SwitchB --> 墙壁插座。

  • 初始状态 SwitchA 关闭,SwitchB 开启。
  • 当 UPSA 开始放电时,首先关闭 SwitchB,然后打开 SwitchA。现在 UPSB 将向 UPSA 收费。一段时间后,您将得到一个已放电的 UPSB 和一个已充电的 UPSA。
  • 现在,关闭 SwitchA 并打开 SwitchB。现在UPSA 将消耗到您的计算机,而UPSB 将收费。
  • 当 UPSA 放电后,您的 UPSB 应该有足够的电量,这样您就可以关闭 SwitchB,然后再打开 SwitchA。等等等等。

在这里,还可以进行自动切换和充电管理,这样 UPSA/UPSB 就不会完全充电/放电,以延长电池的使用寿命。

请注意,在上述解决方案中,计算机从未直接连接到墙壁插座,两者之间至少有一个打开/关闭开关,开关 A 或开关 B。这也会导致 UPS 显着磨损,因此如果您真的想要超安全,则需要增加重量。


一个更简单的方法,仍然是超超安全的,是使用一个 UPS,当你“安全”时,你可以从墙上的插座上拔下它。您也可以用笔记本电脑来实现这个想法,笔记本电脑成为“第二个”UPS。

功率分析测量设备的最佳放置位置是直接安装在机器电源上,或者可能与直接从机器电源引出的电缆串联。如果将测量设备放置在插座的另一侧,我认为攻击不会奏效,这是您的建议试图干扰的。即使攻击会从插座之外进行,如果测量设备位于或靠近机器的电源,那么这就是需要发生干扰的地方。因此,基于此,我猜您的建议不适用于靠近电源的测量设备。

免责声明:这个答案大部分是假设,很可能是错误的。我希望对功率分析和/或一般电力有更多了解的人会在这里加入。

它可能会起作用。但是,每次解密驱动器时都要洗很多衣服,这也完全是矫枉过正。尤其是考虑到像 AES 这样的算法实际上仍然不可能暴力破解,即使是边信道攻击。在服务器机房和数据中心中间看不到洗衣机是有原因的。我很想看看在硬件安全方面有更多知识的人是否有另一个答案,但与此同时,我想我会试一试,并感谢您提出的有趣问题。