PrivApprox
Privacy-‑Preserving ¡Stream ¡Analytics
July ¡2017
Do ¡Le ¡Quoc, ¡Martin ¡Beck, ¡ Pramod Bhatotia, ¡Ruichuan Chen, ¡Christof ¡Fetzer, ¡Thorsten ¡Strufe
https://privapprox.github.io
PrivApprox Privacy-Preserving Stream Analytics - - PowerPoint PPT Presentation
PrivApprox Privacy-Preserving Stream Analytics https://privapprox.github.io Do Le Quoc, Martin Beck, Pramod Bhatotia, Ruichuan Chen, Christof Fetzer, Thorsten Strufe July 2017 Motivation Clients Analysts
July ¡2017
Do ¡Le ¡Quoc, ¡Martin ¡Beck, ¡ Pramod Bhatotia, ¡Ruichuan Chen, ¡Christof ¡Fetzer, ¡Thorsten ¡Strufe
https://privapprox.github.io
1
Private ¡data Recommendation, ¡Ads
Clients Analysts
1
Private ¡data Recommendation, ¡Ads
Strong ¡privacy ¡ guarantee Clients Analysts
1
Private ¡data Recommendation, ¡Ads
Strong ¡privacy ¡ guarantee High ¡utility ¡analytics ¡ in ¡real-‑time Clients Analysts
1
Private ¡data Recommendation, ¡Ads
How ¡to ¡preserve ¡users’ ¡privacy while ¡supporting ¡high-‑utility data ¡ analytics ¡for ¡low-‑latency stream ¡processing? Strong ¡privacy ¡ guarantee High ¡utility ¡analytics ¡ in ¡real-‑time Clients Analysts
2
Clients
2
Clients Personal ¡data ¡should ¡be ¡stored ¡locally ¡ under ¡the ¡clients’ ¡control
2
Clients Personal ¡data ¡should ¡be ¡stored ¡locally ¡ under ¡the ¡clients’ ¡control
2
Clients
2
Clients Analyst Aggregator
2
Clients Analyst Aggregator
Forward ¡ query ¡ ¡ Submit ¡ query ¡ ¡
2
Clients Analyst Aggregator
2
Clients Analyst Aggregator
Answer ¡ query ¡ ¡
2
Clients Analyst Aggregator
Answer ¡ query ¡ ¡ Add ¡noise
2
Clients Analyst Aggregator
Answer ¡ query ¡ ¡ Privacy-‑preserving ¡
Add ¡noise
2
Clients Analyst Aggregator
Answer ¡ query ¡ ¡ Privacy-‑preserving ¡
Add ¡noise
Differential ¡Privacy ¡ ¡ ¡ ¡
2
Clients Analyst Aggregator Limitations:
Answer ¡ query ¡ ¡ Privacy-‑preserving ¡
Add ¡noise
Differential ¡Privacy ¡ ¡ ¡ ¡
2
Clients Analyst Aggregator Limitations:
Answer ¡ query ¡ ¡ Privacy-‑preserving ¡
Add ¡noise
Differential ¡Privacy ¡ ¡ ¡ ¡
2
Clients Analyst Aggregator Limitations:
Answer ¡ query ¡ ¡ Privacy-‑preserving ¡
Add ¡noise
Differential ¡Privacy ¡ ¡ ¡ ¡
2
Clients Analyst Aggregator Limitations:
Answer ¡ query ¡ ¡ Privacy-‑preserving ¡
Add ¡noise
Differential ¡Privacy ¡ ¡ ¡ ¡
3
Clients ¡ Analyst PrivApprox
3
Clients ¡ Analyst PrivApprox PrivApprox:
3
Clients ¡ Analyst PrivApprox PrivApprox:
3
Clients ¡ Analyst PrivApprox PrivApprox:
3
Clients ¡ Analyst PrivApprox PrivApprox:
4
5
Clients Analyst
5
Clients Analyst
(Query, ¡budget)
5
Clients Analyst Execution ¡budget: ¡
(Query, ¡budget)
5
Clients Analyst Execution ¡budget: ¡
(Query, ¡budget)
5
Clients Analyst
5
Clients Analyst
Result ¡
5
Clients Analyst
Approximate ¡ computing Result ¡
5
Clients Analyst
Approximate ¡ computing
Low ¡latency
Result ¡
5
Clients Analyst
Approximate ¡ computing
Low ¡latency
Result ¡ Randomized ¡ response ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ +
5
Clients Analyst
Approximate ¡ computing
Low ¡latency
Result ¡
Privacy ¡ ¡ ¡ ¡
Randomized ¡ response ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ +
5
Clients Analyst
Approximate ¡ computing Result ¡ Randomized ¡ response ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ +
5
Clients Analyst
Approximate ¡ computing Result ¡ Randomized ¡ response ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ +
Zero-‑knowledge ¡Privacy ¡ ¡ ¡ ¡
5
Clients Analyst
Approximate ¡ computing Result ¡ Randomized ¡ response ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ +
Zero-‑knowledge ¡Privacy ¡ ¡ ¡ ¡ Zero-‑knowledge ¡Privacy ¡> Differential ¡Privacy ¡ ¡ ¡ ¡
6
6
(Privacy-‑preserving) ¡ ¡ ¡ ¡ approximate ¡output
Compute Add ¡noise State-‑of-‑the-‑art-‑systems
6
(Privacy-‑preserving) ¡ ¡ ¡ ¡ approximate ¡output
Compute Add ¡noise State-‑of-‑the-‑art-‑systems Idea: ¡To ¡achieve ¡low ¡latency, ¡compute ¡over ¡a ¡sub-‑set ¡of ¡data ¡items ¡ instead ¡of ¡the ¡entire ¡data-‑set
6
(Privacy-‑preserving) ¡ ¡ ¡ ¡ approximate ¡output
Compute Add ¡noise State-‑of-‑the-‑art-‑systems
Take ¡a ¡ sample Approximate ¡output ¡ ± Error ¡bound ¡
Compute Approximate ¡computing Idea: ¡To ¡achieve ¡low ¡latency, ¡compute ¡over ¡a ¡sub-‑set ¡of ¡data ¡items ¡ instead ¡of ¡the ¡entire ¡data-‑set
7
7
Idea: ¡ ¡To ¡preserve ¡privacy, ¡clients ¡may ¡not ¡need ¡to ¡provide ¡ truthful ¡answers ¡every ¡time
7
Idea: ¡ ¡To ¡preserve ¡privacy, ¡clients ¡may ¡not ¡need ¡to ¡provide ¡ truthful ¡answers ¡every ¡time Client
7
Idea: ¡ ¡To ¡preserve ¡privacy, ¡clients ¡may ¡not ¡need ¡to ¡provide ¡ truthful ¡answers ¡every ¡time Client
7
Idea: ¡ ¡To ¡preserve ¡privacy, ¡clients ¡may ¡not ¡need ¡to ¡provide ¡ truthful ¡answers ¡every ¡time
Truthful ¡ Answer
Client
7
Idea: ¡ ¡To ¡preserve ¡privacy, ¡clients ¡may ¡not ¡need ¡to ¡provide ¡ truthful ¡answers ¡every ¡time
Truthful ¡ Answer
Client
7
Idea: ¡ ¡To ¡preserve ¡privacy, ¡clients ¡may ¡not ¡need ¡to ¡provide ¡ truthful ¡answers ¡every ¡time
Truthful ¡ Answer
Client
“No” “Yes”
7
Idea: ¡ ¡To ¡preserve ¡privacy, ¡clients ¡may ¡not ¡need ¡to ¡provide ¡ truthful ¡answers ¡every ¡time
Truthful ¡ Answer
Provides ¡plausible ¡deniability ¡for ¡clients ¡ ¡responding ¡to ¡sensitive ¡ queries; ¡achieves ¡differential ¡privacy ¡(RAPPOR ¡[CCS’14]) Client
“No” “Yes”
8
9
9
Divide ¡answer’s ¡value ¡range ¡into ¡buckets, ¡ enforce ¡a ¡binary ¡answer in ¡each ¡bucket
9
Query: ¡SELECT ¡age ¡FROM ¡clients ¡WHERE ¡city ¡= ¡‘Santa ¡Clara’ Divide ¡answer’s ¡value ¡range ¡into ¡buckets, ¡ enforce ¡a ¡binary ¡answer in ¡each ¡bucket
9
Query: ¡SELECT ¡age ¡FROM ¡clients ¡WHERE ¡city ¡= ¡‘Santa ¡Clara’
1-‑20 41-‑50 31-‑40 21-‑30 51-‑60 >60
Divide ¡answer’s ¡value ¡range ¡into ¡buckets, ¡ enforce ¡a ¡binary ¡answer in ¡each ¡bucket
9
Query: ¡SELECT ¡age ¡FROM ¡clients ¡WHERE ¡city ¡= ¡‘Santa ¡Clara’
1-‑20 41-‑50 31-‑40 21-‑30 51-‑60 >60
Age: ¡31
Divide ¡answer’s ¡value ¡range ¡into ¡buckets, ¡ enforce ¡a ¡binary ¡answer in ¡each ¡bucket
9
Query: ¡SELECT ¡age ¡FROM ¡clients ¡WHERE ¡city ¡= ¡‘Santa ¡Clara’ Client ¡cannot ¡arbitrarily ¡manipulate ¡answers ¡
1-‑20 41-‑50 31-‑40 21-‑30 51-‑60 >60
Age: ¡31
Divide ¡answer’s ¡value ¡range ¡into ¡buckets, ¡ enforce ¡a ¡binary ¡answer in ¡each ¡bucket
10
Aggregator
(Query, ¡budget)
Analyst
10
Aggregator Cost-‑Function(budget) System ¡parameters:
Clients
(Query, ¡budget)
Analyst
10
Aggregator Cost-‑Function(budget) System ¡parameters:
Clients
(Query, ¡budget)
Analyst
(Query, ¡parameters)
11
11
Client
11
Step ¡#1 Sampling
(Flip ¡a ¡coin ¡to ¡decide ¡to ¡ answer ¡query ¡or ¡not)
Client
11
Randomized ¡ Response Step ¡#2 Step ¡#1 Sampling
(Flip ¡a ¡coin ¡to ¡decide ¡to ¡ answer ¡query ¡or ¡not)
Client
11
Randomized ¡ Response Step ¡#2 Send ¡randomized ¡ answer Step ¡#3 Step ¡#1 Sampling
(Flip ¡a ¡coin ¡to ¡decide ¡to ¡ answer ¡query ¡or ¡not)
Client
11
Randomized ¡ Response Step ¡#2 Zero-‑knowledge ¡privacy Send ¡randomized ¡ answer Step ¡#3 Step ¡#1 Sampling
(Flip ¡a ¡coin ¡to ¡decide ¡to ¡ answer ¡query ¡or ¡not)
Client
11
Randomized ¡ Response Step ¡#2 Zero-‑knowledge ¡privacy Send ¡randomized ¡ answer Step ¡#3 Step ¡#1 Sampling
(Flip ¡a ¡coin ¡to ¡decide ¡to ¡ answer ¡query ¡or ¡not)
Client
See ¡the ¡paper ¡for ¡details!
12
Aggregator Clients
Randomized ¡ answers
12
Aggregator Clients
Randomized ¡ answers
Analyst
Approximate ¡result ± Error ¡bound
12
Aggregator Clients Lack ¡of ¡anonymity ¡and ¡unlinkability?
Randomized ¡ answers
Analyst
Approximate ¡result ± Error ¡bound
13
13
Idea: ¡XOR-‑based ¡Encryption
13
Idea: ¡XOR-‑based ¡Encryption Client
13
Idea: ¡XOR-‑based ¡Encryption Client Encrypt ¡answer ¡M: GenerateKey -‑> ¡Mk M XOR Mk -‑> ME
13
Idea: ¡XOR-‑based ¡Encryption Client Encrypt ¡answer ¡M: GenerateKey -‑> ¡Mk M XOR Mk -‑> ME Proxy Proxy Aggregator
13
Idea: ¡XOR-‑based ¡Encryption Client Encrypt ¡answer ¡M: GenerateKey -‑> ¡Mk M XOR Mk -‑> ME Decrypt ¡answer ¡ME: ME XOR Mk -‑> ¡M Proxy Proxy Aggregator
14
Aggregator Analyst
Proxy Proxy Clients
14
Aggregator Analyst
Proxy Proxy Clients
14
Aggregator Analyst
Proxy Proxy Clients
14
Aggregator Analyst
Proxy Proxy Clients
15
16
16
See ¡the ¡paper ¡ for ¡more ¡ results!
16
See ¡the ¡paper ¡ for ¡more ¡ results!
17
1 2 3 4 5 6 0.1 0.2 0.3 0.4 0.5 0.6 10 20 40 60 80 90
Privacy ¡ ¡(εzk) Accuracy ¡loss ¡(%) Sampling ¡Fraction ¡(%)
Randomization ¡parameters ¡#1 ¡(p ¡= ¡0.6, ¡q ¡= ¡0.6) Randomization ¡parameters ¡#2 ¡(p ¡= ¡0.9, ¡q ¡= ¡0.6)
17
1 2 3 4 5 6 0.1 0.2 0.3 0.4 0.5 0.6 10 20 40 60 80 90
Privacy ¡ ¡(εzk) Accuracy ¡loss ¡(%) Sampling ¡Fraction ¡(%)
Randomization ¡parameters ¡#1 ¡(p ¡= ¡0.6, ¡q ¡= ¡0.6) Randomization ¡parameters ¡#2 ¡(p ¡= ¡0.9, ¡q ¡= ¡0.6)
17
Trade-‑off ¡between ¡utility ¡and ¡privacy The ¡lower the ¡better
Privacy ¡level Accuracy ¡loss
1 2 3 4 5 6 0.1 0.2 0.3 0.4 0.5 0.6 10 20 40 60 80 90
Privacy ¡ ¡(εzk) Accuracy ¡loss ¡(%) Sampling ¡Fraction ¡(%)
Randomization ¡parameters ¡#1 ¡(p ¡= ¡0.6, ¡q ¡= ¡0.6) Randomization ¡parameters ¡#2 ¡(p ¡= ¡0.9, ¡q ¡= ¡0.6)
17
Trade-‑off ¡between ¡utility ¡and ¡privacy The ¡lower the ¡better
Privacy ¡level Accuracy ¡loss
1 2 3 4 5 6 0.1 0.2 0.3 0.4 0.5 0.6 10 20 40 60 80 90
Privacy ¡ ¡(εzk) Accuracy ¡loss ¡(%) Sampling ¡Fraction ¡(%)
Randomization ¡parameters ¡#1 ¡(p ¡= ¡0.6, ¡q ¡= ¡0.6) Randomization ¡parameters ¡#2 ¡(p ¡= ¡0.9, ¡q ¡= ¡0.6)
17
Trade-‑off ¡between ¡utility ¡and ¡privacy The ¡lower the ¡better
Privacy ¡level Accuracy ¡loss
1 2 3 4 5 6 0.1 0.2 0.3 0.4 0.5 0.6 10 20 40 60 80 90
Privacy ¡ ¡(εzk) Accuracy ¡loss ¡(%) Sampling ¡Fraction ¡(%)
Randomization ¡parameters ¡#1 ¡(p ¡= ¡0.6, ¡q ¡= ¡0.6) Randomization ¡parameters ¡#2 ¡(p ¡= ¡0.9, ¡q ¡= ¡0.6)
17
Trade-‑off ¡between ¡utility ¡and ¡privacy The ¡lower the ¡better
Privacy ¡level Accuracy ¡loss
1 2 3 4 5 6 0.1 0.2 0.3 0.4 0.5 0.6 10 20 40 60 80 90
Privacy ¡ ¡(εzk) Accuracy ¡loss ¡(%) Sampling ¡Fraction ¡(%)
Randomization ¡parameters ¡#1 ¡(p ¡= ¡0.6, ¡q ¡= ¡0.6) Randomization ¡parameters ¡#2 ¡(p ¡= ¡0.9, ¡q ¡= ¡0.6)
17
Trade-‑off ¡between ¡utility ¡and ¡privacy The ¡lower the ¡better
Privacy ¡level Accuracy ¡loss
18
18
500 1000 1500 2000 2500 1 5 10 15 20
Throughput ¡(K) #nodes
NYC ¡Taxi ¡Ride Household ¡Electricity
18
500 1000 1500 2000 2500 1 5 10 15 20
Throughput ¡(K) #nodes
NYC ¡Taxi ¡Ride Household ¡Electricity
The ¡higher the ¡better
18
500 1000 1500 2000 2500 1 5 10 15 20
Throughput ¡(K) #nodes
NYC ¡Taxi ¡Ride Household ¡Electricity
The ¡higher the ¡better
18
500 1000 1500 2000 2500 1 5 10 15 20
Throughput ¡(K) #nodes
NYC ¡Taxi ¡Ride Household ¡Electricity
~8X speedup ¡when ¡going from ¡one ¡node ¡to ¡20 ¡nodes The ¡higher the ¡better
19
19
500 1000 1500 2000 10 20 40 60 80 90 Native
Total ¡processing ¡time ¡ (seconds) Sampling ¡fraction ¡(%)
NYC ¡Taxi ¡Ride Household ¡Electricity Native ¡
19
500 1000 1500 2000 10 20 40 60 80 90 Native
Total ¡processing ¡time ¡ (seconds) Sampling ¡fraction ¡(%)
NYC ¡Taxi ¡Ride Household ¡Electricity
The ¡lower the ¡better
Native ¡
19
500 1000 1500 2000 10 20 40 60 80 90 Native
Total ¡processing ¡time ¡ (seconds) Sampling ¡fraction ¡(%)
NYC ¡Taxi ¡Ride Household ¡Electricity
The ¡lower the ¡better
Native ¡
19
500 1000 1500 2000 10 20 40 60 80 90 Native
Total ¡processing ¡time ¡ (seconds) Sampling ¡fraction ¡(%)
NYC ¡Taxi ¡Ride Household ¡Electricity
The ¡lower the ¡better ~1.66X lower ¡than ¡the ¡native ¡execution ¡with ¡sampling ¡fraction ¡of ¡60%
Native ¡
20
20
100 200 300 400 500 600 10 20 40 60 80 90 Native
Network ¡traffic ¡(GB) Sampling ¡fraction ¡(%)
NYC ¡Taxi ¡Ride Household ¡Electricity Native ¡
20
100 200 300 400 500 600 10 20 40 60 80 90 Native
Network ¡traffic ¡(GB) Sampling ¡fraction ¡(%)
NYC ¡Taxi ¡Ride Household ¡Electricity
The ¡lower the ¡better
Native ¡
20
100 200 300 400 500 600 10 20 40 60 80 90 Native
Network ¡traffic ¡(GB) Sampling ¡fraction ¡(%)
NYC ¡Taxi ¡Ride Household ¡Electricity
The ¡lower the ¡better
Native ¡
20
100 200 300 400 500 600 10 20 40 60 80 90 Native
Network ¡traffic ¡(GB) Sampling ¡fraction ¡(%)
NYC ¡Taxi ¡Ride Household ¡Electricity
~1.6X lower ¡than ¡the ¡native ¡execution ¡with ¡sampling ¡fraction ¡of ¡60% The ¡lower the ¡better
Native ¡
21
PrivApprox: a ¡privacy-‑preserving ¡stream ¡analytics ¡system ¡over ¡ distributed ¡datasets
21
PrivApprox: a ¡privacy-‑preserving ¡stream ¡analytics ¡system ¡over ¡ distributed ¡datasets
Privacy Zero-‑knowledge ¡privacy
21
PrivApprox: a ¡privacy-‑preserving ¡stream ¡analytics ¡system ¡over ¡ distributed ¡datasets
Practical Adaptive ¡execution ¡based ¡on ¡query ¡budget Privacy Zero-‑knowledge ¡privacy
21
PrivApprox: a ¡privacy-‑preserving ¡stream ¡analytics ¡system ¡over ¡ distributed ¡datasets
Practical Adaptive ¡execution ¡based ¡on ¡query ¡budget Efficient Randomized ¡response ¡& ¡sampling ¡techniques Privacy Zero-‑knowledge ¡privacy
21
PrivApprox: a ¡privacy-‑preserving ¡stream ¡analytics ¡system ¡over ¡ distributed ¡datasets
Practical Adaptive ¡execution ¡based ¡on ¡query ¡budget Efficient Randomized ¡response ¡& ¡sampling ¡techniques
https://privapprox.github.io
Privacy Zero-‑knowledge ¡privacy