Anonymity Networks Laslo Hunhold Mathematisches Institut - - PowerPoint PPT Presentation

anonymity networks
SMART_READER_LITE
LIVE PREVIEW

Anonymity Networks Laslo Hunhold Mathematisches Institut - - PowerPoint PPT Presentation

Anonymity Networks Laslo Hunhold Mathematisches Institut Universitt zu Kln 27th July 2017 In the lecture Information Theory and Statistical Physics by Prof. Dr. Johannes Berg motivation motivation hide initiator of a message in a


slide-1
SLIDE 1

Anonymity Networks

Laslo Hunhold

Mathematisches Institut Universität zu Köln

27th July 2017

In the lecture ‘Information Theory and Statistical Physics’ by Prof. Dr. Johannes Berg

slide-2
SLIDE 2

motivation

slide-3
SLIDE 3

motivation

◮ hide initiator of a message in a computer network

slide-4
SLIDE 4

motivation

◮ hide initiator of a message in a computer network ◮ safe whistleblowing under corporate and state surveillance

slide-5
SLIDE 5

motivation

◮ hide initiator of a message in a computer network ◮ safe whistleblowing under corporate and state surveillance ◮ ‘deniable communication’

slide-6
SLIDE 6

motivation

◮ hide initiator of a message in a computer network ◮ safe whistleblowing under corporate and state surveillance ◮ ‘deniable communication’ ◮ decentralized

slide-7
SLIDE 7

idea

slide-8
SLIDE 8

idea

node network participant link possible message path

slide-9
SLIDE 9

idea

node network participant link possible message path

◮ all nodes have equal weight

slide-10
SLIDE 10

idea

node network participant link possible message path

◮ all nodes have equal weight ◮ message unmodifiable, only receiver is known

slide-11
SLIDE 11

idea

node network participant link possible message path

◮ all nodes have equal weight ◮ message unmodifiable, only receiver is known ◮ each node on path: biased coin flip: forward or deliver

slide-12
SLIDE 12

idea

node network participant link possible message path

◮ all nodes have equal weight ◮ message unmodifiable, only receiver is known ◮ each node on path: biased coin flip: forward or deliver ◮ each node on path: initiator or just forwarder?

slide-13
SLIDE 13

idea

node network participant link possible message path

◮ all nodes have equal weight ◮ message unmodifiable, only receiver is known ◮ each node on path: biased coin flip: forward or deliver ◮ each node on path: initiator or just forwarder?

→ message initator gets lost in the crowd

slide-14
SLIDE 14

model

slide-15
SLIDE 15

model

n1 n2 n3 n4 n5 n6 n7 n8

◮ N nodes n1, . . . , nN with P(ni is initiator) =: P(X = ni) =: pi

slide-16
SLIDE 16

model

n1 n2 n3 n4 n5 n6 n7 n8

◮ N nodes n1, . . . , nN with P(ni is initiator) =: P(X = ni) =: pi ◮ ni probably innocent ↔ pi ≤ 1 2

slide-17
SLIDE 17

model

n1 n2 n3 n4 n5 n6 n7 n8

◮ N nodes n1, . . . , nN with P(ni is initiator) =: P(X = ni) =: pi ◮ ni probably innocent ↔ pi ≤ 1 2 ◮ forwarding probability λ

slide-18
SLIDE 18

model

n1 n2 n3 n4 n5 n6 n7 n8

◮ N nodes n1, . . . , nN with P(ni is initiator) =: P(X = ni) =: pi ◮ ni probably innocent ↔ pi ≤ 1 2 ◮ forwarding probability λ

if message received then flip biased coin P(heads) = λ if heads then forward to a uniformly chosen node else deliver to receiver end if end if

slide-19
SLIDE 19

degree of anonymity

slide-20
SLIDE 20

degree of anonymity

best case X := X : ∀i ∈ {1, . . . , N} : pi = 1

N

slide-21
SLIDE 21

degree of anonymity

best case X := X : ∀i ∈ {1, . . . , N} : pi = 1

N

H := H(X) = −

N

  • i=1

pi · ln(pi) = ln(N − C)

slide-22
SLIDE 22

degree of anonymity

best case X := X : ∀i ∈ {1, . . . , N} : pi = 1

N

H := H(X) = −

N

  • i=1

pi · ln(pi) = ln(N − C) worst case X := X : ∀i ∈ {1, . . . , N} \ {j} : pi = 0 ∧ pj = 1

slide-23
SLIDE 23

degree of anonymity

best case X := X : ∀i ∈ {1, . . . , N} : pi = 1

N

H := H(X) = −

N

  • i=1

pi · ln(pi) = ln(N − C) worst case X := X : ∀i ∈ {1, . . . , N} \ {j} : pi = 0 ∧ pj = 1 H := H(X) = −

N

  • i=1

pi · ln(pi) = 1 · ln(1) = 0

slide-24
SLIDE 24

degree of anonymity

best case X := X : ∀i ∈ {1, . . . , N} : pi = 1

N

H := H(X) = −

N

  • i=1

pi · ln(pi) = ln(N − C) worst case X := X : ∀i ∈ {1, . . . , N} \ {j} : pi = 0 ∧ pj = 1 H := H(X) = −

N

  • i=1

pi · ln(pi) = 1 · ln(1) = 0 d(X) := 1 − H − H(X) H = H(X) H ∈ [0, 1]

slide-25
SLIDE 25

corruption

slide-26
SLIDE 26

corruption

n1 n2 n3 n4 n5 n6 n7 n8

◮ 0 ≤ C < N corrupt nodes (incoming message passer known)

slide-27
SLIDE 27

corruption

n1 n2 n3 n4 n5 n6 n7 n8

◮ 0 ≤ C < N corrupt nodes (incoming message passer known) ◮ behave normally

slide-28
SLIDE 28

corruption

n1 n2 n3 n4 n5 n6 n7 n8

◮ 0 ≤ C < N corrupt nodes (incoming message passer known) ◮ behave normally ◮ wait for message to be passed to us

slide-29
SLIDE 29

corruption

n1 n2 n3 n4 n5 n6 n7 n8

◮ 0 ≤ C < N corrupt nodes (incoming message passer known) ◮ behave normally ◮ wait for message to be passed to us ◮ analyze probability of passer being initiator

slide-30
SLIDE 30

corruption

n1 n2 n3 n4 n5 n6 n7 n8

◮ 0 ≤ C < N corrupt nodes (incoming message passer known) ◮ behave normally ◮ wait for message to be passed to us ◮ analyze probability of passer being initiator

P(passer is initiator) > 1

2 → unmasked

slide-31
SLIDE 31

analysis

events

slide-32
SLIDE 32

analysis

events

nI nm nn nC 1 2 3 4

slide-33
SLIDE 33

analysis

events

nI nm nn nC 1 2 3 4

let k > 0

slide-34
SLIDE 34

analysis

events

nI nm nn nC 1 2 3 4

let k > 0 Hk := first corrupt node is at the kth path-position

slide-35
SLIDE 35

analysis

events

nI nm nn nC 1 2 3 4

let k > 0 Hk := first corrupt node is at the kth path-position Hk+ :=

  • i=k

Hi

slide-36
SLIDE 36

analysis

events

nI nm nn nC 1 2 3 4

let k > 0 Hk := first corrupt node is at the kth path-position Hk+ :=

  • i=k

Hi I := first corrupt node immediately postcedes the message initiator

slide-37
SLIDE 37

analysis

events

nI nm nn nC 1 2 3 4

let k > 0 Hk := first corrupt node is at the kth path-position Hk+ :=

  • i=k

Hi I := first corrupt node immediately postcedes the message initiator P(passer is initiator) = P(I|H1+)

slide-38
SLIDE 38

analysis

events

nI nm nn nC 1 2 3 4

let k > 0 Hk := first corrupt node is at the kth path-position Hk+ :=

  • i=k

Hi I := first corrupt node immediately postcedes the message initiator P(passer is initiator) = P(I|H1+) note: H1 → I, but I → H1

slide-39
SLIDE 39

analysis

general probability I

P(I|H1+) = N − λ(N − C − 1) N

slide-40
SLIDE 40

analysis

general probability I

P(I|H1+) = N − λ(N − C − 1) N proof:

slide-41
SLIDE 41

analysis

general probability I

P(I|H1+) = N − λ(N − C − 1) N proof: P(Hk) =

  • λ · N − C

N

k−1

·

  • λ · C

N

slide-42
SLIDE 42

analysis

general probability I

P(I|H1+) = N − λ(N − C − 1) N proof: P(Hk) =

  • λ · N − C

N

k−1

·

  • λ · C

N

  • ⇒ P(Hk+) =

  • i=k

P(Hi) = . . . = C ·

  • λ · N−C

N

k

(N − C) ·

  • 1 − λ · N−C

N

slide-43
SLIDE 43

analysis

general probability I

P(I|H1+) = N − λ(N − C − 1) N proof: P(Hk) =

  • λ · N − C

N

k−1

·

  • λ · C

N

  • ⇒ P(Hk+) =

  • i=k

P(Hi) = . . . = C ·

  • λ · N−C

N

k

(N − C) ·

  • 1 − λ · N−C

N

  • H1 → I ⇒ P(I|H1) = 1
slide-44
SLIDE 44

analysis

general probability I

P(I|H1+) = N − λ(N − C − 1) N proof: P(Hk) =

  • λ · N − C

N

k−1

·

  • λ · C

N

  • ⇒ P(Hk+) =

  • i=k

P(Hi) = . . . = C ·

  • λ · N−C

N

k

(N − C) ·

  • 1 − λ · N−C

N

  • H1 → I ⇒ P(I|H1) = 1

P(I|H2+) = 1 N − C

slide-45
SLIDE 45

analysis

general probability II

P(I) TP = P(H1) P(I|H1) + P(H2+) P(I|H2+)

slide-46
SLIDE 46

analysis

general probability II

P(I) TP = P(H1) P(I|H1) + P(H2+) P(I|H2+) = . . .

slide-47
SLIDE 47

analysis

general probability II

P(I) TP = P(H1) P(I|H1) + P(H2+) P(I|H2+) = . . . = λ · C N ·

  • 1 +

λ N − λ · (N − C)

slide-48
SLIDE 48

analysis

general probability II

P(I) TP = P(H1) P(I|H1) + P(H2+) P(I|H2+) = . . . = λ · C N ·

  • 1 +

λ N − λ · (N − C)

  • P(I|H1+) CP

= P(I ∧ H1+) P(H1+)

slide-49
SLIDE 49

analysis

general probability II

P(I) TP = P(H1) P(I|H1) + P(H2+) P(I|H2+) = . . . = λ · C N ·

  • 1 +

λ N − λ · (N − C)

  • P(I|H1+) CP

= P(I ∧ H1+) P(H1+)

  • I → H1+

= P(I) P(H1+)

slide-50
SLIDE 50

analysis

general probability II

P(I) TP = P(H1) P(I|H1) + P(H2+) P(I|H2+) = . . . = λ · C N ·

  • 1 +

λ N − λ · (N − C)

  • P(I|H1+) CP

= P(I ∧ H1+) P(H1+)

  • I → H1+

= P(I) P(H1+) = . . .

slide-51
SLIDE 51

analysis

general probability II

P(I) TP = P(H1) P(I|H1) + P(H2+) P(I|H2+) = . . . = λ · C N ·

  • 1 +

λ N − λ · (N − C)

  • P(I|H1+) CP

= P(I ∧ H1+) P(H1+)

  • I → H1+

= P(I) P(H1+) = . . . = N − λ(N − C − 1) N

slide-52
SLIDE 52

analysis

general probability II

P(I) TP = P(H1) P(I|H1) + P(H2+) P(I|H2+) = . . . = λ · C N ·

  • 1 +

λ N − λ · (N − C)

  • P(I|H1+) CP

= P(I ∧ H1+) P(H1+)

  • I → H1+

= P(I) P(H1+) = . . . = N − λ(N − C − 1) N good node P(good node i is initiator) = 1−P(I|H1+)

N−C−1

= λ

N < 1 N ≤ 1 2

slide-53
SLIDE 53

analysis

general probability II

P(I) TP = P(H1) P(I|H1) + P(H2+) P(I|H2+) = . . . = λ · C N ·

  • 1 +

λ N − λ · (N − C)

  • P(I|H1+) CP

= P(I ∧ H1+) P(H1+)

  • I → H1+

= P(I) P(H1+) = . . . = N − λ(N − C − 1) N good node P(good node i is initiator) = 1−P(I|H1+)

N−C−1

= λ

N < 1 N ≤ 1 2

⇒ all good nodes besides passer are innocent

slide-54
SLIDE 54

analysis

general probability II

P(I) TP = P(H1) P(I|H1) + P(H2+) P(I|H2+) = . . . = λ · C N ·

  • 1 +

λ N − λ · (N − C)

  • P(I|H1+) CP

= P(I ∧ H1+) P(H1+)

  • I → H1+

= P(I) P(H1+) = . . . = N − λ(N − C − 1) N good node P(good node i is initiator) = 1−P(I|H1+)

N−C−1

= λ

N < 1 N ≤ 1 2

⇒ all good nodes besides passer are innocent corrupt node P(corrupt node i is initiator) = 0

slide-55
SLIDE 55

analysis

passer innocence

slide-56
SLIDE 56

analysis

passer innocence

passer innocent ⇔ λ > 1 2 ∧ N ≥ 1 1 −

1 2·λ

· (C + 1)

slide-57
SLIDE 57

analysis

passer innocence

passer innocent ⇔ λ > 1 2 ∧ N ≥ 1 1 −

1 2·λ

· (C + 1) proof:

slide-58
SLIDE 58

analysis

passer innocence

passer innocent ⇔ λ > 1 2 ∧ N ≥ 1 1 −

1 2·λ

· (C + 1) proof: 1 2 ≥ P(I|H1+)

slide-59
SLIDE 59

analysis

passer innocence

passer innocent ⇔ λ > 1 2 ∧ N ≥ 1 1 −

1 2·λ

· (C + 1) proof: 1 2 ≥ P(I|H1+) = N − λ(N − C − 1) N

slide-60
SLIDE 60

analysis

passer innocence

passer innocent ⇔ λ > 1 2 ∧ N ≥ 1 1 −

1 2·λ

· (C + 1) proof: 1 2 ≥ P(I|H1+) = N − λ(N − C − 1) N

  • (λ − 1

2) > 0 ⇔ N ≥ 1 1 −

1 2·λ

· (C + 1)

slide-61
SLIDE 61

analysis

degree of anonymity

slide-62
SLIDE 62

analysis

degree of anonymity

d(X) = − C · 0 + P(I|H1+) · ln(P(I|H1+)) + (N − C − 1) · λ

N · ln

  • λ

N

  • ln(N − C)

=

slide-63
SLIDE 63

analysis

degree of anonymity

d(X) = − C · 0 + P(I|H1+) · ln(P(I|H1+)) + (N − C − 1) · λ

N · ln

  • λ

N

  • ln(N − C)

= = . . . =

(N−λ·(N−C−1))·ln N N−λ·(N−C−1)

  • +λ·(N−C−1)·ln( N

λ) N·ln(N−C)

slide-64
SLIDE 64

analysis

degree of anonymity

d(X) = − C · 0 + P(I|H1+) · ln(P(I|H1+)) + (N − C − 1) · λ

N · ln

  • λ

N

  • ln(N − C)

= = . . . =

(N−λ·(N−C−1))·ln N N−λ·(N−C−1)

  • +λ·(N−C−1)·ln( N

λ) N·ln(N−C)

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

C N

d(X)

slide-65
SLIDE 65

conclusion

slide-66
SLIDE 66

conclusion

◮ blending in with the crowd works as long as it is large enough

slide-67
SLIDE 67

conclusion

◮ blending in with the crowd works as long as it is large enough ◮ nothing to hide, but others to protect

slide-68
SLIDE 68

conclusion

◮ blending in with the crowd works as long as it is large enough ◮ nothing to hide, but others to protect ◮ full paper on http://frign.de/