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

?

基于以太坊的改進物聯(lián)網(wǎng)設(shè)備訪問控制機制研究

2021-04-29 03:20:54張建國胡曉輝
計算機工程 2021年4期
關(guān)鍵詞:以太訪問控制合約

張建國,胡曉輝

(蘭州交通大學電子與信息工程學院,蘭州 730070)

0 概述

隨著科技水平的不斷提高,物聯(lián)網(wǎng)已經(jīng)能夠在任何時間和地點實現(xiàn)不同角色之間的有效連接,這也使得物聯(lián)網(wǎng)設(shè)備數(shù)量大幅增加。大量的物聯(lián)網(wǎng)設(shè)備將會產(chǎn)生海量的隱私數(shù)據(jù),這部分數(shù)據(jù)信息一旦泄漏,會給用戶造成巨大損失[1]。訪問控制是保障數(shù)據(jù)安全的關(guān)鍵性技術(shù)之一,其主要作用是阻止未授權(quán)的用戶操作以及限制授權(quán)用戶對特定設(shè)備的操作[2-3]。具備相應(yīng)操作權(quán)限的用戶只有通過訪問控制機制才能訪問隱私數(shù)據(jù),從而保障了數(shù)據(jù)安全。因此,訪問控制機制成為物聯(lián)網(wǎng)領(lǐng)域的研究熱點之一[2]。在物聯(lián)網(wǎng)中進行訪問控制,可以有效防止用戶未經(jīng)授權(quán)就訪問系統(tǒng)資源,也能防止已經(jīng)被授予某些權(quán)限的用戶通過其他未經(jīng)授權(quán)的方式來訪問資源,以及允許用戶在被授予相關(guān)權(quán)限后通過授權(quán)方式訪問資源。此外,訪問控制機制通過阻止某些不良行為以避免可能發(fā)生的安全漏洞問題。

訪問控制機制需滿足完整性、機密性及可用性的安全需求[4]。傳統(tǒng)的物聯(lián)網(wǎng)訪問控制模型主要包括基于角色的訪問控制(Role-Based Access Control,RBAC)模型[5-7]和基于屬性的訪問控制(Attribute-Based Access Control,ABAC)模型[8-9]。在RBAC 模型中,角色和權(quán)限相關(guān)聯(lián),系統(tǒng)將相應(yīng)的角色賦予用戶以使用戶擁有相應(yīng)的權(quán)限,從而保證了物聯(lián)網(wǎng)環(huán)境的跨域訪問控制[5]、可擴展性[6]及設(shè)備的異構(gòu)性[7]。但是,RBAC 是一種靜態(tài)機制,不能提前設(shè)定{用戶,角色}、{角色,權(quán)限}的對應(yīng)關(guān)系,因此,其不能有效解決物聯(lián)網(wǎng)節(jié)點的動態(tài)接入問題。ABAC 將屬性作為處理訪問控制問題的關(guān)鍵,通過實體屬性的發(fā)現(xiàn)機制得到獨立且完備的主體與客體等屬性集合,管理者無需手工輸入,可以通過自動化的發(fā)現(xiàn)機制快速得到{屬性,權(quán)限},因此,ABAC 是一種動態(tài)機制,其能夠很好地解決由移動節(jié)點和變化的訪問數(shù)據(jù)引起的動態(tài)接入問題[9]。

但在上述訪問控制機制中,通常由集中實體對主體的訪問權(quán)限進行驗證,導致極易發(fā)生單點故障問題。為此,研究人員提出了基于權(quán)能的分布式訪問控制(CapBAC)模型機制[10-11],其由發(fā)生請求的物聯(lián)網(wǎng)對象自身執(zhí)行訪問權(quán)限的驗證。但是,物聯(lián)網(wǎng)設(shè)備極易受到攻擊,它們不完全具備訪問權(quán)限驗證的能力。因此,CapBAC 模型機制難以解決存疑物聯(lián)網(wǎng)環(huán)境中的訪問控制問題。

近年來,區(qū)塊鏈技術(shù)[2]受到各領(lǐng)域研究人員的廣泛關(guān)注與研究。區(qū)塊鏈技術(shù)將P2P 網(wǎng)絡(luò)、加密算法、共識機制和智能合約等多種技術(shù)方法相結(jié)合,以解決去中心化節(jié)點間存在的信任問題,建立去中心化、不可篡改、可追溯的信任機制,同時完成價值轉(zhuǎn)移和信息傳輸[12-13]。在區(qū)塊鏈中,用戶身份通過其密鑰來證明,節(jié)點可以在任意時間和地點連接到區(qū)塊鏈網(wǎng)絡(luò),只要節(jié)點的簽名正確就能進行操作。此外,區(qū)塊鏈采用了P2P的網(wǎng)絡(luò)架構(gòu),一旦有用戶節(jié)點請求接入網(wǎng)絡(luò),僅需連接到網(wǎng)絡(luò)中的其他節(jié)點即可。由于區(qū)塊鏈的P2P 網(wǎng)絡(luò)結(jié)構(gòu)同節(jié)點間的地理位置無關(guān),因此節(jié)點僅需選擇網(wǎng)絡(luò)中已經(jīng)存在的區(qū)塊鏈節(jié)點相連。對于節(jié)點移動、頻繁接入和退出等問題,區(qū)塊鏈利用自身的特性就可以解決,即分布式的區(qū)塊鏈架構(gòu)與分布式的物聯(lián)網(wǎng)系統(tǒng)和動態(tài)訪問控制需求相適應(yīng)[14]。以太坊區(qū)塊鏈具備圖靈完備的以太坊虛擬機,能夠執(zhí)行任意復雜算法的智能合約[3],使用智能合約來實現(xiàn)復雜算法,從而解決傳統(tǒng)訪問控制機制因物聯(lián)網(wǎng)設(shè)備計算能力較弱導致策略判決效率低的問題。另外,以太坊區(qū)塊鏈的不可篡改性也使策略存儲得到保障。

本文針對物聯(lián)網(wǎng)設(shè)備的訪問控制問題,基于區(qū)塊鏈的事務(wù)管理和智能合約技術(shù),實現(xiàn)對分布式環(huán)境下物聯(lián)網(wǎng)設(shè)備動態(tài)、靈活、高效及安全的訪問控制。將以太坊區(qū)塊鏈技術(shù)與改進的RBAC 模型相結(jié)合,提出一種基于以太坊區(qū)塊鏈的物聯(lián)網(wǎng)設(shè)備訪問控制機制,通過編寫圖靈完備的智能合約來實現(xiàn)復雜算法從而進行物聯(lián)網(wǎng)設(shè)備的訪問控制。設(shè)計一種星際文件系統(tǒng)(IPFS)與以太坊區(qū)塊鏈相結(jié)合的策略數(shù)據(jù)存儲方案,以提高訪問控制數(shù)據(jù)的安全性。

1 相關(guān)工作

1.1 以太坊區(qū)塊鏈技術(shù)

區(qū)塊鏈是一種新型的分布式計算機技術(shù)、以加密算法為基礎(chǔ)的點對點傳輸?shù)姆植际劫~本技術(shù)以及網(wǎng)絡(luò)化的去中心共享數(shù)據(jù)庫技術(shù)。在區(qū)塊鏈中,利用加密算法實現(xiàn)價值的轉(zhuǎn)移,通過時間戳機制和散列鏈保證數(shù)據(jù)的可追溯、不可篡改特性,依據(jù)共識算法提高節(jié)點間區(qū)塊數(shù)據(jù)的一致性,使得基于信任的中心化機制所存在的安全性問題得到有效解決。

以太坊[15]是建立在區(qū)塊鏈技術(shù)基礎(chǔ)上的一個去中心化應(yīng)用平臺,其網(wǎng)絡(luò)架構(gòu)完善且具有較高的魯棒性。以太坊是可編程的區(qū)塊鏈,允許用戶自定義復雜的操作。以太坊虛擬機(Ethereum Virtual Machine,EVM)是以太坊中智能合約的運行環(huán)境,也是以太坊的核心。以太坊是圖靈完備的,因此,EVM 可執(zhí)行任意復雜算法的程序編碼。此外,以太坊區(qū)塊鏈數(shù)據(jù)庫由其網(wǎng)絡(luò)中的每個節(jié)點來進行更新與維護,每個節(jié)點均可通過運行以太坊虛擬機來執(zhí)行相同的指令,從而保證了區(qū)塊鏈的一致性。智能合約一旦部署到以太坊的網(wǎng)絡(luò)中就失去了再被修改的機會,這種設(shè)計大幅提高了以太坊平臺網(wǎng)絡(luò)上智能合約的可信性,且在以太坊平臺上可以使用多種高級語言來進行智能合約編寫。以太坊區(qū)塊鏈邏輯架構(gòu)如圖1 所示。

圖1 以太坊區(qū)塊鏈邏輯架構(gòu)Fig.1 Ethereum blockchain logical architecture

1.2 智能合約技術(shù)

智能合約[16-17]是運行在區(qū)塊鏈平臺上、具有狀態(tài)機、通過事件驅(qū)動并得到多方認可的計算機程序。以太坊區(qū)塊鏈的智能合約具備數(shù)據(jù)透明、不可篡改和永久執(zhí)行的特性。數(shù)據(jù)的處理在智能合約中公開透明,部署在區(qū)塊鏈上的智能合約代碼以及執(zhí)行結(jié)果不可篡改,智能合約的運行節(jié)點無需擔心其他惡意節(jié)點會修改程序及數(shù)據(jù),區(qū)塊鏈網(wǎng)絡(luò)由大量的節(jié)點組成,部分節(jié)點出現(xiàn)故障無法致使智能合約停止運行,因此,在理論上智能合約可靠性穩(wěn)定且能永久運行。物聯(lián)網(wǎng)設(shè)備的計算能力較低以及資源儲存能力受限,導致其不能很好地滿足訪問控制的需求。以太坊區(qū)塊鏈具備圖靈完備的以太坊虛擬機,能夠執(zhí)行任意復雜算法的智能合約[3],因此,使用智能合約來實現(xiàn)復雜算法可以進行物聯(lián)網(wǎng)設(shè)備的訪問控制。

1.3 基于角色的訪問控制方法

RBAC 模型最初被用來解決大型企業(yè)級系統(tǒng)存在的訪問控制問題,其通過將角色和一組權(quán)限相關(guān)聯(lián),系統(tǒng)給予用戶相關(guān)的角色從而促使用戶獲取對應(yīng)的權(quán)限。隨著物聯(lián)網(wǎng)在多個領(lǐng)域的不斷發(fā)展,RBAC 逐漸被學者引入到物聯(lián)網(wǎng)的訪問控制研究中[6],RBAC 可以支持物聯(lián)網(wǎng)生態(tài)的可擴展性、設(shè)備的異構(gòu)性和跨區(qū)域的訪問控制等相關(guān)特性。

RBAC 根據(jù)權(quán)限的復雜程度又可分為RBAC0、RBAC1、RBAC2 和RBAC3。本文通過將RBAC1 與用戶組相結(jié)合,即對角色進行分級并添加用戶組,以實現(xiàn)更加細粒度的權(quán)限管理。具體如下:

1)角色分級:在RBAC 模型中,本文將權(quán)限賦予角色再將角色賦予用戶。將角色分成若干等級,每個等級的權(quán)限不同,使得角色更加細粒度化,如圖2 所示。

圖2 角色分級Fig.2 Role rating

2)用戶組,如圖3 所示,本文引入用戶組的概念,直接給用戶組分配角色,再將用戶加入用戶組。用戶除了自身的權(quán)限外,還擁有所屬用戶組的所有權(quán)限。當用戶的數(shù)量非常大時,系統(tǒng)通過給用戶組授權(quán)來避免每個用戶逐一授權(quán)而引起的資源占用問題。

圖3 用戶組Fig.3 User groups

2 系統(tǒng)整體架構(gòu)及設(shè)計

2.1 物聯(lián)網(wǎng)設(shè)備訪問控制技術(shù)架構(gòu)

基于以太坊區(qū)塊鏈技術(shù)的物聯(lián)網(wǎng)設(shè)備訪問控制包括訪問策略事件發(fā)布、事件存儲和事件的合約驗證等。本文物聯(lián)網(wǎng)設(shè)備訪問控制架構(gòu)主要由存儲層、共識層、合約層和事務(wù)層組成,各層相互協(xié)同,共同構(gòu)成一個完整的物聯(lián)網(wǎng)設(shè)備訪問控制架構(gòu),如圖4所示。

圖4 物聯(lián)網(wǎng)設(shè)備訪問控制技術(shù)架構(gòu)Fig.4 Access control technology architecture for IoT devices

物聯(lián)網(wǎng)設(shè)備訪問控制技術(shù)架構(gòu)各層具體如下:

1)存儲層:將訪問控制策略發(fā)送到各節(jié)點,并封裝在各區(qū)塊中,區(qū)塊間以鏈式結(jié)構(gòu)相連接,實現(xiàn)訪問控制策略安全、可追溯及對所有人透明。

2)共識層:封裝網(wǎng)絡(luò)節(jié)點的各類共識機制算法。共識機制算法是區(qū)塊鏈技術(shù)的核心,其決定了記賬者,記賬者的選擇影響整個系統(tǒng)的安全性和可靠性。

3)合約層:智能合約對用戶角色進行分配,然后將其發(fā)布在區(qū)塊鏈上,可提高用戶的匿名性同時確保所創(chuàng)建角色及權(quán)限的透明性。訪問控制合約具有4 個功能,一是允許策略管理組織添加用戶并向用戶發(fā)布角色和權(quán)限及其他相關(guān)信息,二是允許策略管理組織以所有人可見的方式根據(jù)需要管理和修改角色信息及權(quán)限,三是允許策略管理組織根據(jù)需要撤銷用戶及發(fā)布給用戶的角色和權(quán)限,四是允許策略管理組織根據(jù)需求廢止合約。

4)事務(wù)層:該層位于最上層,通過ABI與智能合約進行交互。事務(wù)層首先進行用戶管理,聲明擁有角色的用戶;然后實現(xiàn)角色管理,檢查與角色有關(guān)的信息;接著進行角色-權(quán)限管理,聲明擁有權(quán)限的角色;最后實現(xiàn)訪問控制管理,完成權(quán)限對用戶的響應(yīng)。

2.2 訪問控制合約

2.2.1 合約執(zhí)行框架及流程

訪問控制合約框架基于以太坊區(qū)塊鏈技術(shù)并將以太坊區(qū)塊鏈與改進后的RBAC 模型相結(jié)合,該框架包括用戶、角色集、權(quán)限集、策略管理、智能合約及資源擁有者,訪問控制工作流程可分為準備和執(zhí)行2 個階段。準備階段主要進行用戶、角色及訪問控制策略的管理,包括用戶、角色及策略的添加、更新、刪除以及對角色及策略查詢結(jié)果的響應(yīng)。執(zhí)行階段主要對訪問請求進行判決、響應(yīng)及執(zhí)行。訪問控制合約執(zhí)行框架如圖5 所示。

圖5 訪問控制合約執(zhí)行框架Fig.5 Access control contract execution framework

準備階段具體如下:

1)由用戶發(fā)送訪問目標資源擁有者的請求,智能合約通過ABI 接收用戶請求并根據(jù)請求內(nèi)容作出響應(yīng)。

2)智能合約通過processEvent()方法查詢對應(yīng)的用戶-角色信息。

3)一旦查找完成便返回該用戶具備的角色信息到智能合約。

4)智能合約的processEvent()方法通過返回的角色信息訪問權(quán)限集,查找該角色信息具備的權(quán)限等級。

5)根據(jù)查找到的對應(yīng)的角色-權(quán)限作出響應(yīng)并返回響應(yīng)結(jié)果到智能合約。

6)根據(jù)策略管理的變動,包括添加新用戶、刪除已有用戶,添加、更新、刪除角色信息,添加、更新、刪除權(quán)限信息,策略管理模塊通過ABI 訪問智能合約。

7)智能合約根據(jù)請求內(nèi)容調(diào)用內(nèi)部相關(guān)方法,完成策略管理模塊的請求并通過以太坊區(qū)塊鏈網(wǎng)絡(luò)向全網(wǎng)節(jié)點廣播,最后將響應(yīng)結(jié)果反饋到策略管理模塊。

執(zhí)行階段具體如下:

1)智能合約通過processEvent()方法返回權(quán)限及密鑰到用戶,同時通知資源擁有者以便其根據(jù)用戶的密鑰進行識別。

2)用戶在得到智能合約授予其的相應(yīng)權(quán)限之后立即向資源擁有者發(fā)送訪問請求,并通過密鑰進行身份認證從而訪問資源擁有者。

2.2.2 訪問控制合約策略判決算法

訪問控制的判決結(jié)果分為允許訪問(allow)和拒絕訪問(deny)2 種類型。針對訪問主體(subject)相應(yīng)的權(quán)限訪問請求,遍歷用戶集(user_set)、角色集(role_set)和權(quán)限集(policy_set)中相應(yīng)的信息,若滿足某一訪問控制策略中的信息,則判決為允許訪問(allow)。如果判決請求不滿足策略,則包括2 種情況:一是用戶集(user_set)、角色集(role_set)和權(quán)限集(policy_set)中不具備相應(yīng)信息,從而無法進行判決,此時使用undefined 表示,判決為deny;二是策略集中拒絕訪問主體進行相應(yīng)權(quán)限訪問,此時判決為deny。訪問控制策略判決算法描述如算法1 所示。

算法1訪問控制策略判決算法

訪問控制策略判決算法步驟如下:

1)將訪問主體存放于temp_user,作為臨時用戶。

2)遍歷系統(tǒng)用戶集user_set,如果訪問主體存在于用戶集,則進行下一步;否則,返回訪問主體為未定義用戶(undefined),將訪問主體存放于拒絕訪問結(jié)果集deny_result_set 中,判定為無相應(yīng)訪問權(quán)限(deny)。

3)根據(jù)主體在用戶集中的用戶定義,在角色集role_set 中查詢相應(yīng)的角色。如果該訪問主體對應(yīng)角色存在,則進行下一步;否則,得出訪問主體用戶未定義角色(undefined),將訪問主體存放于拒絕訪問結(jié)果集deny_result_set 中,判定為無相應(yīng)訪問權(quán)限(deny)。

4)通過角色信息遍歷權(quán)限集policy_set,如果存在相應(yīng)的權(quán)限,則將訪問主體存放于允許訪問結(jié)果集allow_result_set 中,判定為具備相應(yīng)訪問權(quán)限(allow);否則,將訪問主體存放于拒絕訪問結(jié)果集deny_result_set 中,判定為無相應(yīng)訪問權(quán)限(deny)。

2.3 訪問控制策略存儲管理

2.3.1 策略存儲方案

本文設(shè)計一種IPFS 和以太坊區(qū)塊鏈相結(jié)合的策略數(shù)據(jù)安全存儲方案。在該方案中,物聯(lián)網(wǎng)設(shè)備訪問控制策略數(shù)據(jù)以分布式方式通過鏈下的IPFS進行存儲,實體可以通過區(qū)塊鏈上的地址密鑰找到存儲地址從而實現(xiàn)對策略數(shù)據(jù)的訪問。策略數(shù)據(jù)地址哈希由多數(shù)區(qū)塊鏈礦工控制,防止未授權(quán)用戶通過地址哈希非法訪問存儲于IPFS 中的策略數(shù)據(jù)。

IPFS 是一種內(nèi)容可尋址的對等超媒體分發(fā)網(wǎng)絡(luò)傳輸協(xié)議,其目的是實現(xiàn)持久、分布式的文件存儲與共享。在IPFS 網(wǎng)絡(luò)中,所有節(jié)點構(gòu)成了一個分布式的文件系統(tǒng),沒有節(jié)點能夠擁有單獨的權(quán)利。IPFS 采用的索引結(jié)構(gòu)是分布式哈希表(Distributed Hash Table,DHT),采用的數(shù)據(jù)結(jié)構(gòu)是默克爾有向無環(huán)圖(Merkle DAG),并用基于內(nèi)容的地址替代基于域名的地址,無需驗證發(fā)送者的身份,只需驗證內(nèi)容的哈希。使用內(nèi)容尋址的方法是IPFS 與傳統(tǒng)存儲系統(tǒng)的重要區(qū)別,即IPFS 對文件內(nèi)容進行哈希運算(Hash),并將Hash 值用作文件內(nèi)容的索引地址。存儲在IPFS 中的任何一個數(shù)據(jù)文件均被分配了一個根據(jù)其內(nèi)容創(chuàng)建的唯一Hash 值,由于文件的內(nèi)容不相同,因此哈希值均不同。哈希函數(shù)的唯一性和不變性使得用Hash 代表數(shù)據(jù)更加合理。

在IPFS 的整個網(wǎng)絡(luò)集群中,不允許存在內(nèi)容相同的文件,且每一個文件都有一個獨立的版本管理。根據(jù)歷史信息均可輕易找到每個文件,因為隨著IPFS 系統(tǒng)中文件的變更,會產(chǎn)生相應(yīng)的歷史記錄。當用戶對一個文件進行查找時,IPFS 集群節(jié)點就會根據(jù)查找請求以及Hash值來查找文件內(nèi)容,并且由于Hash值唯一,因此文件能夠被快速找到。綜上,將IPFS 分布的網(wǎng)絡(luò)集群系統(tǒng)用于分布式數(shù)據(jù)安全存儲具有合理性。

在以太坊區(qū)塊鏈中,使用事務(wù)的形式來對IPFS哈希進行存儲管理。數(shù)據(jù)存儲層將各節(jié)點發(fā)出的數(shù)據(jù)封裝在以鏈式結(jié)構(gòu)相連接的各個區(qū)塊中,結(jié)合以太坊區(qū)塊鏈去中心化、不可篡改、可追溯的特性,從而滿足訪問控制策略的安全性要求。MPT 樹是以太坊區(qū)塊鏈中存儲區(qū)塊數(shù)據(jù)的核心數(shù)據(jù)結(jié)構(gòu),是以太坊區(qū)塊鏈用來組織管理賬戶數(shù)據(jù)及生成交易集合哈希的重要數(shù)據(jù)結(jié)構(gòu)。MPT 樹可確保以太坊區(qū)塊鏈中的數(shù)據(jù)滿足不可篡改性,使訪問控制策略的安全性得到保證。策略數(shù)據(jù)存儲方案結(jié)構(gòu)如圖6所示。

圖6 策略數(shù)據(jù)存儲方案架構(gòu)Fig.6 Architecture of policy data storage scheme

2.3.2 策略存儲算法設(shè)計

物聯(lián)網(wǎng)設(shè)備訪問控制策略存儲后將面臨安全問題,為了提高策略管理過程中的安全性,本文設(shè)計結(jié)合IPFS 與以太坊區(qū)塊鏈MPT 樹的策略存儲算法,其描述如算法2 所示。

算法2策略存儲算法

策略存儲算法步驟如下:

1)遍歷已存儲的策略事務(wù)數(shù)據(jù)塊,檢查待存儲策略文件是否已經(jīng)存儲,如果已存儲,則退出;否則,進入下一步。

2)創(chuàng)建策略事務(wù)數(shù)據(jù)塊policy{id,address,time}。

3)策略事務(wù)數(shù)據(jù)塊創(chuàng)建成功,則將策略事務(wù)數(shù)據(jù)塊存儲于IPFS 并生成對應(yīng)的哈希值(hash value),檢查哈希值并返回該值。

4)使用Web3.toHex()方法將哈希值轉(zhuǎn)換為16 進制字符串的哈希地址(hash address),將哈希地址以事務(wù)形式存放于以太坊區(qū)塊鏈中,以便安全訪問策略事務(wù)數(shù)據(jù)。

3 實驗結(jié)果與分析

通過實驗對本文所提基于以太坊區(qū)塊鏈的物聯(lián)網(wǎng)設(shè)備訪問控制機制的有效性及安全性進行測試?;赬ACML 提供的標準策略一致性測試包中的屬性集和策略集,按照常規(guī)方法在PC 機上構(gòu)建擁有3 個節(jié)點的以太坊區(qū)塊鏈測試鏈仿真環(huán)境。實驗環(huán)境如下:操作系統(tǒng)為Windows 10 企業(yè)版64 位,CPU為Intel?CoreTMi7-5960X@3 GHz,內(nèi)存大小為16 GB,Node.js 版本為v12.9.1,npm 版本為6.10.2。

3.1 有效性分析

為了驗證本文訪問控制機制的有效性,采用文獻[18]中的方法,在不同的策略下對本文結(jié)合RBAC 模型和智能合約的訪問控制策略、RBAC 策略、ABAC 策略及CapBAC 策略的裁決進行有效性測試對比,測試內(nèi)容為訪問控制機制中策略裁決的效率,實驗結(jié)果如圖7 所示,實驗中5 組測試集樣本分別對應(yīng)1 000 條、2 000 條、3 000 條、4 000 條和5 000 條單一策略。測試集樣本面向100 個用戶標識構(gòu)建1 000 次不同的訪問請求,每個標識均具有5 個屬性值,每個請求有5 次隨機發(fā)送的機會,策略裁決時延根據(jù)所有請求平均響應(yīng)時延計算得到。

圖7 4 種策略的判決性能比較Fig.7 Comparison of decision performance of four strategies

從圖7 可以看出,所有策略裁決時延隨測試集樣本的增加而不斷增長。當測試集樣本數(shù)量較少時,本文結(jié)合RBAC 模型和智能合約的訪問控制策略、RBAC 策略、ABAC 策略及CapBAC 策略裁決時延相差不大,原因是當樣本較少時,使用上述4 種不同策略機制的系統(tǒng)吞吐量(即每秒處理事務(wù)請求的數(shù)量)均可滿足少量樣本策略的正常處理條件,不存在時延上的差異。而隨著測試集樣本數(shù)量的不斷增加,4 種策略的裁決時延逐漸出現(xiàn)差距,當測試集樣本增加到較大數(shù)量后,CapBAC 策略與本文策略的時延相對RBAC 策略、ABAC 策略增長趨勢較慢,同時本文策略裁決時延又較CapBAC 策略有所降低,分析原因可知,由于樣本數(shù)量的不斷增加,4 種不同策略機制的系統(tǒng)吞吐量均逐漸不能滿足同一時間段的較大并發(fā)策略數(shù)量的裁決請求,導致策略裁決出現(xiàn)排隊情況,并且吞吐量的差異使得4 種策略性能逐漸拉開差距。但是,本文策略中由于以太坊區(qū)塊鏈的P2P 網(wǎng)絡(luò)架構(gòu),各個節(jié)點均可對策略事務(wù)請求做出裁決,并發(fā)處理策略請求數(shù)更多,且以太坊區(qū)塊鏈擁有真正圖靈完備的EVM,任何算力需求的智能合約均可在EVM 上執(zhí)行,使用智能合約來實現(xiàn)復雜算法從而快速地對策略做出裁決,此外,本文策略進行角色分級和用戶分組的RBAC 模型使得策略更加細粒度化,策略裁決更加明確。上述條件均提高了本文策略判決機制的系統(tǒng)吞吐量,降低了策略判決時延。因此,本文策略裁決效率和判決性能更高。

從圖8 可以看出,隨著策略規(guī)則的增加,本文策略判決成功率有所下降,這是由于策略集中存在部分沖突策略,針對沖突策略,策略判決合約無法得到一致性的判決結(jié)果,但是最終成功率下降趨勢逐漸平緩,說明本文訪問控制機制具有較好的判決性能。

圖8 不同樣本數(shù)量下的策略判決成功率Fig.8 Decision success rate of strategy with different number of samples

3.2 安全性分析

在以太坊區(qū)塊鏈中,攻擊者對共識機制進行攻擊進而修改區(qū)塊數(shù)據(jù)是區(qū)塊鏈安全性受到威脅的主要原因。本文采用文獻[19-20]提出的攻擊模型,通過將研究人員普遍使用的PoW 共識機制作為用例,對以太坊區(qū)塊鏈的安全性進行分析,用二項隨機過程來描述以太坊區(qū)塊鏈所面臨的信任鏈與攻擊鏈之間存在的競爭關(guān)系。攻擊者通過使偽造鏈長度超過信任鏈來抵消存在的z個區(qū)塊差距。其中,成功抵消存在的z個區(qū)塊差距的幾率問題與賭徒破產(chǎn)問題(Gambler’s Ruin Problem,GRP)相似。攻擊鏈攻擊成功時的長度不小于信任鏈長度的概率計算方法如下:

其中,p為信任節(jié)點得到下一個區(qū)塊記賬權(quán)的概率,q為攻擊節(jié)點得到下一個區(qū)塊記賬權(quán)的概率,p+q=1。

為得到攻擊鏈確切的區(qū)塊進展個數(shù),假設(shè)信任鏈產(chǎn)生一個區(qū)塊將會耗費平均預(yù)期時間,則攻擊鏈的潛在進展可以看作一個泊松分布,分布的期望值用式(2)表示:

為了計算攻擊鏈長度達到信任鏈長度的概率,將攻擊鏈區(qū)塊進展數(shù)量的泊松分布概率密度與該數(shù)量下攻擊鏈長度仍能夠達到信任鏈長度的概率相乘。攻擊者成功篡改區(qū)塊數(shù)據(jù)的概率P用式(3)表示:

為避免式(3)發(fā)生無限數(shù)列求和,將其進一步轉(zhuǎn)化為式(4):

本文采用Matlab 2018b 進行仿真,實驗結(jié)果如圖9 所示。從圖9 可以看出,攻擊者篡改區(qū)塊數(shù)據(jù)的成功概率隨著區(qū)塊相差數(shù)量z的增大呈下降趨勢,且當區(qū)塊數(shù)量差距相同時,攻擊者篡改區(qū)塊數(shù)據(jù)的成功概率隨著其得到下一個區(qū)塊記賬權(quán)的概率(即算力)的提高而不斷上升。因此,當攻擊者算力越強時,就越可能篡改區(qū)塊數(shù)據(jù),將自身變?yōu)樾湃捂?。因此,可以采取增加信任鏈區(qū)塊數(shù)量從而使其足夠長以及增強算力的方式來降低攻擊者的攻擊效果。由于物聯(lián)網(wǎng)生態(tài)系統(tǒng)中通常設(shè)備數(shù)量巨大,每個設(shè)備均可作為一個以太坊區(qū)塊鏈的輕節(jié)點,且以太坊區(qū)塊鏈具備圖靈完備特性,因此本文基于以太坊區(qū)塊鏈的物聯(lián)網(wǎng)設(shè)備訪問控制機制,符合物聯(lián)網(wǎng)生態(tài)系統(tǒng)對設(shè)備訪問控制的安全性要求。

圖9 攻擊成功概率對比Fig.9 Comparison of attack success probability

4 結(jié)束語

本文提出一種基于以太坊區(qū)塊鏈的物聯(lián)網(wǎng)設(shè)備訪問控制機制,在以太坊區(qū)塊鏈技術(shù)中引入RBAC相關(guān)理論,結(jié)合以太坊區(qū)塊鏈所具有的去中心化、不可篡改及可追溯等特性,通過以太坊區(qū)塊鏈事務(wù)管理用戶、角色及訪問控制策略,實現(xiàn)全程管理及追蹤策略的發(fā)布、更新以及撤銷,從而解決傳統(tǒng)權(quán)限判決方法非透明與效率低的問題。通過基于RBAC 模型的智能合約使訪問控制策略過程更加靈活且結(jié)果更加可信,有效提升物聯(lián)網(wǎng)設(shè)備的安全性及設(shè)備間的交互能力。結(jié)合IPFS 與以太坊區(qū)塊鏈進行數(shù)據(jù)存儲,能夠提高策略存儲的安全性。實驗結(jié)果驗證了本文訪問控制機制的有效性與安全性。物聯(lián)網(wǎng)設(shè)備的訪問控制對時間的要求較高,多數(shù)物聯(lián)網(wǎng)場景需要實現(xiàn)實時的訪問控制,在本文基于區(qū)塊鏈智能合約的物聯(lián)網(wǎng)設(shè)備訪問控制機制中,區(qū)塊鏈中的共識速度直接制約著訪問控制速度,今后將對共識機制進行研究以提高區(qū)塊鏈的共識速度,從而進一步提升訪問控制效率。

猜你喜歡
以太訪問控制合約
以太極為旗,開啟新時代“黃河大合唱”
少林與太極(2023年7期)2023-08-25 05:27:52
車易鏈:做汽車業(yè)的“以太坊”
汽車觀察(2018年9期)2018-10-23 05:46:24
ONVIF的全新主張:一致性及最訪問控制的Profile A
動態(tài)自適應(yīng)訪問控制模型
通信學報(2016年11期)2016-08-16 03:20:32
淺析云計算環(huán)境下等級保護訪問控制測評技術(shù)
大數(shù)據(jù)平臺訪問控制方法的設(shè)計與實現(xiàn)
百通推出入門級快速工業(yè)以太網(wǎng)絡(luò)交換器系列
以太互聯(lián) 高效便捷 經(jīng)濟、可靠、易用的小型可編程控制器
自動化博覽(2014年6期)2014-05-29 09:40:16
合約必守,誰能例外!——對“情勢變更”制度不可寄于過高期望
玉屏| 石首市| 增城市| 吴川市| 宁德市| 花莲县| 淅川县| 乳源| 曲麻莱县| 马尔康县| 白河县| 肃南| 松滋市| 珠海市| 瑞丽市| 昭苏县| 青河县| 会泽县| 高碑店市| 井陉县| 名山县| 莱芜市| 新野县| 涿州市| 贡嘎县| 镇江市| 邯郸市| 广安市| 阳泉市| 义马市| 三江| 上高县| 延安市| 调兵山市| 麦盖提县| 奉贤区| 连州市| 合作市| 湾仔区| 西盟| 手机|