李楊,徐龍,李研強(qiáng),李紹鵬
基于智能合約的物聯(lián)網(wǎng)訪問控制架構(gòu)與驗證
李楊1,徐龍1,李研強(qiáng)1,2*,李紹鵬1
(1.齊魯工業(yè)大學(xué)(山東省科學(xué)院)山東省科學(xué)院自動化研究所,濟(jì)南 250014; 2.山東大學(xué) 控制科學(xué)與工程學(xué)院,濟(jì)南 250061)(*通信作者電子郵箱liyq@sdas.org)
針對傳統(tǒng)的訪問控制方法存在單點故障,不能提供可信、安全、動態(tài)化權(quán)限管理的問題,提出了一種面向無線傳感器網(wǎng)(WSN)的基于區(qū)塊鏈和智能合約的新型訪問控制方法,以解決現(xiàn)有的基于區(qū)塊鏈的訪問控制方法存在的訪問動態(tài)化、智能化水平不高等問題。首先,提出一種基于區(qū)塊鏈的新型訪問控制管理架構(gòu),降低網(wǎng)絡(luò)運算開銷;其次,搭建多層次智能合約體系,設(shè)計代理合約(AC)、權(quán)限管理合約(AMC)和訪問控制合約(ACC),以實現(xiàn)對WSN的可信化、動態(tài)化的權(quán)限管理;最后,采用基于徑向基函數(shù)(RBF)神經(jīng)網(wǎng)絡(luò)的動態(tài)權(quán)限生成算法,并結(jié)合訪問政策動態(tài)生成訪問節(jié)點的信用度閾值,實現(xiàn)面向WSN海量傳感器的智能化、動態(tài)化的訪問控制管理。實驗結(jié)果表明,所提模型在WSN安全訪問控制應(yīng)用上具有可行性、安全性和有效性。
區(qū)塊鏈;訪問控制;智能合約;動態(tài)權(quán)限管理;無線傳感器網(wǎng)
物聯(lián)網(wǎng)(Internet of Things, IoT)技術(shù)的迅猛發(fā)展為社會各個層面帶來了巨大的數(shù)字化變革,正在深刻改變著傳統(tǒng)產(chǎn)業(yè)形態(tài)和人類生產(chǎn)生活的方式,到2020年,全球IoT連接數(shù)量達(dá)到99~281億臺,預(yù)計到2025年連接數(shù)約為215~416億臺[1]。然而近年來IoT安全攻擊事件頻繁發(fā)生,嚴(yán)重威脅了用戶安全隱私和基礎(chǔ)網(wǎng)絡(luò)環(huán)境安全。當(dāng)前,IoT安全關(guān)注度前所未有,而IoT設(shè)備的復(fù)雜多樣性還面臨著來自終端更嚴(yán)峻的安全挑戰(zhàn),訪問控制成為IoT安全策略中的重要關(guān)卡。
近年來,很多學(xué)者圍繞IoT的訪問控制方法進(jìn)行了研究和探索。傳統(tǒng)的訪問控制建模方法主要采用基于角色的訪問控制(Role-Based Access Control, RBAC)[2]、基于屬性的訪問控制(Attribute Based Access Control, ABAC)[3]、基于權(quán)能的訪問控制(Capability-Based Access Control, CapBAC)模型[4]和基于使用控制(Usage CONtrol, UCON)模型[5]的控制方法,以上模型均屬于由集中式?jīng)Q策服務(wù)器授權(quán)下的訪問控制策略,都需要引入可信第三方實體協(xié)助進(jìn)行訪問控制,同時需要為訪問控制提供足夠的計算和存儲資源能力。另外,傳統(tǒng)訪問控制方法還面臨以下兩點挑戰(zhàn):一是第三方實體的可信度與安全性得不到保證,這給用戶數(shù)據(jù)安全與個人隱私信息帶來了不小的隱患;二是隨著海量設(shè)備的接入,增加了中心實體的管理難度和復(fù)雜度,成本高且難以擴(kuò)展。
隨著區(qū)塊鏈、智能合約的出現(xiàn),學(xué)者們開始將傳統(tǒng)的訪問控制模型同區(qū)塊鏈技術(shù)結(jié)合,研究如何解決集中式訪問控制模型帶來的單點故障問題[6]和信任問題[7]。文獻(xiàn)[8]中提出了一種基于身份識別的權(quán)能控制策略BlendCAC,利用智能合約實現(xiàn)注冊、傳播和撤銷訪問授權(quán),可有效提升IoT系統(tǒng)中大規(guī)模設(shè)備的安全保護(hù)和信息傳輸性能。FireAccess模型[9-10]為不同的IoT設(shè)備安裝具有訪問控制代理功能的錢包(Wallet),通過向訪問請求方發(fā)送授權(quán)令牌進(jìn)行權(quán)限管理,該模式大大降低了IoT設(shè)備處理開銷,能實現(xiàn)由用戶驅(qū)動、透明化的訪問控制方法。MedRec[11]框架采用不同層次的合約分別管理病人身份信息、權(quán)限信息和病人權(quán)限關(guān)系信息,實現(xiàn)了用戶驅(qū)動的個人醫(yī)療數(shù)據(jù)管理和隱私性保護(hù),還能實現(xiàn)跨醫(yī)療組織醫(yī)療數(shù)據(jù)去中心化整合。
近年來,區(qū)塊鏈和智能合約技術(shù)在無線傳感器網(wǎng)(Wireless Sensor Network, WSN)中的應(yīng)用也成了研究熱點。為解決WSN安全訪問問題,文獻(xiàn)[12]中提出了一種基于區(qū)塊鏈的高魯棒、低能耗的身份認(rèn)證機(jī)制——BCTrust,適用于計算存儲資源有限的WSN,通過采用公共區(qū)塊鏈平臺(以太坊)讓數(shù)據(jù)與外網(wǎng)用戶間安全可靠共享;類似地,文獻(xiàn)[13]中提出了基于區(qū)塊鏈的多WSN身份認(rèn)證方案,能實現(xiàn)不同場景網(wǎng)絡(luò)節(jié)點身份的相互認(rèn)證;另外,文獻(xiàn)[14]中提出了基于區(qū)塊鏈和智能合約的WSN新型架構(gòu),能實現(xiàn)海量節(jié)點快速、分布式訪問管理,并通過實驗驗證了方法的有效性。在神經(jīng)網(wǎng)絡(luò)與區(qū)塊鏈結(jié)合應(yīng)用的相關(guān)研究中,文獻(xiàn)[15]針對區(qū)塊鏈共識算法采用一種特定卷積神經(jīng)網(wǎng)絡(luò)算法實現(xiàn)網(wǎng)絡(luò)一致性,并通過動態(tài)信用度閾值獲取超級節(jié)點和隨機(jī)節(jié)點,避免了復(fù)雜的哈希運算和冗余驗證。
綜上所述,針對WSN的訪問控制方法目前仍然存在以下問題:一是沒有充分評估WSN節(jié)點資源的有限性,導(dǎo)致提出的解決方案網(wǎng)絡(luò)運算開銷較大;二是WSN海量節(jié)點安全管理的動態(tài)化、智能化水平不足,不適于海量傳感器網(wǎng)絡(luò)的訪問控制管理。針對上述問題與挑戰(zhàn),本文提出面向WSN的基于區(qū)塊鏈和智能合約技術(shù)的訪問控制建模與驗證方法,主要工作包括:
1)建立了基于區(qū)塊鏈和智能合約的新型訪問控制系統(tǒng),提出了動態(tài)權(quán)限管理和多層次智能合約建模方法,設(shè)計了代理合約、權(quán)限管理合約和訪問控制合約,實現(xiàn)了對WSN的可信化、動態(tài)化的權(quán)限管理;
2)設(shè)計了面向WSN的訪問控制管理新型架構(gòu),WSN不隸屬于區(qū)塊鏈網(wǎng)絡(luò),提出由管理節(jié)點實現(xiàn)WSN與區(qū)塊鏈間的通信,以降低系統(tǒng)計算開銷,提升訪問控制效率;
3)提出了基于徑向基函數(shù)(Radial Basis Function, RBF)神經(jīng)網(wǎng)絡(luò)的動態(tài)權(quán)限生成算法,利用實際運行過程中存在的異常數(shù)據(jù)集訓(xùn)練RBF神經(jīng)網(wǎng)絡(luò)參數(shù),結(jié)合訪問控制政策動態(tài)生成訪問信用度閾值,從而動態(tài)化、智能化實現(xiàn)WSN訪問控制管理。
區(qū)塊鏈[16]實質(zhì)是一種由數(shù)字區(qū)塊按照時間順序鏈接而成的去中心化的分布式數(shù)據(jù)賬本,通過采用現(xiàn)代密碼學(xué)、分布式一致性協(xié)議、P2P網(wǎng)絡(luò)技術(shù)和智能合約等技術(shù)[17],提供了安全、穩(wěn)定、透明、可審計、高效且低成本的交易數(shù)據(jù)記錄和交互的框架解決方案。
區(qū)塊鏈的關(guān)鍵技術(shù)包括:基于時間戳的鏈?zhǔn)浇Y(jié)構(gòu)、點對點的數(shù)據(jù)傳輸機(jī)制和分布式節(jié)點的共識機(jī)制。其中,鏈?zhǔn)浇Y(jié)構(gòu)是指區(qū)塊鏈將數(shù)據(jù)區(qū)塊通過鏈?zhǔn)椒绞竭M(jìn)行連接,區(qū)塊頭封裝前一區(qū)塊的哈希值、時間戳、Merkle樹根值等信息;點對點傳輸機(jī)制使得區(qū)塊鏈具有去中心化特性,不同節(jié)點分布在不同的物理地址,所有節(jié)點關(guān)系平等。
共識機(jī)制是在完全不可信環(huán)境下實現(xiàn)分布式節(jié)點數(shù)據(jù)一致的關(guān)鍵算法,當(dāng)前的主要共識算法包括工作量證明(Proof of Work,PoW)[16]、權(quán)益證明(Proof of Stake,PoS)[18]、實用拜占庭容錯(Practical Byzantine Fault Tolerance,PBFT)[19]等,通過共識算法競爭勝出的節(jié)點將交易打包后以點對點方式發(fā)送其他節(jié)點,其他節(jié)點對該區(qū)塊的哈希值、簽名和交易有效性進(jìn)行驗證,驗證通過后加入本地區(qū)塊鏈,從而解決共識問題。
雖然當(dāng)前區(qū)塊鏈缺乏行業(yè)標(biāo)準(zhǔn)、技術(shù)相對不夠成熟、所需計算存儲資源較大,但仍有不少成功落地的區(qū)塊鏈項目,包括金融領(lǐng)域、物流溯源和電子票據(jù)等應(yīng)用,雖然遠(yuǎn)遠(yuǎn)未達(dá)到普及水平,但隨著軟硬件技術(shù)的不斷提升,區(qū)塊鏈未來發(fā)展前景非常廣闊[20]。
智能合約初期的設(shè)計理念是“一個智慧合約是一套以數(shù)字形式定義的承諾(commitment),包括合約參與方可以在上面執(zhí)行這樣承諾”[21]。直到2008年提出比特幣[16],區(qū)塊鏈技術(shù)與智能合約作為底層技術(shù)才被充分重視和挖掘。目前沒有公認(rèn)的智能合約定義[22],狹義的智能合約可看作是運行在分布式賬本上預(yù)制的規(guī)則,具有狀態(tài)、條件響應(yīng)的,可封裝、驗證、執(zhí)行分布式節(jié)點復(fù)雜行為,完成信息交換、價值轉(zhuǎn)移和資產(chǎn)管理的計算機(jī)程序。
目前智能合約運行機(jī)制采用相對固定的規(guī)則和邏輯,主要以If-Then和What-If語句預(yù)置了相關(guān)合約條款觸發(fā)規(guī)則,被審計通過的智能合約經(jīng)多方協(xié)定、簽署后由P2P網(wǎng)絡(luò)傳播并部署在區(qū)塊鏈上,直到檢測到激活合約的觸發(fā)規(guī)則和狀態(tài)條件時執(zhí)行合約代碼。智能合約的運行機(jī)制如圖1所示,合約代碼根據(jù)可信外部數(shù)據(jù)源(預(yù)言機(jī),Oracles)和狀態(tài)信息自動檢查是否觸發(fā)合約執(zhí)行,若滿足觸發(fā)條件,交易驗證有效后將會打包,由礦工把交易寫入?yún)^(qū)塊中。目前運行智能合約最廣泛的平臺包括以太坊(Ethereum)[23]和超級賬本(Hyperledger Fabric)[24]。未來的智能合約發(fā)展方向?qū)⒅饾u摒棄固定規(guī)則方式,將人工智能、機(jī)器學(xué)習(xí)等智能算法融入智能合約,從而實現(xiàn)自主學(xué)習(xí)和動態(tài)適應(yīng)的功能,更好地適應(yīng)海量化、動態(tài)化和智能化的分布式網(wǎng)絡(luò)應(yīng)用場景;然而當(dāng)前受區(qū)塊鏈計算存儲資源有限的影響,離智能算法的廣泛應(yīng)用還有一段距離。
圖1 智能合約運行機(jī)制
近年來,隨著以太坊等平臺的廣泛應(yīng)用,智能合約得到迅猛發(fā)展,但是同時也暴露出了安全問題。“The DAO”事件是黑客利用智能合約中的“可重入性函數(shù)”進(jìn)行漏洞攻擊,導(dǎo)致了360萬以太幣幾個小時內(nèi)被轉(zhuǎn)出;另外,“Parity多重簽名合約漏洞”和“Parity多重函數(shù)庫自殺漏洞事件”也具有代表性,該事件影響了587個錢包,包含51.3萬以太幣[25]。因此智能合約的代碼檢查和安全設(shè)計是當(dāng)前面臨的挑戰(zhàn)。
當(dāng)前關(guān)于動態(tài)權(quán)限管理方法的研究文獻(xiàn)較少,多數(shù)集中在預(yù)設(shè)訪問政策[14,26-28],不能滿足海量設(shè)備訪問時的動態(tài)化、多層次和管理復(fù)雜的需求。目前提出的動態(tài)權(quán)限管理方法有:文獻(xiàn)[28]中提出了一種基于信任度的霧計算動態(tài)訪問控制方法,通過訓(xùn)練好的機(jī)器學(xué)習(xí)模型計算設(shè)備的信任值實現(xiàn)基于信任值的動態(tài)訪問;類似地,文獻(xiàn)[29]中提出以基于決策控制訪問模型為基礎(chǔ),采用智能合約設(shè)定訪問信用度閾值實現(xiàn)動態(tài)管理;文獻(xiàn)[30]中提出了一種將訪問控制和強(qiáng)化學(xué)習(xí)(Reinforcement Learning, RL)相結(jié)合的理念,以此實現(xiàn)對策略的動態(tài)適應(yīng)。然而,這些研究采用的信用度算法大都采用多元線性回歸算法,其準(zhǔn)確性、可靠性有待驗證。
動態(tài)權(quán)限管理實現(xiàn)的核心是信用度計算,而信用度是訪問對象的信用度量,是一段時期可被認(rèn)定履行合約的信用程度,可以有效識別惡意節(jié)點或異常訪問請求。當(dāng)信用度達(dá)到合約設(shè)定的信用閾值時,訪問對象可獲得匹配的訪問權(quán)限,從而實現(xiàn)動態(tài)權(quán)限管理。信用度評估的關(guān)鍵是解決非線性回歸問題,而RBF神經(jīng)網(wǎng)絡(luò)應(yīng)用核函數(shù)思想,是一種性能良好的前向神經(jīng)網(wǎng)絡(luò),它的泛化學(xué)習(xí)能力強(qiáng)、學(xué)習(xí)速度快,不容易陷入局部極小,能實現(xiàn)快速非線性擬合并避免局部極小問題,是解決信用度評估問題的優(yōu)選算法[31]。雖然誤差反向傳播(Back Propagation, BP)神經(jīng)網(wǎng)絡(luò)也可以任意逼近任何非線性連續(xù)函數(shù),但由于激勵函數(shù)不同,BP神經(jīng)網(wǎng)絡(luò)因為全局逼近從而學(xué)習(xí)速度慢,不適用于實時性要求高的場合。
本文提出的系統(tǒng)架構(gòu)如圖2所示,主要包括無線傳感網(wǎng)絡(luò)(WSN)、管理節(jié)點(Manager)、區(qū)塊鏈(Blockchain)、智能合約(Smart Contracts)和代理節(jié)點(Agent Node)。
圖2 基于區(qū)塊鏈的系統(tǒng)架構(gòu)
1)無線傳感網(wǎng)絡(luò):WSN是通過無線通信技術(shù)把海量傳感器節(jié)點以自由式進(jìn)行組織與結(jié)合,形成一個多跳、自組織的網(wǎng)絡(luò)[32],能夠協(xié)同實時感測、采集和處理網(wǎng)絡(luò)覆蓋范圍的感知對象信息,信息處理后通過無線方式進(jìn)行傳送,以多跳自組織方式發(fā)送至用戶。通常WSN的無線傳感器具有計算存儲能力有限、成本低、安全性低等特點,因而傳感器節(jié)點容易受外界入侵,導(dǎo)致信息泄露或傳感器網(wǎng)絡(luò)損害。本系統(tǒng)中的WSN獨立于區(qū)塊鏈系統(tǒng)之外,網(wǎng)絡(luò)通信采用基于約束應(yīng)用協(xié)議(Constrained Application Protocol, CoAP)[33],支持?jǐn)?shù)據(jù)包傳輸安全性協(xié)議(Datagram Transport Layer Security, DTLS)[22]。
2)管理節(jié)點:該節(jié)點是區(qū)塊鏈的特殊節(jié)點,直接與區(qū)塊鏈節(jié)點連接,比如礦工(Miner),它實現(xiàn)的功能包括:a)將傳感器發(fā)送的CoAP消息轉(zhuǎn)換成區(qū)塊鏈可識別的JSON-RPC信息。b)通過Invoke函數(shù)調(diào)用智能合約。一方面管理節(jié)點通過訪問控制合約(Access Control Contract, ACC)增加訪問對象的初始訪問政策;另一方面管理節(jié)點向代理合約(Agent Contract, AC)發(fā)送注冊請求和訪問權(quán)限請求。其中,初始訪問政策通常包括訪問目標(biāo)資源(resource)、訪問行為(action)、訪問許可(permission)和兩次訪問最小間隔時間(time intervals)等。另外,傳感器網(wǎng)絡(luò)均通過管理節(jié)點與區(qū)塊鏈網(wǎng)絡(luò)通信,因此管理節(jié)點通常部署在計算能力較強(qiáng)的設(shè)備上,以滿足海量訪問節(jié)點并發(fā)訪問請求。
3)區(qū)塊鏈:本系統(tǒng)采用以太坊的私有鏈部署,由以太坊虛擬機(jī)(Ethereum Virtual Machine, EVM)為智能合約提供運行環(huán)境,平臺提供兩種類型賬戶:外部控制賬戶(Externally Controlled Account, EOA)和合約賬戶(Contract Account, CA)。其中EOA由私鑰進(jìn)行保護(hù),合約賬戶由合約代碼保護(hù)[23],通過采用私有鏈部署模型為本系統(tǒng)提供簡單方便的功能與性能評估平臺,在今后實際應(yīng)用中本文模型將被部署于公有鏈上。
4)智能合約:系統(tǒng)設(shè)計了多層次智能合約體系,如圖3所示,包括AC、權(quán)限管理合約(Authority Management Contract, AMC)和ACC三個合約。AC用來管理注冊信息、從ACC獲取訪問權(quán)限;AMC用來識別訪問異常事件、調(diào)用神經(jīng)網(wǎng)絡(luò)算法評估訪問對象的信用度閾值;ACC用來管理訪問政策、進(jìn)行權(quán)限決策。智能合約定義的函數(shù)或應(yīng)用程序接口API(Application Programming Interface)為系統(tǒng)訪問控制各項功能提供執(zhí)行接口。
5)代理節(jié)點:代理節(jié)點是區(qū)塊鏈系統(tǒng)上的特殊節(jié)點,在本文系統(tǒng)中主要用來部署智能合約,當(dāng)三個智能合約在區(qū)塊鏈上部署完成后,代理節(jié)點獲取三個合約地址,通過廣播使區(qū)塊鏈所有節(jié)點獲得智能合約的地址。
圖3 智能合約體系架構(gòu)
不同合約的功能函數(shù)介紹如下。
2.2.1 代理合約(AC)
1)RegisterManager:注冊管理節(jié)點;
2)AddMangertoDevices:注冊新傳感器設(shè)備到管理節(jié)點下,不允許設(shè)備直接訪問目標(biāo)資源;
3)DeleteManagerfromDevice:刪除管理節(jié)點下的傳感器設(shè)備;
4)GetAccessControl:獲取訪問控制合約發(fā)來的傳感器設(shè)備的訪問權(quán)限;
5)DeregisterDevices:刪除在系統(tǒng)中注冊的傳感器設(shè)備;
6)DeregisterManager:刪除在系統(tǒng)中注冊的管理設(shè)備。
2.2.2 權(quán)限管理合約(AMC)
1)JudgeAccess:判斷傳感器設(shè)備是否存在訪問異常,如短時間內(nèi)頻繁訪問、身份無效等,生成的異常報告發(fā)送給ACC;
2)AddAccessIssue:添加訪問異常事件;
3)DeleteAccessIssue:刪除訪問異常事件;
4)RBFNeualNetworks:通過調(diào)用已經(jīng)訓(xùn)練好的RBF神經(jīng)網(wǎng)絡(luò)模型,計算傳感器訪問信用度閾值(0~1);
5)Feedback:反饋訪問對象訪問信用度閾值。
2.2.3 訪問控制合約(ABI)
1)AddPolicy(resource, action, permission, time period):添加新訪問策略,接收新的訪問策略至策略列表(Policy List);
2)UpdatePolicy:更新訪問策略;
3)DeletePolicy;刪除訪問策略;
4)AccessControl:訪問決策,結(jié)合預(yù)先定義的訪問政策與AMC合約中反饋的訪問信用度閾值,進(jìn)行權(quán)限決策。
本文提出了基于RBF神經(jīng)網(wǎng)絡(luò)的訪問對象信用度評估方法,首先選取訪問對象的六類訪問特征作為訪問節(jié)點的評估輸入指標(biāo):
隱含層為RBF函數(shù),不需要通過權(quán)連接,表達(dá)式如下:
輸出層表示如下:
圖4 基于RBF神經(jīng)網(wǎng)絡(luò)模型的信用度評估
本文提出的動態(tài)權(quán)限管理方法利用實際運行過程中存在的異常數(shù)據(jù)集訓(xùn)練RBF神經(jīng)網(wǎng)絡(luò),因此對用戶的信用度判定結(jié)果相對于文獻(xiàn)[28-29]中模型準(zhǔn)確度和細(xì)粒度更高;同時系統(tǒng)將信用度計算過程以智能合約的形式發(fā)布在區(qū)塊鏈中,使得用戶信用度計算更加地安全可靠。
圖5是系統(tǒng)各節(jié)點間交互過程,主要分為四個階段:系統(tǒng)初始化階段、設(shè)備注冊階段、權(quán)限動態(tài)分配階段與政策執(zhí)行。
1)初始化階段。Agent Node部署智能合約,當(dāng)三個合約在區(qū)塊鏈部署成功后代理節(jié)點獲取三個合約的地址,并通過廣播讓區(qū)塊鏈上所有節(jié)點得到該地址。如圖5所示,Manager需獲取AC和ACC地址,AC獲取到AMC的地址,AMC獲取到ACC的地址。在初始化階段,Manager連接到區(qū)塊鏈上,區(qū)塊鏈時刻讓RPC端口監(jiān)聽接收Manager發(fā)送的請求。
圖5 系統(tǒng)節(jié)點間交互工作流程
Petri網(wǎng)是用于描述和分析系統(tǒng)中的控制流和信息流[34],結(jié)合本文訪問控制系統(tǒng)業(yè)務(wù)的運行機(jī)制。采用Petri網(wǎng)對系統(tǒng)進(jìn)行安全性分析,主要包括以下三個步驟:
表1 系統(tǒng)業(yè)務(wù)流程交易描述
2)不安全狀態(tài)分析。分析系統(tǒng)不安全狀態(tài),首先確定入侵者可能篡改的變量,判斷系統(tǒng)的合法用戶可能被入侵者攻擊的可能性:a)在注冊管理階段,存在地址篡改的可能性,由于Manager基于DTLS協(xié)議同傳感器通信,利用cookie驗證機(jī)制和證書實現(xiàn)與WSN通信雙方身份認(rèn)證,從而可保證注冊的安全性;b)Manager和區(qū)塊鏈通信階段存在數(shù)據(jù)(地址、初始權(quán)限等)被篡改的可能性,由于通信雙方基于JSON-RPC協(xié)議,RPC在配置安全和接口邏輯可能會出現(xiàn)漏洞,但由于RPC調(diào)用需要鑒權(quán),因此即使存在漏洞也難以觸發(fā)調(diào)用,從而排除不安全狀態(tài);c)最后判斷區(qū)塊鏈網(wǎng)絡(luò)的不安全狀態(tài),由于區(qū)塊鏈的分布式、不可篡改和可追溯等特性,不安全因素主要集中在智能合約程序設(shè)計上,智能合約本質(zhì)是運行在區(qū)塊鏈網(wǎng)絡(luò)中的代碼,一旦部署將不能修改,提高代碼邏輯安全性是減少不安全狀態(tài)的必要條件。本節(jié)重點討論系統(tǒng)功能安全性,代碼安全不在此安全分析范圍內(nèi)。
3)安全性分析。
通過分析數(shù)據(jù),結(jié)合系統(tǒng)初始狀態(tài)和終止?fàn)顟B(tài),可以確定系統(tǒng)是否安全。首先給出系統(tǒng)狀態(tài)方程:
圖6 系統(tǒng)Petri網(wǎng)模型
Fig. 6 Petri net model of system
設(shè)當(dāng)前交易為注冊傳感器階段,則:
若當(dāng)前交易為獲取訪問權(quán)限階段,則:
當(dāng)傳感器獲取訪問權(quán)限時,則:
經(jīng)過過程驗證,系統(tǒng)交易流程達(dá)到最終狀態(tài),交易集合為空,滿足交易必要性定義;庫所向量和共識向量結(jié)果表明滿足結(jié)果唯一性和共識完整性,因此證明系統(tǒng)業(yè)務(wù)流程是完備并安全的。
為驗證本文提出的面向WSN的基于智能合約的訪問控制模型建模方法,測試本文模型的可行性和有效性,搭建了實驗環(huán)境并設(shè)計了實驗方案。
利用以太坊平臺搭建實驗環(huán)境,采用Solidity腳本語言部署智能合約,由以太坊虛擬機(jī)提供其執(zhí)行環(huán)境,每臺設(shè)備安裝由Go語言編寫的geth客戶端,采用web3.js通過IPC接口與相應(yīng)的geth客戶端交互,使用PoW共識機(jī)制。Manager是Javascript的腳本代碼,獨立于區(qū)塊鏈外;LibCoAP庫是CoAP協(xié)議的C語言實現(xiàn),利用LibCoAP庫搭建WSN,支持DTLS(Datagram Transport-Layer Security)為WSN提供端到端的安全傳輸。無線傳感器采取CoAP協(xié)議[35],CoAP主要面向資源受限的嵌入式設(shè)備,采用REST架構(gòu)的物理網(wǎng)應(yīng)用層協(xié)議和UDP傳輸協(xié)議等輕量級的傳輸機(jī)制。
實驗環(huán)境如下:臺式機(jī)用來部署以太坊,參數(shù)為Intel Core i3-9100 CPU @ 3.60GHz 3.60 GHz內(nèi)核,8.00 GB內(nèi)存和Windows 10 操作系統(tǒng);筆記本用來部署管理節(jié)點和WSN虛擬網(wǎng)絡(luò),參數(shù)為@A6-6310 apu with amd radeon r4 graphics ×4內(nèi)核,8.00 GB內(nèi)存和Ubuntu 20.04.1 LTS操作系統(tǒng)。
完成私有鏈的搭建和合約編譯與部署,圖7為系統(tǒng)主要功能測試結(jié)果。
本文采用RBF神經(jīng)網(wǎng)絡(luò)構(gòu)建訪問節(jié)點的信用度評估模型,本節(jié)重點測試模型是否能夠準(zhǔn)確評估信用度。選擇500個樣本數(shù)據(jù)及信用評估結(jié)果,首先對初始數(shù)據(jù)進(jìn)行初始化處理,各放大100倍作為網(wǎng)絡(luò)輸入,其中,將400個節(jié)點樣本作為訓(xùn)練數(shù)據(jù),訓(xùn)練輪數(shù)為200,剩下的100個節(jié)點樣本數(shù)據(jù)用作測試。實驗的誤差變化如圖8所示,測試集的模型輸出與目標(biāo)輸出對比如圖9所示。從圖8、9可以看出,基于RBF神經(jīng)網(wǎng)絡(luò)的信用度模型具有良好的收斂性,學(xué)習(xí)效率高,準(zhǔn)確性高,相比多元線性回歸算法更準(zhǔn)確,相比BP神經(jīng)網(wǎng)絡(luò)算法具有收斂速度快、學(xué)習(xí)穩(wěn)定等特點。
為驗證系統(tǒng)性能情況和對惡意節(jié)點識別能力,分別開展了以下仿真實驗。
1)注冊效率性能測試。為測試系統(tǒng)注冊效率,測試每秒鐘注冊節(jié)點從0增加到10 000個的響應(yīng)時間情況,如圖10所示。
注冊節(jié)點數(shù)量從0增加到10 000的響應(yīng)時間增長接近線性關(guān)系,10 000個節(jié)點對應(yīng)的響應(yīng)時間約為27 s,實驗采用了ganache+truffle搭建以太坊私有鏈并部署智能合約,由于ganache搭建的私有鏈可以自行完成挖礦產(chǎn)生新區(qū)塊特性,且有效縮短請求響應(yīng)時間,在今后的實際應(yīng)用中,本文系統(tǒng)模型將采用以太坊公鏈平臺,使系統(tǒng)性能大幅提升,響應(yīng)時間相應(yīng)減少。導(dǎo)致本文實驗的響應(yīng)時間較多的另一個主要原因是RPC調(diào)用產(chǎn)生的延遲。
圖7 系統(tǒng)主要功能測試結(jié)果
圖8 誤差變化曲線
圖9 模型輸出/輸入對比
2)獲取訪問權(quán)限結(jié)果性能測試。為測試系統(tǒng)訪問控制請求的響應(yīng)時間,測試了每秒內(nèi)發(fā)送請求節(jié)點從0到10 000個的響應(yīng)時間情況,為驗證RBF算法運行延遲情況,分別測試了不調(diào)用RBF算法和調(diào)用算法后的響應(yīng)時間,如圖11所示。
當(dāng)請求節(jié)點從0增加到10 000時,調(diào)用RBF算法響應(yīng)時間比不調(diào)用時略長,這是由于系統(tǒng)調(diào)用RBF算法時要進(jìn)行大量計算,所以會產(chǎn)生延遲現(xiàn)象,在10 000個請求節(jié)點響應(yīng)時間增加約為5 s。該實驗響應(yīng)時間主要限制因素有:運行系統(tǒng)的本身性能問題以及RPC調(diào)用產(chǎn)生的延遲。
圖10 節(jié)點注冊請求響應(yīng)時間
圖11 訪問控制請求響應(yīng)時間
3)惡意節(jié)點性能測試。為了驗證模型對惡意節(jié)點的檢測能力,選擇1 000個有正常訪問記錄的惡意節(jié)點進(jìn)行測試,如圖12所示。
由上述性能實驗可以看出,隨著請求數(shù)量的增加,系統(tǒng)響應(yīng)時間隨之增加:注冊請求的響應(yīng)時間明顯少于訪問權(quán)限請求的響應(yīng)時間,采用RBF算法的模型在請求節(jié)點數(shù)量超過4 000時,訪問權(quán)限請求響應(yīng)時間增加較快,而沒有采用RBF算法的模型在請求節(jié)點數(shù)量超過6 000時出現(xiàn)此種情況,總體情況是不調(diào)用RBF算法的響應(yīng)時間較調(diào)用RBF算法時間略少。惡意節(jié)點檢測方面,采用六類非法訪問特征作為輸入節(jié)點,并初步定義各輸入指標(biāo)參數(shù)(每100次請求中,設(shè)定惡意節(jié)點檢測觸發(fā)初始值分別為IRP 3次,UPR 5次,ERP 14次,PRP 4次,NAFRP 13次,NARP 15次),結(jié)果表明,系統(tǒng)可將惡意節(jié)點在17次交易內(nèi)檢測出來并抑制惡意節(jié)點的后續(xù)交易,這個峰值結(jié)果和實驗中1 000個惡意節(jié)點的非法訪問特征參數(shù)設(shè)定有關(guān),由于本文實驗中1 000個惡意節(jié)點中屬于NAFRP情況節(jié)點數(shù)量較多,所以峰值大約出現(xiàn)在第14次請求,因此惡意檢測結(jié)果的峰值是不確定的。
圖12 惡意節(jié)點檢測結(jié)果
本文面向WSN提出了一種基于區(qū)塊鏈和智能合約的訪問控制新型架構(gòu)和建模方法,搭建了新型多智能合約的體系,采用三個智能合約實現(xiàn)注冊管理、權(quán)限管理和訪問政策管理功能,通過引入RBF神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,對訪問節(jié)點進(jìn)行訪問信用度閾值評估,實現(xiàn)對海量節(jié)點訪問控制的動態(tài)化、智能化管理,實現(xiàn)了靈活、智能、細(xì)粒度的控制過程,為當(dāng)前的WSN訪問提供了有益解決方案。安全性分析說明了系統(tǒng)方案的安全性;模型用以太坊為仿真平臺,分別進(jìn)行了功能實驗、性能實驗和信任度實驗,說明了本文系統(tǒng)模型的可行性和有效性。由于本文系統(tǒng)引入了神經(jīng)網(wǎng)絡(luò)算法,并且對訪問節(jié)點知識進(jìn)行學(xué)習(xí)和記錄,所需數(shù)據(jù)存儲空間大、對計算能力要求高,而當(dāng)前區(qū)塊鏈系統(tǒng)在存儲能力、計算能力存在瓶頸,下一步將在系統(tǒng)輕量化方面進(jìn)一步研究。
[1] MANYIKA J, CHUI M. By 2025, Internet of things applications could have $11 trillion impact [EB/OL]. (2015-07-22)[2020-12-25].https://fortune.com/2015/07/22/mckinsey-internet-of-things/.
[2] FERRAIOLO D, CUGINI J, KUHN D R. Role-Based Access Control (RBAC): features and motivations[C/OL]// Proceedings of 11th Annual Computer Security Application Conference. [2020-12-25].https://tsapps.nist.gov/publication/get_pdf.cfm?pub_id=916537.
[3] YUAN E, TONG J. Attributed Based Access Control (ABAC) for web services[C]// Proceedings of the 2005 IEEE International Conference on Web Services. Piscataway: IEEE, 2005: 561-569.
[4] GUSMEROLI S, PICCIONE S, ROTONDI D. IoT access control issues: a capability based approach[C]// Proceedings of the 6th International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing. Piscataway: IEEE, 2012: 787-792.
[5] PARK J, SANDHU R. Towards usage control models: beyond traditional access control[C]// Proceedings of the 7th ACM Symposium on Access Control Models and Technologies. New York: ACM, 2002: 57-64.
[6] KHAN M A, SALAH K. IoT security: review, blockchain solutions, and open challenges[J]. Future Generation Computer Systems, 2018, 82: 395-411.
[7] HAMMI M T, HAMMI B, BELLOT P, et al. Bubbles of Trust: a decentralized blockchain-based authentication system for IoT[J]. Computers and Security, 2018, 78: 126-142.
[8] XU R H, CHEN Y, BLASCH E, et al. BlendCAC: a smart contract enabled decentralized capability-based access control mechanism for the IoT[J]. Computers, 2018, 7(3): No.39.
[9] OUADDAH A, ABOU ELKALAM A, AIT OUAHMAN A. FairAccess: a new Blockchain‐based access control framework for the Internet of Things[J]. Security and Communication Networks, 2016, 9(18): 5943-5964.
[10] OUADDAH A, ABOU ELKALAM A, AIT OUAHMAN A. Towards a novel privacy-preserving access control model based on blockchain technology in IoT[M]// ROCHA á, SERRHINI M, FELGUEIRAS C. Europe and MENA Cooperation Advances in Information and Communication Technologies, AISC 520. Cham: Springer, 2017: 523-533.
[11] EKBLAW A, AZARIA A, HALAMKA J D, et al. A case study for blockchain in healthcare: “MedRec” prototype for electronic health records and medical research data[R/OL]. (2016-08)[2020-12-25].https://www.healthit.gov/sites/default/files/5-56-onc_blockchainchallenge_mitwhitepaper.pdf.
[12] HAMMI M T, BELLOT P, SERHROUCHNI A. BCTrust: a decentralized authentication blockchain-based mechanism[C]// Proceedings of the 2018 IEEE Wireless Communications and Networking Conference. Piscataway: IEEE, 2018: 1-6.
[13] CUI Z, FEI X U E, ZHANG S, et al. A hybrid BlockChain-based identity authentication scheme for multi-WSN[J]. IEEE Transactions on Services Computing, 2020, 13(2): 241-251.
[14] NOVO O. Blockchain meets IoT: an architecture for scalable access management in IoT[J]. IEEE Internet of Things Journal, 2018, 5(2): 1184-1195.
[15] LADIA A. Privacy centric collaborative machine learning model training via blockchain[C]// Proceedings of the 2019 International Congress on Blockchain and Applications, AISC 1010. Cham: Springer, 2020: 62-70.
[16] NAKAMOTO S. Bitcoin: a peer-to-peer electronic cash system[EB/OL]. [2020-12-25].https://bitcoin.org/bitcoin.pdf.
[17] 曹儐,林亮,李云,等. 區(qū)塊鏈研究綜述[J]. 重慶郵電大學(xué)學(xué)報(自然科學(xué)版), 2020, 32(1):1-14.(CAO B, LIN L, LI Y, et al. Review of blockchain research[J]. Journal of Chongqing University of Posts and Telecommunications (Natural Science Edition), 2020, 32(1): 1-14.)
[18] KING S, NADAL S. PPcoin: peer-to-peer crypto-currency with proof-of-stake[EB/OL]. (2012-08-19)[2020-12-25].https://decred.org/research/king2012.pdf.
[19] CASTRO M, LISKOV B. Practical Byzantine fault tolerance[C]// Proceedings of the 3rd Symposium on Operating Systems Design and Implementation. Berkeley: USENIX Association, 1999: 173-186.
[20] SUN Y, ZHANG L, FENG G, et al. Blockchain-enabled wireless Internet of Things: performance analysis and optimal communication node deployment[J]. IEEE Internet of Things Journal, 2019, 6(3): 5791-5802.
[21] LUU L, CHU D H, OLICKEL H, et al. Making smart contracts smarter[C]// Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. New York: ACM, 2016: 254-269.
[22] 歐陽麗煒,王帥,袁勇,等. 智能合約:架構(gòu)及進(jìn)展[J]. 自動化學(xué)報, 2019, 45(3): 445-457.(OUYANG L W, WANG S, YUAN Y, et al. Smart contracts: architecture and research progresses[J]. Acta Automatica Sinica, 2019, 45(3): 445-457.)
[23] WOOD G. Ethereum: a secure decentralised generalised transaction ledger[EB/OL]. [2020-12-25].https://ethereum.github.io/yellowpaper/paper.pdf.
[24] ANDROULAKI E, BARGER A, BORTNIKOV V, et al. Hyperledger fabric: a distributed operating system for permissioned blockchains[C]// Proceedings of the 13th EuroSys Conference. New York: ACM, 2018: No.30.
[25] LóPEZ VIVAR A, CASTEDO A T, SANDOVAL OROZCO A L, et al. An analysis of smart contracts security threats alongside existing solutions[J]. Entropy, 2020, 22(2): No.203.
[26] PINNO O J A, GREGIO A R A, DE BONA L C E. ControlChain: blockchain as a central enabler for access control authorizations in the IoT[C]// Proceedings of the 2017 IEEE Global Communications Conference. Piscataway: IEEE, 2017: 1-6.
[27] ZHANG Y Y, KASAHARA S, SHEN Y L, et al. Smart contract-based access control for the Internet of Things[J]. IEEE Internet of Things Journal, 2019, 6(2): 1594-1605.
[28] 杜義峰,郭淵博. 一種基于信任值的霧計算動態(tài)訪問控制方法[J]. 信息網(wǎng)絡(luò)安全, 2020, 20(4):65-72.(DU Y F, GUO Y B. A dynamic access control method for fog computing based on trust value[J]. Netinfo Security, 2020, 20(4):65-72)
[29] 王海勇,潘啟青,郭凱璇. 基于區(qū)塊鏈和用戶信用度的訪問控制模型[J]. 計算機(jī)應(yīng)用, 2020, 40(6): 1674-1679.(WANG H Y, PAN Q Q, GUO K X. Access control model based on blockchain and user credit[J]. Journal of Computer Applications, 2020, 40(6):1674-1679)
[30] OUTCHAKOUCHT A, ES-SAMAALI H, LEROY J P. Dynamic access control policy based on blockchain and machine learning for the Internet of Things[J]. International Journal of Advanced Computer Science and Applications, 2017, 8(7): 417-424.
[31] POGGIO T, EDELMAN S. A network that learns to recognize three-dimensional objects[J]. Nature, 1990, 343(6255): 263-266.
[32] YICK J, MUKHERJEE B, GHOSAL D. Wireless sensor network survey[J]. Computer Networks, 2008, 52(12): 2292-2330.
[33] SHELBY Z, HARTKE K, BORMANN C. The Constrained Application Protocol (CoAP): RFC 7252[S]. Fremont, CA: Internet Engineering Task Force, 2014-06.
[34] MURATA T. Petri nets: properties, analysis and applications[J]. Proceedings of the IEEE, 1989, 77(4): 541-580.
[35] BORMANN C, CASTELLANI A P, SHELBY Z. CoAP: an application protocol for billions of tiny internet nodes[J]. IEEE Internet Computing, 2012, 16(2): 62-67.
Smart contract-based access control architecture and verification for internet of things
LI Yang1, XU Long1, LI Yanqiang1,2*, LI Shaopeng1
(1(),,,250014,;2,,250061,)
Concerning the problem that the traditional access control methods face single point of failure and fail to provide trusted, secure and dynamic access management, a new access control model based on blockchain and smart contract for Wireless Sensor Network (WSN) was proposed to solve the problems of access dynamics and low level of intelligence of existing blockchain-based access control methods. Firstly, a new access control architecture based on blockchain was proposed to reduce the network computing overhead. Secondly, a multi-level smart contract system including Agent Contract (AC), Authority Management Contract (AMC) and Access Control Contract (ACC) was built, thereby realizing the trusted and dynamic access management of WSN. Finally, the dynamic access generation algorithm based on Radial Basis Function (RBF) neural network was adopted, and access policy was combined to generate the credit score threshold of access node to realize the intelligent, dynamic access control management for the large number of sensors in WSN. Experimental results verify the availability, security and effectiveness of the proposed model in WSN secure access control applications.
blockchain; access control; smart contract; dynamic access management; Wireless Sensor Network (WSN)
This work is partially supported by National Key Research and Development Program of China (2018YFE0197700), Shandong Major Scientific and Technological Innovation Project (2020CXGC010203), Study Abroad Program of Shandong Provincial Government (201802026).
LI Yang, born in 1980, M. S., associate research fellow. Her research interests include internet of things security, blockchain.
XU Long, born in 1995, M. S. candidate. His research interests include blockchain.
LI Yanqiang, born in 1977, Ph. D., research fellow. His research interests include internet of vehicles, unmanned driving.
LI Shaopeng, born in 1985, M. S., associate research fellow. His research interests include intelligent sensing.
TP391
A
1001-9081(2022)06-1922-10
10.11772/j.issn.1001-9081.2021040553
2021?04?12;
2021?07?08;
2021?07?08。
國家重點研發(fā)計劃項目(2018YFE0197700);山東省重大科技創(chuàng)新工程項目(2020CXGC010203);山東省政府留學(xué)基金資助項目(201802026)。
李楊(1980—),女,山東濟(jì)寧人,副研究員,碩士,主要研究方向:物聯(lián)網(wǎng)安全、區(qū)塊鏈;徐龍(1995—),男,安徽合肥人,碩士研究生,主要研究方向:區(qū)塊鏈;李研強(qiáng)(1977—),男,山東萊蕪人,研究員,博士,主要研究方向:車聯(lián)網(wǎng)、無人駕駛;李紹鵬(1985—),男,山東濟(jì)南人,副研究員,碩士,主要研究方向:智能感測。