張夢(mèng)嬌,曹彥,尹小花,陶靈靈
(南京航空航天大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇南京 211100)
伴隨著互聯(lián)網(wǎng)的興起,社交應(yīng)用對(duì)人們的交流方式產(chǎn)生了巨大的影響。而隨著智能手機(jī)、平板電腦等移動(dòng)終端的普及,社交應(yīng)用也變得更加靈活多樣,在線社交應(yīng)用迅速發(fā)展起來(lái)[1]。用戶信息的可靠性是社交應(yīng)用的基礎(chǔ),發(fā)布消息跟其他用戶進(jìn)行分享是社交應(yīng)用的前提,但由此帶來(lái)的隱私泄露問(wèn)題也給社交應(yīng)用的發(fā)展帶來(lái)了很大的挑戰(zhàn)。當(dāng)用戶在在線社交應(yīng)用中發(fā)布了一條消息,消息中涉及到自身的一些隱私,而用戶在發(fā)布完消息之后并不知道自己的信息將會(huì)被什么人看到,被誰(shuí)以何種方式使用,這就很容易造成隱私泄露。人們利用移動(dòng)在線社交應(yīng)用(微信、QQ、微博等)這些平臺(tái)互相交流,建立和維護(hù)自己的社交圈。而且用戶還可以在自己發(fā)布的消息下面進(jìn)行定位,這樣自己的好友就會(huì)知道自己所在的位置[2]。但是,用戶發(fā)布的消息經(jīng)常會(huì)涉及到個(gè)人的隱私,而目前的在線社交應(yīng)用基本上都是只有簡(jiǎn)單的粗粒度的訪問(wèn)控制,這就對(duì)用戶隱私信息的泄露造成了極大的威脅。如果被第三方用來(lái)謀取利益甚至被不法人員拿來(lái)詐騙或者做其它危害社會(huì)安全的事情都將帶來(lái)很大的困擾[3]。
由于分享的信息存在潛在的私密性,所以需要對(duì)用戶的隱私進(jìn)行保護(hù)[4]。為了保護(hù)用戶的隱私信息,訪問(wèn)控制策略幫助控制對(duì)用戶信息的訪問(wèn),它描述了一些規(guī)則,即,誰(shuí)可以訪問(wèn)用戶的信息,在什么條件下可以訪問(wèn)用戶的信息[5]。工業(yè)界提出的訪問(wèn)控制策略語(yǔ)言,例如,可擴(kuò)展訪問(wèn)控制標(biāo)記語(yǔ)言(XACML)和企業(yè)隱私授權(quán)語(yǔ)言(EPAL),這些語(yǔ)言把義務(wù)處理成抽象的符號(hào)而不是具體的元素,因此它們并不能直接將隱私法律法規(guī)轉(zhuǎn)換成訪問(wèn)控制策略[6]。傳統(tǒng)的基于身份的訪問(wèn)控制模型不支持隱私需求而且是不靈活的[7]。基于角色的訪問(wèn)控制(RBAC)的中心思想就是用戶不可以直接訪問(wèn)目標(biāo)信息,而是被分成不同的角色,對(duì)應(yīng)不同的訪問(wèn)權(quán)限水平,訪問(wèn)權(quán)限水平越高,權(quán)限越大,可訪問(wèn)到的信息就越詳細(xì)[8]。提出對(duì)不同的用戶進(jìn)行分類,根據(jù)分類不同在訪問(wèn)其他用戶發(fā)布的消息時(shí)會(huì)得到不同的結(jié)果也是受基于角色的訪問(wèn)控制的啟發(fā)。
基于上述問(wèn)題,提出了一個(gè)隱私驅(qū)動(dòng)的細(xì)粒度的訪問(wèn)控制機(jī)制。首先,根據(jù)不同類型信息的粒度與訪問(wèn)該信息的用戶的類型(陌生人、朋友、家人)對(duì)用戶的隱私需求進(jìn)行定義。當(dāng)用戶在社交應(yīng)用上發(fā)布消息以后,社交應(yīng)用自動(dòng)的對(duì)用戶發(fā)布的內(nèi)容進(jìn)行分析,找出可能泄露用戶隱私的敏感詞進(jìn)行標(biāo)注。然后根據(jù)訪問(wèn)該內(nèi)容的用戶的類型對(duì)可能泄露用戶隱私的敏感詞進(jìn)行不同程度的模糊化,最終不同類型的用戶看到的是跟原來(lái)用戶發(fā)布的內(nèi)容語(yǔ)義一致的不同消息。
本文第1節(jié)介紹國(guó)內(nèi)外的相關(guān)工作;第2節(jié)提出了隱私驅(qū)動(dòng)的細(xì)粒度的訪問(wèn)控制機(jī)制,并對(duì)該機(jī)制的不同的組成部分進(jìn)行詳細(xì)的描述;第3節(jié)通過(guò)一個(gè)例子來(lái)證明該訪問(wèn)控制機(jī)制的可行性;最后,在第4節(jié)對(duì)全文進(jìn)行總結(jié)并提出了一些未來(lái)的研究方向。
目前,國(guó)內(nèi)外很多學(xué)者都在隱私保護(hù)的問(wèn)題上做出了貢獻(xiàn)。Shih-Chien Chou等人通過(guò)一個(gè)擴(kuò)展的XACML模型即EXACML模型來(lái)確保Web服務(wù)中信息訪問(wèn)的安全性,這個(gè)模型主要是運(yùn)用信息流控制來(lái)實(shí)現(xiàn)隱私保護(hù)[9]。這篇文章雖然實(shí)現(xiàn)了細(xì)粒度的訪問(wèn)控制,但是僅僅對(duì)請(qǐng)求者和Web服務(wù)的信息進(jìn)行保護(hù),沒(méi)有對(duì)信息擁有者的隱私進(jìn)行有效地保護(hù)。
Dinh Tien Tuan Anh等人設(shè)計(jì)并評(píng)估了一款運(yùn)行在Google App Engine上的中間件,叫做Mosco,能有效地管理分享的移動(dòng)信息,保護(hù)用戶的隱私[10]。這篇文章給我們?cè)诩?xì)粒度的訪問(wèn)控制上一些啟發(fā),當(dāng)需要訪問(wèn)信息的時(shí)候,如果請(qǐng)求者不是信息擁有者的朋友,或者親密程度不夠的話,文章中的處理方式是拒絕訪問(wèn),太過(guò)生硬,可能違背用戶最初分享信息的初衷。
Linke Guo等人為在線社交網(wǎng)絡(luò)提出了一種基于信任度的隱私保護(hù)的好友推薦的方法,用戶根據(jù)自己的隱私偏好找到匹配的好友并與之建立社交關(guān)系[11]。文章通過(guò)為用戶選擇信任度高的好友進(jìn)行社交來(lái)避免用戶隱私泄露,但是不能靈活的控制用戶發(fā)布消息的暴露程度。
Yuan Cheng等人針對(duì)在線社交網(wǎng)絡(luò)中用戶之間的關(guān)系進(jìn)行訪問(wèn)控制建模,提出了利用正則表達(dá)式符號(hào)來(lái)對(duì)隱私策略進(jìn)行描述的方法,用戶和資源的訪問(wèn)控制策略由訪問(wèn)請(qǐng)求、多種關(guān)系類型、評(píng)估的出發(fā)點(diǎn)和路徑中的跳數(shù)組成,并提出了兩種路徑檢測(cè)方法來(lái)確認(rèn)用戶之間是否存在訪問(wèn)關(guān)系路徑[12]。文章主要還是關(guān)注于用戶是否有訪問(wèn)權(quán)限,而并不能對(duì)信息的暴露程度進(jìn)行靈活的控制。
Leila Bahri等人提出了一個(gè)基于標(biāo)簽的訪問(wèn)控制方法,用戶可以給他的朋友自定義訪問(wèn)水平標(biāo)簽,給自己發(fā)布的不同類型的信息自定義敏感度標(biāo)簽,當(dāng)用戶需要請(qǐng)求訪問(wèn)信息的時(shí)候需要對(duì)他的訪問(wèn)水平和所要請(qǐng)求的信息的敏感度進(jìn)行評(píng)估,只有訪問(wèn)水平高于信息的敏感度時(shí)才能訪問(wèn)該信息[13]。
而本文提出的方法是對(duì)用戶發(fā)布的消息中的敏感信息進(jìn)行模糊化,相比于現(xiàn)有的訪問(wèn)控制機(jī)制要么可以訪問(wèn)要么完全不能訪問(wèn)的情況,本文中用戶的所有好友都可以訪問(wèn)到消息,但是他們所得到的消息的敏感程度是不一樣的,在保證好友都可以訪問(wèn)到消息的前提下有效地保護(hù)了用戶的隱私。
圖1是用戶通過(guò)在線社交應(yīng)用發(fā)布消息的系統(tǒng)。整個(gè)系統(tǒng)分為三個(gè)部分:消息發(fā)布者、消息請(qǐng)求者和在線社交應(yīng)用。整個(gè)處理過(guò)程在在線社交應(yīng)用內(nèi)部處理,對(duì)用戶是透明的,社交應(yīng)用通過(guò)兩個(gè)步驟控制整個(gè)過(guò)程:(1)對(duì)消息發(fā)布者提交的內(nèi)容進(jìn)行語(yǔ)義標(biāo)注(2)根據(jù)請(qǐng)求者的隱私權(quán)限,將發(fā)布者提交的內(nèi)容中涉及隱私的詞匯進(jìn)行模糊化,產(chǎn)生與消息發(fā)布者提交的內(nèi)容語(yǔ)義一致的消息發(fā)送給請(qǐng)求者。為了實(shí)現(xiàn)這兩個(gè)功能,在線社交應(yīng)用需要兩個(gè)模塊:標(biāo)注模塊和訪問(wèn)控制模塊。

圖1 系統(tǒng)架構(gòu)圖
在開(kāi)始使用在線社交應(yīng)用時(shí),用戶需要先向在線社交應(yīng)用提交自己的隱私需求,即,對(duì)不同類型的請(qǐng)求者,他們最后看到的隱私信息的詳細(xì)程度。這些不同的需求以隱私規(guī)則的方式存儲(chǔ)在數(shù)據(jù)庫(kù)中,由在線社交應(yīng)用進(jìn)行管理。用戶只要定義好自己的隱私需求,在以后的使用過(guò)程中系統(tǒng)會(huì)將他的需求應(yīng)用到他所有發(fā)布的消息中,不需要用戶自身來(lái)管理各種權(quán)限的請(qǐng)求者可以得到什么樣的內(nèi)容,簡(jiǎn)化了用戶的工作。
當(dāng)User1發(fā)布一條消息m,m會(huì)發(fā)送到標(biāo)注模塊進(jìn)行詞性標(biāo)注和語(yǔ)義分析得到m0,并存儲(chǔ)在在線社交應(yīng)用中。然后,User2向訪問(wèn)控制模塊提交訪問(wèn)m的請(qǐng)求,訪問(wèn)控制模塊對(duì)該請(qǐng)求進(jìn)行評(píng)估,并評(píng)定經(jīng)過(guò)詞性標(biāo)注的消息m0的敏感度。最后,根據(jù)User2親密程度的不同運(yùn)用相應(yīng)的隱私規(guī)則得到新的消息m1,發(fā)送給User2。
當(dāng)用戶通過(guò)在線社交應(yīng)用發(fā)布消息時(shí),應(yīng)用會(huì)調(diào)用標(biāo)注模塊。消息的內(nèi)容經(jīng)過(guò)標(biāo)注模塊的處理,標(biāo)注過(guò)的內(nèi)容將用于評(píng)估隱私敏感度。
名詞作為用戶發(fā)布的消息的一部分含有豐富的語(yǔ)義,通常會(huì)帶有一些隱私敏感信息[14]。所以,我們的系統(tǒng)中標(biāo)注模塊自動(dòng)的從發(fā)布的內(nèi)容中找出名詞,并對(duì)這些名詞進(jìn)行標(biāo)注,然后將這些名詞與它們的概念聯(lián)系起來(lái)。因?yàn)橐粋€(gè)名詞可能會(huì)有不同的意思,例如,蘋果可能指的是我們平常吃的水果,也可能指的是蘋果公司的產(chǎn)品,所以在處理一個(gè)名詞的時(shí)候要根據(jù)發(fā)布的信息中真實(shí)的語(yǔ)義來(lái)消除歧義,選擇最合適的詞義。標(biāo)注模塊的工作流程如圖2所示。

圖2 標(biāo)注模塊工作流
把可能泄露用戶隱私的名詞分成兩大類:一類是專有名詞,比如,名字、地點(diǎn)等,一類是普通名詞,比如,一些隱私敏感的疾病、職業(yè)等。 ICTCLAS 2016[15]可以自動(dòng)的對(duì)消息中的名詞進(jìn)行標(biāo)注,然后利用CN-Dbpedia[16](提供開(kāi)放API)的資源,把標(biāo)注的名詞的概念跟 CN-Dbpedia中的資源進(jìn)行關(guān)聯(lián),借助SPARQL查詢語(yǔ)言[17]和語(yǔ)義Web[18]來(lái)實(shí)現(xiàn)標(biāo)注名詞的語(yǔ)義分析。
經(jīng)過(guò)之前的語(yǔ)義分析,每個(gè)名詞的分類范疇和可能的概念都被找出。然后需要根據(jù)發(fā)布的消息來(lái)確定最合適的詞義,這個(gè)過(guò)程叫做詞義消歧[19]。在經(jīng)過(guò)詞義消歧以后的結(jié)果存儲(chǔ)在標(biāo)注模塊的數(shù)據(jù)庫(kù)里,下面就對(duì)得到的結(jié)果進(jìn)行隱私敏感度分析并執(zhí)行隱私訪問(wèn)控制。
在這一部分,提出了一個(gè)訪問(wèn)控制機(jī)制,對(duì)用戶發(fā)布到在線社交應(yīng)用上的消息進(jìn)行處理。隱私策略和請(qǐng)求訪問(wèn)消息的用戶等級(jí)由消息發(fā)布者自己定義。用戶對(duì)自己社交應(yīng)用中好友的分類類似于基于角色訪問(wèn)控制中角色的分類,不同類型的好友對(duì)發(fā)布的消息有不同的訪問(wèn)權(quán)限。
訪問(wèn)控制機(jī)制對(duì)可以發(fā)布消息的社交應(yīng)用都是可行的,依賴于現(xiàn)有的社交應(yīng)用,幫助控制隱私消息的訪問(wèn)。在線社交應(yīng)用需要開(kāi)發(fā)一個(gè)控制模塊對(duì)請(qǐng)求訪問(wèn)的用戶進(jìn)行隱私訪問(wèn)授權(quán),訪問(wèn)控制模塊在處理訪問(wèn)請(qǐng)求時(shí)需要三類資源:請(qǐng)求訪問(wèn)的消息;訪問(wèn)請(qǐng)求者的類型;消息發(fā)布者的隱私需求。在處理訪問(wèn)請(qǐng)求時(shí),訪問(wèn)控制模塊從標(biāo)注模塊的數(shù)據(jù)庫(kù)中調(diào)出經(jīng)過(guò)標(biāo)注的消息,消息由三個(gè)標(biāo)簽標(biāo)注:消息發(fā)布者、消息的合作發(fā)布者,即,消息發(fā)布者在自己的消息里提到的其他人,語(yǔ)義標(biāo)注。
2.2.1 訪問(wèn)控制規(guī)則
系統(tǒng)根據(jù)用戶的需求定義了一系列的訪問(wèn)控制規(guī)則,下面我們就詳細(xì)闡述一下訪問(wèn)控制規(guī)則。訪問(wèn)控制規(guī)則包括三個(gè)元素:敏感話題(ST)、請(qǐng)求者的類型(RC)、訪問(wèn)水平(AL)。用戶可以根據(jù)自己的隱私偏好選擇他想保護(hù)的敏感話題,敏感話題列表由在線社交應(yīng)用提供,用戶在使用前對(duì)自己想要保護(hù)的話題進(jìn)行選擇就可以。用戶還需要將自己社交應(yīng)用上的好友根據(jù)親密程度或者信任程度進(jìn)行分類,然后根據(jù)好友的親密程度將每個(gè)敏感話題的訪問(wèn)水平與請(qǐng)求者類型進(jìn)行對(duì)應(yīng)。通過(guò)這種方式,用戶就可以對(duì)自己的隱私信息進(jìn)行控制,不同類型的請(qǐng)求者訪問(wèn)到的隱私消息的水平不同。下面的三元組就是一個(gè)訪問(wèn)控制規(guī)則:
rulei=
rulei∈Rules(訪問(wèn)規(guī)則)有三個(gè)組成元素:敏感話題(sti)、請(qǐng)求者類型(rci),訪問(wèn)水平(ali)。
定義1(敏感話題(ST))系統(tǒng)提供的可能涉及到個(gè)人隱私的話題,這些內(nèi)容是關(guān)于用戶個(gè)人信息的,當(dāng)被他人得到將有可能會(huì)濫用并影響到用戶。
例如,涉及用戶個(gè)人信息的敏感話題有職業(yè)、收入、健康狀況、信仰、家庭住址等等。
定義2(請(qǐng)求者的類型(RC))用戶根據(jù)自己與消息請(qǐng)求訪問(wèn)者的親密程度來(lái)對(duì)請(qǐng)求者進(jìn)行分類,在社交應(yīng)用中可以把請(qǐng)求者分成家人、朋友、陌生人等。
定義3(訪問(wèn)水平(AL))用戶根據(jù)自己隱私偏好對(duì)自己發(fā)布的敏感話題定義不同的暴露程度,并與不同類型的請(qǐng)求者進(jìn)行匹配。
例1用戶Alice的其中一個(gè)隱私敏感話題是職業(yè),定義的訪問(wèn)水平是AL=(社會(huì)角色,教育工作者,教師),對(duì)社交應(yīng)用的請(qǐng)求訪問(wèn)者的分類是RC=(陌生人,朋友,家人),所以,當(dāng)Alice發(fā)布了一條消息中含有“教師”這兩個(gè)字的時(shí)候,陌生人看到的是“社會(huì)角色”,她的朋友看到的是“教育工作者”,而她的家人看到的是“教師”。下面是隱私規(guī)則:
rule1=<職業(yè),陌生人,社會(huì)角色>
rule2=<職業(yè),朋友,教育工作者>
rule3=<職業(yè),家人,職業(yè)名稱>
接下來(lái)介紹隱私規(guī)則的定義過(guò)程和系統(tǒng)是如何執(zhí)行的。
rule4=<定位,陌生人,空>
rule5=<定位,朋友,區(qū)屬>
rule6=<定位,家人,具體地點(diǎn)>
rule7=<人名,陌生人,空>
rule8=<人名,朋友,姓名>
rule4禁止陌生人得到用戶定位信息,rule5允許用戶的朋友看到用戶的定位在某個(gè)區(qū)但是更詳細(xì)的位置看不到,rule6允許用戶的家人看到用戶定位的具體地點(diǎn)。rule7禁止陌生人看到用戶發(fā)布的消息中的人名,rule8允許朋友得到消息中的人名。
rule9=<健康狀況,陌生人,空>
rule10=<健康狀況,朋友,生病>
rule11=<健康狀況,家人,病名>
在rule中用戶給陌生人設(shè)定的訪問(wèn)水平是“空”,這就意味著陌生人不會(huì)得到任何有關(guān)該用戶健康狀況的信息。rule10中我們可以看到用戶給自己的朋友設(shè)定的訪問(wèn)水平是“生病”,但是除了這個(gè),朋友并不知道更詳細(xì)的信息。rule11中用戶的家人可以看到用戶是感冒了或者胃炎等具體的病名,因?yàn)榻o家人的訪問(wèn)水平是“病名”。
定義4(概念語(yǔ)義樹)用層次化的樹狀結(jié)構(gòu)來(lái)表達(dá)概念之間的邏輯關(guān)系。
(1)N={n1,n2,…,nn}為概念樹的節(jié)點(diǎn),表示不同的敏感詞。
(2)若一個(gè)節(jié)點(diǎn)含有子節(jié)點(diǎn),則這個(gè)節(jié)點(diǎn)稱為其子節(jié)點(diǎn)的父節(jié)點(diǎn),父節(jié)點(diǎn)的詞匯敏感度低于子節(jié)點(diǎn)。
(3)一個(gè)節(jié)點(diǎn)含有的子樹的根節(jié)點(diǎn)稱為該節(jié)點(diǎn)的子節(jié)點(diǎn),子節(jié)點(diǎn)的詞匯敏感度高于父節(jié)點(diǎn)。
(4)當(dāng)nj節(jié)點(diǎn)是ni節(jié)點(diǎn)的下層節(jié)點(diǎn)時(shí),表示nj節(jié)點(diǎn)中的詞匯敏感度高于ni節(jié)點(diǎn)中的詞匯。
系統(tǒng)通過(guò)比較訪問(wèn)者的訪問(wèn)水平和經(jīng)過(guò)語(yǔ)義處理的消息來(lái)度量消息中詞匯的敏感度。在語(yǔ)義描述中,本體[20,21]作為知識(shí)庫(kù)角色,利用它描述客觀事物的概念和關(guān)系。本體作為知識(shí)庫(kù)的特點(diǎn)在實(shí)現(xiàn)信息檢索,智能搜索方面提供了一種完善的解決方案[22]。本文本體構(gòu)建采取的是 Protégé[23,24],Protege是生成和編輯本體與知識(shí)庫(kù)的可擴(kuò)展、跨平臺(tái)且開(kāi)放源碼的開(kāi)發(fā)環(huán)境,目前已經(jīng)在30多個(gè)國(guó)家得到廣泛的推廣和使用。我們利用本體從CN-DBpedia中得到與不同訪問(wèn)水平對(duì)應(yīng)的概念語(yǔ)義樹,樹中一個(gè)節(jié)點(diǎn)對(duì)應(yīng)一個(gè)訪問(wèn)水平,對(duì)于此節(jié)點(diǎn)下層的所有節(jié)點(diǎn)對(duì)這個(gè)訪問(wèn)水平都是敏感的,即,這個(gè)訪問(wèn)水平不能訪問(wèn)到下面的節(jié)點(diǎn)。如圖3所示,是一棵概念語(yǔ)義樹。

圖3 概念語(yǔ)義樹
例2Alice在社交應(yīng)用上發(fā)布了一條消息,消息中有“教師”這個(gè)詞匯,她的朋友Bob(在Alice的社交應(yīng)用中屬于“朋友”這一訪問(wèn)者類型)要訪問(wèn)這條消息。首先,社交應(yīng)用中的訪問(wèn)控制模塊會(huì)對(duì)Bob的請(qǐng)求進(jìn)行攔截,然后檢查分配給“朋友”這一訪問(wèn)者類型的隱私規(guī)則,以確定Bob的訪問(wèn)水平(教育工作者),然后調(diào)出含有“教育工作者”的這一支(圖3),“教師”節(jié)點(diǎn)在“教育工作者”節(jié)點(diǎn)下面,最終,訪問(wèn)控制模塊將消息中的“教師”替換成“教育工作者”(Bob的訪問(wèn)水平)發(fā)送給Bob。
2.2.2 處理策略沖突
在對(duì)敏感信息進(jìn)行處理時(shí),訪問(wèn)控制模塊也需要處理潛在的策略沖突。當(dāng)用戶在發(fā)布一條消息時(shí)提到了他的一個(gè)朋友,或者這條消息跟他的朋友相關(guān),這時(shí)他的這個(gè)朋友就屬于間接消息發(fā)布者,而他們兩個(gè)人的隱私需求一般來(lái)說(shuō)是不一樣的,這個(gè)時(shí)候就可能產(chǎn)生隱私策略沖突。為了滿足這兩個(gè)人(或更多人)的隱私需求,訪問(wèn)控制模塊需要處理隱私策略沖突,對(duì)兩個(gè)(或多個(gè))訪問(wèn)水平進(jìn)行比較,在語(yǔ)義樹上選擇靠根節(jié)點(diǎn)近的節(jié)點(diǎn),因?yàn)樵娇拷?jié)點(diǎn)詞義越廣,可以很好地保護(hù)隱私信息。
例3Alice在社交應(yīng)用發(fā)布了一條消息,里面提到了Tom,Tom就是這條消息的間接發(fā)布者,下面是描述Alice和Tom隱私需求的訪問(wèn)規(guī)則。
rule1-Alice=<職業(yè),陌生人,社會(huì)角色>
rule2-Alice=<職業(yè),朋友,教育工作者>
rule3-Tom=<職業(yè),朋友,職業(yè)名稱>
我們分兩種情況來(lái)討論隱私策略沖突問(wèn)題:
(1)Bob在Alice社交應(yīng)用中被分在“陌生人”一組,在在Tom的應(yīng)用中是“朋友”這一組,根據(jù)Alice和Tom各自的隱私訪問(wèn)規(guī)則,Bob得到的信息分別是“社會(huì)角色”和“職業(yè)名稱”,這時(shí)候就產(chǎn)生了隱私策略沖突,社交應(yīng)用中的訪問(wèn)控制模塊對(duì)“社會(huì)角色”和“職業(yè)名稱”這兩個(gè)訪問(wèn)水平進(jìn)行比較,選擇詞義更廣的“社會(huì)角色”返回給Bob,最終Bob在Alice發(fā)布的消息中看到的是“社會(huì)角色”。
(2)Bob在Alice社交應(yīng)用中被分在“朋友”一組,在Tom的應(yīng)用中也是“朋友”這一組,但是Alice和Bob給自己朋友定義的隱私訪問(wèn)水平是不同的。根據(jù)Alice和Tom各自的隱私訪問(wèn)規(guī)則,Bob得到的信息分別是“教育工作者”和“職業(yè)名稱”,這時(shí)候就產(chǎn)生了隱私策略沖突,社交應(yīng)用中的訪問(wèn)控制模塊對(duì)“教育工作者”和“職業(yè)名稱”這兩個(gè)訪問(wèn)水平進(jìn)行比較,選擇詞義更廣的“教育工作者”返回給Bob,最終Bob在Alice發(fā)布的消息中看到的是“教育工作者”。
2.2.3 執(zhí)行訪問(wèn)控制
用戶根據(jù)好友親密程度的不同,分配給其不同的隱私訪問(wèn)水平。為了滿足不同的訪問(wèn)者執(zhí)行對(duì)應(yīng)的訪問(wèn)水平,當(dāng)用戶發(fā)布一條消息后,需要根據(jù)訪問(wèn)者的不同類型對(duì)該消息進(jìn)行敏感度評(píng)估。敏感度根據(jù)下述幾個(gè)元素來(lái)定義:訪問(wèn)者的類型、訪問(wèn)者對(duì)應(yīng)的訪問(wèn)水平、訪問(wèn)水平對(duì)應(yīng)的詞,消息中的語(yǔ)義標(biāo)注。設(shè)用戶b請(qǐng)求訪問(wèn)用戶a發(fā)布的消息,首先我們要判斷用戶b的類型rcb,然后根據(jù)b的類型從社交應(yīng)用的庫(kù)中調(diào)出相應(yīng)的隱私規(guī)則ruleb,然后分配給b相應(yīng)的隱私訪問(wèn)水平alb,得到相應(yīng)訪問(wèn)水平對(duì)應(yīng)的詞,最后,b得到跟自己訪問(wèn)水平一致的消息mb。
定義5(訪問(wèn)請(qǐng)求(IR))用戶a和用戶b是好友,用戶b請(qǐng)求訪問(wèn)用戶a發(fā)布的消息,我們用如下三元組來(lái)表示:irba=(b,m,a)。
下述算法定義了系統(tǒng)中訪問(wèn)控制是如何執(zhí)行的:
1.Input:An IR,irba=(b,m,a,),T;
//輸入一個(gè)訪問(wèn)請(qǐng)求和概念語(yǔ)義樹
2.Output:al;//輸出訪問(wèn)水平對(duì)應(yīng)的敏感詞匯
3.request(b,m);//用戶 b 請(qǐng)求訪問(wèn)用戶 a發(fā)布的消息;
4.rcba=JudgeUserType(b);//判斷用戶 b 在 a中的類型;
5.rr1=GetRules(rcba);//b在 a中對(duì)應(yīng)的隱私規(guī)則;
6.alba=GetUserAL(rr1);//b 在 a中所對(duì)應(yīng)的訪問(wèn)水平;
7.al1=DFS(T,alba);
//對(duì)概念語(yǔ)義樹進(jìn)行深度優(yōu)先遍歷,找到b在a中的訪問(wèn)水平對(duì)應(yīng)的敏感詞匯;
8.judge=Co-publisher(m);
//判斷用戶a發(fā)布的消息是否有間接發(fā)布者c,如果有,返回true,如果沒(méi)有,返回false;
9.if judge=false;
10.return al=al1;
11.else
12.rcbc=JudgeUserType(b);//判斷用戶 b 的類型;
13.rr2=GetRule(rcbc);//得到 b 對(duì)應(yīng)的隱私規(guī)則;
14.albc=GetUserAL(rr2);//得到 b 的訪問(wèn)水平;
15.al2=DFS(T,albc);//對(duì)概念語(yǔ)義樹進(jìn)行深度優(yōu)先遍歷,找到b在c中的訪問(wèn)水平對(duì)應(yīng)的敏感詞匯;
16.al=Choose(al1,al2);//從 al1和al2中選擇更靠近根節(jié)點(diǎn)的一個(gè);
17.return al;//返回用戶b訪問(wèn)水平對(duì)應(yīng)的敏感詞匯;

圖4 算法運(yùn)行時(shí)間
上述算法的時(shí)間復(fù)雜度為O(n2),空間復(fù)雜度為O(n),n為概念語(yǔ)義樹的節(jié)點(diǎn)個(gè)數(shù)。如圖4,隨著概念語(yǔ)義樹節(jié)點(diǎn)個(gè)數(shù)的增加,運(yùn)行時(shí)間也在增加,雖然本文的訪問(wèn)控制方法需要一定的時(shí)間開(kāi)銷,但是運(yùn)行時(shí)間是很短的,當(dāng)節(jié)點(diǎn)個(gè)數(shù)增加到100個(gè)的時(shí)候,運(yùn)行時(shí)間也只有3.2毫秒,完全在我們接受的等待時(shí)間的范圍內(nèi)。
考慮在線社交應(yīng)用的一個(gè)用戶Alice發(fā)布了一條消息如下:今天天氣很好,我跟我的好朋友Bob一起去了幼兒園看望小朋友,因?yàn)锽ob是一個(gè)教師,所以他跟孩子們相處的很融洽。消息最后有一個(gè)定位是南京航空航天大學(xué)。
如圖5所示,是Alice發(fā)布的消息,當(dāng)Alice將這條消息發(fā)布到自己的社交應(yīng)用上之后,社交應(yīng)用開(kāi)始對(duì)這條消息進(jìn)行處理,首先,對(duì)發(fā)布的消息進(jìn)行名詞標(biāo)注,結(jié)果如下圖6所示。

圖5 Alice在移動(dòng)社交應(yīng)用上發(fā)布的消息

圖6 經(jīng)過(guò)詞性標(biāo)注的消息
圖6對(duì)消息中的名詞進(jìn)行了標(biāo)注,后面有/n、/nr、/ns、/ng的都是名詞,已經(jīng)被標(biāo)注出來(lái),nr是人名,ns是地名,ng是名詞性語(yǔ)素。
Alice設(shè)置的敏感話題(ST)中包括職業(yè)和具體位置,所以經(jīng)過(guò)語(yǔ)義分析和消歧之后,篩選出教師和南京航空航天大學(xué)屬于敏感話題,接下來(lái)需要對(duì)它們進(jìn)行處理。
首先,我們先來(lái)看Alice給她的不同類型的訪問(wèn)者定義的隱私規(guī)則,
rule1-Alice=<職業(yè),陌生人,社會(huì)角色>
rule2-Alice=<職業(yè),朋友,教育工作者>
rule3-Alice=<職業(yè),家人,職業(yè)名稱>
rule4-Alice=<定位,陌生人,定位>
rule5-Alice=<定位,朋友,區(qū)屬>
rule6-Alice=<定位,家人,具體位置>
由于Alice在自己發(fā)布的消息中提到了Bob,所以Bob就是這條消息的間接發(fā)布者,他的隱私也需要保護(hù),Bob給他的不同的請(qǐng)求訪問(wèn)者定義的隱私規(guī)則如下,
rule7-Bob=<職業(yè),陌生人,社會(huì)角色>
rule8-Bob=<職業(yè),朋友,教育工作者>
rule9-Bob=<職業(yè),家人,職業(yè)名稱>
rule10-Bob=<定位,陌生人,市屬>
rule11-Bob=<定位,朋友,區(qū)屬>
rule12-Bob=<定位,家人,具體位置>
當(dāng)Alice的朋友Ted想要訪問(wèn)她發(fā)布的這條消息時(shí),Ted向移動(dòng)在線社交應(yīng)用發(fā)出請(qǐng)求,社交應(yīng)用對(duì)Ted的訪問(wèn)水平進(jìn)行評(píng)估,在這里,Ted是Alice的朋友,但是對(duì)Bob來(lái)說(shuō),他是一個(gè)陌生人,如圖7、圖8所示,是Alice和Bob對(duì)不同的敏感詞的隱私訪問(wèn)水平。

圖7 Alice和Bob的訪問(wèn)水平

圖8 Alice和Bob的訪問(wèn)水平
我們可以看到Alice和Bob的隱私策略是沖突的,根據(jù)之前策略沖突的處理方法,最終Ted得到的消息中,“教師”由“社會(huì)角色”代替,定位中的“江寧區(qū)”由“南京”代替,所以最后Ted在他自己的移動(dòng)在線社交應(yīng)用上看到的Alice發(fā)布的消息內(nèi)容是這樣的:今天天氣很好,我跟我的好朋友Bob一起去了幼兒園看望小朋友,因?yàn)锽ob是社會(huì)角色,所以他跟孩子們相處的很融洽。消息最后有一個(gè)定位是南京。這樣就很好的保護(hù)了Alice跟Bob的隱私。
提出了一個(gè)隱私驅(qū)動(dòng)的細(xì)粒度的訪問(wèn)控制機(jī)制,可以對(duì)在線社交應(yīng)用中的隱私泄露問(wèn)題進(jìn)行有效地保護(hù)。相比之前的相關(guān)工作,本文的主要貢獻(xiàn)在于在線社交應(yīng)用可以自動(dòng)的對(duì)用戶發(fā)布的消息進(jìn)行語(yǔ)義分析,把涉及到的敏感話題進(jìn)行標(biāo)注,然后根據(jù)訪問(wèn)者的不同對(duì)該敏感詞進(jìn)行處理,最后不同的訪問(wèn)者得到的消息是不同的,而且該訪問(wèn)控制機(jī)制對(duì)用戶是透明的,用戶在使用起來(lái)簡(jiǎn)單便捷。并相應(yīng)的進(jìn)行了案例分析,證明了該訪問(wèn)控制機(jī)制的可行性。本文的下一步工作是,將該訪問(wèn)控制機(jī)制應(yīng)用到現(xiàn)有的在線社交應(yīng)用中同時(shí)提出一種根據(jù)不同用戶隱私偏好自動(dòng)生成用戶的隱私規(guī)則的方法。