90 likes | 297 Views
data privacy-preserving. Nguyen Dinh Thuc University of Science, HCMC ndthuc@fit.hcmus.edu.vn. Query. Storage node. Reply. Sink. Query. Let D: domain of data N: number of sensor nodes. Reply. Storage node. two-tiered model. Divide by partition D into multiple buckets
E N D
data privacy-preserving Nguyen DinhThuc University of Science, HCMC ndthuc@fit.hcmus.edu.vn
Query Storage node Reply Sink Query Let D: domain of data N: number of sensor nodes Reply Storage node two-tiered model
Divide by partition D into multiple buckets • Sensor si Storage node: i,t,{T1,{d1,d2,…}ki,t},{T2,num(i,2,t)},… • A user query {t,[a,b]} is translated into a lists of tags: iTagi [a,b], by Sink • Sink Storage node: t,{Tag1,Tag2,…} • Storage node will look up all the data generated in each epoch t and returns those whose tags are listed in the query • The limitation of this scheme is the fixed buckets and their explicit identification scheme of Sheng-Li
Using searchable encryption for tag Id privacy-preserving • Sensor si Storage node: i,t,{TEKS(Apub,T1),{d1,d2,…}ki,t}, {TEKS(Apub,T2),num(i,2,t)},… • Sink Storage node: t,{Trapdoor(Apriv,Tag1), Trapdoor(Apriv,Tag1),…} • Storage node will look up all the data generated in each epoch t and returns those that Test(TEKS,Trapdoor)=true of tags are listed in the query improving scheme
Sensor node si and Sink havea same pre-shared master key ki,0and ki,0kj,0, ij • Sink maintains a list of secret master keys of eachsensor node • Sensor node knows Sink’s public key Apub which is a pair of matrices (XY,X+XY) Ski Apub=(XY,X+XY) Skj Apub=(XY,X+XY) deploment … Ski Skj … Apub Apriv
Let ki,t=hash(ki,t-1) be secret key of sensor si at epoch t • Let mit={mit1,mit2,…} be list of data of sensor note si at epoch t and T={T1,T2,…} list of corresponding tags • Let T1j=<UXYQ,X+XYQ>/X,Y are pseudo-invertible matrices; Q is a random non-singular matrix; U: a non-singular matrix generated usingtag T1jT • siStoragenode: i,t,{< T11,{m11,m12,…}ki,t>, {< T12 ,{m21,m22,… }ki,t>,…}, where mjpmit mjpRange(Tj), TjT privacy-preserving storage
Let {t,[a,b]} be a user query. • Let T={T1,T2,…} be smallest list of tags whose corresponding ranges cover [a,b] • Let Tt2={<H2(H1(Ti)R)U-1,H2(H1(Ti)R)X>/ R: random non-singular matrix, U: non-singular generated using H1(Ti), TiT, and X: Sink’s secret key} • Sink Storage node: t,Tt2 querying
Let QueyryAtStorage=[t,Tt2] be received query at storage nodes • Let S be the set encrypted data at epoch t, and let Response=, • For each sS Do { Temp=; For each <ED,SE>s.EncryptedData, Do { let SE=<A,B>; If <C,D>Tt2 such that CA=DB Then Temp=Temp{ED} } //End for <ED,SE> Response=Response{<i,Temp>} } //End for s • Returns Response replying
Let {t,[a,b]} be the user query • Let Response={<i,ED>} be the result returned from Storage nodes • Let Result= • For each <i,ED>Response, Result=Result{EDki,t-1} • Returns Result final results