• Aucun résultat trouvé

Phases de déroulement du protocole 1 Phase de pré-distribution

Emetteur Msg

CONTRIBUTION ET IMPLÉMENTATION

5. Notre solution

5.4. Phases de déroulement du protocole 1 Phase de pré-distribution

La station de base effectue les opérations suivantes :

- Calculer les paramètres qui seront utilisés pour exécuter l’algorithme de la cryptographie sur les courbes elliptiques (ECC) : un grand nombre premier p et un point G.

- Initialiser un tableau T contenant un identificateur pour chaque nœud du réseau, une clé secrète x utilisée pour établir une clé privée entre un nœud et ses voisins, une valeur calculée Px (Voir le tableau (5.7)). Px est calculée comme suit : Px = gx mod p.

- Générer une clé initiale commune Kinit.

- Charger chaque capteur avec les informations suivantes : ID, Kinit, p, x, Px. 5.4.2. Phase de construction

a) La station de base (SB) diffuse un message de découverte de voisinage : SB  * : E (Kinit, IdSB, Join, 0) …………(1).

b) A la réception du message (1), les nœuds voisins de la SB répondent par le message suivant : V  SB : E (Kinit, Idx, Replay, Px).

c) La SB reçoit tous les messages des voisins V et établit une clé de session avec eux en calculant K (SB, V) = (Px)y. Puis elle envoi à chaque nœud voisin le message

suivant : SB  V : E (Kinit, IdSB, Py). Les nœuds voisins calculent de la même

manière la clé de session avec la SB : K (SB, V) = (Py)x. A la fin de cette étape,

(N/10) de nœuds sont désignés comme des CHs. (N est le nombre de nœuds du réseau).

d) Les nœuds CHs diffusent un message de découverte de voisinage : CH  * : E (Kinit, IdCH, Join, 0) ………….(2).

e) Les nœuds récepteur du message (2) répondent par un message Replay et ignorent tous les autres messages reçus : V  CH : E (Kinit, IdV, Replay, Px).

f) Le nœud CH reçoit tous les messages de ses nœuds voisins qu’il considère comme des nœuds membres de son cluster. Pour chaque nœud membre, calcule K (CH, m) = (Px)y et lui transmet le message suivant : CH  M : E (Kinit, IdCH,

Share, Py). Le nœud membre initialise sa variable MonCH = IdCH et calcule sa clé

de session avec son Cluster Head : K (CH, m) = (Py)x.

g) Après l’établissement de clés symétriques avec chacun des nœuds de son cluster, le CH diffuse un message contenant un secret x que tous les nœuds du cluster doivent utiliser pour établir une clé commune pour authentifier les messages en Broadcast du cluster. Le message est : CH  M : E (Kinit, IdCH, Share, x).

h) Le CH et chaque membre de son cluster calcule la clé privée commune en utilisant le paramètre x.

i) A la fin de cette étape, tous les nœuds CH auront établis trois types de clés : une clé partagée avec la station de base, une clé partagée avec chacun des nœuds du cluster et une clé commune partagée avec tous les nœuds du cluster. Les nœuds membres établissent deux types de clés : une clé partagée avec le CH et une clé commune partagée avec tous les nœuds du cluster.

5.4.3. Phase de reconstruction

La reconstruction de la topologie du réseau se fait à chaque fois que le niveau en ressources énergétiques d’un nœud CH atteint un niveau beaucoup plus inférieur aux autres niveaux des autres nœuds du réseau. Cette constatation sera faite par la station de base qui diffuse un message de reconstruction du cluster ayant pour chef le nœud à remplacer et l’identité du nouveau nœud CH du cluster. Ce dernier envoi un message en Broadcast à tous les nœuds membres du cluster pour les informer de ce changement en modifiant leurs variables MonCH avec l’identité du nouveau chef et en supprimant les clés partagées avec l’ancien CH et lancent des messages d’établissement et d’échange de clés avec le nouveau CH.

5.4.4. Phase de renouvellement

Cette mesure vise à renforcer la sécurité du réseau. la station de base (SB) diffuse un message de renouvellement de clés SB  CH : (E (K (SB, CH), IdSB, Renew, 0), p, g,

Py)…(1) avec p et g les deux nouvelles données générées publiquement et utilisées dans

Chaque nœud CH lance la procédure de renouvellement de clés avec ses nœuds membres du cluster. Durant la procédure de renouvellement, chaque nœud CH calcule Py = gy mod p et le transmet à tous ses nœuds membres et chaque nœud membre calcule

son Px = gx mod p et le transmet au CH. Les deux parties génèrent une clé de session en

calculant (Py)x du coté des nœuds membres et (Px)y du coté du CH.

5.4.5. Phase de révocation

La phase de révocation se déclenche à chaque compromission d’un nœud du réseau. Si le nœud compromis est un nœud membre d’un cluster, son CH supprime de sa mémoire la clé partagé avec lui, le place en quarantaine, ignore ses messages et le signale à la station de base pour ne jamais le désigner CH lors des phases de reconstruction du réseau. Si le nœud compromis est un CH, la station de base supprime la clé partagée avec lui, désigne un autre CH parmi les membres du cluster du CH compromis qui se charge d’informer et d’avertir tous les nœuds membres du cluster. Aussitôt informés, ils procèdent à la suppression des clés partagées avec le CH compromis, ignorent ses messages, le mettent en quarantaine et remplacent leurs variables MonCH par l’identité du nouveau CH.

5.4.6. Insertion des nouveaux nœuds

La station de base pré-charge un nouveau nœud avec les valeurs (Id, x, Px) et diffuse

un message à tous les nœuds CH comportant l’identité du nouveau nœud à insérer. Après le déploiement, le nouveau nœud diffuse un message d’appartenance à un cluster et le nœud CH le plus proche du nouveau nœud vérifie son identité avec les identités des nouveaux nœuds à ajouter sur le réseau. Si l’identité du nœud est vérifiée, le nœud CH établit une clé de session avec lui en lui transmettant un message Join.

6. Conclusion

Dans ce chapitre, nous avons proposé un protocole de routage sécurisé et économe en énergie pour les réseaux de capteurs sans fil. La solution de routage proposée permet la construction d’une topologie en clusters moins gourmande en ressources physiques et en consommation d’énergie. La solution de sécurité est une fonction de gestion de clés basée sur la cryptographie sur les courbes elliptiques (ECC) pour générer des clés symétriques et résoudre le problème d’échange de clés entre les nœuds capteurs du réseau après leur déploiement. Cette solution garantit un niveau de sécurité élevé en utilisant des clés de petites tailles.

Notre protocole parait prometteur et présente des mécanismes nouveaux pour les fonctions de construction des topologies hiérarchiques et de gestion de clés en combinant les avantages des chiffrements asymétrique et symétrique afin d’établir et d’échanger, en toute sécurité, des clés de taille réduites convenables aux capacités limitées en calcul et en mémoire des RcSF.

Les sections du chapitre suivant tentent de confirmer l’efficacité de notre protocole en présentant des résultats de simulation et des comparaisons avec des travaux antérieurs sur la sécurité des échanges dans les RcSF.

CHAPITRE 06