Query ¡model Divide ¡answer’s ¡value ¡range ¡into ¡ buckets, ¡ enforce ¡a ¡ binary ¡answer in ¡each ¡bucket Query: ¡ SELECT ¡age ¡FROM ¡clients ¡WHERE ¡city ¡= ¡‘Santa ¡Clara’ 0 0 1 0 0 0 Age: ¡ 31 1-‑20 21-‑30 31-‑40 41-‑50 51-‑60 >60 9
Query ¡model Divide ¡answer’s ¡value ¡range ¡into ¡ buckets, ¡ enforce ¡a ¡ binary ¡answer in ¡each ¡bucket Query: ¡ SELECT ¡age ¡FROM ¡clients ¡WHERE ¡city ¡= ¡‘Santa ¡Clara’ 0 0 1 0 0 0 Age: ¡ 31 1-‑20 21-‑30 31-‑40 41-‑50 51-‑60 >60 Client ¡cannot ¡arbitrarily ¡manipulate ¡answers ¡ 9
Workflow: ¡Submit ¡query (Query, ¡budget) Aggregator Analyst 10
Workflow: ¡Submit ¡query Clients (Query, ¡budget) Aggregator Analyst Cost-‑Function(budget) System ¡parameters: • Sampling ¡parameter • Randomized ¡response ¡parameters 10
Workflow: ¡Submit ¡query Clients (Query, ¡budget) (Query, ¡parameters) Aggregator Analyst Cost-‑Function(budget) System ¡parameters: • Sampling ¡parameter • Randomized ¡response ¡parameters 10
Workflow: ¡Answer ¡query 11
Workflow: ¡Answer ¡query Client 11
Workflow: ¡Answer ¡query Client Step ¡#1 Sampling (Flip ¡a ¡coin ¡to ¡decide ¡to ¡ answer ¡query ¡or ¡not) 11
Workflow: ¡Answer ¡query Client Step ¡#1 Step ¡#2 Sampling Randomized ¡ (Flip ¡a ¡coin ¡to ¡decide ¡to ¡ Response answer ¡query ¡or ¡not) 11
Workflow: ¡Answer ¡query Client Step ¡#1 Step ¡#2 Step ¡#3 Sampling Send ¡randomized ¡ Randomized ¡ (Flip ¡a ¡coin ¡to ¡decide ¡to ¡ answer Response answer ¡query ¡or ¡not) 11
Workflow: ¡Answer ¡query Client Step ¡#1 Step ¡#2 Step ¡#3 Sampling Send ¡randomized ¡ Randomized ¡ (Flip ¡a ¡coin ¡to ¡decide ¡to ¡ answer Response answer ¡query ¡or ¡not) Zero-‑knowledge ¡privacy 11
Workflow: ¡Answer ¡query Client Step ¡#1 Step ¡#2 Step ¡#3 Sampling Send ¡randomized ¡ Randomized ¡ (Flip ¡a ¡coin ¡to ¡decide ¡to ¡ answer Response answer ¡query ¡or ¡not) Zero-‑knowledge ¡privacy See ¡the ¡paper ¡for ¡details! 11
Workflow: ¡Answer ¡query Clients Randomized ¡ answers Aggregator 12
Workflow: ¡Answer ¡query Clients Approximate ¡result Randomized ¡ ± Error ¡bound answers Aggregator Analyst 12
Workflow: ¡Answer ¡query Clients Approximate ¡result Randomized ¡ ± Error ¡bound answers Aggregator Analyst Lack ¡of ¡anonymity ¡and ¡unlinkability? 12
#3: ¡Anonymity ¡and ¡unlinkability 13
#3: ¡Anonymity ¡and ¡unlinkability Idea: ¡ XOR-‑based ¡Encryption 13
#3: ¡Anonymity ¡and ¡unlinkability Idea: ¡ XOR-‑based ¡Encryption Client 13
#3: ¡Anonymity ¡and ¡unlinkability Idea: ¡ XOR-‑based ¡Encryption Client Encrypt ¡answer ¡ M: GenerateKey -‑> ¡ M k M XOR M k -‑> M E 13
#3: ¡Anonymity ¡and ¡unlinkability Idea: ¡ XOR-‑based ¡Encryption Client Proxy Aggregator Proxy Encrypt ¡answer ¡ M: GenerateKey -‑> ¡ M k M XOR M k -‑> M E 13
#3: ¡Anonymity ¡and ¡unlinkability Idea: ¡ XOR-‑based ¡Encryption Client Proxy Aggregator Proxy Encrypt ¡answer ¡ M: Decrypt ¡answer ¡ M E : GenerateKey -‑> ¡ M k M E XOR M k -‑> ¡ M M XOR M k -‑> M E 13
Implementation Clients Proxy Aggregator Analyst Proxy 14
Implementation Clients Proxy Aggregator Analyst Proxy 14
Implementation Clients Proxy Aggregator Analyst Proxy 14
Implementation Clients Proxy Aggregator Analyst Proxy 14
Outline • Motivation • Overview • Design • Evaluation 15
Experimental ¡setup • Evaluation ¡questions • Utility ¡vs ¡privacy • Throughput ¡& ¡latency ¡ • Network ¡overhead 16
Experimental ¡setup • Evaluation ¡questions • Utility ¡vs ¡privacy See ¡the ¡paper ¡ • Throughput ¡& ¡latency ¡ for ¡more ¡ results! • Network ¡overhead 16
Experimental ¡setup • Evaluation ¡questions • Utility ¡vs ¡privacy See ¡the ¡paper ¡ • Throughput ¡& ¡latency ¡ for ¡more ¡ results! • Network ¡overhead • Testbed • Cluster: ¡44 ¡nodes ¡ • Dataset: ¡NYC ¡Taxi ¡ride ¡records, ¡ household ¡electricity ¡usage 16
Accuracy ¡vs ¡privacy 17
Accuracy ¡vs ¡privacy Randomization ¡parameters ¡#1 ¡(p ¡= ¡0.6, ¡q ¡= ¡0.6) 0.6 6 Randomization ¡parameters ¡#2 ¡(p ¡= ¡0.9, ¡q ¡= ¡0.6) Accuracy ¡loss ¡(%) Privacy ¡ ¡(ε zk ) 0.5 5 0.4 4 0.3 3 0.2 2 0.1 1 0 0 10 20 40 60 80 90 Sampling ¡Fraction ¡(%) 17
Accuracy ¡vs ¡privacy The ¡lower Randomization ¡parameters ¡#1 ¡(p ¡= ¡0.6, ¡q ¡= ¡0.6) the ¡better 0.6 6 Randomization ¡parameters ¡#2 ¡(p ¡= ¡0.9, ¡q ¡= ¡0.6) Accuracy ¡loss Privacy ¡level Accuracy ¡loss ¡(%) Privacy ¡ ¡(ε zk ) 0.5 5 0.4 4 0.3 3 0.2 2 0.1 1 0 0 10 20 40 60 80 90 Sampling ¡Fraction ¡(%) Trade-‑off ¡between ¡utility ¡and ¡privacy 17
Accuracy ¡vs ¡privacy The ¡lower Randomization ¡parameters ¡#1 ¡(p ¡= ¡0.6, ¡q ¡= ¡0.6) the ¡better 0.6 6 Randomization ¡parameters ¡#2 ¡(p ¡= ¡0.9, ¡q ¡= ¡0.6) Accuracy ¡loss Privacy ¡level Accuracy ¡loss ¡(%) Privacy ¡ ¡(ε zk ) 0.5 5 0.4 4 0.3 3 0.2 2 0.1 1 0 0 10 20 40 60 80 90 Sampling ¡Fraction ¡(%) Trade-‑off ¡between ¡utility ¡and ¡privacy 17
Accuracy ¡vs ¡privacy The ¡lower Randomization ¡parameters ¡#1 ¡(p ¡= ¡0.6, ¡q ¡= ¡0.6) the ¡better 0.6 6 Randomization ¡parameters ¡#2 ¡(p ¡= ¡0.9, ¡q ¡= ¡0.6) Accuracy ¡loss Privacy ¡level Accuracy ¡loss ¡(%) Privacy ¡ ¡(ε zk ) 0.5 5 0.4 4 0.3 3 0.2 2 0.1 1 0 0 10 20 40 60 80 90 Sampling ¡Fraction ¡(%) Trade-‑off ¡between ¡utility ¡and ¡privacy 17
Accuracy ¡vs ¡privacy The ¡lower Randomization ¡parameters ¡#1 ¡(p ¡= ¡0.6, ¡q ¡= ¡0.6) the ¡better 0.6 6 Randomization ¡parameters ¡#2 ¡(p ¡= ¡0.9, ¡q ¡= ¡0.6) Accuracy ¡loss Privacy ¡level Accuracy ¡loss ¡(%) Privacy ¡ ¡(ε zk ) 0.5 5 0.4 4 0.3 3 0.2 2 0.1 1 0 0 10 20 40 60 80 90 Sampling ¡Fraction ¡(%) Trade-‑off ¡between ¡utility ¡and ¡privacy 17
Accuracy ¡vs ¡privacy The ¡lower Randomization ¡parameters ¡#1 ¡(p ¡= ¡0.6, ¡q ¡= ¡0.6) the ¡better 0.6 6 Randomization ¡parameters ¡#2 ¡(p ¡= ¡0.9, ¡q ¡= ¡0.6) Accuracy ¡loss Privacy ¡level Accuracy ¡loss ¡(%) Privacy ¡ ¡(ε zk ) 0.5 5 0.4 4 0.3 3 0.2 2 0.1 1 0 0 10 20 40 60 80 90 Sampling ¡Fraction ¡(%) Trade-‑off ¡between ¡utility ¡and ¡privacy 17
Throughput 18
Throughput NYC ¡Taxi ¡Ride Household ¡Electricity 2500 Throughput ¡(K) 2000 1500 1000 500 0 1 5 10 15 20 #nodes 18
Throughput The ¡higher the ¡better NYC ¡Taxi ¡Ride Household ¡Electricity 2500 Throughput ¡(K) 2000 1500 1000 500 0 1 5 10 15 20 #nodes 18
Throughput The ¡higher the ¡better NYC ¡Taxi ¡Ride Household ¡Electricity 2500 Throughput ¡(K) 2000 1500 1000 500 0 1 5 10 15 20 #nodes 18
Throughput The ¡higher the ¡better NYC ¡Taxi ¡Ride Household ¡Electricity 2500 Throughput ¡(K) 2000 1500 1000 500 0 1 5 10 15 20 #nodes ~8X speedup ¡when ¡going from ¡one ¡node ¡to ¡20 ¡nodes 18
Latency 19
Latency NYC ¡Taxi ¡Ride Household ¡Electricity Total ¡processing ¡time ¡ 2000 1500 (seconds) 1000 500 0 10 20 40 60 80 90 Native Native ¡ Sampling ¡fraction ¡(%) 19
Latency The ¡lower the ¡better NYC ¡Taxi ¡Ride Household ¡Electricity Total ¡processing ¡time ¡ 2000 1500 (seconds) 1000 500 0 10 20 40 60 80 90 Native Native ¡ Sampling ¡fraction ¡(%) 19
Recommend
More recommend