CRARJun 29, 2020

SeMPE: Secure Multi Path Execution Architecture for Removing Conditional Branch Side Channels

arXiv:2006.16345v2
Originality Incremental advance
AI Analysis

This addresses side-channel vulnerabilities in secure computing, offering a low-overhead solution that reduces programming effort, though it is incremental as it builds on prior architectural approaches.

The paper tackles the problem of secret-dependent conditional branch side channels by proposing SeMPE, an architecture that executes both branch paths to eliminate vulnerabilities, achieving up to 18x performance improvement over existing constant-time methods.

One of the most prevalent source of side channel vulnerabilities is the secret-dependent behavior of conditional branches (SDBCB). The state-of-the-art solution relies on Constant-Time Expressions, which require high programming effort and incur high performance overheads. In this paper, we propose SeMPE, an approach that relies on architecture support to eliminate SDBCB without requiring much programming effort while incurring low performance overheads. The key idea is that when a secret-dependent branch is encountered, the SeMPE microarchitecture fetches, executes, and commits both paths of the branch, preventing the adversary from inferring secret values from the branching behavior of the program. To enable that, SeMPE relies on an architecture that is capable of safely executing both branch paths sequentially. Through microbenchmarks and an evaluation of a real-world library, we show that SeMPE incurs near ideal execution time overheads, which is the sum of the execution time of all branch paths of secret-dependent branches. SeMPE outperforms code generated by FaCT, a constant-time expression language, by up to a factor of 18x.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes