Authors
Sunjay Cauligi, Craig Disselkoen, Klaus v Gleissenthall, Dean Tullsen, Deian Stefan, Tamara Rezk, Gilles Barthe
Publication date
2020/6/11
Book
Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation
Pages
913-926
Description
The constant-time discipline is a software-based countermeasure used for protecting high assurance cryptographic implementations against timing side-channel attacks. Constant-time is effective (it protects against many known attacks), rigorous (it can be formalized using program semantics), and amenable to automated verification. Yet, the advent of micro-architectural attacks makes constant-time as it exists today far less useful.
This paper lays foundations for constant-time programming in the presence of speculative and out-of-order execution. We present an operational semantics and a formal definition of constant-time programs in this extended setting. Our semantics eschews formalization of microarchitectural features (that are instead assumed under adversary control), and yields a notion of constant-time that retains the elegance and tractability of the usual notion. We demonstrate the relevance of our …
Total citations
20202021202220232024929214330
Scholar articles
S Cauligi, C Disselkoen, K Gleissenthall, D Tullsen… - Proceedings of the 41st ACM SIGPLAN Conference on …, 2020