陳嘉琪 鄧霞 包淑嫻 房家杰
(廣州大學計算機科學與網絡工程學院 廣東省廣州市 510006)
伴隨現代移動智能設備(如:平板電腦、智能手機等)的普遍使用,設備經常因為人類的社會特性從而發生移動。移動能夠使設備之間進行機會式的連接,從而搭建起臨時網絡,在沒有基礎網絡設施的環境下,各種現代移動智能設備可以通過搭建起的臨時網絡進行通信。因為人類經常攜帶移動設備,所以使得設備具有一定的移動性。并且由于人類的社會行為,需要人與人之間的通信交流,單人之間的一對一通信,多人之間的組播通信,這種環境下搭建起的臨時網絡我們稱之為移動社會網絡。
移動社會網絡經常是以組播方式實現,如通知公告、交流群、論壇等,因此設計移動社會網絡組播通信具有一定的應用價值。組播是通過組群這個整體對內部的一切節點進行數據傳輸,組播成員是消息的目的地。相比于單播能夠降低傳輸開銷和提高資源利用率,相比于廣播能夠提高安全性。
藍牙技術是無線技術中的一種標準,能夠正常的讓帶有藍牙功能的設備之間進行短距離范圍內的數據交換。裝有藍牙適配器的移動設備能夠周期性地掃描附近設備,然后發送請求進行藍牙配對,被請求設備再次返回一個信號,說明設備配對成功或者失敗。
藍牙連接中,存在著安全隱患[3]:
(1)中間人攻擊:藍牙的簽權沒有采用公鑰認證機制,攻擊者可能對授權客戶端和主節點進行雙重欺騙,進而對信息進行竊取和篡改。
(2)拒絕服務攻擊:人為或自然的因素使網絡設備無法獲得應有的網絡服務,如頻率干擾、帶寬消耗和安全服務設備的資源耗盡。通過和其他入侵方式的結合,這種攻擊行為具有強大的破壞性。
傳統藍牙安全機制的設計是為了防止連接數據被截獲的風險,多播藍牙通信中,包括多個節點之間的通信,以及節點的增加和抑制,可能引發不安全隱患,因此,需要新的安全機制來降低安全隱患的可能性。基于信任機制的藍牙組播方案,通過權重結合考慮歷史信任度、朋友信任度及相似性信任度來衡量藍牙節點的信任值。并進一步對可信任區間進行分類,實現用戶在傳輸數據過程中選擇相對信任的設備節點,降低傳輸的安全隱患。
每個節點計算與其連接的節點的信任值,如果檢測為惡意節點,則拒絕與其連接。檢測模塊的功能包括更新當前信任值和繼續計算信任值和檢測操作、更新。
在藍牙通信中,假定有多個客戶端能夠提供連接,在保證服務質量的前提下,當選擇一般服務節點提供組播通信服務[4]時,必須評估每個節點的可靠性,并選擇具有較高信任度的節點。在評估普通節點的可靠性的時候,需利用服務器與普通節點交互的直接經驗,以及接收其他節點建議的信任度,因此會不可避免地獲得某些不確定性信息。所以如何合理地融合藍牙通訊節點之間的推薦信任度信息是十分關鍵的。
2.1.1 節點信任度
一個實體的可靠度由其他實體的承認與否來表示。一個節點實體(發送者A)與另一個節點實體(接收方B)相互協作完成一個任務,發送者A 首先計算收件人B 的信任度TrustA(B),由此確定是否與收信方B 協作,其可靠性值TrustA(B)不僅作為節點實體A 和節點實體B 今后的相互合作的歷史經驗值,而且可以作為推薦信息提供給其他節點。
節點實體是否信任其他節點實體主要與以下兩個要素有關:
合作性[1]:反映了節點實體的交流程度,節點實體的合作性取決于與其他節點實體的連接次數,一個節點實體的連接次數越多,是該節點實體的被接受程度越高的反映。指示該節點實體的更可靠還是其他節點實體更容易接受。
相似性:此處與原理論不同,考慮的是兩個節點實體的藍牙連接的相似性,即實體A 連接的藍牙中與實體B 連接的藍牙重復的數量,稱其為相似性,相似性越高就是重復的數量越高。就表明兩個節點實體的可信度量過程越相似,一個節點實體向另一個節點實體提供的參考信息是越可信的。
2.1.2 信度量分類
(1)完全可信,指連接雙方經過長期的交往,并通過重多連接事件考驗形成的相互信任。[1]
(2)較可信,指連接雙方經過長期的交往,并通過較多連接事件考驗形成的相互信任。
(3)一般可信,指連接雙方沒有充分的理由不信任或信任對方。
(4)不可信(危險),指連接雙方經過長期交往,形成的至少一方對另一方不信任。
當實體A 與實體B 進行連接時,為了評估節點實體B 是否可信,A 首先計算實體B 的可靠度值,當信任值大于某值時,才與節點實體B 連接發送消息。
2.1.3 信任值計算
實體 A 對實體 B 的可信度量值計算公式定義為

按照公式順序計算,每個實體只被計算一次,避免實體間的重復計算。
將可信度量值計算分為參考信任值和相似信任值兩部分,參考信任值包括歷史參考信任值、朋友參考信任值。相似信任值部分是基于實體A 與實體B 連接過的朋友節點中相同的個數,參考信任值部分是基于多方歷史信任值因素,故認為參考信任值的計算權重比相似信任值大些。權重R 設為0.6,而Q 相應設為0.4,且R+Q=1,權值M,N 表示歷史參考信任值與朋友參考信任值之間的比重,實體A 對實體B 的可信度量值應主要由實體A 本身的歷史參考信任值決定,故設M 為0.7,而N 相應設為0.3,且M+N=1。
TrustA (B) : 實體 A 對實體 B 的可信度量值, 其中可信度量值將在本次合作后得到更新。
Trust HistorA(B) : 實體 A 通過最近時間內與實體B 的合作綜合得出對實體 B 的信任值, 即歷史參考信任值。即實體A 上一次與實體B 連接產生的信任值與本次連接之后產生的信任值的平均值,若沒有上一次連接就只要本次連接的信任值作為初始值。
Trust FriendA (B) :表示所有與實體A 連接過的實體對實體B 的可信度量值, 這些值將作為實體 A 對實體B 作出信任值的參考信息。與實體A 連接過的藍牙設備可分為兩類,一類稱為實體朋友AverCloseFriendC,另一類稱為朋友AverStrangeFriendD;朋友AverCloseFriendC 是指與實體A 連接過的藍牙設備中信任值屬于較信任等級以及完全信任等級的所有實體,其對實體B 的信任值平均值,由于其信任等級較高,其參考值更可信些,故設其占有的權重a=0.7;朋友AverStrangeFriendD 是指與實體A 連接過的藍牙設備中信任值屬于一般信任等級的所有實體,其對實體B 的信任值平均值,由于其信任等級較低,其參考值不可信些,故設其占有的權重b=0.3,且a+b=1。

Trust SimilarityA (B):表示實體A 與實體B 的藍牙連接的相似性,即實體A 連接的藍牙中與實體B 連接的藍牙設備重復的數量,稱其為相似性,相似性越高就是重復的數量越高。
兩個節點在連接傳輸消息的可靠性,是根據歷史連接相似性中兩個節點的共同朋友的數目來預測的,并根據如下公式計算相似性信任值:

其中實體A 的朋友總數為numA ,實體B 的朋友總數numB,numA ∩numB 是實體A 與實體B 的朋友相同數。
在初次藍牙連接時,由于沒有歷史連接記錄作為參考信息,故將新連接的藍牙設備的信任值規定為一般信任等級。互相連接過的藍牙設備,將按照計算公式,在每一次藍牙連接完成后,都會重新計算一次信任值。

圖1:建立組播群

圖2:信任值顯示

圖3:數據到達率對比圖
在計算得到的信任值為一般信任等級、較信任等級以及完全信任等級時,用戶可以選擇該等級的藍牙設備進行組播群連接;而計算的信任值為不可信等級的藍牙設備,將會被排除在群聊外。用戶不會去選擇不可信的藍牙設備進行連接,當節點互相發送消息時,消息不會被傳輸到信任值為不可信的藍牙設備。
基于信任機制的藍牙傳輸系統依靠連接的相似性,以此向用戶提供更安全的選擇。消息在相似性較高的藍牙設備之間傳遞,減少了節點的自私性行為,從而使消息的傳輸效率提高,增加消息的到達率。
圖1建立組播群中圖(a)表示首先創建三個藍牙設備的組播群,圖(b)和圖(c)表示設備2&3 在組播群內發送消息。在消息傳遞時,設備之間的藍牙連接的輸出流向另外的設備輸出,完成一次消息傳遞,并且沒有嚴重丟包,從而獲得了新的信任值加分。
圖2 信任值顯示中圖(a)表示設備2&3 相對于設備1 的信任值上升到“較信任”等級。而圖(b)表示設備1 由于沒有啟動信息傳輸的連接,在設備2&3 上面顯示的信任值等級仍為“新設備”(新設備等級對應上層理論的一般信任等級)。
測試:在有無安全機制下,藍牙連接的到達率實驗設計:
實驗設備為三臺安卓手機。三臺實體設備之間,互相傳遞消息,根據所有接收節點接收到消息的大小之和與發送的消息的大小對比,而得出消息的到達率。

(Mem 為組播中接收節點的數量,當前為2 個)
如果通信中發現缺少數據或者丟包,最大的可能在于程序發送的過程或者接收的過程出現問題。例如服務端要給客戶端發送大量數據,發送頻率很高,那么就很有可能在發送環節出現錯誤:(1)程序處理邏輯錯誤;(2)多線程同步問題;(3)緩沖區溢出等,如果沒有對發送失敗做處理,那么客戶端收到的數據比理論要收到的數據少,就會造成丟數據,丟包現象。
如圖3 所示,無信任機制的系統,在消息傳輸中會遇到很多偶然情況,導致消息傳輸出現多種到達率,有無法連接導致的0 到達率;也有因為節點的自私性行為,使消息傳輸延遲增加,導致網絡性能降低,從而導致達率出現多種情況。
有信任機制的系統在消息傳輸時,會減少碰到偶然情況的概率。在多次連接中,選擇歷史連接過的藍牙設備,也是信任值等級較高的設備,可以保證藍牙連接的穩定性,減少無法連接的概率。同時,多次連接過的藍牙設備為自私節點的概率降低,在消息的大小和發送消息頻率較為合理時,消息的到達率逐漸升高,在網絡條件很好的情況下,可達到100%的數據到達率
本次研究移動社會網絡的藍牙組播通信中,提出基于綜合考慮節點歷史參考信任值、朋友參考信任值及相似性信任值的信任機制,并在具體的Android 平臺中實現了基于藍牙的組播安全系統。通過實際實驗,實驗結果顯示提出的信任機制提高了消息傳遞的到達率,在數據傳輸過程中避開惡意節點實現更加安全的連接,降低節點的自私性行為對通信造成的坡壞。本文提出的信任值計算的優化對藍牙安全應用都有一定程度的參考價值,可大大改善藍牙傳輸網絡安全。