張玉立,張麥玲
(1. 商丘工學院,河南 商丘 476000;2. 河南大學計算機與信息工程學院,河南 開封 475001)
在網絡技術不斷發展的背景下個人信息數據的查詢和存儲越來越便利,但同時個人隱私數據泄露問題也逐漸成為人們關注的重點,在日常生活和工作中個人隱私數據的泄露對人們產生了嚴重的影響[1]。因此,個人隱私保護問題成為現階段研究的首要問題[2],研究個人信息隱私保護算法具有重要意義。
郝玉蓉[3]等人將數據分箱思想引入Generalized算法中,為了在小數據范圍內記錄數據,對個人信息數據做分箱處理,降低數據量變化造成的統計誤差,完成個人信息隱私保護,該算法加密后的數據ROM、RAM占用量過高。曾海燕[4]等人通過歐式距離計算個人信息的語義特征,根據語義特征構建個人信息類型集合,計算信息類型集合在整體個人信息中的比例,在計算結果的基礎上建立匿名集,實現個人信息的隱私保護,該算法加解密所用的時間較長,且成功存證數較低,存在加解密效率低和容錯性差的問題。為了解決上述方法中存在的問題,提出基于私有區塊鏈的個人信息隱私保護算法。
為了避免數據維數過高帶來的一系列問題,在核主成分分析方法[5,6]中引入核局部保持投影思想,對個人信息做降維處理,具體步驟如下:
1)用X=[x1,x2,…,xn]T∈Rn×m表示個人信息數據集,建立局部結構保持函數Kl(β)


(1)
式中,β代表的是個人信息樣本在特征空間中的線性表示;Γ(xi)和ΓT(xi)代表的是核函數;Z=F-D代表的是Laplacian矩陣,其中,F代表的是對角矩陣,D代表的是權重矩陣。
2)在Kl(β)的基礎上建立全局方差最大目標函數Kg(β)

(2)
3)結合Kl(β)和Kg(β)建立整體目標函數K(β)

(3)
式中,χC代表的是全局方差最大目標函數Kg(β)的權重參數;χL代表的是局部結構保持函數Kl(β)的權重參數。
4)利用函數Kg(β)計算個人信息前p個特征值μ1,μ2,…,μp,根據計算結果構建個人信息的特征向量S=[β1,β2,…,βn];
5)在低維正交特征子空間中通過下式對個人信息樣本集做投影處理
Y=LTS
(4)
式中,K代表的是核函數;Y表示降維處理后的個人信息。
將降維處理后的個人信息輸入至循環一致性生成對抗網絡中,對其展開去噪處理。
1)生成對抗網絡
生成對抗網絡由判別器和生成器構成,該網絡的基本思想是“零和博弈”[7,8]。判別器和生成器在網絡訓練過程中是“零和博弈”的主體,在模型優化和訓練的過程中實現納什平衡,獲得生成對抗網絡模型的最優參數,生成對抗網絡的目標函數如下
=Ry~Pd(y)[lgD(y)]+Rx~Px(x){lg[1-D(G(x))]}
(5)
式中,G代表的是生成器;D代表的是判別器;B(D,G)代表的是價值函數,與生成器和判別器相關;Pd(y)代表的是個人信息y的概率分布;D(y)代表的是將判定個人信息y屬于真實數據的概率;Px(x)為x對應的概率分布。
2)循環一致性生成對抗網絡
與生成對抗網絡相比,循環一致性生成對抗網絡具有如下優點:
①生成對抗網絡不需要個人信息之間存在一對一的映射關系,可以完成目標數據與輸入數據之間的自由轉換;
②訓練過程中通過循環一致性損失函數得到強化。
該網絡由兩個生成對抗網絡組成,屬于環形網絡[9,10],在訓練過程中共享生成器GX.Y、GY.X,并具有各自的判別器DX、DY。
將循環一致性損失約束條件引入數據轉換過程中,防止生成器GX.Y、GY.X將所有個人信息都轉換到相同區域內。
由循環一致性損失和對抗損失構成循環一致性生成網絡的目標函數:
1)生成對抗網絡1的目標函數表示為l1(GX.Y,DY,x,y),生成對抗網絡2的目標函數表示為l2(GX.Y,Dx,y,x)

(6)
2)在網絡訓練過程中只通過單一的對抗損失無法保證輸入的個人信息x通過映射處理生成期望輸出y。為了提高訓練效果,映射函數GX.Y(·)和GY.X(·)需要符合循環一致性條件。X域內存在噪聲,Y域內不存在噪聲,將X域中存在的個人信息轉換到Y域中,此時獲得信息x′,該過程可以表示為x→GX.Y(x)→GY.X[GX.Y(x)]→x′,在數據轉換過程中,避免將X域內存在的個人信息全部轉換到Y域中,同理將Y域內存在的個人信息轉換到X域內,獲得數據y′,即y→GY.X(y)→GX.Y(x)[GY.X(y)]→y′,根據上述過程獲得循環一致性損失
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范數。
由上述分析建立最終的損失函數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)
式中,μ代表的是控制系數。
在損失函數la(GX.Y,GY.X,Dx,Dy)的基礎上,構建循環一致性生成對抗網絡的目標函數:
minl1(GX.Y,Dy,x,y)+minl2(GY.X,Dx,y,x)+μlc(GX.Y,GY.X)
(9)
將降維后的個人信息輸入上述目標函數中,完成數據的去噪處理。
在個人信息降維與去噪的基礎上,采用私有區塊鏈技術實現個人信息隱私保護。
通過隱私同態技術聚類處理經上述過程預處理后的個人信息,隱私同態技術的優點是可以直接利用中間節點對個人信息展開初步聚合處理,不需要提前對個人信息數據解密。當中間聚合節點在網絡中被攻擊和侵入時,這種技術可以降低個人信息泄露的概率,個人信息聚合過程如下:
1)初始化,設置網絡節點,選取附近最近的節點作為目標節點,始端節點F0將信息保護請求傳送到該節點中,目標節點再將接收的信息保護請求傳輸到網絡中的其它節點中;其次,節點F0向網絡中存在的節點傳送Hash函數中的參數α[11,12];最后節點F0將地址信息傳送到所有網絡節點中。
2)準備階段,該階段的主要目的是采集并加密處理個人信息數據。各節點在網絡中接收到信息保護請求后,開始檢測各自的監測區域,存儲和加密采集的個人信息數據Yi,通過下述公式對個人信息展開加密處理
Qi=Rnc(Yi)=Yi+IDi
(10)
式中,Qi代表的是加密后的個人信息;IDi代表的是節點閾值;Rnc描述的是加密函數。
設置Hash驗證碼函數J(Yi)=αYi,F0利用該函數判斷數據的完整性,最后將通過驗證的通態Hash消息驗證碼(Qi,J(Yi))和子節點密文信息傳輸到上層聚合節點中。
3)聚合階段,該階段的主要目的是聚合處理驗證后的個人信息。設置端到端的加密處理機制,對接收的個人信息和節點IP展開加密聚合處理,上述過程所用的聚合函數QA的表達式為

(11)
上層聚合節點將多個消息驗證碼聚合處理成一個消息驗證碼,上述過程所用的聚合函數JA的表達式為

(12)
最后向上層節點傳送聚合結果(QA,JA),重復上述過程,完成個人信息的聚合處理。
4)驗證階段,該階段的主要目的是驗證個人信息的聚合結果,驗證之前需要解密處理聚合的個人信息,解密所用的函數DY如下

(13)
式中,F()代表的是解密函數。
重新計算解密后的個人信息,并對其對應的通態消息驗證碼展開核對J(DY)=αDY,當JA和J(DY)的值相同時,表明個人信息安全,當JA和J(DY)的值不相同時,表明在上傳過程中個人信息被篡改,此時需要丟棄該個人信息。
采用私有區塊鏈技術[13,14]隱私保護聚合處理后的個人信息,用Hk表示公鑰,用Dk表示私鑰,兩者的表達式如下

(14)
式中,Secp256k1代表的是橢圓曲線算法[15];SHA256代表的是哈希算法。
每輪區塊的生成率vr在數據傳輸過程中直接對網絡的安全性產生影響,存在

(15)
式中,vr代表的是傳輸網絡中信息交換的傳播速率;tr代表的是每輪持續的時間;D代表的是在傳輸網絡中私有區塊的大小;A代表的是每輪區塊對應的生成率。
每輪持續時間在網絡中會對區塊生成時間td產生影響,兩者之間成正比關系,滿足下式

(16)
用W表示每秒在網絡中上傳的交易數量,在上式的基礎上獲得下式

(17)
式中,d代表的是交易數據對應的大小。
私有區塊鏈技術通過控制區塊安全性與每輪持續時間、區塊生成間隔、區塊大小、交易傳播速度之間存在的制約關系,在滿足制約關系的條件下實現個人信息的隱私保護。
為了驗證所提算法的整體有效性,需要對其展開測試。
實驗所用數據來自data.gov數據庫,該數據庫中包含金融、教育、民意調查等多領域的數據,涉及大量用戶信息數據。從該數據庫中抽取部分用戶個人信息數據,進行信息隱私保護測試。將文獻[3]算法和文獻[4]算法作為對比方法,與所提算法進行多角度對比,以此驗證所提算法的隱私保護效果。
1)RAM和ROM占用
采用所提算法、文獻[3]算法和文獻[4]算法對個人信息展開隱私保護,對比上述方法加密后個人信息的RAM占用量和ROM占用量,測試結果如圖1所示。

圖1 不同算法的RAM占用量和ROM占用量
由圖1可知,經對比發現,文獻[3]算法和文獻[4]算法的RAM和ROM占用量較高,所提算法的占用量較小,因為所提方法采用私有區塊鏈技術加密處理個人信息時,可以通過少量的消息位改變大部分信息位,使得RAM和ROM占用量得到了降低。
2)加解密效率
將數據加解密時間作為指標,測試所提算法、文獻[3]算法和文獻[4]算法的加解密效率,測試結果如圖2所示。


圖2 不同算法的加解密時間
由圖2可知,所提算法的加解密時間均低于文獻[3]算法和文獻[4]算法的加解密時間,表明文獻[3]算法和文獻[4]算法的加解密過程計算量較大,穩定性差。這是由于該算法通過隱私同態技術聚類處理個人信息,該技術可以直接利用中間節點對個人信息展開初步聚合處理,不需要提前對個人信息數據解密,最大程度地降低了加解密時間。
3)容錯性
采用所提算法、文獻[3]算法和文獻[4]算法對1000個個人信息展開隱私保護,在不同節點失效數量下測試上述算法的成功存證數,成功存證數越高表明算法隱私保護的個人信息越多,容錯性越好,不同算法的測試結果如表1所示。
由表1可知,文獻[3]算法和文獻[4]算法的成功存證數隨著節點失效數量的增加不斷減少,表明節點失效會影響以上兩種算法的隱私保護效果,算法的容錯性較差。所提算法的成功存證數較高,因為所提算法采用私有區塊鏈技術隱私保護個人信息時,直接采用中間節點聚合處理個人信息。避免中間聚合節點出現異常狀態或被非法分子攻擊時個人信息被泄露,提高了成功存證數,驗證所提算法具有良好的容錯性。
針對目前個人隱私保護算法存在ROM、RAM占用量高、加解密效率低和容錯性差的問題,提出基于私有區塊鏈的個人信息隱私保護算法,該算法首先對個人信息展開了降維和去噪處理,其次利用私有區塊鏈技術對個人信息展開隱私保護,解決了目前算法中存在的問題,提高了個人信息的安全性,為個人信息的存儲和傳輸提供了安全保障。