曾紀鈞,陸庭輝
(1.廣東電網有限責任公司信息中心,廣東廣州 510600;2.廣東電網有限責任公司江門供電局,廣東江門 529000)
物聯網缺乏有效的共享機制,數據容易被非法篡改或交互損失,產生大量冗余數據[1]。物聯網通信傳輸安全問題是當前我國物聯網通信重點研究的問題,云服務傳輸技術已被廣泛使用,在增加、使用和交互網絡相關服務時,可以提供動態的、易于擴展的虛擬化資源[2]。使用該方法雖然充分考慮了信息傳遞環節,但在應用場景和邏輯層次方面存在較大問題。在面向GSM 的移動終端訪問系統中,需要通過接入網將完整的終端認證請求轉發到core 進行身份注冊和存儲。面臨巨大的物聯網和由此產生的海量數據,網絡缺乏有效的信用保障機制[3-5]。基于此,應用區塊鏈技術,研究了一種通用物聯網數據認證傳輸技術。根據區塊鏈的特點,在物聯網中初步應用區塊鏈技術。為保障物聯網的數據源安全和信息交互安全,建立信息傳輸安全機制。
為避免來自物聯網前端采集設備的傳感器數據被人為篡改或破壞,尤其是那些在中央網絡中具有系統管理權限的數據,可以參與大量冗余數據檢索、校正與刪除,以確保源數據的可靠性和可信度[6-7]。認證傳輸的基本原理。在物聯網節點上,數據區塊鏈收集數據,通過公共數據認證傳輸形成數據賬戶[8-9]。
在物聯網中,諸如RFID、紅外線傳感器等信息感知設備中,節點傳輸受到的資源限制較大,即使像可穿戴設備這樣的節點也存在級別數據訓練和計算方面的缺陷[10]。在物聯網環境中,使用大量異構數據時,需要從不同類型中挑選最合適的類型,并一一存儲。將物聯網數據劃分為兩種,分別是輕量級數據和多媒體數據,經過壓縮、融合后形成新的數據,大大減少數據容量;數據的統一表示使數據的存儲和共享更加方便。最終將處理后的數據劃分為賬本數據和分布式外包存儲的存儲數據。帳本數據是節點數據的匯總,外包數據是大型或多媒體數據[11-13]。這個文件被保存在fog 節點中,可以根據需要下載。
針對分布式系統的一致性問題,提出區塊鏈環境下的一致性算法。對于遺傳算法,只要不超出共識計算所需的誤差數據,就能保證整個系統的正常運行。誤差數據公式為:

式(1)中,n表示參與共識的數據。使用遺傳算法需將每輪公式中的數據都標記為0,由此一一標記異常節點。如果共識無法達到理想狀況,那么整個集合將呈現遞增趨勢,直到識別完全部數據為止[14]。識別算法主要流程如圖1 所示。

圖1 基于區塊鏈技術的數據識別流程
遺傳算法是一種有效的全局并行搜索算法,其利用生物進化規律進行優化[15]。該方法借鑒了生物學中的基因、進化、適應性、選擇、交叉、變異等概念,以求最優解。
1)編 碼
每一個配置K可以表示為:

對每一個pin 配置進行二進制編碼,然后進行交叉和變異操作[16]。
2)交叉、變異
同時,決策控制器會配置兩對pin,以獲取L/2 配置對,其中L為所包含的配置數。每一個組態對都是父組態,通過二元交叉和多項式變異產生兩個子組態:

交錯變異是對生物界遺傳過程的一種模仿,即后代的染色體來源于父輩,在此過程中有一定的概率發生基因變異。
3)適應度評估
適應性設計的目標是獲得低能耗的GPIO 配置,因此在配置時應選擇遺傳算法中的適應度函數作為功耗。度量前兩步所獲得的總能量消耗,并將其記錄在配置中:

4)排序和選擇
根據配置適應度排序情況,按照升序(功耗由低到高)排列W和中的樣本,并選擇前L個配置樣本作為下一代WK+1:

由于遺傳算法是一種全局最優化搜索算法,所以它可以獲得更好的結果。
在區塊鏈技術的基礎上,物聯網除了提供基本的通信網絡通道的運營者功能節點外,還包括用戶、設備制造商和網絡服務提供者。在這些服務中,網絡服務商為設備提供各種應用服務。另外,終端設備是由設備制造商制造的。廠商內嵌用于認證的加密材料;廠商將設備編號作為固定數字十六進制編碼,這是廠商在設備整個生命周期中使用的唯一標識。除了在生成設備時對分布式網絡進行認證之外,在服務結束時,合法設備還需要通過運營商的網絡認證才能訪問網絡。為提高安全性能,確保網絡終端的匿名性,采用零知識證明算法,建立了匿名認證機制。
在區塊鏈體系結構中,通過分析終端認證機制的遺傳算法容錯機制共識過程,抽象出分布式網絡中各個實體的功能流程。除此以外,區塊鏈在這種架構下可以抽象成兩個部分:分布式網絡和總賬。根據分布式節點協同完成任務所具有的區塊鏈特性,對分布式網絡進行解構,主要由以上各種功能實體節點組成;總賬的概念與分布式數據庫、存儲設備編號和加密材料類似。圖2 是物聯網通用數據認證傳輸框圖。

圖2 物聯網通用數據認證傳輸框圖
在每一個分布的網絡中,標準組織向申請認證的成員分發證書和證書清單。
1)裝備制造企業根據規定為裝備終端機準備編碼加密材料。
2)設備制造商使用獲得的證書,將認證請求廣播到分布式網絡。
3)在分布式網絡節點收到請求后,選擇是否進行事務處理,不進行直接處理的節點終止連接。選定要處理的節點,以驗證證書列表中發送方證書的內容是否匹配項。否則,將返回證書驗證失敗并終止連接。若通過證書驗證,則調用consensus 算法;若集群一致通過,則節點封裝任務結果;同時,將每個節點記錄到區域塊鏈總賬中;若未達成一致意見,則直接進入步驟4)。
4)若協議被通過,則封裝在集群中的節點負責將協議成功消息返回給設備制造商,然后繼續步驟5);若不通過consensus 算法,則由consensus 算法匹配的節點負責返回錯誤代碼,然后完成流程。
5)裝置制造商在裝置中嵌入一致同意的號碼和加密材料。
6)在設備連接到網絡時,將附件請求發送給攜帶步驟5)中嵌入的加密材料的操作節點。
7)作業節點收到請求后,查詢該區域塊鏈臺賬是否有對方所發物料記錄。假如檢索成功,就會帶上一個證書作為回應;如果不匹配,鏈接就會終止。
8)兩方根據算法要求執行匿名認證算法,并分別將計算結果返回給對方,由對方檢查結果是否匹配。不匹配時,連接終止,訪問失敗;匹配時,訪問成功。
9)通過覆蓋本地賬本設備的狀態變量來表示設備對網絡的訪問,實現了通用數據認證的安全傳輸。
在完成對物聯網通用數據完整傳輸的前提下,基于區塊鏈技術的物聯網通用數據認證傳輸技術不僅要求高效性,還要求安全性。利用Matlab 軟件對數據認證傳輸安全性進行仿真實驗驗證分析。
為了較好完成物聯網串口通信任務,同時調用UART-CharGet 資源實現物聯網串口數據的收發,由此獲取的物聯網通用數據集如表1 所示。

表1 物聯網通用數據集
將物聯網節點固定在PC 界面上,節點數量大約為100 個,主機配置為Pentium (R)4CPU2.40 GHz。為了驗證云服務數據認證傳輸技術、面向GSM 移動終端接入體系數據認證傳輸技術和基于區塊鏈技術的物聯網通用數據,在傳輸通道內傳輸情況的對比分析結果,如圖3 所示。
由圖3 可知,使用云服務數據認證傳輸技術在傳輸通道內傳輸軌跡不具有規律性,數據點極其散亂,甚至出現了超出傳輸信道的趨勢。使用面向GSM 移動終端接入體系數據認證傳輸技術在傳輸通道內傳輸軌跡十分復雜,出現了數據丟包現象。而使用基于區塊鏈技術的數據傳輸具有一定規律性,且全部在傳輸通道內,不會出現丟包現象。

圖3 3種技術在通道內傳輸情況
通過分析3 種技術在通道內的傳輸情況可知,使用基于區塊鏈技術能夠在該傳輸通道內安全傳輸數據。為了進一步驗證該技術的合理性,需對比分析數據認證傳輸完整度,結果如表2 所示。
由表2 可知,基于區塊鏈技術比傳統兩種技術的數據傳輸完整度要好,能夠安全傳輸全部數據。

表2 3種技術數據認證傳輸完整度(bits)
對目前數據認證與傳輸技術的安全性進行了研究,并對基于區塊鏈的可信認證技術進行了探討。其核心是通過創新引入區塊鏈技術,設計認證模型,結合靈活的認證算法,實現一個分散、安全、高效的終端認證體系結構。利用區塊鏈技術,實現了物聯網通用數據的安全認證傳輸。