面向社區(qū)檢測(cè)應(yīng)用的社會(huì)網(wǎng)絡(luò)數(shù)據(jù)發(fā)布隱私保護(hù)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及網(wǎng)絡(luò)數(shù)據(jù)安全技術(shù)領(lǐng)域,具體設(shè)及一種面向社區(qū)檢測(cè)應(yīng)用的社會(huì)網(wǎng)絡(luò) 數(shù)據(jù)發(fā)布隱私保護(hù)方法。
【背景技術(shù)】
[000引隨著社會(huì)網(wǎng)絡(luò)應(yīng)用的發(fā)展,例如化cebook、MySpace等,通過(guò)社交網(wǎng)站進(jìn)行交友、 聯(lián)系的用戶越來(lái)越多。該也吸引了更多的數(shù)據(jù)研究人員和應(yīng)用開(kāi)發(fā)人員的注意力。通過(guò)對(duì) 社會(huì)網(wǎng)絡(luò)分析可W為數(shù)據(jù)挖掘與模式分析提供更豐富、更準(zhǔn)確的數(shù)據(jù)來(lái)源。但是,發(fā)布社會(huì) 網(wǎng)絡(luò)數(shù)據(jù)將會(huì)導(dǎo)致用戶的敏感信息泄露,該在某種程度上將對(duì)用戶造成危害。由于社會(huì)網(wǎng) 絡(luò)數(shù)據(jù)中的敏感信息多樣化,如節(jié)點(diǎn)被識(shí)別,節(jié)點(diǎn)屬性泄露,節(jié)點(diǎn)間的關(guān)系被識(shí)別等,則泄 露的方式也有多種,相對(duì)應(yīng)的匿名防護(hù)措施也有多種。而保護(hù)社會(huì)網(wǎng)絡(luò)數(shù)據(jù)的隱私需要基 于網(wǎng)絡(luò)數(shù)據(jù)的特點(diǎn)來(lái)研究所對(duì)應(yīng)的保護(hù)技術(shù)。最常用且直觀的一種匿名方法為簡(jiǎn)單匿名, 即移除能唯一標(biāo)識(shí)用戶(即圖中的節(jié)點(diǎn))的顯式標(biāo)識(shí)符屬性,如姓名、生日。然而,許多先 前的研究已經(jīng)證實(shí)簡(jiǎn)單匿名不足W保護(hù)用戶隱私。
[0003] 為了更好的保護(hù)社會(huì)網(wǎng)絡(luò)中的數(shù)據(jù)隱私,現(xiàn)有的社會(huì)網(wǎng)絡(luò)數(shù)據(jù)匿名方法有:節(jié)點(diǎn) K-匿名,即依據(jù)結(jié)構(gòu)相似或者距離相近,將社會(huì)網(wǎng)絡(luò)中的所有節(jié)點(diǎn)聚類(lèi)形成超級(jí)節(jié)點(diǎn),使得 每個(gè)超級(jí)節(jié)點(diǎn)至少包含K個(gè)原始網(wǎng)絡(luò)圖節(jié)點(diǎn)。同時(shí),超級(jí)節(jié)點(diǎn)相連的邊概化為超級(jí)邊。由 于,每個(gè)超級(jí)節(jié)點(diǎn)內(nèi)部的節(jié)點(diǎn)相互之間不可區(qū)分,所從此匿名網(wǎng)絡(luò)節(jié)點(diǎn)被識(shí)別的概率小于 等于1/K;子圖K匿名,即假設(shè)攻擊者知道目標(biāo)節(jié)點(diǎn)所在的特定子圖信息,匿名后使社會(huì)網(wǎng) 絡(luò)中至少有K-1個(gè)子圖與之不可區(qū)分。除此之外也有K-度匿名、隨機(jī)化、差分隱私等方法 來(lái)保護(hù)用戶信息不被泄露。但在當(dāng)前的社會(huì)網(wǎng)絡(luò)隱私保護(hù)研究中,更多地強(qiáng)調(diào)特定場(chǎng)景所 對(duì)應(yīng)的匿名模型的隱私保護(hù)方法,較少指定發(fā)布數(shù)據(jù)的用途,該樣在匿名的過(guò)程中,修改邊 和節(jié)點(diǎn)就會(huì)在某種程度上破壞原始的某種結(jié)構(gòu)屬性。而在現(xiàn)實(shí)生活中,用于發(fā)布的社會(huì)網(wǎng) 絡(luò)數(shù)據(jù)常被用在各種特定用途中,如;數(shù)據(jù)連接挖掘,社區(qū)中屯、發(fā)現(xiàn)等,該就需要改進(jìn)原始 的匿名方法。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明所要解決的現(xiàn)有社會(huì)網(wǎng)絡(luò)隱私保護(hù)方法會(huì)在某種程度上破壞原始網(wǎng)絡(luò)的 某種結(jié)構(gòu)屬性的不足,提供一種面向社區(qū)檢測(cè)應(yīng)用的社會(huì)網(wǎng)絡(luò)數(shù)據(jù)發(fā)布隱私保護(hù)方法,其 在發(fā)布數(shù)據(jù)時(shí),保證匿名要求的同時(shí),更好的保存了原始圖的社區(qū)結(jié)構(gòu)該一結(jié)構(gòu)信息,有利 于數(shù)據(jù)分析者做社區(qū)的相關(guān)分析。
[0005] 為解決上述問(wèn)題,本發(fā)明是通過(guò)W下技術(shù)方案實(shí)現(xiàn)的:
[0006] 面向社區(qū)檢測(cè)應(yīng)用的社會(huì)網(wǎng)絡(luò)數(shù)據(jù)發(fā)布隱私保護(hù)方法,包括如下步驟:
[0007] 步驟1、先初始化數(shù)據(jù);再對(duì)初始化后的數(shù)據(jù)進(jìn)行初步的社區(qū)檢測(cè),得到匿名前的 初始的社區(qū)劃分;后將數(shù)據(jù)的節(jié)點(diǎn)集合按度數(shù)進(jìn)行排列,得到新的節(jié)點(diǎn)序列;
[000引步驟2、K匿名形成超級(jí)節(jié)點(diǎn);即
[0009] 步驟2. 1、選擇當(dāng)前節(jié)點(diǎn)序列中度數(shù)最大的節(jié)點(diǎn),作為當(dāng)前超級(jí)節(jié)點(diǎn)的種子節(jié)點(diǎn), 并在節(jié)點(diǎn)集合中除去已選中的節(jié)點(diǎn);
[0010] 步驟2. 2、計(jì)算該個(gè)超級(jí)節(jié)點(diǎn)和節(jié)點(diǎn)集合中的每個(gè)節(jié)點(diǎn)的距離,選擇最近的節(jié)點(diǎn)合 并為超級(jí)節(jié)點(diǎn),并在節(jié)點(diǎn)集合中除去已選中的節(jié)點(diǎn);
[0011] 步驟2. 3、繼續(xù)重復(fù)上述步驟2. 2,即計(jì)算距離、合并節(jié)點(diǎn)和更新節(jié)點(diǎn)集合的過(guò)程, 直到當(dāng)前超級(jí)節(jié)點(diǎn)包含的節(jié)點(diǎn)個(gè)數(shù)達(dá)到設(shè)定的隱私水平K,則開(kāi)始下一個(gè)超級(jí)節(jié)點(diǎn)的處 理;
[0012] 步驟2. 4、重復(fù)上述步驟2. 1-2. 3,直到節(jié)點(diǎn)集合中剩下的節(jié)點(diǎn)個(gè)數(shù)小于設(shè)定的隱 私水平K;
[0013] 步驟2. 5,分別計(jì)算節(jié)點(diǎn)集合所剩下的節(jié)點(diǎn)和之前已形成的幾個(gè)超級(jí)節(jié)點(diǎn)的距離, 并逐個(gè)將剩下的節(jié)點(diǎn)分別合并到距離最小的超級(jí)節(jié)點(diǎn)中,直到節(jié)點(diǎn)集合為空,即節(jié)點(diǎn)集合 的所有節(jié)點(diǎn)均聚類(lèi)成超級(jí)節(jié)點(diǎn);
[0014] 步驟3、將數(shù)據(jù)的邊概化為帶權(quán)重的超級(jí)邊,其中權(quán)重即為原始圖中連接兩個(gè)超級(jí) 節(jié)點(diǎn)之間的邊的數(shù)目;
[0015] 步驟4、將超級(jí)節(jié)點(diǎn)和超級(jí)邊進(jìn)行拆分;
[0016] 步驟5、發(fā)布匿名后的社會(huì)網(wǎng)絡(luò)數(shù)據(jù)。
[0017] 步驟1中,初始化數(shù)據(jù)即是去掉顯示的標(biāo)識(shí)屬性,改用重新編號(hào)的標(biāo)識(shí)符表示。
[00化]步驟1中,采用GN算法來(lái)做社區(qū)檢測(cè)。
[0019] 步驟1中將數(shù)據(jù)的節(jié)點(diǎn)集合按度數(shù)降序排列,得到新的節(jié)點(diǎn)序列;此時(shí),步驟2中 選擇當(dāng)前節(jié)點(diǎn)序列中度數(shù)最大的節(jié)點(diǎn)即排在首位的節(jié)點(diǎn),作為當(dāng)前超級(jí)節(jié)點(diǎn)的種子節(jié)點(diǎn)。
[0020] 步驟2. 2中,當(dāng)有多個(gè)節(jié)點(diǎn)與當(dāng)前的超級(jí)節(jié)點(diǎn)的距離最小且相同時(shí),則優(yōu)先選擇 與當(dāng)前超級(jí)節(jié)點(diǎn)的種子節(jié)點(diǎn)為同一個(gè)社區(qū)的候選節(jié)點(diǎn)合并為超級(jí)節(jié)點(diǎn);如果候選節(jié)點(diǎn)中沒(méi) 有與當(dāng)前超級(jí)節(jié)點(diǎn)的種子節(jié)點(diǎn)為同一個(gè)社區(qū)的節(jié)點(diǎn)時(shí),則優(yōu)先選擇單節(jié)點(diǎn)社區(qū)節(jié)點(diǎn)合并為 超級(jí)節(jié)點(diǎn)。
[0021] 步驟2. 3和2. 4中,設(shè)定的隱私水平K的取值范圍為1 <K《n,其中n是原始網(wǎng) 絡(luò)圖中節(jié)點(diǎn)總個(gè)數(shù)。
[002引步驟2. 5中,當(dāng)前節(jié)點(diǎn)集合中的節(jié)點(diǎn)與多個(gè)超級(jí)節(jié)點(diǎn)的距離最小且相同時(shí),則將 當(dāng)前剩下的節(jié)點(diǎn)合并到種子節(jié)點(diǎn)與之為同一個(gè)社區(qū)的超級(jí)節(jié)點(diǎn)中。
[0023] 步驟4中,將超級(jí)節(jié)點(diǎn)和超級(jí)邊W等概率進(jìn)行拆分。
[0024] 與現(xiàn)有技術(shù)相比,本發(fā)明針對(duì)社區(qū)檢測(cè)該一具體的數(shù)據(jù)使用目的,主要從W下幾 方面改進(jìn)了原始的匿名算法:
[0025] 1、因?yàn)橐Wo(hù)社區(qū)結(jié)構(gòu),使之在匿名前后的改變最少。本發(fā)明在開(kāi)始的時(shí)候?qū)?shù) 據(jù)進(jìn)行了初步的社區(qū)檢測(cè),得到初始的社區(qū)劃分。此外,為了后續(xù)的選擇節(jié)點(diǎn)需要,對(duì)節(jié)點(diǎn) 列表V按度數(shù)降序排列。
[0026] 2、每個(gè)超級(jí)節(jié)點(diǎn)選擇距離最小的節(jié)點(diǎn)合并為超級(jí)節(jié)點(diǎn)的過(guò)程中,候選節(jié)點(diǎn)有多個(gè) 時(shí),優(yōu)選選擇與當(dāng)前超級(jí)節(jié)點(diǎn)的種子節(jié)點(diǎn)為同一個(gè)社區(qū)的節(jié)點(diǎn)。
[0027] 3、候選節(jié)點(diǎn)中沒(méi)有與當(dāng)前超級(jí)節(jié)點(diǎn)的種子節(jié)點(diǎn)同為一個(gè)社區(qū)的節(jié)點(diǎn)時(shí),選擇候選 節(jié)點(diǎn)列表中末尾的節(jié)點(diǎn),即度數(shù)最小的節(jié)點(diǎn)。該樣能保證優(yōu)先選擇單節(jié)點(diǎn)社區(qū)節(jié)點(diǎn)(該樣 的節(jié)點(diǎn)往往度數(shù)為零,如果存在該樣的節(jié)點(diǎn)的話,必為度數(shù)最小的,且排在候選節(jié)點(diǎn)列表的 末尾),該樣能保證更少地破壞其他非單節(jié)點(diǎn)社區(qū)。
[002引4、當(dāng)節(jié)點(diǎn)列表中的節(jié)點(diǎn)數(shù)目小于K時(shí),需要將該些節(jié)點(diǎn)分別加入到與之距離最小 的超級(jí)節(jié)點(diǎn)中,當(dāng)該樣的超級(jí)節(jié)點(diǎn)多于一個(gè)的時(shí)候,優(yōu)先加入種子節(jié)點(diǎn)Vwed與之為同一社 區(qū)的超級(jí)節(jié)點(diǎn)中。
【附圖說(shuō)明】
[0029] 圖1為本發(fā)明面向社區(qū)檢測(cè)應(yīng)用的社會(huì)網(wǎng)絡(luò)數(shù)據(jù)發(fā)布隱私保護(hù)方法的流程圖。
[0030] 圖2為一種社會(huì)網(wǎng)絡(luò)數(shù)據(jù)的原始圖。
[0031] 圖3為本發(fā)明優(yōu)選實(shí)施例面向社區(qū)檢測(cè)應(yīng)用的社會(huì)網(wǎng)絡(luò)數(shù)據(jù)發(fā)布隱私保護(hù)方法 的流程圖。
[0032] 圖4為圖2的社會(huì)網(wǎng)絡(luò)數(shù)據(jù)K匿名后按相應(yīng)概率拆分后的圖。
【具體實(shí)施方式】
[0033] 面向社區(qū)檢測(cè)應(yīng)用的社會(huì)網(wǎng)絡(luò)數(shù)據(jù)發(fā)布隱私保護(hù)方法,如圖1所示,其包括如下 過(guò)程:
[0034] 步驟一、初始化數(shù)據(jù),即去掉顯示的標(biāo)識(shí)屬性,改用重新編號(hào)的標(biāo)識(shí)符表示。對(duì)該 些數(shù)據(jù)進(jìn)行初步的社區(qū)檢測(cè),得到匿名前的社區(qū)劃分。除此之外,再將節(jié)點(diǎn)集