数据仓库中的隐私保护机制
隐私保护数据仓库
1 引言
数据集成市场的强劲增长表明,企业正在持续将数据整合到数据仓库中,以提高可用性并创造附加值(IDC公司,2012年)。由于数据仓库通常存储客户信息或销售洞察等敏感信息,因此可能成为隐私攻击的潜在目标。此类攻击的影响可能非常严重。2011年,索尼PlayStation网络发生隐私泄露事件,导致7700万用户的敏感用户数据被披露,包括信用卡信息(贝克和芬克尔,2011年);2013年,市场数据提供商彭博无意间允许记者访问受限客户数据(鲁什,2013年)。除了外部对手和无意发布的数据外,员工也对公司数据构成潜在威胁。此外,即使数据未被窃取或无意发布,也可能泄露敏感信息。由于此类隐私泄露事件,个人数据隐私日益引起公众关注,并促使欧洲数据保护机构推动针对个人数据处理的更严格立法(联邦数据保护与信息自由专员,2013年)。因此,越来越多的企业认识到数据隐私是一个战略问题(IDC公司,2011年,2013年),而数据保护已成为企业IT战略的关键议题。
数据匿名化似乎是减轻内部数据盗窃影响并避免在已发布数据集中进行推断的合理方法。然而,研究表明,诸如抑制直接识别信息等直观的数据匿名化方法并不足以保证匿名性,因为存在多种方法可以绕过此类机制。因此,在过去的几十年中,人们开发了多种机制以生成能够保证特定级别数据隐私的匿名化数据集。然而,大多数方法基于理想化的数据管理假设,并未涵盖数据仓库的场景。因此,这些机制在数据仓库中的应用仍然是一个开放的研究问题。
本文将研究匿名化方法如何应用于数据仓库场景。目标是识别在数据仓库中与数据隐私相关的关键流程步骤,并通过采用现有的隐私概念提供管理这些步骤的架构替代方案。由于数据仓库主要用于进行数据分析,因此将评估架构设计决策对数据效用的影响。分析现有方法在数据仓库中应用的可能性与局限性。此外,本研究还将重点关注基于匿名化的数据隐私机制,这些机制可与访问控制(法比安等人,2012年)及其他传统安全措施(法比安等人,2013年)结合使用。
本文结构如下。首先,在第2节中讨论了与数据仓库中的安全与隐私这一总体研究领域相关的相关工作。第3节介绍了数据库匿名化的基本概念以及该特定领域的相关工作,包括数据脱敏机制、效用度量、针对静态和动态数据的可能攻击模型,以及用于保护数据隐私的隐私准则。第4节深入探讨了不同的数据仓库架构,将识别并举例说明与隐私问题相关的关键流程步骤,并随后提出管理这些过程步骤的可能方法。第5节基于一个模拟不同示例的原型,评估各种设计参数对数据效用的影响。
2 相关工作
数据仓库是许多商业及其他组织中决策支持的重要基础,相应的组织和技术规划过程以及正确架构的选择涉及诸多实际挑战(Ariyachandra 和 Watson,2010)。特别是,在面对复杂的攻击者和异构的攻击向量时,为包含机密内容的此类集成数据存储建立信息安全问题是一项挑战,尤其是在数据与多个组织(如合作伙伴公司或分包商)进行集成和共享的情况下(Kunz 等人,2011;Sarathy 和 Muralidhar,2006)。在此类环境中,传统的访问控制机制(Kunz 等人,2010b)不仅需要适应数据仓库的多维模型(Fernández‐Medina 等人,2006),还需进一步演进以应对联邦环境(Evdokimov 等人,2009)以及语义数据存储(Kunz 等人,2010a;法比安等人,2013)、内存数据库(Loos 等人,2011a,2011b)和基于RFID的信息交换(Evdokimov 等人,2011)等新技术。
除了访问控制之外,还需要进一步的保密和隐私保护机制,这一点在引言中提到的安全漏洞示例已有所体现。在此方面,如果分析设施可信,隐私保护数据挖掘(Agrawal 和 Srikant,2000年;Zhu 等,2009年)可以提升个体数据主体的隐私。然而,只有数据净化(Amiri,2007年)能够在面对潜在恶意的数据仓库提供者或数据使用者时,仍提供有效的隐私保护措施。数据净化的一个重要研究领域是匿名化,第3节将对此提供详细的文献回顾。据我们所知,数据仓库环境中匿名化的挑战与权衡在现有文献中尚未得到充分关注。本文正是基于这一研究空白而展开。
3 匿名化过程与措施
3.1 匿名化基础与过程
如图1所示,数据库中的隐私保护典型场景包括三个阶段——收集、匿名化和发布。

收集阶段的目的是收集数据(1)并将其转换为可用于数据分析的格式(2)。通常,所收集的原始数据包含敏感信息。因此,数据发布者必须采取措施防止这些信息发生隐私泄露。这通常通过匿名化来实现(3)。根据Cox(1980)、达莱尼乌斯(1986)和Fung等(2010)的观点,匿名化可被定义为一种转换数据的过程,旨在隐藏每条记录所有者的身份,同时假设必须保留敏感属性值。下一步,将匿名化数据集发布给数据用户(4)。在发布之前,数据发布者必须决定向数据用户授予何种类型的访问权限。原则上,可以区分为完全访问发布,即整个数据集对数据接收者可用,以及仅允许受限查询的基于查询的方法(陈等人,2009年)。
在非受信发布者模型中,数据发布者可能会试图从数据集中提取敏感信息(格赫克,2006年)。因此,在将数据提供给发布者之前必须保护敏感信息,因为发布者可能成为潜在的攻击者。相比之下,受信发布者模型假设在一个安全环境中存在一个可信的数据发布者。这为确保数据隐私提供了新的可能性,因为数据发布者可以对原始数据进行操作。在数据集成场景中,这两种模型都是现实可行的。例如,在单一公司内部进行的集成项目更可能采用受信数据发布者模型,而跨公司集成项目则可能倾向于使用非受信模型。
此外,数据发布者可以选择发布聚合数据或非聚合数据(陈等人,2009年)。非聚合数据提供关于个体(联合国统计委员会和欧洲经济委员会,2000年)(例如个人、产品或部门)的详细信息,也称为微观数据。微观数据表中的每一行通常代表给定总体中的一个个体单位,每一列包含个体某个属性的值。根据达莱尼乌斯(1986),微观数据表包含以下类型的属性:标识符属性包含明确识别记录所有者的信息,例如社会保障号码或姓名。准标识符属性在组合时可能识别记录所有者,例如性别、年龄和邮政编码。数据集中的准标识符组(QI‐groups)是指在准标识符上具有相同取值的元组子集。敏感属性表示需要防止隐私泄露的敏感个体信息,例如疾病或工资。非敏感属性既不包含识别信息,也不包含其他需要保护的信息,例如元数据。
根据数据的预期用途,数据发布者要么提供整个数据集,要么仅允许在不泄露数据的情况下对数据进行查询。在前一种情况下,数据发布者必须以满足隐私目标的方式对数据进行匿名化处理。然而,仅仅抑制标识属性是不够的,因为攻击者可能会利用准标识符属性来识别代表个体的记录。因此,数据发布者必须应用第3.4节中介绍的高级技术。基于查询的方法,例如SQL查询或统计查询(邓宁等人,1979年),需要施加限制以确保个体的隐私(邓宁和施勒勒,1980年)。聚合数据通常以列联表的形式提供,其中包含有关属性组合频率的计数信息,并被用于统计机构用于发布微观数据的统计信息(Citteur 和 Willenborg,1993)。在数据集成系统中,数据发布者通常使用微观数据表进行灵活的数据处理,并避免因聚合而导致的数据丢失(Leser 和 Naumann,2007)。
3.2 匿名化的机制和准则
数据发布者通常必须管理两个根本上相互矛盾的目标。一方面,数据用户希望获得尽可能详细的数据以实现良好的效用;另一方面,个体的隐私必须得到保护,而这通常会导致一定程度的信息损失。为了评估和管理隐私与效用之间的权衡,数据发布者可以利用净化机制、隐私准则和效用度量。净化机制会降低数据集的精度(陈等人,2009年)。它被应用于原始数据集,并将其转换为匿名数据。净化机制包括属性值的抑制、泛化和交换,以及更高级的技术,如解剖化(Xiao 和 Tao,2006)、添加噪声或合成数据,或多视角发布。
隐私准则定义了脱敏数据集必须满足的属性,以保证特定级别的数据隐私。满足特定隐私标准的脱敏数据集被称为发布候选。隐私标准的定义大多与攻击模型相关,因为攻击者的背景知识会显著影响对数据去标识化的要求。隐私准则只能保证特定级别的隐私。例如,如果某项隐私标准要求至少三个元组具有相同的准标识符属性值但敏感值不同,则即使攻击者掌握准标识符值的相关知识,也无法识别出特定个体的记录。然而,此类攻击者仍可能将个体的疾病限制在三个可能的取值范围内。为了量化匿名化数据集的效用,效用度量用于衡量去标识化所造成的信息损失。当多个发布候选满足某一隐私准则时,效用度量将成为选择最有效候选的合适工具。
3.3 动态数据集的隐私保护
文献中讨论的大多数攻击模型都假设数据集是静态的。对于数据仓库而言,这一假设并不合理,因为数据集可能随时间发生变化,源可能变得不可用,或者有新的源提供额外信息。这些数据集上的变化扩展了攻击者推断敏感信息的能力,因为信息可以在不同发布版本之间进行关联。现有文献区分了动态数据集的不同应用场景,这些场景在允许的操作和攻击者的背景知识方面具有不同的特性。多版本发布涉及数据发布者提供同一数据集的不同经脱敏处理的投影的应用场景。由于攻击者可能能够将不同发布版本之间的信息进行关联,从而对隐私构成威胁。然而,在不同发布版本之间,底层微观数据的元组保持不变。顺序发布处理的是在微观数据上执行插入和/或删除操作的场景。因此,底层数据在每次发布之间有所不同。协作式数据发布描述了多个数据发布者提供不同数据片段以整合成单一数据集的情形。其目标是确保任何数据发布者应能够推断出比其自身数据和最终集成数据集(Fung 等,2010)中所包含的更多信息。原始数据集保持稳定。多版本发布和协作式数据发布不涵盖微观数据发生变更的情况。因此,如果数据需要或可能发生更改,数据发布者必须采用顺序发布发布技术以保护隐私。基于此,我们接下来将重点关注顺序发布。
除了适用于静态数据集的所有攻击模型外,动态数据集还可能成为顺序攻击的目标。一种直观的攻击动态数据的方法是通过一系列发布来比较个体的属性值(泛化链接攻击)。如果记录在不同发布中被不同程度地泛化,则对于每个属性和每个元组,攻击者可以选择更少泛化的值。因此,攻击者可以关联多个发布中的信息,从而获得有关个体准标识符值的更详细信息。在所谓的排除攻击中,攻击者掌握有关哪个发布包含哪些元组的背景知识,并能够通过比较不同的发布来排除可能的敏感属性值。通过对一个元组在一系列发布中所属各个QI组的敏感属性值进行交集运算,攻击者可推断出该元组的敏感属性值。对于最近添加的元组,攻击者会利用之前的元组来排除敏感属性值。集合论攻击扩展了排除攻击模型中的方法,表明即使攻击者仅知道某个个体的准标识符属性值以及其元组被插入时的发布表,简单的集合论方法也能使其揭示敏感信息。关键缺失攻击需要关于至少一个元组生命周期的背景知识,这是一个现实的假设。由于攻击者只需跟踪一条记录在其整个生命周期内的变化,因此该攻击易于实施。当对数据集执行删除操作时,此攻击是一种提取敏感信息的有效技术。
先前考虑的攻击旨在将一组敏感属性值与某个个体相关联。与这些方法不同,值等价攻击中,攻击者试图确定两个元组的多重集是否关联到同一组敏感属性值(He 等,2011)。此类攻击为攻击模型集合提供了新的视角,因为攻击者利用个体之间的依赖关系来推断敏感信息。如果数据发布者提供了数据集样本,或数据集的部分内容在其他源中可获得,则此类攻击将成为对数据隐私的显著威胁。可能世界排除攻击代表了另一种在某些值可能发生改变但特定元组的敏感值保持不变的情况下(例如不治之症或犯罪记录)攻击隐私的可能性。此类攻击通过假设个体与其敏感值之间的关联来进行:如果通过脱敏表序列能够建立这种关联,攻击者便可推断出额外信息(Bu 等,2008)。可能世界排除攻击遵循试错法原则,因此相较于其他攻击模型,该攻击伴随着高计算成本。此外,它要求在一系列发布中某些敏感值始终与对应的个体保持关联。最后,当敏感值之间存在相关性且可能发生改变时,背景知识攻击成为可能。此时,攻击者可以利用关于敏感值的一般背景知识以及由敏感值变化所产生的序列化背景知识来破坏隐私(Riboni 等,2012)。
3.4 顺序发布的隐私标准
存在一些直观方法来保护顺序发布发布中的数据。一种可能的想法是单独对新记录进行匿名化并发布(Byun 等,2006)。然而,这种方法的主要缺点是发布结果会过度泛化。来自不同更新的元组无法合并形成更具体的准标识符组。因此,该方法的数据效用较差。另一种方法是应用针对静态数据集的隐私准则,但如第3节所示,这种方法不适合保护个体的隐私。一种管理允许删除操作场景的直观方法是忽略这些删除操作(肖和陶,2007)。然而,这种方法并不适用于某些应用场景,例如当法律法规要求必须执行删除操作时。此外,数据可能会导致错误的推断。例如,某些疾病(如流感疫情)仅在有限的时间段内发生。如果记录未被删除,数据可能会暗示患者患有流感,而实际上并非如此。考虑到这些方法的缺点,显而易见的是,这些机制要么不适合保护隐私,要么存在数据效用差的问题。为应对这一挑战,文献中已提出了若干重要概念。
第一个概念,针对更新的k-匿名性,由裴等(2007)提出,作为一种隐私准则,旨在通过增量更新维持k‐匿名性(萨马拉蒂和斯威尼,1998;萨马拉蒂,2001),以防范泛化链接攻击。k‐匿名性的定义如下:给定一个包含准标识符属性q1,…, qn的数据集T;如果每种q1,…, qn属性值的组合在T中至少出现k次,则称该数据集为k‐匿名的。针对更新的k‐匿名性的核心思想是避免在一系列发布中采用不同的泛化方式,以防止攻击者通过比较不同发布推断出某条记录的准标识符属性。尽管该方法能保证一系列发布中的k‐匿名性,但在隐私保护方面仍存在若干弱点。首先,k‐匿名性容易受到针对敏感属性值的攻击,例如同质性攻击(马查纳瓦贾哈等,2007)。其次,该方法在背景知识方面的攻击模型假设较弱,例如假设攻击者不知道哪个发布包含哪些记录。此外,该准则仅限于仅插入场景。另一方面,与其他连续发布场景中的隐私准则相比,其计算成本较低。
第二个概念以 l‐多样性(马查纳瓦贾哈等,2007)作为基础。与 K‐匿名性不同,l‐多样性考虑了准标识符组中的敏感属性值。尽管 K‐匿名性可能受到同质性或背景知识攻击的影响,但 l‐多样性通过在准标识符组内强制要求不同的敏感属性值来扩展 K‐匿名性(马查纳瓦贾哈等,2007)。形式上,若一个准标识符组 q 包含至少 l 个被充分代表的敏感属性 S 的值,则称该组为 l‐多样。如果数据集 T 中每个准标识符组都是 l‐多样,则该数据集满足 l‐多样性。此定义对于“被充分代表”的确切含义仍具有一定的灵活性。一种直接的选择是每个准标识符组必须包含至少 l 个不同的敏感属性值。增量-l-多样性(Byun 等,2006)是一种更新机制,用于防止在仅更新场景下发生排除以及集合论攻击。假设攻击者掌握准标识符属性的信息,并知道哪些个体被包含在哪些发布表中。其基本思想是仅当新元组的插入不会损害现有元组的隐私时,才允许插入。因此,等待列表会临时存储无法插入的元组(Byun 等,2006)。该方法的主要优点是计算成本低,并且相比针对更新的k‐匿名性具有更高的隐私级别。然而,它并未涵盖允许删除或更新操作的场景。
第三个概念,m-不变性(肖和陶,2007),在允许插入和删除操作的场景中保证隐私。假设攻击者掌握每个元组的准标识符属性值,以及知道哪些发布包含哪些元组。缺失的敏感值使得攻击者能够实施关键缺失攻击(肖和陶,2007)。相应地,m‐不变性的基本思想是通过在其生命周期内保持元组的QI组的签名不变来避免此类攻击,其中QI组q的签名是不同敏感值的集合。为了记录元组的生命周期,脱敏表序列 l l 0 n,…,T T中的每个元组t都增加了一个时间戳属性。广义历史并集Un 包含所有发布时间的所有带时间戳的元组。此外,肖和陶(2007)定义了m-唯一性,它类似于l‐多样性:如果脱敏表ˆT中的每个准标识符组包含至少m个元组,并且组内所有元组具有不同的敏感值,则称该脱敏表ˆT为m-唯一。然后,m‐不变性定义如下(肖和陶,2007):一个脱敏表序列 l l 0 n,…,TT,其n≥ 1 ,当满足以下两个条件时,称为m-不变:
- l j T 对所有 j ∈[1, n] 均为 m‐唯一
- 对于任意元组 t ∈ Un ,其生命周期为 [x, y], ,qx(t)、qx+1(t)、…、qy(t) 具有相同签名,其中 qj(t) 是 t 在时间 j 的准标识符组。
可以证明,如果脱敏表序列 l0 1 n ˆ, …, T T −是m‐不变的,则当 l nT是m‐唯一且对于任意元组 l 1 ∈− ∩ n ˆ, n tT Tt的准标识符组具有相同签名时,l 0 1 n ˆ, …, ,T T − l nT也将是m‐不变的(肖和陶,2007)。该特性使得数据发布者仅需参考Tn、Tn+1和 l,nT即可生成新的发布表 1 − ˆ, nT,从而显著简化匿名化过程。在某些情况下,维持m‐不变性是不可能的(肖和陶,2007);这可通过使用合成的伪造品元组进行缓解,这些伪造品元组被添加到现有准标识符组中以保持其签名。发布每个准标识符组中伪造品元组的数量对数据隐私没有影响。m‐不变性能防止基于泛化的攻击,例如排除攻击和泛化链接攻击,以及比较敏感值的攻击,如关键缺失攻击或集合论攻击。然而,何等人(2011)指出,m‐不变性无法保护数据免受值等价攻击。此外,在允许更新现有元组值的情况下,它也无法提供适当的保护。
另一个概念应用了基于图的匿名化。在何等人(2011)中,作者还提出了一种基于图的方法来修改和扩展m‐不变性,使得值等价攻击变得不可能。由于m‐不变表已经意味着存在m‐值等价攻击,该方法的目标是防止e‐值等价攻击,其中e < m。为了防止此类攻击,元组不能总是发布在准标识符组中,且每个敏感属性值仅出现一次,因为这些准标识符组通常会暴露对应结构。相反,何等人(2011)提出合并具有相同签名的准标识符组。为了保持数据效用,他们使用解剖化来发布原始的准标识符属性值。然而,这种修改仍不足以保护数据免受e‐值等价攻击。
另一个概念称为HD-组合。布等人(2008)提出了一种泛化技术,将l‐多样性应用于动态数据集。他们假设一种场景,其中个体的准标识符属性值以及大多数敏感属性值可能随时间变化。他们进一步假设,一个个体可与多个敏感值相关联。一旦与某个个体关联后便永远无法解除关联的敏感值被称为永久敏感值;相反,可变的敏感属性则被称为瞬态敏感值。他们还假设攻击者掌握每个个体的准标识符属性值,以及部分个体的生命周期信息。注意,截至目前,我们一直假设攻击者了解所有元组的生命周期。HD‐组合的基本思想是将隐私保护措施集中在具有永久敏感值的元组(称为s持有者)上,因为这些元组会在一系列发布中产生推断。布等人(2008)的方法利用具有瞬态敏感值的元组(称为诱饵)来隐藏s持有者。每个诱饵的目标是隐藏某个特定的永久敏感值。其核心思想是,每个准标识符组必须为每个s持有者包含特定数量的诱饵。布等人(2008)表明,HD‐组合能够有效防御可能世界排除攻击。此外,该方法适用于现有元组属性值可能发生变更的场景。然而,应用此方法的前提是敏感值大致呈均匀分布(Riboni 等,2012)。另一个缺点在于瞬态敏感值无法抵御序列知识的攻击。即使攻击者无法保证现有元组的瞬态敏感值保持不变,他们仍可能对那些很少变化的瞬态值做出某种假设。在这种情况下,瞬态值的隐私无法得到保护。因此,该隐私保护仅适用于特定场景。
最后一个主要概念是里博尼等人(2012)提出的JS-约简。这是一种隐私保护机制,适用于攻击者掌握个体的准标识符属性值、个体与敏感值之间相关性的概率以及敏感值序列的概率的场景。此外,他们假设敏感值会发生变化。JS‐约简准则用于保护数据免受敏感值背景知识攻击。其基本思想是形成在敏感值背景知识方面具有相似分布的元组的准标识符组。在里博尼等人(2012)的研究中,概率分布的相似性通过詹森‐香农散度(林,1991)来衡量。为了保护数据,数据发布者使用敏感值背景知识和序列背景知识来计算后验背景知识。他们进一步计算修正背景知识,直观上即为每个个体与敏感值的组合构建决策树。这些计算用于创建在修正背景知识方面相似的准标识符组。
JS‐约简可以与其他隐私准则(如m‐不变性或l‐多样性)结合使用,因此即使在攻击者具备较强背景知识的假设下,也能提供隐私保障。与HD‐组合不同,即使敏感值并非均匀分布,JS‐约简仍然适用。然而,与其他隐私准则相比,其计算成本非常高,导致实际应用受限。尤其是对于大型数据集。此外,敏感值背景知识攻击需要对数据集内的相关性做出特定假设。这些假设在大多数应用场景中并不成立。因此,数据发布者必须评估是否有必要防范此类攻击。
3.5 进一步的相关研究
文献还提供了一些其他方法来保护多版本发布场景中的数据。基弗和格尔克(2006)表明,发布额外的值组合计数表,例如性别属性值为“男性”且“年龄 < 30”的元组数量,可以提高效用。然而,这些方法也会带来隐私方面的威胁。因此,基弗和格尔克(2006)提出了一种准则,用于判断此类边际是否会导致隐私风险。如果一个数据集之前已存在发布的版本,王和冯(2006)引入了有损连接的概念以生成额外的发布。其基本思想是,将数据集的不同视图进行连接时必须产生不代表真实世界对象的额外元组。泛化必须确保视图之间的连接属性匹配多个记录所有者。目标是即使攻击者掌握了所有发布的版本,也无法通过连接它们来披露隐私。
萨马拉蒂(2001)建议基于先前的发布版本而非微观数据来进行泛化。这导致新版本不会比之前的版本更具体。然而,如果后续版本中的值变得更泛化,则数据效用通常也会下降。如第3.3节所述,协作式数据发布描述了不同数据所有者合并其数据的场景,目标是确保没有数据所有者能从合并数据集中提取出超出所提供信息的知识。王等人(2005)提出了一种两方集成方法,其中双方最初将其数据集泛化到最一般的值,然后双方迭代地对值进行细化,以找到最佳的全局特化。拥有待特化属性的一方将生成的准标识符组的元组ID提供给另一方,另一方也在其数据集中创建这些准标识符组。江和克里夫顿(2005, 2006)为同一问题提出了一个解决方案。在他们的方法中,使用密码技术来交换信息。双方都创建k‐匿名表,然后评估准标识符组之间的交集。如果两个准标识符组的交集包含至少k个元组,则将这两个准标识符组合并将在全局数据集中表示一个准标识符组。为了防止通过交换准标识符组的元组ID造成信息泄露,采用密码学方法来计算准标识符组的交集。
3.6 准则比较
表1 显示了之前讨论的主要隐私准则中,哪些适用于防范何种类型的攻击。由于不同隐私准则和攻击模型对背景知识和数据操作操作的假设可能不同,因此在评估隐私准则的兼容性时,需假设攻击模型场景。表1 还列出了每种隐私准则允许的数据操作操作。
仅考虑表1时,JS‐约简似乎是顺序发布发布中最佳的隐私标准,因为它能提供针对多种情况的广泛保护隐私攻击。然而,数据发布者还需要考虑两个关键方面。首先,不同隐私准则之间的计算成本存在显著差异。例如,JS‐约简需要针对每次发布中的每个元组计算多个概率,而增量‐l‐多样性仅需存储之前的泛化结果。数据发布者必须根据可用资源评估哪些隐私准则可以应用。其次,大多数攻击模型仅适用于特定的数据结构、背景知识和数据操作操作设置。例如,关键缺失攻击只有在对数据执行删除操作时才可能发生。数据发布者需要分析这些攻击模型是否构成实际威胁,或可能不适用于当前的设置。
在多版本发布场景中适用的隐私准则可用于实现数据隐私,尤其是在发布的各版本之间数据集结构发生变化的情况下(例如,添加新的准标识符属性)。然而,这些准则未涵盖对底层数据集的数据操作。适用于连续发布场景的隐私准则能够处理多个发布版本之间的数据操作,但不允许数据结构发生变化。因此,在数据及其结构均可能发生改变的场景中实现隐私保护仍然是一个开放的研究问题。
| 表1 连续发布场景中隐私准则的比较 | 操作 允许 | GLA | EA | STA | CAA | VEA | PWE | SVBK |
|---|---|---|---|---|---|---|---|---|
| K‐匿名性 ag. 更新 | i | √ | × | × | × | × | × | × |
| 增量式 l‐多样性 | i | √ | √ | √ | × | × | × | × |
| m‐不变性 | i/d | √ | √ | √ | √ | × | × | × |
| 基于图的 匿名化 | i/d | √ | √ | √ | √ | √ | × | × |
| HD‐组合 | 插入/删除/更新 | √ | √ | √ | √ | √ | √ | × |
| JS‐约简 | 插入/删除/更新 | √ | √ | √ | √ | √ | √ | √ |
注释:符号说明:GLA =泛化链接攻击,EA =排除,STA =集合论的,CAA =关键缺失,VEA =值等价,PWE =可能世界排除,SVBK =敏感值背景知识;i =插入,d =删除,u =更新。
4 数据仓库架构和隐私保护
4.1 数据仓库架构
数据仓库架构的基本原则是将来自异构源的数据复制到单一数据库中。查询直接在数据库上执行,在查询处理时无需涉及任何源。与虚拟集成相比,这种方法在响应时间方面具有显著优势。在数据仓库内存储数据还支持数据的聚合、操作和清洗。数据仓库也称为在线分析处理(OLAP)系统。其典型特征包括高存储容量、较少但频繁的具有高数据量的复杂分析查询、不对现有记录进行操作、定期批量插入、多维数据模型以及业务重点(鲍尔和根策尔,2004年)。

图2展示了一个典型的数据仓库架构。数据仓库的集成过程被称为提取、转换和加载(ETL)。提取阶段包括从源系统向暂存区提取数据的所有步骤,例如执行导出脚本、文件解析或消除重复数据(鲍尔和根策尔,2004年)。在转换阶段,数据被转换为数据仓库所需的数据结构,并存储在暂存区中,暂存区作为源系统与数据立方体之间的缓冲区,支持数据清洗和更高效的数据转换。多维数据立方体是数据仓库的核心存储组件,用于保存完整的数据集。加载阶段指将数据从源系统传输到数据立方体的过程。元数据存储库用于存储和管理元数据(乔杜里和达亚尔,1997年),例如脚本、源描述、数据库模式、视图定义或版本控制信息。数据集市提供来自数据立方体的预聚合数据,主要用于对数据的特定方面进行建模。
4.2 数据仓库中的隐私保护
我们假设一个数据仓库场景,其中处理的是关于个体的数据。由于数据仓库的源通常由不同的方管理,因此引入了数据收集者的角色,他们收集有关个体的数据并将这些数据提供给数据发布者。除了数据净化和供给外,数据发布者的职责还包括数据集成,即合并和链接来自多个源的数据、集成新源以及管理源排除。由于这些操作可能导致仓库数据集的变化,因此它们可能对个体的隐私构成潜在风险。此外,扩展后的流程还必须考虑到数据集成是持续进行的。在一次发布供给后,将收集并集成新的或已更改的数据,这需要进行新一轮的匿名化和数据发布,并且还可能允许在脱敏数据集之间进行推断。

图3 展示了数据仓库中隐私保护数据供应的流程模型,该模型扩展了第3.1节中的流程。扩展后的模型考虑了数据集成场景中的具体过程步骤。开始时,数据收集者收集个体的数据(1a),并将这些数据存储到一个或多个数据集(1b)中,这些数据集作为数据仓库的源。数据发布者访问这些源(1c),以将其集成并转换为单一数据集(2)。过程步骤3和4与第3.1节中介绍的过程相同。第一次迭代完成。该过程在此并未结束,因为数据收集者会继续收集个体的数据,从而导致源发生变化。此外,新的源可能会提供额外的数据。源的排除也可能导致集成数据集发生变化。数据发布者获取这些变化(5),并将其应用到数据集中(6)。下一步,数据发布者通过应用连续发布发布技术创建新版本(7)。最后,发布新版本(4),下一次迭代从步骤1a开始。
动态数据集上的攻击模型通常基于序列信息。除了静态数据攻击模型外,所有改变数据集的过程步骤都会影响数据隐私。多种活动可能导致数据变化,需要进行监控:新源的加入、现有源的排除以及源内的数据操作。

如图4所示,向数据仓库中添加新源原则上可能导致数据集的水平或垂直扩展。直观上,垂直扩展会向数据集中添加新的记录,数据集的结构保持不变。因此,可以应用顺序发布发布中的攻击模型以及隐私准则。垂直当源处理语义上相似的数据时,主要会发生扩展。相比之下,水平数据集扩展会为数据集增加新的视角。直观地说,在发生水平扩展的情况下,数据集会通过新增属性进行扩展。多版本发布可能涵盖这种场景,因为新源会为数据集带来额外的视图。然而,它并未考虑底层数据集的变化。因此,关于多版本发布的研究可以提供保护个体隐私的技术,以应对水平数据集扩展的情况,但无法保证在数据集同时进行水平和垂直扩展场景下的隐私保护。
如果用于数据集成的源变得不可用,例如由于它们下线或拒绝访问,则集成的数据将以不同方式受到影响。在最简单的情况下,源将停止提供新信息,但无需删除已集成的信息。在物化集成的情况下,由该源提供的数据仍保留在数据仓库中。然而,在某些应用场景中,数据发布者必须删除由该源提供的信息,例如由于法律法规或版权问题。此外,虚拟集成架构无法存储被排除的源的数据。在这些情况下,类似于源包含,数据集可能以两种方式受到影响。如果一个源提供了特定方面的信息,则信息的丢失将与现有属性的删除相关联。我们将这种现象称为数据集的水平缩减。此类缩减将导致对现有记录的视图更加粗略。然而,未来的泛化可能导致准标识符属性值的细化,从而产生额外的推断。在数据集发生水平缩减的情况下,攻击者可能能够从记录的缺失中推断出额外的知识。因此,从数据仓库中排除源可能会引发隐私问题,必须通过隐私保护流程加以管理。
由于数据净化通常用于保护数据免受隐私攻击,因此它直接影响个体的隐私。数据发布者必须在多种隐私准则和净化机制之间进行选择。然而,如果数据发布者使用了不适当的净化机制或隐私准则,攻击者就有多种可能对已发布数据集发起攻击。最后,即使数据受到增量更新的保护,对现有记录的值进行篡改也会导致隐私风险。因此,任何更改现有元组值的操作都必须在隐私保护方面加以监控。
4.3 匿名化点
数据仓库中的隐私技术可以在不同的位置实现。根据整体架构和应用场景,数据匿名化可以在集成过程的以下阶段进行,如图5所示。
4.3.1 匿名化源
已经提供匿名化数据集的源代表了最严格的匿名化可能性,因为数据仓库仅处理净化数据。如图5所示,匿名化在数据集成之前进行。这会对数据处理产生重大影响,因为集成过程是在净化数据上执行的。在水平扩展的情况下,数据的连接将变得困难或尤其是,如果连接属性已经被泛化,则连接数据将产生额外的元组,这些元组在现实世界中没有对应实体,因为泛化会导致多个连接关联。如果连接属性未被泛化,则合并不同源的数据将导致对数据的更详细视图。在这种情况下,数据发布者必须确保数据仍然满足所选的隐私标准。对于垂直扩展,匿名数据集可以合并为单一数据集。然而,由于数据发布者无法唯一识别特定元组,因此无法对现有
元组执行更新操作。相反,数据发布者必须重新集成数据。该方法的优势在于其适用于不可信数据发布者模型。由于仅存储净化数据,即使数据发布者发生信息泄露,也不会导致隐私泄露,但前提是所有源提供的数据都满足最终的隐私标准。

4.3.2 预物化匿名化
数据可以在暂存区中进行匿名化处理,然后再存储到立方体中。在这种方法中,数据集成是通过使用原始数据来完成的。由于仅持久存储匿名记录,因此安全漏洞不会泄露敏感信息,这是该方法的一个主要优势。然而,与匿名化源相比,在将数据加载到立方体后,数据集成器本身只能访问匿名化数据集,这使得数据管理(例如更新或删除操作)更加困难。
4.3.3 后物化匿名化
在某些场景下,数据集成器需要对原始数据进行操作,例如验证个人记录的删除。在这种情况下,数据集成器有两种选择。第一种方法是,在数据立方体中同时存储原始数据集和匿名化数据集。变更操作在原始数据集上执行,之后将生成新的匿名化发布。由于所有数据都存在于数据仓库中,因此应用匿名化机制较为直接。然而,数据集成器必须管理两个冗余的数据集,这增加了数据管理的工作量(例如索引),并导致额外的存储需求。第二种方法是,数据集成器存储原始数据,并派生仅代表数据立方体特定视图的匿名化数据集市。但是,该方法会产生多个匿名数据集,可能导致它们之间的推断。这些依赖关系必须由数据集成器进行管理(例如通过访问管理)。此外,在两种情况下,数据仓库的隐私泄露(例如通过黑客攻击)都将暴露原始数据集。
4.3.4 实时匿名化
在虚拟集成架构中,数据不会被数据仓库存储。因此,如果源提供非匿名化数据,则必须“实时”执行匿名化处理。与预物化匿名化类似,在集成数据后,将匿名化技术应用于数据集。下一步,向数据用户提供匿名化数据集。数据仓库必须记录序列信息,以便将选定的隐私准则应用于后续发布。然而,由于虚拟集成架构的数据结构可能随查询而变化,匿名化处理的复杂性显著增加。此外,虚拟集成架构通常操作于非关系型数据结构(如语义数据),而大多数隐私准则假设数据为关系型数据,因此需要在不同的数据模型之间进行映射。
4.3.5 基于查询的匿名化
与上述方法不同,基于查询的匿名化不会向数据用户提供完整的数据集,而是由数据集成器提供查询答案。每次查询的结果都会即时进行匿名化处理,因此数据集成器无需存储任何匿名数据。然而,数据集成器必须限制查询并操纵查询结果以实施数据隐私保护。这种方法具有多种优势,尤其是在虚拟集成场景中,数据集成器需要存储的数据量可以保持较小。此外,目前已存在多种匿名化查询结果的方法,例如 Dwork (2008)。然而,与提供完整数据集的方法相比,向数据用户提供的信息受到更多限制。此外,变化的数据对隐私保护的影响仍然是一个开放的研究问题。
4.4 进一步考虑
4.4.1 数据操作操作
在集成数据之前,软件设计人员和数据用户必须定义与元组插入、更新或删除等数据操作相关的要求,这些操作通常由源内的变化引发。数据发布者必须回答数据仓库需要采纳哪些源的数据操作。在记录发布后执行数据操作对攻击模型和匿名化机制的适用性具有根本性影响。数据发布者可以通过采用更强的隐私准则(这将增加计算成本)或通过接受更高的隐私风险来应对这一问题。
4.4.2 源排除管理
基本上,数据发布者有两种方式来管理源的排除。第一种是已包含的数据保留在数据集中,这只适用于物化集成场景。源的排除不会在数据集上触发删除操作,这是该方法的主要优点。然而,这种方法可能并非在所有应用场景中都可行。此外,由于被排除源的记录可能变得过时,数据质量可能会下降。第二种方法是在发生源排除时删除已集成的数据。如果仅存储净化数据,则此方法会显著增加复杂性。此外,删除操作会减少适用的隐私准则数量。
4.4.3 个体的表示
在创建数据仓库时,必须决定个体是由单个元组还是多个元组表示。这一决策与数据操作操作类似,会影响可能的攻击模型。例如,如果一个个体由多条记录表示,攻击者可以链接该个体的各个元组中的信息以推断敏感信息。因此,如果允许每个个体存在多条记录,数据集成器必须调整其隐私机制。
4.4.4 隐私标准选择
为了保护数据隐私,数据集成器必须对可能的攻击模型做出假设。此外,还需要考虑计算成本和适用性。由于隐私准则采用不同的数据保护方法,因此会对数据效用产生不同的影响,这些影响取决于数据的特征(例如值的分布)以及集成场景的总体设置(例如源的数量)。因此,选择过程始终是在复杂性、效用和隐私之间的权衡。此外,隐私准则通常具有用于调整隐私与效用之间权衡的参数。数据发布者可以选择对这些参数进行宽松或严格设定。该决策将影响隐私保护水平以及数据效用。此外,还需要选择一个用于实施所选隐私准则的算法。由于许多隐私准则具有较高的复杂性,大多数情况下会使用启发式方法来寻找近似最优解。
4.4.5 源的数量和类型
在考虑集成系统的架构时,源的数量和类型对架构决策有重大影响。例如,如果源仅允许受限查询,则物化集成将无法实现。因此,数据发布者必须决定将哪些类型的源集成到数据仓库中。该决策应包括规模、可用性、限制或更新频率等标准。在大多数情况下,开发人员的选择自由度较低,因为源的结构通常决定了数据仓库的架构。
5 实验评估
5.1 目标和初步条件
在本节中,评估了不同匿名化方法对数据效用的影响。这些实验的目的是探讨数据仓库中关于匿名化的架构决策与数据效用之间的相关性。通过在不同的示例架构中模拟隐私保护的数据提供,并测量结果的数据效用,从而量化差异。这些架构在第4.3节中讨论的设计参数上有所不同。通过比较不同架构的结果,可以评估不同参数对数据效用的影响。为了避免单一数据集的特定属性导致结果失真,测试在结构不同的数据集上进行。
我们新开发的测试软件能够通过抑制或提供信息来模拟不同的架构。以下方面是此类评估中的重要变量。首先,处理不同数据操作操作的能力涉及一项基本的设计决策。由于我们选择的隐私准则不支持变更操作,实验场景将集中于仅更新和删除‐更新场景。大多数隐私准则假设现实世界实体由单个元组表示,这在数据集成中是合理的,因此实验中也采用这一假设。此外,现有的隐私准则无法管理数据仓库中数据集横向扩展时的隐私问题。因此,测试场景仅限于垂直扩展。这样,在集成新源时,数据结构不会发生变化。对于数据仓库架构而言,这是一个合理的假设,因为通常数据立方体的中心模式保持稳定。
在以下实验中,排除了允许更改现有值的隐私准则,原因有两个。首先,此类准则都伴随着显著的计算成本,因此在许多情况下对大规模数据集的适用性将受到限制。其次,基于更改值的攻击模型也具有高计算成本,并且仅适用于特定设置,而这些设置在大多数集成场景中并不满足。因此,目前这些攻击模型似乎并不代表对大型数据集的主要实际威胁。由于在许多应用场景中无法确保适当的隐私保护水平,针对更新的k‐匿名性被排除在实验之外。为了评估仅插入场景下限制较少的隐私准则与插入/删除场景下更严格的隐私准则在效用保持方面的差异,增量-l-多样性被选为其中之一实验的隐私标准。m‐不变性和基于图的匿名化均涵盖插入/删除操作。虽然m‐不变性使用泛化来数据脱敏,但基于图的匿名化采用解剖化。由于增量‐l‐多样性也使用泛化,m-invariance被选为第二种采样隐私准则,以避免因不同净化机制导致的数据效用差异。
由于所选的隐私准则假设了完整的发布,因此基于查询的匿名化方法将被排除。由于实时匿名化在虚拟集成架构中具有主要优势,因此该匿名化点在实验中也不予考虑。因此,实验涵盖匿名化源、预物化匿名化和后物化匿名化。如果集成数据集仅来自少量语义相似的源,则源排除或添加将影响数据集的大部分。而在多个源的情况下,每个源仅占数据集的一小部分,变化仅影响较少比例的元组。在顺序发布发布过程中,后续发布中的数据会影响未来发布的匿名化过程。不同规模的源在数据效用方面导致不同的结果是合理的。因此,实验将比较包含少量大源以及多个小源的场景。
此外,源数据集可能具有不同的统计特性,例如属性数量或不同敏感值的数量。为了限制因特定统计特性导致的实验结果失真,并评估方法在这些特性影响下的差异,所有示例架构都将应用于多数据集。由于m‐不变性和增量‐l‐多样性在匿名化过程中均考虑了敏感值,因此可以合理假设敏感值的分布和数量会影响数据效用。此外,m‐不变性和增量‐l‐多样性均使用泛化来对数据进行脱敏。因此,准标识符值的数量和范围可能会影响发布结果的数据效用。综上所述,测试数据集将在敏感值分布、敏感值数量以及准标识符属性的数量和范围方面有所不同。由于所选的隐私准则采用了泛化的去标识化方法,基于泛化的效用度量是量化匿名化造成效用损失的合适方法。在基于泛化的效用度量中,损失度量是最为细致的一种,因此将在实验中使用。
数据挖掘算法的任何应用通常都基于先前的探索性数据分析,常涉及均值和标准差的计算(Fayyad 等人,1996)。为了评估这些统计量的保持情况,将在数据集上执行具有以下结构的查询:SELECT AVG(qi-attribute) WHERE sensitive-attribute= ‘sen-attribute-value’。通过比较原始数据集和脱敏数据集的结果,以量化信息损失。聚合计数查询也是分析数据的一种常用方式(LeFevre 等人,2006b)。例如,计数查询可用于计算属性之间的相关性。此外,许多数据挖掘算法的应用,例如 k‐均值聚类算法(MacQueen,1967),需要计算元组间的距离,这通常基于选择操作。为了评估这些查询在脱敏数据集上的适用性,将比较原始数据与脱敏数据中如下类型的计数查询结果:SELECT COUNT(*) WHERE cond1 AND cond2。为了评估复杂与简单选择条件之间的差异,查询将在选择性上有所不同。
基于概率的度量用于衡量统计信息(例如分布)的保留情况。通过结合SQL中的计数查询和GROUP BY操作符,可以评估原始数据集以及脱敏数据集中敏感值的分布。通过比较这两种分布,可以得出关于分布保留情况的结论。这些分布通过以下类型的查询进行计算:SELECT COUNT(*) WHERE qi-value1< cond1 GROUP BY sen-values。基于这些度量,可以量化数据效用的以下几个方面:泛化程度、准标识符属性值的保留、计数查询信息的保留以及分布的保留。效用度量的具体应用在第5.5节中描述。
5.2 实验场景


图6展示了将在实验中测试的示例架构。所有架构将应用于多个场景,这些场景在源的数量和规模以及数据集的结构特性上有所不同(见图7)。因此,九个样本架构将应用于六个场景,从而产生54个测试系列。
实验数据的选择可以通过两种方式进行:使用真实数据集或生成合成数据集。第一种方法的主要优势在于数据代表了真实应用场景,但其统计特性无法改变。此外,真实数据集可能需要进行数据清洗,例如由于存在缺失值。相反,合成生成的数据集允许指定统计特性并保证良好的数据质量,但不能代表具体应用。由于将测试具有不同数据结构的多数据集,合成数据方法能够更灵活地定义数据属性。因此,实验将采用该方法。数据集将在敏感值分布、敏感值数量以及准标识符属性的数量和范围方面有所不同。数据集A表示具有较少准标识符属性且均匀分布的分布式敏感值。数据集B与数据集A的区别在于敏感值的分布,因为其包含主导敏感值。数据集C表示的数据比数据集A和B包含更多的准标识符属性值。此特性显著增加了泛化组合的潜在可能性。对于较小的数据源,假设有五个数据源,每个包含4,000个元组,从而形成一个包含20,000个元组的集成数据集。在仅插入场景中,新添加的数据源每个包含4,000个元组。在插入/删除场景中,每次迭代都会删除和插入4,000个元组,因此元组数量保持稳定。在模拟大量但小型数据源的场景中,假设有50个数据源,每个包含400个元组,因此初始数据集也包含20,000个元组。每次迭代向数据集中添加500个元组。如果允许删除,则每次迭代将删除500个元组。
5.3 算法
5.3.1 m-不变性
肖和陶(2007)提出的算法被用于我们实现m‐不变性。该算法包含四个阶段:划分、平衡、分配和分割。在划分阶段,现有元组被划分为桶。每个桶包含具有相同签名的元组。如果数据集中的元组被删除,一些桶可能变得不平衡,即某些敏感值出现的频率高于其他敏感值。在平衡阶段,通过插入操作引入的新元组被用来平衡这些桶。如果没有合适的元组可用,则使用伪造元组。在分配阶段,将剩余元组分配到新的或现有的桶中。元组的分配是迭代进行的。每次迭代中,一组平衡元组被分配到一个桶中。目标是创建尽可能包含更多元组且其签名中敏感值数量较少的桶,以实现精细泛化并减少迭代次数。挑战在于确保剩余未分配的元组能够在后续迭代中支持进一步的分配。为此,肖和陶(2007)提出了三个条件,在选择元组进行分配时必须满足这些条件。
每个桶都会进行分割阶段处理。在此阶段,桶被分割为具有最优泛化的m‐唯一QI组。通过计算泛化区间的总和来比较可能的泛化,较小的值表示更精确的泛化。其基本思想是将桶递归地分割成更小的桶,直到每个桶都成为m‐唯一的。为此,肖和陶(2007)提出了以下处理方法:首先,他们将桶划分为具有相同敏感值的 n个元组组成的组。每组中的元组按第一个准标识符属性排序,然后将每组的第一个元组分配到一个新桶B1中,其余的分配到另一个桶B2中,从而确定一个分割方案。肖和陶(2007)通过将前2(3、4、…、n – 1)个元组分配给B1,其余的分配给B2,创建进一步的方案。该过程对每个准标识符属性重复执行,从而产生多个分割方案。针对每个方案,计算其泛化区间长度的总和,选择得分最小的分割方案来划分桶。然而,这种启发式方法会导致高计算成本,因为必须生成并评估大量分割方案。对于实验中使用的数据集,该启发式方法已进行调整,仅测试那些生成包含最多三个每种敏感值元组的小桶以及包含其余元组的大桶的分割方案。这种方法显著降低了通过略微降低损失度量值来改善运行时间。通过限制桶中具有相同敏感值的元组最大数量也发现了类似效果,因为元组之间的比较操作数量显著减少。因此,该参数被限制为50,这会轻微恶化数据质量,但显著提升了运行时间。
5.3.2 增量-l-多样性
在边等人 (2006) 的研究中,提出了使用多维泛化(LeFevre 等人,2006a)来实现 l‐多样性。该方法的主要优势在于无需使用预定义泛化层次结构,从而显著提高了去标识化的灵活性,实现了更精确的泛化。因此,该方法被用于 l‐多样性的实现。l‐多样性算法(Byun 等,2006)包含两个阶段。在第一阶段,一组元组根据准标识符属性的中位数值被递归分割,直到无法进一步分割而不违反 l‐多样性准则为止。由于大多数数据集包含多个准标识符属性,因此存在对元组集的多种分割方式。在实验背景下,将选择能够使结果分区中不同敏感值的最小数量最大化的分割方式。例如,如果一种分割方式生成了两个元组组,每组均包含七个不同的敏感值,而另一种分割方式生成的组分别包含六个和八个不同的敏感值,则会选择第一种分割方式,因为其生成组中不同敏感值的最小数量更高。该方法的基本思想是创建能够支持进一步分割的分区。在第二阶段,对生成的分区进行泛化。
Byun等人(2006)提出的用于实现增量‐l‐多样性的插入算法包含三个阶段:添加、插入和分裂。在第一阶段,通过使用上述算法将插入的元组划分到l‐多样性准标识符组中。每个泛化不与现有准标识符组重叠的准标识符组被插入到数据集中。来自剩余准标识符组的元组被插入到等待列表中。下一步,针对每个现有的准标识符组,检查等待列表中是否存在具有相等或更精细泛化的l‐多样性元组组。如果存在,则可将该元组组插入到现有的准标识符组中。最后,如果现有准标识符组满足分裂条件,则将其分裂为两个l‐多样性准标识符组。
5.4 样本架构的模拟
根据架构的不同,数据发布者对原始数据和序列信息的访问权限可能有所不同,这导致了数据处理上的差异。本节将讨论关于数据处理的不同假设下的各种情况,并描述在实验软件框架中的仿真。
情况1 匿名化源——仅插入
对于匿名化源,数据发布者接收到的数据已经是经过泛化的。在本实验中,假设源使用的隐私准则与数据仓库相同。因此,集成过程变得简单,因为只需将来自源的准标识符组合并到单一数据集中即可。该方法通过创建代表单个源的不同数据集文件进行模拟。如图8所示,每个文件将被单独匿名化,这模拟了在源内部的匿名化处理。下一步,经过净化的准标识符组被合并为一个发布表,并发布给数据用户。如图9所示,源的准标识符组与已发布数据集的准标识符组相同。


新源的纳入采用相同的流程。然而,包含在源内执行的更新变得困难,因为源中现有元组的泛化可能由于其准标识符组的细化而发生变化。由于数据发布者无法识别其匿名化数据集中的特定元组,因此无法将这些更改直接传递到数据仓库。因此,通过用源的新准标识符组替换已导入的该源的准标识符组来应用源内的变化。因此,在每次迭代时,源必须向数据发布者提供其完整的匿名化数据集。由于准标识符组仅包含单个源的数据,数据发布者可以通过插入一个内部属性来管理此过程,该属性用于标识每个准标识符组的源。该属性使得能够删除某个源的所有准标识符组,以便用新的准标识符组进行替换。如果源变得不可用,则已导入的记录将保留在数据集中,因为仅插入环境禁用了元组的删除。需要注意的是,这种情况基于较为理想化的假设。如果这些假设不成立,则需要进一步研究以管理数据集成和数据匿名化的过程。例如,如果数据仓库所需的隐私级别高于源的隐私级别,则数据发布者必须对已经泛化的元组再次进行泛化,这会显著增加过程的复杂性。
情况2 匿名化源 – 插入/删除
情况2与情况1相同,只是删除操作被传递到集成数据集。类似于插入操作,假设源在其自身数据集上执行删除操作,并将整个数据集推送给数据发布者,由数据发布者用新的准标识符组替换来自源的旧准标识符组。在发生源排除的情况下,从被排除源导入的所有准标识符组都将从集成数据集中删除。与情况1类似,使用一个内部属性来记录准标识符组的源,可以实现这些删除操作。
情况3 预物化匿名化 – 仅插入
与匿名化源相比,预物化匿名化的优势在于源向数据发布者提供原始数据。因此,如图10所示,数据发布者能够利用来自不同源的元组创建准标识符组。然而,由于数据发布者仅存储匿名数据,在未来的迭代过程中无法重新识别特定元组。序列信息(例如元组的签名)将会丢失。
直观上,有两种方法可以解决此问题。第一种,源可以向数据中添加一个合成标识符属性。如果数据发布者存储了该密钥,则他将能够跟踪元组在一系列发布中的变化,以读取序列信息并实施隐私准则。第二种,源仅提供插入的元组。在这种方法中,数据发布者会将来自现有源的新元组和来自新源的元组合并到一个单一数据集中,用于创建新的准标识符组。这些组将被添加到现有数据集中。第二种方法的优点是,可以应用静态数据场景的隐私准则对数据进行匿名化,因为匿名化数据集中的准标识符组不会发生变化。此外,数据发布者只需导入更新内容,这在源提供大型数据集时具有优势。然而,由于所有准标识符组保持稳定,无法对现有的准标识符组进行细化。由于在第一种方法中所有序列信息都可用,因此匿名化算法可以以简单直接的方式应用。因此,最终的发布结果将等同于情况5,但源需要提供不同的标识符,这仍然是一个未解决的问题。


因此,为该架构选择了第二种方法。此方法的仿真如图11所示,其工作原理如下:由于数据发布者可以在匿名化之前集成数据,因此生成的数据集由一个基础文件表示,该文件代表来自源的新元组。随后,应用匿名化算法以生成新的准标识符组。通过合并现有的准标识符组和新的准标识符组来创建该迭代的发布。最后,发布结果被单独存储,因为需要准标识符组来创建后续发布。
情况4 预物化匿名化 – 插入/删除
将情况3扩展至删除操作会严重阻碍数据处理。删除操作可能由两种事件引发:源排除和源内部的删除。在发生源排除的情况下,可以通过创建一个额外的属性来标识元组的来源,从而传递删除操作。如果某个元组被删除,其准标识符组将变得不平衡,必须对此进行补偿,最好使用符合该准标识符组泛化条件的新元组进行补偿;否则,必须扩大泛化范围。如果没有可用的元组,数据发布者必须插入一个伪造的元组。处理源内部的删除更加困难,因为数据发布者无法识别集成数据集中的特定元组,因此无法删除特定元组或从脱敏数据集中推导出序列信息。数据发布者需要来自源的额外信息。与情况2类似,合成标识符可以解决此问题。在这种情况下,数据发布者可通过标识符推断必要的序列信息,并执行匿名化处理,结果将与案例6相同。如果源未提供合成标识符,则在此架构中如何处理删除操作仍是一个开放的研究问题。
情况5 后物化匿名化 – 仅插入
由于数据发布者同时持有原始数据和序列信息,在后物化匿名化架构中,匿名化算法可以无需额外信息即可应用。该架构的仿真如图12所示,其工作流程如下:数据发布者从源读取数据并将其集成到单一数据集中。该数据集由基础文件表示。下一步,将选定的匿名化算法应用于该数据集。在后续迭代中,新的元组和新的源被集成到其中。新元组由更新文件表示。随后,匿名化算法被应用于集成后的数据。
情况6 后实例化-匿名化 – 插入/删除
对于m‐不变性,源排除通过简单删除该源的所有元组来实现。源内的删除可以通过两种方式执行。一种是数据发布者从源导入整个数据集,并通过将数据与之前的导入进行比较来检测删除;另一种是源提供已被删除元组的ID。通常,数据发布者更倾向于第二种方法,因为可以通过选择元组ID直接删除,而无需比较大量数据。此外,该方法产生的网络流量更少。在原型中,更新文件将包含已被删除元组的 ID。由于原始数据可用,删除操作可直接应用于数据仓库。

5.5 效用度量的计算
直观上,损失度量用于评估平均有多少个属性被泛化。例如,损失度量值为2.0表示平均泛化的范围覆盖了两个属性的域。如果有两个准标识符属性,该值意味着所有元组的这两个属性均被抑制。如果有十个准标识符属性,相同的值则表示泛化范围平均覆盖了所有准标识符属性域的1/5。这一点显而易见,不同数量准标识符属性的数据集的损失度量值无法进行比较。为了解决这一问题,在本实验中,将通过将损失度量除以准标识符属性的数量对其进行标准化。因此,该度量值将始终介于零和一之间;零表示无泛化,一表示所有值均被抑制。
测试具有不同选择条件的计数查询的目标是评估匿名化如何影响其选择性。在这些实验中,假设在净化数据上执行的计数查询仅考虑其泛化完全覆盖查询条件的结果。例如,如果查询条件为“年龄 > 40”,则仅包含年龄属性下界为“> 40”的泛化。本文后续将计数查询的信息损失称为选择性,并按如下方式量化:选择性 (CQ) = CQ(Tsan) / CQ(Torig),其中 CQ(Tsan) 是在脱敏数据集上执行计数查询 CQ 的结果,而 CQ(Torig) 表示在原始数据集上的查询结果。在实验中,将使用以下计数查询来量化选择性,其中第一个查询表示具有简单选择条件的计数,而第二个查询更为复杂:
- SELECT COUNT (*) WHERE qi‐att1>= 40 AND sen‐att = sen‐value1
- SELECT COUNT (*) WHERE qi‐att1>= 40 AND qi‐att2=1 AND qi‐att3< 5000 AND sen‐att = sen‐value1。
对于计算泛化属性平均值的查询,信息损失被量化为 AverageDeviation(Q) = max min( AVGorig − AVGs an ) / (Dmax − Dmin),其中 AVGorig 表示查询Q的结果,该查询选择某个指定属性的平均值,而 AVGasn 表示在同一脱敏数据集上执行相同查询的结果。Dmax 和 Dmin 分别是用于计算平均值的属性域范围的最大值和最小值。该结果可解释为平均值相对于域范围的百分比偏差。在实验中,使用了以下查询Q:
- SELECT AVG(qi-att1) WHERE sen-att= sen-value1.
最后,为了评估敏感值分布在去隐私化数据集和原始数据集上的保持情况,执行以下查询:4. SELECT COUNT(*) WHERE qi-att>= 40 GROUP BY sen-att.
为了量化此情况下的信息损失,首先通过在净化数据集及其对应的原始数据上执行查询,计算每个敏感值在两个数据集中的占比。然后按如下方式计算分布的绝对误差。给定一个包含具有敏感属性值S ={s1, s2,…, sm}的元组的数据集T,以及一个四类查询Q。令ci 表示在T上执行查询Q的结果中具有敏感值si的元组数量。设查询结果中si的占比Pi定义为 Pi = ci / Σcj。那么,分布的绝对误差为 Σ|Porig_i - Psan_i| / n,其中 Psan_i 是查询Q在数据集T的脱敏版本上执行结果中敏感属性 si的占比,Porig_i 为在原始数据集T上执行相应查询所得的占比。
该指标能够很好地反映脱敏数据集中分布的保持情况。然而,它并未考虑敏感属性值的取值范围。例如,如果原始数据集中每个敏感值的平均占比为0.2,则分布的绝对误差为0.001时,表明属性比例得到了很好的保持;但如果原始数据集中每个敏感值的平均占比为0.0001,则相同的分布绝对误差值意味着脱敏数据集中的分布出现了较大失真。因此,对于具有不同敏感属性取值范围的数据集,其分布的绝对误差之间不具备可比性。
引入了分布的相对误差这一指标来解决此问题。其基本思想是测量份额的百分比偏差,而不是绝对偏差,得到以下公式:分布的相对误差 = Σ| (P_san_i - P_orig_i) / P_orig_i | / n。该指标可解释为:脱敏数据集与对应原始数据之间,敏感属性值份额的平均偏差占原始数据集中敏感属性值份额的百分比。例如,0.05 的分布相对误差表示脱敏数据集中敏感值的份额与原始数据中敏感值的份额平均相差 5%。
5.6 实现
实验原型的实现采用了Java编程语言。SQLite被用作关系数据库系统,该系统实现了大部分SQL92标准(纽曼,2004)。此外,它还支持将数据库存储在内存中。测试场景是在一台配备4 × 2.67 GHz英特尔i5处理器、物理内存限制为8吉字节的64位工作站上进行的。原型系统的内部数据处理通过Java对象以及内存数据库 SQLite来组织。准标识符组及桶或签名等复杂数据结构的管理由Java对象完成。所有关系型数据均使用原始值进行存储。因此,匿名化和泛化过程需由应用程序内的Java对象来处理。
数据库表由一个名为Microdata的类表示,该类管理数据集上的操作,并将 Java操作和类方法转换为SQL查询。这些操作包括插入和删除元组、统计具有特定敏感值的元组数量,或获取值的分布。此类的核心变量是一个SQLwrapper对象,用于管理Java数据库连接驱动(JDBC),以连接到内存数据库管理系统(DBMS)。SQLwrapper类源自德克萨斯大学达拉斯分校(UTD)匿名化工具箱(2013),该工具箱是公开可用的。每个微观数据实例代表DBMS中的单个表。由于m‐不变性和增量‐l‐多样性在数据处理方面有不同的要求,因此这两个算法由不同的类实现。
5.7 匿名化点选择的结果

注释:PMA:后实例化;AS:匿名化源;PrMA:预实例化。
图13显示了在不同数据集和隐私准则下,不同匿名化节点的平均损失度量值。每根柱状图汇总了多个小源和少量大源场景下的数值。结果清楚表明,在数据集成之后进行匿名化的架构在数据质量方面具有显著优势。在m‐不变性情况下,预实例化匿名化和后物化匿名化的损失度量值约为0.40,这意味着每个准标识符属性域平均有40%被泛化。对于匿名化源,该值上升至0.49,表明泛化的范围大约高出10%。这一规律同样适用于增量‐l‐多样数据集。
其他指标的结果证实了这一趋势。与其它架构相比,匿名化源的分布中位相对误差高出50%。此外,对于匿名化源,计数查询的选择性明显更低。因此,仅当集成器采用不可信数据发布者模型或必须使用匿名化源时,才应选择匿名化源。如果数据是在匿名化之前进行集成时,算法应用于更大的数据集。如果有更多的元组可用于通过泛化构建准标识符组,则找到具有相似准标识符属性值的元组的概率会增加。因此,有可能创建泛化范围较小的准标识符组。
结果还表明,在仅插入场景下,后实例化与预物化匿名化之间的数据效用没有显著差异。然而,在增量‐l‐多样性情况下,预物化集成具有优势,即所有元组都可以立即发布,因为每次数据插入的迭代都是单独处理的。这种方法可以防止攻击者推断出序列知识,因为每个准标识符组保持稳定。但是,由于禁用了现有准标识符组的优化,无法改进较差的泛化。此外,如第4.3节所述,后实例化相比预物化匿名化具有多个优势。
5.8 选择隐私准则的结果
实验结果表明,隐私准则的选择对数据效用有显著影响。在仅插入环境中,增量‐l‐多样性在损失度量、计数查询的选择性、分布的相对误差以及平均值保持方面具有优势。如图13所示,增量‐l‐多样化发布的损失度量值远低于m不变发布。平均而言,与m‐不变性发布相比,损失度量值低18.9个百分点(中位数为19.5)。选择性方面的差异更为显著。图14展示了m‐不变性和增量‐l‐多样化发布的平均选择性。m‐不变性发布表使数据用户平均能够选择简单计数查询41%的元组和复杂计数查询5.3%的元组,而增量‐l‐多样化发布表的平均选择性分别达到97.6%和49.4%。此外,平均查询的结果表明,增量‐l‐多样化发布能更好地保持平均值。如图15所示,该图展示了两种隐私准则在不同数据集上的平均查询的平均偏差,增量‐l‐多样化发布的平均偏差小于m‐不变性发布。数据集B的结果表明,如果数据不是均匀分布的,m‐不变性发布无法保持平均值。然而,即使增量‐l‐多样性在数据效用方面具有优势,其主要缺点是较高的元组数量被插入到等待列表中,而不是发布,这会对数据刷新产生负面影响。在需要当前值的应用场景中,这可能成为一个问题。第5.11节对此问题进行了详细阐述。
总体结果表明,隐私准则的选择在多个方面显著影响数据效用。m‐不变性能保证所有元组立即插入,而增量‐l‐多样性则提供更好的数据效用。

5.9 删除操作的影响
为了评估删除操作对数据效用的影响,将包含删除操作的场景与不包含这些操作的相同场景进行了比较。结果表明,在插入/删除场景中,数据效用取决于敏感属性值的分布和结构,因为在不同数据集之间结果存在显著差异。根据实验结果,采用后物化集成的架构能够处理删除操作,且与不含删除操作的相等场景设置相比,数据效用未显著降低。然而,对于数据集C,删除操作会导致数据效用损失,因为损失度量值和分布数值的相对误差增加
更多推荐


所有评论(0)