| known_in (E È {m}, m) |
| |
|
| known_in (E, m) Ù known_in (E, K) |
known_in (E, mK) Ù known_in (E, K-1) |
| Þ known_in (E, mK) |
Þ known_in (E, m) |
| |
|
| known_in (E, m1) Ù known_in (E, m2) |
known_in (E, (m1, m2)) |
| Þ known_in (E, (m1, m2)) |
Þ known_in (E, mi)
|
| Modélisation de la relation de transition |
Écriture d'un prédicat P (état-avant,
transition, message, état-après).
| P (s, l, m, s') = |
(l=émission-1. Ù P_emission_1 (s, m, s')) |
| |
Ú (l=réception-1. Ù P_reception_1 (s, m, s')) |
| |
Ú ...
|
| P_emission_1 ((sA, sB, sS, E), m, (s'A, s'B, s'S, E') = |
| sA = 1a(Na) Ù s'A = 2a(Na) Ù s'B = sB Ù s'S = sS |
| Ù E' = E È {m}Ù m = (idA, idB, Na) Ù ¬ known_in (E, Na) |
| P_reception_1 ((sA, sB, sS, E), m, (s'A, s'B, s'S, E') = |
| sS = 1s () Ù s'S = 2s (xA, xB, x |
|
)
Ù s'A = sA Ù s'B = sB |
|
| Ù E' = E Ù m = (xA, xB, x |
|
) Ù known_in (E, m)
|
|
| Modélisation du protocole |
Exécution :
| Exec (s, s)
P (s,l,m,s') Ù Exec (s',s'') Þ Exec (s,s'') |
Hypothèses de départ :
| ¬ known_in (E0, Kas)
¬ known_in (E0, Kbs) |
| Exec ((sA0, sB0, sS0, E0), (sAfin, sBfin, sSfin, Efin)) |
Montrer :
| ¬ known_in (Efin, Kab) |
| ¬ known_in (Efin, Kas) |
| ¬ known_in (Efin, Kbs) |
Souple : on peut changer le modèle de sécurité (ici, pour
simplifier, on avait confiance en A, B et S, et S était en
mono-session).
S'étend à de gros protocoles cryptographiques, y compris de
commerce électronique.
L'exécution Prolog retourne soit ``non'', soit une attaque. Dans
le premier cas, la trace Prolog fournit l'argument de preuve.
This document was translated from LATEX by HEVEA.
| | | | | |