謝曉蘭, 梁榮華
(桂林理工大學(xué) a.廣西嵌入式技術(shù)與智能系統(tǒng)重點(diǎn)實(shí)驗(yàn)室; b.信息科學(xué)與工程學(xué)院, 廣西 桂林 541006)
云計算服務(wù)通過將計算資源進(jìn)行統(tǒng)一管理和整合, 使它能夠以較低的成本和較高的性能為用戶提供服務(wù)。 云計算服務(wù)也是海量數(shù)據(jù)存儲和復(fù)雜計算的一種可靠解決方案, 用戶通過資源使用量進(jìn)行計費(fèi), 最大限度利用資源。因此, 云計算服務(wù)被認(rèn)為是互聯(lián)網(wǎng)發(fā)展歷史中的一個重要里程碑[1-2]。但是, 隨著云計算服務(wù)的發(fā)展, 對云計算服務(wù)的安全需求也隨之增長, 云計算環(huán)境的安全問題變得越來越突出[3-4], 因此, 云計算安全問題越來越受到重視。目前, 對于云計算領(lǐng)域的信任模型可以使用基于多Agent的方法來研究。 在基于多Agent系統(tǒng)環(huán)境中的云計算服務(wù)中,購買方Agent和云服務(wù)提供商Agent之間的信息不對等,導(dǎo)致購買方Agent和云服務(wù)提供商Agent之間面臨著惡意推薦、虛假服務(wù)等欺詐方式,使得雙方信任度降低,也由此產(chǎn)生云計算服務(wù)的信任問題。 因此, 如何建立一個安全和可信的多Agent云計算信任環(huán)境就成為了一個重要的研究課題[5-6]。
信任模型作為安全領(lǐng)域的熱點(diǎn), 許多學(xué)者都提出了信任管理方法: 文獻(xiàn)[7]針對B2B電子商務(wù)市場交易提出了一種信任管理模型, 對中介機(jī)構(gòu)與賣方之間的信任關(guān)系進(jìn)行研究和分析; 文獻(xiàn)[8]提出了一種用于無線傳感器網(wǎng)絡(luò)的信任模型, 使用區(qū)塊鏈方法來檢測網(wǎng)絡(luò)中的惡意節(jié)點(diǎn), 使用區(qū)塊鏈的共識機(jī)制來確保投票共識結(jié)果的可靠性; 文獻(xiàn)[9]提出了一種物聯(lián)網(wǎng)系統(tǒng)中的推薦過濾算法, 將惡意節(jié)點(diǎn)進(jìn)行過濾, 并且提出了動態(tài)權(quán)重分配方法, 提高了模型的準(zhǔn)確度; EigenTrust[10]是一種典型的信任管理算法, 它對不可靠網(wǎng)絡(luò)中的惡意服務(wù)進(jìn)行研究, 采用了社會網(wǎng)絡(luò)分析中的中心度量方法, 將服務(wù)推薦與信任管理結(jié)合, 但也存在著信任管理方法不夠全面、 信任度計算不夠準(zhǔn)確的問題。
雖然很多研究者提出信任模型, 但是針對云計算領(lǐng)域的信任模型的研究還比較少。文獻(xiàn)[11]提出了一種用于不可靠云計算的域劃分的信任管理模型, 設(shè)計一種算法來計算節(jié)點(diǎn)的域信任值和過濾惡意信任節(jié)點(diǎn), 但是存在域劃分算法較為復(fù)雜和過濾惡意節(jié)點(diǎn)效果較差的問題; 文獻(xiàn)[12]提出了一種在P2P網(wǎng)絡(luò)中的信任模型信任度的度量方法, 使用反饋機(jī)制衡量模型信任度, 提高信任模型的效果; 文獻(xiàn)[13]提出了一種在云環(huán)境中基于用戶行為數(shù)據(jù)和行為關(guān)系的用戶可信度計算方法, 取得了一定的效果; 文獻(xiàn)[14]提出了一種基于證據(jù)理論的信任評估模型, 對云計算中心的信任狀況進(jìn)行評估, 對云安全的發(fā)展具有一定的意義。
目前基于多Agent方法的信任模型是常用的策略。文獻(xiàn)[15]基于多目標(biāo)優(yōu)化的方法提出了一種多Agent的信任聯(lián)盟模型, 其利用多目標(biāo)優(yōu)化方法優(yōu)化了多Agent環(huán)境下的信任模型, 實(shí)現(xiàn)聯(lián)盟信譽(yù)和聯(lián)盟收益最大化, 但是模型設(shè)置太過復(fù)雜, 會降低系統(tǒng)運(yùn)行效率; 文獻(xiàn)[16]使用AHP算法結(jié)合信息熵理論, 對云計算下的信任關(guān)系進(jìn)行了研究, 但是存在著當(dāng)用戶增多時計算信息度較大, 導(dǎo)致模型精度不高的缺陷; 文獻(xiàn)[17]基于模糊網(wǎng)絡(luò)分析法, 使用模糊數(shù)來反映專家評判的模糊性, 提出了一種在云環(huán)境下的信任分析方法, 為信任安全機(jī)制提供了量化依據(jù), 但是算法時間復(fù)雜度較低, 導(dǎo)致建模結(jié)果誤差較大、 精確程度較低。
本文提出了一種在云計算環(huán)境下的基于多代理系統(tǒng)(multi-agent system, MAS)的信任管理模型,通過多代理系統(tǒng)引入基于信任管理、服務(wù)管理和信任評估的三層信任模型,將復(fù)雜的信任模型簡化,有效地提高了信任管理的效率和準(zhǔn)確度。
對Agent的定義一直以來就有所爭議, 現(xiàn)在多數(shù)認(rèn)可的Agent的定義是: “Agent是處在某個環(huán)境中的實(shí)體, 在這個環(huán)境中, 該實(shí)體具備一定的能力自主行動, 然后實(shí)現(xiàn)它的預(yù)期設(shè)計目標(biāo)[18]。”Agent通過一些定義好的合作關(guān)系, 將一個事先定義好的系統(tǒng)整合成一個較強(qiáng)的系統(tǒng), 可以起到處理復(fù)雜問題的效果。
在引入了MAS的云計算環(huán)境中, 用戶和云服務(wù)提供商之間存在著服務(wù)提供關(guān)系, 用戶通過云服務(wù)提供商來選擇自己所需要的服務(wù), 并且在提供服務(wù)之前需要評估云服務(wù)提供商的信任度, 判斷它是否存在虛假欺騙服務(wù), 由其提供的服務(wù)能否滿足用戶的需求。因此, 判斷用戶和云服務(wù)提供商之間的信任程度, 保證雙方的服務(wù)質(zhì)量就非常重要。
信任在心理學(xué)中的定義是一種用來表示某一實(shí)體在按照期望行動的信心程度。而在計算機(jī)科學(xué)中, 信任通常用來描述在特定環(huán)境中一個實(shí)體判斷另一實(shí)體的可靠程度。本文對信任的相關(guān)定義如下:
定義1信任: Agent A對Agent B的信任是Agent A認(rèn)為Agent B下一次服務(wù)交互能否完成的期望。
定義2信任度: Agent節(jié)點(diǎn)之間通過某一信任機(jī)制判斷出節(jié)點(diǎn)之間信任程度的量化表示。
定義3直接信任: 當(dāng)Agent A和Agent B之間具有直接信任關(guān)系時, Agent A可以直接對Agent B作出信任評價。如購買方Agent A與服務(wù)方Agent B之間已經(jīng)進(jìn)行過若干次交易, 歷史合作交易信息和歷史信任度非常充足, 信任評價已經(jīng)建立。
定義4推薦信任: 當(dāng)用戶與服務(wù)方之間的過往合作信息不充足時, 此時通過直接信任不能夠?qū)gent B進(jìn)行充分評估。因此需要憑借其他的購買方Agent C的推薦對服務(wù)方Agent B的信任進(jìn)行評估。
定義5綜合信任: 又稱為全局信任、 總體信任, 綜合信任是將直接信任和間接信任進(jìn)行綜合計算得到的, 是對信任的綜合評價。
根據(jù)上述信任的定義, 參考文獻(xiàn)[19]提出的基于歷史信息的信任模型劃分思想以及在MAS云環(huán)境下的信任管理特點(diǎn), 本文提出了3種不同的信任模式。
根據(jù)定義3,假設(shè)購買方Agent A和服務(wù)方Agent B之間有N次交易,成功的交易次數(shù)為S,失敗的交易次數(shù)為F, 交易成功的概率為θ。 根據(jù)定義, 假設(shè)購買方Agent A和服務(wù)方Agent B的交易結(jié)果服從二項(xiàng)分布,它們的下一次交易成功率服從Beta分布,因此直接信任模式下的平均交易成功率θd為
(1)
根據(jù)定義4,推薦信任模式由兩部分組成: 1)購買方Agent A與推薦方Agent C的推薦信任關(guān)系; 2)推薦方Agent C與服務(wù)方Agent B的直接信任關(guān)系。
推薦方Agent C和購買方Agent A的交易次數(shù)為N, 交易成功次數(shù)為S1; 購買方Agent A與其他推薦方Agent D的交易次數(shù)為M, 交易成功的次數(shù)為S2。假設(shè)購買方Agent A和服務(wù)方Agent B的第N+1次的合作成功概率服從Beta分布, 那么在推薦信任模式下的平均交易成功率為
θrc=E(Beta(1/(N,S1), (M,S2)))
(2)
根據(jù)定義5, 可以得出綜合信任模式由兩部分組成: 1)購買方Agent A和服務(wù)方Agent B的直接信任度θd; 2)購買方Agent A和服務(wù)方Agent B的推薦信任度θrc。綜合信任模式就是由兩個信任度加權(quán)計算得出, 其中權(quán)值w1和w2是由購買方Agent的歷史交易記錄和信任評估機(jī)制計算得出。因此, 在綜合信任模式的平均交易成功率計算式為
θwt=w1θd+w2θrc。
(3)
云計算是一種大規(guī)模的分布式開放環(huán)境, 用戶需要與不同的服務(wù)提供商進(jìn)行交互, 確保服務(wù)提供商是可信的, 并且還能驗(yàn)證用戶是否是惡意用戶等。因此, 云計算需要一個信任管理模型, 它既可以滿足用戶的服務(wù)需求, 也可以測試用戶是否為惡意用戶, 基于MAS的信任管理模型就是一個可行的方案。因此, 本文提出了一種信任管理Agent、 服務(wù)管理Agent和信任評估Agent相結(jié)合的三層信任管理模型, 工作流程如圖1所示。
圖1 信任管理模型工作流程
首先用戶向信任管理Agent發(fā)起服務(wù)請求, 信任管理會查詢服務(wù)是否存在, 如果存在就會將用戶的服務(wù)轉(zhuǎn)發(fā)給服務(wù)管理Agent, 服務(wù)管理Agent作出信任評估, 根據(jù)綜合信任值的大小, 通過信任模式選擇算法, 選出最適合的云服務(wù), 并且為用戶提供; 如果沒有達(dá)到相應(yīng)的信任值閾值或者找不到云服務(wù)就會拒絕服務(wù)。服務(wù)完成之后, 用戶會對服務(wù)結(jié)果作出評價, 服務(wù)管理Agent更新信任值。
本文模型由服務(wù)管理Agent、 信任管理Agent和信任評估Agent 3個層次組成, 如圖2所示。
圖2 基于MAS的三層信任管理模型
本文的信任模型的信任主體是用戶, 信任對象是云服務(wù), 將云服務(wù)按照功能、 類別劃分成不相同的信任域, 在每個云服務(wù)中對一種或者多種云服務(wù)進(jìn)行管理。
信任管理Agent是本文信任模型的核心組件, 它負(fù)責(zé)管理用戶和服務(wù)提供方之間的服務(wù)關(guān)系A(chǔ)gent和信任評估Agent; 服務(wù)管理Agent負(fù)責(zé)管理用戶和用戶的信任關(guān)系, 并且對云服務(wù)進(jìn)行管理; 信任評估Agent通過歷史信任收集和信任信譽(yù)評價機(jī)制來對服務(wù)的信任度進(jìn)行評估, 并將結(jié)果返回到信任管理Agent, 然后作出對應(yīng)的信任決策。
服務(wù)管理Agent的框架如圖3所示。在服務(wù)管理Agent中, 用戶首先通過注冊代理的方式進(jìn)行注冊, 然后在以后的使用過程中逐漸完善使用信息, 建立用戶信任關(guān)系, 當(dāng)用戶請求服務(wù)時, 服務(wù)代理查詢到所需服務(wù), 并且將用戶的服務(wù)請求和信任關(guān)系傳遞到信任管理Agent。
圖3 服務(wù)管理Agent
服務(wù)管理Agent的詳細(xì)組成如圖4所示。服務(wù)管理Agent的主要功能是對云服務(wù)信息進(jìn)行管理, 在信任管理模型中, 每一個不同類別的服務(wù)管理Agent都對可以管理某一種云服務(wù), 用戶通過信任管理Agent對服務(wù)管理Agent進(jìn)行管理。
圖4 服務(wù)管理Agent的組成
服務(wù)管理Agent由3個模塊組成, 分別是服務(wù)代理、 數(shù)據(jù)庫和注冊代理。服務(wù)管理Agent的作用就是對用戶與服務(wù)的信任信息進(jìn)行管理, 根據(jù)信任模式的結(jié)果選擇出適當(dāng)?shù)脑品?wù)提供給用戶。服務(wù)管理Agent中有兩個數(shù)據(jù)庫——云服務(wù)數(shù)據(jù)庫和信任關(guān)系數(shù)據(jù)庫, 前者負(fù)責(zé)維護(hù)服務(wù)管理Agent管理的云服務(wù)相關(guān)信息, 后者負(fù)責(zé)維護(hù)用戶和云服務(wù)的交互信息。
信任評估Agent由信任收集、 信任判斷、 信任更新等模塊組成, 負(fù)責(zé)對云服務(wù)進(jìn)行信任評估, 它對用戶與云服務(wù)之間的直接交互、 推薦信任、 信任信譽(yù)等進(jìn)行計算, 為信任決策代理提供參考依據(jù), 并且也負(fù)責(zé)服務(wù)完成后在服務(wù)管理Agent中更新云服務(wù)的信任值。
基于之前已經(jīng)定義的直接信任模式、 間接信任模式和綜合信任模式, 本文提出了一種基于歷史交易平均成功率(α)的信任判斷選擇模型: 首先對購買者Agent和云服務(wù)提供商Agent的歷史平均交易成功率進(jìn)行分析, 再對歷史交易平均成功率的大小進(jìn)行劃分, 根據(jù)歷史交易平均成功率選擇出對應(yīng)的信任模型, 然后根據(jù)信任模型計算出雙方的交易成功率, 最終依據(jù)計算出的交易成功率來選定交易的對象Agent。
通過信任判斷模型來選擇適合的信任模式, 提高交易的可信度, 從而提高雙方的合作可能, 信任判斷模型如表1所示。
表1 信任判斷模型
交易對象選擇算法如圖5所示。
圖5 交易對象選擇算法
本文的信任判斷模型中, 如果購買方Agent的歷史交易平均成功率在0~30%, 因?yàn)殡p方的歷史交易成功率較低, 不能夠判斷出是否是可信的交易對象, 因此需要根據(jù)間接信任模式計算雙方的合作成功率, 降低遇到非可信合作的可能; 如果購買方Agent的歷史交易平均成功率在30%~60%, 這個合作成功率已經(jīng)不算太低, 可以根據(jù)綜合信任模式計算出雙方的合作成功率, 促成雙方的合作; 如果購買方Agent的歷史交易平均成功率在60%~100%, 由于雙方的歷史合作成功率已經(jīng)是非常高了, 可以被認(rèn)為是可信的交易對象, 所以通過直接信任模式來計算雙方的合作成功率。
在完成云服務(wù)動態(tài)交易的過程中, 由于信任具有動態(tài)性和不確定性, 需要根據(jù)交易情況對信任進(jìn)行更新, 使得信任可以變得更加精準(zhǔn), 得到信任程度更高的結(jié)果, 因此在本模型中引入了更新歷史交易記錄、 更新Agent推薦記錄和更新Agent可靠度記錄。
1)更新歷史交易記錄。在完成一次交易之后, 模型就會將本次的交易情況存入交易數(shù)據(jù)庫中, 包含交易時間、 交易結(jié)果、 交易滿意度等信息。 交易滿意度為購買方Agent對服務(wù)方Agent的服務(wù)滿意度, 為了簡化模型起見, 購買方Agent可以在交易完成后對服務(wù)方Agent進(jìn)行評價, 并作出服務(wù)評價。
2)更新Agent推薦記錄。推薦信任度作為推薦信任模式的重要參考, 會在購買方Agent的交易完成后發(fā)送本次交易的推薦信任度到推薦方Agent。與此同時, 購買方Agent作為推薦方Agent來接收其他Agent發(fā)送的推薦信任度。
3)更新Agent可靠度記錄。單純地依靠信任度更新推薦節(jié)點(diǎn)容易造成推薦信任度被濫用, 從而導(dǎo)致推薦效果降低。 因此, 在這里引入了推薦信任度的獎懲機(jī)制, 使得推薦信任模式的信任反饋機(jī)制變得更加可靠。在完成了一次交易之后, 根據(jù)交易結(jié)果及推薦節(jié)點(diǎn)的效果進(jìn)行獎懲評判, 引入獎懲評判機(jī)制的Agent可靠度Tn的計算公式如下
Tn=T0+Mf·Rc·Rf;
(5)
Tn=T0-Mf·Rc·Rf。
(6)
式(5)用于計算獎勵機(jī)制的Agent可靠度, 式(6)用于計算懲罰機(jī)制的Agent可靠度。其中,T0是原來的Agent可靠度; 而Mf表示Agent改變的區(qū)間, 為了保證T0不會超過可靠度的取值范圍, 當(dāng)計算獎勵機(jī)制時Mf=1-T0, 計算懲罰機(jī)制時Mf=T0; 而Rc和Rf分別表示Agent的失敗推薦比例和成功推薦比例, 用來平衡Agent在推薦過程中的可靠度程度影響, 使得不會因?yàn)橐淮闻紶柕氖д`造成可靠度降低。
為了對本文所提出的信任管理模型的實(shí)際效果進(jìn)行驗(yàn)證, 進(jìn)行仿真實(shí)驗(yàn)驗(yàn)證, 本文的實(shí)驗(yàn)環(huán)境參數(shù): CPU, E3-1225, 3.30 GHz; 內(nèi)存32 GB; 操作系統(tǒng)為Windows 10; 顯卡, GTX 1660。
根據(jù)本文提出的信任模型, 購買方和服務(wù)方會對歷史交易情況進(jìn)行判斷, 根據(jù)交易對象選擇算法,即選擇對應(yīng)的信任模型。 本文的信任模型相關(guān)參數(shù)初始化設(shè)置如表2所示。
表2 信任模型參數(shù)
對云計算交易環(huán)境下的多Agent交易情況進(jìn)行模擬, 以證明本文模型的有效性。 在實(shí)驗(yàn)中設(shè)置20個購買方Agent、 20個服務(wù)方Agent和1個第三方信任組織, 假設(shè)購買方Agent和服務(wù)方Agent的歷史交易成功次數(shù)大于100次, 購買方和服務(wù)方Agent的實(shí)驗(yàn)交易次數(shù)為30次。
將本文的信任模型與另一經(jīng)典信任模型EigenTrust[10]進(jìn)行對比, 根據(jù)歷史交易成功率將實(shí)驗(yàn)分為A、 B、 C 3組, 即選擇相應(yīng)的信任模型(表2)。實(shí)驗(yàn)結(jié)果如圖6所示。
圖6 多Agent交易情況實(shí)驗(yàn)結(jié)果
在A組實(shí)驗(yàn)中, 購買方Agent和服務(wù)方Agent的平均歷史交易成功率是0~30%。交易次數(shù)在前5次時, 兩個模型的平均交易成功率幾乎相同, 但是隨著交易次數(shù)的增多, 本文模型的平均交易成功率不斷上升, 而對比模型的增長幅度較小, 說明本文模型在歷史交易成功率低的情況下, 平均交易成功率也能保持增長。
在B組實(shí)驗(yàn)中, 購買方Agent和服務(wù)方Agent的歷史交易成功率在30%~60%, 隨著交易次數(shù)的增多, 本文模型的平均交易成功率不斷上升, 而對比模型的平均交易成功率卻不斷起伏, 最終本文模型的平均交易成功率還是高于對比模型。
在C組實(shí)驗(yàn)中, 購買方Agent和服務(wù)方Agent的歷史交易成功率在60%~100%, 前幾次交易次數(shù)兩個模型的交易成功率比較接近, 但是隨著交易次數(shù)的增多, 本文模型的交易成功率相比于對比模型要更高。
在節(jié)點(diǎn)安全性實(shí)驗(yàn)中, 假設(shè)4個信任域中有1 000個云服務(wù)節(jié)點(diǎn), 每個節(jié)點(diǎn)提供真實(shí)的服務(wù)概率為95%, 用戶數(shù)量為150個, 實(shí)驗(yàn)中的用戶信息和交易數(shù)據(jù)的初始值將隨機(jī)產(chǎn)生。將本文模型與另一信任模型EigenTrust進(jìn)行對比, 實(shí)驗(yàn)結(jié)果如圖7所示。
圖7 信任評估實(shí)驗(yàn)結(jié)果
可看出, 在信任評估實(shí)驗(yàn)中, 隨著惡意節(jié)點(diǎn)比率的增加, 本文模型的平均交易成功率比較平穩(wěn), 對比模型的平均交易成功率卻逐漸下降, 當(dāng)惡意服務(wù)比率超過0.4時, 平均交易成功率下降得非???這是因?yàn)閷Ρ饶P驮谟嬎闳中湃沃禃r, 判斷信任度不夠精確。因此, 在惡意服務(wù)比率較大時, 對比模型的信任判斷就不夠精準(zhǔn), 增加了交易失敗率的可能。而本文模型基于歷史交易成功率, 使用了3種信任模型作為判斷的依據(jù), 可以對信任進(jìn)行充分的判斷, 提高信任程度, 降低惡意服務(wù)的風(fēng)險。
本文提出了一種云環(huán)境下的基于多Agent系統(tǒng)的三層架構(gòu)信任管理模型, 結(jié)合直接信任模型、 間接信任模型和綜合信任模型的信任度判斷方法對用戶和服務(wù)提供者的交易合作信任狀況作出判斷和評價, 通過三層信任管理模型進(jìn)行信任的管理。仿真實(shí)驗(yàn)結(jié)果表明, 本文模型在多Agent交易情況和節(jié)點(diǎn)安全性測試上相比于對比模型效果更好。