張玉立,張麥玲
(1. 商丘工學(xué)院,河南 商丘 476000;2. 河南大學(xué)計(jì)算機(jī)與信息工程學(xué)院,河南 開封 475001)
在網(wǎng)絡(luò)技術(shù)不斷發(fā)展的背景下個(gè)人信息數(shù)據(jù)的查詢和存儲(chǔ)越來(lái)越便利,但同時(shí)個(gè)人隱私數(shù)據(jù)泄露問(wèn)題也逐漸成為人們關(guān)注的重點(diǎn),在日常生活和工作中個(gè)人隱私數(shù)據(jù)的泄露對(duì)人們產(chǎn)生了嚴(yán)重的影響[1]。因此,個(gè)人隱私保護(hù)問(wèn)題成為現(xiàn)階段研究的首要問(wèn)題[2],研究個(gè)人信息隱私保護(hù)算法具有重要意義。
郝玉蓉[3]等人將數(shù)據(jù)分箱思想引入Generalized算法中,為了在小數(shù)據(jù)范圍內(nèi)記錄數(shù)據(jù),對(duì)個(gè)人信息數(shù)據(jù)做分箱處理,降低數(shù)據(jù)量變化造成的統(tǒng)計(jì)誤差,完成個(gè)人信息隱私保護(hù),該算法加密后的數(shù)據(jù)ROM、RAM占用量過(guò)高。曾海燕[4]等人通過(guò)歐式距離計(jì)算個(gè)人信息的語(yǔ)義特征,根據(jù)語(yǔ)義特征構(gòu)建個(gè)人信息類型集合,計(jì)算信息類型集合在整體個(gè)人信息中的比例,在計(jì)算結(jié)果的基礎(chǔ)上建立匿名集,實(shí)現(xiàn)個(gè)人信息的隱私保護(hù),該算法加解密所用的時(shí)間較長(zhǎng),且成功存證數(shù)較低,存在加解密效率低和容錯(cuò)性差的問(wèn)題。為了解決上述方法中存在的問(wèn)題,提出基于私有區(qū)塊鏈的個(gè)人信息隱私保護(hù)算法。
為了避免數(shù)據(jù)維數(shù)過(guò)高帶來(lái)的一系列問(wèn)題,在核主成分分析方法[5,6]中引入核局部保持投影思想,對(duì)個(gè)人信息做降維處理,具體步驟如下:
1)用X=[x1,x2,…,xn]T∈Rn×m表示個(gè)人信息數(shù)據(jù)集,建立局部結(jié)構(gòu)保持函數(shù)Kl(β)
(1)
式中,β代表的是個(gè)人信息樣本在特征空間中的線性表示;Γ(xi)和ΓT(xi)代表的是核函數(shù);Z=F-D代表的是Laplacian矩陣,其中,F代表的是對(duì)角矩陣,D代表的是權(quán)重矩陣。
2)在Kl(β)的基礎(chǔ)上建立全局方差最大目標(biāo)函數(shù)Kg(β)
(2)
3)結(jié)合Kl(β)和Kg(β)建立整體目標(biāo)函數(shù)K(β)
(3)
式中,χC代表的是全局方差最大目標(biāo)函數(shù)Kg(β)的權(quán)重參數(shù);χL代表的是局部結(jié)構(gòu)保持函數(shù)Kl(β)的權(quán)重參數(shù)。
4)利用函數(shù)Kg(β)計(jì)算個(gè)人信息前p個(gè)特征值μ1,μ2,…,μp,根據(jù)計(jì)算結(jié)果構(gòu)建個(gè)人信息的特征向量S=[β1,β2,…,βn];
5)在低維正交特征子空間中通過(guò)下式對(duì)個(gè)人信息樣本集做投影處理
Y=LTS
(4)
式中,K代表的是核函數(shù);Y表示降維處理后的個(gè)人信息。
將降維處理后的個(gè)人信息輸入至循環(huán)一致性生成對(duì)抗網(wǎng)絡(luò)中,對(duì)其展開去噪處理。
1)生成對(duì)抗網(wǎng)絡(luò)
生成對(duì)抗網(wǎng)絡(luò)由判別器和生成器構(gòu)成,該網(wǎng)絡(luò)的基本思想是“零和博弈”[7,8]。判別器和生成器在網(wǎng)絡(luò)訓(xùn)練過(guò)程中是“零和博弈”的主體,在模型優(yōu)化和訓(xùn)練的過(guò)程中實(shí)現(xiàn)納什平衡,獲得生成對(duì)抗網(wǎng)絡(luò)模型的最優(yōu)參數(shù),生成對(duì)抗網(wǎng)絡(luò)的目標(biāo)函數(shù)如下
=Ry~Pd(y)[lgD(y)]+Rx~Px(x){lg[1-D(G(x))]}
(5)
式中,G代表的是生成器;D代表的是判別器;B(D,G)代表的是價(jià)值函數(shù),與生成器和判別器相關(guān);Pd(y)代表的是個(gè)人信息y的概率分布;D(y)代表的是將判定個(gè)人信息y屬于真實(shí)數(shù)據(jù)的概率;Px(x)為x對(duì)應(yīng)的概率分布。
2)循環(huán)一致性生成對(duì)抗網(wǎng)絡(luò)
與生成對(duì)抗網(wǎng)絡(luò)相比,循環(huán)一致性生成對(duì)抗網(wǎng)絡(luò)具有如下優(yōu)點(diǎn):
①生成對(duì)抗網(wǎng)絡(luò)不需要個(gè)人信息之間存在一對(duì)一的映射關(guān)系,可以完成目標(biāo)數(shù)據(jù)與輸入數(shù)據(jù)之間的自由轉(zhuǎn)換;
②訓(xùn)練過(guò)程中通過(guò)循環(huán)一致性損失函數(shù)得到強(qiáng)化。
該網(wǎng)絡(luò)由兩個(gè)生成對(duì)抗網(wǎng)絡(luò)組成,屬于環(huán)形網(wǎng)絡(luò)[9,10],在訓(xùn)練過(guò)程中共享生成器GX.Y、GY.X,并具有各自的判別器DX、DY。
將循環(huán)一致性損失約束條件引入數(shù)據(jù)轉(zhuǎn)換過(guò)程中,防止生成器GX.Y、GY.X將所有個(gè)人信息都轉(zhuǎn)換到相同區(qū)域內(nèi)。
由循環(huán)一致性損失和對(duì)抗損失構(gòu)成循環(huán)一致性生成網(wǎng)絡(luò)的目標(biāo)函數(shù):
1)生成對(duì)抗網(wǎng)絡(luò)1的目標(biāo)函數(shù)表示為l1(GX.Y,DY,x,y),生成對(duì)抗網(wǎng)絡(luò)2的目標(biāo)函數(shù)表示為l2(GX.Y,Dx,y,x)
(6)
2)在網(wǎng)絡(luò)訓(xùn)練過(guò)程中只通過(guò)單一的對(duì)抗損失無(wú)法保證輸入的個(gè)人信息x通過(guò)映射處理生成期望輸出y。為了提高訓(xùn)練效果,映射函數(shù)GX.Y(·)和GY.X(·)需要符合循環(huán)一致性條件。X域內(nèi)存在噪聲,Y域內(nèi)不存在噪聲,將X域中存在的個(gè)人信息轉(zhuǎn)換到Y(jié)域中,此時(shí)獲得信息x′,該過(guò)程可以表示為x→GX.Y(x)→GY.X[GX.Y(x)]→x′,在數(shù)據(jù)轉(zhuǎn)換過(guò)程中,避免將X域內(nèi)存在的個(gè)人信息全部轉(zhuǎn)換到Y(jié)域中,同理將Y域內(nèi)存在的個(gè)人信息轉(zhuǎn)換到X域內(nèi),獲得數(shù)據(jù)y′,即y→GY.X(y)→GX.Y(x)[GY.X(y)]→y′,根據(jù)上述過(guò)程獲得循環(huán)一致性損失
lc(GX.Y,GY.X)=Rx~Pd(x){‖GY.X[GX.Y(x)]-x‖1}
+Ry~Pd(y){‖GX.Y[GY.X(y)]-y‖1}
(7)
式中,‖·‖1描述的是L1范數(shù)。
由上述分析建立最終的損失函數(shù)la(GX.Y,GY.X,Dx,Dy)
la(GX.Y,GY.X,Dx,Dy)=l1(GX.Y,Dy,x,y)
+l2(GY.X,Dx,y,x)+μlc(GX.Y,GY.X)
(8)
式中,μ代表的是控制系數(shù)。
在損失函數(shù)la(GX.Y,GY.X,Dx,Dy)的基礎(chǔ)上,構(gòu)建循環(huán)一致性生成對(duì)抗網(wǎng)絡(luò)的目標(biāo)函數(shù):
minl1(GX.Y,Dy,x,y)+minl2(GY.X,Dx,y,x)+μlc(GX.Y,GY.X)
(9)
將降維后的個(gè)人信息輸入上述目標(biāo)函數(shù)中,完成數(shù)據(jù)的去噪處理。
在個(gè)人信息降維與去噪的基礎(chǔ)上,采用私有區(qū)塊鏈技術(shù)實(shí)現(xiàn)個(gè)人信息隱私保護(hù)。
通過(guò)隱私同態(tài)技術(shù)聚類處理經(jīng)上述過(guò)程預(yù)處理后的個(gè)人信息,隱私同態(tài)技術(shù)的優(yōu)點(diǎn)是可以直接利用中間節(jié)點(diǎn)對(duì)個(gè)人信息展開初步聚合處理,不需要提前對(duì)個(gè)人信息數(shù)據(jù)解密。當(dāng)中間聚合節(jié)點(diǎn)在網(wǎng)絡(luò)中被攻擊和侵入時(shí),這種技術(shù)可以降低個(gè)人信息泄露的概率,個(gè)人信息聚合過(guò)程如下:
1)初始化,設(shè)置網(wǎng)絡(luò)節(jié)點(diǎn),選取附近最近的節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn),始端節(jié)點(diǎn)F0將信息保護(hù)請(qǐng)求傳送到該節(jié)點(diǎn)中,目標(biāo)節(jié)點(diǎn)再將接收的信息保護(hù)請(qǐng)求傳輸?shù)骄W(wǎng)絡(luò)中的其它節(jié)點(diǎn)中;其次,節(jié)點(diǎn)F0向網(wǎng)絡(luò)中存在的節(jié)點(diǎn)傳送Hash函數(shù)中的參數(shù)α[11,12];最后節(jié)點(diǎn)F0將地址信息傳送到所有網(wǎng)絡(luò)節(jié)點(diǎn)中。
2)準(zhǔn)備階段,該階段的主要目的是采集并加密處理個(gè)人信息數(shù)據(jù)。各節(jié)點(diǎn)在網(wǎng)絡(luò)中接收到信息保護(hù)請(qǐng)求后,開始檢測(cè)各自的監(jiān)測(cè)區(qū)域,存儲(chǔ)和加密采集的個(gè)人信息數(shù)據(jù)Yi,通過(guò)下述公式對(duì)個(gè)人信息展開加密處理
Qi=Rnc(Yi)=Yi+IDi
(10)
式中,Qi代表的是加密后的個(gè)人信息;IDi代表的是節(jié)點(diǎn)閾值;Rnc描述的是加密函數(shù)。
設(shè)置Hash驗(yàn)證碼函數(shù)J(Yi)=αYi,F0利用該函數(shù)判斷數(shù)據(jù)的完整性,最后將通過(guò)驗(yàn)證的通態(tài)Hash消息驗(yàn)證碼(Qi,J(Yi))和子節(jié)點(diǎn)密文信息傳輸?shù)缴蠈泳酆瞎?jié)點(diǎn)中。
3)聚合階段,該階段的主要目的是聚合處理驗(yàn)證后的個(gè)人信息。設(shè)置端到端的加密處理機(jī)制,對(duì)接收的個(gè)人信息和節(jié)點(diǎn)IP展開加密聚合處理,上述過(guò)程所用的聚合函數(shù)QA的表達(dá)式為
(11)
上層聚合節(jié)點(diǎn)將多個(gè)消息驗(yàn)證碼聚合處理成一個(gè)消息驗(yàn)證碼,上述過(guò)程所用的聚合函數(shù)JA的表達(dá)式為
(12)
最后向上層節(jié)點(diǎn)傳送聚合結(jié)果(QA,JA),重復(fù)上述過(guò)程,完成個(gè)人信息的聚合處理。
4)驗(yàn)證階段,該階段的主要目的是驗(yàn)證個(gè)人信息的聚合結(jié)果,驗(yàn)證之前需要解密處理聚合的個(gè)人信息,解密所用的函數(shù)DY如下
(13)
式中,F()代表的是解密函數(shù)。
重新計(jì)算解密后的個(gè)人信息,并對(duì)其對(duì)應(yīng)的通態(tài)消息驗(yàn)證碼展開核對(duì)J(DY)=αDY,當(dāng)JA和J(DY)的值相同時(shí),表明個(gè)人信息安全,當(dāng)JA和J(DY)的值不相同時(shí),表明在上傳過(guò)程中個(gè)人信息被篡改,此時(shí)需要丟棄該個(gè)人信息。
采用私有區(qū)塊鏈技術(shù)[13,14]隱私保護(hù)聚合處理后的個(gè)人信息,用Hk表示公鑰,用Dk表示私鑰,兩者的表達(dá)式如下
(14)
式中,Secp256k1代表的是橢圓曲線算法[15];SHA256代表的是哈希算法。
每輪區(qū)塊的生成率vr在數(shù)據(jù)傳輸過(guò)程中直接對(duì)網(wǎng)絡(luò)的安全性產(chǎn)生影響,存在
(15)
式中,vr代表的是傳輸網(wǎng)絡(luò)中信息交換的傳播速率;tr代表的是每輪持續(xù)的時(shí)間;D代表的是在傳輸網(wǎng)絡(luò)中私有區(qū)塊的大小;A代表的是每輪區(qū)塊對(duì)應(yīng)的生成率。
每輪持續(xù)時(shí)間在網(wǎng)絡(luò)中會(huì)對(duì)區(qū)塊生成時(shí)間td產(chǎn)生影響,兩者之間成正比關(guān)系,滿足下式
(16)
用W表示每秒在網(wǎng)絡(luò)中上傳的交易數(shù)量,在上式的基礎(chǔ)上獲得下式
(17)
式中,d代表的是交易數(shù)據(jù)對(duì)應(yīng)的大小。
私有區(qū)塊鏈技術(shù)通過(guò)控制區(qū)塊安全性與每輪持續(xù)時(shí)間、區(qū)塊生成間隔、區(qū)塊大小、交易傳播速度之間存在的制約關(guān)系,在滿足制約關(guān)系的條件下實(shí)現(xiàn)個(gè)人信息的隱私保護(hù)。
為了驗(yàn)證所提算法的整體有效性,需要對(duì)其展開測(cè)試。
實(shí)驗(yàn)所用數(shù)據(jù)來(lái)自data.gov數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)中包含金融、教育、民意調(diào)查等多領(lǐng)域的數(shù)據(jù),涉及大量用戶信息數(shù)據(jù)。從該數(shù)據(jù)庫(kù)中抽取部分用戶個(gè)人信息數(shù)據(jù),進(jìn)行信息隱私保護(hù)測(cè)試。將文獻(xiàn)[3]算法和文獻(xiàn)[4]算法作為對(duì)比方法,與所提算法進(jìn)行多角度對(duì)比,以此驗(yàn)證所提算法的隱私保護(hù)效果。
1)RAM和ROM占用
采用所提算法、文獻(xiàn)[3]算法和文獻(xiàn)[4]算法對(duì)個(gè)人信息展開隱私保護(hù),對(duì)比上述方法加密后個(gè)人信息的RAM占用量和ROM占用量,測(cè)試結(jié)果如圖1所示。
圖1 不同算法的RAM占用量和ROM占用量
由圖1可知,經(jīng)對(duì)比發(fā)現(xiàn),文獻(xiàn)[3]算法和文獻(xiàn)[4]算法的RAM和ROM占用量較高,所提算法的占用量較小,因?yàn)樗岱椒ú捎盟接袇^(qū)塊鏈技術(shù)加密處理個(gè)人信息時(shí),可以通過(guò)少量的消息位改變大部分信息位,使得RAM和ROM占用量得到了降低。
2)加解密效率
將數(shù)據(jù)加解密時(shí)間作為指標(biāo),測(cè)試所提算法、文獻(xiàn)[3]算法和文獻(xiàn)[4]算法的加解密效率,測(cè)試結(jié)果如圖2所示。
圖2 不同算法的加解密時(shí)間
由圖2可知,所提算法的加解密時(shí)間均低于文獻(xiàn)[3]算法和文獻(xiàn)[4]算法的加解密時(shí)間,表明文獻(xiàn)[3]算法和文獻(xiàn)[4]算法的加解密過(guò)程計(jì)算量較大,穩(wěn)定性差。這是由于該算法通過(guò)隱私同態(tài)技術(shù)聚類處理個(gè)人信息,該技術(shù)可以直接利用中間節(jié)點(diǎn)對(duì)個(gè)人信息展開初步聚合處理,不需要提前對(duì)個(gè)人信息數(shù)據(jù)解密,最大程度地降低了加解密時(shí)間。
3)容錯(cuò)性
采用所提算法、文獻(xiàn)[3]算法和文獻(xiàn)[4]算法對(duì)1000個(gè)個(gè)人信息展開隱私保護(hù),在不同節(jié)點(diǎn)失效數(shù)量下測(cè)試上述算法的成功存證數(shù),成功存證數(shù)越高表明算法隱私保護(hù)的個(gè)人信息越多,容錯(cuò)性越好,不同算法的測(cè)試結(jié)果如表1所示。
由表1可知,文獻(xiàn)[3]算法和文獻(xiàn)[4]算法的成功存證數(shù)隨著節(jié)點(diǎn)失效數(shù)量的增加不斷減少,表明節(jié)點(diǎn)失效會(huì)影響以上兩種算法的隱私保護(hù)效果,算法的容錯(cuò)性較差。所提算法的成功存證數(shù)較高,因?yàn)樗崴惴ú捎盟接袇^(qū)塊鏈技術(shù)隱私保護(hù)個(gè)人信息時(shí),直接采用中間節(jié)點(diǎn)聚合處理個(gè)人信息。避免中間聚合節(jié)點(diǎn)出現(xiàn)異常狀態(tài)或被非法分子攻擊時(shí)個(gè)人信息被泄露,提高了成功存證數(shù),驗(yàn)證所提算法具有良好的容錯(cuò)性。
針對(duì)目前個(gè)人隱私保護(hù)算法存在ROM、RAM占用量高、加解密效率低和容錯(cuò)性差的問(wèn)題,提出基于私有區(qū)塊鏈的個(gè)人信息隱私保護(hù)算法,該算法首先對(duì)個(gè)人信息展開了降維和去噪處理,其次利用私有區(qū)塊鏈技術(shù)對(duì)個(gè)人信息展開隱私保護(hù),解決了目前算法中存在的問(wèn)題,提高了個(gè)人信息的安全性,為個(gè)人信息的存儲(chǔ)和傳輸提供了安全保障。