symbolic verification of distance bounding protocols
play

Symbolic verification of distance bounding protocols Stphanie - PowerPoint PPT Presentation

Symbolic verification of distance bounding protocols Stphanie Delaune Univ Rennes, CNRS, IRISA, France joint work with Alexandre Debant and Cyrille Wiedling 1/29 Security protocols everywhere ! Cryptographic protocols small


  1. Symbolic verification of distance bounding protocols Stéphanie Delaune Univ Rennes, CNRS, IRISA, France − → joint work with Alexandre Debant and Cyrille Wiedling 1/29

  2. Security protocols everywhere ! Cryptographic protocols ◮ small programs designed to secure communication e.g. secrecy, authentication, anonymity, . . . ◮ use cryptographic primitives e.g. encryption, signature, . . . . . . 2/29

  3. Security protocols everywhere ! Cryptographic protocols ◮ small programs designed to secure communication e.g. secrecy, authentication, anonymity, . . . ◮ use cryptographic primitives e.g. encryption, signature, . . . . . . The network is unsecure! Communications take place over a public network like the Internet. 2/29

  4. Verifying security protocols: a difficult task ◮ testing their resilience against well-known attacks is not sufficient; ◮ manual security analysis is error-prone. − → Caution: Do not underestimate your opponents! privacy issue The register - Jan. 2010 authentication issue Independent - Feb. 2016 3/29

  5. A sucessful approach: formal symbolic verification − → provides a rigorous framework and automatic tools to analyse security protocols and find their logical flaws. 4/29

  6. A sucessful approach: formal symbolic verification − → provides a rigorous framework and automatic tools to analyse security protocols and find their logical flaws. Some success stories ◮ 2011: Authentication flaw in the Single Sign-On protocol used e.g. in GMail − → Armando et al. using Avantssar ◮ 2018: TLS 1.3 formally verified before its deployment − → project miTLS : https://www.mitls.org 4/29

  7. Contactless systems everywhere ! − → security property: authentication with physical proximity 5/29

  8. Contactless systems everywhere ! − → security property: authentication with physical proximity Brands and Chaum distance bounding protocol (1993) P → V : commit ( m , k ) V → P : chall 2 × dist ( V , P ) ≤ ∆ t × c P → V : T , chall ⊕ m P → V : k , Sign P ( m , chall ⊕ m ) 5/29

  9. Contactless systems everywhere ! − → security property: authentication with physical proximity Brands and Chaum distance bounding protocol (1993) P → V : commit ( m , k ) V → P : chall 2 × dist ( V , P ) ≤ ∆ t × c P → V : T , chall ⊕ m P → V : k , Sign P ( m , chall ⊕ m ) − → We need a framework that allows one to model transmission delay, location of participants, and timing constraints. 5/29

  10. Some related works 1993 : 1 st DB protocol proposed by Brands and Chaum − → since then, many protocols + “formal” security analysis usually done in the computational model 2007-2016: analysis of DB protocols in the symbolic model ◮ Basin et al. - Isabelle/HOL (CSF’09) ◮ Cremers et al. distance-hijacking attack (S&P’12) − → lack of automation to support the security analysis. 2017-today: A lot of progress has been done ! ◮ Tamarin-based framework: Jorge’s thesis (more this afternoon) ◮ ProVerif-based framework: Chothia et al. (USENIX’18) & PhD thesis of Alexandre Debant (more in one year !) 6/29

  11. Contributions A flavour of the PhD thesis of Alexandre Debant ! Our results: 1. A symbolic model suitable to analyse DB protocols together with some reduction results to automate the security analysis − → for distance fraud (including distance hijacking), mafia fraud, and also terrorist fraud 2. Integration in the ProVerif verification tool and many case studies − → Results published at FST&TCS 2018 and currently under submission at ESORICS 2019 (terrorist fraud). 7/29

  12. Outline A symbolic model with time and location Reduction results Case studies relying on Proverif 8/29

  13. Outline A symbolic model with time and location Reduction results Case studies relying on Proverif 9/29

  14. Messages as terms Terms are built from names N , and function symbols in Σ . Example Σ ex = { senc / 2 , sdec / 2 , kdf / 3 , shk / 2 , ok / 0 , eq / 2 , ans / 3 , ⊕ / 2 , 0 / 0 } . Properties of the cryptographic primitives are reflected using an equational theory and some rewriting rules: Example ( x ⊕ y ) ⊕ z = x ⊕ ( y ⊕ z ) x ⊕ 0 = x x ⊕ y ) = y ⊕ x x ⊕ x = 0 sdec ( senc ( x , y ) , y ) → x eq ( x , x ) → ok 10/29

  15. Messages as terms Terms are built from names N , and function symbols in Σ . Example Σ ex = { senc / 2 , sdec / 2 , kdf / 3 , shk / 2 , ok / 0 , eq / 2 , ans / 3 , ⊕ / 2 , 0 / 0 } . Properties of the cryptographic primitives are reflected using an equational theory and some rewriting rules: Example ( x ⊕ y ) ⊕ z = x ⊕ ( y ⊕ z ) x ⊕ 0 = x x ⊕ y ) = y ⊕ x x ⊕ x = 0 sdec ( senc ( x , y ) , y ) → x eq ( x , x ) → ok 10/29

  16. Example: Modified Hancke and Kuhn (2005) Verifier Prover k k nonce N V nonce N P N V N P start clock c i � kdf ( k , N V , N P ) if c i = 0 r i = kdf ( k , N V , N P ) ⊕ k if c i = 1 r i stop clock 11/29

  17. Protocols as processes P , Q := 0 null process | in ( x ) . P input | out ( u ) . P output | let x = v in P computation and test | new n . P fresh name generation | reset . P reset of the local clock | in < t ( x ) . P guarded input Example: Verifier role parametrized by z 0 and z 1 . V ( z 0 , z 1 ) := new n V . out ( n V ) . in ( x N ) . reset . new c . out ( c ) . in < 2 × t 0 ( x rep ) . let x 0 = kdf ( shk ( z 1 , z 0 ) , n V , x N ) in let x 1 = shk ( z 1 , z 0 ) ⊕ x 0 in let x ok = eq ( x rep , ans ( c , x 0 , x 1 )) in end ( z 0 , z 1 ) − → the rapid phase is abstracted by a single challenge/response exchange, and operations performed at the bit level are abstracted too. 12/29

  18. Protocols as processes P , Q := 0 null process | in ( x ) . P input | out ( u ) . P output | let x = v in P computation and test | new n . P fresh name generation | reset . P reset of the local clock | in < t ( x ) . P guarded input Example: Verifier role parametrized by z 0 and z 1 . V ( z 0 , z 1 ) := new n V . out ( n V ) . in ( x N ) . reset . new c . out ( c ) . in < 2 × t 0 ( x rep ) . let x 0 = kdf ( shk ( z 1 , z 0 ) , n V , x N ) in let x 1 = shk ( z 1 , z 0 ) ⊕ x 0 in let x ok = eq ( x rep , ans ( c , x 0 , x 1 )) in end ( z 0 , z 1 ) − → the rapid phase is abstracted by a single challenge/response exchange, and operations performed at the bit level are abstracted too. 12/29

  19. Topology and Configuration A topology is a tuple T 0 = ( A 0 , M 0 , Loc 0 ) where: ◮ A 0 the agents; ◮ M 0 the subset of malicious agents; ◮ Loc 0 : A 0 → R 3 defines the location of each agent. We define: Dist T 0 ( a , b ) = � Loc 0 ( a ) − Loc 0 ( b ) � for any a , b ∈ A 0 c 0 − → only the distance between nodes matters ! Example: i t 0 p v 13/29

  20. Topology and Configuration A topology is a tuple T 0 = ( A 0 , M 0 , Loc 0 ) where: ◮ A 0 the agents; ◮ M 0 the subset of malicious agents; ◮ Loc 0 : A 0 → R 3 defines the location of each agent. We define: Dist T 0 ( a , b ) = � Loc 0 ( a ) − Loc 0 ( b ) � for any a , b ∈ A 0 c 0 − → only the distance between nodes matters ! A configuration is a tuple ( P ; Φ; t ) where: ◮ P is a multiset of extended process ⌊P⌋ t a a with a ∈ A , t a ∈ R + ; a 1 , t 1 a n , t n ◮ Φ = { w 1 − − − → u 1 , . . . , w n − − − → u n } is a a frame ; ◮ t ∈ R + is the global time. 13/29

  21. Semantics − → transition system over configurations, parametrised by a topology T 0 ◮ ( P ; Φ; t ) − → T 0 ( Shift ( P , δ ); Φ; t + δ ) with δ ≥ 0; a , out ( u ) a , t ◮ ( ⌊ out ( u ) . P ⌋ t ′ → T 0 ( ⌊ P ⌋ t ′ a ) ⊎P ; Φ; t ) − − − − − a ⊎P ; Φ ⊎ w − → u ; t ) with w ∈ W fresh ◮ . . . a , in ( v ) ◮ ( ⌊ in < t g ( x ) . P ⌋ t ′ → T 0 ( ⌊ P { x �→ v }⌋ t ′ a ⊎ P ; Φ; t ) − − − − a ⊎ P ; Φ; t ) “An agent is responsible of the corresponding output v ”, i.e. There exist an agent b , a time t b and a recipe R such that: (i) t b ≤ t − Dist T 0 ( b , a ) , (ii) R Φ ↓ = v , and (iii) all w ∈ vars ( R ) are available to b at time t b . Moreover, | R | > 1 only if b is malicious, i.e. b ∈ M 0 , and t ′ < t g . 14/29

  22. Semantics − → transition system over configurations, parametrised by a topology T 0 ◮ ( P ; Φ; t ) − → T 0 ( Shift ( P , δ ); Φ; t + δ ) with δ ≥ 0; a , out ( u ) a , t ◮ ( ⌊ out ( u ) . P ⌋ t ′ → T 0 ( ⌊ P ⌋ t ′ a ) ⊎P ; Φ; t ) − − − − − a ⊎P ; Φ ⊎ w − → u ; t ) with w ∈ W fresh ◮ . . . a , in ( v ) ◮ ( ⌊ in < t g ( x ) . P ⌋ t ′ → T 0 ( ⌊ P { x �→ v }⌋ t ′ a ⊎ P ; Φ; t ) − − − − a ⊎ P ; Φ; t ) “An agent is responsible of the corresponding output v ”, i.e. There exist an agent b , a time t b and a recipe R such that: (i) t b ≤ t − Dist T 0 ( b , a ) , (ii) R Φ ↓ = v , and (iii) all w ∈ vars ( R ) are available to b at time t b . Moreover, | R | > 1 only if b is malicious, i.e. b ∈ M 0 , and t ′ < t g . 14/29

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend