謝曉蘭, 梁榮華
(桂林理工大學 a.廣西嵌入式技術與智能系統(tǒng)重點實驗室; b.信息科學與工程學院, 廣西 桂林 541006)
云計算服務通過將計算資源進行統(tǒng)一管理和整合, 使它能夠以較低的成本和較高的性能為用戶提供服務。 云計算服務也是海量數(shù)據(jù)存儲和復雜計算的一種可靠解決方案, 用戶通過資源使用量進行計費, 最大限度利用資源。因此, 云計算服務被認為是互聯(lián)網發(fā)展歷史中的一個重要里程碑[1-2]。但是, 隨著云計算服務的發(fā)展, 對云計算服務的安全需求也隨之增長, 云計算環(huán)境的安全問題變得越來越突出[3-4], 因此, 云計算安全問題越來越受到重視。目前, 對于云計算領域的信任模型可以使用基于多Agent的方法來研究。 在基于多Agent系統(tǒng)環(huán)境中的云計算服務中,購買方Agent和云服務提供商Agent之間的信息不對等,導致購買方Agent和云服務提供商Agent之間面臨著惡意推薦、虛假服務等欺詐方式,使得雙方信任度降低,也由此產生云計算服務的信任問題。 因此, 如何建立一個安全和可信的多Agent云計算信任環(huán)境就成為了一個重要的研究課題[5-6]。
信任模型作為安全領域的熱點, 許多學者都提出了信任管理方法: 文獻[7]針對B2B電子商務市場交易提出了一種信任管理模型, 對中介機構與賣方之間的信任關系進行研究和分析; 文獻[8]提出了一種用于無線傳感器網絡的信任模型, 使用區(qū)塊鏈方法來檢測網絡中的惡意節(jié)點, 使用區(qū)塊鏈的共識機制來確保投票共識結果的可靠性; 文獻[9]提出了一種物聯(lián)網系統(tǒng)中的推薦過濾算法, 將惡意節(jié)點進行過濾, 并且提出了動態(tài)權重分配方法, 提高了模型的準確度; EigenTrust[10]是一種典型的信任管理算法, 它對不可靠網絡中的惡意服務進行研究, 采用了社會網絡分析中的中心度量方法, 將服務推薦與信任管理結合, 但也存在著信任管理方法不夠全面、 信任度計算不夠準確的問題。
雖然很多研究者提出信任模型, 但是針對云計算領域的信任模型的研究還比較少。文獻[11]提出了一種用于不可靠云計算的域劃分的信任管理模型, 設計一種算法來計算節(jié)點的域信任值和過濾惡意信任節(jié)點, 但是存在域劃分算法較為復雜和過濾惡意節(jié)點效果較差的問題; 文獻[12]提出了一種在P2P網絡中的信任模型信任度的度量方法, 使用反饋機制衡量模型信任度, 提高信任模型的效果; 文獻[13]提出了一種在云環(huán)境中基于用戶行為數(shù)據(jù)和行為關系的用戶可信度計算方法, 取得了一定的效果; 文獻[14]提出了一種基于證據(jù)理論的信任評估模型, 對云計算中心的信任狀況進行評估, 對云安全的發(fā)展具有一定的意義。
目前基于多Agent方法的信任模型是常用的策略。文獻[15]基于多目標優(yōu)化的方法提出了一種多Agent的信任聯(lián)盟模型, 其利用多目標優(yōu)化方法優(yōu)化了多Agent環(huán)境下的信任模型, 實現(xiàn)聯(lián)盟信譽和聯(lián)盟收益最大化, 但是模型設置太過復雜, 會降低系統(tǒng)運行效率; 文獻[16]使用AHP算法結合信息熵理論, 對云計算下的信任關系進行了研究, 但是存在著當用戶增多時計算信息度較大, 導致模型精度不高的缺陷; 文獻[17]基于模糊網絡分析法, 使用模糊數(shù)來反映專家評判的模糊性, 提出了一種在云環(huán)境下的信任分析方法, 為信任安全機制提供了量化依據(jù), 但是算法時間復雜度較低, 導致建模結果誤差較大、 精確程度較低。
本文提出了一種在云計算環(huán)境下的基于多代理系統(tǒng)(multi-agent system, MAS)的信任管理模型,通過多代理系統(tǒng)引入基于信任管理、服務管理和信任評估的三層信任模型,將復雜的信任模型簡化,有效地提高了信任管理的效率和準確度。
對Agent的定義一直以來就有所爭議, 現(xiàn)在多數(shù)認可的Agent的定義是: “Agent是處在某個環(huán)境中的實體, 在這個環(huán)境中, 該實體具備一定的能力自主行動, 然后實現(xiàn)它的預期設計目標[18]。”Agent通過一些定義好的合作關系, 將一個事先定義好的系統(tǒng)整合成一個較強的系統(tǒng), 可以起到處理復雜問題的效果。
在引入了MAS的云計算環(huán)境中, 用戶和云服務提供商之間存在著服務提供關系, 用戶通過云服務提供商來選擇自己所需要的服務, 并且在提供服務之前需要評估云服務提供商的信任度, 判斷它是否存在虛假欺騙服務, 由其提供的服務能否滿足用戶的需求。因此, 判斷用戶和云服務提供商之間的信任程度, 保證雙方的服務質量就非常重要。
信任在心理學中的定義是一種用來表示某一實體在按照期望行動的信心程度。而在計算機科學中, 信任通常用來描述在特定環(huán)境中一個實體判斷另一實體的可靠程度。本文對信任的相關定義如下:
定義1信任: Agent A對Agent B的信任是Agent A認為Agent B下一次服務交互能否完成的期望。
定義2信任度: Agent節(jié)點之間通過某一信任機制判斷出節(jié)點之間信任程度的量化表示。
定義3直接信任: 當Agent A和Agent B之間具有直接信任關系時, Agent A可以直接對Agent B作出信任評價。如購買方Agent A與服務方Agent B之間已經進行過若干次交易, 歷史合作交易信息和歷史信任度非常充足, 信任評價已經建立。
定義4推薦信任: 當用戶與服務方之間的過往合作信息不充足時, 此時通過直接信任不能夠對Agent B進行充分評估。因此需要憑借其他的購買方Agent C的推薦對服務方Agent B的信任進行評估。
定義5綜合信任: 又稱為全局信任、 總體信任, 綜合信任是將直接信任和間接信任進行綜合計算得到的, 是對信任的綜合評價。
根據(jù)上述信任的定義, 參考文獻[19]提出的基于歷史信息的信任模型劃分思想以及在MAS云環(huán)境下的信任管理特點, 本文提出了3種不同的信任模式。
根據(jù)定義3,假設購買方Agent A和服務方Agent B之間有N次交易,成功的交易次數(shù)為S,失敗的交易次數(shù)為F, 交易成功的概率為θ。 根據(jù)定義, 假設購買方Agent A和服務方Agent B的交易結果服從二項分布,它們的下一次交易成功率服從Beta分布,因此直接信任模式下的平均交易成功率θd為
(1)
根據(jù)定義4,推薦信任模式由兩部分組成: 1)購買方Agent A與推薦方Agent C的推薦信任關系; 2)推薦方Agent C與服務方Agent B的直接信任關系。
推薦方Agent C和購買方Agent A的交易次數(shù)為N, 交易成功次數(shù)為S1; 購買方Agent A與其他推薦方Agent D的交易次數(shù)為M, 交易成功的次數(shù)為S2。假設購買方Agent A和服務方Agent B的第N+1次的合作成功概率服從Beta分布, 那么在推薦信任模式下的平均交易成功率為
θrc=E(Beta(1/(N,S1), (M,S2)))
(2)
根據(jù)定義5, 可以得出綜合信任模式由兩部分組成: 1)購買方Agent A和服務方Agent B的直接信任度θd; 2)購買方Agent A和服務方Agent B的推薦信任度θrc。綜合信任模式就是由兩個信任度加權計算得出, 其中權值w1和w2是由購買方Agent的歷史交易記錄和信任評估機制計算得出。因此, 在綜合信任模式的平均交易成功率計算式為
θwt=w1θd+w2θrc。
(3)
云計算是一種大規(guī)模的分布式開放環(huán)境, 用戶需要與不同的服務提供商進行交互, 確保服務提供商是可信的, 并且還能驗證用戶是否是惡意用戶等。因此, 云計算需要一個信任管理模型, 它既可以滿足用戶的服務需求, 也可以測試用戶是否為惡意用戶, 基于MAS的信任管理模型就是一個可行的方案。因此, 本文提出了一種信任管理Agent、 服務管理Agent和信任評估Agent相結合的三層信任管理模型, 工作流程如圖1所示。

圖1 信任管理模型工作流程
首先用戶向信任管理Agent發(fā)起服務請求, 信任管理會查詢服務是否存在, 如果存在就會將用戶的服務轉發(fā)給服務管理Agent, 服務管理Agent作出信任評估, 根據(jù)綜合信任值的大小, 通過信任模式選擇算法, 選出最適合的云服務, 并且為用戶提供; 如果沒有達到相應的信任值閾值或者找不到云服務就會拒絕服務。服務完成之后, 用戶會對服務結果作出評價, 服務管理Agent更新信任值。
本文模型由服務管理Agent、 信任管理Agent和信任評估Agent 3個層次組成, 如圖2所示。

圖2 基于MAS的三層信任管理模型
本文的信任模型的信任主體是用戶, 信任對象是云服務, 將云服務按照功能、 類別劃分成不相同的信任域, 在每個云服務中對一種或者多種云服務進行管理。
信任管理Agent是本文信任模型的核心組件, 它負責管理用戶和服務提供方之間的服務關系Agent和信任評估Agent; 服務管理Agent負責管理用戶和用戶的信任關系, 并且對云服務進行管理; 信任評估Agent通過歷史信任收集和信任信譽評價機制來對服務的信任度進行評估, 并將結果返回到信任管理Agent, 然后作出對應的信任決策。
服務管理Agent的框架如圖3所示。在服務管理Agent中, 用戶首先通過注冊代理的方式進行注冊, 然后在以后的使用過程中逐漸完善使用信息, 建立用戶信任關系, 當用戶請求服務時, 服務代理查詢到所需服務, 并且將用戶的服務請求和信任關系傳遞到信任管理Agent。

圖3 服務管理Agent
服務管理Agent的詳細組成如圖4所示。服務管理Agent的主要功能是對云服務信息進行管理, 在信任管理模型中, 每一個不同類別的服務管理Agent都對可以管理某一種云服務, 用戶通過信任管理Agent對服務管理Agent進行管理。

圖4 服務管理Agent的組成
服務管理Agent由3個模塊組成, 分別是服務代理、 數(shù)據(jù)庫和注冊代理。服務管理Agent的作用就是對用戶與服務的信任信息進行管理, 根據(jù)信任模式的結果選擇出適當?shù)脑品仗峁┙o用戶。服務管理Agent中有兩個數(shù)據(jù)庫——云服務數(shù)據(jù)庫和信任關系數(shù)據(jù)庫, 前者負責維護服務管理Agent管理的云服務相關信息, 后者負責維護用戶和云服務的交互信息。
信任評估Agent由信任收集、 信任判斷、 信任更新等模塊組成, 負責對云服務進行信任評估, 它對用戶與云服務之間的直接交互、 推薦信任、 信任信譽等進行計算, 為信任決策代理提供參考依據(jù), 并且也負責服務完成后在服務管理Agent中更新云服務的信任值。
基于之前已經定義的直接信任模式、 間接信任模式和綜合信任模式, 本文提出了一種基于歷史交易平均成功率(α)的信任判斷選擇模型: 首先對購買者Agent和云服務提供商Agent的歷史平均交易成功率進行分析, 再對歷史交易平均成功率的大小進行劃分, 根據(jù)歷史交易平均成功率選擇出對應的信任模型, 然后根據(jù)信任模型計算出雙方的交易成功率, 最終依據(jù)計算出的交易成功率來選定交易的對象Agent。
通過信任判斷模型來選擇適合的信任模式, 提高交易的可信度, 從而提高雙方的合作可能, 信任判斷模型如表1所示。

表1 信任判斷模型
交易對象選擇算法如圖5所示。

圖5 交易對象選擇算法
本文的信任判斷模型中, 如果購買方Agent的歷史交易平均成功率在0~30%, 因為雙方的歷史交易成功率較低, 不能夠判斷出是否是可信的交易對象, 因此需要根據(jù)間接信任模式計算雙方的合作成功率, 降低遇到非可信合作的可能; 如果購買方Agent的歷史交易平均成功率在30%~60%, 這個合作成功率已經不算太低, 可以根據(jù)綜合信任模式計算出雙方的合作成功率, 促成雙方的合作; 如果購買方Agent的歷史交易平均成功率在60%~100%, 由于雙方的歷史合作成功率已經是非常高了, 可以被認為是可信的交易對象, 所以通過直接信任模式來計算雙方的合作成功率。
在完成云服務動態(tài)交易的過程中, 由于信任具有動態(tài)性和不確定性, 需要根據(jù)交易情況對信任進行更新, 使得信任可以變得更加精準, 得到信任程度更高的結果, 因此在本模型中引入了更新歷史交易記錄、 更新Agent推薦記錄和更新Agent可靠度記錄。
1)更新歷史交易記錄。在完成一次交易之后, 模型就會將本次的交易情況存入交易數(shù)據(jù)庫中, 包含交易時間、 交易結果、 交易滿意度等信息。 交易滿意度為購買方Agent對服務方Agent的服務滿意度, 為了簡化模型起見, 購買方Agent可以在交易完成后對服務方Agent進行評價, 并作出服務評價。
2)更新Agent推薦記錄。推薦信任度作為推薦信任模式的重要參考, 會在購買方Agent的交易完成后發(fā)送本次交易的推薦信任度到推薦方Agent。與此同時, 購買方Agent作為推薦方Agent來接收其他Agent發(fā)送的推薦信任度。
3)更新Agent可靠度記錄。單純地依靠信任度更新推薦節(jié)點容易造成推薦信任度被濫用, 從而導致推薦效果降低。 因此, 在這里引入了推薦信任度的獎懲機制, 使得推薦信任模式的信任反饋機制變得更加可靠。在完成了一次交易之后, 根據(jù)交易結果及推薦節(jié)點的效果進行獎懲評判, 引入獎懲評判機制的Agent可靠度Tn的計算公式如下
Tn=T0+Mf·Rc·Rf;
(5)
Tn=T0-Mf·Rc·Rf。
(6)
式(5)用于計算獎勵機制的Agent可靠度, 式(6)用于計算懲罰機制的Agent可靠度。其中,T0是原來的Agent可靠度; 而Mf表示Agent改變的區(qū)間, 為了保證T0不會超過可靠度的取值范圍, 當計算獎勵機制時Mf=1-T0, 計算懲罰機制時Mf=T0; 而Rc和Rf分別表示Agent的失敗推薦比例和成功推薦比例, 用來平衡Agent在推薦過程中的可靠度程度影響, 使得不會因為一次偶爾的失誤造成可靠度降低。
為了對本文所提出的信任管理模型的實際效果進行驗證, 進行仿真實驗驗證, 本文的實驗環(huán)境參數(shù): CPU, E3-1225, 3.30 GHz; 內存32 GB; 操作系統(tǒng)為Windows 10; 顯卡, GTX 1660。
根據(jù)本文提出的信任模型, 購買方和服務方會對歷史交易情況進行判斷, 根據(jù)交易對象選擇算法,即選擇對應的信任模型。 本文的信任模型相關參數(shù)初始化設置如表2所示。

表2 信任模型參數(shù)
對云計算交易環(huán)境下的多Agent交易情況進行模擬, 以證明本文模型的有效性。 在實驗中設置20個購買方Agent、 20個服務方Agent和1個第三方信任組織, 假設購買方Agent和服務方Agent的歷史交易成功次數(shù)大于100次, 購買方和服務方Agent的實驗交易次數(shù)為30次。
將本文的信任模型與另一經典信任模型EigenTrust[10]進行對比, 根據(jù)歷史交易成功率將實驗分為A、 B、 C 3組, 即選擇相應的信任模型(表2)。實驗結果如圖6所示。

圖6 多Agent交易情況實驗結果
在A組實驗中, 購買方Agent和服務方Agent的平均歷史交易成功率是0~30%。交易次數(shù)在前5次時, 兩個模型的平均交易成功率幾乎相同, 但是隨著交易次數(shù)的增多, 本文模型的平均交易成功率不斷上升, 而對比模型的增長幅度較小, 說明本文模型在歷史交易成功率低的情況下, 平均交易成功率也能保持增長。
在B組實驗中, 購買方Agent和服務方Agent的歷史交易成功率在30%~60%, 隨著交易次數(shù)的增多, 本文模型的平均交易成功率不斷上升, 而對比模型的平均交易成功率卻不斷起伏, 最終本文模型的平均交易成功率還是高于對比模型。
在C組實驗中, 購買方Agent和服務方Agent的歷史交易成功率在60%~100%, 前幾次交易次數(shù)兩個模型的交易成功率比較接近, 但是隨著交易次數(shù)的增多, 本文模型的交易成功率相比于對比模型要更高。
在節(jié)點安全性實驗中, 假設4個信任域中有1 000個云服務節(jié)點, 每個節(jié)點提供真實的服務概率為95%, 用戶數(shù)量為150個, 實驗中的用戶信息和交易數(shù)據(jù)的初始值將隨機產生。將本文模型與另一信任模型EigenTrust進行對比, 實驗結果如圖7所示。

圖7 信任評估實驗結果
可看出, 在信任評估實驗中, 隨著惡意節(jié)點比率的增加, 本文模型的平均交易成功率比較平穩(wěn), 對比模型的平均交易成功率卻逐漸下降, 當惡意服務比率超過0.4時, 平均交易成功率下降得非???這是因為對比模型在計算全局信任值時, 判斷信任度不夠精確。因此, 在惡意服務比率較大時, 對比模型的信任判斷就不夠精準, 增加了交易失敗率的可能。而本文模型基于歷史交易成功率, 使用了3種信任模型作為判斷的依據(jù), 可以對信任進行充分的判斷, 提高信任程度, 降低惡意服務的風險。
本文提出了一種云環(huán)境下的基于多Agent系統(tǒng)的三層架構信任管理模型, 結合直接信任模型、 間接信任模型和綜合信任模型的信任度判斷方法對用戶和服務提供者的交易合作信任狀況作出判斷和評價, 通過三層信任管理模型進行信任的管理。仿真實驗結果表明, 本文模型在多Agent交易情況和節(jié)點安全性測試上相比于對比模型效果更好。