国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于區(qū)塊鏈和用戶信用度的訪問控制模型

2020-06-20 12:01:06王海勇潘啟青郭凱璇
計(jì)算機(jī)應(yīng)用 2020年6期
關(guān)鍵詞:信用度訪問控制攻擊者

王海勇,潘啟青,郭凱璇

(1.南京郵電大學(xué)計(jì)算機(jī)學(xué)院,南京 210003;2.南京郵電大學(xué)物聯(lián)網(wǎng)學(xué)院,南京 210003)

(?通信作者電子郵箱why@njupt.edu.cn)

0 引言

隨著信息時(shí)代的快速發(fā)展,組織之間的信息共享已經(jīng)在生活中得到了非常廣泛的應(yīng)用,數(shù)據(jù)共享所帶來的社會(huì)變革也已深入到我們生活的方方面面。跨組織訪問控制主要是讓不同組織的用戶可以訪問到其他組織的信息資源,讓獨(dú)有的信息資源得到更大化的利用。例如,醫(yī)生想要理解一些疑難雜癥,就需要對(duì)大量病人的臨床醫(yī)療數(shù)據(jù)[1]進(jìn)行分析,這有利于更好地了解病情,并作出精確的診斷治療、提高對(duì)流行疾病的預(yù)警能力和采取有效的基礎(chǔ)措施預(yù)防突然爆發(fā)的流行病。但是不同醫(yī)院的病人資料都是獨(dú)享的,醫(yī)生想要更準(zhǔn)確地分析出病癥的狀況,就需要訪問到其他醫(yī)院的相關(guān)病人資料?,F(xiàn)有的很多方法是把不同組織的數(shù)據(jù)集中在一起[2],再進(jìn)行訪問,這種集中式的處理方法可能會(huì)造成信息的大量泄漏。由此可見,訪問控制之中的數(shù)據(jù)如何管理,角色之間如何分配和相關(guān)安全性問題具有一定的研究?jī)r(jià)值。

傳統(tǒng)的訪問控制模型主要有自主訪問控制(Discretionary Access Control,DAC)、強(qiáng)制訪問控制(Mandatory Access Control,MAC)、基于屬性的訪問控制(Attribute Based Access Control,ABAC)[3-4]和基于角色的訪問控制(Role-Based Access Control,RBAC)[5]。這四種訪問控制模型都具有對(duì)不同主體訪問對(duì)應(yīng)客體的授權(quán)和控制能力。例如,在DAC 系統(tǒng)中,主體可以決定將自身?yè)碛械臋?quán)力授予給其他主體,但是其開銷過大、效率不高,不適合大型復(fù)雜的系統(tǒng),只能應(yīng)用于簡(jiǎn)單系統(tǒng)。MAC 是根據(jù)系統(tǒng)管理員制定的訪問控制策略,用來進(jìn)行多層級(jí)別的訪問控制,但制定的規(guī)則缺乏靈活性、應(yīng)用率不高。ABAC 在用戶和權(quán)限之間引入了屬性判斷條件,所有的權(quán)限通過用戶不同的屬性進(jìn)行授予而非直接分配給用戶,所以具有支持大規(guī)模復(fù)雜系統(tǒng)和高靈活性的優(yōu)勢(shì),但是過程比較復(fù)雜、難以管理。RBAC 是把角色分配給用戶,讓用戶根據(jù)不同的角色來訪問不同的權(quán)限,而非直接把權(quán)限分給用戶,所以易于管理、具有靈活性,因此RBAC 較為適合用于一般不同組織之間資源交互的訪問控制。Salim 等[6]提出了基于預(yù)算感知的角色訪問控制,該模型明確定義了資源的價(jià)值,將使用預(yù)算和成本加入了RBAC 中,并為用戶分配了有限的預(yù)算,通過這些預(yù)算支付所需權(quán)限的成本,就可以訪問相應(yīng)的資源。這種方法使用戶訪問受到分配預(yù)算的限制,能夠防止用戶濫用權(quán)限能力,但其訪問控制合約的安全性還存在一定的問題。Jason 等[7]提出了一種使用智能合約的角色訪問控制模型,這是一個(gè)利用以太坊智能合約技術(shù)實(shí)現(xiàn)跨組織訪問的平臺(tái),使得應(yīng)用程序可以自主、分散地運(yùn)行,并實(shí)現(xiàn)了用戶對(duì)角色所有權(quán)的質(zhì)詢-響應(yīng)身份驗(yàn)證協(xié)議,提高了訪問控制安全性和靈活性,但其細(xì)粒度劃分不夠,動(dòng)態(tài)性有待改善。余波等[8]提出了基于屬性和信用的訪問控制模型,將密文屬性加密思想和用戶信用評(píng)估的方法相結(jié)合,不僅把角色加入了信用閾值的訪問結(jié)構(gòu),還為每個(gè)用戶分配了一個(gè)包含信用值屬性的屬性集合,只有用戶屬性集合和角色相匹配時(shí),才能行使相關(guān)權(quán)限。這種方法增強(qiáng)了訪問結(jié)構(gòu)的動(dòng)態(tài)性和權(quán)限的細(xì)粒度,但是訪問控制策略的交互和安全問題還有待考察。黃美蓉等[9]提出了一種基于特征提取的訪問控制方法,該方法通過將RBAC 模型和BLP(Bell-LaPadula)模型結(jié)合在一起,從而解決了用戶在不同時(shí)間、不同安全級(jí)別和不同空間的多級(jí)授權(quán)管理問題,并對(duì)歷史訪問記錄進(jìn)行數(shù)據(jù)分析,判斷訪問請(qǐng)求是否合理。這種方法對(duì)用戶的訪問請(qǐng)求有較高的正確評(píng)判率,但沒有對(duì)其細(xì)粒度和安全方面進(jìn)行分析。

綜上所述,對(duì)于現(xiàn)有技術(shù)中存在的問題,本文將區(qū)塊鏈技術(shù)、用戶信用度分析和RBAC 模型相結(jié)合,提出了基于區(qū)塊鏈和用戶信用度的訪問控制(RBAC based on Blockchain and user Credit,BC-RBAC)模型,該模型將用戶信用度評(píng)估加入到RBAC 策略中,并將用戶信用度和訪問控制策略發(fā)布到區(qū)塊鏈中。區(qū)塊鏈作為一種分布式處理機(jī)制,具有去中心化、開放性、不可篡改的特點(diǎn)[10]。兩種方式的結(jié)合,使得該模型具有更好的細(xì)粒度、動(dòng)態(tài)性和安全性。

1 相關(guān)知識(shí)

1.1 RBAC模型

RBAC 是一種傳統(tǒng)的訪問控制模型,主要為了實(shí)現(xiàn)角色分配和訪問控制之間的關(guān)系[8]。在RBAC 之中,包含用戶users、角色roles、目標(biāo)objects、操作operations、許可權(quán)PERM(PERMissions)五個(gè)基本數(shù)據(jù)元素。圖1顯示了用戶、角色、訪問權(quán)限和會(huì)話之間的關(guān)系。

1)用戶(users):指的是系統(tǒng)上的任何個(gè)人,可以與系統(tǒng)中的組織進(jìn)行交互。

2)角色(roles):指的是角色發(fā)布組織給角色分配的權(quán)限位置,用戶可以根據(jù)擁有的權(quán)限進(jìn)行相應(yīng)的訪問操作,角色是用戶和組織之間溝通的橋梁,具有至關(guān)重要的位置。

3)許可權(quán)(PERM):權(quán)限描述的是操作和目標(biāo)對(duì)象之間的關(guān)系,在權(quán)限范圍內(nèi),權(quán)限持有者可以在系統(tǒng)中執(zhí)行相應(yīng)能力,是一種行為操作。

4)會(huì)話(sessions):表示用戶和角色之間被激活的映射關(guān)系。一個(gè)用戶可能會(huì)擁有多個(gè)角色,會(huì)話可以把所擁有的角色聯(lián)系起來,用戶可以激活所有角色的并集。

5)用戶角色分配(User Assignment,UA)和角色許可分配(Permission Assignment,PA):?jiǎn)蝹€(gè)用戶可以擁有多個(gè)角色,一個(gè)角色也可以擁有不同的用戶,都是多對(duì)多的對(duì)應(yīng)關(guān)系。同理,每個(gè)角色都可以對(duì)應(yīng)多個(gè)權(quán)限,一樣的權(quán)限也可以分配給不同的角色。角色作為用戶和權(quán)限之間的連接者,能夠提供更好的管理方式。

圖1 RBAC模型Fig.1 RBAC model

1.2 區(qū)塊鏈技術(shù)基本原理

區(qū)塊鏈?zhǔn)且环N在分布式網(wǎng)絡(luò)環(huán)境下基于透明度和共識(shí)算法規(guī)則的數(shù)據(jù)結(jié)構(gòu),根據(jù)時(shí)間戳順序?qū)⒋嫒雲(yún)^(qū)塊的數(shù)據(jù)以鏈條連接的方式組合起來,并以hash 算法、數(shù)字簽名、零知識(shí)證明的方式保證其數(shù)據(jù)不可偽造、不可篡改、可溯源,保障用戶的隱私?;趨^(qū)塊鏈分布式的特點(diǎn),不僅數(shù)據(jù)可以存儲(chǔ)在區(qū)塊鏈上,數(shù)據(jù)也可以記錄在區(qū)塊鏈上,即所有節(jié)點(diǎn)達(dá)成共識(shí),共同參與和維護(hù)整條鏈,這樣可以避免單個(gè)節(jié)點(diǎn)造成破壞而影響整個(gè)系統(tǒng);并且區(qū)塊鏈的應(yīng)用能很好地避免由于組織間信息共享和訪問控制存在的安全性問題。

區(qū)塊鏈涉及多方面技術(shù)創(chuàng)新知識(shí):點(diǎn)對(duì)點(diǎn)的存儲(chǔ)結(jié)構(gòu)和密碼學(xué)技術(shù)[11]為區(qū)塊鏈提供了去中心化、隱私保護(hù)和防篡改的功能;鏈?zhǔn)浇Y(jié)構(gòu)的連接方式保障了數(shù)據(jù)的可溯源、真實(shí)性和完整性;智能合約為系統(tǒng)提供了分布式、自動(dòng)化執(zhí)行的方式;共識(shí)機(jī)制實(shí)現(xiàn)了分布式節(jié)點(diǎn)的公開驗(yàn)證一致性。這些技術(shù)結(jié)合到一起,形成了一種新的數(shù)據(jù)存儲(chǔ)、記錄方法,增強(qiáng)了數(shù)據(jù)記錄的安全性。

1.3 智能合約

智能合約[12-13]是存儲(chǔ)在區(qū)塊鏈上能夠在分布式網(wǎng)絡(luò)節(jié)點(diǎn)上進(jìn)行自動(dòng)運(yùn)行的腳本,由Nick Szabo 在1994 年首次提出相關(guān)概念,定義它為一種通過代碼程序來自動(dòng)執(zhí)行的交易協(xié)議。只要交易雙方滿足合約條款,則不需要第三方管理者的監(jiān)督就可自動(dòng)執(zhí)行交易。雖然智能合約的想法在很早之前就被提出,但一直都無法落地實(shí)現(xiàn),由于缺乏可支撐合約自動(dòng)執(zhí)行的平臺(tái)和相關(guān)技術(shù),直到區(qū)塊鏈技術(shù)的出現(xiàn),才為智能合約提供了可支撐的平臺(tái)。由于區(qū)塊鏈具有的安全、去中心化、不可篡改的特點(diǎn),確保了智能合約運(yùn)行環(huán)境的安全性。智能合約的用戶可以在可信的環(huán)境下,按照合約順序自動(dòng)執(zhí)行操作條件,同時(shí)利用區(qū)塊鏈的公開性和可追溯性,時(shí)時(shí)追蹤合約的動(dòng)態(tài)變化。隨著區(qū)塊鏈的不斷發(fā)展,第二大區(qū)塊鏈平臺(tái)以太坊[14]設(shè)計(jì)了一種基于去中心化的以太虛擬機(jī)(Ethereum Virtual Machine,EVM)來處理點(diǎn)對(duì)點(diǎn)的合約策略,任何開發(fā)者都可以基于這款區(qū)塊鏈公共平臺(tái)來進(jìn)行開發(fā)操作,擴(kuò)大了區(qū)塊鏈的運(yùn)用領(lǐng)域,加快了區(qū)塊鏈的發(fā)展。

2 基于區(qū)塊鏈和用戶信用度的訪問控制模型

2.1 BC-RBAC框架及工作流程

本文提出的基于區(qū)塊鏈和用戶信用度的訪問控制(BCRBAC)模型,主要為了研究如何能安全有效地實(shí)現(xiàn)組織之間的訪問控制。BC-RBAC 是一種基于區(qū)塊鏈和智能合約的訪問認(rèn)證機(jī)制,圖2 給出的是所提出系統(tǒng)的框架結(jié)構(gòu),主要由角色發(fā)布方、用戶、服務(wù)提供方、合約層和合約信用層組成。角色發(fā)布方A既可以發(fā)布角色,也可以提供服務(wù)。同理,服務(wù)提供方B 既提供服務(wù),也可以發(fā)布角色。A、B 之間可以相互訪問。為了方便敘述,此架構(gòu)主要以A 為角色發(fā)布方、B 為服務(wù)提供方進(jìn)行描述。

圖2 BC-RBAC框架Fig.2 Framework of BC-RBAC

BC-RBAC框架中訪問控制工作流是對(duì)RBAC模型工作流的擴(kuò)展。訪問控制之間的工作步驟為:

1)角色發(fā)布方A給用戶分配角色,并制定角色許可權(quán)限,把相應(yīng)的訪問策略(包含制定用戶信用度閾值)通過智能合約的形式發(fā)布在區(qū)塊鏈上,也將用戶信用度評(píng)估值發(fā)布在區(qū)塊鏈上,作為其他組織的推薦信用度。

2)用戶從角色發(fā)布組織A 獲得角色信息,向服務(wù)提供方B 資源訪問請(qǐng)求。當(dāng)用戶初次進(jìn)入訪問系統(tǒng)時(shí),沒有對(duì)應(yīng)的信用度。

3)服務(wù)提供方B 接收到用戶的訪問請(qǐng)求,先查看智能合約上的訪問策略,審核用戶是否擁有相關(guān)角色,如果審核通過,對(duì)應(yīng)智能合約就被激活。激活的智能合約根據(jù)合約設(shè)定和用戶的信用度,允許或禁止用戶的訪問。

4)當(dāng)用戶信用值達(dá)到合約條件或用戶未擁有用戶信用度時(shí),服務(wù)提供方B確認(rèn)用戶請(qǐng)求,并對(duì)用戶的訪問過程進(jìn)行信譽(yù)評(píng)估。會(huì)根據(jù)從區(qū)塊鏈上其他組織提供的推薦信用度、用戶之前訪問的歷史信用度和當(dāng)前信用度值,得出用戶最終信用度,并寫入?yún)^(qū)塊鏈中,方便其他組織參考。

5)當(dāng)評(píng)估的信用度低于智能合約中設(shè)定的信用值時(shí),相應(yīng)的智能合約就會(huì)自動(dòng)暫停,用戶將無法訪問到服務(wù)提供方B。

2.2 面向BC-RBAC的智能合約

合約層放置著系統(tǒng)內(nèi)所有的智能合約(Smart Contract,SC),SC 用于創(chuàng)建用戶的角色分配和設(shè)置信用值的閾值,然后在區(qū)塊鏈上發(fā)布。SC 為創(chuàng)建用戶角色分配提供了安全、便捷的方式。SC 也是一種高效安全的可編程資產(chǎn),其運(yùn)行與編程完全相同。SC具有以下特征:

1)允許角色發(fā)布組織向用戶發(fā)布角色(和其他相關(guān)信息);

2)允許角色發(fā)布組織以透明的方式管理和修改信息;

3)允許角色發(fā)布組織在需要時(shí)撤銷向用戶發(fā)布的角色;

4)允許合約根據(jù)信用度狀態(tài)和設(shè)置的訪問信用值,自動(dòng)運(yùn)行或停止相關(guān)合約。

智能合約(SC)功能設(shè)計(jì)如下:

Adduser(u.role,u.notes):這個(gè)功能只能由SC 的所有者或創(chuàng)建者執(zhí)行,主要在SC中添加用戶并發(fā)出相應(yīng)的角色和相關(guān)信息執(zhí)行函數(shù)。它將要發(fā)給u的角色(u.role)和注釋(u.notes)作為輸入,其中包含一些其他相關(guān)信息,如到期日期和個(gè)性化設(shè)置。該功能輸出SC更新狀態(tài)和執(zhí)行命令時(shí)的時(shí)間戳。

Removeuser:此功能只能由SC 所有者或創(chuàng)建者執(zhí)行,以從SC 中刪除用戶并撤消其角色,該功能輸入刪除數(shù)據(jù),輸出SC更新狀態(tài)和時(shí)間戳。

Changestatus:此功能只能由SC 所有者或創(chuàng)建者執(zhí)行以停用SC。一旦部署了SC,SC 就將永久保留在區(qū)塊鏈上,因此,判斷SC是否處于活動(dòng)狀態(tài)是很重要的,輸入停用操作,輸出SC狀態(tài)和時(shí)間戳。

Setstatus:此功能只能由SC 所有者或創(chuàng)建者根據(jù)信用度存在狀態(tài),來設(shè)置相應(yīng)判斷結(jié)果,輸入用戶信用度有或無,輸出結(jié)果和時(shí)間戳。

Setvalue:此功能是根據(jù)SC 所有者或創(chuàng)建者設(shè)定的信用度閾值和用戶的實(shí)際信用值來自動(dòng)執(zhí)行,輸入信用度閾值和用戶信用度,輸出執(zhí)行或暫停,還有時(shí)間戳。

2.3 用戶信用度計(jì)算方法

用戶信用度是由當(dāng)前信用度、歷史信用度和推薦信用度組成的。Current_T(u)、History_T(u)、Recommend_T(u)分別表示當(dāng)前信用度、歷史信用度和推薦信用度。

2.3.1 當(dāng)前信用度

對(duì)于用戶當(dāng)前信用度的評(píng)估,主要采用的是模糊層次分析法(Fuzzy Analytic Hierarchy Process,F(xiàn)AHP)[15]。這個(gè)方法是先將用戶行為分為n個(gè)特性,再把每個(gè)特性分為多個(gè)證據(jù)類型,從而把模糊的、不確定的用戶行為信用評(píng)估問題細(xì)化成簡(jiǎn)單的、明確的信用證據(jù)加權(quán)求和問題,如圖3所示。

圖3 用戶行為證據(jù)分類Fig.3 User behavior evidence classification

這些初始證據(jù)數(shù)據(jù)可以根據(jù)軟硬件檢測(cè)獲得,表示為A=(aij)mn,其中m表示特性中最大項(xiàng)數(shù),不夠的項(xiàng)用零補(bǔ)齊。為了便于數(shù)值計(jì)算和用戶行為評(píng)估,需要把證據(jù)全部規(guī)范化為在區(qū)間[0,1]沿正向遞增的無量綱值,表示為矩陣E=(eij)mn。

為了獲得初始判斷矩陣EQ=(eqij)m×m,有m個(gè)矩陣E=(e1,e2,…,em),將矩陣集中在ei和ej重要性作二元對(duì)比:

將初始判斷矩陣轉(zhuǎn)換成模糊一致的矩陣Q=(qij)m×m,其中:

計(jì)算某個(gè)特性的m個(gè)證據(jù)的權(quán)重向量W=(w,1w2,…,wm)T,其中:

接著計(jì)算用戶行為特性的評(píng)估值矩陣,由證據(jù)矩陣E=(eij)m×n、權(quán)重矩陣W=(wij)m×n,根據(jù)E×WT得到的矩陣的對(duì)角線上的值就是特性評(píng)估值矩陣F=(f1,f2,…,fn)。最后用戶的行為信用度為:

其中:Current_T(u) 代表用戶的當(dāng)前信用度;Wf=(wf1,wf2,…,wfn)是用戶行為特性的權(quán)重。

2.3.2 歷史信用度

當(dāng)用戶第一次登錄進(jìn)行訪問控制后,系統(tǒng)會(huì)根據(jù)用戶的軟硬件操作產(chǎn)生首個(gè)歷史信用度:History_T1(u)=Current_T1(u)。隨著訪問的次數(shù)逐漸增多,用戶的歷史的信用度就需要根據(jù)時(shí)間的推移而逐漸改變:

其中:Final_Ti(u)對(duì)應(yīng)著用戶每次訪問結(jié)束的最終信用度;ti記錄的是訪問時(shí)間,該參數(shù)計(jì)算用戶從登錄訪問到結(jié)束退出系統(tǒng)的總時(shí)間。當(dāng)n=0 時(shí),則表示用戶是初次登錄系統(tǒng),沒有相應(yīng)的歷史信用值。

2.3.3 推薦信用度

當(dāng)用戶初次進(jìn)行訪問時(shí),不存在歷史信用度,推薦信用度就會(huì)具有一定的參考價(jià)值,用戶的推薦信用值是根據(jù)用戶與其他服務(wù)組織之間的信用值計(jì)算所得。假設(shè)存在n個(gè)可信的訪問組織S=(s1,s2,…,sn),T和N分別代表服務(wù)組織si與用戶ui的歷史信用值和成功訪問的次數(shù),則推薦信用度的表達(dá)式為:

2.3.4 最終信用度的計(jì)算

綜合當(dāng)前信用度、歷史信用度和推薦信用度,得出最終信用度:Final_T(u)=a×Current_T(u) +b×History_T(u) +c×Recommend_T(u),其中a+b+c=1,a>b>c。在計(jì)算中,三者關(guān)系所占的比重為:Current_T(u) >History_T(u) >Recommend_T(u)。當(dāng)用戶首次進(jìn)入訪問系統(tǒng)時(shí),則用戶的歷史信用度為0,即History_T(u)=0;如沒有在其他組織進(jìn)行訪問,則參考信譽(yù)度Recommend_T(u)=0。對(duì)于a、b、c的概率分配,其中a的比重最大,a的大小還依據(jù)用戶當(dāng)前操作的危險(xiǎn)級(jí)別來進(jìn)行調(diào)整,危險(xiǎn)級(jí)別分為高危級(jí)別和低危級(jí)別,分別對(duì)應(yīng)a1和a2,a1>a2。當(dāng)用戶當(dāng)前操作的危險(xiǎn)級(jí)別為高危級(jí)別時(shí),a1無限趨于1,b和c的比重就趨于0。設(shè)置等級(jí)的目的是為了防止用戶惡意刷取信用度,把信用度刷到最高級(jí)別,然后進(jìn)行高危操作。

3 實(shí)驗(yàn)仿真和結(jié)果分析

實(shí)驗(yàn)主要從兩方面進(jìn)行分析:用戶信用度和區(qū)塊鏈安全性。在配置為I5-8265U 處理器、8 GB 內(nèi)存、512 GHz固態(tài)硬盤(Solid State Drive,SSD)的Windows 10 系統(tǒng)下,通過Matlab 2017a進(jìn)行仿真實(shí)驗(yàn)。

3.1 用戶信用度分析

根據(jù)用戶當(dāng)前信用度、歷史信用度和推薦信用度進(jìn)行仿真實(shí)驗(yàn)。通過測(cè)量得出用戶的行為證據(jù)值,再規(guī)范處理后,求出平均的證據(jù)值P、R、S。之后,根據(jù)當(dāng)前的網(wǎng)絡(luò)測(cè)試經(jīng)驗(yàn)得出不同特性證據(jù)的重要性程度劃分為:功能特性是p1=p4=p6=p7 >p2=p8 >p3=p5,可靠特性是r3=r4 >r1=r2,安全特性是s2=s3 >s1 >s4。最后計(jì)算出用戶信用度,實(shí)驗(yàn)結(jié)果如圖4所示。

圖4 當(dāng)前信用度變化趨勢(shì)Fig.4 Current credit trend

用戶在訪問組織資源時(shí),不斷進(jìn)行非法行為的操作,用戶的當(dāng)前信用度就會(huì)隨著非法行為的比例值增加而大幅度降低,符合實(shí)際情況,有利于及時(shí)更新用戶的訪問權(quán)限。當(dāng)用戶的訪問次數(shù)不斷增加時(shí),用戶的當(dāng)前信用度yd、歷史信用度ys和推薦信用度yt也會(huì)隨之不斷變化。如圖5所示,用戶在前9次訪問時(shí),信用度值變化不大,第10 次訪問時(shí)突然進(jìn)行高危操作,當(dāng)前信用度急劇下降,但用戶的歷史信用值和推薦信用值還比較高,根據(jù)計(jì)算得出的最終信任值就會(huì)處于一個(gè)中等狀態(tài),不能很好反映用戶信用的實(shí)際情況。因此本文加入了高危操作和低危操作的區(qū)分,如圖6所示。

當(dāng)用戶發(fā)生高危操作,a的比值無限趨于1,最終用戶信用度差不多就等于當(dāng)前用戶信用度,能夠更好地反映用戶的真實(shí)狀態(tài),保護(hù)系統(tǒng)的安全性。

3.2 區(qū)塊鏈安全性分析

智能合約分布在區(qū)塊鏈上,所以兩者的安全性是緊密相連的。如今區(qū)塊鏈所面臨的危險(xiǎn),主要來自于攻擊者對(duì)區(qū)塊鏈中共識(shí)機(jī)制的攻擊,以下主要對(duì)兩種共識(shí)機(jī)制進(jìn)行安全性分析。

圖5 三種信用度變化趨勢(shì)Fig.5 Trends for three kinds of credit

圖6 低危、高危信用度變化區(qū)別Fig.6 Low-risk,high-risk credit change difference

3.2.1 工作量證明機(jī)制

工作量證明(Proof of Work,PoW)是共識(shí)機(jī)制的一種,在PoW 中誰(shuí)的算力多,誰(shuí)最先解決問題的概率也就最大,當(dāng)攻擊者掌握超過全網(wǎng)的一半算力時(shí),就能控制住網(wǎng)絡(luò)中鏈的走向。實(shí)驗(yàn)以PoW 為例,分析區(qū)塊鏈的自身抗攻擊能力,運(yùn)用文獻(xiàn)[16]提出的攻擊模型進(jìn)行詳細(xì)分析。誠(chéng)實(shí)節(jié)點(diǎn)產(chǎn)生的鏈條與攻擊者產(chǎn)生的鏈條之間存在競(jìng)賽的關(guān)系,可以用二叉樹隨機(jī)漫步(Binomial Random Walk)的過程來進(jìn)行描述。當(dāng)誠(chéng)實(shí)節(jié)點(diǎn)領(lǐng)先時(shí),誠(chéng)實(shí)者的鏈條延長(zhǎng)一個(gè)區(qū)塊;反之,則攻擊者的鏈條延長(zhǎng)一個(gè)區(qū)塊。攻擊者成功填補(bǔ)z個(gè)區(qū)塊落后的差距,類似于賭徒破產(chǎn)問題(Gambler’s Ruin problem),那么攻擊者填補(bǔ)上虧空,趕上誠(chéng)實(shí)鏈條的概率為:

其中:p表示誠(chéng)實(shí)節(jié)點(diǎn)獲得下個(gè)一節(jié)點(diǎn)所有權(quán)的概率;q表示攻擊者獲得下個(gè)一節(jié)點(diǎn)所有權(quán)的概率,qz表示攻擊者填補(bǔ)上z個(gè)區(qū)塊落后的差距。當(dāng)p>q時(shí),攻擊者攻擊成功的概率就隨著區(qū)塊的增長(zhǎng)而呈現(xiàn)下降趨勢(shì)。假設(shè)誠(chéng)實(shí)區(qū)塊以平均預(yù)期的耗費(fèi)時(shí)間產(chǎn)生一個(gè)區(qū)塊,那么攻擊者的潛在進(jìn)展就符合泊松分布計(jì)算,期望值為:

為了計(jì)算攻擊者產(chǎn)生節(jié)點(diǎn)追上誠(chéng)實(shí)節(jié)點(diǎn)的概率Pz,將攻擊者獲得潛在進(jìn)展區(qū)塊數(shù)量的泊松分布與該數(shù)量下攻擊者仍然可以追趕上誠(chéng)實(shí)節(jié)點(diǎn)的概率相乘,得出式(9):

為了避免對(duì)無限數(shù)列求和,化簡(jiǎn)后為:

攻擊者成功篡改區(qū)塊的概率和區(qū)塊差距的關(guān)系變化如圖7所示。

當(dāng)攻擊者獲得下一個(gè)節(jié)點(diǎn)所有權(quán)的概率小于0.5 時(shí),攻擊者成功篡改的概率隨著區(qū)塊差距的增加而逐漸減?。环粗?,當(dāng)攻擊者獲得下一個(gè)節(jié)點(diǎn)所有權(quán)的概率大于等于0.5 時(shí),攻擊者就可成功篡改下一個(gè)區(qū)塊。也就是說,只有當(dāng)攻擊者取得區(qū)塊鏈上50%以上的算力時(shí),才能夠掌控整個(gè)區(qū)塊鏈數(shù)據(jù)走向。由于區(qū)塊鏈中節(jié)點(diǎn)較多,攻擊者想要擁有全網(wǎng)50%的算力要付出巨大的成本,因此很難攻破,所以運(yùn)用區(qū)塊鏈在組織訪問中能夠達(dá)到非常好的抗攻擊效果。

3.2.2 拜占庭容錯(cuò)算法

實(shí)用拜占庭容錯(cuò)(Practical Byzantine Fault Tolerance,PBFT)算法能夠在網(wǎng)絡(luò)中存在惡意節(jié)點(diǎn)的情況下保證最終決策的一致性和正確性,為智能合約的安全部署奠定基礎(chǔ)。該算法節(jié)點(diǎn)分為主節(jié)點(diǎn)和備份節(jié)點(diǎn),主節(jié)點(diǎn)主要負(fù)責(zé)將客戶端的請(qǐng)求排序,備份節(jié)點(diǎn)按照主節(jié)點(diǎn)提供的順序執(zhí)行請(qǐng)求。PBFT 一般包含三種基本協(xié)議:一致性協(xié)議、檢查點(diǎn)協(xié)議和視圖更換協(xié)議。

一致性協(xié)議的目的是讓來自客戶端的請(qǐng)求能夠按照確定的順序在每個(gè)服務(wù)器上執(zhí)行,客戶端將收集到的信息轉(zhuǎn)化為證明文件,再發(fā)送給服務(wù)器。當(dāng)拜占庭系統(tǒng)中包含3f+1 臺(tái)服務(wù)器時(shí),至少需要收集到2f+1臺(tái)服務(wù)器發(fā)送的正確信息,才能確保達(dá)到一致性。由于在拜占庭系統(tǒng)中,可能存在系統(tǒng)資源被大量日志占用和服務(wù)器狀態(tài)不一致的情況。因此,檢查點(diǎn)協(xié)議會(huì)周期性地執(zhí)行,用來處理日志、節(jié)約資源,同時(shí)糾正節(jié)點(diǎn)狀態(tài)。視圖更換協(xié)議的作用就是當(dāng)主節(jié)點(diǎn)發(fā)生錯(cuò)誤時(shí),用備份節(jié)點(diǎn)替換掉主節(jié)點(diǎn),并且保證已經(jīng)被正常節(jié)點(diǎn)執(zhí)行完畢的請(qǐng)求不會(huì)被篡改。通過三種協(xié)議的共同合作,保障了PBFT的容錯(cuò)性和安全穩(wěn)定性。

3.3 模型特點(diǎn)分析

與其他訪問控制模型(文獻(xiàn)[7,8,15]模型)相比,BCRBAC 具有突出的優(yōu)勢(shì),比較結(jié)果如表1 所示。BC-RBAC 能夠根據(jù)用戶的信用度動(dòng)態(tài)修改用戶的訪問控制權(quán)限,相較文獻(xiàn)[7]模型的授權(quán)過程更加靈活;同時(shí),BC-RBAC 還對(duì)危險(xiǎn)操作等級(jí)和用戶的任用度進(jìn)行劃分,加入了歷史信用度和推薦信用度,使所求最終結(jié)果準(zhǔn)確度更高,相較文獻(xiàn)[8,15]模型中用戶信用度更具有參考性;BC-RBAC 還將訪問控制策略以智能合約的形式發(fā)布在區(qū)塊鏈中,相較文獻(xiàn)[8,15]中的模型更加安全可靠。

表1 BC-RBAC與其他模型對(duì)比Tab.1 Comparison between BC-RBAC and other models

4 結(jié)語(yǔ)

本文針對(duì)組織間信息訪問存在的特點(diǎn)和安全性問題,提出了一種基于區(qū)塊鏈和用戶信用度的訪問控制模型。首先,將訪問控制策略寫入智能合約,通過分析用戶行為,引入FAHP 完成用戶當(dāng)前信用度的計(jì)算,并根據(jù)多方面的評(píng)價(jià)結(jié)合和劃分危險(xiǎn)操作級(jí)別,得出用戶最終信用度;再將區(qū)塊鏈技術(shù)與RBAC 模型相結(jié)合,借助區(qū)塊鏈所具有的不可篡改、可追溯、透明性的特點(diǎn),將用戶信用度值和智能合約發(fā)布在區(qū)塊鏈上。實(shí)驗(yàn)結(jié)果表明,該模型可以有效地對(duì)用戶行為進(jìn)行分析評(píng)估,動(dòng)態(tài)更新和細(xì)粒度劃分用戶訪問的權(quán)限。同時(shí),區(qū)塊鏈的運(yùn)用有利于防止不法分子對(duì)于合約的攻擊和篡改,增強(qiáng)了訪問控制的安全性。BC-RBAC 模型實(shí)現(xiàn)了安全、可靠、透明的新型訪問控制模型,能夠有效促進(jìn)組織間信息共享并提供安全保障。

猜你喜歡
信用度訪問控制攻擊者
分 析
意林(2023年7期)2023-06-13 13:00:55
基于微分博弈的追逃問題最優(yōu)策略設(shè)計(jì)
基于AHP和k-means算法的電力用戶信用度評(píng)價(jià)
正面迎接批判
愛你(2018年16期)2018-06-21 03:28:44
ONVIF的全新主張:一致性及最訪問控制的Profile A
動(dòng)態(tài)自適應(yīng)訪問控制模型
淺析云計(jì)算環(huán)境下等級(jí)保護(hù)訪問控制測(cè)評(píng)技術(shù)
基于聲譽(yù)的C2C電子商務(wù)信用評(píng)價(jià)模型研究
大數(shù)據(jù)平臺(tái)訪問控制方法的設(shè)計(jì)與實(shí)現(xiàn)
有限次重復(fù)博弈下的網(wǎng)絡(luò)攻擊行為研究
怀柔区| 徐水县| 沈丘县| 富蕴县| 唐海县| 云龙县| 芒康县| 确山县| 正蓝旗| 高唐县| 河北省| 德兴市| 湾仔区| 龙山县| 丁青县| 孟连| 崇文区| 张家港市| 兴山县| 凤翔县| 施秉县| 绵竹市| 青川县| 蕲春县| 泗洪县| 平山县| 临夏县| 水富县| 团风县| 大洼县| 三台县| 闵行区| 新源县| 梁山县| 延长县| 舞阳县| 柳林县| 彰化县| 汾阳市| 镇沅| 辽宁省|