• Aucun résultat trouvé

Autorisation au service de routage

Dans le document Services AAA dans les réseaux adhoc mobiles (Page 124-127)

4.5 Protocoles d’autorisation proposés

4.5.2 Autorisation au service de routage

L’autorisation au service de routage est effectuée dans le voisinage par les nœuds voisins qui ont déjà été authentifiés et autorisés. Elle se fait grâce aux deux mécanismes suivants :

1. l’exécution du protocole SEND dans le voisinage,

2. l’adjonction du jeton d’accès, reçu à la fin d’une authentification terminée avec succès, à chaque paquet émis

En effet, un nœud arrivant JN, ayant été authentifié, voit la validité de son jeton d’accès vérifiée avant toute opération de relais c.-à-d. de routage. La vérification par un nœud voisin (en anglais Neighbor Node ou NN) fait appel aux éléments qui se trouvent dans sa base des utilisateurs autorisés (cf. section 4.3.2.2) et dans

4.5 Protocoles d’autorisation proposés 99 son cache des voisins (cf. section C.3.1 de l’annexe C) et au certificat du service AAA enregistré à l’étape d’inscription (cf. section 4.3.2.2). Elle se déroule selon les étapes décrites par l’organigramme de la figure 4.7.

On note Mr un message reçu par NN de la part du JN, CGAr son adresse source et ATrle jeton qu’il contient. On note aussi Te et ATerespectivement la date d’expiration du jeton du JN et sa valeur dans la base des utilisateurs du NN quand une entrée pour JN y existe. Enfin, on note CGAe l’adresse CGA du JN quand une entrée pour JN existe dans le cache des voisins du NN. Soit t la date à laquelle Mr est reçu, alors l’algorithme de vérification de la validité du ATrsuit l’enchaînement suivant :

1. NN extrait ATrdu Mret CGAr de l’en-tête IP de celui-ci,

2. NN vérifie s’il a déjà une entrée pour JN dans sa base des utilisateurs autorisés. Si une telle entrée existe, NN passe à l’étape 3, sinon il passe à l’étape 4.

3. NN extrait Te et ATe de l’entrée trouvée et vérifie que Te n’a pas expiré et que ATrest bien égal à ATepour router Mr. Si tel n’est pas le cas, trois possibilités se présentent au NN :

– Te a expiré et ATr=ATe : JN n’est plus autorisé au routage et Mr est jeté,

– Te a expiré et ATr(=ATe : l’ancien jeton du JN n’est plus valide et il a un nouveau jeton dont NN doit vérifier la validité en allant à l’étape 4. – Ten’a pas expiré mais ATr(=ATe: l’ancien jeton du JN n’est plus valide car JN a demandé un nouveau jeton aux pairs AAA après qu’il soit authentifié à nouveau17. NN doit vérifier la validité du nouveau jeton en allant à l’étape 4.

4. NN vérifie s’il a déjà une entrée pour JN dans son cache des voisins. Si une telle entrée existe18, NN extrait CGA

e de l’entrée trouvée et vérifie si CGArest égale à CGAe19: si cette égalité est établie, il va à l’étape 6, sinon, il jette Mr. S’il n’existe pas d’entrée pour JN, NN va à l’étape 5. 5. NN exécute SEND (cf. l’annexe C) avec JN et récupère l’adresse CGA de

celui-ci afin de la vérifier. Il déroule pour cela l’algorithme de vérification de validité d’une adresse CGA, présenté à la section C.3.1 de l’annexe C. Si cette validité est établie, NN crée une entrée pour JN dans son cache des voisins et va à l’étape 6, sinon Mrest jeté.

6. Extraire Trde ATren prenant la partie à gauche de la signature. Si t ≤Tr, passer à l’étape 7, sinon jeter Mr.

7. Extraire la signature signAAA{CGA + T } et vérifier qu’elle est valide comme décrit à la section B.5.2 de l’annexe B. Si sa validité est établie, mettre à jour la base des utilisateurs autorisés ensuite router Mr, sinon le jeter. La mise à jour est effectuée par la création d’une entrée pour JN si elle n’existe pas, sinon par sa modification si elle existe déjà.

17. Cela peut arriver si JN a perdu son jeton suite à un redémarrage ou s’il a soupçonné que son jeton a été volé.

18. Une entrée pour JN existe s’il était déjà dans le voisinage de NN et que les deux nœuds ont exécuté SEND.

19. Ce test est suffisant car si une CGA existe déjà dans le cache, cela veut dire que sa validité a été préalablement établie à l’exécution de SEND en supposant qu’une corruption de la base de données n’a pas eu lieu.

Initialisation Exécuter SEND Existence entrée dans la base t ! Te ATr =ATe ATr =ATe Existence entrée dans le cache Validité CGAr CGAr =CGAe t ! Tr

Extraire CGAr de l’en-tête de Mr

et ATr de Mr

Trouver entrée JN dans la base des utilisateurs autorisés

Extraire Te et ATe de

l’entrée trouvée

Trouver entrée JN dans le cache des voisins

Extraire Tr du début de ATr

Extraire CGAe de l’entrée trouvée

validité de la signature Vrai Faux Vrai Faux Vrai Faux Faux Vrai Vrai Faux Vrai Vrai Vrai Vrai Faux Faux Faux Faux

Fin: Mr non routé

Fin: Mr routé

Extraire la signature de ATr

Créer une entrée JN dans le cache des voisins

Mettre à jour la base des utilisateurs autorisés

Figure 4.7 – Algorithme de vérification de la validité d’un jeton d’accès

Il est à remarquer que les étapes 1 à 3 évitent au NN de vérifier "entièrement" la validité du jeton en validant la valeur de la signature à chaque réception d’un message du JN. Celle-ci ne devient nécessaire que si c’était la première fois qu’un message était reçu du JN ou dans des cas particuliers comme expliqué ci-dessus.

4.5 Protocoles d’autorisation proposés 101 Par ailleurs, il est possible que NN ne connaisse pas JN mais qu’il reçoive de sa part un message SEND contenant son jeton parce qu’il avait déjà effectué l’étape d’authentification alors qu’il n’était pas encore voisin de NN. Dans ce cas, JN ne sollicite pas NN pour un routage, mais ce dernier doit procéder à la vérification de la CGA du JN ensuite à celle du jeton ainsi que nous l’avons décrit auparavant.

Dans le document Services AAA dans les réseaux adhoc mobiles (Page 124-127)