20、个性化隐私保护:原理、算法与挑战

个性化隐私保护:原理、算法与挑战

在数据隐私保护领域,传统方法往往对微数据中的所有元组施加相同程度的隐私控制。然而,不同个体对隐私保护的需求存在差异,例如流感患者和艾滋病患者对隐私保护的要求显然不同。因此,个性化隐私保护应运而生,它允许根据数据所有者的偏好对不同元组应用不同程度的保护。

1. 个性化隐私保护的背景与动机

传统的隐私保护原则,如 k - 匿名性和 l - 多样性,对微数据中的所有元组施加相同的隐私保护程度。这种“通用”标准可能导致对某些元组保护不足,而对其他元组过度保护,从而降低了数据集的实用性。

以 k - 匿名性为例,我们可以允许每个人选择一个定制的 k 值,以表示包含其元组的准标识符(QI)组应具有的最小大小。但这种方法仍存在局限性,无法满足更复杂的隐私偏好。

2. 基于“守护节点”的个性化隐私保护

为了弥补传统方法的不足,引入了“守护节点”方法。该方法需要一个关于敏感属性的分类法,个人偏好通过分类法中的节点来表达。

例如,在一个包含年龄、性别、邮政编码和疾病等属性的微数据集中,疾病为敏感属性。对于某个元组,如安迪的记录,他可以指定“胃部疾病”作为守护节点,这意味着任何人都不能有把握地推断他患有该节点子树中的任何疾病(如胃溃疡、消化不良或胃炎)。而琳达可能认为流感是常见疾病,愿意公开其诊断结果,因此她可以将守护节点指定为空集。

2.1 个性化匿名性的形式化
  • 属性分类 :将关系 T 中的属性分为四类:标识符属性 Ai(发布时必须移除)、敏感属性 As(值可能为机密)、d 个准标识符(QI)属性 Aqi1, …, Aqid(值可发布但可能泄露个人身份)和其他无关属性。
  • 个人隐私要求
    • As 子树 :对于分类法中的任何节点 x,其对应的子树记为 SUBTR(x)。
    • 守护节点 :对于元组 t,其守护节点 t.GN 是分类法中从根节点到 t.As 的路径上的一个节点。如果对手认为关联 {o, v1}, …, {o, vx}(其中 v1, …, vx 是 SUBTR(t.GN) 中的叶子值)存在于 T 中,则认为 t.GN 的隐私要求被违反。
    • 违规概率 :元组 t 的违规概率 Pbreach(t) 是对手从 T ∗ 推断出关联 {o, v1}, …, {o, vx} 存在于 T 中的概率。发布的表 T ∗ 应保证对于所有 t,Pbreach(t) 不超过系统参数 pbreach。
  • 泛化
    • 分区与通用域 :如果属性 A 是数值型,分区是 A 域中的连续区间;否则,分区由分类法中某个节点的子树中的所有叶子组成。A 的通用域是一组不相交的分区,其并集构成 A 的原始域。
    • 泛化函数 :属性 A 的通用域唯一决定一个泛化函数。给定 A 原始域中的一个值 v,该函数返回通用域中包含 v 的唯一分区,该分区即为 v 的泛化值。
    • 泛化步骤 :泛化分为两步。第一步是 QI - 泛化,为每个 QI 属性选择一个泛化函数,得到泛化后的元组,并将其划分为 QI 组。第二步是 SA - 泛化(敏感属性泛化),为每个 QI 组选择一个定制的泛化函数,以减少信息损失。
2.2 隐私攻击的组合过程

考虑一个试图从 T ∗ 推断个体 o 敏感数据的对手。在最坏情况下,对手拥有 o 的所有 QI 值。对手会检查 T ∗ 中那些 QI 值覆盖 o 的 QI 值的元组,这些元组构成一个 QI 组,即基本 QI 组 EG(o)。

对手需要借助外部数据集来推导 Sreal(o)(T 中被泛化为 EG(o) 的个体集合),并得到一个可能与 EG(o) 相关的外部个体集合 Sext(o)。

根据 T.Ai 是否为主键,分为两种情况:
- 主键情况 :每个个体在 T 中最多有一个元组。一个可能的重建包括 m 个不同的人 o1, …, om(构成 Sext(o) 的子集)和 m 个叶子敏感值 v1, …, vm(vj 属于 SUBTR(t∗j.As))。
- 非主键情况 :每个个体可以在 T 中出现任意次数。一个可能的重建包括一个个体的多重集 {o1, …, om}(可能有重复)和 m 个叶子敏感值 v1, …, vm(vj 属于 SUBTR(t∗j.As))。

2.3 违规概率的推导

通过以下公式计算元组 ttar 的违规概率:
[Pbreach(ttar) = \frac{nbreach}{nrecon}]
其中 nrecon 是可能重建的总数,nbreach 是违反 ttar.GN 隐私约束的重建数量。

对于主键情况和非主键情况,分别有以下定理:
- 主键情况
[Pbreach(ttar) =
\begin{cases}
\frac{b}{n} & \text{如果 } t^ _{tar}.As \text{ 在 } SUBTR(ttar.GN) \text{ 中} \
\frac{b \cdot c}{n} & \text{否则}
\end{cases}
]
-
非主键情况
[Pbreach(ttar) =
\begin{cases}
1 - (1 - \frac{1}{n})^b & \text{如果 } t^
_{tar}.As \text{ 在 } SUBTR(ttar.GN) \text{ 中} \
1 - (1 - \frac{c}{n})^b & \text{否则}
\end{cases}
]

3. 泛化算法

为了计算一个满足所有守护节点要求且信息损失小的泛化表 T ∗,提出了以下算法。

3.1 贪婪框架

泛化方案包括两个步骤:QI - 泛化和 SA - 泛化。贪婪算法的步骤如下:
1. 为每个 QI 属性初始化一个泛化函数,该函数包含一个覆盖整个属性域的分区。
2. 对 T 进行 QI - 泛化,得到一个单一的 QI 组。
3. 对该 QI 组进行 SA - 泛化,得到一个可发布的 T ∗。
4. 后续执行按轮进行,每轮对一个泛化函数进行一次细化,得到一个信息损失更低的新 T ∗。
5. 细化泛化函数:对于数值属性,将一个分区拆分为两个;对于分类属性,根据分类法进行拆分。
6. 检查所有可能的细化函数集,选择信息损失最小的 T ∗。
7. 如果没有找到更好的解决方案,则算法终止;否则,继续下一轮。

3.2 最优 SA - 泛化

对于任意 QI 组 G′,目标是应用 SA - 泛化得到 G∗,满足两个目标:
- 保证 Pbreach(tj) ≤ pbreach(1 ≤ j ≤ m)。
- 最小化 (\sum_{j = 1}^{m} ILvalue(t^*_{j}.As)),其中 ILvalue 表示泛化过程中的信息损失。

算法步骤如下:
1. 初始化集合 G 和 G∗,G 收集 T 中被泛化为 G′ 的所有元组,G∗ = G′。
2. 创建集合 Sprob,包含那些守护节点不在其他元组守护节点子树中的元组。
3. 计算 Sprob 中每个元组的 Pbreach(t),如果 Pbreach(t) > pbreach,则将 t 放入集合 Sbad。
4. 对于 Sbad 中的每个元组 t,将其对应的 t∗.As 设置为 t.GN 的父节点。
5. 如果 t∗.As 成为其他元组 t′∗.As 的祖先,则将 t′∗.As 也泛化为 t∗.As。
6. 重复上述步骤,直到 Sprob 中所有元组的 Pbreach(t) 不超过 pbreach。

4. 其他形式的个性化隐私保护

除了“守护节点”方法,还有其他形式的个性化隐私保护:
- k - 匿名性的扩展 :允许每个元组的所有者选择一个定制的 k 值,以表示该元组所在的 QI 组应具有的最小大小。目标是找到一个满足所有所有者要求并最小化泛化程度的 T ∗。
- 位置隐私保护中的个性化 :在位置隐私保护中,采用隐身技术,包括空间隐身和时间隐身。Gedik 和 Liu 提出了一种个性化方法,允许每个个体为每个时空位置指定一个定制的 k 值和一个隐身盒的大小限制。

以下是一个简单的 mermaid 流程图,展示了基于“守护节点”的个性化隐私保护的主要流程:

graph LR
    A[数据收集] --> B[定义属性分类]
    B --> C[确定守护节点]
    C --> D[进行泛化(QI - 泛化和 SA - 泛化)]
    D --> E[对手分析(确定基本 QI 组和外部个体集合)]
    E --> F[计算违规概率]
    F --> G[判断是否满足隐私要求]
    G --> |是| H[发布数据]
    G --> |否| D

综上所述,个性化隐私保护是数据隐私领域的一个重要研究方向。基于“守护节点”的方法为实现个性化隐私保护提供了一种有效的解决方案,但仍存在一些挑战,如在非分类属性上的应用、自动确定守护节点等问题,需要进一步研究和探索。

个性化隐私保护:原理、算法与挑战(下)

5. 个性化隐私保护面临的挑战与未来方向

尽管个性化隐私保护在实践中具有重要意义,但目前该领域仍面临诸多挑战,存在许多有待探索的研究方向。

5.1 表达灵活性不足

“守护节点”方法存在明显的缺点,即个人无法针对任意一组敏感值提出保护请求。例如,假设某人希望防止公众将自己与肺炎和支气管炎联系起来,他必须将守护节点设置为“呼吸道感染”,这会额外禁止将他与流感联系起来。这种额外的关联虽然对隐私无害,但会导致发布关系中不必要的数据失真。如果个人希望保护自己不被怀疑患有分散在分类法中相互远离部分的疾病,问题会更加严重。

5.2 非分类属性的处理

“守护节点”方法要求敏感属性具有层次结构,但数值和事务性数据通常缺乏或难以定义层次结构。

  • 数值数据 :以政府发布税务数据为例,涉及数值型的私人属性(月)工资。纳税人除非知道自己的收入不能被分析师“准确”推导出来,否则不愿意公开收入。为了实现个性化保护,可将工资转换为分类属性并手动构建层次结构,但构建层次结构并非易事。例如,将工资域离散化为 1000 个长度为 100 的范围,没有层次结构能够保留所有相邻范围对的接近性。
  • 事务性数据 :在数据库中频繁进行项集挖掘时,事务性数据会经常出现。例如,亚马逊收集的元组可能包含“年龄 = 30,性别 = 女性,送货地址 = …,购买的商品 = {东芝 42HP66 高清电视,多尔切 5 件餐具套装,…}”。为了进行市场研究,公司在向第三方发布此类元组时,需要确保充分保护客户的购买历史。不清楚如何扩展“守护节点”技术以允许在这种环境中表达个人偏好,因为隐藏单个项目可能会导致关于它们组合的大量信息丢失。
5.3 自动守护节点制定

期望每个个体提供适当的隐私约束可能不现实。例如,过去收集的医疗记录可能没有个人偏好,联系所有所有者提交偏好可能不切实际。在某些应用中,向客户询问隐私约束可能会产生负面影响。如果没有个人偏好,可以将守护节点设置为敏感值本身,但一个好的隐私保护解决方案应该能够自动识别“罕见”的敏感值,并为它们提供更强的保护。然而,由于各种属性之间的相关性,实际情况要复杂得多。

5.4 替代形式的个性化

目前主要使用“守护节点”作为指定个性化要求的主要手段,但这并非唯一方式。一个好的表达方式应基于不同应用中涉及的个人需求,开发新形式的个人约束。特别关注禁止分析师发现敏感数据模式(如关联规则、决策树、聚类等)的约束。

6. 总结

个性化隐私保护是数据隐私领域的重要研究方向,旨在根据数据所有者的偏好对不同元组应用不同程度的保护。以下是对前面内容的总结表格:
| 方法 | 原理 | 优点 | 缺点 |
| — | — | — | — |
| 基于“守护节点”的方法 | 通过敏感属性分类法中的节点表达个人偏好,进行泛化以满足隐私要求 | 能处理复杂隐私偏好 | 表达灵活性不足,对非分类属性处理困难 |
| k - 匿名性的扩展 | 允许每个元组所有者选择定制的 k 值 | 简单直接 | 可能导致过度泛化 |
| 位置隐私保护中的个性化 | 允许个体为时空位置指定定制的 k 值和隐身盒大小限制 | 适应位置隐私保护场景 | 受数据实时性和动态性影响 |

7. 未来展望

未来,为了克服当前个性化隐私保护面临的挑战,可以从以下几个方面进行研究:

7.1 增强表达灵活性

开发新的隐私偏好表达机制,允许个人更灵活地指定保护的敏感值集合,避免不必要的数据失真。

7.2 处理非分类属性

探索适用于数值和事务性数据的隐私保护方法,无需依赖层次结构或开发有效的层次结构构建方法。

7.3 自动守护节点制定

研究基于数据统计特征和属性相关性的自动守护节点制定算法,为个体提供合适的隐私保护。

7.4 开发新的个性化形式

根据不同应用的需求,设计新的个性化约束,禁止发现敏感数据模式。

以下是一个 mermaid 流程图,展示了未来个性化隐私保护研究的主要方向:

graph LR
    A[个性化隐私保护现状] --> B[增强表达灵活性]
    A --> C[处理非分类属性]
    A --> D[自动守护节点制定]
    A --> E[开发新的个性化形式]
    B --> F[未来解决方案]
    C --> F
    D --> F
    E --> F

总之,个性化隐私保护虽然已经取得了一定的进展,但仍有许多问题需要解决。通过不断的研究和创新,有望开发出更加完善的个性化隐私保护解决方案,满足不同用户的隐私需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值