陳嘉琪 鄧霞 包淑嫻 房家杰
(廣州大學(xué)計算機科學(xué)與網(wǎng)絡(luò)工程學(xué)院 廣東省廣州市 510006)
伴隨現(xiàn)代移動智能設(shè)備(如:平板電腦、智能手機等)的普遍使用,設(shè)備經(jīng)常因為人類的社會特性從而發(fā)生移動。移動能夠使設(shè)備之間進行機會式的連接,從而搭建起臨時網(wǎng)絡(luò),在沒有基礎(chǔ)網(wǎng)絡(luò)設(shè)施的環(huán)境下,各種現(xiàn)代移動智能設(shè)備可以通過搭建起的臨時網(wǎng)絡(luò)進行通信。因為人類經(jīng)常攜帶移動設(shè)備,所以使得設(shè)備具有一定的移動性。并且由于人類的社會行為,需要人與人之間的通信交流,單人之間的一對一通信,多人之間的組播通信,這種環(huán)境下搭建起的臨時網(wǎng)絡(luò)我們稱之為移動社會網(wǎng)絡(luò)。
移動社會網(wǎng)絡(luò)經(jīng)常是以組播方式實現(xiàn),如通知公告、交流群、論壇等,因此設(shè)計移動社會網(wǎng)絡(luò)組播通信具有一定的應(yīng)用價值。組播是通過組群這個整體對內(nèi)部的一切節(jié)點進行數(shù)據(jù)傳輸,組播成員是消息的目的地。相比于單播能夠降低傳輸開銷和提高資源利用率,相比于廣播能夠提高安全性。
藍牙技術(shù)是無線技術(shù)中的一種標準,能夠正常的讓帶有藍牙功能的設(shè)備之間進行短距離范圍內(nèi)的數(shù)據(jù)交換。裝有藍牙適配器的移動設(shè)備能夠周期性地掃描附近設(shè)備,然后發(fā)送請求進行藍牙配對,被請求設(shè)備再次返回一個信號,說明設(shè)備配對成功或者失敗。
藍牙連接中,存在著安全隱患[3]:
(1)中間人攻擊:藍牙的簽權(quán)沒有采用公鑰認證機制,攻擊者可能對授權(quán)客戶端和主節(jié)點進行雙重欺騙,進而對信息進行竊取和篡改。
(2)拒絕服務(wù)攻擊:人為或自然的因素使網(wǎng)絡(luò)設(shè)備無法獲得應(yīng)有的網(wǎng)絡(luò)服務(wù),如頻率干擾、帶寬消耗和安全服務(wù)設(shè)備的資源耗盡。通過和其他入侵方式的結(jié)合,這種攻擊行為具有強大的破壞性。
傳統(tǒng)藍牙安全機制的設(shè)計是為了防止連接數(shù)據(jù)被截獲的風(fēng)險,多播藍牙通信中,包括多個節(jié)點之間的通信,以及節(jié)點的增加和抑制,可能引發(fā)不安全隱患,因此,需要新的安全機制來降低安全隱患的可能性?;谛湃螜C制的藍牙組播方案,通過權(quán)重結(jié)合考慮歷史信任度、朋友信任度及相似性信任度來衡量藍牙節(jié)點的信任值。并進一步對可信任區(qū)間進行分類,實現(xiàn)用戶在傳輸數(shù)據(jù)過程中選擇相對信任的設(shè)備節(jié)點,降低傳輸?shù)陌踩[患。
每個節(jié)點計算與其連接的節(jié)點的信任值,如果檢測為惡意節(jié)點,則拒絕與其連接。檢測模塊的功能包括更新當前信任值和繼續(xù)計算信任值和檢測操作、更新。
在藍牙通信中,假定有多個客戶端能夠提供連接,在保證服務(wù)質(zhì)量的前提下,當選擇一般服務(wù)節(jié)點提供組播通信服務(wù)[4]時,必須評估每個節(jié)點的可靠性,并選擇具有較高信任度的節(jié)點。在評估普通節(jié)點的可靠性的時候,需利用服務(wù)器與普通節(jié)點交互的直接經(jīng)驗,以及接收其他節(jié)點建議的信任度,因此會不可避免地獲得某些不確定性信息。所以如何合理地融合藍牙通訊節(jié)點之間的推薦信任度信息是十分關(guān)鍵的。
2.1.1 節(jié)點信任度
一個實體的可靠度由其他實體的承認與否來表示。一個節(jié)點實體(發(fā)送者A)與另一個節(jié)點實體(接收方B)相互協(xié)作完成一個任務(wù),發(fā)送者A 首先計算收件人B 的信任度TrustA(B),由此確定是否與收信方B 協(xié)作,其可靠性值TrustA(B)不僅作為節(jié)點實體A 和節(jié)點實體B 今后的相互合作的歷史經(jīng)驗值,而且可以作為推薦信息提供給其他節(jié)點。
節(jié)點實體是否信任其他節(jié)點實體主要與以下兩個要素有關(guān):
合作性[1]:反映了節(jié)點實體的交流程度,節(jié)點實體的合作性取決于與其他節(jié)點實體的連接次數(shù),一個節(jié)點實體的連接次數(shù)越多,是該節(jié)點實體的被接受程度越高的反映。指示該節(jié)點實體的更可靠還是其他節(jié)點實體更容易接受。
相似性:此處與原理論不同,考慮的是兩個節(jié)點實體的藍牙連接的相似性,即實體A 連接的藍牙中與實體B 連接的藍牙重復(fù)的數(shù)量,稱其為相似性,相似性越高就是重復(fù)的數(shù)量越高。就表明兩個節(jié)點實體的可信度量過程越相似,一個節(jié)點實體向另一個節(jié)點實體提供的參考信息是越可信的。
2.1.2 信度量分類
(1)完全可信,指連接雙方經(jīng)過長期的交往,并通過重多連接事件考驗形成的相互信任。[1]
(2)較可信,指連接雙方經(jīng)過長期的交往,并通過較多連接事件考驗形成的相互信任。
(3)一般可信,指連接雙方?jīng)]有充分的理由不信任或信任對方。
(4)不可信(危險),指連接雙方經(jīng)過長期交往,形成的至少一方對另一方不信任。
當實體A 與實體B 進行連接時,為了評估節(jié)點實體B 是否可信,A 首先計算實體B 的可靠度值,當信任值大于某值時,才與節(jié)點實體B 連接發(fā)送消息。
2.1.3 信任值計算
實體 A 對實體 B 的可信度量值計算公式定義為
按照公式順序計算,每個實體只被計算一次,避免實體間的重復(fù)計算。
將可信度量值計算分為參考信任值和相似信任值兩部分,參考信任值包括歷史參考信任值、朋友參考信任值。相似信任值部分是基于實體A 與實體B 連接過的朋友節(jié)點中相同的個數(shù),參考信任值部分是基于多方歷史信任值因素,故認為參考信任值的計算權(quán)重比相似信任值大些。權(quán)重R 設(shè)為0.6,而Q 相應(yīng)設(shè)為0.4,且R+Q=1,權(quán)值M,N 表示歷史參考信任值與朋友參考信任值之間的比重,實體A 對實體B 的可信度量值應(yīng)主要由實體A 本身的歷史參考信任值決定,故設(shè)M 為0.7,而N 相應(yīng)設(shè)為0.3,且M+N=1。
TrustA (B) : 實體 A 對實體 B 的可信度量值, 其中可信度量值將在本次合作后得到更新。
Trust HistorA(B) : 實體 A 通過最近時間內(nèi)與實體B 的合作綜合得出對實體 B 的信任值, 即歷史參考信任值。即實體A 上一次與實體B 連接產(chǎn)生的信任值與本次連接之后產(chǎn)生的信任值的平均值,若沒有上一次連接就只要本次連接的信任值作為初始值。
Trust FriendA (B) :表示所有與實體A 連接過的實體對實體B 的可信度量值, 這些值將作為實體 A 對實體B 作出信任值的參考信息。與實體A 連接過的藍牙設(shè)備可分為兩類,一類稱為實體朋友AverCloseFriendC,另一類稱為朋友AverStrangeFriendD;朋友AverCloseFriendC 是指與實體A 連接過的藍牙設(shè)備中信任值屬于較信任等級以及完全信任等級的所有實體,其對實體B 的信任值平均值,由于其信任等級較高,其參考值更可信些,故設(shè)其占有的權(quán)重a=0.7;朋友AverStrangeFriendD 是指與實體A 連接過的藍牙設(shè)備中信任值屬于一般信任等級的所有實體,其對實體B 的信任值平均值,由于其信任等級較低,其參考值不可信些,故設(shè)其占有的權(quán)重b=0.3,且a+b=1。
Trust SimilarityA (B):表示實體A 與實體B 的藍牙連接的相似性,即實體A 連接的藍牙中與實體B 連接的藍牙設(shè)備重復(fù)的數(shù)量,稱其為相似性,相似性越高就是重復(fù)的數(shù)量越高。
兩個節(jié)點在連接傳輸消息的可靠性,是根據(jù)歷史連接相似性中兩個節(jié)點的共同朋友的數(shù)目來預(yù)測的,并根據(jù)如下公式計算相似性信任值:
其中實體A 的朋友總數(shù)為numA ,實體B 的朋友總數(shù)numB,numA ∩numB 是實體A 與實體B 的朋友相同數(shù)。
在初次藍牙連接時,由于沒有歷史連接記錄作為參考信息,故將新連接的藍牙設(shè)備的信任值規(guī)定為一般信任等級?;ハ噙B接過的藍牙設(shè)備,將按照計算公式,在每一次藍牙連接完成后,都會重新計算一次信任值。
圖1:建立組播群
圖2:信任值顯示
圖3:數(shù)據(jù)到達率對比圖
在計算得到的信任值為一般信任等級、較信任等級以及完全信任等級時,用戶可以選擇該等級的藍牙設(shè)備進行組播群連接;而計算的信任值為不可信等級的藍牙設(shè)備,將會被排除在群聊外。用戶不會去選擇不可信的藍牙設(shè)備進行連接,當節(jié)點互相發(fā)送消息時,消息不會被傳輸?shù)叫湃沃禐椴豢尚诺乃{牙設(shè)備。
基于信任機制的藍牙傳輸系統(tǒng)依靠連接的相似性,以此向用戶提供更安全的選擇。消息在相似性較高的藍牙設(shè)備之間傳遞,減少了節(jié)點的自私性行為,從而使消息的傳輸效率提高,增加消息的到達率。
圖1建立組播群中圖(a)表示首先創(chuàng)建三個藍牙設(shè)備的組播群,圖(b)和圖(c)表示設(shè)備2&3 在組播群內(nèi)發(fā)送消息。在消息傳遞時,設(shè)備之間的藍牙連接的輸出流向另外的設(shè)備輸出,完成一次消息傳遞,并且沒有嚴重丟包,從而獲得了新的信任值加分。
圖2 信任值顯示中圖(a)表示設(shè)備2&3 相對于設(shè)備1 的信任值上升到“較信任”等級。而圖(b)表示設(shè)備1 由于沒有啟動信息傳輸?shù)倪B接,在設(shè)備2&3 上面顯示的信任值等級仍為“新設(shè)備”(新設(shè)備等級對應(yīng)上層理論的一般信任等級)。
測試:在有無安全機制下,藍牙連接的到達率實驗設(shè)計:
實驗設(shè)備為三臺安卓手機。三臺實體設(shè)備之間,互相傳遞消息,根據(jù)所有接收節(jié)點接收到消息的大小之和與發(fā)送的消息的大小對比,而得出消息的到達率。
(Mem 為組播中接收節(jié)點的數(shù)量,當前為2 個)
如果通信中發(fā)現(xiàn)缺少數(shù)據(jù)或者丟包,最大的可能在于程序發(fā)送的過程或者接收的過程出現(xiàn)問題。例如服務(wù)端要給客戶端發(fā)送大量數(shù)據(jù),發(fā)送頻率很高,那么就很有可能在發(fā)送環(huán)節(jié)出現(xiàn)錯誤:(1)程序處理邏輯錯誤;(2)多線程同步問題;(3)緩沖區(qū)溢出等,如果沒有對發(fā)送失敗做處理,那么客戶端收到的數(shù)據(jù)比理論要收到的數(shù)據(jù)少,就會造成丟數(shù)據(jù),丟包現(xiàn)象。
如圖3 所示,無信任機制的系統(tǒng),在消息傳輸中會遇到很多偶然情況,導(dǎo)致消息傳輸出現(xiàn)多種到達率,有無法連接導(dǎo)致的0 到達率;也有因為節(jié)點的自私性行為,使消息傳輸延遲增加,導(dǎo)致網(wǎng)絡(luò)性能降低,從而導(dǎo)致達率出現(xiàn)多種情況。
有信任機制的系統(tǒng)在消息傳輸時,會減少碰到偶然情況的概率。在多次連接中,選擇歷史連接過的藍牙設(shè)備,也是信任值等級較高的設(shè)備,可以保證藍牙連接的穩(wěn)定性,減少無法連接的概率。同時,多次連接過的藍牙設(shè)備為自私節(jié)點的概率降低,在消息的大小和發(fā)送消息頻率較為合理時,消息的到達率逐漸升高,在網(wǎng)絡(luò)條件很好的情況下,可達到100%的數(shù)據(jù)到達率
本次研究移動社會網(wǎng)絡(luò)的藍牙組播通信中,提出基于綜合考慮節(jié)點歷史參考信任值、朋友參考信任值及相似性信任值的信任機制,并在具體的Android 平臺中實現(xiàn)了基于藍牙的組播安全系統(tǒng)。通過實際實驗,實驗結(jié)果顯示提出的信任機制提高了消息傳遞的到達率,在數(shù)據(jù)傳輸過程中避開惡意節(jié)點實現(xiàn)更加安全的連接,降低節(jié)點的自私性行為對通信造成的坡壞。本文提出的信任值計算的優(yōu)化對藍牙安全應(yīng)用都有一定程度的參考價值,可大大改善藍牙傳輸網(wǎng)絡(luò)安全。