Domaines d’application
Les RCSFs ont été utilisés dans différents domaines. Le domaine militaire était parmi les premiers intéressés par la mise en œuvre des RCSFs. Grâce au déploiement rapide, au coût réduit, à l’autoorganisation et à la tolérance aux pannes, les RCSFs offrent aux militaires des informations précieuses sur l’évolution des combats dans le champ de bataille telles que les mouvements des ennemis, les caractéristiques des terrains difficiles d’accès, etc. Par ailleurs, les RCSFs ont été déployés dans des endroits inaccessibles ou difficiles d’accès par les humains. Les RCSFs ont fait preuve de leur efficacité même dans des conditions environnementales défavorables et très difficiles telles que les volcans, les grandes forêts, les océans, les régions polaires, etc.
Les réseaux de capteurs sans fil
RCSFs dans le but d’assurer la surveillance environnementale. A titre d’exemple, le projet TowerPower [TowerPower (2014)] vise à développer un système de contrôle à distance du vieillissement des structures des éoliennes. Egalement, le projet européen ENORASIS [ENORASIS (2014)] développe des outils de prédiction et d’optimisation dans le secteur agricole… Les RCSFs ont montré une forte présence dans l’industrie [Elahi et Gschwender (2009)]. En effet, cette dernière s’est intéressée au potentiel des capteurs afin de diminuer le coût de contrôle et de maintenance grâce à la supervision en temps réel des usines et la traçabilité des chaînes d’approvisionnement. Le domaine médical, de son côté, a inclus l’usage des RCSFs pour une multitude d’applications [Eisenman et al. (2007)][Wood et al. (2006)]. Parmi ces applications, on cite la télésurveillance des signes vitaux des patients âgés[Boudra (2014)].
Protocoles de communication
La pile protocolaire utilisée par les nœud capteurs est présentée dans la figure 1.3. Cette pile offre un ensemble de services permettant la communication et la structuration des différents nœuds dans le réseau.
Elle comprend la couche physique, la couche de liaison de données, la couche réseau, la couche transport, la couche application, le plan de gestion de l’énergie, le plan de gestion de la mobilité et le plan de la gestion des tâches. La couche physique gère la modulation, la transmission et la réception des données sur le médium radio. Elle dessert également des fonctionnalités à la couche supérieure à savoir l’alimentation du module radio, la mesure des puissances des signaux reçus et la régulation des puissances d’émission. La couche de liaison de données [Demirkol et al. (2006)] assure le contrôle et la gestion d’accès au support physique. Elle gère également les communications entre les nœuds voisins en se basant sur un système d’adressage physique. Toutcela est fait grâce à un ensemble de protocoles dédiés aux RCSFs à savoir WiseMAC [Enz et al. (2004)], S-MAC [Ye et al. (2004)], DE-MAC [Kalidindi et al. (2003)]. La couche réseau s’occupe de l’acheminement des données entre tous les nœuds du réseau grâce à des protocoles de routage tels que SPIN [Heinzelman et al. (b)], TEEN [Manjeshwar et Agrawal (b)], et LEACH [Heinzelman et al. (a)], etc. La couche transport permet de gérer le flux de données, des éventuelles erreurs de transmission et la segmentation des données délivrées par la couche application. Trois plans s’ajoutent à la pile protocolaire : le plan de gestion d’énergie qui gère la manière avec laquelle un nœud capteur maintient sa puissance, le plan de gestion de la mobilité qui suit en temps réel le mouvement de nœuds capteurs afin de maintenir la topologie du réseau et le plan de gestion des tâches qui surveille tous les événements réalisés. Ces plans de gestion sont indispensables afin que les nœuds de capteurs puissent coopérer d’une manière efficace, acheminer les données dans un réseau de capteurs mobiles et partager les ressources entre les nœuds.
Routage dans les réseaux de capteurs sans fil
Dans cette section, nous présentons un état de l’art des protocoles de routage traités dans la littérature. La transmission de l’information dans un réseau de capteurs peut se faire de deux manières : Soit l’envoi direct qui n’est possible que lorsque les nœuds sont suffisamment proches les uns des autres, soit l’envoi par routage de données.
Principaux protocoles de routage pour les RCSFs
Vue la complexité et la variété des protocles de routage dédiés aux RCSFs, plusieurs chercheurs ont proposé de les classifier selon différents critères à savoir la structure du réseau [Al-karaki et Kamal], l’établissement de la route [WASN], le paradigme de communication [Niculescu et America], le fonctionnement du protocole [Al-karaki et Kamal]…
Dans cette section, nous allons utiliser une classification en trois catégories selon le pragmatique de communication : hiérarchique, basé sur la géolocalisation et centré sur les données.
Routage Hiérarchique
Le routage hiérarchique est conçu pour optimiser surtout la consommation énergétique des nœud capteurs. Plusieurs techniques peuvent être utilisées pour réduire au plus le nombre de messages transmis dans le réseau et diminuer la consommation énergétique des nœud capteurs[I. Memon (2012)]. Parmi ces techniques, on cite l’agrégation des données, la fusion, la clusterisation, etc. Les protocoles de routage hiérarchique sont généralement adoptés afin de permettre au système de couvrir une zone d’intérêt plus large sans dégradation de la qualité de service. En fait, tous les nœuds savent que si le destinatairen’est pas dans leur voisinage direct, il suffit d’envoyer la requête à une passerelle qui la transmettra vers les nœuds cibles. Le protocole LEACH [Wendi R.], proposé par Heinzelman et al, est le plus connu dans cette catégorie. Il est basé sur une technique de clustérisation permettant de former des groupes de nœuds appelés « clusters ». Dans chaque cluster, un nœud maître est élu nommé Cluster Head (CH) afin de router les données vers le nœud Sink . Cela permet de réduire la charge au niveau des nœud capteurs puisque le routage sera fait au niveau des CHs qui présentent, en moyenne, 5% des nœuds dans le réseau [Wendi R.].
L’efficacité énergétique de LEACH a été prouvée par simulation en le comparant avec des algorithmes de communication directe. En revanche, LEACH ne passe pas à l’échelle et cette efficacité reste valable seulement pour les réseaux de petite taille. Cela est dû principalement au type de clustering utilisé qui se limite au routage à un seul saut et surtout au coûténergétique lié à la formation des clusters. Une amélioration du protocole LEACH a été proposée par Lindsey et al. [Lindsey et Raghavendra] appelée PEGASIS. L’idée principale est de remplacer les clusters par des chaînes de proches voisins et de choisir un seul nœud de chaquechaîne afin de transmettre les données au nœud Sink. Afin d’équilibrerla charge entre les nœuds capteurs dans le réseau, PEGASIS se base sur l’algorithme d’ordonnancement « Round-Robin » où une période T (Round) est réservée pour chaque nœud choisi comme relais dans la chaîne. Cela permet ainsi de diminuer la consommation énergétique des nœuds relais durant la période T. Dans [Lindsey et Raghavendra], une comparaison a été également faite avec le protocole LEACH. Les résultats obtenus ont montré sa capacité de réduire la consommation énergique et donc de prolonger la durée de vie du réseau. Selon les résultats de simulation, PEGASIS peut multiplier par trois la durée de vie du réseau par rapport au protocole LEACH. Cela est réalisé grâce à la suppressiondu processus de clustérisation permettant ainsi l’élimination de l’overhead (la quantité de trafic de contrôle échangée).
Routage centré sur les données
Dans de nombreuses applications de réseaux de capteurs, vu le nombre élevé de nœuds déployés, il n’est pas possible d’attribuer des identificateurs globaux à chaque nœud. Cette absence d’un schéma d’adressage global avec le déploiement aléatoire de nœuds de capteurs fait qu’il est difficile de sélectionner un ensemble spécifique de nœuds de capteurs à interroger. Par conséquent, plusieurs chercheurs ont axé leurs travaux sur le développement des protocoles de routage centrés sur les données. SPIN (Sensor Protocol for Information via Negotiation) [Heinzelman et al. (b)] est le premier protocole de routage qui a été proposé dans cette catégorie. Il a été conçu pour réduire les données redondantes et économiser plus de l’énergie par rapport aux techniques de transmission classique à savoir l’inondation des données. En effet, SPIN [Heinzelman et al. (b)] consiste à proposer de nouveaux types de messages permettant d’optimiser l’envoi des données utiles dans le réseau. Le premier type de messages est ’ADV’ qui représente des métadonnées décrivant les données en question. Le deuxième type est ’REQ’ qui représente une demande pour des données précises et le troisième type de message est ’DATA’ qui représente les données utiles. Avec SPIN, un émetteur doit diffuser à tous ses voisins un message de type ADV avant d’envoyer les données utiles ’DATA’(Figure 1.9). En lisant les métadonnées ADV, les nœuds voisins consultent leurs bases d’intérêt. Ceux qui sont intéressés par le descriptif, ils envoient un message de type REQ à l’émetteur de l’ADV. Une fois le nœud émetteur reçoit les messages REQ,il transmet donc le message DATA à tous les nœuds intéressés.
Sécurité dans les réseaux de capteurs sans fil
Dans cette section, nous allons commencer par une brève introduction sur la cryptographie d’une manière générale. Nous allons détailler, par la suite, quelques solutions de sécurité pour le routage dans les RCSFs ainsi que les différentes attaques et menaces qui existent.
Les systèmes cryptographiques
La cryptographie est la technique la plus utilisée dans la plupart des mécanismes de sécurité. Elle est basée essentiellement sur des algorithmes de chiffrement qui permettent de répondre aux exigences fondamentales de la sécurité pour les systèmes communicants. Les méthodes cryptographiques sont parmi les solutions les plus sûres qui répondent à l’ensemble des problématiques liées à la sécurité des données dans les réseaux filaires et les réseaux sans fil traditionnels (disposant d’une capacité de calcul et de mémoire conséquente).
Il existe deux principaux types de systèmes cryptographiques : la cryptographie symétrique et la cryptographie asymétrique, appelée souvent cryptographie à clé publique.
Cryptographie symétrique
La cryptographie symétrique se base sur le partage d’une seule clé de chiffrement appelée «secrète». Grâce à cette clé, l’expéditeur peut chiffrer le texte avant de l’envoyer au destinataire. Ce dernier, à son tour, pourrait déchiffrer le texte en utilisant le même algorithme de chiffrement et la clé secrète partagée auparavant.
Exemple d’algorithmes cryptographiques Diffie-Hellman
Diffie-Hellman est une méthode cryptographique proposée, en 1976, par Whitfield Diffie et Martin Hellman [Diffie et Hellman]. A l’aide des fonctions inversibles et le problème du logarithme discret (DLP), Diffie et Hellman ont démontré la possibilité d’utiliser un couple de clés au lieu d’une seule clé partagée. La clé publique est connue par tout le monde, par contre la clé privée est gardée secrète par son propriétaire. Avec DH, il est impossible de déterminer cette clé privée à partir de la clé publique.
La personne possédant la clé publique peut effectuer le chiffrement mais seule celle qui possède la clé privée pourrait faire l’opération inverse et déchiffrer les informations. Cette méthode se base sur la difficulté du problème suivant : Soient ’a’ un générateur d’un groupe fini ’G’ et les valeurs ’a’ et ’b’ tels que a= ax et b= ay. Le problème du Diffie-Hellmanconsiste à déterminer la valeur axy (où x et y sont des entiers aléatoires). Il est presque impossible de calculer cette valeur en connaissant seulement’a’ et ’b’.
Chaînes de clés à sens unique
Inspirée de la fonction de hachage, la chaîne à sens unique est une primitive souvent utilisée par les systèmes de gestion de clés. Elle est déterminée en appliquant successivement une fonction à sens unique à une valeur initiale. Généralement, les systèmes de gestion de clés exigent le changement fréquent des différentes clés afin de résister contre les attaques exhaustives. Pour cela, cette chaîne est utilisée afin de produire plusieurs clés à chaque instant. Le principe des chaînes de clés (cf. Figure 1.13) à sens unique consiste à affecter une clé K0 initialement (Master key) nœud Master d’un réseau. Ensuite une séquence de clés est générée. La dernière clé Kn est choisie aléatoirement, puis les clés Kn-1…K0 sont générées par application successive d’une fonction de hachage à sens unique : F(Kn) = Kn-1. La dernière clé générée K0 est la première divulguée et distribuée à tous les nœuds dans un réseau.
Cette chaîne permet également d’authentifier des messages en vérifiant leurs codes d’authentification de message (Message Authentication Code, MAC). Ces derniers sont considérés comme des signatures ou des codes accompagnant des données dans le but d’assurer l’intégrité et de vérifier les identités des nœuds.
Signature numérique
Dans le cas où le transfert des empreintes s’effectue sur un canal non sûr, on peut avoir une modification de ces empreintes par un intercepteur.
Il faut donc trouver une méthode pour garantir que seul l’expéditeur puisse calculer l’empreinte. Une des solutions les plus sûres est d’utiliser la signature numérique. Elle a été créée dans le but de faire la preuve d’identité de l’expéditeur et de garantir l’intégrité des messages échangés dans un réseau. Généralement, elle est basée sur des fonctions de hachages et de chiffrement avec des algorithmes à clé publique. La méthode basique utilisée pour la signature numérique consiste à chiffrer l’empreinte du message comme le montre la figure 1.14.
Vulnérabilité des protocoles de routage hiérarchique
Comme expliqué dans la section 1.4.1, la formation des clusters et la sélection des clusterheads (CH) se basent généralement sur la force du signal reçu au niveau de chaque nœud. Prenant le cas du protocole LEACH [Heinzelman et al. (a)], Si un nœud malveillant diffuse un message « HELLO » avec une grande puissance de transmission, il pourrait faire croire aux nœuds qu’il est un voisin proche. Dans ce cas, tous les nœuds le choisissent comme étant un CH, via lequel, ils transmettent ses données vers la station de base. Cette attaque est appelée « Hello Flooding » [Magotra et Kumar (2014)]. Le nœud malveillant peut encore utiliser la même technique pour lancer l’attaque « retransmission sélective » [de Meulenaer et al. (2008)] et donc filtrer les données reçues en laissant passer quelques-unes. Il peut de plus lancer l’attaque Sybil [Chen et al. (2010b)] où des identifiants multi-nœuds sont générés et revendiqués afin qu’il soit réélu encore une fois comme un Cluster-Head.
Vulnérabilité des protocoles de routage centrés données
Rappelons que le routage centré sur les données est basé sur le principe requête/intérêt et les techniques d’inondation. Cela rend considérablement difficile à un adversaire d’intercepter les intérêts ou d’empêcher leur diffusion dans le réseau. Néanmoins, une fois les nœuds sources commencent à envoyer les données, plusieurs attaques pourraient parvenir. Prenant par exemple l’attaque déni de service [Wood] dans le routage DD. Avec un simple message de renforcement négatif [Intanagonwiwat et al.], un nœud malveillant peut bloquer un canal de communication sans fil entre la source et la station de base. Ainsi, le débit de transmission baisse et plusieurs données sont rendues inaccessibles.
Un nœud malveillant peut également usurper l’identité du nœud Sink et récupérer par la suite toutes les données envoyées par les nœuds capteurs.
On parle dans ce cas d’une attaque de clonage. Dans le tableau 1.3, nous présentons un récapitulatif des différentes attaques possibles selon le type de routage. De telles attaques empêchent les nœuds capteurs d’acheminer correctement les données dans le réseau et d’assurer la fiabilité et la qualité de leur service. De ce fait, des mécanismes de sécurité doivent nécessairement être appliqués aux réseaux de capteurs pour contrer ces attaques et assurer notamment le bon fonctionnement du routage.
La technologie ZigBee
L’alliance ZigBee, formée par un consortium d’entreprises, a proposé un standard dédié aux réseaux de capteurs sans fil à basse consommation d’énergie et à faible débit. Ce standard s’appuie sur toutes les couches de la norme IEEE 802.15.4 [IEEE802]. Il rajoute à cette dernière plusieurs autres fonctionnalités que nous allons présenter dans cette section. Allant de la couche réseau à la couche applicative, ZigBee propose ses propres protocoles en mettant en place une architecture multi-pile (cf. Figure 2.1).
Dans cette section, nous allons présenter d’abord les différentes couches de la norme IEEE 802.15.4 (couche physique et couche MAC), constituant la base de nombreux réseaux de capteurs sans fil et nous allons décrire par la suite, en détail, le standard ZigBee, l’une des technologies les plus prometteuses dans les réseaux de capteurs sans fil.
Couche liaison de données d’IEEE 802.15.4
Avec plus de fonctionnalités que la couche physique, la couche liaison de données de l’IEEE 802.15.4 gère principalement l’accès au médium, l’acquittement des trames et l’association des nœuds. Elle est composée de deux sous-couches : La première gère le contrôle de la liaison logique LLC (Logical Link Control) et la deuxième gère le contrôle d’accès au support MAC (Medium Access Control). La sous-couche LLC a pour rôle de contrôler la liaison logique et construire les trames de données envoyées sur le canal de communication alors que la sous-couche MAC (Medium
La technologie ZigBee
Acces Control), comme son nom l’indique, a pour rôle de gérer l’accès au canal avec la technique CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) mais elle permet également de gérer les « beacons » et les GTS (Guaranteed Time Slots), pour la synchronisation entre les coordinateurs et les nœuds associés (Voir section 2.1.2).
– Les trames dans IEEE 802.15.4 : Toutes les données au niveau de cette couche sont échangées sous forme de trames. Afin d’assurer correctement ces échanges, le standard IEEE 802.15.4 propose quatre types de trames : les trames « Beacon », les trames de donnée, les trames d’acquittement et les trames de contrôle : les trames Beacon sont envoyées uniquement par les nœuds coordinateurs servant à administrer le réseau. Les trames de données servent au transfert des données utiles entre les nœuds. Les trames d’acquittement servent à notifier la bonne réception des autres types de trames. Les trames de contrôle servent à effectuer des demandes spécifiques telles que l’association au réseau.
|
Table des matières
Liste des figures
Introduction générale
1 Etat de l ’art
1.1 Les réseaux de capteurs sans fil
1.1.1 Caractéristiques des réseaux de capteurs sans fil
1.1.2 Domaines d’application
1.1.3 Protocoles de communication
1.1.4 Consommation d’énergie dans les RCSFs
1.2 Réseaux de capteurs et Internet des Objets
1.3 Routage dans les réseaux de capteurs sans fil
1.3.1 Principaux protocoles de routage pour les RCSFs
1.3.2 Synthèse
1.4 Sécurité dans les réseaux de capteurs sans fil
1.4.1 Les systèmes cryptographiques
1.4.2 Exemple d’algorithmes cryptographiques
1.4.3 Les exigences et les besoins de la sécurité dans les RCSFs
1.4.4 Sécurité dans les RCSFs
1.4.5 Solutions de sécurité au niveau du routage
Conclusion
2 Routage dans les réseaux de capteurs sans fil
2.1 La technologie ZigBee
2.1.1 La norme IEEE 802.15.4
2.1.2 Le standard Zigbee
2.2 Etude comparative entre les protocoles de routage AODV et ZBR
2.2.1 Etude de délai de bout en bout
2.2.2 Taux de paquets délivrés (TPD)
2.2.3 Durée de vie du réseau (lifetime)
2.2.4 Synthèse
2.3 Proposition d’un nouveau protocole de routage ZBRM (ZigBee Routing protocol-Modified)
2.3.1 Description de l’algorithme modifié ZBR-M
2.3.2 Exemple d’illustration
2.3.3 Analyse de performance du protocole ZBR-M
2.3.4 Résultats de simulation
Conclusion
3 Sécurité à basse consommation d’énergie dans les réseaux de capteurs sans fil
3.1 Choix de l’IPSec pour la sécurité de bout en bout dans les RCSFs
3.2 Gestion des clés dans les réseaux de capteurs sans fil
3.3 Implémentation de l’IKEv2
3.3.1 Descriptif général du protocole IKEv2
3.3.2 Simulation de l’IKEv2 (version légère)
3.4 Proposition d’une nouvelle approche de collaboration CKES
3.4.1 Hypothèse
3.4.2 Les opérations cryptographiques les plus coûteuses
3.4.3 Description du protocole CKES
3.4.4 Simulation
Conclusion
4 Validation et vérification du CKES en utilisation les méthodes formelles
4.1 Notions de base
4.1.1 Méthodes de vérification formelle
4.1.2 Spécification formelles
4.1.3 Vérification formelle
4.2 Outil de vérification formelle
4.2.1 AVISPA
4.2.2 Outil graphique SPAN
4.3 Formalisation et validation du protocole CKES
Conclusion
Conclusion générale
Bibliographie