Sélection des cNodes selon l’énergie résiduelle
Mécanisme de sélection des cNodes
Utilisation des vNodes pour sécuriser le processus de sélection Les hypothèses présentées en début de chapitre 4 (sous-section 1.1) demeurent va lables ici. Le processus de sélection dans ce chapitre repose sur l’énergie restante pour chaque nœud au moment dure nouvellement.
Cette énergie disponible dans la batterie est dite «énergie résiduelle».Afin de répartir au mieux la charge, les nœuds possédant le plus d’énergie en réserve sont sélectionnés pour assurer la tâche qui consomme le plus. Maisl’usagedelavaleurd’énergierésiduellecommecritèredesélectionprésente un inconvénient notable :
il n’y a aucun agent, dans le réseau, capable de mesurer de façon fiable le niveau d’énergie présent dans la batterie d’un nœud donné, si ce n’est ce nœud lui-même. Les nœuds voisins d’un nœud peuvent tout au plus enregis trer les messages envoyés par , et en inférer une valeur approximative de l’énergie consommée.
Mais comme ils ne connaissent ni le niveau d’énergie initial de (au moment du déploiement du réseau) ni l’énergie dépensée par lors de l’écoute du médium de transmission, la consommation approximative calculée ne permet pas de déduire le niveau d’énergie résiduelle avec une précision suffisante pour classer les nœuds de façon fiable sur ce critère. Aussi la seule façon d’obtenir le niveau de charge de la batterie d’un nœud est elle de le lui demander.
L’algorithme de sélection proposé s’écrit donc de la manière suivante : 1. Au cours d’une première phase, chaque nœud évalue la valeur de son énergie résiduelle et la transmet au cluster head; 2. Unefois cettephaseterminée (lorsque le cluster head a reçu la valeur de chaque nœud, ou lorsque le délai d’attente a expiré),
le CH sélectionne les capteurs possédant le niveau d’énergie le plus élevé(où représente le nombre de cNodes que l’on souhaite obtenir durant chaque cycle) et envoie à ceux-ci un message de notification pour leur assigner leur rôle de cNode. Cet algorithme est déterministe, et élimine tout aspect aléatoire du processus de sé lection.
La règle est simple : les nœuds possédant le plus d’énergie en réserve au moment de la sélection sont désignés. Comme le rôle de cNode est censé impliquer une consommation plus élevée en ressources énergétiques, la rotation des rôles est théoriquement assurée. Mais l’aspect entièrement déterministe du processus peut aussi représenter une faille qui pourrait être exploitée par des nœuds compromis souhaitant s’assurer d’être sélectionnés.
Un attaquant a effectivement intérêt à faire attribuer le rôle de cNode aux nœuds qu’il a compromis, car cela lui permet : • de réduire le nombre de cNodes légitimes dans le réseau capables de détecter les capteurs compromis; • de signaler au cluster head des capteurs « innocents » comme étant compromis, dans le but de les faire exclure du réseau. Quan dun algorithme de sélection (pseudo-)aléatoire est appliqué, un nœud compro mis peut très bien être désigné pour un cycle, mais il perdra rapidement son rôle de surveillance,
pour les cycles suivants. Même avec un processus d’auto-désignation (basé sur le modèle de LEACH par exemple), les nœuds compromis pourraient tenter de conserver leur rôle de cNode sur plusieurs cycles, mais cela n’empêcherait pas des capteurs légitimes de s’auto-désigner également. Avec un processus déterministe, les nœuds compromis peuvent en revanche monopoliser la plupart des rôles de cNodes.
Tout ce qu’ils ont à faire, pour en arriver là, consiste à annoncer un niveau de charge batterie plus élevé que celui des capteurs légitimes lors de la première phase de l’al gorithme de sélection. Ils sont alors assurés d’être désignés cNodes ; et s’il se trouve y avoir au moins nœuds compromis au sein du cluster, ils peuvent de cette manière accaparer les rôles de cNode et désactiver du même coup le mécanisme de détection dans son intégralité. L’attaque devient alors impossible à détecter et à contrer.