亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        物聯(lián)網(wǎng)下的區(qū)塊鏈訪問控制綜述*

        2019-07-08 08:54:44史錦山
        軟件學(xué)報 2019年6期
        關(guān)鍵詞:控制策略模型

        史錦山, 李 茹

        1(內(nèi)蒙古大學(xué) 計算機(jī)學(xué)院,內(nèi)蒙古 呼和浩特 010021)

        2(內(nèi)蒙古自治區(qū)無線網(wǎng)絡(luò)與移動計算重點(diǎn)實(shí)驗(yàn)室(內(nèi)蒙古大學(xué)),內(nèi)蒙古 呼和浩特 010021)

        自1999年麻省理工學(xué)院Ashton教授首次提出物聯(lián)網(wǎng)概念發(fā)展至今,物聯(lián)網(wǎng)已經(jīng)可以實(shí)現(xiàn)物與物、物與人、人與人之間在任何時候、任何地點(diǎn)的有效連接.物聯(lián)網(wǎng)中會產(chǎn)生海量的數(shù)據(jù),其中具有大量的個人隱私,這些隱私信息一旦泄漏,會給用戶帶來巨大的損失.作為數(shù)據(jù)保護(hù)的基石性技術(shù)之一,訪問控制可保障數(shù)據(jù)僅能被擁有相應(yīng)權(quán)限的用戶訪問[1].因此,物聯(lián)網(wǎng)下的訪問控制機(jī)制也就成為了物聯(lián)網(wǎng)安全和隱私保護(hù)的重要研究內(nèi)容之一.

        隨著物聯(lián)網(wǎng)技術(shù)和應(yīng)用的不斷發(fā)展,物聯(lián)網(wǎng)從早期依托射頻識別(radio frequency identification,簡稱RFID)技術(shù)的物流網(wǎng)絡(luò)發(fā)展到目前萬物皆可連的“智慧地球”,物聯(lián)網(wǎng)環(huán)境下的訪問控制也隨之不斷發(fā)展.主要的訪問控制方法有:基于角色的訪問控制(role-based access control,簡稱 RBAC)[2-5]、基于屬性的訪問控制(attributes based access control,簡稱ABAC)[6-11]、基于使用控制模型(usage control,簡稱UCON)的訪問控制[12-15]和基于權(quán)能的訪問控制(capability-based access control,簡稱CapBAC)[16-20]等.

        RBAC在物聯(lián)網(wǎng)概念出現(xiàn)之前已經(jīng)被提出,最初是為了解決大型企業(yè)級系統(tǒng)的訪問控制問題.RBAC將角色和一組權(quán)限關(guān)聯(lián)在一起,用戶根據(jù)系統(tǒng)所賦予的角色獲取相應(yīng)的權(quán)限.隨著物聯(lián)網(wǎng)的發(fā)展,學(xué)者們將RBAC用于物聯(lián)網(wǎng)中的訪問控制中,可支持物聯(lián)網(wǎng)環(huán)境的可擴(kuò)展性[21]、跨域訪問控制[22]和設(shè)備異構(gòu)[23,24]等特性.但是RBAC作為一種靜態(tài)的訪問控制方法,無法提前預(yù)設(shè){用戶,角色}、{角色,權(quán)限}的對應(yīng)關(guān)系,因此無法解決物聯(lián)網(wǎng)節(jié)點(diǎn)動態(tài)接入的問題.ABAC是一種動態(tài)的訪問控制模型,與RBAC需要管理者提前預(yù)設(shè){角色,權(quán)限}等對應(yīng)關(guān)系不同,ABAC使用屬性作為訪問控制的關(guān)鍵要素,而屬性是主體和客體內(nèi)在固有的,通過實(shí)體屬性發(fā)現(xiàn)機(jī)制可以挖掘出獨(dú)立、完備的主體、客體等的屬性集合,因此不需要管理者手工輸入,然后通過自動化的屬性-權(quán)限關(guān)聯(lián)關(guān)系發(fā)現(xiàn)機(jī)制可以快速挖掘出{屬性,權(quán)限}.因此,ABAC不僅可以解決物聯(lián)網(wǎng)中節(jié)點(diǎn)的動態(tài)接入問題,而且對于節(jié)點(diǎn)移動和訪問數(shù)據(jù)變化帶來的動態(tài)性也可以完美解決.物聯(lián)網(wǎng)下的ABAC考慮了節(jié)點(diǎn)輕量級[7,10]、動態(tài)性[8]的物聯(lián)網(wǎng)特性做出了局部改進(jìn).在物聯(lián)網(wǎng)中實(shí)現(xiàn)訪問控制,不僅需要考慮節(jié)點(diǎn)的動態(tài)接入問題,還需要考慮訪問過程中節(jié)點(diǎn)屬性的可變性問題.而UCON不僅解決了節(jié)點(diǎn)動態(tài)接入問題[14],而且還在訪問控制過程中考慮了連續(xù)性和可變性兩個重要屬性[15].連續(xù)性體現(xiàn)在訪問控制會對請求者訪問資源的整體過程進(jìn)行實(shí)時監(jiān)控,可以隨時撤銷其資源使用權(quán)限;可變性是指屬性在訪問控制過程中是可變的,在UCON中,一般將屬性分為不變屬性和可變屬性兩種,其中,可變屬性會隨著環(huán)境和行為等的變化而改變.

        上述RBAC,ABAC和UCON這3個訪問控制模型都由一個集中式的授權(quán)決策實(shí)體依據(jù)訪問控制策略和其他屬性信息進(jìn)行訪問控制決策,即以上方法均是引入中央可信實(shí)體的概念構(gòu)建的.隨著物聯(lián)網(wǎng)在生活領(lǐng)域的深入應(yīng)用,用戶對數(shù)據(jù)隱私和個人隱私信息的保護(hù)提出了更高的要求.但是每個訪問請求都指向同一個中央可信實(shí)體,由中央可信實(shí)體保存所有信息,并依據(jù)所保存的信息完成所有決策.這本身就是技術(shù)層面的不安全,需要依賴技術(shù)之外的法律層面來保障安全.而近年頻出的隱私泄露事件,如韓國三大信用卡公司信息泄露事件、蘋果iCloud云端系統(tǒng)漏洞風(fēng)波等,都對中央可信實(shí)體的可信度提出了質(zhì)疑.

        RBAC,ABAC和UCON這3種方法都需要一個集中式的服務(wù)器來完成授權(quán)決策,而CapBAC在物聯(lián)網(wǎng)環(huán)境中已經(jīng)實(shí)現(xiàn)了輕量級[18]的分布式[16,18,19]的訪問控制,而且支持動態(tài)性[17,20]和可擴(kuò)展性[17,20].雖然 CapBAC分布式的設(shè)計避免了使用集中式服務(wù)器所帶來的單點(diǎn)故障問題,但是 CapBAC在物聯(lián)網(wǎng)中輕量級的設(shè)備上實(shí)現(xiàn)分布式的訪問控制決策時,輕量級設(shè)備并不能保證自己的安全性,有可能會被攻擊者通過安全性薄弱的物聯(lián)網(wǎng)設(shè)備作為突破口威脅到訪問控制的安全,因此,分布式CapBAC無法解決在不可信環(huán)境下的物聯(lián)網(wǎng)訪問控制.

        區(qū)塊鏈?zhǔn)且环N去中心化的分布式技術(shù),是一種以密碼學(xué)算法為基礎(chǔ)的點(diǎn)對點(diǎn)分布式賬本技術(shù),是一種互聯(lián)網(wǎng)上的共享數(shù)據(jù)庫技術(shù).區(qū)塊鏈從技術(shù)上解決了基于信任的中心化模型帶來的安全問題,它基于密碼學(xué)算法保證價值的安全轉(zhuǎn)移,基于哈希鏈及時間戳機(jī)制保證數(shù)據(jù)的可追溯、不可篡改特性,基于共識算法保證節(jié)點(diǎn)間區(qū)塊數(shù)據(jù)的一致性,基于自動化的腳本代碼和圖靈完備的虛擬機(jī)保證可編程的智能合約.2015年,區(qū)塊鏈技術(shù)從金融領(lǐng)域擴(kuò)展到物聯(lián)網(wǎng)領(lǐng)域.主要的應(yīng)用之一就是用于物聯(lián)網(wǎng)訪問控制,代替物聯(lián)網(wǎng)訪問控制的中央可信實(shí)體.

        當(dāng)將區(qū)塊鏈技術(shù)與物聯(lián)網(wǎng)相結(jié)合時,訪問控制作為物聯(lián)網(wǎng)數(shù)據(jù)保護(hù)的關(guān)鍵技術(shù)之一,成為了主要的結(jié)合領(lǐng)域.目前有兩種結(jié)合方式:一種是區(qū)塊鏈技術(shù)與現(xiàn)有的物聯(lián)網(wǎng)訪問控制模型結(jié)合,區(qū)塊鏈充當(dāng)現(xiàn)有訪問控制模型的可信實(shí)體,目前主要的研究見表1,包括區(qū)塊鏈與RBAC模型結(jié)合[25]、區(qū)塊鏈與ABAC模型結(jié)合[26-28]和區(qū)塊鏈與 CapBAC結(jié)合[29-31]以及其他物聯(lián)網(wǎng)場景下模型的結(jié)合[32,33];另一種是提出一種新的完全基于區(qū)塊鏈的物聯(lián)網(wǎng)訪問控制模型,區(qū)塊鏈作為可信實(shí)體的同時,基于區(qū)塊鏈的特性設(shè)計了基于交易或者智能合約的訪問控制方法,見表 2,按照區(qū)塊鏈架構(gòu)的不同可以分為基于比特幣區(qū)塊鏈改進(jìn)的訪問控制模型[34-37]和基于以太坊區(qū)塊鏈的具有智能合約的訪問控制模型[38-40].

        Table 1 Research on integrating blockchain into existing access control model表1 將區(qū)塊鏈融入現(xiàn)有訪問控制模型的研究

        Table 2 New access control model based entirely on blockchain表2 基于區(qū)塊鏈提出的訪問控制模型

        物聯(lián)網(wǎng)環(huán)境下的訪問控制需要考慮以下的問題.

        物聯(lián)網(wǎng)終端節(jié)點(diǎn)設(shè)備輕量級的問題.物聯(lián)網(wǎng)終端設(shè)備的計算和存儲能力一般較弱,而且這些計算和存儲能力主要是為物聯(lián)網(wǎng)設(shè)備自身功能服務(wù),無法存儲大量數(shù)據(jù)和進(jìn)行大計算量任務(wù),甚至有些傳感器節(jié)點(diǎn)沒有存儲和計算能力;物聯(lián)網(wǎng)海量終端節(jié)點(diǎn)的問題.物聯(lián)網(wǎng)中具有大量終端節(jié)點(diǎn),隨之而來的還有終端節(jié)點(diǎn)種類和其產(chǎn)生的數(shù)據(jù)較多的問題;物聯(lián)網(wǎng)動態(tài)性的問題.部分物聯(lián)網(wǎng)終端節(jié)點(diǎn)具有移動性,因此需要考慮節(jié)點(diǎn)移動性和節(jié)點(diǎn)動態(tài)接入的問題.

        下文將從這 3個方面來分析物聯(lián)網(wǎng)訪問控制在沒有使用區(qū)塊鏈時是如何解決這些問題,以及使用區(qū)塊鏈后如何解決這3個問題.

        本文接下來的部分按如下組織:第1節(jié)從區(qū)塊鏈的概念以及發(fā)展演進(jìn)、區(qū)塊鏈的鏈?zhǔn)浇Y(jié)構(gòu)、區(qū)塊結(jié)構(gòu)和共識機(jī)制這 4個方面介紹區(qū)塊鏈技術(shù).第 2節(jié)從物聯(lián)網(wǎng)終端節(jié)點(diǎn)設(shè)備輕量級的角度,總結(jié)物聯(lián)網(wǎng)訪問控制在沒有使用區(qū)塊鏈時是如何解決這些問題,使用區(qū)塊鏈后如何解決該問題.第 3節(jié)從物聯(lián)網(wǎng)海量終端節(jié)點(diǎn)的角度總結(jié)了物聯(lián)網(wǎng)訪問控制在沒有使用區(qū)塊鏈時是如何解決節(jié)點(diǎn)數(shù)量龐大所帶來的一系列問題,使用區(qū)塊鏈后如何解決這些問題.第 4節(jié)從物聯(lián)網(wǎng)動態(tài)性的角度總結(jié)了物聯(lián)網(wǎng)訪問控制在沒有使用區(qū)塊鏈時各個模型解決動態(tài)性的方法和側(cè)重點(diǎn)以及使用區(qū)塊鏈后如何解決動態(tài)性問題.第 5節(jié)根據(jù)現(xiàn)有的研究提出了兩類基于區(qū)塊鏈的訪問控制模型,然后對全文進(jìn)行總結(jié),并討論了基于區(qū)塊鏈的物聯(lián)網(wǎng)訪問控制在未來的發(fā)展中將面臨的問題.

        1 區(qū)塊鏈概述

        1.1 區(qū)塊鏈概念以及發(fā)展演進(jìn)

        區(qū)塊鏈最初作為比特幣的底層記賬系統(tǒng)而被人熟知,直到2015年,區(qū)塊鏈才作為一個單獨(dú)的概念被研究者關(guān)注.區(qū)塊鏈并不單純指其鏈?zhǔn)降臄?shù)據(jù)結(jié)構(gòu),而是包括P2P網(wǎng)絡(luò)技術(shù)、共識機(jī)制[43]、密碼學(xué)技術(shù)、鏈上腳本[44-46]等一系列技術(shù)結(jié)合后的產(chǎn)物.雖然區(qū)塊鏈目前并沒有形成統(tǒng)一的定義,但是可以通過區(qū)塊鏈的發(fā)展演進(jìn)來理解區(qū)塊鏈.

        如圖1(a)所示,區(qū)塊鏈起源于2008年中本聰發(fā)表的論文[47],當(dāng)時的區(qū)塊鏈?zhǔn)且环N能在互不信任或者弱信任的參與者之間維持一套不可篡改的去中心化的分布式記賬系統(tǒng),主要用于金融領(lǐng)域[48].學(xué)術(shù)界將其命名為區(qū)塊鏈 1.0,主要用于數(shù)字貨幣中.其主要特征是:(1) 建立了以區(qū)塊為單位的鏈狀數(shù)據(jù)結(jié)構(gòu);(2) 全網(wǎng)共享賬本;(3) 非對稱加密;(4) 源代碼開源.基于以上特征,區(qū)塊鏈具有了賬本公開透明、可追蹤、不可篡改的性質(zhì).

        隨著研究者對區(qū)塊鏈的思考與探索,2013年末,以太坊的概念被Buterin提出,2014年成立了以太坊基金會并創(chuàng)建了以太坊項(xiàng)目.以太坊的出現(xiàn),標(biāo)志著進(jìn)入?yún)^(qū)塊鏈2.0時代.區(qū)塊鏈2.0中,區(qū)塊鏈可以被看做一種分布式、去中心化的計算與存儲架構(gòu).技術(shù)架構(gòu)如圖1(b)所示,區(qū)塊鏈2.0的主要特征有:(1) 智能合約;(2) DAPP;(3) 虛擬機(jī).區(qū)塊鏈2.0將區(qū)塊鏈的應(yīng)用范圍擴(kuò)展到金融領(lǐng)域之外,使其不僅僅是一個賬本,而是具有了可觀的計算能力.

        1.2 區(qū)塊鏈的鏈?zhǔn)浇Y(jié)構(gòu)

        區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)是以區(qū)塊為單位的交易通過密碼學(xué)算法連接起來的鏈狀數(shù)據(jù)結(jié)構(gòu).如圖 2所示,區(qū)塊分為區(qū)塊頭和區(qū)塊體,通過區(qū)塊頭中封裝的前一個區(qū)塊的哈希值將區(qū)塊鏈接起來形成一個鏈?zhǔn)浇Y(jié)構(gòu).一個區(qū)塊的改變會導(dǎo)致鏈在其后的所有區(qū)塊的改變,因此區(qū)塊鏈不可篡改,并且可追蹤和保證安全.

        1.3 區(qū)塊內(nèi)部結(jié)構(gòu)

        以圖2的比特幣區(qū)塊為例,區(qū)塊頭中封裝了塊高度、時間戳、塊哈希、前一個塊的哈希、Merkle根等數(shù)據(jù),區(qū)塊體中存儲著本區(qū)塊所有的交易信息.塊高度指明了該區(qū)塊在區(qū)塊鏈中的位置;時間戳為該區(qū)塊產(chǎn)生的時間;塊哈希為區(qū)塊頭的哈希值,比特幣中通過求解一定難度的哈希值來滿足工作量證明算法;Merkle根是一個哈希值,通過該區(qū)塊中的所有交易構(gòu)成的Merkle樹的根.區(qū)塊體中存儲著本區(qū)塊中的所有交易數(shù)據(jù).

        區(qū)塊是由挖礦節(jié)點(diǎn)構(gòu)造的,挖礦節(jié)點(diǎn)首先會在區(qū)塊頭中填充版本、父哈希、Merkle根、時間戳、難度和Nonce這6個字段,其中:版本號、父哈希和難度在構(gòu)造區(qū)塊時已經(jīng)確定;Merkle根需要將本區(qū)塊中所有的交易組成一個Merkle樹,然后在區(qū)塊頭中記錄Merkle根,當(dāng)Merkle根生成后,區(qū)塊體也同時生成;時間戳是挖礦節(jié)點(diǎn)填充區(qū)塊頭字段時的時間,以 Unix紀(jì)元時間編碼;Nonce用來改變塊哈希的值,使其滿足難度目標(biāo),比特幣中挖礦就是不斷改變 Nonce來計算區(qū)塊頭的哈希值,直到找到一個哈希值滿足難度目標(biāo).當(dāng)挖礦節(jié)點(diǎn)找到滿足難度的哈希值后,將該哈希值作為塊哈希填充到區(qū)塊頭中,這樣就生成了一個完整區(qū)塊,然后將該區(qū)塊發(fā)送給所有的鄰居節(jié)點(diǎn).

        隨著區(qū)塊鏈的發(fā)展,對區(qū)塊的功能提出了更多的要求.以太坊為了滿足智能合約的需求,對Merkle樹進(jìn)行了改進(jìn),提出了Merkle Patricia樹作為數(shù)據(jù)組織形式[49,50].而且與比特幣保存一棵Merkle樹不同,以太坊保存了3棵Merkle Patricia樹,分別是狀態(tài)樹、交易樹和收據(jù)樹.其中:狀態(tài)樹用來記錄各個賬戶的狀態(tài),交易樹用來記錄交易內(nèi)容,收據(jù)樹用來記錄每筆交易相應(yīng)的收據(jù).區(qū)塊鏈根據(jù)需求和應(yīng)用領(lǐng)域的不同,實(shí)現(xiàn)方式也不同,其區(qū)塊頭和區(qū)塊體中存儲的數(shù)據(jù)也會有區(qū)別.

        1.4 共識機(jī)制

        區(qū)塊鏈中的共識機(jī)制是為了解決區(qū)塊分布式存儲所產(chǎn)生的一致性問題,也就是拜占庭將軍問題.根據(jù)區(qū)塊鏈類型的不同,共識的環(huán)境和要求也不相同,所以使用的共識機(jī)制也各不相同.區(qū)塊鏈按照訪問和管理權(quán)限可以分為公有鏈、聯(lián)盟鏈和私有鏈等3類.下文將按照區(qū)塊鏈不同類型的特點(diǎn)來介紹各自類型下所使用的共識機(jī)制.

        · 公有鏈中沒有中心化的官方組織及管理機(jī)構(gòu),參與的節(jié)點(diǎn)可自由進(jìn)出網(wǎng)絡(luò),讀寫數(shù)據(jù)的權(quán)限不受系統(tǒng)限制.公有鏈參與節(jié)點(diǎn)數(shù)量巨大,且對節(jié)點(diǎn)的信任度最低.典型的共識機(jī)制有工作量證明(proof of work,簡稱PoW)[51]、權(quán)益證明(proof of stake,簡稱PoS)和授權(quán)股份證明(delegated proof of stake,簡稱DPoS);

        · 聯(lián)盟鏈?zhǔn)怯扇舾蓹C(jī)構(gòu)聯(lián)合發(fā)起組成,僅限于聯(lián)盟成員參與,區(qū)塊鏈上的讀寫權(quán)限、參與記賬權(quán)限按聯(lián)盟規(guī)則來制定.聯(lián)盟鏈和公有鏈相比節(jié)點(diǎn)數(shù)量較少,且節(jié)點(diǎn)間有相當(dāng)程度的信任.典型的共識機(jī)制有BFT(Byzantine fault tolerance)機(jī)制[52]和實(shí)用拜占庭容錯機(jī)制(practical Byzantine fault tolerance,簡稱PBFT)[53,54]等;

        · 私有鏈?zhǔn)怯伤接薪M織自己建立,不同節(jié)點(diǎn)具有不同的權(quán)限.私有鏈假設(shè)參與節(jié)點(diǎn)不進(jìn)行攻擊,進(jìn)一步放

        寬共識機(jī)制的假設(shè)條件.典型的共識機(jī)制有不考慮拜占庭故障的Paxos機(jī)制[55,56]及Raft機(jī)制.

        在實(shí)際應(yīng)用中,共識機(jī)制的選擇是根據(jù)區(qū)塊鏈應(yīng)用的場景決定的,表 3為 3種類型區(qū)塊鏈中典型項(xiàng)目共識機(jī)制對比.以太坊針對礦池模式導(dǎo)致的算力集中問題而將PoW改進(jìn)為Ethash;而螞蟻金服因?yàn)榻鹑陬I(lǐng)域所需的高安全性而選擇了PBFT.

        Table 3 Comparison of consensus mechanisms for blockchain projects表3 區(qū)塊鏈項(xiàng)目的共識機(jī)制對比

        2 物聯(lián)網(wǎng)終端節(jié)點(diǎn)設(shè)備輕量級

        物聯(lián)網(wǎng)中的終端設(shè)備如智能攝像頭、傳感器、可穿戴設(shè)備、智能家居、智能汽車等都有大小不一的計算和存儲能力,但這些計算和存儲能力主要是為物聯(lián)網(wǎng)設(shè)備自身的功能服務(wù)的,無法為訪問控制提供足夠的計算和存儲能力.因此,物聯(lián)網(wǎng)中的訪問控制多是將大數(shù)據(jù)量的計算和存儲放在資源受限的物聯(lián)網(wǎng)設(shè)備之外執(zhí)行.

        2.1 未使用區(qū)塊鏈時的解決方法

        物聯(lián)網(wǎng)環(huán)境下基于RBAC[21-24],ABAC[6-11]和UCON[12-15]的訪問控制模型在實(shí)現(xiàn)時都是由一個集中式的授權(quán)決策實(shí)體依據(jù)訪問控制策略和其他屬性信息進(jìn)行訪問控制決策,其訪問控制中的計算和存儲主要通過集中式的服務(wù)器執(zhí)行.

        · 在以RBAC為基礎(chǔ)的物聯(lián)網(wǎng)訪問控制中,需要計算和保存{用戶,角色}、{角色,權(quán)限}等大量信息,而物聯(lián)網(wǎng)設(shè)備的計算和存儲資源受限,無法承擔(dān)起訪問控制的需求,因此通過可信第三方服務(wù)器來維護(hù)和存儲{用戶,角色}、{角色,權(quán)限}信息;

        · ABAC能夠有效地解決動態(tài)大規(guī)模環(huán)境下的細(xì)粒度訪問控制問題,是因?yàn)锳BAC將主體和客體的屬性作為基本的決策要素,利用用戶所具有的屬性集合決定是否賦予其訪問權(quán)限,實(shí)現(xiàn)這一功能需要實(shí)體屬性發(fā)現(xiàn)機(jī)制、{屬性,權(quán)限}關(guān)聯(lián)關(guān)系發(fā)現(xiàn)機(jī)制、訪問控制策略描述機(jī)制、身份認(rèn)證機(jī)制和權(quán)限實(shí)時更新機(jī)制等多種機(jī)制協(xié)同工作,因此所需的計算和存儲能力是輕量級的物聯(lián)網(wǎng)設(shè)備無法提供的,所以,以 ABAC為基礎(chǔ)的物聯(lián)網(wǎng)訪問控制需要利用第三方服務(wù)器挖掘和保存屬性集和{屬性,權(quán)限}關(guān)聯(lián)關(guān)系,通過{屬性,權(quán)限}來表達(dá)復(fù)雜的訪問控制規(guī)則,從而實(shí)現(xiàn)物聯(lián)網(wǎng)下的ABAC訪問控制;

        · UCON包括主體、客體和權(quán)限這3個基本元素以及授權(quán)規(guī)則、義務(wù)和條件這3個與授權(quán)有關(guān)的元素,同時考慮了連續(xù)和可變屬性,實(shí)現(xiàn)這些功能所需的計算和存儲能力物聯(lián)網(wǎng)終端設(shè)備同樣無法負(fù)擔(dān),所以需要由一個集中式的服務(wù)器為授權(quán)決策實(shí)體提供計算和存儲資源,然后依據(jù)訪問控制策略和其他屬性信息進(jìn)行訪問控制決策.

        上述這些訪問控制模型都有一個集中的實(shí)體用于訪問控制決策,考慮到集中式的實(shí)體是一個單點(diǎn)故障問題,隨后有學(xué)者提出使用分布式方法解決該問題,其中典型代表是物聯(lián)網(wǎng)環(huán)境下分布式的基于權(quán)能的訪問控制(distributed capability-based access control,簡稱DCapBAC)[57,58],利用物聯(lián)網(wǎng)設(shè)備組成的分布式平臺實(shí)現(xiàn)訪問控制.但是物聯(lián)網(wǎng)設(shè)備的計算和存儲能力較弱,很容易被惡意用戶攻擊,因此,單純的物聯(lián)網(wǎng)設(shè)備無法作為一個安全的決策實(shí)體[38].

        綜上所述,物聯(lián)網(wǎng)設(shè)備無法為訪問控制提供足夠的計算和存儲資源,所以需要引入可信第三方來協(xié)助進(jìn)行訪問控制,但是這個第三方機(jī)構(gòu)的安全性卻無法保證.因此,物聯(lián)網(wǎng)訪問控制需要一個完全可信的第三方機(jī)構(gòu)來提供存儲和計算能力.

        2.2 使用區(qū)塊鏈后的解決方法

        由于區(qū)塊鏈自身具有可以在假定參與者都不是可信的情況下在技術(shù)層面迫使所有參與者遵守誠信,而且具有不可篡改性和隱私保護(hù)性,所以區(qū)塊鏈可以成為物聯(lián)網(wǎng)訪問控制中可信第三方的角色,為訪問控制提供一個可信的環(huán)境.區(qū)塊鏈在物聯(lián)網(wǎng)訪問控制中作為可信平臺,為物聯(lián)網(wǎng)訪問控制提供了計算和存儲兩種能力.目前,研究者們對區(qū)塊鏈計算和存儲的使用方法各有不同,有的側(cè)重于使用區(qū)塊鏈的存儲能力,有的側(cè)重于利用區(qū)塊鏈的計算能力,更多的是同時使用計算和存儲能力.

        (1) 區(qū)塊鏈提供可信存儲

        有研究者側(cè)重于使用區(qū)塊鏈的可靠存儲能力,利用區(qū)塊鏈不可篡改和可審計等功能為訪問控制提供一個安全的存儲空間.目前,使用區(qū)塊鏈存儲能力的方法主要可以分為3類.

        · 第1類是利用區(qū)塊鏈存儲訪問控制策略,具體的研究有:Dorri等人將區(qū)塊鏈用于存儲訪問控制策略,同時利用區(qū)塊鏈不可篡改的特性生成一個時間順序的不可變的事務(wù)歷史[36];Alansari將區(qū)塊鏈用于存儲訪問控制策略的同時還存儲了用戶屬性,其計算密集的部分放在鏈外在安全硬件Intel SGX中執(zhí)行,區(qū)塊鏈僅作為可信平臺防止數(shù)據(jù)被篡改[26,27];Di Francesco等人也是將區(qū)塊鏈用于保存訪問控制策略,同時考慮到區(qū)塊鏈上的每一個塊生成后都不能刪除,會對網(wǎng)絡(luò)照成永久的負(fù)擔(dān),因此還提出了一種自定義的高效格式編碼用來壓縮區(qū)塊大小,提高了區(qū)塊鏈存儲的利用率[28];

        · 第2類是存儲物聯(lián)網(wǎng)中產(chǎn)生的數(shù)據(jù),Hashemi將訪問控制中的數(shù)據(jù)存儲和數(shù)據(jù)管理分離,區(qū)塊鏈用在數(shù)據(jù)存儲系統(tǒng)中,當(dāng)作一個可信的事務(wù)數(shù)據(jù)庫來存儲數(shù)據(jù)[29];Ramachandran是將區(qū)塊鏈用在了數(shù)據(jù)源管理中,將其作為一種安全媒介來存儲數(shù)據(jù)源信息,然后通過智能合約記錄對數(shù)據(jù)的更改信息,防止惡意用戶直接破壞源數(shù)據(jù)[40];

        · 第3類是直接存儲訪問權(quán)限,Shafagh等人就是將區(qū)塊鏈用于存儲訪問權(quán)限,保證權(quán)限不被篡改[34].

        (2) 區(qū)塊鏈提供可信計算

        另外,有些研究者認(rèn)為使用區(qū)塊鏈來存儲數(shù)據(jù)在效率和性能上都不好,所以將數(shù)據(jù)存儲在鏈下,區(qū)塊鏈上僅存儲指向數(shù)據(jù)的哈希,區(qū)塊鏈為訪問控制提供一個可執(zhí)行智能合約的可信平臺.現(xiàn)有的研究有:Rifi等人利用的是區(qū)塊鏈計算能力,通過 3種不同類型的智能合約維護(hù)不同節(jié)點(diǎn)間的規(guī)則、認(rèn)證和通信,將交易的數(shù)據(jù)存儲在另外的數(shù)據(jù)庫中,區(qū)塊鏈中僅保存指向該數(shù)據(jù)的哈希[39].

        (3) 區(qū)塊鏈提供可信的計算和存儲

        更多的研究者則是充分利用了區(qū)塊鏈的計算和存儲兩種能力,將重要數(shù)據(jù)保存在區(qū)塊鏈的同時,也利用區(qū)塊鏈的計算能力進(jìn)行訪問控制決策.按照區(qū)塊鏈所提供的計算能力的大小,可以分為基于比特幣區(qū)塊鏈的研究和基于以太坊區(qū)塊鏈的研究這兩類.

        · 對于第1類基于比特幣區(qū)塊鏈的物聯(lián)網(wǎng)訪問控制研究,因?yàn)楸忍貛艆^(qū)塊鏈設(shè)計的目的是作為一種金融領(lǐng)域的交易平臺,將其應(yīng)用到物聯(lián)網(wǎng)訪問控制中時僅僅是利用了鎖定腳本和解鎖腳本提供的計算能力,所以比特幣區(qū)塊鏈能夠提供的計算能力并不強(qiáng).基于比特幣區(qū)塊鏈的研究有:Ouaddah利用令牌表示訪問權(quán)限,令牌傳遞時,將訪問控制策略以鎖定腳本的方式嵌入到交易中,用戶通過解鎖腳本證明其擁有令牌[30,31];隨后,Outchakoucht等人在文獻(xiàn)[30]的基礎(chǔ)上結(jié)合了機(jī)器學(xué)習(xí)算法,但是其區(qū)塊鏈的使用方法沒有改變[33];Jemel將區(qū)塊鏈用于訪問控制中的用戶合法性檢查[32];Ying提出一種基于區(qū)塊鏈的訪問控制架構(gòu),將訪問控制策略存儲在區(qū)塊鏈上,通過區(qū)塊鏈交易對這些策略進(jìn)行管理[35];Zyskind等人將訪問控制策略存儲在區(qū)塊鏈中,將個人敏感數(shù)據(jù)存儲在鏈下,通過區(qū)塊鏈上的訪問控制策略管理鏈下的數(shù)據(jù)[37];

        · 第 2類是基于以太坊區(qū)塊鏈的物聯(lián)網(wǎng)訪問控制研究,其特點(diǎn)是支持智能合約,可以在智能合約中實(shí)現(xiàn)任意復(fù)雜的算法,計算能力相當(dāng)可觀,相關(guān)的研究有:Cruz、Paul等人使用區(qū)塊鏈解決跨組織的 RBAC中驗(yàn)證用戶角色真實(shí)性的問題,把區(qū)塊鏈作為一個可信平臺,通過智能合約創(chuàng)建、修改用戶及其屬性[25];Zhang等人將訪問控制的主要功能都通過智能合約實(shí)現(xiàn),包括多個訪問控制合約、一個法官合約和一個注冊合約,充分利用了區(qū)塊鏈的存儲和計算能力[38].

        綜上所述,由于區(qū)塊鏈自身的安全、可審計、不可篡改、匿名等特性,使其可以完美地勝任物聯(lián)網(wǎng)訪問控制中可信第三方的角色.在計算能力方面,基于比特幣區(qū)塊鏈的架構(gòu)所能提供的計算能力并不多,而且在算法復(fù)雜性和可擴(kuò)展性上都有很多限制,但文獻(xiàn)[30,31]在其方案中融入了智能合約思想;基于以太坊的區(qū)塊鏈具有圖靈完備的太坊虛擬機(jī),可以執(zhí)行任意復(fù)雜算法的智能合約,因此,利用智能合約來實(shí)現(xiàn)物聯(lián)網(wǎng)訪問控制將是未來的研究方向.在存儲能力方面,由于區(qū)塊鏈只能添加區(qū)塊,不能刪除歷史區(qū)塊,而且作為一種分布式系統(tǒng)區(qū)塊鏈會在每個完整節(jié)點(diǎn)上保存同樣的內(nèi)容,所以區(qū)塊鏈的存儲能力并不廉價.

        隨著區(qū)塊鏈的發(fā)展,區(qū)塊鏈已經(jīng)從一個賬本式的數(shù)據(jù)庫發(fā)展成為一個安全可信的平臺,與其代價高昂的存儲能力相比,區(qū)塊鏈提供的可信計算能力更值得大家利用.因此在使用區(qū)塊鏈存儲時,應(yīng)該存儲訪問控制數(shù)據(jù),而不是像文獻(xiàn)[29]中那樣存儲物聯(lián)網(wǎng)設(shè)備產(chǎn)生的數(shù)據(jù).

        3 物聯(lián)網(wǎng)海量終端節(jié)點(diǎn)

        隨著物聯(lián)網(wǎng)的發(fā)展,物聯(lián)網(wǎng)終端節(jié)點(diǎn)的數(shù)量會變得非常龐大,同時,終端節(jié)點(diǎn)設(shè)備的種類及其產(chǎn)生數(shù)據(jù)類型的種類也非常多.大量的終端節(jié)點(diǎn)導(dǎo)致訪問控制無法使用靜態(tài)的方法直接將用戶和權(quán)限綁定,同時,眾多終端節(jié)點(diǎn)的類型代表著用戶和節(jié)點(diǎn)屬性的多元化,這都對物聯(lián)網(wǎng)訪問控制提出了新的挑戰(zhàn).

        3.1 未使用區(qū)塊鏈時的解決方法

        物聯(lián)網(wǎng)自身具有節(jié)點(diǎn)數(shù)量多、種類多、數(shù)據(jù)類型多的特點(diǎn),因此,物聯(lián)網(wǎng)中的訪問控制需要適應(yīng)這些情況.物聯(lián)網(wǎng)中不同的訪問控制模型,解決這些問題的方法也各有不同.

        · RBAC以角色和權(quán)限為核心,把一組權(quán)限與角色關(guān)聯(lián)在一起,用戶則根據(jù)所在系統(tǒng)中所指定的角色取得權(quán)限.雖然RBAC需要存儲大量{用戶,角色}、{角色,權(quán)限}的信息,無法滿足物聯(lián)網(wǎng)中海量的節(jié)點(diǎn)和數(shù)據(jù)的訪問控制,但是通過用戶和權(quán)限相分離、用戶歸屬于某一角色等方法,RBAC降低了訪問控制表的存儲數(shù),使其擴(kuò)展模型可以適用于少數(shù)物聯(lián)網(wǎng)場景.相關(guān)研究有:Yavari等人將實(shí)驗(yàn)場景設(shè)為醫(yī)療保健場景,通過基于RBAC的方式管理可穿戴式和固定式傳感器獲取的人體安全數(shù)據(jù)[21];Liu等人針對制造業(yè)物聯(lián)網(wǎng)場景,提出了一種可以跨域訪問的基于 RBAC的訪問控制方法[22];Zhang等人提出了集成上下文相關(guān)信息的擴(kuò)展RBAC物聯(lián)網(wǎng)訪問控制模型,將對象的操作轉(zhuǎn)換為服務(wù),以Web服務(wù)方式為基礎(chǔ)管理物聯(lián)網(wǎng)中的設(shè)備,根據(jù)一組收集的系統(tǒng)和用戶環(huán)境上下文信息授予用戶相應(yīng)的權(quán)限[23];

        · ABAC將主體和客體的屬性作為基本的決策要素,由于屬性是主體和客體內(nèi)在固有的,不需要手工分配,通過屬性-權(quán)限關(guān)聯(lián)關(guān)系發(fā)現(xiàn)機(jī)制構(gòu)建{屬性,權(quán)限}關(guān)聯(lián)關(guān)系,然后根據(jù)每個訪問請求者的屬性以及所請求資源權(quán)限所需的屬性完成訪問授權(quán),使得ABAC管理上相對簡單.因此,ABAC更加適用于節(jié)點(diǎn)數(shù)量多、種類多、數(shù)據(jù)類型多的物聯(lián)網(wǎng).針對物聯(lián)網(wǎng)環(huán)境的ABAC改進(jìn)模型也層出不窮,例如:針對物聯(lián)網(wǎng)設(shè)備資源受限的特征,提出了物聯(lián)網(wǎng)環(huán)境下 ABAC的改進(jìn)模型[7,8];Wu等人針對物聯(lián)網(wǎng)中的跨域訪問控制,提出了基于ABAC的細(xì)粒度跨域訪問控制機(jī)制[9];Ouechtati等人將ABAC和信任概念結(jié)合,提出了針對物聯(lián)網(wǎng)環(huán)境的Trust-ABAC訪問控制模型[10];Sun等人將ABAC和RBAC相結(jié)合,提出了針對物聯(lián)網(wǎng)具有大規(guī)模動態(tài)環(huán)境的訪問控制模型[11];

        · CapBAC將權(quán)限具現(xiàn)化為一種令牌,因此,CapBAC中主體可以把訪問權(quán)限授予另一個主體,該主體還可以進(jìn)一步把全部或部分權(quán)限授予其他代理,每個階段的授權(quán)深度可控,因此可以通過分布式的方法來解決物聯(lián)網(wǎng)中節(jié)點(diǎn)多的問題.結(jié)合橢圓曲線密碼學(xué)、身份認(rèn)證和上下文等相關(guān)技術(shù),多個文獻(xiàn)研究了基于CapBAC的物聯(lián)網(wǎng)環(huán)境下的訪問控制模型.Sheng等人以權(quán)能為基礎(chǔ),結(jié)合上下文和橢圓密碼體系構(gòu)建了基于權(quán)能的物聯(lián)網(wǎng)訪問控制架構(gòu)[16];Gusmeroli等人提出了以權(quán)能為基礎(chǔ)的細(xì)粒度的訪問控制模型[17];Mahalle等人針對物聯(lián)網(wǎng)環(huán)境下動態(tài)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、受限的上下文環(huán)境和資源低功耗設(shè)備的弱物理安全特性,提出了一種身份認(rèn)證和基于權(quán)能的物聯(lián)網(wǎng)訪問控制模型 IACAC(identity authentication and capability based access control)[18];Hernández-Ramos等人針對物聯(lián)網(wǎng)內(nèi)部威脅,提出了結(jié)合標(biāo)準(zhǔn)橢圓曲線加密機(jī)制的物聯(lián)網(wǎng)訪問控制方案[19].

        綜上所述,基于RBAC的物聯(lián)網(wǎng)訪問控制雖然通過將用戶權(quán)限分離、用戶歸屬某個角色的方式降低了訪問控制表的數(shù)據(jù)量,但是仍無法滿足物聯(lián)網(wǎng)的需求,僅適用于少量特定物聯(lián)網(wǎng)場景.基于ABAC的物聯(lián)網(wǎng)訪問控制可以自動獲取主、客體屬性,自動建設(shè)屬性-權(quán)限的關(guān)聯(lián)關(guān)系,適用于節(jié)點(diǎn)數(shù)量多、種類多、數(shù)據(jù)類型多的物聯(lián)網(wǎng);基于 CapBAC的物聯(lián)網(wǎng)訪問控制通過分布式的設(shè)計,解決了物聯(lián)網(wǎng)節(jié)點(diǎn)數(shù)量多、種類多、數(shù)據(jù)類型多的特點(diǎn).物聯(lián)網(wǎng)環(huán)境下還有一些其他的訪問控制模型,但是這些模型中有的是針對特定的場景[14,15],有的是針對特定的問題[12,13],但是并沒有針對物聯(lián)網(wǎng)節(jié)點(diǎn)數(shù)量多而做出專門的設(shè)計,這里就不再討論了.

        3.2 使用區(qū)塊鏈后的解決方法

        將區(qū)塊鏈應(yīng)用于物聯(lián)網(wǎng)訪問控制中,同樣需要解決物聯(lián)網(wǎng)由于海量終端節(jié)點(diǎn)所帶來的一系列問題.本文從以下 3個方面考慮區(qū)塊鏈的解決方法:首先考慮如何管理物聯(lián)網(wǎng)中數(shù)量龐大的終端節(jié)點(diǎn);其次需要考慮龐大節(jié)點(diǎn)數(shù)量給區(qū)塊鏈帶來的存儲壓力,因?yàn)樵L問控制策略以及相關(guān)事務(wù)會隨著節(jié)點(diǎn)的增多而增多;第三需要考慮龐大數(shù)量的終端節(jié)點(diǎn)對訪問控制性能的影響,因?yàn)槟壳氨忍貛藕鸵蕴淮_認(rèn)一條交易的時間較長,無法直接用在物聯(lián)網(wǎng)訪問控制中.

        (1) 分層管理

        物聯(lián)網(wǎng)具有數(shù)量龐大的終端節(jié)點(diǎn),這些終端節(jié)點(diǎn)多是計算和存儲能力較弱的輕量級設(shè)備,甚至有的傳感器節(jié)點(diǎn)僅具有將收集到的環(huán)境數(shù)據(jù)輸出的功能而沒有技術(shù)和存儲能力.因此,第一個解決思路是分層,在物聯(lián)網(wǎng)的設(shè)備端將多個有關(guān)聯(lián)的設(shè)備組成簇,由功能較強(qiáng)的簇頭節(jié)點(diǎn)管理簇中所有終端節(jié)點(diǎn).

        這樣的好處是一方面減少了訪問控制直接管理物聯(lián)網(wǎng)節(jié)點(diǎn)的數(shù)量,降低訪問控制的負(fù)擔(dān);另一方面,在設(shè)備端由功能較強(qiáng)的設(shè)備幫助管理功能弱的設(shè)備,使弱設(shè)備不用直接暴露在網(wǎng)絡(luò)中,提高了物聯(lián)網(wǎng)設(shè)備的安全性.

        這方面的研究有:Rifi等人提出一個智能家居場景,智能建筑中的普通傳感器能力較弱,無法直接連接到區(qū)塊鏈,因此由功能強(qiáng)大的家庭網(wǎng)關(guān)安裝區(qū)塊鏈客戶端與區(qū)塊鏈相連,利用家庭網(wǎng)關(guān)管理智能建筑中的所有物聯(lián)網(wǎng)設(shè)備[39];Dorri等人同樣是在智能家居場景中假設(shè)每個家庭都有一個總是在線的、高資源的設(shè)備負(fù)責(zé)處理家里和外部的所有通信,同時,這個設(shè)備也是區(qū)塊鏈網(wǎng)絡(luò)中的一個節(jié)點(diǎn),存儲著本地區(qū)塊鏈(local private BC)并具有共識功能[36];Ouaddah等人的區(qū)塊鏈訪問控制架構(gòu)中,同樣提出用戶將區(qū)塊鏈錢包(wallet)作為一個授權(quán)管理器(authorization manager point),使用這個錢包管理著多個資源[31];Zhang等人同樣將物聯(lián)網(wǎng)設(shè)備連接到網(wǎng)關(guān),有網(wǎng)關(guān)負(fù)責(zé)連接到P2P網(wǎng)絡(luò)[38].

        (2) 壓縮存儲

        物聯(lián)網(wǎng)數(shù)量龐大的終端節(jié)點(diǎn)導(dǎo)致區(qū)塊鏈需要存儲的數(shù)據(jù)也隨之增加,但是區(qū)塊鏈存儲的代價較大,所以需要減少區(qū)塊鏈的存儲壓力.

        · 第1種解決方法是從區(qū)塊鏈本身考慮,即:在不增加區(qū)塊鏈塊大小的情況下,使每個塊存儲更多的信息.Maesa等人認(rèn)為,區(qū)塊鏈上的每一個塊都不能刪除,因此會對網(wǎng)絡(luò)照成永久的負(fù)擔(dān).所以提出一種自定義的高效格式編碼用來壓縮上傳到區(qū)塊鏈中的訪問控制策略的大小,具體方法是:定義一個協(xié)定的符號映射表,表示策略中可用操作數(shù)和數(shù)字代碼之間的映射關(guān)系,將屬性名稱和操作映射到一個簡短的數(shù)字值內(nèi),映射表會在將來的協(xié)議版本中不斷更新[28];

        · 第 2種解決方法是將訪問控制策略存儲在鏈外,區(qū)塊鏈中僅存儲指向鏈外的哈希值.文獻(xiàn)[28]認(rèn)為:最

        簡單的解決方案是在將訪問控制策略存儲在鏈外,區(qū)塊鏈中僅存儲指向鏈外的哈希值.這個解決方案的好處是可以盡量減少存儲在區(qū)塊鏈上的數(shù)據(jù)量,因?yàn)椴呗哉加玫目臻g是獨(dú)立于策略大小的;主要缺點(diǎn)是策略本身存儲在區(qū)塊鏈之外不利于發(fā)揮區(qū)塊鏈技術(shù)安全性、可用性等優(yōu)勢.Rifi等人認(rèn)為:將訪問控制事務(wù)數(shù)據(jù)存儲在區(qū)塊鏈中代價太大,因?yàn)樗袇^(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點(diǎn)都需要存儲一個備份.所以,他們的方法是將包含大量數(shù)據(jù)的消息事務(wù)存儲在鏈外數(shù)據(jù)庫中,而不是將訪問控制策略存儲在鏈外,區(qū)塊鏈中僅保存指向該數(shù)據(jù)的哈希[39].

        (3) 性能優(yōu)化

        物聯(lián)網(wǎng)中龐大數(shù)量的終端節(jié)點(diǎn)會對訪問控制性能產(chǎn)生影響,目前的比特幣和以太坊確認(rèn)一條交易的時間較長,無法直接用在物聯(lián)網(wǎng)訪問控制中.對訪問控制性能的優(yōu)化主要從兩個方面考慮:增加新區(qū)塊產(chǎn)生的速度和增加單個區(qū)塊中存儲的數(shù)據(jù)量.

        目前,增加新區(qū)塊產(chǎn)生速度的一種方法是提高共識的速度,通過提出新的共識算法來提高共識速度.ByzCoin采用多個領(lǐng)導(dǎo)者共同快速決定是否應(yīng)該將區(qū)塊添加到區(qū)塊鏈中,領(lǐng)導(dǎo)者小組由近期時間窗口的礦工動態(tài)組成,每個礦工的投票能力與其在當(dāng)前時間窗口的挖礦區(qū)塊數(shù)量成正比[59],如圖 3(a)所示,一組領(lǐng)導(dǎo)者可以在一個共識周期產(chǎn)生多個區(qū)塊.Luu等人將礦工節(jié)點(diǎn)分成稱為“委員會”的組,每個委員會處理一組不相交的交易,在委員會內(nèi),節(jié)點(diǎn)運(yùn)行拜占庭一致性協(xié)議以協(xié)定交易區(qū)塊,委員會將該交易區(qū)塊發(fā)送給最終委員會,最終委員會將收到的所有區(qū)塊整理到一個最終區(qū)塊中[60],如圖 3(b)所示.增加新區(qū)塊產(chǎn)生速度的另一種方法是并行地產(chǎn)生多個區(qū)塊,最初在Nxt社區(qū)中提出將有向無環(huán)圖(directed acyclic graph,簡稱DAG)與區(qū)塊鏈結(jié)合,將區(qū)塊鏈由鏈?zhǔn)浇Y(jié)構(gòu)改為有向無環(huán)圖結(jié)構(gòu),可以并行產(chǎn)生多個區(qū)塊.Boyen等人提出以一種名為Graphchain的框架,通過放棄將“區(qū)塊”“鏈”起來的概念來并行化的產(chǎn)生區(qū)塊[61],如圖 3(c)所示,Graphchain將數(shù)據(jù)組織形式從鏈擴(kuò)展到了圖,挖礦節(jié)點(diǎn)可以并行產(chǎn)生區(qū)塊,其中每個區(qū)塊最少需要有兩個父區(qū)塊,從而使Graphchain是“瘦”的.Coelho將DAG與區(qū)塊鏈相結(jié)合,用基于DAG的賬本來實(shí)現(xiàn)疾病監(jiān)測[62].

        增加區(qū)塊中存儲的數(shù)據(jù)量的研究有:Eyal等人提出一種名為 Bitcoin-NG的區(qū)塊鏈架構(gòu),將時間劃分為epoch,并且提出了微區(qū)塊的概念,微區(qū)塊并不包含工作量證明.如圖3(d)所示,領(lǐng)導(dǎo)者節(jié)點(diǎn)可以在其epoch期間單方面向區(qū)塊鏈追加多筆微區(qū)塊,直到新領(lǐng)導(dǎo)者節(jié)點(diǎn)被選出[63].文獻(xiàn)[59]的 ByzCoin是在 Bitcoin-NG基礎(chǔ)上設(shè)計的,所以ByzCoin繼承了Bitcoin-NG對區(qū)塊鏈的改進(jìn).

        綜上所述,面對物聯(lián)網(wǎng)海量終端節(jié)點(diǎn)所帶來的問題,目前通過分層管理、壓縮存儲和性能優(yōu)化這 3個方面進(jìn)行解決:分層管理的思想在未使用區(qū)塊鏈時就已經(jīng)被廣泛使用;壓縮存儲是使用區(qū)塊鏈所特有的問題,因?yàn)閰^(qū)塊鏈只增不減的特性;性能問題是目前將區(qū)塊鏈用于訪問控制中最主要的挑戰(zhàn)之一,多數(shù)物聯(lián)網(wǎng)場景都對相應(yīng)時間有要求,而目前區(qū)塊鏈的性能并不高.

        4 物聯(lián)網(wǎng)動態(tài)性

        物聯(lián)網(wǎng)環(huán)境下節(jié)點(diǎn)的動態(tài)性不僅包含節(jié)點(diǎn)的動態(tài)接入問題,而且還包含節(jié)點(diǎn)的移動性以及訪問數(shù)據(jù)對象會實(shí)時變化等問題.這種動態(tài)性使得我們無法提前預(yù)知所有用戶信息,也無法準(zhǔn)確了解用戶和權(quán)限結(jié)構(gòu),更無法提前預(yù)設(shè)用戶與權(quán)限的對應(yīng)關(guān)系.

        4.1 未使用區(qū)塊鏈時的解決方法

        RBAC是一種靜態(tài)訪問控制模型,最初并不支持節(jié)點(diǎn)的動態(tài)接入.隨后,有研究者對RBAC進(jìn)行改進(jìn),使其可以實(shí)現(xiàn)節(jié)點(diǎn)的動態(tài)接入.Zhang等人在 RBAC的基礎(chǔ)上添加了上下文感知和上下文約束,實(shí)現(xiàn)了角色和權(quán)限的實(shí)時動態(tài)管理[64].

        ABAC作為動態(tài)的訪問控制模型天然支持節(jié)點(diǎn)的動態(tài)接入,ABAC以主體和客體的屬性作為基本的訪問控制決策要素,通過實(shí)體屬性發(fā)現(xiàn)機(jī)制,可以挖掘出獨(dú)立、完備的主體屬性、客體屬性、權(quán)限屬性和環(huán)境屬性集合,因此不需要管理者手工輸入主、客體屬性.然后,通過自動化的屬性-權(quán)限關(guān)聯(lián)關(guān)系發(fā)現(xiàn)機(jī)制,可以快速挖掘出{屬性,權(quán)限},通過主體屬性、客體屬性、權(quán)限屬性和環(huán)境屬性集合以及{屬性,權(quán)限}關(guān)聯(lián)關(guān)系實(shí)現(xiàn)動態(tài)性的訪問控制.因此,ABAC可以解決物聯(lián)網(wǎng)中節(jié)點(diǎn)的動態(tài)接入問題[6,8].

        UCON對于動態(tài)性問題的考慮更加深入,通過在訪問控制中加入連續(xù)性和可變性兩個重要因素,不僅可以對訪問請求者訪問資源的整體過程進(jìn)行實(shí)時監(jiān)控,隨時動態(tài)性地調(diào)整其資源使用權(quán)限,而且考慮了屬性的動態(tài)性,訪問控制中,實(shí)體的可變屬性是隨著環(huán)境和上下文變化的.物聯(lián)網(wǎng)環(huán)境下的 UCON研究有 Zhang等人將UCON用于物聯(lián)網(wǎng)場景[14]和車聯(lián)網(wǎng)場景[15].

        物聯(lián)網(wǎng)環(huán)境下 CapBAC對于動態(tài)性的支持主要體現(xiàn)在其分布式的設(shè)計上,基于分布式的設(shè)計,使其更適用于物聯(lián)網(wǎng)中動態(tài)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu).有學(xué)者對基于 CapBAC進(jìn)行改進(jìn),結(jié)合橢圓曲線密碼學(xué)、身份認(rèn)證和上下文等相關(guān)技術(shù),提出了一種身份認(rèn)證和基于權(quán)能的物聯(lián)網(wǎng)訪問控制模型,適用于動態(tài)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、受限的上下文環(huán)境和資源低功耗設(shè)備的弱物理安全的物聯(lián)網(wǎng)環(huán)境[18].

        上述 4種訪問控制模型在解決物聯(lián)網(wǎng)動態(tài)性問題時都有各自的側(cè)重點(diǎn):RBAC設(shè)計之初并不支持動態(tài)性,研究者將其應(yīng)用到物聯(lián)網(wǎng)環(huán)境時,通過對其拓展改進(jìn),使其可以實(shí)現(xiàn)節(jié)點(diǎn)的動態(tài)接入;ABAC自身的設(shè)計就使其支持物聯(lián)網(wǎng)的動態(tài)性;UCON對于動態(tài)性的考慮更進(jìn)了一步,不僅考慮了訪問控制過程中權(quán)限控制的動態(tài)性,還考慮到了實(shí)體屬性也具有動態(tài)性;物聯(lián)網(wǎng)環(huán)境下,CapBAC作為一種分布式的訪問控制模型,更側(cè)重于解決物聯(lián)網(wǎng)動態(tài)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)問題.

        4.2 使用區(qū)塊鏈后的解決方法

        對于物聯(lián)網(wǎng)環(huán)境下節(jié)點(diǎn)的動態(tài)性問題,區(qū)塊鏈可以完美地解決.一方面是由于區(qū)塊鏈中用戶的身份是由其密鑰來證明的,因此節(jié)點(diǎn)可以在任意時間、任意地點(diǎn)連接到區(qū)塊鏈網(wǎng)絡(luò),只要節(jié)點(diǎn)的簽名正確就可以進(jìn)行操作;另一方面,區(qū)塊鏈本身采用的是P2P的網(wǎng)絡(luò)架構(gòu),當(dāng)有用戶節(jié)點(diǎn)需要接入網(wǎng)絡(luò)時,只要連接到網(wǎng)絡(luò)中其他區(qū)塊鏈節(jié)點(diǎn)就可以了,而且由于區(qū)塊鏈的 P2P網(wǎng)絡(luò)結(jié)構(gòu)并不是基于節(jié)點(diǎn)間的地理位置,因此節(jié)點(diǎn)只需選擇網(wǎng)絡(luò)中存在的區(qū)塊鏈節(jié)點(diǎn)并與其相連即可[65].因此,對于節(jié)點(diǎn)移動、頻繁接入、退出等情況,區(qū)塊鏈自身的特性就可以解決.

        5 總結(jié)與展望

        5.1 區(qū)塊鏈訪問控制模型小結(jié)

        通過對上述使用區(qū)塊鏈的訪問控制模型的分析,總結(jié)出兩類將區(qū)塊鏈用于訪問控制中的模型,模型中并沒有詳細(xì)的設(shè)計細(xì)節(jié),僅僅表示出了他們的共同思想.

        (1) 去中心的區(qū)塊鏈訪問控制模型

        第 1類是對文獻(xiàn)[25,32,35-39]的總結(jié),提取出他們提出模型的共同之處形成的模型,將其命名為去中心的區(qū)塊鏈訪問控制模型,其思想為:資源擁有者先將資源的訪問控制策略發(fā)布在區(qū)塊鏈中,然后,當(dāng)資源請求者想要訪問該資源時,直接向區(qū)塊鏈中的訪問控制策略請求權(quán)限,由區(qū)塊鏈中運(yùn)行的訪問控制策略決定是否授予訪問權(quán)限.區(qū)塊鏈在訪問控制中的作用不僅是存儲訪問控制策略和權(quán)限交易信息,而且提供自動執(zhí)行訪問控制策略進(jìn)行權(quán)限授予等功能.具體流程如圖4所示:(1) 資源擁有者o為資源r生成訪問控制策略,并將其發(fā)布在區(qū)塊鏈中;(2) 區(qū)塊鏈?zhǔn)盏皆L問控制策略后進(jìn)行驗(yàn)證,驗(yàn)證通過后將其存儲在區(qū)塊鏈中;(3) 資源請求者q想要訪問資源r,向區(qū)塊鏈發(fā)送請求訪問交易;(4) 區(qū)塊鏈?zhǔn)盏秸埱笤L問交易后,根據(jù)訪問控制策略決定是否授予q訪問權(quán)限;(5) 若區(qū)塊鏈中的訪問控制策略同意授予q訪問權(quán)限,則返回訪問權(quán)限.

        去中心的區(qū)塊鏈訪問控制模型的優(yōu)點(diǎn)是:充分利用了區(qū)塊鏈的計算和存儲能力,將訪問控制策略存儲在區(qū)塊鏈上,遏制了越權(quán)行為且便于審計;同時,去中心的架構(gòu)避免了中心節(jié)點(diǎn)被破壞導(dǎo)致系統(tǒng)崩潰的情況.缺點(diǎn)是將策略和權(quán)限授予記錄公開放在區(qū)塊鏈上,容易被攻擊者找到漏洞.

        (2) 有中心的區(qū)塊鏈訪問控制模型

        第 2類是對文獻(xiàn)[28,30,31,33,40]的總結(jié),將其命名為有中心的區(qū)塊鏈訪問控制模型.模型思想為:仍然存在中心化的授權(quán)服務(wù)器,資源請求者先向授權(quán)服務(wù)器(文獻(xiàn)[30]中資源擁有者作為授權(quán)服務(wù)器)發(fā)送訪問請求,若策略同意,則向區(qū)塊鏈發(fā)布授予訪問權(quán)限的交易.區(qū)塊鏈記錄了該訪問權(quán)限并通知資源請求者,資源請求者訪問資源時,需先告訴區(qū)塊鏈?zhǔn)褂迷撛L問權(quán)限.區(qū)塊鏈在訪問控制中的作用是記錄權(quán)限擁有者以及提供權(quán)限轉(zhuǎn)移功能.具體流程如圖5所示:(1) 資源擁有者o向授權(quán)服務(wù)器發(fā)送資源r的訪問控制策略;(2) 資源請求者q向資源r的授權(quán)服務(wù)器發(fā)送請求訪問的消息;(3) 若授權(quán)服務(wù)器中的策略同意,則向區(qū)塊鏈發(fā)送授予q訪問資源r訪問權(quán)限的交易;(4) 區(qū)塊鏈對收到的授權(quán)或交易進(jìn)行驗(yàn)證,驗(yàn)證通過后,存儲在區(qū)塊鏈中;(5) 區(qū)塊鏈驗(yàn)證通過后,通知q取得訪問權(quán)限;(6)q向區(qū)塊鏈發(fā)送交易使用訪問權(quán)限.

        有中心的區(qū)塊鏈訪問控制模型將區(qū)塊鏈作為一個可信的存儲平臺,其訪問控制策略運(yùn)行在授權(quán)服務(wù)器中,這樣做的優(yōu)點(diǎn)是:權(quán)限的授予和使用都被永久性的記錄在區(qū)塊鏈中無法偽造,便于審計;同時,由于訪問控制策略在授權(quán)服務(wù)器上運(yùn)行,所以避免了區(qū)塊鏈低效對訪問控制的影響.缺點(diǎn)是無法保證授權(quán)服務(wù)器自身的公正性和安全性;依然存在單點(diǎn)故障問題.

        5.2 總 結(jié)

        綜上所述,首先對物聯(lián)網(wǎng)下常用的4種訪問控制模型進(jìn)行了分析,其中基于RBAC,ABAC和UCON的訪問控制模型都需要一個集中式的服務(wù)器來完成授權(quán)決策;基于 CapBAC的物聯(lián)網(wǎng)訪問控制模型實(shí)現(xiàn)了分布式的架構(gòu),但是將訪問控制決策放在較弱的物聯(lián)網(wǎng)設(shè)備上并不安全.去中心化的區(qū)塊鏈從技術(shù)上解決了基于中心化模型帶來的安全問題,同時也能保證自己的安全性,為物聯(lián)網(wǎng)訪問控制帶來新的解決思路.本文從物聯(lián)網(wǎng)終端節(jié)點(diǎn)設(shè)備輕量級、物聯(lián)網(wǎng)海量終端節(jié)點(diǎn)、物聯(lián)網(wǎng)的動態(tài)性這3個角度對現(xiàn)有物聯(lián)網(wǎng)中主流訪問控制模型以及使用區(qū)塊鏈后的訪問控制模型進(jìn)行了總結(jié).

        · 首先,物聯(lián)網(wǎng)設(shè)備無法為訪問控制提供足夠的計算和存儲資源,所以需要引入可信第三方來協(xié)助進(jìn)行訪問控制,但是這個第三方機(jī)構(gòu)的安全性卻無法保證.區(qū)塊鏈作為一種新興的去中心化的分布式技術(shù),從技術(shù)上解決了基于信任的中心化模型帶來的安全問題,適合作為物聯(lián)網(wǎng)訪問控制的第三方機(jī)構(gòu).目前,對于區(qū)塊鏈的使用逐漸從當(dāng)作一個可信數(shù)據(jù)庫保存訪問控制策略轉(zhuǎn)變?yōu)槔脜^(qū)塊鏈智能合約實(shí)現(xiàn)自動化的訪問控制;

        · 其次,對于物聯(lián)網(wǎng)海量終端節(jié)點(diǎn)所帶來的問題,RBAC作為一種靜態(tài)的訪問控制模型,無法滿足物聯(lián)網(wǎng)的需求,僅適用于少量特定物聯(lián)網(wǎng)場景.基于ABAC的物聯(lián)網(wǎng)訪問控制屬于動態(tài)的訪問控制模型,適用于節(jié)點(diǎn)數(shù)量多、種類多、數(shù)據(jù)類型多的物聯(lián)網(wǎng).基于 CapBAC的物聯(lián)網(wǎng)訪問控制通過分布式的設(shè)計,解決了物聯(lián)網(wǎng)節(jié)點(diǎn)數(shù)量多、種類多、數(shù)據(jù)類型多的特點(diǎn).使用區(qū)塊鏈的物聯(lián)網(wǎng)訪問控制模型從以下 3個角度解決節(jié)點(diǎn)的帶來的問題:第一,通過分層的方式簡化管理;第二,通過壓縮數(shù)據(jù)或?qū)?shù)據(jù)保存到鏈外等方法減小區(qū)塊鏈存儲壓力;第三,通過改進(jìn)區(qū)塊鏈結(jié)構(gòu)、改進(jìn)共識算法等方法提高區(qū)塊鏈性能;

        · 最后,對于物聯(lián)網(wǎng)動態(tài)性所帶來的問題,RBAC的原始模型并不支持動態(tài)性,后有學(xué)者將其應(yīng)用到物聯(lián)網(wǎng)環(huán)境中時,對RBAC進(jìn)行了改進(jìn),使其可以實(shí)現(xiàn)節(jié)點(diǎn)的動態(tài)接入;ABAC自身的設(shè)計就使其支持物聯(lián)網(wǎng)的動態(tài)性;UCON對于動態(tài)性的考慮更進(jìn)了一步,不僅考慮了訪問控制過程中權(quán)限控制的動態(tài)性,而且考慮到了實(shí)體屬性也具有動態(tài)性;物聯(lián)網(wǎng)環(huán)境下,CapBAC作為一種分布式的訪問控制模型,更側(cè)重于解決物聯(lián)網(wǎng)動態(tài)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)問題.對于使用區(qū)塊鏈的物聯(lián)網(wǎng)訪問控制,區(qū)塊鏈本身結(jié)構(gòu)的設(shè)計特點(diǎn)就支持動態(tài)性.

        5.3 展 望

        下面對基于區(qū)塊鏈的物聯(lián)網(wǎng)訪問控制在未來的發(fā)展中將面臨的問題和挑戰(zhàn)進(jìn)行討論.

        (1) 模型的設(shè)計

        區(qū)塊鏈可以為訪問控制提供可信的計算和存儲,但是實(shí)現(xiàn)可信的代價是存儲在區(qū)塊鏈上的數(shù)據(jù)會向所有人公開.對于使用智能合約實(shí)現(xiàn)訪問控制策略的方案來說,將訪問控制策略直接暴露給全網(wǎng)可能并不是一個很好的選擇,因此,設(shè)計一種適合的智能合約隱私保護(hù)方案是一個值得研究的問題.目前,保證智能合約代碼隱私性的技術(shù)有微軟提出的Confidential Consortium Blockchain,利用Intel SGX和Windows虛擬安全模式創(chuàng)建可信計算環(huán)境,在其中實(shí)現(xiàn)證明放入代碼的安全性和保證內(nèi)部數(shù)據(jù)對外界不可見以及不被篡改的功能[66].

        另一種思路是在目前的區(qū)塊鏈技術(shù)的基礎(chǔ)上實(shí)現(xiàn)訪問控制,因此,選擇物聯(lián)網(wǎng)訪問控制中的哪些功能放在區(qū)塊鏈中實(shí)現(xiàn),也是一個值得研究的問題.

        (2) 跨組織訪問

        目前研究的物聯(lián)網(wǎng)場景都較為單一,但是在現(xiàn)實(shí)中會出現(xiàn)跨組織或者跨域的訪問控制需求.這些組織或者域并不都相互信任,因此需要可信的第三方作為交流平臺.而區(qū)塊鏈恰好可以充當(dāng)一個公開可信的平臺.因此,通過區(qū)塊鏈來解決跨組織或者跨鏈的訪問控制,也是值得研究的問題.

        (3) 跨鏈訪問控制

        區(qū)塊鏈上的數(shù)據(jù)只增加不減少,使用一條鏈為全世界用戶提供訪問控制的可能性微乎其微,所以必然存在多條鏈并存的情況.在不同區(qū)塊鏈間實(shí)現(xiàn)跨鏈的訪問控制不僅需要解決區(qū)塊鏈自身的差異性,而且需要解決訪問控制策略沖突、智能合約適應(yīng)性等一系列問題.因此,跨鏈的訪問控制是一個挑戰(zhàn)性的工作.

        (4) 時間優(yōu)化

        目前的比特幣和以太坊確認(rèn)一條交易的時間較長,無法直接用在物聯(lián)網(wǎng)訪問控制中,因此需要設(shè)計滿足物聯(lián)網(wǎng)訪問控制性能需求的區(qū)塊鏈.物聯(lián)網(wǎng)中的訪問控制對時間的要求較高,多數(shù)物聯(lián)網(wǎng)場景需要實(shí)時的訪問控制,而區(qū)塊鏈中出塊的速度直接制約著訪問控制的速度,因此,如何提高區(qū)塊鏈的性能,是未來必須要解決的一個問題.

        目前,提升區(qū)塊鏈訪問控制性能的方法主要有3種:第一,通過設(shè)計新的共識算法來提高共識速度,這樣可以提高區(qū)塊鏈產(chǎn)生區(qū)塊的速度[59,60,63];第二,將區(qū)塊鏈的鏈?zhǔn)浇Y(jié)構(gòu)改為網(wǎng)狀結(jié)構(gòu),這樣可以并行產(chǎn)生多個區(qū)塊[61,62];第三,利用多個側(cè)鏈和主鏈合作,主鏈保證安全性,側(cè)鏈實(shí)現(xiàn)具體業(yè)務(wù)功能,通過多個鏈并行工作提高性能[67,68].

        (5) 存儲優(yōu)化

        區(qū)塊鏈的存儲是一個增量的過程,即只能增加而不能減少,所以會給存儲帶來巨大的負(fù)擔(dān).因此,如何降低區(qū)塊鏈存儲的代價,是物聯(lián)網(wǎng)訪問控制需要解決的另一個問題.目前的解決方法有兩種:第一,壓縮區(qū)塊鏈中存儲的數(shù)據(jù),使相同大小的區(qū)塊存儲更多的內(nèi)容[28];第二,將區(qū)塊鏈與區(qū)塊鏈存儲解耦[69],區(qū)塊鏈中存儲的是指向某個內(nèi)容的哈希值[39].

        猜你喜歡
        控制策略模型
        一半模型
        考慮虛擬慣性的VSC-MTDC改進(jìn)下垂控制策略
        能源工程(2020年6期)2021-01-26 00:55:22
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        工程造價控制策略
        山東冶金(2019年3期)2019-07-10 00:54:04
        現(xiàn)代企業(yè)會計的內(nèi)部控制策略探討
        3D打印中的模型分割與打包
        容錯逆變器直接轉(zhuǎn)矩控制策略
        基于Z源逆變器的STATCOM/BESS控制策略研究
        FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
        婷婷色婷婷开心五月四| 亚洲人成色777777老人头| 久久亚洲精品成人av| 日子2020一区二区免费视频| 国产一级做a爱视频在线| 日本综合视频一区二区| 精品久久中文字幕系列| 国产成人无码av| 久久精品人妻一区二区三区| 音影先锋色天堂av电影妓女久久| 精品一区二区三区牛牛| 亚洲国产av无码精品| 亚洲美女又黄又爽在线观看| 一区二区韩国福利网站| 成年男女免费视频网站点播| 综合亚洲伊人午夜网| 丰满多毛的大隂户视频| 中文字幕精品久久天堂一区| 一区二区亚洲熟女偷拍| 日韩精品人妻中文字幕有码| 日本熟妇人妻xxxxx视频| 日本熟妇hd8ex视频| 亚洲一区二区三区熟妇| 99久久婷婷国产综合亚洲| 乌克兰少妇xxxx做受6| 麻豆国产av尤物网站尤物| 精品无码一区二区三区小说| 中文字幕色资源在线视频| 男女做爰高清免费视频网站| 玩弄放荡人妻一区二区三区| 国产区高清在线一区二区三区| 夜夜骚久久激情亚洲精品| 欧美精品v国产精品v日韩精品| 久久久久亚洲AV无码专| 免费视频一区二区三区美女| 好大好湿好硬顶到了好爽视频 | 色一情一区二区三区四区| 毛片毛片免费看| 亚洲啊啊啊一区二区三区| 中文字幕人妻av四季| 强开少妇嫩苞又嫩又紧九色|