Utilizing Performance Counters for Compromising Public Key Ciphers

Sarani Bhattacharya, Debdeep Mukhopadhyay
{"title":"Utilizing Performance Counters for Compromising Public Key Ciphers","authors":"Sarani Bhattacharya, Debdeep Mukhopadhyay","doi":"10.1145/3156015","DOIUrl":null,"url":null,"abstract":"Hardware performance counters (HPCs) are useful artifacts for evaluating the performance of software implementations. Recently, HPCs have been made more convenient to use without requiring explicit kernel patches or superuser privileges. However, in this article, we highlight that the information revealed by HPCs can be also exploited to attack standard implementations of public key algorithms. In particular, we analyze the vulnerability due to the event branch miss leaked via the HPCs during execution of the target ciphers. We present an iterative attack that targets the key bits of 1,024-bit RSA and 256-bit ECC, whereas in the offline phase, the system’s underlying branch predictor is approximated by a theoretical predictor in the literature. Subsimulations are performed corresponding to each bit guess to classify the message space into distinct partitions based on the event branch misprediction and the target key bit value. In the online phase, branch mispredictions obtained from the hardware performance monitors on the target system reveal the secret key bits. We also theoretically prove that the probability of success of the attack is equivalent to the accurate modeling of the theoretical predictor to the underlying system predictor. In addition, we propose an improved version of the attack that requires fewer branch misprediction traces from the HPCs to recover the secret. Experimentations using both attack strategies have been provided on Intel Core 2 Duo, Core i3, and Core i5 platforms for 1,024-bit implementation of RSA and 256-bit scalar multiplication over the secp256r1 curve followed by results on the effect of change of parameters on the success rate. The attack can successfully reveal the exponent bits and thus seeks attention to model secure branch predictors such that it inherently prevents information leakage.","PeriodicalId":220407,"journal":{"name":"ACM Trans. Priv. Secur.","volume":"39 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-01-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"7","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM Trans. Priv. Secur.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3156015","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 7

Abstract

Hardware performance counters (HPCs) are useful artifacts for evaluating the performance of software implementations. Recently, HPCs have been made more convenient to use without requiring explicit kernel patches or superuser privileges. However, in this article, we highlight that the information revealed by HPCs can be also exploited to attack standard implementations of public key algorithms. In particular, we analyze the vulnerability due to the event branch miss leaked via the HPCs during execution of the target ciphers. We present an iterative attack that targets the key bits of 1,024-bit RSA and 256-bit ECC, whereas in the offline phase, the system’s underlying branch predictor is approximated by a theoretical predictor in the literature. Subsimulations are performed corresponding to each bit guess to classify the message space into distinct partitions based on the event branch misprediction and the target key bit value. In the online phase, branch mispredictions obtained from the hardware performance monitors on the target system reveal the secret key bits. We also theoretically prove that the probability of success of the attack is equivalent to the accurate modeling of the theoretical predictor to the underlying system predictor. In addition, we propose an improved version of the attack that requires fewer branch misprediction traces from the HPCs to recover the secret. Experimentations using both attack strategies have been provided on Intel Core 2 Duo, Core i3, and Core i5 platforms for 1,024-bit implementation of RSA and 256-bit scalar multiplication over the secp256r1 curve followed by results on the effect of change of parameters on the success rate. The attack can successfully reveal the exponent bits and thus seeks attention to model secure branch predictors such that it inherently prevents information leakage.
利用性能计数器泄露公钥密码
硬件性能计数器(hpc)是评估软件实现性能的有用构件。最近,hpc的使用变得更加方便,而不需要显式的内核补丁或超级用户权限。然而,在本文中,我们强调hpc泄露的信息也可以被用来攻击公钥算法的标准实现。我们特别分析了在目标密码执行过程中通过hpc泄露的事件分支遗漏所导致的漏洞。我们提出了一种迭代攻击,针对1024位RSA和256位ECC的关键位,而在离线阶段,系统的底层分支预测器由文献中的理论预测器近似。根据事件分支错误预测和目标密钥位值,对每个猜测位进行相应的子模拟,将消息空间划分为不同的分区。在在线阶段,从目标系统上的硬件性能监视器获得的分支错误预测揭示了秘密密钥位。我们还从理论上证明了攻击成功的概率等同于理论预测器对底层系统预测器的准确建模。此外,我们提出了一种改进版本的攻击,它需要更少的hpc分支错误预测痕迹来恢复秘密。在Intel Core 2 Duo、Core i3和Core i5平台上对1024位RSA和256位标量乘法在secp256r1曲线上的实现进行了实验,并给出了参数变化对成功率的影响结果。攻击可以成功地揭示指数位,从而寻求对模型安全分支预测器的关注,从而从本质上防止信息泄漏。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信
小红书