《On Optimizing the Trade-off between Privacy and Utility in Data Provenance》阅读

数据溯源中隐私和实用性之间的权衡优化

1 研究背景及动机

有很多公司或者机构在收集和分析数据时,可能由于自身意愿或者法规要求需要解释和证明他们的分析结果。但是由于分析数据的逻辑(查询语句)可能属于专有技术或者机密信息,所以这些机构和公司并不想公布这些逻辑。

数据溯源是对数据经历的转换进行记录的一种解释手段

本文聚焦于公开数据溯源的可用性与泄露底层查询语句的隐私风险之间的权衡关系进行探索。

本文针对这一问题首次形式化和探索了在展示溯源信息的效用和底层查询所带来的隐私侵犯之间的权衡。

  1. 形式化基于溯源抽象的概念,其中一些元组在溯源表达式中的表示被抽象化,使得多个元组无法区分。

  2. 选择的抽象的隐私性是根据匹配混淆的溯源的查询数量来衡量的,类似于𝑘-匿名性。

  3. 效用(不能损失太多信息)是根据抽象的来衡量的,直观地说,与参与溯源的实际元组相比,丢失了多少信息。

  4. 我们的形式化提出了一个新颖的优化问题,即根据这种权衡选择最佳的抽象

  5. 我们证明了这个问题一般来说是难以解决的,但设计了贪婪的启发式算法,利用溯源结构实现对搜索空间的实际高效探索。

  6. 我们通过使用TPC-H基准测试和IMDB数据集来实验证明了我们解决方案的有效性。

溯源信息仍然对用户有用,但不会暴露底层查询的细节

举例

一家在线广告公司,含有以上用户信息,图1显示了一个用本,每个元组都有一个标识符,出现在最左一列。该公司可以运行查询,例如图2Qreal,查询喜欢跳舞和音乐的人。Qreal的输出为james和Brenda,然后可以向他们呈现相关广告。根据要求Brenda和jams可能会收到为什么向他们发送广告的解释。但是公司希望可以不向用户解释,因为这些标准是公司商业策略的一部分。

使用溯源半环形式化查询使用的元组以及导出他们的方式

我们用𝐾-example表示一个结果的子集(“示例”),以及每个结果的解释,解释以其溯源的形式提出(例如,图2a显示了由𝑄𝑟𝑒𝑎𝑙推导的James和Brenda的𝐾-example)。给定一个𝐾-example,我们要解决的问题是如何修改溯源,以便用户仍然可以从中获取信息,但不会透露生成它的底层查询?

本文的解决方法分为以下几个部分:

量化信息损失:我们使用熵[46]来量化由溯源抽象选择所造成的信息损失。信息熵表示给定数据的不确定性水平。在我们的背景下,我们希望衡量对于抽象的溯源表达式,观察者的“不确定性有多大”,相对于实际的表达式(给定一个抽象,实际溯源的每个可能性被称为具体化)。

溯源隐私模型:衡量抽象的隐私性,可以考虑它可能的具体化集合以及生成每个具体化的查询集合。作者将注意力限制在连接的最小包含查询上,这些查询是代表隐藏查询的可行选项。通过计算连接的最小包含查询的数量,定义了由抽象引起的隐私。(有几个满足要求的查询语句可以生成抽象后的溯源)

优化抽象的问题:给定一个查询结果和他的溯源Ex,溯源抽象树T和一个隐私阈值K,我们的目标是找到一个抽象,它至少有𝑘个连接的最小包含查询可以与之匹配,并且在所有这些抽象中最小化信息损失。

下图是一个抽象树:

上图表示:叶子结点是元组的注释,内部节点是元组的抽象表示,一个由T生成的Exreal可能使用Facebook或者Social Network代替h1。Facebook可以代表很多注释,说以当我们看到Facebook时我们无法确定原先是由哪个注释产生的。同时,它也会混淆底层查询,因为有很多查询可能与抽象后的溯源信息一致。

这个问题的解决是非常复杂的,是NP难问题。因此我们提出了一种启发式算法

启发式算法:首先,我们通过首先检查“更简单”的抽象来优化遍历可能的抽象的顺序。我们进一步优先考虑信息丢失的计算,因为前者可以更有效地完成。此外,隐私计算以贪婪的方式执行,依赖于K-example的属性。最后,使用缓存以避免重复计算。

实验评估:我们使用TPC-H [5]和IMDB [38]数据集进行了一项实验研究,在该研究中,我们检查了我们的解决方案在不同设置下的可扩展性和可用性。我们研究的性能在不同的数据,树的大小,查询复杂度,样本大小,和隐私阈值。𝐾我们表明,由于我们的优化,我们的解决方案是有效的,即使在复杂的设置,涉及查询与许多连接,大量的数据和大量的抽象空间。我们还将我们的解决方案与[25]中提出的基于源压缩的方法进行了比较。最后,我们进行了一项用户研究,表明抽象的示例提供了所需的隐私,同时仍然是信息和有用的。

2 模型

2.1 抽象与具体

一个抽象函数将变量映射到抽象数的label中。𝑉𝑎𝑟(𝐸𝑥) ×N → (𝑉𝑇 ∪𝑉𝑎𝑟(𝐸𝑥))

图中第一个抽象函数将Exreal进行抽象得到Ex(抽象)abs1

具体化是抽象化的逆操作

由于K-example的树有很多叶子,因此一个抽象化可能有很多具体化

重新看上面这两张图。因为AT1(Exreal)=Ex(抽象)abs1.因此Exreal是Exabs1的具体化

但是AT1(Exfalse1)=Ex(抽象)abs1,因此Exfalse1也是Exabs1的具体化

因此C(Ex(抽象)abs1)包含Exreal和Exfalse

2.2 信息损失

每一个抽象都意味着信息的丢失,我们通过的概念来衡量一个抽象样本的信息损失。下图是熵的定义

本文给出了使用熵表示信息损失的定义

X指的是Ex可能的抽象。

可以使用数据库的统计特性或外部信息来确定概率。请注意,对于一个有限的概率空间,在一个状态上有一个离散的均匀分布 ,熵是H(X)=ln(n)

因为C(AT(EX))也是有限的,因此也符合离散均匀分布。因此使用离散均匀分布的熵为

其中ln中指的是Ex的抽象化的个数。----可以有很多抽象函数,只要是由一个抽象树得来的即可。

2.3 隐私

一致性和CIM查询

一致性查询?一个查询语句与一个抽象化表达是一致的,即查询语句查询的结果经过抽象后包含该抽象化表达。

CIM查询:连接且最小包含的一致性查询

看下面这张图

这都是对Ex(抽象)abs1的一致性查询,看第四个语句

第四个语句查询结果如下

1p1,h1,i1
1p1,h4,i1
2p2,h2,i2
2p2,h5,i2

经过抽象化后可以得到

1p1,facebook,i1
1p1,facebook,i1
2p2,linkedIn,i2
2p2,linkedIn,i2

但该语句不是最小包含的,因为第一个语句和第五个语句都更加详细。得出来的结果也更精确。

一个抽象的隐私个数为其对应的CIM语句的个数。

2.4 问题定义

给定一个抽象树T,一个抽象函数At,隐私阈值k,我们要找到一个抽象使得满足k的情况下,达到最小的信息损失。

3 实现

3.1 描述

如果要解决上面这个问题,就要遍历所有可能的抽象,并计算每个抽象的隐私和信息损失,并返回满足隐私阈值的抽象中信息损失最小的抽象。

高效计算隐私
  • 一行一行的计算隐私:

    如果一个查询与一个K-example是一致的,那么它也要与K-example的子集一致。对于每个抽象的Ex,我们首先检查它的前两行是否有满足k个的CIM 语句,如果前两行都没有,那么这个抽象是不符合条件的,如果符合条件再继续加入剩下的行。

  • 具体化连接:检查是否具体化中的来源多项式是可连接的

  • 缓存有关具体化和查询的信息:对于一些抽象化,他们可能共享一些具体化,因此,我们可以存储一致性连接语句。

高效的寻找最佳抽象
  • 抽象排序:当我们遍历所有的抽象时,根据他们使用的树边的数量将他们以递增的方式抽象,优先选择树边数量少的抽象

  • 优先考虑信息丢失而不是隐私计算

    计算抽象非常的复杂,因此给定一个抽象的示例,要先计算每个抽象的信息损失,再计算隐私。

3.2 算法详情

3.2.1 计算隐私

3.2.2寻找最佳抽象

3.3.3 构建抽象树

了解数据库结构的领域专家可能能够短语规则,这些规则将相似元组的注释放置在树中的附近。例如,在相同属性中包含相同值的元组(例如,构造抽象树的另一种可能的方式是基于本体,该本体通过将具有相似含义的元组分组来对不同元组的抽象进行编码。可以使用用于识别元组之间的语义关系的现有方法[37,40]。为了进一步完善构建的树的高度和大小,用户可以将相关的查询和数据库输入到我们的系统中,并尝试调整这些参数,以便系统产生最快的运行时间(参见第5节中的图10和12)。高度可以调节,例如,通过

四、实验

4.1 实验设置

数据集:使用了TPC-H数据集,IMDB电影数据集组成 规模:我们随机抽取了1GB的数据库进行所有实验,隐私阈值为5 ,抽象树高度为5,具有10000个叶子(10244个节点); K-example的行数为2;信息损失熵使用离散均匀分布

4.2 实验

隐私阈值

改变隐私阈值,分别测试与找到最佳抽象的时间、抽象树的规模、信息损失的关系,得到以下结论: 解决方案即使对于较大的隐私阈值也保持可扩展性。 不需要更大的抽象树来满足更高隐私阈值。 信息损失随着隐私的增加而增加。

抽象树规模与高度

改变抽象树的规模 即使当抽象树的大小接近数据的大小时,我们的解决方案仍然是可伸缩的 抽象树较大时,最佳抽象需要较少的边

改变抽象树的高度 每个查询都有一个最佳高度,在这个高度下运行最快 最佳抽象的大小随着树的高度增加而增加

连接数量、行数、不同的抽象方法

改变连接数量 连接数量的增加不会显著的影响运行耗时

改变行数: 行数是算法运行的决定性因素,大量的行意味着每个具体化的CIM查询更少因此算法必须被迫尝试所有可能的抽象,类似于暴力方法

比较不同的抽象方法: 我们的方法相较于之前的刚发,信息损失减少了2-3倍

不同的算法组件

对抽象进行排序以及优先处理信息丢失而不是隐私计算使得性能提高了500倍以上

用户研究表明我们的方法成功的隐藏了原始查询并在使用溯源方面造成了合理的信息损失

五 结论

实验总结: 寻找最佳抽象的时间与K-example的行数最有关系 对抽象进行排序以及优先处理信息丢失而不是隐私计算使得性能提高最显著 用户研究表明我们的方法成功的隐藏了原始查询并在使用溯源方面造成了合理的信息损失

文章总结: 本文围绕数据溯源的隐私和效用之间的平衡展开研究(如何修改溯源信息,使得满足隐私性的同时,又不会丢失太多的信息)。 作者将隐私与信息损失形式化,设计了一个优化问题,即在满足隐私阈值k的基础上,寻找信息损失最小的最佳抽象。 针对该问题的实现,提出几点改进方法提高效率

  • 26
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值