• Aucun résultat trouvé

Comparaison avec des travaux similaires

Dans [225,227,229,260], Houmani a utilisé les fonctions d’interprétation pour prouver qu’un proto- cole croissant est correct par rapport à la propriété de confidentialité. Néanmoins, elle a imposé des conditions plus sévères que les nôtres. En particulier, la condition de stabilité par substitution imposée à la fonction d’interprétation s’est avérée trop contraignante dans la pratique et a bloqué leur construc- tion en nombre satisfaisant. Dans la pratique deux fonctions ont pu être construites : DEK et DEKAN, avec la constatation que DEK n’est pas très efficace.

Dans notre démarche de preuve, nous avons imposé moins de conditions sur une fonction d’analyse. Nous l’avons libérée de la condition de stabilité par substitution dans le but de faciliter la construc- tion de ce genre de fonctions. Cette propriété est cependant très importante car elle est responsable du transfert de la décision de croissance depuis l’ensemble fini des messages des rôles généralisés vers l’ensemble infini des traces valides (ce qui permet une analyse statique du protocole). De notre côté, nous avons relogé le problème de substitution dans le protocole qui est demandé -selon notre nouvelle définition du protocole croissant- d’être croissant sur l’ensemble infini des traces valides et non seulement sur l’ensemble fini des rôles généralisés non substitués, et ce pour que le théorème fon- damental de correction des protocoles croissants tienne. Nous allons montrer dans le chapitre réservé aux fonctions témoins comment surmonter ce problème par l’utilisation des techniques de dérivation qui neutralisent l’effet des variables et qui installent un critère de croissance statique qui remplace amplement la propriété de stabilité par substitution sur les fonctions.

3.10

Conclusion

Dans ce chapitre, nous avons :

1. défini le contexte de vérification dans lequel s’effectue notre analyse de protocoles qui contient les différents paramètres qui affectent l’analyse ;

2. rappelé la spécification basée sur les rôles que nous adoptons pour formaliser nos protocoles analysés ;

3. présenté les conventions d’écriture que nous utiliserons dans toute la thèse ;

4. donné des conditions suffisantes sur les fonctions d’analyse et sur le protocole et nous avons établi qu’un protocole croissant est correct pour la propriété de confidentialité s’il est analysé avec une fonction fiable ;

5. comparé notre démarche de preuve avec un travail similaire.

Dans le chapitre suivant, nous allons exhiber une démarche constructive des fonctions d’analyse fiables.

Définitions intermédiaires et preuves

Fonction d’analyse auxiliaire

Une fonction d’analyse auxiliaire, notée ˆF , est une autre forme de la fonction d’analyse F . Elle a exac- tement les mêmes propriétés que la fonction d’analyse principale F et est introduite pour simplifier les preuves qui suivront.

Définition 3.10.1. (Fonction d’analyse auxiliaire)

Soit C = hM, ξ, |=, K, Lw, p.qi un contexte de vérification. Soit F une fonction d’analyse dans C.

On définit la fonction auxiliaire de F , qu’on note ˆF , comme suit :

ˆ

F : A × M 7−→ Lw

(α, m) 7−→ pαq u F (α, m)

Définition 3.10.2. (relation wFˆ)

Soit C = hM, ξ, |=, K, Lw, p.qi un contexte de vérification.

Soit F une fonction d’analyse.

Soit M1, M2⊆ M

M1 wFˆ M2⇐⇒ ∀α ∈ A(M1), ˆF (α, M1) w ˆF (α, M2)

Proposition 3.10.3.

Soit C = hM, ξ, |=, K, Lw, p.qi un contexte de vérification.

Soit F une fonction d’analyse dans C.

Soit ˆF la fonction auxiliaire de F dans C.

               ˆ F (α, {α}) = ⊥ et ˆ F (α, M1∪ M2) = F (α, Mˆ 1) u ˆF (α, M2) et ˆ F (α, M ) = pαq, si α /∈ A(M ) Preuve. voir Preuve1.  Proposition 3.10.4.

Soit C = hM, ξ, |=, K, Lw, p.qi un contexte de vérification.

Soit F une fonction d’analyse dans C.

Soit ˆF la fonction auxiliaire de F dans C.

Si F est stable par intrus dans C alors ˆF est stable par intrus dans C.

Preuve. voir Preuve2. 

Preuve 1.

F est bien-formée dans C alors on a de Définition3.5.2:

∀M, M1, M2⊆ M, ∀α ∈ A(M),                F (α, {α}) = ⊥ et F (α, M1∪ M2) = F (α, M1) u F (α, M2) et F (α, M ) = >, si α /∈ A(M ) (3.1)

De3.1, on a les trois résultats suivants : •

F (α, {α}) = ⊥ (3.2)

de3.2et du fait que Lwest un treillis on a :

De3.3et de Définition3.10.1de ˆF on a :

ˆ

F (α, {α}) = ⊥ (3.4)

F (α, M1∪ M2) = F (α, M1) u F (α, M2) (3.5)

De3.5et du fait que Lwest un treillis on a :

pαq u F (α, M1∪ M2) = pαq u (F (α, M1) u F (α, M2)) (3.6) Ou encore : pαq u F (α, M1∪ M2) = pαq u F (α, M1) u pαq u F (α, M2) (3.7) De3.7et de Définition3.10.1de ˆF on a : ˆ F (α, M1∪ M2) = ˆF (α, M1) u ˆF (α, M2) (3.8) • F (α, M ) = > si α /∈ A(M ) (3.9)

De3.9et du fait que Lwest un treillis on a :

pαq u F (α, M ) = pαq si α /∈ A(M ) (3.10) De3.10et de Définition3.10.1de ˆF on a : ˆ F (α, M ) = pαq si α /∈ A(M ) (3.11) De3.4,3.8et3.11, on a : ∀M, M1, M2⊆ M, ∀α ∈ A(M),                ˆ F (α, {α} = ⊥ et ˆ F (α, M1∪ M2) = F (α, Mˆ 1) u ˆF (α, M2) et ˆ F (α, M ) = pαq, si α /∈ A(M )  Preuve 2.

Soit M ⊆ M et m ∈ M tels que :

De Définition3.5.4et de3.12on a pour tout α ∈ A(m) :

(F (α, m) w F (α, M )) ∨ (pK(I)q w pαq) (3.13) De3.13, on a :

• Soit :

F (α, m) w F (α, M ) (3.14)

De3.14et du fait que Lwest un treillis on a :

pαq u F (α, m) w pαq u F (α, M ) (3.15) De3.15et de Définition3.10.1de ˆF on a : ˆ F (α, m) w ˆF (α, M ) (3.16) • Soit : pK(I)q w pαq (3.17)

De3.16et3.17on a pour tout M ⊆ M, m ∈ M et α ∈ A(m) :

M |=C m ⇒ ( ˆF (α, m) w ˆF (α, M )) ∨ (pK(I)q w pαq)

Ou ˆF est stable par intrus dans C. 

Définition 3.10.5. (relation wF)

Soit C = hM, ξ, |=, K, Lw, p.qi un contexte de vérification.

Soit F une fonction d’analyse.

Soit M1, M2⊆ M

M1wF M2 ⇐⇒ ∀α ∈ A(M1), F (α, M1) w F (α, M2)

Preuve 3.

Soit p est un protocole F -Croissant dans C, alors de Définition3.7.1, on a :

∀R.r ∈ RG(p), ∀σ ∈ Γcet ∀α ∈ A(r+σ), on a :

ρ.e étant une trace valide, alors : il existe une substitution σ ∈ Γ, un rôle généralisé R.r ∈ RG(p) et

une session i = S(e) tels que :

(Rσ = ρi) ∧ (rσ = e) (3.19)

D’après3.18et3.19, on a :

∀α ∈ A(e+), F (α, e+) w pαq u F (α, ρi−) (3.20)

Puisque Lwest un treillis, pour tout α ∈ A(e+) on a :

pαq u F (α, e+) w pαq u pαq u F (α, ρi−) (3.21)

De3.21et puisque Lwest un treillis, pour tout α ∈ A(e+) on a :

pαq u F (α, e+) w pαq u F (α, ρi−) (3.22)

D’après la définition de ˆF et de3.22, pour tout α ∈ A(e+) on a :

ˆ

F (α, e+) w ˆF (α, ρi−) (3.23)

D’après3.23et la définition de wFˆ, on a :

e+wFˆ ρi− (3.24)

Puisque Def(ρi) ⊆ Def(ρ), de la définition de wFˆ et Lwest un treillis alors on a :

ρi− wFˆ ρ− (3.25)

De3.24et3.25, on déduit que :

e+wFˆ ρ− 

Preuve 4.

Soit ρ ∈ [[p]], m ∈ M tel que :

ρ+ |=C m (3.26)

Prouvons le lemme par induction sur la taille de la trace.

• |ρ|=1.

Dans ce cas, deux sous-cas se présentent :

• ρ+= ∅

De3.26, on a :

∅ |=C m (3.27)

Comme F est stable par intrus dans C, pour tout α ∈ A(m) on a :

(F (α, m) w F (α, ∅)) ∨ (pK(I)q w pαq) (3.28) Puisque α /∈ ∅ et F est bien-formée (C-fiable), on a :

F (α, ∅) = > w pαq (3.29)

De3.28et3.29, pour tout α ∈ A(m) on a :

(F (α, m) w pαq) ∨ (pK(I)q w pαq) (3.30) • ρ+6= ∅

Puisque |ρ|=1 alors il existe une trace vide ε telle que ρ = ερ+

Comme F est stable par intrus dans C (F est C-fiable), pour tout α ∈ A(m) on a :

(F (α, m) w F (α, ρ+)) ∨ (pK(I)q w pαq) (3.31)

Comme p est F -Croissant, d’après Lemme3.8.1, on a :

ρ+wFˆ ε− (3.32)

Ou encore, pour tout α ∈ A(ρ+) on a : ˆ

D’après3.33et de la définition de ˆF , pour tout α ∈ A(ρ+) on a :

F (α, ρ+) u pαq w ˆF (α, ε−) (3.34)

Or ε est une trace vide et ˆF est bien-formée, donc :

ˆ

F (α, ε−) = pαq (3.35)

De3.35et3.35, pour tout α ∈ A(ρ+) on a :

F (α, ρ+) u pαq w pαq (3.36)

Puisque Lwest un treillis, pour tout α ∈ A(ρ+) on a :

F (α, ρ+) w F (α, ρ+) u pαq (3.37)

Donc d’après3.36et3.37, pour tout α ∈ A(ρ+) on a :

F (α, ρ+) w pαq (3.38)

On déduit donc d’après3.31et3.38que pour tout α ∈ A(m) :

(F (α, m) w pαq) ∨ (pK(I)q w pαq) (3.39)

• On suppose pour |ρ| ≤n, pour tout α ∈ A(m) on a :

(F (α, m) w pαq) ∨ (pK(I)q w pαq) (3.40) Montrons que pour |ρ| = n + 1, pour tout α ∈ A(m) on a :

(F (α, m) w pαq) ∨ (pK(I)q w pαq) (3.41)

Soit m ∈ M tel que ρ+ |=C m avec |ρ| = n + 1.

On pose ρ = ρn.e

|ρ| = n + 1, on a alors :

n| 6 n et |e| 6 n (3.42)

De3.40et3.42et puisque ρ+n |=C ρn+et e+|=C e+, pour tout α ∈ A(ρ+n) on a :

Et pour tout α ∈ A(e+) :

(F (α, e+) w pαq) ∨ (pK(I)q w pαq) (3.44)

De3.43,3.44et du fait que Lwest un treillis, pour tout α ∈ A(ρ+n ∪ e+) on a :

(F (α, ρ+n) u F (α, e+) w pαq) ∨ (pK(I)q w pαq) (3.45)

F est stable par intrus dans C et ρ+|=C m, alors pour tout α ∈ A(m) on a :

(F (α, m) w F (α, ρ+)) ∨ (pK(I)q w pαq) (3.46)

Or :

ρ+= ρ+n ∪ e+ (3.47)

De3.47et du fait que Lwest un treillis, pour tout α ∈ A(ρ+) on a :

F (α, ρ+) = F (α, ρ+n) u F (α, e+) (3.48)

De3.45et3.48, pour tout α ∈ A(ρ+) on a :

(F (α, ρ+) w pαq) ∨ (pK(I)q w pαq) (3.49)

De3.46et3.49, pour tout α ∈ A(m) on a :

(F (α, m) w pαq) ∨ (pK(I)q w pαq) (3.50) De l’hypothèse de l’induction en3.40et de3.50, pour tout m ∈ M, pour tout ρ ∈ [[p]] et tout α ∈ A(m) on a : ρ |=C m ⇒ (F (α, m) w pαq) ∨ (pK(I)q w pαq) Ou encore : [[p]] |=C m ⇒ (F (α, m) w pαq) ∨ (pK(I)q w pαq)  Preuve 5.

On suppose que p divulgue α. D’après Définition3.6.1, on a :

∃ρ ∈ [[p]] tel que (ρ |=C α) ∧ (pK(I)q 6w pαq) (3.51)

Puisque F est une fonction d’analyse C-fiable et p est un protocole F -Croissant, on a d’après Lemme

3.8.2:

De3.51et3.52, on a :

F (α, α) w pαq (3.53)

Or F est bien-formée dans C, donc :

F (α, α) = ⊥ (3.54)

De3.53et3.54, on a :

⊥ = pαq (3.55)

3.55est impossible car contradictoire àpK(I)q 6w pαq dans3.51. Donc, pour tout α ∈ M et tout ρ ∈ [[p]] on a :

ρ |=C α ⇒ pK(I)q w pαq (3.56)

Ou encore, pour tout α ∈ M on a :

[[p]] |=C α ⇒ pK(I)q w pαq (3.57)

Ou encore :

p est C-correct par rapport à la propriété de confidentialité.

Chapitre 4

Construction de fonctions d’analyse

fiables

4.1

Introduction

Dans notre analyse statique d’un protocole, nous avons besoin de fonctions d’analyse fiables pour esti- mer le niveau de sécurité de chaque atome dans un message généré par le protocole. Dans ce chapitre, nous allons proposer une façon constructive de définir des fonctions fiables basées sur les sélections.

D’abord, nous présentons quelques définitions ainsi qu’un ensemble de résultats intermédiaires néces- saires pour nos preuves. Ensuite, nous proposons une classe générique abstraite de sélections à l’inté- rieur d’une clé protectrice externe. Nous prouvons que cette classe est fiable sous certaines conditions sur la théorie équationnelle. Ensuite, nous allons définir des sélections concrètes qui sont instances de cette classe. Puis, nous allons proposer un homomorphisme qui permet de transformer les sélections ainsi proposées en des fonctions d’analyse fiables et les éléments rendus par une sélection en des va- leurs de sécurité.

Il faut prendre note que dans ce chapitre, nous ne traitons pas le problème de substitution qui sera traité dans le chapitre prochain. Nous supposons donc que tous les messages sont des termes clos et qu’il n’y a pas de variables à substituer.