Abstract:
位置相近服务在社交和移动网络的广泛使用是基于可用性和用户隐私的平衡,但引发了三角定位攻击的风险。文章系统化地讨论了此类攻击的防范,包括问题在不同临近模型下的形式化,针对不同模型的有效攻击,以及攻击需要的询问次数的确界,并针对实际应用进行实验。
一)对攻击的建模:UDP,已知包含点p的欧氏平面区域A以及一个提供邻域信息的oracle,找到点p的位置
邻域预言机(proximity oracle)定义:,输入为p,查询以某点为圆心的区域,若与被攻击者距离小于r,返回1,否则返回0
原问题化为两部分:
1)Disk Coverage:将A用最少的r-邻域覆盖
归约为UDG(Unit Disk Graph)上的最小支配集(MDS)问题,是NP-hard,但存在线性时间的5-近似随机算法(结果与最优解差距不超过五倍)
近似算法:随机取点加入支配集,去掉所有相邻点,重复到图为空。时间复杂度为O(|V|)
UDG:平面上有许多取样点,若两点之间距离小于r则存在一条边,从而找其最小支配集便必定可以用r-邻域覆盖所有取样点
For max-coverage, the distance between points in the dominating set is at least
2)Disk Search:找到p在哪一个邻域
每个disk中的点可被一个“外接”矩形完全覆盖,利用一个二分算法可以在O(rlogr)时间解决(查询次数为logr)
所以总的查询次数为
二)RUDP(Rounding User Discovery Problem)
对不同距离的p与p_u,社交网络通常返回不同的距离值而非固定的r,从而此处研究Rounding Class Family解决这个问题
RCF由一系列tuple 组成,
为rounding value,I1,...,In构成了R+的一个partition,且
通过不断的三角测量缩小下一个点的范围,直到缩到r=delta_1,从而原算法的总运行时间为(|S|为rounding class family的大小,显然也是询问次数)
三)Randomized User Discovery Problem
对某个点的查询返回的结果服从一个随机分布(每次返回的结果含高斯噪声),经过一番数学处理得知,解决RANDUDP问题的误差为的复杂度为
四)实际问题
查询空间:大,通过个人信息缩减查询空间
联系:伪造身份加好友攻击
攻击的探测:此类服务有探测伪造位置的机制,利用伪装机制(参见The Man Who Was There: Validating Check-ins in Location-Based Services)
准确度:与GPS精度有关
投影误差:坐标需要用合适的投影方法获得,此处采用等距圆锥投影(equidistant conic projection)