• Aucun résultat trouvé

Hypothèses du réseau, modèles d'adversaires et protocoles étudiés

État de l’art 2

2.2 Étude préliminaire des protocoles de routage en cas d'attaques

2.2.1 Hypothèses du réseau, modèles d'adversaires et protocoles étudiés

Hypothèses du réseau

Nous considérons deux types de n÷ud dans le réseau : les capteurs (n÷uds sources) et le puits (point de collecte). Les capteurs sont des n÷uds simples permettant de mesurer des grandeurs du monde physique (luminosité, humidité, concentration d'un gaz spécique dans l'air, etc.). Les capteurs sont considérés comme physiquement identiques (même puissance de transmission ou de calcul, et mêmes paramètres de conguration). Ils sont déployés de manière aléatoire et uniforme avec une forte densité sur une région N × N. Le puits est placé au centre de la région de déploiement (aux coordonnées {N/2, N/2}). Nous prenons les hypothèses suivantes :

 le puits est considéré comme robuste, ayant des ressources susantes en termes de mémoire, de calcul et d'énergie pour supporter des dispositifs cryptographiques. Les adversaires ne pourront pas compromettre le puits durant un temps ni.

 les capteurs sont des entités simples et limitées en termes de ressources (mémoire, calcul et énergie). Nous prenons l'hypothèse que les n÷uds capteurs sont vulnérables aux attaques physiques et les adversaires peuvent donc les détruire ou les compromettre. Nous considérons un graphe connexe pour représenter la topologie physique du réseau. Les paquets sont acheminés entre les sources et le puits sur cette topologie physique. Nous considérons G(Ω, E) un graphe aléatoire. Ω est l'ensemble des n÷uds. E est l'ensemble des arêtes représentant les liens de communication entre les n÷uds. Dans ce modèle, les n÷uds sont placés aléatoirement sur un plan N × N selon une distribution aléatoire et uniforme. Un lien existe entre deux n÷uds i et j si la distance euclidienne entre ces deux n÷uds est inférieure à la portée de communication. Tous les n÷uds ont le même rayon de transmission. Ce modèle implique que les liaisons sans l sont bidirectionnelles, c'est-à-dire si le n÷ud i entend le n÷ud n÷ud j, alors la réciproque est vraie : le n÷ud j peut aussi entendre le n÷ud i.

Modèles d'adversaire

Dans cette étude, notre modèle d'adversaires correspond à des attaques actives, internes et à des attaquants ordinaires selon les dénitions présentées dans 1.1.2.

Nous considérons l'attaque Selective forwarding, où les n÷uds malveillants ne retrans-mettent pas les paquets de données. Cette attaque a la particularité d'être réalisable avec tous les protocoles de routage étudiés. De plus, s'attaquant au processus de retransmis-sion des paquets de données, elle est particulièrement pertinente pour étudier le succès de transmission des protocoles de routage.

Dans le routage multi-sauts, les paquets peuvent traverser plusieurs n÷uds avant d'at-teindre leur destination. Avec le Selective forwarding, les n÷uds malveillants ne remplissent plus leur rôle de routeur et jettent une partie ou la totalité des messages transitant par eux au lieu de les retransmettre. Dans le modèle d'attaques Selective forwarding, la non retransmission des paquets s'applique uniquement aux paquets de données DATA. Nous ne considérons donc pas la non retransmission des paquets de contrôle (RREQ, RREP, INIT etc.).

2.2 Étude préliminaire des protocoles de routage en cas d’attaques

Dans nos simulations, nous nous focalisons sur deux scénarios de distribution des n÷uds compromis. De manière aléatoire et uniforme dans l'ensemble du réseau N × N (i) dans un premier temps, et dans une petite zone M × M, M = N/4 autour du puits (ii) dans un second temps.

 Scénario 1 :

Dans ce scénario, nous supposons que l'adversaire n'a pas d'information sur l'emplace-ment du puits et nous considérons donc des n÷uds compromis distribués à des positions aléatoires dans l'ensemble du réseau. Ainsi, un pourcentage k des n÷uds est compromis (10% à 50% de la population des n÷uds du réseau) et est aléatoirement et uniformément réparti sur une zone de déploiement N × N. Un exemple est donné sur la Figure 2.6 (a), où les n÷uds compromis sont indiqués en rouge. Les n÷uds malveillants jettent les paquets de données en provenance de leurs voisins. Cependant, les n÷uds malveillants continuent de générer leurs propres données au puits an d'éviter d'être repérés.  Scénario 2 :

Dans ce scénario, nous supposons que l'adversaire a des informations sur l'emplacement du puits. Par souci d'ecacité, un adversaire peut tenter de compromettre les n÷uds à proximité du puits. Ainsi, une zone de la taille M × M est dénie (1/4 de N × N), autour du puits, où un pourcentage k des n÷uds compromis est distribué aléatoirement comme indiqué sur la Figure 2.6 (b). Les n÷uds compromis se comportent de la même façon que dans le scénario précédent.

(a) (b)

Figure 2.6: Distribution des n÷uds compromis (cercle) uniformément : (a) dans le réseau (b) autour du puits (carré).

Protocoles de routage étudiés

Nous classons dans [1] les protocoles de routage dans les réseaux de capteurs dans quatre catégories principales : (a) avec découverte des routes (ou gradient), (b) probabilistes, (c)

géographiques et (d) hiérarchiques (Figure 2.7).

Figure 2.7: Catégories des protocoles de routage dans les réseaux de capteurs [1]. Les protocoles de routage de la catégorie (a) utilisent le mécanisme d'inondation pour découvrir les routes, maintenir l'information topologique ou congurer les gradients. Les protocoles de routage de la catégorie (b) permettent aux n÷uds de choisir le prochain saut en fonction d'une certaine probabilité ou de façon totalement aléatoire. Les protocoles de routage géographique (c) utilisent l'information de localisation pour créer et maintenir une topologie de routage : chaque n÷ud doit connaître l'emplacement de la destination, son propre emplacement et parfois, ceux de ses voisins. Les protocoles hiérarchiques (d) sont basés sur une hiérarchie entre les n÷uds : certains n÷uds peuvent être physiquement dié-rents (réseau hétérogène), ou bien, dans le cas où les n÷uds sont physiquement identiques (réseau homogène), ils peuvent attribuer des rôles particuliers à certains d'entre eux avec un mécanisme d'élection.

Pour comparer le comportement des protocoles de routage confrontés à des attaques, nous avons choisi cinq protocoles candidats à partir des diérentes catégories : Dynamic Source Routing (DSR)[26], Gradient Based Routing (GBR) [27], Greedy Forwarding (GF)[28], Ran-dom Walk Routing (RWR)[29] et Biased RanRan-dom Walk Routing (BRWR)[2].

2.2 Étude préliminaire des protocoles de routage en cas d’attaques Dynamic Source Routing (DSR)

DSR est un protocole de routage basé sur le mécanisme d'inondation, considérant trois types de paquets : RREQ, RREP et DATA (Figure 2.8). Le paquet RERR n'est pas considéré dans cette étude. Les n÷uds sources inondent le réseau avec un paquet RREQ an de découvrir les routes vers le puits. Les identités des n÷uds traversés en chemin sont sauvegardées dans l'entête du paquet RREQ. Quand le puits reçoit un paquet RREQ d'une source pour la première fois, il répond avec un paquet RREP par le chemin inverse. Quand les n÷uds en chemin reçoivent le paquet RREP, ils mettent à jour leur table de routage. Quand la source reçoit un paquet RREP, elle envoie ses paquets DATA au puits. La topologie du réseau étant considérée comme statique, le processus de découverte des routes est prévu uniquement au début de la simulation, quand un n÷ud source envoie son premier paquet DATA.

(a) (b) (c)

Figure 2.8: DSR : Envoi des paquets (a) RREQ (b) RREP (c) DATA Gradient-Based Routing (GBR)

GBR est un protocole de routage basé sur le mécanisme d'inondation, considérant deux types de paquet : INIT et DATA (Figure 2.9). Le puits inonde le réseau par un paquet INIT an de congurer les gradients pour chaque n÷ud. Le paquet INIT enregistre le nombre de sauts eectués à partir du puits. Chaque n÷ud a connaissance ainsi du nombre minimum de sauts au puits, appelé hauteur. La diérence de hauteur entre un n÷ud et un de ses voisins est le gradient de ce lien. Le processus de découverte des gradients est prévu uniquement au début de la simulation. Ensuite, à chaque saut un n÷ud transmet le paquet DATA au voisin avec le gradient minimum jusqu'à ce que le puits reçoive le paquet.

Greedy Forwarding (GF)

GF est un protocole de routage géographique, considérant deux types de paquet : HELLO et DATA (Figure 2.10). Chaque n÷ud connaît son propre emplacement et l'emplacement du

(a) (b)

Figure 2.9: GBR : Envoi des paquets (a) INIT (b) DATA

puits. Chaque n÷ud diuse à ses voisins un paquet HELLO avec son identité et ses informations de localisation. Tous les voisins qui reçoivent ce paquet HELLO mettent à jour leur table de voisinage. Ensuite, chaque n÷ud transmet ses paquets DATA vers le voisin géographiquement le plus proche au puits en réalisant ainsi un progrès maximum en direction du puits. Nous considérons la version basique sans aucun mécanisme de contournement des trous, puisque nous considérons une topologie dense sans trou.

(a) (b)

Figure 2.10: GF : Envoi des paquets (a) HELLO (b) DATA Random Walk Routing (RWR)

RWR est un protocole de routage probabiliste, considérant deux types de paquet : HELLO et DATA (Figure 2.11). Nous considérons une marche aléatoire basique. Chaque n÷ud diuse

2.2 Étude préliminaire des protocoles de routage en cas d’attaques

un paquet HELLO avec son identité. Tous les voisins qui reçoivent ce paquet HELLO mettent à jour leur table de voisinage. Un n÷ud envoie ou retransmet des paquets DATA à un voisin choisi aléatoirement et uniformément jusqu'à ce que le puits reçoive le paquet ou que la durée de vie TTL time-to-live du paquet soit atteinte. TTL est xé à 32 sauts. Il est à noter que RWR peut produire des boucles de routage.

(a) (b)

Figure 2.11: RWR : Envoi des paquets (a) HELLO (b) DATA Biased Random Walk Routing (BRWR)

BRWR est un protocole de routage probabiliste, considérant deux types de paquet : INIT et DATA (Figure 2.12). Nous considérons une marche aléatoire biaisée vers le puits grâce à l'information sur la distance au puits en nombre de sauts. Cette information peut être obtenue de diérentes manières. Dans cette étude, nous considérons l'envoi d'un paquet INIT par le puits pour établir les informations de distance en nombre de sauts (de type gradient). À chaque saut, le paquet est envoyé de manière équiprobable, soit à un voisin de niveau inférieur (le paquet progresse donc vers le puits), soit à un voisin de même niveau (le paquet ne progresse ni ne s'éloigne du puits), jusqu'à ce que le puits reçoive le paquet ou que la durée de vie TTL du paquet soit atteinte.