宋晴晴,徐 輝,楊冬蕾,佟 寧
(大連交通大學(xué)軟件學(xué)院,遼寧 大連 116028)
物聯(lián)網(wǎng)作為21 世紀(jì)的新興戰(zhàn)略,是互聯(lián)網(wǎng)的技術(shù)延伸,也是互聯(lián)網(wǎng)之后一場(chǎng)更大的技術(shù)革命。物聯(lián)網(wǎng)的一個(gè)關(guān)鍵應(yīng)用場(chǎng)景在于結(jié)合工業(yè)場(chǎng)景,這二者的結(jié)合也被稱為工業(yè)4.0[1]。然而,隨著物聯(lián)網(wǎng)互通互聯(lián)程度的進(jìn)一步加深,其雖然給生產(chǎn)和制造業(yè)帶來了更多機(jī)會(huì),但也為各種類型的網(wǎng)絡(luò)攻擊創(chuàng)造了環(huán)境。因此,有必要對(duì)物聯(lián)網(wǎng)設(shè)備層所采集的特殊數(shù)據(jù)進(jìn)行身份認(rèn)證,以高效、安全地維護(hù)物聯(lián)網(wǎng)安全。機(jī)構(gòu)和組織聯(lián)合會(huì)在分布式數(shù)據(jù)庫(kù)中集體記錄其物聯(lián)網(wǎng)身份和運(yùn)營(yíng)信息,同時(shí)將這些信息提供給聯(lián)合會(huì)所有成員是一種保障物聯(lián)網(wǎng)安全的有效手段。本文設(shè)計(jì)了由聯(lián)盟鏈主體、低層設(shè)備節(jié)點(diǎn)及高層設(shè)備節(jié)點(diǎn)組成的聯(lián)盟鏈。低層設(shè)備節(jié)點(diǎn)為物聯(lián)網(wǎng)設(shè)備節(jié)點(diǎn),高層設(shè)備節(jié)點(diǎn)為機(jī)構(gòu)或組織所代表的節(jié)點(diǎn)。聯(lián)盟鏈對(duì)這些節(jié)點(diǎn)信息進(jìn)行去中心化存儲(chǔ),并對(duì)身份認(rèn)證結(jié)果進(jìn)行存儲(chǔ),每個(gè)組織利用智能合約認(rèn)證物聯(lián)網(wǎng)節(jié)點(diǎn)的身份標(biāo)識(shí)和物聯(lián)網(wǎng)設(shè)備的使用功能。聯(lián)盟鏈有義務(wù)管理物聯(lián)網(wǎng)節(jié)點(diǎn)信息,物聯(lián)網(wǎng)節(jié)點(diǎn)向多個(gè)組織申請(qǐng)加入聯(lián)盟鏈,以完成初始化。物聯(lián)網(wǎng)節(jié)點(diǎn)必須在聯(lián)盟鏈中完成物聯(lián)網(wǎng)設(shè)備注冊(cè),上傳節(jié)點(diǎn)信息,并在再次申請(qǐng)加入網(wǎng)絡(luò)時(shí)向聯(lián)盟鏈提交身份信息。第二次加入網(wǎng)絡(luò)時(shí),需要向構(gòu)建好的聯(lián)盟鏈提交主要認(rèn)證信息,高層節(jié)點(diǎn)需要接受該請(qǐng)求,之后創(chuàng)建錢包。低層設(shè)備節(jié)點(diǎn)同時(shí)將需認(rèn)證設(shè)備與已認(rèn)證設(shè)備節(jié)點(diǎn)進(jìn)行關(guān)聯(lián),以方便后續(xù)操作。
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,從零散的設(shè)備接入到萬物互聯(lián),實(shí)現(xiàn)了對(duì)社會(huì)溝通范圍、模式、渠道和效率的全方位改變。然而,物聯(lián)網(wǎng)在給人們工作、生活帶來便利的同時(shí),也引發(fā)了一系列新的技術(shù)和社會(huì)問題[2]。無處不在的連接將導(dǎo)致嚴(yán)重的安全隱患,因此物聯(lián)網(wǎng)設(shè)備的身份認(rèn)證極其重要[3]。近年來,身份認(rèn)證技術(shù)解決了物聯(lián)網(wǎng)的部分安全問題,為保障物聯(lián)網(wǎng)安全提供了一個(gè)有效思路?;谏镒R(shí)別技術(shù)的身份認(rèn)證策略相比傳統(tǒng)的身份鑒別技術(shù)具有安全性高、存在唯一性特征等優(yōu)點(diǎn),但該方法無法進(jìn)行M2M 身份驗(yàn)證,不適用于普遍的工業(yè)環(huán)境;Li等[4-5]提出一種將生物信息與密碼相結(jié)合的雙因素識(shí)別方法;Deebak等[6]提出將智能卡與生物信息結(jié)合進(jìn)行認(rèn)證,但該方法需要某些特殊硬件來達(dá)到識(shí)別認(rèn)證目的;Beltran 等[7]提出一種基于令牌的聯(lián)合身份認(rèn)證方法,以解決在物聯(lián)網(wǎng)某些場(chǎng)景中低功耗設(shè)備的能量限制問題。
以上研究成果均基于傳統(tǒng)的身份認(rèn)證方法,其所具備的中心化結(jié)構(gòu)很難滿足如今的物聯(lián)網(wǎng)體系。而區(qū)塊鏈作為一個(gè)去中心化技術(shù),其具有的不可篡改、可追溯、公開透明等特性可作為網(wǎng)絡(luò)安全的一個(gè)保障。Bartolomeu 等[8]提出基于物聯(lián)網(wǎng)的自我主權(quán)身份(SSI)技術(shù),該技術(shù)以區(qū)塊鏈技術(shù)為基礎(chǔ)提供去中心化身份標(biāo)識(shí)符(DID),以此構(gòu)建一個(gè)無需集中信任的模型;Yu 等[9]提出一種基于區(qū)塊鏈的智能工業(yè)應(yīng)用選擇性撤銷匿名身份驗(yàn)證方法,以解決智能工業(yè)環(huán)境中的憑證撤銷問題;Shen 等[10]提出一種區(qū)塊鏈輔助安全設(shè)備認(rèn)證機(jī)制BASA,以解決不同域之間設(shè)備的認(rèn)證問題;Zhang 等[11]構(gòu)建一個(gè)大規(guī)模異構(gòu)WSNs 協(xié)作身份驗(yàn)證協(xié)議,以確保物聯(lián)網(wǎng)環(huán)境中數(shù)據(jù)來源的可靠性;Wang 等[12]設(shè)計(jì)一個(gè)協(xié)作驗(yàn)證協(xié)議,包括一個(gè)內(nèi)存效率高且快速的驗(yàn)證人定位器、一個(gè)評(píng)估設(shè)備可信度的信任模型,以及一個(gè)用于動(dòng)態(tài)更新和撤銷驗(yàn)證的協(xié)議套件,以高效地驗(yàn)證物聯(lián)網(wǎng)設(shè)備。
以上方法雖然在某種程度上解決了物聯(lián)網(wǎng)終端設(shè)備的可信性問題,但是基于集中式的身份認(rèn)證方法存在若服務(wù)端遭受攻擊將導(dǎo)致整個(gè)系統(tǒng)無法使用的問題,基于區(qū)塊鏈的身份認(rèn)證方法存在適用范圍受限的問題。由于聯(lián)盟鏈大多基于多個(gè)組織或機(jī)構(gòu)集體背書產(chǎn)生的信用,因此可很大程度上提高傳統(tǒng)區(qū)塊鏈的效率與成本優(yōu)勢(shì)。因此,本文提出基于聯(lián)盟鏈的物聯(lián)網(wǎng)設(shè)備身份認(rèn)證方法,很好地解決了多個(gè)節(jié)點(diǎn)之間相互不信任的問題,對(duì)推進(jìn)物聯(lián)網(wǎng)技術(shù)的大范圍安全應(yīng)用具有重要意義。
聯(lián)盟鏈?zhǔn)菐讉€(gè)私有鏈的集合,是由幾個(gè)機(jī)構(gòu)控制的區(qū)塊鏈,每個(gè)組織或機(jī)構(gòu)控制一個(gè)或多個(gè)節(jié)點(diǎn)[13]。其數(shù)據(jù)只允許系統(tǒng)中的不同機(jī)構(gòu)讀取、寫入或傳輸。通常情況下,聯(lián)盟鏈中的每個(gè)節(jié)點(diǎn)都有一個(gè)相應(yīng)的實(shí)體組織,允許其加入和離開網(wǎng)絡(luò)。各個(gè)機(jī)構(gòu)組織形成一個(gè)利益相關(guān)者聯(lián)盟,以維護(hù)區(qū)塊鏈安全。
物聯(lián)網(wǎng)(IoT)是目前的研究熱點(diǎn),廣泛應(yīng)用于網(wǎng)絡(luò)產(chǎn)品、系統(tǒng)和傳感器中,但全球?qū)τ谖锫?lián)網(wǎng)尚沒有統(tǒng)一標(biāo)準(zhǔn)[14-15]。目前物聯(lián)網(wǎng)的整體系統(tǒng)架構(gòu)主要分為6 層:數(shù)據(jù)層、網(wǎng)絡(luò)層、共識(shí)層、激勵(lì)層、合約層和應(yīng)用層。
智能合約可被視為區(qū)塊鏈技術(shù)的一大進(jìn)步。在20 世紀(jì)90 年代,智能合約作為一種計(jì)算機(jī)化的交易協(xié)議被提出,其是一種執(zhí)行協(xié)議的合同條款[16]。智能合約中嵌入的合同條款將在滿足特定條件時(shí)自動(dòng)執(zhí)行。智能合約是在區(qū)塊鏈上執(zhí)行的,經(jīng)批準(zhǔn)的合同條款被轉(zhuǎn)換成可執(zhí)行的計(jì)算機(jī)程序,合同條款之間的邏輯聯(lián)系也以程序中邏輯流的形式被保留。每個(gè)合同語句的執(zhí)行都被記錄為存儲(chǔ)在區(qū)塊鏈中的不可變交易。而且,開發(fā)人員可為合同中的每個(gè)功能分配訪問權(quán)限,一旦智能合約中的任何條件得到滿足,被觸發(fā)的語句將以可預(yù)測(cè)的方式自動(dòng)執(zhí)行相應(yīng)功能。
本文研究目的是在實(shí)現(xiàn)物聯(lián)網(wǎng)設(shè)備身份認(rèn)證的同時(shí),將認(rèn)證結(jié)果存儲(chǔ)在聯(lián)盟鏈中。在需要使用物聯(lián)網(wǎng)設(shè)備時(shí),設(shè)備的所有者可將用戶信息,例如用戶名和密碼存儲(chǔ)在服務(wù)器中。該服務(wù)器一般由中心化機(jī)構(gòu)統(tǒng)一代理,一旦當(dāng)用戶或設(shè)備需要登錄時(shí),可使用該用戶已存儲(chǔ)的信息通過中心化服務(wù)器進(jìn)行對(duì)比。如果對(duì)比成功,則允許該用戶設(shè)備登錄。本文研究一個(gè)基于聯(lián)盟鏈或產(chǎn)業(yè)鏈網(wǎng)絡(luò)的分布式服務(wù)器物聯(lián)網(wǎng)認(rèn)證系統(tǒng),該系統(tǒng)中不同物聯(lián)網(wǎng)設(shè)備之間或物聯(lián)網(wǎng)設(shè)備與聯(lián)盟鏈組織之間進(jìn)行一對(duì)一通信。同時(shí),這些物聯(lián)網(wǎng)節(jié)點(diǎn)的信息是通過使用公共密鑰的非對(duì)稱加密算法來識(shí)別的,因?yàn)樵诰唧w通信過程中,物聯(lián)網(wǎng)設(shè)備的身份信息及區(qū)塊鏈節(jié)點(diǎn)信息驗(yàn)證的安全過程需要得到保護(hù)。
通過區(qū)塊鏈的去中心化特性,將物聯(lián)網(wǎng)設(shè)備的身份認(rèn)證信息進(jìn)行去中心化存儲(chǔ),以此降低認(rèn)證過程的不安全因素。物聯(lián)網(wǎng)身份認(rèn)證信息分布式存儲(chǔ)系統(tǒng)整體架構(gòu)如圖1所示。物聯(lián)網(wǎng)節(jié)點(diǎn)的第一個(gè)請(qǐng)求被發(fā)送到聯(lián)盟鏈,聯(lián)盟鏈處理發(fā)送來的信息,共識(shí)根據(jù)算法生成一個(gè)新區(qū)塊。聯(lián)盟鏈利用信息處理模塊對(duì)物聯(lián)網(wǎng)節(jié)點(diǎn)信息進(jìn)行處理,同時(shí)將處理結(jié)果發(fā)送給對(duì)外接口層。如果該設(shè)備第一次沒有請(qǐng)求認(rèn)證,聯(lián)盟鏈則會(huì)由現(xiàn)有數(shù)據(jù),主要包括本地存儲(chǔ)或之前維護(hù)的數(shù)據(jù)對(duì)此節(jié)點(diǎn)進(jìn)行驗(yàn)證。
Fig.1 Systematic entirety structure圖1 系統(tǒng)整體架構(gòu)
聯(lián)盟鏈中最主要的節(jié)點(diǎn)就是低層設(shè)備,也即物聯(lián)網(wǎng)設(shè)備,因?yàn)槲锫?lián)網(wǎng)設(shè)備所提供的信息是構(gòu)成此網(wǎng)絡(luò)的核心要素。物聯(lián)網(wǎng)設(shè)備通過各種通信協(xié)議,如WiFi、4G、Lorea 和NB-ITT 等與聯(lián)盟鏈交換與傳輸信息。在初始化設(shè)備時(shí),首先需要啟動(dòng)注冊(cè)請(qǐng)求,通過調(diào)用機(jī)構(gòu)提供的API 將設(shè)備添加到聯(lián)盟鏈網(wǎng)絡(luò)中。一旦設(shè)備注冊(cè)完成,聯(lián)盟鏈會(huì)為該設(shè)備創(chuàng)建一個(gè)錢包,錢包的私鑰將被存儲(chǔ)在設(shè)備上。設(shè)備注冊(cè)聯(lián)盟鏈流程如下:①初始化設(shè)備,之后物聯(lián)網(wǎng)設(shè)備向聯(lián)盟鏈發(fā)起注冊(cè)請(qǐng)求;②聯(lián)盟鏈通過使用設(shè)備請(qǐng)求注冊(cè)的信息,借此得到物聯(lián)網(wǎng)設(shè)備ID 等唯一標(biāo)識(shí)信息;③聯(lián)盟鏈調(diào)用安全控制功能向機(jī)構(gòu)發(fā)出注冊(cè)申請(qǐng);④如果注冊(cè)成功,機(jī)構(gòu)或組織獲取設(shè)備信息來獲取相應(yīng)權(quán)限;⑤注冊(cè)成功后,聯(lián)盟鏈會(huì)為該節(jié)點(diǎn)創(chuàng)建一個(gè)錢包,之后將私鑰發(fā)送給節(jié)點(diǎn)。具體流程如圖2所示。
物聯(lián)網(wǎng)設(shè)備身份認(rèn)證功能的認(rèn)證過程主要由4 個(gè)步驟構(gòu)成:首先通過SHA 256 算法將公鑰轉(zhuǎn)化為自有特殊ID;當(dāng)ID 生成后,物理設(shè)備發(fā)出加入聯(lián)盟鏈的請(qǐng)求;接下來需要在當(dāng)前區(qū)塊中存儲(chǔ)該節(jié)點(diǎn)身份ID 的公鑰,同時(shí)將信息存儲(chǔ)在當(dāng)前區(qū)塊鏈網(wǎng)絡(luò)中;最后利用智能合約技術(shù)設(shè)置低層節(jié)點(diǎn)的具體操作過程與操作權(quán)限。然后,此設(shè)備的用戶可通過區(qū)塊鏈交易的形式遠(yuǎn)程操作設(shè)備、查詢?cè)O(shè)備信息,或?qū)⑽锫?lián)網(wǎng)設(shè)備加入網(wǎng)絡(luò)等。
Fig.2 Device registration federated chain process圖2 設(shè)備注冊(cè)聯(lián)盟鏈流程
在安全性方面,為提高整個(gè)區(qū)塊鏈網(wǎng)絡(luò)的安全性,該系統(tǒng)會(huì)對(duì)物聯(lián)網(wǎng)設(shè)備的操作預(yù)先進(jìn)行檢查。為防止惡意或危險(xiǎn)節(jié)點(diǎn)發(fā)送錯(cuò)誤請(qǐng)求,聯(lián)盟鏈在執(zhí)行智能合約之后確定設(shè)備所能夠擁有的功能。聯(lián)盟鏈驗(yàn)證設(shè)備過程如圖3所示。
Fig.3 Federated chain verification equipment process圖3 聯(lián)盟鏈驗(yàn)證設(shè)備過程
智能合約執(zhí)行過程如下:
在本研究中,數(shù)據(jù)層的交互信息是測(cè)試標(biāo)準(zhǔn)。當(dāng)信息從互聯(lián)網(wǎng)設(shè)備上傳時(shí),在物聯(lián)網(wǎng)設(shè)備中創(chuàng)建一個(gè)錢包,因?yàn)閰^(qū)塊鏈記錄的運(yùn)行直接影響到設(shè)備響應(yīng)時(shí)間。如果設(shè)備不及時(shí)向區(qū)塊發(fā)送和確認(rèn)信息,就不可能正確調(diào)查設(shè)備數(shù)據(jù)或用戶操作設(shè)備時(shí)的意圖。因此,在這項(xiàng)研究中需要作進(jìn)一步功能測(cè)試。
在此項(xiàng)研究中,區(qū)塊鏈在每次產(chǎn)生操作信息時(shí),以及要產(chǎn)生新區(qū)塊即主區(qū)塊時(shí),都會(huì)在區(qū)塊中記錄這些操作信息。假設(shè)節(jié)點(diǎn)生成了區(qū)塊,每個(gè)區(qū)塊都被認(rèn)為是等價(jià)的。為該流程構(gòu)建具體測(cè)試程序,首先在模擬構(gòu)建的系統(tǒng)中,在所模擬的終端第一次請(qǐng)求加入網(wǎng)絡(luò)的過程中,根據(jù)系統(tǒng)整體設(shè)計(jì),在擁有該設(shè)備的機(jī)構(gòu)確認(rèn)之后,才可以成功加入。一旦組織或機(jī)構(gòu)確定加入,聯(lián)盟鏈則需要為該終端設(shè)備創(chuàng)建錢包,同時(shí)檢驗(yàn)錢包是否生成,還需要檢查設(shè)備信息上傳過程是否成功。信息上傳完成后,該設(shè)備則需要每間隔2min 向聯(lián)盟鏈網(wǎng)絡(luò)發(fā)送身份驗(yàn)證請(qǐng)求。該節(jié)點(diǎn)設(shè)備還需在聯(lián)盟鏈網(wǎng)絡(luò)中測(cè)試區(qū)塊是否成功生成以及其他具體信息。然后查看所模擬的終端設(shè)備,通過人為手段更改此設(shè)備信息后,再次每間隔2min 向聯(lián)盟鏈發(fā)送身份認(rèn)證請(qǐng)求,并查看身份認(rèn)證是否通過。
為該方案設(shè)計(jì)一個(gè)測(cè)試場(chǎng)景,檢查物聯(lián)網(wǎng)設(shè)備是否能在不同實(shí)驗(yàn)環(huán)境下實(shí)現(xiàn)對(duì)設(shè)備的具體操作。所選4 臺(tái)設(shè)備的基本配置信息分別為:1 臺(tái)CPU 為英特爾i7、GPU 為英偉達(dá)MX50、RAM 為8G 的電腦;2 臺(tái)CPU 為因特爾i5、GPU分別為英特爾Graphics620 與英偉達(dá)MX150、RAM 均為4GB 的電腦;1 臺(tái)CPU 為英特爾八代i5,GPU 為英特爾UHD Graphics620、RAM 為4GB 的電腦。分別從不同設(shè)備生成錢包所需時(shí)間、區(qū)塊生成時(shí)間以及整體身份認(rèn)證所花費(fèi)時(shí)間來實(shí)驗(yàn)本方法的可靠性。同時(shí),為使設(shè)備節(jié)點(diǎn)能夠在大規(guī)模物聯(lián)網(wǎng)場(chǎng)景下有效地進(jìn)行身份認(rèn)證,將上述4 臺(tái)設(shè)備對(duì)應(yīng)模擬成4 個(gè)組織機(jī)構(gòu),其上安裝Linux 系統(tǒng),并配置Java PairingBased Cryptography 相關(guān)環(huán)境。使用MATLAB R2020a 模擬此次方案,并使用Hyperledger Fabric 創(chuàng)建大規(guī)模交易,模擬海量請(qǐng)求下的使用場(chǎng)景。
根據(jù)錢包創(chuàng)建實(shí)驗(yàn)結(jié)果分析,聯(lián)盟鏈設(shè)備創(chuàng)建錢包的過程與物聯(lián)網(wǎng)設(shè)備創(chuàng)建過程十分相似,都是使用密碼學(xué)相關(guān)技術(shù)為用戶創(chuàng)建錢包,同時(shí)將私鑰存放在節(jié)點(diǎn)中,通過創(chuàng)建的公鑰對(duì)聯(lián)盟鏈組織或機(jī)構(gòu)進(jìn)行廣播。通過實(shí)驗(yàn),不同機(jī)構(gòu)或組織生成錢包的速度如圖4所示。
Fig.4 Speed of wallets generated by different devices圖4 不同設(shè)備生成錢包的速度
由圖4 可知,生成錢包的數(shù)量不受設(shè)備因素影響,但隨著物聯(lián)網(wǎng)節(jié)點(diǎn)數(shù)量的增加,錢包生成的速度會(huì)略有提高。當(dāng)一個(gè)節(jié)點(diǎn)需要生成一個(gè)新錢包時(shí),會(huì)有一個(gè)新區(qū)塊來存儲(chǔ)具體交易信息。錢包生成速度會(huì)隨著節(jié)點(diǎn)的增加緩慢提高,這是因?yàn)榇鎯?chǔ)交易信息區(qū)塊的增長(zhǎng)。
上述實(shí)驗(yàn)數(shù)據(jù)表明,基于聯(lián)盟鏈的物聯(lián)網(wǎng)節(jié)點(diǎn)身份認(rèn)證方案會(huì)伴隨著新區(qū)塊的產(chǎn)生,同時(shí)區(qū)塊中還可存儲(chǔ)具體信息操作過程。根據(jù)區(qū)塊生成實(shí)驗(yàn)結(jié)果分析,本文還研究了創(chuàng)建區(qū)塊所需時(shí)間,并比較了在4 個(gè)不同物理平臺(tái)上更快地創(chuàng)建新字段所需時(shí)間。4 臺(tái)設(shè)備生成區(qū)塊所需時(shí)間如圖5所示。
Fig.5 Time required for four devices to generate blocks圖5 4臺(tái)設(shè)備生成區(qū)塊所需時(shí)間
從以上實(shí)驗(yàn)結(jié)果可以看到,4 臺(tái)物聯(lián)網(wǎng)設(shè)備節(jié)點(diǎn)的生成時(shí)間都在一個(gè)適當(dāng)、合理的范圍內(nèi),并且隨著物聯(lián)網(wǎng)設(shè)備節(jié)點(diǎn)生成變多,其增長(zhǎng)速度會(huì)變慢。這是由于當(dāng)區(qū)塊數(shù)量相對(duì)較多時(shí),拜占庭算法的速度較慢,因?yàn)榫W(wǎng)絡(luò)通信很重要,節(jié)點(diǎn)必須協(xié)調(diào)生成新區(qū)塊。
本文的研究重點(diǎn)在于物聯(lián)網(wǎng)設(shè)備的身份認(rèn)證。當(dāng)物聯(lián)網(wǎng)節(jié)點(diǎn)將錢包創(chuàng)建完成后,這些設(shè)備需要加入聯(lián)盟鏈網(wǎng)路,在此過程中需要設(shè)備身份驗(yàn)證以保證物聯(lián)網(wǎng)安全。實(shí)驗(yàn)主要測(cè)試這些物聯(lián)網(wǎng)設(shè)備能否成功加入聯(lián)盟鏈,身份認(rèn)證結(jié)果分析如圖6所示。
Fig.6 Analysis of identity authentication results圖6 身份認(rèn)證結(jié)果分析
根據(jù)實(shí)驗(yàn)結(jié)果,可看到認(rèn)證成功和不成功的所需時(shí)間有所差異。時(shí)間上的差異在于認(rèn)證后的操作,如果認(rèn)證成功,組織會(huì)對(duì)每個(gè)設(shè)備進(jìn)行訪問控制,如果認(rèn)證失敗則不會(huì)進(jìn)行。
本文在區(qū)塊鏈基礎(chǔ)上構(gòu)建一個(gè)基于聯(lián)盟鏈的物聯(lián)網(wǎng)身份認(rèn)證方案,實(shí)現(xiàn)去中心化的身份認(rèn)證系統(tǒng)以及區(qū)塊與區(qū)塊之間的點(diǎn)對(duì)點(diǎn)通信。每個(gè)區(qū)塊除包含區(qū)塊頭的信息外,還包含關(guān)于物聯(lián)網(wǎng)身份認(rèn)證的交易輸入和交易輸出。一旦記錄在區(qū)塊中,則這些數(shù)據(jù)不可逆。當(dāng)區(qū)塊鏈系統(tǒng)建成后,通過對(duì)此平臺(tái)的分析及測(cè)試,使得此平臺(tái)更加符合物聯(lián)網(wǎng)特定場(chǎng)景,從而促進(jìn)物聯(lián)網(wǎng)和區(qū)塊鏈技術(shù)的發(fā)展,這對(duì)于物聯(lián)網(wǎng)與區(qū)塊鏈在安全方面的技術(shù)融合具有重大意義。
使用區(qū)塊鏈技術(shù)來認(rèn)證物聯(lián)網(wǎng)設(shè)備,實(shí)現(xiàn)物聯(lián)網(wǎng)設(shè)備的安全認(rèn)證,對(duì)于保障物聯(lián)網(wǎng)安全具有重要意義。但是,從整個(gè)物聯(lián)網(wǎng)安全身份認(rèn)證體系來看,還有很大的發(fā)展空間,很多問題需要作進(jìn)一步研究。首先,物聯(lián)網(wǎng)設(shè)備節(jié)點(diǎn)本身,即使是輕量級(jí)節(jié)點(diǎn),其處理速度和存儲(chǔ)空間也是有限的,隨著物聯(lián)網(wǎng)的發(fā)展,區(qū)塊創(chuàng)建數(shù)量的增加給設(shè)備存儲(chǔ)帶來了挑戰(zhàn)。此外,設(shè)備在聯(lián)盟鏈中上傳與廣播交易信息的頻繁操作對(duì)設(shè)備的存儲(chǔ)容量和計(jì)算能力提出了較高要求,難以滿足大規(guī)模物聯(lián)網(wǎng)場(chǎng)景下的需求,因此后續(xù)將在現(xiàn)有工作基礎(chǔ)上,圍繞大規(guī)模應(yīng)用展開研究。其次,在區(qū)塊鏈共識(shí)算法下,隨著物聯(lián)網(wǎng)設(shè)備中節(jié)點(diǎn)數(shù)量的增加,系統(tǒng)的吞吐量會(huì)成倍增加,無疑對(duì)網(wǎng)絡(luò)性能提出了更高要求。同時(shí),在區(qū)塊之間不選擇主節(jié)點(diǎn),而是任何人都可以成為主節(jié)點(diǎn)來生成區(qū)塊,導(dǎo)致了區(qū)塊生成過程中聯(lián)盟鏈的性能浪費(fèi)。最后,本文主要關(guān)注區(qū)塊鏈數(shù)據(jù)層的安全,缺乏從網(wǎng)絡(luò)層到應(yīng)用層的物聯(lián)網(wǎng)完整認(rèn)證系統(tǒng)。