Combining algorithms for deciding knowledge in security protocols - - PowerPoint PPT Presentation

combining algorithms for deciding knowledge in security
SMART_READER_LITE
LIVE PREVIEW

Combining algorithms for deciding knowledge in security protocols - - PowerPoint PPT Presentation

Combining algorithms for deciding knowledge in security protocols Mathilde Arnaud, Vronique Cortier and Stphanie Delaune LORIA, CNRS & INRIA project Cassis, Nancy, France September 10, 2007 S. Delaune (LORIA Projet Cassis) Deciding


slide-1
SLIDE 1

Combining algorithms for deciding knowledge in security protocols

Mathilde Arnaud, Véronique Cortier and Stéphanie Delaune

LORIA, CNRS & INRIA project Cassis, Nancy, France

September 10, 2007

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 1 / 20

slide-2
SLIDE 2

Context: cryptographic protocols

Cryptographic protocols

small programs designed to secure communication (e.g. secrecy) use cryptographic primitives (e.g. encryption, hash function, . . . )

Presence of an attacker

may read every message sent on the network, may intercept and send new messages according to its deduction capabilities.

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 2 / 20

slide-3
SLIDE 3

Context: cryptographic protocols

Cryptographic protocols

small programs designed to secure communication (e.g. secrecy) use cryptographic primitives (e.g. encryption, hash function, . . . )

Presence of an attacker

may read every message sent on the network, may intercept and send new messages according to its deduction capabilities.

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 2 / 20

slide-4
SLIDE 4

A simple protocol

− → Does the attacker know secret?

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 3 / 20

slide-5
SLIDE 5

Attacker power (in formal models)

− → The attacker can do symbolic manipulations on messages. Messages are abstracted by terms ... encryption {x}y, pairing x, y, . . . ... together with an equational theory classical theory (Eenc): proj1(x, y) = x proj2(x, y) = y dec(enc(x, y), y) = x exclusive or (Exor): (x ⊕ y) ⊕ z = x ⊕ (y ⊕ z) x ⊕ y = y ⊕ x x ⊕ 0 = x x ⊕ x =

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 4 / 20

slide-6
SLIDE 6

Knowledge

Understanding security protocols often requires reasoning about knowledge of the attacker. Two main kinds of knowledge deduction, static equivalence – indistinguishability − → rely on an underlying equational theory − → often used as subroutines in many decision procedures

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 5 / 20

slide-7
SLIDE 7

Deduction

M ∈ T T ⊢E M T ⊢E M1 · · · T ⊢E Mk f ∈ Σ T ⊢E f (M1, . . . , Mk) T ⊢ M M =E M′ T ⊢ M′ Example: Let E := dec(enc(x, y), y) = x and T = {enc(secret, k), k}. T ⊢ enc(secret, k) T ⊢ k f ∈ Σ T ⊢ dec(enc(secret, k), k) dec(enc(x, y), y) = x T ⊢ secret

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 6 / 20

slide-8
SLIDE 8

Deduction

M ∈ T T ⊢E M T ⊢E M1 · · · T ⊢E Mk f ∈ Σ T ⊢E f (M1, . . . , Mk) T ⊢ M M =E M′ T ⊢ M′ Example: Let E := dec(enc(x, y), y) = x and T = {enc(secret, k), k}. T ⊢ enc(secret, k) T ⊢ k f ∈ Σ T ⊢ dec(enc(secret, k), k) dec(enc(x, y), y) = x T ⊢ secret

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 6 / 20

slide-9
SLIDE 9

Deduction is not always sufficient

→ The intruder knows the values yes and no !

The real question Is the intruder able to tell whether Alice sends yes or no?

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 7 / 20

slide-10
SLIDE 10

Static equivalence (indistinguishability relation)

frame = set of restricted names + sequence of messages

φ = ν˜ n.{M1/

x1, . . . ,Mℓ/ xℓ}

Examples: If the key k is not revealed, we have that

φ1 = νk.{enc(yes,k)/

x} and φ2 = νk.{enc(no,k)/ x}

If the key k is revealed, we have that

ψ1 = νk.{k/

x1,enc(yes,k)/ x2} and ψ2 = νk.{k/ x1,enc(no,k)/ x2}

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 8 / 20

slide-11
SLIDE 11

Static equivalence (indistinguishability relation)

frame = set of restricted names + sequence of messages

φ = ν˜ n.{M1/

x1, . . . ,Mℓ/ xℓ}

Examples: If the key k is not revealed, we have that

φ1 = νk.{enc(yes,k)/

x} and φ2 = νk.{enc(no,k)/ x}

If the key k is revealed, we have that

ψ1 = νk.{k/

x1,enc(yes,k)/ x2} and ψ2 = νk.{k/ x1,enc(no,k)/ x2}

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 8 / 20

slide-12
SLIDE 12

Static equivalence (indistinguishability relation)

frame = set of restricted names + sequence of messages

φ = ν˜ n.{M1/

x1, . . . ,Mℓ/ xℓ}

Examples: If the key k is not revealed, we have that

φ1 = νk.{enc(yes,k)/

x} and φ2 = νk.{enc(no,k)/ x}

If the key k is revealed, we have that

ψ1 = νk.{k/

x1,enc(yes,k)/ x2} and ψ2 = νk.{k/ x1,enc(no,k)/ x2}

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 8 / 20

slide-13
SLIDE 13

Static equivalence (indistinguishability relation)

frame = set of restricted names + sequence of messages

φ = ν˜ n.{M1/

x1, . . . ,Mℓ/ xℓ}

Examples: If the key k is not revealed, we have that

φ1 = νk.{enc(yes,k)/

x} and φ2 = νk.{enc(no,k)/ x}

− → indistinguishable If the key k is revealed, we have that

ψ1 = νk.{k/

x1,enc(yes,k)/ x2} and ψ2 = νk.{k/ x1,enc(no,k)/ x2}

− → distinguishable

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 8 / 20

slide-14
SLIDE 14

Goal of this paper

Our contribution

We propose combination algorithms (PTIME) for deduction and static equivalence for disjoint equational theories.

A modular approach

− → Deciding interesting theories can be done by reducing the decision to simpler theories.

New decidability results

Deduction and static equivalence are decidable in PTIME for subterm theories (e.g. Eenc) and exclusive or (Exor) [Abadì&Cortier,06], [Chevalier et al.,03]. − → those problems are also decidable in PTIME for Eenc ∪ Exor.

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 9 / 20

slide-15
SLIDE 15

Goal of this paper

Our contribution

We propose combination algorithms (PTIME) for deduction and static equivalence for disjoint equational theories.

A modular approach

− → Deciding interesting theories can be done by reducing the decision to simpler theories.

New decidability results

Deduction and static equivalence are decidable in PTIME for subterm theories (e.g. Eenc) and exclusive or (Exor) [Abadì&Cortier,06], [Chevalier et al.,03]. − → those problems are also decidable in PTIME for Eenc ∪ Exor.

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 9 / 20

slide-16
SLIDE 16

Related works

Combination for unification

Our procedures rely on combination algorithms for solving unification modulo E = E1 ∪ E2 (E1 and E2 are disjoint) − → [Schmidt-Schauss,89], [Baader&Schulz,96]

Combination for deduction (active case)

We follow the approach developed in [Chevalier&Rusinowitch,05] − → combination algorithm for deduction in the presence of an active attacker (they take into account the rules of the protocol) − → they do not consider static equivalence

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 10 / 20

slide-17
SLIDE 17

Outline of the talk

1

Introduction

2

Deduction

3

Static equivalence

4

Conclusion

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 11 / 20

slide-18
SLIDE 18

Deduction

Lemma (characterization of deduction)

φ ⊢E M if and only if there exists a term ζ such that ζφ =E M. − → Such a term ζ is a recipe of the term M.

Example: E := dec(enc(x, y), y) = x.

φ = νk.νs.{enc(s,k)/

x1,k/ x2}

We have that φ ⊢E s. Indeed ζ = dec(x1, x2) is a recipe of s.

Deduction problem for the equational theory E built over Σ.

Entries: A frame φ and a term M (both built over Σ) Question: φ ⊢E M?

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 12 / 20

slide-19
SLIDE 19

Deduction

Lemma (characterization of deduction)

φ ⊢E M if and only if there exists a term ζ such that ζφ =E M. − → Such a term ζ is a recipe of the term M.

Example: E := dec(enc(x, y), y) = x.

φ = νk.νs.{enc(s,k)/

x1,k/ x2}

We have that φ ⊢E s. Indeed ζ = dec(x1, x2) is a recipe of s.

Deduction problem for the equational theory E built over Σ.

Entries: A frame φ and a term M (both built over Σ) Question: φ ⊢E M?

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 12 / 20

slide-20
SLIDE 20

Main result for deduction

Theorem (Combination for deduction)

Let (Σ1, E1) and (Σ2, E2) be two disjoint equational theories. If deduction is decidable for (Σ1, E1) and (Σ2, E2) then deduction is decidable for (Σ1 ∪ Σ2, E1 ∪ E2). Our algorithm Let φ be a frame and M be a term built over Σ1 ∪ Σ2.

1 compute the subterms (alien subterms) of φ and M. 2 saturation of φ by subterms which are deducible either in E1 or in E2

− → abstraction of alien factors by fresh names

3 check if M ∈ sat(φ).

− → completeness obtained thanks to a locality lemma. − → our algorithm is polynomial (in the DAG-size of the inputs)

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 13 / 20

slide-21
SLIDE 21

Main result for deduction

Theorem (Combination for deduction)

Let (Σ1, E1) and (Σ2, E2) be two disjoint equational theories. If deduction is decidable for (Σ1, E1) and (Σ2, E2) then deduction is decidable for (Σ1 ∪ Σ2, E1 ∪ E2). Our algorithm Let φ be a frame and M be a term built over Σ1 ∪ Σ2.

1 compute the subterms (alien subterms) of φ and M. 2 saturation of φ by subterms which are deducible either in E1 or in E2

− → abstraction of alien factors by fresh names

3 check if M ∈ sat(φ).

− → completeness obtained thanks to a locality lemma. − → our algorithm is polynomial (in the DAG-size of the inputs)

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 13 / 20

slide-22
SLIDE 22

Our algorithm on an example

Equational theory: E = Eenc ∪ Exor

φ = νn2, n3.{enc(n1⊕n2,n3,n4)/

x1}

M = n2⊕n3

1 subterms (alien) of φ and M:

enc(n1 ⊕ n2, n3, n4), M, n1 ⊕ n2, n1, n2, n3, n4

2 saturation of φ by deducible subterms either in Eenc or in Exor

− → n1 ⊕ n2 deducible in Eenc with ζ3 = proj1(dec(x1, n4)) – x2 − → n3 deducible in Eenc with ζ3 = proj2(dec(x1, n4)) – x3 − → n2 ⊕ n3 deducible in Exor with ζ4 = n1⊕x2⊕x3 − → . . .

3 it is now easy to check that M ∈ sat(φ)

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 14 / 20

slide-23
SLIDE 23

Our algorithm on an example

Equational theory: E = Eenc ∪ Exor

φ = νn2, n3.{enc(n1⊕n2,n3,n4)/

x1}

M = n2⊕n3

1 subterms (alien) of φ and M:

enc(n1 ⊕ n2, n3, n4), M, n1 ⊕ n2, n1, n2, n3, n4

2 saturation of φ by deducible subterms either in Eenc or in Exor

− → n1 ⊕ n2 deducible in Eenc with ζ3 = proj1(dec(x1, n4)) – x2 − → n3 deducible in Eenc with ζ3 = proj2(dec(x1, n4)) – x3 − → n2 ⊕ n3 deducible in Exor with ζ4 = n1⊕x2⊕x3 − → . . .

3 it is now easy to check that M ∈ sat(φ)

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 14 / 20

slide-24
SLIDE 24

Our algorithm on an example

Equational theory: E = Eenc ∪ Exor

φ = νn2, n3.{enc(n1⊕n2,n3,n4)/

x1}

M = n2⊕n3

1 subterms (alien) of φ and M:

enc(n1 ⊕ n2, n3, n4), M, n1 ⊕ n2, n1, n2, n3, n4

2 saturation of φ by deducible subterms either in Eenc or in Exor

− → n1 ⊕ n2 deducible in Eenc with ζ3 = proj1(dec(x1, n4)) – x2 − → n3 deducible in Eenc with ζ3 = proj2(dec(x1, n4)) – x3 − → n2 ⊕ n3 deducible in Exor with ζ4 = n1⊕x2⊕x3 − → . . .

3 it is now easy to check that M ∈ sat(φ)

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 14 / 20

slide-25
SLIDE 25

Outline of the talk

1

Introduction

2

Deduction

3

Static equivalence

4

Conclusion

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 15 / 20

slide-26
SLIDE 26

Static equivalence

Definition (static equivalence)

φ1 ≈ φ2 iff dom(φ1) = dom(φ2) and for every couple of terms (M, N) (M =E N)φ1 ⇔ (M =E N)φ2

Example: E = dec(enc(x, y), y) = x

ψ1 = νk.{k/

x1,enc(yes,k)/ x2} and ψ2 = νk.{k/ x1,enc(no,k)/ x2}

− → not statically equivalent, choose M = dec(x2, x1) and N = yes

Static equivalence problem for the theory E built over Σ.

Entries: Two frames φ1 and φ2 (both built over Σ) Question: φ1 ≈E φ2?

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 16 / 20

slide-27
SLIDE 27

Static equivalence

Definition (static equivalence)

φ1 ≈ φ2 iff dom(φ1) = dom(φ2) and for every couple of terms (M, N) (M =E N)φ1 ⇔ (M =E N)φ2

Example: E = dec(enc(x, y), y) = x

ψ1 = νk.{k/

x1,enc(yes,k)/ x2} and ψ2 = νk.{k/ x1,enc(no,k)/ x2}

− → not statically equivalent, choose M = dec(x2, x1) and N = yes

Static equivalence problem for the theory E built over Σ.

Entries: Two frames φ1 and φ2 (both built over Σ) Question: φ1 ≈E φ2?

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 16 / 20

slide-28
SLIDE 28

Static equivalence

Definition (static equivalence)

φ1 ≈ φ2 iff dom(φ1) = dom(φ2) and for every couple of terms (M, N) (M =E N)φ1 ⇔ (M =E N)φ2

Example: E = dec(enc(x, y), y) = x

ψ1 = νk.{k/

x1,enc(yes,k)/ x2} and ψ2 = νk.{k/ x1,enc(no,k)/ x2}

− → not statically equivalent, choose M = dec(x2, x1) and N = yes

Static equivalence problem for the theory E built over Σ.

Entries: Two frames φ1 and φ2 (both built over Σ) Question: φ1 ≈E φ2?

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 16 / 20

slide-29
SLIDE 29

Main result for static equivalence

Theorem (Combination for static equivalence)

Let (Σ1, E1) and (Σ2, E2) be two disjoint equational theories. If deduction and static equivalence are decidable for (Σ1, E1) and (Σ2, E2) then static equivalence is decidable for (Σ1 ∪ Σ2, E1 ∪ E2). Our algorithm Let φ1 and φ2 two frames built over Σ1 ∪ Σ2.

1 First step: 2 Second step: If φ′

1 and φ′ 2 contains all their deducible subterms then

φ′

1 ≈E φ′ 2

    

φ′

1 ≈E1 φ′ 2

and φ′

1 ≈E2 φ′ 2

where alien factors are abstracted by fresh names

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 17 / 20

slide-30
SLIDE 30

Main result for static equivalence

Theorem (Combination for static equivalence)

Let (Σ1, E1) and (Σ2, E2) be two disjoint equational theories. If deduction and static equivalence are decidable for (Σ1, E1) and (Σ2, E2) then static equivalence is decidable for (Σ1 ∪ Σ2, E1 ∪ E2). Our algorithm Let φ1 and φ2 two frames built over Σ1 ∪ Σ2.

1 First step: 2 Second step: If φ′

1 and φ′ 2 contains all their deducible subterms then

φ′

1 ≈E φ′ 2

    

φ′

1 ≈E1 φ′ 2

and φ′

1 ≈E2 φ′ 2

where alien factors are abstracted by fresh names

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 17 / 20

slide-31
SLIDE 31

Main result for static equivalence

Theorem (Combination for static equivalence)

Let (Σ1, E1) and (Σ2, E2) be two disjoint equational theories. If deduction and static equivalence are decidable for (Σ1, E1) and (Σ2, E2) then static equivalence is decidable for (Σ1 ∪ Σ2, E1 ∪ E2). Our algorithm Let φ1 and φ2 two frames built over Σ1 ∪ Σ2.

1 First step:

compute φ′

1 and φ′ 2 such that

− → φ′

1 and φ′ 2 contain their deducible subterms, and

− → φ1 ≈E φ2 ⇔ φ′

1 ≈E φ′ 2.

2 Second step: If φ′

1 and φ′ 2 contains all their deducible subterms then

φ′

1 ≈E φ′ 2

    

φ′

1 ≈E1 φ′ 2

and φ′

1 ≈E2 φ′ 2

where alien factors are abstracted by fresh names

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 17 / 20

slide-32
SLIDE 32

Outline of the talk

1

Introduction

2

Deduction

3

Static equivalence

4

Conclusion

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 18 / 20

slide-33
SLIDE 33

Conclusion

Our contribution

We propose combination algorithms (PTIME) for deduction and static equivalence for disjoint equational theories. − → A methodoloy to prove deduction and static equivalence for complex equational theories − → New decidability and complexity results for interesting theories,

Example

Deduction and static equivalence are decidable in PTIME for Eenc ∪ Exor, Eenc ∪ EAG, and more generally E ∪ Exor (or E ∪ EAG) where E is any subterm convergent theory.

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 19 / 20

slide-34
SLIDE 34

Future work

− → Extension to non-disjoint equational theories Example: fragment of the modular exponentiation theory exp(x, 1) = x, exp(exp(x, y), z) = exp(x, y × z), exp(x, y) · exp(x, z) = exp(x, y + z), . . . where × is an Abelian group operator. − → Implementation of the algorithms − → Extension to active attacker for deduction – already done [Chevalier et al.’05] for static equivalence it will be useful to decide guessing attacks in new equational theories

  • S. Delaune (LORIA – Projet Cassis)

Deciding knowledge September 10, 2007 20 / 20