Automated application of countermeasures against side-channel attacks by compilation - Archive ouverte HAL Access content directly
Theses Year : 2019

Automated application of countermeasures against side-channel attacks by compilation

Compilation pour l'application de contre-mesures contre les attaques par canal auxiliaire

(1)
1

Abstract

Embedded systems and connected objects are increasingly used nowadays. Unlike some other systems accessible only through the network, embedded systems are physically accessible by an attacker. The latter can then exploit this physical proximity to mount side-channel attacks to compromise these systems or their data. These non-intrusive attacks have shown great effectiveness in recovering cryptographic keys used in such systems. Embedded systems must therefore be secured against this severe threat. Software countermeasures are most often applied manually by experts. In this thesis, we propose to automatically apply these countermeasures within the compilation process. We propose two approaches, one to apply a first-order Boolean masking countermeasure, the other to apply a code polymorphism countermeasure. We address several problems related to dynamic code generation to enable the use of code polymorphism on constrained systems. Finally, we adapt the chosen countermeasures to obtain a better trade-off between performance and security.
Les systèmes embarqués et objets connectés sont aujourd'hui de plus en plus répandus. Contrairement à d'autres systèmes accessibles uniquement par le réseau, les systèmes embarqués sont accessibles physiquement par un attaquant. Celui ci peut alors exploiter cette proximité physique pour monter des attaques par canaux auxiliaires afin de compromettre ces systèmes ou leurs données. Ces attaques non intrusives ont ainsi montré une grande efficacité pour récupérer les clés cryptographiques utilisées dans de tels systèmes. Il est alors primordial de protéger les systèmes embarqués contre cette menace sérieuse. Les contre-mesures logicielles sont la plupart du temps appliquées manuellement par des experts. Dans cette thèse, nous proposons d'appliquer automatiquement ces contre-mesures au sein du processus de compilation. Nous proposons deux approches, l'une pour appliquer une contre-mesure de masquage booléen de premier ordre, l'autre pour appliquer une contre-mesure de polymorphisme de code. Nous apportons des réponses à plusieurs problèmes liés à la génération dynamique de code pour permettre l'utilisation du polymorphisme de code sur des systèmes contraints. Enfin, nous adaptons les contre-mesures choisies afin d'obtenir de meilleurs compromis entre les performances et la sécurité.

Keywords

Fichier principal
Vignette du fichier
BELLEVILLE_2019_archivage.pdf (5.1 Mo) Télécharger le fichier
Origin : Version validated by the jury (STAR)

Dates and versions

tel-02431740 , version 1 (08-01-2020)
tel-02431740 , version 2 (01-10-2020)

Identifiers

  • HAL Id : tel-02431740 , version 2

Cite

Nicolas Belleville. Compilation pour l'application de contre-mesures contre les attaques par canal auxiliaire. Cryptographie et sécurité [cs.CR]. Université Grenoble Alpes, 2019. Français. ⟨NNT : 2019GREAM080⟩. ⟨tel-02431740v2⟩
295 View
235 Download

Share

Gmail Facebook Twitter LinkedIn More