“They’re not that hard to mitigate”: What Cryptographic Library Developers Think About Timing Attacks

Investor logo

Warning

This publication doesn't include Institute of Computer Science. It includes Faculty of Informatics. Official publication website can be found on muni.cz.
Authors

JANČÁR Ján FOURNÉ Marcel DE ALMEIDA BRAGA Daniel SABT Mohamed SCHWABE Peter BARTHE Gilles FOUQUE Pierre-Alain ACAR Yasemin

Year of publication 2022
Type Article in Proceedings
Conference 43rd IEEE Symposium on Security and Privacy
MU Faculty or unit

Faculty of Informatics

Citation
Web Website
Doi http://dx.doi.org/10.1109/SP46214.2022.9833713
Keywords constant-time; timing attacks; crypto library; survey; developer survey; expert survey; usable security; human factors; cryptography
Description Timing attacks are among the most devastating side- channel attacks, allowing remote attackers to retrieve secret material, including cryptographic keys, with relative ease. In principle, “these attacks are not that hard to mitigate”: the basic intuition, captured by the constant-time criterion, is that control- flow and memory accesses should be independent from secrets. Furthermore, there is a broad range of tools for automatically checking adherence to this intuition. Yet, these attacks still plague popular crypto libraries twenty-five years after their discovery, reflecting a dangerous gap between academic research and crypto engineering. This gap can potentially undermine the emerging shift towards high-assurance, formally verified crypto libraries. However, the causes for this gap remain uninvestigated. To understand the causes of this gap, we conducted a survey with 44 developers of 27 prominent open-source cryptographic libraries. The goal of the survey was to analyze if and how the developers ensure that their code executes in constant time. Our main findings are that developers are aware of timing attacks and of their potentially dramatic consequences and yet often prioritize other issues over the perceived huge investment of time and resources currently needed to make their code resistant to timing attacks. Based on the survey, we identify several shortcomings in existing analysis tools for constant-time, and issue recommendations that can make writing constant- time libraries less difficult. Our recommendations can inform future development of analysis tools, security-aware compilers, and crypto libraries, not only for constant-timeness, but in the broader context of side-channel attacks, in particular for micro- architectural side-channel attacks.
Related projects:

You are running an old browser version. We recommend updating your browser to its latest version.

More info