2. 湖北省建筑质量检测装备工程技术研究中心, 湖北 宜昌 443000
2. Hubei Province Engineering Technology Research Center for Construction Quality Testing Equipment, Yichang, Hubei 443000, China
开放科学(资源服务)标志码(OSID):
现有许多基于k度匿名的社交网络匿名模型都假设网络结构不变,仅考虑网络结构的一次性匿名发布。但是,真实社交网络图是不断变化的,攻击者很有可能根据社交网络图前后的变化进行关联攻击,此外,若每次对待发布数据重新进行一次匿名处理,将降低动态社交网络数据匿名的灵活性,因此,考虑社交网络发布数据的动态性十分有必要,研究人员在动态社区发现[1]、动态社交网络节点影响力[2]、动态社交网络表示学习[3]等领域,都需要对动态社交网络进行深入分析,而隐私保护问题与人们的日常生活密切相关,研究动态社交网络的隐私保护问题和隐私保护方法尤为重要。
针对单一社交网络隐私保护问题,LIU等[4]提出一种k度匿名保护方案,其通过构造k度向量来进行图重构,以防止节点度数攻击,但是,该图重构技术极大地破坏了原图中所有的节点关联关系,带来了很大的结构信息损失。TAI等[5]提出了
董祥祥等[18]针对社交网络动态变化的更新问题,提出动态社交网络发布的匿名数据方法,其通过匿名更新已经匿名的数据,保证前后匿名图具有相似的图结构,但是,该方法并未考虑前后匿名图存在的隐私泄露风险。金叶等[19]考虑网络中社区结构属性所带来的隐私泄露风险,将节点分为边缘节点和一般节点,然后对其进行匿名,从而保护度结构和社区结构。KIABOD等[20]考虑每次构造k度向量会浪费很多时间,其通过构造k度向量树来保证在需要得到不同k值时可以从k度向量树上直接得到k度向量,从而大幅节省重新获取k度向量的时间。刘振鹏等[21]提出动态社交网络差分隐私保护方法,其缩短了每一次更新匿名图的时间,但是,差分隐私对度背景知识攻击的抵抗性较差,需要添加较多的噪声节点。张晓琳等[22]针对有向社交网络提出大规模出入度匿名保护方法,其通过贪心算法分组并增加虚拟节点来匿名节点,在对虚拟节点进行合并删除的过程中依据层次社区结构划分保持节点所属社区不变,从而较好地保护图的基本属性和社区结构。
上述大多数度匿名研究集中在单一社交网络匿名保护方面,虽然可以对变化后的整个社交网络重新匿名再进行发布,但是这样的匿名方式会存在大量冗余计算,有少量节点和边发生变化时还是需要对整个社交网络进行全部匿名化处理。此外,攻击者在分析前后匿名图中的节点度变化时,根据前后不同时刻的匿名图进行关联攻击,这存在一定的隐私泄露风险。针对上述问题,本文提出一种图数据连续发布中的k度时序匿名方法。考虑连续图中节点度数变化会泄露隐私的问题,通过构造k度时序矩阵来保证前后匿名图中节点度变化相同的节点个数不少于k个,然后通过图修改方法得到一系列匿名图版本。
1 问题描述及相关定义本文考虑的时序图是无向无权的简单图的连续变化过程,用
定义1(度时序背景知识攻击) 度时序背景知识攻击也称度变化背景知识攻击,当攻击者具有较强的度背景知识时,通过已知节点在不同时刻社交网络中度数变化的唯一性,可以标识该节点。
定义1增强了攻击者的攻击能力,为了更好地说明度时序攻击的可能性,本文给出简单的示例,如图 1所示,
![]() |
Download:
|
图 1 不同时刻的2度匿名图 Fig. 1 2-degree anonymous graph at different times |
由以上例子可以看出,在不同时间段,节点的度数会发生变化。为了更好地解决节点度数变化可能导致的隐私问题,本文将度变化定义成度时序,具体如定义2所示。在多个社交网络中,不同用户在不同时刻图中的度数组成度时序矩阵,具体如定义3所示。
定义2(度时序) 在连续的图数据发布中,节点的度数在不同时刻社交图中会出现不同的值,节点度会随着时间的变化而改变。节点i的度时序用
定义3(度时序矩阵) 由各个节点的度时序向量共同组成的矩阵称为度时序矩阵
定义2和定义3是对原始多个待发布图的特征定义,考虑到攻击者会根据度变化的唯一性进行攻击,从而导致隐私泄露,因此,需要保证至少有k-1个节点的度时序相同,这样才能满足k匿名性要求。
定义4(k度时序匿名) 在连续发布图中,对于任意一个节点v的度时序,至少存在k-1个节点的度时序与之相同。
定义4是传统k匿名保护方法的扩展,其能抵抗更强的背景知识攻击,又同时具备原有k匿名方法的隐私保护能力。
定理1 若社交网络图满足k度时序匿名,则满足每个时刻的社交图是k度匿名的。
证明 在k度时序匿名的连续图中,对于任意一个节点v,由于其满足k度时序匿名,则必定存在k-1个节点的度时序向量是相同的,因此,在对应的时刻图中,节点v的度数至少与k-1个节点的度是相同的,满足k度匿名性,因此,k度时序匿名的时序图中每一时刻的社交图都是k度匿名的。
由定理1可知,满足k度时序匿名一定满足k度匿名,简单而言,就是在能够抵抗度攻击的基础上,还可以抵抗攻击者根据度变化进行的攻击。
定义5(k度时序矩阵) 如果连续图数据发布中的度时序矩阵是k度时序矩阵,那么在由节点度时序向量组成的度时序矩阵中,对于任意一个节点的度时序向量,至少有k-1个节点的度时序向量与之相同,即在度时序矩阵中,对于任意一行,至少有k-1行与其相同。
由定义5可以看出,本文参考k度匿名算法中的简易思想原理,通过提取每个节点的度时序组成度时序矩阵,使度时序矩阵中的每一个行向量都有至少k-1个行向量与之相同,那么连续图数据就是k度时序匿名的。在得到满足k匿名性的矩阵后,通过图修改技术对原始图进行边和节点的修改操作,就可以得到所需的匿名图并进行发布。
2 连续图中的k度时序匿名模型为了满足图数据连续发布中的k度时序匿名性,本文提出连续图k度时序匿名模型,其算法分为两步:首先,获取整个连续图数据的度时序矩阵
![]() |
Download:
|
图 2 2种匿名模型的对比 Fig. 2 Comparison of two anonymous models |
从图 2可以看出,对于多个待发布的图数据而言,其k度匿名模型需要对每一个待发布图都进行匿名处理,这在很大程度上浪费了时间,而且不能很好地抵抗度时序攻击,而k度时序匿名不仅可以抵抗度时序攻击,还可以更好地处理多个待发布图,在增强隐私的同时更具灵活性。
2.1 基于贪婪划分策略的k度时序矩阵构造对于社交图的变化情况,本文考虑符合人们真实活动的社交网络,即某一用户在原社交圈认识新的朋友对应社交图中边的增加,有新的成员加入该社交圈子对应新节点的增加和新边的增加。对于图 1中的
基于以上考虑,对于度时序矩阵
$ \mathrm{d}\mathrm{i}\mathrm{s}\mathrm{t}(i, j)=\left|\right|{D}_{i·}-{D}_{j·}|{|}_{1} $ | (1) |
其中:
算法1 基于贪婪策略的分组划分算法
输入 度时序矩阵
输出 k度时序矩阵
1.sort D by
2.Group
3.
4.for each pi in group do
5.
6.for each
7.change
8.end for
9.end for
10.return
在经过贪婪分组划分后,得到满足k匿名性的k度时序矩阵,接下来根据图修改方法将连续社交图
$ {d}_{\mathrm{d}\mathrm{e}\mathrm{f}}=D{\text{'}}_{i(t+1)}-D{\text{'}}_{it} $ | (2) |
其中:
如图 3所示,由于图 1中连续社交网络并不满足2度时序匿名性,因此需要对其进行匿名化处理。首先根据
![]() |
Download:
|
图 3 2度时序匿名图 Fig. 3 2-degree time series anonymous graph |
通过图修改操作来增加边的过程为:如果节点i和节点j都需要增加度,并且i和j之间不存在边,则添加一条边(i,j)。通过图修改操作来增加虚拟节点的过程为:如果节点i和节点j都需要增加度,但i和j之间存在边,则创建虚拟节点k,其与节点i、j都相连。具体匿名步骤如算法2所示。
算法2 k度时序匿名算法
输入 k度时序矩阵
输出t+1时刻匿名图
1.
2.V={}
3.for i in len(
4.
5.ddef =
6.if ddef > 0:
7.V.append(
8.end if
9.end for
10.for i=1 to len(V) do
11.for j =i+1 to len(V) do
12.if
13.
14.
15.
16.end for
17.end for
18.delete ddef = 0 in V
19.for i in V do
20.for j=1 to ddef do
21.creat new node v
22.
23.end for
24.end for
25.return
在算法2中:步骤3~步骤9主要计算各个已匿名节点达到下一时刻匿名要求的差值,并将其保存到候选节点中;步骤10~步骤23是对当前已经满足k度匿名性的图进行修改,包括添加边和添加虚拟节点,使其成为满足下一时刻匿名要求的k度匿名图。算法整体的时间复杂度为O(
本文从运行时间和数据属性实用性2个方面验证所提匿名算法的可行性,同时将其与传统kDA算法[4]进行比较。kDA算法是单一时刻社交网络图数据匿名算法,为了使其能够适应图数据连续发布中的度匿名保护,需要对每个时刻的社交图都进行一次kDA算法操作,以此得到整个连续社交图在各个匿名算法下的实验数据。所有实验都是在Windows10操作系统下进行,配置为16 GB的RAM、3.40 GHz的八核处理器i7-6700,编译环境为Python3.6。
3.1 数据集本文实验使用Facebook数据集,该数据集从斯坦福大学数据库SNAP(http://snap.stanford.edu/data/index.html)中得到,共包含4 039个节点,88 234条边。由于该数据集是单个社交图,因此本文通过随机增加节点以及增加具有相同邻居的节点之间的边,以模拟图数据连续发布过程。处理后的数据集具体信息如表 1所示。
![]() |
下载CSV 表 1 Facebook数据集信息 Table 1 Facebook dataset information |
为了验证本文算法的有效性,首先,从运行效率上将其与kDA算法[4]进行对比,运行时间为各个社交图匿名时间的总和。其次,本文将图结构的平均聚类系数、平均路径长度、传导性等[23]图结构属性作为评价指标,通过实验来验证本文算法的数据实用性。
图 4所示为本文算法和kDA算法的总体运行时间对比,其中,kDA算法的时间是匿名不同时刻社交图的时间总和。从图 4可以看出,随着隐私程度k值的不断增大,算法处理的节点数量不断增多,因此,2个算法的总体运行时间都在增加,但是本文所提算法的运行时间总体上都小于kDA算法,这是因为在后续处理匿名图时,本文算法可以在第一个匿名图的基础上进行图修改操作,以得到后续的匿名图,大幅减少了所处理节点的数量,而kDA算法要重新遍历整个原始图进行重构操作,在很大程度上浪费了时间。因此,本文所提算法总体运行时间优于kDA算法。图 5所示为本文算法和kDA算法在不同数据集上通过匿名操作引起的平均聚类系数变化。从图 5可以看出,随着隐私程度k的不断增大,2种算法都会改变原始图的平均聚类系数,但是,kDA算法中的重构匿名在较大程度上改变了原图的平均聚类系数,而本文所提算法在原始图的基础上进行图修改,改变平均聚类系数较少,虽然两者改变程度相似,但是本文算法对度时序背景知识攻击具有很好的抵抗性,相当于增强了原始图抵抗去匿名化的能力,本文通过图修改方法较少地改变了平均聚类系数属性,较好地保留了原始图结构,能够更好地抵抗度时序背景知识攻击。
![]() |
Download:
|
图 4 2种算法的运行时间对比 Fig. 4 Comparison of running time of two algorithms |
![]() |
Download:
|
图 5 平均聚类系数变化情况 Fig. 5 Change of average clustering coefficient |
图 6所示为在不同时刻社交图上通过匿名操作后引起的平均最短路径变化。从图 6可以看出,随着匿名程度的增加,2个算法引起平均最短路径的变化越来越大,但是,kDA算法引起的变化较大,这是因为在图重构算法中重构具有随机性,并且会存在强行改变原始图节点分布的情况,较大地改变了平均路径长度,而本文算法分析边操作满足不了k匿名性的问题,对无法通过边操作的节点,通过构建虚拟节点来满足k匿名性,这就增大或者减小了一些节点的最短路径长度,平均最短路径长度变化较小,从而较好地保留了数据实用性。
![]() |
Download:
|
图 6 平均最短路径变化情况 Fig. 6 Change of average shortest path |
图 7所示为2种算法中图的传导性相对于隐私程度k的变化情况。从图 7可以看出,随着k值的增加,2种算法都轻微地影响原图传导性的值,相对于其他图结构属性而言,传导性影响较小,但是,本文算法的影响程度总是小于kDA算法,其较好地保留了原图的结构属性。
![]() |
Download:
|
图 7 传导性变化情况 Fig. 7 Change of conductivity |
为了更好地说明本文匿名算法的性能,将2个算法的总体边变化率的平均值进行比较,如图 8所示。从图 8可以看出,kDA算法较大地改变了原始图中的边,这是因为重构算法是根据目标度序列重新生成匿名图,原有节点的边可能在重构中转换成与其他节点相连的边,这就导致图中原有边发生较大改变。而本文算法是在原图的基础上进行修改,保证了原有边不会发生改变,较好地保留了原始边,因此,在边的改变情况上体现出性能优势。
![]() |
Download:
|
图 8 总体边变化率 Fig. 8 Overall edge change rate |
传统k度匿名在连续社交网络发布中存在隐私泄露风险,为了保证节点度变化的k匿名性,本文提出一种k度时序匿名保护方法。通过提取每个节点在每个时刻图中的度时序矩阵,构建满足k匿名性要求的k度时序矩阵,利用图修改技术进行匿名化处理,完成每个时刻社交图的k度时序匿名,匿名后的图不仅在每个时刻都满足k度匿名的要求,而且可以抵抗攻击者基于节点度变化进行的推理攻击,加强了节点在连续发布图中的匿名强度。实验结果验证了该方法在运行效率上的优势以及在图结构属性上的可用性。本文方法在对社交图进行匿名保护时引起的结构属性变化较大,后续将研究如何通过较小的图结构属性改变来满足图数据连续发布中的匿名保护要求。
[1] |
王莉, 程学旗. 在线社会网络的动态社区发现及演化[J]. 计算机学报, 2015, 38(2): 219-237. WANG L, CHENG X Q. Dynamic community in online social networks[J]. Chinese Journal of Computers, 2015, 38(2): 219-237. (in Chinese) |
[2] |
HAFIENE N, KAROUI W, BEN ROMDHANE L. Influential nodes detection in dynamic social networks: a survey[J]. Expert Systems with Applications, 2020, 159: 113642. DOI:10.1016/j.eswa.2020.113642 |
[3] |
丁钰, 魏浩, 潘志松, 等. 网络表示学习算法综述[J]. 计算机科学, 2020, 47(9): 52-59. DING Y, WEI H, PAN Z S, et al. Survey of network representation learning[J]. Computer Science, 2020, 47(9): 52-59. (in Chinese) |
[4] |
LIU K, TERZI E. Towards identity anonymization on graphs[C]//Proceedings of 2008 ACM SIGMOD International Conference on Management of Data. New York, USA: ACM Press, 2008: 93-106.
|
[5] |
TAI C H, YU P S, YANG D N, et al. Privacy-preserving social network publication against friendship attacks[C]//Proceedings of the 17th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, USA: ACM Press, 2011: 14-26.
|
[6] |
HAY M, MIKLAU G, JENSEN D, et al. Resisting structural re-identification in anonymized social networks[J]. The VLDB Journal, 2010, 19(6): 797-823. DOI:10.1007/s00778-010-0210-x |
[7] |
LEI Z, LEI C, TAMER Ö M. K-automorphism: a general framework for privacy preserving network publication[J]. Proceedings of the VLDB Endowment, 2009, 2(1): 946-957. DOI:10.14778/1687627.1687734 |
[8] |
JAMES C, ADA W F, JIA L. K-isomorphism: privacy preserving network publication against structural attacks[EB/OL]. [2021-03-05]. https://www.cse.cuhk.edu.hk/~jcheng/papers/kIsomorphism_sigmod10.pdf.
|
[9] |
龚卫华, 兰雪锋, 裴小兵, 等. 基于k-度匿名的社会网络隐私保护方法[J]. 电子学报, 2016, 44(6): 1437-1444. GONG W H, LAN X F, PEI X B, et al. Privacy preservation method based on k-degree anonymity in social networks[J]. Acta Electronica Sinica, 2016, 44(6): 1437-1444. (in Chinese) |
[10] |
MITTAL P, PAPAMANTHOU C, SONG D. Preserving link privacy in social network based systems[EB/OL]. [2021-03-05]. https://www.princeton.edu/~pmittal/publications/link-privacy-ndss13.pdf.
|
[11] |
王路宁. 动态社交网络下面向隐私保护的链路预测研究[D]. 大连: 大连理工大学, 2016. WANG L N. Link prediction for privacy and anonymi-zation in dynamic social networks[D]. Dalian: Dalian University of Technology, 2016. (in Chinese) |
[12] |
MA T, ZHANG Y, CAO J, et al. KDVEM: a k-degree anonymity with vertex and edge modification algorithm[J]. Computing, 2015, 97(12): 1165-1184. DOI:10.1007/s00607-015-0453-x |
[13] |
周克涛, 刘卫国, 施荣华. 基于邻居度序列相似度的k-度匿名隐私保护方案[J]. 计算机工程与应用, 2017, 53(19): 102-108. ZHOU K T, LIU W G, SHI R H. k-degree anonymity scheme for preserving privacy based on similarity of neighborhood degree sequence[J]. Computer Engineering and Applications, 2017, 53(19): 102-108. (in Chinese) |
[14] |
CHESTER S, KAPRON B M, RAMESH G, et al. Why Waldo befriended the dummy? k-anonymization of social networks with pseudo-nodes[J]. Social Network Analysis and Mining, 2013, 3(3): 381-399. DOI:10.1007/s13278-012-0084-6 |
[15] |
CASAS-ROMA J, HERRERA-JOANCOMARTÍ J, TORRA V. k-degree anonymity and edge selection: improving data utility in large networks[J]. Knowledge and Information Systems, 2017, 50: 447-474. DOI:10.1007/s10115-016-0947-7 |
[16] |
CHEN Y T, WU B Y. An efficient algorithm for minimal edit cost of graph degree anonymity[C]// Proceedings of 2018 IEEE International Conference on Applied System Invention. Washington D. C., USA: IEEE Press, 2018: 574-577.
|
[17] |
谷勇浩, 林九川, 郭达. 基于聚类的动态社交网络隐私保护方法[J]. 通信学报, 2015, 36(S1): 126-130. GU Y H, LIN J C, GUO D. Clustering-based dynamic privacy preserving method for social networks[J]. Journal on Communications, 2015, 36(S1): 126-130. (in Chinese) |
[18] |
董祥祥, 高昂, 梁英, 等. 动态社会网络数据发布隐私保护方法[J]. 计算机科学与探索, 2019, 13(9): 1441-1458. DONG X X, GAO A, LIANG Y, et al. Method of privacy preserving in dynamic social network data publication[J]. Journal of Frontiers of Computer Science and Technology, 2019, 13(9): 1441-1458. (in Chinese) |
[19] |
金叶, 丁晓波, 龚国强, 等. 基于节点分类的k度匿名隐私保护方法[J]. 计算机工程, 2020, 46(3): 138-143. JIN Y, DING X B, GONG G Q, et al. Privacy protection method for k degree anonymity based on node classification[J]. Computer Engineering, 2020, 46(3): 138-143. (in Chinese) |
[20] |
KIABOD M, DEHKORDI M N, BAREKATAIN B. TSRAM: a time-saving k-degree anonymization method in social network[J]. Expert Systems with Applications, 2019, 125: 378-396. DOI:10.1016/j.eswa.2019.01.059 |
[21] |
刘振鹏, 王烁, 贺玉鹏, 等. 基于B+树索引的动态社会网络差分隐私保护[J]. 兰州理工大学学报, 2020, 46(6): 98-103. LIU Z P, WANG S, HE Y P, et al. Dynamic social network differential privacy protection based on B+ tree index[J]. Journal of Lanzhou University of Technology, 2020, 46(6): 98-103. (in Chinese) |
[22] |
张晓琳, 刘娇, 毕红净, 等. 大规模社会网络K-出入度匿名方法[J]. 计算机工程, 2020, 46(11): 164-173. ZHANG X L, LIU J, BI H J, et al. K-in & out-degree anonymity method for large scale social networks[J]. Computer Engineering, 2020, 46(11): 164-173. (in Chinese) |
[23] |
JI S L, MITTAL P, BEYAH R. Graph data anonymization, de-anonymization attacks, and de-anonymizability quantification: a survey[J]. IEEE Communications Surveys & Tutorials, 2017, 19(2): 1305-1326. |