曾紀鈞,陸庭輝
(1.廣東電網(wǎng)有限責(zé)任公司信息中心,廣東廣州 510600;2.廣東電網(wǎng)有限責(zé)任公司江門供電局,廣東江門 529000)
物聯(lián)網(wǎng)缺乏有效的共享機制,數(shù)據(jù)容易被非法篡改或交互損失,產(chǎn)生大量冗余數(shù)據(jù)[1]。物聯(lián)網(wǎng)通信傳輸安全問題是當(dāng)前我國物聯(lián)網(wǎng)通信重點研究的問題,云服務(wù)傳輸技術(shù)已被廣泛使用,在增加、使用和交互網(wǎng)絡(luò)相關(guān)服務(wù)時,可以提供動態(tài)的、易于擴展的虛擬化資源[2]。使用該方法雖然充分考慮了信息傳遞環(huán)節(jié),但在應(yīng)用場景和邏輯層次方面存在較大問題。在面向GSM 的移動終端訪問系統(tǒng)中,需要通過接入網(wǎng)將完整的終端認證請求轉(zhuǎn)發(fā)到core 進行身份注冊和存儲。面臨巨大的物聯(lián)網(wǎng)和由此產(chǎn)生的海量數(shù)據(jù),網(wǎng)絡(luò)缺乏有效的信用保障機制[3-5]?;诖?,應(yīng)用區(qū)塊鏈技術(shù),研究了一種通用物聯(lián)網(wǎng)數(shù)據(jù)認證傳輸技術(shù)。根據(jù)區(qū)塊鏈的特點,在物聯(lián)網(wǎng)中初步應(yīng)用區(qū)塊鏈技術(shù)。為保障物聯(lián)網(wǎng)的數(shù)據(jù)源安全和信息交互安全,建立信息傳輸安全機制。
為避免來自物聯(lián)網(wǎng)前端采集設(shè)備的傳感器數(shù)據(jù)被人為篡改或破壞,尤其是那些在中央網(wǎng)絡(luò)中具有系統(tǒng)管理權(quán)限的數(shù)據(jù),可以參與大量冗余數(shù)據(jù)檢索、校正與刪除,以確保源數(shù)據(jù)的可靠性和可信度[6-7]。認證傳輸?shù)幕驹怼T谖锫?lián)網(wǎng)節(jié)點上,數(shù)據(jù)區(qū)塊鏈收集數(shù)據(jù),通過公共數(shù)據(jù)認證傳輸形成數(shù)據(jù)賬戶[8-9]。
在物聯(lián)網(wǎng)中,諸如RFID、紅外線傳感器等信息感知設(shè)備中,節(jié)點傳輸受到的資源限制較大,即使像可穿戴設(shè)備這樣的節(jié)點也存在級別數(shù)據(jù)訓(xùn)練和計算方面的缺陷[10]。在物聯(lián)網(wǎng)環(huán)境中,使用大量異構(gòu)數(shù)據(jù)時,需要從不同類型中挑選最合適的類型,并一一存儲。將物聯(lián)網(wǎng)數(shù)據(jù)劃分為兩種,分別是輕量級數(shù)據(jù)和多媒體數(shù)據(jù),經(jīng)過壓縮、融合后形成新的數(shù)據(jù),大大減少數(shù)據(jù)容量;數(shù)據(jù)的統(tǒng)一表示使數(shù)據(jù)的存儲和共享更加方便。最終將處理后的數(shù)據(jù)劃分為賬本數(shù)據(jù)和分布式外包存儲的存儲數(shù)據(jù)。帳本數(shù)據(jù)是節(jié)點數(shù)據(jù)的匯總,外包數(shù)據(jù)是大型或多媒體數(shù)據(jù)[11-13]。這個文件被保存在fog 節(jié)點中,可以根據(jù)需要下載。
針對分布式系統(tǒng)的一致性問題,提出區(qū)塊鏈環(huán)境下的一致性算法。對于遺傳算法,只要不超出共識計算所需的誤差數(shù)據(jù),就能保證整個系統(tǒng)的正常運行。誤差數(shù)據(jù)公式為:
式(1)中,n表示參與共識的數(shù)據(jù)。使用遺傳算法需將每輪公式中的數(shù)據(jù)都標記為0,由此一一標記異常節(jié)點。如果共識無法達到理想狀況,那么整個集合將呈現(xiàn)遞增趨勢,直到識別完全部數(shù)據(jù)為止[14]。識別算法主要流程如圖1 所示。
圖1 基于區(qū)塊鏈技術(shù)的數(shù)據(jù)識別流程
遺傳算法是一種有效的全局并行搜索算法,其利用生物進化規(guī)律進行優(yōu)化[15]。該方法借鑒了生物學(xué)中的基因、進化、適應(yīng)性、選擇、交叉、變異等概念,以求最優(yōu)解。
1)編 碼
每一個配置K可以表示為:
對每一個pin 配置進行二進制編碼,然后進行交叉和變異操作[16]。
2)交叉、變異
同時,決策控制器會配置兩對pin,以獲取L/2 配置對,其中L為所包含的配置數(shù)。每一個組態(tài)對都是父組態(tài),通過二元交叉和多項式變異產(chǎn)生兩個子組態(tài):
交錯變異是對生物界遺傳過程的一種模仿,即后代的染色體來源于父輩,在此過程中有一定的概率發(fā)生基因變異。
3)適應(yīng)度評估
適應(yīng)性設(shè)計的目標是獲得低能耗的GPIO 配置,因此在配置時應(yīng)選擇遺傳算法中的適應(yīng)度函數(shù)作為功耗。度量前兩步所獲得的總能量消耗,并將其記錄在配置中:
4)排序和選擇
根據(jù)配置適應(yīng)度排序情況,按照升序(功耗由低到高)排列W和中的樣本,并選擇前L個配置樣本作為下一代WK+1:
由于遺傳算法是一種全局最優(yōu)化搜索算法,所以它可以獲得更好的結(jié)果。
在區(qū)塊鏈技術(shù)的基礎(chǔ)上,物聯(lián)網(wǎng)除了提供基本的通信網(wǎng)絡(luò)通道的運營者功能節(jié)點外,還包括用戶、設(shè)備制造商和網(wǎng)絡(luò)服務(wù)提供者。在這些服務(wù)中,網(wǎng)絡(luò)服務(wù)商為設(shè)備提供各種應(yīng)用服務(wù)。另外,終端設(shè)備是由設(shè)備制造商制造的。廠商內(nèi)嵌用于認證的加密材料;廠商將設(shè)備編號作為固定數(shù)字十六進制編碼,這是廠商在設(shè)備整個生命周期中使用的唯一標識。除了在生成設(shè)備時對分布式網(wǎng)絡(luò)進行認證之外,在服務(wù)結(jié)束時,合法設(shè)備還需要通過運營商的網(wǎng)絡(luò)認證才能訪問網(wǎng)絡(luò)。為提高安全性能,確保網(wǎng)絡(luò)終端的匿名性,采用零知識證明算法,建立了匿名認證機制。
在區(qū)塊鏈體系結(jié)構(gòu)中,通過分析終端認證機制的遺傳算法容錯機制共識過程,抽象出分布式網(wǎng)絡(luò)中各個實體的功能流程。除此以外,區(qū)塊鏈在這種架構(gòu)下可以抽象成兩個部分:分布式網(wǎng)絡(luò)和總賬。根據(jù)分布式節(jié)點協(xié)同完成任務(wù)所具有的區(qū)塊鏈特性,對分布式網(wǎng)絡(luò)進行解構(gòu),主要由以上各種功能實體節(jié)點組成;總賬的概念與分布式數(shù)據(jù)庫、存儲設(shè)備編號和加密材料類似。圖2 是物聯(lián)網(wǎng)通用數(shù)據(jù)認證傳輸框圖。
圖2 物聯(lián)網(wǎng)通用數(shù)據(jù)認證傳輸框圖
在每一個分布的網(wǎng)絡(luò)中,標準組織向申請認證的成員分發(fā)證書和證書清單。
1)裝備制造企業(yè)根據(jù)規(guī)定為裝備終端機準備編碼加密材料。
2)設(shè)備制造商使用獲得的證書,將認證請求廣播到分布式網(wǎng)絡(luò)。
3)在分布式網(wǎng)絡(luò)節(jié)點收到請求后,選擇是否進行事務(wù)處理,不進行直接處理的節(jié)點終止連接。選定要處理的節(jié)點,以驗證證書列表中發(fā)送方證書的內(nèi)容是否匹配項。否則,將返回證書驗證失敗并終止連接。若通過證書驗證,則調(diào)用consensus 算法;若集群一致通過,則節(jié)點封裝任務(wù)結(jié)果;同時,將每個節(jié)點記錄到區(qū)域塊鏈總賬中;若未達成一致意見,則直接進入步驟4)。
4)若協(xié)議被通過,則封裝在集群中的節(jié)點負責(zé)將協(xié)議成功消息返回給設(shè)備制造商,然后繼續(xù)步驟5);若不通過consensus 算法,則由consensus 算法匹配的節(jié)點負責(zé)返回錯誤代碼,然后完成流程。
5)裝置制造商在裝置中嵌入一致同意的號碼和加密材料。
6)在設(shè)備連接到網(wǎng)絡(luò)時,將附件請求發(fā)送給攜帶步驟5)中嵌入的加密材料的操作節(jié)點。
7)作業(yè)節(jié)點收到請求后,查詢該區(qū)域塊鏈臺賬是否有對方所發(fā)物料記錄。假如檢索成功,就會帶上一個證書作為回應(yīng);如果不匹配,鏈接就會終止。
8)兩方根據(jù)算法要求執(zhí)行匿名認證算法,并分別將計算結(jié)果返回給對方,由對方檢查結(jié)果是否匹配。不匹配時,連接終止,訪問失??;匹配時,訪問成功。
9)通過覆蓋本地賬本設(shè)備的狀態(tài)變量來表示設(shè)備對網(wǎng)絡(luò)的訪問,實現(xiàn)了通用數(shù)據(jù)認證的安全傳輸。
在完成對物聯(lián)網(wǎng)通用數(shù)據(jù)完整傳輸?shù)那疤嵯拢趨^(qū)塊鏈技術(shù)的物聯(lián)網(wǎng)通用數(shù)據(jù)認證傳輸技術(shù)不僅要求高效性,還要求安全性。利用Matlab 軟件對數(shù)據(jù)認證傳輸安全性進行仿真實驗驗證分析。
為了較好完成物聯(lián)網(wǎng)串口通信任務(wù),同時調(diào)用UART-CharGet 資源實現(xiàn)物聯(lián)網(wǎng)串口數(shù)據(jù)的收發(fā),由此獲取的物聯(lián)網(wǎng)通用數(shù)據(jù)集如表1 所示。
表1 物聯(lián)網(wǎng)通用數(shù)據(jù)集
將物聯(lián)網(wǎng)節(jié)點固定在PC 界面上,節(jié)點數(shù)量大約為100 個,主機配置為Pentium (R)4CPU2.40 GHz。為了驗證云服務(wù)數(shù)據(jù)認證傳輸技術(shù)、面向GSM 移動終端接入體系數(shù)據(jù)認證傳輸技術(shù)和基于區(qū)塊鏈技術(shù)的物聯(lián)網(wǎng)通用數(shù)據(jù),在傳輸通道內(nèi)傳輸情況的對比分析結(jié)果,如圖3 所示。
由圖3 可知,使用云服務(wù)數(shù)據(jù)認證傳輸技術(shù)在傳輸通道內(nèi)傳輸軌跡不具有規(guī)律性,數(shù)據(jù)點極其散亂,甚至出現(xiàn)了超出傳輸信道的趨勢。使用面向GSM 移動終端接入體系數(shù)據(jù)認證傳輸技術(shù)在傳輸通道內(nèi)傳輸軌跡十分復(fù)雜,出現(xiàn)了數(shù)據(jù)丟包現(xiàn)象。而使用基于區(qū)塊鏈技術(shù)的數(shù)據(jù)傳輸具有一定規(guī)律性,且全部在傳輸通道內(nèi),不會出現(xiàn)丟包現(xiàn)象。
圖3 3種技術(shù)在通道內(nèi)傳輸情況
通過分析3 種技術(shù)在通道內(nèi)的傳輸情況可知,使用基于區(qū)塊鏈技術(shù)能夠在該傳輸通道內(nèi)安全傳輸數(shù)據(jù)。為了進一步驗證該技術(shù)的合理性,需對比分析數(shù)據(jù)認證傳輸完整度,結(jié)果如表2 所示。
由表2 可知,基于區(qū)塊鏈技術(shù)比傳統(tǒng)兩種技術(shù)的數(shù)據(jù)傳輸完整度要好,能夠安全傳輸全部數(shù)據(jù)。
表2 3種技術(shù)數(shù)據(jù)認證傳輸完整度(bits)
對目前數(shù)據(jù)認證與傳輸技術(shù)的安全性進行了研究,并對基于區(qū)塊鏈的可信認證技術(shù)進行了探討。其核心是通過創(chuàng)新引入?yún)^(qū)塊鏈技術(shù),設(shè)計認證模型,結(jié)合靈活的認證算法,實現(xiàn)一個分散、安全、高效的終端認證體系結(jié)構(gòu)。利用區(qū)塊鏈技術(shù),實現(xiàn)了物聯(lián)網(wǎng)通用數(shù)據(jù)的安全認證傳輸。