Published June 15, 2020
| Version v1
Conference paper
Constant-Time Foundations for the New Spectre Era
Contributors
Others:
- University of California [San Diego] (UC San Diego) ; University of California (UC)
- Secure Diffuse Programming (INDES) ; Inria Sophia Antipolis - Méditerranée (CRISAM) ; Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)
- Max Planck Institute for Security and Privacy (MPI SP)
- Institute IMDEA Software [Madrid]
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 semantics in two ways: First, by contrasting existing Spectre-like attacks with our definition of constant-time. Second, by implementing a static analysis tool, Pitchfork, which detects violations of our extended constant-time property in real world cryptographic libraries.
Abstract
PLDI '20Abstract
International audienceAdditional details
Identifiers
- URL
- https://hal.inria.fr/hal-03141383
- URN
- urn:oai:HAL:hal-03141383v1
Origin repository
- Origin repository
- UNICA