privacy preserving query processing in cloud computing wen jie 2011-5-27

35
Privacy Preserving Query Processing in Cloud Computing Wen Jie 2011-5-27

Upload: beatrice-rogers

Post on 26-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Privacy Preserving Query Processing in Cloud Computing

Wen Jie 2011-5-27

Outline Background Privacy Preserving Query Processing

◦ Method Based on Privacy Homomorphism Processing Private Queries over Untrusted Data

Cloud through Privacy Homomorphism (ICDE 2011)

◦ Method Based on Secret Share: Privacy Preserving Query Processing on Secret

Share Based Data Storage (DASFAA 2011)

ComparisonConclusion

BackgroundDevelopment of cloud computing

applications◦Amazon: EC2 S3◦Google: appEngine

Development of DaaS in cloud computing

Expensive hardware, software and expertise

Background

Secret Share

Method

Encryption Method

Comparison

Conclusion

Background

Security◦ Query privacy

Disclose to Cloud Disclose to DO

◦ Data privacy Disclose to Cloud Disclose to User

Background

Secret Share

Method

Encryption Method

Comparison

Conclusion

Data privacy Query privacy

Background Generalization Principal

◦Relational data: quasi-identifier◦Spatial data: location cloaking

Encrypt or transform◦Hashing◦Space filling curves

Distributed environment ◦Based on Secure Multiparty Computation

Background

Secret Share

Method

Encryption Method

Comparison

Conclusion

Processing Private Queries over Untrusted Data Cloud

through Privacy Homomorphism (ICDE 2011)

Background

Secret Share

Method

Encryption Method

Comparison

Conclusion

PreliminaryPrivacy Homomorphism

◦Encryption transformations which map a set of operations on cleartext to another set of operations on ciphertext

◦Modified ASM-PH Encryption Scheme E(e1) + E(e2) = E(e1 + e2)

E(e1) - E(e2) = E(e1 - e2)

E(e1) * E(e2) = E(e1 * e2)

Background

Secret Share

Method

Encryption Method

Comparison

Conclusion

Processing Private Queries over Untrusted Data Cloud through Privacy Homomorphism (ICDE 2011)

Architecture Key idea: let the client lead the

distance access and keep track of traversal path

Background

Secret Share

Method

Encryption Method

Comparison

Conclusion

Dist(E(e1), E(e2)) = E(dist(e1, e2))

Step 0: initialization

Architecture Key idea: let the client lead the

distance access and keep track of traversal path

Background

Secret Share

Method

Encryption Method

Comparison

Conclusion

Step 1: local distance computation

E(q) in the query

Dist(E(q), E(e1)) = E(dist(q, e1)) Scrambling Dist(E(p), E(e1))

Architecture Key idea: let the client lead the

distance access and keep track of traversal path

Background

Secret Share

Method

Encryption Method

Comparison

Conclusion

Step 2: distance decryption and recoding

Scrambled E(dist( p, e1))Decrypt to distanceRecoding the distance

Architecture Key idea: let the client lead the

distance access and keep track of traversal path

Background

Secret Share

Method

Encryption Method

Comparison

Conclusion

Step 3: find next node to traverse

Recoded distance

Local Distance Computation of Minimum Square Distance

Distance between query point q and an index entry [l, u]

Background

Secret Share

Method

Encryption Method

Comparison

Conclusion

Scrambling Notice:

◦Real distances◦Monotonic: distance compare

Two scrambling functions◦Sign computation

E(s)*E(ξ) = E (s*ξ) Receive sign(s*ξ)

◦Recoding E(s1)*E(ξ) + E(s2) = E(s1*ξ+s2)

Receive recoded(s1*ξ+s2)

Background

Secret Share

Method

Encryption Method

Comparison

Conclusion

Depend on sign(s)

Depend on sign(s1)

Distance Decryption and RecodingDecryption with E-1 (· )

Recoding properties◦Strictly monotonic

Key idea: record all existing recoded value pairs (real valued, recoded value) at cloud side

◦Immune to chosen ciphertext attack Key idea: recoded values are random

Background

Secret Share

Method

Encryption Method

Comparison

Conclusion

Processing Distance Range QueriesQuery: find all records whose

distances are within r from point q

Background

Secret Share

Method

Encryption Method

Comparison

Conclusion

s1*4r2 + s2

Recoding

Recoded 4r2

Processing Distance Range QueriesQuery: find all records whose

distances are within r from point q

Background

Secret Share

Method

Encryption Method

Comparison

Conclusion

Recoded 4r2

E(s1)*dist(E(e1), E(q)) + E(s2)

DecryptionRecoding

Processing Distance Range QueriesQuery: find all records whose

distances are within r from point q

Background

Secret Share

Method

Encryption Method

Comparison

Conclusion

Recoded 4r2

Recoded dist(e1, q)

Performance Analysis

Distance Range Query Performance

Background

Secret Share

Method

Encryption Method

Comparison

Conclusion

distance threshold

Privacy Preserving Query Processing

on Secret Share Based Data Storage

(DASFAA 2011)

Secret Share

Method

Encryption Method

Comparison

Conclusion

Background

Preliminary Secret share scheme

◦protect sensitive information by dividing the value into n shares

The scheme is called (k, n) threshold scheme if it satisfies: ◦k or more shares reconstruct the

value◦k-1 or less shares make the value

completely undetermined

Secret Share

Method

Encryption Method

Comparison

Conclusion

Background

Privacy Preserving Query Processing on Secret Share Based Data Storage (DASFAA 2011)

Architecture

Three parties◦ Data Owner (DO)◦ Database Service

Provider (DSP)◦ Data Requestor (DR)

How it works◦ Delegate data (DO) ◦ Build an index (DO)◦ Process a query (DR)

Secret Share

Method

Encryption Method

Comparison

Conclusion

Background

Privacy preserving index

Secret Share SchemeA share is the result value y

Given known x1 x2 … xn , n shares are y1 y2 … yn .

Any k pairs of (x1, y1), (x2, y2)… (xk, yk) can reconstruct the above polynomial

Secret Share

Method

Encryption Method

Comparison

Conclusion

Background

Real value

Data DivisionData Division at DO with (3, 5)

threshold scheme◦Randomly choose a polynomial

on finite domain F103

◦Choose a minimum generator = 5

X = {5, 25, 22, 7, 35}

◦Share(20, 1) = 82; Share(20, 2) = 79; Share(20, 3) = 14;

Share(20, 4) = 87; Share(20, 5) = 102

Secret Share

Method

Encryption Method

Comparison

Conclusion

Background

Data Divisionempno name salary

20060019 Mary 82

20060011 John …20050012 Kate …

20050001 Mike …

20040018 Henry …Secret Share

Method

Encryption Method

Comparison

Conclusion

Background

empno name salary

20060019 Mary 79

20060011 John …20050012 Kate …

20050001 Mike …

20040018 Henry …

empno name salary

20060019 Mary 14

20060011 John …20050012 Kate …

20050001 Mike …

20040018 Henry …

DSP1

DSP2 DSP3 DSP4

DSP5

empno name salary

20060019 Mary 87

20060011 John …20050012 Kate …

20050001 Mike …

20040018 Henry …

empno name salary

20060019 Mary 102

20060011 John …20050012 Kate …

20050001 Mike …

20040018 Henry …

Data Reconstruction

Secret Share

Method

Encryption Method

Comparison

Conclusion

Background

Private Data Reconstruction at DR◦DR needs at least k shares of the value◦Lagrange interpolation to reconstruct

the polynomial

Storage Model

Secret Share

Method

Encryption Method

Comparison

Conclusion

Background

All relations like R(A1, A2, … ,Am) are stored into n DSPs in the form of following relation:

Source attribute

key attribute

Key Generation Function

Secret Share

Method

Encryption Method

Comparison

Conclusion

Background

Key value = bucket_id || encrypted_sal

◦Bucket_id makes sure that values are in order

◦Use a symmetric algorithm DES and the random key to encrypt salary value

Index Creation Function

Secret Share

Method

Encryption Method

Comparison

Conclusion

Background

B+ index

Query Processing

Secret Share

Method

Encryption Method

Comparison

Conclusion

Background

Employee name and salary are both divided into n shares

SELECT name FROM Employees WHERE salary = 35

Encrypt 35 using DES scheme into h8jbka8g

Search in metedata for key_sal: 128h8jbka8g

search index on attribute key_sal

K sub queries

reconstruct name from k shares

Experiments EvaluationSecurity analysis

◦DSPs collude with each other◦DR colludes with at least k DSPs

Secret Share

Method

Encryption Method

Comparison

Conclusion

Background

Experiments EvaluationEfficiency Evaluation

◦Time comparison between hash based searching and index based searching

Secret Share

Method

Encryption Method

Comparison

Conclusion

Background

Experiments EvaluationEfficiency Evaluation

◦Time comparison between encryption and polynomial computation

◦Data extension and tuplesize

Secret Share

Method

Encryption Method

Comparison

Conclusion

Background

Comparison

Secret Share

Method

Encryption Method

Comparison

Conclusion

Background

Encryption Method Secret Share Method

Data location Data owner Cloud

Index location Client (shadow index) Cloud

DO involvement Initialization: Send shadow index to clientSend key to cloud

Outsourcing:Data divisionIndex creation

Client Computation

Node traversal Local distance computationDistance comparison

Query transformationResults reconstruction

Cloud Computation

Encryption DecryptionRecoding

Query processing

Communication Costs

High Low

Conclusion PH Encryption Method

◦Low efficiency ◦Data privacy preservation ◦Query privacy preservation

Secret Share Method◦High efficiency◦Data privacy preservation ◦Query privacy leak when DO colludes

with cloud

Secret Share

Method

Encryption Method

Comparison

Conclusion

Background

Q&A?Thank you~