Low Voltage Fault Attacks to AES and RSA on General Purpose Processors

Low Voltage Fault Attacks to AES and RSA on General Purpose Processors
复制标题

DOI:
--
复制
发表时间:
2010
期刊:
IACR Cryptol. ePrint Arch.
影响因子:
--
通讯作者:
Alessandro Barenghi;G. Bertoni;L. Breveglieri;M. Pellicioli;Gerardo Pelosi
Alessandro Barenghi;G. Bertoni;L. Breveglieri;M. Pellicioli;Gerardo Pelosi
中科院分区:
其他
文献类型:
--
作者:
Alessandro Barenghi;G. Bertoni;L. Breveglieri;M. Pellicioli;Gerardo Pelosi

文献摘要

被引文献

相似文献

近年来,故障注入攻击已被证明是利用稳健密码算法的实施弱点的强大工具。已经设计了许多旨在干扰密码原语计算的不同技术,并且已成功地用于泄漏从错误结果推断出的秘密信息。特别地,这些技术中的许多技术涉及直接篡改计算设备以改变嵌入式存储器的内容,例如通过用激光束照射它。在这篇文章中,我们提出了一种低成本、非侵入性且有效的技术,通过降低 ARM9 通用 CPU 的馈电电压来注入故障。这是故障攻击文献中第一个可用的结果,用于攻击在具有完整操作系统的成熟 CPU 上运行的密码系统的软件实现。正在考虑的平台(运行完整 Linux 2.6 内核的 ARM9 CPU)广泛用于移动计算设备,例如智能手机、游戏平台和网络设备。我们从计算结果的后续频率和损坏模式方面充分描述了故障模型和计算中引起的错误。首先,我们使用公开文献中已知的技术验证所提出的故障模型的有效性,以引导对 RSA 和 AES 密码系统实施的实际攻击。然后我们设计了两种新的攻击技术,每种密码系统一种。对 AES 的攻击能够检索所有轮密钥,无论其派生策略和轮数如何。已经设计了一种针对 RSA 加密的已知密文攻击:在知道同一明文的正确和错误加密结果的情况下检索明文,并假设该错误破坏了公钥指数。通过实验验证,我们表明我们可以破解任何大约 4 kb 密文的 AES、具有 3 到 5 个错误的 RSA 加密以及具有 1 到 2 个错误的 RSA 签名。
Fault injection attacks have proven in recent times a powerful tool to exploit implementative weaknesses of robust cryptographic algorithms. A number of different techniques aimed at disturbing the computation of a cryptographic primitive have been devised, and have been successfully employed to leak secret information inferring it from the erroneous results. In particular, many of these techniques involve directly tampering with the computing device to alter the content of the embedded memory, e.g. through irradiating it with laser beams. In this contribution we present a low-cost, non-invasive and effective technique to inject faults in an ARM9 general purpose CPU through lowering its feeding voltage. This is the first result available in fault attacks literature to attack a software implementation of a cryptosystem running on a full fledged CPU with a complete operating system. The platform under consideration (an ARM9 CPU running a full Linux 2.6 kernel) is widely used in mobile computing devices such as smartphones, gaming platforms and network appliances. We fully characterise both the fault model and the errors induced in the computation, both in terms of ensuing frequency and corruption patterns on the computed results. At first, we validate the effectiveness of the proposed fault model to lead practical attacks to implementations of RSA and AES cryptosystems, using techniques known in open literature. Then we devised two new attack techniques, one for each cryptosystem. The attack to AES is able to retrieve all the round keys regardless both their derivation strategy and the number of rounds. A known ciphertext attack to RSA encryption has been devised: the plaintext is retrieved knowing the result of a correct and a faulty encryption of the same plaintext, and assuming the fault corrupts the public key exponent. Through experimental validation, we show that we can break any AES with roughly 4 kb of ciphertext, RSA encryption with 3 to 5 faults and RSA signature with 1 to 2 faults.