張杰,許姍姍,2,袁凌云,3*
基于區(qū)塊鏈與邊緣計(jì)算的物聯(lián)網(wǎng)訪問(wèn)控制模型
張杰1,許姍姍1,2,袁凌云1,3*
(1.云南師范大學(xué) 信息學(xué)院,昆明 650500; 2.教育部西部資源環(huán)境地理信息技術(shù)教育部工程研究中心(云南師范大學(xué)),昆明 650500; 3.教育部民族教育信息化教育部重點(diǎn)實(shí)驗(yàn)室(云南師范大學(xué)),昆明 650500)( ? 通信作者電子郵箱blues520@sina.com)
邊緣計(jì)算的出現(xiàn)擴(kuò)展了物聯(lián)網(wǎng)(IoT)云-終端架構(gòu)的范疇,在減少終端設(shè)備海量數(shù)據(jù)的傳輸和處理時(shí)延的同時(shí)也帶來(lái)了新的安全問(wèn)題。針對(duì)IoT邊緣節(jié)點(diǎn)與海量異構(gòu)設(shè)備間的數(shù)據(jù)安全和管理問(wèn)題,并考慮到目前區(qū)塊鏈技術(shù)廣泛應(yīng)用于分布式系統(tǒng)中數(shù)據(jù)的安全管理,提出基于區(qū)塊鏈與邊緣計(jì)算的IoT訪問(wèn)控制模型SC-ABAC。首先,提出集成邊緣計(jì)算的IoT訪問(wèn)控制架構(gòu),并結(jié)合智能合約和基于屬性的訪問(wèn)控制(ABAC)提出并設(shè)計(jì)了SC-ABAC;然后,給出工作量證明(PoW)共識(shí)算法的優(yōu)化和SC-ABAC的訪問(wèn)控制管理流程。實(shí)驗(yàn)結(jié)果表明,所提模型對(duì)區(qū)塊連續(xù)訪問(wèn)下的耗時(shí)隨次數(shù)呈線性增長(zhǎng),連續(xù)訪問(wèn)過(guò)程中央處理器(CPU)的利用率穩(wěn)定,安全性良好。本模型下僅查詢過(guò)程存在調(diào)用合約的耗時(shí)隨次數(shù)呈線性增長(zhǎng),策略添加和判斷過(guò)程的耗時(shí)均為常數(shù)級(jí),且優(yōu)化的共識(shí)機(jī)制較PoW每100塊區(qū)塊共識(shí)耗時(shí)降低約18.37個(gè)百分點(diǎn)。可見(jiàn),該模型可在IoT環(huán)境中提供去中心化、細(xì)顆粒度和動(dòng)態(tài)的訪問(wèn)控制管理,并可在分布式系統(tǒng)中更快達(dá)成共識(shí)以確保數(shù)據(jù)一致性。
物聯(lián)網(wǎng);邊緣計(jì)算;區(qū)塊鏈;訪問(wèn)控制;屬性訪問(wèn);簽名認(rèn)證
物聯(lián)網(wǎng)(Internet of Things, IoT)是通過(guò)互聯(lián)網(wǎng)等網(wǎng)絡(luò)方式使大量能感知外部環(huán)境的傳感器、智能設(shè)備相互通信以完成不同的任務(wù),實(shí)現(xiàn)“萬(wàn)物互聯(lián)”。隨著物聯(lián)網(wǎng)技術(shù)的逐漸普及,海量設(shè)備的接入形成了異構(gòu)環(huán)境,會(huì)在短時(shí)間內(nèi)產(chǎn)生大量待處理的數(shù)據(jù)并通過(guò)網(wǎng)絡(luò)被同時(shí)傳輸?shù)綌?shù)據(jù)中心,網(wǎng)絡(luò)延時(shí)不可避免[1]。而邊緣計(jì)算[2]為物聯(lián)網(wǎng)設(shè)備海量數(shù)據(jù)傳輸過(guò)程中高時(shí)延問(wèn)題的解決提供了新的思路。物聯(lián)網(wǎng)系統(tǒng)邊緣節(jié)點(diǎn)的存在,增加了系統(tǒng)計(jì)算力、降低時(shí)延的同時(shí)也帶來(lái)了新的安全風(fēng)險(xiǎn)。當(dāng)新接入的邊緣節(jié)點(diǎn)為惡意節(jié)點(diǎn)時(shí),可通過(guò)并行其他邊緣節(jié)點(diǎn)進(jìn)行計(jì)算來(lái)解密并獲取數(shù)據(jù)中心的用戶隱私數(shù)據(jù)。因此,針對(duì)帶有邊緣節(jié)點(diǎn)的物聯(lián)網(wǎng)系統(tǒng)的訪問(wèn)控制問(wèn)題成為新的研究熱點(diǎn)。
區(qū)塊鏈技術(shù)已被越來(lái)越多地應(yīng)用于分布式物聯(lián)網(wǎng)體系中,以提供安全性和隱私性[3]。它在保證數(shù)據(jù)分布式存儲(chǔ)的同時(shí),確保數(shù)據(jù)的不可篡改,特別適合存儲(chǔ)和保護(hù)重要隱私數(shù)據(jù),降低了物聯(lián)網(wǎng)設(shè)備因數(shù)據(jù)中心被攻擊而導(dǎo)致的用戶個(gè)人隱私數(shù)據(jù)泄露或大量數(shù)據(jù)丟失的風(fēng)險(xiǎn)。而區(qū)塊鏈3.0[4]中引入的智能合約則使得通過(guò)區(qū)塊鏈技術(shù)解決訪問(wèn)控制問(wèn)題有了新的可能。目前通過(guò)區(qū)塊鏈來(lái)解決集成邊緣計(jì)算下物聯(lián)網(wǎng)的安全問(wèn)題,大多是針對(duì)隱私保護(hù)[5-6]、數(shù)據(jù)安全[7-8]方面,對(duì)物聯(lián)網(wǎng)邊緣節(jié)點(diǎn)的訪問(wèn)控制問(wèn)題的研究并不多見(jiàn)。如Nyamtiga等[9]只針對(duì)集成邊緣計(jì)算的物聯(lián)網(wǎng)系統(tǒng)中數(shù)據(jù)匿名性和完整性問(wèn)題,采用區(qū)塊鏈技術(shù)實(shí)現(xiàn)安全存儲(chǔ)IoT數(shù)據(jù)。Ren等[10]面向工業(yè)物聯(lián)網(wǎng)下大規(guī)模數(shù)據(jù)傳輸存儲(chǔ)問(wèn)題,用邊緣計(jì)算處理源頭數(shù)據(jù)再由區(qū)塊鏈實(shí)現(xiàn)數(shù)據(jù)的安全存儲(chǔ)和管理。國(guó)內(nèi)針對(duì)物聯(lián)網(wǎng)安全數(shù)據(jù)訪問(wèn)與控制相關(guān)的研究仍僅考慮將區(qū)塊鏈技術(shù)與物聯(lián)網(wǎng)所結(jié)合,如史錦山等[11]提出一種基于區(qū)塊鏈的IoT訪問(wèn)控制框架;王思源等[12]提出基于區(qū)塊鏈的權(quán)能令牌環(huán)網(wǎng)來(lái)解決物聯(lián)網(wǎng)越權(quán)訪問(wèn);張建國(guó)等[13]提出基于區(qū)塊鏈的角色訪問(wèn)控制模型來(lái)解決對(duì)物聯(lián)網(wǎng)設(shè)備的安全訪問(wèn)。在將邊緣計(jì)算與區(qū)塊鏈集成下的研究中,程冠杰等[14]提出一種基于區(qū)塊鏈和邊緣計(jì)算的物聯(lián)網(wǎng)數(shù)據(jù)管理架構(gòu)來(lái)實(shí)現(xiàn)數(shù)據(jù)的安全管理。他們忽視了邊緣節(jié)點(diǎn)的潛在風(fēng)險(xiǎn),默認(rèn)存在的邊緣節(jié)點(diǎn)為安全可靠,卻忽視了物聯(lián)網(wǎng)規(guī)模擴(kuò)展下,邊緣節(jié)點(diǎn)在接入物聯(lián)網(wǎng)時(shí)應(yīng)通過(guò)可信機(jī)制加以確認(rèn),同時(shí)也忽視了邊緣計(jì)算帶來(lái)的強(qiáng)大計(jì)算能力,即針對(duì)目前集成邊緣計(jì)算的物聯(lián)網(wǎng)體系新范式下,沒(méi)有考慮邊緣節(jié)點(diǎn)在訪問(wèn)控制過(guò)程中的作用。
針對(duì)上述問(wèn)題,在已有的傳統(tǒng)集成區(qū)塊鏈與邊緣計(jì)算體系架構(gòu)[15]的基礎(chǔ)上提出了針對(duì)含有邊緣計(jì)算的物聯(lián)網(wǎng)系統(tǒng)的訪問(wèn)控制模型。具體地,在物聯(lián)網(wǎng)三層架構(gòu)的基礎(chǔ)上設(shè)計(jì)了物聯(lián)網(wǎng)三層訪問(wèn)控制架構(gòu),在基于屬性的訪問(wèn)控制機(jī)制基礎(chǔ)上,將訪問(wèn)控制決策交由區(qū)塊鏈中的智能合約負(fù)責(zé),而邊緣節(jié)點(diǎn)負(fù)責(zé)加密、解密和數(shù)據(jù)傳輸,提出了SC-ABAC(Smart Contract for Attribute-Based Access Control)訪問(wèn)控制模型,以實(shí)現(xiàn)物聯(lián)網(wǎng)的有效訪問(wèn)控制和管理。
集成邊緣計(jì)算的物聯(lián)網(wǎng)訪問(wèn)控制模型架構(gòu)分為3個(gè)模塊:IoT設(shè)備管理模塊、IoT設(shè)備訪問(wèn)控制模塊和IoT設(shè)備數(shù)據(jù)管理模塊。具體的模型設(shè)計(jì)如圖1所示。
圖1 集成邊緣計(jì)算的IoT訪問(wèn)控制架構(gòu)設(shè)計(jì)
1.1.1IoT設(shè)備管理模塊
IoT設(shè)備管理模塊將各種IoT異構(gòu)設(shè)備進(jìn)行接入管理,通過(guò)對(duì)網(wǎng)絡(luò)中不同協(xié)議的解析來(lái)對(duì)采集數(shù)據(jù)進(jìn)行預(yù)處理,并將其打包成統(tǒng)一格式后向IoT設(shè)備訪問(wèn)控制模塊申請(qǐng)接入系統(tǒng),進(jìn)而發(fā)送數(shù)據(jù)至邊緣網(wǎng)關(guān)節(jié)點(diǎn)。
1.1.2IoT設(shè)備訪問(wèn)控制模塊
IoT設(shè)備訪問(wèn)控制模塊集成邊緣計(jì)算和區(qū)塊鏈,為該框架的核心模塊,用于實(shí)現(xiàn)設(shè)備的細(xì)顆粒度訪問(wèn)控制管理。
邊緣網(wǎng)關(guān)節(jié)點(diǎn)處理模塊是擁有一定計(jì)算能力的設(shè)備,處于網(wǎng)絡(luò)中間層(如:智能手機(jī)、智能網(wǎng)關(guān)等)。主要功能包括:1)加密設(shè)備信息;2)解密數(shù)據(jù)信息;3)驗(yàn)證設(shè)備權(quán)限;4)動(dòng)態(tài)更改設(shè)備權(quán)限;5)預(yù)處理數(shù)據(jù);6)數(shù)據(jù)轉(zhuǎn)發(fā)與獲取。設(shè)備通過(guò)邊緣網(wǎng)關(guān)節(jié)點(diǎn)的身份確認(rèn)后基于自身的權(quán)限才可通過(guò)邊緣網(wǎng)關(guān)節(jié)點(diǎn)獲取或發(fā)送對(duì)應(yīng)數(shù)據(jù)。
區(qū)塊鏈訪問(wèn)控制模塊為訪問(wèn)控制模塊的核心,通過(guò)可編程的智能合約為不同場(chǎng)合的物聯(lián)網(wǎng)系統(tǒng)提供不同的訪問(wèn)控制機(jī)制。它支持設(shè)備的動(dòng)態(tài)權(quán)限分配,以實(shí)現(xiàn)設(shè)備對(duì)數(shù)據(jù)的細(xì)顆粒度訪問(wèn)控制。主要功能包括:1)訪問(wèn)控制決策執(zhí)行;2)設(shè)備身份確認(rèn);3)設(shè)備權(quán)限分配。
本地設(shè)備數(shù)據(jù)存儲(chǔ)模塊用于與邊緣網(wǎng)關(guān)節(jié)點(diǎn)交互,存儲(chǔ)預(yù)處理的數(shù)據(jù),并在需要時(shí)將其發(fā)送至應(yīng)用服務(wù)模塊供用戶實(shí)時(shí)查看。
應(yīng)用服務(wù)模塊為上層數(shù)據(jù)傳輸接口,供用戶對(duì)數(shù)據(jù)進(jìn)行可視化操作。通過(guò)從邊緣網(wǎng)關(guān)節(jié)點(diǎn)和云終端節(jié)點(diǎn)獲取本地?cái)?shù)據(jù)和最終處理數(shù)據(jù),保證時(shí)效性的同時(shí)提高數(shù)據(jù)的精確度。
1.1.3IoT設(shè)備數(shù)據(jù)管理模塊
IoT設(shè)備數(shù)據(jù)管理模塊存儲(chǔ):1)由云終端處理后的邊緣網(wǎng)關(guān)模塊預(yù)處理數(shù)據(jù),供必要時(shí)查看;2)由邊緣網(wǎng)關(guān)模塊廣播的區(qū)塊鏈模塊中的設(shè)備信息,降低框架風(fēng)險(xiǎn)。
基于屬性的訪問(wèn)控制(Attribute-Based Access Control, ABAC)模型[16]的訪問(wèn)結(jié)構(gòu)由{主體,客體,操作,環(huán)境}構(gòu)成。它通過(guò)在對(duì)應(yīng)環(huán)境下主體向客體的操作是否包含正確的屬性來(lái)確定是否向主體提供訪問(wèn)權(quán)限。
1.2.1SC-ABAC模型
在物聯(lián)網(wǎng)環(huán)境中,由于屬性是每個(gè)主體、客體、操作和環(huán)境所固有的,將每種設(shè)備和資源的屬性與訪問(wèn)權(quán)限關(guān)聯(lián),使得ABAC模型適合管理物聯(lián)網(wǎng)的簡(jiǎn)單設(shè)備和廣泛數(shù)據(jù)。但對(duì)于異構(gòu)設(shè)備的動(dòng)態(tài)接入管理,ABAC采用屬性發(fā)現(xiàn)機(jī)制,并不能按{屬性,權(quán)限}對(duì)接入設(shè)備進(jìn)行精確合適的權(quán)限分配。而這會(huì)限制異構(gòu)設(shè)備對(duì)數(shù)據(jù)的正常訪問(wèn)和實(shí)時(shí)處理,給存在邊緣節(jié)點(diǎn)的場(chǎng)景帶來(lái)了挑戰(zhàn)。
因此本文針對(duì)異構(gòu)設(shè)備的動(dòng)態(tài)接入,基于ABAC提出SC-ABAC的訪問(wèn)控制模型,將智能合約與ABAC相結(jié)合,通過(guò)ABAC對(duì)資源和節(jié)點(diǎn)進(jìn)行權(quán)限劃分,并基于智能合約來(lái)確保對(duì)應(yīng)操作的正確執(zhí)行。
在SC-ABAC中,主體和客體被視為相同對(duì)象,這是因?yàn)樵谖锫?lián)網(wǎng)中每個(gè)設(shè)備都可以成為為其他設(shè)備提供資源的客體,或作為主體從其他設(shè)備訪問(wèn)資源。每個(gè)物聯(lián)網(wǎng)設(shè)備第一次接入時(shí)需通過(guò)邊緣服務(wù)器向區(qū)塊鏈注冊(cè)信息,并通過(guò)其固有屬性獲得對(duì)應(yīng)權(quán)限;為了設(shè)備自身的安全,將權(quán)限與橢圓曲線加密(Elliptic Curve Cryptography, ECC)[17]獲得的公鑰進(jìn)行綁定,并在之后的訪問(wèn)和數(shù)據(jù)傳輸過(guò)程中采用私鑰進(jìn)行加密。而屬性的判斷則基于智能合約進(jìn)行實(shí)現(xiàn),并將每次的訪問(wèn)請(qǐng)求和判斷結(jié)果存入?yún)^(qū)塊鏈中實(shí)現(xiàn)同步。
1.2.2基于SC-ABAC的智能合約設(shè)計(jì)
智能合約是一種直接控制區(qū)塊鏈內(nèi)部數(shù)據(jù)的人為編寫(xiě)的程序腳本[18],由區(qū)塊鏈內(nèi)的多個(gè)用戶共同參與實(shí)施,在沒(méi)有第三方的情況下也能控制交易的行為。智能合約可采用調(diào)用自定義函數(shù)來(lái)執(zhí)行相關(guān)命令:如發(fā)送某一節(jié)點(diǎn)的訪問(wèn)請(qǐng)求或返回結(jié)果。
1) MC用于管理相關(guān)策略,主體為訪問(wèn)發(fā)起人,由對(duì)應(yīng)的MAC地址代替,屬性為該對(duì)象所固有的特性,權(quán)限是以數(shù)值進(jìn)行描述的可操作行為,權(quán)限依次提高為讀取、寫(xiě)入、管理等。其中自定義函數(shù)有:
2) JC用于對(duì)某一對(duì)象申請(qǐng)對(duì)某一資源進(jìn)行操作時(shí)的判斷,通過(guò)對(duì)主體權(quán)限和資源權(quán)限的比較得出結(jié)果,包括允許所有操作、可讀寫(xiě)、可讀和非法訪問(wèn)等。其中自定義函數(shù)有:
3) PC用于對(duì)JC發(fā)送的結(jié)果進(jìn)行處理,如對(duì)訪問(wèn)越權(quán)數(shù)據(jù)的設(shè)備實(shí)施懲罰機(jī)制,或是對(duì)正常訪問(wèn)、發(fā)送數(shù)據(jù)的設(shè)備提供獎(jiǎng)勵(lì)機(jī)制,以達(dá)到分配動(dòng)態(tài)權(quán)限的目的。其中自定義函數(shù)有:
4) ACC用于實(shí)現(xiàn)對(duì)設(shè)備和資源進(jìn)行最終的訪問(wèn)控制,通過(guò)JC結(jié)果向主體返回判斷結(jié)果,通過(guò)PC結(jié)果向MC進(jìn)行主體和資源的函數(shù)操作:
基于區(qū)塊鏈的訪問(wèn)控制管理機(jī)制具體流程如圖2所示。
圖2 基于SC-ABAC的智能合約實(shí)現(xiàn)流程
Fig. 2 Flowchart of smart contract implementation based on SC-ABAC
本章將詳細(xì)介紹在基于區(qū)塊鏈和邊緣計(jì)算的物聯(lián)網(wǎng)訪問(wèn)控制流程,如圖3所示,以某一設(shè)備A接入邊緣服務(wù)器向某一資源B發(fā)出訪問(wèn)請(qǐng)求為例,其訪問(wèn)控制流程包括系統(tǒng)初始化階段、注冊(cè)階段、訪問(wèn)階段和授權(quán)階段。
圖3 具體設(shè)備訪問(wèn)數(shù)據(jù)的處理控制流程
3)區(qū)塊鏈調(diào)用智能合約對(duì)設(shè)備信息進(jìn)行一一存儲(chǔ)。
算法1 ECDSASIGN簽名算法。
begin
while true
do
重新選擇新的隨機(jī)素?cái)?shù)再次生成(,)
continue
重新選擇新的隨機(jī)素?cái)?shù)再次生成(,)
continue
done
end
算法2 ECDSASIGN簽名驗(yàn)證算法。
輸出 簽名驗(yàn)證結(jié)果true or false。
begin
簽名驗(yàn)證成功
return true
else
return false
end
1)管理合約(MC)通過(guò)解密后的Hash值獲取對(duì)應(yīng)權(quán)限,將其發(fā)送至判斷合約(JC)。
2)JC比較設(shè)備權(quán)限和數(shù)據(jù)權(quán)限大小,根據(jù)結(jié)果確定是否可以讀寫(xiě)或非法操作并發(fā)送至訪問(wèn)控制合約(ACC)和懲罰合約(PC)。
3)PC根據(jù)JC的結(jié)果決定對(duì)該設(shè)備實(shí)施懲罰或獎(jiǎng)勵(lì)機(jī)制,并將結(jié)果發(fā)送至ACC。
算法3 PoW共識(shí)算法優(yōu)化。
begin
while true
do
else
else
break
done
end
3.1.1實(shí)驗(yàn)環(huán)境構(gòu)建
本實(shí)驗(yàn)是在1臺(tái)運(yùn)行Windows 10專業(yè)版19042.928版本的i5-8400 2.80 GHz 24 GB 運(yùn)行內(nèi)存的個(gè)人計(jì)算機(jī)(Personal Computer, PC)和3臺(tái)擁有溫濕度傳感器DHT11模塊的CC2530(CPU為8051,運(yùn)行內(nèi)存8 KB)上進(jìn)行,區(qū)塊鏈由Node.Js Version 10.16.0實(shí)現(xiàn)。通過(guò)將3臺(tái)CC2530作為物聯(lián)網(wǎng)設(shè)備,獲取的溫濕度數(shù)據(jù)存儲(chǔ)至PC中作為物聯(lián)網(wǎng)數(shù)據(jù),PC作為邊緣節(jié)點(diǎn)基于SC-ABAC實(shí)現(xiàn)設(shè)備與數(shù)據(jù)的安全訪問(wèn)。
3.1.2訪問(wèn)控制策略設(shè)計(jì)
此次實(shí)驗(yàn)中設(shè)計(jì)了兩組訪問(wèn)控制策略,包括設(shè)備類型與操作許可。對(duì)于設(shè)備類型,管理員M0管理云C1、邊緣節(jié)點(diǎn)E2和終端設(shè)備D3,云的子設(shè)備為智能網(wǎng)關(guān)G4,邊緣節(jié)點(diǎn)和終端設(shè)備的子設(shè)備為底層物聯(lián)網(wǎng)設(shè)備d5~d7,物聯(lián)網(wǎng)設(shè)備管理數(shù)據(jù)D8;操作許可則包括數(shù)據(jù)的創(chuàng)建、更新、讀取和刪除4種操作。如圖4所示。
圖4 訪問(wèn)控制策略的設(shè)計(jì)
1)針對(duì)終端設(shè)備的數(shù)據(jù)泄露風(fēng)險(xiǎn)。
2)針對(duì)邊緣設(shè)備中的惡意用戶。
3)針對(duì)存儲(chǔ)節(jié)點(diǎn)中的不良服務(wù)商。
SC-ABAC的數(shù)據(jù)以智能合約的方式存于存儲(chǔ)節(jié)點(diǎn),原始數(shù)據(jù)的上傳、訪問(wèn)、失效都是以帶有時(shí)間戳的鏈?zhǔn)浇Y(jié)構(gòu)進(jìn)行記錄,并且全節(jié)點(diǎn)同步記錄信息,因此存儲(chǔ)節(jié)點(diǎn)的非法訪問(wèn)可被追溯且不可篡改。
4)針對(duì)網(wǎng)絡(luò)中存在的惡意攻擊者。
圖5 調(diào)用訪問(wèn)控制策略并加入?yún)^(qū)塊中
圖6 設(shè)備數(shù)據(jù)的入鏈
圖7 下的懲罰機(jī)制
圖8 合法訪問(wèn)的策略保障和基于數(shù)字簽名的驗(yàn)證機(jī)制
3.4.1區(qū)塊鏈系統(tǒng)的性能測(cè)試
在對(duì)模型進(jìn)行安全性分析后,本文通過(guò)設(shè)置主體對(duì)客體的不同訪問(wèn)次數(shù)來(lái)檢測(cè)本區(qū)塊鏈系統(tǒng)的性能。通過(guò)設(shè)置連續(xù)的高訪問(wèn)并發(fā)來(lái)確定性能,并通過(guò)資源監(jiān)視器和任務(wù)管理器來(lái)查看訪問(wèn)過(guò)程的CPU利用率。
圖9是連續(xù)的不同主體共500次對(duì)不同數(shù)據(jù)的訪問(wèn)耗時(shí),對(duì)應(yīng)數(shù)據(jù)為每10次的平均耗時(shí)??梢钥闯鲭S著訪問(wèn)次數(shù)的增加,每次訪問(wèn)的耗時(shí)呈線性增長(zhǎng),在第500次的每次訪問(wèn)的平均耗時(shí)約為1.3 s。這是因?yàn)樵诿看蔚脑L問(wèn)過(guò)程結(jié)束后都會(huì)將訪問(wèn)記錄存入?yún)^(qū)塊鏈中,使得每次的訪問(wèn)查詢數(shù)據(jù)在不斷增加,從而導(dǎo)致訪問(wèn)耗時(shí)隨訪問(wèn)次數(shù)的增加而線性增長(zhǎng)。圖10是在連續(xù)訪問(wèn)過(guò)程中的CPU利用率情況,可以看出在訪問(wèn)過(guò)程中CPU的利用率穩(wěn)定在30%左右,說(shuō)明本系統(tǒng)的訪問(wèn)過(guò)程對(duì)CPU的使用較為穩(wěn)定。
圖9 不同訪問(wèn)次數(shù)下的耗時(shí)
圖10 連續(xù)訪問(wèn)過(guò)程的CPU利用率
3.4.2系統(tǒng)安全性測(cè)試
而對(duì)攻擊者而言確定成功的區(qū)塊數(shù)目可看成泊松分布,其期望值如式(3):
轉(zhuǎn)化為式(5)即為攻擊者成功概率:
圖11 區(qū)塊鏈系統(tǒng)被成功攻擊概率對(duì)比
3.5.1不同智能合約下的時(shí)延對(duì)比
3.5.2共識(shí)機(jī)制的優(yōu)化
針對(duì)PoW共識(shí)機(jī)制進(jìn)行優(yōu)化,并通過(guò)比較本文的訪問(wèn)控制方案和PoW共識(shí)機(jī)制在相同節(jié)點(diǎn)數(shù)和難度為5下不同區(qū)塊中構(gòu)建的成本時(shí)間來(lái)測(cè)試分布式系統(tǒng)數(shù)據(jù)一致性效率。實(shí)驗(yàn)中區(qū)塊數(shù)目設(shè)置從1~100,結(jié)果如圖13所示,加粗線為本文優(yōu)化的PoW共識(shí)機(jī)制,虛線為原PoW共識(shí)機(jī)制,其中突出的峰值為達(dá)成共識(shí)時(shí)的耗時(shí)。從平均時(shí)間上優(yōu)化機(jī)制較原PoW每100個(gè)區(qū)塊的構(gòu)建時(shí)間減少了18.37%。由此可以看出,本文的優(yōu)化機(jī)制在區(qū)塊數(shù)量增長(zhǎng)的情況下要優(yōu)于PoW。
圖12 、和的處理時(shí)間
圖13 難度5下的優(yōu)化后共識(shí)算法和PoW對(duì)比
文獻(xiàn)[9]雖集成邊緣計(jì)算和區(qū)塊鏈技術(shù)來(lái)解決物聯(lián)網(wǎng)架構(gòu)下的數(shù)據(jù)安全問(wèn)題,但僅給出解決方案的概念設(shè)計(jì)并無(wú)實(shí)驗(yàn)進(jìn)行支撐。
文獻(xiàn)[10]同樣集成邊緣計(jì)算和區(qū)塊鏈技術(shù),采用區(qū)塊鏈技術(shù)和布隆過(guò)濾器[21]解決工業(yè)物聯(lián)網(wǎng)中設(shè)備的身份認(rèn)證和數(shù)據(jù)的訪問(wèn)控制,但同樣未給出實(shí)驗(yàn)結(jié)果。
文獻(xiàn)[11-13]在對(duì)物聯(lián)網(wǎng)訪問(wèn)控制的研究中僅考慮到使用區(qū)塊鏈技術(shù),包括提出訪問(wèn)控制框架、采用訪問(wèn)令牌或設(shè)計(jì)更優(yōu)的訪問(wèn)控制策略等方式,但未考慮到邊緣節(jié)點(diǎn)在當(dāng)前物聯(lián)網(wǎng)規(guī)模下的不可或缺性,因此在物聯(lián)網(wǎng)的訪問(wèn)控制研究中未考慮到邊緣節(jié)點(diǎn)的存在以及邊緣計(jì)算與區(qū)塊鏈集成下對(duì)現(xiàn)有物聯(lián)網(wǎng)訪問(wèn)控制研究的影響。
本文結(jié)合區(qū)塊鏈技術(shù)設(shè)計(jì)了一種通過(guò)物聯(lián)網(wǎng)邊緣節(jié)點(diǎn)對(duì)終端設(shè)備和資源的訪問(wèn)控制模型,旨在為目前處理邊緣計(jì)算和區(qū)塊鏈在物聯(lián)網(wǎng)安全體系下訪問(wèn)控制研究的不足提供新的解決思路?;谠械募蛇吘売?jì)算的物聯(lián)網(wǎng)體系,設(shè)計(jì)出集成邊緣計(jì)算的訪問(wèn)控制架構(gòu),將區(qū)塊鏈中的智能合約與基于屬性的訪問(wèn)控制相結(jié)合,提出了SC-ABAC模型。考慮到安全性能,基于ECC和ECDSA實(shí)現(xiàn)了基于區(qū)塊鏈的訪問(wèn)控制管理機(jī)制,并通過(guò)實(shí)驗(yàn)來(lái)驗(yàn)證模型與架構(gòu)的安全可靠性。對(duì)于未來(lái)的工作,考慮到本研究只針對(duì)邊緣物聯(lián)網(wǎng)下數(shù)據(jù)的訪問(wèn)控制進(jìn)行研究,對(duì)于數(shù)據(jù)本身存在的環(huán)境及個(gè)人隱私信息未作相應(yīng)的處理,下一步將試圖結(jié)合基于屬性的加密來(lái)構(gòu)建高效且保護(hù)隱私的邊緣物聯(lián)網(wǎng)環(huán)境。
[1] PULIAFITO C, MINGOZZI E, ANASTASI G. Fog computing for the Internet of mobile things: issues and challenges[C]// Proceedings of the 2017 IEEE International Conference on Smart Computing. Piscataway: IEEE, 2017: 1-6.
[2] SHI W S, CAO J, ZHANG Q, et al. Edge computing: vision and challenges[J]. IEEE Internet of Things Journal, 2016, 3(5): 637-646.
[3] YANG Q, LU R X, RONG C M, et al. Guest editorial the convergence of blockchain and IoT: opportunities, challenges and solutions[J]. IEEE Internet of Things Journal, 2019, 6(3): 4556-4560.
[4] DI FRANCESCO MAESA D, MORI P. Blockchain 3.0 applications survey[J]. Journal of Parallel and Distributed Computing, 2020, 138: 99-114.
[5] DWIVEDI A D, SRIVASTAVA G, DHAR S, et al. A decentralized privacy-preserving healthcare blockchain for IoT[J]. Sensors, 2019, 19(2): No.326.
[6] LIN C, HE D B, KUMAR N, et al. HomeChain: a blockchain-based secure mutual authentication system for smart homes[J]. IEEE Internet of Things Journal, 2020, 7(2): 818-829.
[7] TULI S, MAHMUD R, TULI S, et al. FogBus: a blockchain-based lightweight framework for edge and fog computing[J]. Journal of Systems and Software, 2019, 154: 22-36.
[8] REN Y J, LENG Y, CHENG Y P, et al. Secure data storage based on blockchain and coding in edge computing[J]. Mathematical Biosciences and Engineering, 2019, 16(4): 1874-1892.
[9] NYAMTIGA B W, SICATO J C S, RATHORE S, et al. Blockchain-based secure storage management with edge computing for IoT[J]. Electronics, 2019, 8(8): No.828.
[10] REN Y J, ZHU F J, QI J, et al. Identity management and access control based on blockchain under edge computing for the industrial Internet of things[J]. Applied Sciences, 2019, 9(10): No.2058.
[11] 史錦山,李茹,松婷婷. 基于區(qū)塊鏈的物聯(lián)網(wǎng)訪問(wèn)控制框架[J]. 計(jì)算機(jī)應(yīng)用, 2020, 40(4):931-941.(SHI J S, LI R, SONG T T. Blockchain-based access control framework for Internet of things[J]. Journal of Computer Applications, 2020, 40(4):931-941.)
[12] 王思源,鄒仕洪. 多域物聯(lián)網(wǎng)中基于區(qū)塊鏈和權(quán)能的訪問(wèn)控制機(jī)制[J]. 應(yīng)用科學(xué)學(xué)報(bào), 2021, 39(1):55-69.(WANG S Y, ZOU S H. Blockchain and capability based access control mechanism in multi-domain IoT[J]. Journal of Applied Sciences — Electronics and Information Engineering, 2021, 39(1):55-69.)
[13] 張建國(guó),胡曉輝. 基于以太坊的改進(jìn)物聯(lián)網(wǎng)設(shè)備訪問(wèn)控制機(jī)制研究[J]. 計(jì)算機(jī)工程, 2021, 47(4):32-39, 47.(ZHANG J G, HU X H. Research on improved access control mechanism of internet of things devices based on Ethereum[J]. Computer Engineering, 2021, 47(4):32-39, 47.)
[14] 程冠杰,黃諍杰,鄧水光. 基于區(qū)塊鏈與邊緣計(jì)算的物聯(lián)網(wǎng)數(shù)據(jù)管理[J]. 物聯(lián)網(wǎng)學(xué)報(bào), 2020, 4(2):1-9.(CHENG G J, HUANG Z J, DENG S G. Data management based on blockchain and edge computing for Internet of things[J]. Chinese Journal on Internet of Things, 2020, 4(2):1-9.)
[15] YANG R Z, YU F R, SI P B, et al. Integrated blockchain and edge computing systems: a survey, some research issues and challenges[J]. IEEE Communications Surveys and Tutorials, 2019, 21(2): 1508-1532.
[16] HU V C, KUHN D R, FERRAIOLO D F, et al. Attribute-based access control[J]. Computer, 2015, 48(2): 85-88.
[17] NYAME G, QIN Z G, AGYEKUM K O-B O, et al. An ECDSA approach to access control in knowledge management systems using blockchain[J]. Information, 2020, 11(2): No.111.
[18] 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.
[19] NAKAMOTO S. Bitcoin: a peer-to-peer electronic cash system[EB/OL]. [2021-01-20].https://bitcoin.org/bitcoin.pdf.
[20] JAVAID U, JAMEEL F, JAVAID U, et al. Rogue device mitigation in the Internet of Things: a blockchain-based access control approach[J]. Mobile Information Systems, 2020, 2020: No.8831976.
[21] HIEB J, SCHREIVER J, GRAHAM J. Using Bloom filters to ensure access control and authentication requirements for SCADA field devices[C]// Proceedings of the 2012 International Conference on Critical Infrastructure Protection, IFIPAICT 390. Berlin: Springer, 2012: 85-97.
ZHANG Jie, born in 1997, M. S. candidate. His research interests include internet of things security, blockchain, access control, edge computing.
XU Shanshan, born in 1994, M. S. candidate. Her research interests include lake surface water temperature, sensor.
YUAN Lingyun, born in 1980, Ph. D., professor. Her research interests include internet of things, sensor network.
1001-9081(2022)07-2104-08
Internet of things access control model based on blockchain and edge computing
ZHANG Jie1, XU Shanshan1,2, YUAN Lingyun1,3*
(1,,650500,;2,(),650500,;3,(),650500,)
The emergence of edge computing has expanded the scope of Internet of Things (IoT) cloud-terminal architecture. With the reduction of transmission and processing delays of massive data on terminal devices, it also brings new security issues. Aiming at the problem of data security and management issues between edge nodes of IoT and massive heterogeneous devices, and considering that blockchain technology is widely used in the security management of data in distributed systems, an IoT access control model Smart Contract for Attribute-Based Access Control (SC-ABAC) was proposed based on blockchain and edge computing. Firstly, an IoT access control architecture integrated with edge computing was proposed, and by combining smart contracts with Attribute-Based Access Control (ABAC), SC-ABAC was proposed and designed. Then, the optimization of Proof of Work (PoW) consensus algorithm and the access control management flow of SC-ABAC were given. Experimental results show that the time consumed by the proposed model increases linearly with the number of times under continuous access to the block, the Central Processing Unit (CPU) utilization rate is stable, and the CPU security is good during the continuous access process. In this model, the time consumption of calling contracts in the query process only increases linearly with the times, and the time consumptions of the strategy addition and judgment process are both constant. And the optimized consensus mechanism has about 18.37 percentage points less time consumption than PoW consensus per 100 blocks. Therefore, the proposed model can provide decentralized, fine-grained and dynamic access control management in the IoT environment, and can reach consensus faster in a distributed system to ensure data consistency.
Internet of Things (IoT); edge computing; blockchain; access control; attribute access; signature authentication
This work is partially supported by National Natural Science Foundation of China (61561055), Yunnan Fundamental Research Program (202101AT070098), Young Talent Program of Yunnan Ten Thousand People Project, Graduate Innovation Fund of Yunnan Normal University (ysdyjs2020148).
10.11772/j.issn.1001-9081.2021040626
2021?04?20;
2021?07?21;
2021?08?05。
國(guó)家自然科學(xué)基金資助項(xiàng)目(61561055);云南省基礎(chǔ)研究專項(xiàng)(202101AT070098);云南省萬(wàn)人計(jì)劃青年拔尖人才項(xiàng)目;云南師范大學(xué)研究生創(chuàng)新基金資助項(xiàng)目(ysdyjs2020148)。
TP309; TN929.5; TP391.44
A
張杰(1997—),男,安徽蕪湖人,碩士研究生,主要研究方向:物聯(lián)網(wǎng)安全、區(qū)塊鏈、訪問(wèn)控制、邊緣計(jì)算; 許姍姍(1994—),女,河南駐馬店人,碩士研究生,主要研究方向:湖泊表面水溫、傳感器; 袁凌云(1980—),女,云南昭通人,教授,博士,CCF會(huì)員,主要研究方向:物聯(lián)網(wǎng)、傳感器網(wǎng)絡(luò)。