Skip to Main content Skip to Navigation
Conference papers

Verifying Constant-Time Implementations by Abstract Interpretation

Sandrine Blazy 1 David Pichardie 1 Alix Trieu 1
1 CELTIQUE - Software certification with semantic analysis
Inria Rennes – Bretagne Atlantique , IRISA-D4 - LANGAGE ET GÉNIE LOGICIEL
Abstract : Constant-time programming is an established discipline to secure programs against timing attacks. Several real-world secure C libraries such as NaCl, mbedTLS, or Open Quantum Safe, follow this discipline. We propose an advanced static analysis, based on state-of-the-art techniques from abstract interpretation, to report time leakage during programming. To that purpose, we analyze source C programs and use full context-sensitive and arithmetic-aware alias analyses to track the tainted flows. We give semantic evidences of the correctness of our approach on a core language. We also present a prototype implementation for C programs that is based on the CompCert compiler toolchain and its companion Verasco static analyzer. We present verification results on various real-world constant-time programs and report on a successful verification of a challenging SHA-256 implementation that was out of scope of previous tool-assisted approaches.
Complete list of metadatas

Cited literature [32 references]  Display  Hide  Download

https://hal.inria.fr/hal-01588444
Contributor : Alix Trieu <>
Submitted on : Friday, September 15, 2017 - 4:28:19 PM
Last modification on : Saturday, July 11, 2020 - 3:14:21 AM
Long-term archiving on: : Saturday, December 16, 2017 - 2:29:27 PM

File

esorics17.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01588444, version 1

Citation

Sandrine Blazy, David Pichardie, Alix Trieu. Verifying Constant-Time Implementations by Abstract Interpretation. European Symposium on Research in Computer Security, Sep 2017, Oslo, Norway. ⟨hal-01588444⟩

Share

Metrics

Record views

1390

Files downloads

610