陳曉宇 韓 斌 黃樹成 朱文正
(江蘇科技大學(xué)計算機學(xué)院 江蘇 鎮(zhèn)江 212000)
隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,以數(shù)據(jù)發(fā)布和數(shù)據(jù)挖掘為主的數(shù)據(jù)共享模式正逐步成為信息化時代的發(fā)展潮流。但是,數(shù)據(jù)共享帶來便捷的同時也伴隨著個人隱私數(shù)據(jù)泄露[1]的風(fēng)險。以數(shù)據(jù)發(fā)布過程中的隱私泄露為例,發(fā)布群體用戶統(tǒng)計信息的過程往往伴隨著某個特定用戶的隱私數(shù)據(jù)的泄露。如何確保隱私數(shù)據(jù)的安全性同時又不降低數(shù)據(jù)的可利用價值,成為了當前隱私保護領(lǐng)域研究工作的重點。
目前使用最廣泛的隱私保護方法以匿名化隱私保護[2]為主。現(xiàn)有的匿名隱私保護方法采用隱匿標識符屬性[3](Identity Attribute,身份證號碼、姓名等可以標識個體信息的屬性)和泛化準標識符屬性(Quasi-identifier Attribute,年齡、性別、生日、郵編等可以推演出標識個體信息的屬性)的方式達到保護敏感屬性(Sensitive Attribute,疾病、薪資等用戶不愿透露的屬性)不被泄露的目的。k-匿名和l-多樣性[4]是其中最具代表性的方法。k-匿名通過控制泛化后數(shù)據(jù)集中等價類的數(shù)目,有效地防止了鏈接攻擊。l-多樣性在此基礎(chǔ)上,對等價類中敏感屬性的多樣性做出約束,克服了k-匿名無法有效防止同質(zhì)攻擊的缺點。但是l-多樣性還是存在不能有效防止偏斜攻擊和相似性攻擊[5]的缺陷,直到近些年t-closeness[6]被提出,這一問題才得到了解決。之后,針對t-closeness的進一步完善成為了隱私保護方法研究的熱點之一,如何優(yōu)化t-closeness方法使其在達到隱私目的的同時,數(shù)據(jù)仍具有較高的質(zhì)量成為了關(guān)鍵。
t-closeness中實現(xiàn)匿名化的主要方式是泛化[7]準標識符屬性。泛化分為值泛化和域泛化。然而無論是值泛化中將數(shù)值中部分數(shù)字隱藏,還是域泛化中將屬性值映射到更大區(qū)間的過程,都伴隨著信息量的丟失。為滿足t-closeness的約束條件,泛化程度往往很高,隨之而來的是信息損失總量的增加。針對現(xiàn)有t-closeness方法里泛化準標識符屬性過程中信息丟失量過大的缺點,本文在模糊理論的基礎(chǔ)上給出了隱私保護方法中數(shù)據(jù)模糊化的具體定義。并設(shè)計和實現(xiàn)了一套符合t-closeness隱私保護方法的模糊化過程。與泛化機制不同,本文提出的模糊化方法有效地控制了數(shù)據(jù)的信息丟失量。最后通過實驗證明,模糊t-closeness隱私保護方法在提高數(shù)據(jù)可用性的同時,也增強了數(shù)據(jù)的隱私保護強度。
t-closeness隱私保護方法在l-多樣性的基礎(chǔ)上要求數(shù)據(jù)集中敏感屬性值在等價類中的分布與其在整個數(shù)據(jù)表中的分布的差異不超過閾值t。這樣使得等價類中敏感值的分布與整個數(shù)據(jù)集中的敏感值的分布相似,以此防止偏斜攻擊。
定義1t-closeness:如果敏感屬性在一個等價類中的分布和該敏感屬性在整個表中的分布之間的差異不超過某個閾值t,則稱該等價類滿足t-closeness。如果表中的所有等價類都滿足t-closeness,則稱該表滿足t-closeness。
上述定義中提到的敏感屬性值分布之間存在的差異指的是概率分布距離[8]上的度量差異。目前,在t-closeness隱私保護方法中最常使用的概率分布距離度量公式有EMD(earth move’s distance)、Hellinger距離和KL-散度等[9]。
給定兩個分布,P=(p1,p2,…,pm),Q=(q1,q2,…,qm),P表示敏感屬性在整個數(shù)據(jù)表中的分布,Q表示敏感屬性在等價類中的分布。P與Q的差異距離表示為D[P,Q]。如果D[P,Q] (1) 定義獨立于P、Q的基準距離為F,F(xiàn)表示分布Q向分布P移動時做的最小工作量。記dij是P中元素i和Q中元素j的基準距離,fij表示i到j(luò)的最小工作量,那么整個轉(zhuǎn)移的工作量可以表示為: (2) 以含有|T|條記錄的數(shù)據(jù)表T為例,記T={Q1,Q2,…,Qd,S1,S2,…,Sm},其中Qi(1≤i≤d)為準標識符屬性;Sj(1≤j≤m)為敏感屬性,則T中含有d個準標識符和m個敏感屬性。將敏感屬性分為類,給出不同敏感屬性類別的閾值t。本文中將敏感屬性分為兩類,給定第一類敏感屬性閾值t1和第二類敏感屬性閾值t2。同時,用Tn表示數(shù)據(jù)表T中的第n行記錄。下面給出現(xiàn)有的t-closeness隱私保護的一種實現(xiàn)方法。 設(shè)第一個等價類為C1并且置為空,將表T中前k條記錄放入C1中,計算C1中每一條記錄的第一類敏感屬性分布差異是否小于t1,接著計算第二類敏感屬性分布差異是否小于t2,若不滿足條件,則將這些記錄移出C1。重新向C1中填入記錄,直至C1中k條記錄中的敏感屬性分布差異均小于閾值。同理,建立新的等價類,直至剩余記錄無法劃分或剩余記錄數(shù)量小于k,則將剩余記錄逐條依次添入已建立的各等價類中計算敏感屬性差異。當所有剩余記錄被添入已有的等價類中且滿足敏感屬性差異小于閾值t時,對不同的等價類對應(yīng)的準標識符屬性進行泛化,最終得到滿足t-closeness隱私保護的數(shù)據(jù)表T。 將泛化后的數(shù)據(jù)表T′中準標識符屬性記為QI={M1,M2,…,Mm,N1,N2,…,Nn},其中Mi(i=1,2,…,m)是分類屬性,Nj(j=1,2,…,n)是數(shù)值屬性。則等價類C中分類屬性的信息損失為: (3) 式中:card(Mi)是分類屬性Mi泛化等級樹[10]中,以泛化結(jié)果為根的子樹所包含的葉子節(jié)點數(shù),|Mi|則表示整個泛化等級樹所包含的葉子節(jié)點數(shù)。 等價類C中數(shù)值屬性的信息損失為: (4) 式中:vmax和vmin分別是C中Nj的最大和最小值,|Nj|是Nj的值域。 在式(3)和式(4)的基礎(chǔ)上可得等價類C的信息損失IL(C),再由各等價類信息損失求和計算可得數(shù)據(jù)表T到T′的泛化過程中的信息損失: (5) 與采用泛化和隱匿技術(shù)實現(xiàn)隱私保護目的的傳統(tǒng)t-closeness方法不同,本文在模糊理論的基礎(chǔ)上設(shè)計和實現(xiàn)了符合t-closeness的模糊化過程,有效地克服了傳統(tǒng)方法中信息丟失量過大的缺點。同時,給出隱私保護過程中數(shù)據(jù)模糊化和模糊等價類的定義,定義如下: 定義2數(shù)據(jù)模糊化:在對數(shù)據(jù)集里原始記錄進行模糊聚類[11]的基礎(chǔ)上,根據(jù)記錄到各個類中心的隸屬度選取替代點代替原始記錄的過程。 定義3模糊等價類:在模糊聚類的基礎(chǔ)上,將數(shù)據(jù)表分為若干簇,若簇中任一記錄的敏感屬性在該簇的分布與在整個數(shù)據(jù)表中的分布差異小于閾值t,則稱該簇為符合t-closeness的模糊等價類。 基于上述給出的定義,本文設(shè)計和實現(xiàn)了符合t-closeness的模糊化過程。整個模糊化過程的輸入是原始數(shù)據(jù)集,輸出是模糊數(shù)據(jù)集。模糊t-closeness隱私保護方法的具體步驟如下: 步驟1:根據(jù)準標識符屬性值,對輸入數(shù)據(jù)集進行模糊聚類,獲取聚類的簇。 步驟2:計算敏感屬性在簇和整個數(shù)據(jù)集中的分布,根據(jù)定義1中關(guān)于敏感屬性分布的約束條件調(diào)整簇中的記錄點的劃分得到新的簇,即模糊等價類。 步驟3:計算各個模糊等價類的隸屬度矩陣,采用隸屬度限幅元素平均值法[12]獲取模糊聚類的后各個元素的替代點集合。 步驟4:利用替代點的集合模糊準標識符屬性值,輸出模糊化后的數(shù)據(jù)集。 2.2.1 獲取簇中心及其對應(yīng)隸屬度矩陣 本文使用模糊C-均值(FCM)算法[13],通過優(yōu)化目標函數(shù)得到每個記錄點對所有類中心的隸屬度,不斷修正簇中心點,最終獲取最優(yōu)的簇中心點及其對應(yīng)的隸屬度矩陣。 將原始數(shù)據(jù)集作為待聚類的輸入對象,記每一行記錄的特征個數(shù)為p。它的輸出是一個c行n列的矩陣U,其中c表示聚類的數(shù)目,n表示數(shù)據(jù)集中元素的個數(shù)。矩陣中任一列表示該元素到各個類的隸屬程度。還有一個輸出各個類的聚類中心向量集合V,即各個簇中心的集合。V一共有c個元素,每個元素是p維的。具體步驟如下: 步驟1:初始化聚類中心Ci,i=1,2, …,c。 步驟2:根據(jù)初始化的類中心點計算隸屬度矩陣U。 步驟3:計算目標函數(shù)。如果目標函數(shù)小于某個確定的閾值,或者相對上次目標函數(shù)結(jié)果的改變量小于某個閾值,則算法停止,輸出當前隸屬度矩陣。 步驟4:修正聚類中心點,計算當前隸屬度矩陣。返回步驟2。 其中步驟1里聚類中心點的個數(shù)c與泛化機制中泛化屬性值到指定j個區(qū)間中的j的作用類似,決定著數(shù)據(jù)匿名化的程度。c越大,即簇中心點越多,最終模糊化程度越小,信息丟失量越小??梢酝ㄟ^優(yōu)化目標函數(shù)得到c的取值,也可由隱私保護的執(zhí)行者根據(jù)模糊化數(shù)據(jù)程度的期望來選定。 FCM的目標函數(shù)為: (6) 式中:隸屬度值uij表示元素j對類別i的隸屬程度,dij是元素i到中心點j的歐式距離。m是模糊化參數(shù),通常取2。整個目標函數(shù)Jm(U,V)表示的就是各個點到各個類的加權(quán)距離之和。 (7) (8) 根據(jù)上述推導(dǎo)結(jié)果,選定參數(shù)c。接著在此基礎(chǔ)上獲取原始數(shù)據(jù)集的聚類輸出,即最終的簇中心點及其對應(yīng)的隸屬度矩陣。與傳統(tǒng)的泛化和隱匿方法不同,步驟1中根據(jù)模糊聚類劃分簇的過程并沒有改變初始數(shù)據(jù)集中的數(shù)值。 2.2.2 劃分模糊等價類 在步驟1劃分的簇的基礎(chǔ)上,計算敏感屬性在整個數(shù)據(jù)表和簇中的分布,分別用P=(p1,p2,…,pm),Q=(q1,q2,…,qm)表示。接著在EMD度量方法的基礎(chǔ)上,驗證各敏感屬性分布P和Q差異距離D[P,Q]是否小于設(shè)定閾值t。若差異距離大于閾值t,則將該記錄根據(jù)最小工作量進行再劃分,直至簇中任一記錄的敏感屬性在該簇的分布與在整個數(shù)據(jù)表中的分布差異小于閾值t。 再劃分的具體過程:從中心點為Ci的簇開始,若該簇不符合模糊等價類的定義,則將簇中敏感屬性分布大于閾值的記錄劃分到最鄰近的簇,保證最鄰近的簇的差異距離也小于閾值。否則將記錄重新劃分到次鄰近的簇再計算差異距離,直至中心點為Ci的簇和添入記錄的簇都符合模糊等價類的定義。選取下一個不符合模糊等價類定義的簇,重復(fù)上述過程,直至所有簇滿足定義3。 2.2.3 選取替代點 經(jīng)由獲取簇中心及其對應(yīng)隸屬度矩陣和劃分模糊等價類的兩個步驟,可以得到敏感屬性符合t-closeness隱私保護要求的數(shù)據(jù)表。計算該數(shù)據(jù)表的隸屬度矩陣U。為了最大可能地利用元素與各個類之間的隸屬度信息,本文在選取替代點時采用了隸屬度限幅元素平均值法。用給定的隸屬度參數(shù)值a對隸屬度函數(shù)曲線進行切割,再對切割線上部的隸屬度對應(yīng)的所有記錄點中的屬性值進行平均,得到的平均值作為替代點的值。替代點用作該元素的模糊化結(jié)果在表中替代初始元素值。 圖1 元素i的隸屬度函數(shù)切割圖(a=0.23) 數(shù)值屬性的平均值指的就是算術(shù)平均值。分類屬性的平均值則是指在語義不變的基礎(chǔ)上模糊描述[14]的內(nèi)容。與泛化機制中擴大分類屬性概括范圍的方式不同,模糊化過程中對分類屬性的操作是:在模糊聚類后對Mi屬性隸屬度限幅取值,得到Mi臨近的取值集合,在語義上給出該集合的模糊語言描述。例如,地點屬性值為“蘇州”的數(shù)據(jù),在泛化機制中通常被泛化為“蘇南”、“江蘇”或者更大的范圍,而在本文給出的模糊化方法中,該記錄點聚類的結(jié)果在該屬性值上臨近集合{“蘇州”、“無錫”、“常州”},則根據(jù)集合內(nèi)容的分析,給出語義上的描述“無錫附近”。該語義上的模糊描述內(nèi)容即為替代點在該屬性上的替代值。 將屬性值及其臨近集合作為模糊化語義結(jié)構(gòu)樹的葉子節(jié)點,例如“蘇州”:{“蘇州”、“無錫”、“常州”},給定模糊化語義結(jié)構(gòu)樹。與泛化機制里的層次結(jié)構(gòu)相似,隨著模糊化層次的增加,數(shù)據(jù)模糊化的程度隨之增加,隱私保護效果提升,信息丟失量變大。 記“蘇州”:{“蘇州”、“無錫”、“常州”}為A1;“蘇州”:{“蘇州”、“昆山”、“張家港”}為A2;“蘇州”:{“蘇州”、“無錫”、“常州”、“昆山”、“張家港”}為B1;圖2從左到右的過程即是構(gòu)造模糊化語義結(jié)構(gòu)樹的過程。 圖2 模糊化語義結(jié)構(gòu)樹構(gòu)造過程 2.3.1 效果分析 在泛化機制中,對分類屬性的泛化是根據(jù)固定的泛化層次結(jié)構(gòu)進行的。同一個屬性值根據(jù)隱私保護的需求可以選擇不同程度的泛化層次對數(shù)值進行泛化。而在本文的模糊化過程中,以屬性值及其臨近集合作為葉子節(jié)點的模糊化語義結(jié)構(gòu)樹里,每個葉子的父節(jié)點并不由屬性值唯一確定,而是與其臨近集合也相關(guān)。相同的屬性值聚類后獲得的臨近集合不一定相同,因此語義描述的結(jié)果也不一定相同,即模糊化后的值不同。這樣不僅在語義上模糊化了分類屬性值,同時隱藏了屬性值與模糊化語義結(jié)構(gòu)的關(guān)聯(lián)關(guān)系,增強了隱私保護的效果。 此外,相比泛化機制中將原始屬性值映射到更大范圍的做法,模糊化語義描述的過程不僅考慮了原始屬性值,而且還考慮到原始記錄點與周圍記錄點的位置關(guān)系。因此,模糊化語義描述的結(jié)果更接近原始記錄,數(shù)據(jù)更具有可用性。 2.3.2 信息損失量分析 本文定義和設(shè)計的符合t-closeness隱私保護的數(shù)據(jù)模糊化過程,采用通過模糊聚類獲取元素隸屬度矩陣的方式選取替代點。在式(2)和式(3)的基礎(chǔ)上給出了計算數(shù)據(jù)模糊化后信息量損失的函數(shù)L。同樣以含有|T|條記錄的數(shù)據(jù)表T中準標識符屬性QI={M1,M2,…,Mm,N1,N2,…,Nn}為例,數(shù)據(jù)表T到T″的模糊化過程中的數(shù)值屬性的信息損失為: (9) 式中:vf是數(shù)據(jù)模糊化后得到的替代點上Nj屬性的值,vr則表示該屬性初始數(shù)值,|Nj|表示該屬性的值域。分類屬性的信息損失計算: (10) card(Mi)為敏感屬性值臨近集合的元素個數(shù),|Mi|表示模糊化值對應(yīng)的臨近集合中元素的個數(shù)。由式(9)和式(10)可得數(shù)據(jù)表T到T″模糊化過程中信息損失為: (11) 綜上所述,可以知道同一數(shù)據(jù)表經(jīng)由本文模糊化隱私保護后的信息損失總量較小,即L(T,T″)≤L(T,T′),數(shù)據(jù)更具可用性。 2.3.3 安全性分析 與較傳統(tǒng)的泛化準標識符屬性不同,模糊化后的數(shù)據(jù)隱匿了等價類的分類信息。攻擊者無法獲取模糊等價類的分類信息,從而不能通過比對模糊等價類中的敏感屬性分布來獲取更多的信息,即模糊t-closeness方法能夠有效地防止鏈接攻擊。 此外,用模糊語言描述處理分類屬性的方式使得同樣的屬性值在不同記錄中可能對應(yīng)的模糊化值不一樣,且模糊化后的屬性值的詞義界限不明確,屬性值對上下限的接近程度無法定量。因此,在擁有很大不確定性的情況下,攻擊者無法通過已知的背景知識來縮小數(shù)據(jù)指向特定用戶的范圍,從而無法獲取數(shù)據(jù)表中額外的記錄信息,即模糊t-closeness方法能夠有效地防止背景知識攻擊。 本次實驗使用Java語言編程,編程環(huán)境為MyEclipse10,實驗的環(huán)境配置為2.40 GHz i5-2430M、4 GB內(nèi)存、Windows7 32位操作系統(tǒng)。實驗采用兩個數(shù)據(jù)集重復(fù)試驗,其中數(shù)據(jù)集“ADULT”源于美國成年人口普查。該數(shù)據(jù)集擁有30 162個實例,9個屬性,屬性為{sex,age,race,marital-status,education,native-country,workclass,occupation, salary}。另一個數(shù)據(jù)集“OCCUPATION”則是第五次人口普查數(shù)據(jù)中全國各行業(yè)人口的職業(yè)分布數(shù)據(jù),該數(shù)據(jù)集包含了15個行業(yè)的7種職業(yè)大類的人口分布數(shù)據(jù)。為了驗證本文提出的模糊t-closeness隱私保護方法在安全性和數(shù)據(jù)可用性方面的優(yōu)勢,下面將在信息損失量、直方圖發(fā)布和數(shù)據(jù)安全風(fēng)險評估幾個實驗的基礎(chǔ)上對方法進行分析。 為了分析模糊t-closeness隱私保護方法中數(shù)據(jù)信息損失量隨著準標識符屬性維數(shù)改變而變化的規(guī)律,本文實驗分析了信息損失量隨著維度增加而變化的折線圖。以數(shù)據(jù)集“ADULT”和“OCCUPATION”為實驗對象,圖3和圖4分別給出了兩組實驗數(shù)據(jù)下采用泛化機制的t-closeness方法中信息損失量隨著維度增加而變化的折線圖。其中參數(shù)t取值0.15。 圖3 “ADULT”信息損失量變化對比圖 圖4 “OCCUPATION”信息損失量變化對比圖 由實驗結(jié)果可知,隨著屬性維度的增大,數(shù)據(jù)信息損失量不斷增大。同等條件下,即同一屬性在t-closeness中的泛化域個數(shù)等于模糊t-closeness方法中模糊等價類個數(shù)時,模糊t-closeness方法的信息損失量要小于t-closeness方法的信息損失量。 快速而準確地獲取數(shù)據(jù)分布的梗概是數(shù)據(jù)分析與查詢的主要任務(wù),直方圖發(fā)布[15]是近似估計數(shù)據(jù)分布的主要技術(shù)之一。以數(shù)據(jù)集“ADULT”中敏感屬性婚姻狀況(Marital-status)為對象,發(fā)布不同年齡階段中婚姻狀態(tài)為有配偶(Spouse-present)的人數(shù)統(tǒng)計數(shù)據(jù),實驗分析了本文隱私保護方法模糊t-closeness的發(fā)布精度。圖5展示了原始數(shù)據(jù)與輸出的保護數(shù)據(jù)的直方圖發(fā)布結(jié)果對比。 圖5 各年齡段有配偶人數(shù)統(tǒng)計結(jié)果發(fā)布對比圖 以數(shù)據(jù)集“OCCUPATION”中制造業(yè)的人口職業(yè)分布數(shù)據(jù)發(fā)布為例,圖6展示了原始數(shù)據(jù)與輸出的保護數(shù)據(jù)的直方圖發(fā)布結(jié)果對比。 圖6 制造業(yè)人口的職業(yè)分布數(shù)據(jù)發(fā)布對比圖 由圖5和圖6可知,本文提出的隱私保護方法下的數(shù)據(jù)仍具有較高的可用性,直方圖發(fā)布具有很高的精度。 與t-closeness隱私保護下的數(shù)據(jù)一樣,模糊t-closeness隱私保護下的數(shù)據(jù)也存在被同質(zhì)攻擊的風(fēng)險。在模糊t-closeness方法中,同樣的屬性值存在被模糊化成多種模糊值的可能,但當這些模糊值對應(yīng)的敏感屬性一樣時,攻擊者還是能判斷出原始屬性值對應(yīng)的敏感屬性內(nèi)容。這種情況下,敏感屬性信息就會被泄露。本文以數(shù)據(jù)集“ADULT”中{age,education,native-country,workclass}為準標識符屬性,{occupation}為敏感屬性,實驗分析比較了l-多樣性、模糊t-closeness方法與t-closeness所受同質(zhì)攻擊的情況,見圖7。 圖7 不同匿名方法受到同質(zhì)攻擊的記錄數(shù) 分析實驗結(jié)果可知,與l-多樣性的隱私保護方法相比,t-closeness和模糊t-closeness方法抵御同質(zhì)攻擊的能力更強。其中本文提出的模糊t-closeness隱私保護方法在同質(zhì)攻擊下泄露的記錄數(shù)更少,具有更好的隱私保護效果。 目前,使用最為廣泛的匿名隱私保護方法主要包括k-匿名、l-多樣性和t-closeness等。其中t-closeness方法保證數(shù)據(jù)安全、阻止攻擊的能力優(yōu)于k-匿名、l-多樣性,但存在信息損失量較大的缺點。在這些方法中,實現(xiàn)匿名化的主要方式是泛化和隱匿數(shù)據(jù)。本文在模糊理論的基礎(chǔ)上,給出了t-closeness隱私保護方法中數(shù)據(jù)模糊化的相關(guān)定義,設(shè)計和實現(xiàn)了具體的模糊化過程。通過實驗驗證了本文提出的模糊t-closeness方法相比t-closeness方法,數(shù)據(jù)具有更強的安全性,且隱私保護過程中信息損失量較小。 在本文設(shè)計的模糊化過程中,模糊化語義結(jié)構(gòu)樹是分類屬性進行模糊化的關(guān)鍵。如何結(jié)合自然語言處理的知識給出合理、較優(yōu)的模糊化語義結(jié)構(gòu)樹將是本文下一步研究的重點。2 模糊t-closeness隱私保護方法
2.1 方法概述
2.2 方法的實現(xiàn)


2.3 性能分析


3 實 驗
3.1 信息損失量


3.2 直方圖發(fā)布


3.3 安全風(fēng)險評估

4 結(jié) 語