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