張岐山,郭 昆
(1.福州大學 管理學院,福建 福州 350108; 2.福州大學 數學與計算機科學學院 福建 福州 350108)
在數據挖掘工具日益強大的同時,在挖掘過程中可能導致隱私泄漏的問題也日益引起人們關注.因此,在挖掘有效信息的同時保護用戶隱私已經成為數據挖掘領域的重要研究課題[1].在發布數據前,對其中敏感屬性(或字段)進行匿名處理是保護隱私的重要方法.目前,在靜態數據隱私保護方面已經有相關研究成果[2-9],k匿名[10]、l多樣性[11]、t接近度[12]、ε-微分隱私[13]等設計準則被廣泛使用.泛化(Generalization)和抑制(Suppression)是2種常見的數據匿名化技術.
在現實生活中,大量數據實際上是不斷變化更新的數據流,如企業銷售記錄、醫療機構就診信息、社交網絡親友信息等.在提交數據流用于數據挖掘時,需要考慮隱私保護問題.與靜態數據的隱私保護相比,在發布數據流時保護用戶隱私面臨更大挑戰.由于數據流具有潛在無限、流動迅速、變化頻繁等特點[11],要求算法具有更低的時間和空間復雜度.
LiFF等提出一系列基于擾動的數據流匿名算法[14],通過向原始數據添加隨機噪聲數據,使攻擊者無法從擾動后的數據中提取原始數據包含的信息.CASTLE算法[15]將數據流的匿名化看做一個連續聚類過程.當元組的到達時間超過一個時延閾值時,它們將以連續的方式被發布.B-CASTLE算法[16]通過設置簇大小上限解決CASTLE算法生成不平衡簇的問題.
筆者提出一種基于灰關聯分析的數據流匿名算法(DSAoGRA),采用灰色關聯度描述元組間的相似度并結合聚類思想,將元組劃分成k匿名簇,得到滿足k匿名準則的隱私保護數據流.通過在真實數據集上與CASTLE算法的對比實驗,表明新算法能夠實現數據流的快速匿名化,并保證匿名后數據的高可用性.
數據流匿名是將原始數據流S中的數據項進行泛化或抑制處理后,輸出滿足匿名要求的數據流S′,并保證S′中元組的輸出時延不超過δ.
定義1 k匿名數據流.設數據流S的屬性序列為AS=(pid,a1,a2,…,am,q1,q2,…,qn,ts),其中pid為用戶身份標識,q1,q2,…,qn為準標識符屬性(quasi-identifier(QI),指能夠聯合額外獲得的信息唯一確認用戶身份的屬性[10]),a1,a2,…,am為其他屬性,ts為元組到達時刻,S′為由S 生成的匿名數據流,其中屬性id和ts被隱去,映射f:S→S′,若S′滿足:
定義2 時延約束.設有數據流k匿名方法F,若F輸出的k匿名數據流S′滿足?t′∈S′,t′.ts-t.ts<δ,t為原數據流S中與t′對應的元組,δ為給定正整數,則稱F滿足時延約束δ.
(1)當qi為數值型屬性時,
(2)當qi為分類型屬性時,為與qi對應的域泛化結構(Domain Generalization Hierarchy(DGH))中vqi的上層結點.
定義4 k匿名簇.若簇C中的元組具有至少k個獨立的pid值,則稱簇C為滿足k匿名要求的簇.

首先,計算元組在每個QI上的信息損失:當QI為數值型屬性時,信息損失為元組在該QI上泛化后區間[rli,rui]的長度與該QI的值域[Rli,Rui]的比值;當QI為分類型屬性時,信息損失為元組在該QI上泛化后對應的結點Hi所覆蓋的葉子結點數|Hi|與該QI的DGH的所有葉子結點數|DGHi|的比值,結點Hi所覆蓋的葉子結點指DGH中以Hi為根的子樹的葉子結點.然后,再求所有QI信息損失的均值作為元組泛化后的信息損失.
定義6 簇泛化信息損失.簇C泛化為gc(g1,g2,…,gn)后的信息損失為

定義7 數據流泛化平均信息損失.設gi為元組ti的泛化,則數據流S在時刻tp的平均信息損失為

定義8 灰關聯度.設X 為灰關聯因子集,X={Xi|Xi=(xi(1),xi(2),…,xi(n)),i∈N},N={0,1,…,m},m≥2,K={1,2,…,n},n≥3,X0∈X 為參考序列,Xi∈X 為比較序列.若存在一個非負實數γ(x0(k),xi(k))為X 上一定環境下的比較測度,且令非負實數

則當其滿足規范性、偶對稱性、整體性、接近性時,稱γ(x0(k),xi(k))為Xi對X0在第k點的灰關聯系數,為
稱γ(X0,Xi)為Xi對X0的灰關聯度[19].
定義9 灰關聯密度.設γi=(γ(x0(k),xi(k)))為第i個比較序列的灰關聯系數序列,C 為灰關聯系數序列集,C={γi|i∈N},則稱映射

為灰關聯系數分布映射,映射值v(x0(k),xi(k))為第i個比較序列在第k點的灰關聯密度值.此比較序列灰關聯密度值的全體構成灰關聯密度序列,記為vi.
定義10 灰關聯熵.設V={vi|i∈N},V為灰關聯密度序列集,則稱函數
當然,臘味飯中最有年味的做法,當屬臘味八寶飯。八寶飯多是甜味糯米飯,所謂八寶指的是杏仁、梅子、葡萄干之類的甜食。然而,咸味的臘味八寶飯,更能勾人食欲。八寶并不一定是八種食材,只是取其豐盛吉祥之意。臘味八寶飯主要采用干貨雜糧,寓意是五谷豐登,團圓富貴。

為第i個比較序列的灰關聯熵.
定義11 熵關聯度.設I(vi)為第i個比較序列的灰關聯熵,Im為灰關聯系數序列的最大關聯熵,則稱

為第i個比較序列的熵關聯度.
定義12 均衡接近度.設γ(X0,Xi)和E(X0,Xi)分別為第i個比較序列的灰關聯度和熵關聯度,則稱

為第i個比較序列的均衡接近度.
由于均衡接近度既考慮灰關聯因子序列間點的距離接近性,又考慮整體的無差異性接近,因此可以克服點關聯強傾向問題.
數據流匿名化的核心是將數據流中的元組劃分成k匿名簇,同一k匿名簇元組采用相同的泛化形式輸出.因此,選擇合適的描述元組相似度的測度對生成的k匿名簇質量有重要影響.利用灰關聯分析中的均衡接近度能夠從宏觀上描述元組間的無差異性接近的特點,可以得到具有較高內聚的k匿名簇,從而使匿名后的數據具有較高的可用性.
模擬數據聚類過程,通過不斷從數據流中提取相似元組生成k匿名簇,并在δ時間內輸出簇實現數據流的匿名化.已輸出的k匿名簇存儲于k匿名簇集.后續元組輸出時可以選擇直接采用k匿名簇集中的元組泛化輸出,以減小信息損失.

為了實現數據流的匿名化,從時間上考慮,需要約束k匿名簇集大小不超過限值Cs,使查找覆蓋待發布元組t的k匿名簇的時間從O(|S|)減小為O(Cs),使算法具有線性時間復雜度.設計Cs的表達式為Cs與δ成正比,δ值越大需要及時發布的元組越多,從而需要較大的k匿名簇集.k值越大新生成的k匿名簇越少,從而可以減小k匿名簇集的大小.c0≥1.0,為倍率系數,用于調整二者之間的比例.從空間上考慮,由于k匿名簇集的大小不超過O(Cs),算法用于存儲k匿名簇簇的空間大小也不超過O(Cs),因此算法具有常量空間復雜度.
數據流匿名在實現匿名要求的同時還需要保持較小的信息損失.采用基于差異信息的均衡接近度描述元組間的相似度,一方面可以克服部分屬性值對相似度占絕對影響的問題;另一方面也符合從信息量角度描述元組相似度以減小信息損失的要求.因此,算法中元組相似度采用均衡接近度描述.將這種算法稱為基于灰關聯的數據流匿名算法,記為DSAoGRA(Data Stream Anony mization based on Grey Relational Analysis).
數據流匿名算法DSAo GRA的實現過程:

在到達發布時限時,DSAoGRA算法先調用函數greedy Condense()將Settp中的元組劃分成簇,再調用過程output With Work Cluster Or Condensation()決定如何輸出新創建的簇中的元組.函數greedy Condense()的實現過程:

函數greedy Condense()首先從Settp中隨機選擇一個元組t,找出其k-1個pid值不同的近鄰.然后將元組t與其k-1個近鄰聚合成新簇Cnew,并將Cnew加入簇集Setc.這個過程不斷迭代進行,直至Settp中的剩余元組少于k個為止.剩余元組依次分配到加入該元組后信息損失增量最小的簇.步驟(4)中的距離采用基于差異信息理論的均衡接近度計算.最后返回Setc.過程output With Work Cluster Or Condensation()的實現過程:

對Setc中的每個元組ti,過程output With Work Cluster Or Condensation()先在Setwc中查找所有覆蓋ti且簇信息損失增量最小的簇.如果存在這樣的簇,則繼續將其信息損失與ti所屬簇Ci的信息損失作比較,從中選擇信息損失較小的簇,用其泛化輸出ti,否則用Ci的泛化輸出ti.若ti使用Setwc中簇的泛化輸出,則將其從Ci中刪除,不再參加后續判斷.因此,當內層foreach循環結束時,由函數greedy Condense()創建的簇內的元組可能減少.這是步驟(15)需要判斷|Ci|≥k的原因.在過程output With Work Cluster Or-Condensation()中,每個元組在輸出前不但查找k匿名簇集,還查找元組自身劃分生成的簇,擴大選擇的范圍,因此能夠得到更低的信息損失.由于過程output With Work Cluster Or Condensation()包含雙重循環,運行時間將增加.
通過實驗對DSAoGRA算法的性能進行分析,并將其與CASTLE算法進行比較.實驗采用的數據集是在隱私保護文獻中廣泛使用的UCI的Adult數據集[20].在刪除信息不完整的元組后,實際用于實驗的數據集包含3.016 2×104個元組.實驗采用的QI集合從屬性集合{age,final-weight,education-number,capital-gain,capital-loss,hours-per-week,education,marital-status,occupation,nation}中選取.前6個為數值型屬性,后4個為分類型屬性.對分類型屬性采用與文獻[5]相同的DGH.所有算法采用Java語言實現.實驗的硬件配置為Intel Core2Duo 1.66GHz CPU,2 048MB RAM,軟件配置為Microsoft Windows XP SP2,JDK 6.0.
比較算法在數據量變化和參數變化條件下的平均信息損失和運行時間.信息損失根據信息損失相關公式計算.各個算法的參數見表1,c0取為1.0.

表1 實驗算法參數
CASTLE和DSAoGRA算法的平均信息損失見圖1.由圖1可以看出,在所有實驗結果中DSAoGRA算法的平均信息損失均低于CASTLE算法的.CASTLE算法的分割操作雖然通過為元組重新分配距離最近的簇(距離基于信息損失計算),但是這種分配只發生在單個簇中.DSAoGRA算法是在整個k匿名簇集(Setwc)范圍內為元組選擇最接近的簇,從而能夠獲得更低的信息損失.此外,DSAoGRA算法采用均衡接近度計算元組相似性,也使得其能夠進一步降低泛化信息損失.
圖1(a)表明,隨著數據量的增加,平均信息損失總體呈逐漸減小趨勢,但變化較緩慢.
圖1(b)表明,k值對算法的平均信息損失有顯著影響.較大的k值要求一個k匿名簇需要包含較多的元組,才能滿足匿名要求.因此,隨著k值的增大,算法的平均信息損失增加較快.
圖1(c)表明,時延約束δ對算法性能也有較大影響.δ值越大,平均信息損失越小.隨著δ值的增大,算法能夠從更多的元組中產生簇,從而有更大的概率得到相對緊湊的簇.
圖1(d)表明,算法的平均信息損失隨QI數量的增加而增大,因為QI越多,由QI泛化導致的平均信息損失也越大.

圖1 CASTLE和DSAoGRA算法的平均信息損失
CASTLE和DSAoGRA算法的運行時間見圖2.由圖2可以看出,在所有實驗結果中DSAoGRA算法的運行時間顯著少于CASTLE算法的.CASTLE算法的時間復雜度實際與數據流大小的平方成正比,并且其采用的合并和分割操作較耗時.DSAoGRA算法對k匿名簇集大小設置上限,使其時間復雜度下降為與數據流大小的線性函數.此外,為了加快匿名處理速度,DSAoGRA算法舍棄合并和分割操作.使DSAoGRA算法具有更快的運行速度,且隨著數據量的增加,其差別也越來越明顯.
圖2(a)表明,算法的運行時間隨數據量的增大而增加.隨著元組的不斷到達,k匿名簇集不斷擴大,為新元組選擇泛化信息損失最小的k匿名簇所需要的時間也同步增加.
圖2(b)表明,參數k對算法運行時間的影響不大.雖然各個算法的時間復雜度與數據流大小和k有關,但是k值要遠小于數據流大小,因此相對于數據流大小的變化,算法的運行時間受k值變化影響較小.CASTLE算法的運行時間隨k值的增大而增加,時間復雜度不僅與數據流大小有關,還與其采用的分割操作的執行時間有關.k值越大,算法生成的簇越大,分割操作也就越頻繁.
圖2(c)表明,運行時間隨參數δ的增大而增加.δ值越大,元組緩沖區中需要一次性處理的元組也就越多,從而增加算法的運行時間.
圖2(d)表明,算法運行時間與QI數量成正比,但CASTLE算法的運行時間增加較顯著,DSAoGRA算法的運行時間對QI數量較不敏感.

圖2 CASTLE和DSAoGRA算法的運行時間
針對數據流環境下的隱私保護問題,首先定義數據流匿名和灰關聯分析的基本概念;然后討論基于聚類的數據流匿名方法的設計思想,并給出一種基于灰關聯分析的數據流匿名算法(DSAoGRA);最后通過在真實數據集上的對比實驗,驗證DSAoGRA算法能夠在快速實現數據流匿名的同時保持數據的高可用性.未來可在提供更強的隱私保護水平及提高算法性能等方面開展研究.
[1]Nergiz M E,Clifton C.Thoughts on k-anonymization[C].Data & Knowledge Engineering,2007,63(3):622-645.
[2]LeFevre K,DeWitt D J,Ramarkrishnan R.Incognito:efficient full-domain k-anonymity[C].Proceedings of the 2005ACM SIGMOD International Conference on Management of Data(SIGMOD'05).Baltimore:ACM,2005:49-60.
[3]LeFevre K,DeWitt D J,Rama krishnan R.Mondrian multidimensional k-anonymity[C].Proceedings of the 22nd International Conference on Data Engineering(ICDE'06).Hong Kong:IEEE Computer Society,2006:25-25.
[4]Bayardo R J,Agrawal R.Data privacy through optimal k-anonymization[C].Proceedings of the 21st International Conference on Data Engineering(ICDE'05).Houston:IEEE Computer Society,2005:217-228.
[5]Fung B C M,Wang K,Yu P S.Top-Down specialization for information and privacy preservation[C].Proceedings of the 21st International Conference on Data Engineering(ICDE'05).Tokyo:IEEE Computer Society,2005:205-216.
[6]Xiao X,Tao Y.Anatomy:simple and effective privacy preservation[C].Proceedings of the 32nd International Conference on Very Large Database(VLDB'06).Seoul:VLDB Endowment,2006:139-150.
[7]Iyengar V S.Transforming data to satisfy privacy constraints[C].Proceedings of the 8th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining(KDD'02).Edmonton:ACM,2002:279-279.
[8]Li T,Li N.Towards optimal k-anony mization[J].Data & Knowledge Engineering,2008,65(1):22-39.
[9]Fung B C M,Wang K,Wang L,et al.Privacy-preserving data publishing for cluster analysis[C].Data & Knowledge Engineering,2009,68(6):552-575.
[10]Sweeney L.k-anonymity:a model for protecting privacy[C].International Journal on Uncertainty,Fuzziness and Knowledge-based Systems,2002,10(5):557-570.
[11]Machanavajjhala A,Kifer D,Gehrke J,et al.l-diversity:privacy beyond k-anonymity[J].ACM Transactions on Knowledge Discovery from Data,2007,1(1):1-52.
[12]Li N,Li T,Venkatasubramanian S.t-closeness:privacy beyond k-anonymity and l-diversity[C].Proceedings of the 23rd International Conference on Data Engineering,2007(ICDE'07).Istanbul:IEEE Computer Society,2007:106-115.
[13]Dwork C,Lei J.Differential privacy[C].Proceedings of the 33rd International Colloquium on Automata,Languages and Programming,part II(ICALP'06).Venice:Springer-Verlag,2006:1-12.
[14]Li F F,Sun J,Papadimitriou S,et al.Hiding in the crowd:privacy preservation on evolving streams through correlation tracking[C].Proceedings of the 23rd International Conference on Data Engineering(ICDE'07).Istanbul:IEEE Computer Society,2007:686-695.
[15]Cao J,Caminati B,Ferrari E,et al.CASTLE:continuously anonymizing data streams[C].IEEE Transactions on Dependable and Secure Computing,2011,8(3):337-352.
[16]Wang P,Lu J,Zhao L,et al.B-CASTLE:an efficient publishing algorithm for k-anonymizing data streams[C].Proceedings of the 2010 2nd WRI Global Congress on Intelligent Systems.Wuhan:IEEE Computer Society,2010.132-136.
[17]鄧聚龍.灰理論基礎[M].武漢:華中科技大學出版社,2002.
[18]張岐山.灰朦朧集的差異信息理論[M].北京:石油工業出版社,2002.
[19]劉思峰,謝乃明.灰色系統理論及其應用[M].北京:科學出版社,2008.
[20]Frank A,Asuncion A.UCI machine learning repository[EB/OL].http://archive.ics.uci.edu/ml,2010.