and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”)...

32
1 Tor and The Tor Project Sebastian Hahn, Linus Nordberg The Tor Project https://torproject.org/

Transcript of and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”)...

Page 1: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

1

Torand

The Tor Project

Sebastian Hahn, Linus NordbergThe Tor Project

https://torproject.org/

Page 2: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

2

What is Tor?

● Online anonymity 1) software 2) network 3) protocol

● Open source, freely available● Community of researchers, developers,

users, and relay operators● Funding from NLNet, US DoD, EFF,

Voice of America, Google, Human Rights Watch, ...

Page 3: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

3

● 501(c)(3) non-profit organization dedicated to the research and development of tools for online anonymity and privacy

The Tor Project, Inc.

Page 4: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

4

Estimated 400,000 daily Tor users

Page 5: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

5

Threat model:what can the attacker do?

AliceAnonymity network Bob

watch (or be!) Bob!

watch Alice!

Control part of the network!

Page 6: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

6

Anonymity isn't cryptography: Cryptography just protects contents.

Alice

Bob

“Hi, Bob!”“Hi, Bob!” <gibberish>

attacker

Page 7: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

7

Anonymity isn't just wishful thinking...“You can't prove it was me!”

“Promise you won't look!”

“Promise you won't remember!”

“Promise you won't tell!”

“I didn't write my name on it!”

“Isn't the Internet already anonymous?”

Tor provides anonymity by design, not by policy!

Page 8: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

8

Anonymity serves different interests for different user groups.

Anonymity

Private citizens“It's privacy!”

Page 9: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

9

Anonymity serves different interests for different user groups.

Anonymity

Private citizens

Businesses

“It's network security!”

“It's privacy!”

Page 10: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

10

Anonymity serves different interests for different user groups.

Anonymity

Private citizens

Governments Businesses

“It's traffic-analysisresistance!”

“It's network security!”

“It's privacy!”

Page 11: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

11

Anonymity serves different interests for different user groups.

Anonymity

Private citizens

Governments Businesses

“It's traffic-analysisresistance!”

“It's network security!”

“It's privacy!”

Human rightsactivists

“It's reachability!”

Page 12: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

12

The simplest designs use a single relay to hide connections.

Bob2

Bob1

Bob3

Alice2

Alice1

Alice3

Relay

E(Bob3,“X”)

E(Bob1, “Y”)

E(Bob2, “Z”)

“Y”

“Z”

“X”

(example: some commercial proxy providers)

Page 13: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

13

But a single relay (or eavesdropper!) is a single point of failure.

Bob2

Bob1

Bob3

Alice2

Alice1

Alice3

EvilRelay

E(Bob3,“X”)

E(Bob1, “Y”)

E(Bob2, “Z”)

“Y”

“Z”

“X”

Page 14: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

14

... or a single point of bypass.

Bob2

Bob1

Bob3

Alice2

Alice1

Alice3

IrrelevantRelay

E(Bob3,“X”)

E(Bob1, “Y”)

E(Bob2, “Z”)

“Y”

“Z”

“X”

Timing analysis bridges all connections through relay ⇒ An attractive fat target

Page 15: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

15

So, add multiple relays so thatno single one can betray Alice.

BobAlice

R1

R2

R3

R4 R5

Page 16: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

16

A corrupt first hop can tell that Alice is talking, but not to whom.

BobAlice

R1

R2

R3

R4 R5

Page 17: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

17

A corrupt final hop can tell that somebody is talking to Bob,

but not who.BobAlice

R1

R2

R3

R4 R5

Page 18: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

18

Alice makes a session key with R1… and then tunnels to R2... and to R3

BobAlice

R1

R2

R3

R4 R5

Bob2

Page 19: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

19

Relay versus Discovery

● There are two pieces to all these “proxying” schemes:

– a relay component: building circuits, sending traffic over them, getting the crypto right, forwarding traffic to the destination

– a discovery component: learning what relays are available

Page 20: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

20

The basic Tor design uses a simple centralized directory protocol

S2

S1Alice

Trusted directory

Trusted directory

S3

cache

cache

Servers publishself-signeddescriptors

Authoritiespublish a consensuslist of all descriptors

Alice downloadsconsensus anddescriptors fromanywhere

Page 21: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

21

Sustainability

● Tor has a community of developers and volunteers with an open development model

● Commercial anonymity systems have flopped or constantly need more funding for bandwidth

● Our sustainability is rooted in Tor's open design: clear documentation, modularity, and open source

Page 22: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

22

Tor gives three anonymity properties

● #1: A local network attacker can't learn, or influence, your destination– Clearly useful for blocking resistance

● #2: No single router can link you to your destination– The attacker can't sign up relays to trace users

● #3: The destination, or somebody watching it, can't learn your location– So they can't reveal you; or treat you differently

Page 23: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

23

Local network threats

● #1: Someone sniffing your W-Lan– The guy next to you at Starbucks– Your kids?

● #2: Your ISP …– Logging, active attacks on traffic– DNS attacks (censorship, hijacking, ...)

● #3: … and their partners– Phorm

Page 24: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

24

ISP-level attacks

● Block by IP address / port at firewall● Intercept DNS requests and give bogus

responses or redirects● China: Keywords in TCP packets● Iran: DPI to filter SSL when they want● Russia: Don't block, just pollute

Page 25: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

25

Attackers can block users from connecting to the Tor network

● By preventing users from finding the Tor software

● By blocking the directory authorities● By blocking all the relay IP addresses

in the directory● By filtering based on Tor's network

fingerprint

Page 26: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

26

R4

R2

R1

R3

Bob

Alice

Alice

Alice

Alice

Alice

BlockedUser

BlockedUser

BlockedUser

BlockedUser

BlockedUser

Alice

AliceAlice

Alice

Alice

Alice

Alice

Alice

AliceAlice

Page 27: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

27

“Bridge” relays

● Hundreds of thousands of Tor users, already self-selected for caring about privacy

● Rather than signing up as a normal relay, you can sign up as a special “bridge” relay that isn't listed in any directory

● No need to be an “exit” (so no abuse worries), and you can rate limit if needed

● Integrated into Vidalia (our GUI) so it's easy to offer a bridge or to use a bridge

Page 28: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

28

One working bridge is enough

● Connect via that bridge to the bridge authority● ...and to the main Tor network● Remember, all of this happens in the

background● “How to circumvent for all transactions (and

trust the pages you get)” is now reduced to “How to learn about a working bridge”

Page 29: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

29

Trust and reputation

● See Hal Roberts' blog post about how some tools sell user data http://blogs.law.harvard.edu/hroberts/

● Many of these tools see circumvention and privacy as totally unrelated goals, but both are necessary for protection

Page 30: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

30

Only a piece of the puzzle● Assume the users aren't attacked by

their hardware and software–No spyware installed, no cameras

watching their screens, etc● Users need to know about SSL for

gmail. Cookies. End-to-end encryption.● Many people in Iran in June were using

plaintext proxies!

Page 31: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

31

Know where you send your data

● The data you/your applications share will reach its destination – Tor won't anonymize it for you

● Make your communication partners aware of the threats that you are facing

● Unfortunately, it is still easy to screw up

Page 32: and The Tor Project · Bob2 Bob1 Bob3 Alice2 Alice1 Alice3 Irrelevant Relay E(Bo b3,“ X”) E(Bob1, “Y”) E(Bob2, “Z”) “ Y ” “Z” “X ” Timing analysis bridges

32