doc num

publicité
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
Téléchargement