Résumé
Ce cours offre une vue d'ensemble de plusieurs attaques bien connues ciblant des faiblesses propres aux dispositifs électroniques (cartes à puce, ordinateurs, accélérateurs cryptographiques dédiés…) Il montre comment des adversaires peuvent exploiter le temps de calcul, la consommation énergétique, les émissions électromagnétiques et d’autres « canaux auxiliaires » d’un système en fonctionnement, pour récupérer des secrets enfouis comme des mots de passe ou des clefs secrètes, théoriquement inaccessibles.
Le cours présente également des attaques basées sur l’injection de fautes (à coups de lasers, de brusques variations de tension ou de fréquence d’horloge…) pour forcer un système à calculer des résultats faux, ainsi que l’exploitation de ces résultats faux pour récupérer des secrets.
Pour chaque type d’attaque les conditions de succès sont expliquées et des contremesures sont proposées.
Modalités pédagogiques
Cours magistraux, exercices, séances de travaux pratiques, travail personnel.
Règles du cours
La présence aux séances de travaux pratiques est obligatoire.
-
Bibliographie
· Livre : GOODSPEED T. Microcontroller exploits, No Starch Press, 2024, 408 p.
· Livre en ligne : ZAJIC A. PRVULOVIC M. Understanding analog side channels using cryptography algorithms, Springer, 2023, 467 p.
· Livre : KATZ J., LINDELL Y. Introduction to modern cryptography, Chapman & Hall, 2021, 648 p.
· Livre : SKLAVOS N. Hardware security and trust, Springer, 2017, 254 p.
· Livre : VACCA J.R. Computer and information security handbook, Morgan Kaufmann, 2017, 1237 p.
· Livre : MUKHOPADHYAY D., CHAKRABORTY R.S. Hardware security: Design, threats, and safeguards, CRC Press, 2015, 556 p.
Livre : MANGARD S., OSWALD E., POPP T. Power analysis attacks: Revealing the secrets of smart cards. Springer-Verlag, 2007, 338p.
Prérequis
Connaissances de base en programmation logicielle C ou Python (types de données, structures de contrôle...) pour les séances de travaux pratiques.
-
Description
· Attaques par les canaux auxiliaires : comment l'observation du temps de calcul ou de la consommation d'énergie peut révéler des secrets.
· Attaques en fautes : comment des résultats erronés (accidentels ou intentionnellement provoqués) peuvent révéler des secrets.
· Sondage passif ou actif de bus de communication : comment l'espionnage des communications entre composants matériels peut révéler des secrets ; comment l'injection de données forgées sur ces liens de communication peut conduire à une escalade de privilèges et à la compromission d'un système sécurisé.
· Les leçons et exercices sont complétés par deux séances de travaux pratiques au cours desquelles les élèves expérimentent l’efficacité des attaques matérielles et tentent de protéger une cible de sécurité à l’aide de contremesures appropriées.
Objectifs d'apprentissage
· Comprendre comment l’exploitation statistique de canaux auxiliaires dépendants des données traitées (temps de calcul, consommation énergétique…) ou de résultats de calcul erronés peut révéler des secrets.
· Etre capable de lister les hypothèses qui doivent être vérifiées pour qu’une attaque réussisse, et d’utiliser cette liste pour concevoir des contremesures.
Etre capable d’évaluer l’efficacité des attaques (coût, temps, probabilité de succès) et des contremesures.
Durée EC |
Total |
CM |
TP |
TD |
Projet |
TPP |
25 |
15 |
6 |
|
|
4 |
Evaluation
Examen final de 2 heures avec documents : 100% de la note finale.