李 倩,王 柔,馮學曉
(鄭州工業應用技術學院,河南 鄭州 451100)
隨著信息技術的迅速發展,物聯網作為一個重要的技術領域,已經在各個領域展現了巨大的潛力,具有廣泛的應用前景[1-2]。物聯網通過連接各種物理設備和傳感器,實現了設備之間的無縫通信和數據交換,極大地豐富了人們的生活和工作方式。然而,隨著物聯網規模的不斷擴大和數據交換的不斷增加,物聯網通信中涉及的安全和隱私問題也日益凸顯,傳統的安全機制已經難以滿足對于數據保護和通信安全的嚴格要求[3,4]。因此,區塊鏈作為一種分布式、去中心化的數據存儲和交換技術,受到了廣泛關注[5-6]。區塊鏈通過將數據存儲在鏈式結構的區塊中,并通過密碼學算法保證數據的安全性和不可篡改性,為物聯網通信的安全問題提供了新的解決思路。文章旨在深入研究基于區塊鏈的物聯網通信技術,著重分析通信架構和通信密鑰生成機理,并通過MATLAB進行仿真實驗。通過文章的研究,將為推動物聯網通信技術的發展和應用提供有益的理論支持與實際指導。
基于區塊鏈的物聯網部署結構如圖1所示,主要由物聯網設備層、邊緣區塊鏈層和云區塊鏈層組成,它們之間協調工作,實現數據的可信采集、傳輸和處理,為物聯網通信提供了更高的可靠性和安全性。該分層結構的設計能夠更好地滿足物聯網通信在大規模和復雜環境下的需求。

圖1 基于區塊鏈的物聯網部署結構
物聯網設備層是整個系統的基礎,包括各種傳感器、執行器和其他物理設備。這些設備負責采集環境數據、執行命令等任務。每個設備都可以作為一個節點加入邊緣區塊鏈中,參與數據共享、驗證和存儲。將物聯網設備與區塊鏈技術相結合,可以實現數據的可信采集和安全傳輸,從而提高整個系統的可靠性和安全性。邊緣區塊鏈層位于物聯網設備層和云區塊鏈層間,是連接兩者的橋梁。邊緣區塊鏈層主要由邊緣節點組成,這些節點位于物聯網設備的近距離范圍內。邊緣節點具有一定的計算和存儲能力,能夠處理部分數據并執行簡單的智能任務。云區塊鏈層位于整個部署結構的頂層,它承擔著數據存儲、處理和管理的角色。云區塊鏈具有更大的計算和存儲能力,適合處理復雜的任務。在云區塊鏈中,數據存儲于鏈式結構的區塊,通過共識算法保證數據的一致性和安全性。
密鑰管理在基于區塊鏈的物聯網部署結構中具有至關重要的作用。它涉及數據加密、設備身份驗證、密鑰分發和更新等方面,直接關系系統的安全性和保密性。有效的密鑰管理機制能夠加強系統的防護能力,保障物聯網通信的可信性和安全性,文章采用的密鑰管理系統如圖2所示。

圖2 基于區塊鏈的密鑰系統
1.2.1 密鑰生成
通信密鑰的生成涉及非對稱加密算法,如RSA算法[7-8]。設備A和設備B分別生成一對公鑰和私鑰,A的公鑰為pkA,私鑰為skA,B的公鑰為pkB,私鑰為skB。在區塊鏈中,設備A和設備B的公鑰可以被存儲在區塊鏈上,作為其身份的標識為
式中:nA和nB分別為大素數的乘積;eA和eB為與φ(nA)和φ(nB)互質的指數;φ為歐拉函數。
1.2.2 密鑰分發
為保證設備A與設備B的安全通信,需要通過區塊鏈獲得設備B的公鑰pkB。設備A可以通過查詢區塊鏈來獲取pkB,從而確保對方的身份。設備A生成一個臨時的對稱密鑰KAB,該密鑰將用于加密通信內容。然后,設備A使用設備B的公鑰pkB對KAB進行加密,表達式為
1.2.3 密鑰管理
區塊鏈作為分布式賬本,可以用于記錄通信密鑰的分發和更新。當設備A與設備B完成通信后,可以將會話密鑰KAB的加密結果C上傳區塊鏈,確保密鑰的可追溯性。同時,如果需要更換會話密鑰,可以在區塊鏈上生成相應的交易來更新密鑰,這些交易可以由智能合約實現。在這個過程中,非對稱加密算法、數學函數和智能合約共同構成了基于區塊鏈的通信密鑰生成、分發和管理機制。通過區塊鏈的分布式特性,可以確保密鑰的安全性、可信性和可追溯性,為物聯網通信提供可靠的安全支持。
MATLAB作為仿真和計算工具,可以用來實現各種通信和加密算法,還可以模擬區塊鏈網絡的行為。Simulink用于建立通信系統的模型,包括物聯網設備、邊緣區塊鏈和云區塊鏈的節點。Cryptography Toolbox用于實現各種加密和解密算法,如非對稱加密和對稱加密算法。Custom Functions可能需要編寫一些自定義的函數來模擬區塊鏈的共識機制、交易驗證等行為。
第一步,使用Simulink構建物聯網通信系統的模型。模型應該包括物聯網設備、邊緣區塊鏈節點和云區塊鏈節點,以及它們之間的通信鏈路。第二步,在模型中使用Cryptography Toolbox生成設備的公鑰和私鑰,如使用RSA算法為每個設備生成一對公鑰和私鑰。第三步,在通信過程中,使用生成的公鑰和私鑰進行加密和解密,設備A使用設備B的公鑰加密通信內容,然后設備B使用私鑰解密。第四步,使用自定義函數模擬區塊鏈網絡的行為,包括交易的生成、共識機制的模擬等,使用簡化的共識算法(Proof of Work)來模擬區塊的生成過程[9-10]。第五步,設計一個基本的密鑰管理方案,模擬在區塊鏈上記錄密鑰分發和更新的過程。可以使用智能合約來實現密鑰交換的邏輯。第六步,在搭建好的實驗環境中進行多組仿真實驗,實驗可以涵蓋不同的情景,如不同數量的設備參與通信、不同的交易速率等。
實驗結果如表1所示。

表1 實驗結果
由表1可知,隨著設備數量的增加,通信延遲也呈現增長的趨勢。這是由于在大規模的物聯網通信中,數據包的傳輸需要更多的時間,從而導致通信延遲增加。隨著設備數量的增加,數據傳輸成功率呈現下降的趨勢。其原因是設備數量的增加使網絡擁堵和碰撞的可能性逐步上升,從而影響了數據傳輸的成功率。因此,在大規模物聯網部署中,需要考慮有效的網絡管理策略來維持良好的通信質量。系統響應時間也逐漸增加,這是因為更多的設備需要共享有限的計算和存儲資源,從而導致系統響應變慢,所以在設計物聯網系統時,需要平衡系統的性能和資源分配,以確保良好的用戶體驗。
文章系統地研究了基于區塊鏈的物聯網通信技術,通過構建物聯網設備層、邊緣區塊鏈層和云區塊鏈層的部署結構,實現了設備間的無縫通信和數據共享。在通信安全方面,通過非對稱加密算法和區塊鏈的分布式特性,有效解決了數據加密、身份驗證和密鑰分發等關鍵問題。在MATLAB環境下進行了仿真實驗,驗證了該技術的可行性和性能。實驗結果顯示,基于區塊鏈的物聯網通信技術能夠顯著提升數據傳輸安全性,但在大規模設備連接下可能存在一定的通信延遲和系統響應時間增加的問題。基于區塊鏈的物聯網通信技術在實現數據安全和通信效率方面表現出了巨大潛力。未來,需進一步研究和優化以解決實際應用中的挑戰。