dynamic observers for the synthesis of opaque systems
play

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


  1. Dynamic Observers for the Synthesis of Opaque Systems Franck Cassez 1 , Jérémy Dubreil 2 and Hervé Marchand 2 1 NICTA & CNRS 2 INRIA/IRISA Sydney Rennes Bretagne Atlantique France Australia ATVA’09, Macau SAR October 13–16, 2009

  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

  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

  4. Outline of the Talk Opacity for Finite State Systems 1 What is Opacity? Opacity for Non-Deterministic Automata Algorithms for Checking Opacity Minimization Problem with Static Filters 2 Minimization Problem with Dynamic Filters 3 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 Summary & Future Work 4 F. Cassez, J. Dubreil, H. Marchand Dynamic Observers for the Synthesis of Opaque Systems 3 / 27

  5. Outline Opacity for Finite State Systems 1 What is Opacity? Opacity for Non-Deterministic Automata Algorithms for Checking Opacity Minimization Problem with Static Filters 2 Minimization Problem with Dynamic Filters 3 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 Summary & Future Work 4 F. Cassez, J. Dubreil, H. Marchand Dynamic Observers for the Synthesis of Opaque Systems 4 / 27

  6. What is Opacity? System S Secret F Secret = set of states b a Events in Σ o ⊆ Σ are observable Example: Σ o = { b } c b Σ = { a, b, c } F. Cassez, J. Dubreil, H. Marchand Dynamic Observers for the Synthesis of Opaque Systems 5 / 27

  7. What is Opacity? System S Secret F Secret = set of states b a Events in Σ o ⊆ Σ are observable Example: Σ o = { b } c b Σ = { a, b, c } 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

  8. What is Opacity? System S Secret F Secret = set of states b a Events in Σ o ⊆ Σ are observable Example: Σ o = { b } c Secret F is opaque b Σ = { a, b, c } 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

  9. What is Opacity? System S Secret F Secret = set of states b a Events in Σ o ⊆ Σ are observable Example: Σ o = { a, b } c Secret F is not opaque b Σ = { a, b, c } 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

  10. What is Opacity? System S Secret F Secret = set of states b a Events in Σ o ⊆ Σ are observable Example: Σ o = { b } c Secret F is not opaque b Σ = { a, b, c } 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

  11. What is Opacity? System S Secret F Secret = set of states b a Events in Σ o ⊆ Σ are observable Example: Σ o = { b } c b Σ = { a, b, c } 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

  12. What is Opacity? System S Secret F Secret = set of states b a Events in Σ o ⊆ Σ are observable Example: Σ o = { b } c b Σ = { a, b, c } 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

  13. Opacity for Non-Deterministic Automata A = ( Q, q 0 , Σ, δ, F ) a NDA F set of secret states Σ o ⊆ Σ set of observable events v = P ( u ) ∈ Σ ∗ u ∈ Σ ∗ o Projection P NDA A Attacker 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

  14. Opacity for Non-Deterministic Automata A = ( Q, q 0 , Σ, δ, F ) a NDA F set of secret states Σ o ⊆ Σ set of observable events v = P ( u ) ∈ Σ ∗ u ∈ Σ ∗ o Projection P NDA A Attacker 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

  15. Opacity for Non-Deterministic Automata A = ( Q, q 0 , Σ, δ, F ) a NDA F set of secret states Σ o ⊆ Σ set of observable events v = P ( u ) ∈ Σ ∗ u ∈ Σ ∗ o Projection P NDA A Attacker 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

  16. Knowledge Set of the Attacker Tr ( A ) = set of words generated by A P is the projection over Σ o ⊆ Σ P – 1 : Σ ∗ P – 1 ( w ) = set of words which project onto w o → 2 Σ ∗ Pre( ε ) = { ε } and Pre( u.λ ) = P – 1 ( u ) .λ ∩ Tr ( A ) Knowledge set of U : K Σ o ( u ) = δ ( q 0 , 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

  17. Knowledge Set of the Attacker Tr ( A ) = set of words generated by A P is the projection over Σ o ⊆ Σ P – 1 : Σ ∗ P – 1 ( w ) = set of words which project onto w o → 2 Σ ∗ Pre( ε ) = { ε } and Pre( u.λ ) = P – 1 ( u ) .λ ∩ Tr ( A ) Knowledge set of U : K Σ o ( u ) = δ ( q 0 , Pre( u )) Example a Σ o = { b } b q 4 q 5 q 6 a,b P ( b.b.a.b.a ) = b.b.b b P – 1 ( b ) = a ∗ .b.a ∗ b a Pre( b ) = { b, a.b } K Σ o ( b ) = { q 0 , q 5 , q 2 } a b a q 0 q 1 q 2 q 3 a,b F. Cassez, J. Dubreil, H. Marchand Dynamic Observers for the Synthesis of Opaque Systems 7 / 27

  18. Knowledge Set of the Attacker Tr ( A ) = set of words generated by A P is the projection over Σ o ⊆ Σ P – 1 : Σ ∗ P – 1 ( w ) = set of words which project onto w o → 2 Σ ∗ Pre( ε ) = { ε } and Pre( u.λ ) = P – 1 ( u ) .λ ∩ Tr ( A ) Knowledge set of U : K Σ o ( u ) = δ ( q 0 , 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

  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 L F ( A ) = Σ ∗ . Assume A is complete i.e. Tr ( A ) = Σ ∗ . Reduction: A is universal iff Q \ F is opaque for ( A, Σ ). Algorithm to Check Opacity Subset construction 1 check whether a subset S ⊆ F is reachable 2 What if the system is NOT opaque ? F. Cassez, J. Dubreil, H. Marchand Dynamic Observers for the Synthesis of Opaque Systems 8 / 27

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend