Home

Approximations pour la vérification automatique de protocoles de

image

Contents

1. 107 Satisfaction d une propri t de secret par un automate 108 Semi d cidabilit du probl me du secret pour un nombre non born d SESSION lt nu Sade Ao ae ARE ia ars 109 5 3 Correction de la traduction 109 5 4 Mod le deux agents 110 5 4 1 Fusions d agents 110 82 Chapitre 5 De F vers une v rification de protocoles par approximations 5 4 2 R duction d une sp cification IF deux agents 112 5 5 CONCLUSION ii aia 115 Dans le chapitre 3 nous avons pr sent la m thode GK00 qui partir d un ensemble de termes constituant le langage d un automate d arbre Ao et d un syst me de r criture R o L Ao repr sente la connaissance initiale de lintrus et R les tapes du protocole tudi ainsi que le pouvoir de l intrus calcule par r criture R une sur approximation A de la connaissance r elle de lintrus R 45 lorsque le nombre de sessions du protocole est non born L automate est le r sultat d une s quence d automate tablie partir de Ao de R et d une fonction d abstraction a en utilisant l algorithme de compl tion vu dans la section 3 1 2 L automate An a la propri t suivante pour tout gt n A An L autre propri t issu de la proposition 3 1 6 est que R L Ap L A Le principe est r sum dans la figure 5 1 L An
2. Maintenant nous supposons que la propri t est vraie pour toute s quence de longueur n SOS So ate e ee tn41 une s quence D apr s la d finition d une telle s quence nous obtenons tn Pred t 1 CPn 1 Pn 1 Soit t41 T F U Q un terme tel que t 41 gt A U4 A Gy et par hypoth se p 1 Pos t Nous pouvons ainsi appliquer le lemme 9 1 19 sur le terme t et ainsi obtenir que 1 il existe un terme t Pred t 1 CPn 1 Pn 1 tel que tn gt A th En utilisant alors l hypoth se d induction sur la s quence ty 22 t 2 t et sur le fait que tn 1 t il en r sulte qu CPn Pn y Fa he Oa cutis 2 il existe une s quence t EPI 41 telle que Vi 0 n th 4 qr D apr s 1 et 2 nous obtenons que tg Fe es th est galement une s quence De plus Vi 0 n 1 t qr En effet c est vrai de ty at en utilisant 2 et galement pour t par hypoth se CPn Pn yy CPn 1 Pn 1 lt tn Th or me 9 1 21 Compl tude Soit t u L Ax Si u gt t alors il existe to tn 1 L Ax Cp1 CPn OCPC CPn Pn Cp1 p1 P1 Pn N et une s quencet ta 3 totels u to PREUVE La preuve se r sume en une induction sur la longueur de la cha ne de r criture u Rt Sin 0 alors u t et nous avons la s quence vide telle que ty u t L Ap Sup posons que la propri t est vraie pour toute
3. secret t fxr Evar Sec gt r Ry faire Evar Sec Ther id S secret t id S Sec 114 Chapitre 5 De F vers une v rification de protocoles par approximations FPour retourne Fr Ar Rip th Fin La proposition 5 4 5 suivante d montre que l abstraction f4 est correcte i e une propri t de secret v rifi e sur le mod le abstrait l est galement sur le mod le initial Proposition 5 4 5 Soit Specie une sp cification F dont l tat initial est to le syst me de transi tions est Rip et les ensembles de symboles fonctionnels et de variables induits sont respective ment Fig et Xr Soit Specie la sp cification IF o t Rig Fir et Xr sont respectivement l tat initial le syst me de r criture l ensemble de symboles fonctionnels et l ensemble de variables de Spec tels que speclF abstraite Fe Vir to Rie Fir Mir Rip th Soit p l identifiant d une propri t de secret 1 Si la propri t p est v rifi e pour Speci alors la propri t p est galement v rifi e pour Spectr 2 Si la propri t n est pas v rifi e sur S pecie alors elle ne l est pas non plus pour Specie Exemple 5 4 6 Soit tini tel que tint and iknows a and iknows b and state_Alice a b kab de fault 0 state_Bob b a kab de fault 0 Ainsi IK a b En reprenant la d claration de l exemple 4 3 2 c est a dire A B a b agent Kab kab symmetric
4. Specification Les propri t s v rifier sont d crites au sein de cette section Deux degr s de secret et cinq degr s d authentification sont permis avec CASPER Cette hi rarchie peut tre consult e dans Low97b Actual variables Les variables utilis es dans la sp cification du syst me voir System sont d clar es dans cette section Il est ainsi possible d attribuer un ensemble 48 Chapitre 3 Des outils de v rification de plus en plus accessibles de valeurs autoris e pour un time stamp Functions Des d tails sur les fonctions d clar es dans la section F ree varia bles sont sp cifi s dans cette section Ainsi des abstractions peuvent tre d finies dans cette section Par les deux instructions SK Alice Yves KayetSK Bob Yves Kay nous sp cifions que la cl utilis e par Alice et Yves est la m me que celle utilis e par Bob et Yves System La configuration initiale du syst me est sp cifi e dans cette section Le nombre d agents et le nombre de sessions sont donn s par le contenu de cette section Plu sieurs d clarations sur une m me ligne sp cifient un ordre s quentiel d ex cutions alors que la parall lisation se repr sente sur plusieurs lignes Pour la composition s quentielle il est n cessaire qu une ligne concerne des r les de m me nom et jou s par la m me per sonne INITIATOR et Alice pour la premi re ligne du tableau ci dessous et RESPON DER et Bob
5. sont lus en entr e La r gle 7 d termine le comportement de P_ lorsqu un l ment est lu sur la file FIFO Sym triquement la r gle 8 exprime la lecture d un symbole par le processus P dans la file FIFO Enfin les deux derni res r gles retournent le nombre de symboles compt s une fois que la liste donn e en param tre du processus est vide et que la file des symboles compt s est galement vide 9 3 Quelques exp rimentations 181 Une ex cution avec P et P_ S Proc cons plus cons minus nil S Proc cons minus nil o s o Proc cons plus nil o Proc cons plus nil o nil nil nil nil S Proc cons minus nil S Proc nil s o s o Proc cons plus nil o Proc cons plus nil nil nil nil cons minus nil S Proc nil S Proc nil s o s o Proc cons plus nil o Proc nil o nil nil cons plus nil cons minus nil nil s o nil o plus nil cons minus nil S Proc nil s s o Proc nil o minus nil Pour la sp cification donn e figure 9 2 une propri t prouver est que pour toutes listes donn es en param tres aux processus P et P_ il n existe aucune situation de blocage dans le processus Dans cet exemple une situation de blocage est associ e au fait qu un des processus est arr t alors qu il existe encore des symboles compter dans sa file d attente ce qui
6. gt S x Stop c m n En consid rant alors le syst me de r criture R1 en utilisant la m me fonction d abstraction a ainsi que le m me tat initial il est alors possible de calculer une sur approximation des tats atteignables En analysant cet ensemble nous concluons qu il n existe pas de situation de blocage pour ce syst me de r criture 9 3 3 Protocoles de s curit Dans le contexte des protocoles de s curit les propri t s d authentification et de secret peuvent tre v rifi es par le biais de probl mes d atteignabilit Dans les chapitres 5 et 6 nous semi d cidons un probl me de s curit propri t de secret comme un probl me de non atteignabilit Dans GK00 OCKS03 les propri t s d authentification sont galement ex prim es de cette mani re Dans le contexte des protocoles de s curit les traces obtenues gr ce la m thode d crite dans la section 9 1 pourraient souligner une attaque men e par l intrus contre un protocole donn Prenons par exemple le protocole NSPK NS78 voir section 1 1 2 Nous rappelons que ce protocole est divis en trois tapes l AB NaA y 2 B gt A NaNb 3 A B Nb x Les donn es A et B sont des agents Ka resp Kb est la cl publique de A resp B et Na et Nb sont deux nombres al atoirement g n r s Nous rappelons que la notation X repr sente le chiffrement du message X avec la cl Y Par X Y nous exprimons
7. gt 49 et Feat Ini b b gt No avec Lie Fabs et dn1 a a gt 4n1 a b gt In1 b a An1 b b Q Basiques A La derni re condition concerne la fonction d approximation utilis e Nous montrerons dans la section 6 3 que les fonctions d approximation utilis es respectent bien cette condi tion Si une paire A y est Basiques compatible alors elle poss de d int ressantes propri t s nonc es dans les lemmes 6 2 8 et 6 2 9 Le lemme 6 2 8 montre que toute variable x Basiques ne peut tre substitu e que par un terme du m me ensemble De plus nous mon trons que tous les ensembles composant Basiques sont clos par substitution de dans T F Concernant le lemme 6 2 9 deux r sultats sont illustr s 1 aucune r criture ne peut se faire sur les tats de Qpasiques A et 2 toutes les variables qui sont substitu es par un tat q O Basiques A appartiennent au m me ensemble que t 6 2 Crit res de lin arit s et leur v rification automatique 125 gt and state_Alice fa gt A fagt B fsk Kab fnat 0 ftext D N1 iknows ftext start 1 and state_Alice fa gt A fagt B fsk Kab fnat 1 ftext nl A B iknows pair f y Kab crypt fsk Kab ftext n1 A B and state_Bob fagt B fagt A fsk Kab frat 0 ftext D_N1 rev pair f sk Kab crypt fsy Kab ftext N1 2 and state_Bob fa
8. q pour tout 1 m Soit 7 1 m Il existe deux cas Si la variable x n appara t qu une seule fois dans l i e pour i j 1 m Six j alors i j Dans ce cas nous posons o x qj Sinon puisque R est YA Basiques lin aire gauche x Basiques Par cons quent par le lemme 6 2 8 u x Basiques et type x type u x Ainsi par la condi tion 1 de la d finition 6 2 7 il existe un unique tat permettant de r duire u x Cet tat est Qu x OBasiques A Par cons quent nous pouvons poser o x qj Il existe donc une substitution o YQ telle que lo I qi p Gmlpm Cependant et par 6 6 lr q En cons quence et par le lemme 6 1 8 TO r ANT De plus nous obtenons FH 4 9 Par construction est inclus dans l ensemble des transitions de gr A Donc tral a 1 Par 6 6 prouvant que tir L gr A Ry Par le lemme 6 2 11 gR A y est Basiques compatible Puisque R est fini si A est fini alors A l est de m me Proposition 6 2 15 S il existe un entier positif n tel que L gp A L gr A alors R L A E L grn 7 A PREUVE La premi re tape de cette preuve est de montrer que pour tout N gt 1 R L A E L 9r A 6 9 La preuve est faite par induction 6 3 Approximations g n r es automatiquement 131 Pour N 1 6 9 est vrai d apr s le th or me 6 2 14 Supposons qu il exi
9. session i s kis ml m2 h tagl tag2 Si Ri Ss Rs session a i kia ml m2 h tagl tag2 Si Ri Ss Rs end role goal weak_authentication_ on server_client_k_ab addresses G1 G2 weak_authentication_on client_server_k_ba addresses G1 G2 end goal environment G B Sp cification HLPSL du protocole LIPKEY role initiator A agent S agent G nat H hash_func Ka public_key Ks public_key Login_A_S hash agent agent Pwd_A_S hash agent agent SND RCV channel dy played_by A def local State nats Na Nb text Rnumberl text X message Keycompleted message W nat K text text const sec_i Log sec_i_Pwd protocol_id init State 0 transition 1 State 0 RCV start gt State 1 Na new Rnumberl new SND A S Na exp G Rnumber1 A S Na exp G Rnumberl _inv Ka 2 State 1 RCV A S Na Nb X A S Na Nb X _inv Ks gt State 2 Keycompleted exp X Rnumber1 SND Login_A_S Pwd_A_S _Keycompleted secret Login_A_S sec_i_Log S secret Pwd_A_S sec_i_Pwd S IN K Login_A_S Pwd_A_S request A S ktrgtint Keycompleted witness A S k Keycompleted end role role target 197 198 A S agent G nat H hash_fu Ka Ks public_ Login Pwd hash_fu SND RCV channel played_by S def local State nat Na Nb text Rnumber2 text Y message Keycomp
10. 5 1 Traduction d une sp cification F en un syst me de r criture R et un automate d arbre Ay103 crypt qr qr ar et scrypt qr qr ar sp cifient que lintrus peut encoder n importe quel message par n importe quel autre message and qf qf qyr permet de sp cifier la conjonction de tout terme se r duisant sur qy apply qrs qs a7 lintrus peut consid rer une donn e quelconque comme une fonction et ainsi l appliquer une autre donn e iknows q gt qy sp cifie que tout ce qui se r duit sur q est connu par lintrus Exemple 5 1 36 Construction de Ay Soit R et Rip les syst mes de r criture d crits dans l exemple 5 1 32 Soit tini un terme repr sentant l tat initial d une sp cification F donn dans I exemple 4 3 3 tinu and iknows a and iknows b and state_Alice a b kab de fault 0 state_Bob b a kab de fault 0 Dans l exemple 5 1 32 la variable M est skol mis e par l abstraction n A B A partir de la d finition de Abs donn e pr c demment Abs ftext n A B L ensemble des constantes dont le type est agent d clar es dans l exemple 4 3 2 est a b Par cons quent Termes Abstractions frea n a a frert 2 0 A frext n a b frext n b b Par d finition E Trad s s e TU H et 3p Pos t telle que s t U Termes Abstractions Donc E iknows fagt a iknows fagt b state Alicel fagtla fagt b fsk ka
11. C Boyd and A Mathuria Key establishment protocols for secure mobile commu nications A selective survey Lecture Notes in Computer Science 1438 344ff 1998 D Basin and L M dersheim S and Vigand An On The Fly Model Checker for Security Protocol Analysis In Einar Snekkenes and Dieter Gollmann editors Proceedings of ESORICS 03 LNCS 2808 pages 253 270 Springer Verlag 2003 Available at http www avispa project org S Brackin C Meadows and J Millen CAPSL interface for the NRL protocol analyzer In Proceedings of the 2nd IEEE Symposium on Application Specific Sys tems and Software Engineering and Technology ASSET 99 pages 64 73 March 1999 D Basin S M dersheim and L Vigano An On The Fly Model Checker for Security Protocol Analysis Submitted available at www infsec ethz ch publications ofmc pdf 2003 208 Bol96 BP03 CC05 CCC 04 CDG 02 CDL 00 CDL 03 CDLOS CJ CKR 03a CKR 03b CLC03a CLC03b Bibliographie D Bolignano An approach to the formal verification of cryptographic protocols In ACM Conference on Computer and Communications Security pages 106 118 1996 B Blanchet and A Podelski Verification of cryptographic protocols Tagging enforces termination In Andrew Gordon editor Foundations of Software Science and Computation Structures FoSSaCS 03 volume 2620 of Lecture Notes on Computer Science pages 136 152 Warsaw Polan
12. Le processus de v rification associ cette technique n est pas automatique En effet il est d abord n cessaire de sp cifier un protocole en termes de syst mes de r criture et d automates d arbre ce qui n est pas ais pour tout le monde Ensuite les fonctions d abstractions permettant le calcul de sur approximations doivent galement tre d finies manuellement ce qui est encore plus difficile En effet juger la pertinence d une fonction d abstraction requiert une expertise ainsi qu une exp rience certaine La v rification des propri t s ainsi que leur sp cification se font galement manuellement Les propri t s sont exprim es sous forme d automates d arbre Processus de v rification des propri t s de secret automatique Nous avons propos d automatiser compl tement ce processus en connectant cette m thode au langage IF voir figure 1 5 A partir d une sp cification IF nous g n rons automatiquement un syst me de r criture R repr sentant le protocole et les capacit s d analyse et de compo sition de lintrus un automate d arbres Ap sp cifiant la connaissance initiale de l intrus et la configuration initiale du r seau une fonction d approximation d abstraction symbolique et des propri t s v rifier De plus nous avons galement d fini des crit res v rifiables au tomatiquement permettant d assurer la correction de l approximation calcul e En effet da
13. Nous d finissons ci dessous un langage nomm Termes inclus dans Zign F X et poss dant des propri t s expos es dans la proposition 6 2 5 Ces propri t s sont galement fondamen tales pour le bien fond de la technique de r solution de la non lin arit gauche des syst mes de r criture pr sent e dans la section 6 2 2 122 Chapitre 6 D marche fond e sur des approximations Definition 6 2 4 Le langage Termes est le plus petit ensemble de Termes de Tsign Fir Ar tel que 1 sit Agents et fagt Forte alors fagt t Termes 2 site Texts et frext Fortes alors frext t Termes 3 sit Keys type t public key et fox Forti alors fp t Termes 4 sit Keys type t symmetric_key et fs Fprtet alors fs t Termes 5 sit Nats et fnat Fprta alors fnat t Termes 6 sit Sets et fect Fortes alors fat Termes 7 sit Identifiers et fia Fyrtet alors fia t Termes 8 sit Functions et f fune Fortes alors f punc t Termes 9 sity to Termes alors apply t1 t2 and t tz crypt t t2 scrypt t t2 pair t t2 exp t1 t2 xor t t2 Termes 10 si f E T H f Fy etty tn Termes alors f t1 t Termes 11 siti t2 Termes et S C Termes alors secret t1 t2 S Termes 12 sit Termes alors iknows t Termes 13 sit X ettype t message alors t Termes Notons que dans
14. gauche Lemme 6 3 4 Si R est X Z lin aire gauche et droite alors LOIR a4 A R L A PREUVE Soit P la proposition suivante Pour tout terme slic t TLF de 9r y4 A tel que t gt e q et Hp Pos t t gt p Qo A A Z A n alors t R L A Nous prouvons que P est vraie pour tout n gt 0 par induction sur n Pour simplifier les nota tions soit NR t p Pos t t gt p Qo et A t Z A Po Supposons que t respecte les hypoth ses pour Po Donc IN R t 0 En particulier e NR t donc A t C AettDe qr Puisque A et gr A ont le m me ensemble d tats finaux donc t L A Pn gt Pn 1 Supposons que P est vraie pour n gt 0 et que t respecte les hypoth ses pour P 1 Puisque N R t est non vide soit p une position maximale de N R t dans le sens lexicographique Comme p est maximale nous pouvons appliquer le lemme 6 3 3 au terme slic tp Ainsi il existe ty T F tel que tpt gt p et tp R to De plus comme tp t gt p il existe alors un terme slic t de A tel que H t to et tDe tDp Soit t t t Par construction t R t et NR t n 1 Ainsi par induction t R L A Soit Bn A l automate d arbre d fini par Ba A 97 A Nous montrons que pour une application successive de la fonction gr permet en effet d avoir une sous approximation
15. iknows PreludeM1 iknows PreludeM2 gt iknows pair PreludeM1 PreludeM2 step gen_crypt PreludeM1 PreludeM2 iknows PreludeM1 iknows PreludeM2 gt iknows crypt PreludeM1 PreludeM2 step gen_scrypt PreludeM1 PreludeM2 iknows PreludeM1 iknows PreludeM2 gt iknows scrypt PreludeM1 PreludeM2 step gen_exp PreludeM1 PreludeM2 iknows PreludeM1 iknows PreludeM2 gt iknows exp PreludeM1 PreludeM2 step gen_xor PreludeM1 PreludeM2 iknows PreludeM1 iknows PreludeM2 gt iknows xor PreludeM1 PreludeM2 step gen_apply PreludeM1 PreludeM2 iknows PreludeM1 iknows PreludeM2 gt iknows apply PreludeM1 PreludeM2 analysis rules step ana_pair PreludeM1 PreludeM2 iknows pair PreludeM1 PreludeM2 gt iknows PreludeM1 iknows PreludeM2 step ana_crypt PreludeK PreludeM iknows crypt PreludeK PreludeM iknows inv PreludeK gt iknows PreludeM step ana_scrypt PreludeK PreludeM iknows scrypt PreludeK PreludeM iknows PreludeK gt iknows PreludeM 2 Generating new constants of any type step generate PreludeM exists PreludeM gt iknows PreludeM A partir d un tat donn et d un ensemble de transitions r gles nous pouvons calculer un ensemble de nouveaux tats Pour un tat donn s il existe une conjonction de pr dicats telle que cette derni re soit unifiable
16. tyn ty Type tels que sign f ty x X tyn gt ty et Vil lt i lt n type t lt rypetyi Nous d finissons Tsign F X l ensemble des termes bien form s par induc tion sur la structure des termes comme suit site X U Fo alorst Tsign F sit f tis tn avec f E Fa tirita E Tag SIONS ti XX tyn gt ty ettype t1 lt rypety1 Typelt lt rypetyn alors t Teign F X Exemple 5 1 5 Exemple de terme bien form Soit f F tel que sign f message x agent message Soit a Fo tel que type a agent Le terme f a a est un terme bien form car message rypetype a Le terme f f a a a est galement un terme bien form 5 1 Traduction d une sp cification F en un syst me de r criture R et un automate d arbre Ay87 Unification et termes bien form s La d finition suivante pr sente la notion classique d unification Cependant nous adap tons cette d finition pour que tout terme issu de l unification de deux termes bien form s soit galement bien form Definition 5 1 6 Unification typ e Soit t t Tsign F A tels que Var t N Var t 0 La substitution p X gt Tsign F X est une substitution d unification entre t ett si Up tpet pour tout x X type x 1ypetype p x Une substitution satisfaisant le second crit re est appel e substitution bien sort e Exemple 5 1 7 Soit f Fo a Fo et x y z X tels que Sign f me
17. La preuve technique parfois partiellement automatis e mais n cessitant le plus souvent Pintervention d un expert En revanche le spectre d application de cette technique est large De plus une telle m thode offre des garanties totales par rapport aux propri t s v rifi es Le model checking technique d exploration exhaustive et automatique d espace qui se heurte au probl me de l explosion combinatoire Par cons quent le spectre d application d une technique de cette cat gorie est relativement faible L exploration exhaustive de l espace offre des garanties totales Le test technique de validation manuelle ou automatique permettant de v rifier qu un syst me se comporte conform ment aux attentes Le spectre d application est tr s large car le test peut s effectuer au niveau du code Cependant les garanties offertes ne sont que partielles Ces vingt derni res ann es la v rification des protocoles de s curit a t et reste un sujet de recherche intensivement tudi Durant cette p riode les techniques de preuve et de model checking ont t appliqu es avec succ s dans le domaine des protocoles de s curit notam ment Les enjeux induits par les protocoles de s curit font de ces syst mes des syst mes critiques En effet l heure o les foyers fran ais s quipent massivement en connexions haut d bit pour Internet o les t l phones portables s enrichissent de
18. QBasiques A alors r Basiques Comme r Termes et r Basiques d apr s la d finition 6 2 4 nous d duisons qu il existe n cessairement une position p Pos r etw N tels que p p w et r p Forte Ce qui montre que Y4 sa tisfait le dernier crit re de la condition 5 de la d finition 6 2 7 Donc la paire A 4 est Basiques compatible Pour tout n i lt 0 C A est d fini inductivement par C A C B A et CLA C C A Dans la proposition suivante nous prouvons que la fonction d approximation Yy permet de calculer une sur approximation des termes accessibles et que de plus ce calcul se termine toujours Proposition 6 3 7 Si R est X Z lin aire gauche et si A est fini alors la s quence C A z lt 0 est in vitablement constante pour tout n gt 0 Nous notons par C A cette limite L automate d arbre C A est fini De plus pour tout n lt 0 R L A L C A PREUVE Puisque A R YAp est Basiques compatible par induction et en utilisant le lemme 6 2 11 B A R 744 est aussi Basiques compatible et Qo O Be siaties B A Q Basiques A Q Basiques CE A Soit q Q l r une r gle de R et o une substitution de Y dans Q tels que Puisque CE A R YAp est Basiques compatible si z Z N Var l alors a z Qo z Qo Par cons quent o z 2 Z N Var l C 2 est fini puisque Qo est fini De plus l ensembl
19. algorithme 5 1 31 et E un ensemble de termes tel que E seep l 7 Soit E t Tsign F W T Z UT H U T S U Faits ett TradFaits t o TradFaits est donn dans l algorithme 5 1 30 Alors E U E C Termes 6 2 Crit res de lin arit s et leur v rification automatique 123 PREUVE vident O La proposition ci dessus traite des syst mes de r criture issus de la traduction de syst mes de transitions IF Les r gles de ces syst mes de r criture sont de la forme Ss y La donn e Sec est utilis e pour la v rification de propri t s Pour la section suivante nous faisons abstrac tion de ces donn es qui seront utiles uniquement pour la d finition du semi algorithme pr sent la fin de la section 6 3 Pour all ger les notations nous consid rons que tous les syst mes de r criture R sont tels que pour tout l gt r R l r Termes 6 2 2 Pr servation de Basiques durant la compl tion Cette section propose une solution technique au probl me de non lin arit pour la v rifica tion de protocoles de s curit En partant du constat qu en g n ral les variables non lin aires permettent d exprimer la comparaison entre deux nonces deux cl s atomiques deux iden tit s i e les l ments de Basiques nous avons d termin un ensemble de crit res qui pour un automate A permet d associer un tat un l ment clos de Basiques En d finissant d autres cr
20. gauche d crit section 6 2 ainsi que les classes d approximations d finies dans la section 8 2 au mod le issu du langage IF Du point de vue de la v rification de protocoles de s curit prouver une propri t pour un protocole donn dans un environnement non born en nombre de sessions est un point im portant Pouvoir d tecter des attaques dans un tel contexte l est galement N anmoins nous devons pr ciser qu une attaque d tect e avec notre technique ne signifie pas n cessairement qu il s agisse d une attaque dans le mod le IF voir la correction de la traduction section 5 3 A titre indicatif cela peut s av rer tout de m me int ressant Nous pr senterons d ailleurs une m thode dans le chapitre 9 qui permettrait de distinguer les fausses attaques des r elles En appliquant les r sultats de la section 6 3 aux protocoles de s curit nous sommes alors capables de calculer non seulement une sur approximation de la connaissance de l intrus mais aussi des sous approximations successives si la premi re tentative de preuve du secret a chou En ce qui concerne la fonction d approximation y y et plus pr cis ment la fonction y les va riables utilis es ne sont que des variables de type agent Par exemple pour le protocole NSPK le syst me de r criture contient des r gles de type state Alice A B Na Nb et state_Bob B A Na Nb Ainsi il est vident qu en fonction des instanciations des
21. lors de l exemple 4 3 3 44 2 De PROUV IF Dans BKV06 nous avons propos un branchement du langage PROUV au langage IF Plusieurs challenges ont t relev s Tout d abord repr senter un langage sp cifiant des pro grammes concurrents en un syst me de transitions Ensuite le langage PROUV tant plus expressif que le langage AVISPA il a t n cessaire d tablir des repr sentations correctes dans le sens o nous ne devions pas introduire d approximations lors de cette phase de traduction En effet dans telles conditions nous ne pourrions pas appliquer dans tous les cas les r sultats obtenus sur les sp cifications IF aux sp cifications PROUV La suite de cette section d crit la traduction qui a t impl ment e dans un prototype baptis PROUVE2IF BKV06 Types signatures variables et symboles fonctionnels Les types PROUV usuels sont traduits en IF comme d crit dans le tableau de la table 4 1 Certains types comme prikey n existent pas en IF Ce dernier est donc traduit comme l inverse d une cl publique par inv public key Concernant les algorithmes de chiffrement d crits en PROUV il n existe pas de structures quivalentes en IF La traduction IF de n uplets n gt 2 en PROUV s effectue en utilisant le constructeur de couple pair de la mani re suivante didas On 1 a en PROUV devient pair a pair a pair an_ pair diode malts Exemple 4 4 1 Soit le qua
22. partir d une sp cification HLPSL une sp cification IF est g n r e gr ce l ou til HLPSL2IF Ensuite les outils de v rification OFMC BMV03 SATMC ACG03 CL 80 Chapitre 4 HLPSL amp PROUV AtSe SS04 RTO1b et TA4SP traitent la sp cification IF g n r e est retourne un diagnostic relatant si une attaque existe et si oui sur quelle propri t et de quelle mani re Dans BKV06 nous avons r cemment connect le langage PROUV IF par le traducteur PROUV 2IF Si le langage IF a t cr au d part en fonction du langage HLPSL ce n est pas le cas du langage PROUV Des travaux sont encore en cours ce sujet Une diff rence que nous avons cit e pr c demment est par exemple la notion de variables partag es Cette notion n existe pas en HLPSL Une solution serait de consid rer une telle variable comme une adresse laquelle nous associons une valeur Ainsi les agents partagent une adresse Exemple 4 5 1 Soit la variable X partag e entre deux agents jouant les r les alice et bob Nous associons cette variable une valeur par d faut dummy_value ainsi qu une adresse adr_X Ensuite nous associons l adresse la valeur gr ce un symbole fonctionnel binaire memory de la fa on suivante memory adr_X dummy_value Les r les alice et bob contiennent chacun le param tre adr_X Nous constaterons dans le chapitre suivant que le genre de structure permettant la gestion des variables partag e
23. plication de l algorithme 5 1 31 sur Rir Soit F FiF U Fortce U Fabs O Fip est l ensemble des symboles fonctionnels d une sp cification IF donn e Fprtct l ensemble des symboles d crit dans la d finition 5 1 28 et Fbs l ensemble des symboles fonctionnels utilis s pour les abstrac tions de donn es fra ches Par d finition les ensembles Fir Fortes et Fabs Sont deux deux disjoints Nous posons donc sign comme la fonction totale telle que pour tout f F sign f sign f si f Fir sign f SION ead Js si f F ortet sign f sign f si f Fas 102 Chapitre 5 De F vers une v rification de protocoles par approximations Soit Y XF l ensemble des variables d clar es pour une sp cification IF donn e Les deux ensembles F et Y sont deux ensembles finis car Fir Fans Fprtce et XF sont finis pour une sp cification IF donn e Nous notons Abs l ensemble de termes d fini comme suit Abs tly 1 SS PERLE l r p Pos t p p 1ett p Favs Intuitivement l en semble Abs repr sente l ensemble des abstractions prot g es g n r es lors de la cr ation de R partir de Rip Posons Termes Abstractions l ensemble fini des termes abstrayant les donn es fra chement g n r es induit par F et d fini comme suit Termes Abstractions t Tsign F ta Abs et p Var t gt Toign F telle que p soit une substitution bien sort e et t t p D ap
24. t p alors t Basiques Puisque tu gt q il existe q1 q Q et f Fra tels que truly qi f a et tulglp 49 6 1 En utilisant la condition 4 de la d finition 6 2 7 on obtient q1 Qpusiques A Selon la condi tion 2 de la d finition 6 2 7 et a partir de 6 1 nous d duisons que q qe et t u Basiques Comme pour tout t Termes t est un terme bien form par cons quent pour tout p Pos t N Pos tu type t rypetype tyl Puisque t Basiques et d apr s la figure 5 3 type t type tul 126 Chapitre 6 D marche fond e sur des approximations Lemme 6 2 9 Soit A y une paire Basiques compatible Soit l gt r R q Q et o X Q tels que lo q Par cons quent q Opasiques A et pour tout x Var l si o x O Basiques alors x Basiques PREUVE Nous montrons d abord par contradiction que q Qpasiques A Supposons que q O Basiques A Puisque que q Qzasiques A et que A y est Basiques compatible L A q t et de plus t Basiques NT F Comme t est unique terme de L A q il est alors le seul terme tel que t q Par cons quent t gt l0 q Or sit Basiques t appara t sans protection Par cons quent l Termes d apr s la proposition 6 2 5 ce qui est une contradiction avec la d finition de R Donc q OBasiques A Soit x Var l telle que o x Opasiques A Ainsi par la c
25. volu pour dans un premier temps supporter notre nouvelle fonction d approximation et dans un second temps g rer notre nouvelle notion de secret La structure de TA4SP est rappel e dans la figure 7 1 et le d tail de chacun des composants est donn ensuite Specification IF N TA4SP IF2TIF Automate termes secrets Fonction d approximation TIMBUK L y SUR ATTAQUE FIG 7 1 TA4SP Le traducteur IF2TIF effectue les op rations d crites ci dessous Le syst me de r criture est obtenu partir de la traduction de la section rules d une sp cification IF comme d crit lors de la d finition 5 1 31 Les abstractions concernant les don n es fra ches sont g n r es cette tape Les faits secrets sont dissoci s physiquement des r gles mais n anmoins regroup s dans la sp cification Timbuk dans une nouvelle section nomm e PropertiesDeclaration PropertiesDeclaration 0 secret text n A B na agt B agt A Cette sp cification signifie que pour la r gle 0 i e la premi re le nonce n A B est d clar secret entre les agents A et B 26Cet outil peut tre t l charg l adresse http www irisa fr lande genet timbuk 7 1 Structure de l outil 147 L automate est g n r partir de deux sources 1 la section init de la sp cification IF et 2 les abstractions d finies lors de la g n ration du syst
26. y a pas de r criture aux feuilles d un terme dans le cadre de la reconstruction d attaques Une autre possibilit serait plus fond e sur la nature des attaques Lorsqu une attaque sur le secret est effectu e il y a une certaine chronologie entre chaque tape de l attaque jusqu la d couverte du secret En se basant sur ce principe il serait peut tre int ressant d adapter cette notion de chronologie avec les OCPCS En datant les OCPC avec par exemple le num ro de l tape de compl tion et en jouant sur les fonctions d abstraction 1l serait peut tre envisageable de parvenir un r sultat de compl tude avec ce genre d heuristique Nous pourrions alors peut tre r soudre le probl me induit par le r sultat obtenu sur le protocole Kaochow v2 dans la section 7 3 i e d terminer s il s agit d une attaque ou d un artefact de l approximation V rification de propri t s d authentification Une autre perspective naturelle est de traiter d autres propri t s que le secret Dans GK00 les auteurs parviennent v rifier des propri t s d authentification Cette notion d authentifica tion est li e l expression de la croyance ou du point de vue d un individu par des termes Les termes utilis s par les auteurs sont de la forme c_resp z y z et c_init x y z La s mantique de ces termes est donn e dans la figure 3 1 section 3 1 2 En g n ral le troisi me param tre est diff
27. 2 pour la variable x Ensuite pour une substitution o donn e de Y dans O les auteurs semblent calculer L A 0 11 N AL A o x Si cette intersection est non vide alors la substitution est appliqu e la partie droite avec un traitement qu on imagine par ticulier pour les variables renomm es mais non d crit dans leurs articles Clairement la technique que nous pr sentons dans cette section l avantage de traiter un bon nombre de protocoles sans approximations li es la repr sentation d un protocole R non lin aire gauche par un syst me de r criture R lin aire gauche mais tel que pour E C T F R E C R E Parfois nous devons avoir recours ce genre d approximation lorsque les va riables non lin aires ne sont pas des variables de Basiques En effet nous nous retrouvons alors dans le cas pr sent dans l exemple 6 2 1 En transformant la r gle f x x x en f x y gt x nous reconnaissons alors un langage plus riche Bien que cette approximation peut s av rer grossi re en g n ral il s av re qu en pratique nous avons obtenu des r sultats concluants donn s dans le chapitre 7 6 5 2 Classes d approximations Nous avons propos dans la section 6 3 deux classes d approximations L une yx permet le calcul de sous approximations et l autre 4 permet le calcul de sur approximations Toute fonction appartenant l une de ces classes peut tre g n r e automatiquement et sur
28. Chaque instruction peut tre tiquet e par un identifiant Cet tiquetage peut tre utilis lors de la sp cification des propri t s voir section 4 1 3 Toutes les instructions ci dessus permettent de d finir plusieurs r les Un sc nario permet de composer des r les de fa on s quentielle parall le ou encore d ex cuter un r le un nombre non born de fois 4 1 2 Les variables En PROUV nous r pertorions deux types de variables mutable et logique Une variable logique ne peut tre instanci e qu une seule fois Alors qu une variable d clar e mutable peut tre instanci e un nombre quelconque de fois Une variable d clar e dans un bloc a une port e relative au bloc Toute occurrence d une variable est li e la d claration la plus proche Des variables peuvent tre d clar es pour repr senter des tableaux Par exemple la d claration a principal pubkey peut tre consid r e comme la d claration d un tableau bidimensionnel de cl s publiques index par l identit d un agent 4 1 3 Les propri t s Un syst me sp cifi en PROUV peut tre consid r comme un syst me de transitions Plus de d tails sont donn s dans KLTO5 Les propri t s en PROUV sont exprim es en lo gique de trace Une connaissance initiale de l intrus peut tre exprim e pour chaque propri t Par exemple la formule ci dessous exprime le secret du nonce g n r dans le r le Alice du processus P P
29. Ini Soit S s so 8 80 Sp X gt T F laih slp et s s r 11 p Par construction S puisque S et V s 50 S so gt s Donc P est vraie galement En cons quence posons t comme tant t Il existe alors s L Ap tel que s gt oto et spt La deuxi me tape est de reconstruire la trace si n cessaire s tg Notons que s L Ag et s gt 4 t0 gt 1 4 Par construction d une s quence nous savons que t _1 Pred t cpi pi Ainsi to Pred t cp p avec cp 4 11 p1 q De plus comme Var r C Var l pour toute r gle de r criture l gt r R et d apr s les d finitions 9 1 3 et 9 1 12 nous d duisons qu il existe une substitution p V T F telle que yj s et siria p gt 4 t1 Par induction nous reconstruisons la trace enti rement Une autre caract ristique de notre m thode est qu elle est compl te dans le sens o l exis tence d une trace implique l existence d une s quence Cependant il se peut que la trace ob tenue partir de la s quence ne corresponde pas la trace souhait e L exemple ci dessous montre qu il n est pas possible de reconstruire toutes les traces possibles Cependant le r sultat du th or me de compl tude 9 1 21 affirme que nous en trouverons toujours au moins une s il en existe au moins une Exemple 9 1 17 Soit a une fonction d abstraction telle que Vt T FU Q a t qr Soit R un
30. Language generation and verification in the NRL protocol analyzer In IEEE Computer Society Computer Security Foundations Workshop CSFW9 pages 48 61 1996 C Meadows Analysis of the Internet Key Exchange Protocol Using the NRL Protocol Analyzer In Proceedings of the 1999 IEEE Symposium on Security and Privacy IEEE Computer Society Press 1999 R Milner Communication and Concurrency Prentice Hall 1989 J K Millen A capsl connector to athena Proceedings of Workshop of Formal Methods and Computer Security 2000 212 MLO3 MMS97 MMZ 01 MN02 Moc87a Moc87b MROO MSO1 MSC04 NROS NRV03 NS78 OCKS03 ORS92 OT04 Bibliographie J Mullins and S Lafrance Bisimulation based non deterministic admissible inter ference and its application to the analysis of cryptographic protocols Information amp Software Technology 45 11 779 790 2003 J C Mitchell M Mitchell and U Stern Automated analysis of cryptographic protocols using muro In IEEE Symposium on Security and Privacy pages 141 151 1997 M W Moskewicz C F Madigan Y Zhao L Zhang and S Malik Chaff En gineering an Efficient SAT Solver In Proceedings of the 38th Design Automation Conference DAC 01 2001 C Meadows and P Narendran A unification algorithm for the group diffie hellman protocol In Workshop on Issues in the Theory of Security in conjunction with POPL 02 Portland
31. Op 1a Soit p une propri t de secret Soit une fonction d abstraction a telle que il existe N gt 0 pour lequel R L Ag L Ay et Ay est obtenu par compl tion voir d finition 3 1 4 de Ag par R en utilisant a 1 Si p verification Ay p R true alors la propri t p est galement v rifi e pour Spectr 2 Sila propri t n est pas v rifi e sur Spec alors p verification Ay p R false A partir d une sp cification IF notre m thode permet de v rifier des propri t s de secret sur le protocole sp cifi lorsque le sc nario donn dans l tat initial de la sp cification est ex cut un nombre non born de fois La section suivante pr sente l utilisation d abstractions correctes permettant dans un premier temps de rendre le mod le de v rification plus compact et dans un second temps de pouvoir conclure pour un sc nario coh rent quelconque 5 4 Mod le deux agents Dans des approches comme GK00 OCKS03 BLP03 toutes les donn es sont construites partir de l identit des agents Par exemple en utilisant la syntaxe de la figure 3 1 un nonce s exprime par N x y o x et y sont des identit s d agents Les cl s sont galement repr sen t es de la m me fa on modulo le symbole fonctionnel utilis Dans CLCO3b les auteurs ont montr qu en utilisant un mod le o tout le monde communique avec tout le monde et o les r gles peuvent tre ex cut es dans un ordre quelconque a
32. Pos l l p Basiques U Fass gt Ap Pos l p p p et Up Fortet 2 Vp Pos r r p Basiques U Fas gt Ap Pos r p p p et r p Fortet 3 Vp Pos l Vp Pos r a Sil p Fyrtet alors e sil p fagi alors l p 1 Agents o sil p feat alors l p 1 Texts U Fabs e sil p fa alors l p 1 Keys U Fas 100 Chapitre 5 De F vers une v rification de protocoles par approximations e sil p fpr alors l p 1 Keys U Favs e sil p frat alors I p 1 Nats e sil p frunc alors l p 1 Functions e sil p feet alors l p 1 Sets e sil p fia alors l p 1 Identifiers Forte alors sir p fia alors r p 1 Identifiers c Pour tout t Sec sit p Forte alors e sit p fagi alors t p 1 Agents o sit p fiex alors t p 1 Texts U Fabs e sit p fsx alors t p 1 Keys U Fabs e sit p fox alors t p 1 Keys U Fas o sit p fna alors t p 1 Nats o sit p ffune alors t p 1 Functions e sit p fse alors t p 1 Sets e sit p fia alors t p 1 Identifiers PREUVE D apr s la d finition 5 1 15 et les algorithmes 5 1 29 et 5 1 30 en posant Trad Faits m r TradFaits m et Sec TradFaits s s Sec les propri t s ci dessus sont trivialement satisfaites D apr s la proposition 5 1 26 pour tout x EV ar il existe ty Tsign F X
33. SND RCV played_by S def local State Na Nb Rnumber2 Y Keycompleted W K const sec_t_Log s init State 0 transition 1 State 0 State 1 21 State 1 State 2 end role role session A S agen Login Pwd agent nat hash_func public_key hash_func channel dy nat text text message message nat text text ec_t_Pwd protocol_id RCV S Na Y H S Na Y gt Nb new Rnumber2 new SND S Na Nb exp G Rnumber2 S Na Nb exp G Rnumber2 _inv Ks Keycompleted exp Y Rnumber2 secret Login A S sec_t_Log A secret Pwd A S sec_t_Log A RCV Login A S Pwd A S _ Keycompleted gt K Login A S Pwd A S request S A k Keycompleted t hash_func Ka public_key Ks public_key H hash_fu G nat def local SndI RcvI SndT RevT composition initiator A S G target A S G end role role environment nc channel dy channel dy H Ka Ks Login A S Pwd A S SndI RevI H Ka Ks Login Pwd SndT RcvT PKEY version anonyme 203 def const a s i b agent ka ki kb ks public key login pwd hash_func h hash_func g nat k protocol _id intruder_ knowledge ki i inv ki a b s h g ks login i s pwd i s ka composition session a s login pwd ka ks h g session b s login pwd kb ks h g session i s logi
34. add AA CPn 1 Pn 1 gt seg p eae at ST t Pn terms of tp 7 72 t t ET FUQ Iie 0 n ett t Gr ce au semi algorithme de la figure 9 1 deux types de conclusions sont possibles lorsque ce dernier termine La premi re est t est atteignable Sego 4 0 Dans ce cas la s quence retourn e permet de reconstruire la trace en utilisant l algorithme d crit dans la deuxi me partie du th or me 9 1 16 La seconde est t est un terme de l approximation E n 1 si tnt Predlta CPn 33Nous supposons que la fonction d abstraction fait converger le calcul de compl tion de la d finition 3 1 4 9 3 Quelques exp rimentations 175 E t EN Seqo 0 Tant que Seq D et E 4 faire Pour tout seq F faire t last seq Pour tout p Pos t faire Pour tout cp I gt r p q OCPC faire Si Pred t cp p 4 0 alors E add t cp p seq t Pred t cp p At Z U enun terms of s U E FSi FPour FPour FPour Pour tout seq E faire Si last seq gt 1 q alors Seqo seq FSi FPour E E FTQ FIG 9 1 Semi algorithme de construction de s quence avec Ay l ensemble initial de transi tions A l ensemble des transitions de l automate complet A et t le terme atteindre Pourquoi peut on conclure qu un terme puisse tre issu de l approximation Pla ons nous l avant derni re it ration de la boucle Tant que Pour chaque terme t E il
35. c dentes taient correctes celle ci l est galement Enfin la derni re option est similaire l option under approximation de la version en ligne En effet une commande contenant level 5 effectue 5 tapes de compl tion en consid rant une sous approximation Si l entier sp cifi est inf rieur ou gal O alors une sur approximation est calcul e Ainsi nous exhibons plusieurs conclusions possibles 1 ATTAQU il existe un niveau de sous approximation tel que le langage contient un terme d clar secret et suppos non tre connu par l intrus 7 3 R sultats 151 NSPKL 1 45 SUR NSPK 4 81 ATTAQUE RSA 5 93 ATTAQUE NSSK 115 34 SUR Denning Sacco shared key 8 82 Yahalom 97 68 Andrew Secure RPC 23091 Wide Mouthed Frog 7 20 Kaochow vl 209 60 Kaochow v2 3593591 27 TMN 8 02 ATTAQUE Neumann 66 45 S AAA Mobile I 754 19 UMT AKA 0 55 CHAPv2 16 46 CRAM MD5 ES DHCP Delayed Auth 84 EKE 87 LPD IMSR 25 LPD MSR 61 TSIG 46 SHARE 90 View On1y 6276 26 TAB 7 1 Exp rimentations sur le secret 2 S R tous les termes secrets non suppos s tre connus par l intrus ne sont pas pr sent dans le langage sur approxim 3 pour un terme secret suppos ne pas tre connu par l intrus il n existe pas de sous approximation assez grande contenant ce terme et la sur approximation calcul e contient ce terme 7 3 R sultats Comme nous l avons v
36. cifi e par une r gle de r criture r o l d finit le message re u et r la r action au message re u Le pouvoir de l intrus est simul par les r gles de r criture ci dessous U prikey x crypt pubkey x y z z D codage asym trique U sk x y crypt sk x y u z gt z D codage sym trique mesg x y z gt z Extraction du message cons x y x Projection cons x y y Projection U y z mesg agt 1 y Z Envoi de message U y z crypt y agt 1 z Codage du message z avec la donn e y La notation agt i d finit l identit de l intrus Le protocole fil rouge de la figure 3 1 est sp cifi par la r gle ci dessous goal A B mesg agt A agt B cons sk A B crypt sk A B A N A B Le terme goal A B repr sente une session du protocole entre les agents A et B La connaissance initiale de l intrus et les sessions du protocole sont repr sent es par un ensemble de termes Cet ensemble de termes est sp cifi comme le langage d un automate d arbre appel Ao 38 Chapitre 3 Des outils de v rification de plus en plus accessibles Ensuite partir du syst me de r criture et de l automate Ap l algorithme de compl tion de la d finition 3 1 4 calcule une s quence d automates en consid rant une fonction d abstrac tion donn e Dans GK00 la fonction d abstraction est d finir manuellement Une fois la s quence stabilis e c est dire lorsque
37. cifions la r initialisation du r le R en supposant que le dernier tat atteint dans ce r le est A step step R_ state _ role R A true SID gt state role R 1 true SID Cette m thode est bien adapt e car pour tous les r les qui ne bouclent pas la variable bool enne est initialis e false Ainsi une r gle comme celle ci dessus ne peut tre activ e 4 5 Conclusion Dans ce chapitre nous avons pr sent deux langages de haut niveau HLPSL CCC 04 et PROUV KLT05 HLPSL repr sente des syst mes de transitions mod lisant ainsi le com portement d individus honn tes En PROUV le comportement des individus honn tes est exprim via une suite d instructions proches d un langage de programmation repr sentant des syst mes concurrents Le langage PROUV permet de sp cifier des protocoles tr s pr cis ment et relativement facilement gr ce notamment de nombreuses structures de contr les telles que if case ou choice Cependant la plupart de ces structures sont galement repr sentables en IF mais il faut ma triser le langage Malgr tout le succ s du projet europ en AVISPA a montr que HLPSL tait assez expressif pour repr senter des protocoles tr s complexes AVI05 et permettre ainsi leur v rification ABB 05 Au cours de ce projet un autre langage de bas niveau IF AVIO3a a t d fini Le processus de v rification au sein de l outil AVISPA est le suivant
38. crite tape par tape il est facile de convaincre quelqu un qu un protocole est vuln rable Par contre il est plus difficile d argumenter suite au r sultat retourn Shttp www avispa project org 189 190 Conclusion par une technologie sans preuve explicite si ce n est un diagnostic affirmant que le protocole est d faillant Une trace n est pas trivialement reconstruite en r criture car le probl me d atteignabilit y est en g n ral ind cidable Lorsque nous calculons un sur ensemble des termes atteignables pour un terme appartenant cet ensemble il est en g n ral ind cidable de d terminer si ce terme est un terme r ellement atteignable ou non Nous avons labor une m thode permettant de reconstruire une trace pour tout terme at teignable et ce lorsque les syst mes de r criture sont lin aires gauche Dans le cadre de la v rification des protocoles de s curit cela signifie qu une attaque est d tect e Enfin nous avons d velopp la m thode de compl tion dans le chapitre 8 pour le calcul de sur approximations pour des syst mes de r criture non lin aires gauche permettant ainsi de traiter des protocoles utilisant le ou exclusif La poursuite de ces travaux pourraient s orienter selon les lignes suivantes Apr s avoir uti lis un mod le deux agents pour les propri t s de secret il semblerait pertinent de consid rer un mod le trois agents pour la v rification de
39. d duit alors que le nonce Nb repr sente l identifiant propos par J En confirmation il envoie donc a J l identifiant Nb chiffr par la cl publique Ki 5 L intrus J extrait l identifiant Nb le chiffre avec la cl publique XD et envoie le tout a l agent B Ainsi l agent B consid re ce message comme une confirmation venant de A Nous constatons que cette attaque est due la parall lisation de deux sessions du protocole NSPK Ce genre d attaque est appel e Man in the middle Au final l agent B est persuad que l identifiant Nb identifiera l agent A Ce qui n est pas le cas car J conna t cette donn e galement L agent A est galement persuad que tout les messages contenant le nonce Na sont en provenance de l agent J Imaginons escroquerie suivante men e par lintrus apr s avoir effectu e l attaque d crite ci dessus Ce premier demande l agent B en se faisant passer pour de lui pr ter la somme de 1000 euros Dans un soucis de confort l agent fournit un num ro de compte sur lequel l agent B pourra transf rer la somme demand e L agent B est persuad qu il s agit bien de l agent A cause de Nb De plus tant donn que l agent A est un individu de confiance B n h site pas une seconde et lui pr te la somme demand e I A j B Nb peux tu me verser 1000 euros sur le compte 123145678 x Clairement plus tard l agent B r clamera l agent l argent pr t
40. de t la position p t p d note la transition d corant t et t lt p resp t gt p d note la partie gauche resp droite de t p i e la configuration resp tat de la transition d corant t p 28 Chapitre 2 Pr liminaires Toutes les notions ci dessus ainsi que la notion de correspondance pr sent e ci dessous sont illustr es dans l exemple 2 3 9 A un terme slic t correspond un terme t T F U Q tel que t t et la fonction est d finie ci dessous Definition 2 3 8 Correspondance termes slic s T F U Q par Soit A F Q Qs A un automate d arbre Soit t un terme slic de A Le terme t est inductivement construit par Hla q a aveca FU Q ULF iss dn Mts stn F t s un Exemple 2 3 9 Illustration des termes slic s Soit t t to tz les termes slic s pr sent s dans l exemple 2 3 7 Pos t e1 11 111 2 21 tll a gt q t lt xa111 a tD1 11 q tha ts t f h h a h q1 Puisque ne contient pas de e transitions pour tout terme slic t de A Pos t Pos t Il est ainsi possible de d finir les ensembles de termes slic s suivants T F t un terme slic de A t T F T F U Q t un terme slic de A t T F U Q Ainsi nous pouvons d finir L A l ensemble des termes slic s de A tel que A t t TF Ate Qs Nous d finissons de m me mani re A q t t LF i Mee GE L ensemble des tra
41. effectu quelques travaux dans BHKO04 5Site du projet PROUV http www lsv ens cachan fr prouve 6Site du projet AVISPA http www avispa project org 16 Chapitre 1 Introduction 1 2 Contributions L objectif de cette th se est de mettre au point un processus de v rification automatique permettant de valider une sp cification de haut niveau d un protocole et ce pour un nombre quelconque de sessions 1 2 1 De langages de haut niveau vers un langage proche des outils HLPSL IF et AVISPA Au sein de l outil AVISPA il existe deux langages de sp cification HLPSL et IF Le premier est un langage de haut niveau le second un langage proche des langages d entr e des outils de v rification Le processus de v rification au sein de l outil AVISPA est le suivant Une sp cification HLPSL est traduite en une sp cification IF partir de laquelle les outils effectuent la v rification Les sp cifications HLPSL et IF d crivent des syst mes de transitions Nous avons particip l laboration de sp cifications HLPSL des protocoles de s curit TSIG voir annexe A et LIPKEY voir annexes B et C Ces sp cifications sont galement disponibles dans AVIO5 Nous avons galement particip la d finition des propri t s de s curit en HLPSL et IF notamment celle du secret AVI04 Du langage PROUV IF Le projet AVISPA ayant d bouch sur une plate forme de v rification automatique il nous a sembl
42. en signant la demande avec le nonce Na pour s identifier aupr s de l agent A B A Na peux tu me rendre les 1000 euros pr t s xa L agent A ne comprendra pas grand chose cette requ te car il ne se souviendra pas avoir demand quoique ce soit J pour l agent A Na est l identifiant qu il avait fourni 7 Les deux protagonistes et B se rendront compte de l escroquerie une fois qu ils se seront rencontr s pour s expliquer En imaginant que l intrus aie pris les mesures n cessaires pour d une part ne pas se faire identifier par l agent A et d autre part ne pas se faire rep rer avec le compte ouvert l occasion il peut alors savourer son escroquerie et profiter des 1000 euros L authentification clam e par ce protocole est donc d faillante La section suivante pr sente quelques propri t s classiquement v rifi es sur les protocoles de s curit Propri t s v rifier Un protocole de vote lectronique doit offrir certaines garanties propre l application Un vote doit tre anonyme secret une personne a le droit de voter au plus une fois etc Parmi ces garanties certaines sont communes d autres sont propres au protocole tudi Les propri t s les plus communes sont list es ci dessous Le secret Une propri t de secret sp cifie qu une donn e ne doit jamais tre connue par l intrus Un secret court sp cifie qu un secret est valable uniquement entre deux da
43. est montr insuffisant pour traiter en des temps raisonnables des protocoles plus r cents que ceux pr sent s dans OCKS03 Nous rediscuterons de ce point dans le chapitre 5 Des travaux tr s proches de ceux de Thomas Genet ont t men s avec des automates com mutatifs associatifs OT04 Le principe est le m me i e calculer une sur approximation de la connaissance de l intrus Cette m thode a t impl ment e dans l outil ACTAS Dans GK00 OCKS03 comme nous l avons illustr pr c demment les approximations se d finissent au moment de la normalisation des transitions issues des triplets critiques voir le paragraphe M thode de compl tion Dans Tak04 les approximations se d finissent grace a des quations Par exemple par h h x h x De cette mani re les auteurs parviennent construire un mod le abstrait dont le langage engendr inclut celui de d part N anmoins leur technique ne couvre qu un sous ensemble des syst mes de r criture lin aires gauches Reconstruction en arri re Dans cette section les syst mes de r criture sont utilis s pour repr senter un syst me d tats transitions Une r gle gt r est con ue de telle fa on que l sp cifie les pr conditions requises pour activation de la transition repr sent e et r sp cifie les effets d s l activation de cette transition M thodologie de v rification Dans Mea94 Mea96b Catherine Meadows pr sente
44. h q et puisque il n existe pas de transitions epsilon dans A alors nous avons n cessairement uz q Puisque to tp et tp gt uz q p tra t uz Ainsi nous choisissons 0 p et nous obtenons ais ment 01 gt A 0 p puisque to tp De plus to tp car 0 p Si u Q alors comme ci dessus uz est n cessairement de la forme f t t avec t t T F U Q Dans ce cas nous pouvons appliquer l induction Re construisons d abord l hypoth se d induction De to wu resp os gt u2 nous obtenons que f t101 tn01 gt A f t1 t resp f t102 tn02 gt A f T 4 Donc Vi 1 n tioi gt t et tios h t Le que Vi 1 E nt O1 tha ti t resp Vi 1 Fe sits O2 Ta lti t De uy Ft th oA Fl t ua gt h q nous obtenons qu il existe des tats qi qn tels que Vi 1 n t gt t gq et f qi 4n 9 A partir de f t101 tno1 f t1p tnp q et f q1 Qn q A nous ob tenons que Vi 1 n tio gt tip A qi En utilisant alors l induction sur t1 t nous obtenons que 20 04 portant respectivement sur les variables det1 tn telles que Vi 1 n tio gt tf o1 gt 0 et tho gt tip Maintenant ce qu il reste prouver est que partir de o g nous pouvons reconstruire une substitution o telle que f t105 t102 A f t t et C1 gt o Po
45. int ressant de connecter le langage PROUV au langage IF pour ainsi offrir au lan gage PROUV plusieurs outils de v rification gratuitement Le langage PROUV permettant d exprimer des programmes concurrents nous avons d donner une repr sentation quivalente en syst me de transitions Ce travail ayant d but la fin de cette th se nous proposons dans cette th se une traduction couvrant qu un sous ensemble du langage PROUV Cet travail est galement d crit dans BK V06 Sp cification vers langage outil 1 HLPSL PROUV IF PA XN y Fic 1 4 De PROUV IF 1 2 2 V rification automatique Comme nous le mentionnons dans la section pr c dente les outils de v rification d AVISPA sont automatiques Dans ce contexte nous nous sommes orient s vers une automatisation com 1 2 Contributions 17 pl te de la m thode de v rification GK00 n cessitant une forte expertise pour la v rification de protocoles de s curit Le principe de cette m thode est le suivant Soit Ay un automate dont le langage not L Ao sp cifie la connaissance initiale de l intrus et galement la configuration initiale du r seau Soit R un syst me de r criture repr sentant les tapes du protocoles et les diff rentes capacit s de l intrus La technique permet de calculer une sur approximation de la connaissance de l intrus et ce avec un nombre de sessions non born
46. l ensemble des signatures Var t gt Q U Sub t2 l est galement Par cons quent Ta t t2 est un ensemble fini Nous avons introduit la notion de triplets critiques que nous consid rons comme paire en supprimant le dernier l ment d un triplet dans la section 3 1 2 Le r le d une occurrence de paire critique OCPC est de stocker des informations la r gle de r criture appliqu e l tat cible et la substitution utilis e sur chaque paire critique d tect e lors de la compl tion sous une forme non instanci e contrairement aux triplets critiques Definition 9 1 8 Occurrence d une paire critique OCPC Une OCPC est un triplet lr p q o l gt r est une r gle de r criture de R pune substitution de Var l dans Q qe 9 lp Soit OCPC l ensemble de toutes les OCPCs construites partir de Ay Exemple 9 1 9 Soit A F Q Q A un automate d arbre tel que F g 2 f 1 a 0 Q Qu 9F a 91 Qs qr A 9 qa f a 45 ada F Ga 95a Soit R un syst me de r criture tel que R g x y y D apr s la d finition 9 1 8 nous trouvons une occurrence de paire critique occp telle que occp hr g x y gt y p Gay pa af En effet lip 9 da df a gt r Comme nous l avons soulign pr c demment la m thode que nous d finissons est une re cherche en arri re Les occurrences de paires critiques sont
47. les deux mod les est la suivante l application d une transition g n re un nouvel tat en IF alors que nous ajoutons des informations l tat courant si bien que la m me transition peut encore tre activ e ce qui n est pas le cas en IF si la sp cification ne l autorise pas C est cette raison que notre m thode de traduction d une sp cification IF pr sent e dans la section 5 1 en un syst me de r criture et un automate d arbre est correcte Si nous montrons qu il n existe pas d attaque dans notre mod le constitu au d part d un syst me de r criture et d un automate alors il n en existe pas non plus pour la sp cification IF Si une attaque existe en IF cette attaque existe galement dans notre mod le Par contre la m thode n est pas compl te si une attaque existe dans notre mod le elle n existe pas n cessairement dans le mod le IF Le second exemple donn dans la section 5 2 1 illustre ce fait 110 Chapitre 5 De F vers une v rification de protocoles par approximations Th or me 5 3 1 Correction de la traduction Soit Speci une sp cification 1F Soit Rig et Init respectivement le syst me de transitions et l tat initial exprim sous forme de conjonction de faits de Spear Soit R le syst me de r criture et Ay l automate initial tels que R TradRules Rr et Ao CF Q Oy Ao o F FiF U Fabs U Fortet Ao make Initir Q states Ap et
48. lt Alice et secret P my _nonce de la figure 4 2 sachant qu initialement l in trus conna t uniquement les identit s a et b xy a b et lorsque la valeur de la variable bob_name est diff rente de l identit de l intrus P bob_name F 1 I scenario start xm a b p o y VP lt Alice P bobname 4 i gt secret P my nonce 58 Chapitre 4 HLPSL amp PROUV Il s agit d un secret conditionnel Dans KLTOS plusieurs exemples de propri t s sont d crits Plusieurs degr s d authentification cit s dans Low97b sont galement exprim s en PROUV tels que agr ment faible agr ment non injectif Les concepts de r les et sc narios ont t inspir s du langage de l outil AVISPA ABB 05 HLPSL CCC 04 Les diff rences principales entre les langages PROUV et HLPSL sont pour le premier une section sp cifique pour d clarer des propri t s alg briques d un op rateur des variables globales des sc narios complexes une s quence d instructions exprimant les actions d un participant alors qu en HLPSL les actions sont repr sent es par des transitions non d terministes Un analyseur syntaxique du langage PROUV a t d velopp et est disponible sur le site du projet Diverses sp cifications sont galement donn es dans KLT05 BDKT04 DKKO5 Quelques exp rimentations ont t men es sur l tude de cas du protocole du porte monnaie
49. m a donn de nouvelles raisons de faire tout mon possible pour r ussir Je vous aime Encore merci a tous Yohan Table des mati res Chapitre 1 Introduction 1 1 172 S curit et protocoles de communication 3 1 1 1 Quelques notions de cryptographie 3 Un brin d Distress gS die a e CE eat Se ee AN M 3 Chiffrements et hypoth ses de chiffrement parfait 5 Concat nation DA 6 1 1 2 Diff rents types de protocoles ese oa o Ewe 7 Protocoles d authentification et d tablissement de cl s communs 7 Protocoles de groupes 4 9 css cs ue ao Me tac den ee 8 Protocoles divulgation nulle 9 1 1 3 Failles de protocoles et v rification 10 Intrus de Dolev amp Yao ei 414 4 au hele de Lune Ye dt Wed Na 11 INS IPRS stas oaths RE a a GARE Hati Er A NN ee Bae ee eo 11 Propri t s v rifier a a let ee ee ee BS A ee Fe 12 Verification et complexit ooo ek en ee ow 13 Vers un transfert de technologie 15 Contributions lt a2 ea RA done dieu a a 16 1 2 1 De langages de haut niveau vers un langage proche des outils 16 HLPSL IF et AVISPA Los a Da ae et gg tt te 16 Du langage PROUV lF 16 1 2 2 V rification automatique 24 A ge WO tete SUN OS 16 Processus de v rification des propri t s de secret automatique 17 Extension aux op
50. p Pos t1 Pn E Pos th Exemple 2 1 3 Pour le terme t f a f g b h c pr sent figure 2 1 Pos t e 1 2 2 1 D2 221 Le sous terme de t la position p est not t La notation t repr sente la substitution du sous terme de la position p par le terme t Une repr sentation graphique de ces op rateurs est donn e figure 2 2 Exemple 2 1 4 Soit t f a f g b h c et soit s g a Alors thos g b t sloilsla2 f a f g a g a D une mani re g n rale nous tendons 7 F l ensemble des termes pr sent pr c dem ment pour d finir des termes plus g n riques et qui ne sont plus uniquement bas s sur des symboles fonctionnels Definition 2 1 5 Termes g n riques Soit K un ensemble de symboles Soit T F K len semble des termes construit partir de l alg bre ci dessous tET F K si t f ti nS US E Fnetti tn ET F K te Fo te x Une instance particuli re des termes g n riques est tr s couramment utilis e Il s agit des termes ouverts L ensemble des variables est not X et nous consid rons que N F Un terme est dit ouvert s il contient au moins un symbole appel variable L ensemble des termes ouverts est donc not 7 F X Parall lement un terme contenant aucune variable est dit terme clos Exemple 2 1 6 Exemple de termes clos et ouverts Soit t g f a g x y ets g f a g a a o x y X etg f a F Le terme t est
51. tablissement de cl s communs Protocoles de groupes Protocoles divulgation nulle 1 1 3 Failles de protocoles et v rification Intrus de Dolev amp Yao onnaa o Propri t s a V rtice Ss V rification et complexit Vers un transfert de technologie 1 2 Contrib tions sus se der nue naar AE DE SP SLES Be 1 2 1 De langages de haut niveau vers un langage proche des outils HERS Tet AVISPA a7 Su aa tent Eat Du langage PROUV IF 1 2 2 V rification automatique Processus de v rification des propri t s de secret automatique Extension aux op rateurs poss dant des propri t s alg briques 1 2 3 Construction de contre exemples 1 2 4 TA4SP un outil de v rification LS A ST Sites ser Sn RM DA ie mt eee 0 N JJ OA NW uU Ww Rh a nan na RU D mm 2 Chapitre 1 Introduction Contexte scientifique L informatique est omnipr sente sous diff rentes formes dans notre quotidien les voi tures sont quip es de r gulateurs de vitesse d essuie glaces d clenchement automatique de GPS etc Nos r frig rateurs seront bient t connect s Internet Nous prenons des m tros sans conducteurs et il existe m me des prototypes permettant de piloter plusieurs camions d
52. tldaly at ong 49 avec t T FUQ et qi OBasiquesl A et q QBasiques A Par construction de O Basiques A dans la d finition 6 2 7 il s av re que pour tout terme slic ts de A tel que ts DEE Q Basiques A ona ts gt ps Q Basiques A pour ps Pos ts Par cons quent comme p gt p o y QBasiques A Ainsi par la condition 2 de la d finition 6 2 7 il existe un unique terme t Basiques tel que o y q et t t p De plus par unicit de ce terme tp t pi tp Basiques Finalement nous pouvons d terminer u y comme tant gal t 134 Chapitre 6 D marche fond e sur des approximations Si une variable y Var l et y Var r alors nous pouvons fixer u y comme un terme de L A o y C est toujours possible par l hypoth se de d part sur les automates pour tout q Q L A q 4 pour un automate A F Q Of A voir section 2 3 Si une variable y n appara t ni dans l ni dans r nous pouvons alors fixer la valeur de u y arbitrairement cette valeur ne sera jamais utilis e Nous obtenons donc par construction t ry et pour tout x Var x p 1 gt 0 x En cons quence lu lo q En posant ty lu nous obtenons t R to Lemme 6 3 3 Soit t T F un terme slic de 9R y4 A tel que i t n est pas un terme slic de A ii t gt q E Qo et iii pour tout p Pos t sip c et t gt p Qo alo
53. tout compatible avec les conditions 5 et 6 donn es dans la d finition 6 2 7 Cette compatibilit assure ainsi la correction de ces approximations D un point de vue plus g n ral nous proposons une proc dure de semi d cision pour le probl me d atteignabilit par r criture d fini dans l introduction de ce chapitre En effet le semi algorithme donn dans la figure 6 3 s arr te une fois qu un terme a t montr atteignable ou inatteignable Dans OCKS03 les auteurs montrent uniquement qu un terme est inatteignable S ils ch ouent dans la preuve alors ils ne peuvent conclure Parall lement nos travaux Thomas Genet et ses collaborateurs dans FGV04 d finissaient des strat gies pr d finies qui ne n cessitent pas de description des fonctions d approximations sauf dans le cas des sur approximations En effet l utilisateur doit sp cifier la main sa fonction d approximation ce qui reste un obstacle pour un individu non initi En effet il n est pas toujours vident de d terminer si une fonction d approximation est fine ou non pour un novice En ce qui concerne la sous approximation il semblerait qu une combinaison particuli re des strat gies pr d finies serait relativement proche d une fonction d approximation de la classe YA Cependant cela reste d montrer 6 5 3 Application la v rification de protocoles de s curit Nous pouvons comparer nos r sultats directement avec l
54. un individu malhonn te pourrait par exemple d crypter des programmes sans m me payer la taxe au diffuseur Cependant les auteurs ont effectu la v rification avec la gestion de l op rateur fortement typ dans le sens o la propri t 4 de est v rifi e uniquement pour des donn es atomiques Par exemple au lieu de sp cifier la r gle g n rale x 6 x 0 les auteurs ont sp cifi les r gles ci dessous CW s CW 0 VoR amp VoR 0 VoRi amp VoRi 0 VoKey VoKey 0 Notre approche g re un mod le plus large dans le sens o la r gle x x 0 autorise des termes plus complexes comme par exemple CW VoR CW VOR etc Evidemment ce r sultat n est valable que pour les sur approximations Le dernier travail effectu lors de cette th se a un lien avec les sous approximations En effet nous montrons qu un terme est atteignable mais nous ne savons pas comment Non seulement nous avons obtenu un r sultat satisfaisant pour les sous approximations mais nous sommes parvenus mettre au point une m thode de reconstruction valable dans n importe quel contexte Ce travail est pr sent dans le chapitre suivant 9 Reconstruction de traces Sommaire 9 1 M thode de reconstruction 164 9 2 Semi algorithme et son tude 174 9 3 Quelques exp rimentations 175 9 3 1 Exp riences simples 176 AME
55. 1 d j r f renc plusieurs fois jusqu maintenant est illustr au d but de la section 6 2 et montre 116 Chapitre 5 De F vers une v rification de protocoles par approximations quel point cette propri t est g nante dans le contexte de v rification de protocoles de s curit avec une telle m thode 6 D marche fond e sur des approximations Sommaire 6 1 Normalisation symbolique 118 6 2 Crit res de lin arit s et leur v rification automatique 120 6 2 1 D finitions des ensembles Termes Basiques et leurs propri t s 120 6 2 2 Pr servation de Basiques durant la compl tion 123 6 3 Approximations g n r es automatiquement 131 6 3 1 Classe de sous approximations 132 6 3 2 Classe de sur approximations 137 6 3 3 Semi algorithme 139 6 4 Applications aux protocoles cryptographiques 140 6 5 Discussion 141 6 5 1 Non lin arit o adea ead foe ees BO me a 141 6 5 2 Classes d approximations 142 6 5 3 Application la v rification de protocoles de s curit 142 L objet de ce chapitre est de d crire une m thode de v rification adapt e en pratique la v rification de protocoles de s curit Comme mentionn dans la section 5 5 la non lin arit gauche est un p
56. 1 repr sente le fait que l ancienne valeur stock e dans la variable State est cras e par la valeur 1 Dans une transition du type Ihs gt rhs la signification de X _Y d pend de la localisation de ce terme dans la transition Si X _Y appara t dans la partie droite de la transition rhs alors X signifie que 1 X a t instanci e dans lhs et 2 que X fait ainsi r f rence la nouvelle valeur stock e dans X Si X _Y appara t dans la partie gauche de la transition Ihs alors il s agit d une affectation par filtrage de la variable X En effet en HLPSL il existe deux fa ons d instancier une valeur soit par l utilisation de Pinstruction soit par filtrage voir la d finition du filtrage la fin de la section 2 1 Exemple 4 2 6 Soit la r gle State 0 A RCV Kab M _Kab gt State 1 o RCV est un canal de type Dolev amp Yao Cette r gle exprime le fait que si la valeur stock e dans la variable State est O et que sur le canal RCV nous pouvons lire un message de la forme Kab _ _Kab alors la variable M prend une nouvelle valeur et l ancienne valeur stock e dans State est cras e par la valeur 1 62 Chapitre 4 HLPSL amp PROUV Soit kab la valeur stock e dans Kab Soit 0 la valeur stock e dans la variable State Soit t et t deux termes tels que t RCV kab 123 _kab er t RCV kab1 124 _kab Le terme t permet d activer la transition ayant ainsi deux cons quences 1
57. 2 1 avec syst me de r criture Pour un ensemble de termes donn E C T F R E est l ensemble possiblement non born des R descendants de E plus formellement Definition 2 2 2 R descendants Soit R un syst me de r criture et E un ensemble de termes REE t T F ato Et q tort Exemple 2 2 3 Pour le systeme de r criture pr sent exemple 2 2 1 R Minus s 0 s 0 Minus s 0 s 0 s 0 s 0 On dit qu un terme t est r ductible par R s il existe un terme t tel que tt La derni re notion fondamentale li e la technique de v rification que nous d crivons dans la suite de ce document est celle des automates d arbre 2 3 des automates d arbre et des langages r guliers Soit F un ensemble de symboles fonctionnels Soit Q un ensemble de symboles d arit 0 appel s tats L ensemble des configurations est not T F U Q Exemple 2 3 1 Soit q1 q2 Q et f g a F Le terme g f a g q1 q2 est un terme de T FU Q 26 Chapitre 2 Pr liminaires Une transition t gt q est une r gle de r criture o t T F U Q et q Q Une e transition est une transition dont la partie gauche est un l ment de Q Une transition t est dite normalis e sit f q1 qn f Fnetq1 qn Q Une e transition Exemple 2 3 2 Soit t q et s q deux transitions telles que t g a q2 et s g q q2 avec 9 04 F et q1 q2 q EQ
58. 2 sity E T H ett T T alors and t tz Faits Par construction les l ments de l ensemble Faits contiennent au moins un l ment de T H Ce r sultat vident est transcrit dans la proposition suivante Proposition 5 1 16 Soir t Faits Alors il existe p Pos t tel que t T H PREUVE Sit e and alors d apr s la d finition 5 1 15 t 7 H Sinon d apr s le point 1 tET H O Du point de vue sp cification cela signifie qu une r gle de r criture contient n cessairement un terme repr sentant l tat d un individu Une autre remarque est que l op rateur de conjonc tion de pr dicats en IF est remplac par l op rateur binaire associatif commutatif et idem potent and Cet op rateur peut tre interpr t comme un constructeur d ensemble Le lecteur peut se r f rer aux exemples 4 3 4 et 4 7 pour l illustration de ces dires En g n ral une r gle m m telle que m m T H repr sente le fait qu un individu effectue une op ration sur sa m moire Ou alors cela peut aussi repr senter une op ration si lencieuse qui consiste uniquement en un changement d tat sans changer l tat de la m moire de l agent Exemple 5 1 17 La r gle ci dessous exprime le fait que l agent jouant le r le Alice et tant l tat 2 g n re un nonce le stocke en m moire dans la variable Vm et d clare la valeur associ e V m comme un secret partag ent
59. 2 2 Yi gt r 2 Yisr e dans Q et o y lor 0 q Yir q Definition 6 1 6 y normalisation Soit y une fonction d approximation un ensemble de transitions l gt r R eto X Qtels que lo gt q La y normalisation de la transition ro Q not e Norm ra q l gt r est d finie par Norm ro q 1 gt r Norm r gt Yi gt r l gt r 0 y Ior a q Exemple 6 1 7 Transitions de normalisation issues d une y normalisation Par exemple consid rons r g x 9 f a f z avec o x q a z qp et y y Ior o q Supposons que Y Yi gt r 2 11 4 VYi r2 1 4 Y Yi r 2 2 9 VYir2 q Alors Norm ro q l gt r f q2 gt 4 aq f u 4s g a3 an g q1 41 gt 9 Le lemme suivant d crit le fait qu une fonction d approximation rend possible la normalisation d une transition ro q Lemme 6 1 8 Soit y une fonction d approximation un ensemble de transitions l gt r R et a XQ tels que lo xq Ainsi TO AUNorm ro qi r d PREUVE vident par la d finition 6 1 2 et aussi par le fait que couvre toutes les variables de Var r et y couvre toutes les variables de Vary r Toutes les notions pr sent es au sein de cette section permettent la d finition des fonctions d approximation symboliques Nous d couvrons dans les sections 6 3 1 et 6 3 2 deux classes d approximations Mais auparavant nous d finissons dans la section 6 2 des crit res
60. 4 l op rateur binaire cons dans une ex cution normale du protocole prend toujours en param tre des l ments de type nonce ou agent En partant de ce principe l espace de recherche se r duit consid rablement car les sources de divergence du calcul sont supprim es Cette technique est sp cifique aux protocoles de s curit et traite un mod le tr s fortement typ Nous avons propos une m thode g n rale se basant sur des donn es enregistr es lors de la compl tion de l automate De plus les crit res de NRV03 NROS sont propres au protocole tudi Enfin l un des syst mes les plus performants en r criture pure est Maude DMT98 Tout comme le prototype impl mentant notre approche cet outil n est pas r serv la v rification de protocoles cryptographiques Le principe de cet outil est le suivant partir d un terme de d part d un syst me de r criture et d un terme but une exploration exhaustive est ef fectu en avant tant que le terme but n est pas d tect Nous avons test et compar notre prototype d velopp dans Timbuk sur plusieurs exemples avec des syst mes de r criture iden tiques Nous sommes parvenus obtenir des r sultats que Maude n a pas r ussi d couvrir en consommant toute la m moire disponible Et ce m me en utilisant diff rentes strat gies li es par exemple l associativit et la commutativit d un op rateur L un des atouts offerts par n
61. A Az 1 des propri t s de s ret peuvent tre v rifi es Le processus utilis est le suivant Un automate d arbre Aprop est d fini tel que son langage repr sente la n gation de la propri t a v rifier Clairement par le langage de l auto mate nous sp cifions toutes les configurations que nous ne voulons pas obtenir Par exemple pour une propri t de secret il suffit d exprimer un langage reconnaissant toutes les instances honn tes du secret Dans l exemple ci dessus supposons qu il existe deux agents honn tes a et b Donc L Aprop concernant le secret du nonce g n r dans cette r gle d sign par N A B est gal N x y x y appartiennent a a b Nous pouvons d finir l ensemble des transitions Aprop de l automate Aprop comme suit Aprop a q b q N q q ar et q l tat final de Aprop Travaux connexes Le gros d savantage de ce genre de m thodes r side dans le fait qu il est n cessaire d tre un utilisateur renseign en techniques de r criture afin de d finir une bonne fonction d abstraction Bonne dans le sens o le r sultat obtenu permet de conclure Un premier pas dans OCKS03 a t fait pour rendre plus accessible une telle m thode en d finissant automatiquement une fonction d approximation d abstraction pour les protocoles cryptographiques Une passerelle a t d velopp e vers un langage appel e ISABELLE utilis dans Pau98 L ensemble s
62. Il existe une seule fa on de r duire tout terme ou sous terme clos t de Basiques en un tat not q En effet pour chaque terme t Tgign F tel que type t text il existe un unique terme slic t de Ap tel que t t Pour t nl a b 21 ga I 4n a b Ga gt q et qa qo In1 a b QBasiques Ao Le langage associ chacun des tats de Opasigues Ao est constitu d un seul terme En effet par exemple en prenant l tat qui ap O Basiques Ao le seul terme que nous pouvons r duire cet tat est n1 a b L automate satisfait la condition 3 de la d finition 6 2 7 car pour toutes les transitions o il existe un tat de QOpasiques A dans la partie gauche et aucun dans la partie droite le symbole fonctionnel de la partie gauche est un symbole de F 44 De plus les termes form s partir de ces transitions sont bien des termes de 7 ermes Par exemple les tran sitions Feat Galen 47 Freat Gn1 a b q8 Feat Gn1 b a og et Frext Gn1 b b dio per mettent de r duire sur les tats q7 q8 qo et q10 respectivement les termes fi n1 a a frext n1 a b frert r1 b a et fiext n1 b b Par cons quent ce sont bien des termes de Termes Ce point se v rifie ais ment dans le sens ot pour toute transition dont la partie gauche est de la forme f q avec f Fas q QBasiques A Par exemple fret Gni aa gt 47 Fret Gn1 a b 48 Feat Ani b a
63. La d finition suivante permet d identifier ces l ments et de les classer dans deux ensembles d not s Nonces et FreshKeys Definition 5 1 20 Soit R un syst me de r criture F Nonces x Xp Im FRE I ERAGE T ris EV ar FreshKeys x Xp Im PSE M ERAT E Keys EVar Les deux ensembles d finis ci dessus ont les propri t s videntes ci dessous Proposition 5 1 21 Soit R un syst me de r criture F Soit les ensembles Nonces et Fresh Keys induits par R Alors Nonces C Texts et FreshKeys C Keys PREUVE vidente car proposition induite par la construction des ensembles Nonces et Keys Enfin la d finition ci dessous illustre l application d une r gle IF un tat repr sentant une conjonction de faits Pour l instanciation des variables fra ches une constante non utilis e et du type de la variable est attribu e 5 1 Traduction d une sp cification F en un syst me de r criture R et un automate d arbre Ay91 Definition 5 1 22 Application d une r gle F sur un tat EVar S a 4 3 Soit m gt m un r gle IF Soit s C Faits un tat repr sentant un ensemble de faits S il existe une substitution bien sort e o Var m UEVar T F telle que mo s alors l tat s est d fini tel que s s mo U m o Ainsi partir d un tat initial et d un ensemble de transitions il est alors possible de repr senter des
64. La transition t gt q est non normalis e car a Q s q est une transition normalis e car q Q Q Un automate d arbre de type bottom up et non d terministe est un quadruplet A F Q Q A ot Q C Q est l ensemble des tats finaux et A un ensemble de transitions normalis es Nous consid rons que pour toutes les transitions c gt q A c Q Nous consid rons aussi que Q states A o states est d fini inductivement par pour A f a 0 DUNA AY states f q qa gt 4 UM a i 1 n U q Ustates A Exemple 2 3 3 Soit a f g F etq q Q Soit A f q1 gt 4 q q q gt 4 g q 1 4 aq states A q a La relation de r criture induite par A est not e Le langage d un automate A not L A est d fini par L A t T F 3q Oy tq De mani re g n rale pour un tat q donn le langage associ not L A q est d fini tel que L A q t T F t gt q En particulier C A L A q Un exemple de r duction est pr sent figure 2 6 qEQf Minus BEN Minus Mims RENE s s S sS q3 S q3 S q3 S E O q 1 sq 1 0 gt s q2 gt q s q4 gt 45 0 q a 0 0 0 q2 Minus ear Minus qs 5 4y af A F Q Q A o F Minus 2 5 1 0 0 Q q1 q2 43 q4 4595 O as A 0 41 0 42 s q1 gt 43 2 U4 s qa 5 Minus q3 5 as FIG 2 6 Min s 0 s s 0 L A Pour un automate d arbre F Q
65. Oy A nous qualifions q un tat de states A comme mort si L A q 0 Nous supposons qu il n existe pas de tels tats dans nos automates 2 3 des automates d arbre et des langages r guliers 27 Exemple 2 3 4 Soit A f q1 q2 q a q a q l ensemble de transitions d un automate d arbre A L tat q est un tat mort car il n existe aucun terme de T F pouvant tre r duit en cet tat Un automate A F Q Q A est dit d terministe si pour toute configuration t T F U Q il existe au plus un tat q tel que tq Soit un automate d arbre A non d terministe Il existe un automate d terministe A tel que L A 4 Un algorithme de d terminisation est donn dans CDG 02 Soit E un ensemble de termes fini ou infini On sait que E est un langage r gulier de termes s il existe un automate d arbre A fini tel que L A E Exemple 2 3 5 Langages r guliers et non r guliers Le langage g h a h a pour n gt 0 n est pas un langage r gulier Par contre le langage g h a h a o n m gt 0 est un langage r gulier En effet l automate A F Q Qs A o F a 0 h 1 g 2 Q 41 42 91 Of qf et A a gt q h q1 42 h q2 gt 42 9 92 42 41 reconna t bien l ensemble des termes d crit par l expression donn e Sur les langages r guliers de termes l appartenance l inclusion et le vide sont d cidables De plus l ensemble des langa
66. Processes Cette section d clare les agents prenant part au protocole et sp cifie galement leur tat initial L expression INITIATOR A m knows SK signifie que Pinitiateur joue le r le A dans la description du protocole voir item suivant Les pa ram tres ainsi que les donn es de la clause knows constituent la connaissance initiale du role sp cifi Protocol description Le protocole est d crit sous forme d une s quence de messages dont chaque l ment est index par un exp diteur et un destinataire Entre 3 2 vers des langages communs explicites 47 Free variables A B Agent m Nonce SK Agent x Agent gt SKey Processes NITIATOR A m knows SK RESPONDER B A knows SK Protocol description O gt A B ill A gt B Kab m SK A B Specification Secret A m B Actual variables Alice Bob Yves Agent M Mi Nonce Functions symbolic SK System NITIATOR Alice M RESPONDER Bob Alice Intruder Information Intruder Yves IntruderKnowledge Alice Bob Yves Mi SK Bob Yves SK Alice Yves FIG 3 7 Sp cification CASPER du protocole fil rouge chaque tape sp cifi e il est possible d intercaler des affectations et des tests comparatifs comme dans le langage CAPSL Nous parlerons de l op rateur introduit par Lowe et adapt ensuite dans CAPSL 4 la fin de cette section
67. Rewriting for Security Protocol Analysis In R Gorrieri editor Proceedings of Third Workshop on Issues in the Theory of Security WITS 03 pages 21 31 2003 J P Bekmann P de Goede and A C M Hutchison SPEAR A security protocol engineering amp analysis resource In DIMACS Workshop on Design and Formal Verification of Security Protocols Rutgers University September 1997 L Bozga S Delaune F Klay and R Treinen Sp cification du Protocole de Porte Monnaie Electronique Available at http www lsv ens cachan fr prouve 2004 L Bozga S Delaune F Klay and L Vigneron Retour d Exp rience sur la Validation du Porte Monnaie Electronique Available at http www lsv ens cachan fr prouve 2005 Y Boichut and Th Genet Feasible trace reconstruction for rewriting approxima tions In Rewriting Techniques and Applications 17th International Conference RTA 06 LNCS to appear Seattle USA August 12 15 2006 Springer Verlag BHKO05 BHK06 BHKO04 BK V06 Bla01 Bla02 Bla04 BLP03 Blu03 BM92 BM98 BM03 BMM99 BMV03 207 Y Boichut P C H am and O Kouchnarenko Automatic Verification of Security Protocols Using Approximations Research Report RR 5727 INRIA Lorraine CASSIS Project October 2005 Y Boichut P C H am and O Kouchnarenko Handling algebraic properties in automatic analysis of security protocols Research Report 5857 INR
68. S ils le sont alors il existe une substitution Var r gt T F telle que ru t En appliquant cette substitution la partie gauche de la r gle et en substituant le terme la position p de t par lu t lu nous obtenons un terme pouvant ne pas tre clos En effet si Var r C Var l alors yu n est pas d finie pour certaines variables de L id e de notre m thode est donc de s appuyer sur des informations obtenues lors de l algo rithme de compl tion pour instancier ces variables Les notations de d part sont 9 1 M thode de reconstruction 165 Rest un syst me de r criture lin aire gauche qQ est une fonction d abstraction donn e suivant la d finition 3 1 1 Ap Ay Az est une s quence finie d automates obtenue par l algorithme de compl tion pr sent dans la d finition 3 1 4 pour une fonction d abstraction a donn e A est l automate de point fixe obtenu partir de Ao R et a tel que R L Ap C L A A est l ensemble des transitions de l automate A Q est l ensemble des tats finaux de Ao Ai Ap Nous supposons galement que pour tout i 0 k A est un ensemble de transitions nor malis es et en particulier A ne contient pas d e transitions transitions epsilon Notre m thode est fond e sur une nouvelle notion d unification A Unificateur qui n est pas classique dans le sens o deux termes peuvent tre A u
69. Yao Le protocole NSPK a t montr comme vuln rable face un tel intrus et en composant en parall le plusieurs ex cutions du protocole NSPK tout comme le protocole de Diffie et Hellman pr sent pr c demment d faillant pour le m me type d attaque NSPK L attaque sur le protocole NSPK est de type MITM Man In The Middle signifiant qu une personne malveillante s interpose dans un change et de mani re transparente pour les utilisa teurs Le cheminement de l attaque est repr sent ci dessous avec J un individu malhonn te intrus et 4 sp cifiant l usurpation de l identit de A par l intrus Na A x Na A xb Nb Na xa Nb xb 1 L agent A a l intention d initier une session avec l agent J Il construit alors le message correspondant la premi re tape du protocole du protocole illustr pr c demment o Ki constitue la cl publique de lintrus 2 L intrus extrait le message Na A du message re u et encode le tout avec Kb la cl publique de B 3 L agent B interpr te le message re u Na A yp comme la volont de l agent A com muniquer avec lui et en lui proposant Va comme identifiant futur Il envoie donc un mes sage A en reprenant l identifiant Na en lui proposant un identifiant Nb et en codant le tout par Ka la cl publique de A 12 Chapitre 1 Introduction 4 A la r ception du message l agent A reconna t l identifiant qu il avait envoy Il en
70. a n da de Ola FrestlInta a 4 frest n a a Tfreat default 104 Chapitre 5 De F vers une v rification de protocoles par approximations La proposition ci dessous d montre que toute instanciation des abstractions ins r es lors de l algorithme 5 1 31 est associ e de fa on d terministe un tat r serv par exemple le nonce repr sent par le terme fiest n a a peut tre r duit en un seul tat q n a a et de plus il n existe qu une seule fa on de r duire f n a a sur l tat 9f n a a Proposition 5 1 37 Soient Ri et t respectivement un ensemble de r gles F et un terme repr sentant l tat initial d une sp cification 1F Soient R Abs Termes Abstractions et o R est le syst me de r criture obtenu partir de Rip selon l algorithme 5 1 31 Abs l ensemble des abstractions correctes ins r es lors de la g n ration de R Termes Abstractions l ensemble des instanciations des abstractions correctes de Abs et Ay F Q Qs Ao l automate issu de l algorithme 5 1 35 partir de t Pour tout terme t Basiques NT F U Termes Abstractions il existe un unique terme slic t de Ay tel que t t PREUVE Soit t Basiques N T F U Termes Abstractions Proc dons par cas sur t t Basiques N T F Par d finition de Basiques sit Basiques N T F alors t Fo D apr s l algorithme 5 1 35 si t Fo alors il existe q Qo tel que t gt
71. a TVS Ce message est chiffr avec la cl initialement connue des deux participants Kab La donn e VoKey est une cl sym trique fra che utilis e pour cette session A cet instant TVS ne peut extraire ni CW niVoR partir de CWOVOR Ceci est justement d au fait qu il ne conna t ni l un ni l autre Etape 2 TVS envoie en retour un challenge al atoire VORi dont le but est d identifier DC Etape 3 TVS r pond au challenge en envoyant le message VOR h VORi vorey A la r ception de ce message TVS v rifie d abord la r ponse au challenge en comparant la valeur hash e sa propre valeur Ensuite si la r ponse est satisfaisante alors il extrait gr ce la donn e VoR le nouveau mot de passe CW de la donn e CW VoR re ue la 30Une pr sentation des fonctions de hashage est donn e dans la section 1 1 1 162 Chapitre 8 Extension aux propri t s alg briques premi re tape La s quence d extraction est la suivante En calculant CW VOR VOR et en appliquant les propri t s 2 4 et 3 de l op rateur pr sent es au d but de ce chapitre TVS obtient CW VoR O VoR 2 ci VOR O VOR ci 0 cw Nous avons donc propos de v rifier le secret de CW pour ce protocole en g rant la propri t 4 de de mani re non typ e avec notre m thode Nous avons impl ment une extension dans Timbuk pour effectuer les intersections aux moments opportuns lors de la
72. a b en reprenant la syntaxe de la figure 3 1 Dans notre approche les cl s sont sp cifi es par des constantes ensuite prot g es par des symboles fonctionnels comme illustr dans les algorithmes 5 1 31 et 5 1 35 C est la personne charg e du mod le de la sp cification HLPSL IF qui lie implicitement une cl un agent Par exemple la cl sym trique entre les agents a et b peut tre repr sent e par la constante kab de type symmet ric_key Apr s la phase de protection effectu e par les algorithmes cit s ci dessus cette cl sera per ue comme f 4 kab Pour les autres approches cit es pr c demment la fusion des agents suffit pour aussi r duire le nombre de cl s g rer le nombre de nonces consid rer etc L exemple ci dessous pr sente ce fait Exemple 5 4 2 R duction automatique avec la syntaxe de la figure 3 1 Soit les agents a b i e quatre agents dont 2 sont honn tes a et b les deux autres sont malhonn tes 1 et e Supposons que pour deux participants pris au hasard il existe alors une cl sym trique a long terme les reliant et que chacun des participants poss de une cl publique long terme A partir de l identit des agents Id a b i e nous pouvons d finir l ensemble des cl s sym triques sk x y x y Id 112 Chapitre 5 De F vers une v rification de protocoles par approximations l ensemble des cl s publiques pk x x Id En fusionnant les age
73. a fortiori une trace liant un terme de L 4p t 9 2 Semi algorithme et son tude Pour un automate Ao un syst me de r criture R et une fonction d abstraction y donn s le processus de compl tion termine sur l automate A D apr s la proposition 3 1 6 R L 40 L 4y Tous les termes de L Az R L 40 sont des termes de l approximation Tous les termes de R L Ap sont des termes atteignables Ainsi gr ce aux th or mes 9 1 21 et 9 1 16 nous pouvons d finir un semi algorithme pour construire une s quence valide Pour ce faire nous d butons d un terme t nous construisons l ensemble fini de ses pr d cesseurs pour toutes ses positions et toutes les OCPCS calcul es Nous r p tons alors de mani re non d terministe cette op ration pour tous les pr d cesseurs de t jusqu trouver un terme r ductible en un tat final en utilisant les transitions de l automate initial videmment il peut s agir de mod les infinis et dans ce cas il n est pas toujours possible de conclure En effet si nous partons d un terme de l approximation la reconstruction peut ne jamais converger en restant dans l ensemble des termes non atteignables Nous avons implant le semi algorithme de la figure 9 1 dans Timbuk Soit seq to a PoPa une s quence de to tn Les fonctions auxiliaires utilis es dans l algorithme de la figure 9 1 sont les suivantes last seq tn CP1 P1 CPn Pn CPn 1 Pn 1
74. agent Kab symmetric key Snd Rev channel dy played by A def local State mat public key Ex gt Verification Model lv Two Agent Only HLPSL2IF Choose tool options and press execute Intruder Knowledge Over Approximation SATMC TRASP Execute O Under Approximation Level FIG 7 2 Interface WEB de l outil AVISPA avispa lt fichier HLPSL gt backend ta4sp lt ta4sp options Les options pour l outil TA4SP sont les suivantes 1 2AgentsOn1ly 2 CoarserAb stractions et 3 level lt int gt Comme pour la version en ligne l option 1 permet de passer d un mod le avec n agents un mod le avec uniquement deux agents L option 2 est plus r cente Par son activation les donn es fra ches d un m me type sont toutes repr sent es par le m me symbole fonctionnel Exemple 7 2 1 Par exemple soit deux nonces Na et Nb Pour les distinguer dans notre contexte nous aurions du assigner chacune des variables un symbole fonctionnel n et na par exemple Ainsi partir du terme n a b nous devinons qu il s agit d un nonce correspon dant Na Par contre avec l option CoarserAbstractions nous utilisons un seul symbole fonctionnel n pour les donn es D s lors lorsque nous avons le terme n a b nous ne pouvons pas savoir de Na ou Nb lequel est repr sent Il s agit nouveau d une abstraction par fusion Comme nous avons montr que les abstrac tions pr
75. ai souvent sollicit sic pour le financement de cette th se et qui a toujours fait son possible pour que les choses aillent dans le bon sens Un merci tout particulier Fran oise Bellegarde qui s est int ress e mes travaux en particulier lors de la deuxi me ann e et qui a suivi discr tement mon volution Je ne peux pas oublier mes compagnons d aventure Emilie et Fred Cela fait 7 ans que nous marchons c te c te et nos routes se s parent momentan ment peut tre En tous les cas merde vous deux Un coucou sp cial aux tarotistes tarot autistes D Vinz u Franckyky Panc tre Enfin si le contexte professionnel financier joue pour le bon d roulement d une th se il est galement tr s important d avoir des rep res in branlables sur lesquels nous pouvons toujours compter Je fais bien sur allusion toute ma famille les Boichut Paul ainsi qu ma belle famille les Prost qui ont toujours cru en moi Enfin je tiens remercier ma moiti Del il faut le pr ciser D Tu m as toujours soutenu support m me si de temps en temps tu avais bien envie de d fenestrer le portable en m me temps on habitait au rez de chauss e D d arracher la connexion internet avec les dents d ajouter d autres petits signes parmi les petits signes que j ai crits dans ce m moire Malgr tous mes d fauts tu m as offert le plus beau cadeau du monde un trollinet nomm Hugo qui inconsciemment
76. au temps que tu m as consacr j ai r ussi bien comprendre les subtilit s de cette technique et ainsi pu entreprendre des travaux dans de bonnes conditions Merci aussi David G mbel qui lors de son s jour en France m a fait part de son exp rience vis a vis des protocoles de s curit et qui m a galement aid d crypter des sp cications tech niques de protocoles dont je ne maitrisais pas tous les principes l poque Thomas G travailler avec toi a t vraiment tr s agr able Nous avons r ussi rentabiliser cette ann e par une publi cation RTA bien qu il n est pas facile de travailler 800 km de distance Merci galement pour 11 votre accueil au sein de ta famille lors de mon s jour Rennes Merci galement de m offrir la possibilit de continuer exercer dans ce domaine grace au post doc l IRISA Pan prochain Tu pourras ainsi tenter de me battre aux fant mes Tu auras un an pour le faire D Un merci galement une personne qui aurait pu faire partie de ce jury de th se John Mullins qui m a accueilli chaleureusement pendant trois semaines au CRAC a Montr al Ce fut et cela reste une exp rience inoubliable De maniere g n rale je remercie tous les membres du LIFC pour l ambiance conviviale qu il r gne ici et je t moigne galement toute ma gratitude au laboratoire pour m avoir si bien h berg pendant ces trois ann es Je tiens distinguer Jacques Julliand que j
77. automate Par l algorithme 5 1 35 tout terme de Basiques N Fo U Termes Abstractions cor respond un seul terme slic de li par Pour Ao pour tout q Q Or L Ao q est un singleton 5 1 Traduction d une sp cification F en un syst me de r criture R et un automate d arbre Ay105 5 1 5 L intrus dans notre approche Dans DY83 les auteurs repr sentent le pouvoir d action d un intrus par un syst me de r criture Cet intrus peut composer d composer analyser chiffrer des messages Ce mod le est couramment utilis en v rification de protocoles de s curit nous parlons alors du mod le ou intrus Dolev amp Yao Dans GK00 OCKS03 lintrus Dolev amp Yao est repr sent par deux formalismes Cette r partition du mod le permet d obtenir des r sultats plus rapidement en pratique avec les techniques d crites dans GK00 OCKS03 Les capacit s d analyse de l intrus sont repr sent es par le syst me de r criture alors que ses capacit s de composition sont repr sent es par des transitions d un automate d arbre voir section pr c dente En qui concerne les capacit s d analyse l intrus peut d crypter un message cod par une cl atomique r gles 1 et 2 peut galement projeter les l ments constituant une paire r gle 3 et 4 1 and iknows fpx x tknows crypt inu for y y 2 and iknows f 2 tknows serypt faa y y 3 ikno
78. automate d arbre fini Une l r fonction d approximation pour A est une fonction qui associe chaque triplet l r o q une fonction de Pos r dans Q o l gt r R o est une l r substitution A compatible et q un tat de A Exemple 8 2 2 Consid rons l automate Aexo le syst me de r criture Rexe et la substitution Oexe d finie dans l exemple 8 1 4 Pour Cexe une l r fonction d approximation Yexe peut tre d finie par Er 1 Yexel lr Oexe qf 1H qo 2h q Clairement pour d finir compl tement y toutes les l r substitutions Asxe compatibles doivent tre consid r es La d finition de la 1 r normalisation en prenant en compte des l r substitutions est donn e ci dessous Definition 8 2 3 Soit A F Qo Qf une automate d arbre fini y une r fonction d approximation pour l gt r R o une l r substitution A compatible et q un tat de A Nous notons par Norm 1 gt r 0 q l ensemble des transitions appel l r normalisation de l r o q tel que f q q gt q p Posr r t p f qd qsip esinong y l r 0 q p qi y l r 0 q p i si p i E Posx r qi o min p Posx l Up r p i sinon Le min est d termin par l ordre lexicographique 8 2 Approximations pour des syst mes de r criture non lin aires 159 Exemple 8 2 4 En reprenant l exemple 8 2 2 e est l uniqu
79. cessaire de prot ger tout terme devant tre prot g Ensuite pour chaque variable repr sentant une donn e fra che une abstrac tion correcte est d finie Aboutissant ainsi l tablissement d une substitution dont le domaine est l ensemble des variables fra ches et l image l ensemble des abstractions correctes corres pondant Algorithme 5 1 31 Protection et mise jour d une r gle F Soit Rip un syst me de r criture F voir d finition 5 1 18 Soit Fp l ensemble des sym boles fonctionnels induit par la sp cification 1F tant donn Rig l algorithme TradRules construit un syst me de r criture R comme d crit ci dessous TradRules Ryr Debut Symboles Abstractions Q R 0 Pour tout m 23 my Rip faire TradFaits m r TradFaits m Pour chaque x EV ar faire Soit fx FX Symboles Abstractions U Fir Symboles Abstractions Symboles Abstractions U fx Soit p Pos l telle que l T H Soit l Clt1 tn O t1 t Agents U Nats a felti an p x tz FPour r rp Sec TradFaits s p s Sec RUR FPour return R Fin Notons que dans l algorithme ci dessus les r gles du syst me de r criture g n r sont de la forme 1 S r o Sec repr sente l ensemble de termes secrets de cette r gle Cette notation est proche de celle adopt e pour la repr sentation des r gles IF Remarquons galement que les symboles choisis pour les a
80. cet ensemble est appel e tat symbolique De plus pour toute variable de V il existe une r gle de r criture r R et une position associ es Par exemple la variable y _ repr sente l tat symbolique associ la r gle r et la position p Definition 6 1 1 Transition symbolique Une transition symbolique t y not ty est un l ment de T F X UY x Y tel que t f Y1 Yn avec f Fa ety X UY pouri 1 n Par exemple soit f x y g x y R g x Y y est une transition symbolique o g Foetx ye Y Cette notion de transition symbolique nous permet d imaginer une notion de r duction nor malisation d un terme de 7 F X soit un tat soit un tat symbolique Dans notre contexte le principe de normalisation s applique aux termes issus d une tape de r criture et qui ne sont pas encore reconnus par l automate courant D une mani re g n rale il nous suffit de d finir un ensemble de transitions g n r partir de chaque partie droite des r gles de r criture Definition 6 1 2 Normalisation symbolique Soitl r Ret yr Y la normalisation symbolique d une transition symbolique r yr modulo r est l ensemble des transitions symboliques not Norm r wy l r d fini par Norm r gt yi re l gt r trip l 2p1 Zn Yi rp p Posr r r p F r p i sir pi XA Zn pi FPos r Uepi SIMON Nous rappelons qu une vari
81. cha ne de r criture de longueur n Soit u 4 Rt et u t L A Par la proposition 3 1 6 nous savons que up A Nous pouvons donc appliquer l induction sur u gt u et ainsi obtenir qu il existe to tn 1 L Ax CP1 CPn OCPC p1 Pn N et une s quence CPn Pn Cp1 P1 t to Un ml 9 1 M thode de reconstruction 173 tels que t u to Nous savons que u t i e il existe une r gle de r criture l gt r R une position p et une substitution y T F telles que un Un 11 runlru t De plus un L Ax implique qu il existe des tats qr Qy et q Q tels que lu 1 q et unlg p A qr Soit 1 n les variables de l l est lin aire Nous avons x1 x et ainsi lu llzip nu 4 q Par construction des automates d arbres nous obtenons qu il existe des tats q1 qn tels que l x1u ta gt lg dn gt A q Soit p 411 gt Q1 Tn gt Qn et Vx dom qu gt xp Nous avons ainsi un triplet critique lp rp q car lp gt q et lp rp De plus nous avons galement ru rp q et existence d une OCPC cp Ir p q Puisque t un ru p nous obtenons que Pred t cp p tllo p 0 talr tp A pr sent montrons qu il existe t Pred t cp p tel que un 1 t D abord notons que puisque t est de la forme t lo _ p et puisque t un ru p nous obtenons t u lo plp
82. concerne deux processus ayant chacun une file d attente de symboles en entr e et pouvant ajou ter des symboles sur la file de l autre processus Chaque processus est destin compter un symbole en particulier et il transf re tous les symboles qu il ne peut compter sur la file du pro cessus respectif Sur ce genre de syst mes il est int ressant de v rifier qu il n existe pas d tats de blocages Et enfin la derni re tude de cas illustr dans la section 9 3 3 se situe dans le domaine des protocoles de s curit o une trace correspond une attaque men e par lintrus 9 3 1 Exp riences simples Pour chacun des exemples ci dessous nous utilisons une fonction d abstraction a telle que pour toutt T F U Q a t q o q est l tat final utilis dans chacun des exemples Nous rappelons que la notion de fonction d abstraction est donn e dans la d finition 3 1 1 Dans tous les cas ci dessous nous donnons un ensemble puis nous calculons une sur approximation de R E en utilisant a E fini et R E fini Le syst me de r criture ci dessous sp cifie un op rateur store associatif et commutatif store x y store y x 1 R store store x y z store x store y z 2 store x store y z store store x y z 3 Soit E store store a b store c d et soit t le terme atteindre par r criture tel que tyoat Store store store d a b c Notre prototype retourne la
83. contraintes simples alors la s quence de contraintes n est pas satisfiable Si toutes les s quences de noeuds produisent des ensembles de contraintes se r duisant au cas pr c dent alors la propri t est v rifi e pour la connaissance de l intrus initialement sp cifi e Un autre formalisme tr s rependu est celui des syst mes de r criture Nous donnons dans la section suivante deux techniques diff rentes fond es sur les principes de r criture 3 1 2 Syst mes de r criture Les syst mes de r criture sont tr s appr ci s pour la repr sentation de syst mes de transi tions Les sections suivantes soulignent diff rentes utilisations des syst mes de r criture i e en avant et en arri re R criture par compl tion Nous d taillons particuli rement cette m thode car elle constitue le rouage de notre tech nique de v rification En partant du constat qu un protocole de s curit est exprimable en un syst me de r criture qu un intrus de type Dolev amp Yao DY83 est mod lisable par un en semble de r gles Thomas Genet et Francis Klay ont adapt un des r sultats obtenus dans Gen98 Pour un syst me de r criture R donn pour un ensemble de termes F le r sultat d crit ci apr s permet de calculer une sur approximation de R E Le probl me d atteigna bilit tant ind cidable en g n ral l utilisation d approximation permet de semi d cider qu un terme n est pas atteigna
84. corres pond des termes de la forme S Stop x z cons plus u c L ensemble des configurations initiales du syst me est exprim par l automate d arbre ci dessous Chacun des processus a son compteur initialis 0 et un nombre non born de listes de symboles et de longueur strictement sup rieure a 1 en param tre En utilisant Timbuk partir d une sp cification compos e du syst me de r criture R1 pr sent 9 2 de l automate d arbre A1 de la figure 9 3 et d une fonction d abstraction a nous obtenons un automate d arbre dont le langage sur approximant R1 A1 Cependant la propri t souhait e ne peut tre v rifi e sur l automate obtenu En effet des termes de la forme S Stop x z cons plus u c appartiennent au langage de l automate calcul Cependant il est impossible de d terminer s il s agit d un terme ajout par approximation ou d un terme r ellement atteignable En utilisant notre prototype de reconstruction nous pouvons tablir un contre exemple c est dire la plus petite trace entre un terme du langage infini de d part L A1 et un terme reconnu par l automate issu du calcul et filtr par S Stop x z cons plus u c oux z u cE Y La trace obtenue a partir de notre prototype est donn e ci dessous La nomenclature utilis e 182 Chapitre 9 Reconstruction de traces Automaton Al States q0 qinit qzero qnil qlist qsymb Description
85. criture dans l automate A Le terme t est l ant c dent du terme t par l gt r s il existe une position p Pos t et une substitution y 4 T F telles que tilp lu et ta tills Lemme 6 3 2 Si R est X Z lin aire gauche et droite alors pour toutt T F et o AQ tels que tro ah log et q Qo il existe to T F tel que e IRA tE R to et to 49 PREUVE Soient y1 Yn les variables apparaissant dans r Soit p i 1 n la po sition de y dans r Puisque t gt 70 P1 Pn Sont galement des positions de t Montrons qu il existe une substitution y gt T F telle que ru ro et lu lo Construisons cette substitution S il existe une unique occurrence de la variable y y dans r alors posons u y tip Si une variable y appara t plus d une fois dans r alors il existe j 1 n eti j tels que y y y Puisque R est X Z lin aire droite y y y Basiques Soit p Pos yy r Par hypoth se A YAp est Basiques compatible Ainsi par le lemme 6 2 11 JR a4 A Yay Vest galement D apr s la proposition 6 2 5 il existe p Pos r telle que r p Forte et p p p Soit f r p Par d finition de Termes puisque r Termes r 1 Basiques Comme 9R y4 A Vay est une paire Basiques compatible et que gt 410 gt 4 NOUS d duisons qu il existe en YA p particulier q1 q2 Q tels que tly Af 01 gt 4
86. curit est un ensemble des conventions n cessaires pour faire coop rer des entit s distantes en particulier pour tablir et entretenir des changes d in formations entre ces entit s de mani re s curis e La s curit au sein de ces protocoles est assur e par l utilisation de techniques issues de la cryptographie M me si nous supposons les techniques de cryptographie parfaites un protocole est sensible diff rentes attaques men es par un individu malhonn te en manipulant en analysant les messages circulant sur le r seau et en tirant parti galement des multiples ex cutions parall les ou s quentielles du protocole L un des exemples les plus c l bres est celui du protocole Needham Schroeder Public Key NSPK NS78 suppos s r et dont une faille a t d couverte dix huit ann es plus tard Low96 Ce protocole et sa faille sont d crits respectivement dans les sections 1 1 2 et 1 1 3 Dans la section 1 1 1 nous donnons quelques anecdotes historiques li es la cryptographie et nous pr cisons quelles sont les hypoth ses classiquement adopt es pour la v rification de protocoles de s curit i e les hypoth ses du chiffrement parfait Les protocoles de s curit peuvent tre utilis s dans divers contextes comme illustr dans la section 1 1 2 En fonction de la nature du protocole tudi certaines garanties doivent tre respect es par ce protocole Les propri t s g n ralement v rifi es sur les protoc
87. dans N Ainsi nous sommes capables de classer ces symboles par arit de la fa on suivante Fr f F Arity f n L ensemble T F des termes clos est en r alit un alg bre de termes bas sur des construc teurs appartenant F comme d crit ci dessous tET F si t flt tn n gt 0 E Fe ett tn TF t E Fo D une fa on g n rale nous repr sentons graphiquement un terme par un arbre dont les noeuds sont tiquet s par des symboles fonctionnels comme illustr dans l exemple 2 1 1 Pour faire le parall le entre l arit d un symbole fonctionnel et sa repr sentation graphique l arit d un symbole est le nombre de fils succ dant un noeud tiquet par ce symbole Exemple 2 1 1 Le terme t f a f g b h c est repr sent graphiquement figure 2 1 L arit du symbole fonctionnel f est de 2 1 pour g h et 0 pour a b c 21 22 Chapitre 2 Pr liminaires FIG 2 1 Repr sentation graphique d un terme Soit N l ensemble des entiers naturels N repr sente l ensemble des mots construits sur les l ments de N L l ment neutre de la concat nation de mots est not La notion de position d un terme t d finition 2 1 2 permet de d crire t Definition 2 1 2 L ensemble des positions de t not Pos t est le sous ensemble de N d fini r cursivement par Sit Fy alors Pos t e Sit f ti tr oa f F etn gt 1alors Pos t fe 1 p n pn
88. dans le cadre de la v rification des protocoles Les ensembles F Y Type Basiques Termes et les fonctions sign type sont d finis comme dans la section 6 2 1 Soit Qo Q R C Termes x Termes un syst me de r criture et A F Qo Qs A tels que respecte les crit res de Basiques compatibilit vus dans la d finition 6 2 7 L automate gr est d fini par F Q Q A et par d finition Qo E O AC A Nous posons Z un ensemble de variables d fini de la sorte Z Basiques N A 6 3 1 Classe de sous approximations L intuition de d part pour les sous approximations est que dans la phase de normalisation Si nous utilisons a chaque fois une nouvel tat pour permettre la normalisation alors il est possible de calculer une sous approximation Possible dans le sens o ce n est pas toujours vrai Nous avons vu dans l exemple 6 2 2 que nous ne pouvions pas emp cher dans ce cas l approximation Cependant nous exhibons dans cette section les conditions pour lesquelles le calcul de sous approximations est possible et nous d finissons galement un comportement de ces approximations pour que ces derni res respectent la condition 5 de la d finition 6 2 7 Soit y une fonction injective de R x 40 x Q x N dans Q Qo et Y une fonction injective de R x N x 28 dans Q Qo telles que v R x N x 22 Ny R x Q x OxN f Soit 74 une fonction d approximation d finie par yAayllor o Yiarnp Tr 0 q p po
89. en trois tapes Nous noterons et B les identit s des deux agents jouant le protocole et nous noterons Ka et Kb leur cl publique respective Par conven tion la notation A B M signifie que A envoie le message M B La description du protocole est donn e dans la figure 1 1 Les donn es Na et Nb sont des nonces Le protocole est interpr t de la fa on suivante L agent A commence par envoyer B un message contenant son identit A et un nonce Na le tout chiffr avec la cl publique de B Un groupe est bien choisi si p est un nombre premier de plus de 300 chiffres et na nb des nonces compos s de plus de 100 chiffres 8 Chapitre 1 Introduction AB Na A xo BoA Nb Nahkka AB Nb Ko Fic 1 1 Le protocole NSPK L agent B tant le seul individu poss dant la cl inverse de Kb d chiffre le message et extrait les donn es A et Na en interpr tant ces donn es comme suit A veut communi quer avec moi et lavenir j utiliserai le nonce Na pour m identifier au pr s de lui A ce message B envoie A le message contenant le nonce de A Na et galement le nonce Nb g n r par B L agent interpr te le message regu de la fa on suivante l agent B a bien re u le message car il m a retourn le nonce Na que j avais envoy et de plus l agent B propose que je m identifie l avenir avec le nonce Nb En guise de confirmation l agent A envoie l agen
90. en un syst me de r criture R et un automate d arbre A589 Il est noter qu un terme de 7 H d pend du protocole En effet dans l exemple ci dessus le terme state_Alice A B Kab M 1 est issu de la traduction du r le alice de la sp cification HLPSL de la figure 4 3 D une mani re plus g n rale pour une sp cification IF donn e tout symbole fonctionnel d arit diff rente de z ro est associ une signature Une partie des signatures est fixe pour les symboles M T et S l autre partie est d pendante du protocole analys les symboles de H Par construction des ensembles T TZ T H et T S tous les termes appartenant l union de ces ensembles ont le m me type Proposition 5 1 14 Soit t t T Z UT H U T S Alors type t type t fact PREUVE Imm diate d apr s la signature des constructeurs des termes appartenant aux en sembles 7 T T H et T S O D finition d un syst me de r criture F Comme pr sent dans la section 4 3 la section rule d une sp cification IF d crit l volution du syst me sp cifi par un ensemble de r gles de r criture Une r gle de r criture est une paire m m avec m m Faits o Faits est donn dans la d finition 5 1 15 Definition 5 1 15 Soit and Ffo tel que sign and fact x fact fact L en semble des faits not Faits est le plus petit ensemble de termes de Tsigne FiF MF tel que 1 T H C Faits
91. ensemble des transitions normalis es Norma s q est d fini inductivement par 1 sis q alors Norma s gt q 9 2 sis E Qet s AH q alors Norma s gt q s q 3 sis f t1 tn alors Norma s gt q F topa t1 topa tn gt a UU 1 Norma ti gt topa ti La notion de fonction de normalisation est illustr e dans la figure 3 4 D s lors nous appelons une tape de compl tion pour un automate A F Q Oy Aj par un syst me de r criture R et pour une fonction d abstraction a le fait d effectuer les deux tapes ci dessous 3 1 D une multitude de formalismes 35 4 a g 9 4 topa ee gt q b a gt teak ar q2 g b go gt q Norma f a g b q0 gt 4 f topa a topa g b q0 gt 4 02 044 U IU I Norm a q2 a gt q2 I Norma g b go 4 g topa b topa go 4 g q 90 4 L U Norma bq b q FIG 3 4 Normalisation de f a g b qo gt q avec a calculer TC pour tout lo ro q TC d ajouter A l ensemble des transitions normalis es Norm ro q Definition 3 1 4 Compl tion d automate Soit A F Qi O y Ai un automate d arbre R un syst me de r criture et a une fonction d abstraction Une tape de compl tion correspond la construction de l automate Ajy1 F Qi41 Qf Aj 1 tel que Ai AGU U RATES I gt rER q Q TEX D X lo 4 O41 q eq Ain Il
92. est ainsi possible de calculer une s quence d automates Ao A1 Ax o Ay A En g n ral l obtention d une sur approximation se joue au moment de la normalisation de ro q En effet il suffit que la fonction d abstraction a ne soit pas injective et nous obtenons une sur approximation Dans l exemple figure 3 5 h g g f a L A ou h g g f a R L Ao Par cons quent il s agit bien d un terme de approximation L utilisation de fonction d abstraction non injective est tr s utile pour rendre le calcul de compl tion convergeant vers un automate A tel que pour tout j gt 0 An An 10Cette condition est suffisante mais non n cessaire 36 Chapitre 3 Des outils de v rification de plus en plus accessibles R h x h g f x pet Vt T F U O a t q Ao aq h q gt 4 O CP h q h g f a q Norma h g f q hd 9la gt 4 f 4 gt 4 Ai aq h q gt 4 9 4 gt 4 CP 0 FIG 3 5 Exemple de l algorithme de compl tion Le r sultat suivant extrait de FGV04 Gen98 assure que pour une fonction d abs traction a donn e un automate d arbre Ao et un syst me de r criture R si l algo rithme de compl tion termine sur l automa te A alors tout terme atteignable par r criture partir de L Ao appartient au lan gage de l automate A Proposition 3 1 6 Soit Ao R et a respec tivement un automate d arbre un
93. et MROO comme par exemple les op rateurs Analz et Synth permettant respectivement partir d un en semble de messages de calculer l ensemble des messages obtenus par analyse et par synth se Une des diff rences entre ces deux mod les r side au niveau de l expression des propri t s Dans le mod le de Paulson Les propri t s sont ind pendantes du protocole alors que dans le mod le Millen Ruef les propri t s sont d finies la vol e Ce mod le a t mis en oeuvre avec l outil PVS Prototype Verification System pour divers r sultats illustr s dans MR00 Dans CMRO1 les auteurs ont propos s une proc dure correcte mais non compl te d cidant le secret pour un protocole sp cifi dans le mod le Millen Ruef L intuition est la suivante pour un secret donn aucune des r gles du protocole ne doit le compromettre Cette m thode a t impl ment e dans l outil Securify dont nous pr sentons le principe ci apr s Un protocole est sp cifi selon un mod le comparable celui pr sent pr c demment La proc dure consiste en une s rie de 3 tests appel s tests l mentaires effectu s sur chaque r gle et sur chaque composant du message de la partie droite de la r gle donn e sit est un nonce g n r dans la r gle courante et n est pas un secret ou sit a pr c demment t envoy avec une protection voir l encadr Terme prot g moindre ou sit est un secret et
94. existe deux possibilit s soit 1l n existe pas de pr d cesseurs dans quel cas le terme n est pas atteignable par r criture soit tous les pr d cesseurs de t ont d j t pris en compte dans le pass par l algorithme Le deuxi me point emp che de boucler l int rieur d anneau de r criture Notons qu il s agit d un semi algorithme car dans le cas o une trace n existe pas alors il est possible que l algorithme ne s arr te jamais Gr ce ce semi algorithme nous avons obtenu divers r sultats et l application de cette m thode s av re prometteuse Toutes les exp rimentations men es sont d crites dans la section suivante 9 3 Quelques exp rimentations Nous avons appliqu notre m thode dans divers contextes Tout d abord partir d exemples simples nous avons test notre prototype dans plusieurs environnements Langage initial E fini syst me de r criture R et R E fini 176 Chapitre 9 Reconstruction de traces Langage initial E fini syst me de r criture R non convergeant et R E infini Langage initial E infini syst me de r criture R et R E r gulier Nous avons obtenu des r sultats pour chacun des cas que nous pr sentons dans la sec tion 9 3 1 Ensuite dans la section 9 3 2 nous appliquons notre m thode un cas d tude plus concret relatif la v rification d une propri t pour des processus concurrents Le cas tudi
95. ki ks h g end role goal Target authenticates Initiator on k authentication_on k addresses Gl G2 G3 SInitiator authenticates Target on ktrgtint authentication_on ktrgtint addresses Gl G2 G3 Ssecrecy_of Login Pwd secrecy_of sec_i_Log sec_i_Pwd adresses G7 G10 sec_t_Log sec_t_Pwd adresses G7 G10 end goal environment 199 200 Annexe B Sp cification HLPSL du protocole LIPKEY C Sp cification HLPSL du protocole LIPKEY version anonyme role initiator A S agent G nat H hash_func Ka Ks public_key Login_A_S Pwd_A_S SND RCV hash agent agent hash agent agent Channel dy played_by A def local State naty Na Nb text Rnumberl text X message Keycompleted message WwW nat K text text const sec_i Log sec_i_Pwd protocol_id init State 0 transition 1 State 0 RCV start gt State 1 Na new Rnumberl new SND S Na exp G Rnumberl H S Na exp G Rnumberl 2 State 1 RCV S Na Nb X S Na Nb X _inv Ks gt State 2 Keycompleted exp X Rnumber1 SND Login_A_S Pwd_A_S _Keycompleted secret Login_A_S sec_i_Log S secret Pwd_A_S sec_i_Pwd S IN K Login_A_S Pwd_A_S witness A S k Keycompleted end role 201 202 Annexe C Sp cification HLPSL du protocole 1 role target A S G H Ka Ks Login Pwd
96. l agent Y grace la donn e Z Ce fait a pour identifiant 1d Notons qu une sp cification IF n a pas pour vocation d tre crite la main mais d tre g n r e automatiquement partir d une sp cification HLPSL voir section 4 4 1 La sp cifica tion IF du protocole fil rouge de la figure 3 1 est pr sent e section par section 4 3 IF Intermediate Format un langage de bas niveau 67 4 3 1 Sp cification du protocole Tout au long de cette section nous utiliserons le protocole fil rouge pr sent figure 4 3 de la section 4 2 pour tout d abord donner un exemple d une sp cification IF et ensuite pour illustrer le syst me tats transitions engendr par une telle sp cification Une sp cification IF est d coup e en 5 sections principales signature types inits rules et goals signature Cette section contient la d claration des fonctions utilis es ainsi que des symboles de faits Cette section permet aux outils de v rification d tablir quels types de donn es sont attendus pour un symbole donn Exemple 4 3 1 Signatures des faits li s aux agents Par exemple pour le protocole fil rouge nous obtenons state Alice agent agent symmetric key x text nat gt fact state _Bob agent agent x symmetric key x text nat gt fact types Toutes les constantes et variables sont associ es un type dans cette section Exemple 4 3 2 D claration des types pour le protoc
97. l intrus Bla04 v rification de propri t s d authenticit bas e sur la notion d injective agreement Bla02 v rification de propri t s par preuve d quivalence modulo certaines valeurs autoris es tre diff rentes entre processus BAFOS Dans BAFOS une extension a t apport e ProVerif pour accepter en tant que sp cifica tion des processus exprim en I calcul appliqu une combinaison du Il calcul AF01 et d un alg bre de processus donn dans Bla04 Mod le Millen Ruef Dans CMRO1 les auteurs proposent une proc dure correcte mais non compl te permettant de prouver qu une propri t de secret est v rifi e pour un protocole ex prim dans le mod le de Millen Ruef MROO Dans leur mod le les donn es atomiques sont class es en trois cat gories les agents les cl s et les nonces respectivement repr sent s par les ensembles A gent Key et Nonce Les cl s et les nonces forment l ensemble appel Basic Une propri t de secret ne peut concerner qu une donn e de l ensemble Basic L exemple ci dessous sp cifie le protocole fil rouge de la figure 3 1 0 MHA B Aia 4 B Boa A B M H A B Aia A BJ lt shr A Msn gt Ar2 A B M lt shr A M shr a gt Bo1 A B 2 B22 4 B M La notation shr A d note la cl sym trique connue de l agent A A 2 4 B M signifie que l agent A jouant le r le 1 r le Alice est la deuxi
98. l intrus d un automate d arbre Ao sp cifiant la connaissance initiale de 5 1 Traduction d une sp cification F en un syst me de r criture R et un automate d arbre A583 lintrus et la configuration initiale du r seau d une fonction d approximation d abstraction symbolique et des propri t s v rifier La g n ration du syst me de r criture R et de l automate initial Ap est pr sent e dans la section 5 1 Cette section traite galement des abstractions de donn es permettant une repr sen tation finie des donn es fra ches les nonces et les cl s fra ches La repr sentation des propri t s est diff rente de celle adopt e dans GK00 Nous propo sons en effet une repr sentation plus fine et automatique permettant de sp cifier des propri t s de secret ax es authentification Par exemple consid rons le simple envoi de message A B A na A B pk B o na A B est un nombre al atoirement g n r par pour communiquer avec B pk B est la cl publique de B Dans GK00 OCKS03 expression du secret pour les agents honn tes a et b s exprimerait par un automate Asecret dont le langage serait na x y x y a b Tri vialement la propri t de secret pr c dente est v rifi e en supposant que l intrus ne conna t pas les cl s secr tes des agents honn tes Dans notre contexte nous sp cifions le secret au niveau des agents En clair nous traduisons notre notion de secre
99. l outil NRLPA Naval Research Labo ratory Protocol Analyzer combinant l exploration d espace d tats et preuve Pour montrer 3 1 D une multitude de formalismes 39 qu un terme est secret la technique est de construire les tats qui pourraient permettre d obtenir ce terme secret Un tat est compos de termes connus par l intrus ainsi que de valeurs li es aux variables locales l tat repr sentant le connaissance d un individu par exemple Une transition est activ e en fonction des valeurs des variables locales ainsi que des termes connus par lintrus L activation d une transition peut aussi bien modifier la connaissance de lintrus que modifier la valeur de variables locales Ainsi partir d un tat donn et d un ensemble de transitions un ensemble d tats est g n r par une technique de narrowing Cette op ration est r p t e jusqu obtenir un tat de l ensemble initial Cependant le probl me classique de l ex ploration brute d un espace de recherche est justement l explosion combinatoire laquelle la m thode d crite dans Mea94 Mea96b n chappe pas En revanche des techniques permettent de contr ler l explosion combinatoire Pour rendre l espace de recherche plus compact des tests d atteignabilit sont effectu s sur chaque tat Si pour un tat aucun tat pr d cesseur peut tre trouv alors il est non atteignable Mais ce n est pas le seul cas de
100. la concat nation des deux 184 Chapitre 9 Reconstruction de traces donn es X et Y Et enfin l envoi d un message est sp cifi par En cons quence A gt B X signifie que envoie le message X B Les r gles i ii et ili de la figure 9 4 repr sentent respectivement les tapes 1 2 et 3 du protocole Les symboles fonctionnels N cons ident pk et session sont les constructeurs respectifs des nonces de la concat nation de donn es des identit s des cl s publiques et des instances de session Le terme session a b signifie que les agents a et b vont ex cuter une session du protocole ensemble Le terme crypt u v w x signifie que l agent v chiffre un message x destination de l agent w par la cl u Et enfin le symbole iknows est consid r comme un pr dicat tel que iknows x signifie que l intrus conna t la donn e x La conjonction de pr dicats est effectu e gr ce au symbole binaire AND Les r gles Iv v vi vii et viii mod lisent les capacit s de l intrus pour d coder d compo ser et composer des messages Le symbole i apparaissant dans la r gle vii correspond l identit de l intrus La r gle signifie donc que l intrus est capable de d chiffrer tous les messages cod s avec sa propre cl publique session ident x ident y encr pk y x y cons N x y ident x i encr pk y x y cons x1 ident x2 encr pk x2 y x2 cons x1 N y x2 ii encr pk
101. langage L A qi est le singleton t 3 Pour toute transition f q1 Qn Q A sig OBasiques A et q Obasiques A alors n 1 q a f Fortes et f t Termes 4 Pour toute transition f q1 gt q A si f Fm alors il existe t Basiques tel que age Q Basiques A f t E Termes 5 Pour tout l gt r R p Pos r 0 X Q Sir Basiques r p Fas alors il existet Basiques tel que y l gt r 0 9 Yi gt r p Qt O Basiques et pO AN 5 Si r p Basiques N Fo alors y I r 0 9 Yirp Gr QBasiques A 124 6 1 1 Chapitre 6 D marche fond e sur des approximations S il existe t Basiques tel que y l gt r 0 q Yorp q QBasiques A alors il existe une position p Pos r etw N tels que p p w et r p Fortes exemple de la figure 6 1 repr sente une sp cification Basiques compatible o Basiques a b A B Kab 0 D_N1 start 1 kab U n1 x y x yE a b A B type a type b type A type B agent type kab type Kab symmetric_key type 0 type 1 nat type D_N1 type start type end agent type X type Y message sign state_Alice agent x agent x symmetric_key x nat x text fact Sign state_Bob agent x agent x symmetric_key x nat x text fact sign nl agent x agent gt text R sumons la d finition ci dessus point par point en se basant sur l exemple pr sent figure
102. le langage 7 ermes toutes les donn es basiques sont prot g es par un symbole fonctionnel de F 4 directement ou indirectement Proposition 6 2 5 Pour tout t Termes s il existe une position p Pos t telle que t Basiques alors il existe une position p Pos t telle que p p w o w N ett p Fprtet PREUVE Ceci est vident pour les ensembles Keys Texts Sets Identifiers et Functions d apr s la d finition 6 2 4 Pour les l ments de Agents et Nats nous proc dons par cas sur la structure des termes D apr s la d finition 6 2 4 ceci est vrai pour les termes de la forme fagt t et frat t o t Agents et t Nats D apr s la proposition 6 2 3 nous pouvons d duire que pour tout t Teigl F Y sit e Fars alors t Texts U Keys Or d apr s la d finition 5 1 24 sit e Fabs alors t est de la forme t t t o t1 t Agents U Nats D apr s la d finition 6 2 4 tout l ment de Keys UT exts est soit prot g par frexe Soit par fsk soit par f K Ainsi les l ments de AgentsUN ats apparaissant dans les termes de KeysUTexts sont galement prot g s soit par frert SOI par fsk soit par fpr Le langage issu de IF par les algorithmes 5 1 29 5 1 30 et 5 1 31 est inclus dans le langage Termes Proposition 6 2 6 Soit Rip un syst me de transitions F voir d finition 5 1 18 Soit R un syst me de r criture tel que R TradRules Rie
103. me tape du protocole et a m moris les donn es B et M A 2 4 B M est appel tat local La notation M t A B est une sp cification d une propri t de secret Cette notation signifie que la donn e M doit tre connue au plus par les agents A et B Et enfin les notations lt X Y gt X y correspondent respectivement la construction d un tuple contenant X et Y et au chiffrement du message X par Y Un point important est que si nous avons le message X y alors Y est une cl Un ensemble regroupant ces diff rents types d information est appel historique Exemple 3 1 9 Exemple d historique M t 4 B Ar A B 3 1 D une multitude de formalismes 43 Une transition hs S rhs exprime le passage d un historique un autre L en Terme prot g semble Fresh r pertorie l ensemble des Dans CMRO1 pour un terme t un terme l ments frais dans la transition correspondan t est prot g par une cl k s il existe deux te Ce mod le est utilis dans le domaine positions p p Pos t telles que de la preuve dans MROO et a t inspir tl t et de celui de L Paulson Pau98 Paulson a t t o p p p pr sent un mod le de traces sur lesquelles Dans CMRO1 une structure associe un il raisonne par induction De nombreuses l ment un ensemble de cl s de protections notions sont communes entre les deux ap proches d crites dans Pau98
104. nos r sultats sont com parables sur les m mes protocoles tudi s De plus notre langage de sp cification tant plus expressif nous pouvons traiter des protocoles plus complexes Cependant dans OCKS03 les auteurs v rifiaient des propri t s d authentification alors que nous nous limitons pour le mo ment au secret Nous nous distinguons aussi par le fait que nous sommes capables de prouver qu une propri t de secret est viol e En comparaison avec les travaux originaux d crits dans GK00 nous avons propos un processus de v rification compl tement automatique A partir d un langage de haut niveau HLPSL ou PROUV une sp cification IF est g n r e automatiquement soit par le traduc teur HLPSL2IF soit par le traducteur PROUV 2IF BK V06 A partir de la sp cification IF un automate d arbre un syst me de r criture et une fonction d approximation sont g n r s Nous rappelons que les propri t s de secret sont incrust es dans le syst me de r criture Le tout est donn en entr e une version am lior e de Timbuk GTO1 Timbuk est une col lection d outils pour effectuer de la preuve par atteignabilit Plus de d tails propos de cet outil sont donn s dans le chapitre 7 En th orie nous avons un semi algorithme permettant de semi d cider le secret d une donn e pour un protocole donn En pratique nous voluons em piriquement en calculant une sur approximation puis des sous approximat
105. nos travaux Le fait de m avoir offert l opportunit de participer au projet AVISPA m a permis de cotoyer des personnes de premier plan J en profite pour remercier la r gion de Franche Comt et l INRIA Lorraine pour avoir accept de co financer ces travaux J aimerais galement remercier l quipe Protocole de Nancy Laurent V V ronique C Mathieu T Judson S et Yannick C Toulouse pour leur aide apport e leurs conseils et nos discussions techniques relatives aux protocoles de s curit Je ne peux dissocier de ces travaux l AVISPA team Luca V Luca C Sebastian M David B DvO Jaccopo et les autres qui a rythm le quotidien de cette th se pendant les deux premi res ann es En effet avec une vingtaine de mails relatifs au projet par jour il tait difficile de s ennuyer et de manquer de motivation De plus je retiens galement les r unions sur les diff rents sites o l on savait m ler s rieux avec des r unions de travail s ternisant jusqu 22h30 autour d une pizza dans les locaux de Siemens et d tente avec les parties acharn es autour d une Playstation Je vous remercie galement pour toute l exp rience que j ai acquise en vous cotoyant Je tiens galement remercier tous les membres des projets PROUV et SATIN Merci galement Fr d ric Oehl qui pendant mon DEA m a bien form sur la v rification de protocoles de s curit par l analyse d atteignabilit Gr ce
106. phase de compl tion de l automate initial par un syst me de r criture Ce syst me de r criture exprime les propri t s de list es au d but de ce chapitre sous forme de r gles En utilisant la famille de sur approximation d finie dans la section 8 2 nous sommes parvenus montrer que le secret de CW tait s r pour un nombre de sessions quel conque Le temps de calcul est de l ordre de la centaine de minutes sur un ordinateur de bureau Pentium IV 2 40 GHz 632 Mo de RAM Nous esp rons acc l rer les calculs en supprimant cer taines redondances L automate de point fixe obtenu repr sentant une sur approximation de la connaissance de l intrus est constitu de 203 tats et de 583 transitions 8 4 Comparaison a d autres travaux En ce qui concerne la gestion des propri t s alg briques quelques travaux ont t men s Par exemple suite CKR 03a l outil CL AtSe a t tendu avec une proc dure de d cision pour traiter le probl me d ins curit pour un nombre born de sessions en consid rant l op rateur en implantant un algorithme d unification sp cifique Dans Tho01 les auteurs ont v rifi qu aucune ancienne valeur de CW du protocole d crit dans la figure 8 1 ne pouvait tre r utilis e En effet si la fra cheur de CW n est pas garan tie nous imaginons trivialement que la s curit du syst me n est plus assur e En effet en enregistrant tous les mots de passe
107. pr sent dans la figure 3 1 4 1 PROUV 55 Phase de mod lisation HLPSL PROUV section section 4 2 4 1 Lancement v rification Phase de v rification ES IF 2 section ae 4 3 En do E a pp aera o a Vinton te Ee y ES a A K Outils de v rification 1 GN ee a o la pa Ly R sultat section 4 4 1 section 4 4 1 Fic 4 1 De la mod lisation a la v rification Les instructions de base sont l envoi la r ception de messages et le pattern matching Les instructions sont compos es s quentiellement ou sous branchement conditionnel Il est possible de d finir des blocs comme illustr ci dessous declare begin end Le bloc declare permet de d clarer des variables locales au bloc Nous d crirons plus en d tails les diff rents types de variables dans la section suivante Il existe galement des blocs conditionnels qui sont ceux list s ci apr s 56 Chapitre 4 HLPSL amp PROUV signature alice bob intruder i principal alice bob _ key symkey end role Alice my _ name principal bob name principal kab symkey declare my_nonce nonce begin new my_nonce send kab crypt sym kab my_nonce end role Bob my_name principal alice_name principal kab symkey declare alice_nonce nonce begin recv kab crypt sym kab alice_nonce end scenario begin parallel Alice ali
108. propri t s d authentification Il serait sans doute int ressant de sp cifier les canaux de communication avec diff rents droits pour limiter par exemple le pouvoir d interception ou d criture de l intrus D un point de vue algorithmique nous pourrions galement int grer la v rification de pro pri t d authentification dans TA4SP ainsi qu un algorithme de reconstruction de traces d di la v rification de protocoles de s curit D un point de vue plus g n ral nous pr sentons galement quelques pistes pour la d finition d heuristiques consid rant l algorithme de recons truction Et enfin nous terminons avec quelques id es pour r soudre le probl me de la recons truction de traces pour des syst mes non lin aires droite Nous pr sentons galement une pers pective o la v rification par approximations pourrait galement tre appliqu e C est d ailleurs dans cette direction que nous comptons orient nos travaux Pistes li es aux mod les Mod le trois agents pour l authentification S 1l a t d montr que deux agents suffisent pour v rifier des propri t s de secret dans CLCO3b il est fortement probable que ce mod le ne persiste pas pour la v rification de pro pri t s d authentification En effet il semble possible d imaginer qu un individu pense com muniquer avec un autre individu alors qu il communique en r alit avec lui m me M me si le mod le tr
109. q Ao De plus q q Soit t t q Le terme slic t est par construction de la transition t q l unique terme slic de tel que t t t Termes Abstractions D apr s la d finition d une abstraction correcte t est de la forme f t1 t o f Fws et t1 tn Nats U Agents N Fo D apr s le r sultat pr c dent ti gt q tnd Ao et en posant t tiq pour i 1 n t sont les uniques termes slic s de tels que t1 t1 U tn Puisque t f t1 t Termes Abstractions alors f F Z U H D apr s l algorithme 5 1 35 comme f Fn ZU H alors f q Q Qf titn A0 Nous pouvons alors construire le terme slic Ap t tel que t Lf du sey Fin JO tr te Re ele Par construction il s agit de l unique terme slic de tel que t f ti tn La propri t ci dessous d montre que algorithme 5 1 35 associe a chaque tat non final de l automate en construction un unique terme Proposition 5 1 38 Soit l automate construit selon l algorithme 5 1 35 Pour tout q Q Oy il existe un unique t tel que L Ao q t PREUVE Evident d apr s l algorithme 5 1 35 CE QU IL FAUT NOTER L intrus est consid r comme l tat final q tout ce qui se r duit sur l tat q est connu de l intrus Le pouvoir de composition de l intrus est g r par l
110. que L Ao f x y c x y a b En utilisant l algorithme de compl tion sur cet automate nous obtenons l automate A F Q O y A o Q Q et A o U cg Nous remarquons que pour ce cas R L Ag L A Pour la reconstruction du terme c nous obtenons la s quence suivante flqaq c Le o cp f x x y y x gt q y aha 174 Chapitre 9 Reconstruction de traces Dans l automate Ay nous remarquons que f q q c 4 2 Par cons quent nous devrions pouvoir choisir n importe quel terme appartenant au langage de se r duisant f q q c En particulier prenons f a b c il s av re que nous ne parvenons pas reconstruire la trace car f a b c ne s unifie pas avec f x x y Nous montrerons dans la section 9 3 3 qu il est n anmoins possible de reconstruire des traces pour des cas particuliers de syst mes de r criture non lin aires gauche Les r sultats de la section 9 3 ont t obtenus l aide d un semi algorithme permettant d tablir une s quence d OCPCs pour un automate A issu de la compl tion de l automate Ao par le syst me de r criture R Ce semi algorithme est d crit dans la section suivante CE QU IL FAUT NOTER 1 Une m thode correcte qui une s quence d OCPCs associe une trace de r criture 2 Une m thode compl te qui pour un terme t L Az sit R L Ao alors une s quence d OCPCs peut tre construire et
111. rateurs sont donn es ci dessous AE XL XY Z xY 2Z XY x XZ x X XY VEUX X Y Z X Y Z XOX 0 X 60 X 3Sauf si on conna t h et M 1 1 S curit et protocoles de communication 7 1 1 2 Diff rents types de protocoles partir des notions cryptographiques d finies dans la section pr c dente des protocoles de s curit peuvent tre d finis Nous pr sentons d abord les protocoles de s curit classiques d finis pour un nombre fixe de participants et destin s g n ralement l authentification ou l tablissement de secrets partag s Ensuite les protocoles dits de groupe et divulgation nulle sont illustr s succinctement via de simples exemples Protocoles d authentification et d tablissement de cl s communs Les protocoles sont d velopp s dans diff rents buts et poss dent alors diff rentes caract ri stiques Certains sont des protocoles d authentification unilat rale mutuelle visant convain cre l autre individu qu il communique avec la bonne personne la r ciproque doit tre galement permise dans le cas d authentification mutuelle EAP Extensible Authentication Protocol Blu03 Kerberos KN93 RADIUS Remote Authentication Dial In User Service RRSW97 NSPK NS78 PGP Pretty Good Privacy ASZ96 etc D autres protocoles permettent d ta blir des secrets partag s par plusieurs personnes comme par exemple une cl ou un canal de communicat
112. rente de celle utilis e dans GK00 Nous avons par ailleurs montr des exemples d attaques int ressantes et non d celables avec la technique d crite dans GK00 Enfin dans la section 5 4 nous avons propos une fonction d abstraction f4 permet tant de g n rer une nouvelle sp cification IF plus compacte que l initiale et correcte dans le sens o si nous parvenons prouver le secret sur la sp cification compacte alors ce secret est galement prouv pour la sp cification originale Cette fonction d abstraction est en partie ins pir e des r sultats d crits dans CLCO3b et adapt e notre contexte relativement diff rent des conditions requises dans CLCO3b Un premier pas vers l automatisation de la m thode GK00 a d j t fait dans OCKS03 Le langage d entr e est une sp cification ISABELLE utilis e pour exprimer la s quence de messages entre les agents au cours d un protocole Cependant en aucun cas il n est possible de sp cifier les propri t s v rifier L utilisateur est oblig de saisir un automate d arbre manuel lement ce qui n est pas toujours vident Une autre diff rence avec ces travaux r side au niveau des approximations qui font l objet du chapitre suivant Nous en reparlerons galement de cette diff rence dans la section 6 5 L un des crit res de diff rentiation se situe au niveau de la syntaxe de nos syst mes de r criture M me si d excellents r sultats on
113. s effectue pour un nombre non born d ex cutions du protocole tudi et pour des propri t s de secret Le tout est implant dans l outil automatique TA4SP Pour pr ciser pourquoi un protocole est non s r une technique de reconstruction de traces dans un contexte d approximations en r criture a t labor e A l aide d une reconstruction en arri re utilisant une nouvelle notion d unification un semi algorithme construisant une trace de r criture jusqu un terme de l automate initial a t tabli ce qui permet d exhiber des contre exemples dans le domaine de la v rification et en particulier d attaques dans le cadre de la v rification de protocoles de s curit Abstract Secured communications are the foundations of on line critical applications as e commerce e voting etc Automatically verifying such secured communications represented as security protocols 1s of the first interest for industrials By representing the secrecy verification problem as the reachability problem in rewriting we propose to automate a method initially dedicated to expert users verifying secrecy properties on approximations of the intruder knowledge The intruder knowledge is a set of terms computed from a given one representing the initial intruder s knowledge using a term rewriting system specifying the intruder and the security protocol By a semi algorithm we provide a diagnostic mentioning that a secrec
114. sentons section 3 2 la seconde tendance correspondant un transfert de technologie vers les industriels Le protocole jouet pr sent figure 3 1 servira de fil rouge tout au long de ce document Le protocole est exprim selon la nomenclature d crite section 1 1 1 Nous consid rerons une seule session entre les agents a et b se partageant la cl kab L intrus conna t initialement uniquement les deux agents a et b B kab M xap kab est une cl sym trique partag e entre A et B M est une information fraiche g n r e par A FIG 3 1 Protocole fictif 3 1 D une multitude de formalismes Pour traiter le probl me de s curit dans le contexte des protocoles de nombreuses tech niques ont t mises au point Certaines s appuyant des techniques de preuves BAN90 AT91 GNY90 Kai95 KN98 Bol96 Pau98 MROO JTFHG99 JTFHG98 d autres d exploration ex haustive GK00 MMS97 Ros94 RTO1b BM03 ACO2b BLP03 Nous pouvons galement souligner quelques m thodes hybrides m langeant des aspects de preuve et d exploration d es pace Son99 Mea94 Au sein des techniques de preuves il existe deux courants l un rai sonnant par inf rence avec des logiques modales sur des notions de croyances BAN9O AT91 GNY90 Kai95 KN98 l autre cherchant prouver qu une propri t est v rifi e sur toutes les traces en raisonnant par induction Bol96 Pau98 MROO JTFHG99 JTFHG98 En ce qui concerne
115. soit xo2 Vo En effet nous avons t t X Ua p Vi Ualp V2 et par d finition de fx t u2 nous obtenons soit ray v1 soit xa va tant donn que 02 fat ua Supposons que zoz v la preuve est sym trique pour les 1 D A autres cas alors to Clv1 v1 02 gt A C u1 p Va p et ainsi v A va la position p Nous avons donc montr que soit xo x 03 soit roh xo Supposons que xo xo la preuve est sym trique pour les autres cas nous pouvons alors construire une substitution o telle que o x 107 Nous obtenons une substitution r 1 i telle que tio A t t jo2 A tj et tiaz A tip tj09 A tjp Car 107 10 gt A xp Finalement nous obtenons que tos f t105 tn09 gt A f t1 t7 01 gt o et to gt tp O Lemme 9 1 19 Pour tous termes t t T FU Q pour toute OCPC cp l gt r p q pour toute position p Pos t sit t alors pour tout u Pred t cp p il existe v Pred t cp p tel que u gt v PREUVE D un c t par d finition si u Pred t cp p alors il existe une substitution o Talr tlp telle que u t lo p et ro rp D un autre c t les termes de Pred t cp p sont de la forme t lo pl o 0 talr tlp et ra rp Nous avons donc prouver que pour une valeur possible quelconque de il existe au moins une valeur de o telle que tllo plp gt tilo pl
116. sp cification IF donn e un mod le o deux agents seulement l un honn te l autre malhonn te sont consid r s Nous montrons galement que cette abstraction est correcte dans le sens o si un secret est v rifi sur notre mod le abstrait alors il l est galement le mod le issu de IF Nous d montrons galement dans cette section que l abstraction permet galement de conclure pour un ensemble d instances quelconque du protocole dans certains cas 5 1 Traduction d une sp cification IF en un syst me de r criture R et un automate d arbre Ao Au sein de cette section nous proposons dans un premier temps de relever quelques notions en IF tr s importantes pour le bon fonctionnement de notre m thode Cette m thode est en effet bas e sur les principes de termes bien form s Cette notion de terme bien form d coule d autres notions comme type et signature toutes deux pr sent es en section 5 1 1 84 Chapitre 5 De F vers une v rification de protocoles par approximations Certaines transitions r gles IF sont d cor es par des variables quantifi es existentiellement plus de d tails propos de ces r gles sont donn s dans la section 5 1 1 Pour g n rer un syst me de r criture compatible avec l approche d crite dans GK00 il est indispensable de skol miser ces variables par des abstractions d finies dans la section 5 1 2 Ensuite la section 5 1 3 pr sente des algorithmes utilis s p
117. state_alice agt Astate_alice agt Bstate_alice sk Kabstate_alice nat zeros text Dummy_Mstate_alice Dummy_Set_l6state_alice iknows text start gt and state_alice agt Astate_alice agt Bstate_alice sk Kabstate_alice nat un text default30 Astate_alice Bstate_alice zeros Dummy_Set_l6state_alice iknows pair sk Kabstate_alice scrypt sk Kabstate_alice text default30 Astate_alice Bstate_alice zeros and state_bob agt Bstate_bob agt Astate bob sk Kabstate_bob nat zeros text Dummy_Mstate_bob iknows pair sk Kabstate_bob scrypt sk Kabstate_bob text Xdefault30 gt state_bob agt Bstate_bob agt Astate_bob sk Kabstate_bob nat un text Xdefault30 and sk Kabstate_alice scrypt sk Kabstate_alice z gt z pair x y gt x pair x y gt y and x y gt x and x y gt y iknows x gt x Automaton etatInitial States qi qagti qb qagt3 qa qagt5 qset_42 q7 qdummy_text q9 qkab q11 q13 qstart q15 qna ql7 qun ql9 qzeros q21 q22 q23 q24 q25 q26 q27 q28 q29 q30 qdefault30intrus q31 a32 q33 q34 q35 qstate qnet Final States qnet qstate 148 Transitions and net net gt qnet and qstate qnet gt qnet knows q26 gt qnet knows q31 gt qnet crypt qnet qnet gt qnet air qnet qnet gt qnet knows qnet gt qnet knows q15 gt qnet knows qagt5 gt qnet knows qagt3 gt qnet knows qagti gt qnet state_alice qagt5 st
118. substitution Cette notion offre la possibilit d exprimer le fait d associer deux valeurs diff rentes une variable Definition 8 1 1 Soit R un syst me de r criture et r R Une l r substitution est une application de Pos x l dans Q Le fait que le domaine de cette fonction soit l ensemble des positions des variables nous pou vons a pr sent associer deux valeurs diff rentes une variable ce qui n tait videmment pas possible avec les substitutions de Y dans Q sans modifier le syst me de r criture Soit l gt r R et o une 1 r substitution Nous notons lo le terme de 7 F U Q d fini tel que Pos lo Pos l pour toute position p Pos l sip Posx l alors lo p o l p sinon lo p p Similairement nous d notons ro le terme de 7 F U Q d fini tel que Pos ro Pos r pour tout p Pos r sip Posx r alors ro p r p et ro p o U p sinon o p min Pos py 1 les positions sont ordonn es lexicographiquement 8 1 l r substitutions 157 Exemple 8 1 2 Consid rons f g x h x f y y etr f h x y h y x deux termes repr sent s par les arbres ci dessous les positions sont donn es droite des virgules la repr sentation graphique de est donn e gauche celle de r droite f e fe s KR ERA TT g 1 h 2 h 1 h 2 GIE 2I 22 x 1 1 y 1 2 y 2 1 x 2 2 z 2 2 1 y 2 2 2 Les occurrences de x apparais
119. syst me de r criture lin aire a gauche et une fonc tion d abstraction S il existe N gt 0 tel que Ao Ai An soit une s quence d au tomate d arbres obtenue par compl tion et Ay Any alors R L Ao L An La preuve de cette proposition est donn e dans FGV04 Gen98 Une fois la sur ap proximation obtenue nous pouvons semi d cider les probl mes de non atteignabilit En effet tout terme n appartenant pas l ap proximation n appartient pas non plus l en semble des termes atteignables Ce genre de technique est bien adapt la v rification de propri t s de s ret sur un syst me donn Approximations syst matiques Dans certains cas pour une paire et R o A est un automate et R un syst me de r criture en utilisant l algorithme de compl tion donn dans la d finition 3 1 4 il n existe pas de fonction d abstraction a telle que pour A obtenu en utilisant la d finition 3 1 4 partir de A L 4 R L A Exemple 3 1 5 Soit l automate A a 0 b 0 f 159 2 91 qf qs La b gt q f a gt ar et R f x g x x tant donn que lal gorithme de compl tion donn dans la d finition 3 1 4 est fond sur des sub stitutions de X dans Q nous consta tons clairement que le triplet critique Fa gq 41 45 n ajoute pas unique ment les termes g a a et g b b En po sant E LA f a f b R E g a a g b b Or la tec
120. syst me de r criture tel que R c f h a f x g d a b Soit Ay c q l ensemble de transitions de l automate Ay Soit Aj c gt qs a qr f ap a7 day bg g a ar l ensemble de transitions de l automate Ay r sultant de la compl tion de Ao par le syst me de r criture R et en utilisant la fonction a L ensemble OCPC cpi cp2 cps l ensemble des OCPCs tel que cp hor cf h a 0 q fs Cpa lyre f x g d p2 gt qf qr cp3 lg gt r3 ab 0 qp La trace suivante n est pas constructible partir d une s quence d OCPCs la 8 HA P gd En effet construisons une s quence partir de g d Nous obtenons g d Re flay A partir de f qf nous constatons que 1 1 Pos f q Cependant nous trouvons qu il est possible de construire la s quence ga PE fla Ec A partir de cette s quence en utilisant le th oreme 9 1 16 nous pouvons obtenir la trace ci apres l gt r1 lQ gt r2 Ca 2 g d Nous remarquons que dans l exemple ci dessus les termes f h a et f h b se r duisent tous deux sur f qr Cette propri t est l une de celles qui assurent le fait que notre m thode capture au moins une trace Le fait que l automate soit complet est galement un point important la compl tude de la m thode Les trois lemmes suivants servent la preuve du th or me 9 1 21 compl tude de la m thode 170 Chapitre 9 Recons
121. tel que ty soit une abstraction correcte Soit x EVar et t une abstraction correcte construite partir de m Soit r Tsign F A tel que O P1 Pn Pos m Comme r satisfait les propri t s le concernant list es dans la proposition 5 1 33 pour tout p POS gasiquess p p 1 etr p Fortct Par d finition EV ar C Basiques par cons quent Pos x m POS Basiques Par d finition une abstraction correcte est de la forme f t t o f Fws et t Basiques avec 1 lt i lt n En cons quence en g n ralisant la construction de r pour tout x EVar r satisfait bien les propri t s En proc dant la m me construction pour les occurrences des variables EV ar dans chaque l ment de Sec nous obtenons l ensemble Sec satisfaisant les propri t s 3 c Sec Sec si EVar 0 5 1 Traduction d une sp cification F en un syst me de r criture R et un automate d arbre Ay101 Finalement la r gle l ES y o TradFaits m r TradFaits m p et Sec SecTradFaitsp v rifie les propri t s 1 2 3 a 3 b et 3 c O Une autre propri t pour les syst mes de r criture issus de l algorithme 5 1 31 est que toutes les r gles de r criture respectent la condition usuellement li e la r criture l inclusion de l ensemble des variables du membre droit dans l ensemble des variables du membre gauche de chaque r gle Proposition 5 1 34 Soit Rip un s
122. trace ci dessous o les fl ches sont d cor es par un couple 7 p avec 1 le num ro de la r gle appliqu e et p la position de r criture 9 3 Quelques exp rimentations 177 fi store store a b store c d E 3 y store store store a b c d 1 y store d store store a b c 3 y store store d store a b c 3 1 store store store d a b c En utilisant le m me ensemble de d part E et en proposant le terme toa Store store store d a d c dans lequel deux occurrences de d apparaissent le r sultat obtenu est qu il s agit d un terme de l approximation Remarquons que pour cet exemple l ensemble des descendants R E d un ensemble fini est galement fini E fini et R E infini Le probl me ci dessous m lange un op rateur galement associatif et commutatif un syst me de r criture non convergeant gt f x f x a 6 x 9 91 f x 2 R 91 F x g3 x 3 f x store b store d store c x 4 store x y store y x 5 store x store y z store store x y z 6 Ne y En sp cifiant E f a et toa Store b store d store g a c notre prototype re tourne la trace suivante 178 Chapitre 9 Reconstruction de traces a N ta DE a DE store b store d store c f a ye 1 2 2 1 store b store d store f 2 a c store b store d store f a c 1 2 2 1 1 1 2 2 1 1 1 stor
123. traces d ex cution et de v rifier galement des propri t s sur les tats de chaque trace CE QU IL FAUT NOTER 1 Soit un terme t T Z UT H U T S Alors t Z XF 205 Fin MUTUHUS EVar Sec 3 Pour une r gle IF m m il existe p Pos m et p Pos m telles que M p Mn T H 4 Les op rations sur les ensembles sont g r es dans le contexte des faits de secret 5 Le constructeur de conjonction de pr dicat est remplac par l op rateur and x y est transform en and z y 6 Nous prenons en compte les propri t s de secret et donc les faits witness et request sont ignor s 7 Pour toute signature Sign f t x X tn gt t t message ou fact 5 12 Repr sentation abstraite des donn es fra ches en F Un nonce ou une cl fra che par d finition correspond une suite de bits al atoirement g n r e Une des sources de l ind cidabilit du probl me de v rification de protocoles de s curit dans le cadre g n ral est le fait que le nombre de nonce est potentiellement infini Une parade est d utiliser des abstractions pour r duire les nonces un nombre fini d instances Cependant l abstraction ne doit pas tre trop grossi re sous peine de r sultats inexploitables En IF le syst me de r criture ne respecte pas toujours la condition Var m Var m pour une r gle m pa voir exemple de la variable M de la r gle step_0 de l exemple 4 3 4 En
124. ts o dd doe bea Moe kd Dares Air AE Mes bee a 151 7 4 Comparaison aux autres outils 152 Chapitre 8 8 1 l r substitutions es sas ss Hs Beh Bed Bek Be ERR 156 8 2 Approximations pour des syst mes de r criture non lin aires 158 8 21 Normalisation usos 6 4 4 0 3 46 Bl ee HN ha de 158 9 22 COMPE SR MIS ER he NAN MSN ee oe le a Bee 159 8 3 Etude de cas le protocole View Only 161 8 4 Comparaison d autres travaux 4 4 4 lala sas sas date latest a 162 Chapitre 9 Reconstruction de traces 9 1 M thode de reconstruction 4 LR LIN AIS a He es 164 92 Semi algorithme et son tude y 30 e 3 4 Ww seabed Beg Be se Be ae e as 174 9 3 Quelques exp rimentations bos hod 6 God ane la ne a Nes as 175 O31 EXpertences simples srs and a tan aa AR ae tas eS 176 PAER EA oe ace ha ph ke pu he pe Sp en pe he nett Spe 176 PPE Ie NO LL OR RE 177 E infini et R E r gulier A enr A 178 9 3 2 Processus CONCUITENES se eg E EA 179 9 3 3 Protocoles de SECURES gt Sexe Ge ame ae fe Sct QT A 183 9 4 Comparaison avec d autres techniques 185 Conclusion Annexe Annexe Sp cification HLPSL du protocole TSIG Vili Table des mati res Annexe B Sp cification HLPSL du protocole LIPKEY Annexe C Sp cification HLPSL du protocole LIPKEY version anonyme Bibliographie 205 1 1 1 2 1 3 1 4 1 5 1 6 2 1
125. x x1 x cons N x y x2 encr pk y x y x2 iii AND iknows pk x iknows y iknows encr pk x i x y iv iknows cons x y iknows x v iknows cons x y iknows cons y x vi iknows encr pk i x y Z iknows z vii AND iknows x iknows y iknows cons x y viii L J FIG 9 4 Needham Schroeder Public Key par un syst me de r criture L intrus conna t initialement tous les agents ainsi que leurs cl s publiques respectives Nous sp cifions un automate Ao dont le langage repr sente la conjonction de toutes les donn es connues initialement par l intrus iknows ident a iknows pk a etc et de toutes les instances des sessions session ident a ident b session ident a ident i session ident b ident i Le protocole NSPK est connu pour tre faillible Low96 En effet un intrus peut parvenir a obtenir le nonce N b a g n r dans la r gle il Pour ce mod le Timbuk peut calculer une sur approximation de la connaissance de l intrus en utilisant une fonction d abstraction a Notre prototype peut reconstruire une trace qui correspond exactement l attaque men e par un intrus contre ce protocole voir figure 9 5 Nous pouvons noter que la trace obtenue souligne la connaissance minimale dont a besoin l intrus pour ex cuter cette attaque savoir connaissance de la cl publique de B ainsi qu une session entre a et i et initi e par a L agent a c
126. 1 R sultats de complexit pour le probl me de s curit sous l hypoth se de la crypto graphie parfaite De nombreuses techniques de v rification d di es soit la d tection d attaques soit la preuve de correction des propri t s sur les protocoles tudi s ont merg dans les ann es 90 Nous donnons d ailleurs un aper u de ces techniques dans le chapitre 3 Les techniques tant de plus en plus performantes le monde industriel s est av r intrigu et int ress par ces tech nologies 1 1 S curit et protocoles de communication 15 Vers un transfert de technologie La conception de protocoles de communication s rs est une tape critique dans le sens o une erreur peut avoir des cons quences conomiques l gales ou thiques du d veloppement d une application ou d un service utilisant des communications ouvertes Malheureusement les contraintes portant sur ces protocoles sont multiples et les concepteurs doivent prendre en compte de nombreux param tres autres que la s curit le protocole doit remplir une cer taine t che s ex cuter rapidement ne pas consommer trop de ressources et les m thodes et outils permettant de valider l aspect s curit d un protocole sont des techniques tr s poin tues g n ralement en dehors des champs de comp tences propres des concepteurs La m thode utilis e jusqu pr sent consistait concevoir le protocole puis le soumettre une uni
127. 1 iknows patr f x Kab scrypt fsx Kab fiext M L appel de la fonction TradFaits s effectue galement sur chaque signal contenu dans Sec que nous stockons dans la variable Seco TradFaits secret M idl LA B secret Trad M Trad idl Trad A Trad B secret freat M fia id1 fagt fagt B Sec2 Ensuite nous posons une abstraction correcte pour chaque variable de EV ar afin de d finir une substitution p Par exemple prenons l abstraction que nous avons d finie dans l exemple 5 1 25 i e M n A B pour substituer la variable M Nous d finissons alors p telle que p M n A B Sec Enfin nous pouvons terminer l algorithme 5 1 31 en formant la r gle 1 5 r o r rip and state_Alice fagt A fagt B For Kad ftext n A B frat 1 iknows pair f x dab scrypt fsx K ab ftext n A B Sec Secap secret fiext n A B fia idl fagt A fagt B La proposition 5 1 33 pr sente les propri t s des syst mes de r criture g n r s par l algo rithme 5 1 31 partir d un syst me de r criture IF Proposition 5 1 33 Soit Rip un ensemble de r gles F Soit m peed aos m Rig Soit oe r DRN Sec j ns une r gle de r criture telle que 41 E r soit le r sultat de l application de l algorithme EVar Sec 5 Sec ee a TradRules sur m m La r gle E r a les propri t s donn es ci dessous 1 Vp
128. 1l M1 H Tagl1 M1 N1 _K witness A S server_client_k_ab Tagl M1 H Tagl M1 N1 _K step2 State 1 RCV Tag2 M1 M2 H Tag2 M1 M2 N2 _K gt State 2 wrequest A S client_server_k_ba Tag2 M1 M2 H Tag2 M1 M2 N2 _K end role role server S agent A agent K symmetric_key H hash_func M2 text Tagl Tag2 text SND RCV channel dy played_by S def local State nat N1 M1 N2 text init State 0 transition stepl State 0 RCV Tagl M1 H Tagl1 M1 N1 _K gt State 1 195 196 Annexe A Sp cification HLPSL du protocole TSI N2 new SND Tag2 M1l M2 H Tag2 M1 M2 N2 _K witness S A client_server_k_ba Tag2 M1 M2 H Tag2 M1 M2 N2 _K wrequest S A server_client_k_ab Tagl M1 H Tag1 M1 N1 _K end role role session A S agent K symmetric_key M1 M2 text H hash_func Tagl Tag2 text Se Re Sf Rf channel dy def const server_client_k_ab client_server_k_ba protocol_id composition client A S K H M1 Tagl Tag2 Se Re server S A K H M2 Tagl Tag2 Sf Rf end role role environment def local Ra Rs Sa Ss Si Ri channel dy const a s i agent kia kis kas symmetric_key m1 m2 mi1 mi2 tagl tag2 text h hash_func intruder_knowledge i a s h kia kis mil composition session a s kas ml m2 h tagl tag2 Sa Ra Ss Rs session a s kas mi m2 h tagl tag2 Sa Ra Ss Rs
129. 2 2 2 3 2 4 2 5 2 6 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 Table des figures Ee protocole NSPK 30000 Ge a a ae OR a e dut he ee ER Se 8 Plande la caverne de ee o er tes ee A e ios Ne 9 Protocole divulgation nulle la caverne 10 DE PROVEE ec e it a ne gi E ES 16 Processus de v rification y ecos a ds a a 18 Reconstruction de traces dans un contexte approxim 19 Repr sentation graphique d un terme 22 Op rateurs de substitution et d extraction de terme 23 Application d une substitution 24 Principe de Teeerture o s o eci a e ne a RIRES Ress 25 Soustraction 1 2 1 avec syst me de r criture 25 Miss SOT L A Aaa 26 PEOtOCGIE NCE apers E A re 30 Repr sentation du protocole figure 3 1 par des Strands 31 Attaque sur le secret de M aot oS eck oo ee So Se ood LAS SS 32 Normalisation de f a g b qo qaveca 35 Exemple de l algorithme de compl tion lt span ca 36 Sp cification CAPSL du protocole fil rouge 45 Sp cification CASPER du protocole fil rouge 47 CASRUL outils de v rification 49 Sp cification HLPSL du protocole fil rouge 51 De la mod lisation la v rification 55 Sp
130. 218 1996 J Santos Santiago Analyse automatique de protocoles avec AtSe In J Julliand editor Congr s Approches Formelles dans l Assistance au D veloppement de Lo giciels AFADL 04 Besan on France June 2004 Pr sentation syst me M Steiner G Tsudik and M Waidner Key agreement in dynamic peer groups Technical report Information Sciences Institute January 1999 J Santiago and L Vigneron Automatically analysing non repudiation with au thentication to be attribuated INRIA Lorraine Loria 2006 214 Tak04 TANO3 Tho01 TMN89 VGEW100 Zha97 Bibliographie T Takai A verification technique using term rewriting systems and abstract inter pretation In V van Oostrom editor Rewriting Techniques and Applications 15th International Conference RTA 04 LNCS 3091 pages 119 133 Valencia Spain June 3 5 2004 Springer V Torvinen J Arkko and M Naslund Hypertext Transfer Protocol HTTP Di gest Authentication Using Authentication and Key Agreement AKA Version 2 September 2003 Work in Progress Thomson Smartright technical white paper v1 0 Technical report Thomson october 2001 http www smartright org M Tatebayashi N Matsuzaki and D B Newman Key distribution protocol for digital mobile communication systems In Advance in Cryptology CRYPTO 789 volume 435 of LNCS pages 324 333 Springer Verlag 1989 P Vixie O Gudmundsson D Eastlake 3rd and B Well
131. 3rd Conference on Foundations of Software Technology and Theoretical Computer Science F STTCS 03 2003 P Ryan S Schneider M Goldsmith G Lowe and B Roscoe Modelling and Analysis of Security Protocols Addison Wesley 2000 M Rusinowitch and M Turuani Protocol Insecurity with Finite Number of Ses sions is NP complete In Proceedings of the 14th IEEE Computer Security Foun dations Workshop IEEE Computer Society Press 2001 M Rusinowitch and M Turuani Protocol insecurity with finite number of sessions is NP complete In 74th IEEE Computer Security Foundations Workshop CSFW 01 pages 174 190 Washington Brussels Tokyo June 2001 IEEE S Schneider Verifying authentication protocols with CSP In PCSFW Pro ceedings of The 10th Computer Security Foundations Workshop IEEE Computer Society Press 1997 E Saul and A Hutchison Using gypsie gynger and visual GNY to analyse cryp tographic protocols in SPEAR II In Conference on Information Security Mana gement amp Small Systems Security pages 73 86 2001 S Singh Histoire des codes secrets De l gypte des pharaons l ordinateur quantique Latt s Paris 1999 D Song Athena A new efficient automatic checker for security protocol analy sis In Proceedings of the 12th IEEE Computer Security Foundations Workshop CSFW 99 pages 192 202 IEEE Computer Society Press 1999 S Schneider and S Sidiropoulos CSP and anonymity In ESORICS pages 198
132. 6 3 Approximations g n r es automatiquement 137 Proposition 6 3 5 Si R est X Z lin aire gauche et droite alors pour tout n lt 0 L Ba A R L A L Bn A E Bn i A et U B A R L A n gt 0 PREUVE Par d finition Bn A gr 1 Bn A Par cons quent l ensemble des transi tions de B A est inclus dans celui de B 1 4 Ainsi L B 4 L Bn 1 A Par le th or me 6 2 14 nous obtenons pour tout n gt 1 R L B A L Br 1 4 Par cons quent une simple induction donne RE L A E L Bn 1 A c ULE n gt 0 Ceci implique que Enfin par une simple induction sur n en utilisant le lemme 6 3 4 nous prouvons que pour tout n EN L B A R L A o 6 3 2 Classe de sur approximations Comme nous l avons mentionn dans la section 3 1 2 pour obtenir une sur approximation il suffit d utiliser une fonction d abstraction non injective pour obtenir une approximation comme pr sent dans la figure 3 5 de la section 3 1 2 C est sur ce principe qu est bas e notre classe d approximation Il faut videmment contr ler cette sur approximation pour qu elle soit exploi table en conclusion L id e est d associer chaque r gle diff rents cas distinguer Cette distinction se fait par l instanciation de certaines variables pr d finies Dans le cadre des protocoles ceci nous permet d associer une r gle une session en utilisant les variables de
133. 62 4 2 4 Exemples de sp cifications 64 TOLG unaa A eas Aig ewe WE I a ee ees ed 64 ELERE a an cet te GE ee A A tw Ge te A ie eee 65 4 3 IF Intermediate Format un langage de bas niveau 66 4 3 1 Sp cification du protocole 67 4 3 2 Sp cification de l intrus 69 4 3 3 Une trace d ex cution IF 69 4 4 Passerelles de HLPSL IF et de PROUV IF 71 441 DeHLPSLalE gt 5 440 asses ane sh ae LA x ut 71 4 4 2 De PROUVE SIE 4 24 dy around pelle te des dieu ane 72 Types signatures variables et symboles fonctionnels 72 Roles Stee a RS Bo Bee A ier a UE OS He 74 Instructions communes 75 Linstruction choice 76 L instruction if then else 71 SCA a eb ot A a es E EE ae 78 ASS Conclusion o ss a e sie den Wi de BEAMS ise 79 Deux des plus r cents langages de sp cification sont l objet de ce chapitre HLPSL High Level Protocol Specification Language CCC 04 et PROUVE KLTOS5 Le premier a t d velopp au cours du projet europ en AVISPA et l autre est le langage ponyme du projet 53 54 Chapitre 4 HLPSL amp PROUV RNTL Ce sont deux langages de haut niveau l un orient syst me de transitions HLPSL l autre programmation concurrentielle PROUV Dans le projet AVISPA nous avons d
134. Ainsi pour prouver que un Un ll gt Unllo p t il est suffisant de montrer que lu gt lo p i e que Vx dom u zu gt x o p Cette propri t est trivialement vraie pour tout x Var r puisque dans ce cas x o p xp et de plus nous savons par construction que p xu xp Maintenant il reste prouver qu il existe o fa r tp telle que Vx Var r qu h xo Puisque ro gt tp ru et tp T F nous obtenons trivialement que ro tp ru D o 0 u Ainsi nous avons un gt t tlw L olp Il existe alors t Pred t cp p tel que un gt t gt qy et il existe une s quence un pecas ta 1 22 ty telle que u gt to D apr s le lemme 9 1 20 il existe une s quence 2 ty TE tf telle que Vi 0 n ti gt t Comme u to par hypoth se et to gt to nous avons ainsi u t De plus puisque t Pred t cp p nous obtenons la 4 cp p CPn Pn Cp1 P1 s quence suivante t LY te 1 lt th Cette technique est valide pour tout syst me de r criture lin aire gauche L exemple sui vant d montre que la technique n est pas fonctionnelle en g n ral pour un syst me de r criture non lin aire gauche Exemple 9 1 22 Soit R f x x y y et Ao F Qo Of Ao o a F f 3 a 0 b 0 c 0 Qo 4 91 44 Of as et Ao a q b gt q c gt q1 F q 4 1 gt 41 Nous remarquons
135. E L An 1 R L Ao ne L Ao Calcul de R L A5 L A FIG 5 1 Principe de la m thode de GKOO Nous rappelons que l ensemble R L 4p n est pas exactement calculable en g n ral et que le calcul d une sur approximation permet de v rifier que certains termes n appartiennent pas cette sur approximation et par extension pas R L Ao Pour plus de d tails se r f rer la section 3 1 2 Le processus de v rification de GK00 n est pas automatique En effet il est d abord n cessaire de sp cifier un protocole en termes de syst mes de r criture et d automates d arbre ce qui n est pas ais pour tout le monde Ensuite les fonctions d abstractions permettant le calcul de sur approximations doivent galement tre d finies manuellement ce qui est encore plus difficile En effet juger la pertinence d une fonction d abstraction requiert une expertise ainsi qu une exp rience certaine La v rification des propri t s ainsi que leur sp cification se font galement manuellement Les propri t s sont exprim es sous forme d automates d arbre Dans ce chapitre nous proposons d automatiser compl tement ce processus en connectant cette m thode au langage IF A partir d une sp cification IF nous proposons la g n ration automatique d un syst me de r criture R repr sentant le protocole et les capacit s d analyse et de composition de
136. IA Mars 2006 Y Boichut P C Heam O Kouchnarenko and F Oehl Improvements on the Ge net and Klay Technique to Automatically Verify Security Protocols In Automated Verification of Infinite States Systems AVIS 04 ENTCS 2004 To appear Y Boichut N Kosmatov and L Vigneron Validation of PROUVE protocols using the automatic tool TA4SP to be attribuated INRIA Lorraine Loria 2006 B Blanchet An efficient cryptographic protocol verifier based on prolog rules In Proceedings of CSFW 01 pages 82 96 IEEE Computer Society Press 2001 B Blanchet From Secrecy to Authenticity in Security Protocols In Manuel Her menegildo and German Puebla editors 9th International Static Analysis Sympo sium SAS 02 volume 2477 of Lecture Notes on Computer Science pages 342 359 Madrid Spain September 2002 Springer Verlag B Blanchet Automatic Proof of Strong Secrecy for Security Protocols In JEEE Symposium on Security and Privacy pages 86 100 Oakland California May 2004 L Bozga Y Lakhnech and M Perin Pattern based abstraction for verifying se crecy in protocols In Proceedings of TACAS 2003 LNCS 2619 Springer Verlag 2003 L Blunk Extensible Authentication Protocol EAP September 2003 Work in Progress S Bellovin and M Merritt Encrypted Key Exchange Password based proto cols secure against dictionary attacks In Proceedings of the IEEE Symposium on Research in Security and Privacy May 1992
137. L Di Pa Posx t et x Ue En tlpn Un exemple d application d une substitution est donn figure 2 3 24 Chapitre 2 Pr liminaires f oy t a AN to a di y gt gt LA on a x gt g b y gt h c b c FIG 2 3 Application d une substitution Nous parlons d unification lorsque pour deux termes t t T F A il existe une substitu tion o Y T F telle que to t o La substitution o est un unificateur de t et de t Une classe particuli re d unificateurs est lorsque soit t soit t appartient T F Sit T F eto est un unificateur de t et t alors o est une substitution de filtrage de t vers t ou t filtre t Exemple 2 1 9 Unification et filtrage Soit t f x a t f a y ett f a a avec f Fr a Foetz y X La substitution o x gt a y gt a est un unificateur de t et t Les substitution p x a et p y gt a sont respectivement des substitutions de filtrage de t vers t et de t vers t Donc t et t filtrent tous deux t Nous constatons que les deux op rateurs pr sent s figure 2 2 nous permettent de cr er un nouveau terme partir de deux termes ou encore d acc der un sous terme pour un terme donn La combinaison de ces deux op rations permet la r criture de termes Cette technique de r criture est tablie selon des r gles r unies au sein d un syst me de r criture que nous pr sentons dans la section s
138. L automate r sultant est not gp A Definition 6 2 10 Soit A F Q Q A un automate d arbre et y une fonction d approxi mation gr A F Q Qs A est un automate d arbre fini d fini par DROS AU Norm ro q lr I gt reR 0EX Q X 9 0 loa q gt r0 gt q et Q states A 6 2 Crit res de lin arit s et leur v rification automatique 127 Lun des r sultats importants dans cette section et fondamental pour la correction de notre m thode est que la construction de l automate gr A conserve la Basiques compatibilit de l automate A En effet le th or me 6 2 14 et la proposition 6 2 15 illustrerons combien le r sultat pr sent dans le lemme 6 2 11 est capital Lemme 6 2 11 Soit A un automate d arbre fini R un syst me de r criture et y une fonction d approximation Si A y est une paire Basiques compatible alors gr A y Vest aussi PREUVE videmment y tant constant y est toujours Basiques compatible Il reste mon trer que l automate gr A F Q Or A l est galement Soit S Basiques N Fo 1 Supposons qu il existe t et gt deux termes slic s de gp 4 tels ti 4 to H t1 t2 t ett S De plus nous posons t comme l unique terme slic de associ t d apr s la condition de la d finition 6 2 7 N cessairement il existe p Pos t telle que t lt p tz lt p et t gt pF ta gt p Soit cq ta p nous ob
139. LIE TR is go Ger be oh heed MERS Rue 176 Hinet R Ce MM LE ond Sve bt ed Gan cite te mere 177 E infini et R E r gulier Liens AAA E As 178 9 3 2 Processus concurrents 179 9 3 3 Protocoles de s curit 183 9 4 Comparaison avec d autres techniques 185 Le probl me de s curit li aux propri t s de s ret secret authentification etc est ramen un probl me d atteignabilit Or le probl me d atteignabilit est connu pour tre ind cidable en g n ral Au mieux des semi algorithmes permettent de traiter le probl me Le recours aux approximations et aux abstractions repr sente des alternatives obligatoires pour aborder le probl me d atteignabilit Dans le chapitre 6 nous avons d fini des classes d approximation pour prouver soit que le secret est garanti par sur approximation de la connaissance de l intrus soit que le secret est viol par sous approximation Comme illustr dans la section 7 2 la m thode est correcte mais non compl te En effet une m thode compl te et correcte impliquerait un algorithme avec uniquement deux r ponses possibles ATTAQU et S R Bien que nous parvenons prouver qu un terme est atteignable i e un secret est viol nous n avons aucune preuve physique aucune trace permettant de convaincre un utilisateur lambda du bien fond de l attaque En partant de ce constat l gitime et dans le c
140. La nouvelle valeur stock e dans M est 123 et 2 La nouvelle valeur stock e dans State est 1 car la transition a t activ e Nous remarquons que le terme t n active pas la transition car RCV kab1 124 _kab n est pas unifiable avec RCV kKab M _kab 7 Une derni re pr cision propos des transitions Pour g n rer des valeurs fra ches l instruc tion new est utilis e Exemple 4 2 7 Soit Kab une cl sym trique State un entier naturel et RCV SND deux ca naux de type Dolev amp Yao La transition State 0 A RCV start gt State 1 M new A SND Kab M _Kab signifie si la valeur de la variable State est 0 et que nous pouvons lire sur le canal RCV le message Start alors 1 la variable State prend comme valeur 1 2 la variable M est instanci e par une valeur al atoire gr ce l instruction M new et 3 cette nouvelle valeur est d abord chiffr e par Kab puis concat n e a Kab et enfin envoy e sur le canal SND Chaque r le repr sente un syst me de transitions A partir d un tat initial et d un ensemble de r les nous obtenons alors un syst me d tats transitions non d terministe Sur ce syst me nous v rifions des propri t s de s ret telles que le secret et diff rents degr s d authentifica tion Ces propri t s sont exprim es partir de signaux Toutes ces notions sont pr sent es dans la section suivante 4 2 3 Signaux Dans la mise en place de HLPSL
141. Le signe des termes d signe la r ception ou l envoi La relation gt s quentialise les v nements l int rieur d un strand Pour deux termes sign s t et t2 il existe une autre relation d not e telle que sit t alors t est de signe et t t Concr tement cela signifie qu une r ception correspond un envoi Nous consid rons un Strand space comme un ensemble de Strands reli s par la relation La figure 3 2 repr sente deux Strands mais nous n avons pas de Strand space contrairement la figure 3 3 Un Strand space est appel Bundle s il repr sente une ex cution du protocole Un Bundle doit respecter les conditions suivantes le graphe repr sent dans le Bundle ne comporte pas de cycles et pour tout Event de r ception e il existe un unique Event d mission e tel que e e Les deux relations gt et permettent de d finir l ordre partiel lt tel que t X tz si tz est joignable par gt U partir de t pour deux events t et ta Le pouvoir de l intrus est aussi mod lis avec des Strands t t initialement connu par l intrus g r ception 9 9 9 g h 9 h g h g h k h h x k h r h F F C R E D Les Strands ci dessus permettent l intrus d envoyer de r ceptionner de dupliquer de com poser en paires d analyser une paire des messages La capacit de c
142. Menlo Park CA October 2000 Available at http www csl sri com millen capsl G Denker J Meseguer and C L Talcott Protocol specification and analysis in Maude In N Heintze and J Wing editors Proceedings of Workshop on Formal Methods and Security Protocols June 25 1998 Indianapolis Indiana 1998 D Dolev and A Yao On the Security of Public Key Protocols IEEE Transactions on Information Theory 2 29 1983 S Even and O Goldreich On the security of multi party ping pong protocols In Proceedings of 24th IEEE Symposium on Foundations of Computer Science IEEE Computer Society 1983 M Eisler RFC 2847 LIPKEY A Low Infrastructure Public Key Mechanism Using SPKM June 2000 Status Proposed Standard G Feuillade T Genet and V VietTriemTong Reachability analysis over term rewriting systems Journal of Automated Reasonning 2004 To appear 210 Gen98 GK00 GLO1 GLO2 GMTZ01 GNY90 GTO1 GTTT03 HC98 JLMO1 JRVOO JTFHG98 JTFHG99 Ka195 KLTOS KN93 Bibliographie Th Genet Contraintes d ordre et automates d arbres pour les preuves de termi naison PhD thesis Universit Henry Poincar Nancy 1 Loria 1998 Thomas Genet and Francis Klay Rewriting for cryptographic protocol verifica tion In Proceedings of CADE 00 LNCS 1831 pages 271 290 Springer Verlag 2000 J Goubault Larrecq Langage de sp cification de protocoles crypt
143. Oregon USA January 14 15 2002 P V Mockapetris RFC 1034 Domain names concepts and facilities November 1987 Status Standard P V Mockapetris RFC 1035 Domain names implementation and specification November 1987 Status Standard J K Millen and H Ruef Protocol independent secrecy In RSP 21th IEEE Computer Society Symposium on Research in Security and Privacy 2000 J K Millen and V Shmatikov Constraint solving for bounded process cryptogra phic protocol analysis In Proceedings of the ACM Conference on Computer and Communications Security CCS 01 pages 166 175 2001 C Meadows P F Syverson and I Cervesato Formal specification and analysis of the group domain of interpretation protocol using NPATRL and the NRL protocol analyzer Journal of Computer Security 12 6 893 931 2004 M Nesi and G Rucci Formalizing and Analyzing the Needham Schroeder Symmetric Key Protocol by Rewriting In In Proceedings of the 2nd Workshop on Automated Reasoning for Security Protocol Analysis 2005 M Nesi G Rucci and M Verdesca A Rewriting Strategy for Protocol Verifica tion Electr Notes Theor Comput Sci 86 4 2003 R M Needham and M D Schroeder Using Encryption for Authentication in Large Networks of Computers Technical Report CSL 78 4 Xerox Palo Alto Re search Center Palo Alto CA USA 1978 Reprinted June 1982 F Oehl G C c O Kouchnarenko and D Sinclair Automatic approximation
144. S secret 3 Les signatures de ces symboles sont d finies ci dessous sign r iknows messager fact sign secret message x identifier x SETH fact SET C Agents signe f E H ty1X xtyn gt fact avec tyi sir tYn fact Definition 5 1 10 L ensemble des messages mis not T T est le plus petit ensemble des termes de Tsign Fir Ar tel que sit T M Xe alors iknows t T T Definition 5 1 11 L ensemble des tats locaux not T H est le plus petit ensemble des termes de Tgign FiF Vig tel que si ti tn E T M A f Fen et f Z MU iknows 1 secret 3 alors f t1 tn T H Definition 5 1 12 L ensemble des v nements secrets T S est le plus petit ensemble des termes de Tgign Fir tir tel que si t T M Ar ta Identifiers et E C Agents alors secret t1 t2 E T S Exemple 5 1 13 Soit Kab Keys et M Texts Soit t Tgign Fir WE tel que t pair Kab scrypt Kab M Ainsi t T M XF et par cons quent iknows t T T Soit galement A B Agents et idl Identifiers Les termes secret M id1 A B et state_Alice A B Kab M 1 appartiennent respectivement aux ensembles T S et T H Notons que witness et request ne sont pas consid r s car nous ne v rifions pas de propri t s d authenti fication avec notre m thode En effet ces faits sont utilis s pour la v rification de telles propri t s 5 1 Traduction d une sp cification F
145. Technique EVA No 7 L outil de v rification SECURIFY 2002 T Dierks and C Allen RFC 2246 The TLS Protocol Version 1 0 January 1999 Status Proposed Standard D Dolev S Even and R Karp On the security of ping pong protocols In Proc of CRYPTO 82 pages 177 186 Plenum Press 1982 G Denker Design of a CIL connector to maude June 29 2000 W Diffie and M Helman New directions in cryptography IEEE Transactions on Information Society 22 6 644 654 november 1976 S Delaune F Klay and S Kremer Sp cification du Protocole de Vote Electronique Available at http www lsv ens cachan fr prouve 2005 N Durgin P D Lincoln J C Mitchell and A Scedrov Undecidability of Boun ded Security Protocols In Proceedings of the FLOC 99 Workshop on Formal Me thods and Security Protocols FMSP 99 1999 Available at http www cs bell labs com who nch fmsp99 program html G Denker and J K Millen CAPSL Intermediate Language In N Heintze and E Clarke editors Proceedings of Workshop on Formal Methods and Security Protocols FMSP 99 URL for CAPSL and CIL http www csl sri com mil len capsl 1999 G Denker and J K Millen The CAPSL integrated protocol environment Tech nical Report SRI CSL 2000 02 Computer Science Laboratory SRI International 2000 G Denker J K Millen and H Rue The CAPSL Integrated Protocol Environ ment Technical Report SRI CSL 2000 02 SRI International
146. Universit de Franche Comt UFR Sciences et Techniques Num ro d ordre 1160 cole doctorale SPIM Approximations pour la v rification automatique de protocoles de s curit TH SE pr sent e et soutenue publiquement le 7 septembre 2006 pour l obtention du grade de Docteur de l universit de Franche Comt Sp cialit Informatique par Boichut Yohan Composition du jury Pr sident Thomas Jensen Directeur de Recherche CNRS IRISA Rennes Directeurs Olga Kouchnarenko Ma tre de Conf rences HDR l Universit de Franche Comt Pierre Cyrille H am Ma tre de Conf rences l Universit de Franche Comt Rapporteurs Ahmed Bouajjani Professeur l Universit de Paris VII Yassine Lakhnech Professeur l Universit Joseph Fourier Grenoble I Examinateur Jean Michel Couvreur Professeur l Universit d Orl ans Laboratoire d Informatique de l Universit de Franche Comt CNRS FRE 2661 INRIA Lorraine quipe CASSIS R gion de Franche Comt Mis en page avec la classe thloria Remerciements Je tiens tout d abord remercier chaleureusement tous les membres du jury Merci Mr Thomas Jensen d avoir accept et ainsi de me faire l honneur de pr sider ce jury de th se Merci galement Mr Ahmed Bouajjani et Mr Yassine Lakhnech d avoir accept d assumer la lourde t che qu est celle de rapporter une th se Et enfin merci galement Mr Jean Miche
147. _key M default D_M text O71 i nat par d finition la fonction fy Fo gt Fo est d finie telle que f a agty fb agty Fs kab sky 4 fyldefault txty fg 0 0 Ja 1 L2_ agents linit fe and iknows agty and iknows agt y and state_Alice agty agty sky txty 0 state_Bob agty agty sky txty 0 Bien videmment la fonction d abstraction fry peut s av rer trop forte pour effectuer la v rification d un protocole N anmoins nous avons en pratique obtenu de bons r sultats avec un telle repr sentation pour valider des protocoles 5 5 Conclusion 115 5 5 Conclusion Notre objectif est de rendre l approche d crite section 3 1 2 ainsi que dans GK00 FGV04 compl tement automatique et ce pour une large classe de protocoles de s curit L int r t de notre d marche est d offrir un langage de haut niveau HLPSL ou PROUV pour une m thode de v rification qui en g n rale demande des connaissances pointues dans le domaine Dans un premier temps la sp cification HLPSL ou PROUVE est traduite en une sp cifica tion IF Ensuite comme illustr dans la section 5 1 cette sp cification IF est trait e par diff rents algorithmes pr sent s dans les sections 5 1 3 et 5 1 4 pour construire un automate d arbre Ay et un syst me de r criture R adapt s la technique GK00 Nous avons galement propos dans la section 5 2 une notion de secret diff
148. a t introduit lors de la construction de IRALA Soit ts et t deux termes slic s de gp A tels que ts t t Y et t gt t be q I existe une position p Pos t N Pos t telle que t gt p t gt p et t lt t lt p Int ressons nous la transition c gt q t p Puisque q t gt p ts gt p Opasiques A et que cog A on a c gt q E A A Comme pour le point pr c dent il existe deux possibilit s pour la construction d une nouvelle transition Soit il existe une transition t lt p gt q A lor Reto X Q tels que 7 F t gt p r X et q q Norm ro gq l gt r Soit il existe l gt r R q Qet o XQ tels que cq Norm ra q l gt r D apr s le lemme 6 2 9 le premier cas n est pas possible dans le sens o q Opasiques A et ainsi il n existe pas de r gle l gt r R et de substitution o YQ telle que lo q Pour le second cas nous obtenons une contradiction issue de la condition 5 et de la d finition 6 2 7 En effet comme q Qpusiques A il existe alors une position p 128 Chapitre 6 D marche fond e sur des approximations Pos r telle que y l gt r 0 q Y gt rp q QBasiques A Ainsi d apr s la condition 5 soit r p Fo N Basiques soit r p Fars et rly Basiques Dans les deux cas nous obtenons alors n cessairement c t lt p ce qui contredit notre hy
149. a section 5 1 5 Lune de ces r gles est la suivante and iknows fsp x iknows scrypt fa x y gt y En situant cette r gle dans un contexte identique l exemple 6 2 1 cela signifie que l au tomate obtenu ne repr sente pas une sur approximation de la connaissance de l intrus Par cons quent aucune conclusion ne peut tre extraite d un tel r sultat L exemple ci dessous souligne que le calcul exact des descendants par la m thode GKO0 FGV04 n est pas toujours possible pour un syst me de r criture non lin aire droite et un automate donn s Exemple 6 2 2 Soit l automate A a 0 f 1 g 2 q1 gr ar a b qf a ari et R f x g x x Comme pour l exemple pr c dent nous remarquons qu il n existe aucune strat gie pour calculer exactement R L Ao pour lautomate donn et le syst me de r criture donn dans le sens o nous obtiendrons toujours les termes g a b et g b a Un autre automate issu d une simple modification sur l ensemble des transitions de I auto mate de l exemple 6 2 2 permet de calculer R L Ap exactement Ce genre de configuration doit tre d tect pour pouvoir d terminer si le calcul exact des descendants est possible Les crit res pr sent s dans cette section permettent d assurer la correction des approxima tions donn es dans la section 6 3 et de plus ils se v rifient de fa on automatique sur l automate initial et la fonction
150. ab M 1 iknows pair Kab scrypt Kab M secret M idl A B step step_1 A B Kab D_M M state_Bob B A Kab D_M 0 iknows pair Kab scrypt Kab M gt state_Bob A B Kab M 1 Nous retrouvons bien le protocole repr sent par ces deux transitions La premi re repr sente l envoi du message par l agent A La seconde la r ception par l agent B Une tran sition est d clench e si un tat satisfait la condition exprim e par la partie gauche de la transition Par exemple la r gle de la figure 4 4 s interpr te par si lintrus conna t le message start et si un agent jouant le r le Alice est dans l tat 0 alors l agent passe l tat 1 et un nouveau message est ajout la connaissance de l intrus par iknows pair Kab scrypt Kab M state _Alice A B Kab D_M 0 iknows start exists M gt state_Alice A B Kab M 1 iknows pair Kab scrypt Kab M secret M idl A B FIG 4 4 Transition IF repr sentant la premi re tape du protocole fil rouge Remarquons que la partie droite contient un fait li au signal de secret Ces signaux sont indispensables pour exprimer les propri t s de secret voir item ci dessous goals Cette section exprime la n gation des propri t s v rifier sous forme de pr dicat Si un tat v rifie un tel pr dicat alors la propri t correspondante n est pas v rifi e Exemple 4 3 5 Dans notre exemple fil rouge nous d s
151. able y _ p i repr sente l tat symbolique associ la r gle r et la position p t L exemple suivant illustre la d finition 6 1 2 Exemple 6 1 3 Un exemple de normalisation symbolique Soit r g x g f a f z o a g fe Fetzx z X Norm r q lr f z yi r22 a gt Yl gt r 2 1 15 FYior 2 11 gt Yi gt r 2 1 9 Yisr 2 15 Yi gt r 2 2 Ylr 2 g a Yi 2 gt q Soit E un ensemble de transitions symboliques Par abus de notation Var y E repr sente l en semble des variables de Y apparaissant dans les l ments de E ainsi Vary E y Y 6 1 Normalisation symbolique 119 te T F XUV toy E Pour une substitution o YUA 0 la notation Ho repr sente un ensemble de transitions tel que tous les tats symboliques et les variables sont remplac s par l tat correspondant attribu par o i e Eo to o y t ye EJ Nos fonctions d approximation fonction d abstraction d finition 3 1 1 tats d abstrac tion d finition 3 1 2 sont repr sent es comme des substitutions des tats symboliques par des tats de Q Definition 6 1 4 Fonction d approximation Une fonction d approximation y est une fonction y Rx A 0 x Q W Q WC V telle que y I gt r 0 q Vary Norm r gt Yi gt r e lr gt Q et y Ior 0 q yi re q Exemple 6 1 5 Consid rons r g x 9 f a f z Pour tout o et pour tout q y l r q est une fonction de Yir 2 1 1 Yi gt r 2 1 Yi gt r
152. ablissement d une cl commune tous les agents IKA Cliques II est plus efficace dans le sens o moins de calculs sont effectu s par rapport au protocole IKA Cliques I Soit a un entier connu de tous les agents Soit m individus nomm s M Mm Le pro tocole IKA Cliques I se r sume comme ceci 0O lt i lt n Mi Miri atrit ri rs je 11 are M gt ALL fotito j 1 n 1 1 1 S curit et protocoles de communication 9 Initialement entre chaque individu M et M il existe une cl sym trique not e k La notation r 0 lt 1 lt n d signe un nombre g n r al atoirement Prenons par exemple 3 individus not s M M et M3 M 1 M M gt M a a aq 2 M3 gt M QE23 r1 r3 Ma M ah L agent M conna t r et k 3 il peut donc calculer ahrs rxrs r1 F3 De m me l agent M conna t ra et k23 donc il peut calculer a 22 1 73 2 k23 Au final tous les individus partagent la m me cl a 1 72 3 Il existe galement d autres protocoles o la mise en place d une cl partag e par n est effectu e en respectant une structure arborescente Tree based Key Agreement I KPTO00 et Tree based Key Agreement II KPT04 Une autre classe de protocoles int ressante est celle des protocoles divulgation nulle Les protocoles de cette classe sont en effet destin la preuve de donn es sans les divulguer r Protocoles divulgation nulle Cert
153. adre de l ACI SATIN une collaboration avec Thomas Genet est n e dans le but de reconstruire des traces partir d un automate obtenu par compl tion et ce avec une strat gie quelconque L id e principale est de se baser sur les informations que nous pourrions extraire de la phase de compl tion afin de reconstruire en arri re une trace jusqu obtenir un terme reconnu par automate initial 31Calculs de sur sous approximations ou exacts 163 164 Chapitre 9 Reconstruction de traces Nous verrons au cours de ce chapitre que le domaine d application de cette m thode est tr s large Nous avons appliqu cette m thode au contexte des programmes concurrents ainsi qu au monde des protocoles Enfin nous situerons nos travaux 1 dans la probl matique d atteigna bilit en r criture ainsi que 2 dans celle de la reconstruction d attaque dans le domaine des protocoles 9 1 M thode de reconstruction Les notions de normalisation compl tion fonction d abstraction sont celles donn es dans la section 3 1 2 La d finition ci dessous exprime la notion de trace ou de chemin de r criture Definition 9 1 1 Soit R un syst me de r criture Soit t1 t des termes de T F On qua ly ln 1 gt Tpn Pn S 3 lifie ty pe O TE UNS A tn de trace de r criture si pour 1 lt i lt n lor ER et pi t il existe p AT F tel que ti p lip et tiga tilripul Une propri t induite
154. aduction d une sp cification IF en un syst me de r criture R et un automate FO 1b IR nn Aer A R EE 83 ALL TR puis en detail ods wok RU ON MIN A TL E R S AS 84 Types signatures et ensembles basiques 84 Termes bien formes s s c ci e coi e de eke kee Vers nr 86 Unification et termes bien form s 87 Messages eLitalls s do edo ela dled et Dad Bae hee NS 87 D finition d un syst me de r criture IF 89 5 1 2 Repr sentation abstraite des donn es fra ches en IF 91 5 1 3 Vers une versi n de IF prot g e ui ee ee 94 Nouveaux types nouveaux symboles fonctionnels et nouvelles signatures 94 Algorithmes de traduction 2 24 sopesar a 96 vi 5 2 5 3 5 4 5 5 Table des mati res 5 1 4 Ap un automate d arbre pour la connaissance de l intrus et la configu TAL OMA T S CAS sosaren e a ANS ASE AE Senet Se Eee 101 5 1 5 L intrus dans notre approche 105 5 16 Conclusion 3 2 5 3405 bobo des DES a A a a a 105 Sp cification du secret a eh ue he de ad ae Bose e fe no ue 106 5 2 1 Attaques li es la sp cification du secret 106 5 2 2 Adaptation du secret IF notre approche 107 Sp cification du secret Lis duos fe vas at pis ae at 107 Satisfaction d une propri t de secret par un automate 108 Semi d cidabilit du probl me du secret pour un nombre non
155. ains protocoles ont pour but de prouver que l on sait quelque chose sans le d voiler Ce principe se nomme preuve divulgation nulle de l anglais zero knowledge proof Un exemple tir de QG90 illustre parfaitement cette notion Soit deux personnes Alice et Bob Alice veut prouver Bob qu elle conna t le mot de passe de la caverne d Ali Baba Mais elle ne veut pas le d voiler Bob Par chance la caverne a la forme pr sent e dans la figure 1 2 Cette forme particuli re est propice un jeu qui prouvera Bob qu Alice conna t effectivement le mot de passe Entr e Aile droite Aile gauche Porte magique Fic 1 2 Plan de la caverne La porte magique ne s ouvre que lorsque le mot de passe est annonc La forme particuli re de cette grotte a donn l id e suivante a Alice Alice se cache dans une des ailes de la grotte 10 Chapitre 1 Introduction choisie arbitrairement sans que Bob ne sache dans quelle aile s est gliss e Alice Bob p n tre dans la grotte se fige l entr e et demande alors Alice de sortir par une aile qu il choisit arbitrairement Comme illustr dans la figure 1 3 soit Alice se situe du bon c t de la porte et n a pas franchir la porte pour satisfaire la requ te de Bob soit elle doit passer la porte magique L exp rience est it r e jusqu ce que Bob soit convaincu qu Alice connaisse le mot de passe A chaque fois l exp rience est r initial
156. al de la validation au tomatique de protocoles de s curit Plus particuli rement nous avons automatis et rendu ac cessible la m thode de v rification GK00 qui tait jusqu maintenant r serv e aux initi s Rappelons que cette technique permet partir d un langage r gulier ensemble de termes d un syst me de r criture et d une fonction d abstraction de calculer un sur ensemble des termes atteignables par r criture La mise disposition de cette technique un large public scientifique s est effectu e en plu sieurs tapes A partir d une sp cification IF un syst me de r criture 7 un automate d arbre Ap une fonction d approximation symbolique et les sp cifications des propri t s de secret v rifier sont g n r s automatiquement Le syst me de r criture d crit le protocole ainsi que le pouvoir d action de l intrus Le langage engendr par Ao repr sente la connaissance initiale de l intrus l tat initial des diff rents participants au sc nario d crit dans la sp cification IF et a fortiori dans la sp cification HLPSL La fonction d approximation symbolique permet d en gendrer soit une sur approximation de la connaissance de l intrus soit une sous approximation Une sur approximation permet de semi d cider la satisfaisabilit des propri t s de secret alors qu une sous approximation peut montrer l existence d une attaque contre l une des pro pri t s d
157. appliquer la technique des intersections de langages pour g rer la propri t 4 de En approximant la r gle x Y x 0 par la r gle lin aire l gt r x O Yx 0 nous obtiendrons bien une sur approximation cependant cette approximation serait beaucoup trop forte dans le contexte des protocoles de s curit Par contre si nous imposons la condition suivante Soit A F Q Qs A un automate d arbre Soit une substitution a X gt Q telle qu il existe q Q et lo q La substitution ra q est ajout e l automate seulement si L A o x N L A o yx 4 0 En d autres mots cela signifie que l on exige l existence d un terme se r duisant sur les tats o x et o yz Le principal r sultat de ce chapitre est que nous obtenons bien une sur approximation de langage en appliquant la m thode ci dessus Dans la section 8 1 nous pr sentons quelques notions fondamentales pour d finition de notre m thode de compl tion en section 8 2 Enfin nous pr sentons dans la section 8 3 un cas d tude le protocole View Only que nous avons v rifi avec notre m thode Enfin nous concluons dans la section 8 4 en comparant nos travaux un r sultat obtenu sur le m me proto cole ainsi qu d autres approches supportant les op rateurs propri t s alg briques 8 1 r substitutions Le calcul de sur approximations avec des syst mes de r criture non lin aires gauche est fond sur la notion de 1 r
158. aque bien connue Low96 mentionn e plut t dans ce document contre le protocole NSPK NS78 La section 4 4 2 a fait l objet de l article BK V06 Le chapitre 6 a fait l objet de l article BHKO05 et est en cours de soumission dans un journal Le chapitre 7 a fait en partie l objet de l article ABB 05 puisque TA4SP est l un des outils de v rification de l outil AVISPA Le chapitre 8 fait l objet de l article BHK06 Et enfin le chapitre 9 fait l objet de la publication BG06 2 Pr liminaires Sommaire Del erdes termes e sero ir nes ee ordonne ak dette BE oe eue Ge bee a Ed 21 2 2 des syst mes de r criture 24 2 3 des automates d arbre et des langages r guliers 25 Le contexte de ces travaux de th se se r sume par les quelques mots suivants R criture de termes Sur ces trois mots deux n cessitent des explications Pour peu que nous ajoutions les mots automates d arbre tats et transitions Tout ceci m rite d tre clairement d fini pour pouvoir envisager une lecture plus paisible du document La majorit des d finitions de cette section sont inspir es de CDG 02 Gen98 Toutes les d finitions sont classiques sauf la notion de terme slic pr sent e d finition 2 3 6 ainsi que les notions attach es 2 1 des termes Soit F un ensemble dont les l ments sont appel s symboles fonctionnels et Arity une application de F
159. ariable M par d dans la r gle m cire l y EV ar1 new 9 C1 new m et galement dans Sec Nous obtenons une nouvelle instance Mi new gt M new O MA new and state_Alice A B Kab ds 1 iknows pair Kab scrypt K ab ds et Minew M1 La variable repr sentant le nonce tant instanci e nous initiali sons EV ari new et nous propageons cette abstraction sur l ensemble des v nements EVar Sec a secrets de mi gt m Sec que nous stockons ensuite dans Sec new Nous obte nons ainsi Seci new secret ds idl A B Maintenant d un point de vue v rification nous constatons que la valeur d est la m me pour tout le monde En effet pour deux substitutions 0 0 AF T M Xp telles que o A a o B b o A i o B b Ais ment nous devinons que ds est secret pour et b d apr s la substitution o et parall lement d est galement un secret entre b et i d apr s la substitution 0 ty E Fn n gt 0 Posons t n A B Comme pour le cas pr c dent nous obtenons une EVari new SECI new nouvelle r gle Mi new M new O Mi new and state_Alice A B Kab 1 new 5 1 Traduction d une sp cification F en un syst me de r criture R et un automate d arbre A593 n A B 1 iknows pair K ab scrypt Kab n A B et Mi new m En consid rant les m mes substitutions et o que ci dessus nous obtenons que le secret partag entre a et b est n a
160. ashage et X une donn e nous ne pouvons d duire X Ceci constitue galement une hypoth se du chiffrement parfait En recevant le message h X un individu connaissant la fonction de hashage h et la donn e X peut v rifier qu il s agit bien du hashage de la valeur X en appliquant h sur X et en comparant la valeur obtenue la valeur re ue Si elles sont gales alors il s agit bien du hashage de X L hypoth se concernant les fonctions de hashage est la suivante A partir du hashage du message M par la fonction h on ne peut pas deviner M Une autre hypoth se que l on associe souvent celle du chiffrement parfait dans le cadre de la v rification de protocoles de s curit est celle concernant les nonces nombres al atoirement g n r s Tous les nombres g n r s al atoirement dans toutes les ex cutions d un protocole sont diff rents deux deux Concat nation 9 Un op rateur couramment utilis est celui de concat nation permettant de coller deux don n es l une la suite de l autre Nous d notons la concat nation de deux donn es X et Y par X Y L op rateur est associatif i e X Y Z X Y Z X Y Z o X Y et Z sont trois donn es De X Y l extraction des donn es X et Y est simple Enfin nous introduisons deux op rateurs exp et poss dant des propri t s alg briques Pour all ger les notations nous noterons exp X Y par XY Les diff rentes propri t s de ces deux op
161. at d un appel de app dont les param tres v rifient galement ces crit res Comment peut on obtenir une liste compos e de symboles a et b partir de ces hy poth ses La trace ci dessous repr sente une solution construite par notre prototype pour l obtention d une liste tyoa telle que tou Cons a cons b cons a cons a cons b nil partir d un ensemble E respectant les conditions cit es pr c demment 9 3 Quelques exp rimentations 179 app app cons a nil cons b nil app cons a cons a nil cons b nil 1 1 y app cons a app nil cons b nil app cons a cons a nil cons b nil 1 cons a app app nil cons b nil app cons a cons a nil cons b nil y 2 2 1 cons a app cons b nil app cons a cons a nil cons b nil y a 2 cons a cons b app nil app cons a cons a nil cons b nil 2 2 2 y cons a cons b app cons a cons a nil cons b nil 1 2 2 y cons a cons b cons a app cons a nil cons b nil 1 2 2 2 y cons a cons b cons a cons a app nil cons b nil 2 2 2 2 2 y C cons a cons b cons a cons a cons b nil Cet exemple laisse entrevoir des perspectives int ressantes au niveau de la v rification lo gicielle dans le sens o nous pourrions par exemple reproduire des comportements suspects d un logiciel Une fois que le logiciel est exprim en syst me de r criture et une fois que l environnement i
162. ate_bob qagt3 qagts5 i gt qi agt qi gt qagti b gt qb agt qb gt qagt 3 a gt qa agt qa gt qagt5 set_42 gt qset_42 text qset_42 gt q7 dummy_text gt qdummy_text text qdummy_text gt q9 kab gt qkab sk qkab gt q11 start gt qstart text qstart gt q15 na gt qna nat qna gt q17 un gt qun nat qun gt q19 zeros gt qzeros nat qzeros gt q21 H H H H H O U H H qagt3 q11 all default30 qa qa qzeros gt q22 text q22 gt q23 default30 qa qb azeros gt q24 text q24 gt q25 default30 qa qi default30 qb qa text q27 gt q28 default30 qb qb text q29 gt q30 qzeros gt q27 azeros gt q29 q21 q21 q9 q9 q7 qzeros gt qdefault30intrus default30 qb qi qzeros gt qdefault30intrus1 default30 qi qa qzeros gt qdefault30intrus2 default30 qi qb qzeros gt qdefault30intrus3 default30 qi qi qzeros gt qdefault30intrus4 text qstart gt q31 text qdefault30intrus1 gt q32 text qdefault30intrus2 gt q33 text qdefault30intrus3 gt q34 text qdefault30intrus4 gt q35 Approximation symbolic Chapitre 7 TA4SP un outil pour la v rification qnet gt qstate qnet gt qstate States qapprox 0 60 qnet qstate qagta qagti Rules x Fonction d approximation symbolique pour la premi re r gle and state_alice x13 iknows pair x8 scrypt x7 x6 gt x12 x11 x10 x9 gt X
163. ations que les langages simples De plus il est galement plus simple de corriger une sp cification Alice amp Bob que de trouver quelle variable dans le syst me de r criture est la source de l erreur L int r t port de tels langages est donc justifi Chronologiquement CASPER et CAPSL sont apparus parall lement partir de 1996 Ensuite a suivi le langage HLPSL ABB 02 puis enfin le langage LEVA JLMO1 GLO1 Nous d crivons dans les sections suivantes chacun de ces langages et leurs sp cificit s 3 2 1 CAPSL une des premi res interfaces utilisateurs Le langage CAPSL Common Authentication Protocol Specification Language DMRO00 a t propos en 1996 pour d crire formellement le sc nario d un protocole et pour ser vir de langage d entr e divers outils de v rification Le langage CAPSL n est pas le lan gage d entr e direct des outils de v rification Une tape de compilation permet d abord de v rifier l ex cutabilit du protocole sp cifi Ensuite une sp cification CIL CAPSL Interme diate Language DM99 est g n r e Une telle sp cification repr sente un protocole par des multiset rewriting rules MSR quantifi es existentiellement pour la repr sentation de donn es Une premi re version de CAPSL est apparue en 1996 et ensuite une version tendue a t publi en 2000 Les investigations autour du langage HLPSL ont d but en 2000 mais n ont pas t publi es avan
164. au langage IF Ce deuxi me point a fait l objet de l article BK V06 44 1 De HLPSL a IF Au cours du projet AVISPA un traducteur HLPSL2IF a t d velopp Ce dernier permet de traduire une sp cification HLPSL en une sp cification IF Nous allons illustrer la traduction sur l exemple fil rouge de ce document pr sent figure 4 3 section 4 2 Les sp cification HLPSL et IFd crivent des syst mes de transitions sauf qu en HLPSL les syst mes de transitions sont d clar s localement en r les Pour le r le alice de la figure 4 3 les variables d environnements A B Kab SNDet RCV sont regroup es avec les variables d clar es localement au r le State et M Nous allons expliquer comment la traduction en IF s effectue 1 En IF il n existe qu un seul canal qui est celui de l intrus et il est repr sent par le fait iknows Donc les variables SND et RCV sont ignor es 2 La variable State est toujours instanci e dans le r le alice donc nous substituerons cette variable par ses valeurs prises successivement 3 M repr sente une donn e g n r e al atoirement Au sein d une transition IF qui est une r gle de r criture cette variable doit aussi tre instanci e la vol e dans la clause exists Cependant il existe une valeur par d faut de cette variable car il s agit de r gles de r criture Donc nous ajoutons une constante default qui repr sente la va leur par d faut dans l
165. authentification des chan gements fondamentaux doivent tre effectu s en s orientant plus dans le sens d un raisonne ment sur la croyance tout en essayant de contourner les d fauts pr sent s pr c demment pour GKOO Heuristiques pour la reconstruction Pour la reconstruction de trace en g n ral il existe des cas de divergence dans l explora tion en arri re pouvant tre la source d une explosion de l espace de recherche Le cas typique est lorsque la partie droite d une r gle est une variable et que la fonction d approximation fu sionne tous les tats en un seul Alors pour un terme donn il est potentiellement envisageable d effectuer une tape de r criture toutes les positions de ce terme Dans NRV03 NROS les auteurs emp chent ce genre de divergence avec la notion de termes bien form s mais nous aimerions une technique ind pendante du contexte de v rifi cation auquel nous appliquons notre m thode Une piste possible serait de lier les OCPCs sous forme de graphe En effet nous avons constat que lors de la construction des s quences d OCPCs dans le chapitre 9 nous pouvons associer une pr condition et une post condition chaque OCPC En fondant la construction d un graphe d OCPCs partir des pr post conditions nous pourrions interpr ter diff rents cycles comme des sources potentielles de divergence de l algorithme de reconstruction ac tuel Cependant cela demande b
166. availlant pour l arm e bri tannique et qui se turent sur leurs travaux pour cause de secret militaire Les d tails de cette anecdote sont donn s dans Sin99 Nous parlons alors de syst mes cl s publiques L id e est la suivante chaque individu poss de un couple de cl s l une pour chiffrer cl publique l autre pour d chiffrer cl secr te Les deux cl s sont li es math matiquement par une fonc tion Cette fonction appliqu e a une cl secr te retourne une cl dite publique Par contre il est impossible ou pratiquement impossible d effectuer le cheminement inverse d aux propri t s de cette fonction Le principe des syst mes a cl s publiques est le suivant pour communiquer avec une per sonne j utilise sa cl publique que tout le monde conna t pour chiffrer le message Le chif 1 1 S curit et protocoles de communication 5 frement d un message M est un algorithme prenant en param tre une cl K la donn e M et retournant une suite de bits appel chiffre de M La personne concern e d chiffre le message avec sa cl secr te L analogie peut tre faite avec une bo te lettre partir du moment o l on conna t l adresse d une personne on peut glisser un message dans sa boite au lettre La personne en question ouvre sa boite avec sa cl et r cup re le message Chiffrements et hypoth ses de chiffrement parfait En cryptographie une cl permet de chiffrer ou de d chiffr
167. avec la partie gauche d une des transitions r gles alors nous appliquons la substitution obtenue la partie droite de la r gle en affectant une valeur fraiche aux variables quantifi es 4 3 3 Une trace d ex cution IF La figure 4 5 repr sente une attaque sur le protocole fil rouge apr s avoir effectu une tape du protocole st ep _1 voir exemple 4 3 4 et deux tapes d analyse de l intrus step ana_pairetstep ana_scrypt Les substitutions p successives correspondent des sub stitutions issues de l unification des parties gauches des r gles avec l tat courant 70 Chapitre 4 HLPSL amp PROUV iknows a iknows b iknows start stateAlice a b kab default 0 state_Bob b a kab default 0 a T E T BA Pp Bren M default M gt 71 iknows a knows b iknows pair kab scrypt kab 71 state Alice a b kab 71 1 state _ Bob b a kab default O0 secret 71 id1 a b p PreludeM1 kab ana pair PreludeM2 scrypt kab 71 iknows a iknows b iknows kab iknows scrypt kab 71 state Alice a b kab 71 1 state_Bob b a kab default 0 secret 71 id1 a b p PreludeK kab ana Serves a gt 71 iknows a knows b iknows 71 state Alice a b kab 71 1 state_Bob b a kab default 0 secret 71 id1 a b FIG 4 5 Attaque sur le protocole fil rouge Exemple 4 3 6 Calcul de la premi re substitution p pour la figure 4 5 S
168. b ftext default fnat 0 state_Bob fagt b fagt a Jsk kab fiext de fault fnat 0 U ftert n a a frext n b a ftert n a b ftezt n b b Soit Ay F Qo Oy Ao o la construction de Ay makea E est donn e comme ci dessous make a iknows fage a a gt qa fagt Ja Uf a TENOWS 9 7 a 91 makea state_Alice fagt a fagt d a Ga bq kab rap de fault qde fault fsk kab frext de fault fnat 0 fagt da 9 fage a gt fagt 4b 4 fag b 940 Fisk Qkab 4 f 4 kab fteat Qde fault fres default state_Alice q fagi a s fagi b Ifor kab gt I freze default fnat 0 44 fnat qo 44 0 maker frext n a a Au final A a gt qa b gt qo fagt da 9 fagi a gt Fagt do gt I fagi 0 KNOW qe a 91 iknows qf 0 Of 940 kab drab de fault gt qaefault fsk Gkab 4 f 4 kab fnat 0 45 0 Frewt default 9 frest de fault niga da n a a ng 20 mb da Gn a b 1 State_Alice q gt 44 a gt Vfage b gt Won hab gt Urcar default gt Unas 0 p gt Fon dnibb treo n b b gt Frext Qn a b A frest n a b gt Jtext An ba Ufieos n b a gt Gb da 4ntb a State Bob q 5 5 6 gt Ufage a Lie ab Tfeewe default Umar 0 A Stent Qn b b re n b b y Ainsi Qo qn b b Tab 40 Ufnar 0 gt US kab gt Uago a gt Lage 0 f gt La Q Ide fault In a a In a b gt In b a gt a
169. b agent kab symmetric_key intruder_knowledge a b composition session a b kab end role Nous avons pr cis pr c demment que les r les basiques taient compos s entre autre d un ensemble de transitions exprimant l action de l agent jouant ce r le Ces syst mes de transitions sont d taill s dans la section suivante 4 2 2 Etats transitions Les transitions en HLPSL sont soit de la forme Ihs gt rhs soit Ihs gt rhs La partie gauche Ihs d une transition exprime ce qui doit tre vrai pour que la transition soit activ e La partie droite rhs d crit les cons quences de I activation de cette transition Les transitions de la forme lhs gt rhs expriment une r action imm diate Une fois que lhs est satisfait rhs est appliqu sans qu aucune action ne soit effectu e ailleurs dans le syst me A l inverse le deuxi me type de transition autorise l ex cution d autres actions choisies de mani re non d terministe dans d autres r les avant que rhs ne soit appliqu Soient X et Y deux variables HLPSL Nous notons par X _Y le chiffrement de X par Y et par X Y la concat nation des donn es contenues dans les variables X et Y Par ailleurs X Y repr sente l affectation de la variable X par la valeur stock e dans la variable Y Comme en TLA Lam94 les variables prim es expriment une affectation d une nouvelle valeur ou une r f rence une valeur r cente Par exemple State
170. b alors que le secret partag entre i et b est n i b Par cons quent il s agit de deux donn es diff rentes Dans ce qui suit l ensemble des symboles fonctionnels utilis s pour repr senter les abstrac tions est d not Fay C F et Fay N MUTUHUS 9 Definition 5 1 24 Abstraction correcte EV ar Sec Soit Rie un ensemble de r gles IF Soit m m Rig Pour x EVar f Fabs F t1 tn est une abstraction correcte de x si pour touti 1 n ti AgentsU Nats Ainsi SIgn ap f typejr t1 x xtypej t types x o sign est une fonction totale de Fas dans l ensemble ty1 X X tyn n gt 0 ty Type repr sentant les signatures des symboles fonctionnels utilis s pour la d finition des abstractions Exemple 5 1 25 L abstraction donn e dans le cas 2 de l exemple pr c dent n A B est une abstraction correcte car type 4 type r B agent selon la d claration de l exemple 4 3 2 Les propositions suivantes sp cifient respectivement qu une abstraction correcte est toujours constructible partir d une r gle IF et que le nombre d instances engendr es sera n cessairement fini Proposition 5 1 26 Soit Rip un ensemble de r gles IF Soit m A a Rig Pour tout x EVar il existe t Tsign F X tel t est une abstraction correcte de x PREUVE Voir l algorithme 5 1 31 E EVar Sec Proposition 5 1 27 Soit Rip un ensemble de r gles F Soit m
171. ble Cette technique est illustr dans la section suivante M thode de compl tion avec des techniques d limination de variables et de r duction d ensemble de contraintes 34 Chapitre 3 Des outils de v rification de plus en plus accessibles En r sum et pour faire le parall le avec le calcul des R descendants de E partir d un automate d arbre tel que L A E le but est de calculer un automate tel que R E R L A L A La construction de A est le r sultat du calcul d une s quence d automates A Ap Aj Ax grace un algorithme appel compl tion d finition 3 1 4 Pour un automate A F Q Of donn on note TC lo ro q lor Rio X gt Q q Q lao q l ensemble des triplets dits critiques de A Un triplet Jo ro q est class non trivial si ra gt h q En ajoutant les transitions ro q lo ro q TC le langage de l automate courant devient potentiellement plus riche En effet pour tout terme t L A s il existe une position p Pos t telle que t lo alors t q gt 1 qj avec qr Qg Alors en ajoutant la transition ro q nous ajoutons tous les termes t 7 F pour lesquels il existe t E T F tels que t ro et t t t p Cependant la transition ro q n est pas toujours normalis e voir section 2 3 La normalisation d une transition ro q lo ro q ETC s effectue en construisant un en semble de t
172. born de SESSION T Sas a a a oe A eS Be e 109 Correction de la Traduction tr Se Sacra AAA AE E A 109 Mod le deux agents A a a ad aida 110 5 4 1 Fusions d agents 24 2 44 24 He dus a e ar be Ex 110 5 4 2 R duction d une sp cification IF deux agents 112 Conclusion e esera sta A ME SMS SAS NAS FAR eee HS 115 Chapitre 6 D marche fond e sur des approximations 6 1 6 2 6 3 6 4 6 5 Normalisation symbolique 118 Crit res de lin arit s et leur v rification automatique 120 6 2 1 D finitions des ensembles Z ermes Basiques et leurs propri t s 120 6 2 2 Pr servation de Basiques durant la compl tion 125 Approximations g n r es automatiquement 131 6 3 1 Classe de sous approximations 132 6 3 2 Classe de sur approximations 137 6 3 3 Semi algorithme 2454 8 8 aus boue Bat ES 139 Applications aux protocoles cryptographiques 140 POISCUSSION a y d ata ll a a ee eee Tv ve 141 O O AA eR te NS 4 nu 4 141 6 5 2 Classes approximations ii acted Guid ay are Det are 142 6 5 3 Application la v rification de protocoles de s curit 142 a vi Chapitre 7 TA4SP un outil pour la v rification Jal Structure de LOU as a una ne nan een UR PLS se 146 7 2 Mode d emploi et sortie de TA4SP 149 T3 R s lt
173. bstractions sont toujours diff rents de ceux pr c demment utilis s fx FX Symboles Abstractions U F Exemple 5 1 32 Applications aux exemples 4 3 3 et 4 3 4 EVar1 Seci EVar2 Sec2 N STE she Soit Re m gt m m gt m4 le syst me de r criture F tel que d crit dans l exemple 5 1 23 En utilisant les algorithmes 5 1 29 mise jour d un terme de T M AE 5 1 30 mise a jour d une conjonction de faits et 5 1 31 mise jour d un syst me de r criture EVari Seci nous obtenons les r sultats suivants pour la r gle m mi Sachant que m and state_Alice A B Kab D M 0 iknows start la construction la partie gauche de la nouvelle r gle l 1r est 5 1 Traduction d une sp cification F en un syst me de r criture R et un automate d arbre Ay99 ly TradFaits m TradFaits and state_Alice A B Kab D_M 0 iknows start and Trad state_Alice A B Kab D_M 0 Trad iknows start and state_Alice fagt A fagt B fer Kad frert D M frat 0 iknows fiext start La construction de la partie droite se fait en deux temps D abord en construisant un terme ri issu de l appel de la fonction TradFaits surm comme d crit ci dessous ri TradFaits m TradFaits and state_Alice A B Kab M 1 iknows pair Kab scrypt Kab M and Trad state_Alice A B Kab M 1 Trad iknows pair Kab scrypt K ab M and state_Alice fagt A fagt B Fon Kad freat M fnat
174. cation a la fin de cette section La donn e id permet d identifier chacune des propri t s La donn e SID repr sente un identifiant de session Cet identifiant est important car il permet galement de d tecter des attaques de rejeu Exemple 4 2 8 Supposons que nous ayons les trois termes suivants Witness a b id 12 re quest b a id 12 2 et request b a id 12 1 Concr tement cela signifie que la valeur 12 a t utilis e dans deux sessions diff rentes 1 et 2 par a pour s authentifier au pr s de b Les signaux ou v nements sont d clench s au cours de l activation d une transition Exemple 4 2 9 La transition suivante permet de d clarer la nouvelle valeur stock e dans M comme tant un secret partag entre les agents et B Nous attribuons l identifiant id_sec State 0 A RCV start gt State 1 A M new A SND Kab M _Kab A secret M id_sec A B Nous pouvons dor navant exprimer les propri t s de secret d authentification forte et faible La d finition d authentification forte revient la d finition de injective agreement dans Low97b Dans CCC 041 les auteurs ont montr qu il tait possible de traduire une sp cifica tion HLPSL en un ensemble de formules TLA d crivant ainsi un syst me d tats transitions potentiellement infini Soit une trace d ex cution dont les tats sont 51 S2 Sn avec s l tat initial Dans ce contexte pour tout terme M le
175. ce bob alice_bob_key Bob bob alice alice_bob_key end end end FIG 4 2 Sp cification PROUV du protocole fil rouge match expr with expr lexpr end if expr then else fi choice Linst linst end case expr of expr gt linst expr gt linst expr gt linsta else linst esac Par expr nous repr sentons un terme qui est typable i e o les signatures d finies par d faut ainsi que celles d finies dans la sp cification sont prises en compte 4 1 PROUV 57 L instruction match permet de filtrer une donn e avec chaque l ment d une liste d ex pressions Les expressions sont test es successivement Si la liste est puis e sans succ s alors la valeur false est retourn e La structure if then else fi est la structure classique conditionnelle L instruction choice permet d ex cuter de fa on non d terministe l une des n listes d instructions Etenfin l instruction case permet d ex cuter l une des listes d instructions dont l expres sion gauche du symbole est filtr e par l expression du case De simples instructions viennent compl ter la liste send expr rev expr fail new i dent et ident expr Ces instructions d finissent respectivement l envoi d un message la r ception d un message l interruption du r le l affectation d une variable par une valeur al atoirement g n r e et enfin l affectation d une variable
176. ch e derri re cette repr sentation est que lintrus est le r seau et r cipro quement Ainsi par intruderlearns M nous sp cifions la r ception ou l envoi du mes sage M La section EVENT permet de sp cifier des v nements ponctuels comme par exemple l mission d un signal signalant qu une donn e est secr te L exemple suivant permet justement de signaler que le nonce g n r par user A honest doit tre secret event user A honest N secret s N rand user A honest N Nous constatons que la sp cification d un protocole avec ce langage demande une expertise certaine Bien qu au niveau pr cision ce langage semble avoir toutes les qualit s requises il s av re difficile d acc s en pratique Dans BMM99 NRLPA a t connect un langage de haut niveau CAPSL que nous pr sentons dans la section 3 2 1 3 1 3 Quelques autres types de sp cification Clauses de Horn Dans Bla01 partir d un protocole abstrait en r gles Prolog Bruno Blan chet propose un algorithme automatique permettant de prouver le secret pour un nombre quel conque de sessions Dans le cas o la preuve choue une trace est retourn e Cependant cette trace peut s av rer tre une fausse attaque due par exemple l abstraction du protocole par des r gles Une clause de Horn est not e H C o H est une conjonction de faits et C un fait Un fait est un terme Soit F un ensemble de faits clos Soit une substituti
177. cification PROUV du protocole fil rouge 56 Sp cification HLPSL d un protocole fil rouge 59 Transition IF repr sentant la premi re tape du protocole fil rouge 68 Attaque sur le protocole fil rouge 70 Exemple de r le en PROUV 73 Traduction du role figure 4 6 en IF rules 74 Traduction de choice il il il end a pour Cj 0 1 lt j lt k b po r k 3 C 0 MMS Lan ce Beau UR te eee LR 77 Traduction de if cond then il else il fi a pour C 0 et Cp 0 b pour Ci Cet EFE o os wp See ee e A E S 78 ix Table des figures 4 10 Exemple de transitions de Ad Bi 79 5 1 Principe de la m thode de GKO00 82 5 2 gt Hierarchie des types s Hansen sen Ness oups ven Tu e e 85 5 3 Nouvelle hi rarchie des types ya See Soe LUS MMS ER d Be D de 95 5 4 Abstraction des agents EL Sansa e 111 5 5 Abstractions des donn es long terme 113 6 1 Exemple de sp cification Basiques compatible 125 6 2 Inclusions des langages impliqu es par les propositions 6 3 5 et 6 3 7 139 6 3 Semi algorithme bas sur les approximations g n r es automatiquement 139 TRS A A se cle Ab Wye Sd BR ARSE RRA AR On Pat eat 146 7 2 Interface WEB de Fou AVISPA Suns n ue eee a we 150 8 1 Le protoco
178. composition de r gles Soit deux r gles R H C R H C et un ensemble de faits Fo tels que Fo et C soi ent unifiables Soit o le plus g n ral des unificateurs de Fo et C R op R repr sente la r gle H C telle que H H U H Fo o et C C s Cette phase de construction est effectu e tant que possible jusqu stabilisation du processus 42 Chapitre 3 Des outils de v rification de plus en plus accessibles Une fois le nouvel ensemble de r gles g n r une recherche en arri re est effectu e partir d un ensemble de faits donn Sous certaines conditions voir Bla01 pour plus de d tails la terminaison de cette reconstruction en arri re est garantie Cependant la terminaison de l algorithme de construction du nouvel ensemble de clauses n est elle m me pas garantie N anmoins en ayant recours des techniques proches du widening ou encore une limitation de la taille des termes il est possible d assurer la terminaison tout en conservant la correction de la m thode Des approximations sont alors produites rendant ainsi la m thode moins pr cise Dans BP03 de nombreuses optimisations ont t apport es l algorithme de r solution De nombreux r sultats ont t obtenus avec ProVerif l outil impl mentant cette m thode Voici certains d entre eux v rification du secret fort la changement de valeur ventuel d un secret est invisible du point de vue de
179. ctions de langages permettant le traitement des propri t s alg briques de 9 7Ces notions sont d finies dans le chapitre 2 18 Chapitre 1 Introduction Sp cification IF N Proc ssus de v rification T Automatique A Y 4 S P secrets Ao R Tabs ala Ve vol e V rification automatique de crit res E i Extension pour le e Sous approximation Sur approximation de la connaissance de la connaissance de lintrus de lintrus L J FIG 1 5 Processus de v rification 1 2 3 Construction de contre exemples Enfin le dernier axe porte sur la reconstruction de traces Ce point est important car avec le processus d crit dans la figure 1 5 nous sommes capables de d montrer qu une propri t de secret est d faillante pour un protocole donn mais nous n avons aucune trace relatant le cheminement de l intrus pour mener cette attaque Et m me dans un contexte approxim il est int ressant de pouvoir d terminer si la propri t est r ellement d faillante ou s il s agit d un artefact de l approximation Cette perte d information est li e la technique d crite dans GK00 Dans le cadre d utilisation g n rale de cette m thode pour un syst me de r criture R un automate et une fonction d abstraction a un automate A est calcul tel que R L Ag L A Cela signif
180. d OCPCs possible est par exemple h f a S b gla a E hfa Justifions la construction de cette s quence 168 Chapitre 9 Reconstruction de traces g a a E h a Nous trouvons o un Ay unificateur de g a a et g x x tel que o x gt a etr3o gt h r3p3 Donc lao h a Pred g a a cps h a cay h f a Comme pour le cas pr c dent nous trouvons un A unificateur o de x et a tel que o x gt a et roo a gt h r3p3 q Par cons quent h f a Pred h a cpa 1 h f a b Comme pour le cas pr c dent nous trouvons un A unificateur o de x et a tel que o et rio rip h f a Par cons quent lio b Pred h f a cp1 e A partir de la s quence de l exemple ci dessus nous pouvons ais ment construire une trace voir d finition 9 1 1 Cependant la trace n est pas toujours obtenue de fa on si directe Le th or me suivant relie les s quences aux traces Intuitivement si nous parvenons construire une s quence d butant de t et terminant sur un terme t de l automate initial Ap alors il existe une trace menant de to t Notons que si le terme ty 7 F alors il existe un terme t tel que ce dernier se r duise t en utilisant les transitions de Ao Et ainsi il existe une trace menant t et d butant non pas en to mais en tp Th or me 9 1 16 Correction Soit t L A et un tat final qs Qg tels que tr q S il existe u
181. d approximation Nous proposons dans la section 6 2 1 un langage 7 ermes permettant la sp cification de syst mes de r criture ayant des propri t s fondamentales pour la r solution du probl me de non lin arit et a fortiori pour l autorisation de calculs de sous approximations et de sur approximations 6 2 1 D finitions des ensembles 7 ermes Basiques et leurs propri t s Soit Type comme d fini dans la section 5 1 3 et l ordre partiel 1 comme d fini dans la figure 5 3 6 2 Crit res de lin arit s et leur v rification automatique 121 Soit F Fir U Fortct U Fabs O FF est l ensemble des symboles fonctionnels d clar s pour une sp cification IF donn e Fprtcet est l ensemble des symboles fonctionnels ins r s lors de la construction du syst me de r criture dans la d finition 5 1 29 et Fabs l ensemble des symboles fonctionnels utilis s pour cr er des abstractions des l ments frais comme les nonces les cl s sym triques fra ches etc Comme les ensembles Fir Forte et Faps Sont deux deux disjoints nous posons sign comme la fonction totale telle que pour tout f F sign f si f Fe sign f sign si j Fabs sign pral si f F rect Soit 4 XF l ensemble des variables d clar es pour une sp cification IF donn e Nous red finissons l ensemble Basiques auparavant introduit dans la section 5 1 1 Nous tendons les ensembles Texts et Keys de la fa on suivante T
182. d un b ton en bois scytale ou b ton de Plutarque sur laquelle est crit le message transmettre en pla ant une lettre sur chaque circonvolution Une fois la trans cription achev e la bande est d roul e conduisant ainsi un message incompr hensible puis envoy e au destinataire Ce dernier poss dant une scytale de m me diam tre positionne la bande de cuire autour du b ton de bois et obtient ainsi le message de fa on claire L une des techniques les plus originales est celle des cr nes ras s de Nabuchodonosor roi de Babylone vers 600 av J C Pour transmettre un message le roi l crivait sur le cr ne ras d un de ses esclaves attendait que ses cheveux repoussent puis envoyait l esclave au destinataire Il res tait au destinataire raser les cheveux de l esclave pour acc der au message A partir de 200 av J C commencent merger de r els syst mes cryptographiques bas s sur des substitutions et offrant ainsi plus de combinaisons et par cons quent une meilleure s curit que les tech niques pr sent es pr c demment Le code de C sar par exemple consiste en une translation d un nombre n de l alphabet Par exemple pour n 2 c a d gt b ar y et b gt z Le carr de Polybe remplace chaque lettre par un couple i j o et j exprime la coordonn e du caract re concern dans un carr de 25 cases Notre alphabet contenant 26 caract res une des techniques consiste consid r
183. d April 2003 Springer Verlag H Comon and V Cortier Tree automata with one memory set constraints and cryptographic protocols Theoretical Computer Science TCS 05 331 2005 Y Chevalier L Compagna J Cuellar P Hankes Drielsma J Mantovani S M dersheim and L Vigneron A high level protocol specification language for industrial security sensitive protocols In Proceedings of Workshop on Specifi cation and Automated Processing of Security Requirements SAPS Linz Austria September 2004 13 pages H Comon M Dauchet R Gilleron F Jacquemard D Lugiez S Ti son and M Tommasi Tree automata techniques and applications 2002 http www grappa univ lille3 fr tata I Cervesato N Durgin P D Lincoln J C Mitchell and A Scedrov Relating strands and multiset rewriting for security protocol analysis In Paul Syverson editor Proceedings of the 13th IEEE Computer Security Foundations Workshop CSFW 00 pages 35 51 IEEE Computer Society Press 2000 Iliano Cervesato Nancy Durgin Patrick D Lincoln John C Mitchell and Andre Scedrov A Comparison between Strand Spaces and Multiset Rewriting for Secu rity Protocol Analysis In M Okada B Pierce Andre Scedrov H Tokuda and A Yonezawa editors Proceedings of Software Security Theories and Systems ISSS 2002 LNCS 2609 pages 356 383 Springer Verlag 2003 V Cortier S Delaune and P Lafourcade A survey of algebraic properties used in c
184. dans ce document des d finitions beaucoup plus pr cises de l authentification Le non rejeu Le non rejeu est une nuance de l authentification Si un m me message permet d authentifier un agent plusieurs fois alors une attaque de rejeu est possible L au thentification peut tre satisfaite sans emp cher les attaques de rejeu La non r pudiation La non r pudiation est une propri t obtenue gr ce des moyens cryptographiques emp chant un individu de nier avoir effectuer une action particuli re li e une donn e Dans SV06 les auteurs ont par exemple exprim la non r pudiation comme une combinaison de propri t s d authentification Ce genre de propri t permet par exemple de donner la preuve un site commercial en ligne que vous avez pass une commande Dans le cas o vous refuseriez de payer sous pr texte que vous n aviez jamais pass de commande le site est en mesure de fournir la preuve du contraire Au del des propri t s communes il est galement souhaitable de temps autre de v rifier des propri t s particuli res comme le vote double par exemple dans un protocole de vote en ligne ou encore le fait qu il n y aie pas plus de votes que de votants etc La v rification des protocoles de s curit est un probl me difficile traiter La section sui vante pr sente quelques r sultats de complexit propos V rification et complexit Le probl me de s curit des protocoles est e
185. de de cas le protocole View Only Le protocole View Only pr sent figure 8 1 est un composant du syst me Smartright Tho01 Dans le cadre des r seaux m nagers et plus pr cis ment l lectrom nager connect inter net ce syst me permet d assurer une diffusion unique d un programme sans qu aucune co pie ill gale ne puisse tre effectu e Les participants au protocole View Only sont un poste de t l vision digital TVS et un terminal d codeur DC Ils partagent initialement une cl secr te Kab qui est physiquement enfouie de mani re s re dans chacun des protagonistes Le but de ce protocole est de changer une donn e mot de passe CW n cessaire au d codage du programme diffus p riodiquement Comme pr sent dans la figure 8 1 les propri t s de l op rateur permettent d tablir le partage de cette donn e en deux temps Les donn es N VoKey xor CW VOR xap DC gt TVS DC declares CW as a secret datum between DC and TVS VoRi DC TVS VoR h VORi vokey DC TVS TVS applies xor VOR xor CW VOR gt CW TVS declares CW as a secret datum between TVS and DC FIG 8 1 Le protocole view only VoKey VOR et VoRi sont des nombres al atoirement g n r s Le symbole fonctionnel h repr sente une fonction de hashage Nous expliquons ci dessous le d roulement du protocole Etape 1 DC envoie un message contenant CWOVOR et VoKey
186. de la construction d une trace est donn e dans la proposition 9 1 2 eye 22 li or P ln 1 gt 7n 1Pn 1 Proposition 9 1 2 Soit R un syst me de r criture Soit t MT E gt tn une trace Alors pour 0 lt 1 lt j lt n tit PREUVE Evidente Nous d crivons a pr sent le contexte dans lequel les traces sont reconstruites ainsi que la m thode de reconstruction Soit Ag un automate d arbre Soit R un syst me de r criture lin aire 4 gauche Pour une fonction d abstraction donn e a l algorithme de compl tion pr sent dans la d finition 3 1 4 peut aboutir un automate A tel que R L Ap L Ax A partir d un terme t A nous essayons de reconstruire une trace en arri re jusqu obtenir un terme de l automate Ao Reconstruire une trace en arri re signifie trouver un terme t L A une r gle l gt r R une position p de Pos t et une substitution y T F tels que t lu et t t ru p Cependant plusieurs difficult s sont r soudre 1 trouver les r gles qui permettent d obtenir le terme recherch 2 construire le terme t Le point 2 est li au probl me de la construction de la substitution u La construction de la substitution yu est elle li e au point 1 comme montr ensuite Pour un terme t imaginons que nous trouvons une position p Pos t et une r gle l r R telle que t et r soient unifiables dans le sens classique
187. de s ret il est n cessaire d introduire des l ments v nementiels appel s signaux que nous pr sentons dans la section 4 2 3 Nous mentionnons enfin dans la section 4 2 4 quelques exemples de sp cifications HLPSL que nous avons r dig es pour les besoins du projet AVISPA partir de RFC Au cours de ce projet deux langages de sp cifications HLPSL et IF ont t d finis Le premier est un langage de haut niveau et le second un langage de bas niveau Haut niveau dans le sens o le langage est accessible et son expressivit permet la sp cification de protocoles de s curit complexes Bas IShttp www Isv ens cachan fr prouve Request For Comments sont des documentations techniques exprimant toutes les caract ristiques d un proto cole IETF Internet Engineering Task Force ses objectifs etc 4 2 HLPSL 59 niveau dans le sens o ce langage est proche des langages d entr e des outils Nous consacrerons la section 4 3 une pr sentation succincte de ce langage car c est ce dernier que les outils OFMC BMV03 SATMC ACG03 CL AtSe SS04 RTO1b et TA4SP sont connect s Nous reparlerons plus en d tail de ces outils dans le chapitre 7 La sp cification HLPSL du protocole fil rouge de la figure 3 1 est donn e dans la figure 4 3 role alice A B agent role bob A B agent Kab symmetric_ key Kab symmetric_key SND RCV channel dy SND RCV channel dy played_by A played_by B def def l
188. des indices fournis par l algorithme de compl tion La notion de A unificateur est un moyen de d tecter quelles r gles et quelles positions sont susceptibles d tre de bons candidats pour la reconstruction de trace En combi nant les deux notions pour un terme t nous sommes capables de d terminer un terme t appel 9 1 M thode de reconstruction 167 pr d cesseur situ une tape de r criture de t Cette notion de pr d cesseur est donn e dans la d finition 9 1 12 Auparavant nous pr sentons un constructeur particulier relatif aux substitutions Definition 9 1 10 o p oU xr t x dom o A rt Ep Exemple 9 1 11 Soit 01 02 gt T F U Q deux substitutions telles que 0 r a y gt q1 et 02 1 gt q2 y gt q3 2 gt b Ainsi 0 Jos x gt a y gt q z gt b et o los gt Q y gt q3 2 gt b 09 Definition 9 1 12 Pred Soit cp l gt r q p une OCPC telle que cp OCPC tant donn cp l ensemble des pr d cesseurs de t une position donn e p Pos t est d fini par Pred t cp p tilo L Plp o tha r ty et ro rp Exemple 9 1 13 Soit A un ensemble de transitions contenant g q2 4q3 9 q1 gt 41 g qa q a q et soit lor f x y gt f g x hly y une r gle de r criture Soit cp lr q p une OCPC o p x my qz et t f qu h g a g q est un terme de T F U Q Pour la position e et le terme t Pred t cp
189. des langages communs explicites 44 3 2 1 CAPSL une des premi res interfaces utilisateurs 44 D M GOEL As a et teal ge oh war bp MERE de NE AS 46 323 MEP SES CASRUL ie 20408 0 ah neo bs e ea ta ete nn 48 La plate forme de v rification 49 eines HLP SEs cate we leg hte BAM ete ee ae ee ees 50 3 24 D autres mod les de sp cification 51 33 CONCIOSION se iS a a as 52 La v rification de protocoles de s curit a t un sujet de recherche prolifique suite une faille d couverte par Lowe dans Low96 pour un protocole d montr s curis dix huit ans auparavant A partir de cet instant une multitude de techniques de v rification ont t adapt es invent es pour explorer le monde des protocoles Bien entendu la tendance cette poque n tait pas de construire des plates formes de v rification chelle industrielle mais d aborder le probl me scientifique en lui m me La cons quence attendue fut que chaque outil avait son langage d entr e pas forc ment tr s explicite pour un utilisateur mais n anmoins adapt la demande li e la v rification de tels protocoles Nous proposons dans la section 3 1 un panorama des techniques 1 de formalisation de sp cification des protocoles et 2 de v rifications li es ces formalismes Ensuite nous 29 30 Chapitre 3 Des outils de v rification de plus en plus accessibles pr
190. dessus que la requ te pos e par C est M1 et la r ponse correspon dante est M2 Les donn es N1 et N2 sont des nonces repr sentant des timestamps L int grit et la fra cheur de la r ponse sont garanties par H M1 M2 N2 _K La sp cification HLPSL compl te de ce protocole est donn e dans l annexe A LIPKEY Le protocole LIPKEY A Low Infrastructure Public Key Mechanism using SPKM Ada96 Eis00 fournit un canal s curis entre un client et un serveur Le client s authentifie au niveau du serveur en fournissant un nom de connexion ainsi qu un mot de passe Le serveur s authentifie en fournissant un certificat sign par sa cl priv e 1 A gt S A S Na exp G X A S Na exp G X _inv Ka 2 S gt A A S Na Nb exp G Y A S Na Nb exp G Y _inv Ks 3 A gt S login pwd _K where K exp exp G Y X exp exp G X Y En r alit la structure des messages envoy s aux tapes 1 et 2 sont respectivement l adresse du client A et celle du serveur S un nombre al atoirement g n r Na une liste d algorithmes de confidentialit g r par le client une liste d algorithmes d int grit galement g r par le client une liste d algorithmes pour l tablissement d une cl partag e une moiti de cl correspondant au premier algorithme de la liste pr c dente et l adresse du client A et celle du serveur S Na le nombre al atoirement g n r
191. druplet 1 2 3 4 sp cifi en PROUV En utilisant la r gle de traduction cit e ci dessus et list e dans le tableau table 4 1 nous obtenons en F pair 1 pair 2 pair 3 4 Des structures de donn es telles que les listes les tableaux n ont pas d quivalent en IF Comme en IF une sp cification PROUVE permet de d clarer des symboles fonctionnels en associant soit une signature types en entr e et en sortie d une fonction si l arit de ce symbole est strictement positive soit un type dans le cas contraire Par contre comme nous le verrons dans la section 5 1 1 certains constructeurs ou symboles fonctionnels sont pr d finis en IF comme par exemple xor inv exp crypt pair Par ailleurs il existe aussi 4 4 Passerelles de HLPSL IF et de PROUV IF 73 Type PROUVE Equivalent en IF message message int nat bool bool nonce text principal agent symkey symmetric_key pubkey public_key privkey inv public_key algo symalgo tuple pairx lis table association list set of pairs TAB 4 1 Traduction de types PROUV en IF des constantes pr d finies comme true false etc Cependant toutes les fonctions qui ne sont pas pr d finies doivent tre d clar es dans la sp cification IF g n r e Exemple 4 4 2 La d claration PROUV sk principal principal gt simkey est traduite en F par sk agent x agent gt symmetric_key role Alice a b principa
192. du protocole Ainsi le processus de certification d un protocole s inscrirait dans la d marche glo bale de la conception du protocole sans d lai suppl mentaire et sans aide d experts ext rieurs Le challenge tr s ambitieux se heurtait de nombreux verrous scientifiques il fallait que tous les outils fonctionnent gr ce au m me langage de description des protocoles que ce langage soit clair et intuitif et que surtout les outils fonctionnent de mani re totalement automatique Pour d montrer la capacit de l outil AVISPA traiter des probl mes concrets une librairie de protocoles originaires IETF Internet Engeeniring Task Force sp cifi s en HLPSL High Level Protocol Specification Language le langage cr au cours du projet CCC 04 a t tablie puis chacun des protocoles a fait l objet d une v rification avec l outil AVISPA Et c est au sein de ce projet que se sont effectu s les travaux pr sent s dans cette th se Les caract ristiques des outils candidats OF MC BM03 SATMC ACO2b et CL AtSe RTO1b SS04 la plate forme AVISPA sont tous destin s la d tection d attaques Dans ce contexte il semblait int ressant de d velopper une technique compl tement automatique permettant de prouver des propri t s sur des protocoles de s curit pour un nombre non born de sessions Nous sommes naturellement orient s vers l automatisation de la technique GK00 sur laquelle nous avions d j
193. du protocole Goal Trois objectifs de v rification sont r pertori s 1 SECRECY_OF smt d crit une propri t de secret pour l identifiant smt 2 CORRESPONDANCE smb BETWEEN smb cette propri t exprime le fait qu un in trus ne devrait pas pouvoir se faire passer pour une autre personne lors d un session de protocole 3 smb AUTHENTICATE smb2 ON smt cette propri t permet d exprimer le fait que smb doit pouvoir identifier smbz avec le crit re smt La sp cification de la figure 3 9 repr sente le protocole fil rouge expliqu dans la figure 3 1 Si la majorit des clauses semble ais ment compr hensible il semble que la section ROLE n cessite quelques explications Si en CASPER les notions de r les et d agents sont s par es ce n est pas le cas en HLPSL et ceci peut s av rer tre une source d ambigu t par cons quent N anmoins l expression A A a B b Kab kab signifie que le r le A du protocole est jou par l agent a et que a effectue une session avec b en utilisant la cl sym trique kab Ceci correspond donc une instance honn te du r le A car il n est pas jou par l intrus dont l identit est not I Par cons quent l instance A A I B b Kab kib est une instance malhonn te du r le A car ce r le est jou par I A 1 Deux principales diff rences sont noter entre ce langage et les deux langages pr sent s pr c demment La premi re concerne
194. duisons la notion de l r substitution A compatible o A est un automate d arbre Definition 8 1 3 Soit A un automate d arbre fini Une l r substitution o est A compatible si pour tout x Var l L A o p 0 pEPos z 1 Exemple 8 1 4 Soit Rexe un syst me de r criture tel que Rexe f x h x y h A x Soit Acxe AS 2 h 2 a 0 0 qf ar Aexe o Aixe E LA 00 A q f ar do 4qr h qo do qo L automate Aexe reconna t l ensemble des arbres tels que chaque chemin de la racine une feuille est de la forme f h A Consid rons la substitution ox d finie par Oexe 1 qf Oexe 2 1 qo and Oexe 2 2 qo L arbre t A qy appartient L A Fexe 1 De plus t A donc t L A Cexe 2 2 Ainsi Cexe est Aexe compatible 158 Chapitre 8 Extension aux propri t s alg briques 8 2 Approximations pour des syst mes de r criture non li n aires Nous adaptons aux l r substitutions dans cette section des notions relatives l algo rithme de compl tion Nous fixons R un syst me de r criture et Q un ensemble infini d tats Nous d finissons les notions de l r fonctions d approximation de l r normalisation permettant ainsi de d finir l algorithme de compl tion donn dans la section 8 2 2 8 2 1 Normalisation Ci dessous la d finition d une 1 r fonction d approximation est donn e Definition 8 2 1 Soit un
195. e f qm g a En effet unique A unificateur o ffa r t respectant la condition ro rp esto x g q1 y gt g a En cons quence en appliquant la substitution o p l nous obtenons f g q g a Ainsi en it rant ce processus sur les termes obtenus chaque tape nous sommes capables de construire des s quences de termes comme d crit dans la d finition 9 1 14 Definition 9 1 14 S quence de termes Soit to tn T FU Q et q Q tels que Vi 1 n t gt 2 q Soit cp1 CPn OCPC et pi pn N telles que Vi 1 n cpi Uri pi qi SiYi 1 n tir Pred t cpi pi alors CP1 P1 ee ie PURE 4 n 1l 0 est une s quence de t to Exemple 9 1 15 Soit R un syst me de r criture tel que R b h f a h x g x x f x x Soit Ay b 0 f 1 h 1 9 2 ar ar b qr un automate d arbre et une fonction d abstraction a telle que pour toutt T FU Q a t qr Soit Ay b 0 f 1 h 1 9 2 ar as An l automate issu de la compl tion de A par le syst me de r criture R en utilisant la fonction d abstraction a o Ay g qs qs qr f ar ar Rlar ar bgp a gr Ainsi OCPC cpi cp2 cp3 o CPi iar b h f a pr D df Pa lyre f x x gt az ay pz lz gt r3 h 2 gt g 2 pa gt qs 91 En partant d un terme t g a a une s quence
196. e b store d store f 2 a c store b store d store f 2 a c 1 2 2 1 1 1 1 1 2 2 1 1 1 1 1 store b store d store f 2 a c lt store b store d store f 2 a c y 2221 3 2 2 1 store b store d store g gi f a c store b store d store g3 a c E infini et R E r gulier Le dernier exemple bien que finalement le plus simple n est pas le moins int ressant En effet les deux r gles permettent de repr senter un programme qui concat ne deux listes Les symboles cons et nil constituent les deux constructeurs des listes Le symbole app peut tre in terpr t comme une fonction prenant pour arguments deux listes et retournant la concat nation de ces deux listes app cons x y z cons x app y Z y 1 app nil y yy 2 Cette fonction est r cursive et le crit re d arr t est le vide de la premi re liste D une mani re pratique pour un r sultat donn nous pourrions obtenir une trace du programme tape par tape Une application plus int ressante dans ce contexte pourrait tre la suivante Pour un ensemble infini d entr e quelles valeurs faut il prendre comme param tres pour obtenir un r sultat donn Pour la sp cification donn e ci dessus nous posons le probl me suivant Soit app l l un premier appel de fonction Alors lil 0 l est une liste de symboles a ly est une liste de symboles b ou ly est le r sult
197. e des tats de C 4 est inclus dans Q B A U Y R x Pos r lor R x 220 qui est un ensemble fini Ensuite pour tout n k l ensemble des tats de C A est inclus dans l ensemble des tats de C 4 Le m me argument est valable pour les transitions En cons quent la s quence C A lt 9 est in vitablement constante pour tout n gt 0 L inclusion R L A L C A est une cons quence directe du th or me 6 2 14 6 3 Approximations g n r es automatiquement 139 6 3 3 Semi algorithme Les propositions 6 3 5 et 6 3 7 fournissent plusieurs sur sous approximations des termes ac cessibles comme montr figure 6 2 Pour semi d cider le probl me d atteignabilit par r criture nous proposons le semi algorithme pr sent figure 6 3 Cet algorithme prend en entr e deux au tomates L un repr sentant l ensemble des termes initiaux et l autre des termes finaux secret l ensemble des termes que l on veut atteindre Concr tement lorsque ce semi algorithme termine soit la condition A f soit la condition E est fausse Si A alors au moins un terme secret est accessible par l intrus ce qui signifie que la propri t de secret est viol e Si E alors aucun terme secret n est accessible Donc la propri t de secret est v rifi e L Cn FIG 6 2 Inclusions des langages impliqu es par les propositions 6 3 5 et 6 3 7 A UBLA A L A
198. e donn e quelconque comme cl Nous pr sentons dans le chapitre 8 la technique qui nous a permis de v rifier ce protocole Cependant cette m thode n est pas encore implant e en totalit dans TA4SP puisque seule la partie v rification l est pour le moment Le chemin sp cification IF sp cification Timbuk n a pas encore t d velopp par manque de temps Un r sultat int ressant d un point de vue scientifique est celui obtenu pour le protocole Kaochow v2 En effet nous ne sommes pas parvenus a construire une sous approximation assez grande pour d couvrir s il s agissait d une attaque ou bien d un terme issu de approxi mation Les outils SATMC OFMC et CL AtSe ne d tectent pas d attaque sur ce protocole pour le sc nario donn Cependant il serait tout de m me tr s int ressant de v rifier s il ne s agit pas d une attaque du m me type que celles soulign es dans la section 5 2 Les travaux d crits dans le chapitre 9 pourraient nous aider d terminer la nature de ce r sultat 7 4 Comparaison aux autres outils Au sein du projet AVISPA comme nous l avons pr cis plusieurs fois jusqu pr sent les r sultats obtenus avec TA4SP se distinguent par le fait qu une propri t de secret v rifi e l est pour un nombre non born de sessions Les outils CL AtSe RTO1b SS04 OFMC BM03 et SATMC AC02b quand eux d tectent des attaques pour nombre fini de sessions Au dela du projet
199. e m thode calcule bien un ensemble de termes contenant au moins les termes atteignable en une tape de r criture Nous g n ralisons ensuite pour un nombre quelconque d tapes Lemme 8 2 6 Soit Ay F Qo Qf Ao un automate d arbre fini et y une l r fonction d approximation pour Ay L automate C Ao F Q1 Qf A1 est d fini par Ai U Norm gt r 0 q o l union porte pour toute r gle l r R tout tat q Qo et toute r substitution o Ao compatible tels que lo q etro Ant O states A Nous obtenons R L Ap L C Ap PREUVE Soit t L 4p U R L Ap Par d finition de C 4o nous obtenons L A L C Ap Par cons quent si t L Ap alors t L C Apg Ainsi supposons que t 160 Chapitre 8 Extension aux propri t s alg briques R L Ao Alors il existe une r gle l r R un terme to de L Ap une position p de to et une substitution u 4 T F tels que top lu et t tolrulp 8 1 Puisque ty L Ap il existe un tat q Qo et un tat q Oy tels que lu 4 et tolalp gt 1 97 8 2 Puisque lu 9 il existe alors une 1 r substitution telle que l 1 10 De plus pour chaque x Var l Ha M L A o p pEPos z 1 Donc la l r substitution est Ay compatible Ainsi en utilisant le lemme 8 2 5 nous obtenons OE 40 8 3 Pour chaque variable x apparaissant dans l et pour toute
200. e n 1 En posant f r p nous obtenons donc une transition de la forme f q gt q avec f Forte q1 E QBasiques A et q Q QBasiques A D apr s le point 2 d montr ci dessus il existe t Basiques tel que L gr A q1 t avec q q Proc dons par cas sur r 1 pour d montrer que f t Termes rl 1 En appliquant le lemme 6 2 8 sur l et puisque Var r Var l nous obtenons alors que pour toute substitution y Y T F telle lu lo et en particulier pour tout p Poss l positions de la variable r 1 dans l type lul type ll et lol alo Qpasiques A De plus puisque A y est Basiques compatible par la condition 2 de la d finition 6 2 7 nous d duisons que luly ru p tetlo y rol qli Donc type r p1 type rul 1 Donc f rul 1 Termes rlh1 Fo Comme r p Forte et que r Termes nous d duisons que r Termes Comme r 1 Basiques d apr s la d finition 6 2 7 nous d duisons que q l gt r 0 d Yi gt rp 1 Qrip 1 O Basiques A Donc f t rl r p 1 Fn avec n gt 0 Posons g r p 1 Comme r Termes et r p Forte NOUS d duisons que g Fas Puisque y est Basiques compatible d apr s la condition 5 de la d finition 6 2 7 nous d duisons qu il existe t Basiques tel que q l gt r o q Yir p 1 q et t gt rol 1 gt q1 Puisque les conditions 7 et 2 ont t d montr es ci dessus pou
201. e position fonctionnelle de r h x y Par cons quent nous posons q de la d finition ci dessus comme tant gal qf Ainsi Norm L r exe qf est de la forme A q h q q gt q1 Puisque que pour r la po sition 1 est fonctionnelle et que la position 2 localise une variable alors l tat q est d termin par la l r substitution os et l tat q est lui d termin par la l r fonction d ap proximation y x Nous obtenons finalement Normy 1 1 Gexe 91 7 1 Yexe 1 r Yexe 1 Fexe 1 403 A o h qo qf az Lemme 8 2 5 Soit A F Qo Qf A un automate d arbre fini y une L r fonction d approximation r R une r gle de r criture o une l r substitution A compatible et q un tat de A Si lo q alors ro Norm raot lr La preuve est vidente Les transitions de Norm en q Nous pouvons a pr sent d finir la m thode de compl tion permettant la g n ration de sur approximations pour des syst mes non lin aires a gauche sont pr cis ment ajout es pour r duire ro 8 2 2 Compl tion Cette section d crit le r sultat principal obtenu sur des syst mes de r criture non lin aires gauche c est dire l obtention d une sur approximation des termes atteignables par r criture pour un syst me de r criture non lin aire Nous pr sentons ce r sultat en deux temps Nous montrons d abord que notr
202. e r criture R Soit ELUES l ensemble des substitutions candidates pour d terminer une propri t de secret tel que ELUES 0 X Q la qetro q La propri t na sp cifi e ci dessus est v rifi e si pour tout o ELUE soit o B i ou o A i soit text n o A o A Ara ap et gr Qg 7 2 Mode d emploi et sortie de TA4SP L outil TA4SP fait partie int grante de l outil AVISPA qui est disponible sous deux formes Soit par une interface WEB l adresse http www avispa project org voir figure 7 2 soit par une version binaire distribu e galement l adresse mentionn e pr c demment Sur la version en ligne plusieurs options sont disponibles Il est possible de passer un mod le avec uniquement deux agents par l option Two Agents Only L autre option permet d effectuer une v rification soit par sur approximation soit par sous approximation Dans le second cas nous sp cifions une borne correspondant au nombre d tapes de compl tion devant tre effectu es Dans la version distribu e de l outil AVISPA les deux options cit es ci dessous sont gale ment pr sentes Par la ligne de commande ci dessous nous sp cifions que nous voulons utiliser l outil TA4SP avec des options propres cet outil 150 Chapitre 7 TA4SP un outil pour la v rification r AVISPA Automated Validation of Internet Security Protocols and Applications HLPSL role eke_Init A B
203. e secret Pour la correction des approximations nous avons d fini des crit res automatiquement v rifiables sur l automate le syst me de r criture et la fonction d approximation Si tous les crit res sont satisfaits alors la correction est assur e L impl mentation de ces travaux a donn naissance l outil de v rification TA4SP un des quatre outils de v rification de l outil AVISPA ABB 05 permettant ainsi la v rification de protocoles sp cifi s en HLPSL L impact de l outil AVISPA est cons quent Divers articles de presse sont accessibles depuis le site du projet A titre anecdotique l outil AVISPA a t victime de son succ s puisque le serveur h bergeant la version en ligne de l outil a fait l objet de pannes dues un nombre de connexions trop important Les trois autres outils de v rification permettent d exhiber les attaques pour un sc nario donn alors que nous sommes capables de montrer qu il n existe pas d attaque pour un sc nario effectu un nombre non born de fois La compl mentarit des approches renforce justement l int r t de l outil AVISPA Une faiblesse de TA4SP est de ne pas retourner de trace lorsqu une propri t de secret n est pas satisfaite En effet seul un diagnostic est retourn sp cifiant que telle ou telle propri t peut tre soumise une attaque C est en g n ral insuffisant aux yeux des industriels partir du moment o une attaque est d
204. eaucoup plus d investigations car il semble raisonnablement pr visible que certaines traces requi rent plusieurs passages dans une boucle avant de sortir M thodologies Reconstruction pour des syst mes de r criture non lin aires gauche La m thode de reconstruction pr sent e dans le chapitre 9 est effective pour des syst mes de r criture lin aires gauche M me si l exemple de la reconstruction sur le protocole NSPK est non lin aire il s agit la d un cas particulier Nous avons montr dans l exemple 9 1 22 de la section 9 1 qu en g n ral notre m thode n est pas adapt e la reconstruction pour un syst me de r criture non lin aire gauche Il semble envisageable de combiner une technique de r solution de contraintes notre m thode de reconstruction de s quences d OCPCs afin d obtenir uniquement des s quences correspondant une trace Ces contraintes pourraient par exemple exprimer le fait que deux 193 termes se r duisent en un autre terme ou tat L ensemble de contraintes initialement vide pourrait tre enrichi selon l volution de la construction de la s quence d OCPCs De plus ces contraintes devraient tre manipul es avec pr cautions puisque les tapes de r criture pour raient impliquer des contraintes plus fortes sur des contraintes d j existantes Il semble alors possible mais non ais d tendre notre technique aux syst mes non lin aires V rificat
205. ect In Proceedings of the 1998 IEEE Symposium on Security and Privacy pages 160 171 IEEE Computer Society Press New York May 1998 F Javier Thayer Fabrega J C Herzog and J D Guttman Strand spaces Proving security protocols correct Journal of Computer Security 7 191 230 1999 R Kailar Reasoning about accountability in protocols for electronic commerce In Proceedings of the IEEE Symposium on Research in Security and Privacy Oak land CA May 1995 IEEE Computer Society Technical Committee on Security and Privacy IEEE Computer Society Press S Kremer Y Lakhnech and R Treinen The PROUVE manual specifications semantics and logics Available at http www lsv ens cachan fr prouve 2005 J Kohl and C Neuman RFC 1510 The Kerberos Network Authentication Ser vice V5 September 1993 Status Proposed Standard KN98 KPT00 KPT04 Lam94 LMO3 Low96 Low97a Low97b Low98 Mea94 Mea96a Mea96b Mea96c Mea99 Mil89 Mi100 211 V Kessler and H Neumann A sound logic for analysing electronic commerce protocols In ESORICS pages 345 360 1998 Y Kim A Perrig and G Tsudik Simple and fault tolerant key agreement for dynamic collaborative groups In SIGSAC 7th ACM Conference on Computer and Communications Security ACM SIGSAC 2000 Y Kim A Perrig and G Tsudik Group key agreement efficient in communica tion JEEETC IEEE Transactions
206. elle que s Q s p r p 6 3 Nous arrivons donc la derni re tape de la preuve Soit p1 Pn Pos s telles que s Q avec 1 n et nous noterons q1 qn ces tats Nous construisons s tel que s sltr p tnbpns N o Si qe Qpasiques alors soit r Z et o rl qe te soitr Basiques et d apr s les condition 5 et 2 de la d finition 6 2 7 nous d duisons qu il existe t Basiques N T F tel que rol Soit alors te r 0 Si ge Qo QBasiques alors r E Zeto rl qe 24Nous pouvons l utiliser car la transition s q est le r sultat de la simplification de la transition s1 o x pour x r par o 1 gt Norm 4 y l gt r o q 4 136 Chapitre 6 D marche fond e sur des approximations Par cons quent il est vident que s ro De plus en utilisant 6 2 et par construction nous obtenons O iia De plus si te Qo alors te t gt pe Ainsi en utilisant l hypoth se iii t p Ate Finalement nous obtenons t gt ra gt Norm i gt r o 4 q ce qui nous permet de d duire en utilisant 6 1 et le lemme 6 3 2 qu il existe to T F tel que to q et t R to concluant la preuve Le lemme suivant permet de montrer que le langage de l automate gr 4 reste inclus partir du moment o le syst me de r criture R est 4 Z lin aire droite et
207. er les lettres V et W comme une seule lettre Le principe de substi tution est ensuite adapt travers les ges pour offrir une combinatoire lev e et ainsi am liorer les garanties de confidentialit Nous atteignons 10 possibilit s avec la machine Enigma au cours de la seconde guerre mondiale D autres techniques de cryptage sont mentionn es dans Sin99 Chacune de ces m thodes a ses avantages et ses inconv nients Il est vident que la m thode de Nabuchodonosor n tait pas adapt e pour la transmission d un message urgent L avantage de cette m thode r side en la d tection d interceptions du message qui en g n ral se limi tait une seule interception la disparition de l esclave en question signifiait en r gle g n rale l interception du message Toutes ces techniques n cessitent une connaissance de la m thode d encodage initialement utilis e En effet partir de la m thode d encodage il est facile de d duire la m thode de d codage Par exemple pour le code de C sar il suffit d appliquer la substitution inverse qui pour l exemple cit pr c demment consiste remplacer les a par des c les b par des d sur le message chiffr A partir de 1976 un nouveau concept de codage cryptographique est introduit par Diffie et Hellman dans DH76 A titre anecdotique les principes ont t d couverts quelques ann es auparavant par un trio britannique Elli Clocks et Williamson tr
208. er un message Pour deux donn es XetY X d note le chiffrement de X par Y La donn e Y joue alors le r le de cl Il existe deux types de cl s et par cons quent deux types de chiffrements le chiffrement asym trique et le chiffrement sym trique Nous parlons de chiffrement asym trique lorsque que le chiffrement d un message et le d chiffrement s effectuent avec deux cl s diff rentes Les cl s sont alors dites publiques et secr te DH76 Le chiffrement asym trique est commutatif c est dire si Ka et Kb sont deux cl s publiques ou secr tes et M une donn e quelconque alors UM xahxo M xo Ka Nous en d duisons que pour Ka et Ka d signant respectivement une cl publique et sa cl secr te correspondante nous obtenons AMV rata M Ka Ka M La cl secr te permet galement de confectionner un certificat En effet consid rons le message XP ka o X est une donn e Ka la cl secr te associ e Ka Soit une personne connaissant la donn e X et la cl publique Ka Si elle applique la cl publique Ka au message X x4 elle est cens e d couvrir X Si c est le cas alors elle d duit que X a bien t chiffr avec la cl associ e Ka Sinon soit ce n est pas la bonne valeur attendue soit la cl utilis e pour le chiffrement n est pas celle attendue Une cl sym trique permet le chiffrement et le d chiffrement d un message avec la m me cl Soit K une cl sym triq
209. erm uniquement par la relation gt Les agents honn tes sont repr sent s par un semi bundle Les goal bindings sont utilis s pour g n rer les diff rentes fa ons permettant d obtenir un message Plus pr cis ment cette structure enregistre les diff rents moyens d obtenir un bundle partir d un semi bundle La v rification d un protocole est fond e sur ce principe A partir d un semi bundle issu d une propri t exprim e sous forme de formules logiques SSL Strand Spaces Logic voir Son99 un ensemble de semi bundles est g n r en utilisant les goal bindings Ensuite pour chaque semi bundle la proc dure est renouvel e jusqu obtenir un bundle i e une ex cution du protocole menant une attaque Cependant la proc dure peut tre interrom pue avant l obtention d un bundle l aide de techniques de theorem proving permettant ainsi de conclure que la propri t est v rifi e pour le protocole donn N anmoins la recherche peut ne pas converger si le protocole est correct M me si en pratique avec l aide de th or mes soit g n raux soit sp cifiques au protocole tudi de nombreux protocoles ont pu tre prouv s corrects ou d faillants Une seconde m thode pr sent e dans MS01 permet de reconstruire des attaques dans un 3 1 D une multitude de formalismes 33 environnement born en utilisant une technique de r solution de contraintes Cette technique est relativement se
210. erminerait pas Nous avons vu dans la section 3 1 2 un exemple de non terminaison d la r gle de d cryptage de l intrus Cette r gle pose galement probl me pour l algorithme de r solution classique L algorithme de r solution classique part du terme recherch t et tente de d tecter si une clause de Horn H C peut permettre de conclure sur ce terme il existe une substitution telle que Co t Cette substitution est ensuite appliqu e sur les hypoth ses H Et le probl me est report sur chaque hypoth se Notons que Ho n est pas n cessairement clos Cette d marche par l arri re pose donc les m mes probl mes que nous citions auparavant pour l outil NRLPA Exemple 3 1 8 Pour la r gle attacker scrypt m k A attacker k attacker m si nous cherchons un terme t tel que attacker m et t soient unifiables par la substitution o alors la m me d marche est appliqu e aux hypoth ses attacker scrypt o m o k er attacker o k Clairement nous pouvons reprendre la m me r gle pour chacune des hypoth ses et ainsi ne jamais converger vers une solution L algorithme propos dans Bla01 est compos de deux tapes La premi re consiste en la construction d un nouvel ensemble de r gles partir d un ensemble de r gles repr sentant le protocole ainsi que l intrus Cette construction passe par des tapes de simplifications d limi nations de r gles ainsi que de cr ation de nouvelles par une notion de
211. es Quelques exemples cons 1 cons 2 cons 3 ni1 1 2 3 s s s o 0 1 1 1 3 Ops S 4 Proc 2 Stop 1 cons 2 nil 0 plus 0 minus 0 s 1 0 0 end 0 add 2 Vars Xx Y Z UC mn TRS R1 add x nil gt cons x nil 1 add x cons y z gt cons y add x z 2 S Proc cons plus y Cc z m n gt S Proc y s c z m n 3 S Proc cons minus y c u m n gt S Proc y Cc u m add minus n 4 S x Proc cons plus y c m n gt S x Proc y c add plus m n 5 S x Proc cons minus y c m n gt S x Proc y s c m n 6 S x Proc z c m cons minus n gt S x Proc z s c m n 7 S Proc x c z cons plus m n gt S Proc x s c z m n 8 S Proc nil c z nil n gt S Stop c z nil n 9 S x Proc nil c m nil gt S x Stop c m nil 10 FIG 9 2 Sp cification du syst me Nous d crivons pr sent les r gles du syst me de r criture de la figure 9 2 Les r gles 1 et 2 permettent d ajouter un l ment en fin de liste pour repr senter une file FIFO il s agit de la fonctionnalit de l op rateur add Ajout de 1 ala fin de cons 1 cons 2 nil add 1 cons 1 cons 2 ni1l cons 1 add 1 cons 2 ni1l cons 1 add 1 cons 2 nil cons 1 cons 2 add 1 ni1l cons 1 cons 2 add 1 ni1l cons 1 cons 2 cons 1 ni1 Les r gles 3 resp 5 et 4 resp 6 d crivent respectivement le comportement de P P_ lorsque les symboles et
212. es et miSirucuons 2 5e aus a ee amp 54 Aled LES Varia Ble 20 iia ges as ta A eS 57 419 LES Propmetes ei es eus mia O eG G a eS 57 42a HERS ES dasta a aa a a e ht Ue Wye hide th r ee A 58 ADA ROLES it Mee AU bes Boe 59 4 2 2 Etats transitions 35 iy eae Sle ne dede cn ee ee Er 61 ADI e SLP NAUR ZE LUE E 62 4 2 4 Exemples de sp cifications ut den te 4 ek e642 es spas 64 TOLG ass A te he Bade E ie sr ee Bs E se 64 WERKEY 5 a Mone oe ee ado ay ema de a teas be Ge Ss ae Ss Re Ge ob 65 4 3 IF Intermediate Format un langage de bas niveau 66 4 3 1 Sp cification du protocole Age ur Aou de eh air BR ds 67 43 2 Sp cification de lintrus 4 24 buste hu te te ni af a 69 4 3 3 Une trace d ex cution lee x ele al ete rater a hd we ese Se se 69 4 4 Passerelles de HLPSL IF et de PROUV IF 71 AL De HEPSE a lP cs haw oo so MSN IA NRA TE MT 71 1407 De PROUVE SIE amparada Ea ea 72 Types signatures variables et symboles fonctionnels 72 ROLES ari dieta dee Mo A AS eee Se Se SD S 74 Instructions communes 5 a Si Sa eae Sow RR RS eee 75 Lainstr ction choice gie Gils e Ge Hs OE ee edd ode Eee 76 INSTUCUON if then e Teseo Shwe ee GR durs x 77 DCC MARIO os hao De HB sane date Ste He Dae We A ps Se Se 78 4 5 CONCIUSION Lx enceinte dis le bees e bk Se ae ee Boece ss 79 Chapitre 5 De IF vers une v rification de protocoles par approximations 5 1 Tr
213. es organis s en arborescence Exemple 4 2 10 Le protocole DNS Je suis un client et je tape dans mon navigateur l adresse suivante www je cherche une adresse internet com Au premier serveur de domaine notons le S auquel je suis connect la question pos e est connais tu l adresse www je cherche une adresse internet com Si oui alors il retourne l adresse IP si non ce dernier ce charge de questionner un Mieux plac serveur mieux plac que lui pour conna tre Un serveur de domaine appel com est la r ponse Cette notion de mieux plac par exemple mieux plac qu un serveur est relative l adresse internet demand e de domaine appel fr pour une adresse Il demande alors au serveur de domaine se terminant par com Pour une adresse appel com voir encadr ci contre Si ce doml dom2 dom3 com le serveur de do dernier conna t la r ponse alors il retourne maine dom2 dom3 com est mieux plac l adresse IP S qui me la retourne si que dom3 com D s lors nous comprenons non il continue en allant demander un mieux comment la structure arborescente est serveur internet com Si ce dernier existe troitement li e avec la notion de mieux alors il le questionne sinon une erreur est plac retourn e Le processus continue ainsi jus qu ce qu un serveur connaisse l adresse Dans ce cas l l adresse est retourn e au serveur interrogateur direct qui la r
214. es participants 3 Passage deux agents 4 Fonction d approximation symbolique 5 Nouvelle gestion du secret L outil TA4SP est compos de deux l ments un traducteur IF2TIF et Timbuk GT01 une collection d outils pour l analyse d atteignabilit par r criture sur des langages d arbre Nous d taillons dans la section 7 1 le r le de chacun des composants L outil TA4SP est disponible sous deux formats une version binaire distribu e et l autre en ligne sur Internet En r alit il est disponible sous forme d outil de v rification de l outil AVISPA Nous d taillons l utilisation de TA4SP via la plate forme AVISPA sous ses deux formes dans la section 7 2 145 146 Chapitre 7 TA4SP un outil pour la v rification 7 1 Structure de l outil Le moteur principal de l outil TA4SP est un outil appel Timbuk d crit pr cis ment dans GTO1 dans lequel sont implant es de nombreuses techniques li es aux automates d arbre et plus particuli rement celle de compl tion d taill e dans la section 3 1 2 Timbuk prend en entr e une sp cification contenant un syst me de r criture un automate d arbre et une fonction d approximation Cette sp cification peut ventuellement contenir d autres automates repr sentant les propri t s v rifier Un traducteur nomm IF2TIF permet de traduire une sp cification IF en une sp cification compatible avec Timbuk Cependant Timbuk a quelque peu
215. es que la Aq ro Aq et t t o L algorithme ci dessous permet de d cider si une propri t de secret p est satisfaite pour l automate A Une propri t de secret p est pr serv e pour si toutes les instances du terme secret ayant pour identifiant p de la forme secret t p Agts satisfont les deux conditions mentionn es pr c demment Algorithme 5 2 1 La fonction p verification retourne true si la propri t p est satisfaite sur A L algorithme de v rification de satisfaction d une propri t p sur l automate d arbre A est donn ci dessous p verification A p KT debut res true Pour tout secret tdata P Sagent KT faire Si l identit de lintrus n appartient pas Sqgent alors Si tgata Ady alors res false FSi FSi FPour retourne res Fin 5 3 Correction de la traduction 109 La proposition ci dessous montre que cet algorithme termine pour tout automate fini Proposition 5 2 2 Soit A F 0 0y A un automate d arbre fini Soit R un syst me de r criture r sultant d une application de la fonction TradRules Pour tout identifiant p p verification A p R termine PREUVE La terminaison de l algorithme 5 2 1 est induite de la finitude de l ensemble XT Par d finition R est un ensemble fini de r gles et pour tout l See p E R Sec est fini Comme A est un automate fini pour toute r gle pe R il existe un ensemble fini de substitutions de Var l dans Q Donc KT est
216. es travaux dans OCKS03 Dans OCKS03 par rapport la technique propos e dans GKOO l apport fut d automatiser la g n ration de fonction d approximation partir d un protocole sp cifi en ISABELLE Le syst me de r criture et les automates sont exprim s dans la syntaxe utilis e dans GKOO Nous avions vu lors du chapitre pr c dent dans la section 5 5 quelles taient les limites d ex pressivit et techniques li es une telle syntaxe Du point de vue de la fonction d approximation 6 5 Discussion 143 g n r e dans le cadre des protocoles de s curit les auteurs pr voient au moins un sc nario nor mal et un sc nario anormal pour chaque r gle de r criture En r alit une telle repr sentation leur permet dans certains cas d obtenir des langages proches de l ensemble exact des descen dants atteignables Mais cependant ils ne peuvent toujours pas conclure si un terme est dans la sur approximation Notre point de vue est l g rement diff rent des auteurs de OCKS03 En effet nous consid rons un seul sc nario pour chaque instance de session ce qui correspond aux tats par d faut associ s gr ce la fonction y pr sent e section 6 3 Nous nous basons sur la constatation sui vante qu partir du moment qu une attaque sur un protocole est possible l attaque est sens e tre transparente pour les individus flou s A posteriori bien que th oriquement nous soyons moins pr cis
217. espond au moins une transition IF Un exemple de traduction est donn figure 4 7 step step_R_1 V_a V_b V_kab V_m SID Forever state_role_Alice V_a V_b V_kab 1 V_m Forever SID iknows start gt state role Alice V_a V_b V_kab 2 V_m Forever SID step step _ R_ 2 V_a V_b V_kab D_V_m V_m SID Forever state role Alice V_a V_b V_kab 2 D_V_m Forever SID exists V_m gt state role Alice V_a V_b V_kab 3 V_m Forever SID step step_R_3 V_a V_b V_kab V_m SID Forever state role Alice V_a V_b V_kab 3 V_m Forever SID gt state_role_Alice V_a V_b V_kab 4 V_m Forever SID iknows pair V_kab scrypt V_kab V_m FIG 4 7 Traduction du role figure 4 6 en IF rules L tat d un agent jouant un r le PROUV donn est d fini en IF par un fait sp cifique comme nous l avons vu dans la section 4 3 Ce fait est d clar dans la section signature du fichier IF La d claration du fait pour le r le de la figure 4 6 est donn ci dessous 4 4 Passerelles de HLPSL IF et de PROUV IF 75 Instruction PROUVE Traduction en r gle IF send expr step step_R_n state role R A gt State role Resad Byasa iknows expr new x step step_R_n state_role_R A Dummy_V_x exists V_x gt State Tole Ria Ba Ai xo step step_R_n state_role_R A Dummy_V_x gt state_role_R B expr recv
218. est construite partir du pr ordre partiel type Pour les symboles fonctionnels d arit sup rieure 0 nous introduisons la notion de signa ture qui d finit chaque symbole fonctionnel comme une fonction dont les param tres doivent avoir un type pr cis De plus le type r sultat retourn par cette fonction poss de aussi un type sp cifi par la signature Dans notre contexte cela signifie que tout terme poss de aussi un type Nous d finissons pr sent la notion de signature Definition 5 1 2 Signature Soit f F un symbole d arit n gt 0 Une signature pour f est un n 1 uplet d l ments ty1 tYn ty Type que l on note f ty X X tyn gt ty 5 1 Traduction d une sp cification F en un syst me de r criture R et un automate d arbre Ay85 message Type agent message Type text message Type Nat message Type identifier message Type public key message Type symmet ric_key message Type function message Type set message Type bool message Type message text Type text nat Type nat identifier rype identifier public key type public key symmetric_key type symmetric key function Type function set Type set bool type bool FIG 5 2 Hi rarchie des types Dans la suite du document sign repr sente une fonction partielle de F dans ty x x tyn ty tyi tYn ty Type etn gt 1 Notons que la repr sentation de sign par une fonction pa
219. etourne au ser veur direct qui me la retourne 4 2 HLPSL 65 La description du protocole DNS illustr e pr c demment est tr s vulgaris e cependant une description beaucoup plus technique est donn e dans Moc87a Moc87b Nous constatons qu une garantie d authentification est n cessaire pour que la r ponse retourn e corresponde la question pos e Il existe d ailleurs une attaque sur le protocole DNS qui permet de rediriger les clients sur des pages ne correspondant pas leur requ te Ensuite une attaque phishing de la contraction de l expression anglaise password harvesting fishing peut tre effectu e permet tant un individu malhonn te de collecter des donn es priv es identifiant et mot de passe pour le site de votre banque etc Le protocole TSIG intervient ce niveau Ce protocole permet d authentifier la r ponse dans le sens o il s agit d une r ponse construite par un individu de confiance La sp cification technique de ce protocole est donn e dans VGEWi00 Le protocole TSIG tablit une authentification entre deux agents un client C et un serveur S en deux messages et en utilisant une fonction de hashage H ainsi qu un secret initialement partag K 1 C gt S TAG1 M1 H TAG1 M1 N1 _K 2 S gt C TAG2 M1 M2 H TAG2 M1 M2 N2 _K Puisque le protocole peut tre utilis pour s curiser des transactions quelconques nous sup posons dans le protocole ci
220. europ en AVISPA il existe bien videmment d autres outils v rifiant des propri t s de secret dans un contexte non born de session Nous pouvons par exemple citer securify CMRO1 Hermes BLP03 ou encore ProVerif Bla01 Evidemment cette liste est loin d tre exhaustive mais ces approches sont tr s proches de la notre sur plusieurs points L outil securify impl mente une proc dure de d cision pour le secret sur un mod le Millen RueB MROO d un protocole Cependant cette proc dure n est pas compl te dans le sens o pour des protocoles s rs il n est pas toujours possible de le montrer Un arbre est re tourn ce qui permet en g n ral l utilisateur de juger si c est une attaque ou non Notons qu un cas quelque peu similaire peut tre th oriquement obtenu avec notre m thode par sur approximation Cependant en pratique nous n avons pas encore rencontr de tels cas La technique de v rification impl ment e dans l outil Hermes BLP03 est fond e sur des abstractions semblables aux n tres et sur un syst me de r criture repr sentant le protocole tudi Leur approche consiste tout d abord en un calcul d abstractions pour borner le nombre d agents et le nombre de nonces Ensuite une seule ex cution entre agents honn tes est observ e 7 4 Comparaison aux autres outils 153 i e sur laquelle les propri t s doivent tre v rifi es Par une m thode en arri re un invariant est const
221. eutre IEP envoi d un message PAP r ception d un message vc P g n ration d une valeur fra che P P2 ex cution s quentielle des processus P et Pz P P2 ex cution parall le des processus P et Pa affectation de variables La v rification de propri t s avec ce mod le s effectue par deux m thodes diff rentes soit par atteignabilit soit par quivalence observationnelle Dans MLO3 des tudes ont t men es dans le cadre des protocoles de s curit avec CCS Mil89 un alg bre de processus ne contenant aucune primitive de cryptage 3 2 vers des langages communs explicites A partir de 1996 des langages de haut niveau sont apparus comme CASPER Low97al CAPSL DMR00 HLPSL ABB 02 ou encore LEVA JLMO1 GLO1 Tous ces langages adoptent une repr sentation des changes de messages la Alice amp Bob chaque message est associ un envoyeur et un destinataire Le but de ces langages est de rendre plus accessible la sp cification de protocoles de s curit et galement plus lisibles chacune de ces sp cifications Un langage tr s simple permet galement un gain de temps consid rable Il est par exemple plus simple de sp cifier un protocole en un langage Alice amp Bob plut t qu en un syst me de r criture avec des automates d arbre Un autre avantage est d viter les erreurs dues l criture de sp cifications Un langage complexe est plus expos aux erreurs de sp cific
222. exion du langage PROUV au langage IF section 4 4 2 La structure pr sent e figure 4 1 permet un utilisateur de sp cifier un protocole soit en PROUV soit en HLPSL La sp cification est ensuite trait e par le traducteur correspon dant pour g n rer une sp cification IF Enfin les outils effectuent la v rification partir de la sp cification IF 41 PROUV Le but du langage de sp cification PROUV est de donner une description pr cise du pro tocole ainsi que du contexte dans lequel il peut voluer Il est possible de pr ciser la signature des constructeurs de messages ainsi que de leur attribuer des propri t s alg briques permettant ainsi la d finition d une s mantique pr cise pour chaque constructeur Nous pr sentons dans les sections suivantes quelques caract ristiques du langage PROUV D coupage du protocole en r les section 4 1 1 Diff rents types de variables section 4 1 2 Langage de description des propri t s section 4 1 3 4 1 1 R les et instructions Le protocole est consid r comme un syst me englobant des composants communiquant entre eux Ces composants sont des programmes d crivant le r le des agents participant au protocole L exemple pr sent dans la figure 4 2 d crit deux r les l un relatif au r le de Alice et l autre celui de Bob Chaque r le est d crit sous forme d un programme Cette sp cification repr sente le protocole fil rouge
223. exts t Taign F A type t text et Keys t Toign F 4 type t symmetric_key public_key Les ensembles Agents Nats Functions Sets Identifiers et Bools sont identiques ceux donn s dans la section 5 1 1 et donc d finis comme suit Agents t Fo UX type t agent Nats t Fo U type t nat Functions t Fo U X type t function Sets t Fo U X type t set Identifiers t Fo U X type t identifier Bools t Fo U type t bool Ainsi tout comme dans la section 5 1 1 Basiques Agents U Texts U Keys U Nats U Functions U Sets U Identifiers U Bools Par construction les ensembles Texts et Keys poss dent les propri t s expos es dans la proposition 6 2 3 Proposition 6 2 3 Pour tout terme t Tsign F X et pour tout p Pos t si t p Fabs alors t Texts U Keys PREUVE D apr s algorithme 5 1 31 les abstractions sont construites pour toutes les variables d un ensemble qui d apr s la d finition 5 1 18 appartiennent l ensemble Texts U Keys D apr s la d finition 5 1 24 pour tout symbole f Fas on a Signs f typeye ti x x typer t gt type x o x est la variable skol mis e Par cons quent puisque les seules variables skol mis es appartiennent Texts U Keys pour tout terme t Tsign F X et pour tout p Pos t sit p Faps alors t Texts U Keys O
224. fini deux langages HLPSL et IF Le langage IF est un langage de bas niveau facilitant ainsi le traitement par les outils de v rification L un des int r ts du langage interm diaire est de pouvoir faire voluer la syntaxe du langage de haut niveau HLPSL sans avoir faire de modifications dans chaque outil mais uniquement dans le traducteur permettant de g n rer une sp cification IF partir d une sp cification HLPSL Ce traducteur est nomm HLPSL2IF Cette connexion est ant rieure mon arriv e au sein du projet tout comme le langage HLPSL l est au langage PROUV Nous pr sentons dans ce chapitre les sp cificit s des deux langages de haut niveau dans les sections 4 1 et 4 2 Ensuite nous donnons une description fonctionnelle du langage IF dans la section 4 3 avant de pr senter les deux connexions HLPSL IF et PROUVE IF respecti vement donn es dans les sections 4 4 1 et 4 4 2 La connexion PROUV IF a t effectu e tr s r cemment dans BK V06 Par cette connexion nous avons voulu profiter du travail d j accompli partir de IF pour offrir au langage PROUV de nouveaux outils de v rification Nos contributions dans ce chapitre se r sument ainsi D veloppement des langages HLPSL et IF avec les partenaires du projet AVISPA Sp cification de la propri t de secret en HLPSL et IF R daction de sp cifications HLPSL deux exemples TSIG et LIPKEY donn s dans la section 4 2 4 Conn
225. for the verification of cryptographic protocols In Proceedings of Conference on Formal Aspects of Security LNCS 2629 Springer Verlag 2003 S Owre J M Rushby and N Shankar PVS A prototype verification system In CADE pages 748 752 1992 H Ohsaki and T Takai Actas A system design for associative and commutative tree automata theory In Proceedings of the 5th International Workshop on Rule Based Programming RULE 2004 Aachen Germany June 2004 To appear in ENTCS Pau98 QG90 Ros94 RRSW97 RS03 RSG 00 RTO1a RTO1b Sch97 SHO1 Sin99 Son99 SS96 SS04 STW99 SV06 213 L C Paulson The Inductive Approach to Verifying Cryptographic Protocols Journal of Computer Security 6 1 85 128 1998 J J Quisquater and L Guillou How to explain zero knowledge protocols to your children In Giles Brassard editor Advances in Cryptology CRYPTO 89 vo lume 435 of Lecture Notes in Computer Science Santa Barbara CA USA 1990 International Association for Cryptologic Research Springer Verlag Berlin Ger many A W Roscoe editor Model Checking CSP Prentice Hall International 1994 C Rigney A Rubens W Simpson and S Willens RFC 2058 Remote Authenti cation Dial In User Service RADIUS January 1997 Status Proposed Standard R Ramanujam and S P Suresh Tagging makes secrecy decidable with unboun ded nonces as well In Proc of 2
226. gents honn tes Rappelons succinctement le protocole NSPK Lowe A gt B N A B 1 A Kb gt A N A B 1 N B A 2 B _Ka A gt B N B A 2 _Kb w Le secret du nonce g n r par l agent A s exprime dans le cadre de la m thode GK00 par un automate Asecret dont le langage est N x y 1 x y LA BP En utilisant une approxi mation nous sommes alors capables de montrer que le secret est pr serv par le protocole Sur le m me exemple nous avons obtenu une attaque sur le nonce g n r par le r le A lors de la premi re tape Cette attaque est due au choix de sp cification du secret Comme nous l avons pr sent dans la section 4 2 3 en HLPSL et galement en IF une propri t de secret est sp cifi e par un v nement appel secret sp cifiant la donn e sens e tre secr te un identifiant li l v nement et donc la propri t et enfin un ensemble d agents autoris s conna tre ce secret Le fait qu un v nement secret soit li un agent voluant dans son propre environnement implique un certain lien de causalit entre les propri t s d authentification et les propri t s de secret En effet il peut d clarer des donn es secr tes alors que finalement elles ne le sont pas Ce cas est tudi ci dessous 5 2 1 Attaques li es la sp cification du secret Imaginons que dans le protocole ci dessus nous sp cifions en HLPSL que la d claratio
227. ges r guliers de termes est ferm par les op rations d union d inter section de diff rence et de compl ment Pour une manipulation relativement simple de la r duction d un terme t par un automate A F Q Or A nous introduisons la notion de terme slic qui donne des informations sur la r duction de ce terme pour automate donn Gr ce ce type de terme il est alors possible de savoir quelle transition est utilis e et a quelle position Definition 2 3 6 terme slic Soit A F Q Qs A un automate d arbre L ensemble des termes slic s est inductivement d fini par aq est un terme slic sia Fo et a q A q q est un terme terme slic si q gt q A etq Q f q1 qn qllus Un est un terme slic si f Fn f q1 4n q A et U1 Un sont des termes slic s tels que pour i 1 n u est soit de la forme Ci qi OU C Fo U qi soit de la forme g qi q ql u u o g F et u u sont des termes slic s Exemple 2 3 7 Soit t g q2 2 s th ta t h q2 gt q2 t3 to h q1 a2 a1 et t3 h q1 gt q2 a gt q1 t t te et tz sont quatre termes slic s Nous adaptons maintenant quelques notations usuelles aux termes traditionnels aux termes slic s Pour un terme slic donn t Pos t repr sente l ensemble des positions de t Pour une position donn e p Pos t t p repr sente le sous terme slic
228. graphic protocols The spi calculus INFCTRL Information and Computation formerly Information and Control 148 1999 G Ateniese M Steiner and G Tsudik New multiparty authentication services and key agreement protocols IEEE Journal of Selected Areas in Communications 18 4 April 2000 D Atkins W Stallings and P Zimmermann RFC 1991 PGP Message Exchange Formats August 1996 Status Informational M Abadi and M R Tuttle A semantics for a logic of authentication extended abstract In PODC pages 201 216 1991 AVISPA Deliverable 2 3 The Intermediate Format Available at http www avispa project org 2003 AVISPA Deliverable 3 3 Session Instances Available at http www avispa project org 2003 AVISPA Deliverable 3 1 Security Properties Available at http www avispa project org 2004 AVISPA Deliverable 6 2 Specification of the Problems in the High Level Speci fication Language Available at http www avispa project org 2005 B Blanchet M Abadi and C Fournet Automated Verification of Selected Equi valences for Security Protocols In 20th IEEE Symposium on Logic in Computer Science LICS 2005 pages 331 340 Chicago IL June 2005 IEEE Computer Society M Burrows M Abadi and R Needham A Logic of Authentication ACM Tran sactions on Computer Systems 8 1 18 36 1990 S Bistarelli I Cervesato G Lenzini and F Martinelli Relating Process Alge bras and Multiset
229. gt B fagt A fsk Kab fnat 1 ftext N 1 iknows fteat end and iknows fsp Kab iknows crypt fx Kab X iknows X 3 R iknows pair X Y iknows X 4 C iknows pair X Y iknows Y 5 J fe N amp Fee a qa fagt da go Pouvoir de l intrus C Fe b 4b fagt qu gt q1 J pair qf q1 gt 91 gt q ae iknows qf gt 4f ope symmetric_key kab hab fsk Grab 42 R andlar 4r gt d i start q Fo gt Connaissance initiale de l intrus type text start ex star fagt qa af C end gt qend ftext qena gt 44 Tagt ge q Frext Astart gt 9f tape nat 0 gt qzero fnat dzero gt qs 14un frat qun 46 J Etats initiaux des participants r state_Alice qo q1 q2 45911 9f gt 4f n1 4a Ja Gn1 a a Ftext Ini a a gt 47 state_Bob q1 qo q2 45911 41 gt 91 n1 qa db gt 4n1 a b Ftext In1 a b gt 08 type text n1 4b 9a gt 4n1 b a Ftext In1 b a gt 99 n1 qb 49 gt 4n1 b b Ftert Un1 b 0 910 Ao C dummy text Qdummy text Frert Idummy tent 411 J L J FIG 6 1 Exemple de sp cification Basiques compatible Lemme 6 2 8 Soit A y une paire Basiques compatible Soit t f t Termes f Forta et pb X Termes tels que t Basiques tu gt q S il existe une position fronti re p de t telle que X N Basiques N t alors u t p Basiques et de plus type t type u t p PREUVE Par hypoth se A y est une paire Basiques compatible Si 4 N Basiques N
230. h nique de compl tion ajoute la transi tion g q1 q1 gt qs dont la cons quence imm diate est d ajouter les termes g a b et g b a qui ne sont pas dans R E En effet en mod lisant le syst me par un syst me de r criture en exprimant l tat initial de ce syst me par un ensemble de terme il est alors possible de calculer une sur estimation des configurations atteignables par ce syst me en utilisant une fonction d abstraction a adapt e Les propri t s de s ret tant v rifiables par atteignabilit 1l reste exprimer la n gation des 3 1 D une multitude de formalismes 37 propri t s de s ret comme un ensemble de termes Ainsi en calculant l intersection entre cet ensemble de termes et la sur estimation obtenue par compl tion nous pouvons conclure que les propri t s sont v rifi es si l intersection est vide Application aux protocoles de s curit En appliquant la m thode pr c dente au contexte des protocoles de s curit le syst me de r criture repr sente les tapes du protocole ainsi que l intrus La syntaxe utilis e est celle d crite dans la table 3 1 Nous utiliserons dans les chapitres 5 et 6 un formalisme permettant de d crire les protocoles de s curit plus pr cis ment sat ons x y crypt De y Z on pubkey z prikey x E mesg VA nn TAB 3 1 Syntaxe pour la description de protocoles de s curit dans GK00 Une tape de protocole est sp
231. ibles en une tape de r criture sont bien pris en compte La proposi tion g n ralise ce r sultat pour un nombre quelconque d tapes de r criture Th or me 6 2 14 Soit A un automate d arbre fini R C Termes x Termes un syst me de r criture et y une fonction d approximation tels que A y est Basiques compatible Si R est YN Basiques lin aire gauche alors R L A E L gr y A et IRALA y est Basiques compatible PREUVE Par construction l ensemble de transitions de A est inclus dans celui de 97 A Ce qui implique que L A L grA A 130 Chapitre 6 D marche fond e sur des approximations Prouvons que R L A L gr A Soit t L A lor ER p Pos t etu X T F une substitution telle que tlp lu 6 4 Prouvons que t ru L 9r A Puisque t L A il existe gp Oy tel que tA 6 5 Par d finition de la r duction d un terme en un tat par un automate d arbre il existe q Q tel que tl aq and tla gt 6 6 Soient 11 m les variables apparaissant dans et soient p1 Pm Pos l les positions respectives de ces variables Nous obtenons lu ua Ll Em lpm et T1 Ion gt gt UT pm Ad 6 7 En cons quence de 6 7 et en utilisant 6 4 et 6 6 nous pouvons d duire qu il existe q1 qm Q tels que llos amlen Ag and p x1 40 H tm Am 6 8 Montrons qu il existe une substitution o 40 telle que o x
232. icile initialiser Dans les exemples tudi s dans GK00 les auteurs utilisent le second param tre de l op rateur de chiffrement crypt x y z d signant la personne ayant r ellement chiffr ce message comme d crit ci dessous mesg x B crypt pk B 21 n B A c resp B A z1 Or ce n est pas toujours facile de sp cifier une propri t d authentification comme ci dessus Nous comptons tendre TA4SP pour la v rification de propri t s d authentification La technique utilis e dans GK00 ne semble pas ou peu adapt e la notion d authentification 36 Voir chapitre 9 section 9 1 192 Conclusion consid r e en HLPSL Comme nous l avons d crit dans la section 4 2 3 une propri t d au thentification HLPSL est fond e sur les signaux witness et request Une notion d authentifi cation forte est galement consid r e pour d tecter les attaques de rejeu La technique de sp cification des propri t s d authentification HLPSL ne peut pas non plus tre directement adapt e notre m thode En effet le fait que toutes les sessions soient m lang es implique que par d finition toutes les propri t s d authentification HLPSL sont satisfaites sur notre mod le Par contre il serait envisageable d utiliser la technique de reconstruction pour montrer qu une propri t d authentification n est pas satisfaite En ce qui concerne la preuve de la satisfaction d une propri t d
233. ie que tous les termes atteignables par r criture partir du langage L Ap appartiennent au langage de l automate A Cependant si un terme t appartient au langage de A il est ind cidable en g n ral de d terminer si est un terme atteignable ou un terme de approximation Nous avons propos une m thode conduisant a l laboration d un semi algorithme permettant pour tout syst me de r criture d une classe d finie de d terminer si un terme est atteignable Si tel est le cas la preuve est fournie sous forme d une trace de r criture Ce travail a une application int ressante dans le contexte des protocoles de s curit puisque pour un terme secret donn une trace correspond une attaque de l intrus sur le secret 1 3 Plan 19 a R L Ao L A 7 L A0 L A A E M thode de reconstruction i s quence de r criture de to L Ao at si t est un terme atteignable par r criture ou Terme de approximation N y FIG 1 6 Reconstruction de traces dans un contexte approxim 1 2 4 TA4SP un outil de v rification Le processus de v rification d crit dans la figure 1 5 a t impl ment dans l outil de v rification compl tement automatique appel TA4SP Cet outil fait partie des quatre ou tils de v rification de l outil AVISPA La particularit de celui ci est de conclure l absence d attaque sur le secret pour des sc narios ex cut s un nombre ind
234. il nomm SPEAR II Security Protocol Engineering and Analysis Resource BdGH97 SHO1 52 Chapitre 3 Des outils de v rification de plus en plus accessibles propose d accompagner un utilisateur dans le d veloppement du protocole L utilisateur sp cifie le protocole en GYPSIE une interface graphique conviviale Ensuite une application visuelle VGNY propose l utilisateur de sp cifier la croyance initiale de chaque participant L tape sui vante consiste sp cifier l ensemble des buts pour chaque individu que doit croire et conna tre chaque individu la fin d une session Le tout est trait par GINGER un analyseur d velopp en Prolog et bas sur la logique GNY GNY90 un d riv de la logique BAN BAN90 Et un diagnostic est finalement retourn Ce diagnostic r sume les croyances buts non satisfaites pour chaque individu ainsi que toutes celles valid es Cela permet de modifier quelque peu le mod le et de lancer nouveau la v rification 3 3 Conclusion Dans ce chapitre nous avons dress un aper u des langages de sp cification Dans les ann es 90 une multitude de m thodes de v rification ont merg pour traiter les probl mes de s curit ou d ins curit li s aux protocoles La tendance partir de 1999 a t de proposer des langages de haut niveau pour rendre accessibles des technologies initialement r serv es des experts Ces langages se distinguent les uns des autres par rapport aux f
235. ington REC 2845 Secret Key Transaction Authentication for DNS TSI G May 2000 Status Proposed Standard H Zhang SATO An Efficient Propositional Prover In W McCune editor Proceedings of CADE 14 LNAI 1249 pages 272 275 Springer Verlag 1997 R sum Cette th se s inscrit dans le cadre de la v rification de syst mes critiques Le probl me de s curit consiste d terminer si un syst me est s r ou non et galement pourquoi il ne l est pas Ce probl me est ind cidable en g n ral pour les protocoles de s curit En pratique et pour des classes particuli res de protocoles des proc dures de semi d cision existent mais n cessitent souvent une certaine expertise L apport majeur de cette th se consiste en l automatisation d une technique fond e sur des approximations en r criture et sa mise disposition partir de langages de haut niveau HLPSL et PROUVE En repr sentant la connaissance initiale de l intrus et la configuration initiale du r seau par un langage d automate d arbres et en utilisant d un c t un syst me de r criture sp cifiant le protocole ainsi que le pouvoir d action d un intrus et d un autre c t une fonction d approximation symbolique une surestimation ou une sous estimation de la connais sance r elle de l intrus peut tre calcul e afin de respectivement d montrer qu un protocole est s r ou qu un protocole est non s r Cette v rification
236. ion automatique pour d autres domaines Nous avons dans cette th se propos une cha ne automatique permettant la v rification de protocoles de s curit en ayant recours aux approximations D autres domaines semblent tre appropri s ce genre de v rification sans toutefois pr sen ter les m mes exigences Il pourrait s agir de la validation de syst mes distribu s ayant des exigences de s ret et de s curit Pour ces syst mes on a besoin d outils capables d analyser efficacement le flot d informations distribu es entre les agents qui interagissent entre eux Prenons l exemple de la certification de code JAVA MIDlet Mobile Information Device Profile Les applications embarqu es sur les t l phones cellulaires requi rent certaines assu rances qu il est pr f rable de v rifier Jusqu a maintenant la v rification de telles applications s effectuent manuellement et au cas par cas Pour sur approximer des changes des donn es via des objets partager pour toutes les ex cutions possibles des syst mes de r criture peuvent tre utilis s pour sp cifier des pro grammes en byte code Java et la JVM Ensuite partir d un ensemble r gulier de termes initiaux par exemple repr sentant tous les appels possibles de fonctions les configurations initiales des processus etc ces approxi mations permettraient de calculer des sur ensembles r guliers des descendants les termes ac cessible
237. ion priv IKE Internet Key Exchange HC98 TLS Transport Layer Security DA99 AKA Authentication and Key Agreement TANO3 EKE Encrypted Key Exchange BM92 Un principe couramment utilis pour construire une cl fraiche et sym trique est celui introduit par Diffie et Hellman Cette m thode est bas e sur les propri t s de l exponentiation et du logarithme discret Les agents A et B ont choisi un groupe cyclique d ordre p un entier et un g n rateur g un entier de ce groupe A g n re un nombre al atoirement na l ve g la puissance na et envoie B le message g B g n re un nombre al atoirement nb calcule g puis envoie le message g A A l ve la puissance na le message re u obtenant ainsi g 4 Ainsi d apr s les propri t s de l exponentiation g g Puisqu il est difficile de calculer le logarithme discret pour un groupe bien choisi une tierce personne ne peut pas acc der aux valeurs na et nb et ainsi calculer g Finalement les agents A et B partagent un secret qu ils peuvent utiliser comme cl de chiffrement sym trique Un autre exemple connu de protocole est le protocole NSPK NS78 qui se d roule entre deux entit s et permettant une authentification mutuelle des participants A la fin de l ex cution du protocole tout le monde pense et est persuad de communiquer avec la bonne personne Ce protocole est d compos
238. ions successives si la sur approximation ne permet pas de conclure Bien que nous avons montr qu une attaque dans notre mod le n est pas n cessairement une attaque en IF dans la section 5 2 nous d tectons les attaques dans notre mod le Ce genre d attaque peut s av rer int ressante a partir du moment ou l hypoth se de la g n ration parfaitement al atoire de nombres nonces est en pratique dif ficilement concevable L utilisateur est libre d interpr ter le r sultat obtenu Il est vident qu il n est pas facile d interpr ter partir d un constat puisque nous n avons pour le moment aucune trace d attaque Nous verrons dans le chapitre 9 que nous avons men des investigations dans ce secteur et ces investigations sont d ailleurs pr sent es dans BG06 La v rification r sulte sur trois conclusions S R toutes les propri t s de secret sp cifi es sont v rifi es sur la sp cification IF ATTAQU Il existe une propri t qui n est pas v rifi e dans notre mod le mais peut P tre tout de m me en IF aucune conclusion ne peut tre tir e Tous les d tails sur l impl mentation de ce processus de v rification est donn dans le cha pitre 7 pr sentant l outil nomm TA4SP l un des quatre outils de la plate forme de v rification AVISPA Nous retrouvons galement des r sultats pr sent s dans ABB 05 Nous verrons galement qu un des r sultats concerne un p
239. irons v rifier une propri t de se cret ayant pour identifiant id1 Le pr dicat s exprime de la fa on suivante attack_state secrecy_of_idl MGoal ASGoal iknows MGoal secret MGoal idl ASGoal not contains 1 ASGoal L identit de lintrus est not e i Un tel pr dicat signifie que si pour un tat donn la donn e MGoal cens e tre secr te est connue par l intrus i knows MGoal et que ce dernier n est pas dans l ensemble des agents ASGoa1 suppos s partager cette information not contains i ASGoal alors la propri t id1 n est pas v rifi e pour l tat donn 8Nous rappelons au lecteur qu un tat est une conjonction de faits Les cat gories de faits sont donn es au d but de la section 4 3 4 3 IF Intermediate Format un langage de bas niveau 69 4 3 2 Sp cification de Pintrus En IF un fichier nomm prelude if contient entre autre la sp cification d un intrus suivant le mod le de Dolev amp Yao DY83 Cet intrus est capable de lire tous les messages sur le r seau de composer des messages par chiffrement ou par concat nation d analyser des messages par d codage ou par extraction de g n rer des valeurs al atoires Formellement en IF cet intrus est repr sent par les r gles ci dessous section intruder o generate rules step gen_pair PreludeM1 PreludeM2
240. is e dans les m mes conditions pr cis es pr c demment Aile gauche Aile droite FIG 1 3 Protocole divulgation nulle la caverne Si Alice choue une fois alors Bob sera convaincu qu elle ne conna t pas le mot de passe Par contre si elle r ussi chaque fois soit elle a beaucoup de chance soit elle conna t effectivement le mot de passe En r it rant l exp rience un nombre significatif de fois Bob sera convaincu qu Alice conna t r ellement le mot de passe Le principe du protocole zero knowledge offre de belles perspectives pour le d veloppement d applications embarqu es car ce genre d application demande peu de ressources Cependant en pratique il s av re que ce genre de protocoles est sensibles aux attaques dites post mortem Une attaque post mortem est construite partir de l enregistrement d une session Cette session est analys e jusqu la d couverte d une faille quelconque Un exemple de notion de preuve divulgation nulle est illustr e dans DKKO0S5 dans un pro tocole de vote lectronique L individu doit montrer qu il a bien vot sans videmment d voiler son vote Pour accomplir leurs missions ces protocoles doivent pr senter certaines garanties En effet un protocole permettant d tablir une cl partag e entre n agents doit garantir que cette cl soit effectivement partag e uniquement entre les n agents pr vus La section suivante donne un e
241. istance Pour que ces syst mes m ritent notre confiance il est pr f rable qu ils offrent des garan ties de fonctionnement et ne pr sentent pas de d fauts pouvant entra ner de lourdes pertes fi nanci res ou humaines Par exemple un r gulateur de vitesse ne doit pas rester bloqu Deux exemples connus de d faillances co teuses sont le robot Spirit envoy par la NASA sur mars et la panne d lectricit du 14 ao t 2003 aux tats Unis Spirit tomba en panne d s son arriv e sur mars La panne perdura pendant une semaine et il tait difficile d envoyer un tech nicien sur place La cause probable de cette panne serait issue d une saturation de la m moire flash du robot suite une r ception de donn es provenant de la terre La panne lectrique de New York serait en partie due un probl me informatique puisqu une non synchronisation des donn es aurait provoqu une mauvaise localisation par les techniciens d un probl me sur le r seau lectrique En effet le d calage entre les faits affich s aux crans et les faits r els ont emp ch les techniciens d intervenir rapidement au bon endroit Pour pr venir de tels checs financiers des techniques issues des m thodes formelles ont t mises au point pour v rifier qu un syst me offre bien telle ou telle garantie ou qu il r pond conform ment aux attentes Ces techniques de v rification logicielle sont class es principale ment en trois cat gories
242. it res sur la fonction d approximation et par la nature du syst me de r criture R C Termes x Termes les crit res sur l automate courant sont pr serv s pour tous les successeurs de cet automate durant la phase de compl tion Ainsi si nous avons la r gle and iknows f 4 x 1knows scrypt f x x Y y en s assurant que x peut tre substitu uniquement par des tats associ s aux l ments de Basiques alors le probl me d montr dans l exemple 6 2 1 n est jamais rencontr Lun des principaux atouts de cette technique est que ces crit res sont v rifi s sur l automate initial et sur la fonction d approximation utilis e A partir de cet instant si les crit res donn s ci dessous sont respect s alors ils le seront toujours et ce pour tous les successeurs de l automate initial calcul s par compl tion Ce r sultat est d ailleurs pr sent dans le lemme 6 2 11 Definition 6 2 7 Basiques compatibilit pour un automate Soit S un ensemble de termes clos tel que S BasiquesNT F Soit A F Q Qj A un automate d arbre R un syst me de r criture et y une fonction d approximation tels que pour toute r gle l gt r ER l r Termes La paire A y est dite Basiques compatible si 1 Pour tout t S il existe un unique terme slic t de A tel que t t L unique tat associ au terme t est not q 1 e On note Qpasiques A 4 E Q t E SI 2 Pour tout q Qpasiques A le
243. l exploration d espace diff rentes techniques sont utilis es les m thodes utilisant des syst mes de r criture BLP03 GK00 DMT98 les m thodes de r solution de contraintes MS01 RTO1b les techniques de model checking BM03 ACO2b Ros94 MMS97 Ce survol rapide souligne la diversit des approches utilis es Dans ce contexte nous pr sen tons un chantillon de ces formalismes ainsi que des outils les utilisant Nous nous int ressons particuli rement aux formalismes suivants les Strands les syst mes de r criture les closes de Horn et le mod le Millen Rue 3 1 1 Strands Le mod le Les Strands sont la base une repr sentation graphique tr s pratique pour la preuve ma nuelle JTFHG98 JTFHG99 La figure 3 2 utilise la repr sentation des strands pour sp cifier le protocole donn figure 3 1 en consid rant que pour deux termes t1 et t2 t1 repr sente le chiffrement de t par tz alors que t t2 repr sente la concat nation de t et de ta 3 1 D une multitude de formalismes 31 Alice A B Kab M M Bob A B Kab M M 1 Kab M kas Is Kab M kab FIG 3 2 Repr sentation du protocole figure 3 1 par des Strands Les termes Alice A B Kay M M et Bob A B Kw M M sont appel s Strands et sp ci fient chacun les actions pr d finies de chaque r le Un v nement appel event est d crit sous la forme t o t est un terme sign
244. l Couvreur pour son int r t port nos travaux en ayant accept d tre membre de ce jury Mes chers responsables Olga et Pierre Cyrille Cela va tre difficile d exprimer toute ma gratitude par ces quelques lignes Mais bon je vais essayer tout de m me Que des responsables d une th se soient des personnes comp tentes cela va de soi Je ne vais pas faire l loge de vos qualit s professionnelles car nul n en doute L o je trouve que cet encadrement m rite d tre soulign c est par cette relation qui s est install e entre nous trois durant ces trois ann es quatre avec le DEA Une relation bas e sur des principes l mentaires tels que la sinc rit l honn tet et la confiance Nous avons form durant ces trois dernieres ann es un trio soli daire avec pour r sultat les diff rents travaux pr sent s dans ce m moire Nul doute que votre cot iement quotidien vos conseils vos remarques et ton feutre rouge Olga m ont permis d voluer Je tiens galement vous remercier pour la libert que vous m avez donn e dans le sens o vous m avez permis de travailler en solo avec Thomas Micha l je te dois galement beaucoup car grace toi j ai pu effectuer cette th se Non seulement tu as rendu possible cette th se gr ce un co financement mont entre la r gion de Franche Comt et l INRIA Lorraine mais tes conseils ont galement t d terminants pour la bonne tournure prise par
245. l kab symkey declare m nonce begin recv start new m send kab symcrypt sym kab m end FIG 4 6 Exemple de r le en PROUV En ce qui concerne les variables et les constantes des traitements pr liminaires sont sou vent n cessaires comme par exemple le renommage de variables PROUV En PROUV une m me variable peut tre d clar e plusieurs fois au sein du m me r le et avec des types diff rents mais des niveaux d imbrications diff rents En IF comme en HLPSL cette action demeure impossible Ainsi un renommage de variables consiste l ajout d un suffixe permet tant de distinguer chaque nouvelle d claration d une variable donn e De plus en IF aussi bien qu en HLPSL une convention de nommage impose que les symboles fonctionnels doivent commencer par une lettre minuscule alors que les noms de variables doivent d buter par une lettre capitale Ainsi chaque nom de variable PROUV est pr fix par V_ et chaque constante ou symbole non pr d fini en IF est pr fix par c_ 74 Chapitre 4 HLPSL amp PROUV Exemple 4 4 3 Blocs de d claration imbriqu s et correspondance en IF Pour un imbriquement comme ci dessous declare xo Int begin declare x message begin end end nous obtenons en F les d clarations ci dessous Vx Ls hat V_x_2 message R les Un r le PROUV est transcrit en IF en plusieurs r gles ou transitions A une instruction PROUVE corr
246. la section concernant le pouvoir de l intrus En effet il est possible ici de sp cifier quelles actions l intrus est capable d effectuer Ensuite la seconde diff rence r side au sein du compilateur CASRUL Contrairement aux langages CASPER et CAPSL le compilateur calcule la connaissance de chaque participant au fur et mesure du 3 2 vers des langages communs explicites 51 PROTOCOL FIL ROUGE DENTIFIERS A B USER Kab symmetric_ key M number KNOWLEDGE A B Kab B A Kab MESSAGES 1 A gt B Kab M Kab ROLE A A a B b Kab kab B A a B b Kab kab A A I B b Kab kib INTRUDER DIVERT IMPERSONATE INTRUDER_KNOWLEDGE b a GOAL secrecy_of M FIG 3 9 Sp cification HLPSL du protocole fil rouge protocole Un exemple d une s quence de messages non traitable avec les autres langages est la suivante 1 A gt B M K is A gt B K itl B gt M Nous supposons que l agent B ne conna t pas initialement la cl K Cependant l tape i la cl est fournie Ce qui permet B d extraire du message re u la premi re tape M Il peut donc envoyer ce dernier l tape i 1 3 2 4 D autres mod les de sp cification Nous pouvons citer le langage LEVA JLM01 GLO1 auquel les outils Securify CMRO1 et Hermes BLP03 sont connect s les connexions sont d crites dans Cor02 GLO2 Un out
247. le view only as ds eus EK Ref ad EN 4 161 9 1 Semi algorithme de construction de s quence avec Ay l ensemble initial de 92 9 3 9 4 9 5 transitions Az l ensemble des transitions de automate complet A et t le terme Atendre NS AE elses dad Sl LS ans RUES Seal A eu 175 Sp cification d syst me aulas Do e Gea Ok GO Bees AE A ee nee 180 Configurations initiales du syst me 182 Needham Schroeder Public Key par un syst me de r criture 184 Trace constitit A A A Hoe Re ed ete eS 185 1 1 3 1 4 1 4 2 7 1 Liste des tableaux R sultats de complexit pour le probl me de s curit sous l hypoth se de la cryptographie parfaite 24 bag den du ges ge atlas ea 14 Syntaxe pour la description de protocoles de s curit dans GK00 37 Traduction de types PROUV en state Res een 73 Traduction des instructions PROUVE simples en r gles 75 Exp rimentations sur le secret 5 Le a A lee ee 151 xi xii Liste des tableaux 1 Introduction Sommaire 1 1 S curit et protocoles de communication 1 1 1 Quelques notions de cryptographie Un brin d histoire Chiffrements et hypoth ses de chiffrement parfait Concat nation o o e a 4e 1 1 2 Diff rents types de protocoles Protocoles d authentification et d
248. le une copie Un protocole une copie est un protocole o chaque tape il existe au plus une donn e inconnue partir de l ensemble des donn es d duites en respectant les hypoth ses du chiffrement parfait du message re u Par exemple dans l tape 1 du protocole NSPK figure 1 1 il n y a aucune copie du point de vue de A Du point de vue de B il conna t l identit A et stocke dans une variable la valeur Na Il s agit alors d une copie A l tape suivant fait galement une copie du nonce Nb Comme a chaque tape une copie au plus est effectu e NSPK est un protocole une copie Les r sultats de complexit li s ces classes de protocoles sont donn s dans le tableau 1 1 extrait de CDLOS Dans cet article d autres r sultats de complexit s sont donn s en particu lier lorsque l hypoth se du chiffrement parfait est relax e en prenant en compte les propri t s alg briques de certains op rateurs propri t s du chiffrement par bloc du etc 7 Nombre de sessions non born Nombre de sessions born Sans nonce Avec Nonces longueur born e des messages longueur born e des messages DEXPTIME complet Ind cidable DLMS99 CKR 03b DLMS99 AC02a Protocoles tagg s Protocoles fortement typ s EXPTIME D cidable Low98 co NP complet BP03 Protocoles tagg s RTO1a D cidable RS03 une copie protocoles Ping Pong 3 EXPTIME PTIME CLC03a DEK82 Ind cidable EG83 CC05 TAB 1
249. lectronique dans BDKV05 4 2 HLPSL Le langage HLPSL High Level Protocol Specification Language CCC 04 est un lan gage de sp cification de protocoles inspir de TLA Temporal Logic of Actions Lam94 un langage tr s bien adapt la sp cification de syst mes concurrents Ce langage propose une repr sentation modulaire d un protocole permet des contr les de flux ou encore la sp cification de comportements complexes boucles Il est alors possible d exprimer des protocoles Internet modernes L id e principale est de repr senter un protocole de s curit par un syst me d tats transitions pour lequel il est possible de v rifier des propri t s de s ret exprim es en logique temporelle lin aire LTL Les sp cifications HLPSL de protocoles sont divis es en r les Deux cat gories de r les sont distingu es les r les dits basiques et les r les dits de composition La premi re cat gorie permet de sp cifier le comportement des agents honn tes d un protocole en associant un r le basique par participant au protocole La seconde cat gorie de r les instancie les r les basiques afin de mod liser le protocole dans sa totalit Nous pr sentons dans la section 4 2 1 la syntaxe de ces r les ainsi que leur s mantique Nous observons dans la section 4 2 2 que la description de ces r les n cessite parfois l utilisation de transitions Le but de ces sp cifications tant de pouvoir v rifier des propri t s
250. les r gles non lin aires gauche Pour une r gle donn e r les variables non lin aires de sont renomm es ce qui donne le terme l Ensuite les auteurs v rifient que pour toute substitution o X Q telle que l c q o q est un tat de pour les variables x1 n 11 est une variable qui renomme x L A o xix O L A o xjs avec i j Si cette condition n est pas satisfaite alors la compl tion cesse Il faut alors changer de fonc tion d approximation et recommencer le calcul Dans certains cas un expert peut ventuellement d finir sa fonction d approximation de telle sorte que la condition soit toujours satisfaite A nouveau pour un non initi il peut s av rer difficile de manipuler une telle technique sans recommencer les calculs plusieurs fois Notre m thodologie est d di e la v rification automatique de protocoles de s curit En v rifiant une seule fois nos crit res ils sont alors valables tout au long de la compl tion ce qui est compatible avec l automatisation que nous annoncions au chapitre pr c dent Dans OT04 les auteurs utilisent une technique de compl tion proche de celle d crite dans FGV04 mais adapt e aux automates d arbres associatifs et commutatifs et propos e pour trai ter les r gles non lin aires La technique est d abord de renommer les variables non lin aires 142 Chapitre 6 D marche fond e sur des approximations par exemple 21
251. lesquelles nous associons des donn es en entr e d un certain type et un type de retour Dans le contexte des termes l id e est quelque peu semblable Un symbole fonctionnel f pour lequel une signature est d finie sign f ty x X ty ty suppose que pour tout terme t 7 F et pour toute position p Pos t si t p f alors type t ty pour 1 lt 3 lt mnm Exemple 5 1 3 Soit a b c d e des l ments de Fo tels que type a type b agent type c symmetric_key type d text et type e nat Soit state_Alice un symbole de F tel que sign state Alice agent x agent x symmetric_key x text x nat gt fact Soit t to T F tels que t state_Alice a b c d e et to state Alice a a b c e Le terme t respecte la signature donn e alors que tz non car b n est pas de type symmetric_ key et c n est pas de type text Nous introduisons une notion de terme bien form moins restrictive que celle du respect stricte de la signature entrevue dans l exemple pr c dent Cette notion de termes bien form s est utile lors de l algorithme d unification que nous pr sentons dans la section suivante Intuitivement un terme est bien form si les signatures des symboles fonctionnels sont res pect es selon la hi rarchie d finie dans la figure 5 2 Definition 5 1 4 Terme bien form Un terme t T F X est bien form si pour tout p Pos t tl f ti tn il existe ty
252. leted message W nat K text tex const sec_t_Log init State 0 transition 1 State State 1 7N 2 State 1 State 2 end role role session sec_t_Pwd p RCV A S Na Nb new Rnumber2 Annexe B Sp cification HLPSL du protocole 1 nc key nc dy t rotocol_id Y A S Na Y _inv Ka gt new SND A S Na Nb exp G Rnumber2 A S Na Keycompleted secret Login secret Pwd A witness S A RCV Login A K Login A request S A A S agent Login Pwd hash_func Ka public_key Ks public_key H hash_func G nat def local SndI RevI SndT RevT channel composition exp Y Rnumber2 A S sec_t_Log A S sec_t_Pwd A ktrgtint Keycompleted S Pwd A S _Keycompleted S Pwd A S k Keycompleted dy initiator A S G H Ka Ks Login A S Pwd A S SndI RcevI target end role role environment def const a s i b agent ks public_key ka ki kb login pwd hash_func h hash_func g nat A S G H Ka Ks Login Pwd SndT RcvT b exp G Rnumber2 _inv Ks gt PKEY k ktrgtint protocol_id intruder_knowledge ki i inv ki a b s h g ks login i s pwd i s ka composition session a s login pwd ka ks h g session b s login pwd kb ks h g session i s login pwd
253. lgu volontairement 186 Chapitre 9 Reconstruction de traces sens dans un mod le tel que les clauses de Horn car c est un mod le o les r gles sont ex cut es dans un ordre quelconque et o toutes les sessions sont m lang es De plus les donn es fra ches sont fr quemment abstraites en un nombre fini de donn es Dans ces conditions une fois qu un secret court est mis disposition de l intrus il est alors consid r comme connu illicitement par lintrus Ce qui peut ne pas tre le cas dans un contexte o le nombre de sessions est fini Dans ABOSb les auteurs parviennent distinguer ces cas Notre objectif tait d tablir une m thode g n rale de reconstruction Nous avons donc les m mes probl mes que les auteurs de Bla01 Une attaque peut en effet tre une fausse attaque en r alit Il serait peut tre int ressant de s inspirer des id es issues de ABO5b pour tre galement capable de distinguer les fausses attaques des vraies Les travaux d crits dans NRV03 NRO5 sont beaucoup plus proches des n tres En ef fet les auteurs proposent une m thode compl te et correcte pour la reconstruction d attaque galement dans le cadre de la m thode d crite dans GK00 Ils adoptent aussi une reconstruc tion en arri re mais contr lent leur espace de recherche avec un mod le tr s fortement typ issu d une notion de termes bien form s Par exemple dans le protocole NSPK donn dans la figure 9
254. lors il tait suffisant de consid rer uni quement deux agents un honn te et l autre non Dans ces conditions et en particulier pour les propri t s de secret une telle abstraction s av re correcte et compl te Si le secret n est pas v rifi sur le mod le 2 agents il ne l est galement pas non plus sur un mod le avec plus de deux agents Les mod les utilis s dans GK00 OCKS03 BLP03 respectent les caract ristiques mentionn es ci dessus 5 4 1 Fusions d agents Le passage de n agents uniquement deux s effectue par une abstraction par fusion des agents Tous les agents malhonn tes sont r unis en un seul et tous les agents honn tes galement comme illustr dans la figure 5 4 2 a liste des citations est non exhaustive Il s agit d une repr sentation couramment utilis e 5 4 Mod le deux agents 111 FIG 5 4 Abstraction des agents Nous n utilisons pas la m me repr sentation des donn es que celles li es aux approches mentionn es ci dessus Cependant la repr sentation des donn es fra ches nonces cl s sym tri ques reste comparable La principale diff rence r side en la sp cification des donn es long terme Une donn e long terme est une donn e dont la valeur n est pas modifi e lors de l ex cution du protocole Exemple 5 4 1 La cl publique de l agent a et une cl partag e entre les agents a et b s ex priment respectivement par pk a et sk
255. m Rip x EVar ett Tsign F X une abstraction correcte de x L ensemble t Taign F Ip Var te gt Tagnp Fr tp t est fini PREUVE Pour une sp cification IF les ensembles Agents et Nats sont finis De plus pour tout f Fra i gt 0 signi f message fact signifiant alors pour toutt Tgign Fir Vir si type t agent nat alors t Agents U Nats 5 1 D apr s la d finition 5 1 6 pour toute substitution p Var ts gt Tsign F A si tap Tsign F alors p est une substitution bien sort e 5 2 Par d finition Var t Ap Ainsi partir de 5 2 nous d duisons que pour tout y Var tz ply Tsigne Fir et type x mpetype p x 5 3 94 Chapitre 5 De F vers une v rification de protocoles par approximations D apr s la d finition 5 1 24 ty est de la forme f t1 t avec f Fws et t1 tn Agents U Nats Donc Var t Agents U Nats Ainsi en utilisant 5 3 et d apr s la figure 5 2 pour tout y Var tz P Y Tsign Fir et type p y type y agent 5 4 Alors d apr s 5 1 et 5 4 ply Agents U Nats N Teign Fir Comme les ensembles Agents et Nats sont finis il existe alors un nombre fini de substitu tions telles que p Par cons quent l ensemble t Tsign F de Var te gt Tsign A1F top t est fini Nous avons pr sent dans les sections 5 1 1 et 5 1 2 un so
256. mblable celle d crite dans RTO1b Chaque r le est repr sent par un Strands Contrairement Athena l intrus n est pas repr sent par un ensemble de Strands Le pouvoir de d composition de lintrus et d analyse sont repr sent sous forme d ensembles de r gles de r duction alors que le pouvoir de composition est d fini en fonction des Strands sp cifi s Un ensemble de contraintes est construit partir des Strands pour repr senter des s quences de noeuds o un noeud v nement est pr c d d un noeud La construction de ces s quences peut tre guid e pour viter de consid rer un nombre trop lev et pas n cessairement pertinent de s quences Aux v nements issus des Strands sont ajout s les v nements issus des propri t s lors de la construction des s quences Par exemple pour exprimer le secret de la donn e M nous ajoutons le noeud M Pour chaque s quence un arbre dont chaque noeud est un ensemble de contraintes est alors construit Une proc dure de r duction est alors appliqu e cet arbre en esp rant obtenir soit un ensemble de contraintes vide soit un ensemble de contraintes qualifi es de simples sachant qu une contrainte est une paire m T o m est un terme et 7 un ensemble de termes et qu une contrainte simple est telle que m est une variable Dans le cas o le processus de r duction est stabilis et o l ensemble des contraintes n est pas un ensemble de
257. me de r criture En effet cet automate 1 reconna t la connaissance initiale de l intrus ainsi que l tat des divers agents effectuant des sessions de protocoles et 2 attribue des tats sp cifiques aux instances des abstractions d termin es lors de la construction du syst me de r criture Pendant cette phase nous pouvons passer un mod le contenant uniquement deux agents comme d crit dans la section 5 4 La fonction d approximation est g r e deux endroits diff rents La description symbolique est donn e par le traducteur IF2TIF En effet pour la partie droite de chaque r gle not e r ici un ensemble de transitions symboliques permettant de r duire r sur un tat symbolique y La partie fonctionnelle i e la gestion de la sur approximation ou de la sous approximation est d crite l int rieur de Timbuk La sp cification ci dessous correspond la traduction de la sp cification IF du protocole fil rouge d crit au d but du chapitre 3 Ops secretOna 5 i 0 set_42 0 dummy_text 0 kab 0 b 0 a 0 text 1 sk 1 agt 1 msg 1 nat 1 nil 0 state bob 6 state _alice 7 iknows 1 scrypt 2 pair 2 start 0 na 0 un 0 zeros 0 default30 3 text 1 inv 1 and 2 Vars Xdefault30 Mstate_bob Dummy_Set_16state_ alice Dummy_Mstate_alice Kabstate_alice Dummy_Mstate_bob Kabstate_bob Astate_bob Bstate_bob Astate_alice Bstate_alice x18 delphine x16 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 x1 x0 alpha x yz TRS TermrewritingSystem and
258. mp ayant des propri t s alg briques sp cifiables par des r gles non lin aires Notre technique pr sent e dans le chapitre 6 ne permet pas la gestion de cette non lin arit car les variables en cause sont des variables de type message et donc n appartenant pas Basiques Donc nous pr sentons dans le chapitre 8 une m thode permettant le calcul de sur approximations correctes dans le cadre de v rification de protocoles 2 Un secret d une donn e valable jusqu une tape donn e du protocole Ensuite la donn e peut tre divulgu e 154 Chapitre 7 TA4SP un outil pour la v rification 8 Extension aux propri t s alg briques Sommaire 8 1 l 4 7 SUDSUMHONS A SARA ye EA A AM 156 8 2 Approximations pour des syst mes de r criture non lin aires 158 8 2 1 Normalisation 158 8 2 2 Compl tion 2 2 64 es e 188484 aa 159 8 3 Etude de cas le protocole View Only 161 8 4 Comparaison d autres travaux 162 Les op rateurs propri t s alg briques sont couramment utilis s dans des protocoles des tin s tablir une cl secr te entre plusieurs individus Par exemple le mode d change Diffie Helmann pr sent dans la section 1 1 2 est fond sur les propri t s de l exponentielle Nous rappelons le d roulement de ce protocole Soit G un entier connu par tout le monde A et B sont deux agents Na et Nb sont deux n
259. n pwd ki ks h g end role goal Target authenticates Initiator on k o authentication_on k addresses Gl G2 and G3 Ssecrecy_of Login Pwd secrecy_of sec_i_Log sec_i_Pwd sec_t_Log sec_t_Pwd adresses G7 and G10 adresses G7 and G10 2 6 2 6 end goal environment 204 Annexe C Sp cification HLPSL du protocole LIPKEY version anonyme ABO5a ABO5b ABB 02 ABB 05 ACO2a ACO2b ACG03 Ada96 AF01 Bibliographie X Allamigeon and B Blanchet Reconstruction of attacks against cryptographic protocols In CSFW pages 140 154 2005 X Allamigeon and B Blanchet Reconstruction of Attacks against Cryptographic Protocols In 78th IEEE Computer Security Foundations Workshop CSFW 18 pages 140 154 Aix en Provence France June 2005 IEEE Computer Society A Armando D Basin M Bouallagui Y Chevalier L Compagna S M der sheim M Rusinowitch R Turuani L Vigan and L Vigneron The AVISS Security Protocol Analysis Tool In Proceedings of CAV 02 LNCS 2404 pages 349 354 Springer Verlag 2002 A Armando D Basin Y Boichut Y Chevalier L Compagna J Cuellar P Hankes Drielsma P C H am O Kouchnarenko J Mantovani S M dersheim D von Oheimb M Rusinowitch J Santos Santiago M Turuani L Vigano and L Vigneron The AVISPA Tool for the automated validation of internet security protocols and applications In K Etessami and S Rajamani editor
260. n de calculs interm diaires etc Les transitions et leurs s mantiques sont d crites dans la section 4 2 2 La seconde cat gorie de r le dits de composition permet de d finir l instanciation des r les basiques et ainsi d finir le protocole en tant que session Exemple 4 2 4 Soit un protocole tant compos de deux r les principaux alice et bob Le r le alice est celui d clar dans l exemple 4 2 2 Le r le bob poss de les m mes param tres que le r le alice mais est jou par l agent B contrairement au r le alice jou par l agent A Une session de ce protocole est d clar e de la mani re suivante role session A B agent Kab symmetric_key def local SA RA SB RB channel dy composition alice A B Kab SA RA A bob A B Kab SB RB end role Un autre r le de composition est celui usuellement appel environment Ce r le ne poss de aucun param tre et exprime l tat initial du syst me en pr cisant d un c t la connaissance ini tiale de l intrus par la clause intruder_knowledge et d un autre c t un nombre fini d instances du r le session 4 2 HLPSL 61 Exemple 4 2 5 Sp cification d une session Le r le ci dessous exprime une session du proto cole entre les agents a et b utilisant la cl sym trique kab Les donn es a b et kab sont des constantes associ es un type dans la section const L intrus conna t initialement les agents a et b role environment def const a
261. n du secret du nonce g n r par A soit effectu e par B Il peut le faire 1 soit la r ception du premier message venant de A 2 soit la r ception du second Dans les deux cas nous obtenons une attaque En effet supposons que B d clare secret le nonce g n r par A l tape 2 du protocole la r ception du premier message venant de A En notant I A l usurpation d identit de l agent A par lintrus nous obtenons alors l attaque suivante I A gt B N I B 1 A _Kb 5 2 Sp cification du secret 107 B gt A N I B 1 N B A 2 B Ka B d clare N 1 B 1 comme un secret entr A et B Cette attaque n est pas r alisable dans le sens o lorsque A re oit le message N I B 1 N B A 2 B Ka il ne l accepte pas car A n a jamais g n r le nonce N I B 1 La ses sion est donc interrompue En d pla ant la d claration du secret la seconde r ception du message provenant de A le secret n est toujours pas pr serv Session 1 A gt B N A B 1 A Kb B gt A N A B 1 N B A 2 B Ka A gt B N B A 2 Kb Session 2 I A gt B N I B 1 A _ Kb B gt A N I B 1 N B A 2 B Ka I A gt B N B A 2 _ Kb message rejou de la session 1 B d clare N 1 B 1 comme un secret entr A et B L encore ce n est pas une attaque r elle dans le sens o le participant A de la session 2 ne peu
262. n g n ral ind cidable Ceci est d entre autres aux diff rentes sources d infinitude par exemple la g n ration de nonces la taille des mes sages et le nombre de session Des r sultats de d cidabilit ont t obtenus pour des protocoles des classes suivantes protocoles ping pong protocoles tagg s avec nonces protocole une copie et sans nonce protocole sans nonce et avec une profondeur de message born e Nous d crivons pr sent ces diff rentes classes de protocoles Protocole ping pong Un protocole ping pong se d roule entre deux agents Chaque partici pant applique une s quence d op rations sur le dernier message re u avant d envoyer le r sultat obtenu La liste des op rations permises tait au d part limit e au d codage et au chiffrement puis elle a t tendue avec la concat nation et la suppression d identit s 14 Chapitre 1 Introduction Protocole tagg Dans RS03 BP03 un protocole tagg est un protocole dont chaque op ra tion de chiffrement de signature de hashage est d cor e d une constante Pour une sp cification donn e de protocole tagg si f c1 t1 tn g C2 t1 t et c c alors f g et t ti pour l n Exemple 1 1 2 Version tagg e du protocole NSPK figure 1 1 AB c1 Na A Ko BoA cNb Na ka AB c3 Nb ko Les donn es C1 Ca et cz sont des constantes identifiant les trois chiffrements effectu s dans le protocole NSPK figure 1 1 Protoco
263. n premier temps les tests comparatifs en tant que termes puis dans un second temps d exprimer cond sous forme normale disjonctive De plus s il existe une clause else nous devons aussi expri mer not cond sous forme normale disjonctive 78 Chapitre 4 HLPSL amp PROUV FIG 4 9 Traduction de if cond then il else il fi a pour C 4 0 et Cy 0 b pour Ci Det Ca 0 lt A gt if cond then lt B1 gt else lt B2 gt lt C gt o cond x 0 not x 0 amp amp y lt 10 Remarquons que co nd est d j sous forme normale disjonctive Exprimons not cond galement sous forme normale disjonctive not cond not x 0 not x 0 amp amp y lt 10 not x 0 amp amp not not x 0 amp amp y lt 10 not x 0 amp amp not y lt 10 La figure 4 10 repr sente les r gles g n r es partir de l exemple ci dessus o l tat de d part est A et l tat d arriv e est B1 si cond est satisfaite ou B2 sinon Nous supposons que les identifiants PROUV x y z sont traduits en IF respectivement par V_x V_y V_z Le dernier tat C est choisi de la m me mani re que pour l instruction choice dans la section pr c dente Sc nario La section sc nario d un protocole PROUV d crit comment les instances de r les sont initialis es Par faute de temps nous ne traitons que les sc narios compos s des instructions ci dessous dans le cadre de ce
264. nature de chaque symbole de Fri est attribu e par la fonction sign suivante de la fa on prtct Sign fx public key gt public keY protected SION fsx symmetrickeyt gt symmetric_keYprotected Sign fag agent gt agent protected SIQN sr fnat nat gt nat protected SIQN set Set gt Set protected SIGN puel fia identifier identifierprotected SIQN sr Feat textr text protected S JN prer Foot boolr bool protected Algorithmes de traduction L algorithme ci dessous prot ge tout terme de 7 M Ar avec des symboles fonctionnels de F abs Algorithme 5 1 29 Soit t T M A La fonction Trad est d finie pour t comme suit 5 1 Traduction d une sp cification F en un syst me de r criture R et un automate d arbre Ay97 Trad t t pair t t2 pair Trad t Trad t2 t crypt ti te crypt Trad t Trad t2 t scrypt ty t2 gt scrypt Trad t Trad te t apply ty t2 gt apply Trad t Trad t2 t exp t1 t2 o exp Trad t Trad t2 t xor t t2 b gt xor Trad t1 Trad ta t inv t1 gt inv Trad t type t messageet t tex type t messageet fail te Fo t Agents Faget te Texts E Fiexra t t Keys fat sitype t symmetric key k t si type t public key t Nats gt Fale te Sets E Fs e t Bools E fooot t t Functions gt Fret t Identifiers gt fia t Les r gles ci dessous permetten
265. ne instance de B pour les valeurs stock es dans W1 doit tre galement en accord avec cette m me instance sur les valeurs stock es dans les variables V1 Comme pr cis pr c demment pour chaque tape le message envoy l auteur du message et le destinataire sont sp cifi s La sp cification du protocole fil rouge d crit dans la figure 3 1 est donn e dans la figure 3 6 PROTOCOL Fil _ rouge VARIABLES A B Principal M Field FRESH CRYPTO Kab Skey CRYPTO ASSUMPTIONS HOLDS A A B Kab HOLDS B A B Kab MESSAGES 1 A gt B Kab M Kab GOALS SECRET M A B END FIG 3 6 Sp cification CAPSL du protocole fil rouge Lors de la d claration des variables dans l exemple de la figure 3 6 des arguments peuvent tre ajout s a la d claration comme CRYPTO et FRESH Le premier permet de sp cifier qu une donn e n est pas devinable a partir d un chiffrement sauf videment si la cl utilis e est connue Concr tement dans l exemple donn cela signifie que M ne peut pas tre inf r partir du message M Kab sans effectuer des op rations sur le message M Kab L argument FRESH 46 Chapitre 3 Des outils de v rification de plus en plus accessibles signifie lui que la variable d clar e stockera une valeur al atoirement g n r e Dans la section ASSUMPTIONS les hypoth ses initiales li es aux r les sont pr cis es Par HOLDS A A B Kab l hypoth se s
266. ne s quence ta TE tartes to telle que t tn Vi 0 n ti gt A qr et to 94 alors il existe un terme s L Ag tel que s to et s t De plus il existe une trace q Ao R P rin Pn rlo po Sn Bn1 81 gt avec rl l gt r la r gle de l OCPC cp Sn s et s 1 silripil O lui si Pi PREUVE Soit P la propri t suivante pour une s quence tn er Laa da e to telle que to gt 4 4y il existe tp L Ag et to L Ap tels que ti tn to gt apto et to RU La preuve est par induction sur la longueur de la s quence consid r e 0 to tr Gp Puisque par hypoth se pour q Qo L 4o 4 0 il existe alors ty L Ao et to 4 to En posant t to tot donc Po Supposons que P est vraie n 1 Consid rant la s quence suivante t 1 un ensemble de paires de termes tel que CPn 1 Pn 1 cp1 P1 lt tn lt to posons S comme S tato th L Az to E L Ao to Apto tra tn ett RE Comme P est vraie S D apr s la d finition 9 1 14 il existe une substitution o X m T FU Q telle que tn title E Ag nei tn 1lpny1 t Tn 10 gt A n 1Pn 1 POUL CPn 1 ula to spa De plus ra 10 L Pn gt h Tn 10 A Qn 1 implique que 10 LI Prti a inti Pnti a Indl et que tn La pare 9 1 M thode de reconstruction 169 tn41 Qn 1lpn41 En Cons quence pour tout s sy S il existe une substitution u Y T F telle que s p lnti h
267. ne transition est dite silencieuse si elle ne correspond aucune action effectu e par un agent ou une instruction PROUV Il faut tout de m me prendre en compte le cas d chec Si le dernier tat d une s quence est O alors nous n ajoutons pas de transition silencieuse 4 8a a b As A ily il il ih i il P O Ce ec A Ce FIG 4 8 Traduction de choice il il ilp end a pour C 0 1 lt j lt k b pour k 3 Ci 0 C2 2 Det Cz 0 L instruction if then else L instruction PROUV if cond then il else il fi ex cute la premi re liste d instructions il si la condition cond est satisfaite ou la seconde il si ce n est pas le cas et si une telle liste d instructions existe else ila Cependant la gestion des conditions est un point sensible Tout d abord parce que nous ne pouvons exprimer en IF que des conditions sous forme de conjonctions de clauses o une clause est de l une des formes list e dans le tableau suivant galit in galit inf rieure n gation appartenance Or en PROUV il est possible d exprimer n importe quelle condition bool enne Il est donc n cessaire de d finir un ensemble de conditions pour lequel nous pouvons donner une traduction en IF Nous nous limitons pour le moment quivalent PROUVE des op rateurs list s dans le tableau pr c dent Pour une condition cond donn e il est galement n cessaire de r crire dans u
268. ngage IF et adapt aux techniques de r criture Nous pr sentons galement une technique de v rification diff rente en pratique de celle adopt e dans GK00 Nous d taillons aussi divers choix effectu s propos d abstractions pour l obtention de mod les compacts et ainsi plus faciles v rifier Dans le chapitre 6 nous d finissons les crit res garantissant la correction des approximations effectu es pour la v rification des protocoles de s curit Nous donnons de plus deux classes de fonctions d approximation correctes et pouvant tre g n r es automatiquement L impl mentation des techniques pr sent es lors des chapitres 5 et 6 r sulte sur l outil TA4SP l un des quatre outils de v rification officiels de l outil AVISPA Les caract ristiques de cet outils le mode d emploi ainsi que les r sultats obtenus sont pr sent s dans le chapitre 7 Comme soulign dans la section pr c dente nous avons adapt la technique de compl tion GK00 pour la v rification de protocoles cryptographiques mettant en jeu des op rateurs a propri t s alg briques Ces modifications et une tude de cas sont pr sent es au chapitre 8 Enfin le chapitre 9 est d di la m thode de reconstruction de traces travail effectu en col laboration avec Thomas Genet Nous avons effectu s plusieurs exp rimentations dont l une concernant les protocoles de s curit Nous sommes en effet parvenu reconstruire l att
269. nifiables mais non unifiables en consid rant la d finition classique d unification Definition 9 1 3 A Unificateur Soit A un ensemble de transitions t T F X ettz T FU Q Une substitutiono X gt T F U Q est un A unificateur de t et tz si et seulement si L tio to et 2 pour tout x Var t si Pos t1 MN Posr t2 0 alors o x t2 o p Pos t1 MN Posr ti sinon o x q avec q Q Malheureusement en g n ral pour deux termes t et to il peut exister plusieurs A unifi cateurs L exemple ci dessous illustre le cas o t n est pas lin aire Exemple 9 1 4 Soit t f g x h y y ta f q h g a g q2 et un ensemble de transi tions A contenant au moins les transitions suivantes a q2 g q q1 g q1 q et g q2 gt q1 Les deux substitutions 0 x q y gt g a et o x gt g q y gt g a sont deux A unificateurs de t et t Car f g q h g a gla Af q h g a g q2 en utilisant les transitions g q q1 et a Q et de plus o1 y g a Nous pouvons trivialement v rifier que 02 est galement un A unificateur Par contre la substitution og x q y gt g q2 ne l est pas car g q2 H19 a et par cons quent ti03 Ata Notons galement que le point 2 n est pas non plus satisfait de la d finition 9 1 3 pour 03 Par fta t1 t2 nous repr sentons l ensemble des A unificateurs de t et ta Comme le montre l exemple ci dessu
270. nitial est repr sent par un langage d automate d arbre il reste l individu sp cifier l tat non souhait Ensuite le prototype retourne le comportement trouv la trace Enfin l individu corrige son programme en fonction de la trace obtenue 9 3 2 Processus concurrents L exemple suivant d crit le comportement de deux processus concurrents Chacun d eux a en entr e une liste en donn e et une file FIFO First In First Ouf Chacun des processus re oit une liste de symboles et compter en donn e Le processus appel P compte les symboles et lorsqu il lit un symbole P l ajoute dans la file de P_ Une fois la liste donn e en entr e puis e le processus P retourne le nombre de symbole qu il a compt Le processus P_ a exactement le comportement sym trique de celui de P Nous avons sp cifi ce syst me avec un syst me de r criture o S _ _ repr sente une configuration du syst me avec un processus P un processus P_ la file FIFO de P et enfin celle de P_ Le terme Proc _ repr sente un processus avec une liste donn e en param tre et un compteur Le terme add sp cifie l ajout d un l ment dans une file FIFO et les constructeurs cons nil s o sont les constructeurs habituels pour les listes et les entiers naturels resp ajout en d but de liste liste vide successeur et le zero 180 Chapitre 9 Reconstruction de trac
271. non atteignabilit En effet avec la reconstruction en arri re il se peut que l exploration diverge Exemple 3 1 7 L exemple donn dans Mea96b est le suivant Supposons que l on veut savoir si l intrus peut composer e kK Y o k repr sente une cl et e X Y signifie que le message Y est chiffr avec la donn e Y En utilisant la r gle de d codage de l intrus nous pouvons dire que e k Y est accessible partir de e X e k Y si lintrus conna t la donn e X Le rai sonnement est nouveau appliqu pour le terme e X e k Y en renommant les variables ie e X e k Y est accessible partir de e X e X e k Y partir du moment o lintrus conna t X Et ainsi de suite Clairement dans cet exemple l algorithme va boucler ind finiment et ce genre de cas est d tectable Cette notion de non atteignabilit est en partie li e au domaine de la preuve En effet la non atteignabilit est montr e par induction l aide de langages formels L id e est de repr senter par un langage tout comportement divergeant lors de l exploration et tous les tats connus inatteignables La technique des langages tait l origine manuelle Il fallait fournir l analyseur des lemmes permettant de conclure qu un tat tait non atteignable Dans Mea96c une tape a t franchie Catherine Meadows propose en effet diff rentes strat gies de g n ration automatique de langages qui en pratique ont d
272. nous avons particip l expression des propri t s de s ret AVIO4 Parmi ces propri t s nous retrouvons le secret l authentification forte l au thentification faible l anonymat la non r pudiation Dans SV06 la non r pudiation est ex prim e automatiquement sous forme de propri t s d authentification En HLPSL pour d finir les deux propri t s de base que sont le secret et l authentification nous avons d fini des v ne ments relatifs chacune de ces propri t s Cette notion est relativement proche de celle d finie dans RSG 00 En HLPSL nous d finissons des signaux permettant d exprimer le secret et les diverses notions d authentification secret X id A A La donn e X est secr te partag e entre les agents Aj a Ah witness Y X id Z L agent Y d clare qu il veut communiquer avec X et que la valeur Z permettra d authentifier l agent X request X Y id Z SID L agent X accepte la valeur Z et souhaite que 1 l agent Y existe r ellement et 2 que Z a t d termin par Y pour l authentification de X La variable Kab a t substitu e dans la transition par sa valeur i e kab 4 2 HLPSL 63 L v nement secret permet de d terminer les propri t s de secret alors que les deux autres v nements permettent la d finition de deux types de propri t d authentification authentifica tion et authentification forte Nous revenons sur ces notions d authentifi
273. nouvelles fonctionnalit s et o l on d clare ses imp ts via Internet le besoin d assurer la confidentialit des messages pour des raisons commerciales thiques ou juridiques et des donn es a consid rablement Syst mes o les d faillances peuvent avoir des cons quences d sastreuses 1 1 S curit et protocoles de communication 3 augment La s curit des communications repose essentiellement sur l utilisation de fonc tions math matiques complexes et sur l emploi de protocoles de s curit tablissant les r gles d change entre les divers points du r seau Ces diff rents protocoles sont aussi bien utilis s dans les distributeurs de billets la distribution de cha nes t l vis es payantes la t l phonie mo bile ou le commerce en ligne Il est difficile d un point de vue th orique et pratique de garantir qu un protocole de communication ne poss de pas de faille de s curit Ma th se se place dans ce cadre d velopper des techniques de v rification de protocoles de s curit qui font appel des notions avanc es d informatique fondamentale afin de les rendre disponibles de fa on simple aux ing nieurs d veloppant des protocoles L enjeu est donc double tre la fois performant dans la validation des protocoles et mettre ces performances la port e de non sp cialistes des m thodes formelles 1 1 S curit et protocoles de communication Par d finition un protocole de s
274. ns GK00 des pr cautions sont prendre pour que la correction de l approximation soit assur e L approximation est toujours correcte pour une certaine classe de syst mes de r criture Mais les syst mes de r criture permettant la v rification de protocoles de s curit n entrent pas toujours dans cette classe Il faut alors adapter l automate Ao ou la fonction d abstraction en fonction Ce qui n cessite nouveau une connaissance pointue dans le domaine En ce qui concerne la g n ration de la fonction d abstraction nous avons galement d termi n deux classes de fonction d abstractions ou d approximation Yy 4 et y pouvant tre g n r es automatiquement et autorisant le calcul de sur sous approximations de la connaissance de l in trus Extension aux op rateurs poss dant des propri t s alg briques Nous nous sommes int ress l affaiblissement du chiffrement parfait en consid rant par exemple les protocoles utilisant la primitive ou exclusif L expression des propri t s alg bri ques vues pr c demment de requiert l utilisation de r gles de r criture faisant sortir les syst mes de r criture des classes automatiquement adapt es aux approximations correctes Les crit res que nous avons propos s pr c demment ne suffisent pas pour assurer la correction des approximations dans ce cas l Nous avons alors modifi la m thode originale GK00 en consid rant des interse
275. nsitions d un terme slic t not A t correspond l ensemble des tran sitions de A d corant le terme slic t Definition 2 3 10 A t Soit A F Q Qf A un automate d arbre Pour t un terme slic de A l ensemble des transitions A t est d fini inductivement par A TF q Qn 4l t1 tn F a1 s aa gt 9 UU AG A a q aq si a Fo sinon Exemple 2 3 11 Soit t le terme slic pr sent lors de l exemple 2 3 9 Alors A t a gt q gl 42 45 h q2 gt 42 h a gt Q Toutes les notions techniques indispensables pour faciliter la compr hension de la majeure partie du document ont t introduites dans ce chapitre Nous pr sentons maintenant un ventail des diff rents formalismes de repr sentation de protocoles et galement un panach de tech niques de v rification associ es ces formalismes 3 Des outils de v rification de plus en plus accessibles Sommaire 3 1 D une multitude de formalismes 30 SAW Sands oiae ee ek Due tue RER OEE OS et OR 30 MOd les us sie Dir ho EM RE mA o G 30 Techniques de v rification utilisant les Strands 31 3 1 2 Syst mes de r criture 33 R criture par compl tion 33 Reconstruction en arri re 38 3 1 3 Quelques autres types de sp cification 40 3 2 vers
276. nstruction est A En g n ral l tat apr s l ex cution d une instruction est le prochain entier libre pour ce r le Cependant comme nous l avons mentionn auparavant il se peut que cet tat soit aussi un tat de blocage L instruction PROUV send M repr sente l envoi de M un agent ou plut t la mise disposition sur le r seau de la donn e M Comme nous l avons mentionn dans la section 4 3 en IF nous exprimons la m me action par le terme iknows M En PROUV l affectation d une variable soit par l interm diaire de l instruction new x repr sentant une affectation la vol e soit par le moyen plus classique x expr s exprime en IF par exists V_x gt o V_x est suppos e tre la traduction de la variable PROUV x en IF Puisque la valeur de la variable a chang au cours de l ex cution de cette transition l ancienne valeur est repr sent e par ajout de la variable Dummy_V_ x L instruction PROUV recv pattern bloque l ex cution du r le jusqu ce qu un message ayant la structure attendue soit re u Exemple 4 4 4 Soit une suite d instructions PROUV ci dessous cl recv x y o y est une variable pas encore instanci e Pour la d instructions ci dessus l instruction recv x y est bloquante jusqu la r cep tion d une message repr sentant un couple dont le premier l ment est 1 Une fois que la r ception est valid e la variable y es
277. nts a et b en un agent A Honnete et les agents i et e en un agent Amalhonnetes automatiquement Id aponnete Amalhonnete et par cons quent les ensembles des cl s sym tri ques et publiques sont galement mis automatiquement jour Le lien mis en vidence dans l exemple pr c dent entre les donn es et les agents n existe pas fondamentalement en IF Ce lien n est qu implicite pour la personne ayant sp cifi le pro tocole Ainsi le fait de fusionner les agents entre eux contrairement au mod le pr sent dans l exemple ci dessus n a aucune cons quence sur l ensemble des cl s sym triques des cl s pu bliques sp cifi es etc La section suivante pr sente une fonction d abstraction permettant de consid rer un mod le abstrait pour lequel parfois des propri t s tr s int ressantes peuvent tre exhib es 5 4 2 R duction d une sp cification IF deux agents En IF il existe un unique agent malhonn te i l intrus Tous les autres agents sont consid r s comme honn tes Nous proposons une fonction d abstraction permettant de r duire une sp cifi cation IF a une sp cification relatant des sessions se d roulant entre deux agents Non seulement nous devons fusionner les agents mais galement toutes les donn es a long terme comme les cl s sym triques etc Cependant ces fusions doivent tre relativement pertinentes pour garder un certain enjeu de v rification Les fusions que nous consid r
278. ocal State nat local State nat M text M text const idi protocol_id const idi protocol_id init State 0 init State 0 transition transition 1 State 0 A RCV start gt 1 State 0 A RCV Kab M _ Kab gt State 1 State 1 AM new end role A SND Kab M _ Kab A secret M id1 A B end role role session A B agent Kab symmetric_key def role environment local SA RA SB RB channel dy def const a b agent composition kab symmetric_key alice A B Kab SA RA A bob A B Kab SB RB intruder_knowledge a b end role composition goal session a b kab secrecy_of id1 end role end goal environment FIG 4 3 Sp cification HLPSL d un protocole fil rouge Nous retrouvons une structure quelque peu semblable la sp cification PROUV de la figure 4 2 c est dire deux r les pour exprimer les actions des agents A et B de la figure 3 1 durant le protocole A d bute le protocole la r ception du signal start en cr ant un nonce est en envoyant celui ci sur son canal d exp dition De son c t B attend un message sur son canal de r ception Une fois qu un message se pr sente la transition est activ e et les instructions dans la partie droite sont ex cut es 4 2 1 R les Comme nous l avons pr cis pr c demment il existe deux sortes de r les les r les basiques et les r les de composition Dans la premi re cat gorie de r les la connais
279. odage de l intrus peut tre interpr t e comme suit tant donn s une cl k et un message h lintrus peut envoyer h Le d codage est sym trique Une attaque sur le protocole fictif peut tre sp cifi e en Strands comme d crit dans la figure 3 3 Techniques de v rification utilisant les Strands A partir de ce mod le au moins deux m thodes de v rification ont t con ues lune utilisant la r solution de contraintes MS01 lautre le mod le des Strands Son99 32 Chapitre 3 Des outils de v rification de plus en plus accessibles Alice A B Kab M M Bob A B Kab M M T Kab M K ab 1 Kab M ka D Kab M Kav Kab M kav gt 1 Kab M kab R Kab M cas Kab M kav Kab M av D Kab M Kap Kab ey Kab AM Kab q M Kab FIG 3 3 Attaque sur le secret de M La m thodologie d velopp e dans Son99 est une automatisation de celles pr sent es dans JTFHG99 JTFHG98 L outil r sultant de cette automatisation est Athena Athena combine les techniques de model checking et de theorem proving avec un mod le Strand space pa ram trique pour r duire l espace de recherche prouver automatiquement la correction d un protocole ou d tecter une attaque sur un protocole Athena utilise deux notions additionnelles que sont semi bundles et goal bindings Un semi bundle est un ensemble de Strands f
280. ographiques de eva syntaxe abstraite et s mantique Technical Report 2 EVA 2001 J Goubault Larrecq Rapport Technique EVA No 8 Outils CPV et CPV2 2002 E Giunchiglia M Maratea A Tacchella and D Zambonin Evaluating Search Heuristics and Optimization Techniques in Propositional Satisfiability In R Gor A Leitsch and T Nipkow editors Proceedings of IJCAR 2001 LNAI 2083 pages 347 363 Springer Verlag 2001 L Gong R Needham and R Yahalom Reasoning about belief in cryptographic protocols In RSP IEEE Computer Society Symposium on Research in Security and Privacy 1990 Th Genet and V Viet Triem Tong Reachability analysis of term rewriting systems with timbuk Lecture Notes in Computer Science 2250 2001 Th Genet Yan Mei Tang Talpin and Val rie Viet Triem Tong Verification of copy protection cryptographic protocol using approximations of term rewriting systems In Proceedings of WITS 03 2003 D Harkins and D Carrel RFC 2409 The Internet Key Exchange IKE Novem ber 1998 Status Proposed Standard F Jacquemard and D Le M tayer Langage de sp cification de protocoles crypto graphiques de eva syntaxe concr te Technical report EVA 2001 F Jacquemard M Rusinowitch and L Vigneron Compiling and verifying secu rity protocols In Proceedings of LPAR 00 LNCS 1955 2000 F Javier Thayer Fabrega J C Herzog and J D Guttman Strand spaces Why a security protocol is corr
281. ois agents est couramment utilis pour d montrer de propri t s d authentification jusqu pr sent il ne me semble pas que cette abstraction ait d j t d montr e correcte voire m me compl te Mod lisation des canaux de communication Dans le langage HLPSL il est possible de d finir diff rents types de canaux de communi cation Il semblerait int ressant d tendre notre mod le avec la possibilit de d crire des canaux pouvant tre interdits en lecture ou en criture l intrus Cette perspective semble accessible dans le sens o la repr sentation d un canal par un terme ainsi que la sp cification des droits 191 sur ce canal par des r gles de r criture puissent justement autoriser une repr sentation proche de la r alit Pistes li es aux algorithmes D un point de vue algorithmique la poursuite de ces travaux s oriente logiquement sur deux axes 1 extensions li es TA4SP et 2 optimisation de l algorithme de reconstruction Extensions pour TA4SP Int gration de la reconstruction d attaque tant donn que nous avons d velopp un prototype de reconstruction de trace dans le cadre g n ral en r criture nous pouvons raisonnablement envisager l int gration de cette technique au sein de TA4SP Par l utilisation d di e la reconstruction d attaque il est envisageable de d finir des heuristiques propres ce contexte Une possibilit serait issue du constat qu il n
282. oit lhs state Alice A B Kab DM 0 iknows start la partie gauche de la r gle identifi e par st ep_0 voir exemple 4 3 4 L tat courant contient les faits iknows st art etstate Alice a b kab default 0 Posons t state Alice a b kab default 0 iknows start Ais ment nous parvenons trouver une substitution r sultant de l unification filtrage dans ce cas et en g n ral de t et lhs Cependant la r gle utilis e est quantifi e avec la clause exists M Si bien que la variable M ne poss de pas encore de valeur attitr e L algorithme associe une valeur al atoire ici 71 puis retourne la substitution p o toutes les variables sont instanci es Nous remarquons que la trace pr sent e dans la figure 4 5 est une attaque sur la propri t de secret id1 pr sent e dans les exemples 4 3 4 et 4 3 5 En effet le pr dicat d crit dans l exemple 4 4 Passerelles de HLPSL IF et de PROUV IF 71 4 3 5 est satisfait car l intrus conna t le nombre 71 alors qu il n est pas cens le conna tre secret 71 id1 a b 44 Passerelles de HLPSL IF et de PROUV IF Dans cette section nous d crivons dans un premier temps le passage automatique d une sp cification HLPSL une sp cification IF qui a t d velopp ant rieurement au d but de cette th se et mis jour tout le long du projet Puis dans un second temps nous pr sentons les bases d une traduction automatique du langage PROUV
283. ole fil rouge A B a b agent Kab kab symmetric_key M default D M text 04 1 2 nat Les variables sont repr sent es par des mots d butant par une lettre capitale alors que les constantes ou autres symboles fonctionnels d butent par une lettre minuscule ou par un chiffre inits Divers tats initiaux peuvent tre d finis dans cette section Les faits d tats concernant les agents honn tes uniquement sont initialis s avec leurs valeurs dites par d faut comme sp cifi en HLPSL La connaissance initiale de l intrus est galement repr sent e l aide de la conjonction de faits iknows Nous consid rons cet tat initial comme une configuration initiale du syst me tudi Exemple 4 3 3 Etat initial du protocole fil rouge iknows a iknows b iknows start state Alice a b kab default 0 state_Bob b a kab default 0 Remarquons la pr sence du message st art qui repr sente le signal de d part du proto cole rules Cette section contient une liste de r gles d crivant l volution du syst me No tons qu une r gle peut tre quantifi e par la clause exists X1 Xn qui dans le cadre de la v rification associe une valeur al atoirement g n r e chaque variable Xi Exemple 4 3 4 Description des r gles du protocole fil rouge 68 Chapitre 4 HLPSL amp PROUV step step_0 A B Kab D_M M state_Alice A B Kab D_M 0 iknows start exists M gt state_Alice A B K
284. oles de s curit sont r pertori es dans la section 1 1 3 et certains r sultats th oriques propos du probl me de s curit sont galement donn s 1 1 1 Quelques notions de cryptographie Un brin d histoire Est ce propre l humain d avoir ses petits secrets ou encore de vouloir transmettre des in formations autrui secr tement A priori l histoire donnerait raison cette supposition tant les humains ont redoubl d ing niosit pour coder des documents ou les dissimuler Cela d bute avec une recette d un potier irakien transcrite sur une tablette en argile en ayant supprim les consonnes et galement modifi l orthographe des mots vers 1500 av J C jusqu la machine Enigma utilis e par l arm e allemande lors de la seconde guerre mondiale et offrant des mil lions de milliards de combinaisons Nous pr senterons galement d autres techniques apparues depuis Enigma 1 e chiffrement asym trique partage de secrets avec une m thode fond e sur les 4 Chapitre 1 Introduction propri t s de l exponentiation Cependant entre la tablette du potier et la machine Enigma de nombreuses techniques ont merg nous retrouvons le b ton de Plutarque les cr nes ras s de Nabuchodonosor les codes de C sar le carr de Polybe le chiffre de Vigeni re etc Le b ton de Plutarque est une technique utilis e par les grecs entre 900 av J C et 600 av J C Une bande de cuir est enroul e au tour
285. olution au probl me de la non lin arit a gauche et droite pr sent au d but de cette section dans le sens o les variables autoris es tre non lin aires dans le syst me de r criture sont substitu es par des tats li s de fa on unique un terme de Basiques Nous montrons d ailleurs par le th or me 6 2 14 et par la proposition 6 2 15 que notre m thode est correcte sur approximation calcul e pour une certaine cat gorie de syst mes de r criture que nous d finissons ci dessous Les d finitions 6 2 12 et 6 2 13 proposent deux nouvelles notions de lin arit Definition 6 2 12 Soit J C X un ensemble de variables Un syst me de r criture R est J lin aire gauche si pour chaque r gle de r criture l gt r R tout p q FPos l ll lla et ll J impliquent p q Definition 6 2 13 Soit J C X un ensemble de variables Un syst me de r criture R est J lin aire droite si pour chaque r gle de r criture l gt r R tout p q FPos r rl rl et rl I impliquent p q Enfin le th or me 6 2 14 et la proposition 6 2 15 d montrent la correction de notre m thode dans le sens o tous les termes atteignables appartiennent au langage de l automate de point fixe pour toute paire Ao y Basiques compatible et prenant en compte le syst me de r criture R C Termes x Termes Plus pr cis ment le th or me montre que par une tape de compl t ion tous les termes access
286. ombres al atoirement g n r s ASB B g n re Nb puis calcule GM2 P BoA GN A calcule GMP Na A la fin de la s quence de messages A conna t GY et B conna t lui G 7 Lune des propri t s de l exponentielle est 1 x7 Ainsi A et B partagent la m me information de fa on secr te sans avoir eu recours quelques sch mas cryptographiques Dans CDLOS les auteurs tablissent un panorama des propri t s alg briques au sein des protocoles de s curit Des protocoles avec des op rateurs homomorphiques de groupes ab liens ainsi que des codages avec des propri t s comme celle de commutativit ou encore de pr fixe La derni re permet par exemple partir du message x y d extraire pour un intrus ne connaissant pas la cl z le message x Un autre op rateur aux propri t s math matiques int ressantes est le OU exclusif not Les propri t s de sont les suivantes lc y yO r 2 r y 2 2 r ye 2 3 1B0 2 155 156 Chapitre 8 Extension aux propri t s alg briques 4 x x 0 En sp cifiant la derni re propri t par une r gle de r criture nous obtenons 9x0 Cette r gle est non lin aire gauche Notre m thode pr sent e dans la section 6 2 pourrait tre une alternative mais elle suppose rait que toutes les valeurs prises par la variable x soient atomiques i e une cl sym trique un agent un nonce etc Dans BHK06 nous avons d cid d
287. ommence une session avec i en lui envoyant un nonce N a i et son identit ident a le tout chiffr avec la cl publique de i L intrus extrait le message N a i ident a le crypte avec la cl publique de b et envoie le tout b De son c t b re oit donc le message extrait l identit de la personne cens e lui avoir envoy ce message et extrait galement le nonce 9 4 Comparaison avec d autres techniques 185 N a i Puis il g n re un nouveau nonce N b a qu il associe au nonce extrait et envoie le tout a a apr s avoir chiffr le message avec la cl publique de a L agent a extrait le nonce qu il avait envoy a i puis extrait le nonce N b a cens tre g n r par i Il envoie enfin le nonce N b a encod avec la cl publique de i Il reste l intrus d chiffrer le message et extraire le nonce N b a Pour r sumer a croit converser avec i mais en r alit il re oit des messages g n r s par b et b croit converser avec a mais il communique en r alit avec i a AND iknows pk b iknows session ident a ident i 2 i PO ESR Y 2 vii AND iknows pk b iknows cons N a i ident a Y iV iknows encr pk b i b cons N a i ident a Y e li iknows encr pk a b a cons N a i N b a Y e ii iknows encr pk i a i N b a Y iV iknows N b a FIG 9 5 Trace construite Bien que le syst me de r criture ne soit pas convergeant no
288. on Computers 53 2004 L Lamport The temporal logic of actions ACM Transactions on Programming Languages and Systems 16 3 872 923 May 1994 S Lafrance and J Mullins An information flow method to detect denial of service vulnerabilities J UCS 9 11 1350 2003 G Lowe Breaking and Fixing the Needham Shroeder Public Key Protocol Using FDR In T Margaria and B Steffen editors Proceedings of TACAS 96 LNCS 1055 pages 147 166 Springer Verlag 1996 G Lowe Casper A compiler for the analysis of security protocols In 10th IEEE Computer Security Foundations Workshop CSFW 97 pages 18 30 Washington Brussels Tokyo June 1997 IEEE G Lowe A hierarchy of authentication specifications In Proceedings of the 10th IEEE Computer Security Foundations Workshop CSFW 97 pages 31 43 IEEE Computer Society Press 1997 G Lowe Towards a completeness result for model checking of security protocols In Proceedings of CSFW 98 IEEE Computer Society Press 1998 C Meadows The NRL protocol analyser An overview Journal of Logic Pro gramming 1994 C Meadows Analyzing the Needham Schroeder Public Key Protocol A Com parison of Two Approaches In ESORICS European Symposium on Research in Computer Security LNCS Springer Verlag 1996 C Meadows The NRL Protocol Analyzer An Overview Journal of Logic Programming 26 2 113 131 1996 See http chacs nrl navy mil projects crypto html Meadows C
289. on c de Y dans T F si Ho C F alors Co est satisfait La repr sentation de l intrus en clauses de Horn est la suivante dans Bla01 BP03 3 1 D une multitude de formalismes 41 attacker m attacker sk attacker sencrypt m sk encodage sym trique attacker sencrypt m sk A attacker sk attacker m d codage sym trique attacker m m attacker m projection de l l ment gau che d une paire attacker m m attacker m projection de l l ment droit d une paire attacker m A attacker m attacker m m construction d une paire Le protocole est galement repr sent sous forme de clauses attacker host kab attacker kab sencrypt kab m kab Le symbole host permet de repr senter une table de cl s sym triques non accessible 1 in trus Ainsi la r gle ci dessus signifie que pour une cl sym trique de la table kab le message kab sencrypt kab m kab est cr Remarquons que m repr sentant le nonce g n r dans le protocole fil rouge par A est ici d fini comme un symbole fonctionnel unaire m prenant en param tre la cl sym trique kab Lalgorithme de r solution n est pas l algorithme classique r solvant le probl me de d riva bilit d un fait qui revient chercher une s quence de clauses de Horn permettant d obtenir le fait recherch partir d un ensemble de faits et d un ensemble de r gles L application d un tel algorithme ne t
290. onctionnalit s qu ils proposent Pour le moment nous avons pr sent essentiellement des langages proposant une notation Alice amp Bob A partir de 2003 une nouvelle g n ration de langages a merg Ces langages reprennent P aspect modulaire que proposent les alg bres de processus En effet pour un alg bre de pro cessus donn chaque participant est repr sent par un processus permettant de d crire chaque action d un agent jouant ce r le De plus les propri t s requi rent une attention particuli re car il est indispensable de pouvoir d finir des propri t s ne soulevant aucune ambigu t Il est galement souhaitable de pouvoir sp cifier des propri t s tr s pr cises comme par exemple des secrets valables d une tape 1 une tape j du protocole ou encore des propri t s complexes comme la non r pudiation Les deux langages faisant l objet du chapitre suivant HLPSL nou velle version et PROUV traitent en partie les probl mes pos s 4 HLPSL amp PROUV Sommaire AT PROUV iri es Re See cr ASS Se OR 54 4 1 1 R lesetinstructions 54 AL s Var ables cute ttes p Pa chs na EP Oe ar AO we LP 57 4 1 3 Les propri t s 24514 4 4 La 4 Lada vus 57 42 ALPS nasa na une See ew Se a eS mis 58 AXE Roles 00 LL sei et male arms aa Hk Ae aA a aha la 59 4 2 2 Etats transitions 61 42 35 SINAR EE Lu se QUE Meal te Satoh CARE MU mer ae ce
291. ondition 2 de la d finition 6 2 7 il existe t Basiques tel que L A o x t 6 2 D apr s le point pr c dent q Qpasiques A Par le point 1 de la d finition 6 2 7 tout terme de 7 F N Basiques est associ un tat de Q basiques A Si q Z OBasiques A alors pour tout t L A q tel que gt l0 q t Z Basiques Soit p Pos y 1 Par 6 2 pour tout t L A tel que lo q tlp t D apr s les points 7 et 3 de la d finition 6 2 7 nous pouvons d duire qu il existe q O pasiquesl A q2 Q f E Fortet tels que ton q 22 A t q lo 4g 6 3 Nous en d duisons qu il existe une position p Pos l et w N tels que p p w et l p f Puisque l Termes et que pour tout terme s Termes si s f s et f Forta alors s Basiques nous pouvons conclure que x Basiques Par abus de langage nous qualifions un automate de Basiques compatible s il respecte les conditions 1 2 3 et 4 de la d finition 6 2 7 Sym triquement nous qualifions une fonc tion d approximation y de Basiques compatible si elle respecte la condition 5 de la m me d finition La d finition ci dessous est une reformulation de la d finition donn e dans GK00 repr sen tant un algorithme de compl tion L id e est de calculer un automate 4 en fonction d un auto mate donn A d un syst me de r criture R et d une fonction d approximation y
292. onn des r sultats tr s convaincants L avantage de NRLPA est la double conclusion Il peut aussi bien retourner une attaque que prouver une propri t de s ret et ce pour un nombre non born de sessions De nombreux r sultats ont t obtenus avec NRLPA Mea99 Mea96a MNO2 MSC04 Langage de sp cification Nous trouvons ci dessous la sp cification du protocole fil rouge pour NRLPA rule 1 EFE count user A honest N then count user A honest s N intruderlearns symkey user A honest user B honest 40 Chapitre 3 Des outils de v rification de plus en plus accessibles ske symkey user A honest user B honest rand user A honest N EVENT event user A honest N secret s N rand user A honest N rule 2 TES count user B honest M intruderlearns symkey Y user B honest ske symkey Y user B honest XIV then count user B honest I s M La r gle labell e rule 1 correspond l tape o A envoie B le message Kab M _Kab La cl Kab est repr sent e ici par symkey user A honest user B honest etle nonce M est repr sent par rand user A honest N La donn e N repr sente le chan gement d tat de l individu Cette donn e est associ e un compteur qui est attribu chaque agent Le symbole fonctionnel intruderlearns permet d exprimer la connaissance de l in trus L hypoth se ca
293. ons sont tablies selon deux crit res le type des donn es a fusionner ainsi que le fait que ces donn es soient connues initialement par l intrus Les symboles tiquet s par la lettre H repr sentent des donn es destin es des agents honn tes alors que ceux tiquet s par la lettre J sont ceux li s lintrus Definition 5 4 3 Fonction d abstraction fy py Soit lintrus repr sent par son identit i Soit IK C T F un ensemble de termes repr sentant la connaissance initiale de lintrus Soit fyrg Fo Fo la fonction d abstraction qui pour un terme t Fo retourne la constante sk avec type skr symmetric key sit IK ettype t symmetric key sky avec type sky symmetric key sit IK ettype t symmetric_key pk avec type pkr public key siinu t IK et type t public key pky avec type pky public key siinu t IK et type t public key tat avec type trtr text sitxt IK ettype t text taty avec type trty text sit Z IK ettype t text agta avec type agty agent sit 7 et type t agent t pour tous les autres cas CIA Les intuitions sous entendues par la fonction d abstraction fy sont les suivantes tous les agents honn tes sont fusionn s en un seul agent une cl sym trique est corrompue ou non une cl publique est celle de l intrus s il conna t la cl priv e correspondante un message de type text est connu par l intrus
294. otre approche vient de sa capacit g rer un ensemble initial infini de termes Pour Maude nous devons donner un terme Quel est l avantage Par exemple pour le protocole NSPK de la figure 9 4 notre recherche en arri re d termine la connaissance initiale minimale n cessaire l intrus pour pouvoir mener cette attaque i e la cl publique de b pk b et une session entre a et i goal a i Nous pensons qu il serait plus efficace de sp cifier une connaissance de l intrus en tant qu ensemble de lancer le calcul d une sur approximation de la connaissance de l intrus puis de reconstruire une trace si le secret n est pas prouv plut t que d essayer de sp cifier arbitrairement une connaissance de l intrus et de lancer la v rification jusqu obtenir un r sultat satisfaisant Pour Maude dans le cas o une attaque existe l id e est de sp cifier la connaissance minimale l intrus afin de limiter l espace de recherche A titre d anecdotique en donnant Maude le terme repr sentant la connaissance minimale de l intrus que nous avons obtenu avec notre prototype Maude est enfin parvenu montrer qu il existait une attaque Et ce essentiellement d au fait que l espace de recherche n tait pas 9 4 Comparaison avec d autres techniques 187 de taille trop importante 188 Chapitre 9 Reconstruction de traces Conclusion Dans cette th se nous nous sommes int ress s au th me tr s g n r
295. ou non 5 4 Mod le deux agents En partant de ces constats nous avons au plus La figure 5 5 illustre cette notion d abstraction 113 deux l ments par type trait par l abstraction avec des cl s sym triques y specification IF section types section inits iknows kii kab kai kab2 kii symmetric_key iknows kai S 1 y I OMC FIG 5 5 Abstractions des donn es long terme Pour une sp cification IF donn e la fonction d abstraction fy donn e dans la d finition 5 4 3 est utilis e sur la d claration des types le syst me de transitions et galement sur l tat initial Une nouvelle sp cification IF est cr e et est ensuite soumise au processus pr sent dans la section 5 3 L algorithme suivant d crit comment une sp cification IF est abstraite en une autre en utilisant la fonction fyg Algorithme 5 4 4 Soit une sp cification 1F Specie induisant les ensembles Xp et Fp l tat initial repr sent par un terme ty et un syst me de r criture F not Rip La fonction speclF abstraite construit un ensemble Fis C F Ar C X un syst me de r criture Rip et un tat initial F repr sent sous forme d un terme t comme d taill ci dessous A speclF abstraite Fir Vir to Rir Debut IK tolpa tolp T Z E tfarx t Firo Fir Usso Firi U E Ap Air to tofy Fr 0 Pour tout Rig Rig U fer o Sec
296. our la g n ration d un syst me de r criture compatible avec l approche GK00 et poss dant certaines propri t s indispensables la correction de nos classes d approximations pr sent es dans le chapitre 6 Et enfin la g n ration de l automate initial Ap est donn e dans la section 5 1 4 Cet au tomate est construit gr ce aux algorithmes de la section 5 1 3 et partir de l tat initial de la sp cification IF 5 1 1 IF plus en d tail Dans cette section nous d finissons une partie de IF sur laquelle notre m thode s appuie Nous insistons notamment sur les notions de type et de signature qui permettent de construire des termes en accord avec les contraintes impos es par ces deux notions Types signatures et ensembles basiques Soit Fo et Y l ensemble de constantes et l ensemble de variables Nous d finissons Type comme l ensemble des symboles suivant Type agent public key symmetrickey text nat function bool message set identifier facts Comme pr cis dans la section 4 3 dans toutes les sp cifications IF toutes les variables et constantes sont associ es un type et tous les symboles n aires n gt 0 sont associ s une signature Definition 5 1 1 type Soit type une fonction partielle de F5 U X vers Type Il existe une hi rarchie entre les types pr sent e figure 5 2 dans laquelle tout type diff rent de message et de fact est inf rieur message Cette hi rarchie
297. par A 66 Chapitre 4 HLPSL amp PROUV un nombre g n r al atoirement Nb un sous ensemble des algorithmes de confidentialit propos s par A tel que chaque algo rithme soit support par S un sous ensemble des algorithmes d int grit propos s par A tel que chaque algorithme soit support par S une alternative concernant l algorithme d tablissement de cl partag e choisi dans la liste propos e si le premier n est pas support par S l autre moiti de cl correspondant l algorithme choisi par A ou une moiti de cl correspondant l algorithme choisi par S si celui propos par A ne convient pas Nous ne prenons pas en compte cette gestion des algorithmes support s ou non nous suppo sons qu ils utilisent un algorithme impl mentant le principe de Diffie Hellman DH76 pr sent dans la section 1 1 2 La sp cification compl te de ce protocole est donn e l annexe B Nous avons galement sp cifi une autre version de ce protocole durant le projet AVISPA Cette ver sion se d roule entre un client et un serveur mais le client ne signe pas les messages avec sa cl priv e Il utilise une fonction de hashage Cette version est consultable en annexe C 4 3 IF Intermediate Format un langage de bas niveau Comme nous l avons d crit section 4 2 un protocole est d coup en r les Un r le d crit le comportement qu aurait un individu honn te s il devait par
298. pattern step step_R_n State role Reer Ap ons iknows pattern Ee role Ree id Bret TAB 4 2 Traduction des instructions PROUV simples en r gles state_role_Alice agent agent symmetric_key nat x text x bool x nat gt factx Les param tres des faits d tats sont d finis chronologiquement de la fa on suivante les param tres du r le PROUV un entier permettant de sp cifier quelle tape du protocole un individu se situe les variables locales du r le PROUV une valeur bool enne permet de sp cifier si l acteur jouant se r le pourra le jouer ind fini ment voir plus de d tails ci dessous et l identifiant de session utile pour les outils de v rification Dans le cas le plus simple nous g n rons une r gle par instruction PROUV et l entier repr sentant l tat de l individu jouant le r le correspond grosso modo au num ro de ligne du r le PROUV L entier de d part est 1 L entier 0 est r serv pour les tats de blocage i e les tats d erreurs dans un protocole partir desquels aucune transition ne peut tre activ e Instructions communes Le tableau de la table 4 2 liste les traductions des instructions les plus communes Nous supposons que ces instructions sont ex cut es dans un r le R puis que l entier repr sentant 76 Chapitre 4 HLPSL amp PROUV l tat de l acteur de ce r le avant cette i
299. permettant de r soudre le probl me li la non lin arit gauche et assurant galement la correction des fonctions d approximations 120 Chapitre 6 D marche fond e sur des approximations 6 2 Crit res de lin arit s et leur v rification automatique La lin arit d un syst me de r criture est un point crucial dans le sens o la correction de la m thode GK00 FGV04 d pend compl tement de cette condition L exemple 6 2 1 d crit un cas particulier o une sur approximation de l ensemble des termes atteignables ne peut pas tre calcul e avec la m thode d crite dans GK00 FGV04 Exemple 6 2 1 Soit l automate A a 0 f 2 q1 q2 qf Lar a q am f q1 92 q et le syst me de r criture R f x x x Comme la m thode pr sent e dans GK00 FGV04 est bas e sur le principe de substitutions de X dans Q nous constatons que le processus de calcul termine m me avant d avoir commenc En effet il n existe pas de substi tution o X gt Q et d tat q q1 q2 qr tels que f o x a x 4g Nous obtenons donc l automate A Ag comme automate de point fixe L Ay L A mais en aucun cas R L Ao L A En effet pour E L A a R E mais a L Ao Or dans le contexte des protocoles de s curit les r gles non lin aires gauche sont n cessai res pour sp cifier les capacit s de d codage de l intrus voir la sp cification de l intrus dans l
300. point de vue de B de la fa on suivante A gt B M K X Cela signifie que B stocke le message dans une variable X sans pouvoir acc der au contenu Le langage CAPSL a ensuite adopt cet op rateur DMROO 3 2 3 HLPSL amp CASRUL CASRUL est un outil pour la v rification automatique de protocoles de s curit A partir d une sp cification HLPSL dans laquelle est d crit un protocole v rifier CASRUL g n re un syst me de r criture appel IF Intermediate Format Le langage HLPSL est d crit par tiellement dans JRVOO Les langages HLPSL et IF sont diff rents de ceux pr sent s dans le chapitre 4 correspondants aux nouvelles versions de ces langages Ensuite plusieurs outils de v rification utilisent ce format puis v rifient le protocole sp cifi Donn e relative sa date de cr ation 3 2 vers des langages communs explicites 49 La plate forme de v rification La figure 3 2 3 sch matise CASRUL Sp cification HLPSL CASRUL Format Interm diaire Cs Conca aTSE Fic 3 8 CASRUL outils de v rification Nous retrouvons sous le format interm diaire les 4 outils de v rification que nous allons pr senter succinctement OFMC L outil On the Fly Model Checker OFMC BM03 effectue une v rification born e en explorant le syst me de transitions d crit par une sp cification IF OFMC impl mente des techniques symboliques correctes et galement compl te Il sup
301. porte de plus la sp cification des op rateurs propri t s alg briques tels que le O exclusif ou encore l exponentielle Enfin la v rification peut tre effectu e dans un contexte typ ou non Historiquement l histoire d OFMC a commenc au sein du projet AVISS puis OFMC a m ri au sein du projet europ en AVISPA que nous avons pr sent dans l introduction de ce document CL est un outil d velopp par l quipe de Nancy LORIA Cet outil est un prouveur automatique bas sur la logique de contrainte CL JRV00 SATMC SAT based Model Checker AC02b construit une formule propositionnelle co dant un d ploiement born du syst me de transition IF l tat initial et l ensemble des tats repr sentant la violation des propri t s de s ret sp cifi es en IF et donc a for tiori en HLPSL La formule propositionnelle est ensuite donn e r soudre un sol ver SAT s lectionn parmi les quatre propos s ZCHAFF mCHAFF MMZ 01 SIM GMTZ01 et SATO Zha97 Ensuite tout mod le satisfaisant cette formule est retourn sous forme d attaque Cette outil a t d velopp au laboratoire DIST G nes Italie CL AtSe ATtack SEarcher RTO1b SS04 est un outil bas sur des techniques de r solution de contraintes et impl mentant une proc dure de d cision d crite dans RTO1b Les possibilit s d CL AtSe ont ensuite t tendues lors du projet AVISPA pour suppor ter des op rateur
302. pos s r L outil utilis pour la d couverte se nomme FDR Failure Divergences Refinment checker Ros94 L outil FDR prend deux processus CSP Sch97 SS96 en entr e l un sp cifiant le syst me l autre l impl mentation Ensuite FDR conclut favorablement si l impl mentation raffine bien le syst me Dans le cas contraire un contre exemple est retourn Dans le cadre des protocoles de s curit le syst me est le comportement que l on attend et l impl mentation correspond la sp cification du protocole tudi avec un intrus actif pour un nombre de sessions fini Ainsi si le protocole ne raffine pas le comportement attendu alors il y a une attaque Une sp cification CSP est relativement lourde crire et sujette de nombreuses erreurs Gavin Lowe dans Low97a propose un langage de haut niveau nomm CASPER Ainsi une sp cification CASPER est ensuite traduite par un compilateur CASPER g n rant une sp cification CSP utilisable par l outil FDR Un exemple de sp cification CASPER est donn dans la figure 3 7 repr sentant le protocole d crit dans la figure 3 1 Une sp cification est compos e en plusieurs sections dont le label d bute par Free variables Les variables ainsi que les fonctions sont d clar es dans cette sec tion La d claration SK Agent x Agent gt SKey repr sente une fonction dont l interpr tation est une cl sym trique et dont les param tres sont de type Agent
303. poth se Soit f q1 qn gt q A pour laquelle il existe i 1 n ett Basiques tels que q qe Qpasiques 9R A et q E Qpasiques GR y A Nous avons montr pr c demment que Qpasiques 9R y A QBasiques A Il faut alors traiter deux cas Si f q1 qn gt 4q A alors puisque A est Basiques compatible f Fortes n let f t e Termes Si f q1 qn gt 4 Z A alors il existe lor R q Opasiquesl A 7 X HQ tels que f 41 qn gt q Norm ra q l gt r Par la d finition de la normalisation symbolique d finition 6 1 2 et la d finition de y normalisation d finition 6 1 6 il existe alors p Pos r tel que r p 2p 1 2p n Yi gt rp Norm r Yi rc lr et r Dp Zp 1 3 Zpn gt Yi gt r plo y lor 0 q f q1 qn gt Nous d duisons alors que r Basiques puisque y I gt r 0 q y rp 4 QBasiques A Si r pi Y alors nous d duisons de la d finition 6 2 10 et du lemme 6 2 9 que x Basiques 1 e rl Basiques Si r p i F puisque y l gt r 0 q Y rp1 di OBasiques alors d apr s la conditions 5 de la d finition 6 2 7 il existe p Pos r et w N tels p 1 p w et r p Forte Comme r Termes nous d duisons que r 1 Basiques Par cons quent d apr s la d finition 6 2 4 comme r Basiques r 1 Basiques etr Termes nous d duisons que r p Force et donc qu
304. pour la seconde NITIATOR Alice ml NITIATOR Alice m2 RESPONDER Bob Alice NITIATOR Bob Alice Intruder Information Enfin les donn es li es lintrus sont d clar es dans cette section Il est possible 1 d attribuer une identit l intrus par l instruction Intru der et 2 de pr ciser sa connaissance initiale L instruction IntruderKnowledge Alice Bob permet de sp cifier que lintrus conna t initialement Alice et Bob Comme nous le pr cisions au d but de cette section CAPSL et CASPER ont volu pa rall lement Cependant quelques diff rences sont noter une sp cification CASPER d crit l ensemble du syst me alors qu l origine CAPSL permettait simplement une description du sc nario N anmoins CAPSL a volu et les possibilit s sont sensiblement les m mes que celle de CASPER Une autre diff rence fut la gestion de l ex cutabilit de la sp cification S1 par exemple un agent re oit un message qu il ne peut d chiffrer avec sa connaissance ac tuelle alors le compilateur CAPSL consid re cela comme la volont du sp cifieur Il s av re que parfois cela ne correspond pas la volont du sp cifieur mais une erreur de sa part En CASPER l op rateur permet justement de mod liser ce genre de situation Pour l tape A gt B M K o B ne conna t pas la cl K nous sp cifions le
305. pr dicat iknows M est satisfait sur un tat s iE 1 n si iknows M M IK o IK est l ensemble des termes que l intrus peut g n rer partir de sa connaissance en accord avec ses capacit s Ainsi si iknows m est vrai dans l tat s alors iknows m est galement vrai pour tout tat s avec 7 gt 7 Une repr sentation de la connaissance de l intrus est indispen sable pour l expression des propri t s de secret Soit Sgnx l ensemble des signaux d clench s lors de la construction du syst me Nous exprimons informellement les propri t s sur cet ensemble de signaux Secret la propri t id est v rifi e si pour tout secret m id Agents Sgnz iknows m est faux dans tous les tats du syst me ou i Agents Authentification forte la propri t d authentification forte ayant pour identifiant id est v rifi e si 1 pour tout witness x y id m Sgnx il existe request y x id m SID Sgnz et 2 pour tout request y x id m SID request y x id m SID Sgnx SID SID Authentification faible l authentification faible consiste en la v rification du 1 ci dessus En ce qui concerne la notion d authentification forte nous avons donc deux points v rifier D abord qu il y ait bien une notion d authentification exprim e par 1 mais aussi qu il n y ait pas d attaques de rejeu exprim e par 2 En HLPSL nous pouvons exprimer les buts v rifie
306. protocole donn et d autre de part de pouvoir montrer qu il existe une faille pour une propri t de secret donn e Dans le contexte de la r criture cela signifie qu un terme exprimant une donn e suppos e secr te est accessible par r criture depuis le langage initial ou non 132 Chapitre 6 D marche fond e sur des approximations Le probl me de l atteignabilit en r criture est connu pour tre ind cidable en g n ral par contre nous pouvons partiellement r pondre cette question de diff rentes mani res Par exemple la non atteignabilit d un terme peut se montrer en calculant une sur approximation de R L Ao comme dans GK00 Ainsi si le terme n appartient pas au langage de l auto mate issu du calcul i e de l automate point fixe de l algorithme de compl tion donn d finition 6 2 10 alors nous sommes s rs qu il n appartient pas non plus R L Ao En ce qui concerne l atteignabilit dans certains cas 1l est possible de calculer exactement l ensemble des descendants Cependant dans le cas g n ral nous ne pouvons calculer que des sous approxi mations L objet de cette section est de d finir deux classes de fonctions d approximation qui ont le m rite d tre g n r es automatiquement La fonction 4 est d finie pour permettre le calcul de sous approximations alors que la fonction d approximation y autorisera le calcul de sur approximations relativement pr cises du moins
307. q Opasiques A Puisque A est Basiques compatible si q Qpasiques A alors s q A Ceci am ne contradiction avec ce que nous avons d montr pr c demment Ce qui implique que q q et que x t aN 1 remove e AUNorm 1 gt r 0 q 4 La premi re tape de la preuve est termin e tudions les diff rents cas de g n ration de la transition s q En effet cette derni re peut tre issue de la simplification d une e transition e Si s q Norm l gt r g q alors s q est issue de la simplification d une e transi tion Donc r Y et HE Aro Norm 10 9 D apr s le lemme 6 3 2 il existe to T F tel que t R to et to g La preuve est termin e pour ce cas e Pour le cas our Y si gt A q Norm l r o q Si s1 T F U Qo alors il existe une position p de s telle que s1 Q Qo Ainsi s p est de la forme s p p l r a p q Puisque 4 est injective l unique transition de A dont le membre droit est 51 est de la forme r p Chie Ur te Vals lo Soit 82 sifr p VA Yirp1 gt gt VAy Yorp e p Nous obtenons HE gt A 82 gt Norm i gt r 0 9 81 gt Norm l gt r 0 9 0 Maintenant si sz T FU Qo la m me construction peut tre appliqu e sur s gt et ainsi de suite Par induction nous pouvons it rer le processus pour construire un terme s E T F U Qo tel que HSA 58 Korm i r 0 9 D 6 2 et pour tout position de s t
308. q0 the initial configuration qinit a process in an initial state qzero zero qnil the empty list qlist any non empty list of plus and minus symbols qsymb any symbol Final States q0 Transitions cons qsymb qnil gt qlist o gt qzero cons qsymb qlist gt qlist nil gt qnil Proc qlist qzero gt qinit plus gt qsymb S qinit qinit qnil qnil gt q0 minus gt qsymb Fic 9 3 Configurations initiales du syst me est la suivante s l gt or p gt s signifie que s gt s est une trace selon la d finition 9 1 1 Statistics Number of nodes visited 23921 Computation Time 11 39 secondes Trace s S Proc cons plus nil o Proc cons plus nil o nil nil S Proc cons plus y c z m n gt S Proc y s c z m n epsilonl gt S Proc nil s o Proc cons plus nil o nil nil S Proc nil c z nil n gt S Stop c z nil n epsilon gt S Stop s 0 Proc cons plus nil o nil nil S x Proc cons plus y c m n gt S x Proc y c add plus m n epsilon gt S Stop s o0 Proc nil o add plus nil nil ladd x nil gt cons x nil epsilon 3 gt S Stop s o Proc nil o cons plus nil nil Pour que le blocage existe la trace ci dessus souligne deux conditions que le syst me doit satisfaire Un symbole doit tre pr sent dans la liste des param tres du processus P_ et le processus P doi
309. qu il est prot g par une cl galement secr te alors le test est valid pour t Une transition hs EXP hs ne compromet pas le secret si pour chaque l ment des messages contenu dans rhs l un des tests l mentaires est satisfait Si les tests ne permettent de conclure alors une proc dure de recherche en arri re est ap pliqu e pour apporter de nouvelles informations et ainsi effectuer nouveaux les tests l mentai res Comme mentionn pr c demment la m thode n est pas compl te dans le sens o dans certains cas SeCurify ne parvient pas montrer une propri t de secret alors que celui ci est satisfait Dans CMRO1 certains cas de non terminaison sont expos s m me si en pratique ce genre de configuration n a pas t rencontr pendant leurs exp riences Alg bres de processus Les alg bres de processus repr sentent les protocoles par un mod le tr s proches de l impl mentation Un protocole est divis en r les et chaque r le est un proces sus Les processus communiquent entre eux gr ce des canaux de communications Les instruc tion classiques sont list es ci dessous Les instructions sont classiques dans le sens o nous les retrouvons dans la majorit des alg bres de de processus de la litt rature CSP Communicating Sequential Processes Sch97 SS96 spi calcul AG99 ou encore SPPA LM03 44 Chapitre 3 Des outils de v rification de plus en plus accessibles Pr Y processus n
310. r l aide des macros suivantes dans une section HLPSL r serv e et nomm e goal 64 Chapitre 4 HLPSL amp PROUV secrecy_of sec_id authentication_on auth_id weak_authentication_on wauth_id Les donn es sec_id auth_id et wauth_id sont les identifiants attribu s aux signaux Remar quons que pour exprimer une propri t d authentification faible ou forte nous devons sp cifier deux signaux witness et request ayant le m me identifiant 4 2 4 Exemples de sp cifications L un des buts du projet AVISPA tait de constituer une librairie de protocoles d crit en HLPSL Ces protocoles sont des protocoles class IETF Internet Engeneering Task Force Cette librairie est disponible sur le site du projet AVISPA http www avispa project org Les sp cifications sont galement r unies dans le rapport AVIO5 galement disponible sur le site du projet Parmi les sp cifications que nous avons crites nous retrouvons celles concernant les pro tocoles TSIG et LIPKEY Nous avons galement particip la mise jour et la correction d autres sp cifications HLPSL TSIG La signature de transactions avec cl secr te TSIG a t d velopp pour rendre le proto cole DNS Moc87a Moc87b plus s r Le protocole DNS Domain Name Server permet entre autre de naviguer sur Internet en associant une requ te mise par un client une adresse IP en questionnant un nombre fixe de serveurs de domain
311. r alit nous consid rons que cette condition est satisfaite car les r gles IF sont d cor es d une clause existentielle permettant d instancier une variable telle que M dans l exem ple cit pr c demment Cependant en r criture pure la g n ration spontan e de termes 1 e de valeurs n est pas consid r e R EVar S Pour une r gle m 3 m et une variable x EVar un terme t tel que Var t C Var m doit tre cr pour remplacer les occurrences de la variables x dans m Cette phase permet de d terminer une abstraction de donn e Cette abstraction est plus ou moins fine selon la construction de tz 20L a notion de substitution bien sort e est donn e d finition 5 1 6 92 Chapitre 5 De F vers une v rification de protocoles par approximations tx T F Dans le contexte des protocoles de s curit ceci signifie que toutes les donn es fra ches repr sent es par la variable M dans notre exemple sont regroup es en un seul terme une seule constante ce qui porte peu d int r t En effet les donn es concern es sont en g n ral des cl s fra ches ou des nonces nombres al atoirement g n r s En pratique cela veut dire que pour un individu qu il converse avec l intrus ou une autre personne il utilisera la m me valeur Plus g nant les individus malhonn tes utilisent cette m me valeur ce qui signifie qu ils connaitront n cessairement cette valeur et donc qu aucune prop
312. r s la proposition 5 1 2 l ensemble Termes Abstractions est un ensemble fini de termes Nous proposons dans l algorithme 5 1 35 la construction d un automate d arbre A dont l ensemble de transitions exprime 1 la r duction de chacun des termes de Termes Abstractions vers un tat sp cifique 2 la connaissance initiale de l intrus et 3 les diff rents tats initiaux des participants Algorithme 5 1 35 Soir t un terme repr sentant l tat initial d une sp cification F La fonction make 4 associe t un automate Ay F Q Qs Ao tel que F Fip U Fabs U Fprtct gt Ay IntrusTransitions U makea E o e IntrusTransitions pair qs as gt qf and qf qf gt qf crypt as ar ars scryptlqs df as apply qs a ap iknows qs gt qs e E Termes AbstractionsU TradFaits s s e TUH et dp Pos t telle que s t p et e make E est construit inductivement par 1 site T Z UT H avec t f t1 t alors makea E makea EA t U F dn gt dm art U makea t i 1 2 sit Fo alors makeA E makea E t U toa 3 sit e E Fa TUH t f t1 tn etn gt 1 alors makea E makea E t U f qn q u Jmakea ti i 1 Qo states Apg 0 10 La signification de chaque transition stock e dans la variable IntrusT ransitions est donn e ci dessous pair ds qs gt qf permet l intrus de concat ner des donn es qu il conna t
313. r gr A nous d duisons que t est l unique terme de 7 F tel que En AN Or ore a Le Puisque r Termes nous concluons qu en posant t r t 1 tlp Termes 4 Soit f Fu Le but est de d montrer que toutes les transitions f q1 gt q A sont telles que q Opasiques et q Z Qpasiques A Pour toutes les transitions f q1 gt q 6 2 Crit res de lin arit s et leur v rification automatique 129 A il existe Basiques tel que q qt QBasiques A f t Termes et q E O Basiques car la paire A y est Basiques compatible Si f q1 gt q A A alors il existe l gt r R o X T F et ql Q tels que f q1 gt q Norm ro g r Il existe une position p Pos r telle que r p 2 1 gt Yir p Norm r ire l gt r Ir p 2p1 Yir plo y l r 0 q f q1 gt q Comme f Fprtet de la d finition 6 2 4 nous d duisons que r 1 Basiques En proc dant au cas par cas sur r comme dans le point pr c dent nous concluons que q qt Opasiques A et f t Termes De plus y lr o q Z QBasiques A puisque r Basiques 5 Puisque le syst me de r criture R reste identique et que automate gr A satisfait les points 7 4 alors la fonction d approximation y pr serve la propri t 5 Donc gr A R y est aussi Basiques compatible et Qpasiques 9R y A QBasiques A Notre notion de compatibilit repr sente une s
314. ransitions normalis es construit gr ce une fonction de normalisation Cette fonc tion de normalisation est fond e sur deux notions nomm es fonction d abstraction et tat d abs traction Prenons l exemple d une transition f g a q gt q Cette transition n est pas normalis e d apr s la d finition 2 3 Un algorithme possible serait d associer un tat q g a Ainsi nous cr ons d abord la transition f q q q puis nous continuons r cursivement pour g a q Ici les tats ont t attribu s de mani re arbitraire nous pouvons formaliser l algorithme par les trois d finitions ci dessous extraites de FGV04 Celles ci sont illustr es dans la figure 3 4 Definition 3 1 1 Fonction d abstraction Soit F un ensemble de symboles et Q un ensemble d tats Une fonction d abstraction associe chaque configuration normalis e un tat arts lt Pret qi OO Definition 3 1 2 Etats d abstraction Soit F un ensemble de symboles et Q un ensemble d tats Pour une fonction d abstraction a donn e et pour toute configuration t T F U Q l tat d abstraction de t repr sent par top t est d fini par 1 sit Qalors top t t 2 sit f ti La alors topa t a f topa t tons ts Definition 3 1 3 Fonction de normalisation Soit F un ensemble de symboles Q un ensemble d tats s q une transition o s T FU Q et q Q et a une fonction d abstraction L
315. rateurs poss dant des propri t s alg briques 17 1 2 3 Construction de contre exemples 18 1 2 4 TA4SP un outil de v rification 19 111 iv Table des mati res US Plai IIA o aa Oke Sok Bod 19 Chapitre 2 ZA ae destres aie a a AA e IA as Y 21 22o sh des systemes de TOSCO A Mn A An an 24 2 3 des automates d arbre et des langages r guliers 23 Chapitre 3 3 1 D une multitude de formalismes 21320 2 2 eh e not ak 30 SLT EROS ieoa ta A as alice are ghee ce LA 30 Remodeler cuit ett atin uae et Ps ake a N 30 Techniques de v rification utilisant les Strands 31 241227 Systemes de r criture co on ah es EE Ee ue Le AN 33 R criture par compl tion rias e a e 33 Reconstruction en arri re oaoa E AA A e 38 3 1 3 Quelques autres types de sp cification 40 3 2 vers des langages communs explicites e 44 3 2 1 CAPSL une des premi res interfaces utilisateurs 44 320 CASPER ne dar Tee A A A a mors 46 323 HLPSERCCASRUL su te oo wee eee ete es Guen be 48 La plate forme de v rification 49 Le langage APS ts a bts eo 6 bi Cae a et Bes 50 3 2 4 D autres mod les de sp cification 51 3 3 CONCIUSION A e a Ae LIN ae It Ae Be 4 A e 52 Chapitre 4 Al PROUVE ty acm RS CA ee pine ye ety a As a ey 54 Add Rol
316. re les instances des variables V_a et Vb 90 Chapitre 5 De F vers une v rification de protocoles par approximations state _ role Alice V_a V_b V_kab 2 D_V_m Forever SID exists V_m gt ANAA state_role_ Alice V_a V_b V_kab 3 V_m Forever SID ANAA secret V_m idl V_a V_b Cependant en IF le syst me de r criture peut contenir des r gles quantifi es existentielle ment De plus d autres r gles peuvent tre associ es des signaux 7 S Definition 5 1 18 Syst me de r criture F Un syst me de r criture en F est un ensemble de quadruplets m EV ar Sec m Faits x Keys U Texts N Xp x T S x Faits not m ui repr sentent respectivement l ensemble des variables sp cifiant des donn es fra chement g n r es pour une r gle donn e et l ensemble des faits secrets associ s chaque r gle m pour lesquels EV ar et Sec Exemple 5 1 19 Prenons la r gle de l exemple 5 1 17 Pour exprimer cette r gle selon le for mat donn dans la d finition 5 1 18 nous posons m state role Alice V a V_b Vkab 2 DVm Forever STD tm state role Alice Via Vb Vikab 3 Vm Forever SID Alors EVar Vm et Sec secret Vm idl V_a Vb EVar Sec x La r glem m est une r gle IF D apr s la d finition 5 1 18 nous pouvons souligner que certaines variables de Keys U Texts repr sentent des donn es fra ches
317. ri t de secret concernant une donn e fraiche n aurait de sens Une telle abstraction serait donc mal adapt e notre contexte tz E T F X Cette solution est plus adapt e car plus fine Basons nous sur l exemple 4 3 4 de la section 4 3 Supposons que nous remplacions M par n A B 0 ot AetB sont des variables de type agent et 0 est une constante de type nat D s lors il est vident que cette repr sentation nous permet de distinguer diff rents nonces et en parti culier de distinguer les nonces utilis s pour les communications entre individus honn tes individus malhonn tes individu honn te individu malhonn te individu malhonn te individu honn te Exemple 5 1 23 Illustration des abstractions Reprenons les r gles de r criture de l exemple 4 3 4 exprim es selon la d finition 5 1 18 qui sontm gt mi etm Le cas int ressant est la r gle m EVar1 Seci EVar2 Sec2 mr telles que m and state_Alice A B Kab D M 0 iknows start mi and state_Alice A B Kab M 1 iknows pair Kab scrypt K ab M EVar M Sec secret M idl A B ma and state_Bob B A Kab D M 0 iknows pair Kab scrypt Kab M m state_Bob A B Kab M 1 et EVar Seco EVar Sec r m car EVar Traitons les deux cas pour t le terme abstraction que nous avons soulign s pr c demment L 7 EVar S tz Fo Posons tz d et substituons la v
318. robl me qu il faut r soudre pour pouvoir pr tendre en g n ral la correction de la v rification d un protocole Nous illustrons d ailleurs ce probl me plus en d tail et exposons notre proposition dans la section 6 2 Ensuite nous d finissons dans la section 6 3 deux classes d approximations L une permettra de calculer une sous approximation des termes atteignables l autre une sur approximation L enjeu est en effet de semi d cider le probl me suivant soit R un syst me de r criture un ensemble de termes et t T F un terme cible Le probl me est alors de d cider si R E Comme mentionn au cours de ce document ce probl me est ind cidable en g n ral Dans la section 6 3 nous d montrons la correction des deux classes d approximations et nous terminons en donnant un algorithme de semi d cision de l apparte nance R Dans la section 6 4 nous d crivons comment ces classes d approximations et les r sultats obtenus pour le traitement de la non lin arit sont appliqu s au mod le issu du langage IF avant de conclure dans la section 6 5 Mais d abord la section 6 1 introduit toutes les d finitions et les propositions constituant les fondations des classes d approximations donn es dans la section 6 3 117 118 Chapitre 6 D marche fond e sur des approximations 6 1 Normalisation symbolique Nous d finissons un ensemble de variables Y tel que Y N Y Toute variable de
319. rotocole utilisant l op rateur amp dont l une des pro pri t s alg briques doit n cessairement tre sp cifi e par une r gle non lin aire gauche et non 144 Chapitre 6 D marche fond e sur des approximations traitable avec la m thode que nous avons pr sent e dans la section 6 2 Cette technique est pr sent e dans le chapitre 8 7 TA4SP un outil pour la v rification Sommaire 7 1 Structure de l outil 146 7 2 Mode d emploi et sortie de TA4SP 149 Te YRes ltats so PE Le Gas a aes ae aes este i as I a te is 151 7 4 Comparaison aux autres outils 152 La v rification de protocoles avec un nombre non born de sessions repr sente une m thodo logie int ressante pour les industriels L outil TA4SP a t d velopp dans cet objectif et a re joint par la m me occasion les objectifs du projet europ en AVISPA En effet une approche pour la validation de protocoles semblait et juste titre compl mentaire aux autres approches plut t destin es la d tection d attaque s Nous avons alors implant tous les points list s ci dessous en un seul outil nomm TA4SP pour Tree Automata based on Automatic Approxi mations for the Analysis of Security Protocols 1 Passage de IF un syst me de r criture 2 G n ration d un automate d arbre pour la connaissance initiale de l intrus ainsi que pour l tat initial de tous l
320. rs A t CA Alors il existe to T F tel que tp 4q et t R to Intuitivement le but du lemme ci dessus est de prouver que si un terme slic t satisfait les conditions ci dessus alors t est de la forme t Clita o t gt q pour chaque i et C q q ro pour une r gle lr R Pour la preuve ci dessous nous d finissons remove e A construisant A tel que A f ft qe Alte T FUQ Q U t q t qg EA te T FUQ Qetqg qe e A PREUVE Pour simplifier les notations A repr sente l ensemble des transitions de l automate IR 12 A Dans un premier temps la preuve consiste en la construction d un terme s T F U Q tel que HE 2 81 Norm i gt r 0 9 4 Dans un second temps par une induction en arri re nous construisons un terme s T F U Q tel que 02 8 Norm t gt r 0 9 t La proc dure termine en prouvant que t ATO iaa q Posons s gt q t e avec s T F U Q Montrons que la transition s q A Suppo sons le contraire s T F U Qo Par iii nous d duisons que t C A et donc que t est un terme slic de A Ceci am ne une contradiction avec l hypoth se i Donc s gt q t e A Par cons quent il existe ql Qo o X 0 et lor R tels que s q remove e A U Norm lr a q et lod 6 1 6 3 Approximations g n r es automatiquement 135 Par d finition de Y4 et puisque q Qo soit q q soit
321. rtielle signifie qu un symbole fonc tionnel poss de au plus une signature C est en effet une restriction que nous posons pour I ap plication de notre m thode Nous reviendrons plus en d tail sur ce fait dans les sections 5 1 3 et 6 2 1 Par abus de notation nous prolongeons la fonction type sur le domaine F U X et non uniquement Fo U A telle que type f ty si f Fa avec n gt Oet f A ty sign et pour tout t Fo U A type t reste inchang Nous pouvons a pr sent d finir les ensembles basiques suivants Agents t Fo UX type t agent Texts t Fo UX type t text Keys t Fo UA type t symmetric_key public_key Nats t Fo U X type t nat Functions t Fo UX type t function Sets t Fo U X type t set Identifiers t Fo UX type t identifier Bools t Fo U X type t bool Nous d finissons ainsi l ensemble de terme Basiques comme suit Basiques Agents U Texts U Keys U Nats U Functions U Sets U Identifiers U Bools 86 Chapitre 5 De F vers une v rification de protocoles par approximations Termes bien form s Les signatures permettent en g n ral de construire des termes ayant une configuration atten due En effet lors de la pr sentation du langage IF dans le chapitre pr c dent nous pr sentions cette notion de signature comme une d claration de fonctions pour
322. ruit au fur et mesure pour une propri t donn e jusqu stabilisation du processus Quelques fois la terminaison est forc e par widening Si l tat initial satisfait l invariant alors la propri t est v rifi e Un arbre de preuve est alors retourn Dans le cas contraire une attaque abstraite est retourn e et peut ainsi servir de base pour reconstruire une r elle attaque L outil ProVerif est un outil de v rification automatique repr sentant le protocole et lintrus par des r gles Prolog Des approximations sont faites comme par exemple la repr sentation des donn es fra ches par des fonctions de messages re us par le pass Une autre source d approxi mation est le fait que certaines r gles peuvent tre ex cut es plusieurs fois Ce genre d approxi mation emp che justement la v rification de propri t s comme les secrets courts L algorithme de r solution Bla01 permet de d terminer si un terme secret est d rivable partir d un tat ini tial Si le terme est d rivable alors il existe une attaque potentielle sinon le secret est garanti pour n importe quel nombre de sessions Dans des travaux r cents ABO5a les auteurs sont maintenant capables de reconstruire des attaques r elles partir d un ensemble de d rivations retourn es par la m thode pr c demment cit e Comme nous l avons mentionn dans la section pr c dente le protocole View On1y est un protocole utilisant la primitive a
323. ryptographic protocols OAI PMH server at hal ccsd cnrs fr 2005 J Clark and J Jacob A Survey of Authentication Protocol Literature Version 1 0 17 Nov 1997 URL www cs york ac uk jac papers drareview ps gz Y Chevalier R Kiisters M Rusinowitch M Turuani and L Vigneron An NP Decision Procedure for Protocol Insecurity with XOR In Phokion Kolaitis editor Proceedings of LICS 2003 IEEE 2003 Y Chevalier R Ktisters M Rusinowitch M Turuani and L Vigneron Extending the Dolev Yao Intruder for Analyzing an Unbounded Number of Sessions In M Baaz editor Proceedings of CSL 2003 LNCS 2803 Springer Verlag 2003 Available at http www avispa project org H Comon Lundh and V Cortier New decidability results for fragments of first order logic and application to cryptographic protocols In Proceedings of RTA 2003 LNCS 2706 pages 148 164 Springer Verlag 2003 H Comon Lundh and V Cortier Security properties two agents are sufficient In Proceedings of ESOP 2003 LNCS 2618 pages 99 113 Springer Verlag 2003 CMRO1 Cor02 DA99 DEK82 Den00 DH76 DKKOS DLMS99 DM99 DM00 DMRO0 DMT98 DY83 EG83 Eis00 FGV04 209 V Cortier J K Millen and H Ruef Proving secrecy is easy enough In 4th IEEE Computer Security Foundations Workshop CSFW 01 pages 97 110 Wa shington Brussels Tokyo June 2001 IEEE V Cortier Rapport
324. s 17th Inter national Conference on Computer Aided Verification CAV 2005 volume 3576 of Lecture Notes in Computer Science pages 281 285 Edinburgh Scotland 2005 Springer R Amadio and W Charatonik On name generation and set based analysis in the dolev yao model In CONCUR 13th International Conference on Concurrency Theory LNCS Springer Verlag 2002 A Armando and L Compagna Automatic SAT Compilation of Protocol Insecu rity Problems via Reduction to Planning In D A Peled and M Y Vardi editors Proceedings of 22nd IFIP WG 6 1 International Conference on Formal Techniques for Networked and Distributed Systems FORTE LNCS 2529 pages 210 225 Springer Verlag 2002 Also presented at the FCS amp Verify Workshops Copenha gen Denmark July 2002 Available at www avispa project org A Armando L Compagna and P Ganty SAT based Model Checking of Security Protocols using Planning Graph Analysis In Proceedings of FME 2003 LNCS 2805 Springer Verlag 2003 C Adams RFC 2025 The Simple Public Key GSS API Mechanism SPKM October 1996 Status Proposed Standard M Abadi and C Fournet Mobile Values new Names and Secure Communica tion In POPL pages 104 115 2001 205 206 AG99 AST00 ASZ96 AT91 AVI03a AVI03b AVI04 AVIOS BAFOS BAN90 BCLMO03 BdGH97 BDKT04 BDKV05 BG06 Bibliographie M Abadi and A Gordon A calculus for crypto
325. s il peut exister plusieurs A unificateurs pour deux termes donn s Cependant dans certains cas il est possible de comparer des A unificateurs grace l ordre partiel gt A Par la suite un A unificateur o gt est dit plus g n ral qu un A unificateur 01 Si O1 gt A 0 Definition 9 1 5 L ordre partiel gt A Vo1 02 X gt T FUO telles que dom 0 dom o2 x1 2n 01 gt a 02 si et seulement si x1 Tn o1 t1 n o0 32Nous rappelons que si q gt q2 et q1 q2 Q alors q q2 est une e transition 166 Chapitre 9 Reconstruction de traces Exemple 9 1 6 Soit A un ensemble de transitions tel que d q A Consid rant les deux A unificateurs o1 x g q y g a et og x g d y gt g a c est plus g n ral que oz i e 02 gt a 01 car g d g a g q g a Bien qu il existe plusieurs A unificateurs pour une paire de termes donn e ce nombre est tout de m me fini C est ce que nous montrons dans le lemme 9 1 7 Lemme 9 1 7 Pour tout A t et to l ensemble fp a t t2 est fini PREUVE tant donn un terme T FU Q posons Sub t comme tant l ensemble des sous termes de t i e Sub t t p Pos t Par d finition de fa t1 t2 toute substi tution de cet ensemble associe une variable soit un tat soit un sous terme de t Ainsi tra ti t2 C Var ti gt QU Sub t2 Puisque Var t Q et Sub t2 sont des ensembles finis
326. s les positions p de x dans l nous obtenons 1 gt 0 p En particulier pour chaque variable x de I 1 gt 0 p o p est la position minimale de x dans Par cons quent et par d finition de ro nous obtenons TU TO 8 4 Ainsi nous pouvons conclure que tolru par 8 1 e tolro par 8 4 gt 4 tolga par 8 3 gt qf par 8 2 Finalement t L C Ap Pour une abstraction bien choisie le calcul de compl tion exprim ci dessus peut conver ger et ainsi d finir une sur approximation de R L Ao Formellement cela s exprime par le th or me ci dessous Th or me 8 2 7 Soit An et Yn respectivement une s quence d automates d arbres finis et une s quence de l r fonctions d approximations d finies par pour chaque entier n Yn est une fonction d approximation pour et An 1 Cy An Si la s quence An est ultimement constante et gale B alors R L Ao E L B La preuve est imm diate par une simple induction sur le lemme 8 2 6 Comme le langage obtenu est une sur approximation de l ensemble des termes atteignables nous pouvons alors v rifier des propri t s de s ret Nous avons donc impl ment cette m thode dans Timbuk et nous l avons appliqu e pour la v rification de propri t s de secret sur le proto cole View Only un protocole anti copies que nous d crivons pr sent 8 3 tude de cas le protocole View Only 161 8 3 tu
327. s n est pas adapt pour le moment la m thode de v rification que nous avons adopt e et sur laquelle se base l outil TA4SP 5 De IF vers une v rification de protocoles par approximations Sommaire 5 1 Traduction d une sp cification IF en un syst me de r criture R et un automate d arbre Ap tt tt 83 SL o IA eh anid Rett ont Oe Last 84 Types signatures et ensembles basiques 84 Termes bien formes s sona 20 ana a aa oe 86 Unification et termes bien form s 87 Messages Et faits 42 wos dd aa eon mine Motifs an af ee 87 D finition d un syst me de r criture IF 3 4 eda in Lex 89 5 1 2 Repr sentation abstraite des donn es fra ches en IF 91 5 1 3 Vers une version de IF prot g e atada AAA 94 Nouveaux types nouveaux symboles fonctionnels et nouvelles signa UES era a en bares yeh eed ee eRe 94 Algorithmes de traduction 96 5 1 4 Ao un automate d arbre pour la connaissance de lintrus et la confi gUTAUONAUT SEAU s ec Gos rd ae GR a ee 101 5 1 5 L intrus dans notre approche 105 IO CONCIOUSION p 0 ane Sere pane de per ann et Pas De 105 5 2 Sp cification du secret 106 5 2 1 Attaques li es la sp cification du secret 106 5 2 2 Adaptation du secret IF notre approche 107 Sp cification du secret
328. s par r criture De cette mani re on parvient 1 certifier les logiciels critiques em barqu s par rapport aux propri t s et 2 v rifier que les m canismes de s curit sont corrects par rapport aux donn es confidentielles A nouveau nous devons faire face au probl me des approximations Afin de rendre cette m thode de v rification accessible il est n cessaire de d finir des classes d approximation adapt es ce type de v rification Contrairement aux protocoles de s curit il semble que les exigences dues la vari t des propri t s prouver impliquent une autre repr sentation des fonctions d approximation sans n cessairement faire r f rence aux automates d arbre Une des pistes que nous envisageons serait d utiliser des quations d approximation qui d finissent quels sont les langages d arbre fusionner Un appel aux techniques de r solution de contraintes semble permettre la convergence du calcul de la sur approximation Ces contraintes pourraient tre inspir es des diff rents flots de contr le et de donn es de l application v rifier 194 Conclusion A Sp cification HLPSL du protocole TSIG role client A S agent K symmetric_ key H hash_func M1 text Tagl Tag2 text SND RCV channel dy played_by A def local State nat N1 N2 M2 text init State 0 transition stepl State 0 RCV start gt State 1 N1 new SND Tag
329. s poss dant des propri t s alg briques CKR 03a 50 Chapitre 3 Des outils de v rification de plus en plus accessibles Le langage HLPSL Dans CASRUL les protocoles de s curit sont sp cifi s en HLPSL un langage de sp cifica tion dont la syntaxe se rapproche de CAPSL DMROO0 et CASPER Low97a En HLPSL un protocole est sp cifi par huit champs Protocol Identifiers Messages Knowledge Ses sion_Instances Intruder Intruder_knowledge et Goal Tous les champs sont d crits ci dessous Protocol nomme le protocole Identifiers d crit les diff rents types de donn es pr sents dans le protocole A B sont de type user Knowledge permet de sp cifier la connaissance des diff rents intervenants au d but du protocole Messages tous les messages du protocole sont r pertori s dans cette cat gorie Session_instances permet d initialiser plusieurs sessions en parall le car certains proto coles sont mis d faut de cette mani re Intruder le pouvoir d action de lintrus est d fini dans cette section par les termes sui vants 1 eaves_dropping permet d couter le r seau sans pouvoir emp cher les messages d arriver a leur destinataire 2 divert permet de d tourner les messages 3 impersonate permet d envoyer des messages en se faisant passer pour une autre personne Intruder_knowledge initialise la connaissance de l intrus au d part
330. s travaux de th se Bien videmment des investigations sont encore men es pour traiter des sc narios plus complexes R pour un simple appel du r le R avec les param tres donn s parallel R1 Rn end pour les ex cutions parall les de plusieurs r les forever R end pour que le r le R boucle 4 5 Conclusion 79 step step_R_ state _ role R A equal V_x 0 gt state role R B1 step step_R_ state _ role R A not equal V_x 0 amp leq V_y 10 gt state _ role R B1l step step_R_ state _ role R A not equal V_x 0 amp not leq V_y 10 gt state role R B2 FIG 4 10 Exemple de transitions de A B La traduction de ces instructions est r alis e de la mani re suivante Pour des appels pa rall les de r les les traductions de chacune des instances de r les sont ins r es dans l tat initial IF De plus pour chacun de ces r les le drapeau Forever est initialis false Pour d finir le fait qu un r le boucle ind finiment nous fixons le drapeau Forever de la traduction de ce r le t rue et nous ajoutons le r sultat obtenu dans l tat initial IF Ce drapeau permet en effet de sp cifier une boucle infinie car pour chaque r le nous ajou tons aux r gles IF une r gle de r initialisation de ce r le Par exemple ci dessous nous sp
331. sance initiale ainsi 60 Chapitre 4 HLPSL amp PROUV que le comportement de chaque participant du protocole sont d crits La connaissance initiale li e un r le est exprim e par une liste de param tres Exemple 4 2 1 Un agent jouant le r le alice conna t deux agents et B une cl sym trique Kab et poss de deux canaux respectant le mod le Dolev amp Yao DY83 Ceci se d clare par role alice A B agent Kab symmetric_key SND RCV channel dy De plus lors de la d claration d un r le une clause optionnelle played_by peut tre ajout e elle sp cifie quel agent joue le r le consid r Exemple 4 2 2 L instruction ci dessous sp cifie que sur les deux agents pass s en param tre du r le alice l acteur principal est l agent A role alice A B agent Kab symmetric_key SND RCV channel dy played_by A Chaque r le est compos d une liste de variables locales d une section init optionnelle et d un ensemble de transitions La section init permet d attribuer une valeur initiale aux variables Exemple 4 2 3 L extrait de sp cification ci dessous exprime la d claration de deux variables locales State et M pr cisant que la variable State est initialement instanci e la valeur 0 local State nat M text init State 0 Par un ensemble de transitions l activit d un agent jouant le r le est repr sent e i e r cep tion d un message envoi d un autre r alisatio
332. secret E L Co A A L Asecret n i 0 Tant Que A Det E 4 faire ni n 1 A L Ba LA O L Asecret E L Ca AJ A L Asecret finTQ si AZ alors retourne false sinon retourne true finsi FIG 6 3 Semi algorithme bas sur les approximations g n r es automatiquement 140 Chapitre 6 D marche fond e sur des approximations CE QU IL FAUT NOTER Deux classes d approximations 7 4 et YAp YA Sur approximation VA SOUS APproximation PIN iS Pour un automate A respectant les conditions 2 3 et 4 de la d finition 6 2 7 les paires A VA et A YAp sont Basiques compatibles 6 4 Applications aux protocoles cryptographiques Dans la section 6 2 1 nous avions relev par la proposition 6 2 6 que le langage issu de la traduction de IF r sultant des algorithmes pr sent s dans la section 5 1 3 du chapitre pr c dent tait inclus dans l ensemble des termes d crit dans la d finition 6 2 4 Un autre point important concerne l automate g n r par l algorithme 5 1 35 D apr s les propositions 5 1 37 et 5 1 38 nous d duisons que l automate g n r satisfait les deux premi res conditions de la d finition 6 2 7 Les deux derni res conditions concernant l automate sont galement satisfaites de par la nature des ensembles Fprtet et l algorithme 5 1 35 Ainsi nous pouvons appliquer nos r sultats obtenus sur le traitement du probl me de la non lin arit
333. sent aux positions 1 1 et 2 1 dans l Les positions de y sont 2 2 1 et 2 2 2 Soit o une l r substitution telle que o 1 1 q o 2 1 q2 0 2 2 1 q3 et o 2 2 2 qy Ainsi nous pouvons construire lo tel que lo f g q h q2 f q3 qa est le terme obtenu apr s l application de la l r substitution o sur le terme l Simuler une tape de r criture avec des l r substitutions est plus complexe qu avec des substitutions de X dans Q En effet que devons nous faire lorsque plusieurs tats corres pondent une variable Comment construire ro Nous choisissons arbitrairement la position minimale d une occurrence de x resp y dans l Cette position est 1 1 resp 2 2 1 Ainsi ro est obtenu en rempla ant toutes les occurrences de x resp y dans r par o 1 1 q resp 0 2 2 1 q3 Par cons quent nous obtenons le terme ro f h q 43 h q3 q Notons que cette repr sentation ne tient pas compte des multiples valeurs associ es une variable si bien que nous avons une repr sentation pour le moment quivalente un renommage des variables non lin aires Cependant cette approximation est souvent trop forte Imaginons que nous appliquons ce principe l op ration de d codage Cela signifierait que l intrus peut d coder n importe quel message Il est clair que cette repr sentation n est pas compatible avec la v rification de protocoles de s curit C est pourquoi nous intro
334. ssage x agent message type a type x agent et type y type z message Soitt f f y a x ett f z a Soit p X gt Tgign F A telle que p x a ply y et p z f y a La substitution p est une substitution d unification car tp tp F f y a a type x typetype a agent typeagent type y typetype y message typemessage et type z typetype f y a message gt typemessage Messages et faits Soit l ensemble des variables et Fip l ensemble des symboles fonctionnels issus d une sp cification IF Soit sign la fonction totale d finie par pour tout f F sign f sign f De m me soit type la fonction totale telle que type t type t pour tout t Fir Les symboles fonctionnels de IF ne repr sentant pas de constantes sont class es en quatre cat gories M T H et S Les ensembles pr c dents d signent respectivement l ensemble des constructeurs de messages l ensemble des constructeurs sp cifiant la connaissance de l intrus l ensemble des constructeurs repr sentant les tats des agents et l ensemble des constructeurs des signaux utilis s pour la sp cification de propri t s d authentification et de secret Le reste de cette section d finit chacune de ces cat gories L ensemble M est d fini tel que M crypt 2 pair 2 scrypt 2 apply 2 inv 1 exp 2 xor 2 U Fo Les signatures de ces symboles fonctionnels sont list es ci de
335. ssion Cette discussion est organis e selon trois axes Nous situons tout d abord notre contribution propos de la non lin arit gauche parmi les travaux connus dans ce domaine Ensuite nous comparons nos classes d approximations par rapport aux travaux d crits dans OCKS03 et FGV04 Et enfin nous terminons sur une comparaison li e l application de cette m thode la v rification de protocoles de s curit 6 5 1 Non lin arit Nous avons donc pr sent dans la section 6 2 une technique automatique permettant de v rifier si un couple A y est adapt une compl tion correcte de I automate par un syst me de r criture R C Termes x Termes en utilisant la fonction d approximation y Les crit res donn s dans la d finition 6 2 7 sont v rifi s une fois pour toutes sur l automate initial et sur la fonction d approximation De par sa nature le syst me de r criture poss de quelques pro pri t s indispensables au fondement de cette m thode d crites dans la section 6 2 1 Dans GK00 OCKS03 les syst mes de r criture taient non lin aires gauches mais il s agissait de cas particuliers Les auteurs devaient alors d montrer que la m thode demeurait correcte pour le syst me de r criture donn Dans FGV04 les auteurs ont dress une condition n cessaire et suffisante au calcul de compl tion qui doit tre v rifi e sur l automate courant Cette condition s exprime sur toutes
336. ssous sign crypt message x messager messag sign F scrypt message xX messager messag sign r pair message Xx message messag sign apply message x message messag sign inv message gt messag sign exp message x message gt messag sign xor message X message messag 88 Chapitre 5 De F vers une v rification de protocoles par approximations Tous les messages envoy s par les agents ou stock s dans leur environnement sont construits selon la d finition 5 1 8 Definition 5 1 8 L ensemble des messages T M XF est le plus petit ensemble de termes de Tsign Fir Ar tel que 1 Agents Keys Texts Nats Functions Sets Bools Identifiers T M Ae 2 site X et type t message alors t T M XF 3 sity tg E T M A alors apply t1 t2 crypt ti t2 scrypt t1 t2 pair t t2 exp ti t2 xor ty toe T M AF Exemple 5 1 9 Quelques exemples de messages Soit m m Figo tels que type m type m text et soit x Air telle que type x message Soit t t Tgign Fir Xie tels que t crypt x scrypt m m ett xor t xor m m Alors t et t sont galement des termes de T M Xp Dans la section pr c dente la notion de fait a t abord e Il existe trois types de faits mission d un message 7 T o J iknows 1 d finition d un tat local T H o H C F ZUM US et activation d un signal T S o
337. ste N tel que 6 9 soit vrai D apr s le th or me 6 2 14 97 A y est Basiques compatible Ainsi en appliquant R sur 6 9 nous obtenons R R L A R L GR A 6 10 Puis le th or me 6 2 14 pour IRA A implique R L 9R A Llgr y l 9r A 6 11 Maintenant en utilisant 6 10 et 6 11 nous obtenons RN L A L gR 4 A Comme 6 9 est aussi vrai pour N 1 6 9 est vrai pour tout N gt 1 S il existe un entier n gt 1 tel que L g A Lg A alors nous pouvons d duire que pour tout N gt n R L 9R A E LIR A Ceci implique que U RYL A R L A E L G A N gt 0 CE QU IL FAUT NOTER 1 Soit Rig un syst me de r criture IF Soit R tel que R TradRules R Pour tout pas r l r Termes et Sec C Termes 2 Des crit res donn s dans la d finition 6 2 7 portant sur l automate initial et sur la fonction d approximation sont pr serv s tout au long de la compl tion Def 6 2 10 et permet le calcul de sur approximations Dans la section suivante nous d finissons deux classes de fonction d approximations per mettant le calcul de sur approximations ou de sous approximations Ces deux classes ont la particularit d tre Basiques compatibles 6 3 Approximations g n r es automatiquement Dans le cadre de la v rification des protocoles de s curit il est int ressant d une part de montrer que le secret est pr serv pour un
338. t t obtenus dans GK00 OCKS03 ou encore plus r cemment dans GTTT03 il s av re que la syntaxe originelle pr sent e en figure 3 1 poss de des limites d un point de vue pratique comme nous l avons d ailleurs soulign dans la section 5 1 6 La contrainte Var m Var m pour une r gle de r criture m m est relativement lourde de sens En effet en exag rant quelque peu cela signifie que toute information contenue dans le message envoy doit tre constructible partir du message re u M me si les construc teurs bas s sur les identit s des agents permettent d exprimer un nombre non n gligeable de protocoles il est parfois n cessaire d utiliser le symbole U voir figure 3 1 pour faire r f rence une information re ue dans le pass et non directement exprimable avec les identit s des agents Nous avions fait quelques exp rimentations dans BHKO04 et m me si nous avions r ussi obtenir de nouveaux r sultats la technique tait 1 peu esth tique et 2 impliquait des difficult s li es la lin arit gauche Le point d licat des approximations n a pas encore t trait et constitue l un des principaux sujets du chapitre suivant Le but du chapitre 6 est 1 de d montrer que la phase de protection permet de contourner le probl me de la non lin arit gauche et 2 de d finir deux classes de fonctions d approximation pour deux modes de v rification compl mentaires Le point
339. t e o Y Tsign F est tablie Les propri t s de secret li es cette activation sont d finies dans l ensemble suivant to t Sec Pour un nombre de sessions born le nombre d instances des propri t s est fini Dans le cas o le nombre de session est non born le nombre d instances des propri t s est potentiellement infini Satisfaction d une propri t de secret par un automate A L une des propri t s int ressantes d un automate est la capacit de reconna tre des termes ou des mots de profondeur ou de longueur non born e Cette propri t est particuli rement adapt e notre contexte de v rification Soit A l automate d arbre donn au d but de cette section et soit LS r R Soient t secret t p Agt Secet o Y Q une substitution telle qu il existe q Q pour lequel lo q et ro q La propri t p est satisfaite par A pour l instance si lintrus appartient l ensemble Agt ou to Fonds qr Qr Le premier cas signifie que l intrus est autoris conna tre l instance o du secret t alors que le second repr sente le fait que l intrus n a pas acc s l instance du secret to Pour le syst me de r criture R et pour l automate donn il est possible de calculer l ensemble des instances des secrets Nous notons KT l ensemble des instances d fini tel que KT t T FUQ A SreR o Var l r Q t Sec et q Q tell
340. t elle aussi instanci e Exemple 4 4 5 Suite la r ception du message 1 2 l instruction recv x y n est plus bloguante et de plus la variable y est initialis e 1 Tout comme les deux cas d instanciation de variables vus pr c demment en IF nous ajou tons le pr fixe Dummy_ au nom de la variable concern e pour sp cifier la valeur pr c dente de cette variable En PROUV l instruction fail interrompt l ex cution du r le courant Sachant que le principe de traduction employ est en g n ral une transition par instruction la mod lisation de l instruction fail en IF correspond une transition menant sur un tat bloquant C est ainsi que nous utilisons l entier 0 qui correspondra l tat du participant activant une telle transition Vinstruction choice L instruction PROUV choice ih ib x end permet d ex cuter de mani re non d terministe l une des listes d instructions 7 ilp k gt 1 En IF cela revient associer une s quence de transitions qui ne partagent aucun tat commun avec les s quences en parall le comme illustr dans la figure 4 8 Sauf le dernier car une fois l instruction choice ex cut e et peu importe le chemin choisi le r le se situe au m me point 4 4 Passerelles de HLPSL IF et de PROUV IF 77 Ce qui revient ajouter une transition silencieuse chaque s quence menant l tat r serv comme illustr dans la figure 4 8a U
341. t 2002 Quelques traces du langage HLPSL sont donn es dans JRV00 Suite une premi re proposition plusieurs versions ont suivies La derni re version du langage CAPSL premi re g n ration date du mois de f vrier 2000 3 2 vers des langages communs explicites 45 fra ches Cette sp cification de bas niveau est bien adapt e dans le sens o de nombreux travaux CDL 00 CDL 03 BCLM03 montrent que des passerelles sont possibles entre les alg bres de processus et les MSR ou encore les Strands et les MSR quasiment sans perte de g n ralit s Avec CAPSL la couverture des primitives cryptographiques est large Il est en effet possible de sp cifier des fonctions de hashage de d terminer la nature de l algorithme de chiffrement RSA DSA etc ou encore d utiliser des op rateurs arithm tiques Trois types de propri t s sont sp cifiables en CAPSL secrecy precedence et agreement Les deux derni res permettent de sp cifier deux niveaux d authentification Les d clarations des diff rents types de propri t s sont donn es ci dessous SECRET V Plea PR La variable du protocole V est partag e entre les agents P1 Pn PRECEDES A B V1 Vn Si une instance du r le B termine son r le alors il existe une instance du r le A telle que les deux instances sont en accord sur les valeurs des varia bles V1 Vn AGREE A B V1 W1 pour toute instance du r le A tant d accord avec u
342. t B le nonce Nb chiffr avec la cl publique de B Kb A la r ception du message Nb xe agent B d duit que l agent A a bien re u le message pr c dent puisque Vb tait contenu dans ce message A la fin du protocole l agent A pense que tout message contenant le nonce Na est n cessai rement issu de l agent B et sym triquement l agent B pense que tout message contenant Nb est n cessairement issu de A Ce protocole a dans un premier temps t suppos s r Dix huit ann es plus tard dans Low96 Gavin Lowe a d couvert une attaque et propos une correction de ce protocole La classe de protocoles d crite dans la section suivante r pertorie les protocoles dont le but est d offrir toujours les m mes garanties quelque soit le nombre d agents Nous appelons cette classe les protocoles de groupes Protocoles de groupes En g n ral un protocole est d fini pour un nombre fixe d agents Ensuite plusieurs ses sions sont jou es mais le nombre d agents jouant les sessions est constant Il existe une classe de protocoles telle que le protocole est d fini pour un nombre quelconque d agents Ces pro tocoles sont qualifi s de protocoles de groupe Certains protocoles permettent par exemple l tablissement d une cl partag e entre n individus IKA Cliques I STW99 et Cliques II ASTOO Ces deux protocoles mettent en jeu la m thode de Diffie Hellman que nous avons pr sent e pr c demment pour l t
343. t de prot ger les termes contenus l int rieur des faits Nous remarquons qu il existe un cas d chec dans l algorithme propos ci dessus lorsque t Fo et type t message C est une contrainte que nous imposons dans le sens o une constante de type message n a pas r ellement de sens Nous pouvons en effet lui associer un autre type comme text par exemple puisque message gt text Ainsi tout filtrage entre une variable de type message et constante de type text reste possible Lalgorithme 5 1 30 permet en utilisant l algorithme pr c dent de prot ger les diff rents faits T Z T H et T S Nous tendons galement l entr e de cet algorithme aux l ments de Faits Algorithme 5 1 30 Soit t T Z UT H U T S U Faits La fonction TradFaits permet de prot ger t de la fa on suivante t TradFaits t t and t t2 Faits and TradFaits t TradFaits t2 t iknows t T T iknows Trad t t f t tn E T H hb f Trad t lt Trad t t secret ti t S E T S secret Trad t Trad t2 5 o S Trad t t S Il reste donner l algorithme permettant de traduire compl tement un syst me IF en un syst me de r criture compatible avec notre approche c est dire pour tout l gt r R Var r Var l 98 Chapitre 5 De F vers une v rification de protocoles par approximations Cet algorithme s ex cute en deux tapes D abord il est n
344. t effectuer et terminer son calcul avant que P_ n ajoute un symbole sur la file d attente Dans ces conditions il restera des symboles lire alors que la configuration du processus P ne sera plus adapt e la lecture de symboles Ce probl me peut tre r solu en ajoutant un symbole end Ce symbole doit tre ajout par le processus P la file FIFO de P_ une fois que P a termin le traitement de sa liste de symboles donn e en param tre Le processus P_ agit sym triquement 9 3 Quelques exp rimentations 183 Ainsi un processus peut s arr ter uniquement 1 s il a trait sa liste de symboles int grale ment et 2 s il peut lire le symbole end dans sa file d attente La sp cification de ce nouveau syst me est donn e ci dessous TRS R1 add x nil gt cons x nil add x cons y z gt cons y add x z S Proc cons plus y c z m n gt S Proc y s c z m n S Proc cons minus y c u m n gt S Proc y c u m add minus n S x Proc cons minus y Cc m n gt S x Proc y s c m n S x Proc cons plus y c m n gt S x Proc y c add plus m n S Proc x c z cons plus m n gt S Proc x s c z m n S x Proc z c m cons minus n gt S x Proc z s c m n S Proc nil c z m n gt S Proc nil c z m add end n S x Proc nil c m n gt S x Proc nil c add end m n S Proc nil c z cons end m n gt S Stop c z m n S x Proc nil c m cons end n
345. t par un agent pense que telle donn e est secr te pour un ensemble d agents Dans le contexte de l exemple pour les messages de la forme a X px la valeur prise par X sera syst matiquement d clar e secr te par b entre a et b Or partir du moment o l intrus conna t l identit de a et la cl pk b il peut alors construire un message de la forme a X pk Si bien que b d clare la valeur g n r e par lintrus comme un secret entre a et b Clairement notre propri t de secret est mise d faut d s que l authen fication n est pas assur e Et c est le cas pour l exemple propos Nous soulignons galement des r sultats int ressants qui n auraient pu tre obtenus avec la repr sentation des propri t s de secret adopt e dans GK00 OCKS03 Cette technique est pr sent e dans la section 5 2 Concernant la fonction d approximation que nous g n rons tous les d tails sont donn s dans le chapitre 6 En effet une fonction d approximation symbolique que nous pr sentons dans la section 6 1 est g n r e automatiquement partir du syst me de r criture R Nous pr senterons galement dans le chapitre 6 deux classes de fonctions d approximation corres pondant deux instances de la fonction d approximation symbolique g n r e A ce point pr cis 1l est possible de v rifier automatiquement le protocole sp cifi Nous d finissons dans la section 5 4 une abstraction du mod le issu de la
346. t pas ex cuter le protocole enti rement M me si l attaque n est pas r alisable il s av re que le secret pr server n est pas celui auquel nous aurions pu nous attendre c est dire un terme de N z y 1 x y A B En effet il s agit d un terme g n r ici par l intrus Une telle sp cification du secret ne peut tre g r e que dynamiquement En effet il faut savoir que le secret va porter sur une donn e g n r e par l intrus Comme cette propri t est li e aux ex cutions du protocole elle ne peut tre sp cifi e par un ensemble de termes pr alablement d fini et constituant le langage de l au tomate Ay 5 2 2 Adaptation du secret IF notre approche Soit A un automate d arbre fini tel que A F Q Oy A o Q est l ensemble des tats de l automate A O l ensemble de ses tats finaux et A l ensemble de ses transitions Soit Rif un syst me de r criture IF Soit R le syst me de r criture tel que R TradRules Rir algorithme 5 1 31 Sp cification du secret S Une r gle de R est de la forme 235 rod l r Tsign F X et pour tout t Sec t est de la forme secret x y z avec x la donn e d clar e secr te y l identifiant de la propri t de secret et z l ensemble des agents autoris s conna tre x 108 Chapitre 5 De F vers une v rification de protocoles par approximations Ainsi lorsqu une r gle l 25 re Rest activ e une substitution bien sor
347. tar Dummy_Set_1l6state_ alice get scrypt x7 x6 gt x14 pair x8 x14 gt x15 iknows x15 gt qnet 7 2 Mode d emploi et sortie de TA4SP 149 state _alice x13 x12 x11 x10 x9 Dummy_Set_1l6state _alice gt qstate and qstate qnet gt Xtarget x Fonction d approximation symbolique pour la deuxi me reglex state_bob x5 x4 x3 x2 xl gt Xtarget gt state_bob x5 x4 x3 x2 xl gt Xtarget x Tous les termes issus des transitions suivantes sont d j normalis s x Z gt 2 gt x gt se gt 1 y 2 y1 gt L a x Forme du secret a v rifier li la r gle 0 pour le nonce g n r x PropertiesDeclaration 0 secretOna text default30 Astate_alice Bstate_alice zeros na agt Bstate_alice agt Astate_alice En ce qui concerne les extensions c t Timbuk nous avons d velopp un module propre la gestion de notre fonction d approximation correspondant la description donn e dans la section 6 4 La v rification des propri t s de secret s effectue de la mani re suivante Il faut construire l ensemble des signaux a partir de l automate complet Soit par exemple la sp cification du signal ci dessous 0 secret text n A B na agt B agt A Soit gt r R la premi re r gle du syst me de r criture Soit A F Q Oy Ay le dernier automate calcul par compl tion de l automate Ao d crit pr c demment par le syst me d
348. tat initial de cette variable et une variable D_M qui permet d ignorer la valeur pr c dente de M Ceci est d l instanciation de M la vol e La transition HLPSL du r le alice State 0 RCV start gt State 1 M new SND Kab M Kab secret M idl A B est traduite en la transition IF step step_0 A B Kab D_M M state_Alice A B Kab D_M 0 iknows start exists M gt state_Alice A B Kab M 1 iknows pair Kab scrypt Kab M secret M id1 A B 72 Chapitre 4 HLPSL amp PROUV Nous constatons que les canaux ont t remplac s par le fait iknows La variable State a elle t substitu e par ses valeurs successives 0 et 1 La variable M est instanci e dans la clause exists L ancienne valeur est cras e par l ajout de la variable D_M dans la partie gauche de la transition En r alit les ensembles en IF sont g r s en tant que termes par exemple a b contains a set1l contains b set1 o la constante set1 est de type set Par souci de lisibilit nous favorisons la notation ensembliste plut t que celle en terme Pour plus d informations sur IF le lecteur peut se r f rer AVI03a L tat initial est cr en fonction de l tat initial sp cifi en HLPSL Cependant un traite ment particulier lorsque lintrus joue un r le est d taill dans AVIO3b Pour la sp cification HLPSL donn e l tat initial IF correspondant est celui pr sent
349. tenons deux cas ce EF 0 OU c f q1 qn etpouri 1 n q Opasiques A Cependant ces deux cas se rejoignent En effet 11 suffit de montrer comment la transition c q a t introduite Il existe deux possibilit s pour la construction d une nouvelle tran sition 1 soit cette derni re est ins r e telle quelle par la fonction d approximation 2 soit elle est issue de la simplification d une e transition Vu que c q A il existe une r gle r R une substitution o 40 et un tat q O tels que soit t gt pg Norm ro q l r o r X soit c q Norm ro q l r Dans le premier cas par le lemme 6 2 9 comme t gt p Opasiques A alors r x Basiques Par cons quent la r gle l gt x est en contradiction avec la d finition de R car r x amp Termes Pour le second cas nous obtenons une contradiction issue de la conditions 5 de cette m me d finition dans le sens o t2 gt p doit tre gal t gt p Ce qui contredit notre hypoth se Par cons quent pour tout t S il existe un unique terme slic t de gr tel que t t et t t De plus nous obtenons Qpasiques A Q Basiques gral A 2 Supposons qu il existe t t L gr A qe avec qt Opasiques IR A Opasiques A ett 4 t Comme A y est Basiques compatible L A qt t d apr s la condi tion 2 de la d finition 6 2 7 Par cons quent t
350. termin de fois Nous pou vons galement semi d cider l existence d attaques avec TA4SP L outil AVISPA ainsi que les r sultats obtenus avec cette plate forme de v rification sont d crits dans ABB 05 1 3 Plan Ce m moire de th se est organis de la fa on suivante Dans le chapitre 2 nous introduisons toutes les notions relatives aux termes aux substitu tions la r criture et aux automates d arbres Ces notions sont en effet indispensables pour la compr hension de la partie technique de ce document chapitres 5 6 8 et 9 Au chapitre 3 nous survolons les diff rents formalismes et diff rentes techniques respective ment utilis s pour la sp cification et pour la v rification de protocoles de s curit en soulignant les diff rentes tendances rencontr es lors des quinze derni res ann es Nous nous focalisons dans le chapitre 4 sur les deux langages de sp cification que sont les langages PROUVE et HLPSL Nous d crivons galement au sein de ce chapitre la connexion du langage PROUVE aux outils de v rification AVISPA que nous avons d finie Disponible en ligne l adresse http www avispa project org web interface Cet outil l est galement via la distribution de l outil AVISPA t l chargeable l adresse http www avispa project org 20 Chapitre 1 Introduction Le chapitre 5 pr sente l automatisation de la m thode GK00 Nous avons d fini un langage de sp cification proche du la
351. tes comprises entre le d but et la fin d une session Nous verrons au cours de ce document diverses notions de secret notamment dans la section 5 2 L opacit L opacit est une variante de la propri t du secret En effet une donn e ne doit pas tre d duite partir des ex cutions du protocole v rifi Par contre cette donn e 1 1 S curit et protocoles de communication 13 peut tre initialement connue par l intrus mais ce dernier ne doit pas deviner de quelle donn e il s agit Prenons l exemple suivant A B t un mot du dictionnaire y En supposant que lintrus connaisse la cl Kb et qu il poss de un dictionnaire il peut alors trouver le mot t dans le dictionnaire puis composer le message t x Il en d duira alors qu il s agit du mot t Une parade est de concat ner une donn e fraiche et secr te au mot t L anonymat la propri t d anonymat est une instance de la propri t d opacit d crite ci dessus L authentification l authentification est interpr t e de plusieurs fa ons diff rentes Dans Low97b pas moins de 5 degr s d authentification sont donn s Il existe galement des authentifications de message et d utilisateur Un message est authentifi s il est bien tel que l exp diteur l a envoy L authentification d agent consiste s assurer qu un agent correspond bien avec l agent avec lequel il est cens communiquer Nous rencontrerons
352. ticiper au protocole l aide d un ensemble de transitions Au sein du projet AVISPA un deuxi me langage a t d velopp en inter Ce langage d nomm IF a pour caract ristiques d tre un langage de bas niveau facile traiter pour les outils de v rification inclus dans l outil AVISPA Dans la section 5 1 1 du chapitre 5 nous pr sentons des aspects sp cifiques du langage IF pour l introduction de notre m thode Nous donnons ici une pr sentation fonctionnelle et g n rale de ce langage Le langage IF AVI03a sp cifie un protocole sous forme de syst mes tats transitions Un tat est exprim sous forme de conjonctions de faits Il existe plusieurs cat gories de faits les faits li s l intrus iknows M signifie que l intrus conna t le message M les faits li s aux tats des agents state _X X1 Xn d crit l tat de l individu jouant le r le X Les donn es X1 Xn constituent la connaissance actuelle de l indi vidu les faits li s aux signaux de secret L venement secret X id Y Z ayant l iden fiant id d clare la donn e X secr te entre les agents Y et Z les faits li s aux signaux d authentification concernant l authentification il existe deux types de signaux 1 witness X Y id Z et 2 request X Y id Z 1 Pagent X veut authentifier Y gr ce la donn e Z Ce fait a pour identifiant id 2 l agent X s authentifie envers
353. truction de traces Lemme 9 1 18 Pour toutt T F X u1 u2 T F U Q pour toutes substitutions 01 02 X T FUQ p Y Q et pour tout q Q si u gt U2 gt A q 01 falt u1 O2 Talt ua toy gt A tp gt A q et tog gt tp gt A q alors il existe o fta t uz telle que 0 gt a o et tas tp PREUVE Nous proc dons par induction sur t Sit est une constante a alors 0 02 0 d o oh 02 0 gt a 0 et to tog h tp Si t est une variable x alors a t ui x up et falt ue x gt w De plus puisque wu uz nous obtenons d abord 04 02 01 Za 0 puis ensuite y APE toy tog gt tp Soit t f ti tn o t1 t sont des termes de T F X de profondeur inf rieure ou gale n A pr sent supposons que pour chaque terme de profondeur inf rieure ou gale n nous avons cette propri t Maintenant nous proc dons par cas sur u Siu q Q alors uz q puisque uy uz et il n existe pas de transitions epsilon dans A Puisque u uz nous pouvons choisir 0 0 et nous obtenons trivialement 01 gt a 0 et galement to to gt tp Si u Q alors u est n cessairement de la forme f t th avec t t in T F U Q En effet si u n tait pas de cette forme alors c n existerait pas Mainte nant proc dons galement par cas sur uz Nous obtenons Si u q Q alors puisque uz
354. type agent en tant d l ments de distinctions Nous reparlons de l application de cette technique aux protocoles de s curit dans la section 6 4 Formellement nous exprimons ceci comme suit Soit 21 ko des l ments de Z Soit C A l automate d arbre d fini par C A IR 74 4 A o Ya est d fini inductivement pour tout l gt r R o XQ q Q p Pos r par Si rl Basiques alors y y 1 gt r 0 9 Yi gt rp est gal q Qpasiques A tel que tro Sir p Fn n gt Oetr Basiques alors y 1 lr 0 q Yi gt r p est gal q o q q g Q U Q Basiques A r p B1 eu ie os Br A 18 r pi o si r p i X bi mn YA y lr O q esla sinon si cela est possible et d 1 r p o z z Z N Var 1 sinon 138 Chapitre 6 D marche fond e sur des approximations La proposition suivante d montre que la fonction d approximation y y est compatible avec la condition 5 de la d finition 6 2 7 Proposition 6 3 6 La paire A ya est Basiques compatible PREUVE Par hypoth se l automate A satisfait les crit res de Basiques compatibilit V ri fions que 74 Satisfait la condition 5 de la d finition 6 2 7 D apr s la d finition de 74 YA lr o Yorp qu QBasiques A uniquement sit Basiques rl Basiques et t 4ro p Dans la condition 5 les deux premiers crit res sont trivialement satisfaits Si YA lr o Yisrp
355. u pr c demment l outil TA4SP prend en entr e une sp cification IF qui peut tre g n r e soit partir d une sp cification HLPSL soit partir d une sp cification PROUV Les protocoles list s ci dessous sont pour une part issus de la librairie SPORE Security Protocols Open Repository et pour l autre part issus de la librairie AVISPA qui regroupe des protocoles IETF Internet Engineering Task Force ainsi que des protocoles e Business 27Ces protocoles sont disponibles l adresse http www lsv ens cachan fr spore 152 Chapitre 7 TA4SP un outil pour la v rification Pour des protocoles comme NSPK NS78 Low96 TMN M Tatebayashi N Matsuzaki et D B Newman TMN89 RSA R Rivest A Shamir et L Adleman CJ ou encore LPD MSR Low Powered Devices Modulo Square Root BM98 tous connus comme non s curis s nous sommes parvenus par le biais de sous approximations a d montrer que les propri t s de secrets taient belles et biens non v rifi es Le protocole View 0n1 y Tho01 utilise l op rateur XOR qui poss de des propri t s alg briques L une de ces propri t s requiert une r gle non lin aire gauche xor x xor x y y Or la technique que nous avons pr sent e dans la section 6 2 s av rerait trop restrictive pour ce genre de r gle Cela n cessiterait que nous typions fortement ces r gles Or l int r t de cet op rateur r side justement en la possibilit d utiliser un
356. ue et M un message quelconque alors UM ihe M Le code de C sar que nous avons pr sent pr c demment peut tre consid r comme un codage sym trique dans le sens o l algorithme de chiffrement et de d chiffrement se r sument une translation d un nombre n N o n constitue la cl sym trique Sin 2 alors il suffit de faire un d calage de 2 pour le chiffrement et de 2 pour le d chiffrement Exemple 1 1 1 Soit M message code et n 2 En posant M x le chiffrement de C sar appliqu M nous obtenons M M x kcqqyec ambc En notant le d chiffrement par M x nous obtenons exactement kcqqyec ambc x message code 2Nous notons galement inv Ka pour repr senter Ka et sym triquement 6 Chapitre 1 Introduction Pour les deux chiffrements pr c dents l hypoth se de cryptographie parfaite est la suivante Un message chiffr peut tre d chiffr uniquement avec la cl inverse i e la m me cl que le chiffrement dans le cas sym trique et la cl secr te ou publique dans le cas asym trique Une autre hypoth se de v rification que nous consid rons comme l une des hypoth ses du chiffrement parfait concerne les fonctions de hashage Les fonctions appel es one way ou fonction de hashage ont des propri t s identiques aux fonctions math matiques permettant de g n rer une cl publique partir d une cl secr te partir de h X o h est une fonction de h
357. uivante 2 2 des syst mes de r criture Une r gle de r criture est un couple 1 r not aussi Ir tel que l r T F X et Var r Var l Exemple 2 2 1 Codage de la soustraction d entiers naturels avec Minus Fa s Fi 0 E Foetx ye X Minus s x s y Minus x y Minus 0 y y Minus x 0 y Soit t T F et r une r gle de r criture Une tape de r criture consiste chercher une position p Pos t et une substitution yy Var l T F telles que t lu puis remplacer le terme t par ru t ru p Notons que si Var r Var l le terme ru ne serait pas clos Ce principe est rappel figure 2 4 Un syst me de r criture not R est un ensemble de r gles de r criture R est dit lin aire gauche resp lin aire droite si pour tout l gt r R est lin aire resp r est lin aire 2 3 des automates d arbre et des langages r guliers 25 FIG 2 4 Principe de r criture Soit t1 t2 T F deux termes clos Le terme t peut tre r crit en to not tj gt to s il existe une position p Pos t une r gle de r criture l gt r R et une substitution pu X gt T F telles que t lu et t2 tifru La cl ture transitive et r flexive de gt p est not e gt Minus Minus ss E l Minus s x s y Minus x y Minus 0 y y 3 o s 0 a 0 cl UN n FIG 2 5 Soustraction 1
358. uivante est sp cifi e pour une session du protocole Fil rouge A conna t initialement B la cl Kab et lui m me A Le langage CAPSL permet galement de sp cifier des actions men es par un individu apr s r ception d un message ou avant l envoi d un autre Deux types d actions sont r pertori es affectation de variables et tests de comparaison Dans le cas du test de comparaison si ce dernier choue alors l agent qui a effectu le test cessera toute activit dans la session courante Les sessions du protocole ainsi que la connaissance initiale de l intrus peuvent tre sp cifi es dans module appel ENVIRONMENT Ce module permet d ordonner les sessions s quentielle ment ou parall lement ou bien encore en composant avec le s quencement et le parall lisme Des sc narios complexes peuvent alors tre imagin s Plusieurs outils ont t connect s au langage CIL et donc au langage CAPSL La connexion de l outil NRLPA est d taill e dans BMM99 L outil Athena a t galement connect Mil00 Nous retrouvons galement d autres outils comme Maude dont le connecteur est d crit dans Den00 ou encore PVS ORS92 dont la connexion est d taill e dans DMO0 3 2 2 CASPER Lun des r sultats initiateur de l engouement autour des protocoles de s curit est sans aucun doute celui de Gavin Lowe dans Low96 Ce r sultat a t de d couvrir une faille de s curit sur le protocole NSPK sup
359. un terme ouvert il contient les variables x et y alors que s est un terme clos 2 1 des termes 23 Sous terme la position p aa Substitution la position p t t tity p h p FIG 2 2 Op rateurs de substitution et d extraction de terme Nous d finissons d une mani re g n rale pour l ensemble des termes g n riques Pos t avec t T F K comme ci dessous Posx t p Pos t t p K Exemple 2 1 7 Soit t g f a g x y T F X o x y Xet a f g CF Posx t 2 1 2 2 et Posf t e 1 1 1 2 L ensemble des variables d un terme t est not Var t Soit t T F X t est dit lin aire si toute variable appara t au plus une fois dans t Exemple 2 1 8 Exemple de termes lin aires non lin aires Soitt g f a g x y T F X ets g f a g x x o x y X et La f gy CF Var t x y et t est lin aire Var s x et s n est pas lin aire car x appara t aux positions 2 1 et 2 2 Une substitution o est une application de A vers B Cette application est qualifi e de sub stitution car elle remplace un l ment par un autre Dans le contexte des termes le domaine des substitutions est usuellement Y Pour une substitution o X B et un terme ouvert t T F to repr sente le terme o toutes les variables x de t sont substitu es par o x Plus for mellement to t o x1 p 0 Ga lpg OW
360. un ensemble fini O Semi d cidabilit du probl me du secret pour un nombre non born de session Le probl me de satisfaction d une propri t p par un automate et le probl me du secret sont deux probl mes diff rents En effet la r ponse true ou false de l algorithme permet de semi d cider le probl me du secret selon la nature de l automate A Th or me 5 2 3 Soit p l identifiant d une propri t de secret et A un automate obtenu par compl tion d un automate repr sentant la connaissance initiale de l intrus et la configura tion initiale du r seau Selon la nature de l automate A le probl me du secret est semi d cid de la fa on suivante L A R L Ao p verification A p R false signifie qu il existe une attaque sur la propri t p dans le mod le R et pour la configuration Ay donn e R L Ao L A p verification p R true signifie qu il n existe pas d at taque sur la propri t p dans le mod le R et pour la configuration Ay donn e 5 3 Correction de la traduction Pour une sp cification IF donn e le contexte de v rification est le suivant De l tat initial IF de la sp cification nous g n rons un automate Ag Du syst me de transitions IF nous g n rons un syst me de r criture Nous appliquons ensuite le syst me de r criture sur l automate en utilisant une fonction d approximation jusqu la stabilisation du processus La diff rence entre
361. unctio Dprotected identifierprotected Type identifie ryrotected te Xt protected Type te Xt protected boo l protected Type boo l protected FIG 5 3 Nouvelle hi rarchie des types 96 Chapitre 5 De F vers une v rification de protocoles par approximations Nous tendons galement le pr ordre type comme d crit dans la figure 5 3 La d finition ci dessous pr sente de nouveaux symboles consid r s comme des symboles de protection que nous rassemblons dans l ensemble F Un symbole permet de prot ger des donn es d un type donn Definition 5 1 28 Soit Fri C F un ensemble de symboles fonctionnels tel que 7 Fprtet N FiF 0 et Fortet N F ibs za 0 fox Fortes et pour tout t T F si t e fox alors tlh Keys et typej t 1 public_key fsk Forte et pour toutt E T F sit e fx alors t Keys et type tli public_key frat Fprtct et pour tout t T F sit e fnat alors t Nats fag Fprtat et pour toutt T F sit e fag alors t Agents feet Fprici et pour tout t T F sit e fx alors t Sets frune Fprtct et pour toutt T F sit e f june alors t Functions fia Forte et pour toutt T F sit e fia alors t Identifiers fret E Forte et pour toutt T F sit e fia alors t Texts foot Fprtct et pour tout t T F sit e fia alors t Bools La sig
362. ur tout lor R o XQ q E Q p Pos r sir Basiques yAay lor 0 q Yi gt rp qe O G OBasiques A et tro Sinon Proposition 6 3 1 La paire A YAp est Basiques compatible PREUVE Par hypoth se l automate A satisfait les crit res d Basiques compatibilit V ri fions que 14 satisfasse la condition 5 de la d finition 6 2 7 D apr s la d finition de 44 VAyllr 0 9 Yiornp Y QBasiques A uniquement sit Basiques r Basiques et t ro Dans la condition 5 les deux premiers crit res sont trivialement satisfaits Si YApll gt r 0 9 Yiarp QBasiques alors r p Basiques Comme r Termes etr Basiques d apr s la d finition 6 2 4 nous d duisons qu il existe n cessairement une position BR L Ao L Ax et Ax Ax 1 6 3 Approximations g n r es automatiquement 133 p Pos r etw N tels que p p w et r p Forte Ce qui montre que 74 Sa tisfait le dernier crit re de la condition 5 de la d finition 6 2 7 Donc la paire A 7 est Basiques compatible O Les trois lemmes suivants sont utilis s pour la preuve de la proposition 6 3 5 dont le but est de montrer que l utilisation de la fonction d approximation 7 4 produit bien une sous approximation de l ensemble des termes atteignables Le lemme suivant montre que pour tout terme du langage g9r 1 A d une forme parti culi re a un ant c dent par r
363. ur une variable lin aire y apparaissant uniquement dans les sous termes not s t avec k 1 n la valeur associ e u par 0 est of y Consid rons pr sent le cas d une variable non lin aire x Pour une question de simplification nous donnons la preuve pour deux occurrences de x mais la m me preuve peut tre appliqu e pour un nombre quelconque d occurrences de cette variable Pour construire une valeur associer x dans 0 il est suffisant de consid rer les sous termes contenant x Supposons que x apparaisse dans t et t Nous avons donc t x o5 t 1 p et 9 1 M thode de reconstruction 171 tjlrlos gt A tlxlp D o ro gt xp et ro gt xp Maintenant par cas sur xoi et zo nous montrons que nous avons n cessairement soit ro gt xo soit 103 xo Selon les d finitions de fta t t7 et de fta t 7 nous avons les cas suivants Soit xo Q Dans ce cas comme xo gt xp et ro A Tp et puisque il wy a pas de transitions epsilon dans A nous obtenons que zo xp et ainsi que o gt A vo ap soit ro Q la preuve est sym trique soit xo est un sous terme v de t tel que v Q et similairement xo est un sous terme uz de t tel que vz Q D o v 10 Va xo Soient p et pa deux positions de ces deux occurrences de x dans t Nous avons donc t C z 2 p et uz C vi p V2 p Puisque o2 ffa t uz nous avons soit roz v
364. us ensemble du langage IF ainsi que la notion d abstraction correcte La section 5 1 3 pr sente un langage construit partir de IF o les variables existentielles sont skol mis es et o certains symboles fonctionnels sont ajout s au sommet de sous termes Nous parlons alors d une version de IF prot g e 5 1 3 Vers une version de IF prot g e Nous pr sentons dans cette section diff rents algorithmes dont le but est de prot ger tous les l ments de Basiques par un symbole fonctionnel de protection appropri Notre m thode pr sent e dans le chapitre suivant s appuie sur une notion de symboles de protection pour traiter le probl me de non lin arit gauche amplement d crit dans la section 6 2 du chapitre 6 Nous introduisons d abord de nouveaux types qui seront li s au symboles de protection Ces symboles de protection sont r unis en un ensemble Ft poss dant des propri t s que nous donnons dans la d finition 5 1 28 Ensuite nous tendons le pr ordre typ aux types nouvellement introduits Et enfin nous pr sentons trois algorithmes 5 1 29 5 1 30 et 5 1 31 Le dernier utilise les deux premiers pour construire un syst me de r criture R a partir d un syst me de r criture Rip Le syst me de r criture obtenu poss de des propri t s donn es dans les propositions 5 1 33 et 5 1 34 qui sont fondamentales pour la technique de v rification pr sent e dans le chapitre suivant Nouveaux types nouveau
365. us sommes parvenus recons truire une trace correspondant ici une attaque En corrigeant ce protocole comme propos dans Low96 nous pouvons montrer par sur approximation que la propri t de secret est as sur e pour ce protocole voir NSPKL figure 7 1 9 4 Comparaison avec d autres techniques La m thode que nous avons pr sent e tout au long de ce chapitre est tr s g n rale Pour les protocoles de s curit il est tr s difficile de nous comparer des outils sp cialis s en recons truction d attaques comme le sont tous les outils fonctionnant dans un environnement born CL AtSe RTO1b SS04 OFMC BM03 SATMC ACO2b FDR Ros94 Low96 muro MMS97 etc En g n ral ces outils utilisent soit des optimisations soit des heuristiques qui sont orient es pour la v rification de protocoles de s curit L outil ProVerif Bla01 est lui galement d di la v rification de protocoles crytogra phiques Des d rivations sont obtenues tr s rapidement de l ordre du 10 de seconde lorsque la v rification d un secret choue Dans ABOSb les auteurs sont parvenus distinguer les at taques r elles de celles qui sont dues par exemple l abstraction des protocoles par des clauses de Horn Un exemple simple concerne le secret court en g n ral le secret court n a pas de Pour un protocole un secret court est un secret valable pour un nombre donn d tapes Le secret peut tre ensuite divu
366. use la correction des approximations lors de la phase de compl tion Une fois la sur approximation de la connaissance de l intrus calcul e les propri t s de se cret sont v rifi es Nous pr sentons dans la section suivante une m thode de v rification des propri t s de secret diff rente de celle utilis e dans GK00 OCKS03 106 Chapitre 5 De F vers une v rification de protocoles par approximations 5 2 Sp cification du secret Le probl me de secret est ind cidable en g n ral pour un nombre de sessions non born Ce probl me peut tre r duit au probl me d atteignabilit ind cidable en g n ral pour les syst mes infinis Cependant une semi d cidabilit pourrait s av rer utile pour certains probl me de v rification dont le n tre Dans GK00 l ensemble des termes secrets constituent le langage d un automate que nous nommons A re Comme nous l avons d j mentionn la technique d crite dans GK00 consiste en un calcul d un automate A dont le langage sur approxime la connaissance de l intrus Une intersection vide entre les langages des automates Ag et A secret montre que les termes secrets ne sont pas atteignables La propri t de secret sp cifi e est donc v rifi e Un inconv nient cette repr sentation est qu il faut conna tre l avance quels sont les termes cens s tre secrets Et pour ceci une restriction est de repr senter des secrets partag s uniquement entre des a
367. variables A et B nous utiliserons des tats diff rents Ce qui nous permet alors de distinguer des sessions entre elles C est un point important dans le sens o ceci nous permet d avoir des fonctions d approximations suffisamment pr cises pour avoir des r sultats concluants et suffi samment grossi res pour avoir des temps de calculs acceptables Pour la v rification des protocoles en pratique nous n appliquons pas directement le semi algorithme de la figure 6 3 mais une d marche empirique consistant d abord v rifier par une sur approximation si les propri t s de secret sont v rifi es Dans le cas contraire nous calculons des sous approximations successives pouvant permettre de conclure sur une attaque potentielle Les deux termes ne sont pas prot g s alors qu en r alit ils le sont 6 5 Discussion 141 De plus le secret n est plus sp cifi sous forme d un automate Asecret comme pr cis dans la section 5 2 Cependant nous devinons que notre d marche reste semi automatique En effet imaginons qu une propri t n est pas v rifi e cause d un l ment introduit par sur approximation Il est alors vident qu il n existe pas de sous approximation assez grande pour contenir ce fameux terme Il s av re qu en pratique nous n avons jamais rencontr ce cas Le tableau figure 7 1 r sume tous les r sultats obtenus avec notre m thode et notre outil TA4SP pr sent section 7 6 5 Discu
368. versit sp cialis e afin qu elle le certifie c est dire qu elle garantisse que le protocole n a pas de faille de s curit Cette tape en g n ral longue tait de plus incertaine chaque quipe univer sitaire ayant sa technique et son outil associ avec ses sp cificit s il n tait pas toujours facile pour l industriel de savoir vers quelle quipe se tourner Dans ce contexte le projet PROUVE propose un langage de haut niveau commun plu sieurs outils de v rification automatiques Les objectifs de ce projet sont prometteurs dans le sens ou la possibilit d affaiblir l hypoth se du chiffrement parfait devrait tre prise en compte par les outils de v rification de ce projet Le projet s attaque deux tudes de cas significatives un porte monnaie lectronique et un protocole d ench res qui lui permettront la fois de guider les recherches d exp rimenter les outils et de valider les r sultats L encore nous remarquons l int r t port par les industriels puisque France T l com R amp D est un partenaire du projet Quelques mois avant le d but du projet PROUV est n le projet europ en AVISPA en 2003 plusieurs quipes europ ennes Besan on G nes Nancy Zurich et un partenaire indus triel Siemens AG Munich avec leur sp cificit s propres se sont r unis afin de r aliser un outil commun AVISPA disponible sur le site du projet et utilisable simplement par le concepteur
369. ws pair x y Lg 4 iknows pair x y 2 y 5 1 6 Conclusion Tout comme GK00 ou encore OCKS03 d un c t le protocole tudi et les capacit s d analyse de l intrus sont mod lis s en un syst me de r criture et d un autre les capacit s de composition de l intrus l tat initial des participants la connaissance initiale de l intrus sont repr sent s par un automate d arbre Notre format propose comme en IF un tat local pour chaque participant Cet tat local repr sente la connaissance actuelle du participant Cette repr sentation de la connaissance est tr s utile pour les protocoles o un individu enregistre une donn e une tape donn e du protocole et l utilise quelques tapes plus tard Avec la syntaxe donn e dans la figure 3 1 pr sent e section 3 1 2 il est parfois difficile de repr senter ce genre de protocole sans faire face des probl mes de non lin arit gauche Ce probl me de lin arit gauche interf re sur la correction des approximations lors du calcul de compl tion d finition 3 1 4 Bien que notre format pr sente galement des signes manifestes de non lin arit gauche nous verrons dans le chapitre 6 plus pr cis ment dans la section 6 2 en quoi les modifications sur le langage IF permettent de traiter en pratique le probl me de la non lin arit gauche Les enjeux de ce probl me sont galement illustr s et montrent en quoi ils peuvent remettre en ca
370. x symboles fonctionnels et nouvelles signatures Soit Type un ensemble de types tel que TYPEnew PUBL IGE Y de symmetric _keY protected agent protected Set protected text protected bool protected functionprotecteds identi ierprotected L ensemble Type d fini dans la section 5 1 1 est mis jour tel que Type Type U Types 5 1 Traduction d une sp cification F en un syst me de r criture R et un automate d arbre Ay95 message Type agent message Type text message Type nat message Type identifier message Type public key message Type Symmetric_key message Type function message Type set message Type bool agent Type agent text Type text nat Type nat identifier type identifier public key type public key symmetric_key Type Symmetric_key function tye function set Type set bool type bool message Type Message nessage Type PUbLiC KeY protected nessage Type Symmet ric_keY protected nessage Type agent protected nessage Type nat protected nessage Type FUNCC ION protected nessage Type identifierprotected nessage Type CEXt protected nessage Type bool protected n n n n message Type Set protected n n n n pub lic ke Y protected Type pub lic ke Y protected symmetric k Yprotected Type Symmetric_ke Y protected agent rote ype AJENEprotected n at protected Type n at protected se protected Type se Cprotected functio Nprotected Type f
371. xemple d attaque sur le protocole NSPK et d crit en quoi les protocoles ont besoin d tre v rifi s 1 1 3 Failles de protocoles et v rification L une des failles les plus c l bre est celle d couverte sur le protocole NSPK Low96 Cette faille a en effet soulign le fait que le protocole d authentification NSPK pouvait tre corrompu 1 1 S curit et protocoles de communication 11 lorsqu un individu malhonn te participe une des sessions lanc es en parall le Dans le cadre de la v rification l individu malhonnete appel l intrus est sp cifi par un mod le appel intrus de Dolev amp Yao DY83 Intrus de Dolev amp Yao L intrus de Dolev amp Yao est consid r comme un individu pouvant avoir acc s tous les messages transitant sur le r seau Cet intrus poss de un pouvoir d action et de d duction comme d crits ci dessous L intrus peut composer M M s il conna t M et NL M K s il peut construire M et K h M s il conna t la fonction de hashage h et le message M N o N est un nonce L intrus peut galement d duire M de M x s il conna t ou peut construite K M M ou M M h M s il conna t la fonction de hashage h et le message M L intrus d crit ci dessus est plus expressif que celui initialement d fini dans DY83 mais par abus de langage nous qualifierons un tel intrus comme un intrus Dolev amp Yao ou la Dolev amp
372. y Pour toute position p incomparable avec p i e p 2 pand p F p nous obtenons ais ment tllo L olp tl et llo Ll plp ly tlp Pod tly A tlp Maintenant ce qu il reste prouver est que lo o lo p C est quivalent montrer que pour toute variable x de nous avons zo o xo p Par cas sur x nous avons Six dom o notons que dom o dom o alors d apr s la d finition de nous avons xo p xp xo p Si x dom o alors nous devons montrer qu il existe une substitution o frA r t telle que xo xo i e o gt 0 En utilisant le lemme 9 1 18 pour les termes r T F X tp t T FU Q tels que tp 4 tp gt A q 0 far tly o far tlp ro gt rpetro x rp par d finition de Pred Finalement nous obtenons lo p gt lo petu tllo pl gt tHo p v Pred t cp p O 172 Chapitre 9 Reconstruction de traces Lemme 9 1 20 Pour tous termes t t T F U Q pour toute s quence CPn p cp1 P1 t oe ty eee to sit gt t 1 qr et pn Pos t alors il existe des termes ty t _ T F U Q et une s quence 1 CPnyPn Ccp1 P1 y t Lier to tels que Vi 0 n ti 1 gt A of PREUVE Nous proc dons par induction sur la longueur de la s quence Si la s quence est de longueur 0 nous obtenons t tp to t 1 qr D o E t A 0 Un A Qf
373. y property is either violated thanks to the computation of an under estimation of the intruder knowledge or satisfied with the computation of an over estimation This semi algorithm is implemented in the automatic TA4SP tool This tool is integrated in the AVISPA tool http www avispa project org a tool set dedicated to automatic verification of security protocols We also proposed a technique to reconstruct proof trees of terms reachability in approxima ted context meaning that attack traces can be drawn as soon as a secrecy property is violated
374. yst me de r criture IF Soit R tel que R TradRules Rr Alors YL ES r R Var r C Var PREUVE La preuve est vidente car pour une r gle IF m Fans a si EVar Q alors Var m Var m Si EVar et puisque toute variable de EV ar est remplac e par une abstraction construite partir du membre m alors pour la r gle TS 7 r sultant de Palgorithme 5 1 31 nous avons n cessairement Var r C Var l O CE QU IL FAUT NOTER Deux nouvelles classes de symboles Fabs et Fprtet Deux classes de signatures associ es Sign et Sign er Toute signature de SIQN prict est de la forme f t t2 o t tz et t2 A message Soit Rif un syst me de r criture IF Soit R le syst me de r criture tel que R TradRules Ryjp Alors e USTER Var r C Var l d apr s la proposition 5 1 34 et e toutes les donn es de Basiques ainsi que les abstractions sont prot g es par des sym boles fonctionnels r serv s Fprtct d apr s la proposition 5 1 33 5 1 4 4 un automate d arbre pour la connaissance de Pintrus et la configuration du r seau En IF l tat initial d crit 1 ce que l intrus conna t initialement et 2 l tat initial des divers participants Dans la m thode GK00 la structure utilis e pour repr senter ces deux types de donn es est le langage d un automate d arbre Soit Rif un syst me de r criture IF Soit R le syst me de r criture obtenu apr s l ap

Download Pdf Manuals

image

Related Search

Related Contents

Untitled  Mostrar - Service, Support  Deluxe Beeper Locator DSL-400  取 扱 説 明 書 20CDX    the Canon USA Limited Warranty  Les Echos Bangalore 11  Acer Predator G3-605  Samsung Samsung C3520 manual de utilizador  SUNNE 37-63-EA flat panel wall mount  

Copyright © All rights reserved.
Failed to retrieve file