羅恩韜,王國軍,劉 琴,孟大程,唐雅媛
1(湖南科技學(xué)院 電子與信息工程學(xué)院,湖南 永州 425199)
2(中南大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長沙 410083)
3(湖南大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長沙 410082)
移動社交網(wǎng)絡(luò)(mobile social network,簡稱MSN)為用戶提供了更多的機會與其周圍的移動用戶進(jìn)行社會交往,例如,彼此之間可以互相分享照片、視頻、游戲以及進(jìn)行交流等[1].此外,多樣化的移動應(yīng)用APP軟件也為用戶提供了更多的機會去拓展新的社會關(guān)系與商業(yè)機會[2](例如,微信應(yīng)用中“附近的人”“微商”等).
利用用戶個性化配置文件進(jìn)行相似度匹配,是當(dāng)前移動社交網(wǎng)絡(luò)中發(fā)現(xiàn)新朋友的一個有效手段.例如,用戶可以通過APP應(yīng)用與智能設(shè)備的Wi-Fi接口來發(fā)現(xiàn)附近具有某種特征屬性的朋友,進(jìn)而發(fā)起交友請求.但是在交友過程中,用戶之間共享信息也無形中增加了個人隱私泄漏的風(fēng)險[3].例如:通過觀察對方購物的愛好,可以分析用戶的消費能力;通過對用戶朋友圈的分析,可以確定用戶的身份等.而這些隱私信息一旦被非法利用,極有可能導(dǎo)致被惡意用戶利用進(jìn)行商業(yè)欺騙或者從事其他非法活動.
因此,如何在用戶之間提供良好交友匹配服務(wù)的同時,又能夠保護用戶個人隱私,是當(dāng)前交友隱私保護中亟待解決的一個熱點問題,也是移動應(yīng)用服務(wù)提供商未來的研究方向.
目前,針對移動社交網(wǎng)絡(luò)交友隱私保護的研究主要分為依靠可信服務(wù)第三方(trusted third party,簡稱TTP)參與的方案和不依靠TTP參與的方案.
· 在有TTP參與的方案中[4?6],用戶需要將他們的特征屬性配置文件提交給TTP,由TTP作為匹配中心來計算用戶之間的相似度.這種方案雖然在一定程度上解放了智能終端的計算能力,提高了用戶的匹配效率,但是依然存在以下安全風(fēng)險:第一,一旦TTP攻擊者被攻破,攻擊者可以很容易地獲取TTP上用戶的信息,從而造成用戶隱私泄漏;第二,事實上,真正意義上完全可信的第三方并不存在,因此有可能存在TTP因為商業(yè)利益驅(qū)動或者其他原因,出現(xiàn)TTP非法訪問或者出售用戶隱私數(shù)據(jù)的風(fēng)險;第三,所有用戶特征匹配計算均在TTP服務(wù)器上進(jìn)行,在服務(wù)高峰時期,極有可能會造成TTP服務(wù)器的計算和服務(wù)瓶頸;
· 而不依靠TTP參與的方案大多采用復(fù)雜的密碼計算來保證用戶隱私安全,這主要包括對稱加密運算與非對稱加密運算[7?12].在這類方案中,雖然加密計算提高了對用戶隱私的保護,但是在計算用戶屬性之間的私有交集(private set intersection,簡稱PSI)時,需要對加密文件先進(jìn)行解密,再進(jìn)行匹配.因此在增加智能終端的計算開銷的同時,也直接影響了用戶體驗.
為解決這個問題,后繼工作中,文獻(xiàn)[13]提出了一種基于Paillier加密算法的保密計算協(xié)議,可以有效保證用戶隱私不被泄露.但是Paillier密碼體制是一種具有語義安全的同態(tài)密碼算法,在密鑰的生成和加解密上,計算效率不高.文獻(xiàn)[14]提出了一種基于同態(tài)加密算法的多服務(wù)器的用戶特征屬性的匹配方案,可以有效地保證用戶的隱私不被泄露.但是該方案在表示用戶特征時使用了一維向量,只考慮用戶共同的屬性個數(shù),因此無法細(xì)粒度地描述用戶對某種特征的偏好程度.
為降低現(xiàn)有方案的性能瓶頸以及對復(fù)雜加解密技術(shù)的依賴,同時又可以細(xì)粒度地描述用戶之間特征屬性的相似程度,本文在吸取了以往研究者的經(jīng)驗后,提出一種不依賴可信中心與復(fù)雜的加密算法,而是利用矩陣混淆變換與安全內(nèi)積計算來保證交友用戶的隱私安全.
1) 利用輕量級的混淆矩陣變換和向量拆分方法代替復(fù)雜的加密運算,不僅可保證用戶特征屬性隱私,而且能提高匹配過程的效率;
2) 利用安全內(nèi)積計算用戶特征屬性的相似度,不需要交友用戶頻繁解密特征匹配文件,降低用戶隱私泄露風(fēng)險;
3) 利用多跳代理朋友發(fā)現(xiàn)機制,可以更精確地找到相同或相似特征用戶,更具有可用性.
本文第2節(jié)為方案的預(yù)備知識.第3節(jié)給出方案的系統(tǒng)模型與安全模型.第4節(jié)對方案進(jìn)行詳細(xì)設(shè)計.第5節(jié)討論安全性證明與交友機會分析.性能分析和詳細(xì)的實驗驗證在第6節(jié)中進(jìn)行體現(xiàn).
在數(shù)論中,對于給定大于1的一個足夠大的正整數(shù)N,存在正整數(shù)p,q,計算乘積N=p×q是非常容易的.相反地,求出p,q,使得p×q=N,也就是求出N的分解式是非常困難的(其中,αi為正整數(shù),σi為素數(shù),i=1,2,…,k).這是因為大數(shù)分解與素數(shù)的判別緊密相關(guān),而素數(shù)在正整數(shù)中的分布無任何規(guī)律.因此在密碼學(xué)中,充分地利用了這一數(shù)學(xué)知識來提高密碼破解難度.
為了提高分解N的難度,安全素數(shù)p,q的選擇應(yīng)滿足以下條件.
1)p,q的差值很大,但是位數(shù)相差不大;
2)p?1,q?1,p+1,q+1均有大素數(shù)因子;
3) (p?1,q?1)的最大公約數(shù)很小.
內(nèi)積加密計算作為安全多方計算基礎(chǔ)協(xié)議之一,主要應(yīng)用于保密計算中,具體描述如下.
1) 假設(shè)發(fā)起者持有私有向量X=(x1,x2,…,xn),應(yīng)答者持有私有向量Y=(y1,y2,…,yn),令為發(fā)起者的同態(tài)公鑰,為發(fā)起者的同態(tài)公鑰,那么發(fā)起者和應(yīng)答者之間的點積計算可以如下表示.
2) 發(fā)起者為向量X的每一個元素生成一個隨機數(shù)ri,并利用加密向量X,生成發(fā)給應(yīng)答者;
3) 應(yīng)答者接受到發(fā)起者的消息后,利用自身向量元素yi與計算得到向量內(nèi)積對應(yīng)的密文
4) 應(yīng)答者生成新的隨機數(shù)r′,利用計算將計算結(jié)果w′發(fā)送給發(fā)起者;
5) 發(fā)起者利用自己的私鑰解密w′計算得到兩者的交集.
1) 假設(shè)發(fā)起者持有私有向量X=(x1,x2,…,xn),應(yīng)答者持有私有向量Y=(y1,y2,…,yn),發(fā)起者如果想知道與應(yīng)答者之間的相似度,那么發(fā)起者需要計算:

其中,“·”表示內(nèi)積.
2) 計算不可區(qū)分性:對于任意兩個隨機變量X,Y,存在X={Xω}ω∈S,Y={Yω}ω∈S稱為計算不可區(qū)分,記為如果對于任意多項式{Cn}n∈N,存在多項式P(?),ω∈S∩{0,1}n,有下式成立,則滿足計算不可區(qū)分:

3) 如果應(yīng)答者愿意參與計算與發(fā)起者的相似度,卻又不希望泄漏個人私有信息(可描述為私有向量),則可以進(jìn)行以下計算.

在移動社交網(wǎng)絡(luò)中,用戶通過分享彼此個性化的特征屬性文件(購物愛好、投資興趣、地理位置、個人健康信息等,見表1)有利于找到與自己相同或者相近特征屬性的潛在朋友,從而為進(jìn)一步交流和交友提供便利.但是在交友過程中,陌生用戶之間互相擁有對方的特征屬性信息,極有可能造成隱私泄漏,從而增加安全風(fēng)險.

Table 1 User profile in mobile social networks表1 移動社交網(wǎng)絡(luò)用戶個人屬性文檔信息
在以往的研究模型中,用戶特征屬性的隱私安全主要包括以下兩個方面.
1) 特征敏感屬性的隱私安全:所有參與匹配過程的發(fā)起者、應(yīng)答者,都不能隨意暴露自己和他人的隱私.任何一方無意或者惡意暴露用戶隱私都是非法行為[15?18];
2) 通信信道安全:發(fā)起者和應(yīng)答者之間信息交互時,應(yīng)當(dāng)保證通信信道安全,防止攻擊者竊聽或者截獲交互信息,造成用戶隱私泄漏[19?21].
因此在本方案中,為保護用戶的隱私,系統(tǒng)模型設(shè)計如下.
假設(shè)Alice為發(fā)起者,Bob和Cindy為應(yīng)答者,發(fā)起者和應(yīng)答者的角色可以進(jìn)行互換,交友匹配過程如圖1所示.經(jīng)過第1輪一跳范圍內(nèi)(通信距離)交友匹配過程結(jié)束后,發(fā)起人知道與所有應(yīng)答用戶(通信范圍內(nèi))匹配交集的大小,而應(yīng)答者不知道任何發(fā)起者的隱私信息.如果發(fā)起者有意愿尋找下一跳更匹配的用戶,發(fā)起者將第1輪匹配得到最大交集結(jié)果(閾值)和發(fā)起者經(jīng)過混淆的個人特征屬性配置文件交給代理用戶(應(yīng)答者)進(jìn)行轉(zhuǎn)發(fā),由應(yīng)答者作為代理尋找更遠(yuǎn)距離的匹配用戶,一旦出現(xiàn)交集大于第1輪的匹配結(jié)果,那么將由代理用戶通知發(fā)起者,由代理用戶幫助發(fā)起者和第2輪的應(yīng)答用戶建立起聯(lián)系,如果沒有更佳的匹配用戶存在,發(fā)起者仍然選擇第1輪匹配交集排名最高的應(yīng)答者進(jìn)行交友匹配.

Fig.1 Profile matching model in mobile social networks圖1 移動社交網(wǎng)絡(luò)匹配過程模型圖
目前,國內(nèi)外研究交友匹配過程中的隱私保護,均假設(shè)存在兩種攻擊者.
1) 內(nèi)部攻擊者,也稱為誠實而好奇的攻擊者(honest-but-curious)[22]
在匹配過程中,內(nèi)部攻擊者誠實地遵守雙方協(xié)議,通常不破壞協(xié)議流程,但是試圖從獲取的信息中通過用戶行為分析[23]來獲得用戶更多的隱私信息(例如:通過用戶每天的消費習(xí)慣來推測用戶的信用額度,或者通過用戶關(guān)注的醫(yī)療健康信息來了解用戶的身體狀況).
2) 外部攻擊者,也稱為惡意攻擊者(malicious model)攻擊模型[24,25]
外部攻擊者通常不遵守協(xié)議流程,采用暴力或非法竊取合法交友用戶的信息來訪問未獲授權(quán)的信息;監(jiān)聽合法交友用戶通信信道并進(jìn)行破解;截獲合法交友用戶的通信信息,進(jìn)行偽裝和篡改后再重傳給接收者,從而阻止資源的合法管理等.在本文中,通過竊聽、暴力攻擊等手段的非法授權(quán)用戶都屬于外部攻擊者.
為了進(jìn)一步明確模型中的工作角色,本方案假設(shè)發(fā)起者Alice是完全可信的,應(yīng)答者Bob,Cindy是誠實而好奇的,即Bob,Cindy等應(yīng)答者會按照既定協(xié)議工作,但是不排除他們試圖從獲取的信息中采用用戶行為分析等技術(shù)手段去窺視用戶更多的隱私信息.而網(wǎng)絡(luò)中存在的惡意攻擊者是完全不可信的,即惡意攻擊者有可能通過膨脹攻擊、暴力推測[26?28]等方法來非法訪問未經(jīng)授權(quán)的數(shù)據(jù).因此用戶在網(wǎng)絡(luò)信道上傳輸隱私數(shù)據(jù)之前,需要對數(shù)據(jù)進(jìn)行利用大素數(shù)混淆處理.
一般來說,要獲得更高的隱私安全,那么在通信效率和計算效率上就要付出更高的計算代價.因此,針對移動社交網(wǎng)絡(luò)的真實需求,本文的安全目標(biāo)擬達(dá)到定義1、定義2來保證用戶之間的隱私.
定義1(抵御內(nèi)部攻擊者).匹配完成時,交友匹配雙方僅僅知道彼此之間是否存在交集(共同屬性),以及如果存在交集,發(fā)起者還應(yīng)知道應(yīng)答者與自身具體匹配的屬性.除此之外,匹配雙方均不知道對方與共同屬性無關(guān)的其他任何信息.
定義2(抵御外部攻擊者).匹配完成時,假設(shè)外部攻擊者攔截到交互過程中的消息,外部攻擊者也無法將這些消息進(jìn)行解密恢復(fù)消息明文.如果外部攻擊者存在身份偽裝欺騙等惡意行為,那么用戶能夠快速識別.
基于定義1、定義2,本文的安全目標(biāo)應(yīng)能夠確定信息是否來源于合法交友用戶,應(yīng)答者能夠確定所獲得的信息在傳輸過程中是否被篡改,用戶的隱私信息在整個匹配過程中能夠保證其隱私性、完整原子性、可驗證性和不可抵賴性.
方案包括以下4個階段:系統(tǒng)初始化階段,矩陣混淆和權(quán)重變換階段,用戶屬性匹配階段,分布式計算代理尋找最優(yōu)匹配階段.本文的詳細(xì)匹配過程如圖2、圖3所示.

Fig.2 Multi-hops profile matching model in mobile social networks (I)圖2 移動社交網(wǎng)絡(luò)多跳匹配過程模型圖(I)

Fig.3 Multi-hops profile matching model in mobile social networks (II)圖3 移動社交網(wǎng)絡(luò)多跳匹配過程模型圖(II)
假設(shè)應(yīng)用開發(fā)者在交友APP中定義了一系列個人屬性可供用戶選擇,例如q個屬性可分別對應(yīng)q個用戶特征向量{I1,I2,…,Iq},用戶可選擇其中自身感興趣的m個屬性m∈q,以及對某種屬性的偏好程度(個人屬性興趣權(quán)重).屬性權(quán)重可以由整數(shù)i進(jìn)行表示,i∈[1,n],n可根據(jù)實際應(yīng)用場景對某種屬性的偏好程度進(jìn)行細(xì)粒度的設(shè)置.
當(dāng)一個發(fā)起者Alice有意尋找他/她鄰近范圍內(nèi)的潛在交友用戶時,Alice首先選擇一定數(shù)目的屬性以及屬性對應(yīng)的權(quán)重組成矩陣MAm×n(m≠n),矩陣的元素由aij表示,aij∈[0,1].
假設(shè)用戶擁有3個屬性,對應(yīng)矩陣的第1列~第3列,分別為看電影、游泳和購物;假設(shè)Alice對看電影的偏好程度為4級,那么需要將矩陣a41的元素置為“1”,而該列的其他元素則設(shè)為“0”;同理,如果Alice對游泳的興趣愛好為1,購物的興趣愛好為5,那么Alice的個人屬性配置矩陣可表示為

直觀地,如果用戶直接將MAm×n發(fā)送給周圍參與匹配的交友用戶.如果這些用戶存在攻擊者,那么攻擊者就可以掌握用戶所有的特征屬性,從而造成用戶隱私泄漏.
因此,為保證用戶隱私安全,本文基于大數(shù)分解困難以及非方陣求逆復(fù)雜問題,利用大素數(shù)對矩陣元素進(jìn)行信息混淆,同時利用單位矩陣對Alice的矩陣行向量(權(quán)重信息)進(jìn)行轉(zhuǎn)換.轉(zhuǎn)換規(guī)則由用戶自身掌握,轉(zhuǎn)換的目的可以有效保證用戶配置文件即使被泄漏,攻擊者依然不能對矩陣權(quán)重元素進(jìn)行信息對應(yīng),從而可以抵制攻擊者復(fù)制Alice配置文件副本對Alice進(jìn)行膨脹攻擊.為簡化描述計算過程,本文此后的MAm×n矩陣均用2行3列矩陣進(jìn)行表示.
在本節(jié)中,Alice通過隨機產(chǎn)生的大素數(shù)α,β與兩個隨機產(chǎn)生的矩陣MCm×n,MRm×n對MAm×n中的元素進(jìn)行混淆,同時,隨機生成經(jīng)過行變換的單位矩陣MIm×m,用來對MAm×n矩陣的權(quán)重屬性進(jìn)行變換.密鑰在混淆過程中產(chǎn)生(是用來在后繼階段將密文恢復(fù)成明文).

IDAlice代表發(fā)起者身份特征;H(?)是一個公開的哈希函數(shù),H(IDAlice)代表Alice身份特征的哈希值;Δt代表時間戳,用于抵抗重放攻擊.為簡單描述計算過程,假設(shè)用戶Alice的屬性矩陣,根據(jù)算法1,關(guān)鍵計算過程步驟如下.
算法1.發(fā)起者屬性矩陣初始混淆算法.

那么經(jīng)過行初等變換的矩陣為

4.3.1 矩陣相乘
假設(shè)應(yīng)答者Bob(或者其他應(yīng)答者)接收到發(fā)起者的查詢信息MsgI2R,并且有意與發(fā)起者Alice進(jìn)行交友,那么Bob將對Alice的身份信息進(jìn)行數(shù)據(jù)完整性驗證.
首先,Bob計算消息在接收時刻t2減去發(fā)送時刻t1是否小于Δt來對抗重放攻擊;同時,利用公開的哈希函數(shù)H(?)對IDAlice進(jìn)行哈希,并與MsgI2R中H(IDAlice)進(jìn)行比較,如果值相等,說明信息在傳遞過程中身份信息IDAlice沒有被攻擊者篡改.
在計算過程中,當(dāng)兩個矩陣擁有交集的時候,算法將對應(yīng)矩陣元素乘積設(shè)置為1,否則設(shè)置為0.算法結(jié)束后,Bob將獲得一個新矩陣MDm×m:

最后,Bob將MDm×m組成應(yīng)答消息MsgI2R發(fā)送給Alice,發(fā)送的消息為

算法2.應(yīng)答者矩陣相乘算法.


4.3.2 矩陣解密屬性交集

4.3.3 權(quán)重矩陣構(gòu)造和相似度計算
在Alice接收到Bob或者其他應(yīng)答者反饋的消息MDm×m=(dij)m×m的同時,Alice將根據(jù)MDm×m矩陣元素下標(biāo)構(gòu)造一個權(quán)重矩陣(Wij)m×m來恢復(fù)原矩陣的權(quán)重關(guān)系,該權(quán)重矩陣用來描述發(fā)起者和應(yīng)答者特征屬性之間的關(guān)系,也是為進(jìn)行矩陣內(nèi)積計算而得到兩者之間的相似度.根據(jù)權(quán)重映射關(guān)系(對角線上的元素相似度最大),同時為保證權(quán)重之間的差異化,設(shè)計具體權(quán)重轉(zhuǎn)換公式:

根據(jù)權(quán)重關(guān)系Wij與相似度矩陣MT對應(yīng)元素內(nèi)積計算,可以精確計算發(fā)起者和應(yīng)答者相似度值Similary,其中,“·”代表內(nèi)積.

通過比較發(fā)現(xiàn),Bob與Alice的特征屬性更相似.類似地,Alice就可以從所有的應(yīng)答者中選擇相似度值最大的用戶作為其自身的匹配用戶.
算法3.特征屬性相似度(交集)計算算法.
Input:(Wij)m×m,MDm×m=(dij)m×m;
Output:通過安全內(nèi)積計算出用戶之間相似度λ.

完成步驟4.3,Alice將知道在她一跳范圍內(nèi)最匹配的交友用戶.但是在實際的情況中,有可能在應(yīng)答者的下一跳會出現(xiàn)與Alice特征屬性更匹配的用戶,因此本文假設(shè)第1輪的應(yīng)答者Bob作為代理轉(zhuǎn)發(fā)Alice的配置文件和第1輪所有應(yīng)答用戶最大相似度的值λmax.為減少代理和發(fā)起者的通信開銷,本方案設(shè)計只有相似度值大于λmax的用戶才能夠得到返回.同時,為了避免過大的通信開銷和計算時間消耗,Alice可以選擇代理轉(zhuǎn)發(fā)的跳數(shù).通過這種方法,發(fā)起者重新與新的最佳應(yīng)答者(代理的下一跳的用戶)建立起通信會話,從而找到更適合自己的交友用戶,具體過程見圖3和算法4.
算法4.分布式計算代理尋找最優(yōu)匹配算法.

本節(jié)將分別考慮針對惡意攻擊和誠實而好奇攻擊情況下對本方案的安全性進(jìn)行證明,著重討論發(fā)起者與應(yīng)答者之間的隱私保護.為簡化描述,假設(shè)Bob是Alice最佳匹配者.
5.1.1 抵御外部攻擊者膨脹攻擊和暴力攻擊
挑戰(zhàn)1.攻擊者可以攻擊用戶之間的通信信道,如果攻擊者可以成功截獲用戶之間的通信密文,并能夠?qū)⒋嗣芪幕謴?fù)成明文,那么攻擊者將贏得這個挑戰(zhàn).
引理1.本方案可以成功抵御外部惡意攻擊者的膨脹攻擊.
證明:假設(shè)外部攻擊者可以竊聽用戶Alice和應(yīng)答者Bob之間的通信過程,并且攔截到Alice與Bob的消息,攻擊者偽造,生成文件的拷貝并利用拷貝文件與相乘,計算出并發(fā)送給Alice,從而欺騙Alice為最佳匹配.但是因為偽裝拷貝矩陣與原矩陣都是大素數(shù)對位相乘,因此矩陣中元素的數(shù)值將非常龐大,這將會很快被Alice發(fā)現(xiàn)異常.
另外,因為攻擊者不是合法用戶,所以攻擊者并不知道Bob的計算規(guī)則(算法2),因此偽造的不能被Alice進(jìn)行解密,所以攻擊者將很快地被Alice識別,攻擊失敗,□
引理2.本方案可以成功做到抵御外部者惡意攻擊者的暴力推測.
證明:假設(shè)攻擊者利用背景知識或者其他攻擊手段試圖推導(dǎo)用戶更多的隱私,攻擊者可根據(jù)用戶的特征屬性、興趣愛好、地理位置等構(gòu)造攻擊字典,并試圖利用攻擊字典來暴力破解用戶的隱私.但是根據(jù)騰訊微博調(diào)查結(jié)果顯示:移動社交網(wǎng)絡(luò)中用戶的特征屬性具有多樣化的特征,普通社交用戶至少擁有11個特征屬性來細(xì)粒度地表示自己的興趣愛好等.在本方案中,如果每個屬性有10個權(quán)重,那么暴力攻擊者試圖分析出用戶的真實屬性,將至少會有種選擇.也就是說,只有1/K=1/3628800的概率可以分析出用戶的真實矩陣情況.因此,攻擊者試圖通過構(gòu)造攻擊字典來暴力攻擊,那么這個計算開銷將非常龐大.□
5.1.2 抵抗內(nèi)部攻擊者的用戶行為分析
挑戰(zhàn)2.假設(shè)Bob是內(nèi)部攻擊者,彼此試圖通過接收到的信息進(jìn)行用戶行為分析,從而推測對方所有真實屬性和對某種屬性的偏好程度.如果Bob可以成功恢復(fù)出原始矩陣MAm×n,那么攻擊者將贏得這個挑戰(zhàn).
引理3.本協(xié)議可以成功保護發(fā)起者的隱私.
為衡量真實移動社交網(wǎng)絡(luò)中交友匹配的參與用戶,本文模擬在時間t內(nèi)將參與人作為代理,為滿足交友計算需求能夠提供的有效計算資源數(shù).

根據(jù)真實應(yīng)用場景需求,將時間考慮在60s、120s、180s、240s、300s的參與人數(shù)和單個用戶提供的計算資源,計算模型仿真結(jié)果如表2和圖4所示.

Table 2 Provide resource expectation表2 提供資源預(yù)期

Fig.4 Opportunity calculation model圖4 機會計算參與人數(shù)和提供資源模型圖
從圖4(a)、圖4(b)可以看出:總資源一定的情況下,在移動社交活動稀疏時刻,計算資源閑置時,可通過降低參與計算應(yīng)答者的概率p,做到增加社交交友的參與人數(shù)E(Nq(t)),從而促進(jìn)社交活動更有效地開展.
6.1.1 計算開銷
在本節(jié)中,將與現(xiàn)有研究工作進(jìn)行計算開銷的對比分析,對于計算開銷,本文主要考慮方案中乘法運算和加法運算的次數(shù).
本文采用exp1標(biāo)識1 024位的求冪操作,exp2標(biāo)識2 048位的求冪操作,add表示模加運算,mul1,mul2分別表示1 024位和2 048位的乘法運算.詳細(xì)比較結(jié)果見表3.

Table 3 Computation cost表3 計算數(shù)據(jù)開銷
表3中,因為本文協(xié)議采用矩陣運算和大素數(shù)混淆運算,發(fā)起用戶在離線狀態(tài)時,僅需要將原始矩陣與混淆矩陣相乘,再利用隨機行變換矩陣進(jìn)行混淆,因此需要2m?n?mul1的計算開銷.矩陣相乘后對矩陣運算進(jìn)行相加計算,需要3m?n?add的計算開銷,所以發(fā)起者離線狀態(tài)下的總計算開銷為2m?n?mul1+3m?n?add,見算法1.與離線狀態(tài)下WAS與Fine-grained方案均采用了較復(fù)雜exp1指數(shù)運算對比,顯然更有優(yōu)勢.
同時,在發(fā)起用戶在線階段,需要進(jìn)行 2次乘法運算和 3次加法運算,見算法 3.因此,總計算開銷為2?m?m?mul1+3?m?m?add;而應(yīng)答用戶則需要m?m?n?mul1+m?m?n?add的計算開銷,見算法2.相比WAS與Finegrained方案,本方案計算開銷更小.
6.1.2 通信開銷
在本節(jié)中,將與現(xiàn)有研究工作進(jìn)行通信開銷的對比分析.通信開銷通常是由協(xié)議中的通信次數(shù)或者協(xié)議中發(fā)送的比特位數(shù)來決定.
假設(shè)每個用戶的屬性個數(shù)和屬性權(quán)重分別是n和m,接收和發(fā)送數(shù)量用比特位數(shù)進(jìn)行計算.在用戶信息交互過程中,發(fā)起者僅僅需要將自身矩陣大小乘以可變密鑰長度,所以通信開銷為m?n?k;而應(yīng)答者因為在多跳階段需要承擔(dān)交友配置文件的轉(zhuǎn)發(fā)任務(wù),因此通信開銷為2?m?n?k.
本方案因為采用可變密鑰k,因此可適用不同的安全需求場景.在安全性需求較高的情況下,用戶可以選擇較長的可變密鑰k;在安全性需求較低的情況下,用戶可以選擇較短的可變密鑰k.與WAS和Fine-grained協(xié)議使用固定長度1 024bit和2 048bit的密鑰相比,顯然更為靈活高效.
在本文的測試環(huán)境中,利用小米手機NOTE版進(jìn)行群組測試.編程環(huán)境使用Eclipse,利用Java作為編程語言進(jìn)行代碼開發(fā).硬件條件為:CPU驍龍? 8X74AC 801處理器,主頻2.5GHz,使用LPDDR3 933MHz 3G高速內(nèi)存,支持藍(lán)牙4.0和Wi-Fi雙頻.
開發(fā)庫為(java.math.BigInteger/java.util.Arrays/java.util.Random),用戶特征屬性(興趣愛好)利用爬蟲代碼從社交網(wǎng)站進(jìn)行抓取并進(jìn)行處理.
考慮用戶實際應(yīng)用對數(shù)據(jù)安全的差異性需求,本文分別采用64位、128位、256位的大素數(shù)作為密鑰進(jìn)行實驗,同時采用不同數(shù)目的權(quán)重和不同數(shù)目的屬性對算法進(jìn)行了對比分析.
圖5(a)~圖5(d)分別顯示密鑰長度為64位、128位、256位在線計算開銷和離線計算開銷在不同權(quán)重和屬性影響下的評價結(jié)果.離線計算開銷表示發(fā)起者構(gòu)造的計算時間,在線計算開銷表示應(yīng)答者計算MDm×m=的時間.經(jīng)過比較,在線情況下,屬性值對計算開銷的影響比權(quán)重的影響要大,在線計算開銷時間(單位:μs)稍大于離線計算開銷時間.這是因為在線處理時中的元素經(jīng)過了大素數(shù)和隨機矩陣的混淆計算,而離線計算情況下,MAm×n中的元素還是0或者1.
同時,從圖5中可以看出:在線計算的時間以μs為單位,而離線計算的計算時間以ns為單位,這個時間對于進(jìn)行移動社交網(wǎng)絡(luò)交友的用戶幾乎可以忽略不計,很好地保證了在交友過程中的用戶體驗.

Fig.5 Initiator offline and online computation cost圖5 發(fā)起者離線計算和在線計算開銷圖

Fig.5 Initiator offline and online computation cost (Continued)圖5 發(fā)起者離線計算和在線計算開銷圖(續(xù))
圖6(a)、圖6(b)分別表示權(quán)值和屬性變化時對計算總時間的影響.當(dāng)權(quán)值和屬性個數(shù)發(fā)生改變時,相較于權(quán)值的改變,屬性個數(shù)改變對計算總時間產(chǎn)生更大的影響,這也符合真實移動社交網(wǎng)絡(luò)交友匹配的情景.因為通常在交友活動中,用戶希望提供更細(xì)粒度的屬性選擇,以便更精確地匹配.特別地,在圖7(a)中,當(dāng)屬性值依次從10~100依次進(jìn)行遞增,執(zhí)行總時間相差并不大.在圖7(b)中,屬性保持10個可選屬性,密鑰長度使用256位的大素數(shù)加密時,依然能保持很好的用戶體驗.

Fig.6 Attributes and weights change execution cost圖6 屬性和權(quán)重分別變化執(zhí)行總時間圖

Fig.7 Initiator and responder communication cost圖7 發(fā)起者和應(yīng)答者的通信開銷
圖7(a)、圖7(b)分別表示發(fā)起者和應(yīng)答者的通信開銷.本文假設(shè)擴大1倍的通信范圍去尋找與發(fā)起者更匹配的用戶,圖7(a)表示權(quán)重固定為10,屬性數(shù)目依次遞增發(fā)起者的通信開銷,橫坐標(biāo)表示屬性數(shù)目.圖7(b)表示應(yīng)答者通信開銷,橫坐標(biāo)表示權(quán)重,通過與表4中其他協(xié)議比較發(fā)現(xiàn):即使本文提出的方案擴大了通信范圍,因為采用代理承擔(dān)通信負(fù)載,因此通信效率得到了提高.由此可得出結(jié)論:本文在擴大交友匹配范圍的同時,通信消耗并沒有明顯的級數(shù)增長,依然是線性的.

Table 4 Communication cost表4 通信數(shù)據(jù)開銷
同時,在移動社交網(wǎng)絡(luò)中,運行安裝在移動終端上的APP的能耗也是一個重要的考慮因素.本文通過參考文獻(xiàn)[8],利用能耗計算公式E=Nt?Et+Nr?Er進(jìn)行了計算,其中,Nt,Nr分別代表傳輸數(shù)據(jù)和接受數(shù)據(jù).根據(jù)每比特的發(fā)送能量消耗Et≈4.8μJ和接收能量消耗Er≈6.7μJ,為簡單描述,本文僅僅選取權(quán)重屬性作為能量消耗的參考因素進(jìn)行對比,得出如下的計算結(jié)果,如圖8所示.

Fig.8 Initiator and responder energy consumption圖8 發(fā)起者和應(yīng)答者能量消耗圖
通過全面的對比分析,本方案與傳統(tǒng)的利用對稱加密、非對稱加密技術(shù)進(jìn)行社交交友方案相比較,在計算開銷、通信開銷和能量消耗上均有較明顯的優(yōu)勢.最后,本文在方法的適應(yīng)性上與其他協(xié)議進(jìn)行了比較,可以發(fā)現(xiàn),本方案更具有通用性(見表5).

Table 5 Adaptability comparison of typical privacy preserving methods in mobile social networks表5 移動社交網(wǎng)絡(luò)典型隱私保護方法適應(yīng)性比較
在移動社交網(wǎng)絡(luò)中,最大化增強彼此之間的聯(lián)系和交流,同時又保護用戶的個人隱私問題,是當(dāng)前隱私保護方向的一個研究熱點.本文基于數(shù)論基礎(chǔ),提出不依賴TTP可信服務(wù)器輕量級的矩陣混淆和多跳代理方案,實現(xiàn)了移動社交網(wǎng)絡(luò)交友匹配的隱私保護.在計算量上沒有使用復(fù)雜的雙線性對和指數(shù)運算,只使用了計算開銷較小的哈希函數(shù)運算、取模運算和內(nèi)積計算等.該方案提高了移動社交網(wǎng)絡(luò)中用戶的交友效率,使用戶能夠迅速發(fā)現(xiàn)鄰近范圍內(nèi)與發(fā)起者屬性匹配的用戶,減少了移動終端計算和通信開銷.通過機會分析、安全和性能分析,本文提出的協(xié)議可以在終端資源受限的情況下,讓用戶更有效、更安全地進(jìn)行移動社交活動.