30
ENEE 457: Computer Systems Security Lecture 12 Security Protocols II: Mixnets, TOR and Private Information Retrieval Charalampos (Babis) Papamanthou Department of Electrical and Computer Engineering University of Maryland, College Park

ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

ENEE 457: Computer Systems Security

Lecture 12Security Protocols II: Mixnets, TOR and Private

Information Retrieval

Charalampos (Babis) Papamanthou

Department of Electrical and Computer Engineering

University of Maryland, College Park

Page 2: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

Privacy on Public Networks or Anonymity

• Internet is designed as a public network

• Machines on your LAN may see your traffic, network routers see all traffic that passes through them

• Routing information is public

• IP 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 3: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

Applications of Anonymity

• Privacy

• Hide online transactions, Web browsing, etc. from intrusive governments, marketers and archivists

• Anonymous electronic voting

• Censorship-resistant publishing

Page 4: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

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)

• Modern anonymity systems use Mix as the basic building block

Page 5: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

Basic Mix Design

A

C

D

E

B

Mix

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

{M}pk(B),B

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

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

{M’’}pk(B),B

{M’}pk(E),E

What if the mixer is compromised?

Page 6: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

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 not

Page 7: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

Onion Routing

R R4

R1

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 8: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

Route Establishment

R4

R1

R2R3

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 9: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

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 10: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

Tor

• Second-generation onion routing network• https://www.torproject.org/

• Developed by Roger Dingledine, Nick Mathewson and Paul Syverson

• Specifically designed for low-latency anonymous Internet communications

• Running since October 2003

• Thousands of users

• “Easy-to-use” client proxy• Freely available, can use it for anonymous browsing

Page 11: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

Tor Circuit Setup• Client proxy establishes symmetric session keys with

onion routers

Page 12: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

Tor Circuit Setup (details)

R4

R1

R2R3

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 13: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

Using a Tor Circuit

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

Page 14: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

Using a Tor Circuit(details)

R4

R1

R2R3

BobAlice

{R2 , }k1

{R3 , }k2{R4, } k3

{B, }k4

{M}pk(B)

Note onion now uses only symmetric keys for routers

Page 15: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

Tor Management Issues

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

• Tor router doesn’t need special 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 16: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

Deployed Anonymity Systems

• 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 17: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

Private Information Retrieval

user Udatabase D

A new primitive:

Private Information Retrieval (PIR)

Page 18: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

Question

How to protect privacy of queries?

user U database D

wants to retrieve somedata from D

shouldn’t learn what Uretrieved

Page 19: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

Let’s make things simple!

B1 B2 … Bwindex i = 1,…,w

the user should learn Bi

Bi

?

each Bi є {0,1}

database B:

(he may also learn other Bi’s)

Page 20: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

Trivial solution

B1 B2 … Bw

The database simply sends everything to the user!

Page 21: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

Non-triviality

The previous solution has a drawback:

the communication complexity is huge!

Therefore we introduce the following requirement:

“Non-triviality”:

the number of bits communicated between U and D has to be smaller than w.

Page 22: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

input:

Private Information Retrieval (PIR)

B1 B2 … Bwinput:index i = 1,…,w

• at the end the user learns Bi

• the database does not learn i

• the total communication is < w

Note: secrecy of the database is not required

correctness

secrecy (of the user)

non-triviality

This property needs to be defined more formally

polynomial time randomized interactive algorithms

Page 23: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

Quadratic Residuosity Assumption (QRA)

QR(p)

QR(q)

ZN+:

Quadratic Residuosity Assumption (QRA):

For a random a є ZN+ it is computationally hard to determine if a є QR(N).

Formally: for every polynomial-time probabilistic algorithm G the value:|P(G(a) = Q(a)) – 0.5|

(where a is random) is negligible.

QNR(q)

QNR(p)

? a є ZN+

QR(N)

N=pq

Page 24: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

We are ready to construct PIR!

Our PIR will work in the group ZN+, where N=pq.

What’s so good about this group?:

◼ testing membership in ZN+ is easy,

◼ testing membership in QR(N) is hard for random elements on ZN+,

unless one knows p and q.

◼ Example:

◼ Z*_15 = {1,2,4,7,8,11,13,14}

◼ From these 1/4 are QRs (1,4) and the others are not

◼ If I give you an element at random, it is computationally infeasible to figure out if it is a quadratic residue or not (except for flipping coins)

Page 25: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

First (wrong) ideai

QR

X1

QR

X2

...QR

Xi-1

NQR

Xi

QR

Xi+1

...QR

Xw-1

QR

Xw

B1 B2 ... Bi-1 Bi Bi+1 ... Bw-1 Bw

for every j = 1,...,w the database sets

Yj =Xj

2 if Bj = 0Xj otherwise{

QR

Y1

QR

Y2

...QR

Yi-1 Yi

QR

Yi+1

...QR

Yw-1

QR

Yw

i↓

Yi is a QR iff Bi=0

Set M = Y1 · Y2 · ... · YwM

M is a QR iff Bi=0

the user checksif M is a QR

Page 26: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

Problems!

PIR from the previous slide:

• correctness √

• security?

To learn i the database would need to distinguish NQRfrom QR. √

QR

X1

QR

X2

...QR

Xi-1

NQR

Xi

QR

Xi+1

...QR

Xw-1

QR

Xw

• non-triviality? doesn’t hold!

communication: user → database: |B| · |Z*n|database → user: |Z*n|

Call it:(|B|, 1) - PIR

Page 27: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

How to fix it?

Idea:Given:

construct

Suppose that |B| = v2 and present B as a v×v-matrix:

B13 B14 B15 B16B9 B10 B11 B12B5 B6 B7 B8B1 B2 B3 B4

consider each row as a separate database

Page 28: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

An improved idea

B13 B14 B15 B16

B9 B10 B11 B12

B5 B6 B7 B8

B1 B2 B3 B4

v

v

Let j be the column where Bi is.

In every “row” the user asks for the jth element

So, instead of sending v queries the user can send one!

Observe: in this way the user learnsall the elements in the jth column!

Bi

j↓

execute v(v,1) - PIRsin parallel

Looks even worse:communication:

user → database: v2 · |Z*n|database → user: v · |Z*n|

The method

Page 29: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

Putting things together

B1 ... Bj-1 Bj Bj+1 ... Bv

Bi

... ... Bvv

i

QR

X1

...QR

Xj-1

NQR

Xj

QR

Xj+1

...QR

Xv X1 ... Xj-1 Xj Xj+1 ... Xv

X1 ... Xj-1 Xj Xj+1 ... Xv

Y1 ... Yj-1 Yj Yj+1 ... Yv

... Yvv

M1

...

Mv

multiplyelements

in each row

kth row

M1

Mk

Mv

Bj=0 iffMk is QR

for every j = 1,...,v set

Yj =Xj

2 if Bj = 0Xj otherwise{

jth column

here the same row is copied v times:

only thiscounts

Page 30: ENEE 457: Computer Systems Security Lecture 12 Security Protocols …enee457.github.io/lectures/week7/lecture12.pdf · 2018-12-14 · ENEE 457: Computer Systems Security Lecture 12

So we are done!

PIR from the previous slide:• correctness √• non-triviality:

communication complexity = 2√|B| · |Zn| √• security?

The to learn i the database would need to distinguish NQR from QR.Formally:

fromany adversary that breaks our scheme

we can constructan algorithm that breaks QRA