桂 瓊,呂永軍,程小輝
(1.桂林理工大學(xué) 信息科學(xué)與工程學(xué)院,廣西 桂林 541004; 2.武漢理工大學(xué) 信息工程學(xué)院,武漢 430070)
在大數(shù)據(jù)背景下,海量數(shù)據(jù)的共享與應(yīng)用極大地推動(dòng)了社會(huì)的發(fā)展,但同時(shí)也帶來(lái)了隱私保護(hù)問(wèn)題。在這種情況下,數(shù)據(jù)匿名技術(shù)可以有效降低攻擊者獲取個(gè)人敏感信息的概率,同時(shí)保證數(shù)據(jù)的可用性。匿名化以其安全性和有效性成為保護(hù)數(shù)據(jù)隱私的一個(gè)有效方法,近年來(lái)在社會(huì)中受到廣泛關(guān)注。
匿名化操作方式一般是刪除記錄中標(biāo)識(shí)符屬性,隨后發(fā)布數(shù)據(jù),但是鏈接攻擊會(huì)通過(guò)發(fā)布數(shù)據(jù)中準(zhǔn)標(biāo)識(shí)符屬性進(jìn)行唯一識(shí)別元組導(dǎo)致隱私泄露。研究人員提出諸多匿名模型,如k-匿名模型[1]、l-多樣性[2]和t-近鄰[3]等,在對(duì)元組敏感屬性賦約束時(shí),提出(α,k)-匿名模型[4]、(k,e)-匿名模型[5]和(,m)-匿名模型[6]等,其中(,m)-匿名模型給出相似性攻擊的概念。文獻(xiàn)[7]證明如何最優(yōu)化數(shù)據(jù)匿名問(wèn)題為NP-hard。在已發(fā)布數(shù)據(jù)確保隱私保護(hù)的同時(shí),支持有效的數(shù)據(jù)分析有多種不同匿名方法被提出[8-9]。
在信息損失和時(shí)間效率優(yōu)化方面,文獻(xiàn)[10]提出一種貪心聚類(lèi)匿名方法,權(quán)衡總體信息損失和匿名時(shí)間。依據(jù)準(zhǔn)標(biāo)識(shí)符對(duì)敏感屬性分類(lèi)重要程度,文獻(xiàn)[11]提出一種基于權(quán)重屬性熵的分類(lèi)匿名方法,根據(jù)不同敏感屬性的權(quán)重屬性熵大小對(duì)數(shù)據(jù)集進(jìn)行有利劃分。文獻(xiàn)[12]提出面向缺失數(shù)據(jù)的方法,強(qiáng)調(diào)保留原始數(shù)據(jù)特性,在面向包含關(guān)系和事務(wù)屬性的數(shù)據(jù)時(shí),又提出(k,l)-多樣化模型[13],在保障數(shù)據(jù)可用性的同時(shí)實(shí)現(xiàn)更高的效率。文獻(xiàn)[14]提出數(shù)據(jù)中敏感屬性分配敏感度級(jí)別方法。文獻(xiàn)[15]提出基于屬性值語(yǔ)義邊緣劃分方法。文獻(xiàn)[16]提出面向多敏感屬性的匿名方法。
考慮同一等價(jià)類(lèi)語(yǔ)義相近的敏感屬性,攻擊者通過(guò)相似性攻擊提高了個(gè)人隱私泄露概率。(ε,m)-匿名模型可以有效抵抗相似性攻擊,但未對(duì)分類(lèi)敏感屬性分類(lèi)問(wèn)題提出解決方案。文獻(xiàn)[17]提出一種抵制相似性攻擊的(p,k,d)-匿名模型,要求每個(gè)等價(jià)類(lèi)至少包含p個(gè)d-相異的敏感值阻止相似性攻擊,有效保護(hù)了個(gè)人隱私,但會(huì)造成不必要的信息損失。本文對(duì)分類(lèi)敏感屬性進(jìn)行研究,構(gòu)建一種敏感信息鄰近抵抗的(r,k)-匿名模型,并給出基于敏感屬性鄰近抵抗的匿名方法GDPPR。
令T為原始數(shù)據(jù)表,A={A1,A2,…,An}分別對(duì)應(yīng)表中元組的n個(gè)屬性。其中,標(biāo)識(shí)屬性表示唯一識(shí)別個(gè)人身份的屬性,如“Name”屬性,在發(fā)布的原始數(shù)據(jù)中被移除。準(zhǔn)標(biāo)識(shí)符屬性表示通過(guò)組合可以唯一標(biāo)識(shí)個(gè)人身份的屬性,如“Age”“Gender”和“ZipCode”等屬性。設(shè)定“Disease”為敏感屬性,即涉及隱私信息的屬性。發(fā)布的原始數(shù)據(jù)表如表1所示。
表1 原始數(shù)據(jù)表Table 1 Raw data table
使用區(qū)間或者模糊的值取代原數(shù)據(jù)中具體的屬性值的過(guò)程稱(chēng)為數(shù)據(jù)泛化,為保留數(shù)據(jù)語(yǔ)義,需要對(duì)元組屬性建立泛化層次結(jié)構(gòu),如圖1所示。
圖1 泛化層次結(jié)構(gòu)
不同元組屬性有不同的泛化層次,為減少信息損失,需要尋找泛化層次中替代相應(yīng)取值的最低公共子節(jié)點(diǎn)。
在數(shù)據(jù)表T中,每個(gè)等價(jià)類(lèi)滿(mǎn)足至少有k個(gè)元組準(zhǔn)標(biāo)識(shí)符屬性不可區(qū)分,那么該數(shù)據(jù)表T滿(mǎn)足k-匿名模型。表2為滿(mǎn)足3-匿名模型的匿名數(shù)據(jù)。
表2 滿(mǎn)足3-匿名模型的數(shù)據(jù)Table 2 Data satisfying the 3-anonymity model
定義1(隱私泄露風(fēng)險(xiǎn)) 在數(shù)據(jù)表T中,同一等價(jià)類(lèi)相鄰語(yǔ)義下敏感屬性集合取值頻率,稱(chēng)為泄露風(fēng)險(xiǎn)。結(jié)合分類(lèi)敏感屬性特性,改進(jìn)泄露風(fēng)險(xiǎn)R[18],定義等價(jià)類(lèi)中的泄露風(fēng)險(xiǎn)R(ci):
(1)
在同一等價(jià)類(lèi)中,cRSA表示用戶(hù)可容忍發(fā)布的最低層次下語(yǔ)義關(guān)聯(lián)敏感屬性值,cSA表示敏感屬性值。如表2的等價(jià)類(lèi)1中,敏感屬性flu、pneumonia屬于呼吸系統(tǒng)類(lèi)疾病,被攻擊者推斷出,造成隱私泄露。數(shù)據(jù)被劃分為p個(gè)等價(jià)類(lèi)時(shí),定義數(shù)據(jù)表T的泄露風(fēng)險(xiǎn)為:
R(T)=max(R(ci)),i=1,2,…,p
(2)
本文基于屬性相似度衡量信息損失,屬性間相似度越高,泛化造成的信息損失就越少。
根據(jù)原始數(shù)據(jù)表T,得到匿名表T*產(chǎn)生的信息損失為:
(3)
其中,IL(ci)表示T*中等價(jià)類(lèi)通過(guò)泛化產(chǎn)生的信息損失,p表示等價(jià)類(lèi)數(shù)量。根據(jù)等價(jià)類(lèi)中各元組的準(zhǔn)標(biāo)識(shí)符不可區(qū)分,產(chǎn)生的信息損失相同,信息損失如式(4)所示:
IL(ci)=|ci|IL(t)
(4)
IL(t)表示元組信息損失,如式(5)所示:
(5)
其中,ωi表示元組中不同的準(zhǔn)標(biāo)識(shí)符所占權(quán)重,IL(Ai)表示某一準(zhǔn)標(biāo)識(shí)符的信息損失,信息損失如式(6)所示:
(6)
其中,f(Ai)表示準(zhǔn)標(biāo)識(shí)符節(jié)點(diǎn)集合泛化結(jié)構(gòu)層次路徑長(zhǎng)度,root表示泛化層次根節(jié)點(diǎn)路徑長(zhǎng)度。數(shù)值屬性的泛化層次結(jié)構(gòu)通過(guò)差異程度表示,分類(lèi)屬性的泛化層次結(jié)構(gòu)通過(guò)集合表示。
在數(shù)據(jù)表T中,元組抑制時(shí)產(chǎn)生的信息損失最高。T*產(chǎn)生的信息損失與數(shù)據(jù)抑制產(chǎn)生的信息損失的比值稱(chēng)為損失率,如式(7)所示:
(7)
定義2(距離定義) 在數(shù)據(jù)表T中,元組相似度距離通過(guò)準(zhǔn)標(biāo)識(shí)符與敏感屬性結(jié)合來(lái)表示。在準(zhǔn)標(biāo)識(shí)符中,元組與簇中心計(jì)算公式如式(8)所示:
(8)
其中,dt(ni)、dt(cj)分別表示數(shù)值屬性和分類(lèi)屬性的相似度距離,n、c分別表示元組中數(shù)值和分類(lèi)屬性的數(shù)量,ω表示屬性權(quán)重,取值取決于在聚類(lèi)過(guò)程中元組準(zhǔn)標(biāo)識(shí)符對(duì)屬性選取的重視程度,且需要滿(mǎn)足0≤ω≤1。
定義3(敏感屬性相異度) 在語(yǔ)義角度分析下,通過(guò)敏感屬性的相似度構(gòu)造層次結(jié)構(gòu),得出元組的敏感屬性相異度公式如式(9)所示:
(9)
其中,h(a,b)表示敏感屬性值所屬泛化分類(lèi)層次最小公共節(jié)點(diǎn)路徑長(zhǎng)度,roots表示敏感屬性語(yǔ)義層次根節(jié)點(diǎn)路徑長(zhǎng)度。
本文采用模糊聚類(lèi)技術(shù),根據(jù)隸屬度矩陣劃分簇,結(jié)合敏感屬性相異度得出距離矩陣,矩陣公式如式(10)所示:
(10)
其中,權(quán)重α、β分別表示元組準(zhǔn)標(biāo)識(shí)符和敏感屬性權(quán)重參數(shù),體現(xiàn)數(shù)據(jù)擁有者對(duì)元組屬性的重視程度,且滿(mǎn)足α+β=1。
在匿名模型中通常假定敏感屬性值之間相互獨(dú)立,在相似性攻擊下則無(wú)法保障個(gè)人匿名需求,本文考慮敏感屬性相異度,在k-匿名模型基礎(chǔ)上加以改進(jìn)。
定義4((r,k)-匿名模型) 設(shè)原始數(shù)據(jù)表為T(mén),匿名數(shù)據(jù)表為T(mén)*。當(dāng)匿名表T*滿(mǎn)足k-匿名時(shí),等價(jià)類(lèi)中至少有k個(gè)除敏感屬性外不可區(qū)分的元組,同時(shí)滿(mǎn)足敏感屬性的鄰近屬性取值頻率不超過(guò)閾值r(0≤r≤1),即:
其中,C={c1,c2,…,cn}為等價(jià)類(lèi)集合,在同一等價(jià)類(lèi)中,cSA表示敏感屬性,cRSA表示具有語(yǔ)義關(guān)聯(lián)的敏感屬性。
在表2中,由于k-匿名未約束敏感屬性,當(dāng)攻擊者通過(guò)背景知識(shí)推斷出患者ANDY在第1個(gè)等價(jià)類(lèi)中,將推斷其患有呼吸系統(tǒng)疾病。本文設(shè)計(jì)(r,k)-匿名模型對(duì)原始數(shù)據(jù)表匿名化,如表3所示,由于每個(gè)等價(jià)類(lèi)中敏感屬性語(yǔ)義層次結(jié)構(gòu)父節(jié)點(diǎn)不同,攻擊者進(jìn)而無(wú)法分析ANDY患有哪類(lèi)疾病,從而降低隱私泄露風(fēng)險(xiǎn)。
表3 滿(mǎn)足(0.5,3)-匿名模型的數(shù)據(jù)Table 3 Data satisfying the (0.5,3)-anonymity model
GDPPR算法的核心思想在于敏感屬性基于語(yǔ)義關(guān)聯(lián)定義層次結(jié)構(gòu),按照元組屬于每個(gè)簇的概率完成簇的劃分。根據(jù)不同屬性泛化層次結(jié)構(gòu)進(jìn)行泛化。
算法1GDPPR算法
輸入數(shù)據(jù)集T,匿名參數(shù)k,選擇聚類(lèi)數(shù)p,模糊指標(biāo)m,聚類(lèi)中心閾值f,隱私泄露閾值r
輸出滿(mǎn)足(r,k)-多樣性的匿名數(shù)據(jù)表T*
1.Random initialization membership matrix Dn×p;
2.Traversing data records tiin T,i=1,2,…,n;
3.for j=1 to p do
4.Calculate Cluster Center cj;
5.end for
6.for i=1 to n do
7.for j=1 to p do
8.Calculating membership dij=αdtij+βdtij(s);
9.end for
10.end for
11.counter e=0;
12.while Number of iterations e > E,E:maximum number of iterations do
13.if Maximum difference between adjacent cluster centers< f then
14.Stop the iteration;
15.else
16.Recalculate the cluster center set C;
17.Update the membership matrix D;
18.e=e+1;
19.end if
20.end while
21.Dividing clusters according to the determined membership matrix;
22.for i=1 to n do
23.if The Privacy disclosure threshold < r then
24.Find the maximum membership probability of the tuple tibelonging to the cluster in the membership matrix cj;
25.Let tuple tibelong to the cluster;
26.end if
27.end for
28.for j=1 to p do
29.Generalize the divided clusters by defining a generalization strategy to obtain equivalence classes C;
30.T*=T*+C;
31.end for
32.Get cluster result T*.
對(duì)GDPPR算法描述如下:
1)步驟8計(jì)算元組與簇中心距離,形成距離矩陣D。
2)步驟13通過(guò)判斷迭代前后最大簇中心距離是否小于閾值f,不滿(mǎn)足則需重新計(jì)算簇中心,更新距離矩陣,直到滿(mǎn)足條件為止。
3)步驟29在泛化過(guò)程中結(jié)合元組的敏感屬性值對(duì)準(zhǔn)標(biāo)識(shí)符進(jìn)行層次泛化,形成滿(mǎn)足(r,k)-匿名模型的等價(jià)類(lèi),得出匿名表T*。
3.2.1 正確性分析
GDPPR算法最終會(huì)得出滿(mǎn)足(r,k)-匿名模型的匿名表。當(dāng)簇中心距離變化小于某一閾值時(shí), 對(duì)數(shù)據(jù)集進(jìn)行簇的劃分,結(jié)合敏感信息值語(yǔ)義關(guān)聯(lián),保證劃分后每個(gè)等價(jià)類(lèi)敏感屬性高度相異,形成的等價(jià)類(lèi)中相鄰語(yǔ)義敏感屬性取值頻率不超過(guò)隱私泄露閾值r。
3.2.2 時(shí)間復(fù)雜度分析
在數(shù)據(jù)集T中,設(shè)數(shù)據(jù)記錄數(shù)量為n,準(zhǔn)標(biāo)識(shí)符為m,算法中劃分p個(gè)等價(jià)類(lèi)。首先遍歷數(shù)據(jù)集,時(shí)間復(fù)雜度為O(n)。初始化距離矩陣并計(jì)算簇中心,復(fù)雜度為O(p)。循環(huán)執(zhí)行步驟3~步驟10,不斷更新簇中心和距離矩陣,當(dāng)簇中心變化閾值小于f或迭代次數(shù)超過(guò)指定次數(shù)E時(shí)循環(huán)停止,時(shí)間復(fù)雜度不高于O(enp),e表示迭代運(yùn)行次數(shù)。步驟24通過(guò)距離矩陣劃分簇,時(shí)間復(fù)雜度為O(np)。最后在步驟29依次泛化簇中元組屬性,時(shí)間復(fù)雜度為O(mp)。在整體執(zhí)行過(guò)程中,GDPPR算法總的時(shí)間復(fù)雜度為O(enp)。
3.2.3 隱私泄露風(fēng)險(xiǎn)分析
針對(duì)隱私泄露,對(duì)敏感屬性給出約束條件,滿(mǎn)足每個(gè)等價(jià)類(lèi)中相鄰語(yǔ)義敏感屬性取值頻率不超過(guò)閾值r。根據(jù)數(shù)據(jù)擁有者對(duì)屬性的重視程度,結(jié)合式(9),當(dāng)權(quán)重值β較高時(shí),可達(dá)到較高的隱私抵抗效果。
本節(jié)驗(yàn)證GDPPR算法性能,并與Mondrian算法[19]進(jìn)行對(duì)比,實(shí)驗(yàn)從數(shù)據(jù)效用、隱私泄露風(fēng)險(xiǎn)和執(zhí)行時(shí)間[20]進(jìn)行對(duì)比分析。Mondrian算法采用貪婪算法查找等價(jià)類(lèi),基于工作負(fù)載查詢(xún)泛化元組屬性,泛化策略使用多維重新編碼方法。實(shí)驗(yàn)選取UCI機(jī)器學(xué)習(xí)庫(kù)中的Adult數(shù)據(jù)集和Census-Income數(shù)據(jù)集,實(shí)驗(yàn)環(huán)境為Intel?CoreTMi5-4210M CPU @2.60 GHz,4 GB RAM,操作系統(tǒng)為Microsoft Windows10。算法GDPPR和Mondrian均使用java代碼實(shí)現(xiàn)。
Adult數(shù)據(jù)集描述了1996年美國(guó)人口統(tǒng)計(jì)數(shù)據(jù)的一部分,包含15個(gè)屬性。刪除含有缺失值的記錄,得到包含有45 222個(gè)數(shù)據(jù)記錄的數(shù)據(jù)表。實(shí)驗(yàn)中主要提取其中9個(gè)具有代表性的數(shù)據(jù)屬性進(jìn)行驗(yàn)證,即gender、age、race、marital-status、educations、native-country、workclass、occupation和salary-class。設(shè)定occupation為敏感屬性,其余8個(gè)為準(zhǔn)標(biāo)識(shí)符,在準(zhǔn)標(biāo)識(shí)符中,age為數(shù)值屬性,其余7個(gè)為分類(lèi)屬性,分類(lèi)屬性的泛化層次結(jié)構(gòu)分別由2個(gè)~4個(gè)層次結(jié)構(gòu)組成。
本文將Adult數(shù)據(jù)集中準(zhǔn)標(biāo)識(shí)符屬性權(quán)重均設(shè)為1。選取不同匿名參數(shù)k下數(shù)據(jù)集的信息損失、執(zhí)行時(shí)間在準(zhǔn)標(biāo)識(shí)符組中(QI)的變化,以及不同QI值下信息損失、隱私泄露風(fēng)險(xiǎn)和執(zhí)行時(shí)間隨匿名參數(shù)k值的變化情況。設(shè)定閾值參數(shù)r=0.25,根據(jù)式(9)設(shè)定重視參數(shù)α=0.5,β=0.5。具體實(shí)驗(yàn)數(shù)據(jù)如表4和表5所示。
表4 Adult數(shù)據(jù)集|QI|值變化的運(yùn)行結(jié)果Table 4 Operation results of |QI| value change of Adult dataset
表5 Adult數(shù)據(jù)集k值變化的運(yùn)行結(jié)果Table 5 Operation results of k value change of Adult dataset
4.1.1 可用性分析
圖2給出當(dāng)k=6和k=12時(shí),|QI|值的變化在GDPPR算法和Mondrian算法中對(duì)Adult數(shù)據(jù)集的信息損失影響,信息損失均使用損失率RIL表示。
圖2 Adult數(shù)據(jù)集|QI|值變化信息損失的對(duì)比結(jié)果
從圖2可以看出,GDPPR算法泛化產(chǎn)生的信息損失要比Mondrian算法小。隨著QI維度的增加,信息損失逐步增加。在同等環(huán)境下,GDPPR算法可以減少約7%的信息損失。
圖3給出當(dāng)|QI|=4和|QI|=8時(shí),k值的變化對(duì)Adult數(shù)據(jù)集的信息損失影響。
圖3 Adult數(shù)據(jù)集k值變化信息損失的對(duì)比結(jié)果
從圖3可以看出,在k值不斷增大時(shí),造成的信息損失在不斷增大,由于k值的增大會(huì)導(dǎo)致等價(jià)類(lèi)中元組數(shù)量增加,進(jìn)而信息損失增加。但GDPPR算法信息損失在整體上少于Mondrian算法。在同等運(yùn)行環(huán)境下,GDPPR算法減少約6%的信息損失。
4.1.2 泄露風(fēng)險(xiǎn)分析
隱私泄露風(fēng)險(xiǎn)主要取決于k的取值,圖4給出|QI|=4和|QI|=8時(shí),k值的變化在GDPPR算法和Mondrian算法中對(duì)Adult數(shù)據(jù)集的隱私泄露風(fēng)險(xiǎn)影響。
圖4 Adult數(shù)據(jù)集k值變化下隱私泄露風(fēng)險(xiǎn)的對(duì)比結(jié)果
從圖4可以看出,GDPPR算法須滿(mǎn)足每個(gè)等價(jià)類(lèi)中的敏感屬性隱私泄露閾值不得超過(guò)0.25,Mondrian算法則無(wú)此約束,隨著k值的增加,GDPPR算法和Mondrian算法中隱私泄露風(fēng)險(xiǎn)分布無(wú)明顯規(guī)律,但整體上逐步降低。Mondrian算法的隱私泄露風(fēng)險(xiǎn)值偏高,不足以抵抗相似性攻擊。
4.1.3 執(zhí)行時(shí)間分析
圖5給出當(dāng)k=6和k=12時(shí),|QI|值的變化對(duì)GDPPR算法和Mondrian算法執(zhí)行時(shí)間的影響。
圖5 Adult數(shù)據(jù)集|QI|值變化下執(zhí)行時(shí)間的對(duì)比結(jié)果
從圖5可以看出,GDPPR和Mondrian算法計(jì)算開(kāi)銷(xiāo)區(qū)別差異不大,隨著QI維度的增加,執(zhí)行時(shí)間隨之增加。這是由于QI的增加導(dǎo)致元組之間的距離計(jì)算開(kāi)銷(xiāo)增加,進(jìn)而使得實(shí)驗(yàn)整體執(zhí)行時(shí)間增加。
圖6給出當(dāng)|QI|=4和|QI|=8時(shí),k值的變化對(duì)GDPPR算法和Mondrian算法執(zhí)行時(shí)間的影響。
圖6 Adult數(shù)據(jù)集k值變化下執(zhí)行時(shí)間的對(duì)比結(jié)果
從圖6可以看出,GDPPR和Mondrian算法執(zhí)行時(shí)間整體減小,k值增加會(huì)導(dǎo)致匿名表中的每個(gè)等價(jià)類(lèi)元組數(shù)量增加,構(gòu)造等價(jià)類(lèi)的時(shí)間開(kāi)銷(xiāo)將會(huì)增大。但整個(gè)數(shù)據(jù)集元組固定,進(jìn)而出現(xiàn)等價(jià)類(lèi)個(gè)數(shù)減少,算法整體的運(yùn)行時(shí)間變化幅度不大。
Census-Income數(shù)據(jù)集包含1970年、1980年和1990年來(lái)自洛杉磯和長(zhǎng)灘地區(qū)的未加權(quán)PUMS人口普查數(shù)據(jù),包含有42個(gè)屬性、199 523條記錄,為降低計(jì)算開(kāi)銷(xiāo),本文隨機(jī)截取20%數(shù)據(jù)記錄并刪除含有缺失值的記錄,得出包含38 024個(gè)數(shù)據(jù)記錄的數(shù)據(jù)表。主要提取8個(gè)具有代表性的數(shù)據(jù)屬性,即age、sex、race、marital-status、education、country of birth self、class of worker、major occupation code。設(shè)定major occupation code為敏感屬性,其余為準(zhǔn)標(biāo)識(shí)符,在準(zhǔn)標(biāo)識(shí)符中,age為數(shù)值屬性,其余為分類(lèi)屬性,泛化層次有2個(gè)~4個(gè)。
本文將Census-Income數(shù)據(jù)集中準(zhǔn)標(biāo)識(shí)符屬性權(quán)重均設(shè)為1。分別選取不同參數(shù)k下Census-Income數(shù)據(jù)集的信息損失、執(zhí)行時(shí)間在準(zhǔn)標(biāo)識(shí)符組中|QI|值的變化,以及不同|QI|值下的據(jù)信息損失、隱私泄露風(fēng)險(xiǎn)和執(zhí)行時(shí)間隨匿名參數(shù)k值的變化情況,實(shí)驗(yàn)中設(shè)定閾值參數(shù)r=0.40。設(shè)定重視參數(shù)α=0.5,β=0.5。具體實(shí)驗(yàn)數(shù)據(jù)如表6和表7所示。
表6 Census-Income數(shù)據(jù)集|QI|值變化的運(yùn)行結(jié)果Table 6 Operation results of |QI| value change of Census-Income dataset
表7 Census-Income數(shù)據(jù)集k變化的運(yùn)行結(jié)果Table 7 Operation results of k value change of Census-Income dataset
4.2.1 數(shù)據(jù)可用性分析
圖7給出當(dāng)k=6和k=12時(shí),|QI|值變化在GDPPR算法和Mondrian算法中對(duì)Census-Income數(shù)據(jù)集的信息損失影響,信息損失通過(guò)損失率RIL表示。
圖7 Census-Income數(shù)據(jù)集|QI|變化信息損失的對(duì)比結(jié)果
從圖7可以看出,GDPPR算法在Census-Income數(shù)據(jù)集下泛化產(chǎn)生的信息損失要比Mondrian算法少。隨著QI維度的增加,信息損失也在增加。在同等環(huán)境下,GDPPR算法可以實(shí)現(xiàn)減少約5%的信息損失。
圖8給出了當(dāng)|QI|=3和|QI|=6時(shí),k值的變化對(duì)Census-Income數(shù)據(jù)集的信息損失影響。
圖8 Census-Income數(shù)據(jù)集k值變化信息損失的對(duì)比結(jié)果
從圖8可以看出,當(dāng)k值不斷增大時(shí),造成的信息損失不斷增大,但GDPPR算法略小于Mondrian算法。當(dāng)k值增大時(shí),導(dǎo)致等價(jià)類(lèi)中元組數(shù)量在增加,信息損失也在增加。在同等運(yùn)行環(huán)境下,GDPPR算法可以減少約6%的信息損失。
4.2.2 泄露風(fēng)險(xiǎn)分析
隱私泄露風(fēng)險(xiǎn)主要取決于k的取值。圖9給出當(dāng)|QI|=3和|QI|=6時(shí),k值的變化在GDPPR算法和Mondrian算法中對(duì)Census-Income數(shù)據(jù)集的隱私泄露風(fēng)險(xiǎn)影響。
圖9 Census-Income數(shù)據(jù)集k值變化下隱私泄露風(fēng)險(xiǎn)對(duì)比結(jié)果
從圖9可以看出,隨著k值的增加,GDPPR算法和Mondrian算法中隱私泄露風(fēng)險(xiǎn)整體上逐步降低。但由于Mondrian算法未考慮敏感屬性語(yǔ)義關(guān)聯(lián),相比GDPPR算法,Mondrian算法的隱私泄露風(fēng)險(xiǎn)值偏高。
4.2.3 執(zhí)行時(shí)間分析
圖10給當(dāng)在k=6和k=12時(shí),|QI|的變化對(duì)GDPPR算法和Mondrian算法執(zhí)行時(shí)間的影響。
圖10 Census-Income數(shù)據(jù)集|QI|值變化下執(zhí)行時(shí)間的對(duì)比結(jié)果
從圖10可以看出,GDPPR和Mondrian算法執(zhí)行時(shí)間差異不大,隨著QI維度的不斷增加,執(zhí)行時(shí)間也隨之增加。這是由于QI增加導(dǎo)致元組距離計(jì)算開(kāi)銷(xiāo)增加,進(jìn)而使得執(zhí)行時(shí)間增加。
圖11給出當(dāng)|QI|=3和|QI|=6時(shí),k值的變化對(duì)GDPPR算法和Mondrian算法執(zhí)行時(shí)間的影響。
圖11 Census-Income數(shù)據(jù)集k值變化下執(zhí)行時(shí)間對(duì)比
從圖11可以看出,隨著k值的變化,GDPPR算法和Mondrian算法的執(zhí)行時(shí)間逐步減少,但總的執(zhí)行時(shí)間變化幅度較小,且相差也較小。
本文針對(duì)相似性攻擊造成隱私泄露的問(wèn)題,設(shè)計(jì)一種基于敏感信息鄰近抵抗的(r,k)-匿名模型,并提出一種滿(mǎn)足該模型的匿名方法GDPPR。該方法根據(jù)敏感屬性的語(yǔ)義關(guān)聯(lián),保證所發(fā)布的數(shù)據(jù)滿(mǎn)足(r,k)-匿名模型。通過(guò)多組實(shí)驗(yàn)的比較分析驗(yàn)證了該算法有效性,泛化后的匿名表降低了相似攻擊造成的隱私泄露幾率,減少了信息損失。下一步將考慮元組屬性間函數(shù)依賴(lài)在匿名化后對(duì)信息損失的影響,以及匿名模型k值選取的優(yōu)化問(wèn)題,進(jìn)一步提高執(zhí)行效率。