• Aucun résultat trouvé

Plusieurs m´ecanismes pour s´ecuriser le routage ont ´et´e propos´es. La notion de s´ecurit´e est particuli`erement vaste, sachant qu’un attaquant est susceptible de supprimer, d´et´eriorer, dupliquer ou d´esordonnancer les paquets re¸cus, voire mˆeme de forger des paquets corrompus. Les protocoles propos´es se concentrent pour la plupart sur l’authentification des nœuds source et destination afin de garantir qu’aucun attaquant ne peux usurper l’identit´e d’un des deux. Les probl`emes de plus bas niveau (la transmission physique des donn´ees et en particulier le protocole d’acc`es ne sont pas ´etudi´es) et de plus haut niveau (confidentialit´e et int´egrit´e des donn´ees transmises apr`es ´elaboration des routes) ne sont pas consid´er´es ici.

Les attaques visant les donn´ees de routage d’un r´eseau ad hoc sont de divers types. On mentionne fr´equemment :

– usurpation d’identit´e de la source ou de la destination ;

– falsification des caract´eristiques d’une route (notamment utilisation d’un num´ero de s´equence trop grand pour invalider les autres, ou diminution de la longueur r´eelle) ;

– suppression de messages ; – r´eutilisation d’anciens messages ;

– utilisation de tunnel entre plusieurs nœuds corrompus.

Afin de pr´evenir de ce genre d’action plusieurs algorithmes utilisent des syst`emes de suite de hach´e,

autrement dit, des quantit´es (h0, h1, ..., hn) o`u hi+1 = H(hi) et H est une fonction de hachage. Sont

´egalement employ´ees des signatures (chiffrement du hach´e d’une information), de certificat et les m´ethodes classiques de chiffrement sym´etrique ou `a cl´ee public.

ARAN

ARAN [eBDeBLeEBR02] fait intervenir un nœud particulier T qui joue le rˆole de serveur. T d´elivre

`a chaque nœud entrant X un certificat certX contenant entre autre l’identifiant de X et KX+, une cl´e

publique que X a choisi. Chaque nœuds du r´eseau peut v´erifier la validit´e d’un message sign´e par X grˆace

`a ce certificat (d´elivr´e conjointement) et `a la cl´e publique de T , KT+ (connue de tous les nœuds). Avant

transmission d’une requˆete, la source X la signe en utilisant la cl´e secr`ete KX. Le r´esultat et le certificat

certX sont ensuite transmis. Chaque interm´ediaire signe lui-mˆeme une seconde fois en prenant soin de

tester tout d’abord la signature du pr´ec´edent interm´ediaire puis de la retirer. De plus chaque interm´ediaire

conserve en m´emoire l’adresse du voisin qui lui a fourni le message. `A l’arriv´ee la destination s’assure de

l’identit´e de la source puis effectue le mˆeme proc´ed´e en sens inverse, chaque interm´ediaire sachant alors quel chemin utiliser. Avec cette m´ethode, chaque nœud qui transmet de l’information a n´ecessairement re¸cu l’aval du serveur. Par ailleurs source et destination peuvent s’authentifier mutuellement.

ARIADNE

Le but du protocole ARIADNE [eAPeDBJ02], bas´e sur DSR, consiste `a garantir moyennant un faible

coˆut de calcul que :

– si un nœud destination D re¸coit un message de requˆete de la source S il peut garantir que cette requˆete a bien ´et´e ´emise par S ;

– si S re¸coit une r´eponse il peut d´eterminer si la route qu’elle contient est valide (autrement dit, chaque nœud interm´ediaire est correcte).

Le bon fonctionnement d’ARIADNE est assur´e par l’utilisation de m´ethode de chiffrement sym´etrique (chaque couple de nœud poss`ede deux cl´es, une pour chaque sens de communication) avec un m´ecanisme d’authentification particulier. Les auteurs mettent en particulier l’accent sur la m´ethode d’authentification TESLA. TESLA consiste `a envoyer `a chaque requˆete de route le V-i`eme ´el´ement d’une chaˆıne de hach´es

g´en´er´ee `a partir d’un ´el´ement al´eatoire K0. En supposant que le Kn de chaque nœud est connu de tous

et en diminuant V avec le temps on assure qu’il existe un test permettant de d´eterminer si un message

comportant Ki a bien ´et´e form´e par le nœud suppos´e. Il suffit pour cela de v´erifier si Kn = Hn−i(Ki).

V est une fonction de l’instant ti o`u le test est effectu´e. Cette particularit´e n´ecessite donc que chaque

nœud comporte une horloge synchronis´ee avec celles des autres. Le fonctionnement g´en´eral d’ARIADNE s’effectue comme il suit :

1. La source S calcule, grˆace `a un algorithme de certificat M AC et de la cl´e secr`ete KS,Dpartag´ee par

lui et la destination D, une signature des donn´ees de routage `a envoyer hS = M ACKS,D(requete).

La requˆete contient entre autre la quantit´e ti correspondant `a la date suppos´ee d’arriv´ee `a la

destination.

2. Chaque interm´ediaire X calcule le hach´e de son adresse concat´en´ee `a cette quantit´e hX = H(IDX, hY),

ainsi que sa propre signature MX = M ACKX,ti(requete||route parcourue) en utilisant comme cl´e

KX,ti, l’´el´ement relatif `a l’instant ti dans la chaˆıne fournit par TESLA.

3. La destination v´erifie si hY = H(IDY, H(IDX, ...M ACKS,D(requete)...)). Elle ´elabore alors une

r´eponse, la signe avec MD = M ACKS,D(reponse||route complete) et l’envoie `a la source par le

chemin contenu dans le message.

4. Chaque interm´ediaire ajoute au message la cl´e KX,ti qu’il a pr´ec´edemment utilis´e.

5. La source v´erifie que chaque cl´e KX,ti est valide, si oui que la signature de la destination MD est

valide, puis chaque signature MX est valide.

ARIADNE garantit qu’une information de routage modifi´ee par un nœud malveillant est rejet´ee. Un nœud ne peut en particulier pas d´etourner un trafic vers lui s’il n’est pas sur le chemin optimal, ni cr´eer de fausses routes. Par ailleurs une s´ecurisation des messages d’erreur est ´egalement effectu´ee.

SEAD

SEAD [eDJeAP02] est un protocole proactif `a vecteur de distance inspir´e par DSDV. Le m´ecanisme de protection est tr`es similaire `a celui de TESLA mais ne fait cependant pas intervenir de calcul fonction

du temps. Chaque entr´ee diffus´ee par X est associ´ee avec un hach´e KX,i correspondant :

– soit `a un certain ´el´ement KX,ide sa propre s´equence KX,n, ..., KX,1, KX,0 pour l’entr´ee concernant X

lui-mˆeme ;

– soit au hach´e de KZ,i0, quantit´e pr´ec´edemment associ´ee `a cette entr´ee pour tout autre nœud Z.

L’´el´ement KX,i est choisi en fonction du nouveau num´ero de s´equence associ´e `a la mise `a jour - plus le

num´ero est grand, plus V est petit. Etant donn´e qu’`a chaque saut on op`ere KX,i+1= H(KX,i), il d´epend

´egalement de la distance parcourue depuis la source. Un tel m´ecanisme garantit alors qu’il n’est pas possible pour un nœud malveillant ni d’augmenter le num´ero de s´equence pour faire croire `a une route plus r´ecente, ni de diminuer la distance parcourue.

SAODV

SAODV [Zap05] est une version s´ecuris´ee de AODV. `A l’envoi d’une requˆete ou d’une r´eponse chaque

nœud ´emetteur X g´en`ere une nouvelle chaˆıne de hach´es Kn, ..., K1, K0 et transmet Kn et Hash = K0

en plus des donn´ees. Les donn´ees du message sont par ailleurs sign´ees, `a l’exception de Hash et de la

distance parcourue Dist (nulle au d´ebut). Chaque interm´ediaire v´erifie si Kn = Hn−D(Hash). Si oui,

il incr´emente D et calcule Hash ← H(Hash). Les donn´ees ´etant sign´ees, un nœud malveillant ne peut fabriquer de fausse route.

SRP

Dans SRP [eZJH02], autre protocole r´eactif, chaque couple de nœud partage d’une cl´e secr`ete KS,D. Celle-

ci est notamment utilis´ee pour signer la requˆete envoy´ee par S. `A chaque saut, un nœud interm´ediaire

ajoute son adresse au message. La destination D peut seule lire la signature. Elle forme alors sa r´eponse

en incluant le chemin parcouru et en signant le tout avec KS,D. La r´eponse progresse en suivant le chemin

inverse jusqu’`a S qui peut v´erifier `a son tour de la validit´e du message re¸cu.

II.9.b Multicast

Un certain nombre de protocoles a ´et´e d´evelopp´e `a partir des protocoles standards afin d’int´egrer des fonctions multicast dans lesquels un paquet peut ˆetre d´elivr´e `a plusieurs destinations. L’objectif de ce genre d’approche est d’´eviter que certaines donn´ees particuli`erement demand´ees ne n´ecessitent autant de transmissions que de r´ecepteurs. Dans une approche multicast, un seul envoi est th´eoriquement suffisant pour atteindre plusieurs nœuds et ainsi limiter la charge du r´eseau. L`a encore, les variations topologiques fr´equentes constituent le principal obstacle `a l’adaptation des m´ethodes ´elabor´ees pour le filaire. Les applications susceptibles d’utiliser l’envoi multicast sont multiples tels que les services de chat (mes- sagerie instantan´ee), la vid´eoconf´erence, le calcul r´eparti, le travail collaboratif, la r´eplication de base de donn´ees, les jeux en ligne ...

Bien que l’approche proactif/r´eactif soit encore utilisable ici, d’autre crit`eres sont ´egalement `a prendre en compte. Il s’agit notamment de la repr´esentation en arbre ou en maillage du r´eseau (respectivement tree-based et mesh-based protocols). Dans l’approche en arbre, une source voulant envoyer un message en

multicast utilise un arbre source (un seul chemin vers n’importe quelle destination). Dans un maillage il existe au contraire plusieurs chemins. Cette approche est moins efficace en terme de calcul mais n´eanmoins plus adapt´ee face `a la mobilit´e des nœuds. En outre, le nœud `a l’origine de l’envoi multicast (la source ou les destination) est un troisi`eme aspect `a prendre en compte.

Ci dessous les principaux protocoles :

– MAODV (Multicast Ad-hoc On-Demand Distance Vector routing) [eCEP99] bas´e sur AODV, r´eactif, initi´e par les destinations, utilisant une topologie en arbre ;

– ODMRP (On-Demand Multicast Routing Protocol) [eMGeCCC99] r´eactif, initi´e par la source, utilisant une topologie en maillage ;

– ADMR (On-Demand Associativity-Based Multicast) [eDBJ01] r´eactif, initi´e par la source, utilisant une topologie en arbre ;

– ABAM (On-Demand Associativity-Based Multicast) [eGGeSB00] r´eactif, initi´e par la source, utilisant une topologie en arbre ;

– MZR (Multicast Zone Routing) [eAASeDS01] initi´e par la source, utilisant une topologie en arbre ; – SRMP (Source Routing-based Multicast Protocol) [eHL02] r´eactif, utilisant une topologie en maillage ;

Documents relatifs