41
Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Embed Size (px)

Citation preview

Page 1: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Lecture 28:Anonymity on the Web

Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Page 2: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

User privacy – the problem • private information is processed and stored extensively by

various individuals and organizations– location of user telecom operators– financial situation of user banks, tax authorities– wealth of user insurance companies– shopping information of user credit card companies, retailers (via

usage of fidelity cards)– illnesses of user medical institutions– …

• complete and meaningful profiles on people can be created and abused

• information technology makes this easier– no compartmentalization of information– cost of storage and processing (data mining) decreases technology is

available to everyone

2

Page 3: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

User privacy – the goal• private data should be protected from abuse by

unauthorized entities– transactional data

• access/usage logs at telecom operators, buildings, parking, public transport, …

– data that reveals personal interests• rentals, credit card purchases, click stream data (WWW), …

– data that was disclosed for a well-defined purpose• tax data revealed to tax authorities, health related data

revealed to doctors, address information revealed in mail orders, …

3

Page 4: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

User privacy – existing approaches• data avoidance

– “I don’t tell you, so you can’t abuse it.”– effective but not always applicable– often requires anonymity– examples: cash transactions, public phones

• data protection– “If ever you abuse it, you will be punished.”– well-established approach– difficult to define, enforce, and control– requires legislation or voluntary restrictions

• multilateral security– cooperation of more than two parties – shared responsibilities and partial knowledge

• combinations of the above

4

Page 5: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Anonymous Communication Concepts

• What do we want to hide?– sender anonymity

• attacker cannot determine who the sender of a particular message is– receiver anonymity

• attacker cannot determine who the intended receiver of a particular message is

– unlinkability• attacker may determine senders and receivers but not the associations

between them (attacker doesn’t know who communicates with whom)

• From whom do we want to hide this?– communication partner (sender anonymity)– external attackers

• local eavesdropper (sniffing on a particular link (e.g., LAN))• global eavesdropper (observing traffic in the whole network)

– internal attackers• (colluding) compromised system elements (e.g., routers)

5

Page 6: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Types of attackers

• local eavesdropper– can observe communication to and from the users

computer

• collaborating crowd members– crowd members that can pool their information

and deviate from the protocol

• end server– the web server to which the transaction is directed

6

Page 7: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

The sole mechanism of anonymity is blending and obfuscation.

The Mix approachThe Mix approach

• Obfuscate the data

• Blend the data with cover traffic

The Onion Routing approachThe Onion Routing approach

• Obfuscate the data

• Use cell padding to make data look similar

The Crowds approachThe Crowds approach

• Data may be in clear text

• Hide in a group and make everyone in the group equally responsible for an act

Anonymity loves company

Page 8: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

1. User first joins a crowd of other users and he is represented by a jondo process on his local machine. He registers to a server machine which is called a Blender.

2. User configures his browser to use the local jondo as the proxy for all new services.

3. The blender sends the data of other nodes in the crowd to the local jondo.

4. All other members in the crowd go through a Join Commit.

Crowds in operation : Setup

Page 9: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

1. User passes her request to a random member in the crowd.

2. The selected router flips a biased coin with forwarding probability pf .

3. With probability (1- pf ), it delivers the message directly to destination. Otherwise it forwards the message to a randomly selected next router.

Crowds in operation : Communication

Page 10: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Use of encryption A single path key is used for end-to-end encryption

At each node, path key is re-encrypted using link encryption

Fast stream cipher for encrypting reply traffic

Static Path Dynamic paths hurt the anonymity achieved

Paths are changed during join and failure

Protection against timing attacks Sender revealed if it is an immediate predecessor of malicious jondo.

Introduce delays for thwarting attacks

Distinct Characteristics of Crowds

Page 11: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Every node is a MIX Making the end nodes and the MIXes indistinguishable Distributed workload Used in MorphMix / Tarzan for Peer to Peer communication

The leaky pipe architecture Any node is an exit node Used in Tor to provide better protection against

Robustness No single point of failure Distributed Blender

Anonymity loves company The more the user base, the better the anonymity Highly scalable

Concepts coming out of Crowds

Page 12: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

• Content in plaintext Apply end-to-end encryption to protect content Limitation: Gathering multimedia content

• Restriction on using ActiveX controls etc. Current Internet landscape is different from this requirement

• Vulnerable to DoS attacks Malicious jondos can simply drop packets.

• Performance overhead Increased network traffic, increased retrieval time and load on jondos

• Deployment problem with firewalls

Limitations of Crowds

Page 13: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Chaum MIX• goal

– sender anonymity (for communication partner)– unlinkability (for global eavesdropper)

• implementation{ r, m }KMIX

MIX m where m is the message and r is a random number

13

MIXMIX

- batches messages- discards repeats- changes order- changes encoding

Page 14: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

MIX chaining• defense against colluding compromised MIXes

– if a single MIX behaves correctly, unlinkability is still achieved

14

MIXMIXMIXMIXMIXMIX

Page 15: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Overview of architecture

16

application(initiator)

application(responder)

onion router

entry funnel - multiplexes connections from onion proxies

exit funnel - demultiplexes connections from the OR network - opens connection to responder application and reports a one byte status msg back to the application proxy

long-term socketconnections

application proxy - prepares the data stream for transfer - sanitizes appl. data - processes status msg sent by the exit funnel

onion proxy - opens the anonymous connection via the OR network - encrypts/decrypts data

Page 16: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Onions• an onion is a multi-layered data structure• it encapsulates the route of the anonymous connection within

the OR network• each layer contains

– backward crypto function (DES-OFB, RC4)– forward crypto function (DES-OFB, RC4)– IP address and port number of the next onion router– expiration time– key seed material

• used to generate the keys for the backward and forward crypto functions

• each layer is encrypted with the public key of the onion router for which data in that layer is intended

17

bwd fn | fwd fn | next = 0 | keysbwd fn | fwd fn | next = green | keysbwd fn | fwd fn | next = blue | keys

Page 17: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Anonymous connection setup• upon a new request, the application proxy

– decides whether to accept the request– opens a socket connection to the onion proxy– passes a standard structure to the onion proxy– standard structure contains

• application type (e.g., HTTP, FTP, SMTP, …)• retry count (number of times the exit funnel should retry

connecting to the destination)• format of address that follows (e.g., NULL terminated ASCII string)• address of the destination (IP address and port number)

– waits response from the exit funnel before sending application data

19

Page 18: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Anonymous connection setup

21

application(responder)

onionproxy

onion

Page 19: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Anonymous connection setup

22

application(responder)

onionproxy

onion

bwd: entry funnel, crypto fns and keys

fwd: blue, ACI = 12, crypto fns and keys

Page 20: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Anonymous connection setup

23

application(responder)

onionproxy

onionACI = 12

Page 21: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Anonymous connection setup

24

application(responder)

onionproxy

onion

bwd: magenta, ACI = 12, crypto fns and keys

fwd: green, ACI = 8, crypto fns and keys

Page 22: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Anonymous connection setup

25

application(responder)

onionproxy

onionACI = 8

Page 23: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Anonymous connection setup

26

application(responder)

onionproxy

onion

bwd: blue, ACI = 8, crypto fns and keys

fwd: exit funnel

Page 24: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Anonymous connection setup

27

application(responder)

onionproxy

bwd: entry funnel, crypto fns and keys

fwd: blue, ACI = 12, crypto fns and keys

bwd: magenta, ACI = 12, crypto fns and keys

fwd: green, ACI = 8, crypto fns and keys

bwd: blue, ACI = 8, crypto fns and keys

fwd: exit funnel

standard structure

status

open socket

Page 25: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Data movement• forward direction

– the onion proxy adds all layers of encryption as defined by the anonymous connection

– each onion router on route removes one layer of encryption– responder application receives plaintext data

• backward direction– the responder application sends plaintext data to the last

onion router of the connection • due to sender anonymity it doesn’t even know who is the real initiator

application

– each onion router adds one layer of encryption– the onion proxy removes all layers of encryption

28

Page 26: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Crowds and MIX solve different anonymity problems Crowds provide (probable innocence) sender anonymity MIX networks provide sender and receiver un-linkability

Different type of protection against global passive eavesdropper Crowds provide no protection MIX networks provide protection

Different approach in routing (Efficiency) In Crowds paths are selected randomly In a MIX, the circuit has to be determined first

Crowds versus MIX networks

Page 27: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Anonymizerwww.anonymizer.com•special protection for HTTP traffic•acts as a proxy for browser requests•rewrites links in web pages and adds a form where URLs can be entered for quick jump

•disadvantages:– must be trusted– single point of failure/attack

31

browserbrowser anonymizeranonymizer serverserver

request request

replyreply

href =“http://anon.free.anonymizer.com/http://www.server.com/” href =“http://www.server.com/”

Page 28: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Electronic Money

Page 29: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

• Narrow View of Term:– Tokens of Exchange transacted Only electronically– Examples: Facebook Gold, Digital Gold Currency,

BitCoin, and other electronic currencies

• Broad Usage of Term includes Both:– Electronic Payment Authorization Credit cards – Value Holding Electronic Tokens

• A currency has value by it being widely used. – Bitcoin is a startup currency with a deflationary

bootstrapping economy

What is Electronic Money?

33

Page 30: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

• It is simply a means of sending and receiving numbers to and from "addresses"

• An Open-Source Peer-To-Peer Payment Network – Using Digital Signatures & Encryption

• decentralization is the basis for Bitcoin's security and freedom

• Public –Private Key Encryption– Alice & Bob Illustration– Digital Certificate Blocking Chain

• http://www.weusecoins.com/

BitCoin

34

Page 31: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Bitcoin• Governance - an open source community of

developers backed by the Bitcoin Foundation.• Democratic - if you don't like one of the changes,

you are more than welcome to fork the chain and implement your own rules

• Money Creation - is given to the people, not to the central bankers.

• Deflationary by design - money supply cannot be manipulated and is fixed at 21 million coins, each divisible up to 8 decimal

35

Page 32: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

How it works

• The block chain is the fundamental data structure of the Bitcoin protocol.

• It's a single data file participants pass around to each other.

• It allows them to know who owns what.• Anyone can change it to send money to

someone else.• Other users mathematically verify the

transaction to ensure it's validity.36

Page 33: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

How It Works• It's essentially an accounting ledger:

1. 3/3/13 Sally found : $15.002. 3/3/13 Sally -> Bob : $10.003. 3/4/13 Bob -> Jimmy : $4.004. 3/4/13 Sally -> Barb : $4.005. 3/4/13 Jimmy -> Sally : $2.00

• How much money does Sally have in her wallet?1. Sally had $15, then gave $10 to Bob, then $4 to Barb,

then was given $2 from Jimmy. Sally has $3 as of right now.

37

Page 34: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Transactions

38

The block chain prevents the double spend attack by giving other nodes the power to verify that transaction inputs were not already spent somewhere else.

Input contains 1) A public key that belongs to the redeemer of the output transaction. 2) An ECDSA hash over a hash of the transaction.

Output contains1) The actual amount being sent to the recipient.2) The change amount being sent back to the original sender (if any) 3) The voluntary transaction fee attached to the output (if any).

Page 35: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Mining• Miners collect the transactions on the network

into large bundles called blocks– like "Alice pays Karim 10 bitcoins" and "Liam pays

Sofia 8.3 bitcoins".

• These blocks are strung together into one continuous, authoritative record called the block chain, – which doesn't permit any conflicting transactions. – lets you know for sure exactly which transactions

count and can be trusted (no double spending!).39

Page 36: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Block Chain• Bitcoin makes sure there is only one block chain

by making blocks really hard to produce. • miners have to compute a cryptographic hash of

the block that meets certain criteria– difficulty of the criteria for the hash is adjusted based

on how frequently blocks are appearing– also carefully validate all the transactions that go

into their blocks

• Successful miners are rewarded some bitcoins according to a preset schedule

40

Page 37: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

BitCoin Mining

1. Collects transactions from the network2. Validates them, and doesn't allow conflicting

ones3. Puts them into large bundles called blocks4. Computes cryptographic hashes over and

over until if finds one "good enough to count"5. Then submits the block to the network,

adding it to the block chain and earning a reward in return

42

Page 38: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Hash Rate

45

Page 39: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Market Price

46

Page 40: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Alternatives

• Litecoin (LTC)– transaction confirmation in 2.5 min– prevent ASICs

• PPCoin (PPC)– proof-of-stake– energy efficient

• NameCoin (NMC)– Decentralized DNS– .bit domain

47

Page 41: Lecture 28: Anonymity on the Web Modified from Levente Buttyan, Michael K. Reiter and Aviel D. Rubin

Alternatives

• TerraCoin (TRC)• NovaCoin (NVC)• Yacoin (YAC)• Primecoin (XPM)• FeatherCoin (FTC)• Anoncoin (ANC)

48

As of Dec 10, 2013Currency BTC LTC PPC NMC TRC NVC FTC XPM YAC

Value $918.10 $33.28 $5.21 $7.44 $5.00 $20.25 $0.47 $7.80 $0.15 Capitalization 9.3 b 1 b 43.3 m 4.7 m 2.5 m 2 m 2.2 m 3.6 m