胡夢露 應(yīng)沈靜 伍岳 陶駿
摘要:提出了一個輕型的基于區(qū)塊鏈技術(shù)的網(wǎng)絡(luò)架構(gòu),在舍棄了工作量證明(POW)特性后,其適合用物聯(lián)網(wǎng)的技術(shù)應(yīng)用,使用此方法構(gòu)建了一種企業(yè)物聯(lián)網(wǎng),其包括三個層次:云存儲、覆蓋網(wǎng)絡(luò)和企業(yè)局域網(wǎng)。深入研究并概述了企業(yè)物聯(lián)網(wǎng)中各種核心組件以及功能,通過對安全性、完整性和可用性的深入分析,證明了所提出的基于區(qū)塊鏈技術(shù)的企業(yè)物聯(lián)網(wǎng)框架系統(tǒng)是安全的。模擬實驗結(jié)果證明,此種方法造成的開銷如流量、處理時間和能源消耗符合要求。
關(guān)鍵詞:物聯(lián)網(wǎng);區(qū)塊鏈;云存儲;開銷
中圖分類號:TP393.2? 文獻(xiàn)標(biāo)識碼:A
Research of enterprise IoT based on block chain technology
Hu Menglu Ying Shenjing Wu Yue Tao Jun
College ofComputer and Software,Anhui Institute of Information Technology AnhuiWuhu 241000
Abstract:.A network architecture based on light block chain technology is proposed,after discarding the characteristics of workload proof(POW),it is suitable for the technical application of the IoT.Using this method,a kind of IoT is constructed,which includes three levels:cloud storage,overlay network and enterprise local area network.The core components and functions of enterprise IoT are studied and summarized,through in-depth analysis of the security,integrity and availability of enterprise IoT,the proposed framework system of enterprise IoT based on block chain technology is proved to be secure.The simulation results show that the overhead such as flow,processing time and energy consumption caused by this method meets the requirements
Key words:IoT;Block chain;Cloud storage;Overhead
1 介紹
物聯(lián)網(wǎng)由產(chǎn)生、處理和交換大量安全關(guān)鍵數(shù)據(jù)的設(shè)備構(gòu)成,因此物聯(lián)網(wǎng)設(shè)備經(jīng)常成為各種網(wǎng)絡(luò)攻擊的目標(biāo)。大多數(shù)物聯(lián)網(wǎng)網(wǎng)絡(luò)設(shè)備功能一般,計算能力偏弱,這些設(shè)備必須把其大部分資源用來計算執(zhí)行核心應(yīng)用程序,所以不能在安全隱私方面耗費(fèi)太多資源。傳統(tǒng)的安全方法在能源消耗和處理開銷方面往往代價昂貴,因此許多高度集中的安全框架并不適合規(guī)模巨大、多對一通信和有單點(diǎn)隱患的物聯(lián)網(wǎng)。在保護(hù)用戶隱私方面,現(xiàn)有的物聯(lián)網(wǎng)系統(tǒng)缺陷明顯,這會阻礙物聯(lián)網(wǎng)應(yīng)用服務(wù)程序提供正常的服務(wù),因此物聯(lián)網(wǎng)需要一種輕量級的、可伸縮的、分布式的安全隱私保護(hù)機(jī)制。區(qū)塊鏈(BC)技術(shù)支持分布式的、安全的和機(jī)密的安全機(jī)制,其適合為物聯(lián)網(wǎng)提供安全防護(hù)。
比特幣交易系統(tǒng)采用了區(qū)塊鏈技術(shù),其生成公鑰(PK)并廣播到網(wǎng)絡(luò)以用來進(jìn)行資金交易事務(wù)。相關(guān)事務(wù)被用戶存放到一個塊結(jié)構(gòu)中,一旦某個塊被填滿,則通過執(zhí)行一個挖掘過程將該塊鏈接到區(qū)塊鏈上。挖掘塊的節(jié)點(diǎn)被稱為礦工的節(jié)點(diǎn),需要進(jìn)行一個工作證明(POW)的問題解答,成功解決問題的節(jié)點(diǎn)才能挖掘新的塊。在物聯(lián)網(wǎng)中采用區(qū)塊鏈安全技術(shù)也存在的困難性,比如工作證明(POW)的消耗了較多的資源;交易的花費(fèi)時間增加了;廣播交易到網(wǎng)絡(luò)的可擴(kuò)展性變低了。因此本研究提出了一個新的輕量化的區(qū)塊鏈技術(shù),其不需要進(jìn)行工作證明和貨幣交易,此框架依賴于層次結(jié)構(gòu)和分布式信任,以維護(hù)BC的安全性和隱私性,所以更適合物聯(lián)網(wǎng)的特定需求[1]。
本研究先對企業(yè)物聯(lián)網(wǎng)的設(shè)計進(jìn)行了全面的探討。首先描述了物聯(lián)網(wǎng)設(shè)備的初始化,然后解釋了如何處理交易。一個本地私有的區(qū)塊鏈被用來為物聯(lián)網(wǎng)設(shè)備及其數(shù)據(jù)提供安全的訪問控制,區(qū)塊鏈還會產(chǎn)生一個不變的時間有序交易,鏈接到其他的特定服務(wù)。最后,使用模擬結(jié)果給出了定量分析,表明了本文設(shè)計的系統(tǒng)框架代價相對較小,在介紹了設(shè)計的主要組成部分后,深入討論了基于區(qū)塊鏈的企業(yè)物聯(lián)網(wǎng),并給出了仿真結(jié)果和安全性論證[2]。
2 區(qū)塊鏈系統(tǒng)
區(qū)塊鏈系統(tǒng)的主要組成部分如圖1所示:
2.1 事務(wù)
本地智能設(shè)備或物聯(lián)網(wǎng)覆蓋節(jié)點(diǎn)之間的通信稱為事務(wù)。在基于區(qū)塊鏈的企業(yè)物聯(lián)網(wǎng)中有不同的交易,企業(yè)區(qū)塊鏈中的網(wǎng)元都為特定的功能而設(shè)計。存儲事務(wù)是由設(shè)備存儲數(shù)據(jù)時生成的,服務(wù)提供商(SP)產(chǎn)生訪問事務(wù)來訪問云存儲,監(jiān)視事務(wù)由物聯(lián)網(wǎng)管理員或服務(wù)提供商的系統(tǒng)自動生成,其周期性地監(jiān)視設(shè)備信息。在企業(yè)物聯(lián)網(wǎng)中添加一個新設(shè)備是通過生成交易完成的,移除設(shè)備通過移除事務(wù)完成。上述所有事務(wù)都使用共享密鑰加密以確保通信的安全。系統(tǒng)使用輕量級散列函數(shù)檢測傳輸過程中事務(wù)內(nèi)容的變化,所有交易信息和企業(yè)物聯(lián)網(wǎng)設(shè)備信息都存儲在一個本地區(qū)塊鏈中[3]。
2.2 本地區(qū)塊鏈
企業(yè)物聯(lián)網(wǎng)中具有一個本地區(qū)塊鏈負(fù)責(zé)跟蹤事務(wù),其用一個策略頭結(jié)構(gòu)來控制用戶輸入和傳出事務(wù)。從創(chuàng)建開始,每個設(shè)備相關(guān)事務(wù)都被作為一個不可更改的賬本并被鏈接在一起。區(qū)塊鏈中每個塊包含兩個頭部,分別是塊頭和策略頭,如圖1所示。塊頭具有前一個塊的哈希值,以保障區(qū)塊鏈不可變化。策略頭用來給設(shè)備授權(quán)并根據(jù)其執(zhí)行所有者的控制策略。如圖1所示,策略頭有四個參數(shù)。請求者參數(shù)是指接收的覆蓋事務(wù)中的公鑰。對于本地設(shè)備,這個字段為設(shè)備ID,如圖1中策略頭第四行所示。策略頭中的第二列表示事務(wù)中請求的操作,它可以是:本地存儲數(shù)據(jù)、存儲云數(shù)據(jù)、訪問設(shè)備的存儲數(shù)據(jù),以及監(jiān)視訪問特定設(shè)備的實時數(shù)據(jù)。策略頭中的第三列是企業(yè)物聯(lián)網(wǎng)設(shè)備的ID,最后一列是表示與前面的屬性相匹配的事務(wù)應(yīng)該進(jìn)行的操作。
除了頭部,每個塊還包含一系列事務(wù)。每次交易的關(guān)鍵五個參數(shù)存儲在本地區(qū)塊鏈中,如圖1所示,前兩個參數(shù)用于將同一設(shè)備的事務(wù)相互連接,并在區(qū)塊鏈中唯一地識別每個事務(wù),事務(wù)的相應(yīng)設(shè)備ID被插入到第三個參數(shù)中。事務(wù)類型是指可以生成、訪問、存儲或監(jiān)控交易。
2.3 礦工設(shè)備
企業(yè)物聯(lián)網(wǎng)中的礦工設(shè)備是集中處理企業(yè)物聯(lián)網(wǎng)的交易設(shè)備。礦工可以與企業(yè)物聯(lián)網(wǎng)中路由器或三層交換機(jī)等網(wǎng)關(guān)設(shè)備集成到一個獨(dú)立的設(shè)備,放置在物聯(lián)網(wǎng)邊緣設(shè)備和網(wǎng)關(guān)之間,類似于目前網(wǎng)絡(luò)中的網(wǎng)絡(luò)安全設(shè)備,礦工完成認(rèn)證、授權(quán)、審計事務(wù)。
2.4 本地存儲
本地存儲是一種存儲設(shè)備,用于存儲本地數(shù)據(jù)。此存儲可以與礦工設(shè)備集成,也可以是單獨(dú)的設(shè)備。存儲采用先入先出(FIFO)的方法來存儲數(shù)據(jù),并將每個設(shè)備的數(shù)據(jù)作為一個分類的賬本存儲在與設(shè)備相關(guān)的區(qū)塊鏈的存儲位置上。
3 基于區(qū)塊鏈的企業(yè)物聯(lián)網(wǎng)
企業(yè)物聯(lián)網(wǎng)運(yùn)行分成三個部分:初始化、事務(wù)處理和共享覆蓋[4]。
3.1 初始化
網(wǎng)絡(luò)初始化需要把設(shè)備信息和相關(guān)策略添加到本地區(qū)塊鏈的過程。添加設(shè)備信息時,礦工使用AES算法生成一個共享密鑰并發(fā)起生成交易。礦工和設(shè)備之間的共享密鑰存儲在生成事務(wù)中。設(shè)備根據(jù)在圖2中的策略結(jié)構(gòu)生成它自己的策略,并將策略頭添加到區(qū)塊鏈中的塊中。礦工使用在區(qū)塊鏈的塊中策略頭進(jìn)行相應(yīng)判斷。更新策略時,設(shè)備需要更新相關(guān)塊的策略頭。
3.2 事務(wù)處理
企業(yè)物聯(lián)網(wǎng)中的智能設(shè)備可以直接通信,也可以與物聯(lián)網(wǎng)外部的實體通信。物聯(lián)網(wǎng)中的智能設(shè)備可以請求獲取另一臺智能設(shè)備的數(shù)據(jù)來提供某些服務(wù),例如,當(dāng)有人進(jìn)入企業(yè)倉庫時,燈泡從運(yùn)動傳感器請求數(shù)據(jù)并打開燈。為了實現(xiàn)對物聯(lián)網(wǎng)事務(wù)的控制,礦工應(yīng)該將共享密鑰分發(fā)給需要通信的設(shè)備。分配密鑰時,礦工檢查策略頭或請求區(qū)塊鏈所有者的許可,然后為各設(shè)備分配共享密鑰。在接收到密鑰之后,只要密鑰有效,設(shè)備就直接進(jìn)行通信;如果設(shè)備拒絕密鑰授予權(quán)限,礦工通過向相關(guān)設(shè)備發(fā)送控制消息,將分布式密鑰標(biāo)記為無效。設(shè)備存儲本地存儲上的數(shù)據(jù)是企業(yè)物聯(lián)網(wǎng)內(nèi)部的另一種可能產(chǎn)生的事務(wù)數(shù)據(jù)。如果在本地存儲數(shù)據(jù),則需要使用共享密鑰對進(jìn)行存儲的設(shè)備進(jìn)行身份驗證。為了授予密鑰,設(shè)備需要向礦工發(fā)送請求,在得到存儲許可后,礦工生成一個共享密鑰并發(fā)送密鑰給設(shè)備和本地存儲。接收密鑰后,本地存儲將生成一個包含共享密鑰的起始存儲位置。經(jīng)過共享密鑰驗證后,設(shè)備就可以將數(shù)據(jù)直接存儲在本地存儲中。
設(shè)備將數(shù)據(jù)存儲在云平臺上,此過程稱為存儲事務(wù)。在云平臺存儲數(shù)據(jù)是一個匿名過程,為了存儲數(shù)據(jù),請求者發(fā)起一個起始進(jìn)程,進(jìn)程包含塊號和一個用于匿名的身份驗證的散列。云存儲可以由服務(wù)提供者管理,也可以由企業(yè)付費(fèi)后自己管理。
其他的事務(wù)還包括監(jiān)視事務(wù),這種交易表現(xiàn)為:按照企業(yè)物聯(lián)網(wǎng)管理員的要求監(jiān)視設(shè)備或通過服務(wù)提供商來處理設(shè)備數(shù)據(jù)以實現(xiàn)一些個性化服務(wù)。
3.3 共享覆蓋層
如果一個企業(yè)的物聯(lián)網(wǎng)位于兩個不同的物理區(qū)域,則每個區(qū)域都需要單獨(dú)的礦工和本地存儲。為了減少成本和開銷,企業(yè)物聯(lián)網(wǎng)定義了共享覆蓋,共享覆蓋包括至少兩個不同物理位置的物聯(lián)網(wǎng),由一個共享礦工集中管理,在邏輯上成為一個物聯(lián)網(wǎng),在共享覆蓋中,每一個物理區(qū)域都有自己單獨(dú)的生成事務(wù),所有設(shè)備的生成事務(wù)都被共享疊加到邏輯區(qū)域的生成事務(wù)中。共享疊加需要兩個物理位置不同的物聯(lián)網(wǎng)通過其網(wǎng)關(guān)在因特網(wǎng)中建立虛擬專用網(wǎng)絡(luò)(VPN)連接,網(wǎng)關(guān)之間也可以租用專線電路進(jìn)行連接,礦工通過VPN或者專線電路對各個區(qū)域的設(shè)備進(jìn)行聯(lián)系和管理[5]。
4 網(wǎng)絡(luò)系統(tǒng)分析
4.1 安全分析
有三個主要的安全需求需要通過安全設(shè)計來解決,即:機(jī)密性、完整性和可用性。保密性確保只有經(jīng)過授權(quán)的用戶能夠讀取消息。完整性保證消息在沒有做改動的情況下發(fā)送到目的地??捎眯员U厦總€服務(wù)或數(shù)據(jù)都可供用戶使用。安全性設(shè)計提高了企業(yè)物聯(lián)網(wǎng)可用性,以避免設(shè)備受到惡意請求的攻擊[6]。
表1總結(jié)了基于區(qū)塊鏈的物聯(lián)網(wǎng)設(shè)計框架是如何實現(xiàn)上述的安全要求,具體如表1:
物聯(lián)網(wǎng)系統(tǒng)需要防止兩個關(guān)鍵的安全攻擊,第一個是分布式拒絕服務(wù)(DDoS)攻擊,攻擊者使用多個受感染的物聯(lián)網(wǎng)設(shè)備壓倒特定的目標(biāo)節(jié)點(diǎn)。第二是鏈接攻擊,攻擊者在具有相同共享密鑰的多個事務(wù)或數(shù)據(jù)臺賬之間建立鏈接,目的是找出使用區(qū)塊鏈的匿名用戶所對應(yīng)的IP地址,這種攻擊會危及用戶的隱私[7]。
對于DDoS攻擊,基于區(qū)塊鏈的物聯(lián)網(wǎng)具有分層次防御。第一,攻擊者不可能在企業(yè)物聯(lián)網(wǎng)設(shè)備上的安裝惡意軟件,因為這些設(shè)備不能直接訪問,所有的交易都是由礦工檢查的。第二,假設(shè)攻擊者還是設(shè)法感染了物聯(lián)網(wǎng)設(shè)備,經(jīng)過礦工授權(quán)后,所有的傳出流量都必須檢查策略頭。由于構(gòu)成DDoS攻擊流量的請求將不被授權(quán),它們將被阻止進(jìn)入企業(yè)物聯(lián)網(wǎng)。這兩種保護(hù)可以覆蓋物聯(lián)網(wǎng)中的任何用戶。
為了防止鏈接攻擊,每個設(shè)備的數(shù)據(jù)通過一個唯一的密鑰加密存儲[8]。
4.2 性能分析
基于區(qū)塊鏈的物聯(lián)網(wǎng)架構(gòu)在網(wǎng)絡(luò)設(shè)備和礦工設(shè)備上產(chǎn)生了提高安全性和隱私性的計算開銷,為了評估這些開銷,在MATLAB模擬器中對物聯(lián)網(wǎng)進(jìn)行了模擬。首先模擬了一種不使用加密、散列和區(qū)塊鏈處理事務(wù)的方案,其被稱為基類方案。其次模擬了基于區(qū)塊鏈技術(shù)的物聯(lián)網(wǎng),模擬網(wǎng)絡(luò)設(shè)備每5秒通過微傳感器將數(shù)據(jù)直接發(fā)送到礦工。每種模擬網(wǎng)絡(luò)持續(xù)運(yùn)行5分鐘,計算這個持續(xù)時間段里各種事務(wù)的平均結(jié)果。云存儲直接連接到礦工,用于存儲數(shù)據(jù)和塊號[9]。
為了測試系統(tǒng)的性能,需要分析評估以下三個因素,包開銷:事務(wù)傳輸中的對應(yīng)數(shù)據(jù)包的長度;時間開銷:礦工處理事務(wù)的時間,為礦工收到事務(wù)到把事務(wù)響應(yīng)發(fā)給請求者的時間;能源消耗:指礦工處理交易所消耗的能源。礦工是企業(yè)物聯(lián)網(wǎng)中能耗最高的設(shè)備,因為它不但要處理所有事務(wù),而且要執(zhí)行大量散列和加密。其他設(shè)備的能量消耗僅限于為自身事務(wù)加密。
對包開銷的分析結(jié)果如表2所示:
表2描述了包開銷的大小,表內(nèi)容包括訪問和存儲事務(wù),它們都具有相同的包大小,使用加密和散列增加了數(shù)據(jù)包的有效載荷的大小,但是考慮到低層協(xié)議報頭的長度,數(shù)據(jù)有效載荷的增加對性能影響很小。
對時間開銷的分析結(jié)果如圖2所示:
對能源消耗的分析如表3所示:
基于區(qū)塊鏈的框架使能量消耗比基類僅僅增加了0.05兆焦,這些所增加的開銷同提供的安全和隱私的優(yōu)點(diǎn)相比是完全可以忽略的[10]。
5 總結(jié)
物聯(lián)網(wǎng)安全近年來受到學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注,由于區(qū)塊鏈技術(shù)處理開銷較高,基于傳統(tǒng)區(qū)塊鏈技術(shù)的安全解決方案不能較好地適用于物聯(lián)網(wǎng)。本文提出了一種輕型的利用區(qū)塊鏈技術(shù)來解決物聯(lián)網(wǎng)安全的方法,并根據(jù)此方法構(gòu)建了一個企業(yè)物聯(lián)網(wǎng),介紹了企業(yè)物聯(lián)網(wǎng)的各種核心組件,并討論了與之相關(guān)的各種交易和流程,對其安全性和隱私性進(jìn)行了全面的分析。仿真結(jié)果表明,此方法所產(chǎn)生的開銷低,適合管理的低資源特性的物聯(lián)網(wǎng)設(shè)備。在未來的工作中,將繼續(xù)研究基于區(qū)塊鏈的安全框架在其他網(wǎng)絡(luò)領(lǐng)域中的應(yīng)用[11]。
參考文獻(xiàn):
[1]袁勇,王飛躍.區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望[J].自動化學(xué)報,2016(4):58-63
[2]曹繼軍,肖立權(quán).超級計算系統(tǒng)互聯(lián)網(wǎng)絡(luò)帶內(nèi)管理的實現(xiàn)與評測[J].計算機(jī)學(xué)報,2016,39(9):1718-1731
[3]Douglas E.Comer.用TCP/IP進(jìn)行網(wǎng)絡(luò)互連(第二卷)[M].北京:電子工業(yè)出版社,2009
[4]劉瑩,徐恪.Internet多播體系結(jié)構(gòu)[M].北京:科學(xué)出版社,2008
[5]陶駿,匡磊,等.基于MPLS VPN和MSDP的跨域組播網(wǎng)絡(luò)設(shè)計[J].計算機(jī)科學(xué),2017,44(6A):263-265
[6]顏云生,陶駿,等.基于AHP算法的電子書包評估系統(tǒng)[J].計算機(jī)系統(tǒng)應(yīng)用,2017,26(8):49-54
[7]馬駿,郭淵博.一種基于時間約束的分層訪問控制方案[J].計算機(jī)研究與發(fā)展,2017,2:328-330
[8]吉光亞,田浩東.基于相位恢復(fù)算法的多圖像加密技術(shù)[J].懷化學(xué)院學(xué)報,2018.11:151-152
[9]趙江華,穆舒婷.科學(xué)數(shù)據(jù)眾包處理研究[J].計算機(jī)研究與發(fā)展,2017,2:284-285
[10]沈文婷,于佳.具有密鑰可恢復(fù)能力的云存儲完整性檢測方案[J].軟件學(xué)報,2016,27(6):1452-1462
[11]林曉軒.區(qū)塊鏈技術(shù)在金融業(yè)的應(yīng)用[J].金融市場研究,2016,(2):80-82
基金項目:安徽省教育廳質(zhì)量工程項目(2018jyxm0320),“新工科背景下網(wǎng)絡(luò)工程專業(yè)方向課程體系研究”,蕪湖市科技項目(2019yf49),“基于北斗的ADS-B網(wǎng)絡(luò)系統(tǒng)研制”,安徽省教育廳拔尖人才資助項目(gxbjZD2020104),“跨域組播網(wǎng)絡(luò)設(shè)計
作者簡介:胡夢露(1999— ),女,安徽宿州人,本科,主要研究方向為物聯(lián)網(wǎng)技術(shù);應(yīng)沈靜(2000— ),女,浙江麗水人,本科,主要研究方向為網(wǎng)絡(luò)管理;伍岳(1989— ),安徽蕪湖人,講師,主要研究方向為網(wǎng)絡(luò)安全;陶駿(1978— ),男,安徽蕪湖人,碩士,副教授,主要研究方向為網(wǎng)絡(luò)管理。