SeMPE:用于消除条件分支侧信道的安全多路径执行架构
密码学与安全
2020-07-30 v2 硬件体系结构
摘要
侧信道漏洞最普遍的来源之一是条件分支的机密相关行为(SDBCB)。最先进的解决方案依赖于恒定时间表达式(Constant-Time Expressions),其需要较高的编程工作量并带来较高的性能开销。在本文中,我们提出 SeMPE,一种依赖架构支持以消除 SDBCB 的方法,其无需大量编程工作量且带来较低性能开销。核心思想是,当遇到机密相关分支时,SeMPE 微架构获取、执行并提交该分支的两条路径,从而阻止 adversary 从程序的分支行为推断机密值。为实现这一点,SeMPE 依赖一种能够安全地顺序执行两条分支路径的架构。通过微基准测试和一个真实库的评价,我们表明 SeMPE 带来近乎理想的执行时间开销,即所有机密相关分支路径执行时间之和。SeMPE 相比由恒定时间表达式语言 FaCT 生成的代码,性能最高提升 18 倍。
引用
@article{arxiv.2006.16345,
title = {SeMPE: Secure Multi Path Execution Architecture for Removing Conditional Branch Side Channels},
author = {Andrea Mondelli and Paul Gazzillo and Yan Solihin},
journal= {arXiv preprint arXiv:2006.16345},
year = {2020}
}
备注
This paper is currently under submission. We arXiv our paper to establish credit for inventing this work