REUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE Ministère de l’enseignement supérieur et de la recherche scientifique Université des sciences et de la technologie Mohamed Boudiaf d’Oran Faculté des sciences Département d'informatique MEMOIRE Présenté par HENOUNE Mohammed Mokhtar Pour obtenir LE DIPLOME DE MAGISTERE Spécialité Informatique Option : Ingénierie des logiciels et des réseaux Intitulé : LA SECURITE DES RESEAUX SANS FIL ADHOC Soutenu le : 06/07/2011 à la salle des soutenances Devant les membres du jury : Nom et prénom Grade et établissement En qualité de A. Chouarfia M.C.A, USTO MB Président B. Messabih M.C.A, USTO MB. Rapporteur S. Mammar M.A.A, ENSET Oran. Co-Rapporteur R. Mekki M.C.A, USTO MB. Examinatrice K. Belkadi M.C.A, USTO MB. Examinateur Z. Mekakia M.C.B, USTO MB. Invitée Année Universitaire 2010/2011 « When you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind. It may be the beginning of knowledge, but you have scarcely, in your thoughts, advanced to the stage of science » LORD KELVIN (1824-1907) 1 Dédicaces Je dédie ce travail à : Ma chère Imane, Ma mère, mon père, mon frère, mes sœurs, Mon beau père et ma belle mère, mes beaux frères, Toutes les familles HENOUNE et BANI, Mes respectables et honorables encadreurs : Messieurs MAMMAR Soulimane et MESSABIH Belhadri, Tous mes professeurs et collègues de promotion. Mohammed Mokhtar 2 Remerciements Je loue ALLAH de nous avoir donné le privilège d’apprendre et de suivre le droit chemin prescrit par l’islam ; Je remercie ma patrie. Tout d’abord, j’exprime mes profonds remerciements à mes encadreurs de mémoire. Mes premiers hommages s’adressent à Monsieur Mammar Soulimane, Maitre assistant « A » à l’ENSET, pour m’avoir proposé un sujet aussi passionnant et pour son soutien et son aide permanente. Merci d'avoir pris le temps pour m'avoir orienté.... J'ai beaucoup appris à ses côtés. Je tiens aussi à remercier Monsieur Messabih Belhadri, Maitre de conférences « A » à la Faculté des Sciences de l'USTOMB, pour m’avoir accordé l’occasion de réaliser ce mémoire et d’avoir soutenu mon travail. Je souhaite remercier Monsieur A. Chouarfia, Maitre de conférences « A » à la Faculté des Sciences de l'USTOMB, pour le grand honneur qu’il m’a fait en acceptant de présider le jury de mémoire. Qu’il trouve ici le témoignage de ma respectueuse gratitude et de mon profond respect. Je remercie également Monsieur K. Belkadi et Madame R. Mekki, Maitres de conférence « A » à la Faculté des Sciences de l'USTOMB, pour avoir accepté la charge d’examinateurs. En outre, j’adresse toute ma gratitude à Madame Z. Mekakia et Monsieur A. Mhamed pour leurs remarques pertinentes concernant mon mémoire. Je tiens également à remercier Madame Bendella Fatima, maitre de conférence « A » pour son soutien et les conseils qu’elle a bien voulu me prodiguer. Merci. Merci également à tous ceux qui m'ont accompagné et soutenu dans cette expérience de ma vie. Mes remerciements vont aussi à mes amis Kouidri, Ziani, Kouadri, Ali cherif et mon oncle Abdelkrim et son épouse. 3 4 Table de Matières INTRODUCTION GENERALE .............................................................................................................. 10 CHAPITRE I : LES RESEAUX MOBILES AD HOC .................................................................................... 13 1. LES ENVIRONNEMENTS MOBILES .......................................................................................................... 14 1.1. LE RESEAU MOBILE AVEC INFRASTRUCTURE ................................................................................................... 14 1.2. LE MODELE DE RESEAU MOBILE SANS INFRASTRUCTURE................................................................................... 15 2. LES RESEAUX MOBILES AD-HOC ............................................................................................................ 15 2.1. LES APPLICATIONS DES RESEAUX MOBILES AD HOC.......................................................................................... 16 2.2. LES CARACTERISTIQUES DES RESEAUX AD HOC ............................................................................................... 16 2.3. COMMUNICATION DANS LES RESEAUX AD HOC .............................................................................................. 17 2.4. GESTION D’ENERGIE EN MODE AD-HOC ....................................................................................................... 18 2.5 AUTO CONFIGURATION DES ADRESSES IP DANS LES RESEAUX AD HOC ................................................................. 18 3. LE ROUTAGE DANS LES RESEAUX AD HOC ................................................................................................ 19 3.1. PROBLEMATIQUES DE ROUTAGE DANS LES RESEAUX AD HOC ............................................................................ 19 3.2. LA CONCEPTION DES STRATEGIES DE ROUTAGE .............................................................................................. 20 3.3. CLASSIFICATION DES PROTOCOLES DE ROUTAGE ............................................................................................. 20 3.3.1. L’inondation...................................................................................................................................... 21 3.3.2. Les protocoles de routage proactifs ................................................................................................. 21 3.3.3 Les protocoles de routage réactifs .................................................................................................... 23 3.3.4 Les protocoles de routage Hybrides.................................................................................................. 24 4. AODV .......................................................................................................................................... 25 4.1. FORMATS DE MESSAGE AODV ................................................................................................................... 28 4.2. LES ATTAQUES LIEES AU PROTOCOLE DE ROUTAGE AODV ............................................................................... 29 4.2.1. Attaque de modification de numéro de séquence .......................................................................... 29 4.2.2. Attaque de destruction des paquets de routage ............................................................................. 30 4.2.3. Attaque de consommation de ressources ....................................................................................... 31 4.2.4. Attaque par rejeu de message: ........................................................................................................ 31 5. CONCLUSION .................................................................................................................................. 31 CHAPITRE II : LA SECURITE DE ROUTAGE DANS LES MANETS ............................................................. 33 1. NATURE DES VULNERABILITES.............................................................................................................. 34 2. LES BESOINS DE SECURITE ................................................................................................................... 36 2.1 DISPONIBILITE........................................................................................................................................... 36 2.2. AUTHENTICITE ......................................................................................................................................... 36 2.3. CONFIDENTIALITE ..................................................................................................................................... 36 2.4. INTEGRITE ............................................................................................................................................... 37 2.5. LA NON-REPUDIATION............................................................................................................................... 37 2.6. LE NON REJEU .......................................................................................................................................... 37 3. LES ATTAQUES DANS LES RESEAUX SANS FIL AD HOC .................................................................................. 37 3.1. LE DENI DE SERVICE (DOS)......................................................................................................................... 38 5 3.2. L’USURPATION D'IDENTITE ......................................................................................................................... 38 3.3. LA DIVULGATION ...................................................................................................................................... 39 3.4. LES ATTAQUES DE CONFIANCE .................................................................................................................... 39 3.5. LES ATTAQUES CONTRE L'INFORMATION EN TRANSIT ...................................................................................... 40 3.6. LES ATTAQUES CONTRE LE ROUTAGE ............................................................................................................ 40 3.6.1. Les attaques internes ....................................................................................................................... 40 3.6.2. Les attaques externes....................................................................................................................... 40 3.7. LES ATTAQUES MILITAIRES.......................................................................................................................... 42 3.7.1. Les attaques stratégiques de routage .............................................................................................. 43 3.7.2. Les attaques tactiques de routage ................................................................................................... 43 4. TECHNIQUES GENERALES UTILISEES DANS LA SECURITE ............................................................................... 43 4.1. FONCTION DE HACHAGE ............................................................................................................................ 43 4.2. CHAINES DE HACHAGE ............................................................................................................................... 43 4.3. SIGNATURE NUMERIQUE............................................................................................................................ 43 4.4. CERTIFICATS ET AUTORITE DE CERTIFICATION ................................................................................................ 44 4.4.1. Qu'est-ce qu'un certificat? ............................................................................................................... 44 4.4.2. Autorité de Certification :................................................................................................................. 45 4.4.3. Vérification d’un certificat ................................................................................................................ 45 5. LE ROUTAGE SECURISE ....................................................................................................................... 45 5.1. LUTTER CONTRE LES ATTAQUES EXTERIEURES ................................................................................................ 46 5.2. LUTTER CONTRE LES ATTAQUES INTERNES ..................................................................................................... 46 5.3. SECURISER LES PROTOCOLES DE ROUTAGE A VECTEUR DE DISTANCE................................................................... 47 5.4. AUTHENTICATED ROUTING FOR AD HOC NETWORKS (ARAN) ......................................................................... 48 5.5. SECURE ROUTING PROTOCOL (SRP) ............................................................................................................ 48 5.6. SECURE EFFICIENT AD HOC DISTANCE VECTOR ROUTING PROTOCOL (SEAD) ...................................................... 49 5.9. SECURE AD HOC ON-DEMAND DISTANCE VECTOR ROUTING PROTOCOL (SAODV) ............................................ 49 5.7. A SECURE ON-DEMAND ROUTING PROTOCOL FOR AD HOC NETWORKS (ARIADNE)............................................. 49 6. SECURE AD HOC ON-DEMAND DISTANCE VECTOR (SAODV)...................................................................... 50 6.1. LES DEFAUTS DU PROTOCOLE AODV ........................................................................................................... 50 6.2. SECURISATION D’AODV ............................................................................................................................ 50 6.2.1. Chaînes de hachage SAODV ............................................................................................................. 51 6.2.2. Signatures numériques SAODV ........................................................................................................ 52 6.2.3. Messages d'erreur SAODV................................................................................................................ 53 6.2.4. Quand un nœud redémarre ............................................................................................................. 54 6.2.5. Analyse ............................................................................................................................................. 54 6.3 LES EXTENSIONS SAODV ............................................................................................................................ 55 7. CONCLUSION :................................................................................................................................. 59 CHAPITRE III : IPSEC-AODV............................................................................................................... 61 1. INTRODUCTION ............................................................................................................................... 62 2. APPROCHE PROPOSEE : ..................................................................................................................... 62 3. OBJECTIFS DE LA SIMULATION :............................................................................................................ 64 4. MODELE DE SIMULATION : ................................................................................................................. 65 4.1 MODELE DE MOBILITE : .............................................................................................................................. 66 4.2 MODELE DE TRAFIC :.................................................................................................................................. 66 6 4.3. LES DELAIS DES OPERATIONS CRYPTOGRAPHIQUES :........................................................................................ 66 5. RESULTATS DE SIMULATION ET ANALYSE ................................................................................................ 67 5.1. AVERAGE END TO END ROUTE DISCOVERY DELAY (EERDD)............................................................................ 67 5.2. SIMULATION............................................................................................................................................ 67 CONCLUSION................................................................................................................................... 72 REFERENCE...................................................................................................................................... 73 7 Table de figures FIGURE 0 ILLUSTRATION GENERIQUE D’UN RESEAU SANS FIL AD HOC ...................................................................... 11 FIGURE 1.1 LE MODELE DES RESEAUX MOBILES AVEC INFRASTRUCTURE ................................................................. 14 FIGURE 1.2 LE MODELE DES RESEAUX MOBILES SANS INFRASTRUCTURE ................................................................. 15 FIGURE 1.3 ZONES DE COMMUNICATION ET DE DETECTION DE PORTEUSE ............................................................. 17 FIGURE 1.4 CHEMIN UTILISE DANS UN ROUTAGE ...................................................................................................... 19 FIGURE 1.5 ROUTE REQUEST ...................................................................................................................................... 26 FIGURE 1.6 ROUTE REPLY ............................................................................................................................................ 27 FIGURE 1.7 ROUTE ERROR .......................................................................................................................................... 28 FIGURE 1.8 FORMAT DE MESSAGE RREQ .................................................................................................................... 28 FIGURE 1.9 FORMAT DE MESSAGE RREP .................................................................................................................... 28 FIGURE 1.10 FORMAT DE MESSAGE RERR .................................................................................................................. 29 FIGURE 1.11 FORMAT MESSAGE RREP-ACK ................................................................................................................ 29 FIGURE 1.12 EXEMPLE D'ATTAQUE DE MODIFICATION DE NUMERO DE SEQUENCE. ................................................ 30 FIGURE 2.1 LA SIGNATURE NUMERIQUE .................................................................................................................... 44 FIGURE 2.2 CONTENU D’UN CERTIFICAT ..................................................................................................................... 44 FIGURE 2.3 LES CHANGEMENTS PROPOSES DANS LES MESSAGES ROUTAGE. ........................................................... 48 FIGURE 2.4 RREQ (SINGLE) SIGNATURE EXTENSION ................................................................................................... 55 FIGURE 2.5 RREP (SINGLE) SIGNATURE EXTENSION.................................................................................................... 56 FIGURE 2.6 RREQ DOUBLE SIGNATURE EXTENSION ................................................................................................... 56 FIGURE 2.7 RREP DOUBLE SIGNATURE EXTENSION .................................................................................................... 57 FIGURE 2.8 RERR SIGNATURE EXTENSION .................................................................................................................. 58 FIGURE 2.9 RREP-ACK SIGNATURE EXTENSION........................................................................................................... 58 FIGURE 3.1 PROCESSUS D’ENVOI DE PAQUET AODV .................................................................................................. 63 FIGURE 3.2 EERDD POUR UNE MOBILITE 5 M/S. ........................................................................................................ 68 FIGURE 3.3 EERDD POUR UNE MOBILITE 25 M/S. ...................................................................................................... 69 FIGURE 3.4 EERDD POUR UNE MOBILITE 50 M/S. ...................................................................................................... 70 FIGURE 3.5 EERDD POUR UNE MOBILITE 300 M/S. .................................................................................................... 71 8 Liste de tableaux TABLEAU 1.1 CLASSIFICATION DES QUELQUES PROTOCOLES AD HOC. ...................................................................... 25 TABLEAU 1.2 PROACTIF VS REACTIF............................................................................................................................ 32 TABLEAU 1.3 COMPARAISON DES PROPRIETES DES PROTOCOLES DE ROUTAGE AD HOC......................................... 32 TABLEAU 2.1 LES VALEURS DU CHAMP HASH FUNCTION ........................................................................................... 51 TABLEAU 2.2 RREQ ET RREP SIGNATURE EXTENSION FIELDS ..................................................................................... 56 TABLEAU 2.3 CHAMPS RREQ DOUBLE SIGNATURE EXTENSION ................................................................................. 57 TABLEAU 2.4 CHAMPS RREP DOUBLE SIGNATURE EXTENSION .................................................................................. 58 TABLEAU 2.5 RERR ET RREP-ACK SIGNATURE EXTENSION FIELDS .............................................................................. 59 TABLEAU 2.6 CARACTERISTIQUES DE SECURITE DANS CERTAINS PROTOCOLES DE ROUTAGE .................................. 59 TABLEAU 3.1 LES VALEURS DE PARAMETRES AODV UTILISES DANS LA SIMULATION ................................................ 65 TABLEAU 3.2 LES DELAIS DE TRAITEMENT IPSEC-AODV ............................................................................................. 67 TABLEAU 3.3 LES DELAIS DE TRAITEMENT SAODV ...................................................................................................... 67 9 Introduction générale 10 Les nœuds mobiles dans la portée radio des autres nœuds peuvent communiquer grâce à des liaisons sans fil et ainsi former un réseau dynamique. Les appareils sans fil qui ne sont pas à la portée directe communiquent au moyen de dispositifs intermédiaires (c'est une communication multi sauts). Ainsi, un réseau ad hoc est une collection de nœuds autonomes qui forment un réseau radio dynamique, dans un but spécifique, multi sauts dans un mode décentralisé. La nature par excellence de ces réseaux est l'absence évidente d'une infrastructure de support fixe, tels que les centres de commutation mobile, les stations de base, les points d'accès, et d'autres mécanismes centralisés traditionnellement utilisés dans les réseaux sans fil. La topologie du réseau est en constante évolution en raison de nœuds entrant et sortant. L’acheminement de paquets, le routage et d'autres fonctions du réseau sont effectuées par les nœuds eux-mêmes. Une illustration d'un tel réseau est représentée en figure 0. Figure 0 Illustration générique d’un réseau sans fil ad hoc Les réseaux ad hoc sans fil trouvent leur application dans les opérations militaires dans lesquelles les avions, les chars, et le personnel mobile peuvent communiquer. Les missions de sauvetage et les cas d'urgence sont également des applications appropriées pour ces réseaux. D'autres exemples incluent les classes virtuelles et les conférences où les gens peuvent mettre en place un réseau sur place grâce à leurs ordinateurs portables, assistants numériques personnels (PDA), et autres appareils mobiles en supposant qu'ils partagent le même medium physique tels que le Direct Sequence Spread Spectrum (DSSS) or Frequency Hopped Spread Spectrum (FHSS). Le manque de fiabilité des liaisons sans fil entre les nœuds, la constante évolution de la topologie en raison du mouvement des nœuds dans et hors réseau et le manque d'intégration des éléments de sécurité dans les protocoles de routage sans fils configurés de manière statique ne sommes pas conçus pour les environnements ad hoc. Tout cela conduit à une vulnérabilité et une exposition accrue aux attaques. La sécurité des réseaux sans fil ad hoc est particulièrement difficile à réaliser, notamment en raison de la vulnérabilité des liaisons, la protection physique limitée de chacun des nœuds, la 11 nature sporadique de la connectivité, le changement dynamique de topologie, l'absence d'une autorité de certification (CA), et le manque d'un point de contrôle ou de gestion centralisé. Plusieurs approches ont été proposées pour sécuriser le routage ad hoc. La majorité des solutions existantes utilisent les mêmes mécanismes de protection des réseaux filaires. Elles se basent sur la présence d’infrastructure centralisée ce qui n’est pas approprié à un réseau ad hoc décentralisé. D’autres approches ont essayé de s’adapter à la nature des MANETs ; cependant leurs solutions s’avèrent couteuses, lentes et affectent les performances de réseaux comme SAODV. Ce travail entre dans le cadre de l'étude des problèmes de sécurité de routage dans les réseaux mobiles ad hoc. Notre étude offre principalement un état de l’art des travaux de recherche qui ont été faits et qui se font à l'heure actuelle dans le but de résoudre le problème d'acheminement de données entre les hôtes du MANET de manière sécurisée. Nous proposons un nouveau schéma IPsec-AODV qui essaye de sécuriser le routage et d’optimiser les performances. Par performance on vise des aspects variés tel que le temps de calcul et le temps de réponse qui ont des conséquences sur l’économie d’énergie, la taille des paquets, etc. Le reste du mémoire est organisé comme suit : · · · · Dans le chapitre 1, nous donnons des généralités sur les réseaux mobiles ad hoc. Dans le chapitre 2, nous présentons les caractéristiques des réseaux sans fil ad hoc qui les rendent si vulnérables aux attaques, nous discutons des besoins et des exigences de sécurité de routage, nous analysons les attaques probables dans ces MANETs. Ensuite, nous présentons un état de l’art de la recherche actuelle et les efforts de développement y compris les solutions de sécurité et les algorithmes concernant le routage. Dans le dernier chapitre, nous présentons une description du protocole IPsec-AODV suivi d’une comparaison expérimentale entre AODV, SAODV et notre approche IPsecAODV qui est inspirée d’IPsec et d’AODV. Enfin une conclusion sur les différentes situations où IPsec-AODV donne des résultats plus ou moins probant. 12 Chapitre I : Les réseaux mobiles ad hoc 13 Dans ce chapitre nous présentons les environnements mobiles et les principaux concepts liés à ces environnements. Nous commençons par définir cet environnement et citer les deux classes qui le constituent. Nous introduisons ensuite le concept des réseaux ad hoc et les caractéristiques inhérentes à ces réseaux. Ensuite nous définissons le problème d’acheminement des données dans de tels environnements et nous soulignons sa difficulté et les contraintes principales que les stratégies de routage doivent respecter. Enfin nous présentons le protocole AODV, en commençant par une étude détaillée de sa manière d'agir et de son principe de fonctionnement. On décrira par la suite ses vulnérabilités et ses failles. 1. Les environnements mobiles Un environnement mobile est un système composé de sites mobiles et qui permet à ses utilisateurs d’accéder à l’information indépendamment de leurs positions géographiques. Les réseaux mobiles ou sans fil, peuvent être classés en deux : les réseaux avec infrastructure et les réseaux sans infrastructure. 1.1. Le réseau mobile avec infrastructure Il intègre deux ensembles d’entités distinctes : 1. Les « sites fixes » d’un réseau de communication filaire classique (wired network). 2. Les sites mobiles (wireless network) Certains sites fixes, appelés stations support mobile (Mobile Support Station) ou station de base (SB) sont munis d’une interface de communication sans fil pour la communication directe avec les sites ou unités mobiles (UM), localisés dans une zone géographique limitée, appelée cellule (voir figure 1.1). Figure 1.1 Le modèle des réseaux mobiles avec infrastructure 14 A chaque station de base correspond une cellule à partir de laquelle des unités mobiles peuvent émettre et recevoir des messages alors que les sites fixes sont interconnectés entre eux à travers un réseau de communication filaire, généralement fiable et d’un débit élevé. Les liaisons sans fil ont une bande passante limitée qui réduit sévèrement le volume des informations échangées. Dans ce modèle, une unité mobile ne peut être, à un instant donné, directement connectée qu’à une seule station de base. 1.2. Le modèle de réseau mobile sans infrastructure L’infrastructure est préexistante et ne comporte pas l’entité « site fixe ». Tous les sites du réseau sont mobiles et se communiquent d’une manière directe en utilisant leurs interfaces de communication sans fil (voir figure 1.2). L’absence de l’infrastructure ou du réseau filaire composé des stations de base, oblige les unités mobiles à se comporter comme des routeurs qui participent à la découverte et la maintenance des chemins pour les autres hôtes du réseau. Figure 1.2 le modèle des réseaux mobiles sans infrastructure 2. Les réseaux mobiles ad-hoc Un réseau mobile ad hoc est un environnement mobile sans infrastructure, appelé généralement MANET (Mobile Ad hoc NETWORK). Il 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. Les systèmes de communication cellulaire sont basés essentiellement sur l’utilisation des réseaux filaires (tel que Internet ou ATM) et sur la présence des stations de base qui couvrent les différentes unités mobiles du système. Par contre, les réseaux mobiles « ad hoc » sont des réseaux qui s’organisent automatiquement de façon à être déployé rapidement sans infrastructure fixe et qui doivent pouvoir s’adapter aux conditions de propagation, aux trafics et aux différents mouvements pouvant intervenir au sein des nœuds mobiles. 15 2.1. Les applications des réseaux mobiles ad hoc La particularité du réseau Ad hoc est qu’il n’a besoin d’aucune installation fixe, ce qui lui permet d’être rapide et facile à déployer. Les applications tactiques comme les opérations de secours, militaires ou d’explorations trouvent en Ad Hoc le réseau idéal. La technologie Ad Hoc intéresse également la recherche et les applications civiles. On distingue : · · · · · · Les services d’urgence : opérations de recherche et de secours des personnes, tremblements de terre, incendies, inondations, dans le but de remplacer l’infrastructure filaire. Le travail collaboratif et les communications dans des entreprises ou bâtiments : dans le cadre d’une réunion ou d’une conférence par exemple. Home network : partage d’applications et communications des équipements mobiles. Applications commerciales : pour un paiement électronique distant (taxi) ou pour l’accès mobile à l’Internet ou service de guide en fonction de la position de l’utilisateur. Réseaux de capteurs : pour des applications environnementales (climat, activité de la terre, suivi des mouvements des animaux, ...etc.) ou domestiques (contrôle des équipements à distance). Réseaux en mouvement : informatique embarquée et véhicules communicants. Réseaux Mesh : c’est une technologie émergente qui permet d’étendre la portée d’un réseau ou de le densifier. 2.2. Les caractéristiques des réseaux ad hoc · · · · · · 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. La notion de « multi hop » : un réseau ad hoc est qualifié par « multi hop » car plusieurs nœuds mobiles peuvent participer au routage et servent comme routeurs intermédiaires. 16 2.3. Communication dans les réseaux ad hoc Un réseau est dit sans fil lorsque les machines qui le composent ne sont pas reliées entre elles par des câbles mais utilisent pour communiquer le médium radio ou infrarouge. Comme les signaux propagés sur ces media s’atténuent au fur et à mesure qu’ils s’éloignent de leur émetteur, un nœud ne peut pas communiquer avec un autre s’il est situé trop loin de lui. On définit alors l’ensemble des voisins d’un nœud comme étant l’ensemble des nœuds capables de recevoir et de comprendre les signaux émis par celui-ci. Avant tout, les conditions suivantes doivent être remplies pour qu’un paquet puisse être reçu : · La puissance du signal reçu doit dépasser un certain seuil (seuil de communication). · Le rapport signal sur bruit ambiant doit être suffisamment grand (le signal doit être clairement identifié et non noyé dans le bruit). Il existe un seuil de détection de porteuse. Si la puissance du signal est comprise entre ce seuil et le seuil de communication, alors le message n’est pas compris mais l’activité sur le canal est néanmoins détectée. Si le modèle de propagation radio utilisé est «two-ray ground» (ou le modèle «free-space»), ces seuils définissent donc deux zones autour d’un nœud. Si le récepteur est placé au centre de la figure 1.3, alors un émetteur placé dans la zone interne (zone de communication) pourra lui envoyer des messages qui seront compris (en l’absence d’autres interférences). Si l’émetteur est placé dans la zone externe (zone de détection de porteuse), la communication ne sera pas possible mais l’autre mobile sera informé à chaque fois que l’émetteur accédera au canal. Si le modèle de propagation radio utilisé est «shadowing», les deux zones sont également définies, mais leurs frontières sont ”floues” du fait du caractère probabiliste du modèle. Figure 1.3 Zones de communication et de détection de porteuse Le protocole 802.11 impose qu’un mobile qui veut émettre doit d’abord s’assurer qu’aucune autre communication n’est en cours dans son voisinage. Si une telle communication est en cours, et si l’émetteur est suffisamment proche (lui-même dans la zone de communication) du mobile qui voudrait lui aussi émettre, alors ce dernier a reçu l’en-tête du message et sait donc (par l’intermédiaire de son Network Allocation Vector) pour combien de temps le canal doit encore être occupé. Le nœud qui voulait émettre va donc attendre. Par contre, si le mobile qui 17 veut aussi émettre est plus loin (dans la zone de détection de porteuse de l’émetteur) l’en-tête n’a pas pu être compris. Il est impossible dans ce cas de prévoir à l’avance quand on aura à nouveau le droit d’émettre et il faut attendre que l’activité sur le canal disparaisse. Dans ces contextes, les différents nœuds se gênent les uns les autres, et cela se traduit par un partage du canal entre eux. 2.4. Gestion d’énergie en mode Ad-Hoc Les réseaux sans fil peuvent posséder des terminaux fixes ou mobiles. Le problème principal des terminaux mobiles concerne leur batterie, qui n’a généralement que peu d’autonomie. Pour augmenter le temps d’activité de ces terminaux mobiles, le standard prévoit un mode d’économie d’énergie. Il existe deux modes de travail pour le terminal : • Continuous Aware Mode ; • Power Save Polling Mode. Le premier correspond au fonctionnement par défaut : la station est tout le temps allumée et écoute constamment le support. Le second permet une économie d’énergie. Dans ce second cas, les stations qui sont en mode ‘normal’ stockent les paquets pour les stations en mode ‘économie d’énergie’ et vont jouer le rôle de mémoire tampon pour ces stations. Lorsqu’une station reçoit une trame pour une station qui est en mode économie d’énergie et que celle-ci n’est pas active, elle stocke la trame. La station qui stocke la trame doit être en mode normal pour remplir cette fonctionnalité. Elle émet ensuite des trames ATIM (Ad-Hoc Traffic Information Map) qui informent les stations en mode ‘économie d’énergie’, qu’il y a des paquets en attente pour elles. Lorsque la station en mode ‘économie d’énergie’ acquitte l’ATIM, la station qui a émis cette trame, lui fait suivre le paquet qu’elle a pour elle. On peut ajouter que les stations en mode économie d’énergie ne pourront pas, du fait de leur mode de fonctionnement, fournir tout les services réseaux tel que le routage de paquets. Les réseaux Ad-Hoc multi-sauts s’appuient sur les stations en mode normal pour router les paquets vers leurs destinataires. 2.5 Auto configuration des adresses IP dans les réseaux ad hoc Une spécification d’une auto configuration des adresses IP utilise les messages de protocoles de routage existants. Ce mécanisme ne garantit pas l’unicité dans des réseaux déconnectés. La détection d’adresse dupliquée (DAD) est le processus par lequel un nœud qui manque une adresse IP détermine si une adresse IP candidate sélectionnée est valide ou non. Un nœud déjà équipé par une adresse IP participe dans le processus DAD dans le but de protéger son adresse IP d’être utilisée par un autre nœud. D’abord un nœud sélectionne une adresse IP au hasard de 169.254/16. Puis le nœud génère une RREQ vers l’adresse sélectionnée au hasard. Si aucune RREP n’est retournée durant une certaine période, le nœud tente d’envoyer la RREQ un certain nombre de fois atteignant RREQ_RETRIES. Si après toutes les tentatives aucune RREP n’est reçue, le nœud considère que l’adresse n’est assignée à aucun autre nœud et qu’il peut prendre cette adresse. Sinon, le nœud choisit de nouveau arbitrairement une autre adresse du même rang et le DAD recommence [1]. 18 3. Le routage dans les réseaux ad hoc Généralement, le routage est une méthode d’acheminement des informations à la bonne destination à travers un réseau de connexion donné (figure 1.4). Le problème de routage consiste pour un réseau dont les arcs, les nœuds et les capacités sur les arcs sont fixés à déterminer un acheminement optimal des paquets (de messages, de produits …etc.) à travers le réseau au sens d’un certain critère de performance. Le problème consiste à trouver l’investissement de moindre coût en capacités nominales et de réserves qui assure le routage du trafic nominal et garantit sa surveillance en cas de n’importe quelle panne d’arc ou de nœud. Figure 1.4 Chemin utilisé dans un routage 3.1. Problématiques de routage dans les réseaux ad hoc Dans le but d’assurer la connectivité du réseau, malgré l’absence d’infrastructure fixe et la mobilité des stations, chaque nœud est susceptible d’être mis à contribution pour participer au routage et pour retransmettre les paquets d’un nœud qui n’est pas en mesure d’atteindre sa destination ; tout nœud joue ainsi le rôle de station et de routeur. Le fait que la taille d’un réseau ad hoc peut être énorme, souligne que la gestion de routage de l’environnement doit être complètement différente des approches utilisées dans le routage classique. Le problème qui se pose dans le contexte des réseaux ad hoc est l’adaptation de la méthode d’acheminement utilisée avec le grand nombre d’unités existant dans un environnement caractérisé par de modestes capacités de calcul et de sauvegarde. Dans la pratique, il est impossible qu’un hôte puisse garder les informations de routage concernant tous les autres nœuds dans le cas où le réseau serait volumineux. Le problème ne se pose pas dans le cas de réseaux de petites tailles, car l’inondation (la diffusion pure) faite dans ces réseaux n’est pas coûteuse ; Par contre, dans un réseau volumineux le manque de données de routage concernant les destinations peut impliquer une diffusion énorme dans le réseau et cela si on considère seulement la phase de découverte de routes. Le trafic causé par la diffusion, dans ce cas, est rajouté au trafic déjà existant dans le réseau ce qui peut dégrader considérablement les 19 performances de transmission du système caractérisé principalement par une faible bande passante. Dans le cas où le nœud destination se trouve dans la portée de communication du nœud source le routage devient évident et aucun protocole de routage n’est initié. Malheureusement, ce cas est généralement rare dans les réseaux ad hoc. Une station source peut avoir besoin de transférer des données à une autre station (nœud intermédiaire) qui ne se trouve pas dans sa portée de communication ce qui nécessite un protocole de routage approprié. Dans la pratique, le problème de routage est plus compliqué à cause de la non uniformité de la transmission sans fil et de la possibilité du déplacement imprévisible de tous les nœuds concernés par le routage. 3.2. La conception des stratégies de routage L’étude et la mise en œuvre d’algorithmes de routage pour assurer la connexion des réseaux ad hoc au sens classique du terme (tout sommet peut atteindre tout autre sommet), sont un problème complexe. L’environnement est dynamique et évolue donc au cours du temps, la topologie du réseau peut changer fréquemment. Il semble donc important que toute conception de protocole de routage doive tenir compte de tous les facteurs et limitations physiques imposées par l’environnement afin que les protocoles de routage résultant ne dégradent pas les performances du système : • • • • La minimisation de la charge du réseau : l’optimisation des ressources du réseau renferme deux autres sous problèmes qui sont l’évitement des boucles de routage et l’empêchement de la concentration du trafic autour de certains nœuds ou liens. Offrir un support pour pouvoir effectuer des communications multipoints fiables : le fait que les chemins utilisés pour router les paquets de données puissent évoluer ne doit pas avoir d’incident sur le bon acheminement des données. L’élimination d’un lien pour cause de panne ou pour cause de mobilité devrait idéalement augmenter le moins possible les temps de latence. Assurer un routage optimal : la stratégie de routage doit créer des chemins optimaux et pouvoir prendre en compte différentes métriques de coûts (bande passante, nombre de liens, ressources du réseau, délais de bout en bout,…etc.). Si la construction des chemins optimaux est un problème dur, la maintenance de tels chemins peut devenir encore plus complexe. La stratégie de routage doit assurer une maintenance efficace des routes avec le moindre coût possible. Le temps de latence : la qualité des temps de latence et de chemins doit augmenter dans le cas où la connectivité du réseau augmente. 3.3. Classification des protocoles de routage Le principal but de toute stratégie de routage est de mettre en œuvre une bonne gestion d’acheminement qui soit robuste et efficace. D’une manière générale, toute stratégie de routage repose sur des méthodes et des mécanismes que l’on peut regrouper en trois grandes classes : les protocoles de routage proactifs, les protocoles de routage réactifs et les protocoles de routage hybrides. 20 3.3.1. L’inondation L’inondation ou la diffusion pure consiste à faire propager un paquet (de données ou de contrôle) dans le réseau entier. Un nœud initiateur envoie le paquet à tous ses voisins directs. De même, chaque nœud recevant le paquet, le rediffuse à tous ses voisins. Ce comportement se répète jusqu’à ce que le paquet atteigne tous les nœuds du réseau. Les nœuds appliquent certains traitements de contrôle sur les paquets afin d’éviter les problèmes de bouclage et de duplication de messages. L’inondation est utilisée généralement à la première phase du routage pour découvrir le voisinage. 3.3.2. Les protocoles de routage proactifs Un protocole de routage est dit proactif si les procédures de création et de maintenance des routes durant la transmission des paquets de données sont contrôlées périodiquement. Cette maintenance reste toujours active même s’il n’y a pas de trafic circulant dans le réseau. Deux principales méthodes sont utilisées dans cette classe de protocoles proactifs : la méthode Link state et la méthode Distance Vector. Ces méthodes sont utilisées aussi dans les réseaux filaires. Parmi les protocoles de routage proactifs les plus connus on peut cite DSDV, FSR et OLSR. A. Etat de liens : Dans cette méthode, chaque nœud garde une vision de toute la topologie du réseau et ce par l’intermédiaire de requêtes périodiques portant sur l’état des liaisons avec les nœuds voisins. En effet, la mise à jour dans cette méthode se fait pour chaque nœud diffusant l’état des liens des nœuds voisins dans le réseau. Cette opération est aussi faite en cas de changement dans l’état des liens [2]. B. Vecteur de distance : Dans cette méthode par contre, chaque nœud diffuse à ses nœuds voisins sa vision des distances qui le séparent de tous les hôtes du réseau. En se basant sur les informations reçues par tous ses voisins, chaque nœud de routage fait un certain calcul pour trouver le chemin le plus court vers n'importe quelle destination. Le processus de calcul se répète s'il y a un changement de la distance minimale séparant deux nœuds, et cela jusqu'à ce que le réseau atteigne un état stable. Cette technique est basée sur l'algorithme distribué de Bellman Ford. DSDV « Dynamic Destination-Sequenced Distance-Vector » Vecteur de Distance Dynamique Séquencé (ou Dynamic Destination-Sequenced Distance- Vector) a été conçu spécialement pour les réseaux mobiles. Ce protocole est basé sur le mécanisme classique de Bellman-Ford [4]. Chaque station maintient une table de routage vers toutes les destinations possibles avec trois entrées : adresse de la destination, nombre de sauts, numéro de séquence (NS). Le NS est un numéro choisi par la source, pour permettre aux autres nœuds de connaître l’information la plus récente. Au lieu de transmettre la totalité de la table aux voisins, ce qui nécessite l’envoi de plusieurs paquets, le nœud envoie juste les entrées qui ont subi un changement. Cette amélioration réduit le nombre de paquets transmis. Cependant le fait que l’unité mobile attend la réception des mises à jour rend le protocole très lent. FSR « Fisheye State Routing / Routage à Etat de l'œil du Poisson » Il a été proposé par Kleinrock et Stevens [5] qui se sont inspirés du mécanisme de vision chez les poissons. Le poisson distingue les choses en étant au centre. Cette précision se dégrade 21 en s’éloignant du point focal. Par analogie, le chemin sera optimal si la distance séparant deux nœuds est courte puis une diminution progressive du détail et de précision est remarquée quand la distance augmente. FSR n’inonde pas le réseau avec des mises à jour mais périodiquement tous les nœuds échangent avec leurs voisins les plus proches leurs tables de topologie. En effet, l’ensemble des liens se propage saut par saut à chaque envoi. Ce protocole s’adapte bien aux réseaux ad hoc dont le nombre d'unités mobiles est grand car il utilise un volume raisonnable de messages de contrôle en sacrifiant l’optimalité des chemins maintenus. HSR « Hierarchical State Routing / Routage à Etat Hiérarchique » La notion de partitionnement est très répandue en pratique dans les réseaux ad hoc car elle améliore les performances du réseau. Chaque nœud élit un responsable. L’ensemble des nœuds élus choisissent un responsable supérieur (chef ou clusterhead) [6][7]. Ce procédé se répète jusqu’à ce que le réseau s’organise en groupes hiérarchiques. Pour établir une communication entre deux nœuds, il faut manipuler des adresses hiérarchiques. Par exemple, un hôte qui veut communiquer avec un autre hôte extérieur de son groupe (cluster) transmet sa demande à son chef supérieur qui s’occupera du routage du paquet. Le message remonte dans l’organisation hiérarchique jusqu’à ce qu’il arrive à un clusterhead possédant l’adresse de la destination. DREAM « Distance Routing Effect Algorithm for Mobility » Le protocole appelé "Algorithme d'Effet de Routage basé sur la Distance, pour la Mobilité"[8] procède par inondation partielle afin de découvrir une route inexistante. Si la source dispose d’informations récentes elle choisit de diffuser sa requête sur un ensemble précis de nœuds voisins. Sinon elle inonde tout le réseau. Nous économisons ainsi le nombre de paquets en circulation. Quand le nœud destination reçoit les données, il envoie des acquittements à la source d'une manière similaire. Dans le cas où la source envoie les données, un timer associé à la réception des acquittements est activé. Si aucun acquittement n'est reçu avant l'expiration du timeout, les données seront retransmises en utilisant une diffusion ordinaire. OLSR « Otimized Link State Routing / Routage à Etat de Lien Optimisé » Comme son nom l’indique, OLSR[9] est un protocole à état de lien. Il n’y a pas d'inondation du réseau avec les messages de contrôle car les requêtes sont diffusées à un certain ensemble de nœuds appelés relais multipoints (MPR) qui servent à joindre les voisins à deux sauts. La table de routage est déterminée dynamiquement et contient des routes optimales en termes de nombre de sauts. Pour maintenir à jour les informations nécessaires au calcul de la table de routage, les nœuds OLSR ont besoin de s’échanger des informations périodiquement. Pour ceci ils envoient des messages HELLOs contenant la liste de leurs voisins. Ce type de message fournit une connaissance locale de la topologie qui ne dépasse pas deux sauts. C’est à travers un autre type de messages appelé TC (Topologie Control) qu’on déclare les sous-ensembles de voisinage dans le reste du réseau. Les informations collectées offrent une carte complète du réseau contenant tous les nœuds et cela est suffisant pour la construction de la table de routage. 22 3.3.3 Les protocoles de routage réactifs Ce sont des protocoles dans lesquels la mise à jour ou le contrôle des routes se font à la demande, c'est-à-dire lorsqu’une source veut transmettre des paquets de données vers une destination. Plusieurs protocoles de routage réactifs existent dont AODV, TORA, DSR, etc. Dans ce cadre plusieurs politiques peuvent être adoptées. Les plus importantes sont : A. Technique d’apprentissage en arrière : Le mécanisme d’apprentissage en arrière ou le backward learning est basé sur le fait que lorsqu’un nœud source veut transmettre un message à une destination précise, il procède tout d’abord à l’opération d’inondation de sa requête sur tout le réseau. Ainsi, chaque nœud intermédiaire dit de transit (appartenant au chemin par lequel va passer le message), indique le chemin au nœud source lors de la réception de la requête. On dit qu’il apprend le chemin au nœud source, tout en sauvegardant la route dans la table transmise. Enfin, lorsque la requête arrive à bon port, le nœud destinataire, et suivant le même chemin, transmet sa réponse sous forme de requête. Notons que le chemin établi entre les nœuds est un chemin Full duplex. Signalons aussi que la source garde trace du chemin tant qu’il restera en cours d’utilisation une fois calculé. B. Technique du routage source : Dans cette technique, le nœud source détermine toute la liste des nœuds par lesquels doit transiter le message. Ainsi le nœud émetteur inclut dans l’entête du paquet une route source. En effet, afin de construire la route, le nœud source doit préciser les adresses exactes des nœuds par lesquels le message transitera jusqu'à atteindre le destinataire. Ainsi, le nœud source transmet le paquet au premier nœud spécifié dans la route. Notons que chaque nœud par lequel le paquet transite, supprime son adresse de l’entête du paquet avant de le retransmettre. Une fois que le paquet arrive à sa destination, il sera délivré à la couche réseau du dernier hôte. DSR « Dynamic Source Routing / Routage à Source Dynamique » Il est basé sur l’utilisation de la technique « routage source » [13][18]. Dans cette technique, la source détermine la séquence complète des nœuds intermédiaires à travers lesquels les paquets de données seront envoyés. Les deux opérations de base dans DSR sont : • • découverte de route maintenance de route Dans la première opération, un hôte diffuse un paquet de type ‘requête de route’. Cette requête est propagée dans le réseau jusqu’à ce qu’elle atteigne la destination qui répond par un paquet ‘réponse de route’ avec la séquence des nœuds visités. Une fois la route construite, elle est incluse en tête du paquet de donnée. Un nœud qui reçoit le paquet de données supprime son adresse de l’entête du message reçu puis le transmet au nœud suivant. La deuxième opération assure la validité des chemins utilisés en exécutant une procédure de maintenance de route. Quand un nœud détecte un problème fatal de transmission il envoie un message ‘erreur de route’ à l’émetteur d’origine. Ce dernier doit initier une nouvelle opération de demande de route. 23 AODV (Ad hoc On-demand Distance Vector) C’est une amélioration de l’algorithme DSDV présenté dans la catégorie des protocoles proactifs. AODV réduit le nombre de diffusions de messages et cela en créant les routes lors du besoin contrairement à DSDV qui maintient la totalité des routes au niveau de chaque nœud. A cause de la mobilité des réseaux ad hoc, certaines routes maintenues deviennent invalides. L’introduction des numéros de séquence dans AODV permet d’utiliser les routes les plus fraiches seulement. Les mêmes opérations de DSR sont appliquées dans AODV (découverte de route et maintenance de route). La requête de recherche de route sera effectuée si la destination est inconnue (non trouvée dans la table de routage) ou si la durée de vie d’un chemin existant a expiré. Dans ce protocole on vérifie les liens par l’envoi de messages HELLOs. Si aucune réponse n’est reçue au bout du troisième envoi le lien sera considéré comme défaillant. On note que les chemins construits dans ce protocole ne sont pas forcément les meilleurs chemins existant entre la source et la destination en termes de nombre de sauts. Ce protocole est détaillé plus loin dans ce chapitre. TORA (Temporary Ordering Routing Algorithme) L’algorithme de ce protocole s’adapte à la mobilité de l’environnement en stockant plusieurs chemins vers une même destination [10]. Ce qui fait que beaucoup de changements de topologie n’auront pas d’effet sur le routage des données. On met ainsi en second lieu l’optimalité de la route pour éviter un contrôle induit par une nouvelle découverte. Si un nœud détecte qu’un lien est rompu et qu’il ne possède pas d’autres liens, il informe la source de l’invalidité du chemin. RDMAR « Micro Découverte des Distances Relatives » Dans le protocole de Routage basé sur la Micro découverte des Distances Relatives RDMAR, la diffusion des requêtes est limitée à une certaine région du réseau où on soupçonne l’existence de la destination. On se base principalement sur la valeur d’une distance relative (RD) entre les paires d’unités mobiles. La RD séparant deux nœuds dépend de la mobilité des nœuds, du temps écoulé depuis la dernière modification et de l’ancienne valeur de la distance. Cette nouvelle distance calculée limitera la diffusion à une certaine région dans laquelle la destination peut être trouvée. 3.3.4 Les protocoles de routage Hybrides Les protocoles hybrides combinent les deux idées : celle des protocoles proactifs et celle des protocoles réactifs. Ils utilisent un protocole proactif pour avoir des informations sur les voisins les plus proches (au maximum les voisins à deux sauts). Au-delà de cette zone prédéfinie, le protocole hybride fait appel aux techniques des protocoles réactifs pour chercher des routes. Ce type de protocole s’adapte bien aux grands réseaux ; cependant il cumule aussi les inconvénients des protocoles réactifs et proactifs en même temps (messages de contrôle périodique, le coût d’ouverture d’une nouvelle route). Plusieurs protocoles hybrides existent dont le CBRP et le ZRP (Zone Routing Protocol) [3]. Le tableau 1.1 représente une classification des protocoles de routage Ad Hoc les plus utilisés. 24 ZRP « Zone Routing Protocol » ZRP est basé sur deux procédures : le protocole de routage intra-zone (IARP) et le protocole de routage interzone (IERP). Il met en place simultanément un routage proactif et un routage réactif afin de combler les problèmes spécifiques à ces deux types de routage. Pour ce faire, il délimite une zone regroupant un ensemble de nœuds se trouvant à une distance de x sauts du nœud référence. Sur cette zone, il applique une approche proactive alors que le reste du réseau est découvert à travers un algorithme réactif. Il faudra cependant une taille de zone adaptée afin de trouver le bon équilibre entre le routage proactif et le routage réactif. Cette valeur dépend directement du réseau lui-même. Tableau 1.1 Classification des quelques protocoles Ad Hoc. Le fort développement qu'a connu le routage ad hoc a entraîné divers problèmes, principalement au niveau de la sécurité. En effet, dans sa forme la plus simple, un schéma de routage n'offre aucun système de sécurité : n'importe qui peut se connecter sur le réseau et écouter les messages de contrôle échangés. Plusieurs protocoles ont été proposés au niveau ad hoc. Malheureusement, il n'y a aucune mesure de sécurité intégrée à ces protocoles, ce qui signifie que n'importe qui peut envoyer des paquets et essayer de se faire passer pour un nœud légitime. Pour aborder l’aspect sécurité de routage, il faut choisir un protocole sur lequel on se base pour construire notre schéma sécurisé. Notre choix s'est porté sur AODV. En effet, ce protocole s’avère être le mieux qualifié. Actuellement, c’est le plus connu des protocoles réactifs et le plus utilisé aussi. AODV est représentatif de diverses techniques et est le plus avancé sur la voie d'une normalisation. 4. AODV Ad Hoc On-Demand Vector Routing (AODV) [23] est un protocole de routage réactif pour les réseaux mobiles ad hoc qui maintient seulement les liaisons entre les nœuds qui ont besoin de communiquer. Les messages de routage ne contiennent pas d'informations sur le tracé de la route entier, mais seulement sur la source et la destination. Par conséquent, les messages de routage n'ont pas de taille croissante. AODV utilise des numéros de séquence de destination pour 25 préciser la fraîcheur d’une route (par rapport à l'autre) qui est utilisée pour garantir l’évitement de boucles infinies. La table de routage mémorisée en chaque nœud est un tableau où chaque entrée porte les informations suivante : adresse d’un nœud destination, nœud suivant sur la route vers cette destination, numéro de séquence, temps d’expiration de cette entrée dans la table. Le temps d’expiration qui est remis à jour à chaque fois que l’entrée est utilisée permet de supprimer des routes qui n’ont pas été rafraichies assez rapidement. Le numéro de séquence est propre à une destination et permet de, lors de la réception d’un message de mise à jour, de savoir si celle-ci correspond à une route plus récente que celle stockée dans la table ou non. L’algorithme conserve la route la plus récente, et en cas d’égalité, la plus courte. Chaque fois qu'un nœud doit envoyer un paquet vers une destination, il cherche dans sa table de routage la route correspondante. S’il ne trouve aucune route ou s’il trouve une route qui n’est pas «fraiche» (soit une entrée de route valide dont le numéro de séquence associée est moins que celle contenue dans les RREQ que le nœud a reçu de cette destination), il lance un processus de découverte de route « Route Discovery » en diffusant un message requête de route (RREQ) à ses voisins. Chaque nœud qui reçoit cette émission met en place un chemin inverse vers l'origine de la RREQ, à moins qu'il n'ait une route «plus fraiche» (figure 1.5). Diffusion de route request (S -> D) Routes inverses après diffusion Figure 1.5 Route Request Un message RREQ contient l’identité du nœud initiateur, l’identité du nœud destination et la dernière valeur du numéro de séquence connu associé à cette destination. Lorsque la destination voulue (ou un nœud intermédiaire qui a une route "assez fraiche" à la destination) reçoit la RREQ, elle répond par l'envoi d'une réponse de route (RREP) qui suit le chemin inverse de la RREQ. Il est important de noter que la seule information mutable dans RREQ et RREP est le nombre de sauts (qui est monotone augmenté à chaque saut). La RREP est 26 envoyé à l'expéditeur de la RREQ (figure 1.6). A chaque nœud intermédiaire, une route vers la destination est définie (à nouveau, à moins que le nœud a une route plus "fraîche" que celle spécifié dans la RREP). Dans le cas où un nœud intermédiaire répond à la RREQ (et si la RREQ avait mis cette option), ce nœud envoie également une RREP (gratuitos RREP) à la destination. De cette façon, il peut acquérir le tracé de la route établi bi-directionnellement. Dans le cas où un nœud reçoit une nouvelle route (par une RREQ ou par une RREP) et que ce nœud a déjà une route de même fraicheur que celle reçu, la plus courte sera établie. Routes après Route reply Figure 1.6 Route Reply S'il y a un sous-réseau (une collection de nœuds qui sont identifiés par un préfixe commun de réseau) qui n'utilise pas AODV comme protocole de routage et qui veut être en mesure d'échanger des informations avec un réseau AODV, l'un des nœuds du sous-réseau peut être sélectionné comme "leader réseau". Le leader réseau est le seul nœud du sous-réseau qui envoie, retransmet et traite les messages de routage AODV. Dans toutes les RREP que le leader émet, il définit la taille de préfixe du sous-réseau. Eventuellement, un message Route Reply Acknowledgment (RREP-ACK) peut être envoyé par l’origine de la RREQ pour confirmer la réception de la RREP. Le message RREP-ACK n'a pas d'informations modifiables. En plus de ces messages de routage, les messages Route Error (RERR) sont utilisés pour avertir les autres nœuds que certains nœuds ne sont plus accessibles en raison d'une rupture de lien (figure 1.7). Quand un nœud rediffuse une RERR, il n’ajoute que les destinations inaccessibles aux quelles le nœud a pu retransmettre les messages. Par conséquent, les informations modifiables dans une RERR sont : la liste des destinations inaccessibles et du compteur des destinations inaccessibles incluses dans le message. Quoi qu'il en soit, il est prévisible qu’à chaque saut la liste de destinations inaccessibles ne peut changer ou devenir un sous-ensemble de celui d'origine. 27 Routes avant coupure Panne de lien Routes après panne Figure 1.7 Route Error 4.1. Formats de message AODV Les figures montrent la structure des messages AODV et indiquent quels sont les champs mutables des messages : Figure 1.8 Format de message RREQ Figure 1.9 Format de message RREP 28 Figure 1.10 Format de message RERR Figure 1.11 Format message RREP-ACK 4.2. Les attaques liées au protocole de routage AODV Les attaques possibles liées au protocole de routage AODV proviennent des nœuds égoïstes (selfish nodes) ou nœuds malveillants. Le routage AODV a été créé sans prendre en considération la sécurité qui devrait être le facteur le plus important à surveiller. Un nœud est malicieux s’il est un attaquant qui ne peut pas s'authentifier comme un nœud légitime en raison de l'absence d'informations de chiffrement valide. Un nœud est compromis s’il est un attaquant à l'intérieur se comportant malicieusement mais peut être authentifié par le réseau comme un nœud légitime et est digne de confiance pour les autres nœuds. 4.2.1. Attaque de modification de numéro de séquence Ce type d’attaque est spécifique au protocole de routage AODV où un nœud malveillant s’annonce en tant qu’ayant le chemin le plus court à tous les nœuds dans l’environnement. Rappelons que les trous noirs des réseaux ad hoc sont des nœuds qui absorbent tout le trafic des nœuds qui les entourent. Le protocole AODV minimise sensiblement le nombre de diffusions de messages en créant le chemin à la demande en plus du routage nœud à nœud et le principe des numéros de séquence. AODV utilise aussi l’échange périodique d’une part ; d’autre part il a hérité des deux mécanismes qui caractérisent le DSR et qui sont : la découverte et la maintenance des routes. Comme dans le protocole DSDV, le protocole de routage AODV utilise le principe des numéros de séquence et il permet aux nœuds d’utiliser les routes les plus fraîches suivant leurs numéros de séquence. Ainsi une route est jugée fraîche que si la base du numéro de séquence de la destination est assez élevée. L’attaque de modification du numéro de séquence peut s’effectuer au moment où un nœud source initie un processus de découverte d’itinéraire en émettant un paquet RREQ, le nœud corrompu en le recevant va répondre par un paquet RREP avec un numéro de séquence non seulement erroné mais également élevé afin d’augmenter ses chances de faire partie de la route. En effet, si son paquet RREP atteint la source le premier par rapport aux réponses des nœuds légitimes, il peut s’intégrer dans la route pour intercepter le trafic et lancer l’attaque Blackhole. Le but de cette attaque est de contrôler une partie ou la totalité du trafic échangé au sein du réseau ad hoc de façon à pouvoir surveiller, bloquer ou 29 même détourner certains flux du trafic [27]. Le trafic absorbé peut être donc soit redirigé vers un autre nœud soit disparaître complètement. Cette attaque est grave dans la mesure où les nœuds légitimes vont mettre à jour leurs tables de routage avec des informations fausses et le nœud malveillant n’a pas besoin d’intervenir une seconde fois. La figure 1.12 illustre cette attaque où le nœud source lance un procédé de découverte d'itinéraire dirigé vers le nœud destination en diffusant un paquet Route Request (RREQ) pour trouver un chemin vers le nœud destination. Quand le nœud malicieux ayant la capacité d'usurper l'identité d'un nœud valide du réseau reçoit la RREQ, il peut répondre au nœud initiateur avec un message de type Route REPLY (RREP) en annonçant un chemin plus optimisé au nœud intermédiaire, avec de fausses informations sur le numéro de séquence et le prochain saut, vers le nœud demandé. Et le nœud source recevant la RREP émanant du nœud malicieux en premier lieu va penser que le procédé de découverte d’itinéraire est complet et va mettre alors sa table de routage à jour avec cette fausse route. Ainsi il va ignorer alors les autres messages de RREP. Et les paquets de données du nœud source vers le nœud destination transiteront par le nœud malicieux qui pourra tout simplement les ignorer ou les absorber. Figure 1.12 Exemple d'attaque de modification de numéro de séquence. La force de cette attaque est que le faux itinéraire va se propager vers les nœuds légitimes puisqu'ils peuvent répondre aux futurs RREQs avec des fausses entrées qui existeront dans leurs tables de routage. Ainsi, la fausse information de routage se propagera vers d'autres nœuds sans intervention du nœud malveillant. 4.2.2. Attaque de destruction des paquets de routage Les nœuds à attitude égoïste transgressent le principe de coopération et d’entraide qui est à la base des protocoles de routage dans les réseaux mobiles ad hoc. En effet, tout en utilisant les ressources propres des autres nœuds pour acheminer ses propres paquets, le nœud égoïste peut refuser de participer à l’acheminement des paquets de routage qui ne lui sont pas destinés, l'idée étant de préserver leurs ressources limitées en terme d’énergie, de capacité de calcul, de temps de calcul et d'espace mémoire. Cette attaque peut être par exemple réalisée en ignorant tous les 30 paquets Route REQuest (RREQ) émis par les nœuds qui sont à la recherche d’une route optimale pour acheminer leurs paquets ou en y répondant en exagérant le « coût» qu’aurait eu une route si elle venait à passer par ce nœud de façon à ce que les autres nœuds choisissent des routes qui ne passent pas par ce selfish node. Ce même nœud malveillant, après avoir reçu un paquet de routage qui ne lui est pas destiné ou qui n’a pas été délivré par lui-même, va simplement le détruire. Ainsi, tout nœud agissant de la sorte va non seulement conserver son énergie mais aussi peut segmenter le réseau. En effet, si certains nœuds sont connectés ou joignables uniquement à travers ce nœud malveillant, ils vont être isolés complètement du reste du réseau. 4.2.3. Attaque de consommation de ressources Les attaques exploitant le manque de ressources des nœuds constituant le réseau ad hoc peuvent procéder par le débordement des tables de routage ou par la privation de sommeil ou épuisement des batteries. Le débordement des tables de routage est possible car les buffers et la mémoire dont disposent les nœuds sont limités. C’est pourquoi, si un nœud se fait bombarder d’informations de routage, ses tables de routage vont rapidement être saturées. Dans ce cas, le nœud en question ne pourra pas répondre aux demandes de service qui lui sont adressées. La privation de sommeil ou épuisement de la batterie se fait en harcelant les nœuds de façon à épuiser leur réserve d’énergie. Cette activité malicieuse peut prendre la forme d'un envoi répété de requêtes de recherche de routes ou celle de procédures de découverte de voisinage répétées. Le but de cette attaque est d’inonder le réseau par la génération et l’envoi fréquent d’un trafic de routage non nécessaire pour consommer sa bande passante, l’énergie et la puissance de calcul des nœuds. Ainsi cette attaque se propageant va épuiser les batteries des autres nœuds et empêcher d’autres nœuds de les utiliser pour acheminer des paquets. Rappelons que ce trafic de routage ne peut seulement être que des paquets RREQ et RERR puisque tous les paquets RREP faux sont automatiquement jetés par les spécifications du protocole de routage AODV. Un attaquant peut aussi créer des boucles infinies dans le réseau ou imposer aux paquets de faire des détours consommant la ressource radio inutilement [27]. Un nœud malicieux ayant usurpé l'identité d'un nœud valide peut aussi générer des messages d'erreurs de type Route ERRor (RERR), de manière aléatoire, pour perturber le fonctionnement du mécanisme de maintenance des routes. 4.2.4. Attaque par rejeu de message: Les attaquants peuvent retransmettre les messages écoutés plus tard dans un lieu différent. Un type d'attaques de rejeu est l'attaque wormhole. Un attaquant wormhole peut faire passer par un tunnel une RREQ directement à un nœud destination. Puisqu’un attaquant wormhole ne peut pas augmenter la valeur du champ compteur de sauts, il empêche toute autre voie d'être découvert. L'attaque wormhole peut être combinée avec l'attaque de destruction de message pour empêcher le nœud destination de recevoir les paquets. 5. Conclusion Un réseau mobile ad hoc est un système autonome de nœuds reliés par des liens sans fil. Les nœuds jouent le rôle de routeurs et ils sont libres de se déplacer aléatoirement et de s’organiser arbitrairement. L’absence d’infrastructure se présente comme une option attirante pour connecter spontanément des terminaux mobiles. A travers notre étude des différents 31 protocoles de routage qui existent, nous avons vu que ces protocoles utilisent une variété de techniques afin de résoudre le problème de routage dans l'environnement des réseaux ad hoc. Une approche proactive maintient les routes fraiches périodiquement tandis qu’une approche réactive établit des découvertes de routes sur demande (Tableau 1.2 et 1.3). Chaque technique peut donner des résultats très satisfaisants dans un réseau particulier et ne pas convenir du tout pour d’autres réseaux ad hoc. En résumé, cette étude théorique nous a permis de nous familiariser avec un environnement de routage récent. Elle présente le point de départ vers l’étude de mécanismes de sécurité appliqués dans le routage MANET. Dans le chapitre suivant nous allons voir les aspects de sécurité concernant le routage dans les MANETs. Tableau 1.2 proactif Vs réactif Tableau 1.3 Comparaison des propriétés des protocoles de routage ad hoc 32 Chapitre II : La sécurité de routage dans les MANETs 33 1. Nature des vulnérabilités Il y a diverses raisons pour lesquelles les réseaux ad hoc sans fil sont à risque, d'un point de vue sécurité. Nous discutons les caractéristiques qui rendent ces réseaux vulnérables aux attaques. Les liens sans fil entre les nœuds sont très sensibles aux attaques de lien qui comprennent l'écoute passive, l’interférence active, la fuite d'informations secrètes, la falsification des données, l'usurpation d'identité, le rejeu de messages, la distorsion de messages et le déni de service. L’écoute passive peut donner à un adversaire l’accès à des informations secrètes en violant la confidentialité. Des attaques actives peuvent permettre à l'adversaire de supprimer les messages, d'injecter des messages erronés, de modifier les messages et d'usurper l'identité d'un nœud, violant ainsi la disponibilité, l'intégrité, l'authentification et la non-répudiation (ces besoins de sécurité et d'autres sont abordés plus loin). Les réseaux ad hoc n'ont pas d’entité centralisée de mécanismes tels qu'un serveur de noms qui peut conduire à un point de défaillance unique et donc rendre le réseau d'autant plus vulnérable. En revanche, le manque de support d'infrastructures et les possibilités de nouveaux types de contexte à priori peuvent empêcher l'application des techniques standards pour l'échange de clé. Cela donne lieu à un besoin d’un mécanisme pour assurer l'échange de clé. Un autre problème lié aux nœuds compromis est le byzantine failures potentiel rencontré au sein des protocoles de routage des réseaux mobiles ad hoc (MANET) dans lequel un ensemble de nœuds peut être compromis et dont le comportement incorrect et malveillant ne peut pas être observé directement du tout. Les nœuds compromis peuvent apparemment fonctionner correctement mais en même temps, ils peuvent utiliser des lacunes et des incohérences dans le protocole de routage pour dénaturer la structure de routage du réseau. En outre, ces nœuds malveillants peuvent également créer de nouveaux messages de routage et énoncer des liens inexistants, fournir des informations incorrectes concernant l'état des liens et inonder d’autres nœuds avec le trafic de routage, infligeant ainsi des byzantine failures sur le système. Ces échecs sont graves, en particulier parce qu'ils peuvent provenir de nœuds apparemment dignes de confiance ayant des intentions malveillantes qui n'ont pas encore été décelées. Même si les nœuds compromis ont été constatés et empêchés d'exécuter des actions incorrectes, les informations erronées générées par les byzantine failures peuvent avoir déjà été propagées à travers le réseau. Aucune partie du réseau n’est consacrée à supporter individuellement n’importe quelles fonctionnalités spécifiques de réseau, le routage (découverte de la topologie, transmission de données) étant l'exemple le plus important. D'autres exemples de fonctions qui ne peuvent pas compter sur un service central et qui sont également très pertinentes sont les services de noms, les autorités de certification, l'annuaire et d'autres services administratifs. Même si ces services sont pris en charge, leur disponibilité ne serait pas garantie, soit en raison de la topologie changeante dynamiquement qui pourrait facilement se traduire par un réseau divisé, ou en raison de liens congestionnés à proximité du nœud qui agit comme un serveur. L'absence d'infrastructures et l'absence consécutive de moyens d’autorisation entravent la pratique habituelle de l'établissement d'une ligne de défense qui distingue les nœuds de confiance 34 des autres nœuds suspects. Une telle distinction est fondée sur une politique de sécurité, la possession des pouvoirs nécessaires et la capacité des nœuds de les valider. Dans le cas des réseaux sans fil ad hoc, il ne peut y avoir aucune plateforme pour une classification à priori puisque tous les nœuds sont tenus à coopérer pour supporter le fonctionnement du réseau alors qu'aucune association de sécurité (SA) à priori ne peut être assumée pour tous les nœuds du réseau. En outre, les nœuds promenant librement entre les réseaux forment des associations transitoires avec leurs voisins ; ils rejoignent et quittent les sous-domaines de manière indépendante et sans préavis. Ainsi, il peut être difficile dans la plupart des cas d'avoir une image claire de la composition du réseau ad hoc. En conséquence et en particulier dans le cas d'un réseau de grande taille, aucune forme de relations de confiance établies entre la majorité des nœuds ne peut être assurée. Dans un tel environnement, il n'y a aucune garantie qu'un chemin entre deux nœuds est saint de nœuds malveillants qui ne coopèrent pas avec le protocole utilisé et tentent de porter atteinte au fonctionnement du réseau. Les mécanismes actuellement incorporés dans les protocoles de routage ne peuvent pas faire face aux perturbations dues à des comportements malveillants. Par exemple, un nœud pourrait prétendre qu'il est à un saut de la destination demandée, ce qui provoque le passage de toutes les routes vers cette destination par lui même. Alternativement, un nœud malveillant peut corrompre tous paquets de requête (réponse) de route et faire mal acheminer les données. La présence même d'un petit nombre de nœuds adversaires peut entraîner des routes compromises à plusieurs reprises et par conséquent les nœuds du réseau doivent compter sur des cycles de temporisation et de découverte de nouvelles routes pour communiquer. Il en découle des retards arbitraires avant l'établissement d'un chemin non corrompu alors que les émissions successives des demandes de route imposent une surcharge excessive de transmissions. En particulier, les messages de routage intentionnellement falsifiés aboutissent à un déni de service (DoS) autour des nœuds d'extrémité. La nature dynamique et transitoire d'un réseau ad hoc peut entraîner des changements constants de la confiance entre les nœuds. Cela peut créer des problèmes, par exemple, avec la gestion des clés si la cryptographie est utilisée dans le protocole de routage. Il ne doit pas être aisé, par exemple de récupérer les clés privées de la machine. La preuve que l'altération s'est produite est nécessaire de façon à distinguer un nœud corrompu du reste. Les solutions de sécurité standards ne sont pas assez bonnes car elles sont essentiellement destinées pour les systèmes configurés de manière statique. Cela donne lieu à la nécessité des solutions de sécurité qui s'adaptent à la topologie qui change dynamiquement et au mouvement des nœuds entrant et sortant du réseau. En outre, les fonctions alimentées en batterie des réseaux ad hoc donnent aux attaquants amplement l'occasion de lancer une attaque de type déni de service en créant des transmissions supplémentaires ou des calculs coûteux pour être réalisés par un nœud dans une tentative d'épuiser ses batteries. En outre, les réseaux de capteurs (une forme de réseau sans fil ad hoc) sont constitués de dispositifs qui tendent à avoir des capacités de calcul limitées. Par exemple, la mémoire de 35 travail d'un nœud capteur est même insuffisante pour maintenir les variables (d'une longueur suffisante pour assurer la sécurité) qui sont requises dans les algorithmes cryptographiques asymétriques, et encore moins pour effectuer des opérations avec eux. Cette limitation peut exclure des techniques telles que la cryptographie à clé publique fréquente pendant le fonctionnement normal. Un défi particulier est la diffusion de données authentifiées à l'ensemble du réseau de capteurs. Les propositions actuelles pour la diffusion authentifiée s'appuient sur la signature numérique asymétrique pour l'authentification et ne sont pas pratiques pour des raisons multiples (par exemple les signatures longues avec une surcharge de communication élevée de 50-1000 octets par paquet, des surcharges très élevées pour créer et vérifier la signature). Enfin, l'évolutivité est une autre question qui doit être abordée lorsque les solutions de sécurité sont en cours d'élaboration, pour la simple raison qu'un réseau ad hoc peut être constitué de centaines, voire de milliers de nœuds. De nombreux protocoles réseau ad hoc sont appliqués de manière efficace dans des conditions où l'échelle de la topologie doit s’agrandir et se réduire, par exemple, en raison de partitions du réseau ou des fusions. Également, les exigences d'évolutivité affectent directement les différents services de sécurité tels que la gestion des clés. 2. Les besoins de sécurité La sécurité est un terme largement utilisé dans la terminologie de réseau informatique. Les besoins de sécurité de base, plus ou moins, sont les mêmes que ceux des réseaux filaires. Ce qui doit être examiné est leur incorporation dans des solutions de sécurité déjà en place pour les réseaux sans fil traditionnels et la mise en œuvre de certains éléments qui n'ont pas été pris en charge. Dans la suite, nous présentons brièvement les termes standards qui sont utilisés lorsque les aspects de sécurité d'un réseau sont discutés. 2.1 Disponibilité La disponibilité signifie que les services fournis par un nœud continueront d'être fournis indépendamment d'attaques. Les nœuds doivent être disponibles pour la communication tout le temps. En d'autres termes, la disponibilité assure la survie des services de réseau comme le routage en présence des attaques de déni de service qui peuvent être lancées à n'importe quel niveau d'un réseau ad hoc par le biais de brouillage radio ou l'épuisement de la batterie. 2.2. Authenticité L'authenticité est essentiellement la confirmation que les parties en communication les unes avec les autres sont authentiques et non pas des usurpateurs. Il faut pour cela que les nœuds prouvent d'une certaine façon que leurs identités sont ce qu'ils prétendent être. Sans authentification, un adversaire peut très bien se faire passer pour un nœud et accéder ainsi à des informations classifiées et sensibles et aussi provoquer possiblement des interférences dans le fonctionnement normal et sécurisé de réseau. 2.3. Confidentialité Un étranger ne doit pas être en mesure d'accéder aux informations en transit entre deux nœuds. Cela garantit que l'information n'est pas divulguée à des entités non autorisées. Pour la confidentialité, il est nécessaire d’empêcher les nœuds intermédiaires et non confiants de 36 comprendre le contenu des paquets transmis. Si l'authentification est prise en charge correctement, alors la confidentialité est un processus relativement simple. 2.4. Intégrité L'intégrité est la garantie que le message ou le paquet livré n'a pas été modifié en transit ou autrement et ce qui a été reçu est ce qui a été envoyé à l'origine. Un message peut être endommagé pour des raisons malveillantes telles que la déficience de propagation des ondes radio mais il y a toujours la possibilité qu’un adversaire ait malicieusement modifié le contenu du message. 2.5. La non-répudiation La non-répudiation signifie que l'expéditeur d'un message ne peut pas nier plus tard avoir envoyé les informations et le récepteur ne peut pas nier leur réception. Cela peut être utile lors de la détection et de l'isolement des nœuds compromis. Tout nœud qui reçoit un message d'erreur peut accuser l'expéditeur avec la preuve et, partant, de convaincre les autres nœuds sur le nœud compromis. Les routeurs ne peuvent pas répudier la propriété des messages de protocole de routage qu'ils envoient. Le modèle de confiance associé à la propagation des mises à jour qui proviennent de nœuds distants constitue une préoccupation majeure. 2.6. Le non rejeu Il assure qu’un message n’a été transmis qu’une seule fois car la réinjection d’anciens messages dans le réseau dégrade considérablement ses performances. 3. Les attaques dans les réseaux sans fil ad hoc On peut distinguer deux niveaux d'attaque : attaques contre les mécanismes de base du réseau ad hoc telles que le routage et attaques contre les mécanismes de sécurité, notamment les mécanismes de gestion des clés. Alternativement, les attaques contre les réseaux ad hoc peuvent à nouveau être divisées en deux groupes d'une manière différente: · · Les attaques passives impliquent généralement l'écoute des paquets de contrôle. Exemples d'attaques passives comprenant les canaux cachés, l'analyse du trafic, sniffing pour compromettre les clés, etc. Les attaques actives impliquent des actions effectuées par les adversaires, par exemple, la réplication, la modification et la suppression des paquets échangés. Les adversaires tentent activement de changer le comportement du protocole dans les attaques actives alors qu’ils sont moins subtils dans leurs activités dans les attaques passives. Les informations divulguées par inadvertance à des attaquants passifs par les paquets de protocole peuvent être utilisées pour lancer des attaques actives. Les attaques externes sont généralement des attaques actives qui ciblent un but particulier, par exemple, causer la congestion, propager des informations incorrectes concernant le routage, empêcher les services de fonctionner correctement ou les arrêter complètement. Les attaques 37 externes peuvent généralement être évitées en utilisant des mécanismes de sécurité standard tels que les pare-feu, le cryptage, etc. Les attaques internes sont généralement plus graves puisque les nœuds internes malveillants appartiennent déjà au réseau en tant que parties autorisées et donc sont protégés par les mécanismes de sécurité de réseau au même titre que leur offre de services. Ainsi, ces internes malveillants qui peuvent même fonctionner en groupe, peuvent utiliser des moyens de sécurité standards afin de protéger effectivement leurs attaques. 3.1. Le déni de Service (DoS) La menace de déni de service produite soit par omission involontaire ou action malveillante constitue un grave risque de sécurité dans un système distribué si la disponibilité n’est pas garantie. La manière classique de procéder à ce type d'attaque consiste à inonder toute ressource centralisée pour qu'elle ne fonctionne plus correctement ou tombe en panne, mais dans les réseaux ad hoc, cela peut ne pas être une approche applicable en raison de la répartition des responsabilités. Le brouillage radio et l'épuisement de la batterie sont deux façons dont le service peut être refusé à d'autres nœuds et utilisateurs. Une attaque DoS distribué est une menace plus grave : si les attaquants ont assez de puissance de calcul et de bande passante, les petits réseaux ad hoc peuvent être mis en panne ou congestionnés assez facilement. Les nœuds compromis peuvent être en mesure de reconfigurer le protocole de routage ou d'une partie de celui-ci afin qu'ils puissent envoyer des informations de routage très fréquemment, provoquant ainsi la congestion et la prévention des nœuds d'avoir de nouvelles informations sur la topologie changeante du réseau. Dans le pire des cas, l'adversaire est capable de changer le protocole de routage pour fonctionner de façon arbitraire ou peut-être même de la façon que l'attaquant veut. Si les nœuds compromis et les changements apportés au protocole de routage ne sont pas détectés, les conséquences sont graves, alors que le réseau semble fonctionner normalement aux nœuds. Ce genre de mal fonctionnement du réseau initié par les nœuds malveillants est appelée un byzantine failure. 3.2. L’usurpation d'identité Les attaques d’usurpation d'identité constituent un risque grave pour la sécurité à tous les niveaux du réseau ad hoc. Si l'authentification de parties n'est pas supportée, les nœuds compromis peuvent être en mesure de rejoindre le réseau de façon indétectable, envoyer de fausses informations de routage et se faire passer pour certains autres nœuds de confiance. Dans la gestion du réseau, l'attaquant pourrait accéder au système de configuration en tant qu’un superutilisateur. Au niveau des services, un tiers malveillant pourrait avoir sa clé publique certifiée, même sans informations d'identification appropriées. Cette attaque sera probablement remarquée très rapidement et l’information qui est manipulée ou accessible n'est pas assez cruciale pour faire de l'attaque attrayante. Une partie malveillante peut être en mesure de se faire passer pour l'un des nœuds amis et donner de faux ordres ou des informations d'état à d'autres nœuds. Les menaces d’usurpation d'identité sont atténuées par l'application de solides mécanismes d'authentification dans les contextes dans lesquels une partie doit être capable de faire confiance à l'origine des données qu'elle a reçues ou stockées. Le plus souvent, cela signifie qu’à chaque couche, il faut appliquer la signature numérique ou l’empreinte digitale à clés sur les messages de routage, de configuration ou d’informations d'état, ou de données de charge utile 38 échangées et relatives aux services en cours d'utilisation. La signature numérique mis en œuvre avec la cryptographie à clé publique est une question problématique dans les réseaux ad hoc, car elle nécessite un service de gestion de clés efficace et sécurisé et relativement avec plus de puissance de calcul. Ainsi, dans de nombreux cas, des solutions légères telles que l'utilisation de fonctions de hachage à clé ou des clés négociées et certifiées à priori et des identifiants de session sont nécessaires. Cependant, elles n’expulsent pas la demande d’une gestion de clés sécurisée ou des mécanismes appropriés de protection de la confidentialité. 3.3. La divulgation Toute communication doit être protégée contre l’écoute lorsque des informations confidentielles sont échangées. En outre, les données essentielles que les nœuds stockent doivent être protégées contre tout accès non autorisé. Dans les réseaux ad hoc, ces informations peuvent inclure presque n'importe quoi, par exemple les détails de statut spécifique d'un nœud, l'emplacement des nœuds, les clés secrètes ou privées, les mots de passe et ainsi de suite. Parfois, les données de contrôle comprennent plus d'informations critiques à l'égard de la sécurité que les données échangées réelles. Par exemple, les directives de routage dans les en-têtes de paquets tels que l'identité ou la localisation des nœuds peuvent parfois être plus précieuse que les messages de niveau application. L'identité des nœuds observés par rapport aux modèles de trafic précédents des mêmes nœuds ou la transmissions radio détectée que ces nœuds produisent peuvent être juste l'information dont l’adversaire a besoin pour lancer une attaque bien ciblée. 3.4. Les attaques de confiance Une hiérarchie de confiance est essentiellement une représentation explicite des niveaux de confiance qui reflète les privilèges organisationnels. Elle affecte un numéro à chaque niveau de privilège ce qui reflète la sécurité, l'importance ou les capacités du nœud mobile et aussi des chemins. Les attaques contre la hiérarchie de confiance peuvent être classées comme des attaques de l'extérieur et des attaques d’intérieur basées sur la valeur de confiance associée à l'identité ou à la source de l'attaque. Ce qui est aussi nécessaire, c'est une liaison entre l'identité de l'utilisateur avec le niveau de confiance associé. Sans cette liaison, tout utilisateur peut se faire passer pour quelqu'un d'autre et obtenir les privilèges associés à des niveaux de confiance plus élevés. Pour éviter cela, des mécanismes plus solides de contrôle d'accès sont nécessaires (authentification, autorisation et compte). Afin de forcer les nœuds et les utilisateurs à respecter la hiérarchie d'approbation, des techniques de cryptographie, par exemple, le cryptage, certificats à clés publiques, secrets partagés, etc., peuvent être utilisés. Traditionnellement, les systèmes d'authentification forts sont utilisés pour lutter contre les attaques de l'extérieur. L'identité d'un utilisateur est authentifiée par une autorité centralisée et peut être vérifiée par un simple protocole question-réponse. Les attaques d'intérieur sont lancées par les utilisateurs compromis dans un domaine de protection ou de niveau de confiance. Les paquets de protocole de routage dans les algorithmes ad hoc en vigueur ne portent pas d'identités authentifiées ou de moyens d'autorisations et les nœuds compromis peuvent causer beaucoup de dégâts. En général, les attaques d'intérieur sont difficiles à éviter au niveau du protocole. Pour prévenir les attaques internes, certaines techniques comprennent les associations transitoires sécurisées et inviolable et des nœuds résistant au sabotage. 39 3.5. Les attaques contre l'information en transit En plus de l’exploitation des vulnérabilités liées à la protection et l’application de niveaux de confiance, les nœuds compromis ou ennemis peuvent utiliser les informations véhiculées dans les paquets de protocole de routage pour lancer des attaques. Ces attaques peuvent entraîner la corruption de l'information, la divulgation d'informations sensibles, le vol de service légitime aux autres entités du protocole ou le déni des services réseau pour les entités de protocole. Les menaces pour l'information en transit sont: · · · · L’interruption (Le flux de paquets de protocole de routage, en particulier les messages de découverte et de mises à jour de route peut être interrompu ou bloqué par des nœuds malveillants. Les attaquants peuvent filtrer sélectivement des messages de contrôle et de mises à jour et forcer le protocole de routage à se comporter de manière incorrecte). L’interception et la subversion (le trafic de protocole de routage et les messages de contrôle, par exemple, les messages "keep-alive" "et "are you up ?" peuvent être déviés et déroutés). La modification (L'intégrité de l'information dans les paquets de protocole de routage peut être compromise en modifiant les paquets eux-mêmes. Les fausses routes peuvent être propagées et les nœuds légitimes peuvent être contournés). La fabrication (De fausses routes et des informations de métriques peuvent être insérées dans les paquets légitimes du protocole par des nœuds internes malveillants) 3.6. Les attaques contre le routage Les attaques contre le routage sécurisé sont essentiellement de deux types: Internes et externes. Les attaques externes peuvent à nouveau être considérées comme attaques passives et attaques actives. Nous discutons brièvement les différents types d’attaque contre routage. 3.6.1. Les attaques internes Une attaque interne est une grave menace pour les réseaux ad hoc. L'attaque peut diffuser de fausses informations de routage à d'autres nœuds au sein du réseau. Un nœud compromis est classé comme une attaque interne. Détecter ces informations erronées dans les informations de routage est difficile parce que les nœuds compromis sont en mesure de générer des signatures valides en utilisant leurs clés privées. Également différentier entre une attaque réelle et un changement de topologie peut être problématique, car la topologie du réseau ad hoc change dynamiquement. Souvent, on a recours à des systèmes de détection d’intrusions. 3.6.2. Les attaques externes Les attaques extérieures sur le routage peuvent être divisées en deux catégories : actives et passives. A. Les attaques passives impliquent « l’écoute » non autorisée aux paquets de routage. L'attaque pourrait être une tentative d'obtenir des informations de routage à partir de laquelle l'attaquant pourrait extrapoler les données sur les positions de chaque nœud par rapport aux autres. Par exemple, un attaquant qui écoute toutes les mises à jour de 40 routage transmises dans une certaine partie du réseau ad hoc peut commencer à reconstituer les nœuds proches les uns des autres (un ou deux sauts à part) et les nœuds qui sont loin les uns des autres (plusieurs sauts éloignés). Dans une attaque passive, l'attaquant ne perturbe pas le fonctionnement d'un protocole de routage, mais vise seulement à découvrir de précieuses informations en écoutant le trafic acheminé. L'attaque est généralement impossible à détecter, ce qui rend difficile la défense contre de telles attaques. En outre, les informations de routage peuvent révéler les liens entre les nœuds ou divulguer leurs adresses IP. Si un itinéraire vers un nœud particulier est demandé plus souvent que la route à d'autres nœuds, l'attaquant pourrait s'attendre à ce que le nœud est important pour le fonctionnement du réseau et que sa désactivation pourrait geler le réseau tout entier. D’autres informations intéressantes qui sont divulguées par les données de routage sont l'emplacement des nœuds. Même quand il ne serait pas possible de déterminer l'emplacement exact d'un nœud, on est en mesure de découvrir des informations sur la topologie du réseau. Il est à noter que dans un réseau IP, on ne peut pas se défendre contre ces attaques, par exemple, seulement par l'utilisation d'IPsec. Les paquets ont la plupart de leurs en-têtes IP en clair et il ne peut même pas être possible d'avoir des clés symétriques distribuées à chaque nœud dans le réseau. B. Les attaques actives sur le réseau à partir de sources extérieures ont pour but de dégrader ou d'empêcher le flux de messages entre les nœuds. Les attaques externes actives sur le protocole de routage ad hoc peuvent collectivement être décrites comme des attaques de déni de service, provoquant une dégradation ou l'arrêt complet de communication entre les nœuds. Un type d'attaques consiste à introduire des paquets externes dans le réseau afin de provoquer la congestion. Une méthode plus subtile d'attaque consiste à intercepter un paquet de routage, modifier son contenu et le renvoyer dans le réseau. Par ailleurs, l'attaquant peut choisir de ne pas modifier le contenu du paquet mais plutôt de le rejouer vers le réseau à des moments différents, présentant des informations routage périmées aux nœuds. Le but de cette forme d'attaque est de confondre les nœuds de routage avec des informations contradictoires, ce qui retarde les paquets ou les empêche d'atteindre leur destination. Pour effectuer une attaque active, l'attaquant doit être en mesure d'injecter des paquets arbitraires dans le réseau. L'objectif peut être d'attirer les paquets destinés à d'autres nœuds vers l'attaquant pour les analyser ou tout simplement désactiver le réseau. Une attaque active peut être parfois détectée, ce qui rend les attaques actives une option moins désirable pour la plupart des attaquants. Certains types d'attaques actives qui peuvent être généralement faciles à réaliser contre un réseau ad hoc sont les suivants: a) Trou noir : Dans cette attaque, un nœud malveillant utilise le protocole de routage pour se faire connaître comme ayant le plus court chemin vers le nœud dont les paquets vont être interceptés. Dans un protocole à base d'inondation, l'attaquant écoute les demandes de routes. Lorsque l'attaquant reçoit une demande d'un itinéraire vers le nœud cible, il crée une réponse consistante d’un extrêmement court chemin. Si la réponse malveillante atteint le nœud requérant avant que la réponse du nœud réel arrive, un faux itinéraire est créé. Une fois que le dispositif malveillant a été en mesure de s'insérer entre les nœuds de communication, il est capable de faire n’importe quelle chose avec les paquets passant 41 b) c) d) e) entre eux. Il peut choisir de rejeter les paquets pour effectuer une attaque de déni de service ou encore utiliser sa place sur la route comme première étape dans une attaque de type man-in-the-middle. Débordement de la table de routage : L'attaquant tente de créer des itinéraires vers des nœuds inexistants. L'objectif est de créer assez d’itinéraires pour empêcher la création de nouvelles routes ou de submerger l’implémentation du protocole. Les algorithmes de routage proactif tentent de découvrir des informations de routage même avant qu'il ne soit nécessaire, tandis qu'un algorithme réactif crée la route seulement une fois nécessaire. Un attaquant peut perturber un réseau proactif simplement par l’envoi excessif d’annonces de routes aux routeurs dans le réseau. Les protocoles réactifs, d'autre part, ne recueillent pas de données de routage à l'avance. La privation de sommeil : Habituellement, cette attaque n'est pratique que dans les réseaux ad hoc où la vie de la batterie est un paramètre critique. Les dispositifs alimentés en batterie essayent de conserver l'énergie en ne transmettant que lorsque c'est absolument nécessaire. Un attaquant tente de consommer les batteries en demandant des routes ou en envoyant des paquets inutiles vers le nœud à l'aide, par exemple, d’une attaque « trou noir ». Cette attaque est particulièrement adaptée contre les appareils qui n'offrent pas de services au réseau ou offrent des services uniquement à ceux qui ont des pouvoirs spéciaux. Indépendamment des propriétés des services, un nœud doit participer au processus de routage à moins qu’il soit disposé au risque de devenir inaccessible sur le réseau. La divulgation de d’emplacement : Une attaque de divulgation d’emplacement peut révéler quelque chose sur les lieux de nœuds ou la structure du réseau. L'information recueillie peut révéler soit les nœuds qui sont adjacents à la cible, soit l'emplacement physique du nœud. Les messages de routage sont envoyés avec des valeurs de sauts inadéquates et les adresses des appareils envoyant les messages d'erreur ICMP sont enregistrées. En fin de compte, l'attaquant sait quels nœuds sont situés sur la route vers le nœud cible. Si l'emplacement de certains des nœuds intermédiaires sont connus, on peut ainsi obtenir des informations sur l'emplacement de la cible. L’attaque Hello flood : Cette attaque s’appuie sur le mécanisme de découverte des voisins qui est utilisé dans la plupart des protocoles de routage et de gestion de topologie. Ce mécanisme consiste en un nœud de la topologie qui s’annonce auprès des autres en diffusant à un seul saut des messages de contrôle et plus précisément des messages Hello. Les nœuds recevant ces paquets qui proviennent d’un nœud du réseau s’assumeront alors comme voisins directs avec celui-ci. Cette supposition pourrait être fausse au moment où un intrus commence à envoyer ses informations en utilisant une puissance de transmission largement plus importante que la normale. De cette manière, l’attaquant pourra convaincre n’importe quel nœud du réseau (à deux sauts ou plus) que celui-ci est son voisin direct ce qui pourrait induire un faux routage par exemple ou une mauvaise organisation de la topologie 3.7. Les attaques militaires Un réseau utilisé par les militaires a besoin d’un maximum de sécurité. Dans un environnement militaire, les attaques de routage peuvent être divisées en deux types: les attaques stratégiques et tactiques. 42 3.7.1. Les attaques stratégiques de routage Elles comprennent la collecte de renseignements. Elles peuvent également couvrir la destruction des réseaux de l'ennemi en préparation d’une bataille. En outre, en raison de l'attaque, la cible pourrait obtenir quelques informations sur l'endroit où l'ennemi est sur le point de frapper prochainement. Cependant, une fois une attaque de routage terminée, le réseau peut généralement être remis en service dans un court laps de temps. Ainsi, les attaques actives sont probablement mieux adaptées à une utilisation tactique alors que les attaques passives peuvent être efficaces dans la collecte d'informations. On peut en déduire des informations sur l'emplacement des nœuds et les rôles de chaque nœud dans le réseau par des attaques passives où les nœuds de contrôle et de commande sont des cibles évidentes. 3.7.2. Les attaques tactiques de routage Les attaques tactiques de routage pourraient être utilisées plus efficacement lors de la bataille. Les attaques peuvent utiliser des informations sur la topologie du réseau ou les relations entre les nœuds ainsi que d'autres informations qui ont été collectées précédemment en utilisant les attaques passives. L'objectif principal pourrait être de désactiver temporairement une partie importante d'un réseau en utilisant les attaques de déni de service. 4. Techniques générales utilisées dans la sécurité 4.1. Fonction de hachage Une fonction de hachage permet de réduire une donnée de n’importe quelle taille en un condensé de taille fixe. Ce résumé construit est envoyé avec le message afin d’assurer l’intégrité de données. [11][12] Le point fort de la fonction de hachage est qu’elle peut être aisément calculée mais difficilement inversée. De plus, la moindre modification du message original entraîne un changement dans le condensé. Grâce à ses propriétés, le hachage a été employé dans les mécanismes de sécurité tels que la signature numérique. 4.2. Chaines de hachage Une chaîne de hachage est obtenue lorsqu’on applique plusieurs fois une fonction de hachage h sur une donnée initiale x0. La séquence des xi obtenu peut être utilisée par exemple comme des mots de passe afin de s’authentifier auprès d’un serveur. 4.3. Signature numérique La signature numérique est un mécanisme qui permet d'authentifier un message, autrement dit de prouver qu'un message provient bien d'un expéditeur donné, à l'instar d'une signature sur un document papier. Pour signer un message, on peut le chiffrer avec la clé privée. Le déchiffrement avec la clé publique prouve que seul le détenteur de la clé privée a créé la signature. Il n'est pas nécessaire de chiffrer tout un paquet. Pour le signer il suffit de chiffrer son condensé calculé avec une fonction de hachage [11][12][14]. Dans ce cas, la signature numérique comprend deux étapes : 1. Évaluation du condensé de message : le but principal de l'évaluation d'un condensé est de s'assurer que le message ne sera pas altéré ; c'est ce qu'on entend par intégrité du message. 43 2. Signature du condensé : Une signature est en fait un chiffrement à l'aide de la clé privée de l'émetteur. N'importe qui peut déchiffrer et vérifier la signature à l'aide de la clé publique et de l'algorithme de hachage de l'émetteur. Étant donné les propriétés du chiffrement à clé publique et des algorithmes de hachage, le destinataire a la preuve que : · le condensé a été chiffré à l'aide de la clé privée de l'émetteur. · le message est protégé contre toute altération La figure ci-dessous illustre le deuxième mécanisme de signature (hachage + chiffrement) Alice Bob texte texte résumé résumé texte ( hachage (texte) = résumé + sign sign ) résumé hachage (texte reçu) = résumé sign résumé déchiffrer la signature Chiffrement du résumé résumé résumé Figure 2.1 La signature numérique Dans cet exemple, Alice résume son message à l’aide d’un algorithme de hachage. Ce résumé est chiffré avec sa clé privée et devient une empreinte (signature) qui est transmise avec le message à Bob. Bob procède de la même manière qu’Alice : Il calcule son propre résumé ; Il déchiffre l’empreinte reçue et enfin compare les deux résumés. 4.4. Certificats et Autorité de Certification 4.4.1. Qu'est-ce qu'un certificat? Un certificat est un document électronique, résultat d’un traitement fixant les relations qui existent entre une clef publique, son propriétaire (une personne, une application, un site) et l’application pour laquelle il est émis. Version : la version de X.509 utilisé Serial Number : numéro de séquence du certificat (propre à chaque autorité de certification) Signature Algorithm : algorithme utilisé pour signer Issuer : le nom du CA qui a émis le certificat Validity : période de validité Subject : le nom du propriétaire de ce certificat Public Key : clé publique de l’utilisateur Subject Public Key Info : des informations sur la clé publique (type, longueur…etc.) Signature numérique : signature du CA sur l’ensemble des champs précédents. Figure 2.2 Contenu d’un certificat 44 4.4.2. Autorité de Certification : Une Autorité de Certification (CA : Certification Authority) est une organisation qui délivre des certificats électroniques à une population. En délivrant un certificat, le CA se porte garant de l'identité de l'entité qui se présentera avec ce certificat. Par rapport aux entités (personnes ou applications) qui utilisent ses certificats, une CA joue le rôle de tiers de confiance. Une CA utilise sa clé privée pour créer les certificats qu'elle délivre. Le certificat est signé (au sens signature électronique) : on effectue une empreinte (ou un condensé) du certificat à l’aide d’un algorithme de hachage et on chiffre l’empreinte obtenue. Le chiffrement s’effectue avec la clé privée de l’autorité de certification. 4.4.3. Vérification d’un certificat La vérification s’effectue avec la clé publique de l’autorité de certification. Toute personne voulant vérifier un certificat présenté par une entité doit connaître la clé publique de l’autorité de certification. Elle procède ensuite de la même façon que la vérification d’une signature (déchiffrer la signature avec la clé publique du CA puis comparer le résultat avec le résumé des informations figurant dans le certificat). 5. Le routage sécurisé Dans la plupart des domaines, le service de sécurité primaire est l'autorisation. Le routage ne fait pas exception. Typiquement, un routeur doit faire deux types de décisions d'autorisation. D'abord, quand une mise à jour de routage est reçue de l'extérieur, le routeur doit décider de modifier sa base de données de routage locale en conséquence. Il s'agit d'autorisation d'importation. Deuxièmement, un routeur peut effectuer une autorisation d'exportation chaque fois qu'il reçoit une demande d'informations de routage. L'autorisation d'importation est le service critique. Dans les systèmes traditionnels de routage, l'autorisation est une question de politique. Par exemple, un programme de routage couramment utilisé permet à l'administrateur d'un routeur de définir des stratégies pour savoir si et dans quelle mesure faire confiance aux mises à jour de routage des autres routeurs: par exemple, des déclarations comme "faire confiance au routeur X sur les routes vers les réseaux A et B". Dans les réseaux mobiles ad hoc, telles politiques statiques ne sont pas suffisantes (et peu susceptibles d'être pertinentes de toute façon). L'autorisation peut exiger d'autres services de sécurité comme l'authentification et l'intégrité. Les techniques comme les signatures numériques et des codes d'authentification de message sont utilisés pour fournir ces services. Dans le contexte de routage, la confidentialité la de non-répudiation ne sont pas nécessairement des services essentiels [24]. Zhou et Haas [25] soutiennent que la non-répudiation est utile dans un réseau ad hoc pour isoler les routeurs mal conduits: un routeur A qui a reçu un «message erroné» d'un autre routeur B peut utiliser ce message pour convaincre les autres routeurs que B s’est mal conduit. Ce serait en effet utile s'il y a un moyen fiable pour la détection des messages erronés. Cela ne semble pas être une tâche facile. Le problème des nœuds compromis n'est pas traité ici car il est, sans doute, pas critique dans les scénarios non militaires. La disponibilité est considérée comme hors de portée. Evidement, Bien 45 que souhaitable, il ne semble pas être possible d’empêcher des attaques de déni de service dans un réseau qui utilise la technologie sans fil (où un attaquant peut se concentrer sur la couche physique sans se soucier de l'étude du protocole de routage). Par conséquent, dans ce travail de recherche les exigences suivantes ont été examinées: · L’authentification de la source: Les nœuds doivent être en mesure de vérifier que l’autre nœud est celui qu'il prétend être. · Intégrité: En outre, les nœuds doivent être en mesure de vérifier que les informations de routage envoyées à eux sont arrivées intactes. · Ces deux services de sécurité combinés construisent l'authentification des données et ils sont des exigences résultant de l’autorisation d'importation. Une distinction fondamentale peut être faite lorsque la question de routage sécurisé est considérée. Les attaques sur le routage peuvent être externes ou internes ce qui signifie qu'il y a une nécessité de trouver des systèmes pour sauvegarder le processus de routage. 5.1. Lutter contre les attaques extérieures Pour assurer la confidentialité des messages de routage, ils doivent être chiffrés à l'aide du DES. Cet algorithme de chiffrement est choisi pour son efficacité de calcul. Pour authentifier les messages, l'utilisation de signatures numériques et de fonctions de hachage à clé avec des numéros de séquence fenêtrés est recommandée [19]. Ceci offre l’authentification de l'origine des données, l'intégrité du contenu et la protection anti rejeu pour la découverte de voisins et le transport de trafic des abonnés. L'algorithme RSA est appliqué en raison de sa vérification de signature relativement rapide. Pour les attaques externes, les messages de routage doivent être chiffrés avec un algorithme à clé privée et authentifiée en utilisant des résumés de messages signés numériquement avec des numéros de séquence fenêtrés. 5.2. Lutter contre les attaques internes Dans certains protocoles de routage, de fausses informations de routage sont traitées comme des informations périmées et les caractéristiques de redondance inhérente sont utilisées pour contourner le nœud compromis [19][25]. Si un nœud est soupçonné d'être compromis, des routes de secours peuvent être utilisées à la place. Il existe encore une redondance de transmission de messages dans un environnement mobile (sans fil) car tous les nœuds à portée radio d'un nœud émetteur ont la capacité de recevoir tous les messages que le nœud émetteur transmet. Perlman utilise la byzantine robustness pour protéger les données de routage contre les nœuds compromis [20]. Byzantine robustness est la capacité de poursuivre le fonctionnement correct en présence de nœuds arbitraires avec byzantine failures. L'étude de Perlman analyse la faisabilité théorique de maintien de la connectivité réseau. Fondamentalement, la détection d'incohérences et l'isolement des routeurs compromis sont réalisés en utilisant les informations redondantes. Chaque nœud maintient une petite base de données qui contient le numéro de séquence des paquets qu'il a retransmis en provenance des autres nœuds. L’interrogation des nœuds du réseau permettrait à tout comportement incohérent d’un nœud particulier à se manifester. Ainsi, ces nœuds compromis peuvent alors être isolés. La thèse de doctorat de 46 Perlman, "Network-layer Protocol with Byzantine Robustness" (NPBR), propose un protocole de routage théorique mais robuste en appliquant deux modes: le mode inondation et le mode d'état des liens. Dans le premier mode NPBR la robustesse de routage est garantie par l’inondation des paquets, l’utilisation de cryptage à clés publiques par paquet et par lien et en ignorant l'état significatif des routeurs. L’état des liens NPBR est moins robuste mais il tolère N-1 routes compromises dans N routes redondantes par deux nœuds. 5.3. Sécuriser les protocoles de routage à vecteur de distance Il existe une méthode pour sécuriser les protocoles de routage à vecteur de distance qui pourraient être utilisés dans les réseaux ad hoc [21]. Ce protocole de routage effectue le calcul de route pour chaque destination dans le réseau et conserve des informations sur tous les réseaux avec les informations de distance de chaque voisin à chaque destination dans le réseau. Pour assurer l'authenticité et l'intégrité de l'information, le nœud originaire signe numériquement les champs immuables de chaque mise à jour qu'il génère. L’adresse IP du nœud originaire est ajoutée à chaque mise à jour pour autoriser les nœuds récepteurs à valider la signature. La mise à jour fournit une protection contre les nœuds compromis qui ont des clés comme le montre la figure 2.3. La signature numérique de chaque mise à jour protège la mise à jour contre la fabrication ou la modification par les nœuds compromis. Les chemins redondants, "le vieillissement" des fausses informations de routage et la redondance dans les informations de routage à chaque nœud, sont tous employés pour lutter contre les attaques internes. Les contremesures suivantes implémentent effectivement des services de sécurité qui ne sont pas disponibles au niveau des protocoles inférieur de transport ou de réseau. Plus précisément, la signature numérique des messages de routage et les numéros de séquence fournissent les services d’intégrité et d'authentification des messages de routage qui composent les premières lignes de défense. Les contremesures fonctionnent de la façon suivante: · · Numéro de séquence de messages de routage: Un numéro de séquence est inclus dans chaque message de routage qui est mis à zéro lors de l'initialisation d'un nouveau routeur démarré et est incrémenté à chaque message. En cas de détection d'un numéro de séquence sauté ou répété, une réinitialisation de la session est imposée par la réinitialisation du processus de routage. La taille de ce numéro de séquence est assez grande pour réduire les risques de sa remise à zéro. Toutefois, dans ce cas, la session est redémarrée par la réinitialisation du processus routage. Signature numérique de messages de routage: Chaque message de routage est signé numériquement par l'expéditeur. Ceci offre l’authenticité et un certain degré d'intégrité (protection contre la modification de message mais pas contre le rejeu) au dialogue de routage. En cas de détection de la corruption, le message est rejeté. La proposition suggère l’ajout de numéro de séquence et d'information de prédécesseur aux mises à jour et la signature numérique de ces mises à jour comme indiqué dans la figure 2.3. 47 Entête Mise à jour Numéro de séquence Signature numérique Mise à jour Prédécesseur Numéro de séquence Signature numérique Entrée de mise à jour Figure 2.3 Les changements proposés dans les messages routage. 5.4. Authenticated Routing for Ad hoc Networks (ARAN) ARAN détecte [16] et protège contre les actions malveillantes par des tiers et pairs dans un environnement particulier ad hoc. ARAN introduit l'authentification, l'intégrité des messages et la non-répudiation dans un environnement ad hoc dans le cadre d'une politique de sécurité minimale. ARAN fait usage de certificats de chiffrement pour offrir la sécurité de routage. Ces certificats sont en cours de déploiement dans le cadre d'un réseau 802.11 à un saut; ARAN se compose d'un processus de certification préliminaire suivi d'un processus d'instanciation de route qui garantit l'authentification de bout en bout. Le protocole est simple par rapport à la plupart des protocoles de routage ad hoc non sécurisés. La découverte de route dans ARAN est accomplie par un message diffusé à partir d'un nœud source qui est directement répondu par le nœud de destination de sorte que les messages de routage soient authentifiés à chaque saut de la source à la destination ainsi que sur le chemin inverse de la destination à la source. Les nœuds intermédiaires ne peuvent répondre par un ‘route replay’. Seule la destination a le droit de répondre ce qui augmente le temps de latence. En plus, ARAN suppose l’existence d’une autorité de certification. 5.5. Secure Routing Protocol (SRP) SRP est proposé comme une extension aux protocoles de routage ad hoc réactifs [15], en particulier le protocole DSR. Il implémente une solution contre les comportements malveillants comme l’écoute passive des informations de topologie ou l’injection de fausses informations. SRP a été conçu pour fournir des informations de routage correctes en sécurisant la phase de découverte de route. La technique utilisée nécessite des clés privées partagées par les hôtes. La destination contrôle l’intégrité et l’authenticité du message grâce au calcul effectué avec la fonction de hachage puis diffuse sa réponse par différentes routes. Ceci est une protection additionnelle contre les nœuds malicieux qui tentent de modifier ou d’absorber les messages de type ‘route replay’. Le point faible de ce protocole se trouve au niveau de l’étape de maintenance de route : un adversaire peut fabriquer des messages d’erreurs ‘Route Error’ pour invalider des routes qui sont toujours disponibles. 48 5.6. Secure Efficient Ad hoc Distance vector routing protocol (SEAD) Ce protocole proactif développé par Hu et al [17] qui ont tenté de sécuriser le protocole DSDV. SEAD permet d’authentifier l’émetteur d’une information de routage et propose une protection contre l’altération des champs mutables, à savoir le champ métrique nombre de sauts et le champ numéro de séquence. En appliquant d’une manière répétitive une fonction de hachage à sens unique sur une valeur aléatoire, on obtient une chaine de hachage. Les éléments de cette chaine seront utilisés par les nœuds dans la procédure d’authentification et cela sans utiliser le cryptage à clé publique. On évite ainsi les opérations cryptographiques coûteuses. Afin d’authentifier la source d’une mise à jour, il faut disposer d’une clé secrète partagée entre chaque paire de nœud. Ce protocole est robuste contre les attaques de dénis de services. 5.9. Secure Ad Hoc On-Demand Distance Vector Routing Protocol (SAODV) Une extension d’AODV (SAODV) a été proposée [22] pour protéger les messages de protocole de routage. SAODV suppose que chaque nœud a des clés publiques certifiées de tous les nœuds du réseau, afin que les nœuds intermédiaires puissent valider tous les paquets de routage en transit. L'idée de base est que l'expéditeur d'un message de contrôle ajoute une signature RSA et le dernier résultat d'une chaîne de hachage (ie, le résultat de calculs de n hachages consécutifs appliqués à un nombre aléatoire). Comme le message traverse le réseau, les nœuds intermédiaires valident la signature et la valeur de hachage et génèrent la kéme valeur de la chaîne de hachage et la mette dans le paquet ; k étant le nombre de sauts traversés. Les réponses sont fournies par la destination ou les nœuds intermédiaires ayant un itinéraire actif à la destination demandée dont le dernier mode de fonctionnement est activé par un autre type de paquets de contrôle. L'utilisation de la cryptographie à clé publique impose une charge de traitement élevée sur les nœuds intermédiaires et peut être considérée comme irréaliste pour un large éventail d’instance réseau. En outre, il est possible pour les nœuds intermédiaires de corrompre la découverte de route en prétendant que la destination est leur voisin immédiat, d’annoncer arbitrairement des numéros de séquence supérieurs et de modifier (soit en les réduisant par un ou en les augmentant arbitrairement) la longueur de la route réelle. Enfin, l'hypothèse que les certificats sont liés à des adresses IP n'est pas réaliste. Les nœuds baladeurs rejoignent les sous-domaines MANET où leur seront assignées des adresses IP dynamiquement ou même aléatoirement. 5.7. A secure on-demand Routing protocol for ad hoc networks (ARIADNE) ARIADNE est un protocole de routage réactif sécurisé [18] basé sur DSR et développé par les auteurs de SEAD. Il permet à un hôte destinataire d’authentifier l’initiateur d’une requête de route en utilisant la cryptographie symétrique sans appeler une tierce partie de confiance. Il permet aussi à l’initiateur d’authentifier chaque nœud intermédiaire sur le chemin menant au destinataire. ARIADNE utilise le protocole de sécurité Tesla qui garantit qu’un hôte intermédiaire mal intentionné ne puisse supprimer l’adresse d’un nœud précédant dans la liste des nœuds intermédiaires. Il présente une solution pour beaucoup d’attaques de déni de service mais il est vulnérable à l’attaque wormhole. 49 6. Secure Ad hoc On-Demand Distance Vector (SAODV) 6.1. Les défauts du protocole AODV Puisque AODV n’a pas de mécanismes de sécurité, les nœuds malveillants peuvent exécuter de nombreus scénarios d’attaques simplement en ne se comportent pas selon les règles AODV. Un nœud M malveillant peut mener les attaques suivantes (parmi beaucoup d'autres) contre AODV: 1. Emprunter l'identité d'un nœud S en forgeant une RREQ avec son adresse comme adresse de l'expéditeur. 2. Lorsqu’on transmet une RREQ généré par S pour découvrir une route vers D, en réduisant le champ du nombre de sauts pour augmenter les chances d'être dans le tracé de l'itinéraire entre S et D pour pouvoir analyser la communication entre eux. Une variante consiste à incrémenter le numéro de séquence de destination pour faire croire aux autres nœuds qu'il s'agit d'une route «fraîche». 3. Emprunter l'identité d'un nœud D en forgeant une RREP avec son adresse comme adresse de destination. 4. Emprunter l'identité d'un nœud en forgeant une RREP qui prétend que le nœud est la destination et, pour accroître l'impact de l'attaque, il prétend être un leader d’un sous réseau SN avec un grand numéro de séquence et l'envoyer à ses voisins. De cette manière, il est devenu (au moins localement) un trou noir pour le sous-réseau SN entier. 5. Potentiellement, ne pas acheminer certaines RREQs et RREPs, ne pas répondre à certaines RREQs et ne pas transférer certains messages de données. Ce genre d'attaque est particulièrement difficile à détecter car les erreurs de transmission ont le même effet. 6. Forger un message RERR prétendant qu'il est le nœud S et l'envoyer à son voisin D. Le message RERR a un très haut numéro de séquence de destination (DSN) pour l’une des destinations inaccessibles (U). Cela pourrait provoquer D à mettre à jour le numéro de séquence de destination correspondant à U avec la valeur DSN et, par conséquent mettre en échec les futurs découvertes de routes effectuées par D pour obtenir une route vers U (car le numéro séquence de destination de U sera beaucoup plus petit que celui stocké dans la table de routage de D). 7. Selon AODV [23], l’originaire d'une RREQ peut mettre un numéro de séquence de destination beaucoup plus grand que le réel. En outre, les numéros de séquence se remettent à zéro quand ils atteignent la valeur maximale autorisée par la taille du champ. Ceci permet une attaque très facile dans le cas un attaquant est capable de fixer le numéro de séquence d'un nœud à toute valeur désirée par simple envoi de deux messages RREQ au nœud. 6.2. Sécurisation d’AODV Supposons qu'il y a un sous-système de gestion des clés qui permet à chaque nœud ad hoc d’obtenir des clés publiques des autres nœuds du réseau. De plus, chaque nœud ad hoc est capable de bien vérifier l'association entre l'identité d’un nœud ad hoc donné et la clé publique de ce nœud. La réalisation de cela est dépendante du système de gestion des clés. 50 Deux mécanismes sont utilisés pour sécuriser les messages AODV: les signatures numériques pour authentifier les champs non-mutables des messages et les chaînes de hachage pour sécuriser l’information de nombre de sauts (la seule information mutable dans les messages). Pour les informations non-mutables, l'authentification est effectuée de façon bout en bout mais le même genre de techniques ne peut pas être appliqué à l'information mutable. Les informations relatives aux chaînes de hachage et la signature sont transmises avec le message AODV comme une extension du message qui sera référencé par Signature Extension. 6.2.1. Chaînes de hachage SAODV SAODV utilise les chaînes de hachage pour authentifier le nombre de sauts des messages RREP et RREQ de telle manière qu’il permet à chaque nœud qui reçoit le message (soit un nœud intermédiaire ou la destination finale) de vérifier que le nombre de sauts n'a pas été modifié par un attaquant. Cela empêche une attaque de type 2. Une chaîne de hachage est formée par l'application d'une fonction de hachage à plusieurs reprises sur un nombre aléatoire. Chaque fois qu'un nœud initie un message RREQ ou RREP, il effectue les opérations suivantes: · Générer un nombre aléatoire (seed). · Définir le champ Max_Hop_Count à la valeur TimeToLive (à partir de l'en-tête IP). Max_Hop_Count = TimeToLive · Définir le champ Hash à la valeur de seed. Hash = seed · Définir le champ Hash_Function à l'identifiant de la fonction de hachage qu'il va utiliser. Les valeurs possibles sont présentées dans le Tableau 2.1. Valeur Hash function 0 Réservé 1 MD5HMAC96 2 SHA1HMAC96 3-127 Réservé 128-255 Dépend de l’implémentation Tableau 2.1 les valeurs du champ Hash function Hash_Function = h · Calcule Top_Hash par le hachage de seed, Max_Hop_Count fois. Top_Hash = hMax_Hop_Count(seed) Où: – – h est une fonction de hachage. hi(x) est le résultat de l'application de la fonction h à x, i fois. 51 En outre, chaque fois qu'un nœud reçoit un message RREQ ou RREP, il effectue les opérations suivantes afin de vérifier le nombre de sauts: · Appliquer la fonction de hachage h, Maximum_Hop_Count–Hop_Count fois sur la valeur du champ Hash et vérifie que la valeur résultante soit égale à la valeur contenue dans le champ Top_Hash. Top_Hash == hMax_Hop_Count−Hop_Count(Hash) · Avant la rediffusion d’une RREQ ou la transmission d'une RREP, un nœud applique la fonction de hachage sur la valeur Hash dans Signature Extension pour tenir compte du nouveau saut. Hash = h (Hash) Le champ Hash_Function indique quelle fonction de hachage doit être utilisée pour calculer le hachage. Tenter d'utiliser une fonction de hachage différente crée juste un faux hachage sans apporter aucun avantage à un nœud malveillant. Les champs Hash_Function, Max_Hop_Count, Top_Hash et Hash sont transmis avec le message AODV dans Signature Extension. Et, comme il sera expliqué plus tard, tous les champs sauf le champ Hash sont signés pour protéger leur intégrité. 6.2.2. Signatures numériques SAODV Les signatures numériques sont utilisées pour protéger l'intégrité des données nonmutables dans les messages RREP et RREQ. Cela signifie que SAODV signe tout sauf le nombre de sauts du message AODV et Hash de l'extension SAODV. Le problème principal dans l'application de signature numérique c'est qu’AODV permet aux nœuds intermédiaires de répondre aux messages RREQ s'ils ont une route « assez fraiche » à la destination. Même si cela rend le protocole plus efficace, il le rend aussi plus difficile à sécuriser. Le problème est que le nœud intermédiaire qui génère un message RREP doit être en mesure de le signer au nom de la destination finale. Et, en plus, il est possible que la route stockées dans le nœud intermédiaire soit créée comme chemin inverse après avoir reçu un message RREQ (ce qui signifie qu'il n’a pas la signature pour la RREP). Pour résoudre ce problème, SAODV propose deux alternatives. La première (et aussi la plus évidente) est que, si un nœud intermédiaire ne peut pas répondre à un message RREQ parce qu'il ne peut pas signer son message RREP, il se comporte exactement comme si il n'avait pas la route et retransmet le message RREQ. La seconde est que, chaque fois qu'un nœud génère un message RREQ, il inclut aussi les drapeaux RREP, la taille préfixe et la signature qui peut être utilisée (par un nœud intermédiaire qui crée un chemin inverse à l'origine de la RREQ) pour répondre à une RREQ qui demande le nœud qui a initié le premier RREQ. En outre, quand un nœud intermédiaire génère un message RREP, la durée de vie de la route a changé à l'origine. Par conséquent, le nœud intermédiaire doit inclure les deux durées de vie (l'ancienne est nécessaire pour vérifier la signature de la destination de la route) et signer la nouvelle durée de vie. De cette façon, l’information originale de la route est signée par la destination finale et la durée de vie est signée par le nœud intermédiaire. 52 Pour distinguer les différent messages d’extension SAODV, ceux qui ont deux signatures sont appelés RREQ et RREP Double Extension Signature. Quand un nœud reçoit une RREQ, il vérifie d'abord la signature avant de créer ou mettre à jour une route inverse vers cet hôte. Seulement si la signature est vérifiée, la route sera stockée. Si la RREQ a été reçue avec une Double Signature Extension (RREQ-DSE) alors le nœud stocke également la signature de la RREP et la durée de vie (qui est la valeur «durée de vie de la route inverse») dans l'entrée de la route dans la table de routage. Un nœud intermédiaire ne répondra à une RREQ avec une RREP que si elle remplit les exigences d’AODV et le nœud a la signature correspondante et l’ancienne durée de vie pour les mettre dans les champs Signature et Old Lifetime de la RREP Double Extension Signature (RREP-DSE). Sinon, il retransmet la RREQ. Quand une RREQ est reçue par la destination elle-même, elle ne répondra avec une RREP que si elle remplit les exigences d’AODV. Cette RREP sera envoyé avec une RREP Single Signature Extension. Quand un nœud reçoit une RREP, il vérifie d'abord la signature avant de créer ou mettre à jour une route à cet hôte. Seulement si la signature est vérifiée, la route sera stockée avec la signature de RREP et la durée de vie. L’utilisation de signatures numériques empêche les scénarios d'attaque 1 et 3. 6.2.3. Messages d'erreur SAODV En ce qui concerne les messages RERR, on peut penser que la bonne approche pour les sécuriser devrait être similaire à la façon dont sont les autres messages AODV (signant l'information non-mutable et trouver un moyen de sécuriser les informations mutables). Néanmoins, les messages RERR ont une grande quantité d'informations modifiables. En outre, il n'est pas clair quel nœud a annoncé la RERR et quels nœuds ne font que la transmettre. La seule information pertinente est qu’un nœud voisin est entrain d'informer un autre nœud qu'il ne va pas être en mesure de router les messages vers certaines destinations du tout. Cette proposition [26] (SAODV) stipule que chaque nœud (produisant ou retransmettant un message RERR) utilise les signatures numériques pour signer le message tout entier et que tout voisin qui le reçoit, vérifiera la signature. De cette façon, on peut vérifier que l'expéditeur du message RERR est vraiment celui qu'il prétend être. Et, puisque les numéros de séquence de destination ne sont pas signés par le nœud correspondant, un nœud ne doit jamais mettre à jour un numéro de séquence de destination de sa table de routage en se basant sur un message RERR (ce qui empêche un nœud malveillant de lancer une attaque de scénario 6). L’implémentation d’un mécanisme qui permettra aux numéros de séquence de destination d'un message RERR d’être signés par leurs nœuds correspondants va ajouter trop de surcharges par rapport à l'avantage de l'utilisation de cette information. Bien que les nœuds ne fassent pas confiance aux numéros de séquence de destination dans un message RERR, ils vont les utiliser pour décider s’ils doivent invalider une route ou non. Cela ne va conférer aucun avantage supplémentaire à un nœud malveillant. 53 6.2.4. Quand un nœud redémarre L’attaque de type 7 a été basée sur le fait que l’originaire de la RREQ peut définir le numéro de séquence de la destination. Cela n’a pas été spécifié dans AODV car il n'est pas nécessaire. Dans le cas où tout le monde se comporte selon le protocole, la situation dans laquelle l’originaire d'une RREQ mettra un numéro de séquence de destination plus grand que le réel ne se produira jamais. Pas même dans le cas où la destination de l'RREQ a redémarré. Après le redémarrage, le nœud ne se rappelle plus de son numéro de séquence mais il attend pendant une période assez longue avant d'être actif de sorte que quand il se réveille personne n’a stocké son ancien numéro de séquence. Pour éviter cette attaque, dans le cas où le numéro de séquence de destination dans la RREQ est plus grand que le numéro de séquence de destination du nœud de destination, le nœud de destination ne prendra pas en compte la valeur dans la RREQ. Au lieu de cela, il se rendra compte que l’originaire de la RREQ s’est mal conduit et enverra la RREP avec le bon numéro de séquence. En outre, si un des nœuds a un moyen de stocker son numéro de séquence à chaque fois qu'il le modifie, il pourrait le faire. Par conséquent, quand il redémarre il ne sera pas nécessaire d'attendre assez longtemps pour que tout le monde supprime les routes vers lui. 6.2.5. Analyse La signature numérique Digital_signatureX (messages de routage) ne peut être créée que par X. Ainsi, il sert de preuve de la validité des informations contenues dans le message de routage. Cela empêche les scénarios d'attaque 1, 3, 4 et 6. L'authentificateur de sauts réduit la capacité d'un saut intermédiaire malveillant de monter une attaque de type 2 en modifiant arbitrairement le nombre de sauts sans détection. Un nœud qui est à n sauts loin de T connaîtra le nième élément de la chaîne de hachage (hn(x)) mais il ne connaitra aucun élément qui vient avant cela à cause de la propriété unidirectionnelle de h(). Cependant, le nœud malveillant pourrait encore retransmettre l'authentificateur reçu et le nombre de sauts sans la modifier. Ainsi, l'efficacité de cette approche est limitée. En outre, il existe un autre type d'attaque qui ne peut pas être détectés par SAODV: attaques tunnel (wormhole). Dans ce type d'attaque, deux nœuds malveillants simulent qu'ils ont un lien entre eux (c-à-d, ils peuvent directement échanger des messages entre eux). Ils y parviennent en encapsulant les messages AODV entre eux (probablement de manière cryptée). De cette façon, ils peuvent avoir un certain trafic à travers eux. À notre avis [26], aucun régime de sécurité n’a pu, jusqu'à présent, détecter l’attaque tunnel. Les schémas de détection d’intrusion peuvent, en principe, détecter les attaques tunnel. Si le moniteur voit un message de routage avec Hop_Count = X +1 envoyé par un nœud mais ne voit pas un message de routage avec Hop_Count = X envoyé vers le même nœud alors soit le nœud est entrain de fabriquer les messages de routage ou soit il y a un tunnel. Dans les deux cas, il faut sonner l'alarme. Néanmoins, le problème principal de ce type de schéma est qu’il n'existe aucun moyen pour n'importe quel nœud de valider l'authenticité des informations dénonçant les mal 54 conduites et il y a la possibilité de détecter de fausses mal conduites de nœuds. Par conséquent, il n’y a pas une solution réalisable à ce jour. La façon dont le nombre de sauts est authentifié peut être remplacée par une plus sûre. Par exemple, les nœuds intermédiaires transmettant les messages de routage peuvent inclure l'adresse du prochain saut à laquelle le message est retransmis et le signer [29]. Une autre possibilité serait d'utiliser les schémas à signature sécurisée en avant [27]. Un schéma de signature sécurisé en avant est comme une chaîne de hachage, sauf que, pour prouver qu’on est à n sauts loin de la cible on doit signer les messages de routage avec la clé correspondante à la nième liaison. Contrairement à la chaîne de hachage, la même clé de signature n'est pas donnée au prochain saut. Seule la clé de signature suivante est donnée. Cela empêche l'attaque qui repose sur la possibilité qu'un nœud malveillant n’augmente pas le nombre de sauts quand il retransmet un message de routage. Avec ce schéma, à tout moment le message de routage a une seule signature. Le problème est, bien sûr, l'efficacité. Il existe des schémas où les messages sont raisonnablement de petite taille mais la signature et la vérification sont très coûteuses. Ensuite, il y a d'autres schémas où la signature RSA peut être utilisée mais la clé publique nécessaire pour vérifier les signatures est de la taille de O(m), où m est le diamètre du réseau. Toutes ces approches sont très coûteuses (probablement même impossible) et, encore, cela n'empêche pas du tout les attaques tunnels. Par conséquent, l'utilisation de chaînes de hachage peut être, à ce jour, l'option qui répond le mieux au compromis entre sécurité et performance. L'utilisation de numéros de séquence doit empêcher la plupart des attaques de réponse possibles. Un nœud jettera un message réponse s’il a reçu un message d'origine parce que le message réponse ne sera pas "assez frais". Afin de rendre la prévention contre les attaques de réponse plus forte, le nœud pourrait envisager d'augmenter son numéro de séquence dans des situations plus que ce que AODV fait (ou même périodiquement). Papadimitratos and Haas propose dans [28] qu'il est possible de monter une attaque en modifiant malicieusement l'en-tête IP des messages SAODV. Ceci n'est pas vrai parce que SAODV n'approuve pas le contenu de l'en-tête IP, et toute l’information qu’a besoin pour fonctionner, est à l'intérieur du message AODV et l'extension SAODV. 6.3 Les extensions SAODV Les figures indiquent le format des SAODV Signature Extensions (page suivante): Figure 2.4 RREQ (Single) Signature Extension 55 Figure 2.5 RREP (Single) Signature Extension Champ Type Length Valeur 64 dans RREQ-SSE et 65 dans RREP-SSE La longueur de données types spécifiques, sans les champs Type et Length La fonction de hachage utilisée pour calculer les champs Top hash et Hash Max hop count Le nombre de sauts maximal Hash function Le hash correspondant au Max hop count pour Top Hash l’authentification du compteur de sauts. Ce champ est variable et est multiple de 32bit. La signature de tous les champs dans le paquet AODV qui sont avant ce champ sauf le champ Signature compteur de sauts. Ce champ est variable et est multiple de 32bit. Le hash correspondant au compteur de sauts Hash actuel. Ce champ est variable et est multiple de 32bit. Tableau 2.2 RREQ et RREP Signature Extension Fields Figure 2.6 RREQ Double Signature Extension 56 Champ Type Valeur 66 La longueur de données types spécifiques, sans les champs Type et Length Length Hash function Max hop count R A Reserved Prefix size La fonction de hachage utilisée pour calculer les champs Top hash et Hash Le nombre de sauts maximal Drapeau de réparation pour RREP Drapeau de nécessité d’acquittement Emis 0 ; ignoré à la réception La taille du prefix pour RREP Le hash correspondant au Max hop count pour Top Hash l’authentification du compteur de sauts. Ce champ est variable et est multiple de 32bit. La signature de tous les champs dans le paquet AODV Signature qui sont avant ce champ sauf le champ compteur de sauts. Ce champ est variable et est multiple de 32bit. La signature qu’un nœud intermédiaire doit mettre dans Signature RREP-DSE lorsqu’il répond à une demande de route for RREP vers le nœud ayant émis cette RREQ-DSE. Ce champ est variable et est multiple de 32bit. Le hash correspondant au compteur de sauts actuel. Ce Hash champ est variable et est multiple de 32bit. Tableau 2.3 champs RREQ Double Signature Extension Figure 2.7 RREP Double Signature Extension 57 Champ Type Valeur 67 Length La longueur de données types spécifiques, sans les champs Type et Length Hash function La fonction de hachage utilisée pour calculer les champs Top hash et Hash Max hop count Le nombre de sauts maximal Top Hash Le hash correspondant au Max hop count pour l’authentification du compteur de sauts. Ce champ est variable et est multiple de 32bit. Signature La signature de tous les champs dans le paquet AODV qui sont avant ce champ sauf le champ compteur de sauts. Ce champ est variable et est multiple de 32bit. Old life time Lifetime qui était dans la RREP générée par la destination finale. Signature of the new Lifetime Hash La signature de la RREP avec lifetime actuel (celui de la route dans le nœud intermédiaire). Cette signature est générée par ce nœud. Ce champ est variable et est multiple de 32bit. Le hash correspondant au compteur de sauts actuel. Ce champ est variable et est multiple de 32bit. Tableau 2.4 Champs RREP Double Signature Extension Figure 2.8 RERR Signature Extension Figure 2.9 RREP-ACK Signature Extension 58 Champ Type Valeur 68 dans RERR-SE et 69 dans RRER-ACK-SE La longueur de données types spécifiques sans les champs Type et Length Length de l’extension Reserved (Seulement dans RERR-SE) Emis à 0 ; ignoré à la réception La signature de tous les champs dans le paquet AODV qui sont avant ce champ sauf le champ compteur de sauts. Ce champ est Signature variable et est multiple de 32bit. Tableau 2.5 RERR et RREP-ACK Signature Extension Fields 7. Conclusion : En résumé, les protocoles de routage doivent être protégés d’un point de vue authentification, intégrité, non-répudiation et confidentialité. Ces exigences peuvent être au moins partiellement atteintes, par exemple, en utilisant des mécanismes solides de chiffrement, les signatures numériques, les nonces et les horodateurs. En outre, les moyens de protection peuvent être optimisés par l'analyse des redondances potentielles dans le protocole de routage et l’application des mécanismes efficaces tels que la cryptographie à clé secrète, les fonctions de hachage et les MACs. Cependant, l'utilisation d'une méthode à clés exige un service robuste et sécurisé de gestion de clés réparties de telle sorte que les clés nécessaires peuvent être générées, distribuées et appliquées en toute sécurité. Les réseaux ad hoc sont vulnérables aux attaques non seulement de l'extérieur mais aussi de l'intérieur. En outre, ces attaques peuvent être actives ou passives. L'importance de divers besoins de sécurité discutés dans la section précédente vient d’apparaitre maintenant au premier plan puisque toute attaque vise essentiellement à perturber un ou plusieurs services de sécurité. Un résumé des caractéristiques de sécurité dans certains protocoles est fourni au Tableau 2.6. Solution proposée Contraintes, Hypothèses Besoins – ARAN – – SRP SEAD – – – ARDIANE – SAODV OSRP – – Une tierce partie de confiance en ligne (CA). Chaque nœud doit connaître la clé publique de la CA. Association sécurisée entre chaque source et chaque destination. L’absence de nœuds malveillants. Un secret partagé entre chaque paire de nœuds. Clé secrète partagée par chaque paire de nœuds et obtenue grâce au protocole Tesla Schéma de gestion de clés en ligne pour l’acquisition et la vérification des clés publiques. Infrastructure à clé publique en ligne. Une clé partagée avec la source et les nœuds envoyant des acquittements. Métrique Plus court Nœuds intermédiaire chemin autorisés à répondre distance non Non distance oui Optionnel distance oui Non distance oui Non distance oui Optionnel fiabilité de la route non Non non Oui non Oui fiabilité de la Watchdog & – L’absence de nœuds malveillants. route pathrater – Les nœuds ne doivent pas être autorisés à fiabilité de la Confidant changer leur identité. route Tableau 2.6 Caractéristiques de sécurité dans certains protocoles de routage 59 Il existe de nombreuses études théoriques mais peu d'applications pratiques qui peuvent satisfaire l'ensemble des contraintes inhérentes aux infrastructures ad hoc. On peut résumer les buts des travaux de recherche actuels dans ce qui suit : · · · Sécuriser un protocole déjà existant, Améliorer un protocole sécurisé en allégeant le calcul excessif induit par les contrôles intensifs. Sécuriser le routage avec une qualité de service garantie. Une autre conséquence de la nature de la transmission de messages de routage est que dans de nombreux cas, il y a des parties de ces messages qui changent au cours de leur propagation. Ceci est très fréquent dans les protocoles de routage à vecteur de distance où les messages de routage contiennent généralement le nombre de sauts de la route qu'ils demandent ou fournissent. Par conséquent, dans un message de routage nous pouvons établir une distinction entre deux types d'informations : mutables un non mutables. Il est souhaitable que les informations modifiables dans un message de routage soient fixées de telle manière qu’aucune confiance dans les nœuds intermédiaires ne soit nécessaire sinon, la sécurisation des informations modifiables sera beaucoup plus coûteuse en calcul ce qui peut diminuer grandement la sécurité globale du système. Dans SAODV, deux mécanismes sont utilisés pour sécuriser les messages AODV: les signatures numériques pour authentifier les champs non mutables des messages et les chaînes de hachage pour sécuriser les informations de nombre de sauts (la seule information mutable dans les messages). Pour les informations non mutables, l'authentification est effectuée de façon bout en bout mais le même genre de techniques ne peut pas être appliqué à l'information mutable. Bien que SAODV soit bien sécurisé, il présente un défaut en ce qui concerne les performances pendant le traitement de paquets SAODV car il applique fréquemment des algorithmes de cryptographie asymétrique connus par leur lenteur de calcul ce qui dégrade largement le temps de réponse du protocole de routage. Dans le chapitre suivant nous expliquerons le fonctionnement d’un nouveau protocole appelé IPsec-AODV et nous comparerons SAODV avec ce protocole qui offre les mêmes services de sécurité mais avec une amélioration très nette en termes de temps de latence afin de déterminer les performances de chaque protocole dans les différentes situations. 60 Chapitre III : IPsec-AODV 61 1. Introduction Les protocoles de routage sécurisés tels que SAODV et ARAN sont très gourmand en termes de temps et d’énergie à cause de l’utilisation massive des algorithmes de cryptographie asymétrique. Dans ce chapitre nous allons proposer un nouveau protocole baptisé IPsec-AODV qui a pour objectif d’offrir les mêmes services de sécurité que SAODV tout en privilégiant l’aspect performance. Notre proposition se base essentiellement sur la minimisation de l’utilisation de la cryptographie asymétrique en la remplaçant par la cryptographie symétrique quant c’est possible réduisant ainsi considérablement le temps de calcul. Dans ce qui suit nous détaillons notre schéma en expliquant son fonctionnement ensuite nous le comparons avec SAODV afin de déterminer la performance de chaque protocole dans les différentes situations. 2. Approche proposée : Nous proposons le protocole de routage IPsec-AODV qui est une combinaison d’AODV et des services du protocole IPsec. Notre protocole doit fournir les mêmes services de sécurité que SAODV en l’occurrence l’authentification, l’intégrité, la non répudiation et le non rejeu mais IPsec-AODV doit être plus performant que SAODV car bien que ce dernier soit bien sécurisé, il est très lent lors du traitement des paquets de routage puisqu’il fait de l’authentification par des algorithmes de cryptographie asymétrique connus par leur gourmandise en temps de calcul et une grande consommation d’énergie ce qui dégrade considérablement le temps de réponse du protocole de routage et risque de mettre en échec le réseau. Notre approche consiste à établir des tunnels IPsec entre chaque paire de nœuds voisins et d’encapsuler les paquets AODV dans des paquets IPsec en mode transport car les informations nécessaires pour AODV sont protégées par l’entête AH. IPsec fournit les mêmes services de sécurité que ceux garantis par SAODV (authenticité, intégrité, non répudiation et non rejeu), donc IPsec-AODV n’a pas besoin de mettre en œuvre les mécanismes de confidentialité ni de disponibilité qui ne peut être jamais garantie. Lorsqu’un nœud adhère à un réseau MANET, sa table de routage est vide. Il commence à construire une table routage initiale en utilisant le mécanisme HELLO. Cette table qui est non sécurisée, sera utilisée dans le seul but de permettre à IPsec-AODV de créer les canaux sécurisé ultérieurement. Cette table initiale ne sera en aucun cas utilisée pour router les données. Si le nœud veut envoyer des données, il essaye d’initier un processus d’établissement de tunnel avec les voisins ayant une route non sécurisée. Une fois le tunnel établi, le nœud marque la route vers ce voisin dans la table de routage comme une route connectée munie d’un lifetime bien défini. Si ce processus échoue, alors le lien est considéré comme non sécurisé et aucun paquet ne sera envoyé via cette liaison. En fait, IPsec-AODV fonctionne de la même façon qu’AODV : Dans AODV, lorsqu’un nœud veut envoyer un paquet de routage, il diffuse le paquet par inondation mais dans IPsec-AODV il fait une multitude d’unicast. Il doit d’abord vérifier s’il a un tunnel sécurisé avec chacun de ses voisins. Si le tunnel existe alors il encapsule le paquet AODV dans un paquet IPsec avec un 62 entête AH en mode transport et l’envoie à son voisin ; sinon il doit mette en attente le paquet AODV et essaye d’établir le tunnel IPsec. Une fois le tunnel établi, le nœud transmet le paquet AODV. S’il se trouve dans l’incapacité d’établir le tunnel pour une raison quelconque, il ignore ce voisin. Cette opération est répétée pour chaque voisin. Le schéma suivant résume ce processus. Paquet AODV Avoir liste des voisin i : [1.. N] non Tunnel avec voisin i Etablir le tunnel oui Tunnel établi Encapsuler le paquet AODV et l’envoyer i := i + 1 oui i <= N Envoyer les données Figure 3.1 Processus d’envoi de paquet AODV Comme AODV, IPsec-AODV a recours à des temporisateurs pour maintenir la table de voisinage et le lifetime des tunnels. En fait, à chaque laps de temps il vérifie : – – Si la route a expiré ou le voisin n’a pas envoyé de messages hello depuis HELLO_INTERVAL alors on considère la liaison comme interrompue et par conséquent le tunnel est détruit, Si le lifetime est épuisé alors la paire de nœuds renégocie le tunnel. 63 Puisque IPsec-AODV utilise la cryptographie symétrique, il présente l’avantage de faire le cryptage des paquets dans un temps inferieur par rapport à SAODV dont le fonctionnement se base sur la cryptographie asymétrique d’une manière très fréquente. La cryptographie asymétrique est utilisée dans IPsec-AODV mais seulement pendant l’établissement des tunnels. Ces tunnels ont une longue durée de vie (lifetime) ; ainsi les opérations asymétriques sont moins fréquentes. On s’attend à ce qu’IPsec-AODV soit plus performant que SAODV de part l’utilisation modérée des algorithmes asymétriques contrairement à SAODV. Par contre, nous pensons que dans une topologie très mobile, IPsec-AODV va monter une faiblesse car l’établissement des tunnels devient très fréquent, donc le délai d’acquisition de routes sera encore plus long. IPsec est une suite de protocoles conçu pour fournir la sécurité pour le protocole IP en se basant sur la cryptographie. IPsec fournit les services de sécurité à savoir l’authenticité, la confidentialité, l’intégrité, la non répudiation et la protection contre le rejeu pour la couche IP et les couches supérieures. IPsec peut protéger un ou plusieurs chemins entre deux hôtes, deux passerelles de sécurité ou un hôte et une passerelle. La granularité dont les services de sécurités sont fournis pour tel but est définie par l’administrateur du réseau. Par exemple, il est possible de créer un tunnel IPsec (encapsulation IP) pour toutes les connexions TCP via un tunnel dédié à chaque connexion. Le concept clé derrière IPsec s’appelle Association de Sécurité (SA). Une SA est une connexion simplex qui fournit des services de sécurité au trafic traité par elle-même. Une SA est uniquement identifiée par un SPI (Security Parameter Index), une adresse IP de destination et un protocole de sécurité : Authentication Header (AH) ou Encapsulating Security Payload (ESP). AH fournit l’intégrité de la connexion, l’authentification de l’origine du message et un service anti-rejeu optionnel. ESP fournit les mêmes services qu’AH en plus de la confidentialité. Ces services peuvent être utilisés seuls ou en combinaison. Chaque protocole supporte deux modes : mode transport et mode tunnel. Le premier fournit une protection pour les protocoles des couches hautes. Tandis que le mode tunnel est utilisé pour encapsuler les paquets IP-IP. Chaque SA définit les algorithmes de cryptage, d’authentification, de hachage et les attributs d’échange de clés. Ces attributs de sécurité sont communiqués de bout en bout, maintenus et établis par d’autres protocoles spécialisés : ISAKMP, Oakley, Skeme ou une combinaison des trois dite IKE. On utilise la cryptographie asymétrique pendant la négociation de SA. 3. Objectifs de la simulation : Le but de notre expérimentation est d’analyser la propriété « temps d’établissement de route ». Ce délai de découverte de routes est fonction de plusieurs paramètres tels que la taille du réseau (le nombre de nœuds dans le réseau), la mobilité des nœuds du réseau et le débit des flux. Dans nos simulations, on évalue cette propriété des protocoles AODV, SAODV et IPsec-AODV en tenant compte du nombre et de la mobilité des nœuds du réseau. Si un nœud veut communiquer avec un autre et n’a pas une entrée dans sa table de routage pour cette destination spécifique, une procédure de découverte de route est initiée. Le temps pris pour découvrir cette route est important pour qualifier le protocole de routage. 64 Ce qui nous intéresse est le temps entre l’envoi de la RREQ et la réception de la RREP correspondante ce qui est qualifié comme temps de découverte de route. Quand un nœud doit transmettre un paquet de données, il consulte d’abord sa table de routage pour s’assurer qu’il existe une entrée pour cette destination. S’il n’y a pas d’entrée, il stocke le paquet et diffuse le message RREQ. Après avoir reçu le message RREP, le nœud source transmet les paquets mémorisés. Les protocoles notent dans leurs fichiers de sortie le temps des découvertes. En consultant ces fichiers, il est possible de déterminer la moyenne de la « Route Discovery ». 4. Modèle de simulation : Les simulations sont faites sur NS2, version 3.34 sous Debian. Le tableau suivant liste les constantes utilisées pour le protocole AODV dans notre simulation : Temps d’attente d’une réponse de route 1s Nombre de fois pour lequel une nouvelle RREQ est émise Temps avant qu’une RREQ soit émise à nouveau Temps pour lequel l’identifiant d’une diffusion (broadcast id) est maintenu Temps pour lequel les informations de la route inverse sont maintenues Intervalle de temps entre les messages Hello Temps pour lequel un lien interrompu est maintenu dans la table de routage 3 10s 6s 6s 1s 3s Tableau 3.1 les valeurs de paramètres AODV utilisés dans la simulation On note que le mécanisme de détection de coupures de liens est garanti dans le protocole AODV soit par l’émission périodique des messages Hello standards du protocole AODV ce qui est le cas dans notre simulation, soit par la couche « liaisons de données ». On a choisi de simuler des réseaux de taille 5, 10, 20 et 30 avec une mobilité de 5m/s, 25m/s, 50m/s et 300m/s. Dans ces cas, le temps d’établissement des routes est évalué. La topologie dans laquelle les nœuds bougent aléatoirement est de 5000m x 5000m et le temps de simulations équivaut à 500 secondes. Dans toutes ces simulations, on utilise les paramètres standards pour le médium et le modèle de propagation radio : la capacité du médium est de 2MB/s, le modèle de propagation radio est « two ray ground » et la portée de communication est de 250m. Le protocole IEEE 802.11 est utilisé comme protocole d’accès au médium. Le type de l’interface de la queue de chaque nœud est «drop tail». Dans ce type de file, les paquets venant de différents flots sont traités de la même manière ; ils sont tous placés dans la file suivant leur ordre d'arrivée et en ressortent dans le même ordre : c'est le principe d'une FIFO. Une fois que la file se vide, le routeur peut accepter de nouveaux paquets. Si la mémoire tampon est pleine, le dernier paquet qui arrive est rejeté et le nombre de paquets maximum dans le tampon d’émission de chaque routeur est de 50 paquets. Chaque simulation exécutée accepte en entrée deux fichiers décrivant le scénario de la simulation. En effet, ces fichiers définissent le mouvement exact de chaque nœud et l'ordre exact des paquets lancés par chaque nœud. 65 4.1 Modèle de mobilité : Les nœuds mobiles utilisent « Random WayPoint » comme modèle de mobilité. Ce modèle est utilisé souvent dans l’analyse de performance des protocoles de routage. Puisque dans nos simulations on se limite aux paramètres qui sont la densité et la mobilité du réseau, on a choisi de simuler quatre types de mobilités : 5 m/s, 25 m/s, 50 m/s et 300 m/s et quatre types de densité : 5, 10, 20 et 30 nœuds. Le temps de pause est de 1 seconde. La création de mouvement des nœuds pour ces scénarios est faite par l’utilisation d’un générateur de mouvements qui crée un fichier décrivant la mobilité des nœuds utilisant l’algorithme «Random WayPoint» pour chaque taille de réseau. Puisqu’on a quatre réseaux de tailles différentes, on a créé seize modèles de réseau. 4.2 Modèle de trafic : Pour nos simulations on a choisi de fixer le taux d’émission des paquets à 1 paquet par seconde et d’utiliser différents modèles de trafics correspondant à 80% du flux total, soit 8, 72, 304 et 696 flux correspondant chacun à un modèle de réseau tel que : ݂݈ ݔݑൌ ̴ܾ݊݊ כ ݏ݀ݑ݁ሺ̴ܾ݊݊à ݏ݀ݑെ ͳሻ כͺͲΨ ʹ Le trafic entre les nœuds est produit en utilisant un générateur de trafic qui crée aléatoirement des connexions de trafics de type CBR. La taille des paquets de données est de 512 octets. Par la suite, les modèles de trafics sont générés pour chaque taille de réseau ce qui correspond à 16 modèles de trafics générés au total. On n’a pas utilisé de sources de trafic TCP parce que ce dernier offre une charge conforme à l’état du réseau. Autrement dit, le trafic TCP change les temps durant lesquels il envoie des paquets en se basant sur sa perception de la capacité du réseau à délivrer les paquets. 4.3. Les délais des opérations cryptographiques : L’implémentation de SAODV et IPsec-ADOV est la même que celle d’AODV sauf dans l’ordonnancement des événements liés à la réception et à l’émission des paquets de contrôle de routage. Ces événements sont retardés par des délais concrétisant les temps nécessaires aux opérations de services de sécurité. Pour SAODV le délai de traitement des paquets est constitué d’une période de signature lors de l’émission et d’une période de vérification lors de la réception. Autrement dit, le délai de traitement est constitué d’un temps de hachage et d’un temps de cryptage/décryptage asymétrique. Nous optons pour l’utilisation des messages RREQ-DSE car elle permet aux nœuds intermédiaires de réponde aux demandes de route. En ce qui concerne IPsec-AODV on a ajouté un délai pour l’établissement d’un tunnel IPsec dans le cas où il n’existe pas au moment de l’envoi d’un paquet de contrôle (routage) en incluant le délai des deux phases d’IKE, celui de la phase de négociation des SAs IPsec et celui du traitement cryptographique symétrique des paquets de routage. Ces délais sont calculés sur une machine Core2Duo 2.0 Ghz, sous linux Debian 5.0 32bit (lenny) en utilisant l’utilitaire OpenSSL. Le tableau 3.2 montre les délais d’établissement d’un canal IPsec et le temps de 66 cryptage et décryptage dans IPsec-AODV. Le tableau 3.3 montre quant à lui les délais nécessaires dans SAODV. Opération Retard observé RREQ 0.000003281 RREP 0.000003098 RERR 0.000002734 IPsec 0.000181935 IKE 0.455617960 Tableau 3.2 Les délais de traitement IPsec-AODV Opération Retard observé Hash 331 octet (RREQ-DSE) 0.000015843 Hash 303 octet (RREP-SSE) 0.000014503 Hash 280 octet (RERR) 0.000013402 Hash 595 octet (RREP-DSE) 0.000028479 Signer (16 octet) 0.222222222 Vérifier (16 octet) 0.005566185 Tableau 3.3 Les délais de traitement SAODV 5. Résultats de simulation et analyse 5.1. Average End to End Route Discovery Delay (EERDD) Ce paramètre concrétise la durée moyenne d’établissement de route pour la transmission d’un paquet de données depuis la source vers la destination. Il introduit tous les délais d’établissement des routes. Il est intéressant d’évaluer cette métrique car certaines applications exigent un certain délai de transfert qu’il ne faut pas dépasser. 5.2. Simulation NS2 écrit les résultats de ses simulations dans un fichier texte (trace) où chaque ligne correspond à un événement qui s’est produit à un niveau ou à un autre de la pile protocolaire. Il est possible de configurer NS2 de telle sorte qu’il ne garde qu’une trace de certains types d’événements (par exemple tout ce qui concerne le routage mais pas ce qui concerne la couche MAC). Ceci est en particulier utilisé pour accélérer la simulation et réduire la taille du fichier trace qui peut contenir énormément d’informations. Mais pour extraire et représenter de manière synthétique ces informations, il faut souvent appliquer de nombreux traitements à ce fichier. L’analyse des fichiers de trace dans nos simulations est réalisée en utilisant le langage AWK pour extraire les champs nécessaires au calcul des différents paramètres du protocole. Enfin des graphes sont tracés en utilisant le plotter xgraph. Comme déjà dit, le temps de route discovery est la différence entre l’instant où l’initiateur d’une connexion reçoit la confirmation de route (Route Reply) et l’instant où il avait émis la requête de route correspondante (Route Request). 67 Les figures 3.2, 3.3, 3.4 et 3.5 représentent le temps moyen d’établissement des routes (EERDD) par AODV, SAODV et IPsec-AODV en fonction du nombre de nœuds. On constate dans ces figures que le délai de découverte de route d’AODV est le plus faible. Pour IPsec-AODV, ce délai est légèrement supérieur mais pour SAODV il est important. Ceci est expliqué par les délais des opérations cryptographiques effectuées au moment de l’établissement des routes par le protocole de routage IPsec-AODV et par le traitement effectué à chaque réception et émission des paquets de routage dans les deux protocoles. AODV est retenu pour servir comme référence. EERDD (ms) eed-v5-IPsec-AODV.xgr Nombre de nœuds Figure 3.2 EERDD pour une mobilité 5 m/s. 68 EERDD (ms) eed-v25-IPsec-AODV.xgr Nombre de nœuds Figure 3.3 EERDD pour une mobilité 25 m/s. 69 EERDD (ms) eed-v50-IPsec-AODV.xgr Nombre de nœuds Figure 3.4 EERDD pour une mobilité 50 m/s. 70 EERDD (s) eed-v300-IPsec-AODV.xgr Nombre de nœuds Figure 3.5 EERDD pour une mobilité 300 m/s. Dans la figure 3.5, on remarque que dans le cas de 5 nœuds la performance d’IPsec-AODV se dégrade grossièrement car lorsque le nombre de nœuds est petit (une faible densité) et une forte mobilité, les routes sont moins disponibles. Chaque fois il y’a un établissement de tunnel. Ceci va allonger le processus de la découverte de route ; donc ces délais dans IPsec-AODV deviennent plus importants par rapport à ceux de SAODV. Les simulations présentées dans ce chapitre ont permis de faire une comparaison des protocoles SAODV et IPsec-AODV. Elles indiquent en particulier comment les protocoles réagissent face à la densité et la mobilité du réseau en termes de délai de sélection de route. Toutefois, les performances réelles de ces protocoles ne peuvent être déduites par de simples simulations. Il est en effet difficile, en simulation, de concevoir les scénarios pertinents conduisant à l’évaluation du comportement des protocoles. 71 Conclusion Dans le cadre de ce travail, l’objectif est de concevoir le protocole IPsec-AODV opérant dans les réseaux ad hoc en prenant en considération les aspects de la sécurité et la performance du protocole en particulier le délai de découverte de route. Puisque le protocole AODV est le protocole de routage le plus utilisé et le plus destiné à router les paquets dans un réseau ad hoc sans fil, nous l’avons étudié afin de concevoir le nouveau protocole IPsec-AODV qui offre les mêmes services de sécurité que la version sécurisée d’AODV (SAODV) avec une meilleure performance. En s’inspirant des protocoles IPsec et AODV, nous proposons le protocole IPsec-AODV. Ce nouveau protocole nous a donné une meilleure performance que SAODV comme indiqué dans les graphes de simulations. Cependant, nous avons constaté qu’IPsec-AODV n’est pas adapté à des situations dont le réseau est peu dense et très mobile. Nos tests sont faits dans un environnement de simulation. Nous proposons dans le futur de faire une implémentation d’IPsec-AODV. 72 Référence [1] Charles E. Perkins, Elizabeth M. Royer, Samir R. Das: IP Address Autoconfiguration for Ad Hoc Networks, Mobile Ad Hoc Networking Working Group, July 2000. [2] DAVID Sébastien, MOCCI Christophe, ‘’TER AD HOC” Master 2 SIR 2005/2006. [3] J. M. Pecher et B. Jouga, “Détection d’intrusions dans les réseaux Ad hoc”. Projet Mastère RNRT-RAHMS Eole Supérieure d’électronique de l’ouest 2002. [4] Charles E. Perkins, Pravin Bhagwat. « Highly Dynamic Destination-Sequenced Distance Vector Routing (DSDV) for Mobile Computers ». ACM SIGCOMM Computer Communication Review. Volume 24, Issue 4. Pages: 234 - 244. Year of Publication: 1994. ISSN:0146-4833. Publisher : ACM New York, NY, USA. [5] Mario Gerla, Xiaoyan Hong, Guangyu Pei.« Fisheye State Routing Protocol (FSR) for Ad Hoc Networks ». INTERNET-draft, IETF MANET Working Group , UCLA. 2002. [6] Guangyu Pei, Mario Gerla, Xiaoyan Hong and Ching-Chuan Chiang. « A Wireless Hierarchical Routing Protocol with Group Mobility ». In Proceedings of the IEEE Wireless Communications and Networking Conference WCNC.1998. 1999. [7] Atsushi Iwata, Ching-Chuan Chiang, Guangyu Pei, Mario Gerla and Tsu-wei Chen. “Scalable Routing Strategies for Ad hoc Wireless Networks”. publié dans Selected Areas in Communications, IEEE Journal on Volume 17, Issue 8, Aug 1999, PAGES:1369 – 1379. [8] Karthik Ramakrishnan. « An Improved Model for the Dynamic Routing Effect Algorithm for Mobility Protocol ». Electronic Theses and Dissertations (UW). Appears in Collections : Faculty of Engineering Theses and Dissertations Electronic Theses and Dissertations (UW). 2005. [9] T. Clausen, P. Jacquet. «Optimized Link State Routing Protocol». IETF RFC 3626. 2003. [10] M. Ramakrishnan and S. Shanmugavel. « Hardware Implementation of TORA Protocol in Mobile Ad-hoc Network Node ». Information Technology Journal 6 (3): 345-352, ASCI-3325. 2007. [11] N. Ghoualmi-zine. « la cryptographie à la physique ». Conférence EIP, sécurité informatique: tendance et application,INI-Alger juin 2006. PAGES 32-45. 2006 [12] Samuel Galice. « Modèle de sécurité dynamique pour les réseaux spontanés ». Thèse de doctorat. Institut National des Sciences Appliquées de Lyon. 2007. [13] D.B. Johnson, D.A. Maltz, Y.-C. Hu and J.G. Jetcheva, The dynamic source routing protocol for mobile ad hoc networks, Internet-draft, draft-ietf-manet-dsr-07.txt (February 2002), work in progress. [14] Robert Rolland « PRIMITIVES CRYPTOGRAPHIQUES ». Un inventaire des primitives cryptographiques pris du livre « Cryptographie : Principes et mise en oeuvre ». Editeur : Hermès – Lavoisier. Année d’édition : 2005. Parution du recueil : 2008. ISBN-13: 9782746211506 [15] P. Papadimitratos and Z. Haas, «Secure Routing for Mobile Ad hoc Networks». Conference SCS CNDS. In Proceedings of the SCS Communication Networks and Distributed Systems Modeling and Simulation Conference (CNDS 2002), San Antonio, TX, January 27-31, 2002. 73 [16] K. Sanzgiri, B. Dahill, B. N. Levine, C. Shields, and E. M. Belding-Royer, “A Secure Routing Protocol for Ad-hoc Networks,” in Proc. of International Conference on Network Protocols (ICNP), Paris, France, Nov. 2002. [17] Yih-chun Hu, David B. Johnson, Adrian Perrig «SEAD: Secure Efficient distance Vector Routing for Mobile Wireless Ad Hoc Networks». Article de recherche publié dans Mobile Computing Systems and Applications, 2002. Proceedings Fourth IEEE Workshop 2002 [18] Yih-chun Hu and A. Perrig « Ariadne: A Secure On-Demand Routing Protocol for Ad Hoc Networks ». Article de recherche publié dans Computer Engineering & Systems, 2007. ICCES apos; 07. International Conference 27-29 Nov. 2007. [19] Nguyen , L. Zhao, P. Uisawang, and J. Platt, Security Routing Analysis for Mobile Ad Hoc Networks. http://198.11.21.25/capstoneTest/Students/Papers/docs/Final_revision37165.PDF [20] R. Perlman, Network Layer Protocols with Byzantine Robustness, Ph.D. thesis, Massachusetts Institute of Technology, Cambridge, MA, 1988. [21] B.R. Smith, S. Murthy, and J.J. Garcia-Luna-Aceves, Securing Distance-Vector Routing Protocols, http://www.isoc.org/isoc/conferences/ndss/97/smith_sl.pdf. [22] M.G. Zapata, Secure Ad Hoc On-Demand Distance Vector (SAODV) Routing, <draftguerreromanet-saodv-06.txt>. [23] E. Perkins, E. M. Belding-Royer, and S. R. Das. Ad hoc on-demand distance vector (AODV) routing. Internet Request for Comments RFC 3561, Nov. 2003. [24] R. Hauser, A. Przygienda, and G. Tsudik. Reducing the cost of security in link state routing. In Symposium on Network and Distributed Systems Security (NDSS ’97), pages 93–99, San Diego, California, Feb. 1997. Internet Society. [25] L. Zhou and Z. J. Haas. Securing ad hoc networks. IEEE Network Magazine, 13(6):24– 30, November/December 1999. [26] M.G Zapata. Securing and Enhancing Routing Protocols. Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy Doctorate in Computer Architecture and Technology Computer Architecture Department (DAC) for Mobile Ad hoc Networks. Barcelona, March 2006. [27] H. Krawczyk. Simple forward-secure signatures from any signature scheme. In ACM Conference on Computer and Communications Security, pages 108–115, 2000. [28] P. Papadimitratos and Z. J. Haas. Secure routing for mobile ad hoc networks. SCS Communication Networks and Distributed Systems Modeling and Simulation Conference (CNDS 2002), Jan 2002. [29] R. Smith, S. Murthy, and J. J. Garcia-Luna-Aceves. Securing distance-vector routing protocols. In Symposium on Network and Distributed Systems Security (NDSS ’97), pages 85–92, San Diego, California, Feb. 1997. Internet Society. 74