羅 康,彭長根,,譚偉杰,楊 訓(xùn)
(1.貴州大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,貴州 貴陽 550025; 2.貴州大學(xué) 貴州省公共大數(shù)據(jù)重點實驗室,貴州 貴陽 550025; 3.貴州大學(xué) 大數(shù)據(jù)產(chǎn)業(yè)發(fā)展應(yīng)用研究院,貴州 貴陽 550025)
移動互聯(lián)網(wǎng)技術(shù)促使數(shù)字經(jīng)濟的快速發(fā)展,各個行業(yè)產(chǎn)生了海量的數(shù)據(jù)。隨著數(shù)據(jù)的沉淀與積累,數(shù)據(jù)的研究和利用價值日漸突顯?;谌斯ぶ悄艿燃夹g(shù)對大數(shù)據(jù)的分析,導(dǎo)致個人隱私泄露變得越來越嚴(yán)重[1-3]。由閃捷《2020年度數(shù)據(jù)泄漏態(tài)勢分析報告》可以看出隱私泄露的案例屢見不鮮,針對隱私信息的保護和隱私泄露風(fēng)險的評估成為當(dāng)前的緊迫需求。云服務(wù)實現(xiàn)了數(shù)據(jù)的計算存儲與發(fā)布,科研機構(gòu)、銀行、醫(yī)療機構(gòu)等單位在數(shù)據(jù)安全的情況下愿意共享一些數(shù)據(jù)用作數(shù)據(jù)的挖掘與技術(shù)的研發(fā)[4]。在數(shù)據(jù)共享發(fā)布時,為了防止泄露數(shù)據(jù)中的隱私信息,經(jīng)常利用一些隱私保護方法[5-7]對數(shù)據(jù)隱私采取脫敏處理,但是數(shù)據(jù)需求者獲得發(fā)布數(shù)據(jù)后容易發(fā)生與已有數(shù)據(jù)進行數(shù)據(jù)融合,鏈接推理出完整的數(shù)據(jù)信息的情況,造成隱私泄露。因此如何評估數(shù)據(jù)發(fā)布后隱私泄露的風(fēng)險和控制數(shù)據(jù)隱私保護的強度成為數(shù)據(jù)發(fā)布領(lǐng)域亟需解決的痛點問題。
2016年彭長根等人[8]針對基于信息熵進行隱私度量存在的理論體系零散和缺乏統(tǒng)一模型基礎(chǔ)的問題,探討將隱私保護系統(tǒng)視為一種通信模型,用于搭建一個可行的體系基礎(chǔ)解決隱私保護系統(tǒng)的量化問題。2017年Yeh等人[9]提出了一個名為AppLeak的分析框架,以有效評估信息丟失并檢測Android 應(yīng)用程序運行期間的隱私泄露。2018年晏燕等人[10]運用集對分析的五元偏聯(lián)系數(shù)理論,建立隱私風(fēng)險待評估指標(biāo)評估系統(tǒng),此方法消除了隱私泄露風(fēng)險中的模糊、不確定等因素的影響,實現(xiàn)了對風(fēng)險評估指標(biāo)的動態(tài)體現(xiàn)。2020年,周旭晨等人[11]為了促進原始數(shù)據(jù)的共享,給數(shù)據(jù)開放者提供隱私風(fēng)險定量化的評估,提出了一種利用矩陣計算來評估數(shù)據(jù)隱私泄露風(fēng)險的方法。2021年謝小杰等人[12]針對隱私評估大多關(guān)注隱私數(shù)據(jù)脫敏效果,對于社交網(wǎng)絡(luò)中的隱私問題研究卻相對較少等問題,提出了社交網(wǎng)絡(luò)用戶中的隱私泄露量化評估方法,對減少社交網(wǎng)絡(luò)的隱私風(fēng)險起到良好的預(yù)防效果。
根據(jù)ISO/IEC 29100(2011)信息技術(shù)-安全技術(shù)-隱私架構(gòu)框架國際標(biāo)準(zhǔn)[13],風(fēng)險管控是隱私保護過程中最為核心的關(guān)鍵方法,并且特別提到隱私控制的識別也應(yīng)該包含在組織信息安全管理框架中。通過ISO/IEC 29100(2011)隱私架構(gòu)框架可以看出,建立數(shù)據(jù)的隱私風(fēng)險評估方法是必要的,對于數(shù)據(jù)的保護具有至關(guān)重要的作用。
隱私評估方法從早期的專家評分為主導(dǎo)的主觀評價慢慢轉(zhuǎn)向通過貝葉斯、攻擊模型等客觀的隱私泄露風(fēng)險度量方法,評估隱私泄露風(fēng)險的方法更加多元化。但是目前而言,針對數(shù)據(jù)共享領(lǐng)域的隱私風(fēng)險探索相對較少,但是可以從其他的隱私評估方法中找到借鑒。針對數(shù)據(jù)發(fā)布共享中的隱私風(fēng)險問題,目前多數(shù)方法只是針對敏感數(shù)據(jù)進行隱私度量,然后進行評估,然而結(jié)合數(shù)據(jù)需求方與數(shù)據(jù)發(fā)布方具體應(yīng)用目標(biāo)的評估方法卻很少。因此提出一種新的評估方法,將引入數(shù)值化映射和隱私標(biāo)記方法,通過對屬性字段,操作進行隱私等級標(biāo)記,然后對數(shù)據(jù)進行數(shù)值化映射形成敏感數(shù)據(jù)矩陣,最后對隱私標(biāo)記與敏感數(shù)據(jù)矩陣作融合,計算出數(shù)據(jù)隱私泄露風(fēng)險值。從而實現(xiàn)數(shù)據(jù)發(fā)布方與數(shù)據(jù)需求方相結(jié)合的隱私泄露風(fēng)險評估方法,實現(xiàn)了隱私泄露風(fēng)險的預(yù)防,為提高數(shù)據(jù)共享安全效能帶來一定的支撐。
定義1ε-差分隱私[14]:設(shè)具有屬性結(jié)構(gòu)相同的數(shù)據(jù)集D與D',兩數(shù)據(jù)集間存在最多一條有差別的數(shù)據(jù)元組,則稱D與D'為鄰近數(shù)據(jù)集或者兄弟數(shù)據(jù)集。
給定隨機算法K,PK是K輸出的所有可能組成的集合。對于任意兄弟數(shù)據(jù)集D和D'以及PK的任意子集SK,如果算法K符合:
Pr[K(D)∈SK]≤exp(ε)*Pr[K(D')∈SK]
(1)
那么稱K提供ε-差分隱私保護。ε為隱私保護預(yù)算,反映出隱私保護的強度,ε數(shù)值越大,隱私保護強度越弱。
定義2 Laplace分布:以η變量作為滿足Laplace分布的連續(xù)型隨機變量,Laplace分布滿足期望為0,方差為2λ2,它的概率密度函數(shù)為:
(2)
字段隱私等級[11]標(biāo)記:某醫(yī)療機構(gòu)疾病患者信息數(shù)據(jù)集包括年齡、醫(yī)生、疾病等字段,機構(gòu)對發(fā)布數(shù)據(jù)集字段進行標(biāo)記,如表1所示(N=5,最高隱私等級為5)。
表1 某醫(yī)院機構(gòu)數(shù)據(jù)字段隱私等級標(biāo)記
操作等級隱私標(biāo)記:某醫(yī)療機構(gòu)數(shù)據(jù)集中提供的操作有取平均、取值、求最值等,醫(yī)療機構(gòu)分別對操作設(shè)置相應(yīng)等級標(biāo)記,如表2所示(N=3,最高隱私操作等級為3)。
表2 某醫(yī)療機構(gòu)數(shù)據(jù)集操作隱私等級標(biāo)記
根據(jù)屬性的特點,按照屬性元素敏感度越敏感,數(shù)值映射越大的原則對數(shù)據(jù)的每個敏感屬性進行數(shù)值化處理,進而建立敏感數(shù)據(jù)矩陣。但是敏感數(shù)據(jù)矩陣中,每種敏感屬性在實際中,敏感性卻存在差異。例如年齡和診斷結(jié)果,很明顯診斷結(jié)果對于個人的隱私顯得更加重要。數(shù)據(jù)使用者的不同操作需求也會增大數(shù)據(jù)隱私泄露的風(fēng)險,例如取值操作明顯就比求平均值風(fēng)險更高,取值將會對具體的某個用戶值進行操作,提高了隱私泄露的風(fēng)險程度。因此通過用戶具體的數(shù)據(jù)使用需求建立數(shù)據(jù)字段的隱私泄露風(fēng)險權(quán)重,對于更加準(zhǔn)確高效地評估數(shù)據(jù)的隱私風(fēng)險顯得尤為重要。
定義3 隱私權(quán)重向量:設(shè)每個敏感屬性的隱私權(quán)重為pi,則p=(p1,p2,…,pn)。
獲取數(shù)據(jù)開放者擬支持的m種操作和擬開放的n種字段,對操作建立隱私等級標(biāo)記,記為q1,q2,…,qm(N=3,等級依次提高);對字段隱私等級進行標(biāo)記,記為f1,f2,…,fn(N=5,等級依次提高)。然后以字段為行,操作為列建立n×m的矩陣M,根據(jù)使用需求,將第i個字段和第j個操作的值tij(tij=qi×fj)賦予矩陣中,未涉及到的需求使用0填充。
從隱私保護的角度出發(fā),結(jié)構(gòu)化數(shù)據(jù)屬性中主要可以分為四類,即標(biāo)志性屬性、準(zhǔn)標(biāo)志屬性、敏感屬性與非敏感屬性。由于標(biāo)志性屬性會進行刪除,非敏感屬性不屬于隱私保護的范圍,準(zhǔn)標(biāo)志已有相應(yīng)的處理方法,因此敏感屬性將作為處理的重點。敏感屬性結(jié)構(gòu)化數(shù)據(jù)見表3。表中Di表示用戶個體,SAj表示感屬性,di,j表示敏感屬性值。
表3 敏感屬性結(jié)構(gòu)化數(shù)據(jù)
定義4 非負(fù)數(shù)值化映射[15]:設(shè)存在映射f,非負(fù)數(shù)值元素集E,若?e∈E,f(e)≥0,則f為非數(shù)值化映射。
針對表3的敏感屬性進行非負(fù)值數(shù)值化映射,敏感屬性映射值隨著屬性敏感性的增大而增大。將表中敏感屬性分別對應(yīng)f1,f2,…,fn進行數(shù)值化映射。通過以下計算方法:
ai,j=f(di,j)
(1≤i≤m,1≤j≤n,且m,n∈N*)
(3)
將敏感數(shù)據(jù)進行非負(fù)數(shù)值化處理,得到D=(ai,j)m×n的敏感數(shù)據(jù)矩陣。
數(shù)據(jù)效用是指敏感數(shù)據(jù)經(jīng)過隱私保護技術(shù)手段脫敏處理后,與原來未經(jīng)處理后的數(shù)據(jù)相比,所具有的真實性或者相同性的程度。當(dāng)隱私保護后,往往會降低數(shù)據(jù)的使用性。因此通過效用的度量來評價隱私脫敏處理后數(shù)據(jù)的使用性。數(shù)據(jù)效用性越高數(shù)據(jù)的真實性越好,數(shù)據(jù)的使用價值就越高。
定義5 數(shù)據(jù)效用[16]:設(shè)敏感數(shù)據(jù)矩陣為D,將D經(jīng)過隱私脫敏處理后的敏感數(shù)據(jù)矩陣為D',D與D'結(jié)構(gòu)相同。U(D)與U(D')分別表示D和D'的數(shù)據(jù)量,數(shù)據(jù)效用計算公式如下:
R=U(D')/U(D)
(4)
(5)
隱私評估系統(tǒng)設(shè)計如圖1所示。該系統(tǒng)主要是建立在知道具體需求的前提下,首先建立隱私等級標(biāo)記矩陣;然后對發(fā)布數(shù)據(jù)采取數(shù)值化函數(shù)處理創(chuàng)建敏感數(shù)據(jù)矩陣;接著將隱私等級標(biāo)記矩陣與敏感數(shù)據(jù)矩陣相結(jié)合進行矩陣范數(shù)計算得到隱私風(fēng)險值。通過上述步驟建立數(shù)據(jù)發(fā)布的泄露風(fēng)險評估系統(tǒng)。
圖1 隱私評估系統(tǒng)整體框架
針對需求數(shù)據(jù)集隱私泄露風(fēng)險高的問題,評估系統(tǒng)通過引入加噪、泛化等隱私保護方法,對數(shù)據(jù)進行脫敏處理,降低隱私泄露的風(fēng)險,實現(xiàn)數(shù)據(jù)發(fā)布的低風(fēng)險。
數(shù)據(jù)共享成為當(dāng)前的現(xiàn)實需求,為促進發(fā)展,數(shù)據(jù)擁有者愿意在一定條件下開放某些數(shù)據(jù)給某些科研機構(gòu)進行研究,但是隱私信息安全一直是數(shù)據(jù)擁有者最為關(guān)心的問題,因此建立一套隱私泄露風(fēng)險評估系統(tǒng)是十分必要的。隱私泄露風(fēng)險評估方法作為該系統(tǒng)的核心,能夠有效預(yù)防數(shù)據(jù)發(fā)布過程中的隱私泄露。
具體評估流程如下:
(1)數(shù)據(jù)需求方的隱私泄露風(fēng)險評估首先是通過獲取數(shù)據(jù)發(fā)布方擬支持的m種操作和擬開放的n種字段,對操作建立隱私等級標(biāo)記,記為q1,q2,…,qm(N=3,等級依次提高);對字段隱私等級進行標(biāo)記,記為f1,f2,…,fn(N=5,等級依次提高)。
(2)以字段為行,操作為列建立n×m的矩陣M,遍歷數(shù)據(jù)需求者使用需求集合G,查詢第i個字段與第j個操作是否存在于需求表中。如果存在,則將tij(tij=qi×fj)的值賦予矩陣中。其余矩陣中的值用0填充。
(4)根據(jù)定義5,將敏感屬性數(shù)據(jù)進行非負(fù)值數(shù)值化映射,按照敏感屬性的特性,敏感數(shù)值映射隨著敏感度的增加而增大。該文選取學(xué)歷(education)、工作時長(hours-per-week)、收入(income)敏感屬性進行舉例說明:
education:Doctor→0.8,Master→0.7,Bachelor→0.6,High School→0.5,Junior High School→0.4,Primary School→0.3,other→0.1。
hours-per-week:
f(hours-per-week)=
(6)
(7)
然后通過數(shù)值化構(gòu)建隱私敏感數(shù)據(jù)矩陣D。
(5)將敏感數(shù)據(jù)矩陣D與隱私權(quán)重向量p合成帶有權(quán)重向量的數(shù)據(jù)矩陣B。合成方法如下:
(8)
結(jié)合上面的隱私泄露風(fēng)險評估方法,該文的隱私評估算法的偽代碼如下所示:
算法1:隱私泄露風(fēng)險評估算法。
輸入:數(shù)據(jù)使用者需求集合G,數(shù)據(jù)發(fā)布字段隱私等級集合S,數(shù)據(jù)操作隱私等級集合H,發(fā)布數(shù)據(jù)集data。
輸出:隱私泄露風(fēng)險系數(shù)r。
(1)matrix=Create(n,m);
//建立m×n的矩陣,默認(rèn)值為0
(2)FOR item∈G;
//遍歷使用者需求結(jié)合
(3)PL(item,matrix,S,H);
//通過查詢字段隱私等級集合S與數(shù)據(jù)操作隱私等級集合H,對第i行與第j列進行隱私等級賦值
(4)END FOR
(5)p=CoSum(matrix)
//對矩陣行求和,得到向量p
(6)dataX=init(data);
//對數(shù)據(jù)進行處理,去除掉標(biāo)識符等非敏感數(shù)據(jù)
(7)numDataMatrix=GetNumData(SenData);
//對數(shù)據(jù)進行非負(fù)值映射,得到敏感數(shù)據(jù)矩陣
(8)weightMatrix=numDataMatrix⊕p
//將敏感數(shù)據(jù)矩陣與權(quán)重向量合成帶有權(quán)重的敏感數(shù)據(jù)矩陣
(9)AmountPrivacy=GetPrivacy();
//通過范數(shù)計算,獲取數(shù)據(jù)隱私量
(10)r=CalculatedRisk(AmountPrivacy)
//通過數(shù)據(jù)歸一化,計算風(fēng)險系數(shù)得到r
(11)output:r
//輸出r
(12)return
該文選用公開數(shù)據(jù)集UCI中的Adult進行實驗分析,其中包含15個屬性字段,32 670條數(shù)據(jù),通過進行實驗分析,驗證該方法的效用性和正確性。
實驗環(huán)境具體如下:實驗算法采用Python進行開發(fā),操作系統(tǒng)采用基于x64的Windows10,內(nèi)存為24G,CPU為Intel(R) Core(TM) i5-8250U CPU @ 1.60 GHz 1.80 GHz。
實驗首先驗證在評估數(shù)據(jù)、操作方式、字段隱私等級不變的狀態(tài)下,增加字段需求數(shù)量,數(shù)據(jù)隱私泄露風(fēng)險值的變化。采用Adult數(shù)據(jù)集中的15個字段進行實驗,通過數(shù)值化處理轉(zhuǎn)化為敏感數(shù)據(jù)矩陣D1,字段操作隱私等級標(biāo)記參考表2,字段隱私等級按照數(shù)據(jù)發(fā)布者的標(biāo)記,按照字段隱私泄露的風(fēng)險程度進行隱私標(biāo)記,等級越高風(fēng)險越大,分別標(biāo)記1~5,方法參照表1。通過實驗,結(jié)果如圖2所示。
圖2 隱私風(fēng)險值隨請求字段數(shù)的變化
根據(jù)圖2的結(jié)果表明,在評估數(shù)據(jù)、字段操作需求、隱私等級不變的情況下,隨著字段需求的增加,數(shù)據(jù)隱私泄露風(fēng)險值也隨字段數(shù)量的增加而增大。
接著分析在字段操作、隱私等級、字段需求不變的情況下,對數(shù)據(jù)添加噪聲是否可以降低隱私泄露的風(fēng)險值,對數(shù)據(jù)效用的影響情況。為了產(chǎn)生與拉普拉斯同分布的隨機數(shù),實驗采用了拉普拉斯的逆累積分布函數(shù),隨機數(shù)據(jù)的生成如下:
(9)
其中,β為在區(qū)間[-0.5,0.5]中均勻分布的一個隨機數(shù),設(shè)均值μ=0,δ為標(biāo)準(zhǔn)差,δ代表噪聲量,δ越大,噪聲越大。
對敏感數(shù)據(jù)矩陣D1中的元素添加拉普拉斯噪聲,首先生成滿足D1矩陣大小的噪聲矩陣△D,然后添加噪聲如下:D2=D1-|△D|,當(dāng)敏感數(shù)據(jù)中的元素添加噪聲的值為負(fù)時,將元素改為零。
通過圖3的結(jié)果分析表明,在字段操作、字段需求不變的情況下,隨著對數(shù)據(jù)添加噪聲量的增加,隱私風(fēng)險值降低,數(shù)據(jù)效用也隨之降低。
圖3 隱私風(fēng)險值與隱私效用隨噪聲增加的變化
最后將文中方案與文獻[11]做對照分析,實驗結(jié)果如圖4所示。通過對評估數(shù)據(jù)添加噪聲,文中方案的隱私風(fēng)險值隨著噪聲的增加而降低,但是文獻[11]沒有發(fā)生任何變化。通過對比分析可以看出,文中方案不僅可以對字段和操作進行風(fēng)險評估,還加入了對數(shù)據(jù)本身的數(shù)據(jù)隱私泄露風(fēng)險評估,使得評估結(jié)果更加全面,也更能看出隱私保護的效果。
圖4 隱私評估方案對比
綜上,通過對請求字段數(shù)、數(shù)據(jù)效用、隱私風(fēng)險值和其他方案的對比分析可以得出,該方法符合隱私泄露風(fēng)險評估的預(yù)期,對于有效評估數(shù)據(jù)的隱私泄露風(fēng)險,提高數(shù)據(jù)的共享價值具有一定的參考意義。
通過對數(shù)據(jù)進行數(shù)值化映射度量數(shù)據(jù)隱私并建立隱私等級標(biāo)記,將兩者緊密融合,實現(xiàn)隱私泄露風(fēng)險的多方因素綜合評估,提出了一種數(shù)據(jù)發(fā)布的隱私泄露風(fēng)險評估方法。
該方法首先獲取數(shù)據(jù)使用者數(shù)據(jù)需求,通過分別對屬性字段隱私等級以及操作隱私等級進行等級劃分,建立隱私等級矩陣,然后對發(fā)布數(shù)據(jù)進行數(shù)值化處理創(chuàng)建敏感數(shù)據(jù)矩陣,最后將隱私等級矩陣與敏感數(shù)據(jù)矩陣相結(jié)合,計算得出隱私泄露風(fēng)險值,從而建立數(shù)據(jù)發(fā)布的隱私泄露風(fēng)險評估方法。該方法為數(shù)據(jù)發(fā)布場景中的隱私泄露風(fēng)險評估提供了適當(dāng)?shù)闹笇?dǎo)作用。
未來的研究中,將會探索更多更好的隱私泄露風(fēng)險度量方法和評價指標(biāo),通過擴展相關(guān)度量方法與評價指標(biāo),建立更加可靠安全的隱私泄露風(fēng)險評價體系。