part iii cryptographic mechanisms for privacy protectionece734/lectures/lecture... · attacks on...

41
Part III Cryptographic Mechanisms for Privacy Protection 18734: Foundations of Privacy

Upload: others

Post on 27-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Part III

Cryptographic Mechanisms forPrivacy Protection

18734: Foundations of Privacy

Page 2: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Cryptographic Mechanisms: Overview“doing things anonymously”

} Communicating:} (today) Anonymous Communication Protocols

} Authenticating:} (nov 14) Anonymous Credentials

} Paying:} (nov 19) Bitcoin and Blockchain} (nov 26) Zerocoin and Anonymous Cash

} “Contracting”:} (nov 28) Tentative: Ethereum and Smart Contracts

2

Page 3: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Cryptographic Mechanisms: Overviewcryptographic prerequisites

} (previously?) Hash functions} (today) Symmetric vs Public key cryptography} (nov 12) Commitments and Zero-knowledge

3

Page 4: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Protocols for Anonymous Communication

Anupam DattaCMU

Fall 2018

18734: Foundations of Privacy

Some slides thanks to Piotr Mardziel, Vitaly Shmatikov

Page 5: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Privacy on Public Networks

} Internet is designed as a public network} Nearby computers can see your traffic } Routers see all traffic that passes through them

} Routing information is public} Packet headers identify source and destination} Even a passive observer can easily figure out who is talking to whom

} Encryption does not hide identities} Encryption hides payload, but not routing information

Page 6: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Applications of Anonymity (I)

} Privacy} Hide online transactions, web browsing, etc. from intrusive

governments, marketers and archivists

} Untraceable electronic mail} Corporate whistle-blowers} Political dissidents} Socially sensitive communications (online AA meeting)} Confidential business negotiations

} Law enforcement and intelligence} Sting operations and honeypots} Secret communications on a public network

Page 7: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Applications of Anonymity (II)

} Digital cash} Electronic currency with properties of paper money (online

purchases unlinkable to buyer’s identity)

} Anonymous electronic voting} Censorship-resistant publishing

Page 8: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

What is Anonymity?

} Anonymity is the state of being not identifiable within a set of subjects} You cannot be anonymous by yourself!} Hide your activities among others’ similar activities

} Unlinkability of action and identity} For example, sender and his email are no more related after

observing communication than they were before

} Unobservability (hard to achieve)} Any item of interest (message, event, action) is indistinguishable

from any other item of interest

Page 9: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Attacks on Anonymity

} Passive traffic analysis} Infer from network traffic who is talking to whom} To hide your traffic, must carry other people’s traffic!

} Active traffic analysis} Inject packets or put a timing signature on packet flow

} Compromise of network nodes} Attacker may compromise some routers} It is not obvious which nodes have been compromised

} Attacker may be passively logging traffic

} Better not to trust any individual router} Assume that some fraction of routers is good, don’t know which

Page 10: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Outline} Symmetric vs Public key cryptography} Protocols for anonymous communication

} High-latency} Chaum Mixes as a building block, onion routing

} Low-latency} Optimized Onion Routing and Tor

} Dining Cryptographers} Anonymous public announcement

Page 11: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Symmetric vs Public key crypto} Symmetric

} (Symmetric) key k} Message M

} Encrypt: Enck(M) or {M}k

} Decrypt: Deck(M)} Deck(Enck(M)) = M} Fast

} Public-private} Bob’s public key: pk(B)

} Bob’s private key: pr(B)} Decpr(B)(Encpk(B)(M)) = M

} Decpk(B)(Encpk(B)(M)) ≠ M} Slow

11

{M}k

{M}pk(B)

AliceKnows pk(B)

BobKnows pk(B)Knows pr(B)

AliceKnows k

BobKnows k

M

M

Deck({M}k) = M

Decpr(B)({M}pk(B))= M

CharlieKnows nothing

CharlieKnows pk(B)

Page 12: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Outline} Symmetric vs Public-private key encryption} Protocols for anonymous communication

} High-latency} Chaum Mixes as a building block, onion routing

} Low-latency} Optimized Onion Routing and Tor

} Dining Cryptographers} Anonymous public announcement

Page 13: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Chaum’s Mix

} Early proposal for anonymous email} David Chaum. “Untraceable electronic mail, return addresses,

and digital pseudonyms”. Communications of the ACM, February 1981.

} Public key crypto + trusted re-mailer (Mix)} Untrusted communication medium} Public keys used as persistent pseudonyms

} Modern anonymity systems use Mix as the basic building block

Before spam, people thought anonymous email was a good idea J

Page 14: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Basic Mix Design

A

C

D

E

B

Mix

{r1,{r0,M}pk(B),B}pk(mix){r0,M}pk(B),B

{r2,{r3,M’}pk(E),E}pk(mix)

{r4,{r5,M’’}pk(B),B}pk(mix)

{r5,M’’}pk(B),B

{r3,M’}pk(E),E

Adversary knows all senders and all receivers, but cannot link a sentmessage with a received message

Page 15: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Anonymous Return Addresses

A

BMIX

{r1,{r0,M}pk(B),B}pk(mix) {r0,M}pk(B),B

M includes {K1,A}pk(mix), K2 where K2 is a fresh public key

Response MIX

{K1,A}pk(mix), {r2,M’}K2A,{{r2,M’}K2}K1

Secrecy without authentication(good for an online confession service J)

Page 16: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Mix Cascade

} Messages are sent through a sequence of mixes} Can also form an arbitrary network of mixes (“mixnet”)

} Some of the mixes may be controlled by attacker, but even a single good mix guarantees anonymity

} Pad and buffer traffic to foil correlation attacks

Page 17: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Idea: Randomized Routing

} Hide message source by routing it randomly} Popular technique: Crowds, Freenet, Onion routing

} Routers don’t know for sure if the apparent source of a message is the true sender or another router

Page 18: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Onion Routing

R R4R1

R2

R

RR3

Bob

R

R

R

} Sender chooses a random sequence of routers} Some routers are honest, some controlled by attacker} Sender controls the length of the path

[Reed, Syverson, Goldschlag ’97]

Alice

Page 19: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Route Establishment

R4

R1

R2 R3 BobAlice

{R2 ,{ }}pk(R1){R3 ,{ } }}pk(R2)

{R4, } } pk(R3){B,{ }} pk(R4)

{M}pk(B)

• Routing info for each link encrypted with router’s public key• Each router learns only the identity of the next router

Page 20: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Disadvantages of Basic Mixnets/Onion Routing

} Public-key encryption and decryption at each mix/router are computationally expensive

} Basic mixnets have high latency} Ok for email, not Ok for anonymous Web browsing

} Challenge: low-latency anonymity network

Page 21: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Outline} Symmetric vs Public-private key encryption} Protocols for anonymous communication

} High-latency} Chaum Mixes as a building block, onion routing

} Low-latency} Optimized Onion Routing and Tor

} Dining Cryptographers} Anonymous public announcement

Page 22: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Tor

} Second-generation onion routing network} http://tor.eff.org} Developed by Roger Dingledine, Nick Mathewson and Paul

Syverson} Specifically designed for low-latency anonymous Internet

communications

} Running since October 2003} Thousands of nodes, 2MM+ users} “Easy-to-use” client proxy

} Freely available, can use it for anonymous browsing

Page 23: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Tor Circuit Setup} Client proxy establishes symmetric session keys with

onion routers

Page 24: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Tor Circuit Setup (details)

R4

R1

R2 R3 BobAlice

{R2,k1}pk(R1),{ }k1{R3,k2}pk(R2),{ }k2

{R4,k3}pk(R3),{ }k3{B,k4}pk(R4),{ }k4

{M}pk(B)

• Routing info for each link encrypted with router’s public key• Each router learns only the identity of the next router and symmetric key with source

Page 25: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Using a Tor Circuit

} Client applications connect and communicate over the established Tor circuit} Note onion now uses only symmetric keys for routers

Page 26: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Using a Tor Circuit(details)

R4

R1

R2 R3 BobAlice

{R2 ,{ }}k1{R3 ,{ }}k2

{R4, } k3{B,{ }}k4

{M}pk(B)

Note onion now uses only symmetric keys for routers

Page 27: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Tor Management Issues

} Many applications can share one circuit} Multiple TCP streams over one anonymous connection

} Tor router doesn’t need root privileges} Encourages people to set up their own routers} More participants = better anonymity for everyone

} Directory servers} Maintain lists of active onion routers, their locations, current

public keys, etc.} Control how new routers join the network

} “Sybil attack”: attacker creates a large number of routers

} Directory servers’ keys ship with Tor code

Page 28: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Deployed Anonymity Systems

} Free Haven project has an excellent bibliography on anonymity

} Tor (http://tor.eff.org)} Overlay circuit-based anonymity network} Best for low-latency applications such as anonymous Web

browsing

} Mixminion (http://www.mixminion.net)} Network of mixes} Best for high-latency applications such as anonymous email

Page 29: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Outline} Symmetric vs Public-private key encryption} Protocols for anonymous communication

} High-latency} Chaum Mixes as a building block, onion routing

} Low-latency} Optimized Onion Routing and Tor

} Dining Cryptographers} Anonymous public announcement

Page 30: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Dining Cryptographers

} Make a message public in a perfectly untraceable manner} David Chaum. “The dining cryptographers problem: unconditional

sender and recipient untraceability.” Journal of Cryptology, 1988.

} Guarantees information-theoretic anonymity for message senders} This is an unusually strong form of security: defeats adversary who

has unlimited computational power

} Impractical, requires huge amount of randomness} In group of size N, need N random bits to send 1 bit

Page 31: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Three-Person DC Protocol

Three cryptographers are having dinner.

Either NSA is paying for the dinner, or one of them is paying, but wishes to remain

anonymous.

Cryptographers = clients

NSA pays/someone pays = 1 bit message

Cryptographer 1 Cryptographer 2

Cryptographer 3

Page 32: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Three-Person DC Protocol

1. Each diner flips a coin and shows it to his left neighbor.

} Every diner will see two coins: his own and his right neighbor’s

2. Each diner announces whether the two coins are the same.

} If he is the payer, he lies (says the opposite).

3. Odd number of “same” Þ NSA is paying;

} Even number of “same” Þ one of them is paying

} But a non-payer cannot tell which of the other two is paying!

“same” “different”

“same”

Page 33: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

?

Non-Payer’s View: Same Coins

“same” “different”

payer payer

?

“same” “different”

Without knowing the coin tossbetween the other two, non-payercannot tell which of them is lying

“same”

Page 34: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

?

Non-Payer’s View: Different Coins

“same” “same”

payer payer

?

“same” “same”

Without knowing the coin tossbetween the other two, non-payercannot tell which of them is lying

“different”

Page 35: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Superposed Sending

} This idea generalizes to any group of size N} For each bit of the message, every user generates 1 random

bit and sends it to 1 neighbor} Every user learns 2 bits (his own and his neighbor’s)

} Each user announces own bit XOR neighbor’s bit} Sender announces own bit XOR neighbor’s bit XOR

message bit} XOR of all announcements = message bit

} Every randomly generated bit occurs in this sum twice (and is canceled by XOR), message bit occurs once

Page 36: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

DC-Based Anonymity is Impractical

} Requires secure pairwise channels between group members} Otherwise, random bits cannot be shared

} Requires massive communication overhead and large amounts of randomness

} DC-net (a group of dining cryptographers) is robust even if some members collude} Guarantees perfect anonymity for the other members

Page 37: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Questions?} Symmetric vs Public-private key encryption} Protocols for anonymous communication

} High-latency} Chaum Mixes as a building block, onion routing

} Low-latency} Optimized Onion Routing and Tor

} Dining Cryptographers} Anonymous public announcement

} This lecture uses a number of slides provided by Vitaly Shmatikov and Piotr Mardziel .

Page 38: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Location Hidden Servers

} Goal: deploy a server on the Internet that anyone can connect to without knowing where it is or who runs it

} Accessible from anywhere} Resistant to censorship} Can survive full-blown DoS attack} Resistant to physical attack

} Can’t find the physical server!

Page 39: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Creating a Location Hidden Server

Server creates onion routesto “introduction points”

Server gives intro points’descriptors and addresses to service lookup directory

Client obtains servicedescriptor and intro pointaddress from directory

Page 40: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

Using a Location Hidden Server

Client creates onion routeto a “rendezvous point”

Client sends address of therendezvous point and anyauthorization, if needed, toserver through intro point

If server chooses to talk to client,connect to rendezvous point

Rendezvous pointmates the circuitsfrom client & server

Page 41: Part III Cryptographic Mechanisms for Privacy Protectionece734/lectures/lecture... · Attacks on Anonymity}Passive traffic analysis}Infer from network traffic who is talking to whom}To

A simple idea: Basic Anonymizing Proxy} Channels appear to come from proxy, not true originator} Appropriate for Web connections etc.: SSL, TLS (Lower

cost symmetric encryption)} Example: The Anonymizer} Simple, focuses lots of traffic for more anonymity} Main disadvantage: Single point of failure, compromise,

attack