• Aucun résultat trouvé

4.7 Application de la m´ethode d’analyse

4.7.2 Protocole GDH.2

Le protocole GDH.2 [8] met en communication n participants. L’objectif est de calculer une clef commune `a tous les membres appel´ee clef du groupe. Cette clef est calcul´ee `a partir des contributions des membres. La liste des membres est suppos´ee ordonn´ee. En recevant un message (concat´enation d’exponentielles) de son pr´ec´edent voisin, un membre va exponentier les composantes du message re¸cu par une information priv´ee et envoyer le nouveau message au voisin suivant. Ce traitement est valable pour tous les membres mis `a part le premier et le dernier membre. Le premier participant d´eclenche la g´en´eration de la clef. Il va envoyer sa contribution (en exponentielle) au voisin suivant. Quant au dernier membre, en recevant le message attendu (composantes exponentielles), il va consid´erer la derni`ere composante pour calculer sa clef de groupe et va exponentier les autres composantes par une information priv´ee pour les diffuser au reste du groupe.

Analyse du protocole GDH.2

Nous pr´esentons dans cette section l’analyse effectu´ee pour le protocole GDH.2. Nous pr´esentons tout d’abord la session consid´er´ee de ce protocole ainsi que la mod´elisation de cette session et

110 Chapitre 4. D´etection de types d’attaques sur les protocoles de groupe celle de la propri´et´e `a v´erifier. Nous pr´esentons ensuite le r´esultat obtenu pour cette session et pour cette propri´et´e.

Entr´ee de l’analyse du protocole GDH.2

Nous utilisons les mˆemes notations d´efinies dans le paragraphe 4.6.2. Nous consid´erons une session du protocole GDH.2 avec quatre participants : P1, P2, P3 et P4. Le participant P1 joue le rˆole de l’initiateur, P2 et P3 sont des rˆoles interm´ediaires et P4 joue le rˆole du dernier membre du groupe. Cette session est illustr´ee par la Figure 4.9.

P2 P1 α, αr1 αr2r3r4, αr1r3r4, αr1r2r3 αr2, αr1, αr1r2 P3 P4 αr2r3, αr1r3 αr1r2, αr1r2r3

Fig. 4.9 – Le protocole GDH.2 avec 4 participants

Puisque nous consid´erons une seule session et pour plus de lisibilit´e, nous notons pasij1 par pasij pour d´esigner le pas j du participant i. Quant `a la vue de la clef du groupe par un partici- pant i, elle est not´ee par Algi. Les deux messages fixes Init et End permettent respectivement d’initier et de conclure une session. Les diff´erents pas de protocole sp´ecifiant les actions des participants P1, P2, P3 et P4 sont d´ecrits comme suit :

pas11: Init −→ exp(α, 1), exp(α, r1)

pas12: exp(X1, X2), exp(X3, X4), exp(X5, X6) −→ End

Alg1 = exp(exp(X1, X2), r1)

pas21: exp(α, 1), exp(α, X7) −→ exp(α, r2), exp(α, X7), exp(exp(α, X7), r2) pas22: exp(X8, X9), exp(X10, X11), exp(X12, X13) −→ End

Alg2 = exp(exp(X10, X11), r2)

pas31: exp(α, X14), exp(α, X15), exp(X16, X17) −→ exp(exp(α, X14), r3), exp(exp(α, X15), r3), exp(X16, X17),

exp(exp(X16, X17), r3) pas32: exp(X18, X19), exp(X20, X21), exp(X22, X23) −→ End

4.7. Application de la m´ethode d’analyse 111

pas41: exp(X24, X25), exp(X26, X27), exp(X28, X29), −→ exp(exp(X24, X25), r4),

exp(X30, X31) exp(exp(X26, X27), r4),

exp(exp(X28, X29), r4)

Alg4 = exp(exp(X30, X31), r4)

L’ensemble P = {pas11, pas12, pas21, pas22, pas31, pas32, pas41} est muni d’un ordre partiel <P d´efini par : pas11 <P pas12, pas21 <P pas22 et pas31 <P pas32.

La mod´elisation de cette session dans le mod`ele de services donne le r´esultat suivant :

Pi Si Sci Ki ∪jKij P1 exp(X1, X2) exp(α, r1) r1 α P2 exp(X10, X11) exp(α, r2), r2 α exp(exp(α, X7), r2) P3 exp(X22, X23) exp(exp(α, X14), r3), r3 α exp(exp(α, X15), r3) exp(exp(X16, X17), r3) P4 exp(X30, X31) exp(exp(X24, X25), r4), r4 α exp(exp(X26, X27), r4) exp(exp(X28, X29), r4)

La propri´et´e que nous voulons v´erifier est le secret de la clef du groupe. Cette propri´et´e est sp´ecifi´ee dans le mod`ele de services d´ecrit en Section 4.3 comme suit :

∀Pi ∈ P, KI∪jKIj∪Pk∈PSck 6|= Algi(Ki, ∪jKij, Si) .

La propri´et´e de secret de groupe est viol´ee quand l’intrus obtient au moins une vue d’un membre de groupe. L’acquisition d’une vue d’un participant est d´efinie comme ´etant la violation de la propri´et´e d’authentification par rapport au participant consid´er´e.

Nous v´erifions dans un premier temps l’authentification par rapport au participant P4. Cette propri´et´e est viol´ee pour notre cas quand l’intrus obtient dans ses connaissances l’information exp(exp(X30, X31), r4). `A partir de la mod´elisation en mod`ele de services d´ecrite ci-dessus (et surtout des Sci), la violation de la propri´et´e d’authentification par rapport au participant P4 se

112 Chapitre 4. D´etection de types d’attaques sur les protocoles de groupe X24= X30 et X25= X31 ou X26= X30 et X27= X31 ou X28= X30 et X29= X31

Ensuite, nous v´erifions aussi l’authentification par rapport au participant P3. D’une mani`ere similaire, la violation de cette propri´et´e se traduit par le syst`eme de contraintes SC3 :

X22= α et X23= x14 ou

X22= α et X15= X23 ou

X22= X16 et X17= X23

R´esultat de l’analyse du protocole GDH.2

Nous consid´erons l’ensemble des pas de protocoles pr´esent´e dans le paragraphe pr´ec´edent muni de l’ordre d’ex´ecution total suivant <e :

pas11<e pas21<epas31<epas41<epas12<epas22<epas32

L’intrus doit composer les messages attendus par les diff´erents participants `a partir de ses connaissances et ceci selon l’ordre d’ex´ecution trait´e.

Selon les informations acquises, l’intrus essaye de composer le message attendu pour le pas courant. Un ensemble de contraintes liant les variables de ce message aux informations d´ej`a acquises est alors construit. Si nous consid´erons l’ex´ecution relative `a l’ordre d’ex´ecution d´efini auparavant, nous obtenons le syst`eme de contraintes SC1 de la Table 4.7.

Une fois le syst`eme de contraintes du protocole ´etabli, nous consid´erons maintenant les pro- pri´et´es `a v´erifier. Prenons par exemple le cas de la premi`ere propri´et´e `a v´erifier : l’authentification par rapport `a P4. La violation de cette propri´et´e est caract´eris´ee par le syst`eme de contrainte SC2. La r´esolution des deux syst`emes de contrainte SC1 et SC2 permet de construire une at- taque de la propri´et´e test´ee. Nous remarquons ici que les deux syst`emes de contraintes ne sont pas contradictoires. D’une mani`ere similaire, nous obtenons aussi une attaque d’authentification par rapport `a P3 qui est d´efinie par le syst`eme de contraintes SC3.

Attaque d’authentification par rapport `a P4

4.7. Application de la m´ethode d’analyse 113 pas21 ((X7 = 1) ∨ (X7 = r1)) pas31 ((X14 = 1) ∨ (X14 = r1) ∨ (X14 = r2) ∨ (X14 = X7)) ∧((X15 = 1) ∨ (X15 = r1) ∨ (X15 = r2) ∨ (X15 = X7)) ∧ (((X16 = α) ∧ (X17 = 1)) ∨ ((X16 = α) ∧ (X17 = X7)) ∨((X16 = α) ∧ (X17 = r1)) ∨ ((X16 = α) ∧ (X17 = r2)) ((X16 = exp(α, X7)) ∧ (X17 = r2))) pas41 ((X24 = α) ∧ (X25 = 1)) ∨ ((X24 = α) ∧ (X25 = X7)) ∨((X24 = α) ∧ (X25 = r1)) ∨ ((X24 = α) ∧ (X25 = r2)) ∨((X24 = exp(α, X7)) ∧ (X25 = r2)) ∨ ((X24 = exp(α, X15)) ∧ (X25 = r3)) ∨((X24 = X16) ∧ (X25 = X17)) ∨ ((X24 = exp(X16, X17)) ∧ (X25 = r3)) les couples (X26, X27), (X28, X29) et (X30, X31)

ont les mˆemes contraintes que le couple (X24, X25) (ci − dessus).

pas12 ((X1 = α) ∧ (X2 = 1)) ∨ ((X1 = α) ∧ (X2 = X7)) ∨((X1 = α) ∧ (X2 = r1)) ∨ ((X1 = α) ∧ (X2 = r2)) ∨((X1 = exp(α, X7)) ∧ (X2 = r2)) ∨ ((X1 = exp(α, X15)) ∧ (X2 = r3)) ∨((X1 = X16) ∧ (X2 = X17)) ∨ ((X1 = exp(X16, X17)) ∧ (X2 = r3)) ∨((X1 = exp(X24, X25)) ∧ (X2 = r4)) ∨ ((X1 = exp(X26, X27)) ∧ (X2 = r4)) ∨((X1 = exp(X28, X29)) ∧ (X2 = r4))

pas22 les couples (X8, X9), (X10, X11) et (X12, X13)

ont les mˆemes contraintes que le couple (X1, X2) (voir pas12). pas32 les couples (X18, X19), (X20, X21) et (X22, X23)

ont les mˆemes contraintes que le couple (X1, X2) (voir pas12).

Tab. 4.7 – Contraintes en formes normales du protocole GDH.2

pas11: I −→ P1 : Init

P1 −→ I : exp(α, 1), exp(α, r1) pas21: I −→ P2 : exp(α, 1), exp(α, X7)

P2 −→ I : exp(α, r2), exp(α, X7), exp(exp(α, X7), r2) pas31: I −→ P3 : exp(α, X14), exp(α, X15), exp(X16, X17)

P3 −→ I : exp(exp(α, X14), r3), exp(exp(α, X15), r3), exp(X16, X17), exp(exp(X16, X17), r3) pas41: I −→ P4 : exp(X24, X25), exp(X26, X27),

exp(X28, X29), exp(X24, X25)

P4 −→ I : exp(exp(X24, X25), r4), exp(exp(X26, X27), r4), exp(exp(X28, X29), r4)

114 Chapitre 4. D´etection de types d’attaques sur les protocoles de groupe D’apr`es cette ex´ecution, `a ce stade, l’intrus connaˆıt exp(exp(X24, X25), r4) puisqu’il l’a acquis du participant P4 pendant le pas pas41. N´eanmoins, cette information est la vue Alg4 de la clef du participant P4. La Figure 4.10 donne une instanciation de cette attaque.

P2 P1 α, αr1 P3 P4 αr2r3, αr1r3 αr1r2, αr1r2r3 Alg4= αr2r3r4 αr2r3 αr2, αr1, αr1r2 αr2r3r4, αr1r3r4, αr1r2r4

Fig. 4.10 – Premi`ere attaque d’authentification sur GDH.2 avec 4 participants

Attaque d’authentification par rapport `a P3

Nous supposons dans cette ex´ecution par exemple que X22= α et X23= X14. pas11: I −→ P1 : Init

P1 −→ I exp(α, 1), exp(α, r1) pas21: I −→ P2 : exp(α, 1), exp(α, X7)

P2 −→ I exp(α, r2), exp(α, X7), exp(exp(α, X7), r2) pas31: I −→ P3 : exp(α, X14), exp(α, X15), exp(X16, X17)

P3 −→ I exp(exp(α, X14), r3), exp(exp(α, X15), r3), exp(X16, X17), exp(exp(X16, X17), r3) pas41: I −→ P4 : exp(X24, X25), exp(X26, X27),

exp(X28, X29), exp(X30, X31)

P4 −→ I exp(exp(X24, X25), r4), exp(exp(X26, X27), r4), exp(exp(X28, X29), r4)

Alg4 = exp(exp(X30, X31), r4)

pas32: I −→ P3 : exp(X18, X19), exp(X20, X21), exp(α, X14) P1 −→ I Alg3 = exp(exp(α, X14), r3)

D’apr`es cette ex´ecution, `a ce stade, l’intrus connaˆıt exp(exp(α, X14), r3) puisqu’il l’a acquis du participant P3 pendant le pas pas32. N´eanmoins, cette information est la vue de la clef du participant P3 Alg3. La Figure 4.11 donne une instanciation de cette attaque.

G´en´eralisation de l’attaque sur GDH.2

Nous avons vu que, pour le protocole GDH.2 avec quatre participants, l’intrus peut avoir la vue de la clef du groupe du participant P4 ou celle du participant P3. Les deux cas traitent la

4.7. Application de la m´ethode d’analyse 115 P2 P1 α, αr1 αr2r3r4, αr1r3r4, αr1r2r4 αr2, αr1, αr1r2 P3 P4 αr2r3, αr1r3 αr1r2, αr1r2r3 Alg36= Alg4 : Alg3= αr2r3 : Alg4= αr2r3r4 αr2

Fig. 4.11 – Deuxi`eme Attaque d’authentification sur GDH.2 avec 4 participants

propri´et´e d’authentification pour le protocole GDH.2 avec quatre participants. Ce r´esultat reste encore vrai si nous consid´erons le mˆeme protocole avec n participants. En effet, l’intrus peut avoir la vue de la clef de groupe du dernier membre ou celle d’un autre rˆole interm´ediaire (par exemple ici P3).

Avoir la vue de la clef du dernier participant

Pour avoir la vue du dernier participant, l’intrus intercepte le dernier message destin´e au dernier participant (X1, .., Xn−1, Xn) et modifie la derni`ere composante (Xn) en la rempla¸cant par n’importe quelle autre composante du message variant de X1 `a Xn−1. L’action du dernier participant est :

1. d’exponentier les composantes X1...Xn−1 par rn et transmettre (sur le r´eseau) cela aux autres participants. l’intrus peut donc avoir ces informations : exp(X1, rn) `a exp(Xn−1, rn). 2. d’utiliser la derni`ere composante Xn pour g´en´erer la clef du groupe en l’exponentiant par rn. La vue de la clef du groupe pour le dernier participant Pnest alors Algn= exp(Xn, rn). Ainsi, si l’intrus remplace Xn par un message Xi de X1 `a Xn−1, le dernier participant g´en`ere comme clef de groupe Exp(Xi, rn). Or, cette information est d´ej`a disponible sur le r´eseau et donc accessible `a l’intrus.

Avoir la vue de la clef d’un participant interm´ediaire

L’objectif de l’intrus est maintenant d’avoir la vue de la clef d’un membre interm´ediaire Pi variant de P2 `a Pn−1. Le participant Pi g´en`ere sa clef de groupe `a partir du dernier message re¸cu X du dernier participant Pn: X = X1, .., Xn−1. En plus, Pi ne va pas r´epondre `a ce message en transmettant des messages sur le r´eseau. Or, la vue de la clef du groupe contient une information priv´ee du participant Pi : ri.

Ainsi, la seule possibilit´e pour l’intrus d’avoir la vue de Pi est de faire en sorte que Pi g´en`ere pour clef de groupe un message qui a ´et´e transmis avant et qui contient l’information priv´ee ri. Ces messages sont accessibles `a l’intrus lors du premier tour du protocole : quand les membres (en particulier, les interm´ediaires) sont invit´es `a donner leurs contributions en exponentiant les messages re¸cus par les ri (par exemple, pour GDH.2 `a 4 participants, pour P3, le pas pas31).

Pour un participant interm´ediaire Pi, le premier pas lors duquel, il va envoyer sa contribution est pasi. Pi re¸coit un message de la forme X11, .., X1i. Dans le message `a envoyer par Pi pour ce pas, nous trouvons toutes les composantes X1j (variant de X11`a X1i) exponenti´ees par ri. Nous

116 Chapitre 4. D´etection de types d’attaques sur les protocoles de groupe supposons maintenant que, pour un i ∈ {1, .., n − 1}, pour le message X = X1, .., Xi, .., Xn−1, Xi fait partie des composantes X11, .., X1i.

Le participant Pi, en recevant X, prend la composante qui l’int´eresse : Xi et g´en`ere sa vue de la clef du groupe en l’exponentiant par ri. Ainsi, Algi = exp(exp(Xi, ri)). Or, l’intrus poss`ede l’information exp(Xi, ri) et ceci depuis le pas pasi. Ainsi, l’intrus peut avoir la vue d’un participant interm´ediaire pour le protocole GDH.2 avec n participants.