relating strands and multiset rewriting for security
play

Relating Strands and Multiset Rewriting For Security Protocol - PowerPoint PPT Presentation

Relating Strands and Multiset Rewriting For Security Protocol Analysis Iliano Cervesato Nancy Durgin, Patrick Lincoln John Mitchell, Andre Scedrov July 3 rd , 2000 CSFW-13 Cambridge, UK Representing Security Protocols Several recent


  1. Relating Strands and Multiset Rewriting For Security Protocol Analysis Iliano Cervesato Nancy Durgin, Patrick Lincoln John Mitchell, Andre Scedrov July 3 rd , 2000 CSFW-13 Cambridge, UK

  2. Representing Security Protocols Several recent proposal based on the Dolev-Yao model:  Strand spaces  Multiset rewriting  Spi-calculus, … How are they related? Relating Strands and Multiset Rewriting for Security Protocols

  3. Roadmap MSR Strands Restricted MSR Dynamic Strands Canonical MSR Decorated Strands Relating Strands and Multiset Rewriting for Security Protocols

  4. Running Example Needham-Schroeder Protocol , A} KB A → B: {N A B → A: {N A , N B } KA A → B: {N B } KB Relating Strands and Multiset Rewriting for Security Protocols

  5. MSR Executable specification language • Adapts multiset rewriting with ∃ •  Solid logical foundation  Ties with linear logic and process algebra Flexible and fully precise • Follows the Dolev-Yao model • Relating Strands and Multiset Rewriting for Security Protocols

  6. Multiset rewriting … Multiset: set with repetitions allowed • Rewrite rule: • r: N 1 N 2 → Application • r M 1 M 2 → r M’, N 1 M’, N 2 → Multi-step transition, reachability • Relating Strands and Multiset Rewriting for Security Protocols

  7. … with existentials msets of 1 st -order atomic formulas • Rules: • r: F( x ) → ∃ n . G( x , n ) Application • r M 1 M 2 → r M’, F( t ) M’, G( t , c ) → c not in M 1 Relating Strands and Multiset Rewriting for Security Protocols

  8. MSR predicates N(m) Network messages • I(m) Intruder info. • A i (t 1 ,…,t ni ) Role states • Pr , PrvK , PubK , … Persistent info. • Relating Strands and Multiset Rewriting for Security Protocols

  9. Protocol Theories Initialization rules • For each role •  1 role generation rule  n execution rules Relating Strands and Multiset Rewriting for Security Protocols

  10. MSR Restricted MSR Assume initialization has already • happened Initial info: Π • ? No initialization in strands Relating Strands and Multiset Rewriting for Security Protocols

  11. NS: MSR rules for Alice (A) (A), (A) π A0 → A 0 π A0 (A), (B) → ∃ N A . (A,B,N A ), N ({N A ,A} KB ), π A1 (B) π A1 A 0 A 1 (A,B, N A ), N ({N A ,N B } KA ) → A 2 (A,B,N A ,N B ) A 1 (A,B,N A ,N B ) (A,B,N A ,N B ), N ({N B } KB ) → A 3 A 2 where π A0 (A) = Pr (A), PrvK (A,K A -1 ) π A1 (B) = Pr (B), PubK (B,K B ) Relating Strands and Multiset Rewriting for Security Protocols

  12. NS: MSR rules for Bob (B) (B), (B) π B0 → B 0 π B0 (A), (A), N ({N A ,A} KB ) → B 1 (A,B,N A ), (A) π B1 π B1 B 0 (A,B, N A ) → ∃ N B . (A,B,N A ,N B ), N ({N A ,N B } KA ) B 1 B 2 (A,B,N A ,N B ), N ({N B } KB ) → B 3 (A,B,N A ,N B ) B 2 where π B0 (B) = Pr (B), PrvK (B,K B -1 ) π B1 (A) = Pr (A), PubK (A,K A ) Relating Strands and Multiset Rewriting for Security Protocols

  13. MSR Intruder Implement the Dolev-Yao model •  Decryption/Encryption  Decomposition/composition  Nonce generation  … Expressed within the language • Relating Strands and Multiset Rewriting for Security Protocols

  14. Strands Graphical representation of execution • Designed for after-the-fact analysis • Very simple • Follow the Dolev-Yao model • Related to •  Lamport’s causality  Mazurkiewicz’s traces Relating Strands and Multiset Rewriting for Security Protocols

  15. NS: A Bundle {N A , A} KB {N A , A} KB {N A , N B } KA {N A , N B } KA {N B } KB Relating Strands and Multiset Rewriting for Security Protocols

  16. Penetrator Strands Implement the Dolev-Yao model •  Decryption/Encryption  Decomposition/composition  Nonce generation  … Expressed within the language • Relating Strands and Multiset Rewriting for Security Protocols

  17. Strands Dyn. Strands ? Support executable specifications Specification language •  Parametric strands Execution capabilities •  Configurations  Transitions Relating Strands and Multiset Rewriting for Security Protocols

  18. Parametric strands Strands are instances of roles • Parameters: instantiable information • Constraints: •  Nonces  Persistent info. Relating Strands and Multiset Rewriting for Security Protocols

  19. NS: Parametric Strand for Alice Alice (A,B,N A ,N B ) : {N A , A} KB N A Fresh, π A (A,B) {N A , N B } KA where {N B } KB π (A,B) = Pr (A), PrvK (A,K A -1 ), Pr (B), PubK (B,K B ) Relating Strands and Multiset Rewriting for Security Protocols

  20. NS: Parametric Strand for Bob Bob (A,B,N A ,N B ) : {N A , A} KB N B Fresh, π B (A,B) {N A , N B } KA where {N B } KB π (A,B) = Pr (B), PrvK (B,K B -1 ), Pr (A), PubK (A,K A ) Relating Strands and Multiset Rewriting for Security Protocols

  21. Configurations ? Capture possible next actions Extension : bundle + remaining actions • Configuration : bundle + extension • Fringe : crossing arrows • = + + Configuration = bundle + extension + fringe Relating Strands and Multiset Rewriting for Security Protocols

  22. NS: Configuration {N A , A} KB {N A , A} KB {N C , C} KD {N A , N B } KA {N A , N B } KA {N C , N D } KC {N B } KB {N B } KB {N D } KD Relating Strands and Multiset Rewriting for Security Protocols

  23. •  …  • Strand Transitions Fresh ξ •  …  • •  …  • Instantiate ξ ξθ • • Send • • • • + - + - • • Receive • • • • + - + - Relating Strands and Multiset Rewriting for Security Protocols

  24. Bundles vs. Transition Sequences 1 bundle  O(n!) transition sequences • 1 transition sequence  1 bundle • Bundles • represent execution more compactly Relating Strands and Multiset Rewriting for Security Protocols

  25. Restr. MSR Can. MSR Merge role gen. with 1 st exec. rule • Choose nonces upfront • Guess persistent info. upfront • Conversion to canonical form preserves reachability Relating Strands and Multiset Rewriting for Security Protocols

  26. NS: Canonical MSR rules for Alice (A,B) → ∃ N A . (A,B,N A ), N ({N A ,A} KB ), π A (A,B) π A A 1 (A,B, N A ), N ({N A ,N B } KA ) → A 2 (A,B,N A ,N B ) A 1 (A,B,N A ,N B ) (A,B,N A ,N B ), N ({N B } KB ) → A 3 A 2 where π A (A,B) = Pr (A), PrvK (A,K A -1 ) Pr (B), PubK (B,K B ) Relating Strands and Multiset Rewriting for Security Protocols

  27. Can. MSR Dyn. Strands Rules  nodes • Role state predicates  arrows • Nonces, persistent info. constraints  • Configuration ⇐ state • Reachable states  Reachable configurations Relating Strands and Multiset Rewriting for Security Protocols

  28. NS: MSR Strands (1) Alice (A,B,N A ,N B ) : (A,B) π A N A Fresh, (A,B) π A ∃ N A . → (A,B,N A ), A 1 {N A , A} KB N ({N A ,A} KB ), (A,B) π A … where π (A,B) = Pr (A), PrvK (A,K A -1 ), Pr (B), PubK (B,K B ) Relating Strands and Multiset Rewriting for Security Protocols

  29. NS: MSR Strands (2) {N A , A} KB (A,B, N A ), A 1 N ({N A ,N B } KA ) {N A , N B } KA → (A,B,N A ,N B ) A 2 … Relating Strands and Multiset Rewriting for Security Protocols

  30. NS: MSR Strands (3) {N A , A} KB (A,B,N A ,N B ) A 2 → {N A , N B } KA (A,B,N A ,N B ), A 3 N ({N B } KB ) {N B } KB Relating Strands and Multiset Rewriting for Security Protocols

  31. Dyn. Strands Dec. Strands (1) Add initial ( ) and final node ( ⊥ ) • ⊥ Add labels A i (t 1 ,…,t ni ) to arrows • t 1 ,…,t ni from  Constraints  Arguments of A i-1 Relating Strands and Multiset Rewriting for Security Protocols

  32. Dyn. Strands Dec. Strands (2) Transitions • ⊥  • … • Fresh ξ ⊥ ⊥  • … •  • … • Instantiate ξθ Decoration preserves reachability Relating Strands and Multiset Rewriting for Security Protocols

  33. NS: Decorated Strand for Alice ⊥ Alice (A,B,N A ,N B ) : (A) A 0 N A Fresh, π A (A,B) {N A , A} KB (A,B,N A ) A 1 {N A , N B } KA (A,B,N A ,N B ) A 2 {N B } KB where (A,B,N A ,N B ) π (A,B) = Pr (A), PrvK (A,K A -1 ), A 3 Pr (B), PubK (B,K B ) ⊥ Relating Strands and Multiset Rewriting for Security Protocols

  34. Dec. Strands Restr. MSR Labels  role state predicates • Events  network messages • Constraints nonces, persistent info.  • State ⇐ fringe • Reachable configurations  Reachable states Relating Strands and Multiset Rewriting for Security Protocols

  35. NS: Strands MSR (1) Alice (A,B,N A ,N B ) N A Fresh, (A,B) π A where π (A,B) = Pr (A), PrvK (A,K A -1 ), Pr (B), PubK (B,K B ) ⊥ (A) A 0 (A) (A), (A) π A0 → A 0 π A0 … where π A0 (A) = Pr (A), PrvK (A,K A -1 ) Relating Strands and Multiset Rewriting for Security Protocols

  36. NS: Strands MSR (2) Alice (A,B,N A ,N B ) N A Fresh, π A (A,B) where π (A,B) = Pr (A), PrvK (A,K A -1 ), Pr (B), PubK (B,K B ) … (A), (B) π A1 A 0 (A) A 0 → ∃ N A . (A,B,N A ), {N A , A} KB A 1 N ({N A ,A} KB ), π A1 (B) (A,B,N A ) A 1 where π A1 (B) = Pr (B), PubK (B,K B ) … Relating Strands and Multiset Rewriting for Security Protocols

Recommend


More recommend