MSR 3.0: The Logical Meeting Point of Multiset Rewriting and Process Algebra MSR 3: Iliano Cervesato iliano@itd.nrl.navy.mil ITT Industries, inc @ NRL Washington, DC One Year Later http://www.cs.stanford.edu/~iliano CS Department, UMBC February 27-28, 2003 Iliano Cervesato iliano@itd.nrl.navy.mil ITT Industries, inc @ NRL Washington, DC http://theory.stanford.edu/~iliano Protocol eXchange Seminar, UMBC May 27-28, 2004
A → B: {n A , A} kB B A: {n A , n B } kA → NSPK in MSR 3 A → B: {n B } kB MSR 2 spec. princ . ∀ A: { ∃ L : mset . princ B:princ.pubK B × nonce → × Interpretation : pubK B . ∀ B: princ. ∀ k B of L • Rule invocation → ∃ n A : nonce . Implementation net ({n A , A} kB ), L (A, B, k B , n A ) detail Control flow ∀ B: princ. ∀ k B : pubK B. Local state of ∀ k A : pubK A. ∀ k A ': prvK k A . role ∀ n A : nonce. ∀ n B : nonce. net ({n A , n B } kA ), L (A, B, k B , n A ) Explicit view Important for net ({n B } kB ) → DOS } MSR 3: One Year Later 1/28
A → B: {n A , A} kB B A: {n A , n B } kA → NSPK in MSR 3 A → B: {n B } kB Not an MSR 2 spec. ∀ A:princ. ∀ B: princ. ∀ k B : pubK B. • → ∃ n A : nonce . net ({n A , A} kB ), ( ∀ k A : nonce . : pubK A. ∀ k A ': prvK k A . ∀ n B net ({n A , n B } kA ) → net ({n B } kB )) Succinct State is implicit • • Continuation-passing style Abstract • Rule asserts what to do next Lexical control flow MSR 3: One Year Later 2/28
A → B: {n A , A} kB B A: {n A , n B } kA → Looks Familiar? A → B: {n B } kB Process calculus Parametric strand ∀ A:princ. Alice (A,B,N A ,N B ) : ∀ B: princ. ∀ k B : pubK B. N A Fresh, π A (A,B) : nonce . ∀ k A : pubK A. ∀ k A ': prvK k A . ∀ n B ν n A : nonce . {N A , A} KB net ({n A , A} kB ) . net <{n A , n B } kA > . net ({n B } kB ) . 0 {N A , N B } KA {N B } KB MSR 3: One Year Later 3/28
What is MSR 3? A new language for security protocols Supports • State transition specs Neutral paradigm Conservative over MSR 2 Process algebraic specs Rewriting re-interpretation of logic • Rich composable set of connectives Universal connector • MSR 3: One Year Later 4/28
More than the Sum of its Parts Process- and transition-based specs. in the same language Choose the paradigm • User’s preference Highlight characteristics of interest Support various verification techniques (FW) Mix and match styles • Within a spec. Within a protocol Within a role MSR 3: One Year Later 5/28
What is in MSR 3 ? Security-relevant signature • From Network MSR 1 Encryption, … Typing infrastructure • From Dependent types MSR 2 Subsorting Data Access Specification (DAS) • Module system • From MSR 2 implementation Equations • MSR 3: One Year Later 6/28
ω -Multisets Specification language for concurrent systems Crossroad of • State transition languages Petri nets, multiset rewriting, … Process calculi CCS, π -calculus, … (Linear) logic Benefits • Analysis methods from logic and type theory Common ground for comparing Multiset rewriting Process algebra Allows multiple styles of specification Unified approach MSR 3: One Year Later 7/28
Syntax A ::= a atomic object | 1 empty [ • ] | A ⊗ B formation [A, B] | A ⎯ο B rewrite [A → B] | T no-op | A & B choice [A || B] | ∀ x. A instantiation | ∃ x. A generation | ! A replication Generalizes FO multiset rewriting (MSR 1-2) ∀ x 1 …x n . a( x ) → ∃ y 1 …y k . b( x , y ) MSR 3: One Year Later 8/28
State and Transitions States • ; Γ ; Δ Σ ; Δ Σ is a list Σ and Δ are Γ Constructor: “,” commutative monoids Empty: “ • ” Transitions • Σ ; Γ ; Δ Σ ’; Γ ’; Δ ’ Σ ; Γ ; Δ Σ ’; Δ ’ * for reflexive and transitive closure * MSR 3: One Year Later 9/28
Transition Semantics ; Γ ; ( Δ , A, A ⎯ο B) ; Γ ; ( Δ , B) ⎯ο Σ Σ T (no rule) & ; Γ ; ( Δ , A 1 & A 2 ) ; Γ ; ( Δ , A i ) Σ Σ ; Γ ; ( Δ , ∀ x. A) ; Γ ; ( Δ , [t/x] A ) ∀ Σ Σ if Σ |- t ; Γ ; ( Δ , ∃ x. A) ( Σ , x) ; Γ ; ( Δ , A) ∃ Σ ! ; Γ ; ( Δ , !A) ; ( Γ , A) ; Δ Σ Σ ; ( Γ , A) ; Δ ; ( Γ , A) ; ( Δ , A) Σ Σ Σ ; ; Σ ; * Γ Δ Δ Σ ; ; Σ ’’ ; Δ ’’ * Γ Δ if Σ ; ; Σ ’ ; Γ ’ ; Δ ’ and Σ ’ ; Γ ’ ; Δ ’ Σ ’’ ; Δ ’’ * Γ Δ MSR 3: One Year Later 10/28
Linear Logic Formulas • A, B ::= a | 1 | A B | A ⎯ο B | ! A ⊗ | T | A & B | ∀ x. A | ∃ x. A LV sequents • Constructor: “,” Empty: “ • ” ; Δ --> Σ C Γ Goal Unrestricted formula context Linear Signature context MSR 3: One Year Later 11/28
Logical Derivations Proof of C from Δ and Γ Γ ’’’; C --> Σ ’’’ C • Emphasis on C C is input Γ ’’; Δ ’’ --> Σ ’’ C Finite • Γ ’; Δ ’ --> Σ ’ C Closed Rules shown • Major premise Preserves C Minor premise Γ ; Δ --> Σ C Starts subderivation MSR 3: One Year Later 12/28
A Rewriting Re-Interpretation Transition • Γ ’’’; C --> Σ ’’’ C From conclusion To major premise Emphasis on Γ , Δ and Σ Γ ’’; Δ ’’ --> Σ ’’ C C is output, at best Γ ’; Δ ’ --> Σ ’ C Does not change Possibly infinite • Open Minor premise • Auxiliary rewrite chain Finite Γ ; Δ --> Σ C Topped with axiom MSR 3: One Year Later 13/28
Interpreting Unary Rules Γ ; Δ , A, B --> Σ C Σ ; Γ ; ( Δ , A ⊗ B ) Σ ; Γ ; ( Δ , A, B ) Γ ; Δ , A ⊗ B --> Σ C Σ ; Γ ; ( Δ , ∀ x. A) Σ ; Γ ; ( Δ , [t/x] A ) |- t Γ ; Δ , [t/x]A --> Σ C Σ if Σ |- t Γ ; Δ , ∀ x.A --> Σ C Γ ; Δ , A --> Σ ,x C Σ ; Γ ; ( Δ , ∃ x. A) ( Σ , x); Γ ; ( Δ , A) Γ ; Δ , ∃ x.A --> Σ C Γ , A; Δ --> Σ C Σ ; Γ ; ( Δ , !A) Σ ; ( Γ , A); Δ Γ ; Δ , !A --> Σ C … … MSR 3: One Year Later 14/28
Binary Rules and Axiom Minor premise • Γ ’; A --> Σ ’ A Auxiliary rewrite chain Top of tree • Focus shifts to RHS Γ ; Δ ’ --> Σ A Γ ; Δ , B --> Σ C Axiom rule Γ ; Δ , Δ ’ , A ⎯ο B --> Σ C Observation MSR 3: One Year Later 15/28
Γ , Γ ’; A’ --> Σ , Σ ’ A’ Observations Γ ; Δ --> Σ ∃Σ ’. A’ Observation states • A ; Δ Σ In Δ , we identify , with ⊗ = ⊗ Δ Δ with 1 • Categorical semantics Identified with ∃ x 1 . … ∃ x n . Δ Σ ; Δ = ∃Σ . ⊗ Δ For Σ = x 1 , …, x n De Bruijn’s telescopes Observation transitions • Σ ; Γ ; Δ Σ ’; Δ ’ * MSR 3: One Year Later 16/28
Interpreting Binary Rules Σ ; Γ ; Δ Σ ; Δ * Γ ; A --> Σ A Σ ; Γ ; Δ Σ ’’; Δ ’’ * if Σ ; Γ ; Δ Σ ’; Γ ’; Δ ’ and Σ ’; Γ ’; Δ ’ * Σ ’’; Δ ’’ Γ ; Δ ’ --> Σ A Γ ; Δ , B --> Σ C Σ ; Γ ; ( Δ , Δ ’, A ⎯ο B) Σ ; Γ ; ( Δ , B) if Σ ; Γ ; Δ ’ * Σ ; A Γ ; Δ , Δ ’ , A ⎯ο B --> Σ C Γ ; Δ ’ --> Σ A Γ ; Δ, A --> Σ C Σ ; Γ ; Δ , Δ ’ Σ ; Γ ; (A, Δ ) if Σ ; Γ ; Δ ’ Σ ; A * Γ ; Δ , Δ ’ --> Σ C … … MSR 3: One Year Later 17/28
Formal Correspondence Soundness • If ; Γ ; Δ * Σ , Σ ’; Δ ’ Σ then ; Δ --> Σ ∃Σ ’. ⊗ Δ ’ Γ Completeness? • No! We have only crippled right rules ; • ; a ⎯ο b, b ⎯ο c * • ; a ⎯ο c • MSR 3: One Year Later 18/28
System ω With cut, rule for ⎯ο can be simplified to • Σ ; Γ ; ( Δ , A, A ⎯ο B) Σ ; Γ ; ( Δ , B) Cut elimination holds • = in-lining of auxiliary rewrite chains But … Careful with extra signature symbols Careful with extra persistent objects No rule for needs a premise • does not depend on * MSR 3: One Year Later 19/28
Multiset Rewriting Multiset: set with repetitions allowed • a ::= • | a, a Commutative monoid Multiset rewriting (a.k.a. Petri nets) • Rewriting within the monoid Fundamental model of distributed computing Alternative: Process Algebras Basis for security protocol spec. languages MSR family … several others Many extensions, more or less ad hoc MSR 3: One Year Later 20/28
The Atomic Objects of MSR 3 Atomic terms Constructors Encryption {_} _ Principals A Pairing (_, _) Keys K Other Nonces N Signature, hash, MAC, … Other Raw data, timestamp, … Predicates Network net Memory M A Fully definable Intruder I … MSR 3: One Year Later 21/28
Recommend
More recommend