Formal ¡Security ¡Analysis ¡and ¡Improvement ¡of ¡ ¡ a ¡hash-‑based ¡NFC ¡M-‑coupon ¡Protocol ¡
Ali ¡Alshehri ¡and ¡Steve ¡Schneider ¡
Formal Security Analysis and Improvement of a hash-based - - PowerPoint PPT Presentation
Formal Security Analysis and Improvement of a hash-based NFC M-coupon Protocol Ali Alshehri and Steve Schneider Agenda Introduc?on. Approach
Ali ¡Alshehri ¡and ¡Steve ¡Schneider ¡
Ali ¡Alshehri ¡2013 ¡
– The ¡Hash-‑based ¡M-‑coupon ¡protocol. ¡
CasperFDR ¡
Ali ¡Alshehri ¡2013 ¡
Ali ¡Alshehri ¡2013 ¡
Ali ¡Alshehri ¡2013 ¡
Casper ¡ FDR ¡ CSP ¡ FDR ¡result ¡ High ¡level ¡ protocol ¡modeling ¡ High ¡level ¡ ¡ Interpreta@on ¡of ¡analysis ¡ Generate ¡a ¡ CSP ¡Model ¡
is ¡a ¡formal ¡language ¡for ¡describing ¡paIerns ¡of ¡interac?on ¡ in ¡concurrent ¡systems. ¡
Ali ¡Alshehri ¡2013 ¡
Hello ¡Alice! ¡ I ¡need ¡a ¡secure ¡ communica?on ¡ with ¡Bob ¡ This ¡is ¡Bob ¡for ¡ sure! (authen?ca?on). ¡ KAB ¡is ¡secret ¡with ¡ Bob I ¡believe ¡ ¡ KAB ¡is ¡secret ¡ with ¡Alice ¡ Hi ¡Bob ¡
Ali ¡Alshehri ¡2013 ¡
Ali ¡Alshehri ¡2013 ¡
Bob ¡agree ¡ KMB ¡is ¡secret ¡ with ¡Alice ¡
Alice ¡DOES ¡NOT ¡agree ¡ KMB ¡is ¡secret ¡with ¡Bob
Ali ¡Alshehri ¡2013 ¡
Hi ¡Bob ¡ ¡I ¡am ¡ Alice! ¡ Hi ¡Alice ¡
Ali ¡Alshehri ¡2013 ¡
Casper ¡ FDR ¡ CSP ¡ FDR ¡result ¡ High ¡level ¡ protocol ¡modeling ¡ High ¡level ¡ ¡ Interpreta@on ¡of ¡analysis ¡ Generate ¡a ¡ CSP ¡Model ¡
Ali ¡Alshehri ¡2013 ¡
!"#$%& '()& *+!"#$%&$%'$()*'(" *,!"#&$)'$("
!"##$%&' ()$*+&,"-&!"# ./00$01&' ,"-&()$*+&!"# !)2$#34+*5+%& ,"-&()$*+&-!'#
New ¡events ¡– ¡Independent ¡processes ¡ ¡
Ali ¡Alshehri ¡2013 ¡
Dolev-‑Yao ¡model ¡threat ¡ ¡
!"#$%&$'# ( ) $ % * $ + %
, +
Ali ¡Alshehri ¡2013 ¡
!"#$%& '()& *+!"#$%&'%()*+,(*" *,!"#&'+()*"
!"#$%&'()*(+,- ./0,1"$)(,3*'! 23/45,3*'!
Ali ¡Alshehri ¡2013 ¡
!"#$%"&'()*+# ,-".*#$
! "
/""0#$
#$%%&'(#()(12344#$2/5607 #$%%&'(#()(12344#$ #*+&%,-./0.'(#()(12344#$ #$%%&'(#()(12344#$2/56072/56*7 1233&34()(#(12344#$2/5607 1233&34()(#(12344#$ 1233&34()(#(12344#$2/56072/56*7
/5607 '&8&9/5607:&;:&,< =3>!? '&8&9/5607:&;:&,<
;&8&/5607& h[ID(i)]& ,&8&.@&.@/56*7A&&1&&344#$&A&&&&
5 6
'-++($B
57 '&8&9/5607:&;:&,<
#$%%&'(#()(12344#$
Ali ¡Alshehri ¡2013 ¡
Security ¡Requirements: ¡ ¡
!"#$%"&'()*+# ,-".*#$
! "
/""0#$
#$%%&'(#()(12344#$2/5607 #$%%&'(#()(12344#$ #*+&%,-./0.'(#()(12344#$ #$%%&'(#()(12344#$2/56072/56*7 1233&34()(#(12344#$2/5607 1233&34()(#(12344#$ 1233&34()(#(12344#$2/56072/56*7
/5607 '&8&9/5607:&;:&,< =3>!? '&8&9/5607:&;:&,<
;&8&/5607& h[ID(i)]& ,&8&.@&.@/56*7A&&1&&344#$&A&&&&
5 6
'-++($B
57 '&8&9/5607:&;:&,<
#$%%&'(#()(12344#$
Ali ¡Alshehri ¡2013 ¡
Security ¡Requirements: ¡ ¡
In ¡CasperFDR: ¡ StrongSecret ¡(C, ¡X, ¡Offer ¡, ¡[I]) ¡
!"#$%"&'()*+# ,-".*#$
! "
/""0#$
#$%%&'(#()(12344#$2/5607 #$%%&'(#()(12344#$ #*+&%,-./0.'(#()(12344#$ #$%%&'(#()(12344#$2/56072/56*7 1233&34()(#(12344#$2/5607 1233&34()(#(12344#$ 1233&34()(#(12344#$2/56072/56*7
/5607 '&8&9/5607:&;:&,< =3>!? '&8&9/5607:&;:&,<
;&8&/5607& h[ID(i)]& ,&8&.@&.@/56*7A&&1&&344#$&A&&&&
5 6
'-++($B
57 '&8&9/5607:&;:&,<
#$%%&'(#()(12344#$
Ali ¡Alshehri ¡2013 ¡
Security ¡Requirements: ¡ ¡
In ¡CasperFDR: ¡
NonInjec?veAgreement ¡(I,C,[X,Offer]) ¡
!"#$%"&'()*+# ,-".*#$
! "
/""0#$
#$%%&'(#()(12344#$2/5607 #$%%&'(#()(12344#$ #*+&%,-./0.'(#()(12344#$ #$%%&'(#()(12344#$2/56072/56*7 1233&34()(#(12344#$2/5607 1233&34()(#(12344#$ 1233&34()(#(12344#$2/56072/56*7
/5607 '&8&9/5607:&;:&,< =3>!? '&8&9/5607:&;:&,<
;&8&/5607& h[ID(i)]& ,&8&.@&.@/56*7A&&1&&344#$&A&&&&
5 6
'-++($B
57 '&8&9/5607:&;:&,<
#$%%&'(#()(12344#$
Ali ¡Alshehri ¡2013 ¡
Security ¡Requirements: ¡ ¡
In ¡CasperFDR: ¡
NonInjec?veAgreement ¡(I,C,[X,Offer,ID(u)]) ¡
!"#$%"&'()*+# ,-".*#$
! "
/""0#$
#$%%&'(#()(12344#$2/5607 #$%%&'(#()(12344#$ #*+&%,-./0.'(#()(12344#$ #$%%&'(#()(12344#$2/56072/56*7 1233&34()(#(12344#$2/5607 1233&34()(#(12344#$ 1233&34()(#(12344#$2/56072/56*7
/5607 '&8&9/5607:&;:&,< =3>!? '&8&9/5607:&;:&,<
;&8&/5607& h[ID(i)]& ,&8&.@&.@/56*7A&&1&&344#$&A&&&&
5 6
'-++($B
57 '&8&9/5607:&;:&,<
#$%%&'(#()(12344#$
Ali ¡Alshehri ¡2013 ¡
Security ¡Requirements: ¡ ¡
In ¡CasperFDR: ¡
NonInjec?veAgreement ¡(I,C,[X,Offer,ID(u),ID(i))]) ¡
!"#$%"&'()*+# ,-".*#$
! "
/""0#$
#$%%&'(#()(12344#$2/5607 #$%%&'(#()(12344#$ #*+&%,-./0.'(#()(12344#$ #$%%&'(#()(12344#$2/56072/56*7 1233&34()(#(12344#$2/5607 1233&34()(#(12344#$ 1233&34()(#(12344#$2/56072/56*7
/5607 '&8&9/5607:&;:&,< =3>!? '&8&9/5607:&;:&,<
;&8&/5607& h[ID(i)]& ,&8&.@&.@/56*7A&&1&&344#$&A&&&&
5 6
'-++($B
57 '&8&9/5607:&;:&,<
#$%%&'(#()(12344#$
Ali ¡Alshehri ¡2013 ¡
Security ¡Requirements: ¡ ¡
In ¡CasperFDR: ¡
Agreement ¡(I,C,[X,Offer]) ¡
Ali ¡Alshehri ¡2013 ¡
M ¡= ¡{ ¡ID(u), ¡V, ¡ ¡C ¡} ¡ V ¡= ¡ID(u) ¡⊕ ¡h[ID(i)] ¡ C ¡= ¡h[ ¡h[ID(i)] ¡⊕ ¡X ¡⊕ ¡Offer ¡] ¡ h[ID(i)] ¡= ¡ID(u) ¡⊕ ¡V ¡ V’= ¡ID(intruder) ¡⊕ ¡h[ID(i)] ¡ M ¡= ¡{ ¡ID(u), ¡V, ¡ ¡C ¡} ¡ M’ ¡= ¡{ID( ¡intruder) ¡, ¡V’, ¡C} ¡
Ali ¡Alshehri ¡2013 ¡
Enhanced ¡Hash-‑based ¡ M ¡= ¡{ ¡ID(u), ¡V, ¡ ¡C ¡} ¡ V ¡= ¡ID(u) ¡⊕ ¡h[ID(i)] ¡ C ¡= ¡h[ ¡h[ID(i)] ¡⊕ ¡X ¡⊕ ¡Offer ¡⊕ ¡ID(u) ¡] ¡ Hash-‑based ¡ M ¡= ¡{ ¡ID(u), ¡V, ¡ ¡C ¡} ¡ V ¡= ¡ID(u) ¡⊕ ¡h[ID(i)] ¡ C ¡= ¡h[ ¡h[ID(i)] ¡⊕ ¡X ¡⊕ ¡Offer ¡] ¡
!"#$%&'((((((()##*&'
!"#$%#&'(#")%*)+", !"#$#%&'()*&+,-&&.&#(/ 0$112&-34516)&-3789'"2:"#;<
!"#$#%&'()*&+,-&&.&#(/ 0$112&-34516)&-3789'"2:"#/3/=1&-/$>;< 4/)/'5,)%$#+)& !"#$#%&'()*&+,-&&.&#( 0$112&-34516)&-37+??/>+@+;< 6",1+7%,)+/3+)& A(-"#,A&'-&( 04516)&-3/AB4CB@3/7$112&-;<
+,-&&.&#(/ 0$112&-34516)&-3789'"2:"#;< =0%#'>9);%,)+*/)+", +,-&&.&#(/ 0=1&-34516)&-374CB>B!@$+?;<
!"#$%&'(((((((+#&'
Ali ¡Alshehri ¡2013 ¡
Ali ¡Alshehri ¡2013 ¡
Ali ¡Alshehri ¡2013 ¡