Formal Security Analysis and Improvement of a hash-based - - PowerPoint PPT Presentation

formal security analysis and improvement of a hash based
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Formal ¡Security ¡Analysis ¡and ¡Improvement ¡of ¡ ¡ a ¡hash-­‑based ¡NFC ¡M-­‑coupon ¡Protocol ¡

Ali ¡Alshehri ¡and ¡Steve ¡Schneider ¡

slide-2
SLIDE 2

Agenda ¡

  • Introduc?on. ¡
  • Approach ¡

– CasperFDR ¡(example) ¡ – More ¡about ¡the ¡underline ¡theory ¡(CSP) ¡

  • Apply ¡to ¡the ¡Hash-­‑based ¡NFC ¡M-­‑coupon ¡

protocols ¡by ¡Hsiang ¡et ¡al. ¡ ¡

– Capturing ¡the ¡requirements: ¡

  • In ¡CasperFDR ¡
  • From ¡the ¡CSP ¡aspect ¡ ¡ ¡

– Analysis ¡(AIack ¡& ¡solu?ons) ¡

Ali ¡Alshehri ¡2013 ¡

✓ ¡

slide-3
SLIDE 3

Introduc?on ¡ ¡

  • NFC ¡(Near ¡Field ¡Communica?on). ¡
  • NFC ¡mobile ¡coupon ¡protocols. ¡

– The ¡Hash-­‑based ¡M-­‑coupon ¡protocol. ¡

  • Formal ¡security ¡analysis. ¡
  • ­‑

CasperFDR ¡

Ali ¡Alshehri ¡2013 ¡

slide-4
SLIDE 4

Agenda ¡

  • Introduc?on. ¡
  • Approach ¡

– CasperFDR ¡(example) ¡ – More ¡about ¡the ¡underline ¡theory ¡(CSP) ¡

  • Apply ¡to ¡a ¡Hash-­‑based ¡NFC ¡M-­‑coupon ¡protocols ¡

by ¡Hsiang ¡et ¡al. ¡ ¡

– Capturing ¡the ¡requirements: ¡

  • In ¡CasperFDR ¡
  • From ¡the ¡CSP ¡aspect ¡ ¡ ¡

– Analysis ¡(AIack ¡& ¡solu?ons) ¡

Ali ¡Alshehri ¡2013 ¡

✓ ¡ ✓ ¡

slide-5
SLIDE 5

CasperFDR ¡

Ali ¡Alshehri ¡2013 ¡

Casper ¡ FDR ¡ CSP ¡ FDR ¡result ¡ High ¡level ¡ protocol ¡modeling ¡ High ¡level ¡ ¡ Interpreta@on ¡of ¡analysis ¡ Generate ¡a ¡ CSP ¡Model ¡

  • ­‑ CSP ¡(Communica@ng ¡Sequen@al ¡Processes): ¡

is ¡a ¡formal ¡language ¡for ¡describing ¡paIerns ¡of ¡interac?on ¡ in ¡concurrent ¡systems. ¡

  • ­‑ ¡FDR ¡(Failures ¡Divergences ¡Refinement) ¡: ¡CSP ¡refinement ¡
  • checker. ¡
slide-6
SLIDE 6

Example ¡

Ali ¡Alshehri ¡2013 ¡

Alice ¡ Bob ¡

{Alice,NA,KAB}PKB ¡ {NA}KAB ¡

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 ¡

slide-7
SLIDE 7

Ali ¡Alshehri ¡2013 ¡

Modeling ¡in ¡CasperFDR ¡

slide-8
SLIDE 8

Ali ¡Alshehri ¡2013 ¡

slide-9
SLIDE 9

Intruder ¡ Bob ¡

{Alice,Nm,KMB}PKB ¡ {Nm}KMB ¡

Alice ¡

Bob ¡agree ¡ KMB ¡is ¡secret ¡ with ¡Alice ¡

zzzz ¡

Alice ¡DOES ¡NOT ¡agree ¡ KMB ¡is ¡secret ¡with ¡Bob

Ali ¡Alshehri ¡2013 ¡

Hi ¡Bob ¡ ¡I ¡am ¡ Alice! ¡ Hi ¡Alice ¡

slide-10
SLIDE 10

CasperFDR ¡(black-­‑box ¡User) ¡

Ali ¡Alshehri ¡2013 ¡

Casper ¡ FDR ¡ CSP ¡ FDR ¡result ¡ High ¡level ¡ protocol ¡modeling ¡ High ¡level ¡ ¡ Interpreta@on ¡of ¡analysis ¡ Generate ¡a ¡ CSP ¡Model ¡

slide-11
SLIDE 11

The ¡CSP ¡theory ¡aspect ¡

Ali ¡Alshehri ¡2013 ¡

!"#$%& '()& *+!"#$%&$%'$()*'(" *,!"#&$)'$("

!"##$%&' ()$*+&,"-&!"# ./00$01&' ,"-&()$*+&!"# !)2$#34+*5+%& ,"-&()$*+&-!'#

New ¡events ¡– ¡Independent ¡processes ¡ ¡

slide-12
SLIDE 12

The ¡CSP ¡theory ¡aspect ¡

Ali ¡Alshehri ¡2013 ¡

Dolev-­‑Yao ¡model ¡threat ¡ ¡

!""#$%&'

! "

!"#$%&$'# ( ) $ % * $ + %

, +

  • $
slide-13
SLIDE 13

The ¡CSP ¡theory ¡aspect ¡

Ali ¡Alshehri ¡2013 ¡

!"#$%& '()& *+!"#$%&'%()*+,(*" *,!"#&'+()*"

  • ./012%0&

!"#$%&'()*(+,- ./0,1"$)(,3*'! 23/45,3*'!

slide-14
SLIDE 14

Agenda ¡

  • Introduc?on. ¡
  • Approach ¡

– CasperFDR ¡(example) ¡ – More ¡about ¡the ¡underline ¡theory ¡(CSP) ¡

  • Apply ¡to ¡a ¡Hash-­‑based ¡NFC ¡M-­‑coupon ¡protocols ¡

by ¡Hsiang ¡et ¡al. ¡ ¡

– Capturing ¡the ¡requirements: ¡

  • In ¡CasperFDR ¡
  • From ¡the ¡CSP ¡aspect ¡ ¡ ¡

– Analysis ¡(AIack ¡& ¡solu?ons) ¡

Ali ¡Alshehri ¡2013 ¡

✓ ¡ ✓ ¡ ✓ ¡

slide-15
SLIDE 15

Hash-­‑based ¡M-­‑coupon ¡protocol ¡

!"#$%"&'()*+# ,-".*#$

! "

/""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: ¡ ¡

  • ­‑ ¡Confiden?ality ¡
  • ­‑ ¡Forgery ¡Protec?on: ¡(No ¡Unauthorized ¡Genera?on ¡& ¡No ¡Manipula?on) ¡
  • ­‑ ¡Unauthorized ¡Copying: ¡(Not ¡Transferable) ¡ ¡
  • ­‑ ¡Data ¡Integrity ¡
  • ­‑ ¡No ¡Mul?ple ¡Cash-­‑in ¡
slide-16
SLIDE 16

Hash-­‑based ¡M-­‑coupon ¡protocol ¡

!"#$%"&'()*+# ,-".*#$

! "

/""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: ¡ ¡

  • ­‑ ¡Confiden?ality ¡
  • ­‑ ¡Forgery ¡Protec?on: ¡(No ¡Unauthorized ¡Genera?on ¡& ¡No ¡Manipula?on) ¡
  • ­‑ ¡Unauthorized ¡Copying: ¡(Not ¡Transferable) ¡ ¡
  • ­‑ ¡Data ¡Integrity ¡
  • ­‑ ¡No ¡Mul?ple ¡Cash-­‑in ¡

In ¡CasperFDR: ¡ StrongSecret ¡(C, ¡X, ¡Offer ¡, ¡[I]) ¡

slide-17
SLIDE 17

Hash-­‑based ¡M-­‑coupon ¡protocol ¡

!"#$%"&'()*+# ,-".*#$

! "

/""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: ¡ ¡

  • ­‑ ¡Confiden?ality ¡
  • ­‑ ¡Forgery ¡Protec?on: ¡(No ¡Unauthorized ¡Genera?on ¡& ¡No ¡Manipula?on) ¡
  • ­‑ ¡Unauthorized ¡Copying: ¡(Not ¡Transferable) ¡ ¡
  • ­‑ ¡Data ¡Integrity ¡
  • ­‑ ¡No ¡Mul?ple ¡Cash-­‑in ¡

In ¡CasperFDR: ¡

NonInjec?veAgreement ¡(I,C,[X,Offer]) ¡

slide-18
SLIDE 18

Hash-­‑based ¡M-­‑coupon ¡protocol ¡

!"#$%"&'()*+# ,-".*#$

! "

/""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: ¡ ¡

  • ­‑ ¡Confiden?ality ¡
  • ­‑ ¡Forgery ¡Protec?on: ¡(No ¡Unauthorized ¡Genera?on ¡& ¡No ¡Manipula?on) ¡
  • ­‑ ¡Unauthorized ¡Copying: ¡(Not ¡Transferable) ¡ ¡
  • ­‑ ¡Data ¡Integrity ¡
  • ­‑ ¡No ¡Mul?ple ¡Cash-­‑in ¡

In ¡CasperFDR: ¡

NonInjec?veAgreement ¡(I,C,[X,Offer,ID(u)]) ¡

slide-19
SLIDE 19

Hash-­‑based ¡M-­‑coupon ¡protocol ¡

!"#$%"&'()*+# ,-".*#$

! "

/""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: ¡ ¡

  • ­‑ ¡Confiden?ality ¡
  • ­‑ ¡Forgery ¡Protec?on: ¡(No ¡Unauthorized ¡Genera?on ¡& ¡No ¡Manipula?on) ¡
  • ­‑ ¡Unauthorized ¡Copying: ¡(Not ¡Transferable) ¡ ¡
  • ­‑ ¡Data ¡Integrity ¡
  • ­‑ ¡No ¡Mul?ple ¡Cash-­‑in ¡

In ¡CasperFDR: ¡

NonInjec?veAgreement ¡(I,C,[X,Offer,ID(u),ID(i))]) ¡

slide-20
SLIDE 20

Hash-­‑based ¡M-­‑coupon ¡protocol ¡

!"#$%"&'()*+# ,-".*#$

! "

/""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: ¡ ¡

  • ­‑ ¡Confiden?ality ¡
  • ­‑ ¡Forgery ¡Protec?on: ¡(No ¡Unauthorized ¡Genera?on ¡& ¡No ¡Manipula?on) ¡
  • ­‑ ¡Unauthorized ¡Copying: ¡(Not ¡Transferable) ¡ ¡
  • ­‑ ¡Data ¡Integrity ¡
  • ­‑ ¡No ¡Mul?ple ¡Cash-­‑in ¡

In ¡CasperFDR: ¡

Agreement ¡(I,C,[X,Offer]) ¡

slide-21
SLIDE 21

Analysis ¡

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} ¡

slide-22
SLIDE 22

Solu?on ¡

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 ¡] ¡

slide-23
SLIDE 23

A ¡general ¡framework ¡ ¡ ¡

!"#$%&'((((((()##*&'

!"#$%#&'(#")%*)+", !"#$#%&'()*&+,-&&.&#(/ 0$112&-34516)&-3789'"2:"#;<

  • ")'.#/,01%#/23%

!"#$#%&'()*&+,-&&.&#(/ 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&-;<

  • "'893)+:3%'6/0;<+,

+,-&&.&#(/ 0$112&-34516)&-3789'"2:"#;< =0%#'>9);%,)+*/)+", +,-&&.&#(/ 0=1&-34516)&-374CB>B!@$+?;<

!"#$%&'(((((((+#&'

Ali ¡Alshehri ¡2013 ¡

slide-24
SLIDE 24

Conclusion ¡

  • Hash-­‑based ¡M-­‑coupon ¡protocol. ¡
  • Deep ¡formal ¡analysis. ¡ ¡
  • Other ¡solu?ons ¡suggested ¡(foogall, ¡premium) ¡ ¡

Ali ¡Alshehri ¡2013 ¡

slide-25
SLIDE 25

Thank ¡you ¡

  • Ques?ons? ¡

Ali ¡Alshehri ¡2013 ¡

Ali Alshehri a.a.alshehri@surrey.ac.uk