Authenticating Top-k Queries in Location-based Services with Confidentiality
读后总述:这篇论文主要针对LBS的应用涉及到的 验证,隐私,这个两个问题给出一个解决方案。用到了加密技术,和空间数据索引技术。
问题描述
智能手机已经非常非常流行了(今年2015年,10年后肯定不再是smart phone)。 LBS相关商业业务一片繁荣(prosperity),各种团购,各种外卖,各种附近的。。。。
从简单的例子引出问题。
例1:我用美团在新街口,查询3公里范围内所有的饭馆。结果由距离升序排序。(或者综合客户评分值)
例2:我用QQ查询附近的好友,可以限定是male ,female。
问题A:例1中,我用手机发送请求,如果网络中间有人篡改(tampered)了返回的数据怎么办。篡改人的目的很简单,将返回的数据中的那些商家,“赞助”过他们的,对他们有利的留下来,并且提高排名。那些没有交“赞助”费的直接从数据中删掉。--现实的社会。
问题A:例2中,如果查找附近的好友,直接返回具体的坐标,显然是不合理的。具体位置信息是隐私信息。如果位置信息被用于非法目的,比如蹲点打劫,那后果也是非常严重的。
现有工作
问题A:解决方法是在发送查询结果的同时,返回一个验证信息。(Verification Object)VO。返回的数据从 Query results 变成 Query results + Verification Object
现有的生成 VO 的方法。
<a> 签名链 要对所有的节点进行签名,计算量和VO的数据都比较大。
<b> h(d) :one way function 是d的摘要的单向函数,只要传输root 节点作为VO就可以了。
主要贡献
1、开创新(this is the first work that address privacy-preserving top-k query authentication)
2、两种保护隐私的比较方法 PPB,PLB
3、两种查询空间数据索引的方法 R-Tree,Power Diagram indexes
数学化问题描述
Without loss of generality, we model a d-dimensional dataset D in an integer-domain space. For ease of presentation, we assume each object pi ∈ D is a pair ?λ,ω?, where λ is pi’s location vector and ω is its non-spatial score. The results of a top-k query Q = ?q, k? (where q is the query point) are R = {r1,r2,··· ,rk},1 where ri is the id of the ith ranked object in D with respect to the following ranking function (known as Euclidean scoring function [1]):
rank(ri, q) = ∥ri.λ − q.λ||2 + ri.ω2,
定义:每一个空间数据集D,每个数据pi∈D,pi定义为?λ,ω?,λ为是坐标向量,可以是二维,也可以是三维等。ω是当前数据的一个分值。 在实际的应用中可能有其他的数据,这个是最简的模型。 查询结果R,R = {r1,r2,··· ,rk} 。q为查询点。
定义rank为
rank(ri, q) = ∥ri.λ − q.λ||2 + ri.ω2,
右边前面一项为 q与ri 之间的欧氏距离。后面一项是ri的分值。
问题转化为4个约束条件。
1,None of the locations, scores, and ids of the result objects in R are tampered with; ?
2,None of the locations, scores, and ids of the result objects in R are tampered with; --1,2满足数据真实性问题?
3,∀ri ∈ R, rank(ri, q) ≤ rank(rk, q);3 ?
4,∀ri ∈ D − R, rank(ri, q) ≥ rank(rk, q). –3,4满足top-k的要求
工作1: 为了解决3,4,在不用知道R中具体的location和score 也能比较rank大小
工作2:为了解决2,4 ,因为D-R的数据集非常大,所以不可能全部遍历他们,需要建立索引机制。
工作1 privacy-preservation
这里和计算机安全相关。是同态加密算法Paillier的应用。主要思想是,你可以用我的数据进行一些处理,但是你并不知道我的数据是什么[1]。
带入到这篇论文,就是可以比较rank的大小,但是不知道location是多少,score是多少。
论文中进行了一些数学推导。Paillier对加法同态。
这样就达到了隐私保护的目的。
文中提到了Semantic security 一个相对于Perfect secrecy的概念。
[WIKI]Semantic security implies that any information revealed cannot be feasibly extracted
Perfect secrecy means that the cipher text reveals no information at all about the plaintext
文中提到,如果用户发出连续的请求,而用户的位置在刻意地改变。那么用户根据每次返回的结果,发现某些结果总在这个区域中,就间接地知道了location。通过范围框的方法解决。
图来自于[1] figure 10
每一个pi有一个sphere,至少包含到两个点的距离。Callded “privacy sphere”半径阀值为γ。
当有一个新的查询q来的时候,加入q到pi 中,重新计算的sphere,如果有的sphere小于阀值γ (可以唯一确定目标),则服务器拒绝这次的请求。
工作2 AUTHENTICATING TOP-K QUERIES WITH- OUT COMPROMISING PRIVACY 不暴露隐私的前提下进行验证top-k查询
R-Tree (1984,还没出生的年代)介绍[2]
主要理解 bounded box 。可以是 2维,3维,n维的box。
加入数据原则 添加到FI 后,FI的面积增加最小。添加一个点,那个bounded box的面积增加最小,也就是最点靠近那个bounded box。理解合理。
其他平衡,分拆,具体算法参考[2]论文。
图来自[3]
二维表示 (可以是经纬度2维数据)
图来自[3]
三维表示 (x,y,score 三维数据)
图来自[1] figure5
四维:已经画不出来了。只可概念上想象,数学上存在。
通过R-Tree 只要查询比较小的一部分数据,就可以解决4个约束中的2,4.两项
进一步工作
文中的数学模型是最简模型,需要根据实际应用场景,具体化。
LBS的距离衡量,不是空间的欧氏距离,而是实际的多少米,多少公里。需要改进。
读后总结
国内的微信,美团,饿了么,大众点评,后台的隐私保护,和查询验证的具体算法不知道具体是什么,应该有相应的实现,没有的话就是随意暴露用户隐私,容易被他人利用。这篇论文具有工程应用价值。
引用
[1] Q. Chen, H. Hu, and J. Xu. "Authenticating Top-k Queries in Location-based Services with Confidentiality."Proceedings of the VLDB Endowment (PVLDB ‘14), Hangzhou, China, September 2014.
[2] http://blog.csdn.net/yuanchuanghhhh/article/details/6786825
[3] RTree – A dynamic index structure for spatial searching, SIGMOD (1984)