胡 斌 趙曉芳 宋永浩 于 雷 段東圣 張 程
(*中國科學(xué)院計(jì)算技術(shù)研究所 北京100190)
(**中國科學(xué)院大學(xué) 北京100049)
(***國家計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心 北京100029)
基于信任的動態(tài)訪問控制(trust based access control,TBAC)[1-2]是解決Web服務(wù)與用戶之間脆弱的信任關(guān)系[3]的一種重要方法。它基于用戶的歷史行為表現(xiàn),結(jié)合服務(wù)提供商(service provider,SP)自定義的數(shù)據(jù)分析模型動態(tài)給出一個標(biāo)量值作為調(diào)整訪問控制權(quán)限的依據(jù)。
然而,無中心網(wǎng)絡(luò)環(huán)境下,用戶歷史行為數(shù)據(jù)的準(zhǔn)確收集是一項(xiàng)困難的工作。一方面,不存在中心化的機(jī)構(gòu)或者服務(wù)來收集用戶的歷史行為數(shù)據(jù)。用戶與服務(wù)之間交互所產(chǎn)生的行為數(shù)據(jù),往往分散在許多不同的服務(wù)之中。因此,指定用戶的行為數(shù)據(jù)收集是一項(xiàng)困難的工作[4-5]。另一方面,準(zhǔn)確和全面的數(shù)據(jù)收集又與網(wǎng)絡(luò)用戶的隱私保護(hù)訴求沖突[3]。此外,圍繞個性化訪問控制研究,普遍停留在以角色或行為組為單位的層面。陸悠等人[6]及錢繼安等人[7]在研究中通過建立策略、規(guī)范與角色之間的映射關(guān)鍵,實(shí)現(xiàn)以角色為粒度的粗放型個性化訪問控制。Zerkouk 等人[8]雖然提出了基于用戶行為的細(xì)粒度個性化訪問控制,監(jiān)控信息卻違背了用戶對隱私保護(hù)的訴求。如何調(diào)和數(shù)據(jù)收集及分享和隱私保護(hù)之間的沖突是制約動態(tài)訪問控制技術(shù)發(fā)展的難點(diǎn)。
本文經(jīng)過問題分析和基于前期研究[9]基礎(chǔ),提出一種基于合約的個性化動態(tài)訪問控制方法(smart contract based personalized access control,SC-PAC)。該方法中,SP 與用戶建立智能合約,并通過合約內(nèi)的權(quán)益及規(guī)則定義,建立個性化訪問控制關(guān)系。用戶訪問Web服務(wù)前,通過合約在用戶本地自動運(yùn)行SP 提供的計(jì)算模型,分析用戶的歷史行為數(shù)據(jù),將計(jì)算結(jié)果反饋給SP 作為動態(tài)訪問控制的依據(jù)。這種方式在滿足SP 對用戶行為數(shù)據(jù)準(zhǔn)確性要求的同時,也滿足了用戶對自身行為數(shù)據(jù)的隱私保護(hù)訴求。此外,基于SC-PAC 的訪問控制方法通過允許SP 配置和調(diào)整智能合約內(nèi)的策略、模型和參數(shù),可以有效提升SP 對用戶的個性化訪問控制,極大提升服務(wù)的安全防護(hù)程度。
本文組織如下,第1 節(jié)是相關(guān)研究工作,第2 節(jié)描述SC-PAC 設(shè)計(jì),第3 節(jié)進(jìn)行案例與實(shí)驗(yàn)設(shè)計(jì)以及結(jié)果分析,最后在第4 節(jié)總結(jié)全文。
信任是社會關(guān)系中的重要方面,在安全領(lǐng)域、數(shù)據(jù)訪問領(lǐng)域、推薦系統(tǒng)等方面都有著重要的影響力。TBAC 就是這種社會關(guān)系在數(shù)據(jù)訪問領(lǐng)域融合的表現(xiàn)。區(qū)別于傳統(tǒng)的訪問控制技術(shù),TBAC 在社會關(guān)系的動態(tài)性認(rèn)識上向前邁出了一步。相較于其他的動態(tài)訪問控制技術(shù),TBAC 則通過對用戶在社會關(guān)系中的可信度評估來分析和判斷應(yīng)該分配怎樣的權(quán)限以及是否需要調(diào)整現(xiàn)有權(quán)限。
基于TBAC 的應(yīng)用研究眾多,Sajjad 等人[10]提出一種基于鄰居節(jié)點(diǎn)可信度計(jì)算的方法來執(zhí)行入侵檢測并在信任計(jì)算與安全等級之間建立了標(biāo)量連接。Adams 等人[11]則將TBAC 運(yùn)用到了Ad-hoc 網(wǎng)絡(luò)的協(xié)作,它綜合節(jié)點(diǎn)的歷史交互數(shù)據(jù)以及其他反饋信息評估節(jié)點(diǎn)可信度,動態(tài)建立協(xié)作。Toumi 等人[12]運(yùn)用TBAC 管理多組織環(huán)境中的用戶和組織機(jī)構(gòu),引入兩種動態(tài)信任向量并基于知識、聲譽(yù)以及經(jīng)驗(yàn)分別進(jìn)行計(jì)算和評估。Yan 等人[13]將TBAC運(yùn)用到云計(jì)算領(lǐng)域,通過研究云服務(wù)提供商之間的信任關(guān)系來提升安全資源保護(hù)。Tran 等人[14]在研究中提出通過直接信任、間接信任、直接貢獻(xiàn)以及間接貢獻(xiàn)等指標(biāo)來評估訪問權(quán)限的方法。Yu 等人[15]則指出,推薦、看法等不確定性信息會影響模型的計(jì)算結(jié)果可靠性。更重要的是,用戶行為數(shù)據(jù)收集與用戶的隱私保護(hù)訴求有沖突。Bedekar 等人[3]在研究中指出了用戶信息在隱私保護(hù)方面面臨的一些挑戰(zhàn),例如個人隱私數(shù)據(jù)的售賣。為解決前述問題,Hu 等人[9]在研究中提出新的方法為計(jì)算模型提供可靠的用戶歷史行為數(shù)據(jù)和隱私保護(hù)的數(shù)據(jù)分享方法。
合約是提供服務(wù)的一種重要方式。Ruohomaa和Kutvonen[16]指出,通過明確表達(dá)隱含期望的合約可以鼓勵更多的信任進(jìn)而減少不確定性。然而,合約通常與商業(yè)服務(wù)內(nèi)容密切相關(guān)。例如,Schnjakin等人[17]以合約形式呈現(xiàn)服務(wù)和業(yè)務(wù),給用戶一個清晰的服務(wù)內(nèi)容。由于技術(shù)難度和業(yè)務(wù)銜接問題,合約的適用具有挑戰(zhàn)性。智能合約概念最早由Szabo于1997 年提出,它主要是指依靠一段可執(zhí)行的計(jì)算機(jī)代碼來完成一段確定的業(yè)務(wù)邏輯。智能合約通過以太坊[18]區(qū)塊鏈平臺被大家廣為熟知,并被許多知名區(qū)塊鏈平臺(如Hyperledger Fabric[19])廣泛采納和用于交易。區(qū)塊鏈提供了一個可靠的分散環(huán)境,其智能合約具有可以強(qiáng)制執(zhí)行、交易可跟蹤的特點(diǎn)。
許多研究都利用區(qū)塊鏈和智能合約技術(shù)來解決當(dāng)前的安全問題。例如,Chen 等人部署了基于區(qū)塊鏈技術(shù)的高性價比的支付收付監(jiān)管系統(tǒng)[20]。隨著智能合約的使用及與食品行業(yè)標(biāo)準(zhǔn)的結(jié)合,Tao 等人[21]實(shí)現(xiàn)了整個產(chǎn)業(yè)鏈的不合格食品的自動檢測和預(yù)警。Yong 等人[22]通過區(qū)塊鏈和智能合約技術(shù)解決疫苗過期和疫苗記錄欺詐問題。Hu 等人[9]將分布式數(shù)據(jù)收集問題轉(zhuǎn)換為基于智能合約的數(shù)據(jù)管理,為信任計(jì)算提供了高質(zhì)量的用戶歷史行為數(shù)據(jù)。
本文在前期工作[9]基礎(chǔ)上,即以基于智能合約的數(shù)據(jù)管理方法為基礎(chǔ),為信任計(jì)算提供關(guān)于用戶的高質(zhì)量歷史行為數(shù)據(jù)。本文更進(jìn)一步地提出基于智能合約的個性化動態(tài)訪問控制方法(SC-PAC),將前述可靠的用戶歷史行為數(shù)據(jù)應(yīng)用于服務(wù)安全控制,實(shí)現(xiàn)動態(tài)的訪問權(quán)限和安全策略的分配。同時,通過智能合約自動執(zhí)行安全策略,對用戶的交互行為進(jìn)行監(jiān)控和更新。本文提出的SC-PAC 為基于TBAC 的方法提供了更準(zhǔn)確的用戶行為數(shù)據(jù),也為SP 提供了個性化和動態(tài)的訪問控制機(jī)制。
本文提出的基于智能合約的個性化動態(tài)訪問控制方法(SC-PAC)中合約服務(wù)是基礎(chǔ),它包含對用戶歷史行為數(shù)據(jù)的管理,將SP 的訪問控制協(xié)議轉(zhuǎn)換為智能代碼并自動監(jiān)管用戶行為,對發(fā)現(xiàn)的違規(guī)行為上報以及評估用戶可信度。
本文在前期研究工作[9]基礎(chǔ)上,給出了SCPAC 架構(gòu)圖,如圖1 所示。它包括服務(wù)于用戶端的基于智能合約的數(shù)據(jù)服務(wù)(smart contract based data sharing,SCDS)模塊和用戶端本地存儲用戶交互行為數(shù)據(jù)的用戶信任證書(trust certificate,TC),以及服務(wù)于SP 的服務(wù)相關(guān)智能合約(service related smart contract,SRSC)管理模塊,還包括抵抗信息欺詐的區(qū)塊鏈基礎(chǔ)設(shè)施以及抗欺詐賬本模塊。TC 以及抗欺詐賬本設(shè)計(jì)參考文獻(xiàn)[9]。本文的SCDS 包含與文獻(xiàn)[9]一致的交互行為管理、數(shù)據(jù)分享設(shè)計(jì)。不同之處在于,前者統(tǒng)一通過一個智能合約管理、分享用戶數(shù)據(jù),而SCDS 將許多服務(wù)以用戶的智能合約的方式進(jìn)行獨(dú)立發(fā)布,即SCDS 包含了許多特定功能的智能合約,它是用戶端智能合約集合。例如:信任計(jì)算合約、哈希計(jì)算合約、TC 讀取合約等。這樣的設(shè)計(jì),一方面減小了合約因智能代碼過多而可能包含的邏輯錯誤量,另一方面允許靈活的合約服務(wù)選擇與組合服務(wù)。SRSC 是服務(wù)端發(fā)布的服務(wù)交互監(jiān)管協(xié)議,代表了依照SP 意志對用戶行為監(jiān)控的服務(wù)過程,也是動態(tài)訪問控制的核心所在。它以SCDS 計(jì)算得到的用戶可信度作為輸入,匹配SP 的安全等級,動態(tài)分配訪問權(quán)限和安全策略并基于安全策略對交互行為進(jìn)行監(jiān)控。
圖1 SC-PAC 框架
個性化模塊則包含了SP 的安全策略、可信度計(jì)算模型及參數(shù)配置等內(nèi)容,代表了SP 對服務(wù)安全的個性化需要。
如圖2 所示,基于智能合約的網(wǎng)絡(luò)服務(wù)訪問控制方法包括如下步驟。
圖2 SC-PAC 流程
(1)初始狀態(tài)下,用戶發(fā)布其SCDS 智能合約集,包括驗(yàn)證TC 有效性以及可信度計(jì)算等。服務(wù)端則發(fā)布自己的安全策略以及信任模型等。
(2)用戶發(fā)起訪問網(wǎng)絡(luò)服務(wù)端的訪問請求。
(3)服務(wù)端調(diào)取用戶發(fā)布的TC 有效性驗(yàn)證服務(wù),驗(yàn)證簽名并計(jì)算出一個哈希值(root hash,RH)。服務(wù)端收到此RH 值,并通過用戶的TC 編號(ID)從賬本中讀取用戶的根哈希(RH)。通過二者比對區(qū)分是否存在數(shù)據(jù)欺詐。
(4)調(diào)用用戶的信任計(jì)算服務(wù),并將其信任模型作為輸入和啟動信任計(jì)算。
(5)獲得用戶反饋的可信度結(jié)果。
(6)服務(wù)端依據(jù)可信度結(jié)果與安全等級的匹配,動態(tài)分配服務(wù)安全策略。
(7)服務(wù)端啟動SRSC 合約服務(wù),并將前述安全策略作為交互的監(jiān)控依據(jù)。
(8)服務(wù)端SRSC 將監(jiān)控結(jié)果上報至SCDS。
(9)SCDS 據(jù)此結(jié)果更新用戶端TC 文件(包括TC 文件中的RH 更新)。
(10)如果結(jié)果存在不良記錄,則SCDS 將運(yùn)算得到此不良記錄的哈希結(jié)果值。
(11)將哈希結(jié)果插入用戶的賬本,更新其賬本中的RH 值。
為了評估SC-PAC,分別從信任模型、參數(shù)、訪問策略3 個維度綜合分析合約的個性化效果。首先,參照FIRE[23]、PET[24]及SPORAS[25]等出色的計(jì)算信任模型,設(shè)計(jì)了一個基于累積聲譽(yù)與風(fēng)險的TBAC 模型,其次設(shè)計(jì)了實(shí)驗(yàn),最后對實(shí)驗(yàn)結(jié)果進(jìn)行分析。
從Trustwave 近3 年的全球安全報告總結(jié)發(fā)現(xiàn),數(shù)據(jù)泄露已經(jīng)成為威脅網(wǎng)絡(luò)安全的一個重要因素并且以聚集的趨勢集中出現(xiàn)在某幾個服務(wù)行業(yè)。例如2019 年遭受影響的行業(yè)中有18%在零售業(yè),11%在金融業(yè)。那么,顯然同行業(yè)的近況對于其他服務(wù)SP來說顯得非常重要。傳統(tǒng)信任模型的數(shù)據(jù)收集方法受限于其他不同服務(wù)在信息收集上的角度以及信息分享的意愿程度,評估者收集的關(guān)于特定用戶的行為數(shù)據(jù)一般是零碎、模糊的,難以形成有序、準(zhǔn)確的用戶行為畫像。而指定行為發(fā)生的上下文環(huán)境對于分析和預(yù)測用戶下一次的行為表現(xiàn)又有極為重要的作用。例如,FIRE[23]、PET[24]、Dossier[25]等在信任模型建模中以時間函數(shù)作為評定行為影響力的重要方法。顯然,目前的模糊、不準(zhǔn)確的行為數(shù)據(jù)對于進(jìn)行下一步行為預(yù)測無法起到預(yù)期作用。本文在實(shí)驗(yàn)設(shè)計(jì)中引入了服務(wù)關(guān)聯(lián)性參數(shù)來豐富計(jì)算信任模型。
考慮如下場景,用戶u通過交互I訪問服務(wù)p提供的服務(wù)。用戶u出示TC 作為信任證書,此證書包含了此用戶的網(wǎng)絡(luò)服務(wù)交互總量Nall和不良記錄的總量Nbad,并且通過服務(wù)p提供的信任計(jì)算模型可以計(jì)算得到一個可信度T。用戶u的交互歷史標(biāo)記為I={Ii| i∈Nall},其不良交互歷史標(biāo)記Ibad=。每次交互的評估結(jié)果被賦予0 或1 的值,其中Ii=1 代表了良好的交互,而Ii=0 代表了一次違規(guī)交互。
用戶u的不良交互歷史可能包含了許多的不同服務(wù)。那么,從不良交互歷史就能輕易得知u過去是否對特定p有過違規(guī)的記錄(稱之為相關(guān)度)以及在哪一次交互產(chǎn)生了違規(guī)行為。標(biāo)記u與服務(wù)p之間的不良行為總量為Nrelated(Nrelated≤Nbad),并且這些與服務(wù)p相關(guān)的交互記錄構(gòu)建起了一個相關(guān)性序列,標(biāo)記為Irelated=。
用戶u在接下來訪問服務(wù)p交互行為中執(zhí)行違規(guī)行為的概率(稱之為風(fēng)險)記為R(u,p)。式(1)展示了u訪問服務(wù)p的風(fēng)險方程。
式(1)中包含了兩類風(fēng)險:第一,用戶u接下來執(zhí)行違規(guī)行為的概率,記為Pbad(u);第二,用戶u接下來對服務(wù)p執(zhí)行違規(guī)行為的概率,記為Prelated in bad(u| p)。參數(shù)γ是介于[0,1]區(qū)間內(nèi)的服務(wù)相關(guān)性系數(shù),其值越大意味著風(fēng)險考慮中越關(guān)心用戶u可能對服務(wù)p執(zhí)行違規(guī)行為的概率,越小則意味著更關(guān)心用戶u最近的交互行為對接下來的行為的影響程度。式(2)和(3)分別展示了式(1)中的兩種風(fēng)險概率模型,并且都考慮了時間因素的影響,即隨著時間的推移,過去的行為對未來行為的影響力越來越小。式(4)使用了一個權(quán)重模型來模擬前述時間因素的影響,其系數(shù)θ定義了權(quán)重函數(shù)的衰減速率。
基于風(fēng)險模型R,SP 就可以通過計(jì)算得知用戶u接下來在服務(wù)中的表現(xiàn),并做出以何種訪問權(quán)限來提供服務(wù)的決定。這就為SP 提供了更積極和可靠的決策依據(jù)。一旦用戶u對服務(wù)p的服務(wù)請求得到通過,則意味著u通過了服務(wù)p的風(fēng)險評估。同時服務(wù)p會為其動態(tài)分配一個合適的訪問權(quán)限。本文通過為服務(wù)p分配一個介于[0,D]之間的可信度標(biāo)量(本文設(shè)置D=100),并將此標(biāo)量與服務(wù)安全等級建立映射,實(shí)現(xiàn)自動化的動態(tài)權(quán)限分配機(jī)制。
定義信任(記為T)為用戶歷史行為的一種累積表現(xiàn)。從社會學(xué)的角度來看,需要引入懲罰或者獎勵機(jī)制來抑制或者鼓勵對應(yīng)的網(wǎng)絡(luò)行為。因此,在第i次交互中,有可信度Ti-1的用戶u會因其行為受到獎勵,記為Re(i)。式(6)展示了可信度T的計(jì)算過程。
這種遞歸式的信任計(jì)算過程模擬了累計(jì)信任的過程。參數(shù)σ是阻尼函數(shù)Φ中加速因子,它控制了可信度T的變化速率。從文獻(xiàn)[26]的研究中可以知道,參數(shù)σ應(yīng)該被設(shè)置為σ≤0.11D,并且Ti(u)已經(jīng)被證實(shí)是大于0 且小于100 的值。系數(shù)1/μ是學(xué)習(xí)因子,它控制了獎勵效果。1/μ越小,則可信度T會越穩(wěn)定。
SC-PAC 的個性化通過合約的可配置實(shí)現(xiàn),即合約的個性化。它包括SP 可指定信任模型及其運(yùn)行時參數(shù),可以指定運(yùn)行安全策略。
為分析SC-PAC 方法的個性化特點(diǎn),本節(jié)設(shè)計(jì)了兩大類實(shí)驗(yàn):首先,設(shè)計(jì)實(shí)驗(yàn)對3.1 節(jié)的信任模型在不同參數(shù)(學(xué)習(xí)因子、服務(wù)相關(guān)系數(shù))控制下的表現(xiàn),一方面驗(yàn)證本文設(shè)計(jì)的信任模型的有效性,即作為一個有效的信任模型,在信任度學(xué)習(xí)速率表現(xiàn)、異常響應(yīng)等方面有正確的表現(xiàn)。另一個方面,驗(yàn)證參數(shù)調(diào)整對于個性化訪問控制的作用。它具體包括下文所述的實(shí)驗(yàn)1 和2;其次,模擬了基于合約的訪問控制場景,分析基于合約的方法所能帶來的動態(tài)和個性化訪問控制效果。它具體包括下文所述的實(shí)驗(yàn)3。
實(shí)驗(yàn)1本實(shí)驗(yàn)主要測試3.1 節(jié)中信任模型的信任獲取速率以及對異常行為的反應(yīng)。實(shí)驗(yàn)中隨機(jī)生成了包含2000 次訪問行為的序列S,它包含了3次異常交互行為且索引位置分別為977、997 和1117。本次實(shí)驗(yàn)中的服務(wù)相關(guān)系數(shù)γ設(shè)置為0.6,衰減速率參數(shù)θ=11。阻尼函數(shù)Φ中的加速因子設(shè)置為σ=11。
實(shí)驗(yàn)2該實(shí)驗(yàn)的評估指標(biāo)是不良行為容忍度(misbehaving tolerance)。本文將不良行為容忍度定義為模型在停止包含不良行為的請求之前所遇到的不良行為數(shù)量。假設(shè)所有這些模型都面對同一個用戶,初始狀態(tài)是包含1500 次已結(jié)束的交互記錄,其中包含30 次不良行為記錄,并且假定所有這些不良行為都與SP 無關(guān)。接下來,該用戶將故意違規(guī)訪問SPN次。
實(shí)驗(yàn)3本實(shí)驗(yàn)以hyperledger fabric 為區(qū)塊鏈實(shí)驗(yàn)環(huán)境,基于GoAhead 搭建了2 個簡易網(wǎng)絡(luò)服務(wù)。用戶與2 個服務(wù)之間分別簽訂智能合約,合約包括3.1 節(jié)的信任模型,并設(shè)定兩個SP 使用了相同的風(fēng)險閾值0.6 和相同的相關(guān)度0.4,也包括相同的4級訪問控制策略設(shè)置。初始狀態(tài)下,用戶連續(xù)訪問一個SP,當(dāng)信任值大于75 時,它隨機(jī)執(zhí)行不良行為。本文有意設(shè)置這個用戶執(zhí)行幾個不良行為來觸發(fā)風(fēng)險閾值,然后這個用戶因?yàn)轱L(fēng)險太高而被拒絕服務(wù)。該用戶必須訪問第2 個SP,并始終保持良好的表現(xiàn)以賺取更多的累積信任,進(jìn)而可以再次訪問第1 個SP。這個模擬實(shí)驗(yàn)試圖說明基于合約的方法對用戶的訪問痕跡和權(quán)限、風(fēng)險變化的動態(tài)性和個性化控制效果。
合約可靠性分析智能合約作為可自動執(zhí)行的、可驗(yàn)證的代碼,能夠提供可靠的控制機(jī)制。此外,區(qū)塊鏈賬本可追溯的特性,也允許對合約執(zhí)行歷史進(jìn)行驗(yàn)證。最重要的是,基于前期研究成果,合約方法能夠?qū)ζ胶鈹?shù)據(jù)共享和隱私保護(hù)之間的沖突起到重要的作用。具體地,通過合約方法在用戶端管理和存儲歷史行為數(shù)據(jù)。SP 需要使用用戶數(shù)據(jù)時,通過在用戶端執(zhí)行合約內(nèi)的信任模型,計(jì)算得到可信度結(jié)果并反饋給SP,即在隱私保護(hù)前提下,為SP提供關(guān)于用戶的豐富歷史行為數(shù)據(jù)。
合約個性化分析智能合約是SP 與用戶之間建立的一對一的服務(wù)關(guān)系。SP 可以在合約中設(shè)置個性化的信任計(jì)算模型,研究者因?qū)π湃卫斫獠町?、選擇的數(shù)學(xué)方法不同等,會設(shè)計(jì)出不同的信任模型,例如FIRE[23]、PET[24]、Dossier[25]等研究中的信任模型。合約的機(jī)制允許SP 對指定用戶的分析采用不同的信任計(jì)算模型,極大豐富了SP 對用戶的分析方法。SP 也可以對相同的模型設(shè)置不同的參數(shù)。例如,采用3.1 節(jié)設(shè)計(jì)的信任模型,配置不同的學(xué)習(xí)因子、服務(wù)相關(guān)性系數(shù)等參數(shù)。圖3 所示為實(shí)驗(yàn)1的結(jié)果,表示3.1 節(jié)的信任模型在不同的學(xué)習(xí)因子下信任獲取速率會有不同。學(xué)習(xí)因子越大則信任累積速率越快。一般,有較高安全需求的SP 可以設(shè)定較為緩慢的學(xué)習(xí)速率,即較小的學(xué)習(xí)因子值。這讓潛在的攻擊者通過積累足夠的可信度發(fā)起攻擊更為困難。即便發(fā)起了攻擊行為,信任模型也能夠通過迅速降低信任值做出響應(yīng)。圖4 展示的是實(shí)驗(yàn)2的結(jié)果,即在同樣的信任模型下,不同的風(fēng)險閾值參數(shù)可以對異常行為有不同的反應(yīng)速率??梢詮膱D4看到,設(shè)定γ=0.6 時,第一次異常交互的出現(xiàn)就觸發(fā)了風(fēng)險閾值進(jìn)而阻斷了后續(xù)的異常流量。當(dāng)降低γ值至0.2 時,SP 需要7 次連續(xù)的異常交互才會阻斷后續(xù)的異常流量。允許SP 配置不同的服務(wù)相關(guān)系數(shù)γ,可以實(shí)現(xiàn)靈活控制服務(wù)。這種機(jī)制給了SP更多的個性化選擇空間,那些有較高安全需求的SP,可以設(shè)置一個較高的γ(通常等于或者接近風(fēng)險閾值)。更重要的是,基于合約的方法能夠可靠地為SP提供關(guān)于用戶的歷史行為數(shù)據(jù)做分析,即具備準(zhǔn)確刻畫用戶畫像的條件。這也有利于信任模型的設(shè)計(jì),例如本文引入的服務(wù)相關(guān)性參數(shù)?;谪S富的歷史行為數(shù)據(jù),研究者可以從各種不同的角度設(shè)計(jì)出豐富的信任模型,這也意味著有更多個性化的信任模型支撐下的訪問控制。
圖3 3 種不同學(xué)習(xí)因子下累積信任值變化速率
圖4 不同風(fēng)險閾值參數(shù)下的異常攔截表現(xiàn)
合約的動態(tài)性訪問控制分析實(shí)驗(yàn)3 在可信度與訪問控制權(quán)限間建立了4 級映射關(guān)系,擁有響應(yīng)的可信度值才能擁有相應(yīng)的訪問權(quán)限。圖5 顯示了模擬實(shí)驗(yàn)3 的運(yùn)行結(jié)果,從圖中可以看到,在第705次交互中,用戶觸發(fā)風(fēng)險閾值并被拒絕服務(wù)。然后用戶轉(zhuǎn)向訪問其他SP 并以正常的訪問方式以圖降低其風(fēng)險并獲得更多的信任值。如圖5 所示,間隙區(qū)域(gap)是此用戶在其他SP 上的訪問蹤跡。在其他SP 與原SP 之間沒有服務(wù)相關(guān)性的情況下,用戶基于原有的歷史交互行為訪問其他SP 也不會觸發(fā)風(fēng)險閾值,進(jìn)而可以通過良好的行為表現(xiàn)重新獲取較高的累積信任值。例如,原SP 是金融業(yè)服務(wù),用戶基于合約方法執(zhí)行了某些違反規(guī)定的操作,并被記錄到區(qū)塊鏈賬本。當(dāng)此用戶繼續(xù)訪問此SP時,因前述操作被拒之門外。此時,如果此用戶轉(zhuǎn)而訪問其他類似的金融業(yè)服務(wù)時,仍有可能被其過往歷史拒之門外,這就動態(tài)地保護(hù)了類似的其他相關(guān)服務(wù)。此用戶可選的策略是訪問與金融業(yè)服務(wù)不相關(guān)的其他服務(wù),例如食品服務(wù),并以良好的表現(xiàn)來提升其綜合可信度。在圖5 中,約200 次交互之后,此用戶能夠再次訪問初始SP服務(wù)。如果此用戶在后續(xù)交互中再次執(zhí)行異常行為并再次觸發(fā)風(fēng)險閾值,SP 可以通過其合約中的個性化模塊動態(tài)調(diào)整參數(shù),提高對此用戶服務(wù)的風(fēng)險閾值,做到對用戶的個性化安全服務(wù)和動態(tài)的訪問控制。
圖5 基于合約自動響應(yīng)的動態(tài)訪問控制表現(xiàn)
對用戶畫像的準(zhǔn)確刻畫是制約訪問控制可靠性的一個重要因素,尤其是在Web服務(wù)環(huán)境中,用戶的行為數(shù)據(jù)往往分布在許多不同的服務(wù)中,Web服務(wù)難以準(zhǔn)確地掌握用戶的行為信息。許多研究在基于信任計(jì)算的訪問控制研究中,通過引入服務(wù)評價、推薦等信息,以期豐富對用戶的認(rèn)識,提升可信度值的可靠性。然而,研究離準(zhǔn)確描述用戶信息仍有距離,對用戶信息量的缺失也約束了信任計(jì)算模型的設(shè)計(jì)。此外,許多個性化訪問控制的研究集中在以角色為單位的粗粒度訪問控制,無法做到針對用戶的細(xì)粒度個性化訪問控制。在一些有限范圍的應(yīng)用場景下,雖然實(shí)現(xiàn)了行為級別的細(xì)粒度控制,但又缺乏有效的隱私信息保護(hù)。本文在前期工作基礎(chǔ)上,提出了基于智能合約的個性化訪問控制方法,可以為Web服務(wù)提供關(guān)于指定用戶的高質(zhì)量的行為數(shù)據(jù)信息,也充分考慮了用戶隱私保護(hù)。這種方法一方面可以提升現(xiàn)有信任模型的可信度結(jié)果可靠性,另一方面也允許Web服務(wù)通過智能合約的策略、模型以及參數(shù)控制實(shí)現(xiàn)對用戶的個性化訪問控制。