Dynamic Observers for the Synthesis of Opaque Systems Franck Cassez - - PowerPoint PPT Presentation

dynamic observers for the synthesis of opaque systems
SMART_READER_LITE
LIVE PREVIEW

Dynamic Observers for the Synthesis of Opaque Systems Franck Cassez - - PowerPoint PPT Presentation

Dynamic Observers for the Synthesis of Opaque Systems Franck Cassez 1 , Jrmy Dubreil 2 and Herv Marchand 2 1 NICTA & CNRS 2 INRIA/IRISA Sydney Rennes Bretagne Atlantique France Australia ATVA09, Macau SAR October 1316, 2009


slide-1
SLIDE 1

Dynamic Observers for the Synthesis of Opaque Systems

Franck Cassez1, Jérémy Dubreil2 and Hervé Marchand2

1 NICTA & CNRS

Sydney Australia

2 INRIA/IRISA

Rennes Bretagne Atlantique France ATVA’09, Macau SAR October 13–16, 2009

slide-2
SLIDE 2

Context

Need for Security in Transactional Systems Web-services: e-banking, online transactions Id documents: biometric passport, Medicare Card E-voting systems Different Types of Security Integrity: illegal actions cannot be performed by an unauthorized user

Bank account management cannot be managed by a third party

Availability: some actions must be available

Withdrawing money from your bank account

Privacy: information should remain hidden from some users

PIN code

Opacity was introduced in [Mazaré, 2004, Bryans et al., 2008]

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 2 / 27

slide-3
SLIDE 3

Context

Need for Security in Transactional Systems Web-services: e-banking, online transactions Id documents: biometric passport, Medicare Card E-voting systems Different Types of Security Integrity: illegal actions cannot be performed by an unauthorized user

Bank account management cannot be managed by a third party

Availability: some actions must be available

Withdrawing money from your bank account

Privacy: information should remain hidden from some users

PIN code

In this paper we consider opacity (privacy) Opacity was introduced in [Mazaré, 2004, Bryans et al., 2008]

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 2 / 27

slide-4
SLIDE 4

Outline of the Talk

1

Opacity for Finite State Systems What is Opacity? Opacity for Non-Deterministic Automata Algorithms for Checking Opacity

2

Minimization Problem with Static Filters

3

Minimization Problem with Dynamic Filters Opacity with Dynamic Filters Checking Opacity with Dynamic Filters Cost of a Dynamic Filter Computing the Cost of a Given Filter Minimization Problem Computation of the Most Permissive Filter Computing an Optimal Dynamic Filter

4

Summary & Future Work

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 3 / 27

slide-5
SLIDE 5

Outline

1

Opacity for Finite State Systems What is Opacity? Opacity for Non-Deterministic Automata Algorithms for Checking Opacity

2

Minimization Problem with Static Filters

3

Minimization Problem with Dynamic Filters Opacity with Dynamic Filters Checking Opacity with Dynamic Filters Cost of a Dynamic Filter Computing the Cost of a Given Filter Minimization Problem Computation of the Most Permissive Filter Computing an Optimal Dynamic Filter

4

Summary & Future Work

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 4 / 27

slide-6
SLIDE 6

What is Opacity?

System S Σ = {a, b, c} a c b b Secret F Secret = set of states Events in Σo ⊆ Σ are observable Example: Σo = {b}

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 5 / 27

slide-7
SLIDE 7

What is Opacity?

System S Σ = {a, b, c} a c b b Secret F Secret = set of states Events in Σo ⊆ Σ are observable Example: Σo = {b} Opacity: an external observer should never know F-states

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 5 / 27

slide-8
SLIDE 8

What is Opacity?

System S Σ = {a, b, c} a c b b Secret F Secret = set of states Events in Σo ⊆ Σ are observable Example: Σo = {b} Secret F is opaque Opacity: an external observer should never know F-states

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 5 / 27

slide-9
SLIDE 9

What is Opacity?

System S Σ = {a, b, c} a c b b Secret F Secret = set of states Events in Σo ⊆ Σ are observable Example: Σo = {a, b} Secret F is not opaque Opacity: an external observer should never know F-states

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 5 / 27

slide-10
SLIDE 10

What is Opacity?

System S Σ = {a, b, c} a c b b Secret F Secret = set of states Events in Σo ⊆ Σ are observable Example: Σo = {b} Secret F is not opaque Opacity: an external observer should never know F-states

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 5 / 27

slide-11
SLIDE 11

What is Opacity?

System S Σ = {a, b, c} a c b b Secret F Secret = set of states Events in Σo ⊆ Σ are observable Example: Σo = {b} Opacity Verification Problem: Is F opaque w.r.t. (S, Σo) ?

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 5 / 27

slide-12
SLIDE 12

What is Opacity?

System S Σ = {a, b, c} a c b b Secret F Secret = set of states Events in Σo ⊆ Σ are observable Example: Σo = {b} Opacity Verification Problem: Is F opaque w.r.t. (S, Σo) ? To check opacity: use your favorite Formal Method: Model-checking Theorem proving Tools to support automatic analysis of systems

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 5 / 27

slide-13
SLIDE 13

Opacity for Non-Deterministic Automata

A = (Q, q0, Σ, δ, F) a NDA F set of secret states Σo ⊆ Σ set of observable events NDA A Projection P Attacker U u ∈ Σ∗ v = P(u) ∈ Σ∗

  • Assumptions

Attacker knows A and the projection P/alphabet Σo KΣo(v): knowledge set (of states) of the attacker after observing v

Definition (Opacity)

F is opaque w.r.t. (A, Σo) if ∀v ∈ P(Tr(A)), KΣo(v) ⊆ F (KΣo(v) ∩ (Q \ F) ≠ ∅).

Opacity Problem

Input: A NDA A, F secret set of states, Σo set of observable events. Problem: Is F opaque w.r.t. (A, Σo) ?

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 6 / 27

slide-14
SLIDE 14

Opacity for Non-Deterministic Automata

A = (Q, q0, Σ, δ, F) a NDA F set of secret states Σo ⊆ Σ set of observable events NDA A Projection P Attacker U u ∈ Σ∗ v = P(u) ∈ Σ∗

  • Assumptions

Attacker knows A and the projection P/alphabet Σo KΣo(v): knowledge set (of states) of the attacker after observing v

Definition (Opacity)

F is opaque w.r.t. (A, Σo) if ∀v ∈ P(Tr(A)), KΣo(v) ⊆ F (KΣo(v) ∩ (Q \ F) ≠ ∅).

Opacity Problem

Input: A NDA A, F secret set of states, Σo set of observable events. Problem: Is F opaque w.r.t. (A, Σo) ?

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 6 / 27

slide-15
SLIDE 15

Opacity for Non-Deterministic Automata

A = (Q, q0, Σ, δ, F) a NDA F set of secret states Σo ⊆ Σ set of observable events NDA A Projection P Attacker U u ∈ Σ∗ v = P(u) ∈ Σ∗

  • Assumptions

Attacker knows A and the projection P/alphabet Σo KΣo(v): knowledge set (of states) of the attacker after observing v

Definition (Opacity)

F is opaque w.r.t. (A, Σo) if ∀v ∈ P(Tr(A)), KΣo(v) ⊆ F (KΣo(v) ∩ (Q \ F) ≠ ∅).

Opacity Problem

Input: A NDA A, F secret set of states, Σo set of observable events. Problem: Is F opaque w.r.t. (A, Σo) ?

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 6 / 27

slide-16
SLIDE 16

Knowledge Set of the Attacker

Tr(A) = set of words generated by A P is the projection over Σo ⊆ Σ P–1(w) = set of words which project onto w P–1 : Σ∗

  • → 2Σ∗

Pre(ε) = {ε} and Pre(u.λ) = P–1(u).λ ∩ Tr(A) Knowledge set of U: KΣo(u) = δ(q0, Pre(u)) Consider knowledge set right after each observation of the attacker

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 7 / 27

slide-17
SLIDE 17

Knowledge Set of the Attacker

Tr(A) = set of words generated by A P is the projection over Σo ⊆ Σ P–1(w) = set of words which project onto w P–1 : Σ∗

  • → 2Σ∗

Pre(ε) = {ε} and Pre(u.λ) = P–1(u).λ ∩ Tr(A) Knowledge set of U: KΣo(u) = δ(q0, Pre(u))

Example

Σo = {b} P(b.b.a.b.a) = b.b.b P–1(b) = a∗.b.a∗ Pre(b) = {b, a.b} KΣo(b) = {q0, q5, q2} q0 q1 q2 q3 q4 q5 q6 b a a b a a,b b a b a,b

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 7 / 27

slide-18
SLIDE 18

Knowledge Set of the Attacker

Tr(A) = set of words generated by A P is the projection over Σo ⊆ Σ P–1(w) = set of words which project onto w P–1 : Σ∗

  • → 2Σ∗

Pre(ε) = {ε} and Pre(u.λ) = P–1(u).λ ∩ Tr(A) Knowledge set of U: KΣo(u) = δ(q0, Pre(u))

Problem 1: Checking opacity with Static Filters

Input: a NDA A, F secret set of states, Σo set of observable events. Problem: Is F opaque w.r.t. (A, Σo) ?

Theorem

Problem 1 is PSPACE-complete.

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 7 / 27

slide-19
SLIDE 19

Algorithms for Checking Opacity

Proof.

Reduction of universality problem for non-deterministic automaton. Given A over Σ with accepting states F, the universality problem is: decide whether LF(A) = Σ∗. Assume A is complete i.e. Tr(A) = Σ∗. Reduction: A is universal iff Q \ F is opaque for (A, Σ). Algorithm to Check Opacity

1

Subset construction

2

check whether a subset S ⊆ F is reachable What if the system is NOT opaque ?

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 8 / 27

slide-20
SLIDE 20

Algorithms for Checking Opacity

Proof.

Reduction of universality problem for non-deterministic automaton. Given A over Σ with accepting states F, the universality problem is: decide whether LF(A) = Σ∗. Assume A is complete i.e. Tr(A) = Σ∗. Reduction: A is universal iff Q \ F is opaque for (A, Σ). Algorithm to Check Opacity

1

Subset construction

2

check whether a subset S ⊆ F is reachable What if the system is NOT opaque ?

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 8 / 27

slide-21
SLIDE 21

Algorithms for Checking Opacity

Proof.

Reduction of universality problem for non-deterministic automaton. Given A over Σ with accepting states F, the universality problem is: decide whether LF(A) = Σ∗. Assume A is complete i.e. Tr(A) = Σ∗. Reduction: A is universal iff Q \ F is opaque for (A, Σ). Algorithm to Check Opacity

1

Subset construction

2

check whether a subset S ⊆ F is reachable What if the system is NOT opaque ?

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 8 / 27

slide-22
SLIDE 22

Enforcing Opacity

ε ε b a b

System A

Σo

Either restrict set of behaviours: add a controller C

[Dubreil et al., 2008]

Or modify the set of observable events to Σ′

  • ≠ Σo
  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 9 / 27

slide-23
SLIDE 23

Enforcing Opacity

ε ε b a b

System A

Σo

Either restrict set of behaviours: add a controller C

[Dubreil et al., 2008]

Or modify the set of observable events to Σ′

  • ≠ Σo

(A, Σo) is NOT opaque

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 9 / 27

slide-24
SLIDE 24

Enforcing Opacity

ε ε b a b

System A

Σo

a X b b a X a b b X

Controller C

X

Σo

Either restrict set of behaviours: add a controller C

[Dubreil et al., 2008]

Or modify the set of observable events to Σ′

  • ≠ Σo
  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 9 / 27

slide-25
SLIDE 25

Enforcing Opacity

ε ε b a b

System A

Σo

a X b b a X a b b X

Controller C

X

Σo

Either restrict set of behaviours: add a controller C

[Dubreil et al., 2008]

Or modify the set of observable events to Σ′

  • ≠ Σo

Ensure (C × A, Σo) is opaque

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 9 / 27

slide-26
SLIDE 26

Enforcing Opacity

ε ε b a b

System A

Σo

Either restrict set of behaviours: add a controller C

[Dubreil et al., 2008]

Or modify the set of observable events to Σ′

  • ≠ Σo
  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 9 / 27

slide-27
SLIDE 27

Enforcing Opacity

ε ε b a b

System A

Σo Σ′

  • ≠ Σo

Either restrict set of behaviours: add a controller C

[Dubreil et al., 2008]

Or modify the set of observable events to Σ′

  • ≠ Σo

Ensure (G, Σ′

  • ) is opaque
  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 9 / 27

slide-28
SLIDE 28

Outline

1

Opacity for Finite State Systems What is Opacity? Opacity for Non-Deterministic Automata Algorithms for Checking Opacity

2

Minimization Problem with Static Filters

3

Minimization Problem with Dynamic Filters Opacity with Dynamic Filters Checking Opacity with Dynamic Filters Cost of a Dynamic Filter Computing the Cost of a Given Filter Minimization Problem Computation of the Most Permissive Filter Computing an Optimal Dynamic Filter

4

Summary & Future Work

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 10 / 27

slide-29
SLIDE 29

Minimization of the Set of Hidden Events

Events = services provided to (external) users Hiding events = restricting services Goal: ensure opacity while preserving services

Problem 2: Static Minimization Problem

Input: A = (Q, q0, Σ, δ, F) a NDA, F secret set of states and n ∈ N. Problem: Is there any Σo ⊆ Σ with |Σo| ≥ n s.t. F is opaque w.r.t. (A, Σo) ?

Theorem

Problem 2 is PSPACE-complete. Computing the maximum n is also PSPACE-complete. Can we do any better ?

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 11 / 27

slide-30
SLIDE 30

Minimization of the Set of Hidden Events

Events = services provided to (external) users Hiding events = restricting services Goal: ensure opacity while preserving services

Problem 2: Static Minimization Problem

Input: A = (Q, q0, Σ, δ, F) a NDA, F secret set of states and n ∈ N. Problem: Is there any Σo ⊆ Σ with |Σo| ≥ n s.t. F is opaque w.r.t. (A, Σo) ?

Theorem

Problem 2 is PSPACE-complete. Computing the maximum n is also PSPACE-complete. Can we do any better ?

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 11 / 27

slide-31
SLIDE 31

Minimization of the Set of Hidden Events

Events = services provided to (external) users Hiding events = restricting services Goal: ensure opacity while preserving services

Problem 2: Static Minimization Problem

Input: A = (Q, q0, Σ, δ, F) a NDA, F secret set of states and n ∈ N. Problem: Is there any Σo ⊆ Σ with |Σo| ≥ n s.t. F is opaque w.r.t. (A, Σo) ?

Theorem

Problem 2 is PSPACE-complete. Computing the maximum n is also PSPACE-complete. Can we do any better ?

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 11 / 27

slide-32
SLIDE 32

Minimization of the Set of Hidden Events

Events = services provided to (external) users Hiding events = restricting services Goal: ensure opacity while preserving services

Problem 2: Static Minimization Problem

Input: A = (Q, q0, Σ, δ, F) a NDA, F secret set of states and n ∈ N. Problem: Is there any Σo ⊆ Σ with |Σo| ≥ n s.t. F is opaque w.r.t. (A, Σo) ?

Theorem

Problem 2 is PSPACE-complete. Computing the maximum n is also PSPACE-complete. Can we do any better ?

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 11 / 27

slide-33
SLIDE 33

Using Dynamic Filters

System A Filter Φ Attacker U u ∈ Σ∗ D(u) ∈ Σ∗ q0 q1 q2 q3 q4 q5 q6 b a a b a a,b b a b a,b Static Filter: Σo = {a} or Σo = {b} ⇒ F is opaque

Must hide at least one event

Dynamic Filter: Hide b after the observation of an a and let everything be observable after the observation of a second a Result: Events are more often visible

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 12 / 27

slide-34
SLIDE 34

Using Dynamic Filters

System A Filter Φ Attacker U u ∈ Σ∗ D(u) ∈ Σ∗ q0 q1 q2 q3 q4 q5 q6 b a a b a a,b b a b a,b Static Filter: Σo = {a} or Σo = {b} ⇒ F is opaque

Must hide at least one event

Dynamic Filter: Hide b after the observation of an a and let everything be observable after the observation of a second a Result: Events are more often visible

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 12 / 27

slide-35
SLIDE 35

Using Dynamic Filters

System A Filter Φ Attacker U u ∈ Σ∗ D(u) ∈ Σ∗ q0 q1 q2 q3 q4 q5 q6 b a a b a a,b b a b a,b Static Filter: Σo = {a} or Σo = {b} ⇒ F is opaque

Must hide at least one event

Dynamic Filter: Hide b after the observation of an a and let everything be observable after the observation of a second a Result: Events are more often visible

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 12 / 27

slide-36
SLIDE 36

Outline

1

Opacity for Finite State Systems What is Opacity? Opacity for Non-Deterministic Automata Algorithms for Checking Opacity

2

Minimization Problem with Static Filters

3

Minimization Problem with Dynamic Filters Opacity with Dynamic Filters Checking Opacity with Dynamic Filters Cost of a Dynamic Filter Computing the Cost of a Given Filter Minimization Problem Computation of the Most Permissive Filter Computing an Optimal Dynamic Filter

4

Summary & Future Work

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 13 / 27

slide-37
SLIDE 37

Dynamic Filters

Definition (Dynamic Filter)

A dynamic filter is a complete (infinite) deterministic labeled transition system Φ = (X, x0, Σ, δo, L) where L : X → 2Σ is a labeling function that specifies the set of events that are observable at state x; For all x ∈ X and for all λ ∈ Σ, if λ / ∈ L(x), then δo(x, λ) = x.

Example (Finite State Filter)

1 2 3 L(1) = {a, b} L(2) = {a} L(3) = {a, b} b b a, b a a Φ is also a transducer

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 14 / 27

slide-38
SLIDE 38

Dynamic Filters

Definition (Dynamic Filter)

A dynamic filter is a complete (infinite) deterministic labeled transition system Φ = (X, x0, Σ, δo, L) where L : X → 2Σ is a labeling function that specifies the set of events that are observable at state x; For all x ∈ X and for all λ ∈ Σ, if λ / ∈ L(x), then δo(x, λ) = x.

Example (Finite State Filter)

1 2 3 L(1) = {a, b} L(2) = {a} L(3) = {a, b} b/b b/ε a/a, b/b a/a a/a Φ is also a transducer

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 14 / 27

slide-39
SLIDE 39

Opacity with Dynamic Filters

Φ–1(w) = set of words u that filter onto w (s.t. Φ(u) = w) Pre(ε) = {ε} and Pre(u.λ) = Φ–1(u).λ ∩ Tr(A) Knowledge set of attacker: KΦ(u) = δ(q0, Pre(u))

Definition (Opacity)

F is opaque w.r.t. (A, Φ) if ∀u ∈ Φ(Tr(A)), KΦ(u) ⊆ F.

Problem 3: Opacity Problem with Dynamic Filters

Input: A a NDA, F secret set of states, Φ a filter. Problem: Is F opaque w.r.t. (A, Φ) ? Issues How to check opacity with a dynamic filter? How to compare dynamic filters? How to synthesize optimal dynamic filters?

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 15 / 27

slide-40
SLIDE 40

Opacity with Dynamic Filters

Φ–1(w) = set of words u that filter onto w (s.t. Φ(u) = w) Pre(ε) = {ε} and Pre(u.λ) = Φ–1(u).λ ∩ Tr(A) Knowledge set of attacker: KΦ(u) = δ(q0, Pre(u))

Definition (Opacity)

F is opaque w.r.t. (A, Φ) if ∀u ∈ Φ(Tr(A)), KΦ(u) ⊆ F.

Problem 3: Opacity Problem with Dynamic Filters

Input: A a NDA, F secret set of states, Φ a filter. Problem: Is F opaque w.r.t. (A, Φ) ? Issues How to check opacity with a dynamic filter? How to compare dynamic filters? How to synthesize optimal dynamic filters?

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 15 / 27

slide-41
SLIDE 41

Opacity with Dynamic Filters

Φ–1(w) = set of words u that filter onto w (s.t. Φ(u) = w) Pre(ε) = {ε} and Pre(u.λ) = Φ–1(u).λ ∩ Tr(A) Knowledge set of attacker: KΦ(u) = δ(q0, Pre(u))

Definition (Opacity)

F is opaque w.r.t. (A, Φ) if ∀u ∈ Φ(Tr(A)), KΦ(u) ⊆ F.

Problem 3: Opacity Problem with Dynamic Filters

Input: A a NDA, F secret set of states, Φ a filter. Problem: Is F opaque w.r.t. (A, Φ) ? Issues How to check opacity with a dynamic filter? How to compare dynamic filters? How to synthesize optimal dynamic filters?

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 15 / 27

slide-42
SLIDE 42

Opacity with Dynamic Filters

Φ–1(w) = set of words u that filter onto w (s.t. Φ(u) = w) Pre(ε) = {ε} and Pre(u.λ) = Φ–1(u).λ ∩ Tr(A) Knowledge set of attacker: KΦ(u) = δ(q0, Pre(u))

Definition (Opacity)

F is opaque w.r.t. (A, Φ) if ∀u ∈ Φ(Tr(A)), KΦ(u) ⊆ F.

Problem 3: Opacity Problem with Dynamic Filters

Input: A a NDA, F secret set of states, Φ a filter. Problem: Is F opaque w.r.t. (A, Φ) ? Issues How to check opacity with a dynamic filter? How to compare dynamic filters? How to synthesize optimal dynamic filters?

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 15 / 27

slide-43
SLIDE 43

Checking Opacity for Finite State Filters

Opacity for Finite State Filters

Input: A, F, Φ a finite state filter. Problem: Is F opaque w.r.t. (A, Φ) ? To check opacity, build a product A ⊗ Φ

1

initial state (q0, x0)

2

(q, x)

λ

– – → (q′, x′) iff q

λ

– – →A q′, x

λ

– – →Φ x′ and λ ∈ L(x);

3

(q, x)

ε

– – → (q′, x) iff q

λ

– – →A q′ and λ ∈ L(x).

Theorem

F is opaque w.r.t. (A, Φ) iff F × X is opaque w.r.t. to (A ⊗ Φ, Σ). Consequence: Problem 3 is PSPACE-complete. How to compare dynamic filters ?

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 16 / 27

slide-44
SLIDE 44

Checking Opacity for Finite State Filters

Opacity for Finite State Filters

Input: A, F, Φ a finite state filter. Problem: Is F opaque w.r.t. (A, Φ) ? To check opacity, build a product A ⊗ Φ

1

initial state (q0, x0)

2

(q, x)

λ

– – → (q′, x′) iff q

λ

– – →A q′, x

λ

– – →Φ x′ and λ ∈ L(x);

3

(q, x)

ε

– – → (q′, x) iff q

λ

– – →A q′ and λ ∈ L(x).

Theorem

F is opaque w.r.t. (A, Φ) iff F × X is opaque w.r.t. to (A ⊗ Φ, Σ). Consequence: Problem 3 is PSPACE-complete. How to compare dynamic filters ?

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 16 / 27

slide-45
SLIDE 45

Checking Opacity for Finite State Filters

Opacity for Finite State Filters

Input: A, F, Φ a finite state filter. Problem: Is F opaque w.r.t. (A, Φ) ? To check opacity, build a product A ⊗ Φ

1

initial state (q0, x0)

2

(q, x)

λ

– – → (q′, x′) iff q

λ

– – →A q′, x

λ

– – →Φ x′ and λ ∈ L(x);

3

(q, x)

ε

– – → (q′, x) iff q

λ

– – →A q′ and λ ∈ L(x).

Theorem

F is opaque w.r.t. (A, Φ) iff F × X is opaque w.r.t. to (A ⊗ Φ, Σ). Consequence: Problem 3 is PSPACE-complete. How to compare dynamic filters ?

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 16 / 27

slide-46
SLIDE 46

Checking Opacity for Finite State Filters

Opacity for Finite State Filters

Input: A, F, Φ a finite state filter. Problem: Is F opaque w.r.t. (A, Φ) ? To check opacity, build a product A ⊗ Φ

1

initial state (q0, x0)

2

(q, x)

λ

– – → (q′, x′) iff q

λ

– – →A q′, x

λ

– – →Φ x′ and λ ∈ L(x);

3

(q, x)

ε

– – → (q′, x) iff q

λ

– – →A q′ and λ ∈ L(x).

Theorem

F is opaque w.r.t. (A, Φ) iff F × X is opaque w.r.t. to (A ⊗ Φ, Σ). Consequence: Problem 3 is PSPACE-complete. How to compare dynamic filters ?

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 16 / 27

slide-47
SLIDE 47

Comparison of Dynamic Filters

2 1 b a a b x1 x2 b a a, b x1 b a A Φ1 Φ2 Disabling/Hiding an action costs 1 per time unit (1 t.u. = step of A) On input word bn

◮ cost of Φ1 is n ◮ cost of Φ2 is 0

Φ2 is better than Φ1 Need to define a cost measure for dynamic filters

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 17 / 27

slide-48
SLIDE 48

Comparison of Dynamic Filters

2 1 b a a b x1 x2 b a a, b x1 b a A Φ1 Φ2 Disabling/Hiding an action costs 1 per time unit (1 t.u. = step of A) On input word bn

◮ cost of Φ1 is n ◮ cost of Φ2 is 0

Φ2 is better than Φ1 Need to define a cost measure for dynamic filters

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 17 / 27

slide-49
SLIDE 49

Computing the Cost of a Given Filter

A run of A: ρ = q0

λ1

– – – → q1 · · · qn–1

λn

– – – → qn Φ = (X, x0, Σ, δo, L) a filter, and xi = δo(x0, wi) with wi = λ1 · · · λi C : 2Σ → N: Cost of hiding a subset of Σ Average Cost on a run ρ Cost(ρ, Φ) = Cost(ρ) |ρ| + 1 = Σi=0..n C(Σ \ L(xi)) n + 1 . Maximal Cost on runs of A of length n Cost(n, A, Φ) = max{ Cost(ρ, Φ) for ρ ∈ Runsn(A) }. Cost of a pair (A, Φ) Cost(A, Φ) = lim sup

n→∞

Cost(n, A, Φ)

Theorem

For finite state filters, Cost(A, Φ) can be computed in PTIME. Use Karp’s Maximum Mean-weight Cycle Algorithm [Karp, 1978]

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 18 / 27

slide-50
SLIDE 50

Computing the Cost of a Given Filter

A run of A: ρ = q0

λ1

– – – → q1 · · · qn–1

λn

– – – → qn Φ = (X, x0, Σ, δo, L) a filter, and xi = δo(x0, wi) with wi = λ1 · · · λi C : 2Σ → N: Cost of hiding a subset of Σ Average Cost on a run ρ Cost(ρ, Φ) = Cost(ρ) |ρ| + 1 = Σi=0..n C(Σ \ L(xi)) n + 1 . Maximal Cost on runs of A of length n Cost(n, A, Φ) = max{ Cost(ρ, Φ) for ρ ∈ Runsn(A) }. Cost of a pair (A, Φ) Cost(A, Φ) = lim sup

n→∞

Cost(n, A, Φ)

Theorem

For finite state filters, Cost(A, Φ) can be computed in PTIME. Use Karp’s Maximum Mean-weight Cycle Algorithm [Karp, 1978]

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 18 / 27

slide-51
SLIDE 51

Computing the Cost of a Given Filter

A run of A: ρ = q0

λ1

– – – → q1 · · · qn–1

λn

– – – → qn Φ = (X, x0, Σ, δo, L) a filter, and xi = δo(x0, wi) with wi = λ1 · · · λi C : 2Σ → N: Cost of hiding a subset of Σ Average Cost on a run ρ Cost(ρ, Φ) = Cost(ρ) |ρ| + 1 = Σi=0..n C(Σ \ L(xi)) n + 1 . Maximal Cost on runs of A of length n Cost(n, A, Φ) = max{ Cost(ρ, Φ) for ρ ∈ Runsn(A) }. Cost of a pair (A, Φ) Cost(A, Φ) = lim sup

n→∞

Cost(n, A, Φ)

Theorem

For finite state filters, Cost(A, Φ) can be computed in PTIME. Use Karp’s Maximum Mean-weight Cycle Algorithm [Karp, 1978]

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 18 / 27

slide-52
SLIDE 52

Computing the Cost of a Given Filter

A run of A: ρ = q0

λ1

– – – → q1 · · · qn–1

λn

– – – → qn Φ = (X, x0, Σ, δo, L) a filter, and xi = δo(x0, wi) with wi = λ1 · · · λi C : 2Σ → N: Cost of hiding a subset of Σ Average Cost on a run ρ Cost(ρ, Φ) = Cost(ρ) |ρ| + 1 = Σi=0..n C(Σ \ L(xi)) n + 1 . Maximal Cost on runs of A of length n Cost(n, A, Φ) = max{ Cost(ρ, Φ) for ρ ∈ Runsn(A) }. Cost of a pair (A, Φ) Cost(A, Φ) = lim sup

n→∞

Cost(n, A, Φ)

Theorem

For finite state filters, Cost(A, Φ) can be computed in PTIME. Use Karp’s Maximum Mean-weight Cycle Algorithm [Karp, 1978]

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 18 / 27

slide-53
SLIDE 53

Computing the Cost of a Given Filter

A run of A: ρ = q0

λ1

– – – → q1 · · · qn–1

λn

– – – → qn Φ = (X, x0, Σ, δo, L) a filter, and xi = δo(x0, wi) with wi = λ1 · · · λi C : 2Σ → N: Cost of hiding a subset of Σ Average Cost on a run ρ Cost(ρ, Φ) = Cost(ρ) |ρ| + 1 = Σi=0..n C(Σ \ L(xi)) n + 1 . Maximal Cost on runs of A of length n Cost(n, A, Φ) = max{ Cost(ρ, Φ) for ρ ∈ Runsn(A) }. Cost of a pair (A, Φ) Cost(A, Φ) = lim sup

n→∞

Cost(n, A, Φ)

Theorem

For finite state filters, Cost(A, Φ) can be computed in PTIME. Use Karp’s Maximum Mean-weight Cycle Algorithm [Karp, 1978]

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 18 / 27

slide-54
SLIDE 54

Bounded Cost Filter

Problem 4: Bounded Cost Filter

Inputs: a NDA A = (Q, q0, Σ, δ, F) and an integer k ∈ N. Problems: Assume F is opaque w.r.t. (A, ∅). (A) Is there any Φ s.t. F is opaque w.r.t. (A, Φ) and Cost(A, Φ) ≤ k ? (B) If the answer to (A) is “yes”, compute a witness filter. Steps to solve Problem 4 Step 1: compute the most permissive filter MPΦ see Problem 5 next Step 2: check wether some filter in MPΦ costs less than k

Theorem

There is finite state most permissive filter (EXPTIME) for A.

Theorem

Problems 4.(A) and 4.(B) can be solved in EXPTIME.

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 19 / 27

slide-55
SLIDE 55

Bounded Cost Filter

Problem 4: Bounded Cost Filter

Inputs: a NDA A = (Q, q0, Σ, δ, F) and an integer k ∈ N. Problems: Assume F is opaque w.r.t. (A, ∅). (A) Is there any Φ s.t. F is opaque w.r.t. (A, Φ) and Cost(A, Φ) ≤ k ? (B) If the answer to (A) is “yes”, compute a witness filter. Steps to solve Problem 4 Step 1: compute the most permissive filter MPΦ see Problem 5 next Step 2: check wether some filter in MPΦ costs less than k

Theorem

There is finite state most permissive filter (EXPTIME) for A.

Theorem

Problems 4.(A) and 4.(B) can be solved in EXPTIME.

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 19 / 27

slide-56
SLIDE 56

Bounded Cost Filter

Problem 4: Bounded Cost Filter

Inputs: a NDA A = (Q, q0, Σ, δ, F) and an integer k ∈ N. Problems: Assume F is opaque w.r.t. (A, ∅). (A) Is there any Φ s.t. F is opaque w.r.t. (A, Φ) and Cost(A, Φ) ≤ k ? (B) If the answer to (A) is “yes”, compute a witness filter. Steps to solve Problem 4 Step 1: compute the most permissive filter MPΦ see Problem 5 next Step 2: check wether some filter in MPΦ costs less than k

Theorem

There is finite state most permissive filter (EXPTIME) for A.

Theorem

Problems 4.(A) and 4.(B) can be solved in EXPTIME.

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 19 / 27

slide-57
SLIDE 57

Problem 5 as a Game Problem

Reduce Problem 5 to a safety 2-player game Player 1 chooses what to hide Player 2 tries to observe F 2 1 a b a b 1 1.b 1.a 1.ab {a} {b} {a, b} 12 2 a b a, b 12.b 12.a 12.ab {a} {b} {a, b} 2.a 2.b 2.ab {a} {b} {a, b} a b a, b a b a, b

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 20 / 27

slide-58
SLIDE 58

Problem 5 as a Game Problem

Reduce Problem 5 to a safety 2-player game Player 1 chooses what to hide Player 2 tries to observe F 2 1 a b a b 1 1.b 1.a 1.ab {a} {b} {a, b} 12 2 a b a, b 12.b 12.a 12.ab {a} {b} {a, b} 2.a 2.b 2.ab {a} {b} {a, b} a b a, b a b a, b

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 20 / 27

slide-59
SLIDE 59

Problem 5 as a Game Problem

Reduce Problem 5 to a safety 2-player game Player 1 chooses what to hide Player 2 tries to observe F 2 1 a b a b 1 1.b 1.a 1.ab {a} {b} {a, b} 12 2 a b a, b 12.b 12.a 12.ab {a} {b} {a, b} 2.a 2.b 2.ab {a} {b} {a, b} a b a, b a b a, b

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 20 / 27

slide-60
SLIDE 60

Problem 5 as a Game Problem

Reduce Problem 5 to a safety 2-player game Player 1 chooses what to hide Player 2 tries to observe F 2 1 a b a b 1 1.b 1.a 1.ab {a} {b} {a, b} 12 2 a b a, b 12.b 12.a 12.ab {a} {b} {a, b} 2.a 2.b 2.ab {a} {b} {a, b} a b a, b a b a, b

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 20 / 27

slide-61
SLIDE 61

Problem 5 as a Game Problem

Reduce Problem 5 to a safety 2-player game Player 1 chooses what to hide Player 2 tries to observe F 2 1 a b a b 1 1.b 1.a 1.ab {a} {b} {a, b} 12 2 a b a, b 12.b 12.a 12.ab {a} {b} {a, b} 2.a 2.b 2.ab {a} {b} {a, b} a b a, b a b a, b

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 20 / 27

slide-62
SLIDE 62

Problem 5 as a Game Problem

Reduce Problem 5 to a safety 2-player game Player 1 chooses what to hide Player 2 tries to observe F 2 1 a b a b 1 1.b 1.a 1.ab {a} {b} {a, b} 12 2 a b a, b 12.b 12.a 12.ab {a} {b} {a, b} 2.a 2.b 2.ab {a} {b} {a, b} a b a, b a b a, b

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 20 / 27

slide-63
SLIDE 63

Problem 5 as a Game Problem

Reduce Problem 5 to a safety 2-player game Player 1 chooses what to hide Player 2 tries to observe F 2 1 a b a b 1 1.b 1.a 1.ab {a} {b} {a, b} 12 2 a b a, b 12.b 12.a 12.ab {a} {b} {a, b} 2.a 2.b 2.ab {a} {b} {a, b} a b a, b a b a, b

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 20 / 27

slide-64
SLIDE 64

Problem 5 as a Game Problem

Reduce Problem 5 to a safety 2-player game Player 1 chooses what to hide Player 2 tries to observe F 2 1 a b a b 1 1.b 1.a 1.ab {a} {b} {a, b} 12 2 a b a, b 12.b 12.a 12.ab {a} {b} {a, b} 2.a 2.b 2.ab {a} {b} {a, b} a b a, b a b a, b

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 20 / 27

slide-65
SLIDE 65

Problem 5 as a Game Problem

Reduce Problem 5 to a safety 2-player game Player 1 chooses what to hide Player 2 tries to observe F 2 1 a b a b 1 1.b 1.a {a} {b} {a, b} 12 a b 12.b 12.a 12.ab {a} {b} {a, b} a b a, b The most permissive filter

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 20 / 27

slide-66
SLIDE 66

Results for Problem 5

Let G(A, Σ) be the game defined previously.

Theorem

if Φ is a filter s.t. F is opaque w.r.t. (A, Φ) then there is a corresponding winning strategy f(Φ) for Player 1 in G(A, Σ) if f is a winning strategy for Player 1 in G(A, Σ), there is a corresponding filter Φ(f) s.t. F is opaque w.r.t. (A, Φ(f)) Known Result: There is a memoryless most permissive strategy for any safety game.

Theorem

There is a finite memory (EXPTIME) most permissive filter MPΦ for A.

Proof.

G(A, Σ) has size exponential in A, Σ. Solving safety games can be done in linear time.

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 21 / 27

slide-67
SLIDE 67

Optimal Dynamic Filter

1 1.b 1.a {a} {b} 12 a b 12.b 12.a 12.ab {a} {b} {a, b} a b a, b The most permissive filter w = 1 w = 1 w = 1 w = 1 w = 0 Player 1 chooses what to hide: strategy f Player 2 chooses an action Add weight on Player 1’s choices Player 1 playing f and Player 2 produce weighted runs w(ρ) and Cost(ρ, f) = w(ρ)/(|ρ| + 1) Goal for Player 1: minimize lim supn→∞{ w(ρ)/(|ρ| + 1) |ρ ∈ Runsn(A) }

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 22 / 27

slide-68
SLIDE 68

Optimal Dynamic Filter

1 1.b 1.a {a} {b} 12 a b 12.b 12.a 12.ab {a} {b} {a, b} a b a, b The most permissive filter w = 1 w = 1 w = 1 w = 1 w = 0 Player 1 chooses what to hide: strategy f Player 2 chooses an action Add weight on Player 1’s choices Player 1 playing f and Player 2 produce weighted runs w(ρ) and Cost(ρ, f) = w(ρ)/(|ρ| + 1) Goal for Player 1: minimize lim supn→∞{ w(ρ)/(|ρ| + 1) |ρ ∈ Runsn(A) }

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 22 / 27

slide-69
SLIDE 69

Optimal Dynamic Filter

1 1.b 1.a {a} {b} 12 a b 12.b 12.a 12.ab {a} {b} {a, b} a b a, b The most permissive filter w = 1 w = 1 w = 1 w = 1 w = 0 Player 1 chooses what to hide: strategy f Player 2 chooses an action Add weight on Player 1’s choices Player 1 playing f and Player 2 produce weighted runs w(ρ) and Cost(ρ, f) = w(ρ)/(|ρ| + 1) Goal for Player 1: minimize lim supn→∞{ w(ρ)/(|ρ| + 1) |ρ ∈ Runsn(A) }

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 22 / 27

slide-70
SLIDE 70

Optimal Dynamic Filter

1 1.b 1.a {a} {b} 12 a b 12.b 12.a 12.ab {a} {b} {a, b} a b a, b The most permissive filter w = 1 w = 1 w = 1 w = 1 w = 0 Player 1 chooses what to hide: strategy f Player 2 chooses an action Add weight on Player 1’s choices Player 1 playing f and Player 2 produce weighted runs w(ρ) and Cost(ρ, f) = w(ρ)/(|ρ| + 1) Goal for Player 1: minimize lim supn→∞{ w(ρ)/(|ρ| + 1) |ρ ∈ Runsn(A) }

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 22 / 27

slide-71
SLIDE 71

Mean Payoff Games

[Zwick & Paterson, 1996]

Weighted two-player games Each state s has a weight w(s)

alternatively: weight on edges

Turn-based game Goal of the Players:

◮ Player 1: minimize l0 = lim sup w(ρ)/(|ρ| + 1) ◮ Player 2: maximize l1 = lim inf w(ρ)/(|ρ| + 1)

Results for weighted two-player games

[Zwick & Paterson, 1996]

There is a value ν ∈ Q s.t. each player has a memoryless strategy to ensure l0 ≤ ν and l1 ≥ ν ν can be effectively computed (PTIME) Memoryless strategies for both players can be effectively computed v-Winning Strategy for Player 1 = Optimal filter

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 23 / 27

slide-72
SLIDE 72

Mean Payoff Games

[Zwick & Paterson, 1996]

Weighted two-player games Each state s has a weight w(s)

alternatively: weight on edges

Turn-based game Goal of the Players:

◮ Player 1: minimize l0 = lim sup w(ρ)/(|ρ| + 1) ◮ Player 2: maximize l1 = lim inf w(ρ)/(|ρ| + 1)

Results for weighted two-player games

[Zwick & Paterson, 1996]

There is a value ν ∈ Q s.t. each player has a memoryless strategy to ensure l0 ≤ ν and l1 ≥ ν ν can be effectively computed (PTIME) Memoryless strategies for both players can be effectively computed v-Winning Strategy for Player 1 = Optimal filter

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 23 / 27

slide-73
SLIDE 73

Mean Payoff Games

[Zwick & Paterson, 1996]

Weighted two-player games Each state s has a weight w(s)

alternatively: weight on edges

Turn-based game Goal of the Players:

◮ Player 1: minimize l0 = lim sup w(ρ)/(|ρ| + 1) ◮ Player 2: maximize l1 = lim inf w(ρ)/(|ρ| + 1)

Results for weighted two-player games

[Zwick & Paterson, 1996]

There is a value ν ∈ Q s.t. each player has a memoryless strategy to ensure l0 ≤ ν and l1 ≥ ν ν can be effectively computed (PTIME) Memoryless strategies for both players can be effectively computed v-Winning Strategy for Player 1 = Optimal filter

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 23 / 27

slide-74
SLIDE 74

Results for Problem 4

Problem 4: Bounded Cost Filter

Inputs: a NDA A = (Q, q0, Σ, δ, F) and an integer k ∈ N. Problems: Assume F is opaque w.r.t. (A, ∅). (A) Is there any Φ s.t. F is opaque w.r.t. (A, Φ) and Cost(A, Φ) ≤ k ? (B) If the answer to (A) is “yes”, compute a witness filter. Solution for Problem 4

1

Compute the most permissive filter MPΦ

2

Build a weighted graph game: MPΦ × A

3

Use Zwick & Paterson’s algorithm to compute the value of the game

4

Compare k to the value of the game

Theorem

Problem 4 can be solved in EXPTIME. An optimal filter can be computed in EXPTIME.

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 24 / 27

slide-75
SLIDE 75

Results for Problem 4

Problem 4: Bounded Cost Filter

Inputs: a NDA A = (Q, q0, Σ, δ, F) and an integer k ∈ N. Problems: Assume F is opaque w.r.t. (A, ∅). (A) Is there any Φ s.t. F is opaque w.r.t. (A, Φ) and Cost(A, Φ) ≤ k ? (B) If the answer to (A) is “yes”, compute a witness filter. Solution for Problem 4

1

Compute the most permissive filter MPΦ

2

Build a weighted graph game: MPΦ × A

3

Use Zwick & Paterson’s algorithm to compute the value of the game

4

Compare k to the value of the game

Theorem

Problem 4 can be solved in EXPTIME. An optimal filter can be computed in EXPTIME.

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 24 / 27

slide-76
SLIDE 76

Results for Problem 4

Problem 4: Bounded Cost Filter

Inputs: a NDA A = (Q, q0, Σ, δ, F) and an integer k ∈ N. Problems: Assume F is opaque w.r.t. (A, ∅). (A) Is there any Φ s.t. F is opaque w.r.t. (A, Φ) and Cost(A, Φ) ≤ k ? (B) If the answer to (A) is “yes”, compute a witness filter. Solution for Problem 4

1

Compute the most permissive filter MPΦ

2

Build a weighted graph game: MPΦ × A

3

Use Zwick & Paterson’s algorithm to compute the value of the game

4

Compare k to the value of the game

Theorem

Problem 4 can be solved in EXPTIME. An optimal filter can be computed in EXPTIME.

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 24 / 27

slide-77
SLIDE 77

Results for Problem 4

Problem 4: Bounded Cost Filter

Inputs: a NDA A = (Q, q0, Σ, δ, F) and an integer k ∈ N. Problems: Assume F is opaque w.r.t. (A, ∅). (A) Is there any Φ s.t. F is opaque w.r.t. (A, Φ) and Cost(A, Φ) ≤ k ? (B) If the answer to (A) is “yes”, compute a witness filter. Solution for Problem 4

1

Compute the most permissive filter MPΦ

2

Build a weighted graph game: MPΦ × A

3

Use Zwick & Paterson’s algorithm to compute the value of the game

4

Compare k to the value of the game

Theorem

Problem 4 can be solved in EXPTIME. An optimal filter can be computed in EXPTIME.

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 24 / 27

slide-78
SLIDE 78

Outline

1

Opacity for Finite State Systems What is Opacity? Opacity for Non-Deterministic Automata Algorithms for Checking Opacity

2

Minimization Problem with Static Filters

3

Minimization Problem with Dynamic Filters Opacity with Dynamic Filters Checking Opacity with Dynamic Filters Cost of a Dynamic Filter Computing the Cost of a Given Filter Minimization Problem Computation of the Most Permissive Filter Computing an Optimal Dynamic Filter

4

Summary & Future Work

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 25 / 27

slide-79
SLIDE 79

Results and Future Work

Summary of the Results Opacity with dynamic filters

Secret can also be given by a regular language

Cost & computation of the cost of a dynamic filter Existence & computation of the most permissive filter Existence of a finite optimal dynamic observer Effective computation of the optimal dynamic observer Extended version in [CDM, Tech. Rep., 2009] Future Work Exact complexity of Problem 4 (EXPTIME-hardness) Extend to masks (renaming of events) Add new constraints to increase the Quality of Services

e.g. availability properties

Implement the algorithms

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 26 / 27

slide-80
SLIDE 80

Results and Future Work

Summary of the Results Opacity with dynamic filters

Secret can also be given by a regular language

Cost & computation of the cost of a dynamic filter Existence & computation of the most permissive filter Existence of a finite optimal dynamic observer Effective computation of the optimal dynamic observer Extended version in [CDM, Tech. Rep., 2009] Future Work Exact complexity of Problem 4 (EXPTIME-hardness) Extend to masks (renaming of events) Add new constraints to increase the Quality of Services

e.g. availability properties

Implement the algorithms

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 26 / 27

slide-81
SLIDE 81

Some References

[Bryans et al., 2008] Bryans, J., Koutny, M., Mazaré, L., & Ryan, P. 2008. Opacity generalised to transition systems. International Journal of Information Security, 7(6), 421–435. [CDM, Tech. Rep., 2009] Cassez, Franck, Dubreil, Jérémy, & Marchand, Hervé. 2009 (May). Dynamic Observers for the Synthesis of Opaque Systems.

  • Tech. rept. 1930. IRISA.

available at http://www.irisa.fr/prive/hmarchand/rr-observer.pdf. [Dubreil et al., 2008] Dubreil, Jérémy, Darondeau, Philippe, & Marchand, Hervé. 2008 (May). Opacity Enforcing Control Synthesis. Pages 28–35 of: Proceedings of the 9th International Workshop on Discrete Event Systems (WODES’08). [Karp, 1978] Karp, Richard M. 1978. A characterization of the minimum mean cycle in a digraph. Discrete Mathematics, 23, 309–311. [Mazaré, 2004] Mazaré, Laurent. 2004. Using Unification for Opacity Properties. Pages 165–176 of: Proceedings of the 4th IFIP WG1.7 Workshop on Issues in the Theory of Security (WITS’04). [Zwick & Paterson, 1996] Zwick, U., & Paterson, M. 1996. The complexity of mean payoff games on graphs. Theoretical Computer Science, 158(1–2), 343–359.

  • F. Cassez, J. Dubreil, H. Marchand

Dynamic Observers for the Synthesis of Opaque Systems 27 / 27