slicing the onion: anonymity using unreliable overlays sachin katti jeffrey cohen & dina katabi

58
Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Upload: elijah-horn

Post on 26-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Slicing the Onion: Anonymity Using Unreliable

Overlays

Sachin KattiJeffrey Cohen & Dina Katabi

Page 2: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Problem Statement

Leverage existing popular P2P overlays to send confidential, anonymous messages without keys

Page 3: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Overlays rock!

• Thousands of nodes

• Plenty of traffic to hide anonymous communication

• Diverse membership Nodes unlikely to collude

• Dynamic Hard to track

Ideal for anonymous communication

Page 4: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Overlays suck!

• Nodes don’t have public keys

• Nodes are not trustworthy

• Nodes are unreliable

Page 5: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

This talk:Information Slicing

• Message confidentiality, and source and destination anonymity

• No public keys• Churn resilient

Page 6: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

1. Message Confidentiality Without Keys

Page 7: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Confidentiality via Information Slicing

Split message to random pieces and send pieces along node-disjoint paths

“aaspdgfqw”“asdlfrwe” Random pieces

“Borat: Cultural”“Leanings of America” Split into two

“Borat: Cultural

Leanings of America” Original Message

Randomize them!

22a

21a

12a

11a “Borat: Cultural”

“Leanings of America”

Page 8: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Me D

Confidentiality via Information Slicing

“aaspdgfqw”1211 a,a

“asdlfrwe”2221 a,a

Page 9: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Message Recovery by destination

Received random pieces“aaspdgfqw”,a,a 1211

“asdlfrwe”,a,a 2221

“aaspdgfqw”“asdlfrwe” Matrix inversion

1

2221

1211

aa

aa

Pieces of original message

“Borat: Cultural”“Leanings of America”

Original Message“Borat: Cultural

Leanings of America”

Page 10: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Destination gets all pieces can decode

Even an attacker that gets all but one piece cannot decode!

Page 11: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

2. Anonymity without Keys

Page 12: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

System Setup

Anonymous communication has two phases

• Route Setup• A node learns how to forward a received

message

• Data transmission• Just follow the routes

Page 13: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Setup Anonymous Routes

• Each node knows its next hop• No one else knows the next hop of a node • Why not tell each node the ID of its next hop

in a confidential message?

Idea : Build anonymity by confidentially sending to each node

it’s routing info!

Idea : Build anonymity by confidentially sending to each node

it’s routing info!

Page 14: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Exponential Blowup!

Naïve way to send to a node its next hop

Page 15: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

V

W R

Z

Z2Z1 I,IZ’s next hop information:

R’s next hop information: R2R1 I,I

Challenge: Exponential Blowup

Solution: Reuse nodes without giving them too much information

Page 16: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Challenge: Exponential Blowup

Solution: Reuse nodes without giving them too much information

V

W R

Z

V and W will know Z and R’s next hops

Z2I

Z1I

R1I

R2I

Page 17: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

V

W R

ZZ1I

R1I

Reuse V to send pieces that belong to different nodes

Challenge: Exponential Blowup

Solution: Reuse nodes without giving them too much information

Page 18: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

V

W R

Z

Z2I

Z1I

R1I

R2I

Reuse nodes to send multiple pieces as long as the pieces belong to different messages

Reuse nodes to send multiple pieces as long as the pieces belong to different messages

Challenge: Exponential Blowup

Solution: Reuse nodes without giving them too much information

Page 19: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Slicing Protocol

S

S’

Source has multiple IP addresses

Page 20: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

R

V

W

Z

Slicing Protocol

S

S’

D

X

Source organizes nodes into stages

Page 21: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

R

V

W

Z

Slicing Protocol

S

S’

D

X

Destination D is placed randomly (here in last stage)

Page 22: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

R

V

W

Z

Slicing Protocol

S

S’

D

X

Source confidentially tells each node its next hop info

Page 23: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

R

V

W

Z

Slicing Protocol

S

S’

D

X

V receives the ids of its next hops along disjoint paths

V2I

V1I

Page 24: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

R

V

W

Z

Slicing Protocol

S

S’

D

X

V also receives one piece meant for Z and one for R,but cannot decipher their next hops

R2V2 II ,

Z1V1 II ,

Page 25: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

R

V

W

Z

Slicing Protocol

S

S’

D

X

W also receives its info and pieces for Z and RW cannot decipher Z’s and R’s next hops

R2V2 II ,

Z1V1 II ,

R1W1 II ,

Z2W2 II ,

Page 26: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

R

V

W

Z

Slicing Protocol

S

S’

D

X

V and W have pieces meant for Z and R

R2Z1 II ,

R1Z2 II ,

Page 27: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

R

V

W

Z

Slicing Protocol

S

S’

D

X

V and W forward the pieces meant for Z and R

Z2I

Z1I

R2I

R1I

R2V2 II ,

Z1V1 II ,

R1W1 II ,

Z2W2 II ,

Page 28: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

R

V

W

Z

Slicing Protocol

S

S’

D

X

Node disjoint paths to deliver to Z itsV and W do not have enough pieces to know Z’s info

Z2I

Z1I

R2I

R1I

R2V2 II ,

Z1V1 II ,

R1W1 II ,

Z2W2 II ,

Z2Z1 II ,

Page 29: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

R

V

W

Z

Slicing Protocol

S

S’

D

X

Z2I

Z1I

R2I

R1I

R2V2 II ,

Z1V1 II ,

R1W1 II ,

Z2W2 II ,

The same for R

Page 30: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

R

V

W

Z

Slicing Protocol

S

S’

D

X

V and W are reused without revealing anything about Z and R’s routing information

Z2I

Z1I

R2I

R1I

R2V2 II ,

Z1V1 II ,

R1W1 II ,

Z2W2 II ,

Page 31: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

R

V

W

Z

Slicing Protocol

S

S’

D

X

Similarly source constructs entire graph

Page 32: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

R

V

W

Z

Slicing Protocol

S

S’

D

X

Anonymity without keys!

Page 33: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

3. Dealing With Churn

Page 34: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Slicing Protocol - Churn• What if node V departs?

R

V

W

ZS

S’

D

X

Page 35: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Slicing Protocol - Churn• What if node V departs?• Destination cannot decode

R

V

W

ZS

S’

D

X

X

Page 36: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

How Do We Combat Churn?

• Churn causes data loss

• Typical solution Add Redundancy

• Use coding to efficiently add redundancy

Page 37: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Source Coding the Data

• Source Coding (Erasure Codes)• Split into 3 pieces instead of 2

• Any 2 pieces suffice to retrieve data

• Added redundancy of (1/2) = 50%

3231

2221

1211

aa

aa

aa

2

1

m

m

3

2

1

I

I

I

3

2

I

I1

3231

2221

aa

aa

2

1

m

m

Page 38: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Source Coding For Robustness

S

S1

V

W R

Z D

X

S2 U P Y

X

• Destination D gets two pieces Can decodeSource coding can tolerate one node failure in the

network

Source coding can tolerate one node failure in the

network

Page 39: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

S

S1

V

W R

Z D

X

S2 U P Y

X

• What if a second node (here Z) fails?

Source Coding For Robustness

Page 40: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

S

S1

V Z

S2

X X

W R

D

X

U P Y

• What if a second node (here Z) fails?• Destination D cannot decode

Source Coding For Robustness

Page 41: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Coding partially solves problem

Z

X

R

S

S1

V

S2

X

W

U P

D

X

Y

• Focus on node R

Page 42: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Coding partially solves problem

R

2I

1I

Due to upstream node failure, R receives

2 pieces instead of 3

Page 43: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Coding partially solves problem

R

2I

1I

R can only send out two pieces now,

Initial redundancy is destroyed

2I

1I

Page 44: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Regenerating Redundancy

R

2I

1I

Pieces are linear combinations of message fragments

2221212

2121111

mamaI

mamaI

Page 45: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Network Coding

R

2I

1I2221212

2121111

mamaI

mamaI

R can create a linear combination of the pieces he received to generate a new piece

Take Linear combination of the pieces

222121211121'3 )maa)maaII I ((

New piece

'3I

Page 46: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Network Coding

R

2I

1I

R can now send out 3 pieces instead of 2

Redundancy is regenerated inside the network

2I

1I

'3I

Page 47: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Network Coding

R

2I

1I

Can tolerate downstream node failures

2I

1I

'3I

Network coding can tolerate one node failure in every

stage

Network coding can tolerate one node failure in every

stage

Page 48: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

General Network Coding• Nodes send linear combinations of incoming pieces• Technique generalizes to any number of extra pieces

For k extra pieces, network coding tolerates k failures in

every stage

For k extra pieces, network coding tolerates k failures in

every stage

Page 49: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

4. Evaluation

Page 50: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Evaluation Environment

• Implementation in Python• Evaluated both in simulation and on PlanetLab• Evaluate anonymity, performance and churn

resilience• Each metric is evaluated against the optimal

existing baseline

Page 51: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Anonymity• Simulate an overlay of 10000 nodes• Attackers are placed randomly in the network• Attackers can control nodes, snoop on their

edges, and collude• Comparison with Chaum mixes (optimal baseline)• Entropy is standard anonymity metric

x N

xPxP

)log(

))(log()(Anonymity

Page 52: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

How anonymous is information slicing?

Fraction of Attacking Nodes

An

onym

ity

High anonymity despite no keys

High anonymity despite no keys

Source Anonymity

Info. Slicing

Chaum mix

Page 53: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Churn Resilience

• Compared against practical anonymity system Onion Routing

• For fairness, onion routing is modified to have redundancy using source coding

• Metric:

• Prob. of successfully sending a message, given a particular redundancy

Page 54: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Churn Resilience

Info. Slicing

Onion Routing

with source coding

Pro

bab

ility

of S

ucc

ess

Added Redundancy

Large increase in probability of success because of network coding

Large increase in probability of success because of network coding

Results for a Probability of Node Failure = 0.3

Page 55: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Implementation on PlanetLab

Page 56: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Churn Resilience - Planetlab

00.10.20.30.40.50.60.70.80.9

1

0 0.5 1 1.5

Information Slicing

Onion Routing with source coding

Added Redundancy

Pro

bab

ility

of S

ucc

ess

Network Coding nearly doubles the churn resilience with the same

overhead!

Network Coding nearly doubles the churn resilience with the same

overhead!

Page 57: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Performance

No. of Stages

Th

rou

ghp

ut (

Mb/

s)

Th

rou

ghp

ut (

Mb/

s)No. of Stages

Info. Slicing

Onion Routing Onion Routing

• Two nodes in each stage and five stages

Local Network PlanetLab

Parallel paths Increased throughput

Parallel paths Increased throughput

Info. Slicing

Page 58: Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi

Conclusion

• Confidentiality Node disjoint paths

• Low Cost Anonymity Node Reuse

• Churn Resilience Network Coding

Enabled anonymous communication in P2P overlays with no keys.

Information Slicing provides