王明月,張 興,李萬杰,張青云,李曉會
(遼寧工業(yè)大學 電子與信息工程學院,遼寧 錦州 121001)
信息技術(shù)快速的發(fā)展使人們進入了大數(shù)據(jù)時代[1],全球數(shù)據(jù)總量正速度增長,保護大量共享數(shù)據(jù)的隱私安全已成為當前學術(shù)研究的熱點.維基百科認為,隱私[2]是個人、群體將關(guān)于自己的信息自我隔離的能力,從而有選擇地表達自己,商品購買喜好、醫(yī)療記錄情況、社交系統(tǒng)和生命周期過程都面臨著隱私信息泄露威脅.
大數(shù)據(jù)的發(fā)布具有動態(tài)性且來源多、總量大,發(fā)布的數(shù)據(jù)信息可能會外泄,因此既要保證數(shù)據(jù)能高質(zhì)量發(fā)布又要保護可能泄露隱私的數(shù)據(jù).數(shù)據(jù)發(fā)布的隱私保護已經(jīng)受到了廣泛關(guān)注.關(guān)于隱私保護最早提出的法律規(guī)定文件表明隱私權(quán)并不禁止任何公開內(nèi)容的發(fā)布,并且法律會提供援助[3];2007年美國國家安全局利用“棱鏡”監(jiān)控系統(tǒng)[4],在中心服務器進行數(shù)據(jù)挖掘并且獲取利益信息,損害人們的隱私安全;2012年CSA成立大數(shù)據(jù)工作組來實現(xiàn)數(shù)據(jù)隱私安全的最大化;2017年12月,《信息安全技術(shù)個人信息安全規(guī)范》由全國信息安全標準化技術(shù)委員會制定并且正式發(fā)布,于2018年5月實施.
本文分析了現(xiàn)存的攻擊模型,對數(shù)據(jù)發(fā)布隱私保護模型、方法進行分析和總結(jié),分類闡述基于分組技術(shù)、加密技術(shù)和失真技術(shù)的最新研究成果,對比分析算法的優(yōu)缺點,介紹數(shù)據(jù)發(fā)布在其他領域的應用,對研究中存在的問題進行展望.
研究者通過對發(fā)布的數(shù)據(jù)進行分析可以促進學術(shù)方面的發(fā)展,然而發(fā)布的數(shù)據(jù)中存在隱私,如果不利用任何隱私保護技術(shù),隱私信息就可能會泄露.攻擊者會利用一些攻擊模型來獲取敏感信息,攻擊模型主要包括:1)鏈接攻擊[5,6]指攻擊者通過不當手段獲取某個體與屬性的關(guān)系,將其進行鏈接分析可能得到敏感信息,例如攻擊者同時獲取病人的部分患病信息和個人基本信息,可以通過已掌握的信息推斷出隱私;2)同質(zhì)性攻擊[7]指一個等價類中的所有屬性的取值都相等,如果攻擊者已知某個體存在于這個等價類中,那么就會獲取該個體的敏感信息,例如某患者存在的等價類中敏感屬性值都是cancer,如果攻擊者已知某患者在該等價類中,那么會造成該患者的敏感信息泄漏;3)背景知識攻擊[7,8]指攻擊者已知該模型的背景知識和某個體的部分信息,可能會推測出個體的敏感信息,例如攻擊者知道患者存在于等價類中,會根據(jù)患者就醫(yī)原因推測出患者所患疾?。?)相似性攻擊[9]指等價類中敏感屬性的程度相似但不相同,以至于攻擊者不能推測出個體對應的敏感屬性,但是可能獲取個體的部分隱私信息;5)傾斜攻擊[9]指等價類中的敏感屬性分布相差較大,攻擊者可能會推測出大部分個體的敏感信息,例如A、B兩個屬性分別在數(shù)據(jù)集中占90%、10%;6)概率攻擊[10]指攻擊者通過發(fā)布數(shù)據(jù)前后的差異獲取敏感信息;7)重放攻擊[11]指攻擊者使用已經(jīng)接收的數(shù)據(jù)欺騙系統(tǒng),使其通過身份認證,例如用戶在登錄賬號時攻擊者獲取到用戶信息,通過重放進行登錄.
目前,面向數(shù)據(jù)發(fā)布的隱私保護技術(shù)可以分為分組技術(shù)、加密技術(shù)和失真技術(shù).
分組技術(shù)[12]由Samarati首次提出,在數(shù)據(jù)發(fā)布階段將原始數(shù)據(jù)中涉及個人敏感信息的標識符屬性刪除或修改,分組流程如圖1所示.
圖1 大數(shù)據(jù)分組流程Fig.1 Big data grouping process
3.1.1 實現(xiàn)方法
發(fā)布的數(shù)據(jù)中元組的屬性可以分為:1)顯式標識符(UID),識別個體身份;2)準標識符(QID),可能結(jié)合鏈接攻擊或背景知識攻擊識別個體身份;3)敏感屬性(SA),不能公開的隱私信息;4)非敏感屬性(NSA),可以公開.
分組技術(shù)即對泄露個體信息的顯式標識符進行匿名操作.泛化[13-16]指將QID用抽象化的值或區(qū)間來代替,全局泛化和局部泛化分別指所有屬性值自底向上同時逐層泛化為抽象域和抽象值.泛化不會造成數(shù)據(jù)出錯,容易實現(xiàn),但是沒有準確標準,過度易造成信息缺損.抑制[13,14,17]指將QID從數(shù)據(jù)表中移除或用不確定值替換,使數(shù)據(jù)表中泛化的數(shù)據(jù)減少,進而減少泛化造成的信息缺損,僅適用于數(shù)據(jù)量少的情況.聚類[16,18]指將數(shù)據(jù)按照標準分為多個簇,簇內(nèi)對象相似,簇間對象不同,再泛化數(shù)據(jù).Aggarwal[19]首次提出將聚類方法在分組技術(shù)中使用,將每個簇的數(shù)據(jù)都執(zhí)行分組操作,信息缺損減小.分解[20,21]指將QID和SA分解到不同的表中,根據(jù)公共屬性進行有損連接,實現(xiàn)對關(guān)聯(lián)性的弱化.交換[20,21]指交換原始數(shù)據(jù)中每個表內(nèi)的部分數(shù)據(jù),弱化QID和SA的關(guān)聯(lián)性.擾亂[15]指對原始數(shù)據(jù)添加噪聲等進行擾亂,實現(xiàn)速度很快,然而數(shù)據(jù)的精確度和安全性較低.
3.1.2 隱私保護模型
為了抵御已知的攻擊模型,研究者提出分組保護模型,k-匿名是分組保護模型的基本方法.
定義1.k-匿名[22].設RT(A1,A2,…,An)為數(shù)據(jù)表,QIRT為數(shù)據(jù)表的準標識符,當RT[QIRT]至少出現(xiàn)k次,且每個值都滿足k-匿名時,稱RT滿足k-匿名.
當敏感屬性取值單一或利用背景知識攻擊時k-anonymity不適用,因此提出l-多樣性方法.
定義2.l-多樣性[7].準標識符屬性為q,設q*-block為q的取值t*(匿名表)中的元組集合.若q*-block的敏感屬性S至少包含L個取值,稱q*-block滿足l-多樣性.
等價類上的敏感屬性值具有顯著差別時可能發(fā)生隱私威脅,t-閉合可以解決這一問題.
定義3.t-閉合[9].設個體S敏感屬性值的分布為P,該數(shù)據(jù)集敏感屬性總體分布為Q,t參數(shù)能夠在效用和隱私之間進行權(quán)衡.P和Q的距離不超過t且值為:
(1)
稱分布P和Q滿足t-閉合.t-closeness不能有效保護身份信息.表1對3種常見分組模型進行比較.
表1 常用分組模型比較Table 1 Comparison of common grouping models
3.1.3 靜態(tài)數(shù)據(jù)發(fā)布
數(shù)據(jù)最基本的存在形式是靜態(tài)形式,相關(guān)研究也相對成熟.Sweeney[23]提出的Datafly算法是經(jīng)典的與k-anonymity相關(guān)的算法,將每個屬性數(shù)據(jù)進行k-anonymity分組,但是對于滿足k-anonymity約束的元組需要再一次進行k-anonymity,導致信息嚴重缺損.當約束復雜時Datafly算法僅僅做了少量修改,因此依然存在信息缺損.基于多約束的Datafly算法,岳思等人[24]提出支持多維屬性泛化的k-anonymity,迭代泛化值個數(shù)最高的準標識符屬性,使數(shù)據(jù)精度有所增加,但依然沒有緩解信息缺損.針對這一問題,林國濱等人[25]提出基于KD樹的數(shù)據(jù)發(fā)布隱私保護算法,利用KD樹將敏感屬性進行泛化,使用l-diversity實現(xiàn)泛化過程的隱私保護,減少信息損失,解決k-anonymity存在的問題,但是應用于動態(tài)數(shù)據(jù)發(fā)布會造成數(shù)據(jù)損失.武思慧[26]提出基于聚類的改進t-closeness,利用基于粗糙集的k-近鄰算法對數(shù)據(jù)進行度量確定質(zhì)心以對其聚類,減少泛化方法造成的信息損失,使字符型數(shù)據(jù)具有較好的聚類效果.然而計算復雜度較高,會造成較大的時間代價.
以上分組方法不能完全保護隱私,因此需要更有針對性的保護不同敏感屬性的隱私.具體方法如下:1)泛化與限制原始數(shù)據(jù);2)聚類匿名技術(shù);3)交換與拆分發(fā)布數(shù)據(jù),之后再將數(shù)據(jù)連接.Campan等人[27]提出生成約束p-sensitivek-anonymity微聚類的算法,對數(shù)據(jù)的失真程度提出要求,以保持其可用性.指定準標識符的泛化約束,更加符合用戶的約束要求,并最小化泛化所造成的信息損失.曹敏姿等人[28]提出(α,l)-diversityk-anonymity,首先根據(jù)敏感屬性的不同敏感度分成多個簇,在一個簇中數(shù)據(jù)滿足k,l約束且敏感度等級相同的敏感值出現(xiàn)有限次數(shù),再構(gòu)建敏感屬性的泛化樹,使個體可以給自己設定隱私保護級別,最后根據(jù)個體不同的約束條件提供個性化服務,防止攻擊者實現(xiàn)對敏感度的推測,該算法不能平衡數(shù)據(jù)安全性和可用性,存在信息缺損.孫進考[29]提出基于敏感度分級的(k,li,ci)-匿名算法,考慮了屬性的敏感度和頻率閾值c,將敏感屬性數(shù)據(jù)構(gòu)成滿足l-diversity的簇,迭代執(zhí)行直到簇內(nèi)數(shù)據(jù)滿足k-anonymity約束,具有較高的聚類效率,減少信息缺失,但是k,l,c不是最優(yōu)即沒有均衡數(shù)據(jù)的可用性和安全性.李博宇[30]提出局部分解泛化算法,泛化方法分別為多維劃分技術(shù)和NCP引導的啟發(fā)式,使數(shù)據(jù)表滿足k-anonymity約束,實現(xiàn)個性化保護.緩解過度泛化所造成的信息損失.
在實際應用中,單敏感屬性不能充分解決問題,發(fā)布的數(shù)據(jù)大部分都具有多敏感屬性.胡杰[31]提出(p,l)-匿名算法,基于多敏感屬性相關(guān)性對其進行劃分,實現(xiàn)敏感屬性的降維,其可以緩解信息缺損,安全性更高,但該算法沒有準確的標準來設置敏感屬性值的敏感度,不能滿足個體個性化服務需求,完全保護隱私.晏燕[32]提出基于模糊語義的靜態(tài)數(shù)據(jù)發(fā)布算法,利用集對分析理論和語義泛化樹思想分別實現(xiàn)數(shù)值型和分類型原始數(shù)據(jù)的轉(zhuǎn)換,通過模糊語義區(qū)分度和泛化信息保留度可以得出數(shù)據(jù)轉(zhuǎn)換前后的關(guān)系,該算法緩解k-anonymity存在的問題,增強隱私保護強度,但是該算法依賴原始泛化層次和關(guān)系,導致數(shù)據(jù)可用性相對較低.陳曉宇[33]提出模糊t-closeness,聚類過程中使用數(shù)據(jù)對類中心隸屬度的平均值作為簇中心的模糊替代值,進而形成滿足t-closeness的模糊等價類以減少一定的信息損失,但沒有合理的模糊標準.張梅舒等人[34]提出MSB方法,將準標識符屬性值相近的數(shù)據(jù)劃分為一個子集,減小泛化程度,提高數(shù)據(jù)可用性;對于不同敏感度的敏感屬性,通過構(gòu)建多維桶并計算桶的加權(quán)選擇度來形成加權(quán)多維桶,加權(quán)選擇度通過桶容量和敏感屬性的權(quán)重計算得到;數(shù)據(jù)分組并泛化,減少信息缺失和時間代價.
3.1.4 動態(tài)數(shù)據(jù)發(fā)布
靜態(tài)數(shù)據(jù)的研究往往不能滿足實際的需求,因此對動態(tài)數(shù)據(jù)的研究逐漸增多.在動態(tài)數(shù)據(jù)重發(fā)布領域,BYUN等人[35]提出匿名重發(fā)布方法,支持原始數(shù)據(jù)的不斷增加.如果新增的數(shù)據(jù)和之前的等價類有交集或不滿足l-diversity約束,則要等待.針對這一問題,Xiao等人[36]提出m-invariance方法,可以刪除兩次發(fā)布具有相同敏感屬性值的歷史數(shù)據(jù)集之間的推理通道,需要加入虛假信息來滿足刪除條件,且統(tǒng)一管理虛假信息來確保數(shù)據(jù)的可用性.張攀[37]提出(M,CUS)-Distinct模型,利用微聚類對原始數(shù)據(jù)集分組,解決一致性攻擊、背景知識攻擊和概率攻擊,隨著敏感屬性的更新,降低鏈接攻擊和概率攻擊的風險,減少計算復雜度,但該算法僅適用于單敏感屬性且為非數(shù)值型數(shù)據(jù).賈俊杰等人[38]提出(p,k)-anonymity,利用加密技術(shù)對更新的數(shù)據(jù)實時保護,(p,k)-anonymity增量更新算法實現(xiàn)數(shù)據(jù)實時更新,減少數(shù)據(jù)損失,然而對于不滿足條件的數(shù)據(jù)做刪除處理,降低了數(shù)據(jù)可用性.邵雙[39]提出m-constance匿名,可以發(fā)布包括數(shù)據(jù)插入、刪除和屬性值更新的完全動態(tài)數(shù)據(jù)集,隱私保護強度隨著敏感度的更新進行相應改變,不適用于集值型數(shù)據(jù)和數(shù)據(jù)流發(fā)布.歐家祥等人[40]提出基于m-invariance算法的動態(tài)數(shù)據(jù)發(fā)布機制,如果新增數(shù)據(jù)滿足m-invariance,將新增數(shù)據(jù)放到被刪除數(shù)據(jù)的位置;否則把新增記錄放到一個新等價類中.解決了m-invariance對新增數(shù)據(jù)隱私保護強度不夠和較大通信開銷的問題.
數(shù)據(jù)分組方法常存在信息損失問題,并且只是對已知攻擊模型進行應對,當大量數(shù)據(jù)進行發(fā)布時計算代價過高,不能實現(xiàn)實時查詢.同時滿足多敏感屬性安全、可用性、較低時間代價和信息損失的數(shù)據(jù)發(fā)布是當前面臨的重要挑戰(zhàn),并應著重對動態(tài)數(shù)據(jù)發(fā)布的個性化隱私保護匿名算法進行研究.
數(shù)據(jù)發(fā)布的加密保護技術(shù)[41]利用加密原始數(shù)據(jù)來實現(xiàn)敏感數(shù)據(jù)的保護.
3.2.1 隱私保護模型
1)安全多方計算:1982年,Yao[42]提出安全多方計算(SMC),指在分布式環(huán)境下,多個數(shù)據(jù)參與方互不信任,在不暴露自己隱私信息的同時共同完成某項工作.原理圖如圖2所示,SMC框架可以引入到分布式關(guān)聯(lián)規(guī)則、傳統(tǒng)數(shù)據(jù)挖掘和聚類等方面.當同時處理多個數(shù)據(jù)源時,直接用于大數(shù)據(jù)處理會占大量內(nèi)存,需要構(gòu)造占內(nèi)存小的SMC.
圖2 安全多方計算原理Fig.2 Principle of secure multiparty computation
2)同態(tài)加密:1978年Rivest等人[43]提出同態(tài)加密(HE),用戶對密文進行計算得出的加密結(jié)果和用對應明文進行同樣計算并對結(jié)果加密相同.包含滿足乘法、加法的單同態(tài)加密或同時滿足乘法和加法的全同態(tài)加密.加法同態(tài)和乘法同態(tài)加解密構(gòu)造方案如圖3所示,圖中mi為初始明文,ci為加密后得到的密文.可以解決云服務的安全問題,運算復雜度較高會造成較長的時間代價,并且存在過大的噪聲,因此未來應該提高方案的運行效率和實用價值.
圖3 加法同態(tài)和乘法同態(tài)加解密構(gòu)造方案Fig.3 Construction scheme of additive homomorphism and multiplicative homomorphism addition and decryption
3)數(shù)字信封:數(shù)字信封[44](DE)即發(fā)送方通過接收方的公鑰加密對稱密鑰的結(jié)果,來分發(fā)對稱密鑰,要求接收方用自身的私鑰來打開數(shù)字信封獲取該對稱密鑰.原理圖如圖4所示,可以使對稱密鑰安全的在網(wǎng)絡中傳輸,并驗證信息是否無損,具有對稱加密和非對稱加密的優(yōu)點且雙層加密,是公鑰加密的重要應用.
圖4 數(shù)字信封原理Fig.4 Principle of digital envelope
4)秘密共享:1979年Shamir[45]和Blakley[46]提出秘密共享,將需要共享的秘密分為多個子秘密,每個份額分別由一個參與者管理,多個參與者共同作用可以恢復秘密信息.秘密共享可以使秘密分散,防止攻擊者獲取過多的秘密而恢復信息.應用于密鑰協(xié)商、多方安全計算、數(shù)字簽名、電子商務與導彈控制等領域.原理圖如圖5所示.
圖5 秘密共享技術(shù)原理Fig.5 Principles of secret sharing technology
3.2.2 數(shù)據(jù)發(fā)布
傳統(tǒng)加密方法RSA[47]滿足乘法同態(tài)性,安全性體現(xiàn)在從大數(shù)n=pq中分解出p和q是一個數(shù)學難題,但是其安全方面也存在兩個缺陷,即對相同明文加密結(jié)果也是相同的,攻擊者使用數(shù)字攻擊對p,q因式分解,利用蠻力攻擊測試全部密鑰的可能性.Wang等人[48]提出同態(tài)解密驗證方法,用戶可以進行撤銷以對用戶身份信息提供保護,云端承擔用戶撤銷形成的開銷.Pailler[49]提出Paillier算法,滿足加法同態(tài)性,對相同明文加密結(jié)果是不同的,解決了RSA的安全缺陷.DHAKAR等人[50]提出MREA算法,基于分解問題和決策合成殘差假設,不能識別用戶身份信息,解決了蠻力攻擊和數(shù)字攻擊.段淑敏等人[51]提出基于Paillier和RSA的代理重加密技術(shù),為公開加密數(shù)據(jù)的計算提供隱私保護,運行效率可以通過減小密鑰大小來實現(xiàn).Zhang等人[52]使用概率編碼方案和一個允許同態(tài)位異或計算的密碼系統(tǒng)來構(gòu)造安全協(xié)議,使聚合器在不知道用戶數(shù)據(jù)的情況下能夠高效計算所有用戶數(shù)據(jù)的最小值或第k個最小值,支持時間序列數(shù)據(jù),不需要假設聚合器可信.劉艷等人[53]提出基于ECC和乘法同態(tài)加密的加密算法,利用不同私鑰對明文加密,形成的公鑰用于橢圓曲線中點集的加密,解決了RSA具有較低計算效率、安全性和較高計算復雜度的缺陷.Vu等人[54]提出安全多方和協(xié)議,保證輸出結(jié)果正確性且不需要任何安全認證.竇家維等人[55]提出一種編碼方法,將數(shù)據(jù)編碼成0,1數(shù)組,解決了絕對值兩方安全計算問題;根據(jù)Paillier同態(tài)加密提出在參與方是否屬于全集的情況下曼哈頓距離的兩方保密計算協(xié)議,計算復雜度較低.楊顏璟等人[56]提出基于Paillier的編碼方法,可以一次性計算出隱私數(shù)據(jù)的最小值和最大值,解決了多次處理相同數(shù)據(jù)造成的隱私泄露問題,并通過ECC的同態(tài)性使各種安全多方計算問題得到有效解決,防止合謀攻擊.王杰勛等人[57]提出用于身份認證的數(shù)權(quán)保護技術(shù),對經(jīng)過認證的用戶給予數(shù)字證書,通過數(shù)字簽名機制驗證用戶身份是否有效,利用數(shù)字信封技術(shù)傳輸用戶的密文.楊曉云等人[58]提出混沌序列的數(shù)字信封技術(shù),以混沌信號序列為對稱密鑰,使系統(tǒng)不易破解,將公鑰和序列密碼技術(shù)相結(jié)合,提高加解密速度和實時性.莫進俠[59]提出主動多秘密共享方案,參與者能夠驗證其他影子秘密是否正確,防止欺騙現(xiàn)象發(fā)生,實現(xiàn)多個參與者長時間的多個秘密共享.劉建等人[60]提出屬性基密文訪問控制優(yōu)化方法,使用屬性基加密運算分割技術(shù)、雙重加密機制和多秘密共享,讓代理進行運算操作,使數(shù)據(jù)在上傳時的運算量減少,優(yōu)化云環(huán)境下數(shù)據(jù)發(fā)布和權(quán)限管理.柴紹杰等人[61]通過數(shù)字信封技術(shù),與RSA算法相結(jié)合,提出AES的改進算法,實現(xiàn)密鑰的單獨加密,具有RSA隱私安全性較高和AES數(shù)據(jù)處理快速的雙重優(yōu)點.白建峰等人[62]提出理想型(t,k,n)緊耦合的秘密共享,根據(jù)有限域多項式環(huán)的中國剩余定理,該算法的信息率達到1,解決了現(xiàn)有緊耦合秘密共享方法的信息率均小于1的問題,提高了共享數(shù)據(jù)的安全性.
數(shù)據(jù)加密技術(shù)不能保證3方平臺是可信的,需要構(gòu)造同時滿足用戶隱私、數(shù)據(jù)隱私和交互隱私安全的方法;數(shù)據(jù)的加密操作易增大計算開銷,縮小數(shù)據(jù)共享范圍,使數(shù)據(jù)產(chǎn)生過多浪費,需要構(gòu)造可以快速加解密的技術(shù).
分組技術(shù)是被動攻擊,需要基于特定的背景知識,一旦攻擊者掌握了背景知識,分組技術(shù)就失效.因此,需要一種與是否掌握背景知識無關(guān)的隱私保護技術(shù).失真技術(shù)[63]修改原始數(shù)據(jù)使真實數(shù)據(jù)得到隱藏,隱私獲得保護,攻擊者面對發(fā)布的失真數(shù)據(jù)不能對原始數(shù)據(jù)進行重構(gòu).過分失真會導致缺損,因此要適當失真.
3.3.1 隱私保護模型
基于分組技術(shù)的數(shù)據(jù)發(fā)布方法存在安全風險和較低可靠性,差分隱私能夠解決這個問題.2006年,Dwork提出差分隱私模型,不依賴攻擊者的背景知識,刪除每一條記錄都不會改變輸出結(jié)果,并且具有嚴謹?shù)臄?shù)學推導.中心化差分隱私定義如下:
定義4.差分隱私[64].假設D和D′為相鄰數(shù)據(jù)集,Sm為在隨機函數(shù)M所有可能的輸出,Pr為隱私泄露的概率,若M滿足:
Pr[M(D)∈Sm]≤eεPr[M(D′)∈Sm]
(2)
則稱M滿足ε-差分隱私.ε為隱私預算參數(shù),與隱私保護效果成反比.差分隱私常用的噪音機制包括拉普拉斯機制和指數(shù)機制.拉普拉斯機制適用數(shù)值型數(shù)據(jù).指數(shù)機制適用非數(shù)值型數(shù)據(jù).
中心化差分隱私假設第3方可信(TTP),在實際應用中第3方可信可能不成立,因此提出本地化差分隱私,可以抵御不可信第3方的攻擊,將隱私交給個人管理和保護,使隱私保護更加透徹.本地化差分隱私定義如下:
定義5.本地化差分隱私[65,66].假設k個用戶分別對應一條記錄,存在隱私算法M、M的定義域D(M)和值域R(M),如果M滿足在任意兩條記錄d和d′(d,d′∈D(M))上具有同樣的輸出結(jié)果d*(d*∈R(M)),并且:
Pr[M(t)=d*]≤eε×Pr[M(d′)=d*]
(3)
則稱M滿足ε-本地化差分隱私.由此可以得出,本地化差分隱私中隱私算法M的任意兩條記錄輸出結(jié)果相似,攻擊者很難推測出某條記錄是否為用戶真實信息.
3.3.2 靜態(tài)數(shù)據(jù)發(fā)布
差分隱私是數(shù)據(jù)發(fā)布領域的研究熱點,目前大多數(shù)差分隱私數(shù)據(jù)發(fā)布的研究都是關(guān)于靜態(tài)數(shù)據(jù)的發(fā)布.
直方圖和劃分是常用的靜態(tài)數(shù)據(jù)發(fā)布技術(shù).直方圖利用分箱技術(shù)將數(shù)據(jù)集分成多個不相交的桶,并由數(shù)字表示其特征.文獻[68]最早提出基于直方圖發(fā)布的差分隱私保護算法LP,將數(shù)據(jù)利用屬性進行分割,形成多個不相交的區(qū)間,為每個等寬區(qū)間加入噪聲再發(fā)布.但是存在長區(qū)間查詢和加入噪聲過大造成的較大誤差問題,解決方法為聚類分組和層次樹劃分等.
基于聚類分組的差分隱私保護:Xu等人[69,70]提出NoiseFirst,使用聚類將相近的等寬度區(qū)間進行動態(tài)合并,并對其加入噪聲,解決長區(qū)間查詢的誤差問題,然而動態(tài)合并會造成重構(gòu)誤差,對每個區(qū)間加入的噪聲不確定,等寬區(qū)間會影響聚類性能.李楊等人[71]提出IDPK-means方法,對k個區(qū)間分別加入噪聲,將形成的中心作為聚類初始的中心點,提高聚類準確性,但是噪聲和隱私保護級別問題沒有得到解決.Zhang等人[72]提出AHP算法,實現(xiàn)全局聚類操作,但是沒有考慮直方圖數(shù)據(jù)的先后順序,造成發(fā)布數(shù)據(jù)具有較低的可用性.針對這一問題,張嘯劍等人[73]提出DiffHR直方圖發(fā)布,通過蒙特卡洛(MCMC)和指數(shù)機制構(gòu)建的排序方法將直方圖的順序逐漸調(diào)整正確,利用懶散分組的聚類方法對排序后的數(shù)據(jù)分組再對其發(fā)布.顏飛等人[74]提出基于Spark框架的靜態(tài)數(shù)據(jù)直方圖發(fā)布算法SPDP-GS,將k-means聚類改進對直方圖進行最優(yōu)劃分,最后對每個分組的平均數(shù)加入噪聲.該算法解決了因離群點造成的隱私泄露和誤差較大的問題,提高隱私保護級別和數(shù)據(jù)計算效率.楊旭東等人[75]提出面向直方圖發(fā)布的均衡差分隱私保護方法,利用作用域的馬爾科夫模型構(gòu)建直方圖,抵御了根據(jù)直方圖關(guān)聯(lián)性推測出敏感信息而造成的隱私泄露;根據(jù)關(guān)聯(lián)隱私泄露量化方法,對直方圖發(fā)布的數(shù)據(jù)評估隱私缺失量;根據(jù)關(guān)聯(lián)隱私泄露量化結(jié)果、Nash和Stackberg博弈建立全面均衡的差分隱私保護方法,具有較好的魯棒性.
基于層次樹劃分的差分隱私保護:Xiao等人[76]提出Privelet小波樹的差分隱私直方圖發(fā)布,可以對長區(qū)間進行計數(shù)查詢,且具有較高的精度,然而因加入了傅里葉變換方法而造成較高的時間代價.Xiao等人[77]提出DPCube,對原始數(shù)據(jù)劃分來支持多維直方圖數(shù)據(jù)的發(fā)布,然而對多維數(shù)據(jù)的查詢具有較大的誤差,導致精度也不高.MDPAV[78]將數(shù)據(jù)轉(zhuǎn)換成k叉平均樹,并給每個節(jié)點加噪,支持多維數(shù)據(jù)的查詢與發(fā)布,誤差小于Privelet.倉基云[79]提出優(yōu)化HOLG-DP算法,對同一層的層次樹建立哈夫曼樹,縮短分布面積大的層次樹的加權(quán)路徑長度,使查詢時間有所減少,該算法具有較低的相對誤差以提高查詢結(jié)果的精確度,僅針對二維靜態(tài)數(shù)據(jù).張可鏵等人[80]提出DPQTk-means算法,通過自適應直方圖存儲桶,動態(tài)的將數(shù)據(jù)分割成大小不同的子空間,使每個子空間能充分表示數(shù)據(jù),即加入更少的噪聲,聚類結(jié)果更加優(yōu)化,該算法只適用于二維數(shù)據(jù).由此可以看出,直方圖發(fā)布方法可以利用聚類分組將一維直方圖擴展到多維,未來應該提高查詢精度,減小誤差.
劃分發(fā)布方法通過索引結(jié)構(gòu)實現(xiàn)對數(shù)據(jù)的劃分,再發(fā)布數(shù)據(jù).索引結(jié)構(gòu)包括樹結(jié)構(gòu)和網(wǎng)格結(jié)構(gòu)等,發(fā)布的數(shù)據(jù)應該平衡噪聲和假設誤差,然而樹結(jié)構(gòu)不能實現(xiàn)兩個誤差的平衡,需要網(wǎng)格劃分來實現(xiàn).Chen等人[81]提出Diffpart,自頂向下隨機劃分泛化分類樹,利用自適應分配策略合理分配隱私預算ε,可以較好的發(fā)布集值型數(shù)據(jù),但是泛化操作忽略了集值型數(shù)據(jù)項的語義關(guān)聯(lián),數(shù)據(jù)可用性降低.Peng等人[82]提出DP-tree方法,通過嵌入樹對多維數(shù)據(jù)的索引查詢范圍計數(shù),但是查詢效率受樹扇出的影響.Qardaji等人[83]提出UG方法,可以將二維空間數(shù)據(jù)分割為等寬單元格,并根據(jù)劃分粒度給單元格加入Laplace噪聲,但是忽略了數(shù)據(jù)分布稀疏性.因此提出AG方法,利用自適應劃分方法實現(xiàn)單元的分割,防止單元過于密集或稀疏,能平衡噪聲和假設誤差,但是對于稀疏和稠密的邊界沒有啟發(fā)式規(guī)則來定義,且只適合二維數(shù)據(jù)的發(fā)布問題.針對這個問題,盧清[84]提出DPMG算法,利用多層次網(wǎng)格以m1×m2×…×mn為粒度劃分原始高維數(shù)據(jù)的n層空間,kd樹啟發(fā)式的重新調(diào)整劃分結(jié)果,并通過kd樹合并同一層分布相近的網(wǎng)格節(jié)點.傅繼彬等人[85]提出MAXGDDP算法,利用最大值屬性索引選擇實現(xiàn)決策樹同一層次數(shù)值屬性與非數(shù)值屬性的同時細化,減少噪聲添加;利用類幾何策略實現(xiàn)不同層次的隱私預算合理分配.吳英杰等人[86]提出Quad-heu算法,建立一個與原始二維數(shù)據(jù)對應的四分樹,對每個節(jié)點加入適當Laplace噪聲,并利用啟發(fā)式策略合并相鄰且相似的區(qū)域,查詢一致性約束實現(xiàn)后置處理操作,該算法可以平衡噪聲誤差和均勻假設誤差,查詢精度和效率有所提高,但不適用于較高維數(shù)據(jù)發(fā)布的隱私保護問題.張嘯劍等人[87]提出STAG方法,利用伯努利隨機抽樣技術(shù)抽取數(shù)據(jù),將空間數(shù)據(jù)分成3層,采用指數(shù)機制和高通濾波技術(shù)去掉粒度小于閾值的網(wǎng)格,使用Up-Merge和Down-Split分別對大于和小于閾值的網(wǎng)格再處理,最后使用約束推理方法實現(xiàn)不同粒度的查詢.提高了分割精度,優(yōu)化了范圍查詢的效果.張嘯劍等人[88]提出GT-R方法,利用UG通過網(wǎng)格結(jié)構(gòu)將用戶數(shù)據(jù)空間劃分為大小相等的單元格,并使用四分樹索引,以便用戶編碼自身數(shù)據(jù)再隨機采樣,用戶通過本地優(yōu)化隨機應答對采樣節(jié)點施加本地擾動,服務器使用所有用戶的結(jié)果值重新構(gòu)造四分樹的索引結(jié)構(gòu)來響應空間查詢.劃分方法的實際精度和處理一般與數(shù)據(jù)的維度有關(guān),可能會造成較高的開銷,較低的可用性,且上述方法不適用較高維度數(shù)據(jù)和動態(tài)數(shù)據(jù)的發(fā)布,未來的研究應該向支持動態(tài)、高維數(shù)據(jù)集的劃分發(fā)布方向發(fā)展.
3.3.3 動態(tài)數(shù)據(jù)發(fā)布
實際應用中,數(shù)據(jù)通常以動態(tài)的形式存在,動態(tài)數(shù)據(jù)發(fā)布包含實時數(shù)據(jù)流發(fā)布和連續(xù)數(shù)據(jù)發(fā)布.如果將靜態(tài)數(shù)據(jù)發(fā)布的隱私保護方法直接應用于動態(tài)環(huán)境會因為更新次數(shù)的增多導致加入的噪聲逐漸增大,造成發(fā)布數(shù)據(jù)的可用性較低,并且隱私預算全部消耗意味著數(shù)據(jù)不再受到差分隱私的保護.因此,為了解決以上問題,對動態(tài)數(shù)據(jù)的隱私保護問題展開了研究.
數(shù)據(jù)流指根據(jù)事先規(guī)定的順序僅讀取一次的數(shù)據(jù)序列.在短時間內(nèi)有大量數(shù)據(jù)輸入,取值范圍廣泛,且持續(xù)到達.可以應用于汽車故障診斷、商品電子銷售等領域,利用直方圖和采樣等方法能夠?qū)崿F(xiàn)數(shù)據(jù)流的發(fā)布.
直方圖數(shù)據(jù)流發(fā)布:Dwork等人[89,90]提出一維數(shù)據(jù)流直方圖發(fā)布方法,二進制取值為0或1時實現(xiàn)數(shù)據(jù)流統(tǒng)計信息的發(fā)布,會造成應用范圍的限制性和數(shù)據(jù)缺失.文獻[91]提出PTDSS-SW算法,通過滑動窗口模型支持二維數(shù)據(jù)流的連續(xù)統(tǒng)計發(fā)布,但是存在較大的相對誤差波動范圍.張嘯劍等人[92]提出SHP算法,將滑動窗口連續(xù)分割,利用每個桶的計數(shù)建立分組,通過自適應抽樣機制添加Laplace噪聲,可以預測下一時刻的計數(shù)值,節(jié)約隱私預算分配.夏小玲等人[93]提出DDPA算法,在滑動窗口中,根據(jù)相鄰時間戳數(shù)據(jù)分布是否相似,動態(tài)分配隱私預算,采取分組與合并方法得出最優(yōu)直方圖,再對劃分結(jié)果合并和發(fā)布,可以實現(xiàn)一般性的數(shù)值型數(shù)據(jù)流發(fā)布的隱私保護,并且發(fā)布結(jié)果的可用性較高.Yan等人[94]提出DP-FC框架,利用分形聚類算法,數(shù)據(jù)分析模塊可以對多屬性的動態(tài)數(shù)據(jù)流進行分析.基于直方圖的數(shù)據(jù)流發(fā)布算法分配隱私預算時具有較大的采樣和噪聲誤差,未來應研究在安全和可用發(fā)布數(shù)據(jù)的基礎上對隱私預算合理分配.
采樣數(shù)據(jù)流發(fā)布:Fan等人[95]提出FAST算法,通過自適應采樣和過濾為整個時間序列提供隱私保護,該算法要求預先分配最長的發(fā)布時間且每個時間戳的隱私預算相等,因此不適用于無限的時間戳,可用性有待提高.Li等人[96]提出基于自適應距離的采樣方法,解決了動態(tài)數(shù)據(jù)集實時發(fā)布的問題.利用DSAT方法采用反饋自適應控制機制對閾值進行動態(tài)調(diào)整以獲取動態(tài)數(shù)據(jù).Chen等人[97]提出隱私保護的流分析系統(tǒng)PRIVAPPROX,將采樣和隨機響應技術(shù)結(jié)合在一起,利用采樣技術(shù)進行采樣數(shù)據(jù)集子集的近似計算,隨機響應技術(shù)對加入的差分隱私噪聲進行隱私保護分析,實現(xiàn)更好的隱私保護,提高了性能以支持實時流分析.涂子璇等人[98]提出可穿戴設備差分隱私均值發(fā)布,因為可穿戴設備數(shù)值型流數(shù)據(jù)的均值發(fā)布波動較小,所以可以使用適當?shù)娜置舾卸龋徑饬瞬▌用舾性斐傻倪^度采樣,利用卡爾曼濾波的自適應采樣技術(shù),通過對誤差的修正使隱私預算得到合理的分配,該算法的誤差低于FAST算法,然而對于隱私預算的分配使用的是均勻分配方法,后續(xù)應考慮動態(tài)分配.基于采樣的數(shù)據(jù)流動態(tài)發(fā)布能夠增大查詢效率,使在單個時間戳中發(fā)布的數(shù)據(jù)更加準確,未來應該研究處理更多查詢的效率問題.
連續(xù)數(shù)據(jù)發(fā)布即數(shù)據(jù)插入、刪除和更新操作后動態(tài)發(fā)布更新的數(shù)據(jù),不具有實時性特征,一般為集值型數(shù)據(jù).Xiao等人[99]提出一種數(shù)據(jù)發(fā)布框架,對數(shù)據(jù)應用小波變換為距離計數(shù)查詢提供了查詢結(jié)果,具有較高的精度,每一次發(fā)布都會加入噪聲,最終出現(xiàn)極大地噪聲誤差,使數(shù)據(jù)的可用性受到影響.針對這一問題,Chan等人[100]提出二叉樹發(fā)布,根據(jù)對元組數(shù)據(jù)的分析建立完全二叉樹,實現(xiàn)對數(shù)據(jù)進行連續(xù)的統(tǒng)計發(fā)布和合理的分配隱私預算,但是獲取的結(jié)果是近似值,不能精確地概括數(shù)據(jù).蔡劍平等人[101]提出基于矩陣機制的連續(xù)數(shù)據(jù)發(fā)布,利用FDA算法改善了矩陣機制的高復雜度,對發(fā)布連續(xù)數(shù)據(jù)的精確性有了顯著提高,能夠發(fā)布大量連續(xù)數(shù)據(jù).張劍等人[102]提出基于Diffpart的集值型數(shù)據(jù)動態(tài)發(fā)布算法,為原始數(shù)據(jù)集構(gòu)建分類樹,將分類樹的節(jié)點隨機抽樣,通過隨機生成的移位數(shù)處理新增數(shù)據(jù)的抽樣節(jié)點并添加噪聲,使攻擊者不能獲取噪聲對數(shù)據(jù)的影響,降低噪聲量以提高數(shù)據(jù)可用性和發(fā)布效率.Zhu等人[103]提出顯式識別連續(xù)發(fā)布數(shù)據(jù)集中耦合信息的隱私保護機制.之前差分隱私解決連續(xù)數(shù)據(jù)發(fā)布問題沒有考慮耦合信息,耦合信息包含很多敏感信息,因此該機制考慮了耦合數(shù)據(jù),通過CCR算法響應統(tǒng)計數(shù)據(jù)的計數(shù)查詢,具有較強的保密性,性能高于傳統(tǒng)機制.Khavkin等人[104]提出MiDiPSA算法,結(jié)合k-anonymity、(c,l)-diversity和差分隱私,分別將每次新增的數(shù)據(jù)進行聚類分組,通過非參數(shù)統(tǒng)計發(fā)現(xiàn)概念漂移,最后將分組結(jié)果發(fā)布,可以降低數(shù)據(jù)的缺失而增大泄露風險.連續(xù)數(shù)據(jù)發(fā)布的隱私保護算法大多沒有考慮噪聲和假設誤差的平衡,可能會使發(fā)布數(shù)據(jù)具有較低的可用性,未來的研究應該以合理分配隱私預算為目的,實現(xiàn)誤差的最優(yōu)平衡.
由于隱私預算的分配問題,差分隱私很難達到誤差之間的平衡,影響發(fā)布數(shù)據(jù)的可用性,現(xiàn)在的差分隱私大多以可用性為代價保護敏感數(shù)據(jù),數(shù)據(jù)可用性與安全性達到一種均衡的保護是當前面臨的挑戰(zhàn).雖然關(guān)于差分隱私已有很多研究成果,但是還局限于理論研究,還需要將差分隱私模型進行擴展使之較好的應用于實際.
面向數(shù)據(jù)發(fā)布的分組、加密和失真技術(shù)隱私保護技術(shù)各有特點,表2對3種技術(shù)進行比較.
由此可以得出,分組技術(shù)使用較低的開銷就可以為發(fā)布的數(shù)據(jù)提供隱私保護,且易實現(xiàn),但是容易造成數(shù)據(jù)損失,影響發(fā)布數(shù)據(jù)的可用性.雖然包含的3種分組模型k-anonymity、l-diversity和t-closeness可以抵御部分攻擊模型,但是分組技術(shù)是針對單一數(shù)據(jù)集提出的被動式防止隱私泄露的方法,大數(shù)據(jù)的復雜性使傳統(tǒng)隱私保護模型失效.適用于需要利用較低的開銷得到較好隱私保護的情況.加密技術(shù)具有較高的隱私保護程度和數(shù)據(jù)效用,但是數(shù)據(jù)和平臺的開銷較大,使數(shù)據(jù)不能實現(xiàn)最大價值的共享.與分組技術(shù)相同,加密技術(shù)也只是被動式防止隱私泄露,根據(jù)大數(shù)據(jù)的復雜性變化需要提出適用性更廣泛的加密方法.適用于需求隱私保護效果而不在意計算開銷的情況.失真技術(shù)的典型方法是差分隱私,在當前數(shù)據(jù)發(fā)布隱私保護的研究中應用最為廣泛,適用于處理復雜的大數(shù)據(jù),增加或者刪除某個數(shù)據(jù)對數(shù)據(jù)集沒有明顯的影響,因此可以用于攻擊者已經(jīng)掌握部分用戶敏感信息的環(huán)境,但是差分隱私不能很好地控制隱私預算,保護效果會因為數(shù)據(jù)之間的關(guān)聯(lián)而降低,因此亟需解決隱私預算的不合理分配問題,給數(shù)據(jù)集提供更優(yōu)的隱私保護.表3對目前關(guān)于數(shù)據(jù)發(fā)布隱私保護的部分研究成果進行了分析.
表2 面向數(shù)據(jù)發(fā)布的隱私保護技術(shù)比較Table 2 Comparison of privacy protection technologies for data publication
表3 數(shù)據(jù)發(fā)布隱私保護算法比較Table 3 Comparison of data publishing privacy protection algorithms
隨著數(shù)據(jù)發(fā)布技術(shù)的逐步發(fā)展,用戶對數(shù)據(jù)發(fā)布的隱私要求逐漸增加,數(shù)據(jù)發(fā)布應用到了不同的領域中.
近幾年社交網(wǎng)絡迅速發(fā)展,有很多社交軟件產(chǎn)生,例如微博、微信和Facebook等.社交網(wǎng)絡是指一種以人與人之間關(guān)系為中心的關(guān)系網(wǎng)絡[15,105],大量的關(guān)聯(lián)數(shù)據(jù)會導致用戶敏感信息的安全性受到威脅.現(xiàn)有隱私保護模型還不能很好的保護用戶隱私信息,因此需要擴展現(xiàn)有隱私保護框架,保護社交網(wǎng)絡中的關(guān)聯(lián)數(shù)據(jù).
LBS即位置服務,服務提供者可以得到用戶具體位置,根據(jù)服務請求對用戶服務[15,106].集中式架構(gòu)指將具體位置泛化成匿名區(qū)域,分布式架構(gòu)通過獨立方式構(gòu)造匿名區(qū)域,混合式即集中式架構(gòu)和分布式架構(gòu)的結(jié)合.現(xiàn)在很多網(wǎng)絡都具有LBS,通過分析用戶的位置信息提供推薦服務,導致用戶位置隱私信息泄露,因此需要根據(jù)網(wǎng)絡和LBS雙重特性提供安全的位置服務.
推薦系統(tǒng)[107]是指根據(jù)用戶的個人信息、興趣、行為,利用統(tǒng)計分析和機器學習等技術(shù)為用戶提供周邊有效信息,用戶的興趣、行為中存在敏感信息,用戶隱私信息可能被泄漏,因此在為用戶提供準確推薦服務的同時,根據(jù)不同用戶對隱私信息要求的差異提供個性化的隱私保護.現(xiàn)有推薦系統(tǒng)基于單一用戶的數(shù)據(jù)集,限制訓練數(shù)據(jù)集的規(guī)模,且增大本地開銷,因此需要對多用戶的推薦系統(tǒng)、跨域多用戶的推薦系統(tǒng)展開研究.
本文從數(shù)據(jù)發(fā)布的隱私保護研究出發(fā),介紹數(shù)據(jù)發(fā)布存在的隱私風險,詳細總結(jié)分組、加密和失真3種數(shù)據(jù)發(fā)布隱私保護技術(shù)的基本思想和研究成果,對算法的優(yōu)缺點進行比較,總結(jié)數(shù)據(jù)發(fā)布在社交網(wǎng)絡、LBS和推薦系統(tǒng)的應用.現(xiàn)有數(shù)據(jù)發(fā)布隱私保護方法普遍存在挑戰(zhàn),需要進一步研究,因此對未來的研究方向進行展望.
1)在靜態(tài)數(shù)據(jù)發(fā)布中的研究比較成熟,但是對于動態(tài)數(shù)據(jù)發(fā)布的隱私保護還存在問題,現(xiàn)有隱私保護模型大多存在數(shù)據(jù)損失、效率較低和誤差較大等問題,因此如何均衡發(fā)布的動態(tài)數(shù)據(jù)的安全性和可用性是一個重要問題.在現(xiàn)有動態(tài)數(shù)據(jù)發(fā)布隱私保護方法的基礎上可以引入權(quán)重的思想,分析整個元組使最大程度接近原始數(shù)據(jù)集,為每個更新的數(shù)據(jù)加入權(quán)重值,再按照所加的權(quán)重合理的分配隱私預算,實現(xiàn)安全與效用的均衡.
2)低維數(shù)據(jù)往往不能滿足實際需求,越來越多的數(shù)據(jù)都以高維的形式存在,直接將傳統(tǒng)隱私保護模型用來處理高維數(shù)據(jù)會導致信息過度損失,但是關(guān)于高維數(shù)據(jù)發(fā)布的隱私保護研究較少.常用的處理高維數(shù)據(jù)的方法是降維,使高維數(shù)據(jù)降低到合適的維度,再進行隱私發(fā)布處理.高維數(shù)據(jù)發(fā)布需要使發(fā)布的低維數(shù)據(jù)盡可能接近原始數(shù)據(jù)集,并且保證發(fā)布數(shù)據(jù)的安全性.可以統(tǒng)計分析原始數(shù)據(jù)集,得出屬性字段的重要程度和關(guān)聯(lián)度,保證屬性字段值多樣性來盡可能接近原始數(shù)據(jù)集,按照敏感度對屬性字段加入噪聲,使噪聲分配合理.
3)目前大多隱私保護模型還處于理論研究階段,需要進行擴展來應用于實際操作中,這是一個極大地挑戰(zhàn).