94
République Tunisienne Cycle de Formation d’Ingénieurs dans la discipline Génie informatique Projet de fin d’études N° d’ordre: 2004GI42 Ministère de l’Enseignement Supérieur Université de Sfax Ecole Nationale d’Ingénieurs de Sfax Département d’Informatique et de Mathématiques Appliquées MEMOIRE présenté à l’Ecole Nationale d’Ingénieurs de Sfax (Département d’Informatique et de Mathématiques Appliquées) en vue de l’obtention du Diplôme National d’Ingénieur en Génie Informatique par Omar Cheikhrouhou Sécurité des réseaux ad hoc soutenu le 4 juillet 2005, devant la commission d'examen : M. Mohamed JMAIEL Président M. Bachar ZOUARI Membre M. Maher BEN JEMAA Membre Mme. Yousra BEN JEMAA Membre

PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

République Tunisienne

Cycle de Formation d’Ingénieurs dans la discipline

Génie informatique

Projet de fin d’études

N° d’ordre: 2004GI42

Ministère de l’Enseignement Supérieur

Université de Sfax Ecole Nationale d’Ingénieurs de Sfax

Département d’Informatique

et de Mathématiques Appliquées

MEMOIRE

présenté à

l’Ecole Nationale d’Ingénieurs de Sfax

(Département d’Informatique et de Mathématiques Appliquées)

en vue de l’obtention

du Diplôme National d’Ingénieur en Génie Informatique

par

Omar Cheikhrouhou

Sécurité des réseaux ad hoc

soutenu le 4 juillet 2005, devant la commission d'examen :

M. Mohamed JMAIEL Président

M. Bachar ZOUARI Membre

M. Maher BEN JEMAA Membre

Mme. Yousra BEN JEMAA Membre

Page 2: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc

الخالصة :

ا الغزض قمنا بتعذيذ الهجماث ذو له أدهىكشبكاث إلى دراست سالمت في هذا المشزوعتطزقنا

شبكت افتزاضيت لتجزيب ومعاينتالمحتملت و قمنا بذراست الحلىل المىجىدة. كما قمنا بىضع

. المختارة الحلىل و الهجماث

Résumé : Dans ce projet de fin d’études, nous nous sommes focalisés sur l’étude de la sécurité des

réseaux ad hoc. Une analyse de la sécurité nous a permis d'énumérer les menaces et les

attaques potentielles. Nous avons aussi étudié les solutions existantes pour augmenter la

sécurité. Enfin, nous avons mis en place une plateforme virtuelle de simulation pour

montrer l’impact des nœuds malicieux sur les performances du réseau.

Abstract: In this project, we are interested in the survey of the security of Ad Hoc networks. An

analysis of the security permitted us to enumerate threats and the potential attacks. We

studied also the existing solutions to increase ad hoc security. Finally, we made a virtual

platform in order to simulate the impact of malicious node and the selected solutions.

.افتزاضيت تشبك أدهىك, حمايت شبكاث ,حمايت الشبكاث ,أدهىك شبكت :المفاتيح

Mots clés : réseaux Ad Hoc, sécurité des réseaux, sécurité du routage,

simulation.

Key-words: Ad Hoc networks, networks security, secure routing,

simulation.

Page 3: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

II

Mes remerciements les plus chaleureux s’adressent principalement à Mme Maryline

Maknavicius, Maître de conférences à l’INT (Institut National des Télécommunications),

pour m’avoir fait confiance et m’avoir accueilli au sein de son équipe. Je la remercie pour

m’avoir guidé avec enthousiasme et dynamisme, pour ses remarques pertinentes et sa

sympathie.

Je voudrais également remercier Monsieur Maher Ben Jemâa pour l’occupation

qu’il accorde aux étudiants pour leur fournir les moyens favorables et pour son aide tout au

long de ma carrière scientifique. Je le remercie aussi pour sa meilleure collaboration, son

soutien et ses encouragements.

Je voudrais remercier Mme Yousra Ben Jemâa pour sa disponibilité et ses

remarques judicieuses qu’elle m’a prodigués au début de mon stage.

Mes vifs remerciements pour les membres du projet EcoMESH pour les discussions

au cours des visio-conférences et en particulier Mme Virginie Galtier pour son aide durant

la phase d’implémentation et Bachar Wehbi pour sa bonne humeur.

J’exprime également mes vifs remerciements à Mr Mohamed Jmaiel, Maître de

conférences à l’ENIS, pour l’honneur qu’il m’a fait en présidant mon jury de mémoire de

fin d’études, et à Mr Bachar Zouari pour avoir accepté d’être rapporteur de ce projet.

Enfin, j’ajouterai un remerciement spécial pour mon père, ma mère, mes sœurs et

mon frère Belhassen ainsi que les membres de la famille pour leur aide et leur patience.

Omar

Page 4: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

III

Sommaire

Introduction ............................................................................................................................. 1 Chapitre 1 : Les réseaux sans fil.............................................................................................. 2 1 Introduction ..................................................................................................................... 2 2 Les différents types de réseaux sans fil ........................................................................... 2

2.1 Réseaux personnels sans fil ..................................................................................... 2 2.2 Réseaux locaux sans fil (norme IEEE 802.11)........................................................ 3 2.3 Réseaux métropolitains sans fil (norme IEEE 802.16) ........................................... 3 2.4 Réseaux étendus sans fil.......................................................................................... 4

3 Classification des réseaux Wi-Fi ..................................................................................... 4 3.1 Les réseaux sans infrastructure................................................................................ 4

3.1.1 Les réseaux ad hoc........................................................................................... 4 3.2 Les réseaux avec infrastructure ............................................................................... 5

Les réseaux Mesh ............................................................................................................ 6 4 Conclusion....................................................................................................................... 7 Chapitre 2 : La cryptographie.................................................................................................. 8 1 Introduction ..................................................................................................................... 8 2 Terminologie ................................................................................................................... 8 3 Chiffrement symétrique ou à clef secrète........................................................................ 9

3.1 Algorithmes de chiffrement par blocs ..................................................................... 9 3.1.1 Le mode ECB (Electronic CodeBook) ............................................................ 9 3.1.2 Le mode CBC (Cipher Block Chaining) ....................................................... 10 3.1.3 Chiffrement par blocs avec itération ............................................................. 11

3.2 Algorithmes de chiffrement en continu................................................................. 12 4 Chiffrement asymétrique ou a clef publique ................................................................. 12 5 Algorithmes cryptographiques à clef secrète ................................................................ 13

5.1 DES (Data Encryption Standard) .......................................................................... 13 5.2 AES (Advanced Encryption Standard).................................................................. 15

6 Algorithmes cryptographiques à clef publique.............................................................. 15 7 Fonctions de hachage .................................................................................................... 16 8 Echange de clef.............................................................................................................. 18 9 Conclusion..................................................................................................................... 20 Chapitre 3 : Sécurité des réseaux ad hoc ............................................................................... 21 1 Introduction ................................................................................................................... 21 2 Les caractéristiques des réseaux ad hoc ........................................................................ 21 3 Analyse de sécurité........................................................................................................ 22

3.1 Fonctions et données à protéger ............................................................................ 22 3.2 Services de sécurité ............................................................................................... 22 3.3 Vulnérabilité des réseaux ad hoc........................................................................... 23 3.4 Les attaques dans les réseaux ad hoc..................................................................... 24

4 Conclusion..................................................................................................................... 25

Page 5: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

IV

Chapitre 4 : Les attaques dans les protocoles de routage ...................................................... 26 1 Introduction ................................................................................................................... 26 2 Les protocoles de routage dans les réseaux ad hoc ....................................................... 26 3 Les attaques possibles dans les protocoles de routage .................................................. 28

3.1 Attaques par suppression de paquets..................................................................... 28 3.2 Attaques par modification des informations de routage........................................ 28 3.3 Attaques par usurpation d’identité (Spoofing) ...................................................... 30 3.4 Attaques par fabrication de messages.................................................................... 31 3.5 Attaques du trou de ver (Wormhole attacks)......................................................... 32

3.5.1 Wormhole par encapsulation......................................................................... 32 3.5.2 Wormhole par un réseau externe................................................................... 33 3.5.3 Wormhole par transmission à forte puissance............................................... 34

4 Conclusion..................................................................................................................... 34 Chapitre 5 : Conception d’une stratégie de sécurité.............................................................. 35 1 Introduction ................................................................................................................... 35 2 Solution pour l’authentification..................................................................................... 35

2.1 Service d’authentification distribué....................................................................... 35 Description de protocole................................................................................................ 36

2.2 Etablissement d’une clef secrète commune (Accord de clef) ............................... 37 2.2.1 Protocole général ........................................................................................... 38 2.2.2 Protocole de Diffie-Hellman authentifié par mot de passe ........................... 40

3 Protocoles de routage sécurisé....................................................................................... 42 3.1 Propriétés désirées d’un protocole de routage sécurisé......................................... 42 3.2 Le protocole SAR.................................................................................................. 42 3.3 Le protocole ARAN .............................................................................................. 43

3.3.1 Etape 1 ........................................................................................................... 43 3.3.2 Etape 2 ........................................................................................................... 45

3.4 Le protocole Ariadne............................................................................................. 46 3.4.1 Le protocole TESLA ..................................................................................... 46 3.4.2 Mécanisme de découverte de route avec TESLA.......................................... 48

4 Mécanismes complémentaires pour atténuer le comportement des nœuds malicieux .. 50 4.1 Watchdog............................................................................................................... 50 4.2 Pathrater................................................................................................................. 51

5 Conclusion..................................................................................................................... 51 Chapitre 6 : Mise en place d’une plateforme virtuelle de Simulation................................... 54 1 Introduction ................................................................................................................... 54 2 Présentation de l’environnement ................................................................................... 54 3 Qu'est ce que User Mode Linux ? ................................................................................. 55 4 Installation de la machine UML.................................................................................... 55

4.1 Etapes d'installation du noyau UML ..................................................................... 56 4.2 Amélioration de performance................................................................................ 56

5 Mise en réseau ............................................................................................................... 57 6 Tests............................................................................................................................... 58 7 Paramétrage du simulateur ............................................................................................ 59 8 Simulation ..................................................................................................................... 60 9 Conclusion..................................................................................................................... 62 Conclusion et perspective...................................................................................................... 63 Références ............................................................................................................................. 65

Page 6: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

V

Glossaire ................................................................................................................................ 70 Annexe A : Rappels mathématiques...................................................................................... 77 1 Arithmétique sur les entiers........................................................................................... 77 2 Logarithme discret......................................................................................................... 78 3 Totient d’Euler............................................................................................................... 78 Annexe B : Protocole AODV................................................................................................ 79 1 Découverte de route....................................................................................................... 79 2 Maintenance des routes ................................................................................................. 81 Annexe C : Protocole DSR.................................................................................................... 82 1 Découverte de route....................................................................................................... 82 2 Maintenance des routes ................................................................................................. 83 Annexe D : Configuration du noyau UML............................................................................ 84 Annexe E : Installation de AODV-UU.................................................................................. 87

Page 7: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

VI

Liste des figures Figure 1. Exemple d’application des réseaux ad hoc.............................................................. 5 Figure 2. Communication dans un réseau radio maillé .......................................................... 6 Figure 3. Principes de base de la cryptologie ......................................................................... 8 Figure 4. Le mode CBC ......................................................................................................... 10 Figure 5. Principe du chiffre de Feistel................................................................................. 11 Figure 6. Principes de DES ................................................................................................... 14 Figure 7. Itération de l'AES ................................................................................................... 15 Figure 8. Fonction de hachage avec chiffrement symétrique................................................ 17 Figure 9. Fonction de hachage avec chiffrement à clef publique.......................................... 17 Figure 10. Fonction de hachage sans chiffrement................................................................. 18 Figure 11. Redirection du trafic ............................................................................................ 29 Figure 12. Présence d’un nœud malicieux dans une route.................................................... 30 Figure 13. Création de boucles de routage par spoofing...................................................... 30 Figure 14. Wormhole par encapsulation ............................................................................... 33 Figure 15. Wormhole par un réseau externe ......................................................................... 33 Figure 16. Mécanisme d’authentification d’un nœud............................................................ 36 Figure 17. Accord de clef entre deux noeuds ........................................................................ 39 Figure 18. Protocole de Diffie-Hellman authentifié.............................................................. 40 Figure 19. Génération des clefs TESLA ................................................................................ 48 Figure 20. Mécanisme de découverte de route dans Ariadne ............................................... 49 Figure 21. Collision ambiguë au niveau du watchdog .......................................................... 51 Figure 22. Collision au niveau du récepteur ......................................................................... 51 Figure 23. Architecture logicielle du simulateur [49]........................................................... 55 Figure 24. Ping entre deux machines UML........................................................................... 57 Figure 25. Variation de la distance maximale en fonction de l’atténuation ......................... 59 Figure 26. Variation de la distance maximale en fonction de la puissance de bruit ............ 60 Figure 27. Effet des nœuds malicieux sur % paquet perdu ................................................... 61 Figure 28. Effet des nœuds malicieux sur le nombre moyen de sauts ................................... 62 Figure 29. Mécanisme de recherche de route par AODV ..................................................... 79 Figure 30. Format d'un paquet RREQ dans AODV .............................................................. 80 Figure 31. Retour de la réponse à une demande de route dans AODV................................. 80 Figure 32. Mécanisme de découverte de route dans DSR ..................................................... 82 Figure 33. Le noeud en amont de rupture envoie un message RERR.................................... 83

Page 8: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

1

Introduction

Les technologies sans fil occupent aujourd’hui une place prépondérante dans notre

vie professionnelle et personnelle et nous permettent de cumuler, de traiter et de distribuer

de l’information d’une manière ubiquitaire.

Les réseaux Mesh présentent une technologie émergente qui permet de déployer à

moindre coût un réseau sans fil. Afin d’étendre la zone de couverture d’un réseau Mesh, le

projet EcoMESH (site web : http://ecoMesh.objectis.net) vise à se servir des ressources

d’utilisateurs. Ces utilisateurs vont collaborer pour le relayage du trafic d’un utilisateur plus

éloigné et donc lui permettre d’accéder au réseau. Cette collaboration va créer un réseau de

type ad hoc.

Les caractéristiques des réseaux ad hoc, comme l’absence d’infrastructure et

l’utilisation d’un canal radio rendent la sécurité un véritable défi technologique auquel nous

sommes confrontés.

Ce projet de fin d’études entre dans ce contexte et il s’intéresse à l’étude de la

sécurité des réseaux ad hoc pour l’extension des réseaux Mesh.

Ce rapport est organisé comme suit : dans le premier chapitre, nous présentons les

différents types de réseaux sans fil ainsi qu’une classification de ces réseaux. Comme on ne

peut pas parler de la sécurité sans parler de la cryptographie, le deuxième chapitre donne un

aperçu sur les techniques cryptographiques utilisées pour assurer les services de sécurité.

Une analyse de sécurité dans laquelle nous avons énuméré les attaques et les menaces

possibles sera décrite dans le chapitre trois. Le quatrième chapitre s’intéresse aux attaques

liées aux protocoles du routage. Une description des solutions proposées pour augmenter le

niveau de sécurité des réseaux ad hoc fait l’objectif du cinquième chapitre. Enfin, le dernier

chapitre présente notre plateforme virtuelle de simulation ainsi que ses différentes étapes

d’installation et de configuration sous le système d’exploitation Linux. Les résultats de

simulation sont aussi décrits dans ce chapitre.

Page 9: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

2

Chapitre 1 : Les réseaux sans fil

1 Introduction

En raison de leur facilité de déploiement et de leur coût relativement faible, les réseaux

sans fil sont de plus en plus utilisés. Ce chapitre donne un aperçu sur les différents types des

réseaux sans fil. Il définit aussi les réseaux ad hoc qui seront étudiés tout au long de ce

rapport.

2 Les différents types de réseaux sans fil

Comme pour les réseaux filaires, on classe généralement les réseaux sans fil selon leur

domaine de couverture : les réseaux personnels WPAN (Wireless Personal Area Networks),

les réseaux locaux WLAN (Wireless Local Area Networks), les réseaux métropolitains

WMAN (Wireless Metropolitan Area Networks) et les réseaux nationaux WWAN (Wireless

Wide Area Networks).

2.1 Réseaux personnels sans fil

Les WPAN sont des réseaux sans fil de faible portée (quelques dizaines de mètres) à

usage personnel. Ils sont déjà présents sous différents noms :

Bluetooth : nom commercial de la norme IEEE 802.15.1, Bluetooth est

aujourd'hui présent dans de nombreux dispositifs. Malgré un débit de 1 Mb/s et une portée

d’environ 30 mètres, Bluetooth offre de nombreuses possibilités grâce à la faible

consommation de ses équipements. On trouve des composants Bluetooth dans beaucoup

d'ordinateurs portables mais aussi dans de nombreux périphériques (appareils photos,

téléphones portables, assistants personnels, ...).

ZigBee : avec un débit plus faible que Bluetooth, la norme IEEE 802.15.4

(ZigBee) pourrait être très utilisée dans les années à venir. Les équipements ZigBee moins

consommateurs et moins onéreux que les équipements Bluetooth devraient trouver leur

Page 10: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

3

place dans les périphériques informatiques mais également en domotique (éclairage,

système de sécurité, ...).

Les liaisons infrarouges : elles sont majoritairement utilisées pour des

communications courte distance, cependant leur sensibilité aux perturbations empêche le

développement de cette technologie dans les réseaux sans fil ayant une portée supérieure à

une dizaine de mètres. Néanmoins, la portée d'interception peut-être très supérieure.

2.2 Réseaux locaux sans fil (norme IEEE 802.11)

La norme IEEE 802.11 (ISO/IEC 8802-11) est un standard qui décrit les

caractéristiques des réseaux sans fil et est équivalente à la norme IEEE 802.3 (Ethernet)

pour les réseaux filaires.

En fait, la norme IEEE 802.11 est la norme initiale à partir de laquelle un certain nombre de

normes dérivées ont été créées afin de répondre à des objectifs d'interopérabilité ou de

sécurité [11]. Les normes dérivées les plus connues aujourd'hui sont les normes IEEE

802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11i, et prochainement IEEE 802.11n.

2.3 Réseaux métropolitains sans fil (norme IEEE 802.16)

La B.L.R. (Boucle Locale Radio) fait partie des réseaux sans fil de type WMAN. La BLR

est une technologie sans fil capable de relier les opérateurs de télécommunication à leurs

clients grâce aux ondes radio sur des distances de plusieurs kilomètres. Les réseaux sans fil

de type WMAN sont en train de se développer. Ce phénomène risque de s'amplifier dans les

années à venir. La norme IEEE 802.16, est plus connue sous son nom commercial WiMax.

Techniquement, le WiMax permet des débits de l'ordre de 70Mbps avec une portée de

l'ordre de 50km. Actuellement, le WiMax peut exploiter les bandes de fréquence 2.4Ghz,

3.5Ghz et 5.8Ghz. Aujourd'hui, en France, la bande de fréquence 2.4Ghz est libre, la bande

de fréquence 5.8Ghz est interdite en utilisation extérieure et la bande des 3.5Ghz est

licenciée à un unique opérateur.

Page 11: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

4

2.4 Réseaux étendus sans fil

Le réseau étendu sans fil est également connu sous le nom de réseau cellulaire mobile.

Il s'agit des réseaux sans fil les plus répandus puisque tous les téléphones mobiles sont

connectés à un réseau étendu sans fil. Les principales technologies sont les suivantes :

GSM (Global System for Mobile Communication ou en français Groupe Spécial

Mobile)

GPRS (General Packet Radio Service)

UMTS (Universal Mobile Telecommunication System)

3 Classification des réseaux Wi-Fi

Les réseaux mobiles de type 802.11 peuvent être classés en deux classes : les réseaux

avec infrastructure et les réseaux sans infrastructure.

3.1 Les réseaux sans infrastructure

Dans le mode de fonctionnement sans infrastructure appelé aussi mode Ad-hoc, un

groupe de terminaux s’associe pour former un IBSS (Independent Basic Set Service), dont

le rôle consiste à permettre aux stations de communiquer sans l’aide d’une quelconque

infrastructure. Chaque station peut établir une communication avec n’importe quelle autre

station dans l’IBSS sans être obligée de passer par un point d’accès.

Les réseaux ad hoc font partie des réseaux fonctionnant en mode sans infrastructure. De

tels réseaux ont pour particularité de s’auto créer, s’auto organiser et s’auto administrer : il

s’agit de réseaux autonomes et très dynamiques.

3.1.1 Les réseaux ad hoc

3.1.1.1 Définition Un réseau mobile ad hoc, appelé généralement MANET (Mobile ad hoc NETwork),

consiste en une grande population, relativement dense, d'unités mobiles qui se déplacent

dans un territoire quelconque et dont le seul moyen de communication est l'utilisation des

interfaces sans fil, sans l'aide d'une infrastructure préexistante ou administration centralisée.

Page 12: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

5

3.1.1.2 Domaines d'application Historiquement, le premier domaine d'application des réseaux ad hoc fut le domaine

militaire. Dans les années 1970, le DARPA (Defence Advanced Research Projects Agency)

propose le protocole Packet Radio Network [6]. Ce protocole permet de déployer un

mécanisme de communication entre les différents groupes d'unités par l'intermédiaire de

véhicules qui communiquent ensemble par liaison radio. L'intérêt des militaires pour une

telle technologie s'explique par le caractère particulièrement adapté des réseaux ad hoc aux

situations hostiles. En effet, comme le réseau est auto organisé et qu'il ne nécessite pas

d'infrastructure, il peut être déployé rapidement, sans difficulté et offrir une bonne tolérance

aux pannes [9]. D'où l'utilisation possible également dans le cadre de sinistres, comme les

tremblements de terre ou les incendies, pour permettre aux équipes de sauvetage de

communiquer alors que les infrastructures de communication classiques sont détruites ou

pour permettre aux survivants d'établir un réseau aidant à leur localisation [7] (figure 1).

Figure 1. Exemple d’application des réseaux ad hoc

Il est évident que dans un contexte plus commercial, les réseaux ad hoc peuvent également

servir à former des réseaux locaux. En effet, la mise en place du réseau est plus simple car il

n’y a pas de câbles à tirer dans le bâtiment, d'où une économie intéressante pour une

entreprise.

3.2 Les réseaux avec infrastructure

Le mode infrastructure est défini pour fournir aux différentes stations des services

spécifiques sur une zone de couverture déterminée par la taille du réseau. Les réseaux

Page 13: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

6

d’infrastructure sont établis en utilisant des points d’accès, ou AP (Access Point), qui jouent

le rôle de station de base pour une cellule de base, appelée BSS (Basic Set Service).

Un point d'accès sur un réseau sans fil équivaut à un concentrateur (hub) sur un réseau

filaire. Chaque terminal sans fil reçoit donc tout le trafic circulant sur le réseau.

Lorsque le réseau est composé de plusieurs BSS, chacun d’eux est relié à un système de

distribution, ou DS (Distribution System), par l’intermédiaire de leur point d’accès (AP)

respectif. Un groupe de BSS interconnectés par un système de distribution forme un ESS

(Extented Set Service). Le système de distribution est responsable du transfert des paquets

entre différents BSS d’un même ESS.

Les points d'accès peuvent être reliés entre eux par des liaisons radio ou filaires et un

terminal peut alors passer d'un point d'accès à un autre en restant sur le même réseau.

Dans le cas où les points d’accès sont des routeurs radio (reliés par des liaisons radio),

le réseau est appelé un réseau maillé (mesh network).

Les réseaux Mesh Pour déployer à moindre coût un réseau sans fil à l'échelle d'une ville, on peut utiliser

un réseau radio maillé, aussi appelé « mesh network ». Il consiste en un ensemble de

stations de base qui utilisent une liaison radio pour communiquer et qui couvrent la zone

visée. Ainsi, les stations de base agissent comme des relais radio pour les communications

des mobiles. Dans un réseau radio maillé, chaque mobile est rattaché à la station de base la

plus proche, avec laquelle il communique exclusivement.

Figure 2. Communication dans un réseau radio maillé

Pour que deux mobiles puissent communiquer, il suffit que les stations de base auxquelles

ils sont rattachés puissent communiquer. Dans la figure 2, lorsque le mobile A souhaite

Page 14: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

7

communiquer avec le mobile B, la station de base SB1 transmet via son interface radio le

message à la station SB2, qui à son tour retransmet le message à la station SB3, qui

finalement émet son message au destinataire, le mobile B. Enfin, il suffit que l'une des

stations de base soit reliée à un réseau filaire pour permettre à l’ensemble des nœuds du

réseau l'accès à ce réseau filaire - voire à Internet via ce dernier.

4 Conclusion

Les réseaux mobiles offrent une grande flexibilité de déploiement et sont de plus en

plus utilisés. Ils peuvent être classés selon leur domaine de couverture. Nous distinguons

aussi deux modes de fonctionnement : le mode avec infrastructure et celui sans

infrastructure. Dans ce qui suit, nous nous intéressons à ce dernier mode. Les réseaux

fonctionnant avec ce mode sont appelés réseaux ad hoc.

Dans le chapitre suivant, nous allons présenter quelques concepts cryptographiques.

Leur lecture aidera à la compréhension des solutions de sécurité décrites dans le chapitre 5.

Page 15: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

8

Chapitre 2 : La cryptographie

1 Introduction

Ce chapitre présente quelques concepts cryptographiques utilisés pour sécuriser les

communications réseaux. Il décrit, dans une première partie, les différents algorithmes de

chiffrement rencontrés dans un environnement informatique moderne. Ensuite, il présente

les fonctions de hachage utilisées pour assurer l’authentification. La dernière partie présente

un exemple d’algorithmes d’échange de clefs.

2 Terminologie

La cryptographie est l'étude des méthodes permettant de transmettre des données de

manière confidentielle. Afin de protéger un message, on lui applique une transformation qui

le rend incompréhensible ; c’est ce qu'on appelle le chiffrement, qui, à partir d'un texte en

clair, donne un texte chiffré ou cryptogramme. Inversement, le déchiffrement est l'action

qui permet de reconstruire le texte en clair à partir du texte chiffré (figure 3).

Un algorithme cryptographique est une fonction mathématique utilisée pour le

chiffrement et le déchiffrement [10].

Décryptage

Figure 3. Principes de base de la cryptologie

Page 16: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

9

La cryptanalyse, à l'inverse, est l'étude des procédés cryptographiques dans le but de

trouver des faiblesses et, en particulier, de pouvoir décrypter des textes chiffrés. Le

décryptage est l'action consistant à retrouver le texte en clair sans connaître la clef de

déchiffrement.

La cryptologie est une science mathématique qui comporte deux branches : la

cryptographie et la cryptanalyse.

Il existe deux grandes familles d'algorithmes cryptographiques à base de clefs : les

algorithmes à clef secrète ou algorithmes symétriques, et les algorithmes à clef publique

ou algorithmes asymétriques.

3 Chiffrement symétrique ou à clef secrète

Dans la cryptographie conventionnelle, les clefs de chiffrement et de déchiffrement

sont identiques : c’est la clef secrète, connue des tiers communicants et d’eux seuls, et qui

doit être gardée secrète. Le procédé de chiffrement est dit symétrique.

Les algorithmes symétriques sont de deux types :

les algorithmes de chiffrement en continu, qui agissent sur chaque bit du texte en

clair.

les algorithmes de chiffrement par blocs, qui opèrent sur le texte en clair par

groupes de bits appelés blocs.

3.1 Algorithmes de chiffrement par blocs

Les algorithmes de chiffrement par blocs peuvent être utilisés suivant différents modes,

dont les deux principaux sont le mode ECB (Electronic CodeBook) et le mode CBC (Cipher

Block Chaining).

3.1.1 Le mode ECB (Electronic CodeBook) Le mode ECB consiste à chiffrer un bloc de texte en clair en un bloc de texte chiffré

indépendamment des blocs précédents. L'avantage de ce mode est qu'il permet le

chiffrement en parallèle des différents blocs composant un message. L'inconvénient de ce

mode est qu'un même bloc de texte en clair sera toujours chiffré en un même bloc de texte

Page 17: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

10

chiffré. Or, dans le chiffrement sur un réseau par exemple, les données à chiffrer ont des

structures régulières facilement repérables par un cryptanalyste, qui pourra donc obtenir

beaucoup d'informations. D'autre part, un attaquant actif pourra facilement manipuler les

messages chiffrés en retirant, répétant ou interchangeant des blocs. Un autre inconvénient,

qui s'applique au chiffrement par blocs en général, est l'amplification d’erreur : si un bit du

texte chiffré est modifié pendant le transfert, tout le bloc de texte en clair correspondant sera

faux.

3.1.2 Le mode CBC (Cipher Block Chaining) La solution aux problèmes posés par le mode ECB est d'utiliser une technique dite de

chaînage, dans laquelle chaque bloc du cryptogramme dépend non seulement du bloc de

texte en clair correspondant, mais aussi du bloc précédent.

En mode de "chiffrement avec chaînage de blocs" (Cipher Block Chaining), chaque bloc de

texte en clair est combiné par ou exclusif avec le bloc chiffré précédent avant d'être chiffré.

Le premier bloc du texte en clair est, quant à lui, combiné avec un bloc appelé vecteur

d'initialisation (figure 4). L'utilisation d'un vecteur d'initialisation différent pour chaque

message permet de s'assurer que deux messages identiques (ou dont les premiers blocs sont

identiques) donneront des cryptogrammes totalement différents.

Figure 4. Le mode CBC

Le masquage de la structure du texte en clair par le chaînage est le principal avantage du

mode CBC. Un attaquant ne peut plus manipuler le cryptogramme, excepté en retirant des

blocs au début ou à la fin.

Page 18: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

11

On pourrait craindre que le chaînage de blocs entraîne une propagation d’erreur

importante. De fait, une erreur d'un bit sur le texte en clair affectera tous les blocs chiffrés

suivants. Par contre, si un bit du texte chiffré est modifié au cours du transfert, seul le bloc

de texte en clair correspondant et un bit du bloc de texte en clair suivant seront

endommagés : le mode CBC est dit auto-réparateur.

3.1.3 Chiffrement par blocs avec itération Un algorithme de chiffrement par blocs avec itération est un algorithme qui chiffre les

blocs par un processus comportant plusieurs itérations. Dans chaque itération, la même

transformation est appliquée au bloc, en utilisant une sous-clef dérivée de la clef de

chiffrement. En général, un nombre d’itérations plus élevé garantit une meilleure sécurité,

au détriment des performances.

Un cas particulier d'algorithmes de chiffrement par blocs avec itération est la famille des

chiffres de Feistel. Dans un chiffre de Feistel, un bloc de texte en clair est découpé en deux ;

la transformation de ronde est appliquée à une des deux moitiés, et le résultat est combiné

avec l'autre moitié par ou exclusif. Les deux moitiés sont alors inversées pour l'application

de la ronde suivante (figure 5).

Figure 5. Principe du chiffre de Feistel

Un avantage de ce type d'algorithmes est que chiffrement et déchiffrement sont

structurellement identiques.

Page 19: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

12

3.2 Algorithmes de chiffrement en continu

Les algorithmes de chiffrement de flux (stream ciphers) peuvent être définis comme

étant des algorithmes de chiffrement par blocs, où le bloc a une dimension unitaire (1 bit, 1

octet, etc.) ou relativement petite. Leurs avantages principaux viennent du fait que la

transformation (méthode de chiffrement) peut être changée à chaque symbole du texte clair

et du fait qu'ils soient extrêmement rapides. De plus, ils sont utiles dans un environnement

où les erreurs sont fréquentes car ils ont l'avantage de ne pas propager les erreurs.

Ils sont aussi utilisés lorsque l'information ne peut être traitée qu'avec de petites quantités

de symboles à la fois, comme par exemple si l'équipement n'a pas de mémoire physique ou

une mémoire tampon très limitée [10].

4 Chiffrement asymétrique ou a clef publique

Le concept de cryptographie à clef publique fut inventé par Whitfield Diffie et Martin

Hellman en 1976, afin de résoudre le problème de distribution des clefs posé par la

cryptographie à clef secrète. De nombreux algorithmes permettant de réaliser un

cryptosystème à clef publique ont été proposés depuis. Ils sont le plus souvent basés sur des

problèmes mathématiques difficiles à résoudre, donc leur sécurité est conditionnée par

ces problèmes, sur lesquels on a maintenant une vaste expertise. Mais, si quelqu'un trouve

un jour le moyen de simplifier la résolution d'un de ces problèmes, l'algorithme

correspondant s'écroulera.

Avec les algorithmes asymétriques, les clefs de chiffrement et de déchiffrement sont

distinctes et ne peuvent se déduire l'une de l'autre. On peut donc rendre l'une des deux

publique tandis que l'autre reste privée. C’est pourquoi on parle de chiffrement à clef

publique. Si la clef publique sert au chiffrement, tout le monde peut chiffrer un message,

que seul le propriétaire de la clef privée pourra déchiffrer. On assure ainsi la confidentialité.

Certains algorithmes permettent d'utiliser la clef privée pour chiffrer. Dans ce cas, tout

utilisateur pourra déchiffrer, mais seul le propriétaire de la clef privée peut chiffrer. Cela

permet donc d’authentifier l’origine d’un message.

La cryptographie à clef publique possède ici un avantage majeur sur la cryptographie à clef

secrète. En effet, si n utilisateurs souhaitent communiquer par le biais d'un cryptosystème à

Page 20: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

13

clef secrète, chacun d’eux doit disposer d'une clef différente par personne du groupe. Il faut

donc pouvoir gérer en tout n(n-1)/2 clefs. Sachant que n peut être de l'ordre de plusieurs

milliers, il faut gérer des fichiers de plusieurs millions de clefs. De plus, ajouter un

utilisateur au groupe n’est pas une mince affaire, puisqu'il faut alors engendrer n clefs pour

que le nouvel utilisateur puisse communiquer avec les autres membres du groupe, puis

distribuer les nouvelles clefs à tout le groupe. En revanche, dans le cas d'un cryptosystème

asymétrique, on stocke les n clefs publiques des utilisateurs dans un annuaire. Pour rajouter

un utilisateur, il suffit qu'il mette sa clef publique dans l'annuaire.

L’inconvénient de la cryptographie à clef publique est la lenteur de ces algorithmes par

rapport à ceux à clef secrète par exemple DES est mille fois plus rapide que RSA.

5 Algorithmes cryptographiques à clef secrète

La méthode la plus employée pour concevoir un procédé de chiffrement est de chercher

à réaliser une transformation suffisamment compliquée et irrégulière pour que son analyse

soit difficile. Cette méthode empirique ne fournit aucune garantie quant à la résistance de

l'algorithme résultant.

La sécurité du chiffrement conventionnel dépend du secret de la clef, non du secret de

l’algorithme. C’est à dire qu’on suppose qu’il est impossible de déchiffrer un message sur la

base du texte chiffré et la connaissance de l’algorithme de chiffrement/déchiffrement. En

d’autres termes, il n’est pas nécessaire de maintenir l‘algorithme secret mais seulement la

clef.

5.1 DES (Data Encryption Standard)

Le DES est un algorithme de chiffrement par blocs qui agit sur des blocs de 64 bits.

C’est un chiffre de Feistel à 16 rondes. La longueur de la clef est de 56 bits.

Généralement, celle-ci est représentée sous la forme d'un nombre de 64 bits, mais un bit par

octet est utilisé pour le contrôle de parité. Les sous-clefs utilisées par chaque ronde ont une

longueur de 48 bits. L'algorithme comprend trois phases de transformation :

Permutation initiale : qui consiste à permuter le bloc de 64 bits en entrée.

Page 21: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

14

Itérations de calcul : seize itérations de calcul effectuées sous le contrôle de 16 sous-

clefs dérivées à partir de la clef initiale.

Permutation finale : inverse de la permutation initiale, appliquée sur le résultat de

l'étape précédente.

A chaque itération, le bloc de données est divisé en deux parties (les 32 bits les plus à

gauche et les 32 bits les plus à droite), puis combiné avec une sous-clef de 48 bits

conformément à l'équation suivante :

Ln = Rn-1 (1)

Rn = Ln-1 ⊕ F(Rn-1,Kn ) (2)

Avec Ln les 32 bits les plus à gauche à la n ième itération, Rn les 32 bits les plus à droite à la

n ième itération et F fonction de chiffrement (figure 6).

Figure 6. Principes de DES

Page 22: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

15

5.2 AES (Advanced Encryption Standard)

En octobre 2000, un nouveau standard de chiffrement à clef secrète fut élu parmi 15

candidats par le NIST (National Institute of Standards and Technology) afin de remplacer le

vieillissant DES dont la taille des clefs devenait trop petite. L'algorithme choisi pour devenir

l'AES est le Rijndael, du nom condensé de ses concepteurs, Rijmen et Daemen.

Celui-ci est un système de chiffrement par blocs. Les messages sont chiffrés par blocs de

128 bits.

F F F

K1 K2 K10K0

Texte en clair de 128 bits

Texte chiffré de 128 bits. . .⊕

Figure 7. Itération de l'AES

Le principe de fonctionnement de l'AES est décrit dans la

figure 7. En premier lieu, on ajoute bit à bit le message avec la clef secrète K0. Puis, comme

pour tous les algorithmes de chiffrement par blocs, on itère une fonction F, paramétrée par

des sous-clefs qui sont obtenues de la clef maître par un algorithme de cadencement de

clefs.

Dans le cas d'AES, on itère 10 fois la fonction F.

La fonction F, itérée lors du chiffrement, prend en entrée des blocs de 128 bits répartis sur

16 octets. Tout d'abord, on applique à chaque octet la même permutation S. Ensuite on

applique aux 16 octets une seconde permutation P. Au résultat obtenu, on ajoute alors bit à

bit la sous-clef de 128 bits obtenue par l'algorithme de cadencement de clef.

6 Algorithmes cryptographiques à clef publique

Parmi les algorithmes cryptographiques les plus utilisés on peut citer RSA. Ce dernier

est inventé par Rivest, Shamir et Adleman en 1978 et il repose sur la difficulté de factoriser

des grands nombres.

Page 23: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

16

Voici comment se fait la génération des paires de clefs :

1. On commence par choisir deux grands nombres premiers, p et q, et on calcule

n = pq. n est rendu public ; p et q doivent rester secrets et sont donc détruits une fois

les clefs générées.

2. On choisit ensuite aléatoirement une clef publique e telle que e et (p-1)(q-1) soient

premiers entre eux.

3. La clef privée d est obtenue grâce à l'algorithme d’Euclide : ed = 1 mod (p-1)(q-1).

Soit m le message en clair et c le cryptogramme. La fonction de chiffrement est, de façon

simplifiée, c = m e mod n (si m est plus grand que n, il est séparé en morceaux de valeur

inférieure à n et chaque morceau est chiffré séparément suivant cette formule). Du fait de la

relation entre e et d, la fonction de déchiffrement correspondante est m = c d mod n. La

signature se fait de manière similaire, en inversant e et d, c’est-à-dire en chiffrant avec une

clef privée et en déchiffrant avec la clef publique correspondante : s = m d mod n et m = s e

mod n.

Pour un cryptanalyste, retrouver la clef privée à partir de la clef publique nécessite de

connaître (p-1)(q-1) = pq-p-q+1 = n+1-p-q, donc de connaître p et q. Pour cela, il doit

factoriser le grand nombre n. Donc n doit être suffisamment grand pour que cela ne soit pas

possible dans un temps raisonnable par rapport au niveau de sécurité requis. Actuellement,

la longueur du module n varie généralement de 512 à 2048 bits suivant les utilisations.

Compte tenu de l'augmentation des puissances de calcul des ordinateurs et des avancées

mathématiques en matière de factorisation des grands nombres, la longueur minimale des

clefs doit augmenter au cours du temps.

7 Fonctions de hachage

Pour assurer l’authentification et l’intégrité des données, on utilise les fonctions de

hachage. Une fonction de hachage produit à partir d’un texte de taille variable une sortie de

Page 24: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

17

taille fixe. Cette sortie est souvent appelée résumé ou empreinte. Une fonction de hachage

doit être sans collision, c'est-à-dire qu’il n’y a pas deux messages ayant la même empreinte.

Cela signifie que la moindre modification du message entraîne la modification de son

empreinte, ce qui assure l’intégrité. De plus une fonction de hachage est à sens unique car il

est facile de calculer l’empreinte mais il est impossible de retrouver le message à partir de

son empreinte.

Figure 8. Fonction de hachage avec chiffrement symétrique

L’authentification peut être assurée en utilisant le chiffrement symétrique (

figure 8) et dans ce cas on parle de MAC (Message Authentification Code). Le résumé de

message peut aussi être chiffré en utilisant le chiffrement à clef publique et le résultat de

cette opération est appelé signature numérique (figure 9). En effet seul le propriétaire de la

clef privée peut générer la signature et tout le monde peut la vérifier en utilisant la clef

publique.

Figure 9. Fonction de hachage avec chiffrement à clef publique

Page 25: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

18

La

figure 10 présente une technique qui utilise une fonction de hachage avec aucun chiffrement

pour l’authentification de message. Cette technique suppose que les parties en

communication, soient A et B, partagent une valeur secrète SAB. Lorsque A veut envoyer un

message à B, il applique la fonction de hachage sur la concaténation de la valeur secrète et

du message : le résultat MD=H(SAB||M) sera envoyé avec le message. Puisque B possède

SAB il peut recalculer H (SAB || M) et vérifie MD.

Figure 10. Fonction de hachage sans chiffrement

Les algorithmes de hachage les plus utilisés actuellement sont :

MD5 (MD signifiant Message Digest) créant une empreinte digitale de 128 bits.

SHA (Secure Hash Algorithm, pouvant être traduit par Algorithme de hachage

sécurisé) créant des empreintes d'une longueur de 160 bits.

8 Echange de clef

Le but des protocoles d’échange de clef est d’établir une clef secrète commune entre les

parties communicantes. Cette clef peut ensuite être utilisée pour le chiffrement des données.

Parmi les protocoles d’échange de clefs on peut citer celui inventé par Diffie et Hellman, ce

protocole permet à deux entités de générer un secret partagé sans avoir aucune information

préalable l'une sur l'autre. Il est basé sur la cryptologie à clef publique (dont il est d'ailleurs à

l'origine), car il fait intervenir des valeurs publiques et des valeurs privées. Sa sécurité

Page 26: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

19

dépend de la difficulté de calculer des logarithmes discrets sur un corps fini. Le secret

généré à l'aide de cet algorithme peut ensuite être utilisé pour dériver une ou plusieurs clefs.

Voici le déroulement de l'algorithme :

Alice et Bob se mettent d'accord sur un grand entier n tel que (n-1)/2 soit premier et

sur un entier g primitif par rapport à n ( )(mod,,],1,1[ nbgtelqueanb a =∃−∈∀ ). Ces

deux entiers sont publics.

Alice choisit de manière aléatoire un grand nombre entier a, qu'elle garde secret, et

calcule sa valeur publique, A = ga mod n.

Bob fait de même et génère b et B = gb mod n.

Alice envoie A à Bob ; Bob envoie B à Alice.

Alice calcule KAB = Ba mod n ; Bob calcule KBA = Ab mod n. KAB = KBA = gab mod n

est le secret partagé par Alice et Bob.

Une personne qui écoute la communication connaît g, n, A=ga mod n et B=gb mod n, ce qui

ne lui permet pas de calculer gab mod n : il lui faudrait pour cela calculer le logarithme de A

ou B pour retrouver a ou b.

Voici un exemple, dans lequel l’échange de clefs est basé sur l’utilisation du nombre

premier n=71 et une racine première de 71, dans ce cas g=7. Alice et Bob choisissent des

clefs privées a=5 et b=12. Chacun calcule sa clef publique :

A=75 mod 71=51

B=712 mod 71=4

Après qu’ils ont échangé les clefs publiques, ils peuvent calculer la clef secrète commune :

K=Ba mod 71 =45 mod 71 =30

K=Ab mod 71= 5112 mod 71 =30

De 51 et 4 un attaquant ne peut pas facilement calculer 30.

En revanche, Diffie–Hellman est vulnérable à l'attaque active dite attaque de l’intercepteur.

Une façon de contourner le problème de l'attaque de l'intercepteur sur Diffie–Hellman est

d'authentifier les valeurs publiques utilisées pour la génération du secret partagé. On parle

alors de Diffie–Hellman authentifié. L'authentification peut se faire à deux niveaux :

Page 27: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

20

En utilisant des valeurs publiques authentifiées, à l'aide de certificats par exemple.

Cette méthode est notamment à la base du protocole SKIP.

En authentifiant les valeurs publiques après les avoir échangées, en les signant par

exemple. Cette méthode est utilisée entre autres par le protocole Photuris.

L'inconvénient, dans les deux cas, est que l'on perd un gros avantage de Diffie–Hellman, qui

est la possibilité de générer un secret partagé sans aucune information préalable sur

l'interlocuteur.

9 Conclusion

Ce chapitre présente la cryptographie de façon succincte, mais il permet néanmoins de

donner une vision globale sur les mécanismes cryptographiques utilisées pour assurer la

sécurité des réseaux.

La cryptographie à base de clefs peut être classée en deux catégories : la cryptographie

symétrique qui présente l’avantage d’être rapide et qui est généralement utilisée pour le

chiffrement de données et la cryptographie asymétrique qui est plutôt préconisée pour

l’authentification basée par exemple sur la signature numérique.

Page 28: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

21

Chapitre 3 : Sécurité des réseaux ad hoc

1 Introduction

La sécurité des réseaux ad hoc présente un défi. En effet ces derniers possèdent des

caractéristiques qui les rendent plus vulnérables aux attaques. Dans ce chapitre, nous

énumérons ces caractéristiques et les vulnérabilités induites ainsi que les attaques possibles.

2 Les caractéristiques des réseaux ad hoc

Les réseaux mobiles ad hoc sont caractérisés par :

Une topologie dynamique : Les unités mobiles du réseau, se déplacent d'une façon

libre et arbitraire. Par conséquent, la topologie du réseau peut changer, à des instants

imprévisibles, d'une manière rapide et aléatoire. Les liens de la topologie peuvent être unis

ou bidirectionnels.

Une bande passante limitée : Une des caractéristiques primordiales des réseaux

basés sur la communication sans fil est l'utilisation d'un médium de communication partagé.

Ce partage fait que la bande passante réservée à un hôte soit modeste.

Des contraintes d'énergie : Les hôtes mobiles sont alimentés par des sources

d'énergie autonomes comme les batteries ou les autres sources consommables. Le paramètre

d'énergie doit être pris en considération dans tout contrôle fait par le système.

Une sécurité physique limitée : Les réseaux mobiles ad hoc sont plus touchés par

le paramètre de sécurité, que les réseaux filaires classiques. Cela se justifie par les

contraintes et limitations physiques qui font que le contrôle des données transférées doit être

minimisé.

L'absence d'infrastructure : Les réseaux ad hoc se distinguent des autres réseaux

mobiles par la propriété d'absence d'infrastructure préexistante et de tout genre

d'administration centralisée. Les hôtes mobiles sont responsables d'établir et de maintenir la

connectivité du réseau d'une manière continue.

Page 29: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

22

3 Analyse de sécurité

L’analyse de sécurité consiste à déterminer les valeurs à protéger, les risques potentiels

sur ces valeurs ainsi que les capacités réelles des attaquants. Il faut envisager toutes les

attaques possibles, mais on doit considérer que la capacité des attaquants est limitée pour

aboutir à des solutions réalisables.

3.1 Fonctions et données à protéger

Pour cerner le problème de la sécurité, il faut tout d’abord déterminer les ressources

sensibles qu’on doit protéger.

Comme les réseaux fixes, un réseau ad hoc doit garantir la validité et l’intégrité des

informations transmises.

Chaque nœud d’un réseau ad hoc se comporte comme un routeur. Ainsi, il participe dans la

découverte des routes et échange des informations de routage avec les autres nœuds du

réseau. Supposons qu’un nœud malicieux réussit à introduire des informations de routage

invalides alors tout le réseau tombe en panne (les nœuds n’arrivent pas à communiquer). Le

routage est donc une fonction sensible qu’il faut protéger pour garantir la disponibilité du

réseau.

Les informations relatives au routage comme les nœuds accessibles et les métriques

associées aux routes, les informations relatives aux mécanismes de configuration et les

informations personnelles des utilisateurs sont considérées comme des données sensibles

qu’il faut protéger [12].

3.2 Services de sécurité

Les réseaux ad hoc doivent satisfaire les services de sécurité suivants :

• Contrôle d’accès : empêcher les nœuds étrangers d’accéder au réseau. Le contrôle

d’accès donne aux nœuds légitimes un moyen de détecter les messages provenant de sources

externes au réseau [8].

Page 30: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

23

• Authentification : s'assurer de l'identité des entités en cours de communication.

Avec l’authentification, le destinataire sera sûr que le message provient de la source

prétendue.

• Confidentialité : assurer que l'information ne peut pas être interprétée par des tiers

non autorisés. Les informations de routage doivent aussi, dans certains cas, rester secrètes.

• Intégrité : assurer que la modification des données transmises sera détectée. On

utilise souvent les fonctions de hachage pour assurer l'intégrité.

• Non-répudiation : empêcher un noeud de nier l'envoi ou bien la réception d'un

message.

• Fraîcheur : garantir que les données présentes échangées sur le réseau sont viables.

Ce service permet de lutter contre la réinjection d’anciens messages interceptés par un

attaquant [8].

• Disponibilité : assurer la présence des services du réseau même en présence

d'attaques de déni de service. Ces attaques peuvent se présenter au niveau de différentes

couches d'un réseau ad hoc. La disponibilité donne aussi une assurance sur la réactivité et le

temps de réponse du réseau [1,8].

3.3 Vulnérabilité des réseaux ad hoc

Les réseaux ad hoc présentent quelques faiblesses. Certaines faiblesses sont liées à la

technologie sans fil, d’autres aux caractéristiques de ces réseaux.

La première vulnérabilité de ces réseaux est liée à la technologie sans fil sous-jacente. En

effet l’utilisation d’un canal radio favorise l’écoute et la perturbation des messages échangés

par tout noeud possédant le récepteur adéquat même s’il se trouve dans un lieu public, à

l’extérieur du bâtiment où se déroulent les échanges.

Les nœuds sont aussi des points de vulnérabilité du réseau. En effet, un attaquant peut

compromettre un terminal laissé sans surveillance.

L’absence d’infrastructure fixe est une autre faiblesse des réseaux ad hoc car elle rend

impossible l’utilisation d’une entité centrale pour la gestion des accès aux ressources du

réseau.

Page 31: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

24

De même, la capacité limitée des nœuds en puissance de calcul et énergie consommée

empêche l’utilisation des mécanismes cryptographiques résistants comme la cryptographie à

clef publique.

3.4 Les attaques dans les réseaux ad hoc

Une première classification des attaques consiste à distinguer les attaques passives des

attaques actives.

Les attaques passives se limitent à l’écoute et l’analyse du trafic échangé. Ce type

d’attaques est plus facile à réaliser (il suffit de posséder le récepteur adéquat) et il est

difficile à détecter puisque l’intrus n’apporte aucune modification sur les informations

échangées. L’intention de l’intrus peut être la connaissance des informations confidentielles

des utilisateurs ou bien la connaissance des nœuds importants dans le réseau, en analysant

les informations de routage, pour se préparer à une attaque active.

Dans les attaques actives, un intrus tente de supprimer ou modifier les messages transmis

sur le réseau. Il peut aussi injecter son propre trafic ou rejouer d’anciens messages pour

perturber le fonctionnement du réseau ou provoquer un déni de service.

Parmi les attaques actives les plus connues, on peut citer [8, 12, 13] :

Relais sélectif de paquets (Selective forwarding) : Un noeud décide de ne pas

transmettre les données de certains noeuds. La raison peut être aussi bien d’ordre

énergétique, que liée à une attaque.

Attaque du trou noir : Un noeud falsifie les informations de routage pour forcer le

passage des données par lui-même. Sa seule mission est ensuite de ne rien transférer, créant

ainsi une sorte de puits ou « trou noir » dans le réseau.

Attaque du trou de ver : Cette variante du trou noir consiste à réinjecter les paquets

absorbés en un autre point (souvent distant) du réseau. Pour des distances plus longues que

la couverture normale d’une transmission sans fil d’un hop, un attaquant peut s’arranger

pour faire arriver ses paquets plus rapidement que par une route multi-hops. Il suffit pour lui

d’utiliser un réseau externe câblé ou un transfert sans fil directionnel à forte puissance.

Attaque de l’identité multiple : Cette attaque porte le nom anglais de Sybil attack

[3, 12,13]. Un noeud se fait passer pour plusieurs nœuds potentiellement distants, créant des

incohérences dans les tables de routage des noeuds voisins.

Page 32: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

25

Attaque par chantage : Elle est connue sous le nom anglais de Blackmail attack

[3,14]. Un nœud malicieux fait annoncer qu’un autre nœud légitime est malicieux pour

éliminer ce dernier du réseau. Si le nœud malicieux arrive à attaquer un nombre important

de nœuds, il pourra perturber le fonctionnement du réseau.

Attaque de l’inondation de HELLO : De nombreux protocoles de routage utilisent

des paquets « HELLO » pour découvrir les noeuds voisins et ainsi établir une topologie du

réseau. La plus simple attaque pour un intrus consiste à envoyer un flot de tels messages

pour inonder le réseau et empêcher d’autres messages d’être échangés. De plus, s’il parvient

à émettre à une portée suffisante, des noeuds distants vont ajouter l’intrus comme noeud

voisin dans leurs routes et fausser ainsi complètement le routage de l’information dans le

réseau.

Brouillage radio : Il consiste à perturber le canal radio en envoyant des

informations inutiles sur la bande de fréquences utilisées. Ce brouillage peut être

temporaire, intermittent ou permanent.

De même, son champ d’action doit être pris en compte ; son effet est-il limité à quelques

noeuds ou est-il suffisamment puissant pour bloquer le réseau tout entier ?

Privation de mise en veille : Elle a pour but de consommer toutes les ressources de

la victime en l’obligeant à effectuer des calculs ou à recevoir ou transmettre des données

inutilement.

4 Conclusion

Dans ce chapitre, nous avons présenté les vulnérabilités des réseaux ad hoc et les

attaques potentielles. La plupart de ces attaques ciblent la fonction principale d’un réseau ad

hoc à savoir le routage. Dans le chapitre suivant, nous allons détailler ce type d’attaques.

Page 33: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

26

Chapitre 4 : Les attaques dans les protocoles de

routage

1 Introduction

Afin de maintenir la communication, les nœuds d’un réseau ad hoc coopèrent pour la

découverte et la maintenance des routes. Les informations de routage échangées entre les

nœuds peuvent être une cible pour les attaques. En fait, il y a deux sources de risques pour

les protocoles de routage : la première provient des attaques extérieures par l'insertion

d’informations de routage falsifiées et le rejeu des anciennes informations de routage. La

deuxième, la plus sévère, provient des noeuds erronés appartenant au réseau qui peuvent

réclamer des informations de routage falsifiées pour engendrer des boucles de routage ou

détourner les données vers un nœud particulier [1, 3].

2 Les protocoles de routage dans les réseaux ad hoc

Suivant la manière de création et de maintenance de routes lors de l'acheminement des

données, les protocoles de routage peuvent être classés en trois catégories [22] :

Protocoles réactifs : Ces protocoles ne cherchent à calculer une route qu’à la demande

d’une application. Un paquet de requête est envoyé en diffusion dans le réseau à la

recherche d’une route vers la destination. Le trafic de contrôle des protocoles réactifs est

réduit. Cependant, du fait que l’on ne dispose pas immédiatement de la route vers la

destination, le délai nécessaire à l’acheminement des paquets vers la destination augmente

pour l’application. Par ailleurs, une modification des couches IP est nécessaire du fait que

ces dernières ne permettent généralement pas de conserver des paquets en mémoire avant

que la route vers cette dernière soit créée.

Parmi les protocoles de routage réactifs, on peut citer :

AODV (ad hoc On demand Distance Vector)

DSR (Dynamic Source Routing)

Protocoles proactifs : Au contraire des précédents, ces protocoles entretiennent toutes les

routes du réseau par l’échange de trames périodiques de contrôle. Il est possible de fournir

Page 34: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

27

instantanément la route vers une destination quelconque au prix de l’envoi périodique de

trames de topologie. Les protocoles proactifs fonctionnent vis-à-vis de la couche réseau

comme des protocoles de routage classiques.

Parmi les protocoles de routage proactifs, on peut citer :

OLSR (Optimised Link State Routing)

FSR (Fisheye State Routing)

DSDV (Destination Sequenced Distance Vector)

Protocoles hybrides : Ces protocoles combinent les idées des protocoles proactifs et

réactifs pour tirer profit des avantages de chacun d’eux. Afin de garder la connaissance

locale de la topologie jusqu’à un nombre prédéfini, a priori petit, de sauts il utilise un

échange périodique de trames de contrôle, autrement dit il utilise la technique proactive. Les

routes vers des noeuds plus lointains sont obtenues par schéma réactif, c’est-à-dire par

l’utilisation de paquets de requête en diffusion. Avec ce découpage, le réseau est partagé en

plusieurs zones et la recherche de routes en mode réactif peut être améliorée. A la réception

d’une requête de recherche réactive, un nœud peut indiquer immédiatement si la destination

est dans le voisinage ou non, et par conséquent savoir s’il faut aiguiller la requête vers les

autres zones sans déranger le reste de sa zone. Ce type de protocole s’adapte bien aux

grands réseaux, cependant, il cumule aussi les inconvénients des protocoles réactifs et

proactifs : messages de contrôle périodiques, plus le coût de découverte d’une nouvelle

route.

Parmi les protocoles de routage hybrides, on peut citer :

ZRP (Zone Routing Protocol)

CBRP (Cluster Based Routing Protocol)

La plupart des solutions proposées pour sécuriser le routage sont basées sur les protocoles

réactifs. Ce choix se justifie par le fait que les protocoles de routage réactifs fonctionnent

mieux que les protocoles proactifs car ils minimisent le trafic de contrôle [37, 38].

Dans ce qui suit, nous nous intéressons aux protocoles réactifs. Plusieurs attaques sont liées

aux protocoles de routage. Afin que le lecteur puisse comprendre ces attaques, il est

nécessaire de comprendre le fonctionnement global des protocoles de routage (voir annexe

B et C).

Page 35: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

28

3 Les attaques possibles dans les protocoles de routage

Dans ce paragraphe, nous énumérons les attaques possibles qui ciblent les protocoles de

routage. Ce type d’attaque peut perturber le fonctionnement du réseau.

On peut aussi classer ces attaques en deux catégories :

• Les attaques passives dans lesquelles l’intrus intercepte et analyse le trafic pour

déterminer les relations entre les nœuds et éventuellement déterminer les nœuds importants

dans le fonctionnement du réseau. Ces informations peuvent être une préparation pour

lancer une attaque active. Par exemple une attaque par déni de service ciblant les nœuds

importants peut faire tomber le réseau (mettre en disfonctionnement).

• Les attaques actives dans lesquelles l’intrus tente de perturber le fonctionnement du

réseau en supprimant, en modifiant, en fabriquant des paquets ou en rejouant d’anciens

paquets.

3.1 Attaques par suppression de paquets

Dans ce type d’attaque, l’intrus supprime tous ou certains paquets. On peut trouver

deux types :

• Trou noir (Black holes) : L’attaquant supprime tous les paquets (contrôle et

donnée).

• Trou gris (Gray holes) : C’est un cas particulier du trou noir dans lequel

l’attaquant supprime les paquets de données et transmet ceux de contrôle.

3.2 Attaques par modification des informations de routage

En absence de contrôle d’intégrité sur les messages transmis, un noeud malicieux peut

rediriger le trafic vers lui ou causer un déni de service, simplement par la modification de

certains champs des paquets de contrôle utilisés par les protocoles de routage.

Selon le champ modifié, on peut classer les attaques comme suit :

• Redirection par modification du numéro de séquence : Certains protocoles de

routage comme AODV protègent la mise à jour de leurs caches contre les anciennes

Page 36: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

29

informations de routage grâce à un numéro de séquence associé à la destination qui indique

la fraîcheur de la route. Un nœud malicieux peut donc modifier la valeur du champ numéro

de séquence pour faire détourner le trafic vers lui. Ensuite, il peut intercepter, supprimer ou

modifier ce trafic.

Figure 11. Redirection du trafic

La figure 11 illustre un exemple de redirection de trafic : supposons que le nœud malicieux

M reçoit le RREQ initialisé par la source S qui cherche une route vers X. M envoie en mode

« unicast » alors à B un RREP contenant un numéro de séquence supérieur à la valeur réelle.

B va alors rejeter tous les autres RREP puisque ces derniers ont un numéro de séquence plus

petit que celui déjà reçu de M. De cette façon, le nœud malicieux M a réussi à diriger tout le

trafic destiné à X vers lui.

• Redirection par modification du nombre de sauts (hop count) : Les protocoles

de routage à vecteur de distance comme AODV utilisent un champ appelé hop count qui

indique la longueur de la route. Pour établir une communication avec un autre nœud, la

source choisit la route ayant la plus petite valeur de hop count. Ainsi, un nœud malicieux

peut détourner le trafic vers lui en annonçant à la source une route ayant un hop count plus

petit.

• Déni de service par modification des informations de routage par la source

(source routing) : Le protocole DSR indique explicitement les différents nœuds de la route

dans l’entête du paquet de données. Un nœud malicieux peut provoquer des boucles de

routage ou lancer un déni de service en changeant la liste des nœuds indiqués dans le

paquet.

La figure 12 illustre un exemple de déni de service. Supposons que la source S veut

communiquer avec le nœud X. S transmet alors ses paquets vers X en indiquant dans

l’entête la liste des différents sauts : S→A→B→M→C→D→X. En recevant le paquet, le

nœud malicieux M peut modifier la route en supprimant par exemple D. Quand C reçoit le

S A B C D X

M

Page 37: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

30

paquet modifié, il essaie de le transmettre au prochain saut indiqué dans l’entête soit X.

Mais puisque C et X ne sont pas voisins, le paquet ne va pas arriver à X. Après un certain

nombre de tentatives, C va signaler la rupture du lien en envoyant un paquet RERR (Route

ERRor) vers la source S. Comme M est le premier saut vers la source, alors il va continuer

son attaque en deni de service en supprimant le paquet RERR.

S A B M C D X

Chemin indiqué par S Chemin modifié par M

Figure 12. Présence d’un nœud malicieux dans une route

3.3 Attaques par usurpation d’identité (Spoofing)

Un nœud malicieux change son adresse IP ou son adresse MAC afin de se faire passer

pour un autre nœud légitime du réseau. L’intrus ensuite peut lancer ses attaques avec

l’identité de ce nœud.

A D MB C E … X

A)

A D B C E … XM B)

A D B C E … X M C)

Figure 13. Création de boucles de routage par spoofing

L’usurpation d’identité peut conduire à des boucles de routage. Dans la figure 13.A,

chacun des nœuds {A, B, C, D} possède une route vers la destination X. Pour former une

boucle de routage, le nœud malicieux M change son adresse MAC pour qu’elle corresponde

à celle de A, puis il annonce à B une route vers X avec une métrique meilleure (un nombre

Page 38: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

31

de sauts plus petit ou un numéro de séquence plus récent) que celle de la route à travers C. B

met à jour alors sa table de routage en sauvegardant la nouvelle route vers X à travers A

(figure 13.B). L’intrus répète le même processus avec le nœud C en usurpant l’identité du

nœud B. C enregistre alors la nouvelle route vers X à travers B (figure 13.C). De cette façon

une boucle est formée et aucun paquet de l’un des quatre nœuds {A, B, C, D} ne peut

arriver à X.

3.4 Attaques par fabrication de messages

Cette attaque consiste à générer des informations de routage falsifiées. Nous pouvons

distinguer trois types :

• Falsifier le message route error (RERR) : Les protocoles AODV et DSR

maintiennent leurs routes par l’envoi d’un message RERR dans le cas où un nœud n’est plus

dans la zone de couverture de la route ou s’il quitte le réseau. Les nœuds recevant un

message RERR vont supprimer cette route de leurs tables de routage. Un nœud malicieux

peut injecter des messages RERRs contre un nœud légitime. Ce dernier sera donc exclu de

toutes les routes. Ainsi, le nœud malicieux provoquera un déni de service contre le nœud

légitime.

• Empoisonner les tables de routage : Dans le protocole DSR, un nœud peut écouter

les routes échangées par les autres nœuds et par conséquent mettre à jour sa table de

routage. Un nœud malicieux peut donc exploiter cette vulnérabilité pour empoisonner les

tables de routage. En effet, pour lancer une attaque par déni de service contre une

destination le nœud malicieux peut simplement diffuser des paquets contenant des routes

vers cette destination à travers lui. En écoutant ces paquets, les nœuds vont ajouter cette

route dans leurs tables de routage.

• Déborder les tables de routage : Dans la phase de découverte de route des

protocoles AODV et DSR, chaque nœud recevant un paquet RREQ met à jour son

information de routage relative à l’initiateur de la route et il établit un pointeur de retour

vers lui dans sa table de routage. Un nœud malicieux peut donc submerger les tables de

routage des autres nœuds par l’initialisation d’une découverte de route vers des nœuds

inexistants. Le but de l'attaquant est de créer assez de routes pour empêcher de nouvelles

routes d'être créées puisque les tables de routage sont déjà pleines.

Page 39: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

32

3.5 Attaques du trou de ver (Wormhole attacks)

Dans ce type d’attaque, l’intrus capture les paquets d’un point du réseau et les envoie à

travers un tunnel à un autre point distant du réseau qui rediffuse ces paquets à ses voisins

[45, 46]. Le tunnel, appelé aussi wormhole, peut être réalisé de différentes manières par

exemple par encapsulation des paquets, par un réseau filaire à haut débit ou par un réseau

sans fil à forte puissance de transmission. Le but du tunnel est de faire croire aux autres

nœuds du réseau que les deux extrémités du tunnel sont voisines alors qu’en réalité ils sont

distants de plusieurs sauts.

Dans le cas d’un protocole réactif comme AODV et DSR, cette attaque peut être lancée par

la transmission du message RREQ directement vers la destination. Les voisins de la

destination vont recevoir le message RREQ venant de l’attaquant en premier lieu et ils vont

donc rejeter tous les autres messages RREQs. De cette façon, l’attaquant empêche la

découverte d’une autre route que celle passant par lui. L’attaquant devient donc un point

central dans le réseau du fait qu’il contrôle toutes les routes.

Dans le cas d’un protocole proactif comme DSDV, la découverte des voisins se fait par

l’envoi des messages HELLO. L’attaquant peut envoyer à travers le tunnel des messages

HELLO de A vers B et de B vers A pour faire croire à ces deux nœuds qu’ils sont voisins

alors qu’en réalité ils ne le sont pas. De cette façon, l’attaquant réussit à perturber le

mécanisme de découverte de route puisqu’il y a de mauvaise perception de voisins.

Selon la manière de réaliser le tunnel (wormhole) nous distinguons différents modes

d’attaque du trou de ver [47].

3.5.1 Wormhole par encapsulation Dans ce mode d’attaque, le tunnel est réalisé par encapsulation de sorte que les champs

du paquet encapsulé ne seront pas modifiés au cours de son acheminement.

Considérons la figure 14 dans laquelle la source S veut découvrir le chemin le plus court

vers le nœud D. S diffuse alors un paquet RREQ. En recevant le paquet RREQ le nœud

malicieux M2, première extrémité du tunnel, l’encapsule dans un nouveau paquet destiné à

M1 et l’envoie à travers le tunnel. Le nœud M1, deuxième extrémité du tunnel, décapsule le

paquet reçu, extrait le paquet RREQ et diffuse ce dernier à ses voisins en particulier D.

Simultanément le paquet RREQ va traverser A-B-C pour atteindre D. Le destinataire D

reçoit donc deux paquets RREQ. Le premier venant de M1 avec un hop count égal à trois

Page 40: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

33

comme s’il avait traversé uniquement M2 et M1 alors qu’en réalité il a traversé sept sauts

{S-M2-E-F-G-H-M1-D}. Le deuxième venant de C avec un hop count égal à quatre. D

choisit alors le chemin le plus court soit celui à travers M1. De cette façon l’intrus peut

contrôler tout le trafic.

S

G

DBA

E

source

destination

M2M1

Nœud malicieux Nœud légitime

tunnel

HF

C

décapsulation

encapsulation

Figure 14. Wormhole par encapsulation

3.5.2 Wormhole par un réseau externe Dans ce mode, l’attaquant utilise un réseau externe à haut débit, en fibre optique par

exemple, pour faire parvenir ces paquets les premiers.

S

DB

A

sourcedestination

M2

M1

Nœud malicieux Nœud légitime

tunnel

Figure 15. Wormhole par un réseau externe

Considérons le scénario décrit par la figure 15. Le nœud malicieux M2 capture le paquet

RREQ diffusé par S puis l’envoie à l’autre extrémité du tunnel M1. En recevant le paquet

Page 41: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

34

RREQ, le nœud D envoie à S un paquet RREP à travers M1. Puisque le chemin {S-M2-M1-

D} est de latence plus faible que celui de {S-A-B-D}, la source reçoit le paquet RREP

venant de M2 en premier lieu et elle va donc choisir ce chemin.

3.5.3 Wormhole par transmission à forte puissance Ce mode d’attaque peut être réalisé par un seul nœud. L’intrus transmet les paquets

RREQs reçus par une forte puissance pour augmenter sa chance d’être un nœud

intermédiaire entre les deux parties en communication.

4 Conclusion

Dans ce chapitre, nous avons présenté les attaques ciblant les protocoles de routage et

nous avons montré comment ces attaques peuvent perturber le fonctionnement du réseau et

dégrader ces performances. Il est donc nécessaire de concevoir des solutions pour lutter

contre ces attaques. De telles solutions ne doivent pas être trop lourdes et ne doivent pas

augmenter la charge du réseau. Dans le prochain chapitre, nous allons présenter des

solutions proposées dans la littérature qui visent à lutter contre ces types d’attaques.

Page 42: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

35

Chapitre 5 : Conception d’une stratégie de sécurité

1 Introduction

Plusieurs solutions ont été proposées pour sécuriser les réseaux ad hoc. Ces solutions

diffèrent selon le besoin en sécurité et les moyens possibles (autorité de certification, centre

de distribution de clefs, algorithmes cryptographiques, …). Actuellement, les principaux

axes de recherche portent sur l’authentification, la génération de clefs et la sécurité des

protocoles de routage.

2 Solution pour l’authentification

2.1 Service d’authentification distribué

L’absence d’infrastructure dans les réseaux ad hoc empêche l’utilisation d’une autorité

de certification (CA) pour l’authentification des nœuds.

Ce problème peut être résolu par la distribution du rôle d’une CA aux nœuds du réseau.

On utilise alors les mécanismes de cryptographie à seuil “threshold cryptography” pour

partager le secret entre les membres du réseau. Pour être authentifié, un nouveau nœud doit

collecter au moins k portions du secret.

Une solution basée sur la méthode RSA est proposée dans [16, 17]. Dans un cryptosystème

RSA traditionnel, l’autorité de certification utilise une paire de clefs (SK, PK), avec SK la

clef privée (secret) utilisée pour signer les certificats et PK la clef publique connue par les

nœuds du réseau pour vérifier la validité de la signature d’un certificat.

Par l’utilisation de la cryptographie à seuil, la clef SK est partagée entre les nœuds du

réseau. Tout ensemble de k (threshold) nœuds peuvent jouer le rôle d’une autorité de

certification. Par contre, aucun nœud ne peut connaître la clef secrète SK.

Chaque nœud possède aussi une paire de clefs RSA (ski, pki) et un certificat certi qui

contient l’identité du nœud soit vi, sa clef publique pki et la durée de validité du certificat.

Soit certi=<vi, pki, T>. Un certificat est considéré valide s’il est signé par la clef SK.

Page 43: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

36

Un nœud qui veut obtenir un certificat valide diffuse une requête à ses voisins comme

illustré à la figure 16. En recevant la requête, chaque nœud vérifie si ce nœud est malicieux

(on suppose qu’un nœud possède les moyens de détecter les nœuds malicieux). Dans le cas

contraire, il lui répond par un certificat partiel. La combinaison des k certificats partiels

forme un certificat valide.

Reply 1PvCert under

attack

moving away

Reply 5PvCert

Reply 4PvCert

Reply 3PvCert

Reply 2PvCert

fail request

Figure 16. Mécanisme d’authentification d’un nœud

Cette solution a pour avantage de mieux résister aux attaques qui visent de révéler la clef

secrète car un attaquant doit compromettre k nœuds pour pouvoir révéler cette clef. Mais

l’inconvénient de cette solution est qu’elle est plus vulnérable à un déni de service ; un

nœud doit pouvoir contacter au moins k utilisateurs pour obtenir un certificat.

Description de protocole Le protocole est basé sur une approche polynomiale de cryptographie à seuil comme

celle proposée par Shamir [18]. Nous ne traitons pas les techniques de cryptographie à seuil

(threshold cryptography) dans ce document mais le lecteur intéressé est invité à lire [18, 19,

20, 21,48].

Lors du démarrage du réseau, un distributeur connaissant la clef privée {d, n} d’un système

RSA génère un polynôme aléatoire de degré 1−k , ( ) nxfxfdxf kk mod...)( 1

11−

−+++= .

Page 44: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

37

Puis il transmet, d’une manière secrète, les parts Pvi aux différents noeuds. Les parts sont

obtenues en évaluant le polynôme f(x) aux différents points vi : Pvi=f (vi) mod n.

Ces nœuds jouent ainsi le rôle d’un service d’authentification et servent pour la signature de

certificats de nouveaux nœuds. Chaque nœud participe dans la signature de certificat en

générant un certificat partiel ViPvi (Cert)Cert = mod n. (3)

En recevant k certificats partiels, le nœud calcule pour chaque certificat la quantité :

)0(lvivi

vi)(CertCert' = mod n . Avec ∏≠= −

=k

irr ir

rvi vv

vl,1

)0( mod n (4)

Et enfin, on obtient le certificat en multipliant les différentes parts :

∏=

=k

iviCert

1

'Cert mod n = ∑

=

k

ivivi lP

1

).0(.

)(Cert mod n = dCert)( mod n. (5)

En effet d’après la formule de Lagrange on a :

( ) nvfvvvx

xf l

k

l lh hl

h mod)()(1

⎟⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛−−

= ∑ ∏= ≠

(6)

( ) nPvvvvx

xf l

k

l lh hl

h mod)(1

⎟⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛−−

= ∑ ∏= ≠

(7)

Donc d= ( ) nPvvv

vf l

k

l lh lh

h mod)(01

⎟⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛−

= ∑ ∏= ≠

= )0(1

vi

k

ivilP∑

=

mod n. (8)

2.2 Etablissement d’une clef secrète commune (Accord de clef)

Considérons un groupe de personnes souhaitant établir une communication sûre entre

eux à l’occasion d’une réunion dans une salle de conférence fermée. Les participants se font

confiance entre eux mais ils n’ont aucun moyen pour s’authentifier. Ce type de scénario est

vulnérable à toute attaque. Un attaquant de l’extérieur de la salle peut non seulement

surveiller la communication mais peut également modifier les messages ou insérer des

messages en usurpant l’identité d’un participant à l’intérieur de la salle.

Une solution pour assurer l’authentification entre les différents membres du réseau et lutter

contre les attaques extérieures est d’établir une clef secrète commune connue seulement par

Page 45: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

38

les personnes présentes dans la salle. Cette clef peut ensuite être utilisée pour chiffrer la

communication.

La mise en place de cette clef peut se faire de manière distribuée, mais la difficulté de ce

mode de fonctionnement est de trouver un support sécurisé pour distribuer la clef. Une

façon simple pour distribuer la clef est de l’inscrire sur un morceau de papier qui fait le tour

de la salle. Une autre façon est de faire circuler la clef entre les différents membres du

réseau par voie orale. Mais dans ces cas la clef sera généralement petite et facile à utiliser,

ce qui la rend vulnérable aux attaques par dictionnaire. Il est donc nécessaire d’envisager un

protocole permettant de dériver une clef de session forte à partir du mot de passe initial,

appelée aussi mot de passe faible. Un tel protocole doit vérifier les propriétés suivantes [2,

43] :

• Secret (secrecy) : seules les personnes connaissant le mot de passe initial peuvent

lire la clef de session.

• Accord de clef collaboratif : tous les membres du réseau contribuent à la

génération de la clef et sa mise à jour.

• Perfect Forward secrecy : la découverte d’informations secrètes à long terme

utilisées n’aboutit pas à la découverte des anciennes clefs de session.

• Résistance : le protocole doit résister aux attaques passives visant à découvrir la

clef de session et aux attaques actives qui tentent d’usurper l’identité d’un participant.

2.2.1 Protocole général

2.2.1.1 Cas de deux noeuds On suppose A et B deux nœuds qui partagent un mot de passe P et qui veulent établir

une clef de session [40]. Soit (EA,DA) une paire de clefs asymétriques utilisées par A. Le

déroulement du protocole est comme suit (figure 17) :

(1) A envoie à B la quantité EA chiffrée par le mot de passe P. Il envoie aussi un label ‘A’

pour s’identifier.

(2) B déchiffre le message reçu, extrait la quantité EA puis génère un nombre aléatoire R et

une quantité secrète SB. Le tout sera chiffré par EA puis P. Cela authentifie B au niveau de A

puisque B ne peut extraire la quantité EA que s’il connaît le mot de passe (P).

Page 46: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

39

(3) A déchiffre le message reçu de B extrait R puis il envoie sa quantité secrète (SA) à B

chiffrée par le nombre aléatoire R. Cela permet d’authentifier A au niveau de B puisque A

ne peut extraire R que s’il connaît le mot de passe (P).

(4) Enfin, chaque noeud calcule la clef résultante des deux quantités secrètes (K=f(SA, SB) )

puis envoie un hachage de SA et SB plus la quantité secrète de l’autre partie, l’ensemble

chiffré par la clef K. Cela permet de confirmer que chaque nœud connaît la clef K.

Figure 17. Accord de clef entre deux noeuds

2.2.1.2 Cas d’un groupe de participants Le protocole précédent peut être facilement extensible pour un groupe de participants.

Soit Mi ,i=1 .. n, n utilisateurs qui veulent partager un secret. Chaque participant Mi

contribue à la génération de la clef secrète commune par sa quantité secrète Si. On suppose

aussi que Mn, le leader du groupe, possède une paire de clefs asymétriques (E,D).

Le déroulement du protocole est comme suit :

(1) Mn Mi : Mn, P(E), i=1 à n.

Mn diffuse aux autres nœuds son identifiant suivi de sa clef publique E chiffrée par le mot de

passe.

(2) Mi Mn : Mi, P(E(Ri, Si)), i = 1 à n-1.

En recevant le message de Mn, chaque nœud répond en envoyant son identifiant suivi d’un

nombre aléatoire Ri et de sa quantité secrète Si chiffrés par E puis par le mot de passe P.

(3) Mn Mi : Ri({Sj, j = 1 to n}), i = 1 to n-1.

A, P(EA)

A B

P(EA (R, SB))

R(SA)

K(SA, h(SA, SB))

K(SB, h(SA, SB))

Page 47: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

40

Mn envoie à chaque nœud Mi l’ensemble des quantités secrètes chiffrées par Ri.

(4) Mi Mn : Mi, K(Si, H(S1, S2,…, Sn)).

Chaque nœud Mi confirme sa connaissance de la clef K en envoyant sa quantité secrète Si et

un hachage de toutes les quantités secrètes, l’ensemble chiffré par la clef K.

L’utilisation d’une paire de clefs asymétriques permet d’assurer la propriété Perfect

Forward secrecy. En effet un attaquant peut compromettre un nœud Mi et donc découvrir le

mot de passe, mais il reste incapable de déchiffrer les anciens messages tant qu’il ne connaît

pas la clef de déchiffrement D. Il est donc préférable de détruire la paire de clefs à la fin du

déroulement du protocole et d’utiliser une nouvelle paire de clefs à chaque exécution du

protocole, mais cela augmente le coût du protocole.

2.2.2 Protocole de Diffie-Hellman authentifié par mot de passe Dans le cas de deux participants, les deux parties A et B se mettent d’accord sur un

entier premier N et un générateur g du groupe cyclique fini d’ordre N (ce groupe est

constitué de l’ensemble {1,2,… ,N-1} et tous les calculs dans ce groupe se font modulo N).

Chacune des parties choisit un nombre secret utilisé comme exposant.

Le déroulement du protocole est illustré par la figure 18.

Figure 18. Protocole de Diffie-Hellman authentifié

(1) A calcule gSA , le chiffre avec le mot de passe P puis l’envoie à B. Il envoie aussi un

label ‘A’ pour s’identifier.

A, P(gSA)

A B

P(gSB), K(CB)

K(CA, CB)

K(CA)

Page 48: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

41

(2)Connaissant le mot de passe, B extrait gSA puis calcule gSB et la clef de session

K=(gSA)SB=gSASB. B envoie ensuite à A gSB chiffré par le mot de passe et un challenge

aléatoire CB chiffré par la clef de session K.

(3)A extrait gSB puis calcule la clef de session K = (g SB) SA = gSASB . A peut maintenant

déchiffrer la deuxième partie du message et donc extraire CB. A ensuite choisit son propre

challenge CA puis envoie à B (CA, CB) chiffré par la clef K.

(4) B déchiffre le message reçu en utilisant la même clef de chiffrement K puis vérifie que

le challenge CB reçu correspond bien à celui envoyé. Cela permet d’authentifier A au niveau

de B : puisque A ne peut déchiffrer le message reçu dans l’étape (2) que si elle connaît le

mot de passe (P).

Pour que A s’assure maintenant de l’identité de B, ce dernier renvoie à A le challenge CA

chiffré par la clef de session K.

En recevant le message envoyé par B dans l’étape (4), A extrait le challenge CA et le

compare avec celui déjà envoyé à B. Si les deux quantités sont identiques alors A est

convaincue que B connaît la clef K.

On suppose maintenant qu’on a n participants M1, M2,…, Mn qui veulent partager un secret

commun. Chaque participant choisit un exposant secret Si et la clef résultante sera

g K 1Sn-S1S2....Sn = . Le déroulement du protocole est comme suit [40]:

(1) Mi --> Mi+1 : g S1S2_ _ _Si, i = 1 à n-2 en séquence.

La première étape se déroule en (n-2) sous étapes : le nœud M1 calcule gS1 et l’envoie au

nœud suivant, soit M2. Ce dernier ajoute son exposant secret et envoie donc à M3 gS1S2 . Le

dernier nœud, le nœud Mn-1, reçoit g S1S2…Sn-2 , ajoute son exposant secret puis (étape 2) il

diffuse la quantité ∏ = g S1S2…Sn-1.

(2) Mn-1 --> Tous : ∏ = g S1S2_ _ _Sn-1, en diffusion.

(3) Mi --> Mn : P(Ci), i = 1 à n-1, en parallèle, avec Ci = ∏ Si’/Si et Si‘ un facteur de

brouillage choisi par Mi.

(4) Mn --> Mi : (Ci) Sn, i = 1 à n-1, en parallèle.

(5) Mi --> Tous : Mi, K(Mi, h(M1, M2,…, Mn) en diffusion.

L’utilisation de facteur de brouillage dans l’étape 3 permet de se prémunir contre une

attaque par dictionnaire sur le mot de passe. En effet, sans le facteur de brouillage, la

quantité envoyée par Mn-1 dans l’étape 3 sera le chiffrement de la même quantité reçue par

Mn-1 à l’étape 1.

Page 49: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

42

La dernière étape du protocole (étape 5) sert pour confirmer au niveau de chaque nœud que

les autres participants sont d’accord sur la même clef que la sienne.

3 Protocoles de routage sécurisé

3.1 Propriétés désirées d’un protocole de routage sécurisé

Un protocole de routage sécurisé (SRP, Secure Routing Protocol) [13] doit être capable

d’établir une communication entre deux nœuds même en présence de nœuds malicieux.

Il doit aussi avoir la capacité de détecter les nœuds malicieux et d’avertir les autres nœuds

légitimes du comportement de ces nœuds. Les nœuds légitimes vont donc écarter les

chemins contenant des nœuds malicieux.

Un nœud malicieux peut exploiter cette propriété pour lancer une attaque blackmail contre

un nœud légitime. Pour lutter contre cette attaque, on doit avoir une hiérarchie de confiance.

Le protocole doit aussi garantir la confidentialité des informations de routage pour

empêcher un nœud malicieux de connaître les nœuds importants du réseau. Sinon ces nœuds

seront des candidats pour une attaque en déni de service.

3.2 Le protocole SAR

L’idée principale du protocole de routage sécurisé SAR (Security Aware Routing) [29]

est de protéger le mécanisme d’établissement de la route contre la participation des nœuds

malicieux. Pour cela, il introduit la notion de hiérarchie de confiance : chaque nœud a un

niveau de confiance qui change progressivement en fonction de son comportement. Si le

nœud participe dans la découverte des chemins alors son niveau de confiance augmente.

Dans le cas où il annonce des informations de routage invalides ou il ne fait pas suivre le

trafic dans le temps prévu, son niveau de confiance diminue. Ce niveau de confiance permet

de restreindre le mécanisme de découverte de la route seulement aux nœuds légitimes.

L’initiateur de la route inclut dans le message RREQ une métrique de sécurité indiquant le

niveau de confiance minimal que doit posséder le nœud pour participer à la découverte de la

route.

Cette idée peut être réalisée par le partage d’une clef secrète entre les nœuds possédant le

niveau de confiance adéquat. Les messages RREQ seront ensuite chiffrés par cette clef.

Page 50: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

43

En recevant un message RREQ, le nœud va essayer de le déchiffrer. Dans le cas où le nœud

ne possède pas la clef, il sera obligé de supprimer le paquet et par la suite de s’exclure de la

route.

Ce protocole garantit un niveau de sécurité minimal mais il peut augmenter la longueur de la

route en excluant certains nœuds. De plus ce protocole n’est pas extensible en particulier si

on a plusieurs niveaux de confiance. En effet, il faut associer à chaque niveau de confiance

une clef. Un nœud doit tester à chaque réception d’un message RREQ toutes les clefs qu’il

possède puisqu’il ne connaît pas le niveau de confiance du message. Si aucune de ces clefs

ne parvient à déchiffrer le message le nœud va le supprimer. Et donc on aura une

consommation inutile de ressources. Une solution pour palier cet inconvénient est d’attacher

un texte en clair au message RREQ indiquant son niveau de confiance. Un nœud va donc

vérifier dès le début s’il possède ou non la clef.

Il faut aussi noter la nécessité d’avoir un mécanisme de gestion et distribution de clefs. A

chaque fois que les membres du réseau changent, des nœuds peuvent quitter et d’autres

peuvent joindre le réseau, les clefs doivent être renouvelées.

3.3 Le protocole ARAN

Le protocole ARAN (Authenticated Routing ad hoc Network) [30] permet de détecter

les nœuds malicieux en introduisant des mécanismes d’authentification et de vérification de

l’intégrité des messages. ARAN garantit aussi la non répudiation.

ARAN est composé de deux étapes. La première est simple et ne demande pas beaucoup de

calculs. La deuxième est optionnelle, elle augmente le niveau de sécurité mais elle introduit

des coûts supplémentaires.

Avant d’examiner en détail les étapes du protocole nous définissons les notations suivantes :

KA+ : clef publique du nœud A. KA- : clef privée du noeud A. [d] KA+ : chiffrement des données d par la clef KA+. [d] KA- : signature des données d par le noeud A. CertA : certificat du noeud A.

3.3.1 Etape 1 ARAN utilise un serveur de certification soit T. Avant de joindre le réseau chaque

nœud demande un certificat de ce serveur. Le certificat contient l’adresse IP et la clef

publique du nœud, un “ timestamp” t indiquant la date de création du certificat et la date

Page 51: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

44

d’expiration du certificat. Toutes ces variables sont concaténées puis signées par la clef

privée du serveur.

Dans le cas d’un nœud A et d’un serveur T, on aura : CertA = [ ] −+ TAA KetKIP ,,,

Ensuite la source (A) diffuse un paquet de découverte de route RDP (Route Discovery

Packet ) contenant un identifiant du type de paquet, l’adresse IP de destination (IPD), le

certificat de A, un nonce NA et la date courante. Tous ces champs seront concaténés puis

signés par la clef privée de A.

A diffuse : [ ] −AAADid KtNCertIPRDP ,,,,

A chaque fois que le nœud A effectue un RDP il incrémente la valeur de nonce. Cette valeur

est associée avec l’adresse IP de la source pour identifier un RDP.

En recevant le paquet RDP, un nœud intermédiaire enregistre le nœud précédent à partir

duquel il a reçu le paquet. Ensuite il fait suivre le paquet en signant son contenu.

Soit B le nœud suivant de A.

B diffuse : [ ][ ] BBAAADid CertKKtNCertIPRDP ,,,,, −−

A la réception d’un RDP, un nœud va vérifier s’il a déjà traité ce paquet. Dans ce cas, il va

le supprimer. Dans le cas contraire, il va valider la signature du nœud précédent par le

certificat (Cert B) puis il va la remplacer par sa signature.

Soit C le nœud voisin de B :

C va diffuser : [ ][ ] CCAAADid CertKKtNCertIPRDP ,,,,, −−

Quand le premier paquet RDP associé à un couple (NA, IPA) arrive au destinataire, ce

dernier va répondre en envoyant en « unicast » un paquet REP (REPly) sur le chemin

inverse.

Soit D la destination et C le nœud prédécesseur de D (le nœud à partir duquel D a reçu le

paquet RDP).

D envoie à C : [ ] −DADAid KtNCertIPREP ,,,,

En recevant le paquet REP, C vérifie la signature de D puis cherche une entrée pour (NA,

IPA) pour déterminer le prochain nœud vers A, dans notre cas c’est B. C signe le paquet

REP reçu de D par sa clef privée puis le fait transmettre à B.

C envoie à B : [ ][ ] CCDADAid CertKKtNCertIPREP ,,,,, −−

Page 52: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

45

En recevant le paquet REP, B va valider la signature de C par le certificat de C (Cert C) puis

il fait suivre le paquet en remplaçant la signature de C par sa signature.

B envoie : [ ][ ] BBDADAid CertKKtNCertIPREP ,,,,, −−

Quand la source reçoit le paquet REP, elle vérifie la signature de D et la valeur du nonce

(NA). De cette façon, on garantit l’authentification des nœuds donc on se prémunit des

attaques par usurpation de l’identité. On garantit aussi l’intégrité, ce qui empêche des

attaques par modification des informations de routage.

3.3.2 Etape 2 Cette étape est optionnelle. Elle a pour but de trouver le chemin le plus court. Elle

dépend de l’étape précédente car elle utilise le certificat de destination (Cert D).

La source commence par diffuser un SPC (Shortest Path Confirmation).

A diffuse : SPC, IPD, Cert D, [ ][ ] +− DAAAD KKtNCertIP ,,,

Chaque nœud intermédiaire va ajouter au message son certificat.

Soit B le nœud voisin de A. B diffuse :

SPC,IPD,Cert D, [ ][ ][ ][ ] +−+− DBBDAAAD KCertKKKtNCertIP ,,,, .

Quand la destination (D) reçoit le paquet elle commence par vérifier la validité des

signatures. A partir des certificats la destination peut déduire la longueur de la route. Ensuite

elle répond en envoyant un paquet RSP (Recorded Shortest Path) indiquant la route la plus

courte.

D envoie à A : [ ] −DADA KrouteNCertIPRSP ,,,,

La source reçoit éventuellement ce paquet, procède à la vérification du nonce (NA) avec

celui qu’elle a envoyé dans le paquet SPC.

La signature du paquet par chaque nœud permet d’empêcher un nœud malicieux de modifier

le chemin car cela va casser l’intégrité des données chiffrées.

ARAN inclut aussi un mécanisme de maintenance de route. Un nœud qui détecte une

rupture de lien génère un message ERR (ERRor) destiné à la source. Les messages ERRs

sont aussi signés. Supposons que le nœud B détecte une rupture dans le chemin entre la

source S et le destinataire D. B envoie à son voisin : - t]K,N ,Cert ,IP ,IP [ERR, BBBDA .

Page 53: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

46

La signature des messages ERRs permet de garantir la non-répudiation. De ce fait un nœud

malicieux n’a pas d’intérêt d’envoyer des messages ERRs falsifiés car dans ce cas il va être

exclut du chemin.

3.4 Le protocole Ariadne

Ariadne [35] est un protocole de routage sécurisé basé sur le protocole de routage

réactif DSR. Pour authentifier les messages de routage Ariadne peut utiliser un des

mécanismes suivants : partage de clefs secrètes entre chaque paire de nœuds du réseau,

signature numérique ou partage de clef secrète entre la source et la destination seulement

avec authentification des nœuds intermédiaires par l’utilisation du protocole TESLA [32].

Mais la seule solution implémentée et évaluée de Ariadne et celle utilisant le protocole

TESLA. Cette solution sera détaillée dans la suite de cette section.

L’utilisation d’un hachage à chaque nœud (per-hop hashing) permet d’empêcher un

attaquant de supprimer un nœud de la liste. Chaque nœud remplace l’ancien hachage par un

nouveau dépendant de son adresse. Soit A un nœud intermédiaire alors le nouveau hachage

est hage)ancien_hac (A, H où H est une fonction de hachage non réversible.

3.4.1 Le protocole TESLA Les moyens classiques pour assurer l’intégrité et l’authentification des messages

échangés entre les nœuds d’un réseau sont basés sur l’utilisation de la signature numérique

ou de MACs (Message Authentication Code).

L’utilisation d’un MAC calculé à partir d’une clef secrète partagé entre l’émetteur et le

destinataire permet d’assurer l’authentification dans le cas d’une communication point à

point (un seul récepteur). Cette solution n’est pas applicable dans le cas où on a diffusion de

message. En effet les récepteurs doivent connaître la clef secrète pour vérifier le MAC ce

qui permet à n’importe quel nœud de modifier le message ou d’usurper l’identité de

l’émetteur.

La signature numérique permet de résoudre ce problème mais elle reste une solution non

préférée dans les réseaux ad hoc car ces derniers présentent des ressources limitées

(puissance de calcul, énergie). Or la cryptographie asymétrique (dont la signature faite

Page 54: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

47

partie) demande plus de puissance de calcul et elle est plus lente que la cryptographie

symétrique.

Perrig et al. [32, 33, 34] proposent TESLA (Timed Efficient Stream Loss-tolerant

Authentication). TESLA permet de vérifier l’intégrité et authentifie la source en attachant au

message un MAC dépendant d’une clef secrète K qui n’est divulguée par l’émetteur

qu’après un délai d. La valeur de d est calculée de manière à être sûr que tous les récepteurs

ont bien reçu le paquet avant la divulgation de la clef, ce qui assure l’intégrité et

l’authenticité du paquet. Un paquet ne sera accepté par le récepteur que si sa clef n’est pas

encore divulguée. Ce délai ne doit donc pas être trop petit car dans ce cas on aura le rejet de

la plupart de paquets. De même la valeur de d ne doit pas être trop grande pour limiter les

latences dans le réseau.

La clef secrète utilisée pour générer le MAC est issue d’une chaîne de clefs. Au début

l’émetteur choisit un nombre aléatoire Kn. Ensuite les autres éléments de la chaîne sont

calculés récursivement de la manière suivante : Ki =F (Ki+1) où F est une fonction de

hachage non réversible. L’émetteur va utiliser ces clefs dans l’ordre inverse de leur

génération c’est à dire dans l’ordre K0, K1, …, Kn. A la réception d’un nouveau paquet le

destinataire vérifie la relation Ki-1 =F (Ki) où Ki est la clef dernièrement reçue et Ki-1 la clef

précédente. Cette condition permet de vérifier que la clef Ki fait bien partie de la chaîne de

clefs de l’émetteur, ce qui assure la propriété d’authentification de la source. Le récepteur

peut calculer toute clef intermédiaire Ki à partir de la dernière clef reçue Kn à partir de la

relation )(K F K ni)-(n

i = , ce qui lui permet de vérifier des paquets dont les clefs sont

perdues. Il est à noter la nécessité d’authentifier la première clef (K0) en utilisant par

exemple le procédé de signature numérique.

Le déroulement plus détaillé du protocole TESLA est comme suit :

L’émetteur choisit un nombre aléatoire Kn puis procède à la génération d’une chaîne de

clefs. La longueur de la chaîne détermine la durée maximale de transmission avant qu’une

nouvelle chaîne soit générée. L’émetteur définit des intervalles de temps de durée uniforme

puis attribue à chaque intervalle i une clef Ki de la chaîne. Cette clef ne sera révélée qu’après

d intervalles de temps. d s’appelle alors délai de révélation de la clef. L’utilisation de la

même clef Ki pour calculer la clef Ki-1 et pour calculer le MAC peut conduire à une faiblesse

cryptographique (avoir deux informations sur la clef secrète Ki donne plus de chance à un

Page 55: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

48

cryptanalyste de la déduire). Pour augmenter la sécurité du protocole on utilise une autre

fonction non réversible F’ pour générer des clefs K’i utilisées pour le calcul des MACs. La

figure suivante illustre ce fonctionnement.

Temps

F(Ki+3)F(Ki) F(Ki+1) F(Ki+2) Ki+2KiKi-1 Ki+1

K’i+2K’i+1K’i

F’(Ki+2)F’(Ki+1)F’(Ki)F’(Ki-1)

F(Ki-1)

Intervalle i+2Intervalle i+1 Intervalle i Intervalle i-1

K’i-1

Figure 19. Génération des clefs TESLA

A chaque paquet Pi l’émetteur attache un MAC calculé en fonction du message Mi et de la

clef K’i et il révèle la valeur de la clef Ki-d avec d le délai de révélation de la clef. Le paquet

a le format suivant : Pi= {Mi || Ki-d || MAC (Mi, K’i)}.

En recevant le paquet Pi le récepteur vérifie que la clef Ki n’est pas encore divulguée. Si

c’est le cas, le paquet sera rejeté. Ensuite il vérifie que la clef Ki-d appartient bien à la chaîne

des clefs de l’émetteur en vérifiant pour une ancienne clef Kv (v<i-d)

que )(K F K d-iv)-d-(i

v = . Si le test échoue le paquet sera rejeté. Dans le cas contraire, le

récepteur mémorise le paquet. Avec la clef Ki-d le récepteur peut vérifier l’intégrité du

paquet Pi-d. Il calcule d’abord )(KF K d-i'

d-i' = puis MAC (Mi-d, K’i-d). Ensuite il compare le

MAC calculé avec celui mémorisé. En cas d’égalité, l’intégrité est vérifiée.

3.4.2 Mécanisme de découverte de route avec TESLA On suppose que chaque paire de nœuds communicants partagent une clef secrète (par

exemple KSD et la clef secrète partagée entre la source S et la destination D) et que chaque

nœud possède une chaîne de clefs TESLA dont une est authentifiée et connue par tous les

autres noeuds.

Le mécanisme de découverte de route est composé de deux étapes. Dans la première, la

source inonde le réseau par la diffusion de route request. Dans la deuxième étape, la

destination répond à la source par l’envoi d’un paquet route reply.

Le paquet route request utilisé dans Ariadne contient huit champs : un identificateur de la

requête (REQUEST), l’adresse de la source (S), l’adresse de la destination (D), un

Page 56: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

49

identificateur de broadcast (id), un champ ti (time interval) indiquant l’intervalle de temps

dans lequel le paquet est envoyé, un hachage initialisé à ),,,,(MACSDK tiidDSREQUEST ,

une liste de nœuds et une liste de MACs initialement vides (figure 20).

Figure 20. Mécanisme de découverte de route dans Ariadne

Quand un nœud intermédiaire A reçoit un paquet route request n’a pas déjà été traité, alors il

vérifie la validité de son time interval. Si la clef utilisée dans cet intervalle de temps est déjà

révélée alors le paquet est rejeté. Dans le cas contraire, A ajoute son adresse dans la liste des

nœuds et remplace le hachage par hage)ancien_hac (A, H puis ajoute un MAC calculé à

partir de tout le request et d’une clef KAi avec i l’indice de l’intervalle de temps.

Quand le destinataire reçoit le paquet il vérifie la validité de la clef et que le hachage est

égal à )]...]],,,,(,[[...,,[,[ 11 tiidDSREQUESTMACHHHHSDKnn ηηη − . Avec iη le nœud à la

position i.

Page 57: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

50

Si le paquet route request est considéré valide alors le destinataire renvoie un route reply à

l’initiateur de la route à travers le chemin inverse de celui indiqué dans route request

(obtenu en inversant la séquence de sauts indiquée dans le champ liste de nœuds )

Avant de faire suivre le paquet route reply, chaque nœud intermédiaire ajoute sa clef

TESLA avec laquelle il a calculé le MAC dans le paquet route request. Cette clef sera

utilisée par l’initiateur de la route pour authentifier ce nœud intermédiaire.

4 Mécanismes complémentaires pour atténuer le comportement des nœuds malicieux

Ces mécanismes permettent de détecter et d’éliminer les nœuds malicieux par

l’installation d’un watchdog et un pathrater [31].

On suppose ici que les nœuds peuvent écouter les transmissions de leurs voisins. Ce mode

de fonctionnement est appelé le mode promiscuous.

4.1 Watchdog

Le watchdog permet de vérifier si le nœud suivant a réellement fait suivre le paquet, en

écoutant tous les paquets qu’il émet. Un temporisateur est associé à chaque paquet. Si le

temporisateur expire avant que le nœud suivant transmette le paquet alors ce dernier est

considéré comme un noeud malicieux.

Le watchdog présente certaines faiblesses. En effet il ne permet pas de détecter les nœuds

malicieux dans les cas suivants :

Collision : en présence de collision le watchdog ne peut pas distinguer si cette

collision est due à la transmission du paquet par le nœud suivant (ce qui doit être le cas) où à

la transmission d’autres nœuds voisins. Considérons le scénario décrit par la figure 21. Une

collision s’est produite au niveau du nœud A au moment de son écoute de la transmission de

B. A ne peut pas distinguer si la collision est causée par l’envoi du nœud B ou par la

transmission du nœud S.

S C B A D P2 P1 P1

Page 58: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

51

Figure 21. Collision ambiguë au niveau du watchdog

Mauvaise réception : Le watchdog au niveau du nœud A (figure 22) peut

déterminer si B a fait suivre le paquet mais ne peut pas déterminer si le nœud C a bien reçu

le paquet. Dans la figure 22 une collision s’est produite au niveau du nœud C au moment de

la réception du paquet. A voit la transmission de B et suppose que le paquet est bien reçu

alors que le nœud B peut ignorer la retransmission du paquet.

Figure 22. Collision au niveau du récepteur

Limiter la puissance de transmission : un nœud peut contrôler sa puissance de

transmission pour que le signal arrive au watchdog mais pas au nœud suivant.

4.2 Pathrater

Ce mécanisme permet de choisir la route la plus sécurisée en se basant sur la

connaissance du niveau de confiance de chaque nœud.

Le pathrater associe une métrique à chaque route qui est la moyenne des niveaux de

confiance des nœuds constituant cette route.

Ce mécanisme ne peut être implémenté que dans des protocoles de routage avec routage par

la source (source routing) comme DSR car il est nécessaire de connaître tous les nœuds

constituant la route.

5 Conclusion

Dans ce chapitre, nous avons présenté des solutions existantes permettant d’augmenter

le niveau de sécurité dans les réseaux ad hoc. Puisque dans un réseau ad hoc il n’y a pas

S C B A D P2 P1 P1

Page 59: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

52

d’entité centralisée la solution d’authentification basée sur la cryptographie à seuil semble

être efficace mais son implémentation est difficile à réaliser.

Les solutions existantes pour sécuriser le routage ont pour but d’assurer l’authentification et

l’intégrité des messages de routage. Le tableau 1 résume les caractéristiques, ainsi que les

avantages et les faiblesses de chacune de ces solutions.

Nous avons choisi de simuler le protocole ARAN et de voir son effet sur les performances

du réseau. Dans ce qui suit nous allons présenter notre plateforme de simulation ainsi que

les différentes étapes d’installation et de configuration.

Tableau 1. Résumé des protocoles de routage sécurisés

Protocole Hypothèse Caractéristiques Avantages faiblesses SAR - suppose

l’existence de mécanisme de détection des nœuds malicieux -Un centre de génération et de distribution de clefs

-utilise une hiérarchie de confiance -Chaque nœud a un niveau de confiance qui varie selon son comportement -Une clef et partager entre les nœuds ayant même niveau de confiance. -L’initiateur de la route spécifie dans le paquet route request le niveau de confiance (sécurité) requis et seul les nœuds ayant ce niveau de confiance (ou plus ) peut participer au mécanisme de découverte de route.

-Défendre contre la modification et la fabrication de message -Ne demande pas beaucoup de calcul

-Difficultés de la génération et la distribution des clefs -Il faut aussi la mise à jour des clefs lors de changement des membres du réseau. -N’est pas extensible lorsque on a plusieurs niveau de confiance. - La route trouvée est souvent n’est pas optimale en terme de nombre de sauts.

Ariadne -chaque pair de nœud communiquant partagent une clef secrète

-basé sur le protocole DSR. - La clef secrète partagée assure l’authentification de

-La cryptographie symétrique est plus efficace

-Il faut synchronisation entre les différents nœuds du réseau

Page 60: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

53

-chaque nœud possède une chaîne de clefs TESLA dont une est authentifiée et connue par les autres nœuds.

la source -la clef TESLA assure l’authentification des nœuds intermédiaires et l’intégrité du message. -Assure qu’un attaquant ne peut pas modifier le chemin dans le paquet RREQ par l’utilisation d’un hachage au niveau de chaque nœud (per-hop haching)

-L’authentification de la première clef TESLA est faite par la signature et donc chaque nœud doit avoir un certificat.

ARAN -une autorité de certification qui gère les certificats des utilisateurs

-le paquet route request sera signé par la source -chaque nœud intermédiaire vérifie l’ancienne signature puis la remplace par la sienne. -le chemin le plus rapide (moins congestionné) sera choisi même s’il n’est pas le plus court.

-Assure l’authentification, l’intégrité et la non-répudiation -Le coût ajouté pour le calcul des signatures est recomposé par l’élimination des nœuds malicieux.

-La cryptographie asymétrique demande beaucoup de calcul.

Page 61: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

54

Chapitre 6 : Mise en place d’une plateforme

virtuelle de Simulation

1 Introduction

Lorsqu’un nouveau protocole est développé, il est nécessaire de le tester. Il existe

généralement trois moyens pour tester un protocole : les modèles mathématiques, la

simulation ou les plateformes réelles. Les modèles mathématiques présentent l’inconvénient

d’être complexes. Les plateformes réelles nécessitent des matériels qui peuvent être onéreux

ou non disponibles. La simulation est donc la solution la plus convenable et qui est

largement utilisée.

Dans ce chapitre, nous présentons notre environnement de simulation ainsi que les

différentes étapes d’installation et de configuration.

2 Présentation de l’environnement

Les principaux composants de notre simulateur sont un noyau UML (User Mode Linux)

et un pilote de carte réseau sans fil (hostap driver). La figure 23 décrit les interactions entre

les différents composants du simulateur. Le pilote hostap est intégré dans le noyau UML et

le netbus permet la connexion entre ce pilote et la carte réseau virtuelle. Le simulateur

intègre aussi un environnement graphique qui permet de visualiser les nœuds et un

émulateur de la couche physique [49].

Page 62: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

55

Figure 23. Architecture logicielle du simulateur [49]

3 Qu'est ce que User Mode Linux ? User Mode Linux (UML) est un dispositif permettant de lancer un ou plusieurs

noyau(x) linux dans l'espace utilisateur (comme un simple programme). En clair, il permet

d'avoir plusieurs machines virtuelles sur une seule machine physique hôte exécutant Linux.

Les avantages sont nombreux :

Si une machine virtuelle tombe en panne, le système hôte n'est pas affecté.

Un utilisateur sera root sur une machine virtuelle, mais pas sur le système hôte.

Il permet de tester différents paramètres noyaux sans se soucier des conséquences.

Il permet aussi d'avoir une plateforme réelle mais totalement software pour le test

des applications.

4 Installation de la machine UML

Pour installer User Mode Linux il faut un noyau, un patch pour UML et un système de

fichier ceci peut être téléchargé depuis le site de UML : http://user-mode-

Page 63: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

56

linux.sourceforge.net/dl-sf.html. Le patch ajoute des fonctionnalités au noyau de sorte

qu’on puisse lancer le noyau UML comme un simple programme utilisateur.

4.1 Etapes d'installation du noyau UML

Créez un répertoire dans lequel vous allez installer le noyau UML :

$ mkdir ~/UML

Décompressez le noyau dans ce répertoire

$ cd ~/UML

$ tar -xvjf linux-2.4.24.tar.bz2

Appliquez ensuite le patch à partir du répertoire contenant le noyau (~/UML/linux-2.4.24/).

Dans la suite, ce répertoire sera appelé UMLPATH.

$ bzcat uml-patch-2.4.24-1.bz2 | patch -p1

Configurez ensuite le noyau. On peut utiliser par exemple la commande suivante.

$ make xconfig ARCH=um

Cette étape est la plus difficile car il faut déterminer les options de configuration

nécessaires. Des erreurs peuvent apparaître lors de la compilation du noyau si des options de

configuration manquent.

$ make dep ARCH=um && make linux ARCH=um

Normalement, vous obtenez un exécutable linux dans UMLPATH. Si des erreurs sont

générées au cours de cette étape alors probablement il vous manque des options de

configuration. Vous pouvez essayer avec notre fichier de configuration fourni en annexe D.

4.2 Amélioration de performance

Avec un noyau Linux traditionnel, nous remarquons que le noyau UML tourne dans le

même espace d’adressage de ces processus. Cette architecture ralentit l’exécution de la

machine UML.

Pour améliorer les performances, nous avons installé le SKAS (Separate Kernel Address

Separator). Ce dernier permet de minimiser le temps d’exécution et de réduire le nombre de

processus liés à la machine UML (nous remarquons que le nombre de processus est réduit à

quatre au lieu d’une douzaine). Pour cela, il faut appliquer au noyau de l’hôte le patch skas

approprié et configurer le noyau UML pour qu’il supporte le mode skas.

Page 64: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

57

5 Mise en réseau

Pour faire participer une machine UML à un réseau wifi, nous devons ajouter certains

modules. Le hostap driver qui est un pilote de carte réseau sans fil sur Linux et le netbus

(uml-netbus-0.1.tgz) qui permet la connexion entre le driver hostap et la carte réseau

virtuelle.

Ensuite, il faut configurer la machine UML.

Lancez une machine virtuelle à partir de /root/UML/linux-2.4.24-wifi.

$./linux umid=A ubd0=cowA,root_fs7

Pour installer la carte sans fil virtuelle dans la machine UML il suffit de charger le module

hostap_uml (il faut que le simulateur soit démarré)

$modprobe hostap_uml.

Normalement, maintenant une image d'ordinateur portable entourée d'un grand rond jaune

doit apparaître dans la fenêtre du simulateur (figure 24).

Configurez la carte sans fil de la machine UML en spécifiant le mode ad-hoc.

$iwconfig wlan0 mode ad-hoc

$ifconfig wlan0 192.168.100.10 up

Ce processus est répété à chaque fois qu'on veut ajouter une machine UML au réseau. On

spécifie à chaque fois une nouvelle adresse IP mais en gardant le même sous réseau

(192.168.100.0).

Figure 24. Ping entre deux machines UML

Page 65: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

58

6 Tests Nous présentons ici quelques tests pour vérifier le bon fonctionnement du réseau.

Nous pouvons à partir de la machine A lancer un ping au machine B (figure 24).

$ ping 192.168.100.11 PING 192.168.100.11 (192.168.100.11) 56(84) bytes of data. 64 bytes from 192.168.100.11: icmp_seq=0 ttl=64 time=86.5 ms 64 bytes from 192.168.100.11: icmp_seq=1 ttl=64 time=44.3 ms 64 bytes from 192.168.100.11: icmp_seq=2 ttl=64 time=51.0 ms 64 bytes from 192.168.100.11: icmp_seq=3 ttl=64 time=39.7 ms --- 192.168.100.11 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3020ms rtt min/avg/max/mdev = 39.745/55.417/86.576/18.434 ms, pipe 2

Les deux machines doivent être assez proches pour pouvoir communiquer (lorsque nous

éloignons trop les machines, nous constatons une suspension de transfert de paquet)

On va maintenant ajouter un nouveau noeud pour qu'il serve de relais entre A et B.

Pour que la nouvelle machine (machine C) joue le rôle de relais entre les deux nœuds, il faut

démarrer le protocole AODV.

Pour l'installation de AODV, nous avons compilé le module à partir de l'hôte mais il faut

modifier le fichier makefile pour qu'il corresponde à notre machine UML. Toutes les

modifications sont décrites en annexe E.

Maintenant il ne reste que de lancer AODV dans la machine virtuelle en spécifiant

l’interface qui va être utilisé.

$./aodvd -d -i wlan0

Ensuite il faut activer le forward ip

$echo 1 > /proc/sys/net/ipv4/ip_forward

La machine C (d’adresse 192.168.100.12) sert de relais entre A et B. Cela peut être testé par

la commande ping.

Page 66: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

59

$ ping -R 192.168.100.11

PING 192.168.100.11 (192.168.100.11): 56 data bytes nf_hook: Verdict = QUEUE. 64 bytes from 192.168.100.11: icmp_seq=0 ttl=63 time=527.4 ms RR: 192.168.100.10 192.168.100.12 192.168.100.11 192.168.100.11 192.168.100.12 192.168.100.10 64 bytes from 192.168.100.11: icmp_seq=2 ttl=63 time=123.9 ms (same route) 64 bytes from 192.168.100.11: icmp_seq=3 ttl=63 time=123.2 ms (same route) 64 bytes from 192.168.100.11: icmp_seq=4 ttl=63 time=124.1 ms (same route) ... --- 192.168.100.11 ping statistics --- 9 packets transmitted, 8 packets received, 11% packet loss round-trip min/avg/max = 116.4/172.5/527.4 ms

7 Paramétrage du simulateur Au cours du projet EcoMESH, des études sur une plateforme réelle ont montré que la

distance maximale entre deux nœuds en communication est de 250 m.

Dans cette section, nous présentons les valeurs qu’il faut donner aux paramètres du

simulateur pour qu’il corresponde à la réalité. La figure 25 présente la variation de la

distance maximale entre deux nœuds en communication en fonction de l’atténuation avec un

bruit constant de (-140 db) qui est la valeur par défaut.

Distance maximale en fonction de l'atténuation du signal

0

500

1000

1500

2000

2500

atténuation

Dis

tMax

(m)

DistMax 2000 770 380 300 260 190 170 150

0 0,2 0,4 0,5 0,6 0,8 0,9 1

Figure 25. Variation de la distance maximale en fonction de l’atténuation

Page 67: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

60

Cette courbe montre qu’avec une atténuation de 0,6 on aura une distance maximale

d’environ 250 m (valeur réelle).

Nous pouvons aussi faire varier le paramètre « puissance de bruit » en gardant une

atténuation fixe (la valeur par défaut est 0,5). La courbe de la figure 26 montre qu’il faut

donner la valeur (-120 db) à la puissance de bruit pour aboutir à la valeur réelle de la

distance maximale.

Distance Maximale en fonction de la puissance de bruit

0

100

200

300

400

puissance de bruit(db)

Dis

tMax

(m)

DistMax 220 260 300 330 360

-100 -120 -140 -160 -180

Figure 26. Variation de la distance maximale en fonction de la puissance de bruit

8 Simulation

Le but d’une telle simulation et de montrer l’effet des nœuds malicieux sur les

performances d’un réseau ad hoc. Nous avons simulé ici un type particulier d’attaque à

savoir l’attaque par suppression de paquets. Les nœuds malicieux ici présentent un

comportement égoïstes ; ils profitent du réseau sans participer (il veulent économiser leurs

ressources). L’émission du nœud malicieux consiste donc à supprimer tous les paquets qui

ne lui sont pas destinés.

Nous avons effectué notre simulation avec les paramètres déjà trouvés dans la section

précédente (atténuation=0,6 et puissance de bruit=-140 db) donc chaque nœud a une rayon

de couverture de 250 m. Notre configuration est constituée de 10 nœuds répartis sur une

zone de 2000m x 2000m. La simulation consiste à faire varier le pourcentage des nœuds

Page 68: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

61

malicieux et mesurer à chaque fois les performances du réseau (pourcentage des paquets

perdus et nombre de sauts moyen). Dans un cas réel, le pourcentage des nœuds malicieux ne

peut pas dépasser 40% c’est pourquoi nous avons limité notre simulation à cette valeur.

%Paquets perdus en fonction du % des noeuds malicieux

010203040506070

0 10 20 30 40

%noeuds malicieux

%pa

quet

s pe

rdus

Figure 27. Effet des nœuds malicieux sur % paquet perdu

La figure 27 montre l’augmentation du pourcentage des paquets perdus avec l’augmentation

du pourcentage des nœuds malicieux. Nous avons constaté que lorsque 40% des nœuds sont

malicieux nous atteignons un pourcentage de perte de plus de 60%.

Le nombre moyen de sauts est aussi proportionnel au pourcentage des nœuds malicieux

(figure 28), cela se justifie par le fait qu’un nœud est obligé de choisir une route avec un

nombre de sauts plus grand que la route optimale lorsque cette dernière contient un nœud

malicieux. Nous avons remarqué au cours de simulation que parfois le nombre de sauts se

double (passe de 3 à 6 par exemple).

Page 69: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

62

Nbre moyen de sauts en fonction % des noeuds malicieux

0

1

2

3

4

5

0 10 20 30 40

%noeuds malicieux

nbre

moy

en d

e sa

uts

Figure 28. Effet des nœuds malicieux sur le nombre moyen de sauts

9 Conclusion Dans ce chapitre, nous avons présenté notre environnement de simulation ainsi que les

différentes étapes d’installation et de configuration. Nous avons aussi paramétré le

simulateur pour qu’il donne des résultats plus proches de la réalité.

Cette plateforme va servir pour la simulation des protocoles proposés au cours du projet

EcoMESH.

Les résultats de simulation montrent l’impact d’une attaque ciblant les protocoles de

routage sur les performances du réseau. Ces résultats déterminent le coût maximal qu’une

solution sécurisée ne doit pas dépasser.

Page 70: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

63

Conclusion et perspective

Les réseaux Mesh semblent avoir un bon avenir dans les prochaines années puisqu’ils

permettent la présence de l’information de manière ubiquitaire. Une façon pour étendre la

zone de couverture des réseaux Mesh consiste à se servir des réseaux ad hoc. Mais ces

derniers présentent des caractéristiques qui les rendent plus sensibles aux attaques.

Dans ce rapport, nous avons fait une analyse de sécurité dans laquelle nous avons

énuméré les différentes attaques et risques liés à la sécurité des réseaux ad hoc. Ces derniers

sont plus vulnérables aux attaques à cause de leurs caractéristiques (utilisation d’un canal

radio pour la transmission de données, absence d’infrastructure).

La littérature, qui s’étoffe très rapidement dans ce domaine, offre des solutions pour le

problème d’authentification des nœuds dont la plupart est basée sur la cryptographie à seuil

et le partage de secret, mais ces solutions sont généralement difficiles à implémenter. Des

algorithmes d’échange de clefs qui s’adaptent aux caractéristiques des réseaux ad hoc sont

aussi proposés.

Comme le routage présente la fonction essentielle dans un réseau, en particulier les

réseaux ad hoc, la sécurité des protocoles de routage a été pleinement étudiée et plusieurs

solutions ont été proposées. La solution qui nous semble la plus réaliste et la plus pratique

est le protocole ARAN. Ce dernier assure l’authentification et l’intégrité des informations de

routage échangées et permet de lutter contre la plupart des attaques ciblant les protocoles de

routage.

Afin de tester les performances des protocoles proposés, nous avons préparé une

plateforme de simulation. Cette plateforme est basée sur les machines virtuelles de User

Mode Linux (UML). Le but d’une telle plateforme est de minimiser l’écart entre les

résultats de simulation et les résultats réels.

Ce stage nous a permis non seulement d’enrichir nos compétences au niveau du

système d’exploitation Linux mais aussi de nous initier à la recherche.

Notre travail est encore à ses débuts, actuellement nous sommes en train d’installer

le protocole ARAN sur notre plateforme de simulation.

Page 71: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

64

En perspective, nous allons concentrer notre recherche à un cas particulier des

réseaux Mesh à savoir celui d’un opérateur Internet qui veut étendre sa zone de couverture

en se servant de ses abonnées. Dans ce cas, il faut penser aux nouveaux problèmes de

sécurité notamment ceux liés aux mécanismes d’incitation des utilisateurs.

Ce sujet sera poursuivi dans le cadre de mon mémoire de Mastère.

Page 72: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

65

Références

[1] L. Zhou and Z. J.Haas: “Securing ad hoc Networks”, IEEE Network,

Novembre/Décembre 1999, pp.24-30.

[2] W. Lang, M. Zhou, K. She: “Key Agreement Protocol in Ad-hoc Networks”,

Proceedings of ICCT2003, pp.296-301.

[3] Z. Liu, A. W.Joy, R. A.Thompson: “A Dynamic Trust Model for Mobile ad hoc

Networks”, Proceedings of the 10th IEEE International Workshop on Future Trends of

Distributed Computing Systems (FTDCS’04), 2004.

[4] S. Naghian, J. Tervonen: “Semi Infrastructured Mobile Ad-Hoc Mesh Networking”, The

14th IEEE 2003 International Symposium on personal, Indoor and Mobile Radio

Communication Proceedings, 2003, pp.1069-1073.

[5] J. Dankers, T. Garafalakis, R. Schaffelhofer and T. Wright: “Public Key Infrastructure in

mobile systems”, Electronics & Communication Engineering Journal, October 2002,

pp.180-190.

[6] R. E. Kahn: “The organization of computer resources into a packet radio network”, IEEE

Transactions on Communications, volume COM-25, January 1977, pp. 169-178.

[7] G. Zussman and A. Segall: “Energy efficient routing in ad hoc disaster recovery

networks”, Proceedings of IEEE INFOCOM, San Francisco, USA, 2003.

[8] X. Perséguers: “La sécurité dans les réseaux de capteurs sans fil”, Mém. Master, Ecole

Polytechnique Fédérale de Lausanne (EPFL) et Centre Suisse d’Electronique et de

Microtechnique (CSEM), February 2005.

[9] M. Hauspie: “Contributions à l'étude des gestionnaires de services distribués dans les

réseaux ad hoc”, Thèse, Université des Sciences et Technologies de Lille, January 2005.

[10] Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone: Handbook of applied

cryptographie, CRC Press, Fifth Printing, August 2001.

[11] http://www.certa.ssi.gouv.fr/

Page 73: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

66

[12] V. Gayraud, L. Nuaymi, F. Dupont, S. Gombault, and B. Tharon: “La Sécurité dans les

Réseaux Sans Fil ad hoc”, Actes du symposium SSTIC03, 2003.

[13] S. Gupte, M. Singhal: “Secure routing in mobile wireless ad hoc networks”, ad hoc

Networks 1, 2003, pp.151–174.

[14] C. Karlof, D. Wagner: “Secure routing in wireless sensor networks: attacks and

countermeasures”, ad hoc Networks 1, 2003, pp. 293–315.

[15] Y.-C. Hu, A. Perrig, D.B. Johnson: “Packet leashes: a defense against wormhole

attacks in wireless networks”, IEEE Infocom, 2003, pp.1976-1986.

[16] H. Luo, P. Zerfos, J. Kong, S. Lu, and L. Zhang: “Self-securing ad hoc Wireless

Networks”, Seventh IEEE Symposium on Computers and Communications (ISCC’02), 2002.

[17] J. Kong, P. Zerfos, H. Luo, S. Lu and L. Zhang: “Providing robust and ubiquitous

security support for MANET”, IEEE ICNP 2001, 2001.

[18] A. Shamir: “How to share a secret”, Communications of ACM, 1979, pp.612-613.

[19] K. Takaragi, K. Miyazaki, M. Takahashi: “A Threshold Digital Signature Issuing

Scheme without Secret Communication”. Systems Development Laboratory, Hitachi, Ltd.

[20] V. Shoup: “Practical threshold signatures”, IBM Zurich Research Lab, February 2000.

[21] Y. Desmedt, Y. Frankel: “Threshold cryptosystems”, In Advances in cryptology-

Crypto ’89, pp.307-315, 1989.

[22] P. MÜHLETHALER: “Routage dans les réseaux ad hoc”, Techniques de l’Ingénieur.

[23] C. E. Perkins and E. M. Royer: “ad hoc On-demand Distance Vector Routing”, Proc.

2nd IEEE Wksp. Mobile Comp. Sys. and Apps., February 1999, pp. 90–100.

[24] C. E. Perkins, E. M. Royer, and I.D. Chakeres: “ad hoc on Demand Distance Vector

(AODV) Routing”, http://moment.cs.ucsb.edu/pub/draft-perkins-manet-aodvbis-00.txt,

MANET Internet Draft, 19 October 2003.

[25] C. E. Perkins, E. M. Royer, and S. R. Das: “ad hoc on Demand Distance Vector

(AODV) Routing”, http://moment.cs.ucsb.edu/pub/rfc3561.txt, RFC 3561, July 2003.

[26] I. D. Chakeres, E. M. Royer: “AODV Routing Protocol Implementation Design”,

Proceedings of the 24th International Conference on Distributed Computing Systems

Workshops (ICDCSW’04), 2004.

Page 74: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

67

[27] D. Johnson and D. Maltz : “Dynamic Source Routing in ad hoc Wireless Networks”, T.

Imielinski and H. Korth, Eds. Mobile Computing, Ch. 5, Kluwer, 1996.

[28] J.Broch, D. Johnson, and D. Maltz: “The Dynamic Source Routing Protocol for Mobile

ad hoc Networks”, http://www.ietf.org/internet-drafts/draft-ietfmanet-dsr-03.txt, IETF

Internet draft, October 1999.

[29] S. Yi, P. Naldurg, and R. Kravets: “A security-aware ad hoc routing protocol for

wireless networks”, in: The 6th World Multi-Conference on Systemics, Cybernetics and

Informatics (SCI 2002), 2002.

[30] K. Sanzgiri, B. Dahill, B.N. Levine, C. Shields, E. M.Belding-Royer: “A secure routing

protocol for ad hoc networks”, Proceedings of 2002 IEEE International Conference on

Network Protocols (ICNP), November 2002.

[31] S. Marti, T.J. Giuli, K. Lai, M. Baker: “Mitigating routing misbehavior in mobile ad

hoc networks”, Proceedings of the 6th Annual ACM/IEEE International Conference on

Mobile Computing and Networking, August 2000.

[32] A. Perrig, R. Canetti, J.D. Tygar and D. Song: “Efficient Authentication and Signing

Multicasts Streams over Lossy Channels”, IEEE Symposium on Security and Privacy,

September 2002.

[33] A. Perrig, R. Canetti, J. D. Tygar, and D. Song: "The tesla broadcast authentication

protocol", RSA CryptoBytes, vol. 5, 2002.

[34] B. Briscoe, A. Perrig, R. Canetti, J. D. Tygar, and D. Song: “TESLA: Multicast Source

Authentication Transform Introduction”, Internet Draft, Internet Engineering Task Force,

MSEC Working Group, December 2004.

[35] Y. C. Hu, A. Perrig and D. B. Johnson: “Ariadne: A secure on-demand routing protocol

for ad hoc networks”, Proceedings of The 8th ACM International Conference on Mobile

Computing and Networking, 2002.

[36] C. PERKINS AND P. BHAGWAT: “Routing over multihop wireless network of

mobile computers”, in SIGCOMM:Computer Communications Review, ACM, October

1994, pp. 234-244.

[37] J. Broch, D. A. Maltz, D. B. Johnson, Y. C Hu, and J. G. Jetcheva : “A Performance

Comparison of Multi-Hop Wireless ad hoc Network Routing Protocols”, In Proceedings of

Page 75: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

68

the Fourth ACM/IEEE International Conference on Mobile Computing and Networking

(MobiCom’98), October 1998, pp. 85–97.

[38] D. A. Maltz, J. Broch, J. Jetcheva, and D. B. Johnson :“The Effects of On-Demand

Behavior in Routing Protocols for Multi-Hop Wireless ad hoc Networks”, IEEE Journal on

Selected Areas in Communications, vol. 17(8), August 1999, pp. 1439–1453.

[39] C. E. Perkins and P. Bhagwat: “Highly dynamic destination-sequenced distance-vector

routing (dsdv) for mobile computers”, Computer Communications Review, October 1994,

pp. 234–244.

[40] N. Asokan, P. Ginzboorg: “Key Agreement in ad hoc Networks”, Computer

Communications, vol. 23(17), 2000, pp. 1627-1637.

[41] M. Hietalahti : “Key establishment in ad-hoc networks”, Proceedings of the Seminar

on Network Security, Telecommunications Software and Multimedia Laboratory, Helsinki

University of Technology, Espoo, Finland, December 2000.

[42] E. R. Anton and O. C. M. B. Duarte: "Group Key Establishment in Wireless ad hoc

Networks", Workshop em Qualidade de Serviço e Mobilidade - WQoSM 2002, Brazil,

November 2002.

[43] G. Ateniese, M. Steiner, G. Tsudik: “Authenticated group key agreement and friends”,

In Proceedmgr of the 51h ACM Conference on Computer and Communicahon Security, San

Francisco, November 1998.

[44] B. Lehane, L. Doyle, D. O’Mahony : “ad hoc Key Management Infrastructure”, In

Proceedings of the IEEE International Conference on Information Technology (ITCC

2005), Las Vegas, Nevada, USA, April 4-6, 2005.

[45] L. Hu and D. Evans: “Using Directional Antennas to Prevent Wormhole Attacks”, in

the Proceedings of Network and Distributed System Security Symposium (NDSS), 2004.

[46] L. Lazos, R. Poovendran, C. Meadows, P. Syverson, , L.W. Chang : “Preventing

wormhole attacks on wireless ad hoc networks: a graph theoretic approach”, Wireless

Communications and Networking Conference, 2005 IEEE, Volume 2, 13-17 March 2005,

pp.1193 - 1199 .

Page 76: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

69

[47] I. Khalil, S. Bagchi, N. B. Shroff : “LITEWORP: A Lightweight Countermeasure for

the Wormhole Attack in Multihop Wireless Networks”, in the International Conference on

Dependable Systems and Networks (DSN), Yokohama, Japan, June 28 - July 1, 2005.

[48] B. Lehane and L. Doyle: “Shared RSA Key Generation In A Mobile ad hoc Network”,

IEEE, 2003.

[49] V. Guffens, G. Bastin and O. Bonaventure: “An emulation infrastructure for multi-hop

wireless communication networks”, http://www.auto.ucl.ac.be/~guffens/uml-

wifi/download/uml_simulator.pdf, Internal report, 2004.

Page 77: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

70

Glossaire

Algorithme cryptographique ou de chiffrement

Procédé ou fonction mathématique utilisée pour le chiffrement et le déchiffrement. Dans la

cryptographie moderne, l'algorithme est souvent public et le secret du chiffre dépend d'un

paramètre appelé clef.

Analyse du trafic

Observation des caractéristiques extérieures du trafic transitant sur un réseau afin de tenter

d'en tirer des informations : fréquence des transmissions, identités des tiers communiquants,

quantités de données transférées. Associées à des informations de nature différente (date de

rendez-vous, actualité,...), ces éléments peuvent permettre aux adversaires de faire des

déductions intéressantes.

Authenticité

Terme qui désigne le service de sécurité qui consiste à assurer à la fois l'intégrité et

l'authentification de l'origine des données.

Authentification

On distingue deux types d'authentification :

Authentification d'un tiers : C’est l'action qui consiste à prouver son identité.

Ce service est généralement rendu par l'utilisation d'un "échange d'authentification" qui

implique un certain dialogue entre les tiers communiquants.

Authentification de l'origine des données : Elle sert à prouver que les données reçues ont

bien été émises par l'émetteur déclaré.

Dans ce cas, l'authentification désigne souvent la combinaison de deux services :

authentification et intégrité en mode non connecté.

Certificat

Document électronique qui renferme la clef publique d'une entité, ainsi qu'un certain

nombre d'informations la concernant, comme son identité. Ce document est signé par une

autorité de certification ayant vérifié les informations qu'il contient.

Chiffrement, chiffrer

Application d'un algorithme cryptographique à un ensemble de données appelées texte en

clair afin d'obtenir un texte chiffré.

Page 78: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

71

Le chiffrement est un mécanisme de sécurité permettant d'assurer la confidentialité des

données.

Clef (secrète, publique, privée)

Paramètre d'un algorithme de chiffrement ou de déchiffrement, sur lequel repose le secret.

On distingue deux types de clefs :

les clefs secrètes, utilisées par les algorithmes symétriques, pour lesquels la clef de

chiffrement et de déchiffrement sont identiques.

les couples (clef publique, clef privée), utilisés par les algorithmes asymétriques, pour

lesquels clef de chiffrement et de déchiffrement sont distinctes.

Clef de chiffrement de clefs

Clef utilisée exclusivement pour chiffrer d'autres clefs, afin de les faire parvenir à un

interlocuteur. Une clef de chiffrement de clef a généralement une durée de vie assez longue,

par opposition aux clefs qu'elle sert à chiffrer.

Clef de session

Clef ayant une durée de vie très limitée, généralement à une session.

Les clefs de session sont généralement des clefs secrètes, utilisées pour chiffrer les données

transmises, et que les tiers communiquants génèrent en début de communication.

Confidentialité

Service de sécurité qui consiste à s'assurer que seules les personnes autorisées peuvent

prendre connaissance d'un ensemble de données.

Le mécanisme qui permet d'obtenir ce service est généralement le chiffrement des données

concernées à l'aide d'un algorithme cryptographique.

On parle aussi de confidentialité du trafic lorsqu'on désire empêcher l'analyse du trafic en

cachant les adresses source et destination, la taille des paquets, la fréquence des échanges,...

Contrôle d'accès

Service de sécurité permettant de déterminer, après avoir authentifié un utilisateur, quels

sont ses privilèges et de les appliquer. Ce service a pour but d'empêcher l'utilisation d'une

ressource (réseau, machine, données,...) sans autorisation appropriée.

Cryptage, crypter

Termes dérivés de l'anglais « to encrypt » et souvent employés incorrectement à la place de

chiffrement et chiffrer. En toute rigueur, ces termes n'existent pas dans la langue française.

Page 79: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

72

Si le "cryptage" existait, il pourrait être défini comme l'inverse du décryptage, c'est-à-dire

comme l'action consistant à obtenir un texte chiffré à partir d'un texte en clair sans connaître

la clef. Un exemple concret pourrait être de signer un texte choisi en reproduisant un

chiffrement avec la clef privée de la victime. Mais on préfère parler dans ce cas de

contrefaçon.

Cryptanalyse ou analyse cryptographique

Science qui étudie la sécurité des procédés cryptographiques pour tenter de trouver des

faiblesses et pouvoir en particulier effectuer un décryptage avec succès.

"Analyse d'un système cryptographique, et/ou de ses entrées et sorties, pour en déduire des

variables confidentielles et/ou des données sensibles (y compris un texte en clair)." [ISO

7498-2]

Cryptogramme

Aussi appelé texte chiffré. Données obtenues par application d'un algorithme de

chiffrement. Le contenu sémantique de ces données n'est pas compréhensible.

Cryptographie

Étude du chiffrement et du déchiffrement, ainsi que des procédés permettant d'assurer

l'intégrité, l'authentification,...

"Discipline incluant les principes, moyens et méthodes de transformation des données, dans

le but de cacher leur contenu, d'empêcher que leur modification passe inaperçue et/ou

d'empêcher leur utilisation non autorisée." [ISO 7498-2]

Cryptologie

Étude scientifique de la cryptographie et de la cryptanalyse.

Déchiffrement

Action inverse du chiffrement, lorsque celui-ci est réversible : à l'aide d'un algorithme

cryptographique et d'une clef, on reconstruit le texte en clair à partir du texte chiffré.

Décryptement, décryptage

Action qui consiste à "casser" le chiffrement d'un texte de façon à retrouver le texte en clair

sans connaître la clef qui permet son déchiffrement normal.

Déni de service

"Impossibilité d'accès à des ressources pour des utilisateurs autorisés ou introduction d'un

retard pour le traitement d'opérations critiques." [ISO 7498-2]

Page 80: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

73

Disponibilité

Service de sécurité qui assure une protection contre les attaques visant à dégrader ou rendre

impossible l'accès à un service.

Empreinte (digest)

Aussi appelé condensé.

Chaîne de taille fixe obtenue par application d'une fonction de hachage à un ensemble de

données.

Fonction à sens unique

Une fonction à sens unique est une fonction facile à calculer mais difficile à inverser.

La cryptographie à clef publique repose sur l'utilisation de fonctions à sens unique à brèche

secrète : pour qui connaît le secret (i.e. la clef privée), la fonction devient facile à inverser.

Fonction de hachage

Aussi appelée fonction de condensation.

Fonction qui convertit une chaîne de longueur quelconque en une chaîne de taille inférieure

et généralement fixe ; cette chaîne est appelée empreinte (digest en anglais) ou condensé de

la chaîne initiale.

Fonction de hachage à sens unique

Fonction de hachage qui est en plus une fonction à sens unique : il est aisé de calculer

l'empreinte d'une chaîne donnée, mais il est difficile d'engendrer des chaînes qui ont une

empreinte donnée. On demande généralement en plus à une telle fonction d'être sans

collision, c'est-à-dire qu'il soit impossible de trouver deux messages ayant la même

empreinte.

ICV (Integrity Check Value)

"Valeur de vérification d'intégrité". Cette valeur est calculée par l'expéditeur sur l'ensemble

des données à protéger. L'ICV est alors envoyée avec les données protégées. En utilisant le

même algorithme, le destinataire recalcule l'ICV sur les données reçues et la compare à

l'ICV originale. Si elles se correspondent, il en déduit que les données n'ont pas été

modifiées.

Intégrité

Service de sécurité qui consiste à s'assurer que seules les personnes autorisées pourront

modifier un ensemble de données. Dans le cadre de communications, ce service consiste à

permettre la détection de l'altération des données durant le transfert.

Page 81: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

74

On distingue deux types d'intégrité :

L'intégrité en mode non connecté permet de détecter des modifications sur un datagramme

individuel, mais pas sur l'ordre des datagrammes.

L'intégrité en mode connecté permet en plus de détecter la perte de paquets ou leur

réordonnancement.

L'intégrité est très liée à l'authentification de l'origine des données, et les deux services sont

souvent fournis conjointement.

Liaison

Ensemble de matériels (câbles, modems, concentrateurs, routeurs,...) qui relient

physiquement deux équipements terminaux.

MAC (Message Authentication Code)

Code d'authentification de message

Message

Dans le monde des réseaux, un message est une suite de données binaires formant un tout

logique pour les tiers communiquants.

Lorsqu'un message est trop long pour être transmis d'un seul bloc, il est segmenté et chaque

segment est envoyé séparément dans un paquet distinct.

Non-rejouabilité

Garantie qu'un adversaire ayant intercepté des messages au cours d'une communication ne

pourra pas les faire passer pour des messages valides en les injectant soit dans une autre

communication, soit plus tard dans la même communication.

Perfect Forward Secrecy (PFS)

Propriété d'un protocole d'échange de clef selon laquelle la découverte, par un attaquant, du

ou des secrets à long terme utilisés ne permet pas de retrouver les clefs de sessions.

Rejeu

Action consistant à envoyer un message intercepté précédemment, en espérant qu'il sera

accepté comme valide par le destinataire.

Répudiation

"Le fait, pour une des entités impliquées dans la communication, de nier avoir participé aux

échanges, totalement ou en partie." [ISO 7498-2]

Page 82: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

75

RFC (Request For Comment)

Littéralement, "Appel à commentaires". C'est en fait un document décrivant un des aspects

d'Internet de façon relativement formelle (généralement, spécification d'un protocole). Ces

documents sont destinés à être diffusés à grande échelle dans la communauté Internet et

servent souvent de référence. On peut les trouver sur la plupart des sites FTP.

Signature numérique

"Données ajoutées à une unité de données, ou transformation cryptographique d'une unité de

données, permettant à un destinataire de prouver la source et l'intégrité de l'unité de données

et protégeant contre la contrefaçon (par le destinataire, par exemple)." [ISO 7498-2].

Une signature numérique fournit donc les services d'authentification de l'origine des

données, d'intégrité des données et de non-répudiation. Ce dernier point la différencie des

codes d'authentification de message, et a pour conséquence que la plupart des algorithmes

de signature utilisent la cryptographie à clef publique.

D'autre part, la signature peut prendre deux formes :

"transformation chiffrée" : un algorithme cryptographique modifie directement le message

(par exemple chiffrement du message avec une clef privée).

"données annexées" : des données supplémentaires sont adjointes au message (par exemple

une empreinte, chiffrée avec une clef privée).

Somme de contrôle

Condensé d'un ensemble de données, calculé par l'expéditeur avant l'envoi des données et

recalculé par le destinataire à la réception pour vérifier l'intégrité des données transmises.

Texte chiffré

Aussi appelé cryptogramme.

Données obtenues par application d'un algorithme de chiffrement. Le contenu sémantique

de ces données n'est pas compréhensible.

Texte en clair

Données intelligibles, dont la sémantique est compréhensible.

Tierce partie (ou tiers) de confiance (Trusted Third Party)

Tiers jouant un rôle dans la sécurisation des échanges entre deux partenaires en participant à

la mise en œuvre de mécanismes de sécurité. On parle aussi de notarisation.

Page 83: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

76

Tunneling

Technique consistant à créer un "tunnel" entre deux points du réseau en appliquant une

transformation aux paquets à une extrémité (généralement, une encapsulation dans un

protocole approprié) et en les reconstituant à l'autre extrémité.

Vecteur d'initialisation (Initialization Vector, IV)

Bloc de texte de valeur quelconque servant à initialiser un chiffrement avec chaînage de

blocs, et donc à faire en sorte que deux messages identiques donnent des cryptogrammes

distincts.

Page 84: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

77

Annexe A : Rappels mathématiques

1 Arithmétique sur les entiers

Définition 1. Soient a et b deux entiers relatifs ; on dit que b divise a et on note b|a s’il

existe un entier c tel que a = b c.

Définition 2. Un entier positif est premier s’il n’admet pas d’autres diviseurs que 1 et lui-

même.

2, 3, 5, 7, 11. . . sont premiers. 1 n’est pas premier.

Théorème 1. Il existe une infinité de nombres premiers.

Remarque : on ne connaît pas de méthode pour déterminer le n-ième nombre premier sans

avoir calculé ceux qui le précèdent.

Théorème 2. Tout nombre entier naturel s’écrit comme un produit de nombres premiers ;

cette décomposition en facteurs premiers est unique (si l’on range les facteurs par ordre

croissant).

Définition 3. Le PGCD de deux entiers naturels a et b est le plus grand élément de

l’ensemble de leurs diviseurs communs ; on le note a ^ b.

Si a ^ b = 1 a et b sont premiers entre eux.

Le PGCD de deux entiers relatifs est celui de leurs valeurs absolues.

Théorème 3. Les diviseurs communs à deux entiers naturels sont les diviseurs de leur

PGCD.

Théorème 4 (Identité de BACHET-BÉZOUT). Soient a et b deux entiers relatifs. Il existe

deux entiers relatifs u et v tels que : au + bv = a ^ b.

Le PGCD de deux nombres s’obtient aisément à partir de leurs décompositions en facteurs

premiers ; mais cette décomposition peut être très difficile si les nombres sont grands.

Heureusement il existe un algorithme efficace.

Page 85: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

78

Algorithme 1 (EUCLIDE). Soient a et b deux entiers naturels avec a ≥ b.

while b ≠ 0 do

r a mod b ; a b ; b r.

end while

return(a).

2 Logarithme discret

Définition 4. Soit (G, .) un groupe noté multiplicativement, a et b deux éléments de G. Un

logarithme discret de b dans la base a est un élément x appartient à N tel que ax = b.

On n’est assuré, en général, ni de l’existence, ni de l’unicité du logarithme discret.

Théorème 5. Soit (G, .) un groupe cyclique et g un générateur de G; quel que soit b

appartenant à G il existe un unique x appartenant à{0, 1, . . . , |G| − 1} tel que gx = b : c’est

le logarithme de b dans la base g.

La détermination du logarithme discret est un problème difficile (si l’ordre de G est grand,

bien sûr) : cette difficulté est à la base de certaines techniques cryptographiques.

3 Totient d’Euler

Parmi les bases mathématiques qui fondent RSA on trouve la fonction de totient

d'Euler, Ø(n). Cette fonction donne le nombre d'entiers positifs plus petits ou égaux à n

relativement premiers à n. Un nombre est relativement premier à un autre lorsqu'ils n'ont

aucun diviseur commun excepté 1. Pour un nombre premier p, le résultat sera Ø(p)= p -1

Par exemple, il existe 10 entiers positifs relativement premiers au nombre premier 11.

Supposons maintenant que p et q sont deux nombres premiers. Définissons n comme étant

le résultat de la multiplication de p et q . Sans le démontrer, le totient de n sera

Ø(n)= Ø(p). Ø(q)=(p-1) . (q-1)

Prenons par exemple les deux nombres premiers 11 et 13. n=11 x 13 =143. Le totient

de n sera Ø(n)=10 x 12 = 120.

Page 86: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

79

Annexe B : Protocole AODV

AODV (ad hoc On demand Distance Vector) est un protocole de routage réactif de type

vecteur de distance [23, 24, 25, 26]. Il reprend certains principes de DSDV (Destination

Sequence Distance Vector) [36] mais réduit l’overhead en ne calculant que les routes sur

demande et en limitant la répercussion des modifications topologiques aux seules routes en

cours d’utilisation.

Il est basé sur l’utilisation de deux mécanismes “Découverte de route“ et “ maintenance de route”.

1 Découverte de route

Lorsqu’un noeud désire communiquer avec une destination, il cherche d’abord à savoir

s’il possède une route pour cette destination. Si tel est le cas, le protocole n’a pas

d’algorithme particulier à mettre en oeuvre. Dans le cas contraire, le noeud source diffuse

une demande de route RREQ (Route REQuest) comme illustré dans la figure 29.

Source Destination

RREQ

RREQ

RREQ

RREQRREQ RREQ RREQ

RREQRREQ

Figure 29. Mécanisme de recherche de route par AODV

Le paquet RREQ contient l'adresse IP de la source, le numéro de séquence courant de la

source, l'ID de broadcast (RREQ ID) qui est incrémenté à chaque envoi d’un nouveau

RREQ, l’adresse IP de destination, le numéro de séquence de la destination le plus récent

connu de la source et un champ hop count indiquant le nombre de sauts de la source

Page 87: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

80

jusqu’au nœud courant (figure 30). Un paquet RREQ est identifié de manière unique par

l’adresse de la source et l’ID de broadcast.

Originator Sequence NumberOriginator IP AddressDestination Sequence Number

Destination IP Address RREQ ID

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 10 1 32

Type |J|R|G|D|U| Reserved | Hop Count

Figure 30. Format d'un paquet RREQ dans AODV

Les noeuds qui reçoivent ces paquets pour la première fois les diffusent à leur tour, après

avoir incrémenté la valeur de hop count, jusqu’à atteindre la destination ou au moins un

noeud qui possède une information de routage récente vers la destination recherchée. Les

paquets RREQ déjà traités sont supprimés. Les noeuds situés sur le parcours de la requête

de route conservent dans leur cache l’adresse du noeud qui leur a relayé la requête.

L’adresse de ce noeud fournit l’adresse du saut suivant pour la route vers la source initiale.

On a simplement inversé le chemin du paquet de requête. Cette information est utilisée lors

du retour de la réponse de demande de route pour permettre d’aiguiller cette réponse jusqu’à

la source initiale (on suppose ici que les liens sont bidirectionnels).

Erreur ! Des objets ne peuvent pas être créés à partir des codes de champs de mise en

forme.

Figure 31. Retour de la réponse à une demande de route dans AODV

Quand le paquet RREQ atteint la destination ou un nœud ayant une route valide pour cette destination un paquet RREP (Route REPly) est généré et envoyé en « unicast » vers l’initiateur de la route par le meilleur chemin ( figure 31). Avant de faire suivre le paquet RREP, chaque nœud intermédiaire met à jour sa

table de routage.

Après avoir reçu le premier paquet RREP, la source peut commencer à émettre des paquets

de données vers la destination. Si, ultérieurement, la source reçoit un RREP contenant un

Page 88: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

81

numéro de séquence supérieur ou le même mais avec un nombre de sauts plus petit, elle

mettra à jour son information de routage vers cette destination et commencera à utiliser la

meilleure route. C’est pour cela qu’on dit que AODV utilise un algorithme à vecteur de

distance dans lequel la mise à jour des routes est protégée par un numéro de séquence

associé à la destination.

2 Maintenance des routes

Afin de maintenir des routes cohérentes, AODV incorpore un mécanisme pour signaler

les ruptures de lien. Lorsqu’un noeud repère la rupture d’un lien sur le trajet d’une route

reliant une source S à une destination D, il génère vers S une trame RERR (Route ERRor )

d’erreur de route. Cette dernière relance une nouvelle procédure de recherche de route.

Page 89: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

82

Annexe C : Protocole DSR

DSR (Dynamic Source Routing) est un protocole réactif, qui utilise une technique de

routage par la source dans laquelle les noeuds intermédiaires ne doivent pas nécessairement

garder trace de la route. Cela permet de résoudre facilement le problème des boucles.

Chaque paquet contient dans son en-tête la liste complète des adresses des noeuds à

traverser vers la destination. DSR fonctionne de façon similaire à AODV.

1 Découverte de route

Si un destinataire est dans le cache du noeud source, la route connue est utilisée. Sinon,

une procédure de découverte de route est déclenchée. Les paquets de découverte de route

contiennent les adresses source et destination ainsi qu’un identifiant permettant aux noeuds

intermédiaires de savoir s’ils ont déjà traité les paquets. Le chemin vers la destination est

créé dans le paquet de recherche de route. Chaque noeud qui reçoit ce paquet ajoute à la

route préexistante dans ce paquet sa propre adresse (figure 32). Lorsqu’un des paquets de

recherche de route atteint sa destination ou un noeud qui possède une route valide vers la

destination, ce noeud répond à la source initiale.

Figure 32. Mécanisme de découverte de route dans DSR

Comme, a priori, ce noeud ne possède pas de route vers la source initiale (dans le cas où les

liens ne sont pas bidirectionnels), une nouvelle recherche de route doit être entreprise. Pour

éviter un bouclage infini des recherches de route, la route construite est ajoutée à la nouvelle

Page 90: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

83

recherche de route, de sorte que le noeud source connaisse une route valide pour sa réponse.

Si l’on fait l’hypothèse que les liens rapportés par la recherche de route initiale sont

symétriques, on peut utiliser cette route pour créer une réponse. DSR possède le même

mécanisme qu’AODV pour limiter le nombre de sauts pendant la recherche de route.

2 Maintenance des routes

Afin d'assurer la validité des chemins utilisés, DSR exécute une procédure de

maintenance de routes. Quand un nœud détecte un problème fatal de transmission, à l'aide

de sa couche de liaison, un message RERR est envoyé à l'émetteur original du paquet. Le

message d'erreur contient l'adresse du nœud qui a détecté l'erreur et celle du nœud qui le suit

dans le chemin (figure 33).

Figure 33. Le noeud en amont de rupture envoie un message RERR

Lors de la réception du paquet d’erreur par l'hôte source, le nœud concerné par l'erreur est

supprimé du chemin sauvegardé, et tous les chemins qui contiennent ce nœud sont tronqués

à ce point là. Par la suite, une nouvelle opération de découverte de routes vers la destination

est initiée par l'émetteur.

Page 91: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

84

Annexe D : Configuration du noyau UML

# # Automatically generated make config: don't edit # CONFIG_USERMODE=y # CONFIG_ISA is not set # CONFIG_SBUS is not set # CONFIG_PCI is not set CONFIG_UID16=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y # # Code maturity level options # CONFIG_EXPERIMENTAL=y # # General Setup # CONFIG_MODE_SKAS=y CONFIG_MODE_TT=y CONFIG_NET=y CONFIG_SYSVIPC=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_SYSCTL=y CONFIG_BINFMT_AOUT=y CONFIG_BINFMT_ELF=y CONFIG_BINFMT_MISC=y CONFIG_HOSTFS=y CONFIG_HPPFS=y CONFIG_MCONSOLE=y CONFIG_MAGIC_SYSRQ=y # CONFIG_HOST_2G_2G is not set # CONFIG_UML_SMP is not set # CONFIG_SMP is not set CONFIG_NEST_LEVEL=0 CONFIG_KERNEL_HALF_GIGS=1 # CONFIG_HIGHMEM is not set CONFIG_PROC_MM=y CONFIG_KERNEL_STACK_ORDER=2 CONFIG_UML_REAL_TIME_CLOCK=y # # Loadable module support # CONFIG_MODULES=y # CONFIG_KMOD is not set # # Character Devices # CONFIG_STDIO_CONSOLE=y CONFIG_SSL=y CONFIG_FD_CHAN=y CONFIG_NULL_CHAN=y CONFIG_PORT_CHAN=y CONFIG_PTY_CHAN=y CONFIG_TTY_CHAN=y CONFIG_XTERM_CHAN=y CONFIG_CON_ZERO_CHAN="fd:0,fd:1" CONFIG_CON_CHAN="xterm" CONFIG_SSL_CHAN="pty" CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTY_COUNT=256

# CONFIG_WATCHDOG is not set CONFIG_UML_SOUND=y CONFIG_SOUND=y CONFIG_HOSTAUDIO=y # CONFIG_TTY_LOG is not set # # Block Devices # CONFIG_BLK_DEV_UBD=y # CONFIG_BLK_DEV_UBD_SYNC is not set # CONFIG_COW is not set CONFIG_COW_COMMON=y CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_NBD=y CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_INITRD=y # CONFIG_MMAPPER is not set CONFIG_NETDEVICES=y # # Network Devices # CONFIG_UML_NET=y CONFIG_UML_NET_ETHERTAP=y CONFIG_UML_NET_TUNTAP=y CONFIG_UML_NET_SLIP=y CONFIG_UML_NET_SLIRP=y CONFIG_UML_NET_DAEMON=y CONFIG_UML_NET_MCAST=y # CONFIG_UML_NET_PCAP is not set CONFIG_UML_NETBUS=y CONFIG_DUMMY=y # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set CONFIG_TUN=y CONFIG_PPP=y # CONFIG_PPP_MULTILINK is not set # CONFIG_PPP_FILTER is not set # CONFIG_PPP_ASYNC is not set # CONFIG_PPP_SYNC_TTY is not set # CONFIG_PPP_DEFLATE is not set # CONFIG_PPP_BSDCOMP is not set # CONFIG_PPPOE is not set CONFIG_SLIP=y # CONFIG_SLIP_COMPRESSED is not set # CONFIG_SLIP_SMART is not set # CONFIG_SLIP_MODE_SLIP6 is not set # # Wireless LAN (non-hamradio) # CONFIG_NET_RADIO=y # # Networking options # CONFIG_PACKET=y CONFIG_PACKET_MMAP=y # CONFIG_NETLINK_DEV is not set CONFIG_NETFILTER=y

Page 92: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

85

# CONFIG_NETFILTER_DEBUG is not set CONFIG_FILTER=y CONFIG_UNIX=y CONFIG_INET=y # CONFIG_IP_MULTICAST is not set CONFIG_IP_ADVANCED_ROUTER=y # CONFIG_IP_MULTIPLE_TABLES is not set # CONFIG_IP_ROUTE_MULTIPATH is not set # CONFIG_IP_ROUTE_TOS is not set # CONFIG_IP_ROUTE_VERBOSE is not set # CONFIG_IP_PNP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE is not set # CONFIG_ARPD is not set # CONFIG_INET_ECN is not set # CONFIG_SYN_COOKIES is not set # # IP: Netfilter Configuration # # CONFIG_IP_NF_CONNTRACK is not set # CONFIG_IP_NF_QUEUE is not set # CONFIG_IP_NF_IPTABLES is not set # CONFIG_IP_NF_ARPTABLES is not set # CONFIG_IP_NF_COMPAT_IPCHAINS is not set # CONFIG_IP_NF_COMPAT_IPFWADM is not set # # IP: Virtual Server Configuration # # CONFIG_IP_VS is not set # CONFIG_IPV6 is not set # CONFIG_KHTTPD is not set # # SCTP Configuration (EXPERIMENTAL) # CONFIG_IPV6_SCTP__=y # CONFIG_IP_SCTP is not set # CONFIG_ATM is not set # CONFIG_VLAN_8021Q is not set # # # # CONFIG_IPX is not set # CONFIG_ATALK is not set # # Appletalk devices # # CONFIG_DECNET is not set # CONFIG_BRIDGE is not set # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_LLC is not set # CONFIG_NET_DIVERT is not set # CONFIG_ECONET is not set # CONFIG_WAN_ROUTER is not set # CONFIG_NET_FASTROUTE is not set # CONFIG_NET_HW_FLOWCONTROL is not set # # QoS and/or fair queueing # # CONFIG_NET_SCHED is not set # # Network testing # # CONFIG_NET_PKTGEN is not set #

# File systems # CONFIG_QUOTA=y # CONFIG_QFMT_V2 is not set CONFIG_AUTOFS_FS=y CONFIG_AUTOFS4_FS=y CONFIG_REISERFS_FS=y # CONFIG_REISERFS_CHECK is not set # CONFIG_REISERFS_PROC_INFO is not set # CONFIG_ADFS_FS is not set # CONFIG_AFFS_FS is not set # CONFIG_HFS_FS is not set # CONFIG_HFSPLUS_FS is not set # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EXT3_FS is not set # CONFIG_JBD is not set CONFIG_FAT_FS=y CONFIG_MSDOS_FS=y CONFIG_UMSDOS_FS=y CONFIG_VFAT_FS=y # CONFIG_EFS_FS is not set CONFIG_JFFS_FS=y CONFIG_JFFS_FS_VERBOSE=0 CONFIG_JFFS_PROC_FS=y CONFIG_JFFS2_FS=y CONFIG_JFFS2_FS_DEBUG=0 # CONFIG_CRAMFS is not set # CONFIG_TMPFS is not set CONFIG_RAMFS=y CONFIG_ISO9660_FS=y # CONFIG_JOLIET is not set # CONFIG_ZISOFS is not set # CONFIG_JFS_FS is not set CONFIG_MINIX_FS=y # CONFIG_VXFS_FS is not set # CONFIG_NTFS_FS is not set # CONFIG_HPFS_FS is not set CONFIG_PROC_FS=y CONFIG_DEVFS_FS=y CONFIG_DEVFS_MOUNT=y # CONFIG_DEVFS_DEBUG is not set CONFIG_DEVPTS_FS=y # CONFIG_QNX4FS_FS is not set # CONFIG_ROMFS_FS is not set CONFIG_EXT2_FS=y # CONFIG_SYSV_FS is not set # CONFIG_UDF_FS is not set # CONFIG_UFS_FS is not set # # Network File Systems # # CONFIG_CODA_FS is not set # CONFIG_INTERMEZZO_FS is not set # CONFIG_NFS_FS is not set # CONFIG_NFSD is not set # CONFIG_SUNRPC is not set # CONFIG_LOCKD is not set # CONFIG_SMB_FS is not set # CONFIG_NCP_FS is not set # CONFIG_ZISOFS_FS is not set # # Partition Types # # CONFIG_PARTITION_ADVANCED is not set CONFIG_MSDOS_PARTITION=y # CONFIG_SMB_NLS is not set CONFIG_NLS=y # # Native Language Support

Page 93: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

86

# CONFIG_NLS_DEFAULT="iso8859-1" # CONFIG_NLS_CODEPAGE_437 is not set # CONFIG_NLS_CODEPAGE_737 is not set # CONFIG_NLS_CODEPAGE_775 is not set # CONFIG_NLS_CODEPAGE_850 is not set # CONFIG_NLS_CODEPAGE_852 is not set # CONFIG_NLS_CODEPAGE_855 is not set # CONFIG_NLS_CODEPAGE_857 is not set # CONFIG_NLS_CODEPAGE_860 is not set # CONFIG_NLS_CODEPAGE_861 is not set # CONFIG_NLS_CODEPAGE_862 is not set # CONFIG_NLS_CODEPAGE_863 is not set # CONFIG_NLS_CODEPAGE_864 is not set # CONFIG_NLS_CODEPAGE_865 is not set # CONFIG_NLS_CODEPAGE_866 is not set # CONFIG_NLS_CODEPAGE_869 is not set # CONFIG_NLS_CODEPAGE_936 is not set # CONFIG_NLS_CODEPAGE_950 is not set # CONFIG_NLS_CODEPAGE_932 is not set # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set # CONFIG_NLS_CODEPAGE_1250 is not set # CONFIG_NLS_CODEPAGE_1251 is not set # CONFIG_NLS_ISO8859_1 is not set # CONFIG_NLS_ISO8859_2 is not set # CONFIG_NLS_ISO8859_3 is not set # CONFIG_NLS_ISO8859_4 is not set # CONFIG_NLS_ISO8859_5 is not set # CONFIG_NLS_ISO8859_6 is not set # CONFIG_NLS_ISO8859_7 is not set # CONFIG_NLS_ISO8859_9 is not set # CONFIG_NLS_ISO8859_13 is not set # CONFIG_NLS_ISO8859_14 is not set # CONFIG_NLS_ISO8859_15 is not set # CONFIG_NLS_KOI8_R is not set # CONFIG_NLS_KOI8_U is not set # CONFIG_NLS_UTF8 is not set # # SCSI support # CONFIG_SCSI=y # # SCSI support type (disk, tape, CD-ROM) # # CONFIG_BLK_DEV_SD is not set # CONFIG_CHR_DEV_ST is not set # CONFIG_BLK_DEV_SR is not set # CONFIG_CHR_DEV_SG is not set # # Some SCSI devices (e.g. CD jukebox) support multiple LUNs # # CONFIG_SCSI_DEBUG_QUEUES is not set # CONFIG_SCSI_MULTI_LUN is not set # CONFIG_SCSI_CONSTANTS is not set # CONFIG_SCSI_LOGGING is not set CONFIG_SCSI_DEBUG=y # # Multi-device support (RAID and LVM) # # CONFIG_MD is not set # # Memory Technology Devices (MTD) # CONFIG_MTD=y # CONFIG_MTD_DEBUG is not set

# CONFIG_MTD_PARTITIONS is not set # CONFIG_MTD_CONCAT is not set # # User Modules And Translation Layers # CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y # CONFIG_FTL is not set # CONFIG_NFTL is not set # # RAM/ROM/Flash chip drivers # # CONFIG_MTD_CFI is not set # CONFIG_MTD_JEDECPROBE is not set # CONFIG_MTD_GEN_PROBE is not set # CONFIG_MTD_RAM is not set # CONFIG_MTD_ROM is not set # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_OBSOLETE_CHIPS is not set # # Mapping drivers for chip access # # CONFIG_MTD_PCMCIA is not set # # Self-contained MTD device drivers # # CONFIG_MTD_SLRAM is not set # CONFIG_MTD_MTDRAM is not set CONFIG_MTD_BLKMTD=y # # Disk-On-Chip Device Drivers # # CONFIG_MTD_DOC1000 is not set # CONFIG_MTD_DOC2000 is not set # CONFIG_MTD_DOC2001 is not set # CONFIG_MTD_DOCPROBE is not set # # NAND Flash Device Drivers # # CONFIG_MTD_NAND is not set # # Library routines # # CONFIG_CRC32 is not set CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y # # Kernel hacking # # CONFIG_DEBUG_SLAB is not set CONFIG_DEBUGSYM=y CONFIG_PT_PROXY=y # CONFIG_GPROF is not set # CONFIG_GCOV is not set

Page 94: PFE Securite adhoc - coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/recherche/pfe/PFE... · 2012-08-01 · remarques judicieuses qu’elle m’a prodigués au début de mon stage

Sécurité des réseaux ad hoc Cheikhrouhou Omar

87

Annexe E : Installation de AODV-UU

D’abord modifiez les paramètres du makefile dans aodv-uu.

Changer KERNEL_DIR pour qu'il pointe sur le noyau UML:

KERNEL_DIR=/root/UML/linux-2.4.24-wifi

Changer les options de la compilation en ajoutant les includes nécessaires

CFLAGS=$(OPTS) $(DEBUG) $(DEFS) $(XDEFS) -I$(KERNELDIR)/include -

I$(KERNEL_DIR)/arch/um/include -I$(KERNEL_DIR)/arch/um//kernel/tt/include -

I$(KERNEL_DIR)/arch/um/kernel/skas/include

Modifier la cible install

install: default install -s -m 755 aodvd /root/UML/aodv_uu/aodvd @if [ ! -d /root/UML/aodv_uu/modules/$(KERNEL)/aodv ]; then \ mkdir -p /root/UML/aodv_uu/modules/$(KERNEL)/aodv; \ fi @echo "Installing kernel module in /root/UML/aodv_uu/modules/$(KERNEL)/aodv/"; @if [ -f ./kaodv.ko ]; then \ install -m 644 kaodv.ko /root/UML/aodv_uu/modules/$(KERNEL)/aodv/kaodv.ko; \ else \ install -m 644 kaodv.o /root/UML/aodv_uu/modules/$(KERNEL)/aodv/kaodv.o; \ fi Il faut aussi modifier le makefile du répertoire lnx :

$(KOBJS): %.o: %.c Makefile

$(KCC) $(KCFLAGS) -I/root/UML/linux-2.4.24-wifi/arch/um/include/ -

I/root/UML/linux-2.4.24-wifi/arch/um/kernel/tt/include/ -I/root/UML/linux-2.4.24-

wifi/arch/um/kernel/skas/include/ -c -o $@ $<

Ensuite ajoutez les modules obtenus après compilation au système de fichier.

(Copier kaodv.o dans /lib/modules/2.4.24-1um/).