俞藝涵,付鈺,吳曉平
(海軍工程大學信息安全系,湖北 武漢 430033)
當前,移動互聯網、大數據計算平臺等信息產業的飛速發展給人們生活帶來了極大便利,眾多服務型互聯網產業應運而生。這些產業在為用戶提供服務的同時,海量的數據信息在期間流轉。以網絡約車平臺為例,用戶的個人信息、行程信息、司機信息、車輛信息等數據在用戶、平臺和司機之間不斷交互,交互的過程中數據往往以滿足服務為首要目的進行呈現,而數據安全常常被忽略。而在海量數據信息流轉間又往往蘊含著巨大的信息價值,其中不缺乏涉及與隱私相關的數據信息[1],即使僅僅是網絡約車平臺上的一則簡單評論都可能造成用戶個人隱私的泄露,如何保證這類數據中隱私信息的安全是一個亟需解決的現實問題。
多年來,國內外眾多學者已經就如何保護隱私數據做了大量的研究,在基于數據擾亂、數據匿名等策略下,提出了一些卓有成效的隱私保護模型和方法,例如 k-anonymity模型[2]、l-diversity模型[3]以及差分隱私保護技術[4-5]。這些隱私保護技術的提出與發展為隱私數據安全打下了堅實的基礎,但在實際應用中仍受到隱私數據類型多、隱私應用場景復雜等問題的制約,其中,隱私數據的識別困難問題尤為突出。由于隱私是一個十分抽象的概念,在不同隱私場景與不同隱私主體的情況下,隱私的范疇存在極大差異,很難形成一套通用的隱私界定標準,這給隱私數據的識別造成了巨大的困難[6]。而當前,隱私信息的載體往往是海量流轉在網絡間的數據流,如若不能成功地在大數據環境中遴選出需要實施隱私保護的數據,而將隱私保護技術無差別地實施在整個網絡數據流中將造成時間和空間2個維度上的巨大開銷。對數據進行科學高效的隱私度量與分級是解決隱私識別困難問題的必要前提。
當前,國內外針對數據隱私度量問題已經有了許多卓有成效的研究成果。Li等[7]利用k-匿名模型提出一種基于計算敏感屬性分布值的隱私度量方法,通過計算數據中敏感屬性值的全局分布以及同一敏感屬性在各個等價類中分布的差異程度來度量隱私泄露風險;Gkountouna等[8]同樣基于匿名理論,構建攻擊者背景知識與匿名數據的二叉樹圖,通過貝葉斯理論推理構建出預測二叉樹圖,將其與隱私信息比較來度量隱私泄露的風險;Clau?等[9]利用信息熵描述數據集中隱私信息的不確定度,在此基礎上,Peng等[10]用通信模型描述隱私保護的過程,用信息熵度量通信信宿中帶有的信息量以此度量隱私泄露的風險,并利用條件熵對擁有背景知識攻擊者的攻擊進行隱私度量,構建了對應的隱私保護信息熵模型;在差分隱私保護中,則通常以差分隱私預算ε直觀地度量隱私保護效果[11-12]。可以發現,當前國內外學者針對隱私度量問題的研究主要集中在對經隱私保護后的數據進行隱私泄露風險的度量上,而針對原始數據集自身原有隱私信息量的度量方法研究成果較少。
由于缺乏通用的隱私界定標準[13],要對某條數據在隱私層面進行“是”與“否”的判定十分困難,一種可行的方法是通過制定某種度量與分級規則來代替隱私界定標準,將評估理論應用到隱私度量與分級中,即將對單條數據的隱私度量與分級問題轉化為對數據集隱私狀況的評估問題,通過選取需度量的隱私要素作為評估的指標,基于相關評估手段,以數據集總體隱私狀況為標準對數據集中的單條數據進行隱私度量與分級。這樣做在繞過了隱私界定標準不明確這一“壁壘”的同時,基于數據集對單條記錄進行隱私度量與分級更能反映出某條記錄在即時情況下的隱私重要程度,更能為隱私保護技術與策略的實施提供依據。但仍將面臨以下2個關鍵問題:1) 由于隱私概念的寬泛性所帶來的隱私度量要素種類多且復雜而引起的效率性問題;2) 由于隱私應用場景多樣性以及隱私擁有者主觀因素不確定性所造成的隱私度量要素定權困難問題。
基于此,本文在3個隱私維度下建立2層隱私度量要素的基礎上,提出了一種無需事先設定隱私度量要素權重的隱私數據度量與分級模型。該模型通過 3個隱私維度下 2層隱私要素的設置,借助Shannon信息熵對二級隱私要素進行合理定權,并由此計算出一級隱私要素下的數據隱私量,實現對隱私要素的降維,隨后借助BP(back propagation)神經網絡實現隱私數據的分級。
信息熵[14](information entropy)這個詞是信息論之父香農(C.E.Shannon)從熱力學中借用過來的,熱力學中的熱熵是表示分子狀態混亂程度的物理量,香農則用信息熵的概念來描述信源的不確定度。
假設某系統X存在n種狀態,記為表示狀態xi在系統X中出現的概率,則系統X的Shannon信息熵H(x)定義為[15]

Shannon信息熵理論認為,通過信息熵對信息的無序程度進行度量,信息的信息熵越大,表示信息的無序程度越高,其帶有的信息量就越少;信息熵越小,信息的無序程度越低,其帶有的信息量就越大。
BP神經網絡是一種按誤差反向傳播訓練的多層前饋網絡,其算法稱為 BP算法,該算法的基本思想是梯度下降法,利用梯度搜索技術,以期使網絡的實際輸出值和期望輸出值的誤差均方差為最小[16]。
BP神經網絡是一種多層網絡,分為輸入層、隱含層和輸出層3個層次。各神經元與下一層的神經元采取全連接,同層神經元之間相互無連接。一個包含4個輸入層神經元、5個隱含層神經元及3個輸出層神經元的BP神經網絡具體結構如圖1所示。

圖1 BP神經網絡結構
BP神經網絡最大的優勢在于其能夠學習和存儲大量的輸入輸出關系,并且不用在事先揭示這種數學關系,包括信號的前向傳播和誤差的反向傳播 2個過程。正向傳播時,輸入信號通過隱含層作用于輸出節點,經過非線性變換,產生輸出信號,若實際輸出與期望輸出不相符,則轉入誤差的反向傳播過程。誤差反傳是將輸出誤差通過隱含層向輸入層逐層反傳,并將誤差分攤給各層所有單元,以從各層獲得的誤差信號作為調整各單元權值的依據。
網絡流量中的每一條記錄都或多或少涉及隱私信息。而這些信息在隱私層面并沒有明確的界定。一方面,相同一條記錄中所蘊含的信息對于不同的用戶來說,其帶有的隱私量存在巨大差異;另一方面,以不同目的進行數據挖掘的隱私信息收集者來說,一條數據是否存在隱私價值也不盡相同。同時,各條記錄中蘊含信息之間的關聯性、信息的時效性、應用場景的多樣性以及隱私擁有者對于隱私概念的主觀性都是影響量化數據隱私的關鍵因素。若將以上所提因素全都考慮到數據隱私量中來,隱私度量要素的定權將十分困難,同時度量過程也是多維且復雜的,而針對特定需求進行度量的結果也不具有通用性。而本文的目的就是提出一種通用的數據隱私度量與分級模型,旨在事先不進行預設隱私度量要素權值的前提下,以較低計算開銷實現對數據隱私量的合理度量與分級。
由此,本文提出了一種基于IE-BPNN(information entropy-BP neural network)的隱私度量與分級模型,其基本框架分為隱私數據規則化、隱私要素度量與定權以及隱私分級3大模塊。其基本思路是將網絡流量中的數據以單位時間窗分割成各條記錄,解析記錄中所蘊含的隱私要素,并將其規則化表示;隨后,通過計算不同記錄之間相同二級隱私要素的信息熵確定其權重并依此計算各條記錄在一級隱私要素下的隱私量,在對數據進行初步度量的同時,實現了對隱私要素的降維;最后由訓練好的隱私分級 BP神經網絡得出各記錄的最終隱私級別。
隱私的概念十分寬泛,要對數據隱私實現準確度量與分級需涉及眾多隱私要素,而過多的隱私要素將給隱私度量與分級的效率性提出挑戰。根據相關文獻[13,17]對于不同隱私個體對數據隱私不同方面敏感度的分析,本文從隱私內容(P1)、隱私狀態(P2)、隱私詳情(P3)等3個維度選取以下具有代表性的要素作為隱私度量與分級的指標。具體如表1所示。
其中,在隱私詳情(P3)維度下,本文假設隱私度量與分級是針對用戶位置軌跡進行的,由此選取了二級要素時刻和時間、坐標與地區分別對應一級要素精確信息與模糊信息。二級要素的選擇可根據實際所需進行更替。記進行度量的數據集為D,以單位時間窗將D分割成n條隱私記錄,記為以隱私內容(P1)、隱私狀態(P2)、隱私詳情(P3)3個維度解析各條記錄,得到以為一級要素的二級要素值,記為表示記錄d在一級
i要素La下規則化后的記錄值,a= 1 ,2,… ,8 ,b為La所對應的二級要素的維度,其中

舉例來說,假設某條記錄d在隱私內容(P1)中,存在一級要素人口統計學信息(L1)中除包含姓名(l12)、年齡(l12)外沒有其他二級要素的信息,則得到規則化表示后的記錄值

表1 隱私度量要素
本文對n條記錄在3個度量維度上的各個一級要素分別建立信息熵度量矩陣,假設某個一級要素La包含b個二級要素,其對于n條記錄的度量結果通過建立n×b大小的二級要素信息熵度量矩陣來計算實現,具體步驟如下。
步驟 1由n條記錄經規則化后對應該一級要素La的b個二級要素記錄值建立二級要素信息熵度量矩陣BLa

矩陣中的bij是經規范化后第i個記錄中對應第j個二級要素的記錄值,取值為0或1。
步驟2對矩陣BLa中的元素進行變換,如式(3)所示。

得到矩陣

步驟 3根據信息熵式(1)對各個二級要素j計算其信息熵

步驟4二級要素lj權重計算

步驟5得到一級要素La對單條記錄di的度量值

Ldia的值越大,代表記錄di中以一級要素La為度量標準的隱私量越大。
步驟6重復步驟1~步驟5,在該度量維度下求解單條記錄di在各個一級要素下的隱私度量值,生成di在該維度的隱私度量值向量:Fo(di)=
步驟7重復以上步驟,得到單條記錄di在3個度量維度下的隱私度量值向量

本文建立在BP神經網絡下得到隱私數據的最終分級結果。設計神經網絡層數為3層,輸入層節點數設置為b,使之與一級要素數量對應,分別對應b個一級要素的隱私度量值;輸出層節點數為3,將度量為最高隱私等級的輸出定為(1,1,1),度量為最低隱私等級的輸出定為(0,0,0),以此類推將輸出向量分別對應8個隱私等級;以singmoid型正切函數tansig和singmoid型對數函數logsig分別作為隱含層和輸出層的傳遞函數。
在每輪BP神經網絡訓練中,隨機抽取訓練數據集中10%的記錄,以3.2節中基于信息熵的隱私要素度量方法得到訓練數據的隱私要素度量向量值,將其歸一化后組成該輪訓練樣本。具體訓練過程如圖2所示。
基于 IE-BPDN的隱私度量與分級模型的具體實現過程如圖3所示。

圖2 BP神經網絡分級模塊訓練

圖3 模型實現
模型的隱私度量結果輸出由3個方面組成:1) 由隱私要素度量模塊所得到的隱私度量值向量集合經篩選計算和直接存儲生成的度量值集合,本文采用篩選計算的方法是通過主成分分析法篩選出在3個隱私度量維度下主要反映記錄隱私狀況的一級要素,將其度量值相加得到記錄在3個維度下的度量值,將其與隱私度量值向量一并存儲作為輸出;2) 由BP神經網絡分級模塊所得出的記錄隱私度量等級;3) 記錄在數據集中的隱私度排序。具體排序規則以記錄度量等級為先,當度量等級相同時,依次比較3個維度下的隱私度量值大小,在2個或以上維度下度量值大的記錄排序靠前。
模型的先進性主要表現為以下幾個方面。
1) 隱私度量與分級要素的多維度。以本文所提隱私度量與分級要素為例,其包含3個層面的8個一級要素和 30個二級要素。度量與分級要素的多維度使隱私數據在規則化的過程中,能夠盡可能多地從不同方面將數據所蘊含信息的隱私量呈現出來,使隱私度量與分級的依據更為全面與合理。
2) 層次化的隱私量計算與呈現。以二級隱私要素下的隱私量計算一級隱私要素下的隱私量,即以二級隱私要素權重Wlj計算一級隱私要素下的隱私量Ldia,以此作為神經網絡的輸入向量并呈現在模型最終的輸出結果中,令隱私量向量的維度由二級隱私度量要素維度數b,降低至一級隱私度量要素維度a(以本文所提隱私度量與分級要素為例,維度數30→8),為高效可行的神經網絡隱私分級打下基礎的同時使輸出結果更能反映出數據的隱私屬性。
3) 度量與分級權值參數的零輸入。不同的隱私要素在隱私度量與分級中的重要程度本就不相同,加之隱私應用場景的多樣性與主觀因素的差異性,使得很難預設隱私度量與分級中不同隱私要素的權重值。模型利用信息熵對二級隱私要素在數據級隱私度量與分級中重要程度的刻畫,以及BP神經網絡能在不揭示輸入與輸出之間數學關系的情況下進行學習和存儲的能力,在權值參數零輸入的情況下,實現了對數據高效合理的隱私度量與分級。
4) 度量并描述了單條記錄在數據集中的隱私重要程度。在一些情況下,拋開數據集對某條記錄進行單一的隱私度量并不能達到進行隱私度量的目的。模型在利用信息熵對二級隱私要素定權的過程中,已經在隱私層面刻畫了單條記錄蘊含的隱私信息相對于整個數據集蘊含的隱私信息的重要程度,并最終在模型輸出中結合分級結果進行了呈現。記錄的隱私等級最為直觀地反映了模型對記錄的隱私度量結果;記錄在3個層面的度量值則體現了記錄的隱私屬性,即該條記錄所帶有隱私信息的具體形態趨勢;記錄的隱私度排名則直觀地體現了該條記錄在數據集中隱私量的貢獻程度,即記錄相對于數據集在隱私層面的重要程度。即通過基于IE-BPDN的隱私度量與分級模型,隱私保護人員可以直觀地得到隱私數據的以下信息:
① 數據集中的某一條記錄的隱私度量等級;
② 數據集的總體隱私度量信息;
③ 數據集中的某條記錄相對整個數據集在隱私層面的重要程度;
④ 某2條記錄的隱私重要程度比較;
⑤ 數據集中的某條記錄在各維度、各隱私要素下的具體度量值。
以上信息,將使隱私保護方獲得數據集隱私狀況的定量評估,同時可以區分數據集中各條記錄在隱私層面上的不同,即相對隱私保護對象區分記錄在隱私層面上的重要程度,這些信息均為高效、準確、有針對性的隱私保護措施提供了實施依據。
本文所提模型中,隱私要素度量模塊中的隱私要素定權與隱私量計算為簡單的對數與乘法運算,為此本文將測試的重點放在基于BP神經網絡的隱私數據分級模塊上,主要進行神經網絡訓練測試與分級準確性測試。以3.1節中各項二級度量要素的有無為標準模擬生成8個隱私等級的數據集。其中,每個隱私等級包含1 000條隱私記錄,共8 000條數據記錄作為訓練數據集。
將訓練輪次定為1 200,學習效率為0.1,目標誤差為0.000 1。根據公式初選隱層節點數,I和O分別為輸入層節點數和輸出層節點數,a為調節參數,最終選定隱層節點數為 7。訓練過程的誤差曲線如圖4所示,神經網絡在282輪次訓練后達到訓練目標,可以滿足模型需求。

圖4 BP神經網絡訓練誤差曲線
由于本文所提模型輸出結果的3個部分中,度量值集合由數據相應隱私要素的信息熵計算所得,隱私量排序是經度量值集合與度量等級綜合對比產生,所以本文將模型的準確性測試重點放在了隱私分級的準確性上。首先提出誤判偏差率的概念,用來刻畫度量結果與實際隱私狀況的偏差程度,計算式如式(7)所示。

其中,k為進行誤判偏差率計算的記錄數,e為自然對數,Di和Di'分別代表序號為i的記錄樣本的實際隱私等級和預測隱私等級,
在此基礎上,本文從訓練數據集中隨機抽取1 000條記錄作為測試樣本,對所提隱私數據度量與分級模型進行如下分級準確性測試。測試結果如表2所示。

表2 模型隱私分級準確性測試
由測試結果可以看出,本文所提的隱私數據度量與分級模型的分級總體準確率可達97.8%,對于單個隱私等級的樣本也能提供 96%以上的分級準確率。另一方面,從各個隱私等級的誤判率可以發現,模型對處于隱私相對邊界等級(隱私等級0,1,2,6,7)的數據分級準確率高于處于隱私中間等級(隱私等級4,6,7)的數據,這符合當數據提供的隱私信息區分度越大時,對其的隱私度量越容易這一現實情況。這也反映在各隱私等級的誤判篇差率上,各等級誤判率(E)、誤判偏差率(ε)和的變化趨勢如圖5和圖6所示。

圖5 誤判率與誤判偏差率變化趨勢

圖6變化趨勢
由圖5可知,模型對于數據集整體的誤判偏差程度,即誤判偏差率的變化趨勢與誤判率相似。分析式(7)可知,ε的值與呈冪次關系,則也應該與呈冪次關系,而由圖6可以看出的變化趨于一條靠近自然對數e的直線。因此可以推斷的取值多為0和1,這就說明模型在發生誤判時,極少發生跨級誤判,即發生誤判的結果基本都在相鄰隱私等級中。在誤判率不高的情況下,模型這樣的誤判偏差程度是能夠被接受的。
本文提出了一種基于信息熵和BP神經網絡的隱私數據度量與分級模型。該模型借助信息熵對數據集隱私量進行分層計算,隨后利用BP神經網絡無需事先揭示輸入與輸出之間數學關系這一優勢,能夠在不預先設定隱私度量要素權重的情況下,實現對隱私數據的準確度量與分級。下一步可進行以下兩方面工作:1) 研究海量網絡流量環境下的數據自動化解析技術,為數據隱私要素值的自動化獲取提出相應解決方案;2) 在本文所提隱私度量與分級模型基礎上,研究BP神經網絡的內在原理與優化技術,進一步優化模型的效率性與準確性。