一種基于差分隱私發(fā)布的數(shù)據(jù)的可用性計算方法
【專利摘要】本發(fā)明公開一種基于差分隱私發(fā)布的數(shù)據(jù)的可用性計算方法,針對集合型數(shù)據(jù)和關(guān)系型數(shù)據(jù)分別提出了基于DiffPart的保護隱私的數(shù)據(jù)可用性計算方法和基于DiffGen的保護隱私的數(shù)據(jù)可用性計算方法,對可用性進行定義,分別給出度量兩種方法的信息損失的可用性函數(shù),通過發(fā)布者發(fā)布一些加密過的輔助數(shù)據(jù)集,其中使用在上構(gòu)造的密碼系統(tǒng)來加密所述輔助數(shù)據(jù)集,依次驗證所述輔助數(shù)據(jù)集是否正確的包含了發(fā)布者的數(shù)據(jù),利用所述輔助數(shù)據(jù)集計算出最終發(fā)布數(shù)據(jù)集的可用性。實驗表明了該方案的效率較高,其主要受數(shù)據(jù)提供者個數(shù)和數(shù)據(jù)規(guī)模影響。
【專利說明】一種基于差分隱私發(fā)布的數(shù)據(jù)的可用性計算方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于差分隱私發(fā)布的數(shù)據(jù)的可用性計算方法,屬于信息安全【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]服務(wù)提供者通常能夠搜集到大量的用戶數(shù)據(jù),有時候同一個服務(wù)的多個提供者可能會將他們積累的數(shù)據(jù)合并到一起以支持一些特殊的數(shù)據(jù)挖掘任務(wù)。例如,全國的大型醫(yī)院將他們的數(shù)據(jù)統(tǒng)一提交給一個研究組,該研究組將基于這些數(shù)據(jù)挖掘出流感傳播的模型。
[0003]在上述過程中,如何保護用戶的隱私是十分重要的,即所謂保護隱私的聯(lián)合數(shù)據(jù)發(fā)布問題。針對這一問題提出了很多模型,如K匿名和差分隱私。K匿名及其變形(1-diversity, t-closeness)將全部記錄泛化為若干組記錄,使得每一組中的各個記錄無法相互區(qū)分。差分隱私是一個更強的模型。它要求發(fā)布出來的數(shù)據(jù)對于單條記錄的加入或者刪除不敏感。實現(xiàn)該模型的匿名化方法通常在發(fā)布數(shù)據(jù)中加入噪聲,或者隨機泛化原始數(shù)據(jù)。顯然,所有的這些匿名化方法有損于數(shù)據(jù)可用性。因此無論數(shù)據(jù)提供者還是數(shù)據(jù)使用者都期望能計算數(shù)據(jù)可用性以衡量匿名化導(dǎo)致的信息損失。
[0004]遺憾的是,數(shù)據(jù)可用性的計算并不顯然。其要求同時知道發(fā)布的數(shù)據(jù)及原始數(shù)據(jù)集,但通常原始數(shù)據(jù)由獨立于數(shù)據(jù)提供者的發(fā)布者合并并做匿名化處理且出于隱私保護的目的,原始數(shù)據(jù)不應(yīng)當(dāng)透露給任何數(shù)據(jù)提供者或使用者。注意,盡管發(fā)布者從提供者處獲得數(shù)據(jù),但在一個強安全模型下,發(fā)布者不能把搜集到的原始數(shù)據(jù)透露給任何一個數(shù)據(jù)提供者。因此,數(shù)據(jù)提供者或者使用者計算可用性是困難的。盡管他們可以要求發(fā)布者計算數(shù)據(jù)可用性(這是簡單的因為發(fā)布者同時擁有原始數(shù)據(jù)以及發(fā)布數(shù)據(jù))并告知他們,但是發(fā)布者未必是可以信任的,他完全可以提供一個偽造的更高的可用性。事實上,大量數(shù)據(jù)的匿名化處理有著巨大的開銷,發(fā)布者具有這樣的動機去聲稱一個更高的可用性。
【發(fā)明內(nèi)容】
[0005]發(fā)明目的:本發(fā)明目的即解決在不損害隱私的情況下如何計算出發(fā)布數(shù)據(jù)的可用性。
[0006]技術(shù)方案:一種基于差分隱私發(fā)布的數(shù)據(jù)的可用性計算方法,針對集合型數(shù)據(jù)和關(guān)系型數(shù)據(jù)分別提出了基于DifTPart的保護隱私的數(shù)據(jù)可用性計算方法和基于DiffGen的保護隱私的數(shù)據(jù)可用性計算方法,對可用性進行定義,分別給出度量兩種方法的信息損失的可用性函數(shù),通過發(fā)布者發(fā)布一些加密過的輔助數(shù)據(jù)集,其中使用在Zl上構(gòu)造的密碼系統(tǒng)來加密所述輔助數(shù)據(jù)集,依次驗證所述輔助數(shù)據(jù)集是否正確的包含了發(fā)布者的數(shù)據(jù),利用所述輔助數(shù)據(jù)集計算出最終發(fā)布數(shù)據(jù)集的可用性。實驗表明了該方案的效率較高,其主要受數(shù)據(jù)提供者個數(shù)和數(shù)據(jù)規(guī)模影響。
[0007]有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明的特點為:
[0008](I)首先,提出了基于DiffPart (—種基于差分隱私模型發(fā)布set-valued數(shù)據(jù)的算法)的保護隱私的數(shù)據(jù)可用性計算方法。DifTPart使用一個上下文無關(guān)的分類樹來對記錄統(tǒng)計加入噪聲,并且記錄不會被泛化。本發(fā)明所提的方法通過加密記錄的原始統(tǒng)計頻度實現(xiàn)對于發(fā)布數(shù)據(jù)的可用性計算。該方法可以保護原始數(shù)據(jù)不被各個計算實體(使用者或提供者)竊取,因為它們不能獲知某個特定記錄在原始數(shù)據(jù)中是否出現(xiàn)以及出現(xiàn)多少次。此外,因為加密是由發(fā)布者實現(xiàn)的,本發(fā)明也提供了一個增量式驗證其正確性的協(xié)議。理論上的分析表明了本發(fā)明所提出的方法的安全性及正確性。
[0009](2)將上述方法擴展到DiffGen (—種基于差分隱私發(fā)布關(guān)系型數(shù)據(jù)的方法)。與DiffPart不同,DiffGen在對記錄的頻度加入噪聲前要先泛化記錄的屬性值。信息損失是由于泛化以及加噪聲兩個方面。這兩個方面的信息損失由不同的可用性函數(shù)度量。本發(fā)明對兩者都做了考慮。分析表明,對于泛化操作的可用性可以僅利用發(fā)布數(shù)據(jù)來計算。而噪聲部分的可用性定義和DiffPart的很類似,因此本發(fā)明稍稍調(diào)整了用于DiffPart可用性計算的方法來完成DiffGen噪聲部分的可用性計算。
[0010](3)通過一系列實際數(shù)據(jù)集上的實驗評估了所提出的方法的效率,結(jié)果表明該方法足夠高效,因為數(shù)據(jù)發(fā)布及可用性計算都是離線的。
【專利附圖】
【附圖說明】
[0011]圖1 是 DiffPart 和 DiffGen 概覽;
[0012]圖2是不公開T。的解決方案流程圖;
[0013]圖3是增量驗證協(xié)議示意圖;
[0014]圖4是時間開銷對比圖;
[0015]圖5是時間開銷對比圖(η = 48)。
【具體實施方式】
[0016]下面結(jié)合具體實施例,進一步闡明本發(fā)明,應(yīng)理解這些實施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對本發(fā)明的各種等價形式的修改均落于本申請所附權(quán)利要求所限定的范圍。
[0017]1.基礎(chǔ)知識
[0018]1.1差分隱私保護數(shù)據(jù)發(fā)布
[0019]差分隱私模型旨在使得至多有一條不同記錄的兩個查詢的結(jié)果無法區(qū)分進而保護敏感信息。如下給出差分隱私定義:
[0020]定義1.方法Μ: R(D) — R(T)符合ε -差分隱私當(dāng)且僅當(dāng)對于任意的,且每一對D, D'g 只在一個記錄上不同
[0021]Pr [M(D) e R(T)] ^ eE.Pr [M(D') e R(T)]
[0022]其中,Pr[M(D) e R(T)] (R(T)表示方法M的值域)表示方法M作用于D的結(jié)果屬于R (T)的概率。
[0023]差分隱私定義是針對一個方法而不是數(shù)據(jù)集的。
[0024]差分隱私系統(tǒng)有兩個很自然的設(shè)定——交互式和非交互式。交互式指系統(tǒng)在線接受查詢并回答以經(jīng)過隱私保護的結(jié)果。出于對隱私的保護,該方法限制查詢次數(shù)。非交互式系統(tǒng)一次性的將所有的數(shù)據(jù)進行處理后發(fā)布出去,后續(xù)用戶擁有完整的發(fā)布數(shù)據(jù)。非交互式系統(tǒng)為研究者做數(shù)據(jù)分析提供了更大的靈活性。有鑒于此,大多數(shù)差分隱私系統(tǒng)如DiffPart和DiffGen都是非交互式的。
[0025]本發(fā)明將數(shù)據(jù)分為兩類:集合型數(shù)據(jù)和關(guān)系型數(shù)據(jù),表1分別給出了二者的例子。DiffPart和DifTGen是分別針對二者的差分隱私數(shù)據(jù)發(fā)布方法。它們都包含兩個主要步驟:隨機劃分和噪聲計數(shù)。在隨機劃分中,它們遞歸地將所有的記錄劃分為若干等價類,然后對每個等價類中的記錄數(shù)計數(shù)。DiffPart中的隨機劃分是基于一棵上下文無關(guān)的分類樹,其可以避免對于全集I的2^-1個非空子集逐個計數(shù)。而DiffGen則完全根據(jù)原始數(shù)據(jù)來決定如何劃分。二者的差別是DifTPart發(fā)布的記錄是沒有泛化的,而DifTGen則要先泛化所有的記錄屬性然后再發(fā)布泛化之后的結(jié)果。噪聲計數(shù)中,二者均基于Laplace機制向?qū)嶋H統(tǒng)計頻度加入噪聲。無論DiffPart還是DiffGen,參數(shù)ε都被分成兩部分,一部分應(yīng)用于隨機劃分另一半用于噪聲計數(shù)。
[0026](a)集合型數(shù)據(jù)(b)關(guān)系型數(shù)據(jù)
[0027]
【權(quán)利要求】
1.一種基于差分隱私發(fā)布的數(shù)據(jù)的可用性計算方法,其特征在于:針對集合型數(shù)據(jù)和關(guān)系型數(shù)據(jù)分別提出了基于DifTPart的保護隱私的數(shù)據(jù)可用性計算方法和基于DiffGen的保護隱私的數(shù)據(jù)可用性計算方法,對可用性進行定義,分別給出度量兩種方法的信息損失的可用性函數(shù),通過發(fā)布者發(fā)布一些加密過的輔助數(shù)據(jù)集,其中使用在<上構(gòu)造的密碼系統(tǒng)來加密所述輔助數(shù)據(jù)集,依次驗證所述輔助數(shù)據(jù)集是否正確的包含了發(fā)布者的數(shù)據(jù),利用所述輔助數(shù)據(jù)集計算出最終發(fā)布數(shù)據(jù)集的可用性。
2.如權(quán)利要求1所述的基于差分隱私發(fā)布的數(shù)據(jù)的可用性計算方法,其特征在于: DDiffPart發(fā)布的集合型數(shù)據(jù)的可用性定義 以I表示集合型數(shù)據(jù)所有項目的全集,發(fā)布數(shù)據(jù)為KISpf/ >:1Si e 21},其中ISi和f/表示一個項目集和它的加噪聲后的頻度;集合型數(shù)據(jù)的可用性由計數(shù)查詢的平均相對誤差來度量,對于一個特定的項目集ISi,數(shù)據(jù)集D上的一個計數(shù)查詢定義為
;對于數(shù)據(jù)集D的計數(shù)查詢的相對誤差定義為曜
其中,s是一個為了避免比較小的Q(D)的界; 度量發(fā)布數(shù)據(jù)I;由于向頻度加噪聲導(dǎo)致的信息損失:
其中,Tr是最終的發(fā)布數(shù)據(jù)集,fi; f/是第i條記錄的原始計數(shù)和加噪聲后的計數(shù)值,f/ +1是為了避免分母為O因為噪聲是可能為負的; 2)DiffGen發(fā)布的關(guān)系型數(shù)據(jù)的可用性 令T為原始關(guān)系型數(shù)據(jù)集,屬性(A1, A2,…,Ap),Ak(l<k<p)可能為數(shù)值型或者類別型的屬性; 數(shù)值型屬性對于記錄t的一個數(shù)值型屬性Ak,如果其具體值t.Ak泛化為區(qū)間[yk,zk],其信息損失定義為
其中 類別型屬性類別型屬性的泛化基于一棵固定的樹;原始數(shù)據(jù)集中屬性的值來自于該樹的葉節(jié)點;對于t.Ak而言,如果其原始值被泛化到一個祖先節(jié)點U,信息損失定義為
其中,Ak為Ak分類樹的葉節(jié)點個數(shù),Size(U)為以u為根的子樹的葉節(jié)點個數(shù); 發(fā)布數(shù)據(jù)集L中任意一條記錄t的信息損失定義為
其中,是屬性Ak的權(quán)重;整個發(fā)布數(shù)據(jù)集I;的信息損失定義為
令fi; f/表示一條泛化記錄η e Tr的實際頻度和干擾后的頻度;實際頻度可從原始數(shù)據(jù)集T中取得,度量這部分信息損失的可用性函數(shù)定義同式(2)。
3.如權(quán)利要求2所述的基于差分隱私發(fā)布的數(shù)據(jù)的可用性計算方法,其特征在于: 使用一種在S上構(gòu)造的密碼系統(tǒng)來加密這些中間數(shù)據(jù)集,該密碼系統(tǒng)基于子群確定問題,其指出確定一個群的某個元素是否在其某個特定的子群上是困難的; 密鑰生成:給定安全參數(shù)τ,生成三個大素數(shù)p,q, η滿足n = 2pq+l ;在2】的二次剩余群上隨機選擇兩個生成元g,U,令h = Up ;公鑰為(n,g, h),私鑰為q ; 加密:記加密信息為m(0〈m〈M,M = 216),m的密文為E (m,r) = gmhr, r為Z:上的一個隨機數(shù); 解密:先計算 E(m)q= (gmhr)q = (gq)m,然后在 Zm 上窮舉解 ^ogi Eimfig = ); 同態(tài)加法:對于兩個明文Hi1, m2,易見
計算由DiffPart或者DiffGen發(fā)布數(shù)據(jù)的可用性的方法中,發(fā)布者將提供幾個利用上述密碼系統(tǒng)加密的輔助數(shù)據(jù)集。
4.如權(quán)利要求3所述的基于差分隱私發(fā)布的數(shù)據(jù)的可用性計算方法,其特征在于: I)差分隱私模型發(fā)布的set-valued數(shù)據(jù)的可用性計算 下面介紹讓任意一個數(shù)據(jù)提供者Pj (I < j < m)計算由DiffPart發(fā)布的集合型數(shù)據(jù)集I;的可用性,記其原始數(shù)據(jù)集為T。,T0包含了從提供者那里搜集到的所有數(shù)據(jù); 鑒于原始數(shù)據(jù)集T。是機密的,發(fā)布者將發(fā)布一個輔助數(shù)據(jù)集ET。,這是一個加密了的T。,如果Tr由一組記錄組成,{(民,0:1 ( i ( Tr|},那么ET。=KRi, EaiE(O)=KiS T0U ;然后,數(shù)據(jù)提供者可以利用ET。而不是T。和I;來計算U(Tr);為使計算正確,下面兩個條件必須成立; (1)加密的原始數(shù)據(jù)集ET。必須和原始數(shù)據(jù)集T。一致; (2)可用性υ(?;)應(yīng)能夠正確地且不泄露隱私地從ETt^PI;中計算出; 對ET。的增量驗證模型,本部分將闡述如何驗證ET。與T。間的一致性,稱為增量驗證協(xié)議;其中I+ (1 ^ J £ m),ETu>是隨同I; 一起發(fā)布的中間數(shù)據(jù)集,Vj指Pj驗證是否正確包含了他的數(shù)據(jù); 在增量驗證協(xié)議執(zhí)行前,發(fā)布者搜集所有提供者積累的數(shù)據(jù),執(zhí)行差分隱私保護方法,最后發(fā)布I; ; ?;也由發(fā)布者計算,其與I;形式相同但是僅包含P1~P」的數(shù)據(jù),相應(yīng)的加密數(shù)據(jù)集也由發(fā)布者計算后發(fā)布;記[中第i條記錄的平度為fu,隨機數(shù)r'j分別用于加密?;中的EP和£(尤),等于fu中屬于匕的部分; 對每個提供者而言,驗證過程如下:(1)首先Pj計算下面的密文
其中,r^ = !.' i;rr/= r" U]-^2zU]r' uyi~r" i;J ; (2)然后讓發(fā)布者給出ru,rsi;J使得Pj能夠解密E(Afij) £1鉍1)并確定對于任意i(l≤i≤TjD是否八4」=(^.,4^=0全部正確,否則五7:.不正確; (3)如果£?;正確的包含了Pj的數(shù)據(jù),他將附上一個簽名以告知后續(xù)數(shù)據(jù)提供者£?;是正確的; 因不存在£7;,P1對于£?;正確性驗證稍有不同,發(fā)布者直接將r'.u給P1S后P1驗證五&是否和他自己的數(shù)據(jù)相吻合; 基于ET。及I;計算u(ig ;本部分將解釋如何在不泄露隱私的情況下利用ET。和I;計算出υα;);記計算υα;)的數(shù)據(jù)提供者為P,過程如下: (1)提供者P按下式計算a和%(I≤i≤η):
(2)P按下述等式計算
(3)P進一步計算下面的密文并發(fā)送給發(fā)布者
其中,m’m" m’sm" s由P隨機選擇并保密;發(fā)布者接受到這兩個密文后部分解密它們得到聲
隨后發(fā)布者將這兩個部分解密的結(jié)果以及gq和真實的&=YdOjt和a = Σ</;2返回給P ; (4)當(dāng)收到Pt1Pi^gqS1S2后,P驗證風(fēng)=(g9)"w爲(wèi)=(^嚴(yán);+%是否成立以確定發(fā)布者是否給出了正確的值; (5)若上一步的驗證正確,P計算υ(?;)如下: u(T;)=^}1.....11.....^
nff (./: +D2
I ff f I a /*2
Z Ji , 1 V*1 Ji
一I— / —;--1— I —;-—
?tr./:+i wtf(/:+ir
_ I — 2s, Sy
一 I+ ,
na m~ 在前兩步p計算了 £(1>,/:)和£(1?),后兩步p在發(fā)布者的幫助下解密了二者并
I^l?:謹利用它們計算了 υα;); 2)差分隱私模型發(fā)布的關(guān)系型數(shù)據(jù)的可用性計算 發(fā)布關(guān)系型數(shù)據(jù)的信息損失來自于兩個方面一泛化和干擾;由泛化引起的信息損失由計算UGO;)得到,由頻度干擾引起的信息損失由計算υα;)評估,υα;)的定義和集合型數(shù)據(jù)的相同;
計算U (I;) 仍然記最終發(fā)布的數(shù)據(jù)集為?;,記泛化后的數(shù)據(jù)集為Tg其包含泛化后的各個準(zhǔn)標(biāo)示符以及相應(yīng)的真實的頻度;發(fā)布者生成I,T,,m Tg有完全相同的形式但只包含P1?匕的數(shù)據(jù);數(shù)據(jù)集和Tg與集合型數(shù)據(jù)的T。和7;十分類似;關(guān)系型數(shù)據(jù)庫的可用性計算過程如下: (1)發(fā)布者搜集所有提供者的數(shù)據(jù),執(zhí)行DifTGen并發(fā)布Τ,;(2)發(fā)布I;的同時,發(fā)布者還提供ETgΕΤ,,數(shù)據(jù)集,它們分別是Tg和‘的加密版本; (3)提供者依次驗證£1;是否正確包含了他們的數(shù)據(jù); (4)利用ETg,提供者可以計算U(I;); 計算UG(Tr) 從UG0;)的定義中可以看出它的計算只和I;相關(guān);
—Ak is numerical UG(IA1) = I ⑷
stze(t.Ak).....-—Tif Ak is categorical
I 141.UG(t) = Jj(Ot-UGitJk)
A=I UG(T) = -Y UG(t)
'\Trm.其中,[yk, zk]是t.Ak泛化后的值,size (t.Ak)是能泛化為t.Ak的不同值的個數(shù);I;中每條記錄的可用性是其各個屬性的可用性的加權(quán)和,UG(Tr)是I;所有記錄的可用性的均值。
【文檔編號】G06F19/00GK104135362SQ201410349202
【公開日】2014年11月5日 申請日期:2014年7月21日 優(yōu)先權(quán)日:2014年7月21日
【發(fā)明者】華景煜, 唐安, 仲盛 申請人:南京大學(xué)