我现在正在为 IB 做一篇扩展论文,我正在研究 RSA 的安全性。
由于侧信道攻击是一类攻击,我想知道(因为我正在努力得出结论)虽然有对策,但它们中的大多数是否真的不提供绝对隐私,而只是降低风险?是否有任何现有的侧信道攻击的绝对解决方案?
由于这些对策并不为公众所广泛了解,人们是否真的可能不会采用这些措施。大多数消费标准设备通常都没有内置这些措施,这也是真的吗?
我现在正在为 IB 做一篇扩展论文,我正在研究 RSA 的安全性。
由于侧信道攻击是一类攻击,我想知道(因为我正在努力得出结论)虽然有对策,但它们中的大多数是否真的不提供绝对隐私,而只是降低风险?是否有任何现有的侧信道攻击的绝对解决方案?
由于这些对策并不为公众所广泛了解,人们是否真的可能不会采用这些措施。大多数消费标准设备通常都没有内置这些措施,这也是真的吗?
他们中的大多数是否真的不提供绝对的隐私,而只是降低风险?
不,其中许多完全消除了风险。使用算法的恒定时间实现而不是在依赖于秘密的条件上进行分支可确保正在处理的秘密可证明对时间没有影响,从而使此类旁道攻击成为不可能。一些加密算法,如Ed25519,旨在使具有全面侧信道阻力的实现成为可能和实用。在其他情况下,硬件本身旨在使侧信道攻击难以实施。许多现代 x86 处理器中的AES-NI就是其中之一。它是一个指令集,可为 AES 加密提供加速,并额外以恒定时间运行。
是否有任何现有的侧信道攻击的绝对解决方案?
对于某些类别的侧信道攻击,例如基于时间的攻击,是的。往上看。对于涉及诸如差分功率分析之类的更高级的攻击,通常没有办法完全避免它们,除非使用专为安全设计的专用微处理器,例如硬件安全模块(HSM)中使用的微处理器。廉价的消费电子产品不太可能采取此类措施,因为它们会提高基本制造成本。
存在大量不同的侧信道攻击。一般来说,它们分为三类:
通过在处理机密的同一系统上执行代码来完成的攻击。这些攻击包括定时攻击和缓存攻击,如果可以在目标设备上执行代码,则可以远程完成且无需物理访问。缓解措施涉及安全的软件设计。这是最容易发动的攻击,也是最容易缓解的攻击。
需要被动监控硬件的攻击。差分功率分析和热成像攻击属于这一类。它需要对目标设备和通常非常专业的设备进行物理访问,但即使没有在目标上执行代码也可以完成。
故障攻击,通过在称为故障的过程中为 IC 提供不正确的电压或不稳定的时钟等操作在设备中触发错误。即使是抗侧信道软件也容易受到此攻击。有时这甚至可能涉及从物理上去除芯片表面并用聚焦的激光对其进行射击以触发故障。这些故障的结果有时可以通过侧信道攻击来检测。这通常会导致设备的物理损坏,并且自然需要物理访问。
减轻第一个通常可以在软件中廉价地完成。根据实际攻击,在软件中缓解第二个可能或不可能,并且在软件中很少可能缓解第三个,尽管可以设计具有足够专业知识的抗故障攻击软件。
由于这些对策并不为公众所广泛了解,人们是否真的可能不会采用这些措施。大多数消费标准设备通常都没有内置这些措施,这也是真的吗?
这通常是正确的,尤其是当产品不使用提供这些缓解措施的已建立且流行的库(如 OpenSSL)而是尝试自行设计时。这些设备通常很容易受到侧信道攻击,滥用这些弱点是可行的。
不幸的是,标准消费设备确实使用此类缓解措施的唯一情况是使用 DRM,以防止其用户越狱自己的设备或在其上运行自己的代码。这样做的公司自然更关心避免盗版(以限制用户自由为代价)而不是针对恶意攻击的安全性。这是因为,在他们的威胁模型中,对手是您,设备所有者,而不是想要获取您的私人信息的人。