时间防护面向分支预测的脆弱性分析
时间攻击是一种侧信道攻击,攻击者通过分析密码算法的执行时间来尝试破坏密码系统.为了防御这种攻击,密码算法通过constant-time方案来减少或消除与数据相关的时间信息.我们发现处理器中的分支预测机制将为这些防护方案引入新的时间泄漏.然而,目前缺乏不同constant-time防护方案在这种场景下的有效性分析.本文基于RSA模幂算法的防护实现,评估了四种不同防护方案面向分支预测的有效性.我们提出了时间防护面向分支预测的安全性评估框架,从泄漏量和泄漏模型刻画的角度,对防护方案在分支预测下的有效性进行评估.一方面,我们基于Welch t检验,对不同防护方案的分支预测泄漏进行了度量.另一方面,基于对分支预测机制的理论分析,我们对防护方案的泄漏模型进行了刻画,提出了基于分支预测状态注入的时间攻击.通过正确和错误密钥猜测的统计量差距,我们对不同方案的抗分支预测攻击能力进行了评估.实验结果表明,算法上不存在时间泄漏的防护方案,在面向分支预测时,仍然可能存在时间泄漏.其中,conditional assignment方案虽然避免了分支预测泄漏,但仍存在由运行优化导致的时间泄漏.Transactional branching方案相比于其他方案,泄漏的t统计量约为40,是其他方案分支预测泄漏量的1/3,在面对分支预测攻击时有更好的抵抗性.
侧信道攻击;时间攻击;constant-time防护;分支预测攻击;RSA
8
TP309.7(计算技术、计算机技术)
国家自然科学基金;武汉市科技应用基础前沿专项
2021-11-16(万方平台首次上网日期,不代表论文的发表时间)
共14页
820-833