对于所有的匿名算法,要考虑以下问题:
(1)什么时候匿名,匿名哪个请求?
(2)在匿名区大小限制的条件下,给定一个请求,怎样发现其他的请求来满足位置k-匿名模型(比如,位置匿名集合和标志匿名集合)
【1】Gruteser and Grunwald. Anonymous usage of location based services through cloakingcloaking2003spatial and temporal cloaking.----2003
首次采用k-匿名模型,并提出一个四叉树的匿名算法。他们假设,对于所有的用户,都有一个固定的匿名要求kmin。为了达到k-匿名,算法递归地将用户位置周围的地区划分为四个象限,直到在这个地区用户的数目低于kmin,
然后返回之前的象限作为匿名区。这种技术没有区分不同用户的隐私要求。而且,匿名区大小也没有加限制。因此,所形成的匿名区可能非常大,这可能导致一个不准确的查询结果和差的服务质量。
【2】Kido et al. Protection of Location Privacy using Dummies for Location-based Services.----2005
提出基于假名(dummies)方法,用户把真实的位置和几个假位置一起发送给服务提供者。对每一个收到的位置,服务提供者处理并且返回一个answer。用户最后基于真实的位置改进结果。
【3】Gedik and Liu. Location Privacy in Mobile Systems: A Personalized Anonymization Model.----2005
提出支持个性化查询要求的技术,即CliqueCloak的匿名算法。对于所有的没有匿名的查询,它构造一个无向图。服务器每一个收到一个新的请求时,它确定一个小团体(clique),这个小的团体包括新请求和一些现有的请求,并在相同的区域一起匿名。但是这个方法有以下几个缺点:
(1)这个方法在k值较小时(比如,2-5)才有效,对于较大的k值,我们不能发现匿名集。
(2)在一个图中搜索一个clique代价是很大的。
(3)当请求的生命期到了,那些不能被匿名的请求将会被丢弃。这会影响用户的体验。
【4】The New Casper: Query Processing for Location Services without Compromising Privacy.----2006
提出Casper的框架,Casper采用一个基于网格的金字塔结构索引所有的用户位置。除了匿名级别k,用户可以具体化Amin,表明用户想要在区域大小至少为Amin的地方隐藏位置信息。这个模型有以下值得担忧的地方:
(1)k和Amin有相似的功能,k的值越大,匿名区越大。
(2)如果k设置的比较大的值,而很少的用户在附近出现,那么匿名区将会扩展到任意大。为了解决这个问题,Casper使用了隐私-感知查询处理器来返回一系列的查询结果候选集给匿名代理,匿名代理不得不在本地从候选列表精炼实际查询结果。
这个方法的查询处理代价较高,通讯代价高,本地计算代价高