王 君,冀常鵬,汪 洋,王連鵬
(1. 遼寧工程技術(shù)大學 a. 研究生學院;b. 電子與信息工程學院,遼寧 葫蘆島125105;2. 特變電工沈陽變壓器集團有限公司,沈陽 1 10144)
P2P網(wǎng)絡中基于云模型的信任機制研究
王 君1a,冀常鵬1b,汪 洋1a,王連鵬2
(1. 遼寧工程技術(shù)大學 a. 研究生學院;b. 電子與信息工程學院,遼寧 葫蘆島125105;2. 特變電工沈陽變壓器集團有限公司,沈陽 1 10144)
針對近年來對等網(wǎng)絡中存在大量不安全服務的問題,提出一種基于云模型的信任機制。在符合查詢操作的節(jié)點中,根據(jù)前若干周期的信任向量,利用灰色預測模型預測各個節(jié)點在當前周期的信任向量,設計云模型算法分別建立云模型,依據(jù)信任云決策算法和信任云相似度度量算法選出值得信任的節(jié)點為請求節(jié)點提供服務。仿真結(jié)果表明,該機制在選擇目標服務節(jié)點時,不僅考慮節(jié)點信任值的平均值,而且還考慮信任值的離散性,可以從多個角度更全面、合理地選出最值得信任的目標服務節(jié)點,達到提高網(wǎng)絡服務質(zhì)量、增強網(wǎng)絡安全性的目的。
對等網(wǎng)絡;云模型;灰色預測模型;信任向量;網(wǎng)絡安全
從Napster和Gnutella網(wǎng)絡開始,對等(Peer-to-Peer, P2P)網(wǎng)絡系統(tǒng)就成為Internet吸引數(shù)百萬用戶不可分割的部分。P2P技術(shù)使得資源共享網(wǎng)絡結(jié)構(gòu)從傳統(tǒng)的C/S模式過渡到P2P模式[1]。由于P2P網(wǎng)絡淡化了對中央服務器的依賴,秉承了分布式計算的特點,使得它更加徹底地暴露在攻擊者面前。服務質(zhì)量(Quality of Service, QoS)不可靠、欺詐行為、網(wǎng)絡可用性差等問題成為影響P2P網(wǎng)絡向安全性能要求更高的應用擴展的主要障礙[2]。調(diào)查結(jié)果表明,就文件共享而言,有25%的文件是虛假文件,此外也有惡意節(jié)點利用網(wǎng)絡散播病毒等一系列不良行為,使得QoS無法得到較好的保證[3]。針對諸如此類的情況,建立一個安全、充滿信任的P2P網(wǎng)絡體系,為用戶提供放心、可靠的服務環(huán)境勢在必行。
通過網(wǎng)絡中其他節(jié)點對目標節(jié)點歷史行為的評價信息可以得到該目標節(jié)點的信任值,而通過信任值的高低可以判定是否與其進行交易,該信任機制可以在一定程度上區(qū)分出好節(jié)點與壞節(jié)點,提高了P2P網(wǎng)絡的安全性[4]。但信任具有很大的主觀性、模糊性以及隨機性。而傳統(tǒng)的信任模型中沒有考慮到信任的不確定性,或是將信任的不確定性簡單地等同于隨機性或模糊性[5]。例如文獻[6]中的Eigent Trust模型是經(jīng)典的解決信任機制的模型,也只考慮了信任的隨機性,而沒有考慮信任的模糊性。研究發(fā)現(xiàn),文獻[7]提出的云模型能將定性概念的主觀性、模糊性和隨機性有機地結(jié)合起來,實現(xiàn)概念的定性與定量間的轉(zhuǎn)換。在基于云模型的信任機制中,信任決策機制通過收集節(jié)點在過去時段其他節(jié)點對該節(jié)點的評價信息(稱為信任向量)并為之建立云模型,從而判定出此節(jié)點是否值得信任。文獻[8-10]都是將云模型應用到信任機制中,但又因為網(wǎng)絡中有惡意節(jié)點的存在,此類節(jié)點并不是每時每刻都向其他節(jié)點提供信任的服務。因此,本文提出一種用灰色預測模型[11]預測節(jié)點行為的信任機制,以保證查詢節(jié)點得到安全的服務。
2.1 云的基本概念
云與云滴:設U是一個用精確數(shù)值表示的定量論域(一維的,二維的或多維的),C是U上的定性概念,對于論域中的任意一個元素x,且x是定性概念C的一次隨機實現(xiàn),x對C的確定度μ(x)∈[0, 1]是有穩(wěn)定傾向的隨機數(shù):
則將x在論域U上的分布稱為云模型,簡稱為云。每一個x稱為一個云滴。
2.2 云的數(shù)字特征
云的數(shù)字特征用期望Ex、熵En和超熵He這3個數(shù)值來表示,它們的定義及特點描述如下:
(1)期望Ex:在論域空間中最能代表這個定性概念的點,是這個概念量化的最典型樣本點。
(2)熵En:代表一個定性概念的可度量粒度,熵越大概念越宏觀。熵也反映定性概念的不確定性,是定性概念亦此亦彼性的度量。
(3)超熵He:熵的不確定性度量,它反映代表定性概念值的樣本出現(xiàn)的隨機性,揭示了模糊性和隨機性的關聯(lián)[12]。
2.3 云發(fā)生器
云模型中2個最重要的算法是正向云發(fā)生器和逆向云發(fā)生器。正向云發(fā)生器是已知3個數(shù)字特征得到一定數(shù)量的云滴,是定性概念轉(zhuǎn)化為定量的表示。逆向云發(fā)生器是已知一定數(shù)量的樣本數(shù)據(jù)得到云模型的3個數(shù)字特征,是定量映射到定性的表示。正向云發(fā)生器和逆向云發(fā)生器簡單的算法描述如下:
算法1 正向云發(fā)生器
輸入 表示定性概念C的Ex,En,He和云滴數(shù)N
輸出 N個云滴的定量值以及每個云滴代表概念C的確定度
以En為期望值、He為標準差生成一個正態(tài)隨機數(shù)En’,以Ex為期望值、En’為標準差生成正態(tài)隨機數(shù)x,x即為定性概念C的一次具體量化值,稱為云滴。計算:
y即為x屬于A的確定度,則{x,y}可以完整地反映出這一次定性到定量轉(zhuǎn)換的全部內(nèi)容,由此重復以上操作,直到產(chǎn)生N個云滴為止[13]。
算法2 逆向云發(fā)生器
輸入 N個云滴xi(1≤i≤N)
輸出 這N個云滴表示的定性概念C的Ex,En和He
根據(jù)xi計算這組數(shù)據(jù)的樣本均值x、樣本方差S2和樣本2階中心矩B:
從而計算出期望值Ex、熵En和超熵He:
3.1 信任云的定義
信任云是一種特殊的云模型,它將對信任的表達用云模型的方式反映出來,具體的云模型定義如下:
定義1 信任云是以一維正態(tài)云的形式描述實體間的信任關系,形式化表述為:
其中,Ex是期望值,反映信任的一般水平;En是熵,反映信任的不確定性;He是超熵,反映熵的不確定性[14-15]。
3.2 信任向量的定義
通常,實體間的信任評估取決于對對方服務行為滿意度的高低。對節(jié)點服務質(zhì)量的評價,本文采用離散標度(1, 0.75, 0.5, 0.25, 0)來描述不同的滿意度高低(分別對應為非常滿意、滿意、一般、不滿意、非常不滿意)。當查詢節(jié)點從目標服務節(jié)點N獲得所需的資源后,對目標服務節(jié)點N給出其服務滿意度的評價。如此在一段時間T后,可以整理出節(jié)點N在時間T內(nèi)的滿意度評價集合,稱為節(jié)點N在時間T內(nèi)的信任向量。具體的定義如下:
定義2 信任向量V是一個五維向量,是與滿意度評價高低描述相對應的對目標服務節(jié)點在時間T內(nèi)的服務評價的集合。
節(jié)點N在周期Ti的信任向量為VNi(10, 20, 15, 0, 0),表示在周期Ti其他節(jié)點對N的服務滿意度評價中有10次非常滿意、20次滿意和15次一般。
3.3 信任云的生成
已知節(jié)點N在某周期Ti的信任向量為VNi(10, 20, 15, 0, 0),可通過算法2(逆向云發(fā)生器)得到信任向量VNi對應的信任云模型CNi的3個數(shù)字特征:
從而實現(xiàn)定量到定性概念的轉(zhuǎn)換。再通過算法1(正向云發(fā)生器)由CNi的3個數(shù)字特征得到信任云模型CNi的云滴圖,以此來描述出信任值的分布情況。具體的云滴圖如圖1所示。
圖1 VNi(10, 20, 15, 0, 0)對應的云滴圖
3.4 灰色預測模型
每當節(jié)點執(zhí)行完一次查詢服務,模型都會對目標服務節(jié)點給出其服務質(zhì)量的滿意度評價。如此,每個節(jié)點都維持一個信任值表格(Trust-value Neighbor),記錄自己在當前周期Ti之前4個周期Ti–1,Ti–2,Ti–3,Ti–4的滿意度評價集合。因為信任值表格中總是記錄當前周期之前4個周期的信任值,所以信任值表格是每隔時間T更新一次的。節(jié)點N在當前周期的信任值如表1所示。
表1 節(jié)點在當前時刻的信任值
從表1可以看出,節(jié)點N在周期Ti–4的信任向量VNi–4為(5, 20, 18, 3, 0),在周期Ti–3的信任向量為VNi–3為(7, 18, 15, 5, 0),在周期Ti–2的信任向量VNi–2為(10, 18, 20, 5, 0),在周期Ti–1的信任向量VNi–1為(10, 15, 16, 4, 0)。
根據(jù)灰色預測模型可以預測出N在當前周期Ti的信任向量VNi。下面以單序列一階線性微分方程GM(1, 1)為例,介紹灰色預測的具體步驟。
設有原始數(shù)據(jù)序列S(0)=(S(0)(1), S(0)(2), …, S(0)(n)),n為數(shù)據(jù)的個數(shù)。
(1)為了弱化原始隨機序列的波動性和隨機性,對原始數(shù)據(jù)累加得到新的數(shù)據(jù)序列S(1)為:
(5)對函數(shù)表達式S(1)(t+1)及S(1)(t)作差,還原出S(0)序列,得到的S(0)(t+1)為:S(0)(t+1)=S(1)(t+1)–S(1)(t)。
(6)利用該模型對原始數(shù)據(jù)序列S(0)進行預測,得到的數(shù)據(jù)如下:
經(jīng)過上述灰色預測,現(xiàn)對周期Ti信任向量中的非常滿意的評價次數(shù)進行預測。由表1得到非常滿意的初始數(shù)據(jù)序列為S(0)=(5, 7, 10, 10),經(jīng)灰色預測模型預測得到S(0)(5)= 12.213 4,四舍五入得S(0)(5)=12。同理可以預測出周期Ti信任向量中的滿意、一般、不滿意與非常不滿意的評價次數(shù),得出VNi(12, 14, 18, 4, 0)。
3.5 信任云決策算法
當節(jié)點A執(zhí)行查詢服務后,系統(tǒng)會返回滿足查詢條件的節(jié)點。A要在滿足查詢操作的節(jié)點中選出值得信任的節(jié)點作為目標服務節(jié)點,本文使用信任云決策算法對多個云模型進行是否信任的選擇。本文首先設定作為標準的信任云,稱為基準云,表示為CS(Exs, Ens, Hes);要進行比較的云稱為比較云,記為Cm(Exm, Enm, Hem)。因此,節(jié)點A信任一個目標服務節(jié)點與否,需要將此目標服務節(jié)點與基準云比較,然后得出是否值得信任的結(jié)論。
云模型中的Ex和En參數(shù)是決定云形狀的2個最直觀的參數(shù),分別反映云所代表的知識的平均值和離散程度,而He是En的熵。一般來說,En與He的比值在一定范圍內(nèi)時He對云的影響力較小。因此,在本文的信任云決策算法中,主要比較Ex和En這2個參數(shù)。
算法3信任云決策算法
輸入基準云CS(Exs, Ens, Hes),比較云Cm(Exm, Enm, Hem)
輸出比較云Cm是否值得信任
算法4信任云相似度度量算法
輸入信任云C1(Ex1, En1, He1),記為向量V1(Ex1, En1, He1);信任云C2(Ex2, En2, He2),記為向量V2(Ex2, En2, He2)
輸出2個云是否相似
該算法中的θ是設定的一個閾值,可以根據(jù)具體的情況設置其值大小。
以上算法描述可總結(jié)為:源節(jié)點A需要某個目標資源,執(zhí)行查詢后若網(wǎng)絡中有節(jié)點(假設有3個節(jié)點B,C,D)存有A所需要的目標資源,故應對3個節(jié)點進行是否值得信任的判斷。首先從3個節(jié)點各自的信任值表格中取出前四個周期的信任向量,然后使用灰色預測模型預測出當前周期Ti的信任向量VBi,VCi,VDi,在利用算法2(逆向云發(fā)生器)得到對應云模型分別記為CBi(Ex, En, He)、CCi(Ex, En, He)、CDi(Ex, En, He)。最后通過算法3(信任云決策算法)和算法4(信任云相似度度量算法)判斷3個節(jié)點哪個節(jié)點值得信任,從而選擇此節(jié)點作為目標服務節(jié)點。如在B,C,D中通過判斷得出節(jié)點D不值得A信任,B、C節(jié)點值得信任,則A從B或C中選出一個節(jié)點與之發(fā)生交互即可?;?個節(jié)點都不符合信任要求,則為了保證網(wǎng)絡服務安全,節(jié)點A放棄下載此資源。
為對提出的模型算法進行驗證,本文采用Matlab2010b進行仿真。在一個簡單的P2P網(wǎng)絡(如圖2所示)中,假定A需要某文件f,經(jīng)過查詢B,C中有f文件。系統(tǒng)查詢到B,C中有目標文件后,從B,C的信任值表格中取出各自前4個周期的信任向量,然后通過灰色預測模型預測出B,C節(jié)點在當前周期Ti的信任向量。B,C節(jié)點具體的信任值數(shù)據(jù)如表2、表3所示。
圖2 一個簡單的P2P網(wǎng)絡
表2 節(jié)點B的信任值
表3 節(jié)點C的信任值
通過灰色預測模型預測出B在Ti的信任向量VBi(5.257 0, 70.010 5, 4.725 5, 0, 0),四舍五入得VBi(5, 70, 5, 0, 0);預測出C在Ti的信任向量VCi(28.241 3, 0, 27.651 4, 0, 0),四舍五入規(guī)則得VCi(28, 0, 28, 0, 0)。再通過算法2(逆向云發(fā)生器)分別對2個信任向量得出信任云模型CBi(0.75, 0.088 4, 0.009 9)和CCi(0.75, 0.25, 0.033 7)。節(jié)點A的基準云設為CS(0.6, 0.1, 0.02),因此,只需對CBi和CCi分別于CS執(zhí)行算法3(信任云決策算法)即可。對于CBi,調(diào)用算法3(信任云決策算法),因為0.088 4<0.1并且0.75>0.6,所以判斷出B值得A信任。對于CCi,通過調(diào)用算法3(信任云決策算法)和算法4(信任云相似度度量算法)計算出CCi和CS的相似度Sim=0.987 7。而因為0.987 7<0.99(算法4中設置的閾值θ=0.99),所以C不值得A信任。通過算法1(正向云發(fā)生器),可以得到CBi和CCi的云滴圖,分別與CS的云滴圖進行對比,結(jié)果如圖3和圖4所示。從圖3可以看出,CBi的云滴圖基本上在CS云滴圖的右側(cè),且CBi的離散度也比CS的小。而圖4中CCi的云滴圖可以看出,雖然期望值比CS大,但是離散性也較大,故不確定性大。對于目標服務節(jié)點的信任云模型CBi(0.75, 0.088 4, 0.009 9)和CCi(0.75, 0.25, 0.033 7),如果單從期望值來看,兩者的期望值即信任值的平均水平都為0.75,因此,不能判斷出哪個更信任。但是本文從云模型的3個特征參數(shù)分析,可以更全面合理地判斷出哪個節(jié)點更值得信任,從而給用戶提供更可靠的服務,保證了網(wǎng)絡的安全性。
圖3 CBi與CS的云滴圖對比
圖4 CCi與CS的云滴圖對比
本文提出一種在P2P網(wǎng)絡中基于節(jié)點的信任向量建立云模型的算法。當某節(jié)點符合某次查詢條件時,可以首先利于灰色預測模型根據(jù)節(jié)點前4個周期的信任向量預測出節(jié)點在當前周期的信任向量,再通過逆向云發(fā)生器得出當前周期信任向量對應的信任云模型,并依據(jù)信任云決策算法和信任云相似度度量算法對若干符合某次查詢條件節(jié)點的信任云模型進行選擇,最終選出值得信任的節(jié)點(或一個節(jié)點都不信任)給查詢節(jié)點提供服務,從而保證了網(wǎng)絡服務的安全可靠性。從仿真結(jié)果來看,本文算法可以更全面、合理地對目標服務節(jié)點做出評價選擇。但該算法中信任云的相似度閾值以及每個節(jié)點的基準云大小設置,將會影響到節(jié)點是否得到可靠安全的網(wǎng)絡服務,進而影響整個網(wǎng)絡的安全性,因此,如何設置信任云的相似度閾值和每個節(jié)點的基準云大小是下一步研究的重點內(nèi)容。
[1] S teinmetz R, Wehrle K. P 2P系統(tǒng)及其應用[M]. 王玲芳, 陳 焱, 譯. 北京: 機械工業(yè)出版社, 2008.
[2] 孔 杰, 張新有. 一種基于組群的P2P網(wǎng)絡信任模型[J].計算機應用研究, 2010, 27(12): 4676-4679.
[3] 陳 燦. P 2P網(wǎng)絡中基于信譽的信任模型研究[D]. 長沙:湖南大學, 2010.
[4] 張秋景, 曾凡平. 一種信譽機制與云模型相結(jié)合的P2P環(huán)境信任模型[J]. 小型微型計算機系統(tǒng), 20 10, 3 1(7): 1328-1332.
[5] 林 軍, 姜文君, 王國軍. P 2P環(huán)境中基于信譽與云理論的信任模型[J]. 計算機工程, 2012, 38(2): 141-143, 145.
[6] Feldman M, Papadimitriou C, Chuang J, et al. Free Riding and Whitewashing in Peer to Peer Sy stems[J]. IEEE J ournal on Selected Areas in Communications, 2006, 24(5): 1010-1019.
[7] 李德毅, 史雪梅, 孟海軍. 隸屬云和隸屬云發(fā)生器[J]. 計算機研究與發(fā)展, 1995, 32(6): 15-20.
[8] 蔡紅云, 杜瑞忠, 田俊峰, 等. 基于云模型和風險評估的信任模型研究[J]. 計算機工程, 2012, 38(23): 139-142.
[9] 王守信, 張 莉, 李鶴松. 一種基于云模型的主觀信任評價方法[J]. 軟件學報, 2010, 21(6): 1341-1352.
[10] 任樂華. P 2P網(wǎng)絡中基于云模型的信任度評估研究[D].濟南: 山東師范大學, 2012.
[11] 鄧聚龍. 灰理論基礎[M]. 武漢: 華中科技大學出版社, 2002.
[12] 李德毅, 劉常昱. 論正態(tài)云的普適性[J]. 中國工程科學, 2004, 6(8): 28-34.
[13] 楊 宇, 周小煥, 宋淑麗. 云理論在高速公路安全評價中的應用[J]. 交通信息與安全, 2011, 29(2): 92-94.
[14] 路 峰, 吳慧中. 基于云模型的信任評估研究[J]. 中國工程科學, 2008, 10(10): 84-90.
[15] 路 峰, 吳慧中. 網(wǎng)格環(huán)境下基于云模型的信任評估與決策方法研究[J]. 系統(tǒng)仿真學報, 2009, 21(2): 421-426.
編輯 金胡考
Research on Trust Mechanism Based on Cloud Model in P2P Network
WANG Jun1a, JI Chang-peng1b, WANG Yang1a, WANG Lian-peng2
(1a. Institute of Graduate; 1b. School of Electronics and Information Engineering, Liaoning Technical University, Huludao 125105, China; 2. TBEA Shenyang Transformer Group Co., Ltd., Shenyang 110144, China)
With the rapid development of Peer-to-Peer(P2P) network in recent years, there exist a lot of unsafe service problems. Aiming at this problem, a trust mechanism based on cloud model is proposed. A kind of cloud model algorithm based on node’s trust vector is proposed. For several nodes which matching the query condition, it uses gray theory to predict trust vector of current cycle based on its previous trust ve ctors, and creates cloud mod el for several current t rust vectors, sele cts the trustworthy node to service the source query node depending on the decision algorithm of trust-cloud and the similarity measure algorithm of trust-cloud. Simulation experimental result shows that when selecting the target service nodes, this mechanism can not only depend on node’s mean trust-value, but also take trust-value discreteness into considering. So it can select the most trust node from different angles, improve the quality of network service, and achieve the purpose of enhancing network security.
Peer-to-Peer(P2P) network; cloud model; grey prediction model; trust vector; network security
10.3969/j.issn.1000-3428.2014.05.026
王 君(1989-),女,碩士研究生,主研方向:對等網(wǎng)絡安全;冀常鵬,教授;汪 洋,碩士研究生;王連鵬,工程師。
2013-04-10
2013-06-05E-mail:june1016@126.com
1000-3428(2014)05-0124-05
A
TP309