4.3.3 Protocole de Myoupo et al.
Le protocole présenté ici est une
amélioration de celui présenté en [48] et est
composé de deux grandes parties qui sont complémentaires et
permettent une économie globale d'énergie. Tout d'abord la
formation hiérarchique basée sur les cliques et un concept
d'architecture virtuelle permet de construire une base solide, rapide et
sécurisée pour l'acheminement de l'information. Ensuite, la
diffusion géocast elle-même est tout simplement réduite
à la phase de recherche dans le réseau qui est une étape
d'envoi des données. En plus de combiner l'aspect essentiel de la
sécurité, le protocole de Myoupo et al.[49] est économe en
énergie et permet de minimiser la surcharge de diffusion. Il se
déroule en 2 étapes : la formation sécurisée de la
structure et la mise en oeuvre du protocole sécurisé de
geocasting proprement dit.
Étape 1 : Formation sécurisée de la
structure
Cette formation se fait en 3 phases : initialisation,
Construction du 1er niveau de Cluster, Construction des
niveaux supérieurs. Soient Kn/u la chaine de clé
à sens unique de taille n + 1 générés par
le noeud u, MACK(M) un message d'authentification de 8 octets
généré au-dessus de M en utilisant la clef K
et H la fonction de hachage à sens unique utilisant
,iTESLA. Soient les hypothèses suivantes :
1. Le réseau est statique, connexe et toujours
connecté.
CHAPITRE 4. PROTOCOLES DE GEOCASTING DANS LES RÉSEAUX DE
CAPTEURS SANS FIL
2. La BS est la seule entité de confiance dans le
réseau qui a une forte capacité énergétique que les
autres noeuds, et dont la portée de transmission peut couvrir l'ensemble
du réseau.
3. Chaque noeud partage une clé secrète avec la
BS, qui est chargé avant le déploiement.
4. Chaque noeud connait ses voisins à 1 saut et a un
identifiant unique. Tous les messages échangés entre deux noeuds
sont authentifiés, grâce à la clé partagée
entre ces noeuds. Chaque noeud peut générer une clé
publique basée sur une signature. Les messages (diffusion) sont
authentifiés grâce à une combinaison de signatures et de
protocole de (aTESLA).
Les niveaux hiérarchiques sont formés en
utilisant le protocole de Barnejee et al.[27] : Au niveau initial, les noeuds
sont répartis en clusters dits "de niveau 1", et dans chacun de ces
clusters, un chef doit être élu (un CH1). Les
clusters de niveau 1 sont à leur tour divisé en clusters de "
niveau 2", et un chef serait élu pour chaque cluster (un
CH2 élu parmi les CH1s) et ainsi
de suite jusqu'au niveau N où la tête de cluster
CHN+1 de chaque cluster de niveau N est
élue parmi les CHNs.
Phase 1 : Initialisation
Cette phase se produit avant le déploiement du
réseau. La BS génère d'abord une chaine de clés
Kn/bs nécessaire pour effectuer des émissions à
tous les capteurs authentifiés. On charge alors chaque capteur u
avec un identifiant unique UDi, avec une clé
secrète Kbs, u (clé secrète partagée entre
la BS et le noeud u) partagé avec elle-même afin
d'assurer à l'avenir des communications unicast (pour garantir la
confidentialité et l'authentification), et la première clé
K0/bs de sa chaine de clé, afin de mener à bien les
diffusions /émissions sur l'ensemble du réseau. Enfin, la BS
charge chaque noeud u avec la clé cryptographique
établie avec tous ses voisins, pour des communications
sécurisées entre paire de voisin. Deux noeuds voisins u et v ont
une clé sécrète partagée Ku, v.
Phase 2 : Construction du
1er niveau de cluster
Cette seconde phase est donc d'abord l'application du
protocole de Sun et al.[25] en utilisant l'approche Cluster-First (CF)
sécurisé. Ce dernier utilise les touches Ku, V mis en
place entre deux noeuds u et v. on utilise également
la diffusion d'authentification avec (1aTESLA) : chaque noeud u
génère en utilisant son matériel cryptographique -
une chaine de clés Kn/u et distribue la première
clé de la chaine K0/u à ses voisins. Une fois les
clusters créés, les noeuds à l'intérieur de chacun
s'accordent sur un chef et procèdent à une élection : nous
obtenons un CH1 dans chaque cluster de niveau 1.
Enfin, chaque CH élu envoie un message à la BS contenant la liste
des membres de son cluster. Le BS ayant été informé par
les membres du réseau, elle est capable de lancer la phase suivante
quand elle reçoit tous les accusés de réception des CH.
52
Phase 3 (récursive) : Construction des Niveaux
Supérieurs
53
CHAPITRE 4. PROTOCOLES DE GEOCASTING DANS LES RÉSEAUX DE
CAPTEURS SANS FIL
La phase précédente a permis d'obtenir une base
réellement saine pour chaque cluster de niveau 1. Or, les auteurs
s'appuient sur un mécanisme d'architecture virtuelle
présenté en [26] pour partitionner le cluster de Niveau 1 aux
niveaux plus supérieures. C'est la BS - seule entité de confiance
dans le réseau - qui est en charge de cette opération. Dans un
premier temps, la BS connait le réseau, et détermine- en fonction
du nombre de noeuds et de la volonté de partitionnement fixé par
l'administrateur - un coefficient de gamme Cp (entre 0,
1 et 1, 1 représentant 100% de la distance séparant
la BS du capteur le plus éloigné dans le réseau - ce
paramètre peut être donnée par diffusion successive de la
BS au moment de l'initialisation) et un coefficient angulaire Ca
(entre 1° et 360°). La BS est donc capable de couper le
réseau en faisant diffuser sur différentes plages et angles,
selon Ca et Cp, comme le montre la
figure4.3. Chaque
![](Une-approche-de-protocole-de-geocasting-securise-dans-un-reseau-de-capteurs-sans-fil-deployes26.png)
FIGURE 4.3: BS network cutting with Cp = 0.5 and
Ca = 40°. Here, we take the second level formation case. Broadcast step
zone définie par BS est indiqué par un couple
d'entier: (nombre angulaire, numéro corona). Le processus de
génération de cluster est alors le suivant pour chaque niveau N
(N > 1) :
- La BS effectue une diffusion à l'aide de la
clé Kn/bs afin de communiquer d'une manière
authentifiée le couple d'entier de tous les noeuds. Elle émet
ainsi successivement un message de type (angle, couronne) selon Ca
et Cp et ainsi à différents angles et couronnes.
Pour chaque zone (angle, corona) défini par la BS selon Ca et
Cp : BS- > WSN* : D,
MACKj/bs(D), Kj/bs avec Kj/bs la clé
actuelle de la chaine de clé Kn/bs, D le couple entier
à envoyer et correspondant à une certaine zone selon la BS.
Chaque noeud u reçoit alors le message. Il authentifie les
révélé des clés Kj/bs en utilisant la
clé Kj - 1/bs précédemment
mémorisée : pour cela il utilise la fonction irréversible
de hachage H qu'il détient, et vérifie la correspondance
Kj - 1/bs = H(Kj/bs). Une fois cette
première étape fait, les noeuds contrôlent
l'authentification fournie par MAC fixée au message et est en mesure de
mettre à niveau sa dernière clé connue. Enfin, un noeud
est informé du paramètre (angle, couronne) qui lui est
affecté. Chaque noeud w appartenant à CH1
communique à tous les membres de son cluster de niveau 1 le
paramètre qu'il détient, en utilisant la chaine clé
Kj/w de Kn/w pour l'authentification. L'objectif est de
mettre en accord tous les membres de chaque cluster de niveau 1 (en cas
où certains membres ont un réglage différent). w-
> W1 w : D, MACKj/w(D), Kj/w
54
CHAPITRE 4. PROTOCOLES DE GEOCASTING DANS LES RÉSEAUX DE
CAPTEURS SANS FIL
- Ils lisent ensuite le paramètre et améliorent
leur valeur locale s'il y a une différence avec la valeur diffusé
par BS, et retourne un accusé de réception contenant cette valeur
de fin à leur CH1, qui est authentifié avec
Ku, bs.
- Chaque CH1 reçoit ainsi un groupe
de réponses qu'il ne peut pas lire ou modifier. Une fois toutes les
réponses reçues, il les envoie tous à la BS, avec la
signature Kch, bs, en incluant l'IDu des membres
qui n'ont pas répondu.
- La BS reçoit un message, l'authentifie, puis
vérifie un par un tous les accusés de réceptions des
noeuds des clusters. Si une incohérence est remarquée, ou si elle
ne reçoit pas un message d'un CH, elle prend des mesures : la
réélection, bannissement des noeuds, ou autres.
- A ce moment, les clusters de niveau N sont
implicitement formés : un cluster de niveau N est un ensemble
de cluster de niveau N - 1, dont les membres ont les mêmes
paramètres (angle, corona) et sont directement liés.
- La poursuite de l'algorithme consiste alors à
l'élection d'un CHN+1 parmi tous les CHN
accessible entre eux sans changer le paramètre (angle,
couronne). Par conséquent, un CHN+1 est
également CHN, CHN_1, CHN_2,
CH1 ... . Le cluster est supposée être
formée. Le concept de cluster est un peu abstrait ici, car un noeud
appartenant à un groupe de niveau N(N > 1) ne
connait pas directement tous les autres membres, il n'a que des connaissances
de son CHN et les membres de son cluster de niveau 1.
- Une fois le choix fait, chaque nouvel élu CH informe
la BS qui commence à nouveau toute cette phase pour un niveau
supérieur, en multipliant Cp et Ca par un facteur
j à corriger. La formation de Cluster est terminée
lorsque la BS voit qu'il n'y a rien à gauche, mais un CH pour le niveau
N. La formation du Cluster est terminée et ne doit pas être
rediffusé. Toutefois, il est possible que les opérations
d'ajustement soient réalisées en interne, telles que les
opérations de mise à jour, la tolérance au faute, l'ajout
de noeuds, ou encore les mécanismes de relégation ou
réélection si un noeud malveillant est détecté. Par
la suite, les auteurs dans [49] mettent sur pied un mécanisme pour
assurer le bon entretien de la structure
Étape 2 : Protocole de geocasting
Ce protocole comporte deux phases. Ici, La BS possède
l'information à envoyer aux noeuds dans les régions
géocast. L'objectif de la première phase du protocole est la
découverte de ces noeuds. La seconde phase consiste en l'envoi
d'informations depuis la BS.
Phase 1 : Découverte de capteurs dans les
régions géocast
L'objectif pour la BS est de transmettre une donnée
D à une zone géographique B. Cette phase
consiste à la découverte des noeuds situés dans
B. Afin d'économiser de l'énergie et limiter le temps
d'exécution de cette phase, précisons que le temps est
divisé en Slot S0, S1, ...,
Sn. Cette étape se déroule comme suit : au slot
Si, la BS effectue tout d'abord une diffusion en utilisant
la clé Kn/bs afin de communiquer d'une façon
authentifié un petit paquet qui représente la zone
géographique B à l'ensemble des capteurs dans le
réseau : BS- > WSN* :
55
CHAPITRE 4. PROTOCOLES DE GEOCASTING DANS LES RÉSEAUX DE
CAPTEURS SANS FIL
B, MACKj/bs(B), Kj/bs Avec Kj/bs
la clé actuelle de la chaîne de clés Kn/bs,
et B la zone de recherche. Chaque noeud u reçoit alors
le message et contrôle son authenticité. Il est informé de
la zone B requise et alors est capable de savoir s'il est
située dans cette zone ou pas (Hypothèse (4)). Dans le cas
négatif, il ne fait rien. Dans le cas positif, il envoie un
accusé de réception à la BS, contenant B,
authentifié en utilisant la clé (Kbs, u) partagée
entre BS et le noeud u : u- > BS : B,
MACKbs,u(B), Kbs, u Notons que le routage de
u à BS se fait simplement en remontant la hiérarchie
déterminée par la structure. A la fin du slot
Sj, Si la BS a reçu des
accusés de réception, alors elle sait où envoyer les
données D à transmettre.
Phase 2 : envoi de la requête
Pour chaque capteur u ayant répondu à
la BS durant le temps de slot Sj, et
étant ainsi située dans B, la BS est capable d'envoyer
directement à ces capteurs les informations D, en
l'authentifiant et la protégeant avec la cléKbs, u et
pendant la tranche de temps slot
Sj+1. Une
limite de ce protocole est que les noeuds sont statique et le concept de
cluster est un peu abstrait ici, car un noeud appartenant à un groupe de
niveau N(N > 1) ne connait pas directement tous les autres membres,
il n'a que des connaissances de son CHN et
les membres de son cluster de niveau 1.
|