999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于主側(cè)鏈合作的區(qū)塊鏈訪問(wèn)控制策略

2022-03-12 05:55:38朱炳旭梁佳杭任女爾季海鵬
計(jì)算機(jī)工程 2022年3期
關(guān)鍵詞:策略

劉 晶,朱炳旭,梁佳杭,任女爾,季海鵬

(1.河北工業(yè)大學(xué) 人工智能與數(shù)據(jù)科學(xué)學(xué)院,天津 300400;2.河北省數(shù)據(jù)驅(qū)動(dòng)工業(yè)智能工程研究中心,天津 300400;3.天津開(kāi)發(fā)區(qū)精諾瀚海數(shù)據(jù)科技有限公司,天津 300400;4.河北工業(yè)大學(xué) 材料科學(xué)與工程學(xué)院,天津 300400;5.中汽數(shù)據(jù)(天津)有限公司,天津 300393)

0 概述

在美國(guó)先進(jìn)制造戰(zhàn)略、德國(guó)工業(yè)4.0 戰(zhàn)略和中國(guó)制造2025 戰(zhàn)略[1]的大背景下,新一輪科技革命和產(chǎn)業(yè)變革蓬勃興起。作為新一代信息技術(shù)與制造業(yè)深度融合的產(chǎn)物,工業(yè)物聯(lián)網(wǎng)成為新工業(yè)革命的關(guān)鍵支撐。在工業(yè)物聯(lián)網(wǎng)急速發(fā)展的過(guò)程中,物聯(lián)網(wǎng)也承受著來(lái)自工業(yè)的海量數(shù)據(jù)[2]。然而對(duì)于高度依賴中心化服務(wù)器的傳統(tǒng)工業(yè)物聯(lián)網(wǎng)系統(tǒng)來(lái)說(shuō),數(shù)據(jù)的隱私保護(hù)、數(shù)據(jù)的可靠傳輸?shù)戎旅秉c(diǎn)正嚴(yán)重影響著工業(yè)物聯(lián)網(wǎng)的發(fā)展[3]。訪問(wèn)控制是一種可以保障數(shù)據(jù)僅能被認(rèn)可的用戶訪問(wèn)的一種數(shù)據(jù)保護(hù)技術(shù),但當(dāng)前的訪問(wèn)控制多采用集中式服務(wù)器來(lái)完成授權(quán)決策[4],這種設(shè)計(jì)很容易發(fā)生單點(diǎn)故障問(wèn)題,可靠性較低。同時(shí),傳統(tǒng)的訪問(wèn)控制在數(shù)據(jù)傳輸過(guò)程中容易被第三方截取篡改。因此,如何解決工業(yè)物聯(lián)網(wǎng)中訪問(wèn)控制的數(shù)據(jù)可靠傳輸和單點(diǎn)故障問(wèn)題成為工業(yè)物聯(lián)網(wǎng)發(fā)展的研究熱點(diǎn)。

區(qū)塊鏈?zhǔn)且环N新興的去中心化分布式存儲(chǔ)技術(shù),能夠在一個(gè)無(wú)中心的網(wǎng)絡(luò)環(huán)境中建立信任關(guān)系。區(qū)塊鏈從技術(shù)層面解決了中心化授權(quán)實(shí)體帶來(lái)的安全問(wèn)題,通過(guò)將區(qū)塊鏈與訪問(wèn)控制相結(jié)合,能夠有效避免單點(diǎn)故障問(wèn)題,提高訪問(wèn)控制的可靠性和安全性[5]。目前,已有研究人員將區(qū)塊鏈技術(shù)應(yīng)用到物聯(lián)網(wǎng)中與訪問(wèn)控制相結(jié)合來(lái)解決單點(diǎn)故障和數(shù)據(jù)的可靠傳輸問(wèn)題,并取得了較好的效果。文獻(xiàn)[6]介紹了物聯(lián)網(wǎng)環(huán)境下的單點(diǎn)故障和數(shù)據(jù)篡改問(wèn)題,設(shè)計(jì)并實(shí)現(xiàn)一種基于智能合約的物聯(lián)網(wǎng)訪問(wèn)控制系統(tǒng);文獻(xiàn)[7]針對(duì)目前傳統(tǒng)訪問(wèn)控制模型比較復(fù)雜的問(wèn)題,提出一種新的結(jié)合區(qū)塊鏈的訪問(wèn)控制模型,具備伸縮性、細(xì)粒度等特性,可在物聯(lián)網(wǎng)系統(tǒng)中進(jìn)行有效部署。

上述文獻(xiàn)都在一定程度上解決了物聯(lián)網(wǎng)環(huán)境中訪問(wèn)控制的單點(diǎn)故障問(wèn)題,但在實(shí)際應(yīng)用中,尤其是在工業(yè)物聯(lián)網(wǎng)中存在著海量的工業(yè)數(shù)據(jù)傳輸,要求工業(yè)物聯(lián)網(wǎng)中的區(qū)塊鏈系統(tǒng)具有較高的吞吐率和較短的交易確認(rèn)時(shí)間。針對(duì)上述問(wèn)題,文獻(xiàn)[8]提出一種在許可環(huán)境下的可信交易框架,增加單位時(shí)間的交易處理能力來(lái)提升數(shù)據(jù)傳輸速度;文獻(xiàn)[9]設(shè)計(jì)一種滿足工業(yè)環(huán)境要求的高效與安全分層擴(kuò)展式區(qū)塊鏈。上述方案都在一定程度上解決了區(qū)塊鏈的數(shù)據(jù)傳輸吞吐率的問(wèn)題,然而在工業(yè)物聯(lián)網(wǎng)環(huán)境下的訪問(wèn)控制每次進(jìn)行訪問(wèn)請(qǐng)求時(shí)都需要區(qū)塊鏈進(jìn)行驗(yàn)證,盡管對(duì)區(qū)塊鏈結(jié)構(gòu)進(jìn)行了優(yōu)化,但在海量節(jié)點(diǎn)的環(huán)境下,再高效的驗(yàn)證機(jī)制也會(huì)因節(jié)點(diǎn)的龐大數(shù)量而降低數(shù)據(jù)的傳輸速度。

側(cè)鏈技術(shù)是一種區(qū)塊鏈二層擴(kuò)容技術(shù),該技術(shù)通過(guò)將一些頻繁、小額的交易轉(zhuǎn)移到側(cè)鏈上來(lái)降低主網(wǎng)的交易壓力,有效提高交易效率[10]。在工業(yè)物聯(lián)網(wǎng)環(huán)境下,絕大部分節(jié)點(diǎn)的資源訪問(wèn)請(qǐng)求內(nèi)容是相同的,但訪問(wèn)頻率較高,對(duì)于這類請(qǐng)求,在驗(yàn)證了節(jié)點(diǎn)安全性之后僅需要批量進(jìn)行區(qū)塊驗(yàn)證即可達(dá)到目的。因此,可以在以太坊上部署對(duì)應(yīng)的側(cè)鏈技術(shù),將這些高頻節(jié)點(diǎn)的訪問(wèn)請(qǐng)求放到側(cè)鏈上進(jìn)行處理;主網(wǎng)僅需要對(duì)區(qū)塊進(jìn)行批量驗(yàn)證即可在解決單點(diǎn)故障問(wèn)題的同時(shí),保證數(shù)據(jù)的傳輸速度。

針對(duì)工業(yè)物聯(lián)網(wǎng)環(huán)境下訪問(wèn)控制的單點(diǎn)故障和高效傳輸問(wèn)題,本文提出一種基于主側(cè)鏈合作的工業(yè)物聯(lián)網(wǎng)訪問(wèn)控制策略。該策略引入側(cè)鏈對(duì)區(qū)塊鏈進(jìn)行擴(kuò)容,提高區(qū)塊鏈的數(shù)據(jù)承載能力,并設(shè)計(jì)適用于主側(cè)鏈區(qū)塊鏈結(jié)構(gòu)的訪問(wèn)控制模型,以滿足數(shù)據(jù)高速傳輸?shù)男枨蟆?/p>

1 相關(guān)理論基礎(chǔ)

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

區(qū)塊鏈技術(shù)是分布式數(shù)據(jù)存儲(chǔ)、點(diǎn)對(duì)點(diǎn)傳輸、共識(shí)機(jī)制、加密算法等計(jì)算機(jī)技術(shù)的新型應(yīng)用模式,它起源于《Bitcoin:A Peer-to Peer Electronic Cash System》[11],其中去中心化是區(qū)塊鏈的一個(gè)顯著特點(diǎn),區(qū)塊鏈?zhǔn)褂梅植际胶怂銉?chǔ)存自成一體,不依賴于任何中心機(jī)構(gòu),也沒(méi)有中心管制,任何節(jié)點(diǎn)的權(quán)力和義務(wù)都是均等的,系統(tǒng)中的數(shù)據(jù)由整個(gè)系統(tǒng)來(lái)維護(hù)。另外,在區(qū)塊鏈中,交易的私有信息被加密,其他數(shù)據(jù)對(duì)所有人開(kāi)放,所有人都可以通過(guò)公開(kāi)接口查詢區(qū)塊鏈數(shù)據(jù)和開(kāi)發(fā)的相關(guān)應(yīng)用,該系統(tǒng)信息高度透明。區(qū)塊鏈通過(guò)哈希算法使所有節(jié)點(diǎn)都產(chǎn)生信任,無(wú)法人為干預(yù),各區(qū)塊節(jié)點(diǎn)的身份信息不需要公開(kāi)或驗(yàn)證使對(duì)方產(chǎn)生信任,只需要遵循固定的算法,就可以達(dá)到數(shù)據(jù)交互的信任。

1.2 以太坊擴(kuò)容

區(qū)塊鏈作為一種分布式網(wǎng)絡(luò)存儲(chǔ)技術(shù),同樣存在性能瓶頸,其中最突出的是區(qū)塊鏈可擴(kuò)展性非常差。以太坊公有鏈的核心限制是每一筆交易都要由網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)進(jìn)行處理,這意味著以太坊整個(gè)網(wǎng)絡(luò)的吞吐量(TPS)不能高于以太坊單個(gè)節(jié)點(diǎn)的吞吐量。理論上,以太坊可以通過(guò)提高節(jié)點(diǎn)的區(qū)塊工作量來(lái)實(shí)現(xiàn)擴(kuò)容[12],但這是以去中心化為代價(jià)的,因?yàn)楣?jié)點(diǎn)的工作多,意味著算力小的計(jì)算機(jī)可能會(huì)退出網(wǎng)絡(luò)。這一問(wèn)題一直以來(lái)都是限制區(qū)塊鏈發(fā)展的一大隱患,但由于起初用戶量較小,其弊端并沒(méi)有顯現(xiàn)出來(lái)。然而,隨著區(qū)塊鏈技術(shù)的不斷發(fā)展,越來(lái)越多的研究人員開(kāi)始嘗試這項(xiàng)新技術(shù),海量的用戶使以太坊變得非常擁堵,同時(shí)可以預(yù)見(jiàn)到未來(lái)會(huì)有越來(lái)越多的項(xiàng)目在以太坊的基礎(chǔ)上構(gòu)建。因此,解決以太坊擴(kuò)容這一難題勢(shì)在必行。

目前常見(jiàn)的擴(kuò)容技術(shù)可以分為L(zhǎng)ayer1 層擴(kuò)容和Layer2 層擴(kuò)容兩種。Layer1 層的擴(kuò)容方案采用分片技術(shù)[13],即讓區(qū)塊鏈不同的節(jié)點(diǎn)子集處理區(qū)塊鏈的不同部分,通過(guò)分割數(shù)據(jù)以減少區(qū)塊鏈節(jié)點(diǎn)必須存儲(chǔ)和處理的數(shù)量,由此來(lái)達(dá)到擴(kuò)容效果。但由于分片涉及到區(qū)塊鏈底層協(xié)議的更改,因此分片技術(shù)提出后并沒(méi)有進(jìn)行實(shí)際的應(yīng)用。并且分片的數(shù)量受制于整個(gè)網(wǎng)絡(luò)的節(jié)點(diǎn)數(shù)量和處理能力,因此Layer1 層的擴(kuò)容方案逐漸被廢棄。Layer2 層的擴(kuò)容方案則是線下擴(kuò)容[14],即區(qū)塊鏈主鏈不作改變,而是將所有計(jì)算委托給一組強(qiáng)大的節(jié)點(diǎn)來(lái)完成,這組節(jié)點(diǎn)并不直接鏈在主鏈上,因此其計(jì)算能力并不會(huì)受區(qū)塊鏈網(wǎng)絡(luò)條件的制約。在交易速度上,以太坊目前的交易速度約是15 筆/s,而根據(jù)Layer2 層的解決方案,以太坊的交易速度可達(dá)2 000~4 000 筆/s。因此,Layer2層的解決方案成為目前主要的擴(kuò)容方向。Layer2 層的擴(kuò)容方案比較著名的有狀態(tài)通道、Plasma、Rollup 等。

1.3 Plasma 方案和Loom 側(cè)鏈

Plasma 方案是由BUTERIN(以太坊創(chuàng)始人)和POON(閃電網(wǎng)絡(luò)創(chuàng)始人)在2017 年共同提出的,它是一個(gè)在以太坊上構(gòu)建可擴(kuò)展應(yīng)用的框架,允許創(chuàng)建附加在以太坊主鏈上的子鏈;同時(shí),這些子鏈也可以產(chǎn)生自己的子鏈。其結(jié)果就是這些子鏈只需與以太坊主鏈進(jìn)行極少量的交互就能運(yùn)行擁有數(shù)千名用戶的整個(gè)應(yīng)用程序[15]。由于子鏈上的操作不需要在整個(gè)以太坊區(qū)塊鏈存留副本,因此子鏈的運(yùn)行速度更快,交易費(fèi)用更低。Loom 側(cè)鏈則是一條實(shí)現(xiàn)了Plasma Cash 框架模型的高性能DPOS 側(cè)鏈,它由以太坊底層網(wǎng)絡(luò)安全背書(shū),因此能夠享受DPOS 算法帶來(lái)的高性能共識(shí)。同時(shí),Loom 團(tuán)隊(duì)設(shè)計(jì)了能夠快速搭建屬于用戶自己區(qū)塊鏈的Loom SDK(工具集),使用戶可以根據(jù)自身需求設(shè)計(jì)自己的區(qū)塊鏈。

1.4 工業(yè)物聯(lián)網(wǎng)的數(shù)據(jù)訪問(wèn)與管理

物聯(lián)網(wǎng)是一個(gè)以數(shù)據(jù)為核心的網(wǎng)絡(luò),尤其是在工業(yè)物聯(lián)網(wǎng)中,各終端設(shè)備之間的互聯(lián)互通都是以數(shù)據(jù)作為中介。因此,數(shù)據(jù)的訪問(wèn)和管理是整個(gè)工業(yè)物聯(lián)網(wǎng)互聯(lián)的關(guān)鍵所在。由于工業(yè)物聯(lián)網(wǎng)中的終端設(shè)備存在類型復(fù)雜、存儲(chǔ)能力、計(jì)算能力大小不一等問(wèn)題,目前數(shù)據(jù)的訪問(wèn)和管理通常由一個(gè)集中式的可信第三方實(shí)體實(shí)現(xiàn)。可信實(shí)體通過(guò)集中式服務(wù)器進(jìn)行管理,依據(jù)訪控策略和其他屬性信息進(jìn)行決策[16]。同時(shí),為解決終端節(jié)點(diǎn)傳輸?shù)暮A繑?shù)據(jù)所帶來(lái)的訪問(wèn)和管理壓力,在工業(yè)物聯(lián)網(wǎng)中主要通過(guò)建立多個(gè)數(shù)據(jù)中心、構(gòu)建分布式架構(gòu)等方式進(jìn)行應(yīng)對(duì)。

2 基于主側(cè)鏈合作的區(qū)塊鏈訪問(wèn)控制

2.1 策略架構(gòu)

在物聯(lián)網(wǎng)領(lǐng)域,訪問(wèn)控制需要做到對(duì)請(qǐng)求的快速響應(yīng)和回復(fù)。為滿足上述需求,在物聯(lián)網(wǎng)領(lǐng)域使用區(qū)塊鏈的訪問(wèn)控制策略中,常用的方法是將架構(gòu)分為區(qū)塊鏈端和物聯(lián)網(wǎng)設(shè)備端兩個(gè)部分[17]。但在工業(yè)物聯(lián)網(wǎng)領(lǐng)域,不僅節(jié)點(diǎn)數(shù)目龐大,而且很多節(jié)點(diǎn)并不需要同時(shí)完成資源的請(qǐng)求和上傳兩項(xiàng)工作。同時(shí),許多工業(yè)數(shù)據(jù)對(duì)廠商來(lái)說(shuō)極為重要,因此不僅要確認(rèn)訪問(wèn)控制模型的安全性,而且還要對(duì)連入物聯(lián)網(wǎng)的各設(shè)備進(jìn)行安全性驗(yàn)證。

針對(duì)上述工業(yè)物聯(lián)網(wǎng)領(lǐng)域的訪問(wèn)控制架構(gòu)問(wèn)題,本文設(shè)計(jì)一種針對(duì)工業(yè)物聯(lián)網(wǎng)的策略架構(gòu),如圖1 所示。該架構(gòu)根據(jù)對(duì)資源的使用情況分成客戶端、區(qū)塊鏈網(wǎng)絡(luò)、設(shè)備端3 個(gè)部分,客戶端和設(shè)備端分別是資源的上傳者和請(qǐng)求者,其中:客戶端負(fù)責(zé)資源上傳、策略制定以及資源使用授權(quán),同時(shí)客戶端配置了與區(qū)塊鏈相連接的SDK,實(shí)現(xiàn)客戶端與區(qū)塊鏈網(wǎng)絡(luò)的連接;設(shè)備端則是對(duì)一些資源進(jìn)行請(qǐng)求使用,這部分的設(shè)備通常為一些邊緣終端,運(yùn)算能力較弱,因此通過(guò)網(wǎng)關(guān)與區(qū)塊鏈網(wǎng)絡(luò)相連接,發(fā)送對(duì)資源的請(qǐng)求。通過(guò)統(tǒng)一各終端的請(qǐng)求流向并進(jìn)行分離,避免了請(qǐng)求沖突的出現(xiàn),實(shí)現(xiàn)了請(qǐng)求的高速傳輸。

圖1 工業(yè)物聯(lián)網(wǎng)策略架構(gòu)Fig.1 Strategy architecture of industrial Internet of things

區(qū)塊鏈網(wǎng)絡(luò)是主要的策略邏輯部分,為保證區(qū)塊鏈網(wǎng)絡(luò)的安全,設(shè)計(jì)對(duì)物聯(lián)網(wǎng)設(shè)備的身份驗(yàn)證,即對(duì)于連入?yún)^(qū)塊鏈網(wǎng)絡(luò)的終端都需要預(yù)先進(jìn)行登錄驗(yàn)證,之后才會(huì)被允許連入。對(duì)以太坊的數(shù)據(jù)確認(rèn)過(guò)程進(jìn)行分析可以發(fā)現(xiàn),在以太坊上,每進(jìn)行一次操作就需要進(jìn)行一次全節(jié)點(diǎn)確認(rèn),這是以太坊吞吐率低的主要原因。但在工業(yè)物聯(lián)網(wǎng)的環(huán)境下,由于終端操作存在批量重復(fù)請(qǐng)求的原因,其并不需要每一次操作都進(jìn)行全節(jié)點(diǎn)的確認(rèn),僅需要對(duì)關(guān)鍵操作進(jìn)行確認(rèn)即可[18]。因此,本文區(qū)塊鏈將智能合約模塊放到側(cè)鏈上,由側(cè)鏈進(jìn)行訪問(wèn)控制策略的執(zhí)行。該方法大幅減少了以太坊上的確認(rèn)次數(shù),提高了區(qū)塊鏈的使用效率。側(cè)鏈的數(shù)據(jù)通過(guò)礦工Operator 打包發(fā)送給與以太坊相連的Plasma 合約,分批次進(jìn)行發(fā)送。以太坊作為主鏈,僅需要按批次地通過(guò)Plasma 合約獲取交易的哈希值,并將其同步到以太坊進(jìn)行鎖定即可,這樣既提高了訪問(wèn)控制的速度,又實(shí)現(xiàn)了去中心化的訪問(wèn)控制。

2.2 訪問(wèn)控制模型

在工業(yè)物聯(lián)網(wǎng)的訪問(wèn)控制中,既要做到對(duì)權(quán)限有簡(jiǎn)單明確的劃分,又要防止發(fā)生過(guò)度授權(quán),出現(xiàn)隱私數(shù)據(jù)泄露等風(fēng)險(xiǎn)。因此,需要根據(jù)使用場(chǎng)景特點(diǎn)進(jìn)行有針對(duì)性的訪問(wèn)控制權(quán)限劃分。對(duì)于工業(yè)物聯(lián)網(wǎng)場(chǎng)景來(lái)說(shuō),最重要的是要防止數(shù)據(jù)的泄露,盡管研究人員對(duì)各常見(jiàn)的模型設(shè)計(jì)一些方法,如角色集、權(quán)限集等方法來(lái)防范非法訪問(wèn),但這種方法對(duì)保護(hù)措施的設(shè)計(jì)都有很高的要求[19],并且如果防范方法被破解,不法者就能迅速獲取各種數(shù)據(jù)資源,使工廠遭受無(wú)法挽回的損失。為更有效地防范數(shù)據(jù)泄露,本文設(shè)計(jì)一種基于主側(cè)鏈合作的訪問(wèn)控制模型。通過(guò)執(zhí)行點(diǎn)將資源與策略的管理相分離,每次的訪問(wèn)都僅能收到請(qǐng)求資源的返回,由此來(lái)從根源上切斷數(shù)據(jù)的泄露,達(dá)到數(shù)據(jù)安全防范的效果。模型架構(gòu)如圖2 所示。

圖2 訪問(wèn)控制模型架構(gòu)Fig.2 Architecture of access control model

模型在與主客體直接相連的部分設(shè)計(jì)了主體信息點(diǎn)和客體信息點(diǎn),主體信息點(diǎn)是與主體交互的訪問(wèn)控制執(zhí)行點(diǎn),負(fù)責(zé)傳遞主體的訪問(wèn)請(qǐng)求和主體信息,以及返回處理請(qǐng)求后的執(zhí)行結(jié)果。客體信息點(diǎn)是與客體資源交互的執(zhí)行點(diǎn),負(fù)責(zé)收集客體以及資源的屬性,當(dāng)出現(xiàn)訪問(wèn)請(qǐng)求時(shí)上傳所需客體資源信息,供訪問(wèn)控制策略參考。這種設(shè)計(jì)阻隔了外部實(shí)體對(duì)模型內(nèi)部的直接訪問(wèn),避免了非法入侵[20]。同時(shí),數(shù)據(jù)的輸出通過(guò)執(zhí)行點(diǎn)直接返回給各自連接的實(shí)體,有效避免了數(shù)據(jù)的泄露。信息處理點(diǎn)的設(shè)計(jì)則是將訪問(wèn)控制策略的執(zhí)行與存儲(chǔ)分離,出現(xiàn)請(qǐng)求時(shí)處理點(diǎn)直接調(diào)取設(shè)計(jì)好的訪問(wèn)控制策略對(duì)請(qǐng)求進(jìn)行判斷,處理點(diǎn)只有調(diào)取訪控策略的權(quán)限,并不能修改策略。并且每次查看策略的權(quán)限在完成本次訪問(wèn)請(qǐng)求后將會(huì)收回,有效地避免了訪問(wèn)控制策略的泄露,極大增強(qiáng)了模型的安全性。

2.3 合約設(shè)計(jì)

為實(shí)現(xiàn)上述訪問(wèn)控制策略,本文通過(guò)3 個(gè)部署在側(cè)鏈上的智能合約來(lái)完成訪問(wèn)控制權(quán)限的決策授權(quán)和決策的信息管理,3 個(gè)合約分別是前置合約、訪問(wèn)控制合約和監(jiān)管合約。合約的交互方式如圖3所示。

圖3 合約在側(cè)鏈上的交互方式Fig.3 Interaction way of contracts on the sidechain

在側(cè)鏈上,區(qū)塊鏈的頭部部署前置合約,它維護(hù)一張信息表用來(lái)記錄監(jiān)管合約和訪問(wèn)控制合約的相關(guān)信息。然后在下一個(gè)區(qū)塊上部署監(jiān)管合約,合約中包含了時(shí)間容忍度函數(shù),用來(lái)對(duì)訪問(wèn)者的訪問(wèn)頻率進(jìn)行監(jiān)控,對(duì)規(guī)定范圍的訪問(wèn)進(jìn)行批量允許訪問(wèn)。同時(shí),監(jiān)管合約維護(hù)一張違規(guī)訪問(wèn)表,用來(lái)記錄違規(guī)的訪問(wèn)者并進(jìn)行一定的懲戒。之后的區(qū)塊用來(lái)放置訪問(wèn)控制合約,每個(gè)區(qū)塊鏈連接不同的物聯(lián)網(wǎng)設(shè)備,訪問(wèn)控制合約維護(hù)訪問(wèn)策略表和訪問(wèn)記錄表,當(dāng)出現(xiàn)訪問(wèn)請(qǐng)求時(shí),訪問(wèn)控制合約會(huì)根據(jù)制定的訪問(wèn)策略以及監(jiān)管合約的檢測(cè)結(jié)果,對(duì)訪問(wèn)請(qǐng)求進(jìn)行回應(yīng),并且當(dāng)有新的訪問(wèn)控制策略加入時(shí),只需繼續(xù)在鏈上添加新的訪問(wèn)控制合約即可。

2.4 數(shù)據(jù)同步驗(yàn)證

為防止數(shù)據(jù)被篡改,區(qū)塊鏈需要對(duì)數(shù)據(jù)進(jìn)行同步驗(yàn)證。區(qū)塊鏈中使用的是默克爾樹(shù)算法,在該算法下各數(shù)據(jù)通過(guò)哈希算法求出哈希值,區(qū)塊鏈中僅保留最終產(chǎn)生的根哈希即可對(duì)數(shù)據(jù)進(jìn)行同步驗(yàn)證。但這種算法同樣存在弊端,該算法在驗(yàn)證某個(gè)數(shù)據(jù)不存在于區(qū)塊中時(shí)會(huì)十分困難。因此,Plasma Cash 框架中使用了稀疏默克爾樹(shù)算法[21],該算法通過(guò)將鏈上數(shù)據(jù)按照元素序號(hào)順序進(jìn)行排列,由此形成一個(gè)有序的葉子節(jié)點(diǎn)序列。當(dāng)某處沒(méi)有交易時(shí),葉子節(jié)點(diǎn)直接存儲(chǔ)一個(gè)空值;當(dāng)需要驗(yàn)證數(shù)據(jù)不存在性時(shí),只需根據(jù)數(shù)據(jù)位置查找,找到空位置即可完成不存在性證明。訪問(wèn)控制信息存儲(chǔ)到側(cè)鏈上以后,使用稀疏默克爾樹(shù)算法進(jìn)行哈希鎖定,并將默克爾根同步到以太坊主鏈。一旦信息被篡改,默克爾根也會(huì)隨之改變[22],主鏈負(fù)責(zé)數(shù)據(jù)的驗(yàn)證,側(cè)鏈負(fù)責(zé)數(shù)據(jù)的存儲(chǔ)和請(qǐng)求的處理,既保證了數(shù)據(jù)的真實(shí)性,又大幅提高了區(qū)塊鏈的吞吐率。稀疏默克爾樹(shù)算法流程如圖4 所示。

圖4 稀疏默克爾樹(shù)算法流程Fig.4 Procedure of sparse Merkel tree algorithm

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

通過(guò)仿真實(shí)驗(yàn),對(duì)本文的訪問(wèn)控制模型以及側(cè)鏈的性能進(jìn)行測(cè)試,并對(duì)其安全性和存儲(chǔ)占用進(jìn)行分析。側(cè)鏈通過(guò)Loom SDK 部署,采用DPOS 共識(shí)機(jī)制,使用10 個(gè)節(jié)點(diǎn)來(lái)處理交易;主鏈通過(guò)Geth 部署,采用POA 共識(shí)機(jī)制,部署5 個(gè)節(jié)點(diǎn)進(jìn)行驗(yàn)證。主側(cè)鏈實(shí)驗(yàn)環(huán)境如下:處理器Intel?CoreTMi7-9750H,主頻2.60 GHz,內(nèi)存大小為16 GB,操作系統(tǒng)為ubuntu18.04LTS,Node.js 版本為v8.10.0。

3.1 模型性能分析

訪問(wèn)控制策略的生成時(shí)間是衡量訪問(wèn)控制模型優(yōu)劣的一個(gè)重要指標(biāo)。為驗(yàn)證本文模型在策略生成方面的效果,設(shè)計(jì)了一個(gè)傳統(tǒng)的區(qū)塊鏈物聯(lián)網(wǎng)訪問(wèn)控制模型來(lái)進(jìn)行對(duì)比實(shí)驗(yàn)。此次實(shí)驗(yàn)準(zhǔn)備了一組次數(shù) 為50 次、100 次、200 次、500 次、800次的并發(fā)實(shí)驗(yàn),對(duì)2 個(gè)模型均進(jìn)行測(cè)試并進(jìn)行記錄該訪問(wèn)次數(shù)下的平均時(shí)間。由于側(cè)鏈無(wú)需進(jìn)行區(qū)塊確認(rèn),因此為更加直觀地看到模型控制策略的生成速度,將本文模型放到以太坊測(cè)試鏈上進(jìn)行實(shí)驗(yàn),結(jié)果如圖5所示。

圖5 訪問(wèn)控制模型生成速度對(duì)比Fig.5 Comparison of generation speed of access control model

從圖5 可以看出:傳統(tǒng)訪問(wèn)控制模型的策略生成時(shí)間與本文模型相比,策略的生成時(shí)間會(huì)隨著并發(fā)次數(shù)的增加有較高的上升;而主側(cè)鏈合作訪問(wèn)控制模型能更快地生成訪問(wèn)策略,并且生成策略的延遲在高頻訪問(wèn)時(shí)趨于穩(wěn)定。由實(shí)驗(yàn)數(shù)據(jù)可知,主側(cè)鏈合作訪問(wèn)控制模型更適用于工業(yè)物聯(lián)網(wǎng)海量終端節(jié)點(diǎn)的應(yīng)用情況。

3.2 側(cè)鏈性能測(cè)試與分析

工業(yè)物聯(lián)網(wǎng)下的訪問(wèn)控制要求區(qū)塊鏈既要保障數(shù)據(jù)的穩(wěn)定傳輸,又要降低數(shù)據(jù)傳輸?shù)难舆t以保證數(shù)據(jù)請(qǐng)求的時(shí)效性。為測(cè)試側(cè)鏈的穩(wěn)定性,實(shí)驗(yàn)選擇將前置合約分別部署于以太坊測(cè)試鏈和Plasma 側(cè)鏈上,模擬向合約中寫(xiě)入訪問(wèn)控制合約相關(guān)信息。實(shí)驗(yàn)進(jìn)行的寫(xiě)入次數(shù)分別為50 次、100 次、200 次、500 次、800 次。實(shí)驗(yàn)結(jié)果如圖6所示。

圖6 以太坊測(cè)試鏈與側(cè)鏈寫(xiě)入數(shù)據(jù)延遲對(duì)比Fig.6 Comparison of write data delay between Ethereum test chain and sidechain

從圖6 數(shù)據(jù)可以看出:在以太坊測(cè)試鏈上由于受到區(qū)塊同步等因素的影響,數(shù)據(jù)寫(xiě)入的延遲起伏較大,且延遲時(shí)間較高。對(duì)于工業(yè)物聯(lián)網(wǎng)來(lái)說(shuō),保持?jǐn)?shù)據(jù)傳輸?shù)姆€(wěn)定是重中之重,因此以太坊區(qū)塊鏈并不完全適配于工業(yè)物聯(lián)網(wǎng)環(huán)境。但可以看到在Plasma 側(cè)鏈上,寫(xiě)入數(shù)據(jù)的延遲一直維持在一個(gè)很低的時(shí)間,且在不同的寫(xiě)入次數(shù)下都能保持穩(wěn)定。說(shuō)明對(duì)于工業(yè)物聯(lián)網(wǎng)環(huán)境,Plasma 側(cè)鏈更加符合要求。

吞吐量是衡量一個(gè)訪問(wèn)控制模型策略傳輸速度的重要指標(biāo)[23]。在測(cè)試側(cè)鏈的穩(wěn)定性之后,還需要測(cè)試側(cè)鏈的吞吐量以保證面對(duì)海量數(shù)據(jù)傳輸時(shí)不會(huì)出現(xiàn)數(shù)據(jù)擁堵和側(cè)鏈宕機(jī)的情況。為測(cè)試側(cè)鏈應(yīng)對(duì)不同數(shù)據(jù)量時(shí)的吞吐量,實(shí)驗(yàn)通過(guò)docker 容器模擬10個(gè)客戶端節(jié)點(diǎn)向側(cè)鏈發(fā)送50 次、100 次、200 次、400 次、700 次、1 100 次、1 600 次并發(fā)請(qǐng)求,分別對(duì)策略寫(xiě)入請(qǐng)求和訪問(wèn)資源請(qǐng)求進(jìn)行記錄,實(shí)驗(yàn)結(jié)果如圖7、圖8 所示。從圖中數(shù)據(jù)可以看出:在面對(duì)不同數(shù)量級(jí)的并發(fā)請(qǐng)求時(shí),側(cè)鏈的吞吐量一直穩(wěn)定在210 Transactions/s 左右,策略寫(xiě)入請(qǐng)求和訪問(wèn)資源請(qǐng)求基本沒(méi)有差異,具備承載工業(yè)物聯(lián)網(wǎng)訪問(wèn)控制的能力。

圖7 寫(xiě)入請(qǐng)求測(cè)試結(jié)果Fig.7 Write request test result

圖8 訪問(wèn)資源測(cè)試結(jié)果Fig.8 Access resource test result

3.3 安全性分析

安全性分析包括以下3 個(gè)方面:

1)透明性

本文通過(guò)區(qū)塊鏈上的智能合約實(shí)現(xiàn)分布式的訪問(wèn)控制機(jī)制。客體的違規(guī)記錄、資源的授權(quán)、訪控策略的存儲(chǔ)均由區(qū)塊鏈負(fù)責(zé),實(shí)現(xiàn)整個(gè)授權(quán)過(guò)程中的透明性。

2)不可偽造性

Loom 側(cè)鏈基于Plasma Cash 框架模型實(shí)現(xiàn),該框架下每進(jìn)行一次操作就會(huì)分配一個(gè)唯一的ID,并將操作記錄在稀疏Merkle樹(shù)中[24]。通過(guò)這個(gè)ID 可以檢索到Merkle 樹(shù)結(jié)點(diǎn)的位置,進(jìn)而找到操作記錄。通過(guò)ID 的不可偽造性防止側(cè)鏈作惡,實(shí)現(xiàn)側(cè)鏈的安全。

3)隱私性

在整個(gè)訪問(wèn)過(guò)程中,客體和主體之間不發(fā)生直接接觸,雙方的請(qǐng)求和資源均由信息點(diǎn)收集和發(fā)送,互相無(wú)法得到對(duì)方的信息,保證了隱私性[25]。

3.4 訪問(wèn)控制策略存儲(chǔ)占用分析

隨著工業(yè)物聯(lián)網(wǎng)中設(shè)備、請(qǐng)求數(shù)量的不斷增加,訪問(wèn)控制合約的代碼量也隨之飛速增長(zhǎng),對(duì)區(qū)塊鏈的存儲(chǔ)造成了較大的壓力。由于訪問(wèn)控制策略的架構(gòu)不同,因此存儲(chǔ)空間占用的大小和增速也不同。所以,在訪問(wèn)控制合約設(shè)計(jì)時(shí),應(yīng)當(dāng)充分考慮對(duì)區(qū)塊鏈造成的存儲(chǔ)壓力。目前常用的防控策略主要有基于角色的訪問(wèn)控制(RBAC)和基于屬性的訪問(wèn)控制(ABAC)兩種。RBAC 策略將角色和權(quán)限關(guān)聯(lián),用戶通過(guò)系統(tǒng)給予的角色來(lái)獲得相應(yīng)的權(quán)限[26]。該策略能夠支持物聯(lián)網(wǎng)環(huán)境的跨域控制、設(shè)備異構(gòu)等特性。ABAC 策略則是將屬性作為控制權(quán)限的關(guān)鍵要素,通過(guò)屬性關(guān)聯(lián)權(quán)限實(shí)現(xiàn)動(dòng)態(tài)化的節(jié)點(diǎn)安全接入[27]。為分析訪控策略對(duì)區(qū)塊鏈造成的存儲(chǔ)壓力,實(shí)驗(yàn)參考設(shè)計(jì)了兩種常用的訪控策略與本文策略進(jìn)行對(duì)比實(shí)驗(yàn),分析合約大小隨設(shè)備數(shù)目增長(zhǎng)情況。合約的相關(guān)信息如表1 所示。

表1 智能合約相關(guān)信息Table 1 Related information of smart contract kB

假設(shè)設(shè)備數(shù)量為n,每個(gè)設(shè)備都會(huì)發(fā)起訪問(wèn)控制請(qǐng)求,那么訪控策略中設(shè)備端每需要部署a個(gè)合約,就會(huì)產(chǎn)生a個(gè)主體客體對(duì),即該策略中就會(huì)部署na個(gè)合約。由此,可以得到合約大小隨設(shè)備數(shù)量增長(zhǎng)的表達(dá)式。

本文策略公式如下:

f(x)=65.13x+65.05

RBAC 策略公式如下:

g(x)=20.5x2+34.9

ABAC 策略公式如下:

h(x)=180.13x+160.07

根據(jù)函數(shù)表達(dá)式繪制如圖9 所示的函數(shù)圖像。從圖9 可以看出:RBAC 策略的代碼量隨著設(shè)備數(shù)目的增加而迅速增長(zhǎng),在4 個(gè)設(shè)備以上就高于本文所設(shè)計(jì)的策略。ABAC 策略代碼增長(zhǎng)率雖然小于RBAC 策略,但與本文策略相比增速依然很快。相較于其他常用策略,本文提出的策略在保證數(shù)據(jù)傳輸效率的同時(shí),節(jié)省了大量的存儲(chǔ)空間,更適用于工業(yè)物聯(lián)網(wǎng)海量節(jié)點(diǎn)的使用場(chǎng)景。

圖9 訪問(wèn)控制合約存儲(chǔ)空間增長(zhǎng)對(duì)比Fig.9 Comparison of access control contract storage space growth

4 結(jié)束語(yǔ)

為解決海量數(shù)據(jù)傳輸時(shí)區(qū)塊鏈傳輸性能不足的問(wèn)題,本文提出一種基于主側(cè)鏈合作的工業(yè)物聯(lián)網(wǎng)訪問(wèn)控制策略。根據(jù)Plasma 方案對(duì)區(qū)塊鏈進(jìn)行側(cè)鏈擴(kuò)容,側(cè)鏈負(fù)責(zé)智能合約執(zhí)行,而主鏈以數(shù)據(jù)批量驗(yàn)證的方式實(shí)現(xiàn)主側(cè)鏈合作的數(shù)據(jù)高效傳輸。在訪問(wèn)控制模型的設(shè)計(jì)上,在與主客體直接相連的部分設(shè)計(jì)執(zhí)行點(diǎn),將資源與策略的管理相分離,不僅從根源上切斷數(shù)據(jù)的泄露,達(dá)到數(shù)據(jù)安全防范的效果,而且更有利于工業(yè)物聯(lián)網(wǎng)中輕量級(jí)節(jié)點(diǎn)設(shè)備的請(qǐng)求和資源傳輸。實(shí)驗(yàn)結(jié)果表明,該策略能夠提高控制模型的管理效率,滿足工業(yè)物聯(lián)網(wǎng)環(huán)境下訪問(wèn)控制的需求。下一步將橫向?qū)Ρ雀鞣N側(cè)鏈協(xié)議并進(jìn)行線下部署實(shí)驗(yàn),選取更加符合工業(yè)物聯(lián)網(wǎng)環(huán)境的高性能側(cè)鏈技術(shù),以提高控制策略安全傳輸效果。

猜你喜歡
策略
基于“選—練—評(píng)”一體化的二輪復(fù)習(xí)策略
幾何創(chuàng)新題的處理策略
求初相φ的常見(jiàn)策略
例談未知角三角函數(shù)值的求解策略
我說(shuō)你做講策略
“我說(shuō)你做”講策略
數(shù)據(jù)分析中的避錯(cuò)策略
高中數(shù)學(xué)復(fù)習(xí)的具體策略
“唱反調(diào)”的策略
幸福(2017年18期)2018-01-03 06:34:53
價(jià)格調(diào)整 講策略求互動(dòng)
主站蜘蛛池模板: 亚洲欧美在线看片AI| 国产电话自拍伊人| 大学生久久香蕉国产线观看| 毛片网站在线播放| 欧美一级高清片久久99| 久久中文字幕不卡一二区| 国内丰满少妇猛烈精品播| 亚洲熟女偷拍| 伊人无码视屏| 蜜芽国产尤物av尤物在线看| 四虎在线观看视频高清无码| 日韩经典精品无码一区二区| 日韩小视频在线播放| 亚洲中久无码永久在线观看软件| 伊伊人成亚洲综合人网7777 | 波多野结衣亚洲一区| 精品免费在线视频| 欧美一级夜夜爽www| 亚洲精品视频在线观看视频| 在线欧美一区| 成人免费午间影院在线观看| 青青青国产精品国产精品美女| 黄色三级网站免费| 精品国产网| 毛片大全免费观看| 999在线免费视频| 91小视频在线播放| 亚洲人成网站在线播放2019| 91福利免费| 青青操视频在线| 欧美精品一区二区三区中文字幕| 国产精品久久久久久久伊一| 又黄又湿又爽的视频| 伊在人亞洲香蕉精品區| 国产日本欧美亚洲精品视| 久久性妇女精品免费| 人妻精品久久无码区| 1级黄色毛片| 欧美一级夜夜爽www| 久久人体视频| 亚洲AⅤ无码日韩AV无码网站| 免费人成在线观看视频色| 中国黄色一级视频| 欧美另类视频一区二区三区| 国产高潮视频在线观看| 亚洲h视频在线| 亚洲天堂精品在线观看| jizz国产视频| 欧美亚洲日韩不卡在线在线观看| 国产玖玖玖精品视频| 欧美亚洲香蕉| 97se亚洲综合不卡| 国产欧美视频在线| 亚洲不卡av中文在线| 玖玖免费视频在线观看| 久久www视频| 凹凸国产熟女精品视频| 国产成人在线无码免费视频| 88av在线| 婷婷综合亚洲| 欧美精品成人一区二区在线观看| 国产黄在线免费观看| 三级视频中文字幕| 日韩av在线直播| 亚洲精品成人7777在线观看| 亚洲动漫h| 欧美午夜精品| 毛片免费试看| 九色91在线视频| 亚洲永久色| 深夜福利视频一区二区| 国产办公室秘书无码精品| 久久亚洲中文字幕精品一区| 亚洲成a∧人片在线观看无码| 亚洲综合狠狠| 爱色欧美亚洲综合图区| 99久久精彩视频| 在线观看欧美精品二区| 欧美一级片在线| 在线欧美国产| 亚洲码一区二区三区| 2021天堂在线亚洲精品专区|