一種基于k-匿名的健康數(shù)據(jù)隱私保護方法
【技術領域】
[0001] 本發(fā)明屬于隱私保護領域,尤其涉及一種數(shù)據(jù)發(fā)布過程中的基于κ-匿名的低信息 損失的隱私保護方法。
【背景技術】
[0002] 隨著數(shù)據(jù)挖掘和數(shù)據(jù)發(fā)布等數(shù)據(jù)庫應用的出現(xiàn)與發(fā)展,如何保護隱私數(shù)據(jù)和防止 敏感信息泄漏成為當前面臨的重大挑戰(zhàn)。隱私保護問題已經成為數(shù)據(jù)挖掘應用及數(shù)據(jù)安全 領域的一個主要研究方向。隱私保護技術研究一般是通過改進關聯(lián)規(guī)則、挖掘算法等,或在 數(shù)據(jù)表發(fā)布之前進行隱私保護的相應處理,來實現(xiàn)個體隱私的保護。
[0003] 在早期的研究中,大多數(shù)統(tǒng)計問題需要保持發(fā)布數(shù)據(jù)的可用性,統(tǒng)計數(shù)據(jù)庫(SDB) 一般是通過訪問控制的機制和策略對不同的用戶賦予不同的數(shù)據(jù)訪問權限,然而隨著數(shù)據(jù) 挖掘技術的不斷發(fā)展,個人隱私泄漏問題越來越嚴重,人們對隱私保護的需求日益高漲,之 前所提出來的相關技術已經無法滿足人們越來越高的隱私保護需求,與此同時,隨著各類 共享信息的不斷增多和搜索技術的不斷進步,越來越多的個人隱私信息被發(fā)掘出來。目前 防止隱私泄露的方法的主要有抽樣、微聚合、Recording、數(shù)據(jù)約束、向原始數(shù)據(jù)添加噪聲、 數(shù)據(jù)交換、數(shù)據(jù)泛化等。
[0004] K-匿名(K-Anonymity)模型在眾多的數(shù)據(jù)挖掘隱私保護模型中以其簡單實用而引 起了國內外學者的廣泛關注和研究。K-匿名(K-Anonymity)模型是一個典型的數(shù)據(jù)發(fā)布模 型,與基于傳統(tǒng)的訪問控制等隱私保護技術不同,為了滿足匿名的需求,它首先對原始數(shù)據(jù) 集進行預處理,然后發(fā)布經過處理的數(shù)據(jù)集。K-匿名是在特定的應用背景被提出,在選舉、 求職、醫(yī)療等需要數(shù)據(jù)發(fā)布的各種應用場合中,既要能把個人的標識信息隱匿起來,還要確 保不能通過發(fā)布出來的信息將相關的選民、求職者、病患的隱私信息推導出來,這就是數(shù)據(jù) 發(fā)布中隱私保護的重要意義所在。
[0005] 傳統(tǒng)的K-匿名模型可以有效地防止鏈接攻擊,卻無法防止一致性攻擊和背景知識 攻擊。而目前針對K-匿名進行的改進也多以犧牲信息損失度為代價進行的。
【發(fā)明內容】
[0006] 為了解決鏈接攻擊以及傳統(tǒng)的K-匿名方法無法防止的一致性攻擊,本文提出了基 于三閾值的K-匿名改進方法,即基于K-匿名的健康數(shù)據(jù)隱私保護方法。該方法具有很高靈 活性,可以根據(jù)閾值的設置來改變匿名處理的速度以及信息損失度,該方法包括步驟:
[0007] (1)確定發(fā)布數(shù)據(jù)的標識符屬性、敏感屬性、準標識符屬性;
[0008] (2)依據(jù)敏感程度,對敏感屬性進行分組,并設置相關的閾值參數(shù);進行過分組之 后得到敏感屬性分組S = ( Sgl,Sg2,. . .,Sgm),并設置組隱私約束率a3 = (aSgl,asg2,. . .,aSgm), 且&沖元素的敏感值相同即S中共有m個敏感值;同時設置參數(shù)ai,a2的值,ai表示是否對原 始數(shù)據(jù)直接進行匿名處理的閾值;a 2表示每個等價類中應至少出現(xiàn)的不同敏感值的個數(shù);
[0009] (3)根據(jù)閾值&1來判定對數(shù)據(jù)是否直接進行下一步的聚類處理還是先對原始數(shù)據(jù) 進行處理使之滿足閾值&1的要求;進行al判定,判定閾值al是否得到滿足,若得到滿足則直 接進入下一環(huán)節(jié)進行處理,否則,對數(shù)據(jù)進行處理,將一定比例的隱私約束率為1的數(shù)據(jù),即 不需要進行保護的數(shù)據(jù)直接發(fā)布,使剩余的數(shù)據(jù)滿足閾值ai,便得到數(shù)據(jù)集T。
[0010] (4)對步驟(3)得到的數(shù)據(jù)集T進行聚類處理;
[0011] 步驟4.1,判斷敏感屬性值的個數(shù)是否大于a2,是則執(zhí)行下一步,否則跳出流程;定 義QIS={},QIS為等價類的集合;
[0012] 步驟4.2,從數(shù)據(jù)集T中隨機選取一個元組t,T = T-{t};生成聚類集C = {t},把t作 為聚類的中心;
[0013] 步驟4.3,如果C中敏感屬性組個數(shù)小于a2,則從T中尋找一個元組ti,t與ti中的敏 感屬性值屬于不同的敏感屬性組,且Dis(t,ti)的值最小;C = CU {ti} ;T = T_{ti};直至C中 的敏感屬性組個數(shù)為a2個;
[0014] 用下述公式計算元組tl和t2的距離:
[0015]
/=1
[0016] 數(shù)值型數(shù)據(jù)之間的距離使用下述公式進行計算:
[0017]
[0018] 分類型數(shù)據(jù)之間的距離使用下述公式進行計算:
[0019]
[0020] 步驟4.4,當C中元組個數(shù)小于K時,從T中找一個元組使得與聚類集C的距離最 小;統(tǒng)計聚類集C中與元組屬于同一個敏感屬性組的個數(shù)I Sgl I,計算GPleak(Sgl);如果 GPleak(Sgi) < asgi,則進行下面操作,C = CU {tj} ;T = T-{tj}。將得到的聚類集C存放在QIS 中,K為每個聚類中元組的個數(shù);
[0021] 步驟4.5,重復前面的步驟,直至T中的數(shù)據(jù)都經過了匿名化處理;
[0022] (5)對經過聚類得到的數(shù)據(jù)進行泛化;
[0023]將一個聚類內的數(shù)據(jù)泛化為一個值,具體操作如下:
[0024]步驟5.1,制定泛化格;
[0025]步驟5.2,泛化時泛化規(guī)則從泛化格底部開始選擇,判定能否將所有聚類集進行泛 化,如可以則選擇該泛化策略,否則根據(jù)泛化格向上選取下一個泛化策略;
[0026] (6)獲得經過匿名化的數(shù)據(jù)集Τ'。
[0027] 本發(fā)明的有益效果是:在安全性方面,一、對數(shù)據(jù)進行Κ-匿名處理,因此處理后的 數(shù)據(jù)可以抵抗鏈接攻擊;二、對數(shù)據(jù)進行匿名處理的過程中進行了 a2閾值的限定從而可以 有效地防止一致性攻擊。在效率方面,該發(fā)明設置了閾值,從而使得匿名處理更加靈活, 對于只有少量的用戶信息具有較高的保護要求時,可以只對部分數(shù)據(jù)進行匿名化處理。同 時也可以根據(jù)實際情況來對靈活地設置 ai的取值,來平衡處理速度與信息損失度的關系。
【附圖說明】
[0028]圖1示出了本發(fā)明一種基于K-匿名的健康數(shù)據(jù)隱私保護方法的流程圖;
[0029]圖2示出了該方法中閾值al判定流程;
[0030]圖3示出了聚類處理的方法流程;
[0031]圖4示出了本實施實例中應用的泛化技術;
[0032]圖5示出了本實施實例中泛化格的處理技術;
[0033]圖6示出了本實施實例使用泛化格操作流程。
【具體實施方式】
[0034]下面結合附圖和實施例對本發(fā)明做進一步說明:
[0035] -種基于K-匿名的健康數(shù)據(jù)隱私保護方法,包含以下步驟:
[0036] 確定發(fā)布數(shù)據(jù)的標識符屬性、敏感屬性、準標識符屬性;
[0037] 標識符屬性:數(shù)據(jù)表中的某屬性如果能夠唯一標識出個體身份,即能夠直接確定 某個具體的個體,例如姓名、護照號、電話號碼等屬性,這樣的屬性就稱為標識符屬性。數(shù)據(jù) 發(fā)布時,一般直接從表中移除該屬性。
[0038] 準標識符屬性((>)皿8;[-1(16111^;^6^,(>)1) :準標識符屬性是同時存在于發(fā)布數(shù)據(jù)表 和外部數(shù)據(jù)源表中的一組屬性,例如郵編、出生日期、性別的屬性集合。利用該屬性集合對 數(shù)據(jù)表進行鏈接,推導出標識個人的隱私信息,該屬性集合稱為準標識符屬性。
[0039] 敏感屬性(Sensitive Attribute):發(fā)布數(shù)據(jù)時,個體不愿意其他用戶所知道的信 息屬性,即需要被保護的屬性,例如疾病信息、個人收入、婚姻狀況等。
[0040] 如圖1所示,本實施包括屬性分組,閾值確定,聚類,泛化模塊。具體為:
[0041 ]步驟1,對信息中的敏感屬性進行分組,如疾病信息為敏感屬性,可將疾病信息進 行分組,將艾滋病、癌癥等隱私性強的疾病信息分為一組,將高血壓、糖尿病分為一組,發(fā) 燒、感冒分為一組(分組是根據(jù)疾病的敏感程度來進行的)。進行過分組之后可以得到敏感 屬性分組S = ( Sgl,Sg2,· · ·,Sgm),并設置組隱私約束率a3 = (aSgl,aSg2,· · ·,aSgm),且Sgi中兀素 的敏感值相同即S中共有m個敏感值。設置參數(shù)ai,a 2的值。&1表示是否對原始數(shù)據(jù)直接進行 匿名處理的閾值,只有當敏感屬性中不能直接發(fā)布的元組的比例達到 &1時,才對數(shù)據(jù)進行 匿名化處理,否則先對其進行相應處理,如此,本算法更加靈活,系統(tǒng)開銷也能夠得到更好 地控制; &2表示每個等價類中應至少出現(xiàn)的不同敏感值的個數(shù),此做法是為了進一步提升 算法的安全性。
[0042]等價類E的定義:
[0043]給定數(shù)據(jù)表AT,其準標識符屬性為QI,則AT在QI上具有相同映射值的所有元組構 成等價類E。即等價類E中所有元組在QI上的屬性值是不可區(qū)分的。
[0044] 定義8、組隱私泄露約束定義:
[0045]給定數(shù)據(jù)集D,準標識符屬性QI,敏感屬性組S為敏感屬性值的集合,且S={sgl, sg2, · · ·,sgm}為敏感屬性根據(jù)敏感性的一個分組,((E,Sgi))表示在等價類E中敏感屬性組s gi 的隱私程度,33為專家(8卩人為)設置的參數(shù),0〈33〈=1,3!^1,3!^2,...,3¥分別為各個敏感組 的