本發(fā)明屬于數(shù)據(jù)分類
技術(shù)領(lǐng)域:
,具體涉及一種基于差分隱私保護(hù)的數(shù)據(jù)發(fā)布方法。
背景技術(shù):
:目前,云計(jì)算與移動(dòng)互聯(lián)網(wǎng)技術(shù)與應(yīng)用日趨成熟,數(shù)據(jù)共享也是大勢(shì)所趨,同時(shí)數(shù)據(jù)隱私安全問(wèn)題也日漸嚴(yán)峻。對(duì)于數(shù)據(jù)擁有者來(lái)說(shuō),保護(hù)發(fā)布數(shù)據(jù)中的隱私信息應(yīng)當(dāng)是其首要考慮的問(wèn)題。盡管業(yè)界已經(jīng)對(duì)最險(xiǎn)惡的數(shù)據(jù)盜竊采取了應(yīng)對(duì)措施,但許多計(jì)算機(jī)系統(tǒng)在某些層面上依然存在易受攻擊的弱點(diǎn)。當(dāng)今的企業(yè),很難對(duì)所有的數(shù)據(jù)信息系統(tǒng)提供充分的保護(hù),從而在數(shù)據(jù)隱私方面留下巨大漏洞。企業(yè)中一些最機(jī)密或敏感的信息,如身份證號(hào)碼、手機(jī)號(hào)碼、銀行卡號(hào)及其他財(cái)務(wù)信息,面臨著隱私泄露的風(fēng)險(xiǎn)。然而,在很多應(yīng)用場(chǎng)合,我們不得不發(fā)布一些含有敏感信息的數(shù)據(jù),如商場(chǎng)的交易記錄或者醫(yī)院的醫(yī)療數(shù)據(jù)或者用戶的手機(jī)號(hào)碼。因此,如何在數(shù)據(jù)共享的同時(shí)保護(hù)用戶的隱私成為了目前數(shù)據(jù)隱私保護(hù)領(lǐng)域的一大難題。目前,數(shù)據(jù)的隱私發(fā)布方法有許多,k-匿名法是其中之一,它通過(guò)刪除數(shù)據(jù)表中的一些標(biāo)識(shí)符屬性信息,保證每種屬性至少對(duì)應(yīng)k條數(shù)據(jù),以此來(lái)避免信息泄漏的風(fēng)險(xiǎn)。對(duì)于普通的攻擊者而言確實(shí)起到了保護(hù)作用,然而當(dāng)攻擊者掌握了相當(dāng)?shù)谋尘爸R(shí)之后,這種方法就顯得不是那么有效。2006年,dwork提出了差分隱私保護(hù)框架,這是一種兼顧可用性和強(qiáng)隱私保護(hù)的數(shù)據(jù)發(fā)布方法,在抵御具有背景知識(shí)的攻擊上效果尤其顯著。雖然它提供了強(qiáng)有力的隱私保障,卻犧牲了數(shù)據(jù)的準(zhǔn)確度和可用性,而這種犧牲有時(shí)候是得不償失的。因此現(xiàn)有的差分隱私保護(hù)的數(shù)據(jù)發(fā)布方法需要改進(jìn)。技術(shù)實(shí)現(xiàn)要素:本發(fā)明所要解決的技術(shù)問(wèn)題是避免數(shù)據(jù)直接發(fā)布時(shí)所帶來(lái)的信息泄漏的風(fēng)險(xiǎn),為此提供一種基于差分隱私保護(hù)的數(shù)據(jù)發(fā)布方法,其能夠?qū)?shù)據(jù)進(jìn)行隱私保護(hù)的同時(shí)保證數(shù)據(jù)的高可用性及準(zhǔn)確性。專業(yè)術(shù)語(yǔ)及其約束:1.k-項(xiàng)集:每個(gè)元素由k個(gè)字段組成,這些元素所構(gòu)成的集合為k-項(xiàng)集,如{ab,cd,ef,…}為2-項(xiàng)集2.支持度計(jì)數(shù):在數(shù)據(jù)集中,每個(gè)數(shù)據(jù)字段所出現(xiàn)的次數(shù)。3.噪聲支持度計(jì)數(shù):添加過(guò)噪聲之后的支持度計(jì)數(shù)。4.隱私預(yù)算:通常由使用者定義,用來(lái)控制數(shù)據(jù)隱私保護(hù)的強(qiáng)度,也可表示為攻擊者攻擊成功的概率,本發(fā)明中用ρ表示。5.噪聲參數(shù):差分隱私保護(hù)方法中,需要向數(shù)據(jù)集中添加噪聲,噪聲的大小由該參數(shù)決定,本發(fā)明中用ε表示。6.全局敏感度:設(shè)有函數(shù)f(d)→d,其輸入為數(shù)據(jù)集d輸出為向量d,對(duì)于任意的鄰接數(shù)據(jù)集d、d′有max||f(d)-f(d′)||為其全局敏感度。本發(fā)明的技術(shù)方案具體為一種基于差分隱私保護(hù)的數(shù)據(jù)發(fā)布方法,包括如下步驟,步驟1、對(duì)待發(fā)布的數(shù)據(jù)進(jìn)行預(yù)處理,得到可用數(shù)據(jù)集d和所有1-項(xiàng)集及其支持度計(jì)數(shù)集合c={t1,t2,…tn};步驟2、根據(jù)用戶定義的隱私預(yù)算ρ確定噪聲參數(shù)ε1,向集合c中添加拉普拉斯噪聲,并進(jìn)行初步的約束性處理,得到c′={t′1,t′2,…t′n};步驟3、根據(jù)添加的噪聲對(duì)數(shù)據(jù)集d進(jìn)行處理,若ti>t′i則通過(guò)指數(shù)機(jī)制從不包含項(xiàng)集i的記錄中選擇(ti-t′i)個(gè)記錄添加i,若tj<t′j則通過(guò)指數(shù)機(jī)制從包含項(xiàng)集j的記錄中選擇(t′j-tj)個(gè)記錄添加j,若tq=t′q則保持不變,最終得到數(shù)據(jù)集d′;步驟4、將數(shù)據(jù)集d′中的1-項(xiàng)集進(jìn)行組合,得到所有m-項(xiàng)集(m=1,2,…,n)及其支持度計(jì)數(shù)集合s;步驟5、使用步驟2中的方式對(duì)s集合中的支持度計(jì)數(shù)集合添加拉普拉斯噪聲,得到s′;步驟6、根據(jù)用戶需求對(duì)s′進(jìn)行一致性約束處理,以達(dá)到數(shù)據(jù)的可用性,得到滿足差分隱私的匿名數(shù)據(jù)集,并最終發(fā)布。進(jìn)一步,上述步驟2中根據(jù)用戶定義的隱私預(yù)算ρ確定噪聲參數(shù)ε1的計(jì)算過(guò)程如下:攻擊者對(duì)支持度系數(shù)攻擊成功的概率可表示為其中ε1為噪聲參數(shù),為達(dá)到用戶需求,可得不等式:求解ε1,得到其最優(yōu)值為2ln2(1-ρ)。上述步驟2中所述初步的約束性處理,具體方法如下:設(shè)c={t1,t2,…tk},添加拉普拉斯噪聲完畢,由噪聲序列產(chǎn)生的方式可知ti(i=1,2,…,n)的取值大部分為非正整數(shù)行,令f(x)=||(x-c)2||,求解下列最優(yōu)化問(wèn)題:minf(x)s.t.x∈n*,可得c′=x。步驟3中,發(fā)布的k-項(xiàng)集是由加噪1-項(xiàng)集改造的數(shù)據(jù)集d′產(chǎn)生,而不是直接從原數(shù)據(jù)集得出。步驟3中通過(guò)指數(shù)機(jī)制從不包含項(xiàng)集i的記錄中選擇(ti-t′i)個(gè)記錄添加i的過(guò)程如下:設(shè)記錄r有n個(gè)項(xiàng)集,每個(gè)項(xiàng)集的支持度計(jì)數(shù)為mn,則取q(d,r)為可用性函數(shù),即從d中選出記錄r的可能性,函數(shù)q(d,r)的全局敏感度為n,指數(shù)機(jī)制下從集合c中選出記錄r的概率為:其中ri是為此條記錄中的第i個(gè)模式,ε為選擇記錄r的隱私預(yù)算,按照此概率來(lái)進(jìn)行用戶記錄的選擇。步驟3中通過(guò)指數(shù)機(jī)制從包含項(xiàng)集j的記錄中選擇t′j-tj個(gè)記錄添加j的過(guò)程如下:設(shè)記錄r有n個(gè)項(xiàng)集,每個(gè)項(xiàng)集的支持度計(jì)數(shù)為mn,則取q(d,r)為可用性函數(shù),即從d中選出記錄r的可能性,函數(shù)q(d,r)的全局敏感度為n,指數(shù)機(jī)制下從集合c中選出記錄r的概率為:其中rj是為此條記錄中的第j個(gè)模式,ε為選擇記錄r的隱私預(yù)算,按照此概率來(lái)進(jìn)行用戶記錄的選擇。步驟4中由k-項(xiàng)集產(chǎn)生k+1-項(xiàng)集的過(guò)程如下:為了得到用戶所需的m-項(xiàng)集,可以將兩個(gè)僅有一個(gè)元素不同的k-項(xiàng)集進(jìn)行組合,即可得到k+1項(xiàng)集,再將兩個(gè)僅有一個(gè)元素不同的k+1項(xiàng)集組合,得到k+2項(xiàng)集,重復(fù)此步驟,最終得到所需的m-項(xiàng)集;若合并時(shí)不存在這樣的兩個(gè)k-項(xiàng)集,則認(rèn)為不存在滿足要求的k+1項(xiàng)集。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):1、根據(jù)用戶的隱私保護(hù)需求以及數(shù)據(jù)規(guī)模兩者結(jié)合來(lái)確定添加噪聲的隱私預(yù)算,使得添加的噪聲不會(huì)過(guò)小,能滿足數(shù)據(jù)保護(hù)的目的;也不會(huì)過(guò)大,能保障數(shù)據(jù)的準(zhǔn)確性。即最大限度的保護(hù)數(shù)據(jù)不被泄露的同時(shí),維持?jǐn)?shù)據(jù)的準(zhǔn)確性及平穩(wěn)性。2、發(fā)布的k-項(xiàng)集是由加噪1-項(xiàng)集改造的數(shù)據(jù)集d′產(chǎn)生,而不是直接從原數(shù)據(jù)集得出,這使得攻擊者無(wú)法通過(guò)對(duì)比兩次發(fā)布的數(shù)據(jù)差異來(lái)獲得用戶信息。3、對(duì)加噪后的數(shù)據(jù)進(jìn)行一致性約束處理,避免了發(fā)布的數(shù)據(jù)是不符合使用規(guī)則的,數(shù)據(jù)的可用性得到了極大的保證。附圖說(shuō)明圖1為基于差分隱私保護(hù)數(shù)據(jù)發(fā)布方法流程圖。圖2為添加拉普拉斯噪聲的流程圖。具體實(shí)施方式現(xiàn)結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明。本發(fā)明提出基于差分隱私保護(hù)的數(shù)據(jù)發(fā)布方法,如圖1所示,包括如下步驟:步驟1、對(duì)待發(fā)布的數(shù)據(jù)進(jìn)行預(yù)處理得到可用數(shù)據(jù)集d和所有1-項(xiàng)集及其支持度計(jì)數(shù)集合c={t1,t2,…tn}。步驟2、根據(jù)用戶定義的隱私預(yù)算ρ確定噪聲參數(shù)ε1,向集合c中添加拉普拉斯噪聲,并進(jìn)行初步的約束性處理,得到c′={t′1,t′2,…t′n}。步驟3、根據(jù)添加的噪聲對(duì)數(shù)據(jù)集d進(jìn)行處理,若ti>t′i則通過(guò)指數(shù)機(jī)制從不包含項(xiàng)集i的記錄中選擇(ti-t′i)個(gè)記錄添加i,若tj<t′j則通過(guò)指數(shù)機(jī)制從包含項(xiàng)集j的記錄中選擇(t′j-tj)個(gè)記錄添加j,若tq=t′q則保持不變,最終得到數(shù)據(jù)集d′。步驟4、將數(shù)據(jù)集d′中的1-項(xiàng)集進(jìn)行組合得到所有m-項(xiàng)集(m=1,2,…,n)及其支持度計(jì)數(shù)集合s;步驟5、使用步驟2中的方式對(duì)s集合中的支持度計(jì)數(shù)集合添加拉普拉斯噪聲,得到s′;步驟6、根據(jù)用戶需求,對(duì)s′進(jìn)行一致性約束處理,以達(dá)到數(shù)據(jù)的可用性,得到滿足差分隱私的匿名數(shù)據(jù)集,并最終發(fā)布。步驟2中,根據(jù)下式向集合c中的元素添加拉普拉斯噪聲,添加的流程如圖2所示:c′(r)=c(r)+lap(l/2ln2(1-ρ))添加的噪聲序列l(wèi)={l1,l2,…,ln}是符合拉普拉斯分布的一組序列,其密度函數(shù)為:在本發(fā)明中μ=0,b=l/ε1。其中c′(r)為噪聲支持度計(jì)數(shù),c(r)為真實(shí)的支持度計(jì)數(shù),ρ為用戶所能接受攻擊數(shù)據(jù)成功的最大概率,l是對(duì)數(shù)據(jù)集d進(jìn)行查詢時(shí)的全局敏感度。其中l(wèi)ap(l/2ln2(1-ρ))是保護(hù)參數(shù)為2ln2(1-ρ)的拉普拉斯噪聲,推導(dǎo)過(guò)程如下:在拉普拉斯機(jī)制中,引入的參數(shù)越小,噪聲也越大,保護(hù)效果越好,但是數(shù)據(jù)的誤差更大,影響了數(shù)據(jù)的準(zhǔn)確性。為此我們不得不在達(dá)到保護(hù)數(shù)據(jù)目的的前提下增大參數(shù),以保證數(shù)據(jù)的準(zhǔn)確性。攻擊者對(duì)支持度系數(shù)的攻擊往往通過(guò)count查詢方式,其成功的概率可表示為其中ε1為用戶的噪聲參數(shù),為達(dá)到用戶需求可得不等式:解得ε1最優(yōu)值為2ln2(1-ρ)。進(jìn)行初步的約束處理過(guò)程如下:設(shè)c={t1,t2,…tk}已經(jīng)加噪完畢,由噪聲序列產(chǎn)生的方式可知,ti(i=1,2,…,n)的取值大部分為非正整數(shù)行。令f(x)=||x-c||2。求解下列最優(yōu)化問(wèn)題:minf(x)s.t.x∈n*??傻胏′=x。步驟3中,通過(guò)指數(shù)機(jī)制從不包含項(xiàng)集i的記錄中選擇(ti-t′i)個(gè)記錄添加i的過(guò)程如下:使用指數(shù)機(jī)制的目的正是為了保證模式的真實(shí)支持度計(jì)數(shù)不能泄露給數(shù)據(jù)分析者,其關(guān)鍵之處在于設(shè)計(jì)可用性函數(shù)q(d,r),即從d中選出記錄r的可能性。設(shè)記錄r有n個(gè)項(xiàng)集,每個(gè)項(xiàng)集的支持度計(jì)數(shù)為mn,則取由于從數(shù)據(jù)集d中添加或刪除一條記錄,影響每個(gè)項(xiàng)集的支持度計(jì)數(shù)至多為1,根據(jù)以上可知函數(shù)q(d,r)的全局敏感度為n,由此可以計(jì)算出,指數(shù)機(jī)制下從集合c中選出記錄r的概率,表示如下:其中ri是為此條記錄中的第i個(gè)模式,ε為選擇記錄r的隱私預(yù)算。按照此計(jì)算得出的概率來(lái)進(jìn)行用戶記錄的選擇。通過(guò)指數(shù)機(jī)制從包含項(xiàng)集j的記錄中選擇(t′j-tj)個(gè)記錄添加j的過(guò)程中指數(shù)機(jī)制選擇的方法與上述項(xiàng)集i的方法相同,此處不再贅述。步驟4中,由k-項(xiàng)集產(chǎn)生k+1-項(xiàng)集的過(guò)程:為了得到用戶所需的m-項(xiàng)集,可以將兩個(gè)僅有一個(gè)元素不同的k-項(xiàng)集進(jìn)行組合,即可得到k+1項(xiàng)集,再將兩個(gè)僅有一個(gè)元素不同的k+1項(xiàng)集組合,得到k+2項(xiàng)集,重復(fù)此步驟,最終得到所需的m-項(xiàng)集。若合并時(shí)不存在這樣的兩個(gè)k-項(xiàng)集,那么顯然不存在滿足要求的k+1項(xiàng)集。例如:某超市交易記錄數(shù)據(jù)表如下:表1步驟1,將表1即預(yù)發(fā)布的數(shù)據(jù)集d進(jìn)行預(yù)處理,隱藏購(gòu)物者信息,只保留商品列進(jìn)行操作,得到所有1-項(xiàng)集及其支持度計(jì)數(shù)集合c如表2所示。表2步驟2,設(shè)攻擊者攻擊成功概率ρ=0.01,由表1可知,每個(gè)用戶id所購(gòu)買商品數(shù)量為7,所以刪除一條記錄將會(huì)對(duì)7條結(jié)果產(chǎn)生影響,所以全局敏感度系數(shù)l=7。因此,向表2中的計(jì)數(shù)添加的滿足拉普拉斯分布的噪聲為:lap(7/2ln2(1-0.01))其中拉普拉斯分布的概率密度函數(shù)為:實(shí)際應(yīng)用中μ通常取0,b=7/2ln2(1-0.01)。加噪之后的計(jì)數(shù)如表3所示:表3在現(xiàn)實(shí)生活中,計(jì)數(shù)都是正整數(shù),表3中的數(shù)據(jù)顯然不符合要求,一般數(shù)據(jù)處理到這一步雖然起到了保護(hù)作用,但是數(shù)據(jù)的可用性卻遭到嚴(yán)重破壞。因?yàn)檫@樣的數(shù)據(jù)很難被使用,所以必須對(duì)其進(jìn)行初步約束性處理。通過(guò)計(jì)算min(x1-15.37328)2+(x2-14.74787)2+…+(x20-0.865363)2s.t.x1+x2+…+x20=175(共有25位用戶,每個(gè)用戶購(gòu)買7件商品)x1,x2,x3,…,x20∈n*所求得的解即為符合實(shí)際計(jì)數(shù)標(biāo)準(zhǔn)的結(jié)果c’,如表4所示表4步驟3,對(duì)照表4(即c′={t′1,t′2,…t′n})與表2(即c={t1,t2,…tk})的差值,對(duì)表1(即數(shù)據(jù)集d)進(jìn)行修改,正數(shù)則添加一條購(gòu)買記錄,負(fù)數(shù)則刪除一條購(gòu)買記錄。具體過(guò)程如下:兩表差值為0的如heineken,跳過(guò)此步驟保持不變,差值小于0的如olives在c′中的計(jì)數(shù)比在c中少1,因此需從數(shù)據(jù)集d中刪除一條olives的購(gòu)買記錄。購(gòu)買olives的用戶有0、1、3、4號(hào)等,0號(hào)用戶被選擇到的概率為:其中q(d,0)=12+12+7+12+9+14+10是0號(hào)用戶購(gòu)買商品的支持度計(jì)數(shù)總和。其購(gòu)買的商品bourbon、corned_b、ham、hering、ice_crea、olives、turkey的支持度計(jì)數(shù)分別為:12、12、7、12、9、14和10。q(d,ri)為第i號(hào)購(gòu)買olives用戶所購(gòu)買的商品的支持度計(jì)數(shù)總和。n為購(gòu)買olives的支持度計(jì)數(shù)此處為12。依次計(jì)算出每個(gè)用戶被選擇的概率之后,按此概率自動(dòng)選擇出一個(gè)用戶刪除其對(duì)olives的購(gòu)買記錄,完成對(duì)d的修改。又如turkey在c中的計(jì)數(shù)比c′中少2,因此需要向兩個(gè)不含turkey的記錄中添加turkey,選擇過(guò)程如下:未購(gòu)買turkey的用戶有1、5、7、8號(hào)等,1號(hào)用戶被選擇的概率為:其中q(d,1)的計(jì)算方法與q(d,0)類似,q(d,rj)為第j號(hào)用戶未購(gòu)買turkey的支持度計(jì)數(shù)總和,n為turkey的支持度計(jì)數(shù)此處為10。依次計(jì)算出每個(gè)用戶被選擇的概率之后,按此概率選擇兩個(gè)用戶,向其購(gòu)買記錄中添加turkey,對(duì)d進(jìn)行修改。最終的選擇結(jié)果如表5所示:表5product差值按概率選擇的customeridheineken0olives114bourbon16corned-b121herring-15baguette211,16apples217,13turkey-27,9cracker-56,13,15,16,24ice-cream10coke45,14,17,24peppers23,18avocado121ham-121sardines0artichoke-30,13,20soda0steak-22,5chicken-210,21bordeaux19表中第三列為選擇插入購(gòu)買記錄或刪除購(gòu)買記錄的用戶id編號(hào),對(duì)d進(jìn)行修改后產(chǎn)生的d′如表6所示:表6步驟4,如果用戶需要對(duì)多種商品組合購(gòu)買的信息進(jìn)行統(tǒng)計(jì)并發(fā)布數(shù)據(jù),應(yīng)從數(shù)據(jù)集d′中進(jìn)行。此處假設(shè)用戶需要對(duì)購(gòu)買率最高的兩種商品組合進(jìn)行統(tǒng)計(jì),即取m=2。由表6中數(shù)據(jù)可得出表7:表7corned-b+herring10olives+heineken8baguette+heineken7bourbon+heineken7herring+heineken7olives+herring7corned-b+heineken7表7中商品的組合購(gòu)買數(shù)分別為10、8、7、7、7、7、7。步驟5,向表7中的數(shù)據(jù)集合s添加拉普拉斯噪聲,此數(shù)據(jù)使用count函數(shù)產(chǎn)生,每條記錄的增刪對(duì)count函數(shù)的影響至多為1。因此此處的敏感度系數(shù)為1,添加噪聲為lap(1/2ln2(1-0.01)),得到加噪數(shù)據(jù)如表8所示,也即是數(shù)據(jù)集合s’:表8corned-b+herring10.69879olives+heineken6.687804baguette+heineken6.06702bourbon+heineken7.105392herring+heineken7.142481olives+herring7.640396corned-b+heineken6.638711步驟6,對(duì)表8中計(jì)數(shù)進(jìn)行一致性約束處理,并求解min(x1-10.69879)2+(x2-6.687804)2+(x3-6.06702)2+(x4-7.105392)2+(x5-7.142481)2+(x6-7.640396)2+(x7-6.638711)2;x1>=x2;x2>=x3;x3>=x4;x4>=x5;x5>=x6;x6>=x7;x7>=0;x1,x2,…,x7∈n*。表9為處理好的最終數(shù)據(jù):表9corned-b+hering11olives+heineken7baguette+heineken7bourbon+heineken7herinf+heineken7olives+hering7corned-b+heineken7表4和表9為滿足差分隱私保護(hù)的匿名數(shù)據(jù),可直接進(jìn)行發(fā)布。需要說(shuō)明的是,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管通過(guò)上述優(yōu)選實(shí)施例已經(jīng)對(duì)本發(fā)明進(jìn)行了詳細(xì)的描述,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,可以在形式上和細(xì)節(jié)上對(duì)其作出各種各樣的改變,而不偏離本發(fā)明所限定的范圍。當(dāng)前第1頁(yè)12