Side-Channel Attacks on BLISS Lattice-Based Signatures: Exploiting Branch Tracing against strongSwan and Electromagnetic Emanations in Microcontrollers

Abstract : In this paper, we investigate the security of the BLISS lattice-based signature scheme, one of the most promising candidates for post-quantum-secure signatures, against side-channel attacks. Several works have been devoted to its efficient implementation on various platforms, from desktop CPUs to microcontrollers and FPGAs, and more recent papers have also considered its security against certain types of physical attacks, notably fault injection and cache attacks. We turn to more traditional side-channel analysis, and describe several attacks that can yield a full key recovery. We first identify a serious source of leakage in the rejection sampling algorithm used during signature generation. Existing implementations of that rejection sampling step, which is essential for security, actually leak the " relative norm " of the secret key. We show how an extension of an algorithm due to Howgrave-Graham and Szydlo can be used to recover the key from that relative norm, at least when the absolute norm is easy to factor (which happens for a significant fraction of secret keys). We describe how this leakage can be exploited in practice both on an embedded device (an 8-bit AVR microcontroller) using electromagnetic analysis (EMA), and a desktop computer (recent Intel CPU running Linux) using branch tracing. The latter attack has been mounted against the open source VPN software strongSwan. We also show that other parts of the BLISS signing algorithm can leak secrets not just for a subset of secret keys, but for 100% of them. The BLISS Gaussian sampling algorithm in strongSwan is intrinsically variable time. This would be hard to exploit using a noisy source of leakage like EMA, but branch tracing allows to recover the entire randomness and hence the key: we show that a single execution of the strongSwan signature algorithm is actually sufficient for full key recovery. We also describe a more traditional side-channel attack on the sparse polynomial multiplications carried out in BLISS: classically, multiplications can be attacked using Publication rights licensed to ACM. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only. DPA; however, our target 8-bit AVR target implementation uses repeated shifted additions instead. Surprisingly, we manage to obtain a full key recovery in that setting using integer linear programming from a single EMA trace.
Type de document :
Communication dans un congrès
2017 ACM Conference on Computer and Communications Security (CCS 2017), Oct 2017, Dallas, TX, United States. ACM, CCS '17 Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, pp.1857-1874 2017, 〈https://www.sigsac.org/ccs/CCS2017/〉. 〈10.1145/3133956.3134028〉
Liste complète des métadonnées

Littérature citée [51 références]  Voir  Masquer  Télécharger

http://hal.upmc.fr/hal-01648080
Contributeur : Thomas Espitau <>
Soumis le : vendredi 24 novembre 2017 - 17:37:23
Dernière modification le : jeudi 11 janvier 2018 - 06:27:31

Fichier

main.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

Collections

Citation

Thomas Espitau, Pierre-Alain Fouque, Benoît Gérard, Mehdi Tibouchi. Side-Channel Attacks on BLISS Lattice-Based Signatures: Exploiting Branch Tracing against strongSwan and Electromagnetic Emanations in Microcontrollers. 2017 ACM Conference on Computer and Communications Security (CCS 2017), Oct 2017, Dallas, TX, United States. ACM, CCS '17 Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, pp.1857-1874 2017, 〈https://www.sigsac.org/ccs/CCS2017/〉. 〈10.1145/3133956.3134028〉. 〈hal-01648080〉

Partager

Métriques

Consultations de la notice

111

Téléchargements de fichiers

58