THÈSE DE DOCTORAT
DE L’UNIVERSITÉ PARIS 6
Spécialité :
Micro-électronique
Présentée par
Minh Huu NGUYEN
Pour obtenir le grade de
DOCTEUR en SCIENCES
DE L’UNIVERSITÉ PARIS 6
Sujet de la thèse :
Sécurisation de processeurs vis-à-vis des
attaques par faute
et par analyse de la consommation
Soutenue le 21 septembre 2011 devant le jury composé de :
M GOGNIAT Guy Rapporteur
M MAURINE Philippe Rapporteur
M. BAJARD Jean-Claude Examinateur
Mme. DRACH-TEMAM Nathalie Directrice
M. PELAGE Perez Examinateur
M. ROBISSON Bruno Examinateur
Mlle. TRIA Assia Examinatrice
Table des matières
Liste des Figures v
Liste des Tableaux vii
Remerciements ix
Résumé xi
Introduction xv
I État de l’art 1
1 Les attaques 3
1.1 Attaques invasives .......................... 4
1.1.1 Préparation .......................... 5
1.1.2 Rétro-conception matérielle ................. 5
1.1.3 Micro-sondage ......................... 5
1.1.4 Modification du circuit .................... 7
1.2 Attaques par injections de fautes .................. 7
1.2.1 Méthodes d’injections de fautes ............... 7
1.2.1.1 Modification de l’alimentation ........... 7
1.2.1.2 Modification de la fréquence d’horloge ...... 8
1.2.1.3 Illumination ..................... 8
1.2.1.4 Champ électromagnétique ............. 8
1.2.2 Caractéristiques des méthodes d’injections de fautes .... 9
1.2.2.1 Modèles de fautes .................. 9
1.2.2.2 Location spatiale des fautes ............ 10
1.2.2.3 Type des fautes ................... 10
1.2.2.4 Comparaison .................... 10
1.2.3 Scénarii d’attaques ...................... 12
1.2.3.1 DFA (Differential Fault Analysis) ......... 12
1.2.3.2 Attaques «safe-error »............... 14
1.3 Attaques par canaux cachés ..................... 15
1.3.1 Modèles de consommation et de rayonnement EM ..... 15
1.3.1.1 Modèles de consommation ............. 15
1.3.1.2 Modèles de rayonnement .............. 16
1.3.2 Méthodes de mesure des canaux cachés ........... 16
i
ii Table des matières
1.3.2.1 Temps de réponse ................. 16
1.3.2.2 Consommation ................... 16
1.3.2.3 Émission électromagnétique ............ 17
1.3.2.4 Comparaison .................... 18
1.3.3 Scénarii d’attaques ...................... 18
1.3.3.1 Analyse du temps de réponse ........... 18
1.3.3.2 SPA «Simple Power Analysis ».......... 19
1.3.3.3 DPA «Differential Power Analysis »....... 20
1.3.3.4 Attaque par dictionnaire ou en «template ». . . 23
1.3.3.5 Attaque par collision interne ............ 26
1.4 Conclusion ............................... 27
2 Contre-mesures 29
2.1 Contre-mesures contre les attaques par faute ............ 30
2.1.1 Principe de détection des intrusions ............. 30
2.1.1.1 Capteurs physiques ................. 30
2.1.1.2 Détection d’erreur ................. 30
2.1.2 Redondance sur processeur .................. 33
2.1.2.1 Dans la sphère de réplication ........... 34
2.1.2.2 Hors de la sphère de réplication .......... 35
2.1.3 Contrôle de flot d’exécution ................. 39
2.1.3.1 Contrôle de transitions entre fonctions et entre BBs 39
2.1.3.2 Syndrome anormaux ................ 41
2.1.4 Stratégie de réaction ..................... 41
2.1.4.1 Recouvrement .................... 41
2.1.4.2 Stratégies de sécurité évoluées ........... 43
2.1.5 Réduction de la sensibilité .................. 44
2.1.5.1 Technologie ..................... 44
2.1.5.2 Micro-architecture ................. 45
2.1.5.3 Triplication ..................... 45
2.2 Contre-mesures contre les attaques par observation ........ 46
2.2.1 Réduction du signal ...................... 46
2.2.1.1 Équilibrage ..................... 46
2.2.1.2 Filtrage ....................... 48
2.2.2 Ajout du bruit ........................ 48
2.2.2.1 Parallélisation d’opérations indépendantes . . . . 48
2.2.2.2 Modification dynamique de la tension ...... 48
2.2.2.3 Désynchronisation ................. 49
2.2.2.4 Masquage ...................... 53
2.3 Conclusion ............................... 54
Table des matières iii
II Conception 55
3 Environnement 57
3.1 Modèle de carte à puce utilisé .................... 58
3.1.1 Architecture .......................... 58
3.1.2 Processeur miniMIPS ..................... 58
3.1.2.1 Gestion des dépendances lors de l’exécution des
instructions ..................... 60
3.1.2.2 Unité Arithmétique et Logique .......... 61
3.1.3 Mémoires ........................... 62
3.1.4 UART 16550 ......................... 62
3.1.5 PRNG ............................. 62
3.1.6 Émulateur d’injection de fautes ............... 63
3.2 Flot de conception .......................... 65
3.2.1 Logiciel ............................ 65
3.2.2 Matériel ............................ 66
3.2.2.1 Configurations matérielles ............. 66
3.2.2.2 Initialisation des modèles mémoires ........ 66
3.2.3 Simulation et test fonctionnel ................ 67
3.3 Conclusion ............................... 67
4 Protection vis-à-vis des attaques en faute 69
4.1 Détection des fautes ......................... 70
4.1.1 Motivations et contribution ................. 70
4.1.2 Insertion des signatures dans le code ............ 70
4.1.3 Segmentation des BBs .................... 72
4.1.4 Architecture de vérification d’intégrité ........... 72
4.2 Système de recouvrement ....................... 76
4.2.1 Motivations et contribution ................. 76
4.2.2 Architecture du système de recouvrement .......... 77
4.2.3 Fonctionnement du système de recouvrement ........ 79
4.2.3.1 Pseudo-code «sauvegarde »............ 79
4.2.3.2 Pseudo-code «recouvrement »........... 79
4.2.3.3 Exemples de fonctionnement ............ 81
4.2.4 Évaluation du système de détection de fautes et de recou-
vrement pour l’intégrité du code ............... 84
4.2.4.1 Surcoût matériel .................. 84
4.2.4.2 Impact sur les performances ............ 85
4.2.4.3 Sécurité ....................... 87
4.3 Protection de l’UAL ......................... 88
4.3.1 Motivations et contribution ................. 88
1 / 159 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !