Nov 30, 2006 - How to Make an Expert Verification Technique for Security Protocols available to Non-expert ... Key-words: Security protocols, safe and sound abstractions, verifications, approximations, ...... â¬"t A"gBâ câ¡ , AAA M ob ileËv¦g ,.
Automatic Abstraction Generation : How to Make an Expert Verification Technique for Security Protocols available to Non-expert Users Yohan Boichut, Pierre-Cyrille H´eam, Olga Kouchnarenko
To cite this version: Yohan Boichut, Pierre-Cyrille H´eam, Olga Kouchnarenko. Automatic Abstraction Generation : How to Make an Expert Verification Technique for Security Protocols available to Non-expert Users. [Research Report] RR-6039, 2006, pp.21.
HAL Id: inria-00116918 https://hal.inria.fr/inria-00116918v2 Submitted on 30 Nov 2006
HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destin´ee au d´epˆot et `a la diffusion de documents scientifiques de niveau recherche, publi´es ou non, ´emanant des ´etablissements d’enseignement et de recherche fran¸cais ou ´etrangers, des laboratoires publics ou priv´es.
INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE
Automatic Abstraction Generation — How to Make an Expert Verification Technique for Security Protocols available to Non-expert Users Yohan Boichut — Pierre-Cyrille Héam — Olga Kouchnarenko
N° 6039 Novembre 2006
ISSN 0249-6399
apport de recherche
ISRN INRIA/RR--6039--FR+ENG
Thème SYM
! " # $ &% (') *+ -,/.102!435! 768 9 ;: ?@BAC" D E> 7GF-H51 9IJ &KL I "I+ MNPOQ9.102!4RS! TUWVYX[Z]\^UW_a`CVbc d e _gfihjhkfmlnpohk_aqgqgfr>siX[t du qgvWXxw>UWb`CVZYX[hkfyZz[U {!|Q}~@i
}j~^ki~pGyij m&L& ¡¢9L£ ¤¥m¦¦[§¨"j©ª|j©ª|¬«W®§¯y°§±p
&C²§~p³§¯§¯§®"µ´j¶^¦Q¥§·§k ?
??
??
¸¹ºj»¼C½¾§»§¿ ¤ k¥§©ª|Q¥§À¥§«Q¥mÀ!&©j«iª¥mÁÂy&¨k©¨«Q·1|^k©¦§À~ÃÁ§&¦§©yÀ Ä¥m|Å¥§«Q«i~1[§QÆmÊ&«Q¨ j¨j²§«jj~pËC¥"Gj§ÀmÁYÀ§k«^~1y¥Ì«QjÆ©{!y«Q|À¦myÁG¦[À~JÁ§~@À««Q··y«j¥yj©ª¥§|QW¥mQ«QÀȨkp©¥m¨«Q¥m¥§ÀÀÁ§§&«1«ÇG¥C«ÁÂÈyÉÉ ¦Qkj²À«·^¥§Qª¥§Ä©7y«QEmÁYk©È¦§©yÀjÆ £Í«p§ª¨~1¥mΧÏ|k©ª|«yQ9¥Ì²C¥mÀ¥mÀÁÂy|À·§|pj²§j¦[j©ÇG©j¥CÀ§«À¥§«·§Q¥§·§kÀÎyÐ9ÑÒÔÓWÑ ¥§«Q¨ÕÒÖ×ØÙ&ÚWË Ä Û¨ÇQ«Û¥CÁÂÅ¥§«Q¨/y«Q¨Ü¥mQª¥§©À§«Q^mÁ¦m©§!¥§«QÀ§«/j~1@«i À«·Ýj~1Æ!{!|j2¥§Qª¥§©7y«QP¥§À |Þ¥m§~1¥Cj¨¡·y«j¥mÀ§«¡§Á¥m¦¦Ìß~1¥mÀ§« ÁÂQÄ«Q©7y«Q"Û«QPy«Q¨«Qj"mÁ!|QPk¥§©ª|QÄ¥§Àà¥m«G¥mÀƣͫá¥y¨¨À§«Ë Ä P¦Qy¦Gi1¥Å« Ä ¦Qkj«yª¥Cy«mÁk©j©1¦y¦GjkË¥§Pj~^Éͨj©À¨|k©P¦§À~8Æ L§Q~1¥mÀ«x¦¦Gi1"à¥m§~1¥CP¥§"~pQ©ª|ᥧ¦GiQ1|¥§«Q¥mÀmÁ ¦m©§Á§ ¥§¥§«>«áQãP«i[©§jQ«y«Q^¨j²§¨j«ÇG©~p¥mGÀj§ «¥m¦k¦QiÌßÀ~@~@¥mj«yÀ§^«@mQÁ&¥y¥§«ák¨>ߥ§¦¦[¦py¥§Q©ª|@¦©C¥§²«á¨Gj ~@C²yj¨1Á§~J|"²yÈÇG©j¥Cy«>©ª|Q¥§«Æ Ä çÅ¥§QèiéWªê¥§ë©7ì ¼Cyí«Qº§ ¿ k©"¦§©yÀjËC¥mÁ ¥m«Q¨^y«Q¨p¥mQª¥§©À§«QjË̲§ÇG©¥mÀ§«QjËk¥§¦¦Ìß~1¥Cy«QjË
?
îgïÏî îÍð§ñ!òïÏEóªôiôyù ôiÌóªó õªõÍöCù ó÷yøjùûó úýüþÿkøjùô yó 9ù kÿ ÷ùûõø jöyó÷øjùûúýü ió7ø÷ kö Ìÿ yôø 9úûù iôyù ÿk÷ ó
??
!
#"$
&%'
( )
+*,
)
-+./
! 0 1
Unité de recherche INRIA Rennes IRISA, Campus universitaire de Beaulieu, 35042 Rennes Cedex (France) Téléphone : +33 2 99 84 71 00 — Télécopie : +33 2 99 84 71 71
! Pp ?@ > # RSS => ?^B9.102!>+K! 768 E >N01 EI > 9 ª > ¨ º²/"&j! ÇG ©j¥C¿ À§«$Ë# ¥m««G§¥mÀ¥m~@Û~@¨%«i# ¥CkË©À·§À«G¥m9¨Àjp'&2¦§« (©&y&k©kȨà0&k¥)©&(&2'&§¥yƨ¥m§¦(@&+¨k*áp¨-,.&j}j~@«yªj>©«§ÇG«i«ÀjßËj ¦Qy}j~@!¨0&k©È(&1 ¨kY¦m©§Àj32Ô§9©§~@~@! ¦Qy}j~@¨%# ¥mÀ·§«Q¥§À'&!j«@·/&j«4&ª¥m À«Q¨5&k©¨¥mQyÆ[6# À¥mÀ§«à¨%# ¥m¦Q¦ÌßÀ~1¥CÀ§«G¨%# ¥mQª¥§©À§«Q&j¥§y&«p¥§È«Q¥C²y¦[§ ~@É ¨4&j©¨j@©j^¦§À}~@kÆYÛ¥§À^À1¨5&ÇQ«À§«Ü1~1¥m«À¦¥Cy« «4&k©kÈ«i1y²§j«y@« ©&¥§§«Q¦ß¦[y¦Giy§«QÆ "¨¥§«Q©p¥m©ÀP¨P©§««k©7«Q1k©ª|«yQ¨P²7&ÈÇG©j¥Cy«àÁÂy«Q¨5&P ¨j¥m¦¦QÌßÀ~@¥mÀ§«Q¨@(&&j©Q^"¨@¥m«·i¥m·yjL'&j·§Àj¨%# ¥mj¥mßà¥m«Q·y¥m·yjL¨1¦.&j©ÈÉ Ç[¥§Q©¥Cªy¥§«à©7¨yp«|Q©¥m§Égk«Q©7²yj¨9¥m # 8«8Ð9¦ÑÒÔmÓWÑ1©§@À1ÒÐ9ÖÑ×ÒWØÓWÙ&Ñ@ÚWyÆÔÞ¢EÒÖ×^Ø©Ù&§«iÚ>¦[Q§&À§¥§«à«G¥¦G¥§y¦¦ÀÀij" ¨À¥@Á²7y&ÈÇ[«©¥Cy«« i¥§y«~1y¥CQEi¥Ì²y§«Qä[EåYæiÓW«QÒÞ¨Qi¥§aË.Ò«àÖ×kØ©7Ù&Ú1y«¥§°QÆÇQ£Í«ÛEjÀ«i©À§« ¨QbQ©Ë kĨ1"À«>|QÄ j©À|§ «8³§Æ{! |²y«ËÈÇ[§©~@¥C&y««P§jÀ§©ª«Q|É «QÀi^ÀL¦À·§·yj¨Åy«à[m|à¥m«·yQ¥m·yj&¥§«Q¨Û¥>« Ä |G¥m«Q¨ÀÀ«·>Ä §ÁÏk©Ä j©Ä¦Qy¦GjkL¥y Ä ÀÁÂy¥ ^jË©ª||«QpÀi§9«GQ¨¥§«jj¨ §§g« ÁYU;Z/|[""¯§¯ W¥§«QÄ |QÀ¥mÀ§«8|QmÁÏ¥§¥§«i9hAj¦[j¦[©ÈjÇQ©kÈÇG¨©j¥y¥C¥&y«Å«i9¥m§§~1¥m¥CQ§«ª¥§¥m©«·y~^Q¥m·y¨§jÆk£Í«^Lk|©7 y«« Æ Ä XÀ«Q¥mÀÀ§ËQ[ÁÂy©§«Q©G¨«Q·QË|ߦ[À~^j«ij˦GjÁÂy~@k¨ Ä È|8|ä[åYæÓWÒà§gËG¥m"¦j«ik¨ À«Ûj©À§«8®Æ k
lmQRnSoqpsr0t rvu wGIHYF1HKNxHSuzy-{|rvN0QR}~NxFIQRHSEqpsYEMnSLnrv Þ©y«QÀ¨jY©i¦§·y¥§¦|©¦m©§¦[j©ÈÇGj¨^|jÀ«Ð9ÑÒÔÓWÑûU ¢9¥§¯@b_WQ§YÀ«ÒÖ×ØÙ&ÚgU ["¥§¯
^ WgË
Ä Ä j ÉgΫ Ä «|·y|pÀ²y¦m©§¦[j©ÈÇ[©¥Cy«p¥m«Q·§Q¥§·§jjÆj{!|Q9¦Q¦[y9mÁQ|ÒÖ×ØÙ&Ú¥m«É ïEï ô108 8
b
BM"$ '1*15KBB ! @B"* '1P +1 @
·y{!Q|Q¥m·yÉg¥m«·§·yÀQ²§¥m·y~^EGk¥mk«Q¨^&¨¨jÇQ«©ÀG¦m[m©|০ÀÏm§©j§«i&j¥§¨p«Q§¨8«i|"pß©§À«iÀ«ßi·"À~@« ¦GÄj|¥mÀ©ªÀ|Û²§!¦|j§Û·§¥mª¥m~@Q~@Àj«¨Ô· Æ ¥mÀ©«Q·§¦GQ¥m¥§«i·§jjÆm¤ ¥§«Q§À¨1jϨ¥mj©!©ÀG§k~@¦[yykj¨pÄ «1|©ªm|@ÉÍ©¥§¥mÀ9Àj¨|©¦j«Q§¥m·yÀy¥§j~@ÆÌ{!|Qßk©Égj¨@¥m«·yQ1¥m·yj·§ÏÁÂyÀ~1¥C© «Q2¥§¦Àym©©§§«i¦Q¥§¥§«QÉ ©§«QQ©ÔÁÂy¦G¥mª¥mÀjy¥m«G¨ki«i¥mi©y~^¦[yÀ§«ËÌ¥m«Q¨"Á§«Q§«Éͨ~@«©Ï©ª|yÀ©mÁ²C¥mÀkÆ £ |G¥§¥§À·§«Q~^j«i"¥mj~^j«ijË¥m«Q¨Þ¥mÀ Ä L|1«Gª¥m«i¥Cy«QmÁ!yk&|Q¥C|G¥Ì²§^Gj«À¥§«·§G¥m·§"¥§À Ä 9§«@¦[j©ÁÂ8¥mÁÂP¦§¦[Àj y«>ßj©À§«>ª¥§©k!mÁ¦§©y©«Q¥§ÀyjÆ ~@{!|¨ÏÀ¥§¥m«L·§¥mQ«Q¥§¨Å·§!¥§Ð9À ÑÄ ÒW!ÓWÑ|QËk¨²y¦[jÀ©§È¦[Ç[j©¨L¥C«y«Å|mYÁYÁª©¥my~@«y Ä y餃 QÎ mÄ Ái¦Q|Q¥C «Q§jËG¦[¨j¥§¥m«¥1&«À§Q«"©7¦mjk©7¥§«Q ¨ÅL¨£-,[Ôj É CË j«i^À«iQ¨^~@¨Æ£ ª^~1¥§«yÀ©jp¥§>Q¥§j¨á§« ¥m~@¦[§ # p{ 1a{j~^¦[§ª¥m §·§©1§ÁL ©7É À y«Q ÉgUÀ²y¥m~1"± bW2 ~Ä |Q À©ª| ~@À«¥§·>ΧkG¥§¥mj«Õ¨2ÐEÀ¥§Ñ«ÒÔ·§ÓWQÑÛ¥§·§ ¦GkhAj.©1 ÇG+©¥m+À§\«ák$¥§ ÀÞv"ª¥m«Q "a¥CË U¥§ &ÀP£¯§«i"° W2 2¥àÀ¨Éj©¥mªj¥C¨à²y Ä ¥§Ä y~1¥Ck¨>¥§«Q¥mÀEÄ §/ U &¥§
¯ ^8W Æ LY£Í|V« j¥§¯y¥m®m«
·yW ËiQ¥¥m·y ª¥mÀ9«Q©Ày¥m«À«§k«1©7§kÁ¨^¥PÒÖÔ|×LØ|Ù&·yÚ1|1¦Gjk²§©jQÇG©¥m¥m«·yÀ§Q«1¥m·yÀ«yj pÒ¥§Öa« ×hAØj@Ù&¦GÚ@k¥m©«GÇG¨Å©¥mÐEÑÀ§ÒÔ«1ÓWÑEË ¨Ä kL©©ª|À[yj¨Ô Æ |"¥m«·yQ¥m·y h>jP¥§E|Q"«¦Q&¥m«·yQ¥m·yL§Á§Q ²§ÇG©¥mÀ§«Pj©ª|«QÀiyÆ !
wGrvu Q#" Q6EGQ rv
{!|QÀ9k©7y«1k©¥mÀϧ~@QQ¥mG«my«QE§«@j~1j˧j&¥m§~1¥m¥¥§«Q¨@j~ Ä È«Q·~1 1a{ ¤&Á§E|y2kij¨p¨j©ÀGyϲyÈÇ[©¥Cy«^j©ª|Q«ÀiyÆyÕ©§~@¦|Q«Q²y ²§jy« { ¤L ¥m«Q¨>j¥§y~1¥C¥^©¥§«8GÁÂy«Q¨Á§ߥ§~@¦ÀV« Uû¢9¥§¯i8³ W Æ $%& ' è ¼ !á)º ( ' è ¼ ! èië ¼ *Â+» *, -/. é º» è !ݺp0½ ,í ' ¼ èiè ¸ » ì !á½»j½ F [L¥ÇQ«QÈLE§Á~[§j˧j¥y©ª|1§« Ä È|¥m«P¥§§Ëi¨«§k¨ Arity(f ) Á§ f ∈ F Ëi¥m«Q¨P X "[§ÁE¥@·§©§§QQ«Q«y¨Åª¥mÀ"~@ 1ÂmÁ²Ì~1¥§¥mÄ QÈk|§Æ T(F, ²C¥§X¥m) Àj¨327«ÆÔ§{!k|!1|""mÁ9²Cm¥mÁÀj¥§~1kjËQm¥mÁ9«Q¨¥Tj(F) ~ t¨j"«m¨j«!§k|¨ Var(t) Æ! QQÈÀ§«¡¥ÞÁÂQ«Q©7y« σ Á§~ X «i T (F, X ) Ë Ä |©ª| ©¥§«/GÛQ«Àij L¥^~ t ¥ Ä y¨C²§j N ÆQ{!| jß~@¦«G¨j¨>jiPj«Q¥§«8© «Q¨¨yj~@«m§j¦||~J§§Á ¦TÉg~@(F,y&X¦[)yÆQ¬Èy¦[«yÆGÈ{!|Qy« p Á§Pos(t) §ÁY¦GiÀ§«Q&mÁ¥@~ t À«Q¨G©7À²§j>¨ÇQ«Qj¨.8 1 Pos(t) = {} ÈÁ t ∈ X 1 Pos(f (t , . . . , t )) = {} ∪ {i.p | 1 ≤ i ≤ n = Arity(f ) ¥§«Q¨ p ∈ Pos(t )} £ Áp~ ∈§ªPos(t) ¥mÀ«j¨/Ë/|j«j¦t|¥§©j~@¨««i§kmÛÁ||Þ~
~ t|§Á t¥C¥CÞ¦Gi¦GiÀ§À« §« p piÜ¥m«Q|¨ Ût[s]~ ¨sj«Æ mX§jà¥m«| ~ s ∈ T (F, X ) Ë Ä 8¨j«mÅi Pos (s) |Û1mÁ&ÁÂQ«Q©7y«Q¥m¦[yÀ§«Q^À« s ËYgÆ yÆ {p ∈ |j Root(t) ¨«Qmk|Q&~pGy¥CϦ[yÈy« À« t Æiŧ!·§j«ª¥mÀyË Pos(s) | Root(s| ) ∈ F} Ä 2 Gü òj4ò 35353 ø §ùûõ iø 4ÿ 6 ó ÿ 87Cò 1
n
i
p
p
p
F
p
+ %
$
%
, %
$ ,
î99ïÏî ñ
! "#$"&%!!'($)+*-,+/.0!+*12435-6"78!9;:< = 29> @?9A B8B8B
^
p¨«§ PosÆ (s) | Ä ¨§jÁ«¦[my Èt(p) y«Q!m|QÁ"²CÁÂ¥m«QÀ¥§©À§ «Qx¥§∈X~[©j§©§Át«·^ÀÀ©« ¥msj˨ÅgÆ y¥mLƦ[|QyÈy« {pp∈ÆÞPos(s) = x} / { & ¤ Y L ¥ Y § vÁ 6Y27M*19A+: l→r Ë Ä |j l, r ∈ T (F, X ) Ë l 6∈ X Ëm¥m«Q¨ | s|Var(l) R Ä 8Q l→r 9A#,!9 2P! 1 k¦ÆM 8'19 2x! 021Áj¥§©ª|ܲC¥mÀ¥§À§Á l 1 k¦Æ ⊇r2@Var(r) ©©Q Æ y«À᧫Q©Å« l 1 k¦ÆYÀ« r27Æ9ÀÅ1À«k¥m1ÁP1G§|/ÀÁý>¥§«Q¨ÜÀ·§|iÉ À«k¥mkÆY { ¤& R myÁ «>RÀ~1 À«j¥§| i1Â"j4¦QÆßÁý²y É ÀÀ«ÀjÀ¥§«jjË¥§ À·§1Â|ijɦÀ«ÆkÀ¥mÁý27ÉgÆÀ{!«Qj|¥mk{ˤLÀ·§ |iRÉ À««Qk¨¥mQ©2&kÁ ¥1²y Ä àÈ Ä«·1È1¥CÀy « l→r ¥§«QȲy©ÀyÀ¨«Qmk¨8 →Æ jÆ ÆW{!|Æ mÁ RÉͨj©j«Q¨¥m«iª→mÁ¥PmÁ·yÄy«Q¨>j~1 E R (E) = {t ∈ T (F) | ∃s ∈ E Q [©j¥^¥m¦[Àky¨PÀ|ÀPÀ« ÇQm«Á " "*ms→ Á16 "#$~p"t}IG:7yÆ À!§Á¥m 0 Ë©¥§Àj¨ :7 "7+:EQ©ª||Q¥C Q ∩ F = ∅ Æ T (F ∪ Q) è , *» * ì , & ' ¼C0½ ,º *Â+» * ì , 0½ ,í , ì ¼ !á½4A * è í5»j¼Ì½ ,º *» * ì , % # I:24$ :z 6Y27g*19A x
p
R
? R
∗
? R
' +6 c : !8 @*16 4$V$B2 B c ∈ T (F ∪ Q) q ∈ Q B x\ 9 8 #6 "I:24$ :s
c→q 46 "I:2#$" c→q 'I6 c = f (q , . . . , q ) f ∈ F Arity(f ) = n q , . . . , q ∈ Q c ∈ F 0 9] my~pÉ ¦«§«É ¨j~@À«À1©LÇQ«n"j"¥m§~1¥Cª¥p¥§|Q«Å¨ÇG«1j¨8¥§9ÁÂnyÀ Ä jÆ :6'è , `*» :* ì &, )+*% ) *8?!x"9A# *8 P @7 2 : #$'Iz6 2V# i "*1 7 "7" :a4 i46!:i+\ R*1, x\ \ i9 8,+" A = hF, Q, Qf , ∆i Qf ⊆ Q ∆ 46 "I:2#$"I:B «G¨Q©k¨L|Ϫ¥m«QÈy«Q§Á 1ý|9 2Ô¨j«mj¨ {!|O6Y2#2 /69A 4$ §« → ÆP¡ |j« ∆ À©Àj¥§ ÁÂyT~(F|∪^©Q)§«ißjË → Ä À¥m1G^¨«§kA¨Å → ÆÔ∆À~@¥myËQ
S
«Qm¥mÀ§«8¥mGyË Ä mÁý«8«§ q ∈ A ¥m«Q¨ t→q ∈ A j¦[j©7²yÀ@Á§ q ∈ Q ¥m«Q¨ t→q ∈ ∆ Æ è , *» * ì , $ è ¾ ì - , * è íA ½0, -:½0- è % %x'I# Îyj¦2|yÀ¨«· {!|k ©j¥&©§«Q©«p¥L¦Q¥m©¥m©¥§mÁG~1 Ä |À©ª|@¥mE©j¥mÀk¨ "7 $M+:§ $ CÆ £Í«&U ]!¥y¯^ W ËW|1"mÁE©§«Q¥§«i¥m«Q¨à²C¥mÀ¥§k¥mÇQ«yË¥m«G¨Ûj¥y©ª|2©§«Q¥§«y"¥m«G¨Û²C¥mÀ¥§À ¥§©¥Cj¨>y«g h>jmÉg¦G Ä |©ª|à©¥§«à[
WË [Ë WË W Ë [Ë !" ÔË" "Ë GË WË 1§#$ ! [Æ è , *» * ì $ ,&% +%# ' F (*), + ? M$ Y@ "72 V7- : : 2R'I,-:4! `+$! "9,!*1:!P #$s"P "9( V:!3 =\ ?!$ 9;:?+9A*( :'I,+_: @4 "3 7 @ ?+: :!46 -M+46$xB Ai+1
q
∗
∗
0
secret 0
secret
0
0
,! . `
" + 6P :42 |,!6+:6' @ "7 a ,|¦[m|QjÀ y«|"ÇG«È«k&mÁ|Q §ÁY²Ì¥§¥mQk ¥m«Q¨Å©§«Q¥§«yªË ÁÂQ|«Q©7y&«Q§¥mÁ¥Cy~~@[À©§g¨QÆ1¥C2 ¥@¨ jÇG««mÈ iGÆQ Ï¥y|©ª|Û¥C §m~@ÁYÀ©¥mÁ¦[&~¥y[§©Ë¥C¥§«Qk¨¨PP§«Q¦Q¥m©QÀ¥§&ÆIXQ¥m§ÁÂ¥ ~ t ∈ T (F, X ) ËG|^«my«ÛFmÁ prtct "6! "7+:M $ @ "7
1#Z L 2ËÔ·§À²§j«ÅF24«Þ365 &∩FÇQ«prtct À§« =^ ∅Ë[¥§À Ä 1
n
y«@À©j¥Ck¥§©ª|8¥C§~@À©¨¥m~ë|j~ t Æ
î99ïÏî ñ
! "#$"&%!!'($)+*-,+/.0!+*12435-6"78!9;:< = 29> @?9A B8B8B
:è " , *» * ì ,$ @%# ' 4* \ tB ?!,jP¥m«G¨>À«iU ]9¥y¯^ W¥y Ä ÀaË|"¥@¦Q¥m©QÀ¥§E¦["Á§ k¥§©ª|Å©y«Q¥m«i¥m«G¨>²C¥§¥mÀ§Æ {!|Q¥Ì²C¥mÀÀ¥§^¦[j¥§
WË WË ! WË WË WË " ÔË" "QË GË W!Ë 1y# $ WÆ XQ§À Ä À«jQË Ä |QÀ©ª|P¥§¦Gk©ÇQj¨@pßÀj«i¥mÀ@iQ¥m«iÇQk¨p²C¥§¥mÄÀj ÇQª¦à ¥mª¨&¥§«2¥mG¥y©7&~@¨Y©§«QÀLmÁϪ¥m«QÀ¥mÀ«·>¥my~^©¨Q¥C¥>¥§| «ÛÀ« {Q¥mQjÆ ´§Æ&À«·{¥mÄ Q´§ËÔ¥1ÁÂQ«Q©7y«Q¥m~[§¦Gji¦[^ÀÀ«y¨G©j¨ÆW{!|QL|1 F Ä À {!|~1YmÁ[|Q ¦G § ¥m!ÀÈ9Q«·|©y«QQ©7§ª Ä |y À·§«Q¥mj ¥§ÀÀk¨>À«Å{¥§À"³Æ k©yj¦[§«Q|¨jÀ«9·>|9Û¥mi¦[§!~@mÁ ©1¨À¥C ª¥Å ¥m P [ËkQ j¦GkÉaÁÂ"ym~@Á9k|¨ÔPËÌaÆ §iÆÀ¦[ËC È©§ ~@¦À kG Æ ¢Ey«Q&jmi©P«i|Qy¥mËÌ¥L¥mÀY~¦Giknows(a) Ä Ä "«m¥ ÀÉaÁÂy~@j¨àj~8Æ a ģͫÅy|Þ¨| P¨¥CÇGÀ§««Þ"[|Q Ä À©j«Þ¥m¦[¥mjjƧ{!Á|¥m@«Û¥mj·y~ «ijiknows(iknows(a)) Ä |8|Q¥§&À«§Á G Ë P ¥ © y Q « G 7 © y © y ^ ~ Q ¦ À « · Ä {¥mQ³pÀQk¨ÔÆ {¨k©ÀG|j²§§Ày«§Á¥mÀ¥m·y«i¨À«·P¥@¦m©§«Å¥§«Q¨| Ä |§À"¦m©§gËÈ ~1¥§«QE1·§«Qª¥C¥m«8¥mG¥y©7{ ¤& R Á§~Ã¥m« hAjP{ ¤&ÔÆ % % è , è ¼C½+» * ì , Pì d ½ ' . R d ¼ ì ! 0½ , hAj ' . £ÍÀ«Q«Ü¨¥mj¦G« j«QhAjjp¥§ÀQËyÀÏ| L§À²>¥m«Q¨Ï¥m@~@¨ U !¶§° W Æ{!|"Q¨ik!«m&¦[j©ÁÂP|¦m©§ÉgÀ«Q¨j¦Gj«Q¨«i kÆ % %&
prtct
3
î99ïÏî ñ
±
! "#$"&%!!'($)+*-,+/.0!+*12435-6"78!9;:< = 29> @?9A B8B8B
©§¢EgËy«Q|Q©"j¦«À«§·1©|yÈÉͨ¦Qj¦G§j«Q©¨y«i¨j¦Gjk«Q ¨¦[«ij©¦QÈÁÂ¥m&|m"ÁYj|©g¦h>j8y{ «>¤&yW!Ë[a|Æ §ÆÀËQ|«Gp¨¨«Qj·1©mÁ¦¥@~@y«Åkm¥mÁY·y|¥§«Q¦¨>m¥ É ©§~@¦ª¥Cy«>¦[Á§~@j¨>§«|À Ä «>Ϋ Ä Àj¨·y&Á§~J|"¦[§À«imÁ²À Ä mÁ¥m«Å¥m·y«ijÆ
" !" ! &$ #$ %%#'&(
! &$
) * #
$ ! &$
+"
$
crypt scrypt pair apply inv exp xor iknows secret f ∈F
üü
üü
üü
üü
ü
,-.
1
'
7→ 7→ 7→ 7→
7→ 7→
&
ùûõÏøõÍó Ïÿ kø ùøþiúûóªõ53 iÿjõÍó ó9ùûõ
ü 3ù
×
×
×
×
7
→ ×
×
# 7→ # × %
,
× . . . × n 7→ /"
*0
(*-,/.
2
× ,-. 7→
#
%
#
1
6=
#
ð§ù 7kôiø óªõÿ ªÿjôiõ ÿ õ ,
n
0
0
XQ§Ïߥm~@¦À§Ëm| "kÏ¥§GC²y¦[j©ÈÁÂ@¥"¦m©§ |Q&¥m«P¥§·§«i @j«Q¨E¥"~@j¥§·§! |p¥§·§j«y ÔÆ[{!|ÀL~@jÄ ¥§·§©§«i¥§«Q&¥P~@~@©"Χj Ä ¥§«Q¨Û¥1«Q§«Q© >j«Q©¨k¨ Ä È| WÆ ÇG£Í« $C%@$D ?!| *19As , : =_ "9 @?+:#6 +4$ , t
!
@?A
:!*!'2' ∈ T (F, X )
G|mÁ¥C§~@À©~1!mÁÛÀÈ&¥y9Á§À Ä 8 ¥§«Q¨ AgtN ats( ) = {t ∈ T (F, X ) | t = | , p ∈ Pos ( ) |¦["mÁ t !|j @§0 }. £ Á AgtN ats = ∅ |«2|@²C¥mÀ¨2¥§Q¥y©7y«ÛÀ"¥©y«Q¥m«ikÆ | Ä yËGy«^©j¥m«ÞÀÀ¨Þ¥>²Ì¥§¨ ¥§Qª¥§©7y«QÀ«·1y~^jj~^j«i!mÁ Æ 5 6 , 4.1 7!'I @BÔ
Atomic( )
p
GAD
AgtN ats
9ÇQ{!«|LyÆ Á§ÀÀ Ä «·¦y¦GiÀ§«>| Ä |Q¥mE|«iQ~[!mÁÀ«Q¥m«iÀ¥mÀ§«QEmÁ¥²C¥mÀÀ¨P¥§Qª¥§©7y« ¼ ì fÏì +º * »+* ì , % ' R ? | :SR,OhAj*19A+:B ' ?!| |R, R "
t
@?A >
$C%@$D
?! z=_ "9 IF @?+:!46 +4$`R,| 'ImÁG§|ÅÀj ¥m[C²§ |j|§¦[ª¥C§ #ÀÆ-# !¦¥§©j¨>iP|"À«QR¥§1ÁÂQ«QÄ ©7y«Q¥m~[§ and Ë¥§«Q¨>|j©k©@Á ¥y©7&Ä ¨k©§ª¥CjÏ|"À§Æ and(state Alice(agt(A), agt(B), sk(Kab), text(D M ), nat(0)), iknows(text(start)))
secret(text(n(A,B)),ident(id1),{agt(A),agt(B)})
−→ and(state Alice(agt(A), agt(B), sk(Kab), text(n(A, B)), nat(1)), iknows(pair(sk(Kab), scrypt(sk(Kab), sk(n(A, B)))))) and(state Bob(agt(B), agt(A), sk(Kab), text(D M ), nat(0)), iknows(pair(sk(Kab), scrypt(sk(Kab), text(M ))))
∅
−→ state Bob(agt(A), agt(B), sk(Kab), text(M ), nat(1))
{!|ÁÂyÀ Ä À«·p¦Qy¦GiÀ§«Àj9Á§~ |©y«QQ©7y«>§Á R ÁÂy~4¥m«`h>jP{ ¤& R Æ ¼ ìfÏì +º * +» * ì , $% ' ? \ "Vh>jV:#!+ -! 4$PB ' + ? 'Ia% ~. R,
R 2#: 46 "I:9A 4$xB%x'I0 Spec : 4 : +: Y" "2#$"I: U ¤!ɪ´+WK U ¤!ÉR³_W 2 .x!#$"
B
B Spec IF
IF
R
IF
IF
5 6 , 4.1 7!'I @BO]9/¨ÇQ«À§«ËEÁÂy¥§« h>j À m→m0 Ë m ¥§«Q¨ m0 ¥§2«m8¥C§~@À©2¨¥Cª¥Æ ¢Ey«Qji«iyËm¢Ey«Q¨À§« U ¤ É´W ÀÀ²À¥§À¥CÇQj¨ÔÆm ©j©y¨À«·L"{¥mÀ´§ËCj¥y©ª|^¥my~^©!¨¥C~
©j©À«·jÈ|!À« m § m ©§k¦[§«G¨Yp¥p¦Q¥m©¥m9¥mÁÂ^Á«Q©À§«Q¥§Ô~[§gÆŧC²ykË ©§«Q©«À«·|§Æ £Í«"|j©À§«Ë |G¥Ì²§Y¦j«ik¨"¥ ¥Ì¥m§~1¥CÀ©j¥mÀL·§j«ª¥C¥{ ¤&WËÌ¥m«"À«¦Á§| ²yÈÇ[©¥Cy«8¦©j¨Ä §Æ &Q¥mÀÀ§ËG|ª¥§Ä Î>&j¨yQL¥§«Q¨Å²y>j§Ég¦Qy«§Æ ©y«yÀy« ~@C²yjÏ|¨ãP©¥yÎWËP~1¥mÎÀ«·^|j¦ÁÂÀÀÀ«i²ÀÀÁ§¥^«y«ÉgߦGj QkÆ ïEï ô108 8
´Ì³
BM"$ '1*15KBB ! @B"* '1P +1 @
è , è ¼C½»+* ì , ìPd A d ¼ ì ! 0½ , h>j , * +» * ½A .»j½» è XQ§^¥m« h>jÞ¦[j©ÇG©j¥CÀ§« Ë^«QÈÀ¥§9¥m¦Qkj«yª"|>À«iQ¨jpΫ Àj¨·yP¥m«Q¨á| ÀÀ««Ûj¥m©QÀ§¥m« bQƧ³^ÁÔ©¥§§GQ¥mÀ¨>·§jG«ijSpec Æm¦[j«1©ÇQkߨ>¥§~^1¦Q|§ÁW¥§j«^~ÃÀ«Gj¥m[ ªÆ ¥C!ÁÂyY|Q ~@¥y¨É ¦@ߥ§~^Ä ¦Q À«i¨Q©k¨ Ä % %$
3
0
IF
"! " ! " ! 6 1 $ " ; 3" $ " ! !
À¨!j«ipp¥§«Q§ÁGÀ¥m|À«y|!G¨Y~J«i¨j@«m|j¨@~ Ƨ{"Gj·§j «ªQ¥CE«·^||À«¥m«i¥mßjmÁY¥mj§©~1À§¥C«§bQ«ÆÀËC´§Æ |!ÇQª Ä t øô ýùøjmô ôy4ÿ ý3ù mõ ôiÂøÿ37 õÂÂø ø+7 ö ýþ ö øjô Âøø7ô ýýù õ øö ó ñEúûù ªó Âø 7 Âø ö ø 7 ýþ ö õ jøjþ ö ó i÷"÷ ôyÿkô ªó ö ôø ö Áý Ä ¥mª¨ËÁÂy@jõ ¥§©ªø |/ó ÿjþjÂø ~ 7 ýtþ mö Á ø 7 tÂËø ¥ @?9A B8B8B
yËP¦[j©ÁÂP|À«iQ¨¥§ÀÀj Ë ¥§ÅÀ1©§~@¦[j¦[©yÈÇG^j¨ Ä ~1È|ËW||@ÀÁ«§ÀÀ ¥mÄ Ô«·j¥m¥§«Q§~1À§¥C«G§«¥§ÆIXQ1§¥y ¨¨ßj¥§¨9~@8 ¦pair(q ,q )→q m ¥ Q « ¨ Æ scrypt(q , q )→q iknows(q )→q {!|^ÁÂyÀ «Q·¦§¦[yÈy«à©¥mÀ~1L|Q¥m|@·§j«ª¥Cj¨8j^¥§y~@¥my«2©y~@¦Àj Ä |2| ©§«Q¨Èy«Q!·§ÀÄ ²§j«>À«8j©7y«Å°Æ ³Æ ¼ ì fÏì +º * +» * ì , % % ' ?!/ hAj :4I! ! 4$xB ' + ? M 'IO7 67x6+:+42 'IO224$ 9 : R, Spec " A Spec ?! 2'-#6!- *1 \ 6+:!*19 #2 ,! t 'I-46 :!9> 4$PB %P'+ A : "# : +: " 24$: U ɪ+´ W 0Ë U Éͳ Wg0Ë U ÉÍ° WK `U 4É b@WB 5 6 , 4.1 7!'I @By{!|¦mÁ¨y«L©j¥§jÔy«p¢E§«Q¨À§«G§«j¥m§~1¥Cª¥!·§À²§j«"«k©7y« °QÆ ³48 U ɪV ´ W[{À²À¥§À§ËC|L¦[j©ÇG©!¥§«QÈy«P©§«GQ©À§«^Á§Ï|L¥Cy~@À©¨Q¥C¥j«QkY|ÀϦ§¦[.8 Á§j!¦¥mk«j¥m«i§À~@«·©Á¨j¥m|8¨~ ¥Cªt¥ËyÆ |Lª¥m«GÀ§« t→q ÏQjÆ{!|EΧj¦QE|§¨À«·ÁÂy9¥m§~@©!j~1 U ɳ W]9p©y«QQ©7y«ËC|QÀE©§«G¨Èy«@ÀQÀ«Q©!ÁÂyÏ¥m«1¥m§~@©9j~ t Ë q YQj¨^«@|·y|i |Q¥m«Q¨À¨"§Á¥@À§Ë§«Q1ÁÂy k©y·§«> TÀ«· Æ U ÉÍ° WG{!|ª¥m«QÀ§«^ÀÀ²À¥§À¥CÀÇQj¨Á§E¥t¥m q Ä |j t À¥§«1¥Cy~@À©Ej~8Æm£Í«1¥y¨¨À§«Ë |~ ©§«Q¨Æ¢EÀ§§«Q«©§Q~@kÀ«·8·§ÀÁ²§j§«x~S« |{1¥§¥§2«Q´¥C¥my«§|~1¥CÁÂy§À« AÀ«Ëm·|&¥Ì 8 Ä Ä p KT (p) Ë KT (p) = {t ∈ T (F ∪ Q) | ∃l −→ r ∈ R, σ : Var(l) 7→ Q, t ∈ Sec Ë m ¥ Q « ¨ Q©ª|>|Q¥m t = secret(t , p, Agents), q∈Q m ¥ Q « ¨ Æ lσ→ q, rσ→ q t = secret(t σ, p, Agentsσ)} ÀE¥ÇQ« j&¥m§~1¥C§«ËÌ|&ϧÁGÈÀ§«Q Var(l) 7→ Q Ë Ä È| l −→ r ∈ R ¥mÀp«Q©ÇG «AȧÆ[¢Ey«Qji«iyË KT (p) ¥pÇQ«kÆ ZÀ²§j«8¥pj¥§y~1¥Cy« Ë "¥Ì@|Q¥m ¥CÀÇQk ¥p¦Qy¦Gj Á|"À«yG¨¨k!«m Î¥§«À Ä E¥|k©¨j©y«>~ §Á« |QKT(p)¥mAÄÁ ¥yÄ |©7©ªÀ|৫mÁYL¥@«mkA"©jQ©¦1¦G¦iyk¦G¨8j> Ϋ Ä Æ[{!p|Qp« Ä ¥mÀ·§y|~[À Ä ÁÂy¥p"¥m§~1¥C§« A Æ Ä p ¸A - ì ¼ * » e"! è & %x'I-,!*1x+4$ 64*1I: true , A : 4 :2-:/ 'IKP6!I#3 p B (A, KT (p)) pè - *, res := true ì ¼½4A A secret(t , p, S ) ∈ KT (p) í ì 8» e è , +d~ 'I¥m|j9j¨À«©¥m«>G©y~@¦k¨ÔÆ{!|EE|§«Q@À«Q©y«Q©ÀQ²y&jÈ Ä |QXQ¥Ì§²§À §À«·¥mÀ«|Qk¨§1À¨©j¥C¥m §Æ §Î U ]!¥y¯§°mWËû¢9¥§¯y_¯ W[| À«·|LjÀ¥mÀ§«^G j«P¨-,[jj«iÏ~@¨Ë ~1©§¥§~@ÎiÀ«¥§·!²yÄ ¥m«ÈÇ[²©¥C¨y«Q«^©&jÁÂy©ª|Q!«Ä À|ik¥§Ï¥ÌE²C¥mÀ«¥m§kÀ!¥mªÁÂyÆ~ À|j¥§·yĨ|11j²§« jQU ]!¦¥ym±§8± W Ë©§|["¦[¥mj©ÈÄ |ÇGy©j¥C9|Qy¥Ì«1²yÀ&¥§«¦·§ÀQ·§¥§·y·§jk¨Y|Q|¥§ ÖÑÒmåÝ¥§«Q¥mÀjM U Åj¥y"± b_WÀ«i||À·§|À²y[¦m©§W¦[j©ÈÇG©j¥Cy«PÀ¥§«·§G¥m·§ Ôå ÒÔÓWzÑ U Û±§"± WgÆ Z^Æm Ä 9|Q¥y¨ÇQ«k¨|QÀ Ä «É ¥m«·yQ¥m·y ÔåÏÓÔÒ ÔÖ U Ä ±y8¶ WÁ§Y|²§jÇG©j¥CÀ§«§0 j Ö U Ä ±§8® W A@?B(C%5 D%7*@ E?B*1 B)J%1*E*K D?B7LMNFC%:IH*L"7?B)EOK%5K :*2 J PCQH: 5 R YV?W
GFC%:IH"7?B)E QH1 RSPE1%7IH7%:2TUPJ%1C*V?W %11%1
Z
@2B)C%52F
7
XLC
0[
\[
^]
Q_
î99ïÏî ñ
´
! "#$"&%!!'($)+*-,+/.0!+*12435-6"78!9;:< = 29> @?9A B8B8B
Àå«Ùyh ÓW¨Ò§jåÜÔ¥§«Q¨P©yÀ«Q«©j|«|¥ X¥m«Q·§©ªj|¦©ym~@k~©7«ÒÖ×mØÁÙ&QÚWËyª|Æk"Ų§Qj©ª|ÇG~@©j¥CyÀ§«Pj©§«i À§YËjÑ «å | Ó E U {§¦[¯yj®8¥mWg«ËQÓ¦å[ä§ j© U &¢9¯y_³ WgËE~× j U ]!¥§¯y°§8¥ W Ë&Ð U ]!¥y¯§°§© W|Q¥Ì²§Gj«/¥mÀ©y««j©k¨ÝjÈ|@2|áÐ9ÑÒWÓÔÑৠÒÖ×ØÙ&ÚÀ¥§«·§G¥m·§kÆ £Í«2|¦Q¥m¦[kË ^|Q¥Ì²y¦§¦[yj¨2¥ ¥Ì,W"¥m«2ߦGj²§jÇG©j¥CÀ§«Ûj©ª|Q«Àip«y« ߦGj8QªÆ!{!|xÄ ©y«yÀy«Q>mÁ|ÀÄ 8¦G¥m¦[Å¥mÀ Ä |«¥m·P«G¨¥ [¥ Ä k¨"¦[j©ÈÇG©j¥Cy«8Æ XQ§¥m\ ¥>§Q«Q¨à¥§Q¥y©7y«ÛmÁ9« È"h>jÀ«Û¦[j|Q©@ÇG©j¥C«GÀp§«|QË¥m|"9ÈÁE¥§Q|1ª¥§¥m©7G~^¥y¨©7Ljy~@j¨jÀÄ«·ÀÀÁ§ª~ ¥m«Q¨2|¥m«Þ¥§«i«QQ¥C¨jyj« Ë |«|\hAjP¦[j©ÇG©j¥CÀ§« Ä À¥§«Q¨È&¥y Ä ÀgÆI¡|«Å¥§«>À«iQ¨©j¥m«8¥C¥§©ªÎ@|\h>j1¦§©yaË |¥mG¥y©7!¦§©yÔÀ [¥ Ä k¨>¥y Ä jgÆ £Ía« U ]!¥§
¯ ^8WgË |Q¥Ì²§&¦kj«ij¨^|Lä[åYæÓWÒ§W¥§Ï¥"§[¦À·§·yj¨@À«y"|Q h>jQ
Æ 2L|Q¥Ì²§!|« ¦Qkj«yj¨j2¥§«Q¨hAjp¦[|Qj©ÈÇGÀ©j«*:35-WCWP89:jö 8}
\ ÿj(ô \ ÿjôiôyùø ñÏþiõ ø ùÈ)ô 7 ÿ 7 ø yù ÿ ÿ ªÿkúû5õ 3ù óªó9ø ÿj÷ø ø Ôîgmô &Q8*) R7d 6j3j - _ v8v)- +s&Q -v8,( )-+ V