anonymous connections and onion routing · anonymous connections and onion routing david...

28
1 Anonymous Connections and Anonymous Connections and Onion Routing Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval Research Laboratory Washington, D.C.

Upload: others

Post on 19-Aug-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

1

Anonymous Connections and Anonymous Connections and Onion RoutingOnion Routing

David Goldschlag, Michael Reed, and Paul Syverson

Center for High Assurance Computer Systems

Naval Research LaboratoryWashington, D.C.

Page 2: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

2

Who is Talking to Whom?Who is Talking to Whom?

In a Public Network:u Packet headers identify recipientsu Packet routes can be tracked

Encryption does not hide routing information.Initiator

Public Network

Responder

Page 3: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

3

Traffic Analysis Reveals Traffic Analysis Reveals IdentitiesIdentities

Who is talking to whom may be confidential or private:

u Who is searching a public database?u Which companies are collaborating?u Who are you talking to via e-mail?u Where do you shop on-line?

Page 4: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

4

ObjectiveObjective

Design an infrastructure thatu Makes traffic analysis hardu Separates identification from routingu Is reusable across many applications

Our goal is anonymous connections, not anonymous communication.

An infrastructure, Onion Routing, has been implemented.

Page 5: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

5

Traffic AnalysisTraffic Analysis

Focus on three components:u Hide routing headersu Complicate statistical inferencesu Balance load

Page 6: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

6

Onion Routing: Network Onion Routing: Network InfrastructureInfrastructure

Anonymous connections areu Routed through Chaum Mixesu Multiplexed between Mixes

Initiator ResponderOnion Routers

Page 7: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

7

The Basic Configuration: Sensitive sites control Onion Routing Proxies (which also function as intermediate Onion Routers).

Proxies interface between Applications and the Network Infrastructure.

Onion Routing: Proxy Onion Routing: Proxy InterfaceInterface

Responder

Onion RoutingProxies

InitiatorW

X Y Z

Page 8: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

8

ApplicationsApplications

Many applications can use Proxies:u Web browsingu Remote loginu e-mailu File transfer

Page 9: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

9

Threat Model: Active and Threat Model: Active and Passive AttacksPassive Attacks

u All traffic is visibleu All traffic can be modifiedu Onion Routers may be compromisedu Compromised Onion Routers may

cooperateu Timing coincidences

Page 10: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

10

Using Onion RoutingUsing Onion Routing

Four Steps:u Define the routeu Construct the anonymous connectionu Move data through the connectionu Destroy the anonymous connection

Page 11: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

11

Defining Defining thethe Route RouteThe InitiatorÕs Proxy, W, makes an Onion:

(X Connect to Y, )

(Y Connect to Z, )

ResponderPublic Network

InitiatorW

X Y Z

Page 12: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

12

Constructing the Constructing the Anonymous ConnectionAnonymous Connection

The Onion moves between Onion Routers.

Initiator ResponderPublic Network

W X Y Z

Page 13: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

13

Moving Data ForwardMoving Data Forward

u The InitiatorÕs Onion Routing Proxy repeatedly crypts the data.

u Each Onion Router removes one layer of cryption.u The ResponderÕs Onion Routing Proxy forwards

the plaintext to the Responder.

text

text texttext

text

Initiator ResponderPublic Network

W X Y Z

Page 14: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

14

Moving Data BackwardMoving Data Backward

u This is just the reverse of sending data forward.u Each Onion Router adds one layer of cryption.u The InitiatorÕs Onion Routing Proxy removes the

layers of cryption and forwards the plaintext to the Initiator.

text

text texttext

text

Initiator ResponderPublic Network

W X Y Z

Page 15: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

15

Destroying the Anonymous Destroying the Anonymous ConnectionConnection

Destroy Messagesu are forwarded along the connectionu cleaning up tables along the way

destroy destroy

texttext

Initiator ResponderPublic Network

W X Y Z

Page 16: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

16

An InitiatorÕs Onion Routing Proxy can create a Reply Onion that defines a route back to him.

Reply OnionsReply Onions(Z Connect to Y, )

(Y Connect to X, )

(X Connect to W, )

text

text texttext

text

Initiator ResponderPublic Network

W X Y Z

Page 17: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

17

ImplementationImplementation

Working Onion Routing prototype.Proxies for:u Web browsing (HTTP)u Remote login (RLOGIN)u e-mail (SMTP)u File transfer (FTP)and anonymizing Web and mail proxies.

Page 18: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

18

PerformancePerformance

5 Onion Routers running on a single UltraSparc 2270.

Connection setup: 0.5 second cryptographic overhead.

(This cost can be amortized by using sockets for longer connections.)

Page 19: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

19

VulnerabilitiesVulnerabilities

Timing Coincidences:u Do two parties often open new

connections at the same time?u This is not detectable in communication

between two sensitive sites.

Traffic Analysis: Load Balancingu Tradeoff between security and costu Is this feasible on the Internet?

Page 20: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

20

Onion Routing Network Onion Routing Network ConfigurationsConfigurations

The Basic ConfigurationHierarchical like the Internet

Customer--ISP Modelu User makes onions on his PCu PC routes through ISPÕs onion routerEven the ISP cannot determine the PCÕs

destination.

Page 21: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

21

Other ApplicationsOther Applications

IRC: Two parties make anonymous connections to an IRC server, which mates the two connections.

Neither party has to trust the other.

W

X Y

IRC Server

A

C B

Page 22: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

22

To Make a Call:uPhone makes anonymous

connection to billing station through local base station.

uPhone identifies itself to billing station which completes the call.

To Call a Cellular Phone:uPage the phone over a wide

region.

Side Benefit:uVery low standby power

consumption.

Hide Location of Cellular PhonesHide Location of Cellular Phones

Billing Station

Page 23: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

23

Private Location TrackingPrivate Location TrackingHome station tracks location:u Active badge contacts

room sensor.u Room sensor queries

database for a reply onion over an anonymous connection.

u Sensor contacts home station using reply onion.

u Home station updates database over an anonymous connection.

Active Badges

Competing Goals:Track usersÕs location.But, keep location information private.

Page 24: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

24

DiscussionDiscussion

u Efficiency: Cryptographic overhead is no worse than link encryption between routers.

u Onion Routing Proxies must also be intermediate Onion Routers.

Page 25: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

25

Cryptographic OverheadCryptographic Overhead

Along an (n+1)-Node route:u Data is encrypted n timesu Data is decrypted n timesBut, pre-crypting provides (for free):u Link encryptionu End to end encryptionu Data hiding: the same data looks

different to each node

Page 26: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

26

Related WorkRelated Work

ChaumÕs MixesBabel: Mixes for e-mailAnonymous ISDN: Mixes in a local

ISDN switch

Page 27: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

27

ConclusionConclusion

u To be effective, Onion Routing must be widely used.

u Onion Routing supports a wide variety of unmodified services using proxies.

u Anonymity is placed at the application layer.

u The goal here is anonymous routing, not anonymity.

Page 28: Anonymous Connections and Onion Routing · Anonymous Connections and Onion Routing David Goldschlag, Michael Reed, and Paul Syverson Center for High Assurance Computer Systems Naval

28

ReferencesReferences

http://www.itd.nrl.navy.mil/ITD/5540/projects/onion-routing

Who would like to run an Onion Router?