MSR 3.0:
The Logical Meeting Point of Multiset Rewriting and Process Algebra
Iliano Cervesato
iliano@itd.nrl.navy.mil
ITT Industries, inc @ NRL Washington, DC
http://theory.stanford.edu/~iliano
FMSE Workshop @ CCS’03 October 30, 2003
MSR 3.0: The Logical Meeting Point of Multiset Rewriting and - - PowerPoint PPT Presentation
MSR 3.0: The Logical Meeting Point of Multiset Rewriting and Process Algebra Iliano Cervesato iliano@itd.nrl.navy.mil ITT Industries, inc @ NRL Washington, DC http://theory.stanford.edu/~iliano FMSE Workshop @ CCS03 October 30, 2003
iliano@itd.nrl.navy.mil
http://theory.stanford.edu/~iliano
FMSE Workshop @ CCS’03 October 30, 2003
MSR 3.0 1
[CSFW’99]
Creak!
[MMM’01]
view of type-flaw attacks
Hmm!
Not MicroSoft Research
MSR 3.0 2
– NRL Protocol Analyzer – Murφ, …
MSR 3.0 3
MSR 3.0 4
MSR 3.0 5
1. Take multiset rewriting 2. Fold it onto itself 3. Realize it is linear logic 4. Add more linear logic 5. Let simmer till your next presentation
nets, multiset rewriting, …
ω-multiset
MSR 3
MSR 3.0 6
ω-multiset
MSR 3
MSR 3.0 7
Signature Reusable part Linear part
ω-multiset
MSR 3
MSR 3.0 8
ω-multiset
MSR 3
MSR 3.0 9
ω-multiset
MSR 3
MSR 3.0 10
ω-multiset
MSR 3
MSR 3.0 11
ω-multiset
MSR 3
MSR 3.0 12
ω-multiset
MSR 3
MSR 3.0 13
if Σ; p; s’ * Σ; a
if Σ |- t
if Σ; p; s’ * Σ; a
Γ; Δ’ -->Σ A Γ; Δ, B
C Γ; Δ, Δ’ , A⎯οB
C Σ |- t Γ; Δ, [t/x]A -->Σ C Γ; Δ, ∀x.A
C Γ; Δ, A
C Γ; Δ, ∃x.A
C Γ; Δ’
A Γ; Δ, A
C Γ; Δ, Δ’
Γ, A; Δ-->Σ C Γ; Δ , !A -->Σ C
ω-multiset
MSR 3
MSR 3.0 14
Γ; Δ
C
ω-multiset
MSR 3
MSR 3.0 15
; a ⎯ο b, b ⎯ο c * • ; a ⎯ο c
ω-multiset
MSR 3
MSR 3.0 16
ω-multiset
MSR 3
MSR 3.0 17
ω-multiset
MSR 3
MSR 3.0 18
(LF)
(LLF)
ω-multiset
MSR 3
MSR 3.0 19
ω-multiset
MSR 3
MSR 3.0 20
Meseguer, 91]
if Σ |- t
a.k.a. MSR 1.0
ω-multiset
MSR 3
MSR 3.0 21
ω-multiset
MSR 3
MSR 3.0 22
=> (u → a), (u -> b) ; u
=> (u → u, a) ; u
=> (u → ∃x. a) ; u
=> ∀x. (u → b) ; u
(b ⎯ο c) => (a,u → v), (b,v → c) ; u
ω-multiset
MSR 3
MSR 3.0 23
congruence of || and 0
– 0 ≡ ν
– P || ν
ν
if x ∉ FN(P) – ν
ν
!P || P
[y/z]P || Q
ω-multiset
MSR 3
MSR 3.0 24
P, s 2 Σ; p; [y/z]P, s
⇔ monoidal congr. of ⊗ and 1
⇔ mobility congr. of ∃
!P || P
in ω-multisets
preliminary results
ω-multiset
MSR 3
MSR 3.0 25
ω-multiset
MSR 3
MSR 3.0 26
To do
ω-multiset
MSR 3
MSR 3.0 27
From MSR 2 From MSR 1 From MSR 2 implementation
ω-multiset MSR 3
MSR 3.0 28
KAB
KA
K’A
M
t
{_}_
{{_}}_
[_]_
h(_)
h_ (_)
ω-multiset MSR 3
MSR 3.0 29
ω-multiset MSR 3
MSR 3.0 30
ω-multiset MSR 3
MSR 3.0 31
– Owner = principal executing the role
signing/encrypting with B’s key
accessing B’s private data, …
ω-multiset MSR 3
MSR 3.0 32
(For free from underlying Maude engine)
ω-multiset MSR 3
MSR 3.0 33
A → B: {NA , A}KB B → A: {NA , NB}KA A → B: {NB }KB
ω-multiset MSR 3
MSR 3.0 34
A → B: {NA , A}KB B → A: {NA , NB}KA A → B: {NB }KB
ω-multiset MSR 3
MSR 3.0 35
ω-multiset MSR 3
MSR 3.0 36
pass control/data to the next rule
n → a1 , n’ n’’, a1 → a2 ,n’’’ …
Relating Strands and Multiset Rewriting for Security Protocols
NS: MSR rules for Alice
πA0(A) → A0(A), πA0(A) A0(A), πA1(B) → ∃NA. A1(A,B,NA), N({NA,A}KB), πA1(B) A1(A,B, NA), N({NA,NB}KA) → A2(A,B,NA,NB) A2(A,B,NA,NB) → A3(A,B,NA,NB), N({NB}KB)
where πA0(A) = Pr(A), PrvK(A,KA
πA1(B) = Pr(B), PubK(B,KB)
Relating Strands and Multiset Rewriting for Security Protocols
NS: Parametric Strand for Alice
Alice (A,B,NA,NB) : NA Fresh, πA (A,B)
where π(A,B) = Pr(A), PrvK(A,KA
Pr(B), PubK(B,KB)
{NA, A}KB {NA, NB}KA {NB}KB
ω-multiset MSR 3
MSR 3.0 37
State vs. process distance Other distance
ω-multisets
ω-multiset MSR 3
MSR 3.0 38
rewriting