胡雨谷,葛麗娜,2
(1.廣西民族大學(xué)人工智能學(xué)院,廣西 南寧 530006;2.廣西民族大學(xué)網(wǎng)絡(luò)通信工程重點實驗室,廣西 南寧 530006)
大數(shù)據(jù)、物聯(lián)網(wǎng)規(guī)模與日俱增,全球參與設(shè)備的數(shù)量數(shù)以億計。每個連接到互聯(lián)網(wǎng)的設(shè)備或多或少不斷地產(chǎn)生著各種各樣的數(shù)據(jù),其中可能含有用戶的隱私信息。當包含隱私數(shù)據(jù)的設(shè)備接入互聯(lián)網(wǎng)并提供數(shù)據(jù)給其他設(shè)備訪問時,用戶的隱私便存在被暴露的風(fēng)險。如何控制和協(xié)調(diào)產(chǎn)生數(shù)據(jù)的設(shè)備與訪問數(shù)據(jù)的設(shè)備之間的訪問是一個難點。因而構(gòu)建安全可用的數(shù)據(jù)訪問處理方法是實現(xiàn)數(shù)據(jù)訪問控制的重要研究方向之一。Dwork[1]提出的差分隱私DP(Differential Privacy)有著嚴格數(shù)學(xué)證明,其隱私預(yù)算參數(shù)ε改進了傳統(tǒng)隱私保護模型需要背景知識假設(shè)和無法定量分析隱私保護水平的不足,從而能夠?qū)?shù)據(jù)的隱私安全提供良好的保障。
文獻[2]利用概率知識,給出了一種基于背景知識的攻擊模型,并計算出差分隱私預(yù)算ε的上限。文獻[3]則基于Laplace機制,對差分隱私的結(jié)果進行查詢分析,并依據(jù)結(jié)果推導(dǎo)數(shù)據(jù)集中是否含有攻擊對象,繼而得出攻擊者的成功概率和優(yōu)化的差分隱私預(yù)算ε的上界。文獻[4]提出啟發(fā)式策略LPBDP(Limit Privacy Breaches in Differential Privacy),使得隱私參數(shù)ε的設(shè)置不再依賴于經(jīng)驗或?qū)嶒?,而是可以根?jù)查詢值的先驗概率與后驗概率進行啟發(fā)式設(shè)置。文獻[5]研究了選擇差分隱私預(yù)算ε和δ時必須考慮的關(guān)鍵因素,提出了一個簡單的經(jīng)濟模型,使差分隱私用戶能夠根據(jù)實際可估計的量,有原則地選擇差分隱私預(yù)算參數(shù)。文獻[6]則在文獻[4,5]的基礎(chǔ)上,依據(jù)置信分析過程,設(shè)計了差分隱私預(yù)算配置算法。
現(xiàn)有的研究大都集中在對公式理論的改進,忽視了實際的應(yīng)用場景,往往不能很好地從數(shù)據(jù)的使用者和數(shù)據(jù)的提供者角度著手,去滿足現(xiàn)實隱私的需求。
本文充分考慮應(yīng)用場景,根據(jù)數(shù)據(jù)訪問者和貢獻者的信譽度信息,并與數(shù)據(jù)隱私度以及訪問權(quán)限值關(guān)聯(lián),設(shè)計了基于信譽的差分隱私參數(shù)設(shè)置算法RBPPA(Reputation for differential privacy Based Privacy Parameter setting Algorithm),實現(xiàn)了細粒度的隱私參數(shù)設(shè)置。針對滿足隱私保護的加噪數(shù)據(jù)可用性降低的問題,設(shè)計了基于平方根無味卡爾曼濾波的差分隱私數(shù)據(jù)優(yōu)化算法DPSRUKF(Differential Privacy data optimization algorithm based on Square-Root Unscented Kalman Filter),對加噪數(shù)據(jù)進行優(yōu)化[6,7],以提高差分隱私數(shù)據(jù)的可用性。
本文所提出的算法基于如下應(yīng)用場景:用戶甲的設(shè)備產(chǎn)生了一些數(shù)據(jù),并有選擇地向其他設(shè)備開放數(shù)據(jù)的訪問權(quán)限,下文稱為數(shù)據(jù)貢獻者DC(Data Contributor);用戶乙、丙和丁等眾多用戶需要訪問用戶甲的設(shè)備產(chǎn)生的數(shù)據(jù),下文稱為數(shù)據(jù)訪問者DV(Data Visitor)。圖1所示為本文所提算法的應(yīng)用場景示意圖。
Figure 1 Application scenarios圖1 應(yīng)用場景示意圖
面對這樣的場景,從數(shù)據(jù)貢獻者DC的角度出發(fā),首先會考慮自身數(shù)據(jù)的安全性,通過差分隱私技術(shù)提供數(shù)據(jù)隱私的保護;從數(shù)據(jù)訪問者DV的角度出發(fā),首先會考慮所請求的數(shù)據(jù)的完整性、可用性等。為此,綜合兩者的利益,基于兩者的信譽度設(shè)計細粒度的隱私參數(shù)設(shè)置算法,實現(xiàn)了在使用敏感數(shù)據(jù)時保證其隱私得到保護。
差分隱私在強大的數(shù)學(xué)模型基礎(chǔ)上嚴格定義了攻擊模型,對隱私泄露給出了嚴謹、定量化的表示和證明,使得人們可以對不同參數(shù)下的數(shù)據(jù)集的隱私保護水平予以評估和比較。差分隱私有2個最基本的實現(xiàn)機制,針對數(shù)值型數(shù)據(jù)采用Laplace機制,而針對非數(shù)值型的數(shù)據(jù)可采用指數(shù)機制[8]。
定義1(差分隱私) 設(shè)給定一個隨機隱私函數(shù)M是滿足(ε,δ)-差分隱私的,如果2個數(shù)據(jù)集D1和D2之間只相差1個元素,即‖D1-D2‖1≤1,對所有S?Range(M),有:
Pr[M(D1)∈S]≤eε·Pr[M(D2)∈S]+δ
其中,Pr[·]為概率表示,ε為隱私保護的預(yù)算值。其中,若δ=0,稱算法M滿足(ε,0)-差分隱私。
定義2(Laplace機制) 對于任一函數(shù)f:N|χ|→Rk,Laplace機制定義如下:
ML(x,f(·),ε)=f(x)+(Y1,…,Yi,…,Yk)
根據(jù)定義1可知,對僅有1個元素不同的相鄰數(shù)據(jù)集,隨機算法M的輸出結(jié)果由隱私預(yù)算ε和參數(shù)δ決定。ε越小,其隱私保護程度越高,當ε=0,δ=0時,有:
Pr[M(D1)∈S]≤e0·Pr[M(D2)∈S]+δ?
Pr[M(D1)∈S]≤Pr[M(D2)∈S]+δ?
Pr[M(D1)∈S]=Pr[M(D2)∈S]
因此,ε=0,δ=0時,M對D1和D2的查詢結(jié)果完全相同,數(shù)據(jù)的可用性完全喪失。
本文的隱私參數(shù)設(shè)置算法是在李森有等人[9]的研究基礎(chǔ)上改進與完善的,通過對數(shù)據(jù)共享者與數(shù)據(jù)訪問者的信譽度值、數(shù)據(jù)貢獻者對數(shù)據(jù)隱私安全級別的設(shè)置值,動態(tài)確定數(shù)據(jù)訪問者查詢數(shù)據(jù)獲得的安全可信度等級,以獲得相應(yīng)的隱私保護預(yù)算,實現(xiàn)細粒度的訪問控制。
為了實現(xiàn)數(shù)據(jù)貢獻者的隱私數(shù)據(jù)安全,同時使數(shù)據(jù)訪問者最大化地利用共享數(shù)據(jù),基于數(shù)據(jù)貢獻者與數(shù)據(jù)訪問者的信譽度,本文提出了差分隱私參數(shù)設(shè)置算法RBPPA。RBPPA的組成結(jié)構(gòu)如圖2所示,表示了數(shù)據(jù)訪問控制的信息流向。
Figure 2 Composition of RBPPA圖2 RBPPA的組成結(jié)構(gòu)
(1)讀取數(shù)據(jù)貢獻者的信譽度,設(shè)定其貢獻的數(shù)據(jù)隱私保護度的值;
(2)讀取數(shù)據(jù)訪問者的信譽度,找到其角色屬性相應(yīng)權(quán)限度的值;
(3)利用(1)與(2)得到的數(shù)值,計算數(shù)據(jù)的隱私保護預(yù)算值ε,進一步計算其加噪后的數(shù)據(jù)值。
RBPPA算法中,對數(shù)據(jù)查詢的可信度由數(shù)據(jù)訪問者與數(shù)據(jù)貢獻者雙方的信譽度共同決定,他們的信譽度值越大,就能夠查詢到越接近真實值的數(shù)據(jù);同時,數(shù)據(jù)貢獻者有對所貢獻數(shù)據(jù)設(shè)置隱私保護程度的權(quán)力,其值越低則可查詢到的數(shù)據(jù)越接近真實值。
首先,計算查詢安全可信度QC(Querying security Credibility)和數(shù)據(jù)貢獻者可信度 :
查詢安全可信度QC由數(shù)據(jù)訪問者的可信度DVC(Data Visitor Credibility)和數(shù)據(jù)貢獻者的可信度DDC(Data Dedicator Credibility)通過加權(quán)計算而得,即QC的計算方式如式(1)所示:
QC=α·DVC+β·DDC
(1)
其中,α、β為權(quán)重,且α+β=1,α和β的值根據(jù)訪問者的信譽度Vrep和貢獻者的信譽度Drep進行設(shè)置,即如式(2)所示:
α∶β=Vrep∶Drep
(2)
通過調(diào)節(jié)α和β,可以動態(tài)地實現(xiàn)對數(shù)據(jù)精確、實時的隱私保護[10]。
根據(jù)α+β=1和式(2),可以得到:
(3)
設(shè)訪問者可信度DVC是Vrep和訪問者對應(yīng)的角色屬性權(quán)限度Vper的函數(shù),表示為函數(shù)f(Vrep,Vper)。Vrep和Vper是服從0~1之間正態(tài)分布的隨機變量,選用二維Gauss函數(shù)作為相應(yīng)的函數(shù),DVC的計算方式如式(4)所示:
DVC=f(Vrep,Vper)=
(4)
設(shè)數(shù)據(jù)貢獻者可信度DDC是Drep和對應(yīng)客體資源所設(shè)置的數(shù)據(jù)隱私度Dpri的函數(shù),表示為函數(shù)g(Drep,Dpri)。對式(4)進行調(diào)整,得到DDC的計算如式(5)所示:
DDC=g(Drep,Dpri)=
(5)
結(jié)合式(1)~式(5),可以得出查詢安全可信度QC的計算方式如式(6)所示:
(6)
然后,設(shè)置QC與隱私預(yù)算參數(shù)ε的一一映射關(guān)系。
由式(6)計算出QC的最大值QCmax和最小值QCmin,均等分可信等級區(qū)間 [QCmin,QCmax]成n(n≥3)個等級;同樣,也均分隱私預(yù)算參數(shù)ε為n份,與可信等級相對應(yīng)。
設(shè)定各個可信等級與隱私保護參數(shù)εi的對應(yīng)關(guān)系,即第i個可信等級的區(qū)間表示為:
其對應(yīng)的隱私保護參數(shù)為εi。由此建立了從安全可信度值區(qū)間到隱私參數(shù)值區(qū)間的映射關(guān)系,該映射為一對一的。于是,可通過查詢該映射關(guān)系,實現(xiàn)隱私參數(shù)的細粒化設(shè)置。值得注意的是,若QC的值區(qū)間固定,同時全體數(shù)據(jù)訪問者的ε參數(shù)的取值均來自同一值區(qū)間,則優(yōu)劣者之間的差異程度無法實現(xiàn),難以觀測得到優(yōu)者越優(yōu)、劣者越劣的系統(tǒng)增益。因此,引入ε值估計法,通過置信區(qū)間和置信水平的設(shè)置來表達真實值在間隔估計中準確性的提升。
(7)
定義4(誤差尺度) 誤差尺度w表示為噪聲數(shù)據(jù)所被允許的誤差比例,且w∈(0,1)。
定義5(輸出概率) 數(shù)據(jù)貢獻者在共享數(shù)據(jù)時,設(shè)置數(shù)據(jù)的誤差尺度為w,且被訪問的概率為p,且p∈(0,1),即數(shù)據(jù)以w誤差尺度的輸出概率為p。
定義6(隱私保護級別) 假設(shè)以誤差尺度w為置信區(qū)間的大小,以輸出概率p為置信水平,則隱私保護級別P可用式(8)進行定義:
(8)
繼而將式(7)代入式(8),可以得到式(9):
P[(1-w)·c F(wc)-F(-wc)= (9) 其中,F(xiàn)(·)為累計分布函數(shù),b=Δf/ε。通過式(9)可看出,隨著真實值c的增長,ε值就越小,噪聲越大,可用性越小,隱私保護越強。 當增強數(shù)據(jù)的隱私保護時,其可用性就會被降低,所以需要在這兩者之間進行折衷。為此,本文優(yōu)先考慮可用性,采用ε區(qū)間取值方法,由式(9)可知,為了取得越小的ε值,則要求誤差尺度w盡可能地大。這與可用性優(yōu)先所要求的誤差尺度w盡量小是不吻合的。為此,w可采用1與數(shù)據(jù)訪問者對應(yīng)角色的權(quán)限最小值之差,即wmax=1-Vpermin,Vpermin表示數(shù)據(jù)訪問者所在機構(gòu)角色權(quán)限的最小值,這樣數(shù)據(jù)訪問者的權(quán)限更大、級別更高時,則得到的數(shù)據(jù)更精確。 與此同時,為了最小化ε的值,需等價最小化輸出概率p。此時的p值可以表示為數(shù)據(jù)貢獻者的信譽度,于是有pmin=Drepmin。由于0 Table 1 Query trust level and privacy budget parameter comparison 由此可見,與基準算法相比,改進的隱私參數(shù)設(shè)置算法,在一定程度上縮小了隱私預(yù)算參數(shù)的取值區(qū)間,這就使得數(shù)據(jù)訪問者的信譽度越高時,獲得的數(shù)據(jù)添加的噪聲就越小,數(shù)據(jù)的可用性就越高;算法中將數(shù)據(jù)的信任等級、查詢安全可信度與隱私預(yù)算一一對應(yīng),使得數(shù)據(jù)貢獻者與數(shù)據(jù)訪問者的交易更方便。本文提出的RBPPA如算法1所示。 算法1RBPPA 輸入:Vrep,Vper,f(V)=(Vrep,Vper),Drep,Dpri,g(D)=(Drep,Dpri),n,w,p。 輸出:εi。 步驟1初始化Vrep,Vper,Drep,Dpri; 步驟2 foreach access request: 步驟4f(Vrep,Vper)=exp 步驟 5DVC=f(Vrep,Vper); 步驟6foreach objects: 步驟8DDC=g(Drep,Dpri); 步驟9endfor 步驟10QC=α·DVC+β·DDC; 步驟11endfor 步驟14endfor 步驟15QCmax= 1;QCmin= 0; 步驟16forQCin [QCmin,QCmax]: 步驟17把[QCmin,QCmax]平分為n等份; 步驟18對照表1,查出QCi對應(yīng)的εi; 步驟19endfor 步驟20returnεi. 首先,對提出的與QC區(qū)間進行一一映射的ε最小值區(qū)間的確定方法進行實驗驗證與分析,設(shè)式(6)QC映射的結(jié)果表示為εi-old,設(shè)將系統(tǒng)中各參數(shù)的最大、最小值代入式(6)后確定與QC映射的結(jié)果表示為εi-new,將其與映射關(guān)系中QCi進行對比。從圖3右向左看,可以看出,當訪問者權(quán)限變小時,εi-old與εi-new之間的差值在變大。實驗表明,給定的εmin的值在隨著訪問權(quán)限的減少而減少,并且εmin越來越接近0。而且,經(jīng)過重新劃分后映射出的ε值相對于原值稍有提升,提高了數(shù)據(jù)的可用性。 Figure 3 Relation of data visitor permission values and privacy parameters圖3 訪問者權(quán)限值與隱私參數(shù)的關(guān)系 圖4給出了εi-new與輸出概率p和誤差尺度w百分比的關(guān)系。圖4表明,當訪問者有較高的權(quán)限時,其有較大的輸出概率,它的誤差尺度就會較小,其εi-new較大,則有較高的數(shù)據(jù)可用性。該結(jié)論與實際需求一致。由此驗證了p和w的引入是合理的。 Figure 4 Relation of privacy budget, output probability and error scale圖4 隱私預(yù)算與輸出概率和誤差尺度的關(guān)系 在第2節(jié)差分隱私的隱私參數(shù)設(shè)置算法設(shè)計中,從保護數(shù)據(jù)貢獻者的角度出發(fā),通過將細化映射預(yù)算分配所獲得的隱私預(yù)算參數(shù)與差分隱私技術(shù)結(jié)合,實現(xiàn)對數(shù)據(jù)的擾動處理。但是,對于數(shù)據(jù)訪問者,其關(guān)心的重點則是數(shù)據(jù)的可用性,包括數(shù)據(jù)的精確程度、來源的真實程度等。為了更好地保障訪問者的數(shù)據(jù)可用性需求,本文在文獻[12]所提出的無味卡爾曼濾波DPUKF(Differential Privacy algorithm based on Unscented Kalman Filter)提升數(shù)據(jù)精度的辦法之上進行改進,引入平方根形式的矩陣分解方法[13],提出基于平方根無味卡爾曼濾波的差分隱私數(shù)據(jù)優(yōu)化算法DPSRUKF,縮小計算的誤差[14,15],從而實現(xiàn)數(shù)據(jù)精度的再提高。 DPSRUKF算法流程框架如圖5所示。 Figure 5 Framework of DPSRUKF algorithm圖5 DPSRUKF算法流程框架 依照圖5,DPSRUKF算法流程表述如下: (1)讀取關(guān)于數(shù)據(jù)訪問者的訪問權(quán)限等有關(guān)的數(shù)據(jù)隱私保護參數(shù); (2)讀取被訪問數(shù)據(jù)對應(yīng)的隱私預(yù)算,根據(jù)隱私預(yù)算值,對數(shù)據(jù)添加Laplace噪聲; (3)將含有噪聲的數(shù)據(jù)傳給平方根無味卡爾曼濾波處理器進行處理,實現(xiàn)優(yōu)化處理; (4)如果(3)的結(jié)果是正優(yōu)化,則完成數(shù)據(jù)隱私保護和優(yōu)化,并遞交給上一層客體訪問點;否則,如果是負優(yōu)化,則轉(zhuǎn)向(2),對數(shù)據(jù)重新進行優(yōu)化處理。 算法2DPSRUKF算法 輸入:原始數(shù)據(jù)向量集{xi(0)}(i=1,2,…,n),ε。 輸出:加噪并優(yōu)化后的數(shù)據(jù)向量集{ri(k)}。 步驟2 whileture 步驟3 foreach data in {xi(k)}: 步驟4x′i(k)=xi(k)+Lap(λ); 步驟6Xi,k|k-1=Fi(k-1,ξi,k-1); 步驟18Si(k)=cholupdate{Si(k,k-1), Gi(k)Si,yy-1}; 步驟20k=k+1; 步驟21if{ri(k)}比{xi(k)}精度更高: 步驟22return{ri(k)}; 步驟23 endif 步驟24 endfor 步驟25 endwhile 定理1DPSRUKF算法是滿足ε-差分隱私的。 證明函數(shù)f:D→Rn,若 f(D)=(x1,x2,…,xn)T f(D′)=(x′1,x′2,…,x′n)T= (x1+Δx1,x2+Δx2,…,xn+Δxn)T 則有: 設(shè)xi=0,f(D)=(0,0,…,0)T,f(D′)=(Δx1,Δx2,…,Δxn)T,O=(y1,y2,…,yn)T,有 由上面的推導(dǎo)可知,對每個xi查詢滿足了差分隱私保護,隱私預(yù)算為εk=ε/M,由于差分隱私滿足組合性質(zhì),所以 DPSRUKF算法是滿足ε-差分隱私的。 □ 實驗測試一組普通非線性函數(shù),隱私預(yù)算參數(shù)取0.5。設(shè)置對比實驗,分別對比真實數(shù)據(jù)、加噪值(對真實數(shù)據(jù)按差分隱私要求添加拉普拉斯噪聲之后的稱為“加噪值”)、無味卡爾曼濾波DPUKF算法輸出數(shù)據(jù)和DPSRUKF算法輸出數(shù)據(jù),結(jié)果如圖6所示。 Figure 6 Comparison of estimated deviations圖6 估計偏差對比 表2表明,DPSRUKF算法優(yōu)化了DPUKF算法的數(shù)值,提高了加噪數(shù)據(jù)的可用性。 進一步,隱私預(yù)算ε取0.1,0.01,在不同ε下比較產(chǎn)生的誤差值平均值,結(jié)果如圖7所示。通過圖7可以看出,隱私預(yù)算的值與誤差值負相關(guān),隱私預(yù)算的值越小,誤差越大,即數(shù)據(jù)的可用性越小。因此,DPSRUKF算法能夠有效提升隱私數(shù)據(jù)的可用性。 Table 2 Root mean square error RMSE Figure 7 Comparison of error values under different ε圖7 不同ε下的誤差值對比 本文提出了一種基于信譽度、數(shù)據(jù)隱私權(quán)限和數(shù)據(jù)訪問者權(quán)限相互關(guān)聯(lián)的差分隱私的隱私參數(shù)設(shè)置算法和一個加噪數(shù)據(jù)優(yōu)化的算法。隱私參數(shù)設(shè)置是建立在隱私參數(shù)查詢安全可信度一一映射的基礎(chǔ)上,設(shè)計了隱私參數(shù)的細粒度設(shè)置方法,實現(xiàn)用戶對隱私更自主的保護,提高了差分隱私技術(shù)的靈活性和有效性;針對加噪數(shù)據(jù)可用性降低的問題,采用了平方根無味卡爾曼濾波算法進行處理,使數(shù)據(jù)的可用性得到提高。下一步的工作將完善去中心化下共享機制的隱私保護技術(shù),助力構(gòu)建更加公平、公開、高效安全的網(wǎng)絡(luò)共享共治平臺。2.3 實驗分析
3 加噪數(shù)據(jù)優(yōu)化算法
3.1 DPSRUKF算法流程
3.2 算法表述
3.3 分析與實驗
4 結(jié)束語