李 圳,于學軍
(北京工業(yè)大學 信息學部,北京 100124)
在信息化時代的21世紀,軟件作為信息的載體之一,已經(jīng)廣泛應用到經(jīng)濟、軍事以及日常生活等各個方面,成為人類和社會發(fā)展不可或缺的工具之一.然而,隨著軟件規(guī)模的不斷擴大,其內(nèi)部結(jié)構(gòu)越來越復雜,應用環(huán)境越來越開放,軟件的不可信給人類社會帶來的各種不安全因素也隨之產(chǎn)生.因此,提高軟件可信性具有重要意義.
一般認為,“可信”是指一個實體在實現(xiàn)既定目標的過程中,行為及結(jié)果可以預期,它強調(diào)目標與實現(xiàn)相符,強調(diào)行為和結(jié)果的可預測性和可控制性,軟件的“可信”是指軟件系統(tǒng)的動態(tài)行為及其結(jié)果總是符合人們的預期,在受到干擾時仍能提供連續(xù)的服務,這里的“干擾”包括操作錯誤、環(huán)境影響、外部攻擊等[1].而軟件行為聲明,就是基于“言行一致”思想,站在軟件全生命周期視角,提出基于行為聲明的軟件可信性測試的解決方案,從而達到最終完成的軟件產(chǎn)品具有相對較高的可信性.
經(jīng)研究發(fā)現(xiàn)目前云計算商業(yè)領(lǐng)域除了有云平臺廠商自身提供的一些大數(shù)據(jù)處理類的服務以及服務器租借服務外,還提供了含有第三方云服務提供商的云市場模塊,目前有云市場功能的云平臺(主要是用友云和阿里云)都并未使用任何有效的措施約束第三方云服務提供商提供的服務質(zhì)量,而是簡單的靠著在開發(fā)商手冊中的條款希望云服務提供商能夠自覺遵守協(xié)議,服務的反饋機制僅僅是靠著用戶的打分和一點評論,很多用戶并不在意這種評論而亂評論,是一種被動可信評估的機制,這種機制明顯不能解決云服務商提供服務的可信問題,所以目前急需一個完備的云服務可行性評估與不可信服務篩選的機制.
目前國外與國內(nèi)均對于服務可信相關(guān)問題有所研究,國外更多著眼于信息可信度相關(guān)的研究,大多數(shù)研究都參考了J?sang[2]有關(guān)于用戶信譽度評估相關(guān)的論文,更多是分析服務用戶可信,如Shojaee 等人[3]提出的一種基于用戶的正確和惡意反饋來計算出用戶信譽度的方法,Peng 等人[4]提出了一種解決新進用戶初始化信譽度的方法,根據(jù)用戶行為識別和分類來初始化用戶信譽度,Noorian 等人[5]針對用戶信譽提出了一種推薦人機制,并提出相應的鼓勵和懲罰措施,Vassileva 等人[6]又根據(jù)用戶的習慣傾向性,喜好區(qū)別以及經(jīng)驗豐富程度等因素對用戶信譽計算進行了下一步的優(yōu)化,除了國外研究者,國內(nèi)也有楊蕊嵐等人[7]使用多級模糊評估模型評估云計算中用戶可信度的研究.國內(nèi)更多偏向服務端的可信,主要基于路徑的服務可信研究,主要包括集群相關(guān),偏好相關(guān)的服務可信評估,最優(yōu)服務組合選擇等.曹潔等人[8]為了解決數(shù)據(jù)的不確定性提出了利用信息熵理論的評估權(quán)重計算法.王海艷等人[9]為了解決用戶間信任計算的問題,將評價數(shù)據(jù)相似的用戶分為集群計算.盛國軍等人[10]為了優(yōu)化選擇最可信調(diào)用路徑使用了蟻群算法.雖然現(xiàn)今國內(nèi)外對于云服務的可信評估都有所研究并建立了各自的信任評估模型,但是至今為止提出的各模型都并不能滿足可信評估模型的一些基本性質(zhì)如信任值緩慢增長、信任值快速下降等.
為了解決現(xiàn)有研究中云服務信任評估模型不能應對惡意云服務提供商的信任濫用和重入等惡意行為對信任評估準確性的影響,本文引入滑動窗口機制優(yōu)化云服務信任評估流程,滑動窗口通過雙窗口的結(jié)構(gòu)以及為信任評估流程帶來信任緩慢積累以及快速下降等性質(zhì).之后提出了基于滑動窗口的云服務可信評估模型,并通過實驗驗證了信任評估模型的有效性.
信任最開始從人與人之間的信任得來[11],本來是一方對另一方是否能守約的主觀感覺,所以更多的是要強調(diào)“言行一致”,即事先聲明(約定)與實際的結(jié)果相一致.在云服務中信任主要代表云服務方事先聲明的服務屬性和實際使用時的服務屬性是否一致.
云服務的“言行一致”則是云服務提供商在平臺上注冊服務時聲明的服務質(zhì)量與實際用戶在使用時的服務質(zhì)量是否一致來評定,每次用戶在評定服務是否可信后將反饋數(shù)據(jù)傳回平臺,而平臺將會根據(jù)這些數(shù)據(jù)幫助之后的用戶篩選出可信的服務.
圖1為云服務可信評估模型的全貌,主要評估因素就是該云服務歷史使用時的反饋記錄,而反饋記錄由反饋來源的不同分為了用戶自身對于目標服務的反饋數(shù)據(jù)和其他用戶對于目標服務的反饋數(shù)據(jù),這兩種反饋數(shù)據(jù)計算后分別得到目標服務的直接信任評估值和間接信任評估值,最后將兩部分的信任評估結(jié)果整合后得出目標服務的可信評估值,下面將對流程中每一個組成部分進行介紹.
圖1 云服務可信評估方法示意圖
1.2.1 直接信任
直接信任,即為用戶自己在以前與服務交互的記錄,直接信任由于是用戶自己本身的反饋,假定條件為不可能存在造假或是欺騙的情形[12],由于對于用戶而言,自身是完全可信的,是一種主觀信任,所以應在整個評估環(huán)節(jié)占主導地位.直接信任值主要由用戶自身的多次反饋數(shù)據(jù)所綜合得出.主要涉及到了單次服務信任值的計算和帶時間戳的多次信任評估值的綜合數(shù)值計算.
(1)單次服務信任值
單次信任評估值,即用戶在每次使用完服務后的反饋數(shù)據(jù)評估值,是整個評估模型中存儲數(shù)據(jù)的基本單位,充分貫徹了“言行一致”的理念,為服務提供商在注冊服務時聲明的服務質(zhì)量和實際用戶在使用時反饋值的對比數(shù)值[13],從這個比值中能得出單次調(diào)用時該云服務是否可信.同時還要注意標準化問題[14].
(2)多次信任評估值的綜合數(shù)值
平臺根據(jù)用戶對于目標用戶的多次信任反饋數(shù)據(jù)根據(jù)相應算法得出綜合信任值即直接信任.
1.2.2 間接信任
間接信任[15]代表的是其他用戶對目標服務的信任數(shù)據(jù).間接信任由于并不是當前用戶自身的反饋數(shù)據(jù),所以除了要計算前面1.2.1 節(jié)中提到的多次反饋數(shù)據(jù)計總合計算出的信任值外,還有需要計算用戶間的相似度.相似度主要分為用戶偏好相似度和用戶評價相似度.
(1)用戶偏好相似度
正如1.2.1 節(jié)直接信任中單次反饋信任值計算中敘述,用戶在反饋實際服務質(zhì)量數(shù)據(jù)到算出信任值時不同的服務質(zhì)量屬性可以設(shè)定不同的偏好值,而用戶間偏好分配不同可以導致對于同一個服務同樣的實際服務質(zhì)量產(chǎn)生不同的信任值,所以間接信任值計算中需要計算用戶偏好相似度.
(2) 用戶評價相似度
不同的用戶除了在計算時偏好不同會有所影響外,使用服務的時段也有所不同,所以可以根據(jù)用戶評價來篩選選用服務更相似時間也相似的用戶[16].同時可以抵消而已云服務共謀行為對結(jié)果帶來的影響.
本節(jié)介紹了云服務信任的定義以及現(xiàn)有研究中云服務評估模型的結(jié)構(gòu),雖然現(xiàn)有研究中的評估模型使用多種機制來評估云服務是否可信,但是現(xiàn)有的機制并不能解決諸如惡意云服務重入或信任濫用等問題,接下來本文將會提出云服務信任評估應滿足的基本性質(zhì),并通過引入滑動窗口優(yōu)化云服務信任評估流程.
對應云服務信任的評估中,對于同一個用戶對同個目標服務的多次反饋記錄進行融合出直接信任是估算云服務可信評估值的第一步,而為了能夠更好的篩選服務,如緩慢增長和迅速下降兩個最基本的性質(zhì)要得到滿足,而國內(nèi)外對云服務可信評估中這一環(huán)大多采用單時間衰減因子來參與計算,但是單衰減因子并不能解決常見的惡意行為,如重入行為,被評估為不可信的服務通過改變名稱重新注冊服務來清楚過去的反饋記錄,不可信的云服務提供商還會在注冊初期積累可信記錄后提供不可信記錄仍然還能被評估為可信云服務.現(xiàn)有的云服務信任評估模型并不能很好的解決上述惡意行為對評估流程帶來的影響導致整個評估模型對于不可信云服務的鑒別效率低,此外還有其他一些性質(zhì)也不能得到很好的滿足,而通過本文加入的滑動窗口方法能較好地解決性質(zhì)無法得到滿足的問題,這些性質(zhì)分別為緩慢增長、快速減少、事件相關(guān)性、記錄有效數(shù)量以及獎懲制度,下面對5 個基本性質(zhì)進行敘述.
性質(zhì)1:緩慢增長
現(xiàn)實中對于商品的口碑是要慢慢積累的,少量的好評并不能代表商品質(zhì)量就是優(yōu)異的,云服務同樣,幾次零星的可信調(diào)用并不能直接判斷當前服務可信,如及正向積累值的增長速度要慢,另外通過極少數(shù)評價來斷定是否可信會導致不可信的云服務商可以以極小的成本積累一些少量的可信反饋從而達到被評估為可信的目的.
性質(zhì)2:快速減少
對于云服務產(chǎn)生的負面值反饋必須比正向的增長得到更多的影響,及一旦出現(xiàn)不可信的調(diào)用反饋立即對于信任預測值進行大量的下降處理,以作懲罰作用.
性質(zhì)3:時間相關(guān)性
用戶對于信任值的預測必須具有時間相關(guān)性,信任評估值應該反映的是云服務近期時間段中的可信表現(xiàn),而隨著服務可信表現(xiàn)的波動服務的信任評估值也要隨著做出改變,同時隨著長時間沒有使用記錄,服務的可信評估值應該慢慢趨近于初始值,綜上所述需要找到一個方法使評估時新的記錄所占權(quán)重比舊的記錄要高.
性質(zhì)4:記錄有效數(shù)量
隨著使用的次數(shù)漸漸積累,對于評估的消耗會越來越大,而一些很久以前的記錄對于最終評估結(jié)果能產(chǎn)生的影響微乎其微而占用同樣的計算時間,所以對于過多的累計記錄應該有一定的有效記錄數(shù)量的限制.
性質(zhì)5:服務可信評估值的獎懲制度
當有多個服務可信反饋評估值記錄時,對于評估值不同的反饋(高于信任閾值及可信的反饋值和低于信任閾值及不可信的反饋值)在評估中應對最終計算出的直接信任值有不同的影響,可信記錄應該使最終的直接信任值增加,而不可信記錄應該使最終的直接信任值降低,對應云服務能夠和不能夠提供可信服務時對于最終評估值產(chǎn)生的影響.
為了滿足以上5 個性質(zhì),主要使用兩個措施,分別為時間衰減因子和滑動窗口.時間衰減因子作為云服務可信數(shù)據(jù)整合中常見的步驟,代表了不同時間的反饋值在整合中占有了不同的權(quán)值,確保離當前評估時間越近的反饋有更高的權(quán)值.時間衰減因子滿足了時間波動性,因為引入了時間衰減因子后離當前評估時間越近的記錄所占比重越大.而其他的幾個性質(zhì)中性質(zhì)2 和性質(zhì)5 的效率很低,只是單純使用了時間衰減因子的權(quán)重下不是很好的能夠在短時間內(nèi)篩選出不可信的服務,尤其是該服務如果長時間提供的是可信的服務時服務質(zhì)量產(chǎn)生了波動從而不可信后評估的響應速度過低,而性質(zhì)1 和性質(zhì)4 則是完全沒有做到,所以現(xiàn)今常用的時間衰減因子是需要進行優(yōu)化的.
為此本文使用滑動窗口的方法,滑動窗口通過填充窗口數(shù)值,不可信懲罰措施以及限制窗口大小等措施來滿足現(xiàn)有研究中在效率上不能達到的問題.
作者引入滑動窗口解決2.1 節(jié)提到的目前云服務信任領(lǐng)域單純依靠時間衰減因子處理反饋數(shù)據(jù)整合所引發(fā)的服務可信評估值的獎懲制度和快速減少不能很好的達成以及緩慢增長和記錄有效數(shù)量完全不能達成的 問題.具體設(shè)計如圖2所示.
圖2 云服務可信評估所用滑動窗口示意圖
如圖2中所示,云服務可信評估所用滑動窗口主要是兩部分,初始信任窗口和實際有效窗口[17],圖中每一列tr代表信任反饋數(shù)據(jù),后綴中1-min 為緩慢增長窗口,min+1-max 為實際有效窗口的記錄,其中新的反饋數(shù)據(jù)從右側(cè)作為trnew進入窗口中,而超過窗口大小時最久遠的數(shù)據(jù)作為trold從窗口左側(cè)淘汰,整體窗口向右行進.通過其中的特性能夠解決前面所說現(xiàn)有研究中無法解決的有效記錄、獎懲制度,緩慢增加,快速減少的問題.下面將對滑動窗口的主要組成部分和所解決的問題進行詳細說明.
(1)窗口限制
首先滑動窗口使用了普通網(wǎng)絡傳輸中窗口中類似的功能,將反饋數(shù)據(jù)存儲在窗口中進行評估,這樣使用窗口大小限制了有效記錄的數(shù)量,從而解決前面記錄有效數(shù)量的問題.
(2)窗口分塊之信任初始窗口
除了使用窗口大小限制有效次數(shù)外,滑動窗口為了滿足其他性質(zhì)還將整個窗口分為兩個部分,分別為信任初始窗口和實際有效窗口.
信任初始窗口用來在歷史反饋數(shù)量不太多的時候讓信任以緩慢增長的方式來變化,除了自帶時間衰減因子外,通過將初始值填滿整個信任初始窗口并且時間自動設(shè)置為評估時間以減小在信任初始窗口中可信反饋記錄對信任評估值的增加效果,以達到緩慢增長的作用.
(3)窗口分塊之實際有效窗口.
當信任反饋記錄超出信任初始窗口后記錄開始進入實際有效窗口中,與初始窗口不同,有效窗口并不會使用初始值填充窗口,而是直接使用實際數(shù)據(jù),而且限制了有效記錄次數(shù),當次數(shù)超過實際窗口最大值時新來的記錄仍然填進實際窗口中,而從信任初始窗口彈出最老的數(shù)據(jù).
(4)滑動窗口的獎懲措施
前面的功能已經(jīng)解決了大部分問題,就剩下懲罰措施和快速下降,其中快速下降就是懲罰措施的主要表現(xiàn)手段,及之前云服務提供商在一開始一段時間內(nèi)提供的是可信的服務,然而突然有一兩次有了不可信的反饋數(shù)據(jù)則可信評估值迅速向低于可信閾值的方向轉(zhuǎn)變.滑動窗口的懲罰措施主要是對出現(xiàn)惡意反饋之前高于可信閾值的記錄,將這些反饋數(shù)據(jù)改變?yōu)槌跏蓟涗?這樣通過將之前的可信反饋數(shù)據(jù)修改為初始值,從而使云服務信任評估值快速下降,也就實現(xiàn)了懲罰的作用.
通過以上敘述的幾個措施,云服務信任滑動窗口通過兩個不同且限制大小的窗口以及特別的懲罰措施解決了現(xiàn)有云服務評估研究中未能解決的問題,從而提高了信任評估的準確性以及在持續(xù)使用中產(chǎn)生波動時的調(diào)整效率.
前面幾節(jié)介紹了評估模型的組成部分以及現(xiàn)在模型中存在的問題以及可以優(yōu)化的點,下面對云服務可信評估整個流程進行詳細介紹.首先整個流程示意圖如 圖3所示.
圖3 云服務可信評估流程示意圖
整個流程中主要有三個主要角色,分別為用戶,服務提供商,以及平臺.
平臺在整個實驗過程中起到轉(zhuǎn)交數(shù)據(jù)和根據(jù)數(shù)據(jù)
評估可信值,是其中最重要的一環(huán).
用戶負責提交需求和根據(jù)篩選后的服務列表選擇服務.
服務提供商負責根據(jù)自己在設(shè)定中的角色生成對應的服務數(shù)值.
下面分別詳細介紹流程圖中每一步的細節(jié)以及所用公式.
(1) 每次調(diào)用時用戶選取一定服務質(zhì)量的需求提交給服務器.
評估的前提便是用戶有使用服務的需求,接下來交給平臺對服務進行篩選.
(2) 服務器以用戶需求為最低限度的要求搜索服務質(zhì)量大于該值的服務,完成初步篩選.
首先服務的最基本要求是符合用戶需求,首先根據(jù)用戶搜索服務的類別和屬性需求對服務進行初步篩選.
(3) 平臺根據(jù)用戶自身對于目標服務的反饋數(shù)據(jù)計算直接信任值.
直接信任的評估是根據(jù)滑動窗口共識計算得出的,這樣做能夠解決章節(jié)2.1 中提出的問題并優(yōu)化流程.
當次數(shù)少于緩慢增長窗口大小時公式如下:
其中,n為記錄次數(shù)nmin為緩慢增長窗口大小,tcurr為當前時間,trec為記錄時間,Tk為單次信任評估值,Tnew為信任初始值.
當次數(shù)大于緩慢增長窗口時公式如下:
其中,Tstraight是直接信任值,tcurr為當前時間,trec為記錄時間.
(4)平臺計算間接信任值.
平臺根據(jù)過去與目標服務有交互且和當前用戶有共同使用的用戶所有的歷史反饋數(shù)據(jù)計算間接信任值
(5)服務器從數(shù)據(jù)庫中查詢每一個服務過去的用戶反饋記錄.
首先要選擇推薦用戶,推薦用戶即為非當前請求服務用戶外過去使用過目標服務的用戶,查詢這些用戶過去使用目標服務的記錄.
(6)服務器根據(jù)其他用戶和當前請求用戶對于服務質(zhì)量屬性權(quán)重的區(qū)別計算出用戶相似度.
用戶相似度主要根據(jù)用戶偏好相似度(Simp)和用戶評價相似度(Sime)來得出,下面對這兩個屬性分別做介紹.
① 用戶偏好相似度
用戶偏好相似度主要代表的是用戶對于各QOS屬性在評估時設(shè)定的權(quán)重不同所帶來的差別,當用戶間偏好較大時應該在間接信任評估過程中所占權(quán)重要低,權(quán)重所用公式如下:
其中,Simp就是計算出的用戶偏好相似度,n為QOS 屬性的個數(shù),W1k為當前請求用戶對每個屬性的偏好權(quán)重,W2k為待選推薦用戶對每個屬性的偏好權(quán)重,此公式采用的是皮爾森系數(shù)公式,為常用的相似度計算公式.通過這個相似度計算公式能夠反映出不同的用戶調(diào)用同一個云服務在獲取到的服務質(zhì)量屬性相同的時候由于偏好不同所產(chǎn)生的差別,提升間接信任評估的準確性.
② 用戶評價相似度
除了使用偏好相似度反映用戶偏好所帶來的差別外,用戶間非目標服務的評價也會有所差別,用戶的使用服務次數(shù),時間段,以及可以通過一定手段為商家服務的惡意用戶,都可以通過用戶評價相似度有效地將這些問題的影響減少到最小.其中用戶評價相似度首先通過目標用戶和請求用戶間共通的云服務使用記錄為條件篩選推薦用戶,沒有共通服務使用記錄的首先就會被排除,之后通過每個共通服務的歐氏距離公式計算出相似度,公式如下:
其中,Sime為計算出的用戶評價相似度,i為QOS 屬性數(shù)量,m為請求用戶和目標推薦用戶共通的服務數(shù)量,Tj,k為用戶對目標云服務的直接信任反饋值.
將上面的用戶評價相似度和用戶偏好相似度整合起來就會得到用戶相似度,公式如下:
其中,Sim代表最終計算出的用戶相似度,Simp為用戶偏好相似度,Sime為用戶評價相似度,由于用戶偏好相似度使用的是皮爾森系數(shù)公式,在用戶間偏好完全相同時為最大值1,偏好差距越大得到的值最小,而用戶評價相似度使用的是歐幾里得距離公式,所以是越相似值越小,所以用戶相似度為用戶偏好相似度和用戶評價相似度的比值.
(7) 根據(jù)用戶相似度,時間窗口和每一個用戶反饋的可信值計算出間接信任值.
間接相似度在計算出了用戶相似度外就要計算推薦用戶對目標云服務的直接信任,而直接信任即是本模型與之前研究最大的一點不同,通過滑動窗口解決獎懲措施、緩慢增長、快速降低、有效次數(shù)的問題,從而提升云服務可信評估的有效性.
除此以外還有限定總窗口大小以及懲罰更新反饋數(shù)據(jù)的步驟,這些一起組成了云服務信任評估模型中的各個措施,增強了評估的準確度.
(8) 使用請求用戶自己反饋的可信值以及間接信任值計算出總的可信評估值.
使用用戶自身的直接可信以及前面計算出的間接可信,最終公式如下:
其中,y為推薦用戶數(shù)量,Td為直接信任值,wd為直接信任權(quán)重,win為間接信任權(quán)重,simk為用戶相似度,Tk為推薦用戶的直接信任值,最終得出的便是云服務信任評估值.
(9) 最終篩選完的服務既符合可信閾值又滿足客戶對于服務質(zhì)量的要求,并轉(zhuǎn)交給用戶.
(10) 用戶從列表中選擇一個服務并使用該服務.
(11) 平臺獲悉用戶選擇了服務后通知服務提供商提供服務.
(12) 服務提供商根據(jù)自己在數(shù)據(jù)庫中的服務質(zhì)量和自己的角色(惡意,正常,偏向)生成實際服務質(zhì)量傳回給平臺.
(13) 用戶調(diào)用服務結(jié)束后反饋QOS 數(shù)據(jù),平臺根據(jù)用戶的偏好屬性計算出單次使用的云服務信任評估值,并存儲.
其中平臺需要讀取用戶對各QOS 屬性的偏好,讀取云服務事先聲明的屬性并進行計算,公式如下:
其中,n代表QOS 屬性數(shù)量,w(1-n)代表當前用戶對于QOS 屬性的偏好權(quán)重,s(1-n) 代表實際調(diào)用時的QOS 屬性值,q(1-n) 代表云服務商在注冊時生命的QOS 屬性值(SLA).
計算出Ts(單次云服務信任評估值)后平臺將會把數(shù)據(jù)進行存儲,單次云服務信任評估值作為云服務可信評估模型的基礎(chǔ)組成部分,接下來進行的云服務信任評估也要基于這些數(shù)據(jù)進行計算.
(14) 平臺根據(jù)世紀服務質(zhì)量計算實際信任值并存儲進數(shù)據(jù)庫.
以上便是用戶正常調(diào)用時云服務可信評估模型在其中執(zhí)行的流程,通過在整個評估過程插入滑動窗口來優(yōu)化整個模型,下面將通過一個模擬實驗來驗證整個模型的優(yōu)越性.
為了驗證基于滑動窗口的云服務可信評估模型優(yōu)于當前研究中常用的直接間接信任模型,現(xiàn)在對帶滑動窗口和不帶滑動窗口的云服務可信模型進行對比實驗,實驗所用環(huán)境為Win10 系統(tǒng),16 GB 內(nèi)存,所用模擬實驗的架構(gòu)為SprngBoot+Mybatis+Redis.
為了盡可能地模擬云服務環(huán)境下的情況,模擬實驗中定義三個角色,分別為用戶,服務提供商,以及平臺.平臺在整個實驗過程中起到轉(zhuǎn)交數(shù)據(jù)和根據(jù)數(shù)據(jù)評估可信值,是其中最重要的一環(huán),用戶負責提交需求和根據(jù)篩選后的服務列表選擇服務,服務提供商負責根據(jù)自己在設(shè)定中的角色生成對應的服務數(shù)值.
本次實驗因為是要驗證研究的優(yōu)越性,即在突出了間接信任中常用的偏好相似度和評價相似度以及使用到常用的時間衰減因子的情況下對比可信評估成功次數(shù)
在直接信任值計算中,作者選取了滑動窗口的是否使用來進行對比試驗,帶時間窗口的實驗使用了時間窗口和時間衰減因子綜合得到的結(jié)果用來在實驗中計算直接信任值,而在對比試驗中使用了單純的時間衰減因子來進行運算.
為了模擬出時間窗口所需要解決的情景,對于云服務提供商的惡意行為,實驗選用了信任濫用和重用兩種常用惡意行為,在實驗中設(shè)定了第二種服務商,即為惡意云服務提供商.惡意服務商在前半段時間中積累可信記錄,以重入的方式快速積累正向信任值,之后利用之前積累的信任開始提供大量的不可信服務,從而達到為自身牟利的目的.該惡意云服務主要包括兩種狀態(tài),信任積累狀態(tài)與惡意濫用狀態(tài),實驗中平臺使用的信任閾值為0.8,當單次調(diào)用的信任反饋值或信任評估值超過0.8 即認為該服務可信.信任積累狀態(tài)惡意云服務提供商和普通云服務提供商提供的服務總值根據(jù)自身聲明的服務質(zhì)量與隨機函數(shù)提供0.9-1.0 信任值的服務,在信任濫用階段云服務提供商提供的服務總值根據(jù)自身聲明的服務質(zhì)量與隨機函數(shù)提供0.65-0.85信任值的服務來模擬信任濫用惡意行為.對于用戶側(cè)的惡意行為,本實驗選用馬甲詆毀與馬甲共謀兩種行為,正常用戶在使用完服務后根據(jù)實際QOS 屬性數(shù)據(jù)和云服務事先聲明的屬性值計算比值后根據(jù)自身的偏好權(quán)重整合后得到單次服務的信任值后上傳,而惡意用戶在與其共謀的惡意云服務提供商改變?yōu)樾湃螢E用模式后,當其調(diào)用正常的云服務時執(zhí)行馬甲詆毀行為反饋低于信任閾值(即判定為不可信)的反饋值,而對于與惡意服務則執(zhí)行馬甲共謀行為,反饋高于可信閾值的反饋值.通過在流程中分別添加惡意云服務提供商與惡意云服務用戶來模擬實際使用時惡意行為對云服務信任評估流程帶來的破壞效果.最后通過每輪的可信服務(服務中實際的屬性數(shù)據(jù)/服務廠商聲明的服務質(zhì)量>=服務閾值)占所有進行的服務的比值來觀察帶時間窗口和不帶時間窗口時服務服務可信率的回彈速度來顯示時間窗口的優(yōu)越性.
除了需要模擬惡意云服務提供商以及與其共謀的惡意用戶對云服務信任評估流程的破壞行為外,也需要考慮普通用戶在需求不同時對于云服務可信評估準確性的影響,為此除了用戶在每次調(diào)用時會使用隨機的需求以及云服務設(shè)置了不同的云服務聲明QOS 外,也需要模擬用戶對于不同偏好下對于評估結(jié)果造成的影響.由于用戶對不同的于對比帶不帶偏好從而產(chǎn)生的相應區(qū)別,服務提供商的構(gòu)成中多加了一種“偏好服務提供商”,該提供商對于其中某一屬性的服務質(zhì)量很高,只能對該屬性偏好下的用戶提供服務,在本實驗中該偏好服務提供商提供的服務為響應時間偏好服務,在響應時間中提供的是0.9-1.0 倍聲明的屬性,而對于吞吐量則提供的是0.6-0.65 倍聲明屬性,剩余兩個QOS 屬性提供的是0.8-0.9 倍,這種類型的云服務雖然在吞吐量偏好的用戶進行反饋時會被判定為不可信,但是對于響應時間偏好用戶來看是可信的,從而云服務評估系統(tǒng)應該有能力將響應時間偏好的服務推薦給響應時間偏好用戶,而不是根據(jù)吞吐量偏好用戶低于信任閾值的反饋記錄就判定該服務為不可信.同時在用戶定義時將用戶分為兩類:響應時間偏好用戶和吞吐量偏好用戶,響應時間偏好用戶各服務質(zhì)量偏好權(quán)重為可用性:可靠性:響應時間:吞吐量=2:2:5:1,吞吐量偏好用戶各服務質(zhì)量偏好權(quán)重為可用性:可靠性:響應時間:吞吐量=2:2:1:5.此時若響應時間偏好云服務生成的實際屬性分別為0.8,0.8,0.9,0.6 時,在響應時間偏好用戶的權(quán)重分配下計算出的反饋值為0.83,超過可信閾值0.8,而如果是吞吐量偏好用戶的權(quán)重分配下計算出的反饋值為0.71,低于可信閾值,可以看到同樣的云服務質(zhì)量屬性下在不同偏好用戶的評判下會產(chǎn)生不同的結(jié)果.此實驗主要強調(diào)的是偏好相似度會加強相似偏好的用戶的反饋在全部用戶反饋中的分量,從而將相同屬性的偏好服務器推薦給該屬性偏好的用戶,而不會推薦給非該屬性偏好的用戶.同樣,偏好服務會在前一半時間只為同偏好用戶提供服務來積攢偏好反饋數(shù)據(jù).
實驗使用多線程模擬的形式進行,使用線程池并行調(diào)用的方式創(chuàng)建多個用戶對象調(diào)用服務并進行輪次調(diào)用,在使用時調(diào)用云服務信任篩選服務后選用評估為可信的云服務中其一調(diào)用并計算當前調(diào)用的信任反饋值并記錄,由于記錄為單用戶對目標服務的線性記錄所以針對數(shù)據(jù)結(jié)構(gòu)進行了一些優(yōu)化.實驗中創(chuàng)建了180 的用戶對象,其中包含60 個響應時間偏好用戶,60 個吞吐量偏好用戶以及60 個惡意用戶,選用的服務一共有150 個,其中包含50 個惡意云服務,50 個普通云服務,50 個吞吐量偏向云服務,由于為了對比云服務可信評估模型對于各類惡意行為造成的破壞效果的修復和屏蔽效果,本實驗設(shè)置了行為轉(zhuǎn)變信號,指一開始時惡意用戶和惡意云服務都進行正常的調(diào)用和服務,云服務在此時積攢信任,之后進行到一定輪次后惡意云服務開始利用自身積攢的信任記錄提供不可信的云服務,而惡意用戶開始進行詆毀和共謀操作,每輪每個用戶請求固定數(shù)量的云服務并調(diào)用后并反饋,在所有用戶調(diào)用完固定次數(shù)后該輪結(jié)束,平臺根據(jù)當前輪云服務調(diào)用反饋中超過可信閾值的調(diào)用(可信調(diào)用)次數(shù)和當前輪全部用戶的總調(diào)用次數(shù)的比例即為當前輪次中可信調(diào)用所占比例.
圖4為實驗結(jié)果.
圖4 滑動窗口對比實驗結(jié)果
圖4中橫坐標為可信評估的輪次,其中每一輪有180 名用戶分別進行15 次調(diào)用,一共2700 次服務調(diào)用,總共40 輪108 000 次調(diào)用數(shù)據(jù),縱坐標是每輪中經(jīng)過服務可信評估篩選后的調(diào)用中最終可信調(diào)用(即服務上提供了言行一致的云服務)的比例.從圖中可以看出在第14 輪后兩個實驗的可信服務成功率都有很大程度的下滑,然而帶時間窗口那一次(實線)明顯比不帶時間窗口(虛線) 更快的將成功率提升回之前的接近1 的水平,正是因為帶時間窗口時服務的可信值增長幅度較低,而且會在產(chǎn)生非可信服務后快速降低可信值,從而更加迅速的篩選掉了惡意服務提供商.
上面的實驗結(jié)果證實了在計算直接信任值時時間窗口的重要性.
服務中使用的數(shù)值如下:
時間衰減因子:使用的是1.5^(-實驗輪數(shù)差),同輪下權(quán)值最大,為1.
時間窗口中緩慢增長窗口大小:50
可信服務閾值:設(shè)定為0.8,低于0.8 的可信值被定義為不可信.
惡意服務提供商變更行為模式信號:14,也就是說14 輪后開始提供非可信服務.
偏向服務開始對全部用戶開放的時間:14
不同偏向用戶對于屬性的權(quán)重值:0.2,0.2,0.5,0.1和 0.2,0.2,0.1,0.5
這樣不同類別用戶對于同一服務的評價會有差別
惡意服務提供商變更行為模式信號:14,也就是說14 輪后開始提供非可信服務.
惡意用戶行為模式:惡意用戶在14 輪之前行為和普通用戶并無區(qū)別,在14 輪后除了正常服務返回正常的反饋外,對惡意服務商默認返回可信反饋(0.95).
由于基于滑動窗口的云服務評估模型中使用滑動窗口對流程進行優(yōu)化,相比現(xiàn)有的模型在本文提出的模型中惡意服務在積累信任時的速率較慢,則云服務商通過短期正常行為獲得的可信度比原有的更低,而當其結(jié)束重入后開始信任濫用行為時其信任快速下降至低于信任閾值,從而云服務的調(diào)用成功率相比現(xiàn)有的模型更快速回到了正常值.
為了應對云計算環(huán)境下云服務產(chǎn)生的可信問題,國內(nèi)外的研究者提出了各自的云服務評估模型以評估云服務是否可信.本文在對云服務信任評估相關(guān)的研究進行了較為全面的總結(jié)與分析的基礎(chǔ)上,對云服務信任評估流程進行了一定的優(yōu)化與改進,構(gòu)建了基于滑動窗口的云服務信任評估模型,本文的研究可以總結(jié)為以下幾個方面:
(1)總結(jié)現(xiàn)有研究中的云服務信任評估模型并分析出模型中待完善和改進的方面,基于常見惡意行為以及其他評估流程中需要關(guān)注的需求提出云服務信任評估模型應滿足的基本性質(zhì).(2)基于云服務信任評估的基本性質(zhì)引入滑動窗口對現(xiàn)有云服務信任評估流程進行優(yōu)化和改進,使其滿足基本性質(zhì).(3)根據(jù)現(xiàn)有模型以及本文引入的滑動窗口,構(gòu)建基于滑動窗口的云服務信任評估模型.同時通過第3 節(jié)的仿真實驗可以看出,本文提出的基于滑動窗口的云服務信任評估模型相比現(xiàn)有的評估模型能夠更快的篩除不可信的云服務.
本論文在引入了滑動窗口優(yōu)化云服務可信評估時,只考慮了按單個服務情況下的云服務信任評估,而在一些復雜場景是需要使用多個服務的,所以未來可以對服務組合情況下的云服務可信評估進行進一步研究,通過評估來選出最可信的云服務組合.