Syntactic Criteria for Language-Based Noninterference Andrei - - PowerPoint PPT Presentation

syntactic criteria for language based noninterference
SMART_READER_LITE
LIVE PREVIEW

Syntactic Criteria for Language-Based Noninterference Andrei - - PowerPoint PPT Presentation

Syntactic Criteria for Language-Based Noninterference Andrei Popescu, Johannes H olzl, Tobias Nipkow Fakult at f ur Informatik Technische Universit at M unchen Goal of This Talk Exhibit a uniform pattern behind syntactic


slide-1
SLIDE 1

Syntactic Criteria for Language-Based Noninterference

Andrei Popescu, Johannes H¨

  • lzl, Tobias Nipkow

Fakult¨ at f¨ ur Informatik Technische Universit¨ at M¨ unchen

slide-2
SLIDE 2

Goal of This Talk

Exhibit a uniform pattern behind syntactic criteria for noninterference in a programming language

High points

  • both nondeterministic and probabilistic variants
  • uniform representation of several literature results
  • fully verified in Isabelle

Low points

  • only toy language
  • no flexible scheduler—only the uniform one
  • no fancy thread synchronization primitives
slide-3
SLIDE 3

Setting for Noninterference

  • Program runs operate on (memory) states
  • Assume attacker view of the state

modeled as an equivalence relation ∼ on states

  • Example
  • state = var → value
  • var separated into low and high variables
  • low means attacker-observable
  • s ∼ s1 iff s and s1 coincide on the low variables
  • this means attacker can only see the low variables
slide-4
SLIDE 4

End-to-End Noninterference

Program runs: s

c s′

Attacker sees: s/∼

c s′/∼

Noninterference: attacker cannot infer anything about s beyond s/∼ Nuances of noninterference:

  • What does it mean to see

c ?

  • only see/know the program c?
  • also detect potential nontermination?
  • also see the number of steps (running time)?
  • What does it mean to see s′/∼ ?
  • only see the actual outcome of one computation?
  • or run c multiple times and gather statistical

information about s′/∼?

slide-5
SLIDE 5

Bisimulation Noninterference

  • Attacker may observe not only the final state,

but also intermediate states

  • Modeled as a bisimulation relation on

configurations (c,s) or on programs c

  • Why?
  • Handle interactive programs
  • Compositional reasoning
  • Syntactic criteria (a.k.a. security type systems)
  • Typically: a bisim. nonint. is a sufficient

criterion for an end-to-end nonint.

slide-6
SLIDE 6

Compositional Reasoning

  • Wish: c ∥ d nonint. if c nonint. and d nonint.
  • Impossible if nonint. ignores the intermediate states

c

s

  • s
  • d

c ∥ d

s

slide-7
SLIDE 7

Overview

End-to-End Nonint. Scala Code

code generation

Bisimulation Nonint.

implies

Scala Code

code generation

Syntactic Criteria

hierarchy compositionality

slide-8
SLIDE 8

Overview

End-to-End Nonint. Scala Code

code generation

Bisimulation Nonint.

implies

Scala Code

code generation

Syntactic Criteria

hierarchy compositionality

slide-9
SLIDE 9

From End-to-End to Bisimulation Noninterference

End-to-end noninterference of c: s

c

single step

t

c

  • final statesmediate

Bisimilarity = binary generalization of bisimulation nonint. “c versus d” instead of “c versus itself” Suffices to focus on single steps of c basdsaq asasa

slide-10
SLIDE 10

From End-to-End to Bisimulation Noninterference

Bisimulation noninterference c: s

c

single step

t

c

∼ ○

intermediate states

In addition, what remains to be executed from (c,s) should be further bisimilar to what remains to be executed from (c,t) Bisimilarity = binary generalization of bisimulation nonint. “c versus d” instead of “c versus itself” Suffices to focus on single steps of c

slide-11
SLIDE 11

From End-to-End to Bisimulation Noninterference

Bisimilarity between c and d: s

c

single step

t

d

∼ ○

intermediate states

In addition, what remains to be executed from (c,s) should be further bisimilar to what remains to be executed from (d,t) Bisimilarity = binary generalization of bisimulation nonint.: “c versus d” instead of “c versus itself” Suffices to focus on single steps of c

slide-12
SLIDE 12

From End-to-End to Bisimulation Noninterference

Bisimilarity between c and d: s

c

single step

t

d

∼ ○

intermediate states

In addition, what remains to be executed from (c,s) should be further bisimilar to what remains to be executed from (c,t) Bisimilarity = binary generalization of bisimulation nonint.: “c versus d” instead of “c versus itself” Suffices to focus on single steps of c

slide-13
SLIDE 13

Bisimilarity: Summary

c ≈ d iff ∀ ∃ s

c

t

d

  • s′

∼ t′ c′ ≈ d′

slide-14
SLIDE 14

Variants of Bisimulation Nonint.

s

c

t

d

  • s′

∼ t′

  • Discreetness discr: never change the indis. class of state
  • Self-isomorphism siso: 1 versus 1, identity on commands
  • Strong bisimilarity ≈S: 1 versus 1
  • 01-bisimilarity ≈01: 1 versus 0 or 1
  • Weak bisimilarity ≈W: 1 versus 0 or more
  • Termination-sensitive: s′ final iff t′ final ≈01T, ≈WT
slide-15
SLIDE 15

Overview

End-to-End Nonint. Scala Code

code generation

Bisimulation Nonint.

implies

Scala Code

code generation

Syntactic Criteria

hierarchy compositionality

slide-16
SLIDE 16

Overview

End-to-End Nonint. Scala Code

code generation

Bisimulation Nonint.

implies

Scala Code

code generation

Syntactic Criteria

hierarchy compositionality

slide-17
SLIDE 17

Hierarchy

c ≈w c c ≈01 c

  • c ≈wT c
  • c ≈01T c
  • discr c
  • c ≈s c
  • discr c ∧ finite c
  • siso c
slide-18
SLIDE 18

Language

While language augmented with parallel composition c ∶∶= atm ∣ c1 ;c2 ∣ If tst c1 c2 ∣ While tst c ∣ c1 ∥ c2

Imperative state-based semantics Atoms (atomic commands) interpreted as state transf. Tests interpreted as state predicates Interleaving semantics for ∥

slide-19
SLIDE 19

Compositionality

c finite c discr c ϕ c ψ c atm True pres atm compat atm compat atm c1 ; c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψT c1 ψ c2 ψ c1 discr c2 If tst c1 c2 finite c1 finite c2 discr c1 discr c2 compat tst ϕ c1 ϕ c2 compat tst ψ c1 ψ c2 While tst d False discr d compat tst ϕ d False c1 ∥ c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψ c1 ψ c2

ϕ ∈ {siso, ≈s, ≈01T, ≈wT} ψ ∈ {≈01, ≈w} ψT = termination-sensitive version of ψ

slide-20
SLIDE 20

Compositionality

c finite c discr c ϕ c ψ c atm True pres atm compat atm compat atm c1 ; c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψT c1 ψ c2 ψ c1 discr c2 If tst c1 c2 finite c1 finite c2 discr c1 discr c2 compat tst ϕ c1 ϕ c2 compat tst ψ c1 ψ c2 While tst d False discr d compat tst ϕ d False c1 ∥ c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψ c1 ψ c2

ϕ ∈ {siso, ≈s, ≈01T, ≈wT} ψ ∈ {≈01, ≈w} ψT = termination-sensitive version of ψ

slide-21
SLIDE 21

From Compositionality and Hierarchy to Syntactic Criteria

c finite c discr c ϕ c ψ c atm True pres atm compat atm compat atm c1 ; c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψT c1 ψ c2 ψ c1 discr c2 If tst c1 c2 finite c1 finite c2 discr c1 discr c2 compat tst ϕ c1 ϕ c2 compat tst ψ c1 ψ c2 While tst d False discr d compat tst ϕ d False c1 ∥ c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψ c1 ψ c2 c ≈w c c ≈01 c

  • c ≈wT c
  • c ≈01T c
  • discr c
  • c ≈s c
  • discr c ∧ finite c
  • siso c
  • l ∶= 4 ; if h = 0 then {h ∶= 1; h ∶= 2} else h ∶= 3
slide-22
SLIDE 22

From Compositionality and Hierarchy to Syntactic Criteria

c finite c discr c ϕ c ψ c atm True pres atm compat atm compat atm c1 ; c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψT c1 ψ c2 ψ c1 discr c2 If tst c1 c2 finite c1 finite c2 discr c1 discr c2 compat tst ϕ c1 ϕ c2 compat tst ψ c1 ψ c2 While tst d False discr d compat tst ϕ d False c1 ∥ c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψ c1 ψ c2 c ≈w c c ≈01 c

  • c ≈wT c
  • c ≈01T c
  • discr c
  • c ≈s c
  • discr c ∧ finite c
  • siso c
  • l ∶= 4 ; if h = 0 then {h ∶= 1; h ∶= 2} else h ∶= 3
slide-23
SLIDE 23

From Compositionality and Hierarchy to Syntactic Criteria

c finite c discr c ϕ c ψ c atm True pres atm compat atm compat atm c1 ; c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψT c1 ψ c2 ψ c1 discr c2 If tst c1 c2 finite c1 finite c2 discr c1 discr c2 compat tst ϕ c1 ϕ c2 compat tst ψ c1 ψ c2 While tst d False discr d compat tst ϕ d False c1 ∥ c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψ c1 ψ c2 c ≈w c c ≈01 c

  • c ≈wT c
  • c ≈01T c
  • discr c
  • c ≈s c
  • discr c ∧ finite c
  • siso c
  • l ∶= 4 ; if h = 0 then {h ∶= 1; h ∶= 2} else h ∶= 3
slide-24
SLIDE 24

From Compositionality and Hierarchy to Syntactic Criteria

c finite c discr c ϕ c ψ c atm True pres atm compat atm compat atm c1 ; c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψT c1 ψ c2 ψ c1 discr c2 If tst c1 c2 finite c1 finite c2 discr c1 discr c2 compat tst ϕ c1 ϕ c2 compat tst ψ c1 ψ c2 While tst d False discr d compat tst ϕ d False c1 ∥ c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψ c1 ψ c2 c ≈w c c ≈01 c

  • c ≈wT c
  • c ≈01T c
  • discr c
  • c ≈s c
  • discr c ∧ finite c
  • siso c
  • l ∶= 4 ; if h = 0 then {h ∶= 1; h ∶= 2} else h ∶= 3
slide-25
SLIDE 25

From Compositionality and Hierarchy to Syntactic Criteria

c finite c discr c ϕ c ψ c atm True pres atm compat atm compat atm c1 ; c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψT c1 ψ c2 ψ c1 discr c2 If tst c1 c2 finite c1 finite c2 discr c1 discr c2 compat tst ϕ c1 ϕ c2 compat tst ψ c1 ψ c2 While tst d False discr d compat tst ϕ d False c1 ∥ c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψ c1 ψ c2 c ≈w c c ≈01 c

  • c ≈wT c
  • c ≈01T c
  • discr c
  • c ≈s c
  • discr c ∧ finite c
  • siso c
  • l ∶= 4 ; if h = 0 then {h ∶= 1; h ∶= 2} else h ∶= 3
slide-26
SLIDE 26

From Compositionality and Hierarchy to Syntactic Criteria

c finite c discr c ϕ c ψ c atm True pres atm compat atm compat atm c1 ; c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψT c1 ψ c2 ψ c1 discr c2 If tst c1 c2 finite c1 finite c2 discr c1 discr c2 compat tst ϕ c1 ϕ c2 compat tst ψ c1 ψ c2 While tst d False discr d compat tst ϕ d False c1 ∥ c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψ c1 ψ c2 c ≈w c c ≈01 c

  • c ≈wT c
  • c ≈01T c
  • discr c
  • c ≈s c
  • discr c ∧ finite c
  • siso c
  • l ∶= 4 ; if h = 0 then {h ∶= 1; h ∶= 2} else h ∶= 3
slide-27
SLIDE 27

From Compositionality and Hierarchy to Syntactic Criteria

c finite c discr c ϕ c ψ c atm True pres atm compat atm compat atm c1 ; c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψT c1 ψ c2 ψ c1 discr c2 If tst c1 c2 finite c1 finite c2 discr c1 discr c2 compat tst ϕ c1 ϕ c2 compat tst ψ c1 ψ c2 While tst d False discr d compat tst ϕ d False c1 ∥ c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψ c1 ψ c2 c ≈w c c ≈01 c

  • c ≈wT c
  • c ≈01T c
  • discr c
  • c ≈s c
  • discr c ∧ finite c
  • siso c
  • l ∶= 4 ; if h = 0 then {h ∶= 1; h ∶= 2} else h ∶= 3
slide-28
SLIDE 28

From Compositionality and Hierarchy to Syntactic Criteria

c finite c discr c ϕ c ψ c atm True pres atm compat atm compat atm c1 ; c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψT c1 ψ c2 ψ c1 discr c2 If tst c1 c2 finite c1 finite c2 discr c1 discr c2 compat tst ϕ c1 ϕ c2 compat tst ψ c1 ψ c2 While tst d False discr d compat tst ϕ d False c1 ∥ c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψ c1 ψ c2 c ≈w c c ≈01 c

  • c ≈wT c
  • c ≈01T c
  • discr c
  • c ≈s c
  • discr c ∧ finite c
  • siso c
  • l ∶= 4 ; if h = 0 then {h ∶= 1; h ∶= 2} else h ∶= 3
slide-29
SLIDE 29

From Compositionality and Hierarchy to Syntactic Criteria

c finite c discr c ϕ c ψ c atm True pres atm compat atm compat atm c1 ; c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψT c1 ψ c2 ψ c1 discr c2 If tst c1 c2 finite c1 finite c2 discr c1 discr c2 compat tst ϕ c1 ϕ c2 compat tst ψ c1 ψ c2 While tst d False discr d compat tst ϕ d False c1 ∥ c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψ c1 ψ c2 c ≈w c c ≈01 c

  • c ≈wT c
  • c ≈01T c
  • discr c
  • c ≈s c
  • discr c ∧ finite c
  • siso c
  • l ∶= 4 ; if h = 0 then {h ∶= 1; h ∶= 2} else h ∶= 3
slide-30
SLIDE 30

From Compositionality and Hierarchy to Syntactic Criteria

c finite c discr c ϕ c ψ c atm True pres atm compat atm compat atm c1 ; c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψT c1 ψ c2 ψ c1 discr c2 If tst c1 c2 finite c1 finite c2 discr c1 discr c2 compat tst ϕ c1 ϕ c2 compat tst ψ c1 ψ c2 While tst d False discr d compat tst ϕ d False c1 ∥ c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψ c1 ψ c2 c ≈w c c ≈01 c

  • c ≈wT c
  • c ≈01T c
  • discr c
  • c ≈s c
  • discr c ∧ finite c
  • siso c
  • l ∶= 4 ; if h = 0 then {h ∶= 1; h ∶= 2} else h ∶= 3
slide-31
SLIDE 31

From Compositionality and Hierarchy to Syntactic Criteria

c finite c discr c ϕ c ψ c atm True pres atm compat atm compat atm c1 ; c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψT c1 ψ c2 ψ c1 discr c2 If tst c1 c2 finite c1 finite c2 discr c1 discr c2 compat tst ϕ c1 ϕ c2 compat tst ψ c1 ψ c2 While tst d False discr d compat tst ϕ d False c1 ∥ c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψ c1 ψ c2 c ≈w c c ≈01 c

  • c ≈wT c
  • c ≈01T c
  • discr c
  • c ≈s c
  • discr c ∧ finite c
  • siso c
  • l ∶= 4 ; if h = 0 then {h ∶= 1; h ∶= 2} else h ∶= 3
slide-32
SLIDE 32

From Compositionality and Hierarchy to Syntactic Criteria

c finite c discr c ϕ c ψ c atm True pres atm compat atm compat atm c1 ; c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψT c1 ψ c2 ψ c1 discr c2 If tst c1 c2 finite c1 finite c2 discr c1 discr c2 compat tst ϕ c1 ϕ c2 compat tst ψ c1 ψ c2 While tst d False discr d compat tst ϕ d False c1 ∥ c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψ c1 ψ c2 c ≈w c c ≈01 c

  • c ≈wT c
  • c ≈01T c
  • discr c
  • c ≈s c
  • discr c ∧ finite c
  • siso c
  • l ∶= 4 ; if h = 0 then {h ∶= 1; h ∶= 2} else h ∶= 3
slide-33
SLIDE 33

From Compositionality and Hierarchy to Syntactic Criteria

c finite c discr c ϕ c ψ c atm True pres atm compat atm compat atm c1 ; c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψT c1 ψ c2 ψ c1 discr c2 If tst c1 c2 finite c1 finite c2 discr c1 discr c2 compat tst ϕ c1 ϕ c2 compat tst ψ c1 ψ c2 While tst d False discr d compat tst ϕ d False c1 ∥ c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψ c1 ψ c2 c ≈w c c ≈01 c

  • c ≈wT c
  • c ≈01T c
  • discr c
  • c ≈s c
  • discr c ∧ finite c
  • siso c
  • l ∶= 4 ; if h = 0 then {h ∶= 1;h ∶= 2} else h ∶= 3
slide-34
SLIDE 34

From Compositionality and Hierarchy to Syntactic Criteria

c finite c discr c ϕ c ψ c atm True pres atm compat atm compat atm c1 ; c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψT c1 ψ c2 ψ c1 discr c2 If tst c1 c2 finite c1 finite c2 discr c1 discr c2 compat tst ϕ c1 ϕ c2 compat tst ψ c1 ψ c2 While tst d False discr d compat tst ϕ d False c1 ∥ c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψ c1 ψ c2 c ≈w c c ≈01 c

  • c ≈wT c
  • c ≈01T c
  • discr c
  • c ≈s c
  • discr c ∧ finite c
  • siso c
  • l ∶= 4 ; if h = 0 then {h ∶= 1; h ∶= 2} else h ∶= 3
slide-35
SLIDE 35

From Compositionality and Hierarchy to Syntactic Criteria

c finite c discr c ϕ c ψ c atm True pres atm compat atm compat atm c1 ; c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψT c1 ψ c2 ψ c1 discr c2 If tst c1 c2 finite c1 finite c2 discr c1 discr c2 compat tst ϕ c1 ϕ c2 compat tst ψ c1 ψ c2 While tst d False discr d compat tst ϕ d False c1 ∥ c2 finite c1 finite c2 discr c1 discr c2 ϕ c1 ϕ c2 ψ c1 ψ c2 c ≈w c c ≈01 c

  • c ≈wT c
  • c ≈01T c
  • discr c
  • c ≈s c
  • discr c ∧ finite c
  • siso c
  • l ∶= 4 ; if h = 0 then {h ∶= 1; h ∶= 2} else h ∶= 3

slide-36
SLIDE 36

Syntactic Criteria

  • Table-and-graph method produces, for each

notion of nonint. ≈, a recursive function ≈ on the syntax of programs

  • These correspond to ad hoc criteria proposed

in the literature, eg:

  • ≈wT: Smith and Volpano, POPL 1998
  • ≈01: Boudol and Castellani, TCS 2002
  • ≈w: Boudol, ICTAC 2005
  • This method is a uniform proof for the

soundness of all these criteria

slide-37
SLIDE 37

Overview

End-to-End Nonint. Scala Code

code generation

Bisimulation Nonint.

implies

Scala Code

code generation

Syntactic Criteria

hierarchy compositionality

slide-38
SLIDE 38

Overview

End-to-End Nonint. Scala Code

code generation

Bisimulation Nonint.

implies

Scala Code

code generation

Syntactic Criteria

hierarchy compositionality

slide-39
SLIDE 39

From Bisimulation Noninterference Back to End-to-End Noninterference

s

c

single step

t

c

  • final statesmediate

≈s: ∃ execution of equal length ≈01T: ∃ execution of smaller or equal length ≈wT: ∃ execution For the termination-insensitive notions: the same results, but conditioned by overall termination

slide-40
SLIDE 40

Extension to a Probabilistic Language?

Define notions of bisimulation noninterference that

  • are compositional and well-placed in “the hierarchy”
  • imply reasonable end-to-end probabilistic noninterference

End-to-End Nonint. Scala Code

code generation

Bisimulation Nonint. implies Scala Code

code generation

Syntactic Criteria hierarchy compositionality

slide-41
SLIDE 41

Probabilistic Language

c ∶∶= atm ∣ c1 ;c2 ∣ Ch ch c1 c2 ∣ While tst c ∣

Par [c1,...,cn] ∣ ParT [c1,...,cn]

Factor in probabilistic behavior

  • probabilistic choice in threads
  • Choices ch interpreted as state functions

state → [0,1]

  • if image is {0,1}, obtain If tests
  • if function is constant, obtain standard choice
  • uniform probabilistic scheduler
  • parallel composition now takes lists of threads

Semantics: Markov chain on command × state

slide-42
SLIDE 42

Compositionality and Hierarchy for Probabilistic Noninterference

c discr c siso c c ≈s c c ≈01 c atm pres atm compat atm compat atm compat atm c1 ; c2 discr c1 discr c2 siso c1 siso c2 siso c1 c2 ≈s c2 c1 ≈s c1 discr c2 siso c1 c2 ≈01 c2 c1 ≈01 c1 discr c2 Ch ch c1 c2 discr c1 discr c2 compat ch siso c1 siso c2 compat ch c1 ≈s c1 c2 ≈s c2 compat ch c1 ≈01 c1 c2 ≈01 c2 While tst d discr d compat tst siso d False False Par [c0, . . . , cn−1] discr cl 0 ≤ l < n siso cl 0 ≤ l < n cl ≈s cl 0 ≤ l < n False ParT [c0, . . . , cn−1] discr cl 0 ≤ l < n False False cl ≈s cl 0 ≤ l < n c ≈01 c c ≈s c

  • discr c
  • siso c
  • siso and discr: straightforward probabilistic adaptations
  • f the nondeterministic notions
  • ≈s: strong probabilistic bisimilarity (lumpability)
  • ≈01: relaxation allowing delays
slide-43
SLIDE 43

Strong Probabilistic Bisimilarity

c ≈s d iff ∀ ∃ s

c

t

d

  • P0,P1,...,Pn

∼ Q0,Q1,...,Qn prob(c,s,Pi) = prob(d,t,Qi) relative to P0 and Q0 (c′,s′) ∈ Pi ∧ (d′,t′) ∈ Qi → c′ ≈s d′ ∧ s′ ∼ t′ (c′,s′) ∈ P0 → c′ ≈01 c ∧ s′ ∼ t′

slide-44
SLIDE 44

01 Probabilistic Bisimilarity

c ≈01 d iff ∀ ∃ s

c

t

d

  • P0,P1,...,Pn

∼ Q0,Q1,...,Qn prob(c,s,Pi) = prob(d,t,Qi) relative to P0 and Q0 (c′,s′) ∈ Pi ∧ (d′,t′) ∈ Qi → c′ ≈01 d′ ∧ s′ ∼ t′ (c′,s′) ∈ P0 → c′ ≈s c ∧ s′ ∼ t′

slide-45
SLIDE 45

End-to-End Probabilistic Noninterference

c ≈01 c

if c terminates almost everywhere

c is end-secure

c ≈S c

  • c is any-moment secure
  • Any-moment security: for any two executions starting in

indistinguishable states and any given time, the probability of being at that time in any given indistinguishability class is the same End security: for any two executions starting in indistinguishable states, the probability of ending up in any given indistinguishability class is the same

slide-46
SLIDE 46

Comparison

Probabilistic noninterference

  • Less compositional
  • Termination-sensitive notions lacking
  • Relationship with end-to-end noninterference

nontrivial

slide-47
SLIDE 47

Conclusion

Hierarchy + Compositionality ⇒ Security Type Systems