anonymous communication

28
Anonymous Communication Luis von Ahn Andrew Bortz Nick Hopper The Aladdin Center Carnegie Mellon University

Upload: binah

Post on 12-Feb-2016

49 views

Category:

Documents


3 download

DESCRIPTION

Anonymous Communication. Luis von Ahn Andrew Bortz Nick Hopper. The Aladdin Center Carnegie Mellon University. Motivation. Verizon is being forced to reveal the identities of online music traders - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Anonymous Communication

Anonymous Communication

Luis von AhnAndrew BortzNick HopperThe Aladdin Center

Carnegie Mellon University

Page 2: Anonymous Communication

Motivation Verizon is being forced to reveal the

identities of online music traders I would rather not lose my life savings

to the RIAA, but I just can’t seem to stop trading music either. ;-)

I’d like to trade anonymously, so that no one can prove (to a court) what I was doing

Page 3: Anonymous Communication

Other applications Privacy in e-Commerce “Whistle blowers”

Guarantees freedom of speech if one can speak without fear of repercussions

Page 4: Anonymous Communication

The Problem Really two different problems:

Sender anonymity – hiding the true sender (originator) of a message

Receiver anonymity – hiding the intended recipient of a message

Receiver anonymity is easier More efficient protocols exist Seems to come “for free” with many

sender anonymous protocols

Page 5: Anonymous Communication

An intersection attack Sender and receiver anonymity are equally

important in two-way communications Consider just sender anonymity

A malicious sender can entrap another by sending a message to just them. If they respond, even though they should have sender anonymity, the malicious node knows who they are

In two-way communications, your anonymity is a function of the intersection of the size of the groups you hide in for both sending and receiving

Page 6: Anonymous Communication

Definitions? What are those? When we get to formal definitions,

there is no universal agreement To do anything meaningful, we

need to have a good understanding of: What constitutes “anonymity”? Who is our adversary, and what is he

capable of doing?

Page 7: Anonymous Communication

What is anonymity? Consider full sender anonymity:

Intuitively, an adversary cannot distinguish the sender from the other honest participants

Formally, computational indistinguishability seems reasonable

No polynomial-time adversary can distinguish the true sender of a message with non-negligible probability

But that’s not enough! A protocol needs to “do” something in the face

of an attack - robustness Other, more restricted ideas about

anonymity

Page 8: Anonymous Communication

Who is our adversary? Many possibilities, but here are some

common ones: Honest-but-curious users Passive, global eavesdropping (secure

channels) Honest-but-curious group of users

Malicious group of users Malicious group of users with eavesdropping Malicious group of users with eavesdropping

and the ability to drop packets

Page 9: Anonymous Communication

Solutions - Mixes In the beginning… we had David

Chaum’s Mixes: A single trusted machine (mix) that

would facilitate anonymity To send a message, send it to the mix

and the mix will send it to the recipient Provides sender anonymity If the mix broadcasts the message, we get

receiver anonymity too

Page 10: Anonymous Communication

Solutions – Mixes (2) What adversarial models is this

secure in? Not one with eavesdropping – we can

tell who is sending a message Simple solution – make everyone

send a “message” to the mix all the time, at the same time

Interesting solution, but finding a “trusted” mix is hard

Page 11: Anonymous Communication

Solutions – Mix-Nets Let’s have a lot of untrusted mixes To send a message, choose a path of

mixes and send a message to be routed through them

Problems: Not secure in eavesdropping models Difficult to prove security in other models as

well Most of all – not robust! (or rather very

difficult to make/prove a robust protocol like this)

Page 12: Anonymous Communication

Solutions – Onion Routing A common extension to Mix-Nets Encrypt message in layers, one for each

hop on the path When a machine gets a message to be

routed, it decrypts it, sees only the address of the next hop and another encrypted message, and forwards it

More secure than Mix-Nets, but suffers from some of the same insecurities

Page 13: Anonymous Communication

Solutions – DC-Nets Can we even get a good solution?

Yes! DC-Nets:

Also by David Chaum Secure against the most powerful of

adversaries Even some computationally unbounded

ones that were not in the previous list

Page 14: Anonymous Communication

How does a DC-Net work? It is a multi-party sum protocol:

A bunch of people want to calculate a sum of each of their private values, but don’t want anyone to know what those values are

Each pair of people chooses a random pair of numbers that sums to 0 (random x and –x)

Each person computes the sum of all the secrets they know and their private value, and broadcasts this sum to everyone

When you sum together everyone’s broadcast, all the randomness cancels out, and you are left with the sum of everyone’s private values

Page 15: Anonymous Communication

How does a DC-Net work? (2) Multi-party sum is secure

Unless the adversary knows all your secrets, your value is hidden by a random number

DC-Nets use this as a shared channel To transmit, choose your value to be your

message. Otherwise, choose 0 If only one person transmits, everyone

gets the message. Otherwise it is garbled

Page 16: Anonymous Communication

DC-Net tricks Problem: an adversary can transmit

all the time, and thus no one else can Solution: (overview)

DC-Nets use a complicated reservation and trapping system

Nodes anonymously reserve a time slot for the shared channel

If a node transmits out of turn, there is a fixed probability of them being detected

Page 17: Anonymous Communication

Solutions – DC-Nets (2) Why don’t we use DC-Nets?

Huge complexity by any measure – rounds, messages, bits

Best attacks on robustness allow up to O(n2) attacks before an attacker is kicked off

Why are DC-Nets good? Proof of concept – it can be done, it

may just be really really inefficient

Page 18: Anonymous Communication

New definitions People have been banging their

heads against the wall for a while with this problem – let’s cheat and try an easier one!

Hence, k-anonymity: Instead of hiding amongst all the

honest users, let’s just make sure we are hiding with at least k of them

Page 19: Anonymous Communication

K-Anonymity Easier, but still very useful:

In the absence of other evidence, you only need 2-anonymity to raise “reasonable doubt” in a US criminal court

3-anonymity is sufficient for a US civil court

Even 2-anonymity wrecks havoc with data profiling techniques

Page 20: Anonymous Communication

Our contribution An efficient protocol for k-

anonymous communication We assume a powerful adversary – a

group of malicious users with eavesdropping

We catch cheaters with high probability without compromising anonymity

Page 21: Anonymous Communication

Overview Break the network into groups of size

O(k) Each group (of size M) runs 2M parallel

shared channels To send, choose one of the 2M channels

and send a message of the form (destination group id, real message), and send nothing in the other channels

When a group computes a message on one of the shared channels, it sends it to the destination group

Page 22: Anonymous Communication

Security Anonymity

Each shared channel is implemented with a multi-party sum protocol, so message sending is anonymous

Since an entire group receives the message, message receiving is anonymous too

Intersection attack doesn’t gain anything, so this is secure for two-way

Page 23: Anonymous Communication

Security (2) Robustness

Adversary can try to hog all the channels, but if more than M of the 2M channels are used, then everyone knows someone cheated

In that case, use a zero-knowledge proof for each participant to prove he used at most 1 of the channels – guaranteed to reveal at least 1 cheater

Page 24: Anonymous Communication

Efficiency Constant number of rounds = 4

Very good for latency-bound networks – like the Internet

O(M2) messages per anonymous message sent, O(M3) bits per anonymous bit sent Still decent since M = O(k)

Alternate strategies to improve our protocol’s best-case complexity to O(M) messages per anonymous message sent One sacrifices a bit of robustness, the other

increases the round complexity by 2

Page 25: Anonymous Communication

Future work “Stop fooling around and do it!”

Implement one or more of these protocols (either for real or in a simulator)

See how they work, in terms of efficiency

Easier, but not nearly as interesting

Page 26: Anonymous Communication

Future work (2) “Stop fooling around and solve it!” – a

few good possibilities for future work Build a good formal model for the

problem Define various types of anonymity Generalize adversaries Prove interesting/good/powerful results

I.e. there are a bunch of seemingly impossible scenarios for anonymous communication

It would also be good to find an optimal solution, or a good lower bound for one

Page 27: Anonymous Communication

Future work (3) My current focus: asynchronous

protocols All protocols so far that are secure against

an eavesdropping adversary use a synchronous ‘round’ structure – a group of users all do something at the same time

Asynchronous protocols would be more efficient, but are they even possible?

(Likely they are not, but it seems hard to prove)

Page 28: Anonymous Communication

That’s it! Any questions?