Communication Dans Un Congrès Année : 2025

Protecting cryptographic code against Spectre-RSB (and, in fact, all known Spectre variants)

Résumé

It is fundamental that executing cryptographic software must not leak secrets through side-channels. For software-visible side-channels, it was long believed that “constant-time” programming would be sufficient as a systematic countermea-sure. However, this belief was shattered in 2018 by attacks exploiting speculative execution—so called Spectre attacks. Recent work shows that language support suffices to protect cryptographic code with minimal overhead against one class of such attacks, Spectre v1, but leaves an open question of whether this result can be extended to also cover other classes of Spectre attacks. In this paper, we answer this question in the affirmative: We design, validate, implement, and verify an approach to protect cryptographic implementations against all known classes of Spectre attacks—the main challenge in this en-deavor is attacks exploiting the return stack buffer, which are known as Spectre-RSB. Our approach combines a new value-dependent information-flow type system that enforces speculative constant-time in an idealized model of transient execution and a compiler transformation that realizes this idealized model on the generated low-level code. Using the Coq proof assistant, we prove that the type system is sound with respect to the idealized semantics and that the compiler transformation preserves speculative constant-time. We implement our approach in the Jasmin framework for high-assurance cryptography and demonstrate that the overhead incurred by full Spectre protections is below 2% for most cryptographic primitives and reaches only about 5–7% for the more complex post-quantum key-encapsulation mechanism Kyber.

Fichier principal
Vignette du fichier
2024-1070.pdf (792.65 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Licence

Dates et versions

hal-04632106 , version 1 (02-07-2024)

Licence

Identifiants

Citer

Santiago Arranz Olmos, Gilles Barthe, Chitchanok Chuengsatiansup, Benjamin Grégoire, Vincent Laporte, et al.. Protecting cryptographic code against Spectre-RSB (and, in fact, all known Spectre variants). ASPLOS '25: 30th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Mar 2025, Rotterdam, Netherlands. pp.933-948, ⟨10.1145/3676641.3716015⟩. ⟨hal-04632106⟩
420 Consultations
752 Téléchargements

Altmetric

Partager

  • More