数据隐私查询审计技术综述
1. 引言
在包含私人数据的数据库中,查询审计技术对于检测和防止数据泄露至关重要。审计本质上是检查过去的操作是否符合官方政策。在数据库系统中,审计就是审查过去已回答的查询,判断这些查询的答案是否会被用于获取违反数据披露政策的机密信息。检测数据泄露的技术也可用于或扩展以防止泄露,因此除了离线审计,研究者也开始关注在线审计,即在线审计员需决定是否回答新查询以防止隐私泄露。
其他防止数据泄露的常见方法包括向数据添加噪声或干扰查询结果,但统计学家通常不喜欢这种引入潜在偏差的方法,因为数据收集过程本身就可能存在偏差和不完美。因此,查询限制技术在防止数据泄露方面变得尤为重要,离线审计也主要关注为用户提供精确答案的情况。
本文主要聚焦于具有单个私有属性的统计数据库,只允许对该私有属性进行聚合查询,如求和、最大值、最小值或中位数。接下来,我们将介绍最常用的“完全披露”概念,回顾不同类型查询的离线审计算法和复杂度结果,探讨离线审计员能否直接用作在线审计员,并介绍“可模拟审计”的概念以及针对“部分披露”的审计方法。最后,我们还会简要介绍在保护数据库任意视图时的审计情况以及当前审计技术的局限性。
2. 聚合查询审计
2.1 离线审计
2.1.1 完全披露
给定一组私有值 $X$ 和一组对该数据集提出的聚合查询 $Q = {q_1, …, q_t}$ 及其对应答案 ${a_1, …, a_t}$,离线审计员的目标是确定是否能推断出某个个体的私有值。传统上,使用“完全披露”的定义:
定义 2.1(完全披露):若在所有与查询 $q_1, …, q_t$ 的答案 $a_1, …, a_t$ 一致的可能数据集 $X$ 中,元素 $x_i \in X$ 的值都相同,则称查询集 $Q$ 完全披露了 $x_i$。
例如,若查询集仅包含一个查询,要求计算公司所有女员工的工资总和,而 Alice 是公司唯一的女员工,那么该查询的答案就唯一确定了 Alice 的工资。一般来说,用户可以将多个查询的答案拼接起来,以唯一确定个体的私有值,审计员的目标就是防止这种完全披露。
2.1.2 离线审计员示例
- 求和查询 :对于对元素为无界实数的集合 $X$ 提出的一组求和查询,审计员需要求解一个线性方程组。审计员维护一个矩阵,行对应查询,列对应私有值,每个查询由一个由 1 和 0 组成的向量表示,指示哪些私有元素包含在求和查询中。通过一系列初等行变换和列交换将查询向量矩阵对角化。如果结果矩阵中有一行只有一个 1 和 $n - 1$ 个 0,则某个元素被唯一确定。由于只需要检查一组线性无关的查询向量,矩阵大小最多为 $n×n$,对角化可在 $O(n^3)$ 时间内完成。查找最大线性无关查询向量集需要 $O(n^2|Q|)$ 时间,因此求和查询可以在多项式时间内审计。
定理 2.2:设 $X \in R^n$ 是一个私有值数据集。存在一个算法,用于确定一组求和查询 $Q$ 及其对应答案 $A$ 是否完全披露了 $X$ 中的某个 $x_i$,该算法的运行时间为 $O(n^3 + n^2|Q|)$。
除了求和查询,对于实值数据的最大和最小查询、中位数查询和平均查询的组合,也存在精确确定完全披露的离线审计员。然而,对于任意组合的聚合查询审计,进展甚微。例如,已证明除非 $P = NP$,否则不存在用于求和和最大查询的多项式时间完全披露审计算法。
当私有属性为布尔值时,布尔数据的求和查询的完全披露审计是 coNP 难的。但在特殊情况下,即查询是一维的(对于 $X$ 中元素的某种排序,每个查询的查询集涉及连续的 $x_i$ 序列),存在高效的多项式时间算法。这种对查询结构的假设在实际中很有用,因为用户通常难以对数据的任意子集提出查询,而更可能根据某些属性条件选择特定记录进行聚合。例如,询问特定年龄组中 HIV 阳性患者的总数就是一维求和查询,这种假设可以使审计员更高效,如实值数据的求和审计员在线性求和查询上可以线性时间运行。
2.2 在线审计
近年来,研究者开始关注在线审计问题,以防止数据泄露。给定一系列已提出的查询 $q_1, …, q_{t - 1}$ 及其对应答案 $a_1, …, a_{t - 1}$,以及一个新查询 $q_t$,在线审计员的任务是决定是否回答该查询以防止隐私泄露。
2.2.1 早期在线审计方法
早期的在线审计员通过限制可回答查询的大小和重叠来防止数据泄露。例如,对于查询集恰好包含 $k$ 个元素,且每对查询集最多重叠 $r$ 个元素的求和查询,已知 $l$ 个值的攻击者可以在 $(2k - (l + 1))/r$ 次查询内攻破任何数据集。对于固定的 $k$、$r$ 和 $l$,如果审计员拒绝回答第 $(2k - (l + 1))/r$ 次及以后的查询,则数据集不会被攻破,即不会有私有值被唯一确定。然而,这种审计方案有很大局限性,如当 $k = n/c$($c$ 为常数)且 $r = 1$ 时,在少数不同查询后,审计员就必须拒绝所有后续查询。
2.2.2 离线审计员用于在线审计的问题
自然会想到离线审计员是否可以直接用于在线审计。但实际上不行,因为查询拒绝可能会泄露信息。例如,假设底层数据集为实值,仅当某些值被完全披露时才拒绝查询。攻击者先提出查询 $sum(x_1, x_2, x_3)$,审计员回答 15,然后攻击者提出查询 $max(x_1, x_2, x_3)$,审计员拒绝回答。这个拒绝告诉攻击者,如果给出第二个查询的真实答案,某些值可以被唯一确定。由于 $max(x_1, x_2, x_3) \nless 5$(否则总和不可能为 15),且若 $max(x_1, x_2, x_3) > 5$ 则查询不会被拒绝,所以攻击者可以推断出 $max(x_1, x_2, x_3) = 5$,进而得知 $x_1 = x_2 = x_3 = 5$,导致所有三个条目的隐私泄露。
另一种简单的解决方案是在离线算法拒绝时拒绝查询,并随机拒绝一些原本应回答的查询。但这种方法也有问题,虽然可能减少信息泄露,但不能完全防止,而且审计算法需要记住哪些查询是随机拒绝的,否则攻击者可以反复提出相同查询直到得到回答。此外,确定两个查询是否等价的计算复杂度取决于查询语言,可能是难解的甚至不可判定的。
2.2.3 可模拟审计
可模拟审计的思想源于观察到,如果审计员在决定拒绝查询时使用了攻击者无法获得的信息(即新查询的答案),查询拒绝就可能泄露信息。可模拟审计员的要求是攻击者能够模拟审计员决定回答或拒绝查询的过程。
定义 2.3(在线审计员):在线审计员 $B$ 是一个关于 $Q$、$A$ 和 $X$ 的函数,其输出为对 $q_t$ 的精确答案或拒绝。
定义 2.4(可模拟审计员):如果存在另一个审计员 $B’$,它仅是 $Q$ 和 $A \setminus a_t$ 的函数,且在 $q_t$ 上的输出始终与 $B$ 相同,则称在线审计员 $B$ 是可模拟的。
可模拟审计员的一个吸引人的特性是,审计员对拒绝查询的响应不会向攻击者传达任何新信息(超出根据先前查询答案已知的信息),因此在未来决策中无需考虑拒绝的查询。
例如,限制查询大小和重叠的审计员是可模拟的,因为它在决定拒绝时从不查看查询的答案。实值数据的求和审计员也是可模拟的,因为它在决定拒绝或回答时只检查查询向量矩阵,而不查看任何查询的实际答案,更不用说当前查询的答案。与限制查询大小和重叠的审计员相比,这种审计员在大数据集上也能提供较高的实用性,在一系列随机求和查询中,预计在经过线性数量的查询后才会出现第一次拒绝。
更一般的确保可模拟性的充分条件是,对于每个新查询,审计员应确定是否存在与所有过去响应一致的可能数据集,其中当前查询的答案会导致某个元素被完全披露。如果是,则拒绝查询,否则可以回答。由于攻击者自己也可以检查这个条件并预测拒绝,所以拒绝不会泄露信息。基于这个思想,已经为最大和最小查询构建了可模拟的在线审计员。
在前面的例子中,查询 $q_1 = sum{x_1, x_2, x_3}$ 会被回答,因为无论答案如何,都无法唯一确定数据集中的任何元素。而查询 $q_2 = max{x_1, x_2, x_3}$ 总是会被拒绝,因为存在一个与 $q_1$ 答案一致的可能答案,会导致某个私有值被唯一确定。需要注意的是,如果 $q_2$ 的实际答案大于 $\frac{1}{3}f_1(Q_1)$,实际上回答 $q_2$ 是安全的,但由于可模拟性的要求,我们会损失一些实用性。
2.2.4 部分披露
“完全披露”作为隐私泄露的衡量标准存在一定的局限性。即使一个私有值不能被唯一确定,它可能被确定在一个很小的区间内,或者在一个分布严重偏斜的大区间内,有些人可能认为这也是一种充分的披露。为了缓解这个问题,研究者提出了一个新的隐私定义,通过建模攻击者对私有数据点值的信心变化来衡量隐私。
在这个定义中,假设数据是从某个分布 $D$ 中抽取的,该分布在 $(-\infty, \infty)^n$ 上,并且攻击者和审计员都知道这个分布。
设 $Q = {q_1, …, q_t}$ 是对数据集 $X$ 的一系列查询,$A = {a_1, …, a_t}$ 是它们的对应答案,其中每个 $a_i$ 要么是查询 $q_i$ 在数据集 $X$ 上的真实答案,要么是“拒绝”。我们允许审计员是随机化的,即它决定回答或拒绝查询的过程不必是确定性的。
定义 2.5(随机化审计员):随机化审计员是一个关于 $Q$、$A$、$X$ 和 $D$ 的随机化函数,其输出为对 $q_t$ 在 $X$ 上的精确答案或拒绝。
我们说查询和对应答案的序列对于元素 $x_i$ 和区间 $I \subseteq (-\infty, \infty)$ 是 $\lambda$-安全的,如果攻击者在看到查询和答案后,对 $x_i \in I$ 的信心没有显著变化。
定义 2.6($\lambda$-安全):查询和答案序列 $q_1, …, q_t, a_1, …, a_t$ 对于数据元素 $x_i$ 和区间 $I \subseteq (-\infty, \infty)$ 是 $\lambda$-安全的,如果以下布尔谓词的值为 1:
[
Safe_{\lambda, i, I}(q_1, …, q_t, a_1, …, a_t) =
\begin{cases}
1, & \text{如果 } \frac{1}{1 + \lambda} \leq \frac{Pr_D(x_i \in I | q_1, …, q_t, a_1, …, a_t)}{Pr_D(x_i \in I)} \leq (1 + \lambda) \
0, & \text{否则}
\end{cases}
]
部分披露是根据以下谓词定义的,该谓词的值为 1 当且仅当 $q_1, …, q_t, a_1, …, a_t$ 对于所有条目和所有区间都是 $\lambda$-安全的:
[
AllSafe_{\lambda}(q_1, …, q_t, a_1, …, a_t) =
\begin{cases}
1, & \text{如果 } Safe_{\lambda, i, I}(q_1, …, q_t, a_1, …, a_t) = 1, \text{ 对于每个 } i \in [n] \text{ 和每个区间 } I \
0, & \text{否则}
\end{cases}
]
现在考虑攻击者和审计员之间的 $(\lambda, T)$-隐私游戏,在每一轮 $t$(最多 $T$ 轮)中:
1. 攻击者自适应地提出一个查询 $q_t = (Q_t, f_t)$。
2. 审计员确定是否回答 $q_t$。如果允许回答,则审计员响应 $a_t = f_t(Q_t)$,否则响应 $a_t =$ “拒绝”。
3. 如果 $AllSafe_{\lambda}(q_1, …, q_t, a_1, …, a_t) = 0$,则攻击者获胜。
定义 2.7(私有随机化审计员):如果对于任何攻击者 $A$,$Pr[A$ 赢得 $(\lambda, T)$-隐私游戏$] \leq \delta$,则称审计员是 $(\lambda, \delta, T)$-私有的,其中概率是在数据来自的分布 $D$ 以及审计员和攻击者的硬币抛掷上取的。
同样,为了确保拒绝不会泄露信息,对设计的审计员施加了可模拟性条件。
定义 2.8(可模拟随机化审计员):如果存在另一个审计员 $B’$,它是仅关于 $Q$、$A \setminus a_t$ 和 $D$ 的随机化函数,且 $B’$ 在 $q_t$ 上的输出与 $B$ 在计算上不可区分,则称随机化审计员 $B$ 是可模拟的。
隐私定义的讨论
上述隐私定义假设攻击者知道数据抽取的分布,但在现实中可能并非如此。在这种情况下,$AllSafe$ 谓词需要根据攻击者的先验分布进行评估,因为只有当攻击者的信念发生重大变化时才会发生隐私泄露。然而,如果攻击者的分布与真实数据分布相差很大,审计员在不导致某些私有值部分披露的情况下几乎无法发布任何信息,因为要求审计员如果发布答案就必须是精确的。例如,考虑一个包含身高作为私有属性的数据库,攻击者的先验信念是所有男性身高都小于一英尺。如果通过查询数据,攻击者突然得知这不是真的,并且其后验分布发生了重大变化,那么隐私泄露将是巨大的。实际上,由于攻击者的先验信念与实际情况相差太远,审计员无法如实回答任何关于身高的聚合查询,甚至是数据库中所有人的平均身高。
因此,我们假设审计员和攻击者共享的数据集分布应该代表一些常识性事实,这样可以发布更有用的信息。在许多情况下,这种假设是现实的,例如年龄或工资等属性的分布可能可以从以前的数据发布中得知,甚至由审计员自己发布。
构建私有随机化审计员的一般方法
如果回答查询不太可能导致攻击者对任何 $x_i$ 落在任何区间的信心发生显著变化,那么该查询是安全的,并且拒绝查询的决策必须是可模拟的。下面描述一种构建此类可模拟随机化审计员的一般方法,其流程图如下:
graph TD;
A[生成与过去答案一致的随机数据集] --> B{回答新查询是否会导致隐私泄露?};
B -- 是 --> C[拒绝查询];
B -- 否 --> D[回答查询];
基本思想是审计员生成与过去查询答案一致的随机数据集(包含 $n$ 个私有值),这些数据集是根据给定过去答案的分布 $D$ 生成的。然后,审计员检查在这些随机数据集上回答新查询是否会导致攻击者对任何 $x_i$ 的信心发生显著变化。如果对于相当一部分生成的数据集,答案是“否”,则查询是安全的,可以回答。由于在这个过程中从不查看查询的真实答案,所以审计员是可模拟的,拒绝查询不会泄露信息。
对于每个新查询,重复这个过程多次,拒绝查询的决策基于采样的一致答案中导致隐私泄露的比例。通过足够多次的重复并选择合适的拒绝阈值,可以使用切尔诺夫界证明上述过程可以得到一个 $(\lambda, \delta, T)$-私有的审计员。
需要注意的是,$AllSafe$ 谓词需要针对无限多个区间进行评估。可以证明,如果要求私有值的先验和后验概率在任意小的区间上接近,那么将不会有任何查询被回答。因此,现有文献主要关注保护具有显著先验概率质量的区间的隐私。虽然可能存在无限多个这样的区间,但如果每个 $x_i$ 是根据某个分布 $H$ 在 $(-\infty, \infty)$ 上独立抽取的,那么只需要检查有限个不重叠的区间 $I$ 的隐私性。到目前为止,随机化审计员仅针对私有值独立同分布于此类底层分布的数据集进行了设计。
求和查询的随机化审计员
下面简要描述如何调整上述通用方法以获得求和查询的私有随机化审计员(每个查询的形式为 $sum(Q_j)$,其中 $Q_j$ 是查询集)。
为了便于理解,假设每个私有值是从区间 $[0, 1]$ 中均匀随机抽取的。那么数据集 $X = {x_1, …, x_n}$ 可以是单位立方体 $[0, 1]^n$ 中的任何点,且概率相等。一个求和查询及其对应答案会诱导一个超平面,与一个求和查询及其答案一致的数据集是 $[0, 1]^n$ 中落在该超平面上的点。每个后续查询和答案会将可能的一致数据集空间缩小到诱导超平面的交集,即一致数据集位于一个凸多面体中。由于先验分布是均匀的,给定查询和答案后的后验分布在凸多面体内部也是均匀的。因此,只需从这个凸多面体中均匀随机采样数据集,就可以生成左图所需的一致答案。进一步,我们可以确定在采样数据集中回答查询是否会导致隐私泄露(右图):假设 $P$ 是当前的凸多面体,为了确定对于特定个体 $x_i$ 和特定区间 $I \in I$ 是否发生了部分披露,考虑隐私泄露的定义:
[
\frac{Pr_D{x_i \in I | q_1, …, q_t, a_1, …, a_t}}{Pr_D{x_i \in I}} = \frac{Pr_D{x_i \in I | \vec{x} \in P}}{|I|}
]
分子中的概率可以通过从凸多面体 $P$ 中采样并计算 $x_i$ 落在 $I$ 内的采样点的比例来估计。如果上述比例大于 $(1 + \lambda)$ 或小于 $\frac{1}{1 + \lambda}$,则该采样数据集的查询是不安全的。
除了均匀先验分布,我们还可以假设更一般的对数凹分布,因为存在从这种分布中采样的算法。对数凹分布是一类广泛的分布,它是凸集上的均匀分布和高斯分布的常见推广。一个域 $T$ 上的分布被称为对数凹的,如果它有一个密度函数 $g$,使得 $g$ 的对数在其支撑集上是凹的,即对于每个 $x, y \in T$ 和 $0 \leq \alpha \leq 1$,有 $g(\alpha x + (1 - \alpha) y) \geq g(x)^{\alpha} g(y)^{1 - \alpha}$。这些分布在随机优化中起着重要作用。
假设每个元素 $x_i$ 是根据同一个对数凹分布 $H$ 在 $R$ 上独立抽取的,令 $D = H^n$ 表示联合分布。利用对数凹函数的性质,可以证明联合分布 $D$ 也是对数凹的,并且给定 $\bigwedge_{j = 1}^{t} (sum(Q_j) = a_j)$ 的后验分布也是对数凹的。此外,存在随机化的多项式时间算法用于从对数凹分布中采样(有小误差)。
在不涉及技术细节的情况下,我们简要说明如何将上述通用随机化审计员方法应用于求和查询审计问题。可以使用从对数凹分布中采样的算法来估计评估右图中 $AllSafe$ 谓词所需的后验概率。该算法也可用于左图中从给定先前答案的后验分布 $D$ 中采样数据集,从而生成一致答案。为了适应采样算法无法精确从底层对数凹分布中采样的问题,评估 $AllSafe$ 谓词时使用的 $\lambda’$ 要小于 $\lambda$。
除了求和查询,还为最大查询开发了随机化审计员,其中对于均匀先验的采样过程更加高效,并且也为最大和最小查询的组合开发了审计员。
3. 选择 - 投影 - 连接查询审计
除了聚合查询,审计也在选择 - 投影 - 连接查询的背景下进行了研究,当需要保密的信息是数据库的一个禁止视图时。禁止视图本身也通过一个选择 - 投影 - 连接查询来指定。
例如,数据库可能包含一个单一关系
Employee(name, department, phone)
,禁止视图可能是
πname,phone(Employee)
,这里
π
表示对表的姓名和电话属性进行投影。禁止视图表示员工关系的姓名和电话属性,或者它们的某种组合是敏感的,不应被泄露。离线审计员的任务是确定过去回答的一组选择 - 投影 - 连接查询是否泄露了关于禁止视图的任何信息,而在线审计员的任务是在查询答案可能泄露禁止视图信息时拒绝查询。
禁止视图在不同系统中代表的隐私含义可能不同。例如,上述禁止视图可能表示数据库中不应泄露任何一个电话号码或姓名;或者表示应保护数据库中任何个人的姓名和电话号码之间的关联。文献中首次提出的禁止视图隐私的正式概念是“完美隐私”,定义如下:
定义 3.1(完美隐私):设 $D$ 是数据库元组抽取所依据的基础分布。一组查询 $Q$ 被称为尊重禁止视图 $V$ 的完美隐私,如果对于查询的任何一组答案 $\vec{a}$ 和禁止视图的任何实例化 $v$,有 $Pr_D{V = v|Q = \vec{a}} = Pr_D{V = v}$。
如果分布 $D$ 使得每个可能元组 $t_i$ 从(有限)可能元组域中以概率 $p_i$ 独立地包含在数据库中,与其他元组无关,那么检查一组查询的完美隐私条件就简化为一个纯粹的逻辑陈述。引入以下定义:
定义 3.2(关键元组):对于一个查询 $Q$,如果存在数据库的一个可能实例 $I$,使得元组 $t$ 的存在或不存在会影响查询 $Q$ 的结果,即 $Q(I - {t}) \neq Q(I)$,则称元组 $t$ 是查询 $Q$ 的关键元组。
我们得到以下关于查询 - 视图隐私的特征描述,适用于遵循集合语义的查询:
定理 3.3:一组查询 $Q$ 违反禁止视图 $V$ 的完美隐私,当且仅当可能元组域中存在一个元组,它对于 $V$ 和 $Q$ 中的某个查询都是关键的。
这个有用的结果意味着,如果一组查询要违反禁止视图的完美隐私,那么该组中的某个查询必须违反它。因此,离线审计员在检查一组查询是否违反完美隐私时,需要依次审计每个查询;在线审计员在维护禁止视图的完美隐私时,可以独立于过去的查询来决定是否回答或拒绝每个新查询,用户之间的勾结不是问题。此外,由于元组的关键性以及查询拒绝与实际数据库实例无关,这样的在线审计员是可模拟的,拒绝查询不会泄露信息。
然而,检查定理 3.3 中的条件是 $\Pi_P^2$-完全的,即使对于合取查询和视图也是如此。不过,已经为特定子类的合取查询开发了审计员。
维护禁止视图完美隐私的在线审计员会导致非常严格的拒绝策略。例如,对于
Employee
关系,若禁止视图是
πphone(Employee)
,那么即使只是查询
πname(Employee)
(询问所有员工的姓名)也会被拒绝,尽管它没有访问任何电话号码。这是因为可能元组域中的每个元组对于禁止视图和该查询都是关键的,仅仅通过揭示关系的大小信息,该查询就揭示了关于禁止视图的一些信息,所以应该被拒绝。因此,禁止视图的完美隐私概念可能过于严格。
目前正在进行的研究旨在放宽禁止视图的隐私概念,从而允许设计出能为用户提供更多实用性的审计员。这些新的隐私概念也允许为更大类别的查询设计出能在多项式时间内运行的更高效审计员。
4. 审计面临的挑战
4.1 隐私定义
多年来,隐私定义和泄露概念不断发展,从早期的“完全披露”到近期的“部分披露”和“完美隐私”。但仍有改进空间。近期的定义假设存在一个概率分布 $D$,数据由此生成,且攻击者和审计员都知道该分布。然而在现实中,存在攻击者的先验分布和审计员的先验分布。虽然可以合理假设这三个分布相近,但当前的定义和审计员都假设它们相同。
在聚合查询方面,当前定义只关注单个个体的隐私,而在现实中,保护家庭等群体的隐私可能也很重要。在选择 - 投影 - 连接查询方面,“完美隐私”概念过于严格,导致许多看似无害的查询被视为可疑。
4.2 算法局限性
按照本文提出的通用框架进行聚合查询在线可模拟审计的算法存在一些局限性。这些算法需要采样与给定查询和答案一致的数据集。但在实际中,由于数据集规模巨大,这个采样过程的计算成本可能过高,尽管采样算法近年来一直在不断改进。
此外,这些算法假设攻击者和审计员都知道数据生成的分布 $D$。如果能开发出克服这些采样要求的算法,将是巨大的改进。
本文主要关注了一种类型的查询,即求和查询。但在现实中,会对数据集提出各种各样的查询。虽然已经对最大、最小、中位数查询进行了一些研究,但混合这些查询的审计是一个更大的挑战。例如,在“完全披露”的情况下,审计混合的求和和最大查询是 NP - 难的,而对于单独的求和查询和最大查询,已知有多项式时间算法。为了使审计真正有用,最终需要允许更丰富、更多样化的查询,如数据挖掘应用中的聚类或决策树分类查询。
对于简单概率分布下禁止视图的“完美隐私”违规检查,即使对于合取查询和视图也是 $\Pi_P^2$-完全的。虽然已经为各种子类的合取查询开发了审计员,但放宽“完美隐私”的要求可能有助于为更大类别的查询设计出高效的审计员,目前已经在这方面进行了一些尝试,通过对数据抽取的分布施加假设。
4.3 用户勾结
在大多数交互式数据共享机制中,用户勾结问题基本未得到解决。如果没有阻碍勾结的措施,第 2 节中的在线审计员需要汇总所有用户过去提出的聚合查询,以确定潜在的隐私泄露。这可能导致某个用户收到过多的查询拒绝。
相关地,在线审计员可能需要维护一个庞大的过去查询审计跟踪。虽然本文介绍的审计员能够维护有界大小的查询历史,甚至不需要查询历史,但一般情况下并非如此。考虑到勾结的可能性,可能需要更长时间存储更大的查询历史。“完美隐私”概念非常严格,在确定隐私泄露时甚至不需要考虑过去的查询,一组查询只有在其中某个查询泄露了关于禁止视图的一些(可能微不足道)信息时才会泄露信息。然而,加强隐私定义会导致更多的查询拒绝,并不能令人满意地解决勾结问题。
4.4 实用性
虽然已经对在线审计员的实用性进行了一些初步分析,但实用性这一维度仍未得到很好的理解。如何定义实用性本身就是一个问题。一种研究方向是研究随机聚合查询序列中的预期拒绝次数。但用户不太可能对数据的任意子集提出聚合查询,查询可能来自非均匀分布。此外,可能有一些重要的、通用的查询,如全国 HIV 阳性患者的总数,应该始终得到回答。拒绝此类查询的审计员可能被认为实用性较差。
一般来说,我们希望确保数据库不会因为过多的查询拒绝而变得无用。为此,可能值得牺牲一些隐私来换取更高的实用性。
下面用表格总结审计面临的挑战及相应问题:
|挑战类型|具体问题|
| ---- | ---- |
|隐私定义|假设分布一致不现实;聚合查询只关注个体隐私;选择 - 投影 - 连接查询中“完美隐私”太严格|
|算法局限性|采样计算成本高;依赖已知数据分布;难以处理混合查询;“完美隐私”检查复杂度高|
|用户勾结|需汇总查询确定泄露,导致用户拒绝过多;可能需存储大量查询历史;“完美隐私”定义不能解决勾结问题|
|实用性|实用性定义不明确;查询分布非均匀;可能拒绝重要通用查询|
以下是审计流程的 mermaid 流程图:
graph LR
A[接收查询] --> B{离线审计}
B -- 否 --> C[回答查询]
B -- 是 --> D{在线审计}
D -- 否 --> C
D -- 是 --> E[拒绝查询]
综上所述,数据隐私查询审计技术在不断发展,但仍面临诸多挑战。未来的研究需要在隐私定义、算法设计、应对勾结和提高实用性等方面取得进展,以更好地保护数据隐私并满足实际应用的需求。
超级会员免费看
830

被折叠的 条评论
为什么被折叠?



