徐雅斌,郭 昊
(1.網絡文化與數字傳播北京市重點實驗室,北京 100101;2.北京信息科技大學北京材料基因工程高精尖創(chuàng)新中心,北京 100101;3.北京信息科技大學計算機學院,北京 100101)
隨著人工智能和大數據技術的逐漸成熟和快速發(fā)展,數據成為一種稀缺資源。很多研究機構和科技型企業(yè)因缺少數據,由此嚴重阻礙了其業(yè)務的開展。為鼓勵和支持大數據的發(fā)展,2015 年9 月5 日,我國政府頒布了《促進大數據發(fā)展行動綱要》,其中明確提出要在依法加強安全保障和隱私保護的前提下,穩(wěn)步推動公共數據資源開放,形成政府數據統(tǒng)一開放平臺。通過制定公共機構數據開放計劃,建立政府部門和事業(yè)單位等公共機構數據資源清單,并制定實施政府數據開放共享標準與數據開放計劃。
由于大數據中包含大量有關個人的隱私信息,如果不能對數據進行有效管理和利用,則不可避免地會造成隱私數據的泄露,給相關人員帶來負面影響和傷害,不僅會引發(fā)法律糾紛,而且也將嚴重制約大數據和人工智能技術的快速發(fā)展與廣泛應用。因此,對數據進行隱私保護是一個不容忽視的問題。
本文構建一個隱私保護模型,該模型根據用戶身份和數據用途判定用戶安全等級,確定對應的匿名化方案和初始隱私參數,判斷是否能夠同時滿足數據發(fā)布方的隱私保護要求以及數據使用方對數據可用性的要求,按確定的方法和參數進行隱私保護處理并發(fā)布數據。
在數據隱私保護領域,研究工作主要面向訪問者的隱私保護策略和面向數據本身的隱私保護技術兩個方面。面向訪問者的隱私保護策略中最常用的解決方案為基于角色或目的的訪問控制策略[1-2]。目的是防止非法用戶進入系統(tǒng),以及合法用戶對系統(tǒng)資源的非法使用,從而保證數據中的隱私不被泄露。
面向數據本身的隱私保護技術,依據實現方法的不同大致分為干擾和轉換方法[3-4]、匿名化方法[5-7]、安全多方計算方法[7-8]和基于以上幾種方法的混合方法[9]等。
干擾和轉換方法的基本思想是通過加入噪聲數據來保護真實數據。一方面確保不會泄露用戶的隱私,另一方面使得這些被修改后的數據仍可用于統(tǒng)計分析。由于該方法對原始數據進行了修改,因此不能很好地支持查詢統(tǒng)計等需求。
匿名化方法因為其顯著的安全性和有效性而得到了更為廣泛的應用,目前已發(fā)展成為一系列的方法。其中,最著名的方法是k-anonymity 方法[10]。該方法是由SWEENEY 等人于1998 年提出的,可以有效地阻止鏈接攻擊。然而,k-anonymity 方法存在以下缺陷:當一個分組中的所有記錄擁有同一個敏感屬性值時,攻擊者就可以輕易獲得隱私信息。
為解決分組中含有同種敏感屬性值的問題,MACHANAVAJJHALA 等人于2006 年提出了ldiversity 方法[11],有效解決了k-anonymity 方法所存在的鏈接攻擊問題,但該方法無法抵擋相似性攻擊,即某一敏感屬性值占比過大的情況。在這種情況下,攻擊者仍有較高的概率可以推出個體隱私。隨后LI 等人提出了t-closeness 方法[12],它要求分組中敏感屬性值的分布和數據表中的分布是近似的,由此可以解決l-diversity 方法所存在的相似性攻擊問題。
在實際應用中,動態(tài)數據發(fā)布比較普遍,但是當對數據表中增加新的數據后,可能會導致對數據表做的匿名保護被破壞,從而泄露隱私。因此,需要對增量數據進行匿名化處理。文獻[13]提出了支持連續(xù)發(fā)布數據表的插入更新匿名模型。在每個發(fā)布的數據表滿足l-diversity 約束的前提下,新的記錄如果滿足l-diversity 約束,則可以直接插入原表,否則將記錄分別插入到已有的信息損失最小等價類中。
此外,針對多維敏感屬性的情況,文獻[14-15]提出了多維桶分組發(fā)布(Multi-Sensitive Bucketization,MSB)模型,以解決多維敏感屬性數據的匿名化問題,該方法的解決主要是根據敏感屬性值來構建多維桶,每個桶中映射多個記錄,再根據不同的選擇策略在不同的桶中提取記錄,從而形成分組。在提取記錄時,盡量從不同的桶中提取記錄,使得單個維度上每條記錄的敏感值都不相同。
綜上所述,盡管出現了一些新的隱私保護方法,但到目前為止,經典的隱私保護方法當屬隱私保護程度呈逐級遞增的k-anonymity、l-diversity 和tcloseness 3 種方法,但3 種方法對數據的破壞程度也是逐級遞增的[16]。其中,k-anonymity 方法對數據的改動最少,數據可用性最好,但隱私效果最差;tcloseness 方法的隱私保護效果最好,但對數據改動很大,可用性也是最差的;l-diversity 方法的數據改動性和可用性處于中游。如何針對不同的隱私保護需求,科學、合理地選取最恰當的方法,并自動找到最優(yōu)的參數,還沒有實際可應用的成果。因此,如何選取最合適的方法與參數,使得進行隱私保護處理后的數據既可以達到數據提供者所希望的隱私保護效果,又能夠滿足數據使用者的可用性要求,是非常值得研究的[17-19]。
本文的創(chuàng)新點如下:
1)提出了一個面向數據發(fā)布的隱私保護模型,通過該模型不僅可以選擇最適合的隱私保護方法,而且還可以優(yōu)選對應的隱私保護參數,既可以達到數據提供者所期望的隱私保護效果,又能夠滿足數據使用者對可用性的要求。
2)給出了k-匿名隱私保護算法中的k參數、l-多樣性隱私保護算法中的l參數以及t-閉合隱私保護算法中的t參數的優(yōu)選方法,從而為用戶確定這些參數提供了便利。
本文數據隱私保護模型如圖1 所示。
圖1 大數據發(fā)布隱私保護模型Fig.1 Big data dissemination privacy protection model
從圖1 可以看出,用戶首先進行登錄/注冊,系統(tǒng)識別用戶身份,然后提交自己的數據需求范圍和數據用途說明,數據層接收到用戶的數據需求后,執(zhí)行SQL 查詢語句,檢索出用戶所需要的數據。安全等級判斷模塊則根據用戶的身份和數據的用途為用戶確定安全等級,并將等級信息傳遞給隱私保護處理部分。隱私保護處理部分根據用戶的安全等級在隱私保護程度不同的3 種匿名化方法中為其選擇合適的匿名化方法。確定匿名化方法后,再針對該方法進行初始參數選取。然后根據數據提供方的隱私保護要求進行效果評價,若不滿足要求則進行參數調整,如果參數調整無效則進行方案調整。每次調整完成后,重新進行隱私保護效果評估。參數調整完成后,隱私保護數據處理模塊按照所選擇的匿名化方法及參數對待發(fā)布數據進行隱私保護處理,形成可發(fā)布數據。
表1 為按照用戶身份和數據用途確定數據安全級別,并對應選擇匿名化處理方法。
表1 安全等級及匿名化方法對比Table 1 Comparison of security level and anonymization methods
由于模型中采用的3 種隱私保護方法均為經典的方法,因此本文不再闡述。但是如何選取恰當的參數,目前尚無具體的解決方案,因此,本文研究的重點和闡述的內容主要放在參數的優(yōu)選上。
在k-anonymity 隱私保護方法中,k的取值直接影響隱私保護的程度和數據的質量[20-21]。k的取值越大,對應的等價類規(guī)模就越大,為了滿足k-匿名約束,需要泛化的屬性值也越多(泛化范圍越大),因此數據質量就越差。但同時由于每個等價類對應的實體也越多,因此猜測每個實體敏感信息的概率也就越小,隱私保護的程度也越高。k的取值越小,對應的等價類規(guī)模就越小,為了滿足k-匿名約束,需要泛化的屬性值就越少(泛化范圍越?。?,因此數據質量就越好。每個等價類對應的實體越少,猜測每個實體敏感信息的概率就越大,隱私保護的程度也越低。因此,k值的選取非常重要,需要從隱私保護程度和數據可用性兩個方面考慮。如果選取不當,則會影響隱私保護效果。
因此,首先必須確定隱私保護程度的評價方法和約束條件[22-23]。對于隱私保護程度的評價,用等價類中敏感屬性值的最大重復次數與等價類元組數之比來計算,所代表的意義是從任意等價類中推測出某一實體隱私信息的概率。隱私約束條件即為隱私泄露概率閾值,用Pmax來表示,Pmax由數據提供方根據實際數據的情況給出。Pmax與k值的數學關系如下:
其中,t為等價類中敏感屬性值的最大重復次數,Kmin為k值的最小值。
對于數據可用性的評價,文獻[12]采用辨識度度量標準(CDM)作為數據質量的評估指標。為更加準確地描述k值與數據質量之間的關系,本文對辨識度度量標準進行了改進,計算方法如下:
其中,Q表示數據表中第i個等價類的規(guī)模,N為等價類數目。CDM值越小,說明數據表中的等價類規(guī)模越均勻,數據質量也越好;CDM值越大,說明數據表中的等價類規(guī)模相差越大,數據質量也越差。數據質量約束條件即為數據質量閾值,由用戶根據數據的特定應用來確定。k值與CDM的數學關系如下:
根據式(1)和式(3),即可求出Kmin和Kmax。由此可以確定,k值的可選范圍為[Kmin,Kmax]。k值的選取范圍是一個區(qū)間值,通常比較寬泛。當k取Kmin時,數據表的數據質量最好,但隱私保護程度最低;當k取Kmax時,數據質量最差,但隱私保護程度最高。因此,k的取值具體需要根據需求來確定。在一般情況下,可以選取兩者的中間值,即=Kmin+(Kmax-Kmin)/2。
由此可見,本文方法在進行k參數優(yōu)選時,通過確定k的最大和最小取值范圍[Kmin,Kmax],可有效地避免k值選取的盲目性,幫助盡快找到最合適的k值,從而為k-anonymity 隱私保護方法的應用提供指導和幫助,提高k-anonymity 隱私保護方法的有效性和可用性。
信息熵在一定程度上反映了屬性的分布情況。信息熵越大,意味著等價類中敏感屬性值的分布越均勻,推導出具體個體的難度也就越大。為此,文獻[9]給出了基于信息熵確定l值的方法,但該方法并沒有考慮到數據質量的問題。由于l-diversity 方法建立在k-anonymity 方法的基礎上,因此本文在k值選取方法的基礎上,給出了同時滿足給定隱私保護要求和數據質量要求的l值取值算法。
算法1l值取值算法
輸入滿足k-anonymity 約束的數據表,滿足用戶給出隱私保護要求與數據可用性要求的k值
輸出l值
1)計算由信息熵模型確定的l值。
假設:A為準標識屬性,SA為敏感屬性,S={Si…Sj}為敏感屬性值,等價類集合為E={Ei…Ej},則l的計算公式為:
其中,p、E、s為等價類Ei中敏感屬性值s出現的頻率,為等價類Ei的信息熵。根據式(4),可以得出l的最大值。l的最小值取敏感屬性類別最少的等價類中所包含的敏感屬性的類別數。
2)l值從最小值開始取值。判斷數據表是否滿足l-diversity 約束,若滿足,則參數調整結束。l值即為該步驟下取得的l值。
3)若不滿足約束,則添加和該等價類內準標識屬性值相同的元組。添加元組的敏感屬性值類別為表中包含的,且在該等價類中并不包含的類別,直至數據表滿足l-diversity 約束。
4)重新計算數據表的CDM值,判斷該值是否小于滿足l-diversity 最小值約束的數據表的CDM值。若小于該值,則說明經過l-diversity 處理后,數據表的數據可用性滿足用戶要求,那么參數調整結束。
5)若不滿足,則l值加1,返回步驟2),直至l值增加到最大值。
6)若l值嘗試到最大值時,仍不滿足條件,此時k值加1,返回步驟1)。
7)若k值增至最大值時,所有l(wèi)值仍不滿足,則參數選取失敗。
該取值算法最終取得的(k,l)參數,即為同時滿足給定的隱私保護要求和數據質量要求的參數。
從實現成本上來看,為了平衡隱私保護要求和數據質量要求,需要增加一個(k,l)參數選取算法,較k參數的優(yōu)選成本有較大提升。
該算法的算法復雜度僅為O(k×l)。復雜度與k值和l值成正比,隨著k和l的增大而增大。因此,盡快確定k和l參數,能夠有效降低算法的復雜度。
若(k,l)參數選取失敗,則表明隱私保護要求和數據質量要求相沖突,算法不能同時滿足給定的隱私保護要求和數據質量要求。此時,已不再適合采用l-diversity 方法,應選擇k-anonymity 方法進行隱私保護,除非提高隱私泄露閾值或降低數據質量要求。
在t-closeness 方法中,給定不同的t參數將直接影響要保護數據表的隱私保護程度和數據質量。一般來說,t值越大,分布差異也越大。那么,對數據的約束就越寬松,相應的數據質量就越好,相對應地,隱私保護的程度就越低。反之,t值越小,等價類的分布就需要更加接近被保護數據表的分布。那么,為滿足t-closeness 的隱私約束,需要泛化的屬性就越多(泛化范圍越大),數據質量就越差,但同時每個等價類對應的實體也越多,因此猜測每個實體敏感信息的概率就越小,隱私保護程度也越高。
綜上可以看出,t值的選取非常重要,需要從隱私保護程度和數據可用性兩個方面考慮。選取不當,就會影響隱私保護效果。為此,本文提出一個t值選取方法,可以選取同時滿足隱私保護要求和數據可用性要求的t值。
t參數選取算法的主要思想就是通過迭代的方式不斷地調整t值,使得CDM小于由Pmax決定的CDM的初始值(即滿足隱私保護要求的數據表所能到達的最佳數據質量),記為。Pmax與的數學關系為:
當CDM小于該值時,數據表的數據可用性必定滿足用戶對于數據質量的要求,那么此時對應的t值就是最優(yōu)的。
算法2t參數選取的算法
輸入經過泛化的表T、Pmax
輸出t
1)數據表T的等價類集合為E={Ei…Ej},P為Di所有值的集合。
2)令Di=EDM(T,Ei),EMD(Earth Mover’s Distance)為推土機距離,表示從一個分布轉移到另一個分布所需要的最小代價。Dmin=min{Di},Dmax=max{Di},分別為最小代價和最大代價,根據實際分布情況確定,并非是一個定值。
其中,Di表示第i個等價類中敏感屬性值的分布與全局分布的距離。
3)令表T滿足t值為Dmin的t-closeness 約束,計算表T的CDM值。若小于,則參數選取結束,此時t的取值即為Dmin。
4)若不滿足,則t值增加Dmin,返回步驟3,直到t≥Dmax。
5)若t≥Dmax時仍不滿足,則參數選取失敗。
通過該參數選取算法所取得的參數,即為同時滿足給定的隱私保護要求和數據質量要求的參數。如果參數選取失敗,說明隱私保護要求和數據質量要求相沖突,不能同時滿足給定的隱私保護要求和數據質量要求。此時,已不再適合采用t-closeness 方法,除非提高隱私泄露閾值或降低數據質量要求。
由于t的取值范圍為(0~1),因此在進行t值選取的過程中,為降低算法的復雜性,提高收斂速度,本算法將t值控制在兩位精度。
本文實驗所采用的數據集為醫(yī)院患者數據集,包含25 000 條記錄,大小為2.3M。其中包含患者的基本信息和疾病信息,共計5 個屬性,準標識屬性共4 個,分別為{性別,年齡,出生日期,郵編},敏感屬性共1 個,為{疾?。?。在數據的預處理過程中,將數據的顯標識屬性和含有缺失值的元組去除。
下文主要從方法的擴展性、數據的可用性和隱私保護的效果3 個方面對模型的性能進行評價。
設初始值k=5,l=4,t=0.25,測試在不同數據量情況下,采用k-anonymity、l-diversity 和t-closeness 3 種匿名隱私保護方法進行匿名化處理的執(zhí)行時間隨數據量變化而變化的情況,如圖2 所示。
圖2 不同方法的實驗結果Fig.2 Experimental results of different methods
在給定其他參數值時,圖2 中曲線的變化趨勢是一致的。從圖2 可以看出,當利用3 種匿名化方法處理同樣的數據量時,k-anonymity 耗時最少,ldiversity 次之,t-closeness 耗時最多。這是因為3 種方法的隱私保護程度是遞增的,因而方法的復雜性也是遞增的。但是,3 種方法的執(zhí)行時間都隨著數據量的增加基本呈線性增長,這說明3 種方法的可擴展性較好。
為測試通過參數選取方法所取得的參數是否能夠滿足數據可用性要求,并且同時滿足隱私保護要求,提取實驗數據集中的3 000 條記錄,屬性集與上文實驗所用的數據集相同,假設隱私泄露概率閾值Pmax=0.25。根據上面的參數選取方法所計算出來的參數分別為k=7、l=5、t=0.42。
不同k值對應的數據質量指標CDM與隱私泄露概率閾值Pmax的對應關系如圖3 所示。
圖3 不同k 值對應的數據可用性實驗結果Fig.3 Experimental results of data availability corresponding to different k values
從圖3 可以看出,數據質量隨著隱私泄露概率閾值的降低而提高。只要k≥7 與Pmax≤0.25,均滿足隱私保護要求,但當k=7、Pmax=0.23 時,CDM值是滿足隱私保護要求的參數值中最小的,對應的數據質量最優(yōu)。由此表明,通過k值選取算法可以得到數據質量最優(yōu),且滿足隱私保護要求的參數。
l值選取算法的實驗結果如圖4 所示。
圖4 不同l 值對應的數據可用性實驗結果Fig.4 Experimental results of data availability corresponding to different l values
從圖4 可以看出,由于l-diversity 比k-anonymity更嚴格,因而隱私保護程度更高。對應地,l-diversity的Pmax比k-anonymity 的Pmax值應更小。經過l-diversity 進行隱私保護處理后的數據質量更差。對應地,l-diversity 的CDM比k-anonymity 的CDM值也更大。為此,在給定Pmax=0.25 的情況下,就要向下尋找滿足Pmax≤0.25 情況下可以取得的l值。l的可取值范圍為5、6、7。顯然,取l=5 可取得最小的CDM,即在滿足隱私保護要求的前提下,當l=5 時數據質量最優(yōu)。由此說明,本文提出的l值選取算法可以得到數據質量最優(yōu),且滿足隱私保護要求的參數。
t值選取算法的實驗結果如圖5 所示。
圖5 不同t 值對應的數據可用性實驗結果Fig.5 Experimental results of data availability corresponding to different t values
從圖5 可以看出,t值的間隔為0.21,該值為最小規(guī)模等價類的EMD 距離。t值越大,即分布差異越大,對隱私的約束就越寬松。對應地,隱私保護程度就會相應降低,數據質量也就會越好。因此,在滿足隱私保護要求的所有t值(t=0.42,t=0.21)中,取t=0.42 比t=0.21 的數據質量更優(yōu)。由此證明,t值選取算法可以得到數據質量最優(yōu),且滿足隱私保護要求的參數。
本文實驗主要驗證在不同屬性集的情況下,經過匿名化處理后數據集抵御攻擊的能力。對此可通過計算不能抵御攻擊的等價類占所有等價類的比例進行判斷。實驗結果如圖6 所示。
圖6 不同匿名方法的抵御攻擊比較Fig.6 Comparison of anti-attack capabilities of different anonymous methods
從圖6 可以看出,隨著準標識屬性的增加,等價類生成的規(guī)模也越來越小,越來越難以滿足匿名約束,由此導致3 種方法整體的抵御攻擊能力逐漸變弱。從3 種方法的比較可以看出,k-anonymity 的抵御攻擊能力最差,這是因為k-anonymity 沒有對敏感屬性值做任何約束。而l-diversity 和t-closeness 針對這一問題進行了改進,所以抵御攻擊的能力遞進增強。
由于l-diversity 要求每個等價類中至少含有l(wèi) 個敏感屬性值,因此需要對k-anonymity 處理后的數據進行l(wèi)-diversity 約束判斷。盡管l-diversity 相比于kanonymity 做了很大的改進,但是仍然無法避免相似性攻擊。所謂相似攻擊是指在某一敏感屬性值占比過大的情況下,攻擊者有較高概率可以推斷出個體隱私。由于t-closeness 方法進一步考慮了敏感屬性值的分布問題,因此要求任何一組等價類中的敏感值分布與該屬性在整個數據表中的分布差異不能超過預先設定的閾值t,從而解決了相似性攻擊的問題。
在保證數據可用性的同時又不泄露個體隱私是大數據發(fā)布的基本要求和前提。本文設計基于匿名化隱私保護方法的大數據發(fā)布系統(tǒng)模型。根據用戶的不同身份和數據的不同應用需求,選擇合適的匿名化方法和參數,有效地實現隱私保護,并提出了針對模型中3 種方法的參數優(yōu)選方法,使得經過處理后的數據既可以達到數據提供方所要求的隱私保護效果,同時也能夠滿足數據使用方對數據可用性的要求。實驗結果證明了該方法的有效性。由于本文只研究了關系型數據的靜態(tài)發(fā)布問題,下一步將研究有關數據增量更新和動態(tài)發(fā)布的問題。