phd defense
play

PhD Defense Symbolic Proofs of Computational Indistinguishability - PowerPoint PPT Presentation

PhD Defense Symbolic Proofs of Computational Indistinguishability Adrien Koutsos Thse prpare au sein du LSV, ENS Paris-Saclay September 27, 2019 Introduction Motivation Security Protocols Distributed programs which aim at providing some


  1. id , k , sqn u id , k , sqn n id � n , sqn n ⊕ H 5 k ( n ) , H 1 � k ( � sqn n , n � ) sqn n ← sqn n + 1 b mac ← check-mac b sqn ← check-range ( sqn u , sqn n ) b mac ∧ b sqn sqn u ← sqn n H 2 k ( n ) ¬ b mac “Auth-Failure” b mac ∧ ¬ b sqn sqn u ⊕ H 5 , ∗ k ( n ) , H 1 , ∗ � � k ( � sqn u , n � ) If the mac is valid: sqn n ← sqn u + 1 4G-AKA 16

  2. The imsi Catcher Attack [Strobel, 2007] No Confidentiality of the User Identity The id is sent in plain text! 17

  3. The imsi Catcher Attack [Strobel, 2007] No Confidentiality of the User Identity The id is sent in plain text! UE Attacker tmp - id or id If tmp - id received “Permanent-ID-Request” id 17

  4. The imsi Catcher Attack [Strobel, 2007] No Confidentiality of the User Identity The id is sent in plain text! UE Attacker tmp - id or id If tmp - id received “Permanent-ID-Request” id Why This is a Major Attack • Reliable : always works. • Easy to deploy : only needs an antenna. • Large scale : is not targeted. 17

  5. Privacy in 5G-AKA The 5G-AKA protocol 5G-AKA is the next version of AKA (drafts are available). 18

  6. Privacy in 5G-AKA The 5G-AKA protocol 5G-AKA is the next version of AKA (drafts are available). 3GPP fix for 5G-AKA Simply encrypts the permanent identity by sending { id } pk n 18

  7. id , k , pk n , sqn u id , k , sk n , sqn n { id } pk n n , sqn n ⊕ H 5 k ( n ) , H 1 � � k ( � sqn n , n � ) b mac ← check mac sqn n ← sqn n + 1 b sqn ← check range ( sqn u , sqn n ) b mac ∧ b sqn sqn u ← sqn n H 2 k ( n ) ¬ b mac “Auth-Failure” b mac ∧ ¬ b sqn sqn u ⊕ H 5 , ∗ k ( n ) , H 1 , ∗ � k ( � sqn u , n � ) � If the mac is valid: sqn n ← sqn u + 1 5G-AKA 19

  8. Privacy in 5G-AKA Is it enough? 20

  9. Privacy in 5G-AKA Is it enough? For confidentiality of the id , yes. 20

  10. Privacy in 5G-AKA Is it enough? For confidentiality of the id , yes. For unlinkability, no. 20

  11. Unlinkability Unlinkability Attack Even if id is hidden, an attacker can link sessions of a user . 21

  12. Unlinkability Unlinkability Attack Even if id is hidden, an attacker can link sessions of a user . Example of an Unlinkability Scenario A B A B B B ∼ A B C D E F F 21

  13. Unlinkability Unlinkability Attack Even if id is hidden, an attacker can link sessions of a user . Example of an Unlinkability Scenario A B A B B B ∼ A B C D E F F 21

  14. Unlinkability Unlinkability Attack Even if id is hidden, an attacker can link sessions of a user . Example of an Unlinkability Scenario A B A B B B ∼ A B C D E F F 21

  15. Unlinkability Unlinkability Attack Even if id is hidden, an attacker can link sessions of a user . Example of an Unlinkability Scenario A B A B B B ∼ A B C D E F F 21

  16. The Failure Message Attack [Arapinis et al., 2012] UE ( id A ) HN n , sqn n ⊕ H 5 k ( n ) , H 1 � � t auth ≡ k ( � sqn n , n � ) H 2 k ( n ) UE ( id B ) Attacker t auth If id B � = id A “Auth-Failure” If id B = id A sqn u ⊕ H 5 , ∗ k ( n ) , H 1 , ∗ � � t re-sync ≡ k ( � sqn u , n � ) 22

  17. The Failure Message Attack [Arapinis et al., 2012] UE ( id A ) HN n , sqn n ⊕ H 5 k ( n ) , H 1 � � t auth ≡ k ( � sqn n , n � ) H 2 k ( n ) UE ( id B ) Attacker t auth If id B � = id A “Auth-Failure” If id B = id A sqn u ⊕ H 5 , ∗ k ( n ) , H 1 , ∗ � � t re-sync ≡ k ( � sqn u , n � ) 22

  18. The Failure Message Attack [Arapinis et al., 2012] UE ( id A ) HN n , sqn n ⊕ H 5 k ( n ) , H 1 � � t auth ≡ k ( � sqn n , n � ) H 2 k ( n ) UE ( id B ) Attacker t auth If id B � = id A “Auth-Failure” If id B = id A sqn u ⊕ H 5 , ∗ k ( n ) , H 1 , ∗ � � t re-sync ≡ k ( � sqn u , n � ) 22

  19. The Failure Message Attack [Arapinis et al., 2012] UE ( id A ) HN n , sqn n ⊕ H 5 k ( n ) , H 1 � � t auth ≡ k ( � sqn n , n � ) H 2 k ( n ) UE ( id B ) Attacker t auth If id B � = id A “Auth-Failure” If id B = id A sqn u ⊕ H 5 , ∗ k ( n ) , H 1 , ∗ � � t re-sync ≡ k ( � sqn u , n � ) Unlinkability Attack The adversary knows if it interacted with id A or id B . 22

  20. Goal Goal Design a modified version of AKA, called AKA + , that: • Provides some form of unlinkability . 23

  21. Goal Goal Design a modified version of AKA, called AKA + , that: • Provides some form of unlinkability . • Satisfies the design and efficiency constraints of 5G-AKA. 23

  22. Goal Goal Design a modified version of AKA, called AKA + , that: • Provides some form of unlinkability . • Satisfies the design and efficiency constraints of 5G-AKA. • Is proved secure . 23

  23. Theorem Theorem The AKA + protocol is σ -unlinkable for an arbitrary number of agents and sessions when: • The asymmetric encryption { _ } _ is ind-cca 1 . • H and H r (resp. Mac 1 – Mac 5 ) are jointly prf . 24

  24. Theorem Theorem The AKA + protocol is σ -unlinkable for an arbitrary number of agents and sessions when: • The asymmetric encryption { _ } _ is ind-cca 1 . • H and H r (resp. Mac 1 – Mac 5 ) are jointly prf . Remarks • Computational security. • AKA + is stateful , and uses the ⊕ operator . • The proof is technical (around 80 pages). 24

  25. The Bana-Comon Model

  26. Example of a Protocol A Simple Handshake 1 : A − → B : n A 2 : B − → A : {� B , n A �} pk ( A ) 25

  27. Bana-Comon Model: Messages Messages We use terms to model protocol messages , built upon: • Names N , e.g. n A , n B , for random samplings. • Function symbols F , e.g.: A , B , � _ , _ � , π i ( _ ) , { _ } _ , pk ( _ ) , sk ( _ ) if_then_else_ , eq ( _ , _ ) 26

  28. Bana-Comon Model: Messages Messages We use terms to model protocol messages , built upon: • Names N , e.g. n A , n B , for random samplings. • Function symbols F , e.g.: A , B , � _ , _ � , π i ( _ ) , { _ } _ , pk ( _ ) , sk ( _ ) if_then_else_ , eq ( _ , _ ) Examples � n A , A � {� B , n A �} pk ( A ) π 1 ( n B ) 26

  29. Bana-Comon Model: Messages A Simple Handshake 1 : A − → B : n A {� B , n A �} pk ( A ) 2 : B − → A : How do we represent the adversary’s inputs? 27

  30. Bana-Comon Model: Messages A Simple Handshake 1 : A − → B : n A {� B , n A �} pk ( A ) 2 : B − → A : How do we represent the adversary’s inputs? • We use an adversarial functions symbol g . g ’s input is the current knowledge of the adversary. 27

  31. Bana-Comon Model: Messages A Simple Handshake 1 : A − → B : n A {� B , n A �} pk ( A ) 2 : B − → A : How do we represent the adversary’s inputs? • We use an adversarial functions symbol g . g ’s input is the current knowledge of the adversary. • Intuitively, g can be any PPTM. 27

  32. Bana-Comon Model: Messages A Simple Handshake 1 : A − → B : n A 2 : B − → A {� B , n A �} pk ( A ) : Term Representing the Messages t 1 = n A 28

  33. Bana-Comon Model: Messages A Simple Handshake 1 : A − → B : n A 2 : B − → A {� B , n A �} pk ( A ) : Term Representing the Messages t 1 = n A �� B , g ( t 1 ) �� t 2 = pk ( A ) 28

  34. Bana-Comon Model: Security Properties Formula Formulas are built using a predicate ∼ of arbitrary arity. 29

  35. Bana-Comon Model: Security Properties Formula Formulas are built using a predicate ∼ of arbitrary arity. Example ∼ if g () then n else n ′ n 29

  36. Example of a Proof n ∼ if g () then n else n ′ t ∼ u s ∼ u R b , u ∼ b ′ , u ′ b , v ∼ b ′ , v ′ if b then u else v ∼ if b ′ then u ′ else v ′ CS when s = R t ( x = R if b then x else x ) 30

  37. Example of a Proof n ∼ if g () then n else n ′ t ∼ u s ∼ u R b , u ∼ b ′ , u ′ b , v ∼ b ′ , v ′ if b then u else v ∼ if b ′ then u ′ else v ′ CS when s = R t ( x = R if b then x else x ) 30

  38. Example of a Proof if g () then n else n ∼ if g () then n else n ′ R n ∼ if g () then n else n ′ t ∼ u s ∼ u R b , u ∼ b ′ , u ′ b , v ∼ b ′ , v ′ if b then u else v ∼ if b ′ then u ′ else v ′ CS when s = R t ( x = R if b then x else x ) 30

  39. Example of a Proof if g () then n else n ∼ if g () then n else n ′ R n ∼ if g () then n else n ′ t ∼ u s ∼ u R b , u ∼ b ′ , u ′ b , v ∼ b ′ , v ′ if b then u else v ∼ if b ′ then u ′ else v ′ CS when s = R t ( x = R if b then x else x ) 30

  40. Example of a Proof g () , n ∼ g () , n g () , n ∼ g () , n ′ if g () then n else n ∼ if g () then n else n ′ CS R n ∼ if g () then n else n ′ t ∼ u s ∼ u R b , u ∼ b ′ , u ′ b , v ∼ b ′ , v ′ if b then u else v ∼ if b ′ then u ′ else v ′ CS when s = R t ( x = R if b then x else x ) 30

  41. Example of a Proof g () , n ∼ g () , n Refl g () , n ∼ g () , n ′ Refl if g () then n else n ∼ if g () then n else n ′ CS R n ∼ if g () then n else n ′ t ∼ u s ∼ u R b , u ∼ b ′ , u ′ b , v ∼ b ′ , v ′ if b then u else v ∼ if b ′ then u ′ else v ′ CS when s = R t ( x = R if b then x else x ) 30

  42. Decision Result

  43. Decidability Decision Problem: Derivability Input: A ground formula � u ∼ � v . Question: Is there a derivation of � u ∼ � v using Ax? 31

  44. Decidability Decision Problem: Derivability Input: A ground formula � u ∼ � v . Question: Is there a derivation of � u ∼ � v using Ax? or equivalently Decision Problem: Game Transformations Input: A game � u ∼ � v . Question: Is there a sequence of cryptographic game transformations in Ax showing that � u ∼ � v is secure? 31

  45. The Set of Axioms Ax u ∼ t u ∼ s R b , u ∼ b ′ , u ′ b , v ∼ b ′ , v ′ if b then u else v ∼ if b ′ then u ′ else v ′ CS when s = R t x 1 , . . . , x n ∼ y 1 , . . . , y n x ∼ y x , x ∼ y , y Dup f ( x 1 , . . . , x n ) ∼ f ( y 1 , . . . , y n ) FA CCA1 when . . . u , { s } pk ( n ) ∼ � u , { t } pk ( n ) � 32

  46. The Set of Axioms Ax u ∼ t u ∼ s R b , u ∼ b ′ , u ′ b , v ∼ b ′ , v ′ if b then u else v ∼ if b ′ then u ′ else v ′ CS when s = R t x 1 , . . . , x n ∼ y 1 , . . . , y n x ∼ y x , x ∼ y , y Dup f ( x 1 , . . . , x n ) ∼ f ( y 1 , . . . , y n ) FA CCA1 when . . . u , { s } pk ( n ) ∼ � u , { t } pk ( n ) � 32

  47. The Set of Axioms Ax u ∼ t u ∼ s R b , u ∼ b ′ , u ′ b , v ∼ b ′ , v ′ if b then u else v ∼ if b ′ then u ′ else v ′ CS when s = R t x 1 , . . . , x n ∼ y 1 , . . . , y n x ∼ y x , x ∼ y , y Dup f ( x 1 , . . . , x n ) ∼ f ( y 1 , . . . , y n ) FA CCA1 when . . . u , { s } pk ( n ) ∼ � u , { t } pk ( n ) � 32

  48. The Set of Axioms Ax u ∼ t u ∼ s R b , u ∼ b ′ , u ′ b , v ∼ b ′ , v ′ if b then u else v ∼ if b ′ then u ′ else v ′ CS when s = R t x 1 , . . . , x n ∼ y 1 , . . . , y n x ∼ y x , x ∼ y , y Dup f ( x 1 , . . . , x n ) ∼ f ( y 1 , . . . , y n ) FA CCA1 when . . . u , { s } pk ( n ) ∼ � u , { t } pk ( n ) � 32

  49. Equational Theory Equational Theory: Protocol Functions • π i ( � x 1 , x 2 � ) = x i i ∈ { 1 , 2 } • dec ( { x } pk ( y ) , sk ( y )) = x 33

  50. Equational Theory Equational Theory: Protocol Functions If Homomorphism: f ( � u , if b then x else y , � v ) = if b then f ( � u , x , � v ) else f ( � u , y , � v ) if ( if b then a else c ) then x else y = if b then ( if a then x else y ) else ( if c then x else y ) If Rewriting: if b then x else x = x if b then ( if b then x else y ) else z = if b then x else z if b then x else ( if b then y else z ) = if b then x else z If Re-Ordering: if b then ( if a then x else y ) else z = if a then ( if b then x else z ) else ( if b then y else z ) if b then x else ( if a then y else z ) = if a then ( if b then x else y ) else ( if b then x else z ) 34

  51. Equational Theory Equational Theory: Protocol Functions If Homomorphism: f ( � u , if b then x else y , � v ) = if b then f ( � u , x , � v ) else f ( � u , y , � v ) if ( if b then a else c ) then x else y = if b then ( if a then x else y ) else ( if c then x else y ) If Rewriting: if b then x else x = x if b then ( if b then x else y ) else z = if b then x else z if b then x else ( if b then y else z ) = if b then x else z If Re-Ordering: if b then ( if a then x else y ) else z = if a then ( if b then x else z ) else ( if b then y else z ) if b then x else ( if a then y else z ) = if a then ( if b then x else y ) else ( if b then x else z ) 34

  52. Strategy Deconstructing Rules Rules CCA1, CS , FA and Dup are decreasing transformations. u ∼ t u ∼ s R b , u ∼ b ′ , u ′ b , v ∼ b ′ , v ′ if b then u else v ∼ if b ′ then u ′ else v ′ CS when s = R t x 1 , . . . , x n ∼ y 1 , . . . , y n x ∼ y f ( x 1 , . . . , x n ) ∼ f ( y 1 , . . . , y n ) FA x , x ∼ y , y Dup CCA1 when . . . � u , { s } pk ( n ) ∼ � u , { t } pk ( n ) 35

  53. Strategy Deconstructing Rules Rules CCA1, CS , FA and Dup are decreasing transformations. u ∼ t u ∼ s R b , u ∼ b ′ , u ′ b , v ∼ b ′ , v ′ if b then u else v ∼ if b ′ then u ′ else v ′ CS when s = R t x 1 , . . . , x n ∼ y 1 , . . . , y n x ∼ y f ( x 1 , . . . , x n ) ∼ f ( y 1 , . . . , y n ) FA x , x ∼ y , y Dup CCA1 when . . . � u , { s } pk ( n ) ∼ � u , { t } pk ( n ) 35

  54. Strategy Deconstructing Rules Rules CCA1, CS , FA and Dup are decreasing transformations. u ∼ t u ∼ s R b , u ∼ b ′ , u ′ b , v ∼ b ′ , v ′ if b then u else v ∼ if b ′ then u ′ else v ′ CS when s = R t x 1 , . . . , x n ∼ y 1 , . . . , y n x ∼ y f ( x 1 , . . . , x n ) ∼ f ( y 1 , . . . , y n ) FA x , x ∼ y , y Dup CCA1 when . . . � u , { s } pk ( n ) ∼ � u , { t } pk ( n ) Problem The rule R is not decreasing! 35

  55. Difficulties If Introduction: x → if b then x else x g () , n ∼ g () , n Refl g () , n ∼ g () , n ′ Refl if g () then n else n ∼ if g () then n else n ′ CS R n ∼ if g () then n else n ′ 36

  56. Difficulties If Introduction: x → if b then x else x g () , n ∼ g () , n Refl g () , n ∼ g () , n ′ Refl if g () then n else n ∼ if g () then n else n ′ CS R n ∼ if g () then n else n ′ Bounded Introduction The introduced conditional g () is bounded by the other side. 36

  57. Decision Procedure Proof Cut: Introduction of a Conditional on Both Sides a , s ∼ b , t a , s ∼ b , t if a then s else s ∼ if b then t else t CS R s ∼ t 37

  58. Decision Procedure Proof Cut: Introduction of a Conditional on Both Sides a , s ∼ b , t a , s ∼ b , t if a then s else s ∼ if b then t else t CS R s ∼ t Lemma We can extract from a , s ∼ b , t a (smaller) proof of s ∼ t . 37

Recommend


More recommend