基于输出扰动的隐私数据高效分析方法
1. 引言
随着电子数据收集和存档技术的发展,政府、统计机构和私营企业所维护的敏感个人信息急剧增加。分析这些数据库能带来巨大的社会效益,但挑战在于在保护数据贡献者隐私的同时,计算并发布有用的信息。
传统的统计分析和数据挖掘方法看似能解决隐私问题,但实际上,多个看似无害的分析结果可能会被组合起来,导致隐私泄露。因此,需要一种正式的方法来构建既能保护隐私又能提供有用信息的分析。
在深入探讨之前,有必要区分不同的隐私保护目标。一种是构建高效的安全多方协议用于数据挖掘任务,即将安全多方计算的加密工具应用于分布在多个参与方的敏感个人信息集合。虽然已有丰富的理论支持,但在处理大规模数据集时,通用的安全多方协议技术在实践中效率较低。而且,这种方法通常无法保证数据挖掘分析过程本身能保护个人隐私。
接下来,我们将关注一种简单的形式化模型——统计数据库,并在此基础上给出隐私定义。该定义的核心思想是,如果个人数据的加入对分析结果影响较小,那么个人隐私就得到了保护。尽管乍一看这个定义可能过于严格,会限制有用计算,但实际上可以构建出既能产生有用结果又能严格保护隐私的分析方法。
2. 抽象模型:统计数据库、查询和清理器
为了讨论隐私问题,我们采用统计数据库这一抽象模型。简单来说,统计数据库是一个由单一可信方控制的集中式数据库,用户可以向其发出查询请求。不过,我们的定义和结果也适用于其他场景,如数据分布在多个参与方的情况,以及个人数据集合并非以正式数据库形式存在的情况。
统计数据库的定义如下:
-
定义
:一个大小为 $n$、定义域为 $D$ 的统计数据库 $x$ 是一个有序的 $n$ 个条目集合 $x = (x_1, …, x_n)$,其中每个条目都来自定义域 $D$。
该定义非常通用,定义域 $D$ 可以是 $R^d$ 中的点、文本、图像或任何其他复杂的可能条目集合。而且,我们不假设数据库条目的选择方式,例如是否从某个潜在分布中采样,以及条目之间是否相互独立等。
为了访问统计数据库 $x$ 中的信息,我们引入清理器这一算法机制。清理器的主要目标是通过只发布去除了对个人信息依赖的答案来保护底层数据的隐私。用户通过向清理器发出查询来访问数据库,查询是一个从 $D^n$ 到 $R$ 的函数 $f$。为了简化说明,我们主要考虑实值函数 $f$,但所介绍的技术也可以推广到其他度量空间。
下面是一些常见查询的示例:
-
求和查询
:形式为 $sum_g(x) = \sum_{i=1}^{n} g(i, x_i)$,其中 $g : N × D → [0, 1]$。求和查询可用于表达基本的统计函数,如计数、平均值等,以及更复杂的计算。
-
示例
:以医院数据库为例,包含患者的社保号、性别、年龄、疾病和吸烟情况等信息。我们可以通过设置求和查询中的函数 $g$ 来生成不同的查询,例如比较吸烟者和非吸烟者患癌症的几率。
与常见做法不同,我们不将记录字段分为标识字段和敏感字段,而是将所有个人信息部分都视为敏感信息。这样做避免了确定哪些信息敏感的麻烦,并能防止看似无害的信息或它们之间的关系最终与敏感信息关联起来。此外,我们允许查询直接针对数据库中的个人,这意味着在我们的模型中,隐私并非依赖于匿名性,即使攻击者能够在查询函数中分别针对每个数据贡献者,隐私也必须得到维护。
构建清理器的技术有很多,我们主要关注通过向查询答案添加噪声来保护隐私的清理器,这种技术被称为输出扰动。输出扰动清理器对查询 $f$ 的回答分布为 $San(x, f) = f(x) + Y$,其中 $Y$ 是来自概率分布 $N$ 的随机变量,通常称为噪声。在大多数情况下,我们考虑的概率分布仅依赖于查询类型,而不依赖于统计数据库中存储的实际值。
统计数据库和清理器的模型适用于许多实际场景,如统计机构收集的信息数据库,以及医疗保健组织、金融机构、搜索引擎等收集和维护的个人数据记录集合。此外,通过使用安全多方计算的标准加密技术,我们的结果也适用于分布式设置。
3. 隐私定义
在统计数据库的隐私攻击场景中,一个具有清理器算法和隐私参数完整知识的攻击者会向清理器发出一系列查询 $f_1, f_2, …$,并接收相应的答案 $a_1, a_2, …$,其中 $a_i$ 按照 $San(x, f_i)$ 分布。我们不考虑攻击检测问题,假设清理器会像与合法用户通信一样回答所有查询。攻击者可以自适应地选择查询,即下一个查询 $f_{i+1}$ 的选择可能依赖于之前查询的答案 $a_1, …, a_i$。
为了定义隐私,我们引入汉明距离和邻居数据库的概念:
-
汉明距离
:两个相同大小数据库之间的汉明距离定义为它们不同条目的数量,即 $dist_H(x, x’) = |{i : x_i \neq x’_i}|$。
-
邻居数据库
:如果两个数据库仅在单个条目上不同,即 $dist_H(x, x’) = 1$,则称它们为邻居数据库。
基于这些概念,我们给出 $\epsilon$-隐私($\epsilon$-差分隐私)的定义:
-
定义
:一个清理器 $San$ 是 $\epsilon$-隐私的,如果对于所有邻居统计数据库 $x, x’ \in D^n$,以及所有可能答案的子集 $T$,都有 $\frac{Pr[San(x) \in T]}{Pr[San(x’) \in T]} \leq e^{\epsilon}$。这里的概率是基于清理器的随机选择得出的。
与加密原语的安全参数类似,参数 $\epsilon$ 控制着统计数据库中关于单个条目的信息泄露程度。当 $\epsilon$ 较小时,$e^{\epsilon} \approx 1 + \epsilon$,这意味着对于所有可能的答案集合 $T$,$San(x) \in T$ 和 $San(x’) \in T$ 的概率大致相同。
需要注意的是,根据这个定义,清理器不能是确定性的(除非它计算的是常数函数),否则会存在邻居数据库 $x, x’$ 和一个答案 $t$,使得 $\frac{Pr[San(x) = t]}{Pr[San(x’) = t]}$ 无界。
4. 隐私定义的解读
在深入探讨构建满足 $\epsilon$-隐私定义的输出扰动清理器的技术之前,我们先分析一下该定义的一些特性。
许多文献中的隐私定义与特定的清理技术紧密相关,并针对特定的攻击设计了清理输出的特定属性。例如,$k$-匿名性定义要求信息以表格形式发布,使得每个个体的标识信息与至少 $k - 1$ 个其他个体的标识信息相同。
相比之下,$\epsilon$-隐私定义不依赖于特定的技术或输出格式。这一点很重要,因为隐私不依赖于特定清理技术“良好”的假设。将隐私和清理技术分离,使得即使使用不同技术和输出格式的清理器也能进行有意义的比较。而且,$\epsilon$-隐私是清理算法本身的属性,而不是特定清理结果的属性,直观地说,就是没有攻击者能在区分游戏中“战胜”清理器。
下面我们从几个方面进一步解读 $\epsilon$-隐私定义:
-
独立条目情况
:当统计数据库的条目是从定义域上的某个分布独立同分布选择时,$\epsilon$-隐私的清理器能在很强的意义上保护单个条目的隐私。例如,对于一个谓词 $b : D → {0, 1}$,攻击者在知道 $x_2, …, x_n$ 的情况下,对 $b(x_1)$ 成立的后验概率相对于先验概率的变化被 $e^{\epsilon}$ 所限制。
-
差分隐私
:理想情况下,我们希望清理器不泄露任何关于个人的信息,但实际上,当数据库具有实用性时,这种理想无法实现。然而,$\epsilon$-隐私定义通过比较攻击者在访问包含个人信息的数据库和包含任意修改或移除该个人信息的邻居数据库时的知识,成功地在存在任意辅助信息的情况下保证了有意义的隐私。例如,即使参与者从数据库中移除了自己的数据,计算结果的任何后果也不会变得显著更可能或更不可能。
-
单查询与多查询的组合
:$\epsilon$-隐私定义最初是针对单个查询的,但在实际应用中,攻击者可能会发出多个自适应选择的查询。为了处理这种情况,我们有以下引理:如果 $San_i$ 对于 $i = 1, …, q$ 是 $\epsilon_i$-隐私的,那么按照 $San_1, …, San_q$ 回答的清理器(每个清理器的随机性相互独立)是 $\epsilon’$-隐私的,其中 $\epsilon’ = \sum_{i} \epsilon_i$。这意味着每次与 $\epsilon$-隐私的清理器交互会导致隐私以 $\epsilon$ 的幅度减少。因此,为了在进行 $q$ 次查询时保持 $\epsilon’$-隐私,每次查询的回答需要使用 $\epsilon = \frac{\epsilon’}{q}$ 的 $\epsilon$-隐私清理器。
-
小群体的隐私
:$\epsilon$-隐私定义主要关注邻居数据库,直接处理的是个人隐私。但在某些情况下,个人隐私保证可能不够,例如攻击者知道一组具有相同或相似信息的个体。一个满足 $\epsilon$-隐私定义的清理器也能为小群体提供隐私保护,隐私参数的退化与群体大小呈线性关系。具体来说,如果数据库 $x$ 和 $x’$ 在 $c$ 个条目上不同,那么 $\frac{h_x(t)}{h_{x’}(t)} \leq e^{c\epsilon}$。
-
$\epsilon$-隐私作为 Lipschitz 条件
:如果将 $San$ 视为一个将统计数据库映射到可能答案分布的函数,那么 $\epsilon$-隐私定义可以看作是 $San$ 的一个 Lipschitz 条件。具体来说,我们定义一个关于可能答案分布的度量 $dist_{\div}(S_1, S_2) = \max_{T} |\ln \frac{Pr_{S_1}[T]}{Pr_{S_2}[T]}|$,则 $\frac{dist_{\div}(San(x), San(x’))}{dist_H(x, x’)} \leq \epsilon$。
5. 基本技术:根据敏感度校准噪声
我们现在将展示如何在满足 $\epsilon$-隐私定义的同时,发布统计数据库的一些全局信息。以求和查询为例,为了满足 $\epsilon$-隐私,需要向查询结果添加足够大的噪声,以掩盖查询函数在邻居数据库上的潜在差异。
对于求和查询,查询函数在邻居数据库上的差异被限制为 1。因此,我们可以使用一维拉普拉斯分布 $Lap(\lambda)$(均值为 0,方差为 $2\lambda^2$,密度函数为 $h(t) = \frac{1}{2\lambda} e^{-\frac{|t|}{\lambda}}$)来添加噪声。
具体来说,我们的清理器对求和查询 $f_g = \sum_{i} g(i, x_i)$(其中 $g : N × D → [0, 1]$)的回答是 $San(x, f_g) = \sum_{i} g(i, x_i) + Y$,其中 $Y \sim Lap(\frac{1}{\epsilon})$。可以证明,这个清理器是 $\epsilon$-隐私的,因为对于所有邻居数据库 $x$ 和 $x’$,有 $\frac{h_x(t)}{h_{x’}(t)} = \frac{h(t - f(x))}{h(t - f(x’))} \leq e^{\epsilon|f(x) - f(x’)|} \leq e^{\epsilon}$。
这个技术可以推广到许多其他查询函数 $f$,只要单个条目在 $x$ 中的变化对 $f(x)$ 的值影响有限。为了衡量这种影响,我们引入全局敏感度的概念:
-
定义
:对于 $f : D^n → R^d$,$f$ 的全局 $\ell_1$ 敏感度定义为 $GS_f = \max_{x,x’:dist_H(x,x’)=1} |f(x) - f(x’)|_1$。
全局敏感度是查询函数 $f$ 固有的属性,与统计数据库的实际内容无关。以下定理表明,添加与全局敏感度成正比且与 $\epsilon$ 成反比的拉普拉斯噪声可以确保 $\epsilon$-隐私:
-
定理
:对于所有 $f : D^n → R^d$ 且 $GS_f < \infty$,清理器 $San(x, f) = f(x) + (Y_1, …, Y_d)$(其中 $Y_1, …, Y_d$ 是从 $Lap(\frac{GS_f}{\epsilon})$ 独立同分布抽取的随机变量)是 $\epsilon$-隐私的。
6. 低全局敏感度函数的应用
定理表明,如果查询函数 $f$ 的全局敏感度较低,那么清理器可以相对准确地发布该查询的结果,噪声幅度为 $\frac{GS_f}{\epsilon}$。以下是一些全局敏感度较低的有用函数示例:
|函数类型|全局敏感度|说明|
| ---- | ---- | ---- |
|求和查询|$GS_{sum} \leq 1$|可用于计算基本统计量,如计数和均值,噪声幅度为 $\frac{1}{\epsilon}$,与数据库大小 $n$ 无关|
|均值和协方差|$GS_{mean} \leq \frac{2\gamma}{n}$,$GS_{cov} \leq \frac{8\gamma^2}{n}$|在对输入向量进行一定限制的情况下,可通过更细致的分析得到与维度 $d$ 无关的噪声幅度|
|直方图|$GS_{hist} = 2$|将定义域 $D$ 划分为 $k$ 个不相交的区间,统计每个区间内的元素数量,噪声幅度可降低到 $\frac{2}{\epsilon}$|
|子集和|$GS_{subsets} = 4\gamma$|对数据库条目的不相交子集进行求和,结合了均值和直方图的分析方法|
|到属性的距离|$GS_{distance} = 1$|计算统计数据库到某个属性的汉明距离,单个条目变化对结果影响最多为 1|
|低查询复杂度的函数|$GS_f \leq 2\sigma$|可以通过只查看数据库条目的一小部分来准确计算的函数|
这些简单的函数将作为构建更复杂功能的基础。例如,在后续章节中,我们将使用这些低全局敏感度的函数来修改一些著名的机器学习算法,使其能够在保护 $\epsilon$-隐私的同时保持准确性。
7. 构建复杂功能的清理器
虽然定理可以直接用于构建全局敏感度可分析且较低的函数的输出扰动清理器,但对于许多函数,直接计算全局敏感度可能很复杂,甚至在计算上不可行,或者得到的全局敏感度较高,即使该函数在典型输入下预期是不敏感的。
引理提供了一种部分解决方案,即可以将具有低全局敏感度的简单函数组合起来,用于计算更复杂的函数。具体来说,如果一个算法 $A$ 被构建为其输入存储在统计数据库中,并且最多通过模拟 $\epsilon’$-隐私的清理器 $San_1, …, San_q$(其中 $\epsilon’ = \frac{\epsilon}{q}$)访问数据库 $q$ 次,那么算法 $A$ 的输出可以保证保留 $\epsilon$-隐私。
以下是几个具体的示例:
-
k - 均值聚类
:聚类是将 $n$ 个数据点划分为 $k$ 个不相交的“相似”点集的任务。传统的 Lloyd 算法通过迭代更新 $k$ 个聚类中心来实现这一目标,但直接实现该算法可能会泄露隐私。为了保护隐私,我们可以使用 hist 和 subsets 查询来重写算法,避免直接揭示数据点的划分。具体步骤如下:
1.
计算每个集合中的点数
:$(s_1, …, s_k) \leftarrow hist_q(p_1, …, p_n)$
2.
计算每个集合中的点的总和
:$(m_1, …, m_k) \leftarrow subsets_{q,g}(p_1, …, p_n)$
3.
更新每个均值
:对于 $1 \leq j \leq k$,$c’_j \leftarrow \frac{m_j}{s_j}$
最后,我们用添加了拉普拉斯,以下是 mermaid 格式的流程图展示 k - 均值聚类的隐私保护流程:
graph TD;
A[输入数据点和中心] --> B[计算每个集合中的点数];
B --> C[计算每个集合中的点的总和];
C --> D[更新每个均值];
D --> E[添加拉普拉斯噪声];
E --> F[输出聚类结果];
-
SVD 和 PCA :许多数据挖掘算法将数据点视为矩阵,并分析矩阵的特征向量。以奇异值分解(SVD)为例,我们可以通过向矩阵 $A^TA$ 的近似值添加拉普拉斯噪声来保护隐私。具体算法如下:
- 近似 $A^TA$ :$B \leftarrow \sum_{i} p_ip_i^T + Y$,其中 $Y \sim Lap(4\gamma^2)$
- 计算 $B$ 的前 $k$ 个特征向量
主成分分析(PCA)是一种相关技术,通过类似的分析可以得到保护隐私的 PCA 算法。
- 统计查询模型中的学习 :统计查询模型假设存在一个潜在的概率分布,学习算法通过反复调用统计查询来学习概念。我们可以将统计查询模型中的算法转换为保护 $\epsilon$-隐私的版本。具体步骤如下:
1. 检查查询是否可以在不泄露隐私的情况下准确计算 :设置 $\epsilon’ \leftarrow \frac{\ln(\frac{1}{\delta’})}{\tau n}$,如果 $\epsilon < \epsilon’$ 则停止。
2. 回答查询 :回答 $\frac{sum_p + Y}{n}$,其中 $Y \sim Lap(\frac{1}{\epsilon’})$
3. 更新分配的隐私参数 :设置 $\epsilon \leftarrow \epsilon - \epsilon’$可以证明,如果样本数量足够大,那么通过这种方式可以在保护 $\epsilon$-隐私的同时进行学习。
通过这些示例,我们展示了如何将各种算法转换为保护隐私的版本,同时保持其准确性。在实际应用中,这些技术可以帮助我们在处理敏感数据时更好地保护个人隐私。
8. 超越基础:近期技术
虽然定理能直接为多种低全局敏感度的函数生成简单的输出扰动清理器,但在某些情况下,它无法直接应用。例如,查询函数的全局敏感度与函数值相比不低、难以分析或计算,或者函数的范围不适合自然度量。之前我们介绍了通过将复杂功能用简单、不敏感的函数表示来解决这些问题的技术,接下来将回顾一些近期用于创建保护 $\epsilon$-隐私算法的技术。
8.1 基于实例的噪声与平滑敏感度
定理考虑的是查询函数的全局(最坏情况)敏感度,但对于许多有趣的函数,最坏情况敏感度高是因为实际中不常出现的实例。以中位数函数为例:
-
中位数函数的全局敏感度
:设 $x_1, …, x_n$ 是来自有界区间 $[0, 1]$ 的实数,假设 $n$ 为奇数且 $x_1 \leq x_2 \leq … \leq x_n$,则 $med(x) = x_{\frac{n + 1}{2}}$。考虑 $x_1 = … = x_{\frac{n + 1}{2}} = 0$ 且 $x_{\frac{n + 1}{2} + 1} = … = x_n$ 的情况,将 $x_{\frac{n + 1}{2}}$ 设为 1 时,中位数从 0 变为 1,所以 $GS_{med} = 1$。应用定理会导致噪声幅度为 $\frac{GS_{med}}{\epsilon}$,在 $\epsilon$ 较小时,会完全破坏信息。
-
局部敏感度的尝试与失败
:尝试考虑局部敏感度 $LS_f(x) = \max_{x’:dist_H(x,x’) = 1} |f(x) - f(x’)|
1$,对于中位数函数,$LS
{med}(x) = \max{x_{\frac{n + 1}{2}} - x_{\frac{n + 1}{2} - 1}, x_{\frac{n + 1}{2} + 1} - x_{\frac{n + 1}{2}}}$。但以某些输入为例,使用局部敏感度添加噪声无法满足 $\epsilon$-隐私定义,因为噪声与实例 $x$ 相关,可能导致信息泄露。
-
平滑敏感度的定义
:为防止这种信息泄露,定义了平滑敏感度。$\epsilon$-平滑上界 $S_f(x)$ 需满足 $S_f(x) \geq LS_f(x)$ 对所有数据库 $x$ 成立,且 $S_f(x) \leq e^{\epsilon}S_f(x’)$ 对所有邻居数据库 $x, x’$ 成立。最小的 $\epsilon$-平滑上界称为 $\epsilon$-平滑敏感度,$S_f^*(x) = \max_{x’ \in D^n} {LS_f(x’) \cdot e^{\epsilon \cdot dist_H(x,x’)}}$。
8.2 样本聚合框架
样本聚合框架是创建查询函数 $f$ 的“平滑”版本 $\overline{f}$ 的通用技术。假设 $f(x)$ 可以在从 $x_1, …, x_n$ 中抽取的随机样本上得到很好的近似,函数 $f$ 在多个随机样本上进行评估,结果 $f(S_1), …, f(S_t)$ 通过聚合函数 $g$ 组合:$\overline{f} = g(f(S_1), …, f(S_t))$。
为保护隐私,只需添加幅度取决于聚合函数 $g$ 平滑敏感度的噪声。例如,假设每个条目恰好出现在一个样本中,单个条目 $x_i$ 的变化只影响 $g$ 的一个输入,即使 $f(S_j)$ 的变化显著,添加与 $g$ 的平滑敏感度成比例的噪声也能掩盖它。
该技术的关键在于找到好的聚合函数,即其输出(加上所需噪声)能忠实地表示 $f(S_1), …, f(S_t)$。例如,当 $f(S_1), …, f(S_t)$ 集中时,聚合结果应接近聚类中心,且噪声水平应较低。同时,希望 $g$ 及其平滑敏感度能高效计算,文献中提出了满足这些要求的“关注中心”聚合函数。
样本聚合技术已应用于 Lloyd 算法和学习 $k$ 个球形高斯分布混合参数的问题,当数据由来自该分布的多项式数量的独立同分布样本组成时。
8.3 通用清理机制
McSherry 和 Talwar 提出了另一种构建 $\epsilon$-隐私清理器的通用技术。在该技术中,查询函数 $f : D^n → R$ 被替换为得分(或输出质量)函数 $q : D^n × R → R$。例如,对于实值函数,可定义 $q(x, r) = - |f(x) - r|_1$。
定义函数 $q$ 的类似敏感度属性:$\Delta_q = \max_{r} \max_{x,x’:dist_H(x,x’) = 1} q(x, r) - q(x’, r)$。$\epsilon$-隐私清理器以与 $e^{\frac{\epsilon}{2\Delta_q} q(x,r)}$ 成比例的概率选择答案 $r \in R$。
这种清理机制改进了之前的结果,因为它不要求 $f$ 的范围 $R$ 是度量空间,但代价是采样答案 $r$ 可能是非平凡的。
总结
在处理敏感个人信息时,保护隐私至关重要。我们从统计数据库的抽象模型出发,引入了 $\epsilon$-隐私的严格定义,并介绍了根据敏感度校准噪声的基本技术,该技术可用于构建保护隐私的清理器。对于低全局敏感度的函数,能相对准确地发布查询结果。同时,通过将简单函数组合,可将各种算法转换为保护隐私的版本,如 k - 均值聚类、SVD、PCA 和统计查询模型中的学习算法。
近期的技术如基于实例的噪声与平滑敏感度、样本聚合框架和通用清理机制,进一步扩展了保护 $\epsilon$-隐私算法的适用范围,解决了全局敏感度难以处理的问题。这些技术为在实际应用中处理敏感数据提供了强大的工具,有助于在保护个人隐私的同时,从数据中获取有价值的信息。
未来,随着数据量的不断增加和隐私需求的提高,隐私数据分析领域将继续发展。可能会有更多高效、实用的隐私保护技术出现,以应对各种复杂的场景和挑战。同时,如何在保护隐私的前提下提高算法的性能和效率,也是需要进一步研究的方向。
以下是一个 mermaid 格式的流程图,展示了从数据输入到隐私保护分析的整体流程:
graph LR;
A[数据输入] --> B[查询函数选择];
B --> C{全局敏感度可分析?};
C -- 是 --> D[根据全局敏感度添加噪声];
C -- 否 --> E{可表示为简单函数?};
E -- 是 --> F[组合简单函数并添加噪声];
E -- 否 --> G[选择近期技术];
D --> H[输出结果];
F --> H;
G --> H;
通过这些技术和方法,我们可以更好地平衡数据利用和隐私保护之间的关系,为社会的可持续发展提供有力支持。
超级会员免费看
438

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



