36
Collabora’ve, Privacy‐Preserving Data Aggrega’on at Scale Michael J. Freedman Princeton University Joint work with: Benny Applebaum, Haakon Ringberg, MaHhew Caesar, and Jennifer Rexford

Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Collabora've,Privacy‐PreservingDataAggrega'onatScale

MichaelJ.Freedman

PrincetonUniversity

Jointworkwith:BennyApplebaum,HaakonRingberg,MaHhewCaesar,andJenniferRexford

Page 2: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Problem:NetworkAnomalyDetec'on

Page 3: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Collabora'veanomalydetec'on

•  SomeaHackslooklikenormaltraffic–  e.g.,SQL‐injec'on,applica'on‐levelDoS[SrivatsaTWEB‘08]

•  IsitaDDoSaHackoraflashcrowd?[JungWWW‘02]

Yahoo!Google

Bing

I’mnotsureaboutBeasty!

I’mnotsureaboutBeasty!

I’mnotsureaboutBeasty!

Page 4: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Collabora'veanomalydetec'on

•  Targets(vic'ms)couldcorrelateaHacks/aHackers[KadIMC’05],[AllmanHotnets‘06],[KannanSRUTI‘06],[MooreINFOC‘03]

Yahoo!Google

Bing

“Foolusonce,shameonyou.FoolusN2mes,shameonus.”

Page 5: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Problem:NetworkAnomalyDetec'on

Solu'on:

• AggregatesuspectIPsfrommanyISPs• FlagthoseIPsthatappear>thresholdτ

Page 6: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Problem:DistributedRanking

Solu'on:

• Collectdomainsta's'csfrommanyusers• Aggregatedatabydomain

Page 7: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Problem:

Solu'on:• Aggregate(id,data)frommanysources• Analyzedatagroupedbyid

Page 8: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Butwhataboutprivacy?

WhatinputsaresubmiHed?

WhosubmiHedwhat?

Page 9: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

DataAggrega'onProblem

•  Manypar'cipants,eachwith(key,value)observa'on

•  Goal:Aggregateobserva'onsbykey

Key Values

k1 (va,vb)k2 (vi,vj,vk)

kn (vx)

AA

A

Page 10: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

DataAggrega'onProblem

•  Manypar'cipants,eachwith(key,value)observa'on

•  Goal:Aggregateobserva'onsbykey

Key Values

k1 (va,vb)k2 (vi,vj,vk)

kn (vx)

AA

A

F ( F (

F (

))

)

PDA: Onlyreleasethevaluecolumn

CR‐PDA: Pluskeyswhosevaluessa'sfysomefunc

Page 11: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

DataAggrega'onProblem

•  Manypar'cipants,eachwith(key,value)observa'on

•  Goal:Aggregateobserva'onsbykey

Key Values

k1 (1,1)k2 (1,1,1)

kn (1)

ΣΣ

ΣPDA: Onlyreleasethevaluecolumn

CR‐PDA: Pluskeyswhosevaluessa'sfysomefunc

≥τ?

≥τ?

≥τ?

Page 12: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Goals

•  Keywordprivacy:Nopartylearnsanythingaboutkeys

•  Par'cipantprivacy:NopartylearnswhosubmiHedwhat

•  Efficiency:Scaletomanypar'cipants,eachwithmanyinputs

•  Flexibility:Supportvarietyofcomputa'onsovervalues

•  Lackofcoordina'on:–  Nosynchronyrequired,individualscannotpreventprogress–  Allpar'cipantsneednotbeonlineatsame'me

Page 13: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Poten'alsolu'ons

ApproachKeywordPrivacy

Par5cipantPrivacy Efficiency Flexibility

LackofCoord

GarbledCircuit

Evalua'on

Mul'partySetIntersec'on

Yes Yes VeryPoor Yes No

Yes Yes Poor No NoDecen

tralized

Page 14: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Security Efficiency

•  Weakensecurityassump'ons?

–  Assumehonestbutcuriouspar'cipants?

–  Assumenocollusionamongmaliciouspar'cipants?

•  Inlarge/opensedng,easytooperatemul'plenodes(so‐called“SybilaHack”)

Page 15: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

TowardsCentraliza'on?

DB

Par5cipants

Page 16: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Poten'alsolu'ons

ApproachKeywordPrivacy

Par5cipantPrivacy Efficiency Flexibility

LackofCoord

GarbledCircuit

Evalua'on

Mul'partySetIntersec'on

HashingInputs

NetworkAnonymiza'on

Yes Yes VeryPoor Yes No

Yes Yes Poor No No

No No VeryGood Yes Yes

No Yes VeryGood Yes Yes

Decen

tralized

Ce

ntralized

Page 17: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Towardssemi‐centraliza'on

Par5cipants

Proxy DB

Assump5on:ProxyandDBdo

notcollude

Page 18: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Poten'alsolu'ons

ApproachKeywordPrivacy

Par5cipantPrivacy Efficiency Flexibility

LackofCoord

GarbledCircuit

Evalua'on

Mul'partySetIntersec'on

HashingInputs

NetworkAnonymiza'on

ThisWork

Yes Yes VeryPoor Yes No

Yes Yes Poor No No

No No VeryGood Yes Yes

No Yes VeryGood Yes Yes

Yes Yes Good Yes Yes

Decen

tralized

Ce

ntralized

Page 19: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

PrivacyGuarantees

•  PrivacyofPDAagainstmaliciousen''esandpar'cipants– Maliciouspar'cipantmaycolludewitheithermaliciousproxyorDB,butnotboth

– Mayviolatecorrectnessinalmostarbitraryways

•  PrivacyofCR‐PDAagainsthonest‐but‐curiousen''esandmaliciouspar'cipants

Page 20: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

PDAStrawman#0

Par5cipant Proxy DB

1. Clientsendsinputk

k

Page 21: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

PDAStrawman#1

Par5cipant Proxy DB

1. Clientsendsencryptedinputk2. Proxybatchesandretransmits

3. DBdecryptsinput

ds

k # 1.1.1.1 1

2.2.2.2 9

Violateskeywordprivacy

EDB(k) EDB(k)

Page 22: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

ds

PDAStrawman#2

Par5cipant Proxy DB

1. Clientsendshashesofk2. Proxybatchesandretransmits

3. DBdecryptsinput

H (k) # H(1.1.1.1) 1

H(2.2.2.2) 9

S5llviolateskeywordprivacy:IPsdrawnfromsmalldomains

EDB(H(k)) EDB(H(k))

Page 23: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

PDAStrawman#3

Par5cipant Proxy DB

1. Clientsendskeyedhashesofk–  Keyedhashfunc'on(PRF)–  Keysknownonlybyproxy

Fs (k) # Fs(1.1.1.1) 1

Fs(2.2.2.2) 9

EDB(Fs(k)) EDB(Fs(k))

ButhowdoclientslearnFs(IP))?

Secrets

Page 24: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

OurBasicPDAProtocol

Par5cipant Proxy DB

1. Clientsendskeyedhashesofk–  Fs(x)learnedbyclientthroughObliviousPRFprotocol

2.  Proxybatchesandretransmitskeyedhash

3.  DBdecryptsinput

Fs (k) # Fs(1.1.1.1) 1

Fs(2.2.2.2) 9

EDB(Fs(k))OPRF

EDB(Fs(k)) Fs(k)

Secrets

Page 25: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Fs (k) # Fs(1.1.1.1) 1

Fs(2.2.2.2) 9

retransmits

BasicCR‐PDAProtocol

Par5cipant Proxy DB

1.  Clientsendskeyedhashesofk,andencryptedkforrecovery

2.  Proxyretransmitskeyedhash3.  DBdecryptsinput4.  Iden'fyrowstoreleaseandtransmitEPRX(k)toproxy5.  Proxydecryptskandreleases

EDB(Fs(k)) Fs(k)

EDB(EPRX(k))

EPRX(k)

Fs (k) # Enc’d k Fs(1.1.1.1) 1 EPRX(1.1.1.1)

Fs(2.2.2.2) 9 EPRX(2.2.2.2)

Secrets

Page 26: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

retransmits

PrivacyProper'es

Par5cipant Proxy DB

•  Anycoali'onofHBCpar'cipants•  HBCcoali'onofproxyandpar'cipants•  HBCdatabase

EDB(Fs(k)) Fs(k)

EDB(EPRX(k))

EPRX(k)

•  Keywordprivacy:Nothinglearnedaboutunreleasedkeys•  Par'cipantprivacy:KeyPar'cipantnotlearned

Secrets

Page 27: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

retransmits

PrivacyProper'es

Par5cipant Proxy DB

•  Anycoali'onofHBCpar'cipants•  HBCcoali'onofproxyandpar'cipants•  HBCdatabase

EDB(Fs(k)) Fs(k)

EDB(EPRX(k))

EPRX(k)

•  Keywordprivacy:Nothinglearnedaboutunreleasedkeys•  Par'cipantprivacy:KeyPar'cipantnotlearned

Secrets

maliciouspar'cipants

HBCcoali'onofDBandpar'cipants

Page 28: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

retransmits

MoreRobustPDAProtocol

Par5cipant Proxy DB

•  Anycoali'onofHBCpar'cipants•  HBCcoali'onofproxyandpar'cipants•  HBCdatabase

EDB(Fs(k)) Fs(k)

EDB(EPRX(k))

EPRX(k)Secrets

maliciouspar'cipants

HBCcoali'onofDBandpar'cipants

•  ORPFEncryptedOPRFProtocol•  Ciphertextre‐randomiza'onbyproxy•  Proofbypar'cipantthatsubmiHedk’smatch

Page 29: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Encrypted‐OPRFprotocol•  Problem:inbasicOPRFprotocol,par'cipantlearnsFs(k)

•  Encrypted‐OPRFprotocol:–  ClientlearnsblindedFs(k)–  ClientencryptstoDB–  ProxycanunblindFs(k)“undertheencryp'on”

()r‐1Enc()()rFs(k)

(πsi)ki=1ElGamal gmodp

Page 30: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Encrypted‐OPRFprotocol•  Problem:inbasicOPRFprotocol,par'cipantlearnsFs(k)

•  Encrypted‐OPRFprotocol–  ClientlearnsblindedFs(k)–  ClientencryptstoDB–  ProxycanunblindFs(k)“undertheencryp'on”

•  OPRFrunsOTprotocolforeachbitofinputk•  OTprotocolsexpensive,sousebatchOTprotocol[Ishaietal]

()r‐1Enc()()rFs(k)

Page 31: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

ScalableProtocolArchitecture

Par'cipantsClient‐Facing

Proxies

Sharesecrets

ProxyDecryp'onOracles

SharePRXkey

Front‐EndDBTier

ShareDBkey

Back‐EndDBStorage

Par''onFskeyspace

Page 32: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Evalua'on•  Scalablearchitectureimplemented

–  BasicCR‐PDA/PDAprotocol+andencrypted‐OPRFprotocolw/BatchOT

–  ~5000linesofthreadedC++,GnuPGforcrypto

•  Testbedof2GHzLinuxmachines

Algorithm Parameter Value

RSA/ElGamal keysize 1024bits

ObliviousTransfer k 80

AES keysize 256bits

Page 33: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Throughputvs.par'cipantbatchsize

SingleCPUcoreforDBandproxyeach

Page 34: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Maximumthroughputperserver

FourCPUcoresforDBandproxy(each)

Page 35: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Throughputscalability

NumberCPUcoresperDBandproxy(each)

Page 36: Collaborave, Privacy‐Preserving Data Aggregaon at Scalemfreed/docs/ppda-pet10-slides.pdf · Collaborave anomaly detecon • Some aacks look like normal traffic – e.g., SQL‐injecon,

Summary•  Privacy‐PreservingDataAggrega'onprotects:

–  Par'cipants:DonotrevealwhosubmiHedwhat–  Keywords:Onlyrevealvalues/releasedkeys

•  Novelcomposi'onofcryptoprimi'ves–  Basedonassump'onthat2+knownpar'esdon’tcollude

•  Efficientimplementa'onofarchitecture–  Scaleslinearlywithcompu'ngresources–  Ex:MillionsofsuspectedIPsinhours

•  Ofindependentinterest…–  IntroducedencryptedOPRFprotocol–  Firstimplementa'on/valida'onofBatchOTprotocol