網絡數據隱私保護,阿里工程師怎麼做? 頂 原

摘要: 個人數據挖掘和個人隱私保護,並非魚與熊掌,可視分析的技術手段能夠幫助我們保護個人隱私數據,避免後續的數據挖掘暴露隱私的同時,平衡數據質量發生的變化,減少對後續數據挖掘的影響。針對網絡數據中的隱私保護問題,浙江大學、加州大學戴維斯分校和阿里雲DataV團隊,共同發表了最新的研究成果《GraphProtector: a Visual Interface for Employing andAssessing Multiple Privacy Preserving Graph Algorithms》【1】,這項成果也已論文形式收錄在IEEE TVCG中。

個人數據挖掘和個人隱私保護,並非魚與熊掌,可視分析的技術手段能夠幫助我們保護個人隱私數據,避免後續的數據挖掘暴露隱私的同時,平衡數據質量發生的變化,減少對後續數據挖掘的影響。針對網絡數據中的隱私保護問題,浙江大學、加州大學戴維斯分校和阿里雲DataV團隊,共同發表了最新的研究成果《GraphProtector: a Visual Interface for Employing andAssessing Multiple Privacy Preserving Graph Algorithms》【1】,這項成果也已論文形式收錄在IEEE TVCG中。

圖一 GraphProtector 系統。 a) 保護器視圖 b) 歷史記錄視圖 c) 實用性視圖 d) 優先級視圖

背景

關係描述了人與人之間的互相聯繫,它可以是一種靜態的連接,如“親屬”、“朋友”等,也可以是動態的,通過動作將其關聯,例如“通話”、“郵件”等。科技的進步使得人與人之間的聯繫更爲密切,關係變得更復雜,進而形成了一張偌大的網,因此,我們也把這類數據稱之爲網絡數據(或圖數據)。網絡數據的研究被廣泛應用於各個領域,它能夠幫助識別社團、劃分人羣,定位特殊人物、研究信息傳播、追蹤欺詐行爲等。但在對這類數據進行研究的同時,伴隨着巨大的隱私泄露風險。爲了能夠在探索數據背後巨大價值的同時,保護用戶的隱私不被泄露,我們提出了一個能夠應對網絡數據隱私攻擊,提供有效隱私保護的可視分析系統——GraphProtector,它不僅能夠更全面、更細緻地保護用戶隱私,同時也能夠兼顧數據的實用性,保證數據的質量。

隱私保護方法和流程

針對網絡數據的隱私保護相較於一般數據而言,更爲困難,原因主要有以下兩點:

1) 網絡數據自身結構特徵繁多,例如,度數分佈,最短路徑分佈,接近中心性分佈等,任意的結構特徵都有可能成爲攻擊者的攻擊入口,可謂是防不勝防;

2) 網絡數據中節點和邊都攜帶了大量的數據,這些數據無疑給了攻擊者更多的機會去識別用戶現實世界中的身份。

因此,想要完全解決圖數據中的隱私問題,將會是一個非常複雜和困難的工作。在當前階段,我們將研究的重點放在了網絡數據的結構特徵上,通過修改圖的結構特徵保護用戶的身份不被泄露。其中,之所以選擇結構特徵作爲着手點,最重要的原因是結構特徵是網絡數據的基礎屬性,解決結構特徵暴露的隱私風險是是解決隱私暴露的必經之路。在這次的研究中,我們先以以下三種結構特徵作爲示例:

度數:節點度數是和它關聯的邊的總數(如圖二中,圖c表格中Degree展示了原始圖圖a的度數分佈);

中心指紋:是指在最長路徑`i`的限制下,圖中普通節點和中心節點們之間的最短路徑所形成的向量。這裏爲了簡化複雜度,我們取`i`設爲了`1`,即普通節點和中心節點們是否存在相鄰關係作爲節點的中心指紋(如圖二中,圖c中HubFingerprint爲選取了原始圖圖a中4號節點和7號節點作爲中心的的中心指紋分佈);

子圖:指節點集和邊集分別是某一圖的節點集的子集和邊集的子集的圖(如圖二中,圖b爲原始圖圖a的子圖);

圖二結構特徵舉例。 a) 原始數據 b) 子圖 c) 度數分佈和中心指紋分佈

前人的研究提供了多種隱私匿名保護思路,如k-匿名、聚類和查分隱私等等,我們在研究中選取了k-匿名模型作爲我們保護的基本方法。k-匿名模型是最經典的語義匿名模型之一,在隱私保護領域得到了廣泛的應用,在這個模型中,它通過準標識符將數據分成若干個等價類(例如度數相同的節點形成了一個度數等價類,中心指紋相同的節點形成了一箇中心指紋等價類,結構相同的子圖形成了一個子圖等價類),並要求每個等價類中至少存在k個數據記錄(例如當k爲2時,k-匿名模型要求每一個度數等價類中至少存在2個節點),對於這k個數據記錄中的任意一條,被識別出的概率爲1/k,從而使得攻擊者無法確定他們的攻擊目標。

通過前人的研究分析我們得知,沒有任何一種隱私保護方法能夠抵抗所有的攻擊,k-匿名模型是衆多方法中最爲強大的一種,它在一定條件下可以抵抗大部分的隱私攻擊,並且對於數據質量傷害的程度較小,使得經過隱私匿名保護後的數據仍然能夠應用於後面的分析和研究中。

在k-匿名模型的基礎上,爲了儘可能地減少對數據質量的損害,我們採取了保持節點個數不變,僅增加或減少邊的策略。同時,在目前我們的研究中,爲了減少保護方法之間的衝突以及降低計算的複雜度,我們首先將研究的重點放在了增加邊的策略上。

上文中多次提到了“數據質量”,保證數據質量是我們隱私保護過程中的一個重要目標(試想,如果不考慮數據質量,我們完全可以同化所有的用戶數據,這樣一來攻擊者將無法定位到攻擊目標,但這樣的數據卻失去了研究意義)。在使用k-匿名模型增加邊的方法來保護數據隱私時,有兩種處理策略:

1)爲當前等價類中的元素增加適當的邊,使得這些元素全部轉移到其他等價類中,使得當前等價類不存在,也就不會存在隱私暴露風險;

2)爲其他等價類中元素增加適當的邊,使其中的元素轉移到當前等價類中,從而使當前等價類滿足k-匿名模型的要求。基於保護數據質量的目的,對於這兩種策略,我們將計算它們的代價,及增加邊的數量,採取代價較小的的方法執行。我們設計了詳細的算法來實現這一目標。另一方面,對於數據質量的變化,系統提供若干的實用性指標,如度數、最短路徑等,我們將在數據處理中以及數據處理後呈現這些指標的變化,幫助使用者進行決策,從而能夠採取“最優”的解決方案。

下圖展現了採用`GraphProtector`進行網絡數據隱私保護的流程:

圖三 GraphProtector 的隱私保護流程。 a) 數據導入 b) 優先級制定及實用性指標選取 c) 隱私保護處理 d) 數據導出

數據導入:首先,導入待保護的網絡數據,系統將使用節點連接圖的形式呈現原始數據。此外,系統還提供一些原始數據的結構特徵分佈供使用者觀察和探索。

優先級制定及評估指標選取:在這個階段,通過觀察原始數據的結構特徵分佈,使用者對節點的優先級進行排序,優先級排序決定了節點的處理順序,排序較高的節點將會被優先處理。此外,使用者在優先級排序時可以鎖定一些節點,被鎖定的節點(一般爲比較重要的節點,如核心人物等)將不會參與到處理過程中,因此在隱私保護處理前後,它的關聯關係將不發生改變。在這個階段,使用者還需要選擇關注的實用性指標,在數據處理前後,系統將呈現這些指標的變化,使用者可以通過它們來評估數據質量的變化。

隱私保護處理:經過以上步驟,我們進入了隱私保護的核心步驟,系統在這個階段提供多個保護器(Protector)用來進行隱私保護處理。每一個保護器僅針對一種結構特徵,使用者可以按照自己的需求選擇多個保護器進行組合,從而實現更爲全面和細緻的保護。

這些保護器的使用方法將統一遵循圖三種c圖所示的流程,首先,根據用戶自定義的k值,保護器會去識別數據中風險,並將風險通過一定的視覺編碼呈現給使用者。然後,使用者可以制定一個或多個保護方案(即保護目標),對於每一個制定的方案,使用者都可以查看處理前後數據實用性指標的變化。接着,使用者對比不同方案的處理結果,觀察是否達到了隱私保護的目的,以及數據質量變化是否在可接受的範圍之內,最終選擇“最優”的方案進行執行。

導出數據:最後,當數據處理到滿意的程度時,使用者可以選擇導出經過處理的的數據和數據的節點鏈接圖,以及指標變化情況。

系統設計

下面將向大家詳細介紹GraphProtector 系統的可視化及交互設計。系統主要圍繞兩個界面進行(圖一和圖四):

圖四 GraphProtector 系統主要初始界面。 a) 節點鏈接圖視圖 b) 優先級視圖 c) 實用性視圖

圖四展示了數據導入(圖四a)和優先級制定(圖四b)及評估指標選取(圖四c)階段的視圖:

節點鏈接圖視圖(圖四a):主要通過節點鏈接圖以及力引導佈局形式展現了原始數據的分佈,在數據處理過程中,用戶可以調出該視圖查看數據變化。

優先級視圖(圖四b):使用者可以通過結構特徵優先級的分佈,在座標軸上選取節點屬性的範圍,從而制定節點的優先級。視圖右側的每一個區塊都代表了一個節點集合,其中羅列了該集合中節點的屬性以及該集合中節點的個數,使用者通過拖拽交互來調整集合的優先級順序,以及選擇是否鎖定某些集合的節點。

實用性視圖(圖四c):使用者通過這個視圖,選取所關注的數據質量評估指標,這些指標的變化將會在處理前後呈現出來。

圖一爲隱私保護處理(圖一a,b)和數據導出階段的視圖:

保護器視圖(圖a):主要用於風險定義,風險識別,風險處理和數據評估。這些保護器具有統一的處理流程(如下圖五所示),分別通過保護器中的以下控件完成:

圖五保護器主要控件。 a) k值輸入框 b) “半運行”按鈕 c) “記錄”按鈕 d) “方案相冊”按鈕

 ●  全局k值輸入框:快速設定保護器內的k值;
 ●  “半運行”按鈕:模擬執行制定方案的運行結果,並記錄數據變化;
 ●  “記錄”按鈕:記錄一個方案,方便後續對比不同方案的執行效果;
 ●  “方案相冊”按鈕:展現所有被記錄的方案以及這些方案被執行後的實用性指標變化,方便使用者進行比較,從而選取“最優”方案執行;

目前系統設計了三種保護器,分別爲度數保護器,中心指紋保護器和子圖保護器。

度數保護器

我們採用柱狀圖可視化了數據中的節點度數分佈,橫軸編碼度數,按照從小到大的順序排列,此外,在橫軸上,我們還設計了一個“度數跳躍”符來編碼度數分佈之間的跳躍情況。縱軸編碼該度數等價類中的節點個數,藍色和灰色矩形分別編碼鎖定和未鎖定的節點個數。

爲了減少用戶的認知和交互負擔,我們設定了縱軸上的最高值,這個值是我們認爲的安全值,即當度數等價類中的節點個數超過這個值時,這個等價類一般是安全的,所以當節點度數高於這個值時,我們可以暫且忽略其具體值,而將重點放在那些不滿足k值的節點上。系統用虛線來編碼整體k值(在系統中,我們稱之爲k線),輔助用戶判斷k值和節點個數的關係,從而定位風險所在。使用者除了可以通過滑動座標軸上滑塊來調整當前保護器內的整體k值外,還可以通過刷選度數範圍,調整範圍內的局部k值(系統中用實線編碼),制定更加細緻的隱私保護方案。

中心指紋保護器

中心指紋保護器分爲兩個部分,左側爲中心節點選取面板,右側爲中心指紋樹。中心節點選取面板呈現了所有節點的結構信息,用戶通過這個面板,選取重要的節點作爲中心節點。右側中心指紋樹將根據用戶的選擇進行實時響應,樹上每個節點代表了一箇中心指紋等價類,即這個等價類中的節點具有相同的中心指紋,樹中深度爲i+1的等價類節點表示與i箇中心節點相鄰,所以若n爲中心節點的個數,那麼樹的高度爲n+1。

中心指紋樹上的每一個節點編碼與度數等價中的編碼保持一致,虛線表示當前保護器設定的整體k值,藍色和灰色舉行分別編碼鎖定和未鎖定的節點個數,右側從上到下排列的i個矩形分別代表i箇中心節點,順序和左側中心節點選取面板中中心節點的順序保持一致,只有與當前節點等價類關聯的中心節點所代表的矩形將才會被繪製出來,通過這種編碼方式表達每個中心指紋等價類的指紋信息。

子圖保護模塊

子圖保護器分爲三個部分,左側爲子圖設定面板,使用者通過這個面板設定子圖,子圖可以來自於一些經典拓撲結構,如形狀結構,環形結構等,也支持從外部導入。在子圖設定面板中,系統同樣通過灰色矩形的個數編碼識別得到的子圖的個數。中間面板爲子圖識別面板,將可視化圖中識別得到的當前子圖結構和相似子圖結構,當識別得到的當前子圖結構不滿足k值時,用戶可以選擇將相似的子圖補全成爲當前的子圖。右側子圖結構展示面板,使用者可以通過與子圖識別面板的交互查看子圖在圖中的位置。

歷史記錄視圖

歷史記錄視圖使用時間軸的形式可視化了每一步隱私保護操作後數據的變化。在每一個歷史記錄中,標題描述了該步驟採用的是哪種類型的保護器,記錄左側我們採用CDE(curvedensity estimates)的方法可視化了圖的原始分佈(即圖四a的節點連接圖),邊越多顏色越深。在CDE得到的分佈圖上,我們使用深色的直線表示當前處理所增加的邊,當用戶鼠標移動到一個歷史記錄時,該步所增加的邊將在圖四a中高亮出來。右側則呈現了數據指標的變化,包括指標的當前值和變化量,通過紅綠顏色編碼指標的增加和遞減,而對於不能計算增量的指標,我們用藍色進行編碼。

阿里雲雙十一1折拼團活動:已滿6人,都是最低折扣了

【滿6人】1核2G雲服務器99.5元一年298.5元三年 2核4G雲服務器545元一年 1227元三年

【滿6人】1核1G MySQL數據庫 119.5元一年

【滿6人】3000條國內短信包 60元每6月

參團地址:http://click.aliyun.com/m/1000020293/

原文鏈接 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章