收藏 分享(赏)

plrd- (k, m) 保护链接关系的分布式k-度-m-标签匿名方法.doc

上传人:无敌 文档编号:161176 上传时间:2018-03-22 格式:DOC 页数:20 大小:294KB
下载 相关 举报
plrd- (k, m) 保护链接关系的分布式k-度-m-标签匿名方法.doc_第1页
第1页 / 共20页
plrd- (k, m) 保护链接关系的分布式k-度-m-标签匿名方法.doc_第2页
第2页 / 共20页
plrd- (k, m) 保护链接关系的分布式k-度-m-标签匿名方法.doc_第3页
第3页 / 共20页
plrd- (k, m) 保护链接关系的分布式k-度-m-标签匿名方法.doc_第4页
第4页 / 共20页
plrd- (k, m) 保护链接关系的分布式k-度-m-标签匿名方法.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、PLRD- (k, m) :保护链接关系的分布式k-度-m-标签匿名方法 张晓琳 何晓玉 张换香 李卓麟 内蒙古科技大学信息工程学院 摘 要: 现有的匿名技术多关注匿名后数据的可用性, 忽略了攻击者可以通过多种背景知识进行攻击的问题。此外, 随着用户规模的逐年递增, 传统的匿名技术已不能满足实际需求。为此, 提出一种保护链接关系的分布式匿名方法 PLRD- (k, m) (Distributed k-degree-m-label Anonymity with Protecting Link Relationships) , 该方法利用 Graph X 的消息传递机制, 通过将互为 N-hop

2、邻居的节点分为一组并进行 k-degree 匿名和 m-标签匿名, 保证攻击者无法通过度和标签识别出目标并保护链接关系不被泄露。最后, 扩展了 PLRD- (k, m) 方法, 提出一种个性化匿名方法以满足用户不同的需求。基于真实社会网络数据集的实验结果表明, 提出的方法不仅能提高处理大规模社网络的执行效率, 同时具有很好的数据可用性。关键词: 社会网络; 隐私保护; 分布式; k-度-m-标签匿名; GraphX; 作者简介:张晓琳 (1966-) , 女, 内蒙古包头市人, 2006 年获得东北大学计算机软件与理论专业博士学位, 内蒙古科技大学教授, CCF 会员, 主要研究领域为数据库理

3、论与技术, 云环境下的社会网络隐私保护。作者简介:何晓玉 (1991-) , 男, 河南省商丘市人, 内蒙古科技大学研究生, 主要研究领域为云环境下的社会网络隐私保护。作者简介:张换香 (1979-) , 女, 内蒙古包头市人, 内蒙古科技大学副教授, 主要研究领域为社会网络隐私保护。作者简介:李卓麟 (1993-) , 男, 山西长治市人, 内蒙古科技大学研究生, 主要研究领域为云环境下的社会网络隐私保护。基金:国家自然科学基金 Nos.61562065, 61662056PLRD- (k, m) :Distributed k-degree-m-label Anonymity with Pr

4、otecting Link RelationshipsZHANG Xiaolin HE Xiaoyu ZHANG Huanxiang LI Zhuolin School of Information Engineering, Inner Mongolia University of Science and Technology; Abstract: Existing anonymous technologies pay more attention to the utility of anonymous data, ignoring the problem that attackers rec

5、ognize targets through a variety of background knowledge. In addition, with the scale of users increasing year by year, the traditional anonymous technologies cant meet the actual demand. Motivated by this, a distributed k-degree-m-label with protecting link relationships anonymity method (called PL

6、RD- (k, m) ) is proposed. This method utilizes the message passing mechanism of Graph X, and dividing nodes that are N-hop neighbors into one group and performing k-degree anonymous and m-label anonymous to ensure that attackers cant identify targets by degrees and labels, and to protect link relati

7、onships from being leaked. Finally, a protecting link relationships distributed personalized anonymity method extended from PLRD- (k, m) is proposed. Experimental results based on real social network datasets show that the proposed method can not only improve the execution efficiency of large-scale

8、social networks, but also have good data utility.Keyword: Social network; privacy preserving; distributed; k-degree-m-label anonymity; GraphX; 1 引言随着互联网技术的快速发展, 社会网络分析在众多领域获得广泛关注和应用。社会网络分析需要将网络数据发布给第三方, 由于社会网络数据包含用户的隐私信息, 如何在发布数据的同时保护用户的隐私信息成为研究的热点。社会网络通常被表示成简单图, 图中的节点和边分别对应社会网络中的个体以及个体间的联系, 个体的属性信息

9、, 如年龄则表示成节点的标签, 如图 1 所示。Fig.1 social network graph G 图 1 社会网络原始图 G 下载原图重识别 (re-identification) 攻击1, 是指攻击者通过与攻击目标相关的背景知识 (如度、邻居子图等) , 从网络中识别出目标的过程。为了抵抗重识别攻击, 研究者提出了不同的社会网络图匿名化技术, 通过修改图结构防止隐私信息泄露, 如 k-degree 匿名2。现实中, 攻击者能够很轻易地获取到与目标相关的多种背景知识, 简单的通过修改图结构并不能很好地保护个体的隐私。图 是原始图 G 的 2-degree 匿名图, 如 2 (a) 所示

10、。对图 G1 中任意节点, 至少存在另一节点与其具有相同的度, 因此攻击者无法通过节点的度信息从图 G1 中准确识别出目标节点。然而, 若攻击者同时拥有节点的标签信息则可以进一步进行重识别攻击, 例如攻击者在获知 Bob 拥有 3 个朋友的同时, 又获知 Bob 来自 America, 则可以从图 G1 中识别出节点 4 就是 Bob。现实生活中, 同一类人或具有相同兴趣的人彼此间具有联系的可能性越大, 反映在社会网络图上, 则表现为标签相似度越高的节点彼此间越可能存在链接3, 攻击者通过标签得出的节点彼此间有很大概率存在链接, 从而导致目标节点的链接关系被泄露。此外, 隐私保护也面临另一个挑

11、战, 随着在线社会网络用户规模的逐年递增, 传统的隐私保护技术已不能满足实际需求。Fig.2 Two anonymized versions for G 图 2 图 G 的 2 个匿名图 下载原图为此, 提出一种分布式社会网络匿名方法, 目的是在提高处理大规模社会网络效率的同时, 得到匿名图 G2, 如图 2 (b) 所示。在图 G2 中, 即使攻击者获知节点的度和标签, 也无法准确推测出被攻击者的身份及链接关系。例如攻击者获知 Bob 在社会网络中拥有 3 个朋友, 27 岁且来自 America, 图 G2 中节点 2和 4 均符合条件, 则攻击者准确识别出 Bob 的概率不大于 1/2,

12、 且由于节点 2和 4 不存在链接, 攻击者也无法推测出 Bob 的链接关系。2 相关工作随着在线社会网络的发展和普及, 社会网络隐私信息的安全性成为研究学者关注的热点, 并提出了多种保护方法。文献4引入属性-社交网络模型将属性信息视作节点, 通过分割节点属性链接和社交链接保护用户隐私。文献5提出一种基于 k-degree 匿名的隐私保护模型 Similar Graph, 采用动态规划的方法对节点进行最优簇划分, 在保护隐私的同时保持社会网络图结构性质。文献6提出一种 k-weighted-degree 匿名方法, 在匿名图中, 对任意节点, 至少存在 (k-1) 个其它节点与其度相同且在阈值

13、 t 范围内具有相同的权重序列。文献7提出一种 utility-aware 匿名方法, 在进行 k-degree 匿名时同时考虑最短路径和邻居节点重叠程度, 提高了匿名图的数据可用性。文献8指出即使个体的身份信息被有效隐藏, 攻击者仍能推测出个体的链接关系, 为此设计了一种 L-opacity 匿名模型, 通过 opacity 矩阵在保护个体身份的同时保护链接关系。文献9将用户交互社会网络抽象成二分图模型, 通过为用户产生一个标签列表的方式抵抗重识别攻击。文献10针对敏感链接关系设计一个 Link Mirage 模型, 模糊社会网络图中的社交拓扑结构并提供带有模糊社交关系视图的不受信任的外部应

14、用, 从而抵抗重识别攻击。文献11提出添加伪节点, 并在真实节点和伪节点间添加边的 k-degree 匿名方法。文献12, 13提出了基于社区的图匿名模型, 在 k-degree 匿名的同时, 提高匿名图的数据可用性。文献14提出一种基于单变量微聚合的 k-degree 匿名方案, 通过建立差矩阵 Mp2提高数据的可用性。文献15提出了基于 SMC 模型的隐私保护方案, “数据代理”通过分布匿名协议实现标签属性和存储位置的 l-diversity 匿名。文献16提出一种基于 SMC 模型的 semi-honest 的交换加密技术, 保护隐私信息。文献17提出基于 Map Reduce 模型的隐

15、私保护方案, 通过两个阶段实现 k-匿名。文献18, 19则利用 Map Reduce 框架在大规模图中检索同构子图。可以看出, 目前的隐私保护技术多关注匿名数据的可用性, 忽略了攻击者可能具有多种背景知识的情况。此外, 现有的分布式隐私保护技术针对的是关系型数据, 未考虑个体在社会网络中的图性质特征, 不能很好地保护个体的隐私, 并且 Map Reduce 将中间结果存放于磁盘, 处理过程中需要反复迁移数据, 并不适合处理图数据。为此, 提出一种分布式匿名方法 PLRD- (k, m) (protecting link relationships distributed k-degree-m

16、-label anonymity) , 该方法基于 Graph X 系统20,21, 在保护隐私的同时提高算法的执行效率。3 背景知识及问题定义社会网络表示成节点带标签的简单无向图 G= (V, E, L, ) , 其中节点集 V代表社会网络中的用户, E 是边集合代表用户间的联系, 社会网络中个体的属性信息用节点标签 L 表示, 函数 表示节点与标签之间的映射 :VL。定义 1 (标签链接泄露) 已知 是社会网络图 G= (V, E, L, ) 的匿名图, C 是攻击者通过标签信息得到的一组节点, 对uC, vC, 若攻击者能以一定概率推测出 u, v 存在链接, 则称 C 存在标签链接泄露

17、。以图 2 (a) 为例, 攻击者通过目标 27 岁, 得到节点 3 和 4, 此时, 能推测节点3 和 4 存在链接, 因此3, 4存在标签链接泄露。定义 2 (PLR- (k, m) 匿名) 已知 是社会网络图 的匿名图, 若图 是 PLR- (k, m) 匿名, 则满足:(1) 图 是 k-degree 匿名图, 即攻击者通过节点的度, 识别出目标节点的概率不大于 1/k。(2) 图 G 是 m-标签匿名图, 即攻击者通过节点标签, 识别出目标节点的概率不大于 1/m。(3) 匿名图 G 不存在标签链接泄露。定义 3 (最大缺失值) 已知社会网络图 , 是包含 k个节点的分组, 且 ,

18、i是分组 Ci内节点度最大值与最小值的差, 若 M 是最大缺失值, 则则此时最大缺失值 M=max (2-1) , (3-1) =2。定义 4 (无向完全图) 若图 G=V, E是无向完全图, 则满足条件:4 分布式隐私保护算法 PLRD- (k, m) Graph X 是 Spark 上用于图和并行图计算的处理系统, 编程模型上遵循“节点为中心”模式, 计算过程由若干顺序执行的超级步 (superstep) 组成, 在超级步 S 中, 节点汇总从超级步 (S-1) 中其他节点传递过来的消息, 改变自身的状态, 并向其他节点发送消息, 消息经过同步后, 会在超级步 (S+1) 中被其他节点接收

19、并做出处理。同时, Graph X 引入了扩展自 Spark RDD 的属性图, 并提供了一组基本功能操作, 如图构造操作、图反转等, 以及优化的 Pregel API。4.1 分布式节点分组算法 FUG为了满足定义 2 中的条件 3, 提出一个节点安全分组条件 SGC (safety grouping condition) 。若设 C 是包含 k 个节点的分组, 若分组 C 满足 SGC, 则对 , 两节点的最短路径长度应满足定理 1 已知社会网络图 , C 是节点集 V 中 k 个节点构成的分组, dist (u, v) 表示节点 u, v 的最短路径长度, 若uC, vC, 满足 dis

20、t (u, v) 2, 则分组 C 不存在链接。证明反证法.假设分组 C 存在链接, 则分组 C 内必存在节点 u, v 满足条件 dist (u, v) =1, 这与uC, vC, 满足 dist (u, v) 2 相矛盾, 假设不成立, 故定理 1 成立。基于定理 1 和模块化社区发现的思想22, 提出一种分布式节点分组算法 FUG (Fast Unfolding of Group) , 基本步骤如下:(1) 初始化, 为节点添加分组信息 groupid, 将节点划分在不同的分组。(2) 节点搜索 2-hop 邻居, 并修改 groupid 合并分组。(3) 构建新图, 新图中的节点是步骤

21、 (2) 产生的不同分组。重复步骤 (2) 和 (3) , 直至构建的新图是完全图, 程序结束。FUG 算法分为两个阶段 (Phase) , 如图 3。图 3 中, 圆圈内数字是 groupid, 花括号内数字是分组所包含的节点 (nodeid) 。Fig.3 Fast Unfolding of Group 图 3 FUG 算法 下载原图由图 3 可以看出, 在 Phase1 阶段, 节点搜索 2-hop 邻居, 并修改 groupid 合并分组, 而 Phase2 阶段则构建新图并进入下一轮迭代。定理 2 已知社会网络图 G= (V, E, L, ) , 对uV, vV, dist (u,

22、v) 表示节点 u 和 v 的最短路径长度, v 满足 vs|sVdist (u, s) =1, wV且 wz|zVdist (v, z) =1, 若 w 是 u 的 2-hop 邻居节点, 即 dist (u, w) =2, 则节点 w 满足:证明反证法.假设节点 w 不是节点 u 的 2-hop 节点, 则 u, w 的关系分为三种情形: (1) dist (u, w) 2; (2) u=w; (3) dist (u, w) =1。若情形 (1) 成立, 由题设 vs|sVdist (u, s) =1, 则 dist (v, w) 1, 这与wz|zVdist (v, z) =1矛盾, 故

23、情形 (1) 不成立;若 (2) 和 (3) 成立, 则与 wg|gVgudist (u, g) 1相矛盾, 故 (2) 和 (3) 不成立。综上所述, 假设不成立, 节点 w 是节点 u 的 2-hop 邻居节点。基于定理 2, 利用 Graph X 系统通过两次迭代, 节点便能搜索到 2-hop 邻居节点。第一次迭代, 节点向邻居节点发送 groupid, 收到消息的节点生成 1-hop邻居列表;第二次迭代, 节点将 1-hop 邻居列表发送给邻居节点, 收到消息的节点遍历列表, 依据定理 2 生成 2-hop 邻居列表, 具体如算法 1 所示。以图 1 为例, 算法 1 如图 4 所示。

24、为了便于表述, 图中省略了 nodeid, 仅标出了 groupid。Fig.4 2-hop neighbor search 图 4 2-hop 邻居搜索 下载原图当 superstep=0 时, 节点向邻居节点发送自己的 groupid, 如图 4 (a) ;如图 4 (b) , 当 superstep=1 时, 节点收到消息后生成 1-hop 邻居列表, 并将列表转发给邻居节点, 例如节点 2 根据消息 1 和 3, 生成列表1, 3, 并将1, 3转发给邻居节点;当 superstep=2 时, 收到消息的节点遍历所收到的列表, 依据定理 2 产生 2-hop 邻居列表, 例如节点 4

25、收到列表2, 4, 4和4, 6, 依据定理 2, 排除 1-hop 列表3, 5, 7和自身 groupid=4, 则 THNList=2, 6, 如图4 (c) 。从图 4 (c) 可以看出, 若随机修改 groupid, 可能无法合并分组。以 3, 5, 7为例, 若 3 修改为 5, 5 修改为 7, 7 修改 3, 此时分组未发生变化。为此, 提出一种 W如图 5 (b) , 当 superstep=1 时, “调解人”判断是否转发消息, 例如节点 2 满足算法第 8 行, 则转发 (3, 1) (1, 3) 给节点 1和 3;当 superstep=2 时, 算法执行第 11 行,

26、 节点 3 将自身 groupid 为修改为groupid=1, 节点 4 修改为 groupid=2, 如图 5 (c) 。Fig.5 Grouping merged 图 5 分组合并 下载原图由图 3 可知, 在 Phase1 结束后, FUG 算法转入 Phase2 阶段构造新图, 使用 RDD (Resilient Distributed Datasets) 很方便实现。FUG 算法将当前图的边信息保存在 edge Rdd, 节点的 nodeid 和相应的 groupid 信息, 以的形式保存在 group Rdd, 然后执行两次 leff Outer Join操作得到新图的边信息,

27、最后通过 Graph X 系统的 Graph.fromE dge Tuples 从新图的边信息后构建出新图, 首次构建的新图如图 3 (c) 所示。如此, 经过 3 次循环迭代, 图 G 的最终分组结果为:group1=1, 3, 5, 7和group2=2, 4, 6。4.2 分布式 k-degree 匿名为了不向分组引入链接, k-degree 匿名采用添加节点和边的方式实现, 并要求添加的边 (u, v) 满足条件: , 其中 是添加的节点集, 而 中节点的数目可以通过公式 (1) 得出11。其中, k 是分组中节点数目, M 是最大缺失值。定理 3 FUG 算法收敛, 且当算法收敛时,

28、 构建的新图 Gn是无向完全图。证明反证法. (1) 假设 Gn是无向完全图时, FUG 未收敛。根据定义 4, 在图 Gn中, 任意节点 u 和 v, 满足 dist (u, v) =1, 由算法 1, 此时节点 u 和 v 转变为 In Active 状态, FUG 算法收敛, 假设不成立; (2) 假设 FUG 算法收敛时, 图 Gn不是无向完全图, 由定义 4 可知, 此时图 Gn中, 存在节点 u 和 v 满足dist (u, v) 2, 节点仍处于 Active 状态, FUG 算法会继续执行, 未收敛, 假设不成立。综上所述, 定理 3 成立。由于 Gn是完全图, 节点彼此间可以

29、通信, 因此通过 Graph X 可以很容易的计算出最大缺失值 M。节点分组时, FUG 算法并未考虑参数 k。因此, 计算 M 值时, 首先要对 4.1 节产生的分组进行分割, 方法是:将分组节点按度值降序排列, 每 k 个节点划分成一个子分组 (subgroup) , 若最后一个子分组节点数目不足k, 则与前一个子分组合并。计算最大缺失值 M 的步骤如下:(1) 初始化, 分组划分成若干子分组, 子分组计算 , 即节点度最大值与最小值的差, 令 M=maxs ub1, sub2, , subn。(2) superstep%2=0 时, 发送 M 值给邻居节点。(3) superstep%2

30、=1 时, 节点将消息对比自身 M 值。若大于自身值, 则更新为收到的 M 值, 保持 Active 状态, 否则转为 In Active 状态。(4) 重复 (2) (3) , 直至节点处于 In Active 状态。具体如算法 3 所示。以 4.1 节产生的分组5, 3, 1, 7和2, 4, 6为例, 并假设 k=2, 算法 3 如图6。初始化时, 分组5, 3, 1, 7被划分为子分组5, 3和1, 7, 并计算, , 所以分组5, 3, 1, 7相应的 M 值为 0, 同理2, 4, 6的 M 值为 2。当 superstep=0 时, 节点处于 Active 状态并向邻居节点发送值

31、 M, 如图 6 (b) ;当 supertep=1 时, 节点将消息对比自身 M 值, 若大于自身值则更新并保持 Active 状态, 反之转为 In Active 状态, 如图 6 (c) , 节点 1 将 M 值更新为 2, 并保持 Active 状态, 而节点 2 转为 In Active 状态。最终, 得出最大缺失值 M=2。Fig.6 Computing Max deficiency 图 6 计算 M 值 下载原图分组内节点不存在链接, 不能通过传递消息确定目标度。因此, 为分组创建相应的虚拟节点作为“中枢”, 其邻接节点是分组内的各个节点, 如图 7 (a) 所示。分组节点与虚拟

32、节点构成二分图结构, 两者通过消息传递, 经过 3 个superstep 完成 k-degree 匿名, 基本步骤如下:(1) superstep=0 时, 分组节点为 Active 状态, 并发送 (nodeid, degree) 给虚拟节点, 其中 nodeid 是节点的编号, degree 是节点的度。(2) superstep=1 时, 虚拟节点为 Active 状态, 对分组节点按度降序排列, 并令最大度为目标度, 计算 d i和 num, d i是节点 vi要添加的边的数目, num 是节点 vi前 i-1 个节点添加边的总数目, 发送 (vir.id, d i, num) 给分组

33、节点, vir.id 是虚拟节点的编号 (vir.id=0, 1, 2) 。(3) superstep=2 时, 分组节点收到消息后, 利用参数 vir.id, d i, num 以及 k, M 添加伪边。方法是:利用公式 (1) 计算添加节点数目 N;然后建立 d i2 的矩阵, 矩阵的第 0 列是节点的 nodeid, 第 1 列按行依次写入 pesudo (vir.id+num+X) modN, 其中 X=1, 2, , d i;最后以 (nodeid, pesudoi) 的形式将矩阵存入 edge RDD。具体如算法 4 所示。以算法 3 产生的分组1, 7, 5, 3, 2, 4,

34、6为例, 算法 4 如图 7 所示。当superstep=0 时, 分组节点向虚拟节点发送 nodeid 和度, 如图 7 (a) ;当superstep=2 时, 虚拟节点找出目标度, 并为节点计算 d i和 num。以虚拟节点 1 为例, 并假设节点降序排列为4, 2, 6, 则目标度为 3, 节点 2 前一个节点是节点 4, 则 d i= (3-2) =1, num=0, 故返回消息 (1, 1, 0) , 同理节点6, d i= (3-1) =2, num=0+1=1, 故返回消息 (1, 2, 1) , 如图 7 (b) ;当superstep=2 时, 分组节点根据消息以及 N 添加伪边, 以分组4, 2, 6为例, 节点 2 消息为 (1, 1, 0) , 则 (vir.id+num+X) mod N= (1+0+1) mod3=2, 所以添加边 (2, pseudo2) , 节点 6 根据消息 (1, 2, 1) , 依次添加伪边 (6, pseudo (1+1+1) mod3) , 即伪边 (6, pseudo0) 以及伪边 (6, pseudo (1+1+2) mod3) , 即 (6, pseudo1) 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 期刊/会议论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报