Paper 2024/2060

"These results must be false": A usability evaluation of constant-time analysis tools

Marcel Fourné, Paderborn University and MPI-SP
Daniel De Almeida Braga, Rennes University, CNRS, IRISA
Jan Jancar, Masaryk University
Mohamed Sabt, Rennes University, CNRS, IRISA
Peter Schwabe, MPI-SP and Radboud University
Gilles Barthe, MPI-SP and IMDEA Software Institute
Pierre-Alain Fouque, Rennes University, CNRS, IRISA
Yasemin Acar, Paderborn University and George Washington University
Abstract

Cryptography secures our online interactions, transactions, and trust. To achieve this goal, not only do the cryptographic primitives and protocols need to be secure in theory, they also need to be securely implemented by cryptographic library developers in practice. However, implementing cryptographic algorithms securely is challenging, even for skilled professionals, which can lead to vulnerable implementations, especially to side-channel attacks. For timing attacks, a severe class of side-channel attacks, there exist a multitude of tools that are supposed to help cryptographic library developers assess whether their code is vulnerable to timing attacks. Previous work has established that despite an interest in writing constant-time code, cryptographic library developers do not routinely use these tools due to their general lack of usability. However, the precise factors affecting the usability of these tools remain unexplored. While many of the tools are developed in an academic context, we believe that it is worth exploring the factors that contribute to or hinder their effective use by cryptographic library developers. To assess what contributes to and detracts from usability of tools that verify constant-timeness (CT), we conducted a two-part usability study with 24 (post) graduate student participants on 6 tools across diverse tasks that approximate real-world use cases for cryptographic library developers. We find that all studied tools are affected by similar usability issues to varying degrees, with no tool excelling in usability, and usability issues preventing their effective use. Based on our results, we recommend that effective tools for verifying CT need usable documentation, simple installation, easy to adapt examples, clear output corresponding to CT violations, and minimal noninvasive code markup. We contribute first steps to achieving these with limited academic resources, with our documentation, examples, and installation scripts.

Metadata
Available format(s)
PDF
Category
Applications
Publication info
Published elsewhere. Usenix Security '24
Keywords
Applications of cryptographySecurity analysisUsable security and privacy
Contact author(s)
email @ marcelfourne de
ddealmei 0 @ gmail com
445358 @ mail muni cz
mohamed sabt @ irisa fr
peter @ cryptojedi org
gjbarthe @ gmail com
pa fouque @ gmail com
yasemin acar @ uni-paderborn de
History
2024-12-22: approved
2024-12-21: received
See all versions
Short URL
https://ia.cr/2024/2060
License
Creative Commons Attribution-ShareAlike
CC BY-SA

BibTeX

@misc{cryptoeprint:2024/2060,
      author = {Marcel Fourné and Daniel De Almeida Braga and Jan Jancar and Mohamed Sabt and Peter Schwabe and Gilles Barthe and Pierre-Alain Fouque and Yasemin Acar},
      title = {"These results must be false": A usability evaluation of constant-time analysis tools},
      howpublished = {Cryptology {ePrint} Archive, Paper 2024/2060},
      year = {2024},
      url = {https://eprint.iacr.org/2024/2060}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.