姜春峰
(西北大學現代學院,西安 710130)
目前大數據迅速發展,對于提升新一代信息技術和服務業態具有重要作用。大數據需要分布式的體系結構,而分布式的數據挖掘離不開云存儲和虛擬化的支持[1]。分布式是指通過可擴展的體系架構,將海量數據分散到多個獨立的機器上,利用多臺存儲服務器分擔存儲負荷的計算技術。分布式大數據已經應用到多個行業和領域,然而在分布式大數據的存儲與傳輸過程中,數據極易受到惡意用戶的攻擊,導致數據出現泄露、丟失等現象,尤其是分布式隱私數據[2]。隱私保護是指對個人信息進行保護,防止被非法獲取、利用、傳播等,以確保個人信息的安全和私密性。數據加密是指將明文數據通過一定的方法和密鑰進行處理,轉換成特定的加密形式,從而達到保護數據機密性的目的。因此,對數據隱私保護加密控制具有重要意義。
文獻[3]提出了基于同態加密的DBSCAN聚類隱私保護方案。根據數據特點,考慮數據精度和計算開銷,選擇數據預處理策略,并依據用戶端與云服務器之間的協議,完成密文比較。該方法具有較低的時間開銷。文獻[4]提出了基于可搜索加密機制的數據庫加密方案。構建密態數據庫查詢框架,提出了滿足IND-CKA1安全的數據庫加密方案。建立可搜索加密方案中的安全索引,獲取密態數據庫安全索引結構,對數據庫中的數據進行加密。該方法具有一定的有效性。文獻[5]研究了基于差分隱私的醫療大數據隱私保護模型。在目前醫療大數據隱私保護技術的基礎上,闡述差分隱私保護技術的基本原理和研究方向,構建醫療大數據隱私保護模型,實現醫療大數據隱私保護。該模型具有一定的可行性。文獻[6]提出了基于大數據的區塊鏈數據隱私文本智能加密方法。依據文本加密需求,對區塊鏈文本進行預處理,將格柵化大數據加密作為目標,在大數據技術下建立多層級文本加密模型,實現區塊鏈數據文本加密。該方法具有較大的實際應用價值。文獻[7]提出了基于數據消冗技術的隱私大數據屬性加密方法。采用Bloom過濾技術,降維處理大數據,使用hash函數對消冗過程中誤判率進行計算,依據映射位數組,對最優擴列函數進行確定,優化ABE加密算法,完成云數據的安全共享訪問。該方法具有較高的實用性。但上述方法仍存在加密和控制效果較差的問題。
屬性分類指的是劃分分布式大數據屬性類型的過程,通過對分布式大數據屬性的分類,可以確定大數據的隱私保護等級,從而生成具有針對性的數據加密方案。為此,設計了基于屬性分類的分布式大數據隱私保護加密控制模型,挖掘分布式隱私數據,劃分分布式隱私數據屬性類型,利用Logistic混沌映射,生成數據隱私保護密鑰,加密處理隱私數據。采用屬性分類技術,控制隱私保護數據訪問進程,根據傳輸協議約束,實現分布式大數據隱私保護加密控制,以期能夠提高分布式大數據的存儲與傳輸安全。
設計的分布式大數據隱私保護加密控制模型,通過數據加密和訪問控制兩個步驟,實現保護大數據隱私的目的。在分布式大數據加密過程中,首先利用屬性分類算法,確定數據的隱私保護等級,從而選擇相應的加密強度和方式。在此基礎上,根據分布式隱私數據屬性的分類結果,設置用戶的訪問權限,實現數據的訪問控制。設計模型的輸入項為分布式大數據,輸出項為隱私數據的保護加密結果以及訪問控制指令,在模型運行過程中,設置屬性類型以及控制協議作為約束條件。
隱私數據主要包括個人生活安寧權、個人生活情報保密權、個人通信保密權等,以用戶在網絡環境中的通信信息為研究對象。挖掘的隱私數據以分布式結構進行存儲,分布式存儲結構由設備、虛擬、運營和業務4個層次組成。設備層為加密、防火墻等安全技術提供硬件支持。通過對大數據的分析,為用戶提供從終端到網絡的全方位的安全保障。虛擬層的作用是對移動終端進行虛擬化,以保證用戶的身份認證,虛擬化應用程序的安全性,以及對移動終端的日志進行審核。操作層可以利用虛擬層的功能,來管理虛擬裝置,并進行虛擬服務的配置,從而達到對用戶和訪問的控制。而運營層提供了基于運營層次的各類存儲和計算等云計算服務。并承擔數據加密,文件加密,病毒檢測,用戶身份驗證,訪問控制等功能。隱私大數據分布式存儲結構如圖1所示。

圖1 隱私大數據分布式存儲結構圖
以挖掘的隱私大數據為處理對象,首先需要對初始隱私數據進行歸一化處理,處理結果如下:
(1)
其中:x0為初始挖掘的隱私數據,μ和σ對應的是隱私數據集的均值和方差。在此基礎上,對隱私數據進行分片處理。每一個分區都由至少一個服務器組成,利用內部包含的輔助節點實現異步主從式拷貝機制。其中,主節點以讀為主,子節點以寫為主。在這兩種類型的節點之間,利用操作日志來確保數據的一致性。在這兩種類型的節點之間,會將所有的操作數據和時間戳都寫到操作日志中,而所有的副節點都會對操作日志進行監視,以便與主節點進行同步。當任意一個集群服務器發生故障時,分布式結構中的隱私大數據就會自動變成只讀狀態,這樣可以有效地避免存儲結構在不穩定時,由于誤操作而造成初始數據信息被更改,也可以避免在配置服務器節點之間出現數據不一致。當某個配置服務器出現故障時,并不會影響到整體存儲結構的運行,并可保證挖掘的數據能夠成功寫入到分布式存儲結構中。
根據分布式隱私數據特征,判斷數據的屬性類型。屬性分類技術的基本運行流程如圖2所示。

圖2 屬性分類技術流程圖
從圖2中可以看出,屬性分類可以分為5個環節,首先利用公式(2)計算屬性的敏感系數。
(2)
其中:ηchange和ηUncertainties分別表示的是隱私數據變化率及其內部不確定因素變化率[5]。根據公式(2)的計算結果,確定當前數據屬性是否為敏感屬性,若判定數據屬性為敏感屬性,則可以直接輸出分類結果,否則需要提取數據信息熵、信息增益、最大信息系數等特征向量,其中,信息熵和信息增益特征的提取結果如下:
(3)
其中:nconceal為挖掘的隱私數據量,Pi為信息屬于任意屬性的概率,W(X)和W(X∣S)分別對應的是隱私數據樣本集合量以及存在S屬性的樣本集合量[6]。同理可以得出隱私數據中其他特征的提取結果。屬性對于分類的重要性,可以根據信息增益值來排序,各個屬性權重的計算公式:
ωi=eτgain(i)
(4)
將公式(3)計算得出的信息增益特征提取結果代入到公式(4)中,即可得出屬性權重的計算結果。根據各個屬性權重的計算結果,對提取的隱私數據特征進行融合處理,處理過程如下:
τ=∑ωi·τi
(5)
式中,τi為提取的特征分量。在此基礎上,利用公式(6)計算隱私數據特征與標準屬性類型特征之間的相關性系數:
(6)
其中:τstandard為設置的數據屬性標準特征,τ為提取的隱私數據融合特征,可通過公式(5)計算得出。若公式(6)的計算結果高于閾值λ0,則將對應隱私數據與τstandard對應類型劃分成一類,否則需要更換標準屬性類型特征,并重新計算相關性系數,直至得出滿足閾值條件的屬性類型為止[7]。按照上述流程,對挖掘的所有分布式隱私數據進行屬性分類,完成分布式隱私數據屬性類型的劃分工作。
分布式數據隱私保護密鑰由公鑰和私鑰兩部分組成,利用Logistic混沌映射[8-10]迭代產生的二值序列經過ySign()閾值函數轉換為二進制序列,輸出結果即為數據的隱私保護公鑰,其中ySign()閾值函數表達式如下:
(7)
其中:xn為待加密的分布式隱私數據。那么生成的隱私保護公鑰可以量化表示為:
(8)
其中:n為加密數據編號,那么在已知加密數據的情況下,利用公鑰生成對應私鑰,即:
kpri=mxnβnmodn2
(9)
式中,β為隨機數。將生成的數據隱私保護公鑰分配給多個通過身份認證的用戶,而私鑰主要通過定點傳輸的方式分配給指定用戶[11]。
以挖掘的分布式隱私大數據為處理對象,考慮隱私數據屬性的分類結果,通過匿名化、混沌映射以及同態加密等步驟,實現對隱私數據的加密處理,進而實現對隱私數據的保護。
1.4.1 隱私數據匿名化
匿名算法的主要工作是遍歷由屬性泛化層構成的泛化格,按照預定義的屬性泛化層次以及節點中各屬性所選擇的泛化層次等級,對其進行遍歷,并檢驗每個節點是否符合對應的匿名原則,再以當前節點的匿名狀態為依據,對整個搜索空間上進行修剪,在優化設計的加密控制模型中,使用k-匿名原則對節點進行驗證[12]。在隱私數據匿名化處理過程中,首先需要對隱私數據進行泛化切片處理,處理結果如下:
f(x):{c}→s
(10)
其中:f(x)為隱私數據x對應的泛化切片結果,c表示屬性分類樹中擁有相同父節點的泛化樹兄弟節點的最大集合,s為隱私數據對應的屬性值。對泛化后的數據記錄進行處理,看當前泛化的記錄是否符合匿名化閾值,若符合則該泛化切片為可行的泛化結果。當匿名化閾值不符合時,那么這個泛化就不能被采用[13]。針對通過匿名驗證的隱私數據節點,執行匿名化轉換操作。匿名化轉換操作包括3個部分,路徑尋找算法負責建立一條由未被標記的節點構成的路徑,路徑審核算法負責審查建立路徑上的節點是否滿足匿名原則,從而找到一個符合條件的最優解決方案,最后一部分是算法整體的外部循環,負責遍歷整個泛化格結構,找出既符合相對匿名原則,又信息損失較小的節點[14]。第0個泛化等級開始遍歷表格中的所有泛化層次,并對各個層級的節點進行列舉,若節點未被標注,就對其進行路徑搜索,將其添加到該路徑中,然后進行下一步的檢查;在對發現的路徑執行完畢路徑檢查算法后,對于檢查路徑中不滿足k-匿名的節點,從底層節點出發,依次對后繼節點進行處理,為未標記的后繼節點建立新的路徑,并對新的路徑進行檢查。最終得出的隱私數據匿名化處理結果如下:
xanonymous=κintensity·Aanonymous·f(x)
(11)
其中:κintensity為匿名強度,Aanonymous為匿名轉換矩陣。重復上述操作,得出分布式隱私大數據的匿名化處理結果。
1.4.2 混沌映射
混沌映射是分布式隱私數據的一種加密處理方式,利用Logistic混沌映射原理,得出的分布式隱私數據的處理結果為:
xchaos=xi(α-δxi)
(12)
式中,α為分布式隱私數據的增加率,δ為考慮外界因素的映射關系飽和度[15]。將挖掘的分布式隱私數據代入公式(12)中,即可得出混沌映射處理結果。
1.4.3 同態加密
同態加密將分布式隱私數據從可讀模式轉換成編碼模式,經過同態加密的隱私數據智能在解密后進行讀取或處理。數據的同態加密原理如圖3所示。

圖3 分布式隱私數據同態加密原理圖
按照圖3表示加密原理,利用生成的數據隱私保護密鑰執行隱私數據的加密操作。在開始加密之前,首先對數據進行分解處理,首先確定其上的所有極值點,用3次樣條曲線連接所有極大值點形成下包絡線,將其標記為b1,則隱私數據的一級分解結果為:
xresolve(1)=x-b1
(13)
重復上述步驟,直到滿足同態加密操作對數據的分解精度條件。在此基礎上,利用生成的密鑰通過正向或反向得出隱私數據的加密結果,可以量化表示為:
(14)
其中:κencryption為隱私數據的加密強度,k(xn)為隱私數據密鑰,融合了公鑰和私鑰兩個部分,xn-1和xn+1為隱私保護數據的前后兩個相鄰數據[16]。在實際的隱私數據同態加密過程中,根據數據屬性的分類結果確定參數κencryption的具體取值。由此完成分布式數據的隱私保護加密處理。
分布式大數據隱私保護架構涉及主體包括隱私數據主體、服務運營商以及數據訪問用戶3種角色,其中隱私數據主體也就是分布式大數據的產生終端,該角色能夠生成隱私保護數據,服務運營商能夠為隱私數據的保護提供技術支持,實現訪問用戶的隱私保護[17]。而數據訪問用戶也就是申請訪問、查詢、調用隱私數據的用戶終端,可通過對用戶身份的驗證,對數據訪問用戶賦予相應的訪問權限。在分布式大數據環境下,考慮隱私保護數據屬性的分類結果,根據用戶角色類型對其訪問權限進行初始化,按照上述加密方式生成公鑰和私鑰。在訪問過程中,用戶向分布式大數據端發送訪問申請,通過身份認證的用戶可以直接獲得公鑰,而滿足隱私數據訪問屬性類型條件的用戶能夠獲得私鑰,用戶利用公鑰和私鑰直接實現對隱私數據的訪問[18-20]。在用戶訪問過程中,若檢測出異常操作,則執行屬性訪問撤銷操作,定義用戶訪問行為標識符為Iui,則屬性訪問撤銷指令可以表示為:
c=
(15)
其中:h為用戶訪問過程中產生的標識符數量,k(ui)代表的是用戶在執行第i個訪問環節使用的密鑰,s為屬性分類結果[21-22]。在已知當前訪問操作信息的情況下,可以推算出初始操作信息,從而恢復出Iu0,分布式大數據管理終端利用恢復的Iu0更新密鑰和用戶隱私保護數據的加密,而撤銷屬性權限的用戶因無法獲取新密鑰不能繼續訪問接下來的信息,從而在功能上實現對該用戶訪問權限的撤銷。
上述分布式大數據隱私保護加密控制模型的運行需要加密策略安全傳輸協議作為約束條件,具體的協議運行時序如圖4所示。

圖4 隱私保護加密傳輸協議運行時序圖
在圖4表示協議的約束下,合法用戶可以在分布式大數據環境中進行隱私數據的緩存,同一用戶無需重復執行身份驗證程序,當用戶退出系統終止緩存程序[23]。在傳輸協議的約束下,對實時產生的隱私數據進行加密與訪問控制,實現模型的隱私保護功能。
為了驗證設計的基于屬性分類的分布式大數據隱私保護加密控制模型的有效性,進行模型驗證實驗分析。此次實驗分為3個部分,分別為加密效果測試、控制效果測試以及隱私保護效果測試。其中,加密效果測試原理是驗證密文與明文之間的相似度,相似度越高證明加密效果越差,無法達到隱私隱藏與保護效果。控制效果測試的目的是驗證模型是否能夠實現對非法用戶、無授權用戶的訪問攔截,從而獲取用戶訪問控制的細粒度,而隱私保護效果測試則是在有、無攻擊環境下,對存儲的分布式隱私大數據的泄露風險以及信息損失進行度量,最終通過與基于同態加密的數據隱私保護加密控制模型(文獻[3]方法)和基于可搜索加密機制的數據隱私保護加密控制(文獻[4]方法)進行對比,驗證設計模型的效果。
為了實現基于屬性分類的分布式大數據隱私保護加密控制模型的開發,并為模型的運行提供硬件支持,需要對其運行環境進行配置。需要配置的硬件設備包括主測計算機、應用服務器和數據服務器。主測計算機設備選擇Y9000P2022型號計算機,以異步雙核設計方式配置CPU元件,內部集成兩個Scorpion核心,工作頻率最高達到2.33 GHz,計算機中內置的RAM和ROM分別為800 MB和2 GB[24]。應用服務器采用HP微機服務器,內存為4 GB,硬盤存儲空間為300 GB,應用服務器為分布式大數據的處理提供支持。而數據庫存儲器用來存儲分布式隱私大數據,數據庫系統采用Oracle9i。從軟件分布來看,分布式大數據隱私保護加密控制模型均在Windows7的64位操作系統下運行,編程語言為MATLAB。
選擇UCI機器學習數據庫中的Adult數據集作為實驗數據來源,數據庫中的數據內容包括:姓名、性別、年齡、教育程度、家庭住址、職業、婚姻狀況等,初始準備的隱私保護數據共58 450條,輸入到模型中的數據量為45.6 GB。
為了模擬分布式大數據的實際運行環境,模擬對分布式隱私數據的明文攻擊過程,并編寫相應的攻擊程序。在已知隱私數據中部分明文或密文的情況下,反向推導出分布式隱私數據的加密方式,由此生成相應密鑰,用戶破解隱私數據。實驗中編寫的攻擊程序為動態程序,即可以根據加密隱私數據的狀態調整攻擊方式與參數,但攻擊程序只能同時對一個數據節點發起攻擊[25]。按照上述原理,針對分布式存儲的隱私數據,利用thalheim編碼工具,實現分布式大數據隱私攻擊程序的編寫。在編寫的攻擊程序的首尾兩端添加強制控制指令,最大程度地保證攻擊程序運行狀態的可控性。
在配置的加密模型運行環境中,利用相應的編程語言實現設計的基于屬性分類的分布式大數據隱私保護加密控制模型的開發。將準備的隱私保護數據樣本導入其中,在不運行攻擊程序的前提下,完成對數據樣本的加密,加密結果如圖5所示。

圖5 分布式大數據隱私保護加密結果
在此基礎上,生成多個模擬用戶節點,并設置用戶身份與角色,分配用戶權限,模擬用戶的訪問過程,在模型作用下得出分布式隱私保護加密數據的訪問控制結果,如圖6所示。

圖6 分布式隱私保護加密數據訪問控制界面
由此完成基于屬性分類的分布式大數據隱私保護加密控制模型的開發與運行任務。根據分布式隱私數據的動態變化情況,對加密結果以及訪問控制指令進行實時更新。經過一段時間周期后,啟動編寫的明文攻擊程序,獲取攻擊工況下隱私數據的變化情況,以此作為測試結果數據。為了驗證設計模型在性能與效果方面的優勢,選擇對比模型,在相同的開發環境下對同一批隱私數據進行加密與控制處理。
從加密性能、控制性能、隱私保護效果3個方面設置模型的量化測試指標,將明文/密文相似度作為模型加密性能的量化測試指標,其數值結果如下:
(16)
其中:Xmw和Xciphertext分別表示的是隱私數據的明文和密文。模型訪問性能的測試指標設置為訪問撤銷控制準確率,該指標的測試結果為:
(17)
式中,Ncancel和Nabnormal分別為訪問撤銷的用戶數量以及設置的異常用戶數量。另外模型隱私保護效果的測試指標為隱私泄露風險指數和隱私數據損失量,其中隱私泄露風險指數的測試結果如下:

(18)
其中:φloss為隱私數據的損失量,Nmw表示隱私數據明文總量,而指標隱私數據損失量的數值結果為:
φloss=Nmw-Njm
(19)
式中,Njm為解密后的隱私數據,將公式(19)的計算結果代入到公式(18)中,即可得出隱私泄露風險指數的測試結果。最終計算得出明文/密文相似度μ越低,說明模型加密性能越好,訪問撤銷控制準確率ηvisit越高,證明模型控制性能越好,隱私泄露風險指數?越低、損失數據量φloss越少,說明模型的隱私保護效果越好。
2.6.1 加密性能測試
收集初始隱私明文數據以及不同模型下輸出的加密結果,將相關數據代入到公式(16)中,得出模型加密性能的測試對比結果,如圖7所示。

圖7 分布式大數據隱私保護加密性能測試對比曲線
從圖7中可以直觀地看出,與兩種對比模型相比,設計模型輸出的加密密文與初始明文之間的相似度更低,由此說明設計模型的加密性能較好。
2.6.2 控制性能測試
統計訪問分布式隱私數據的用戶數量,通過對異常數據的設置,確定變量Nabnormal的具體取值,在模型作用下實時監測用戶的訪問進程數據,得出反映模型控制性能的測試結果,如表1所示。

表1 隱私保護加密控制模型控制性能測試數據表
將表1中的數據代入到公式(17)中得出,兩種對比模型的平均訪問撤銷控制準確率分別為87.7%和94.3%,而在設計模型的訪問撤銷控制準確率的平均值為98.9%。由此可知,設計模型的控制性能較好。
2.6.3 隱私保護效果測試
在有、無攻擊條件下,對隱私數據明文與解密結果進行統計,得出隱私數據損失量指標的測試結果,如表2所示。

表2 隱私數據損失量測試數據表
將表2中的數據代入到公式(19)中計算得出,在無攻擊工況下,3個模型的平均隱私數據損失量分別為0.52 GB、0.16 GB和0.04 GB,而在有攻擊工況下,3個模型隱私數據損失量的平均值分別為1.18 GB、0.78 GB和0.18 GB。由此可以看出,在有、無攻擊工況下,設計模型的隱私數據損失量均較少,設計模型的隱私保護性能較好。另外通過公式(18)的計算,得出不同模型下隱私泄露風險的測試對比結果,如圖8所示。

圖8 不同模型作用下隱私泄露風險測試對比結果
從圖8中可以看出,在設計模型作用下,隱私數據的泄露風險更低,綜合隱私數據損失量的測試結果,表明設計模型在隱私保護效果方面具有明顯優勢,能夠有效提高分布式大數據的存儲和傳輸安全性。
針對用戶數據的隱私保護問題,設計了基于屬性分類的分布式大數據隱私保護加密控制模型。該模型應用屬性分類技術,確定加密等級與強度,實現對分布式大數據隱私保護的最大化。實驗結果表明,設計模型在加密、控制以及隱私保護方面具有明顯優勢,能夠有效提高分布式大數據的存儲和傳輸安全性。