李 倩,王 柔,馮學(xué)曉
(鄭州工業(yè)應(yīng)用技術(shù)學(xué)院,河南 鄭州 451100)
隨著信息技術(shù)的迅速發(fā)展,物聯(lián)網(wǎng)作為一個(gè)重要的技術(shù)領(lǐng)域,已經(jīng)在各個(gè)領(lǐng)域展現(xiàn)了巨大的潛力,具有廣泛的應(yīng)用前景[1-2]。物聯(lián)網(wǎng)通過(guò)連接各種物理設(shè)備和傳感器,實(shí)現(xiàn)了設(shè)備之間的無(wú)縫通信和數(shù)據(jù)交換,極大地豐富了人們的生活和工作方式。然而,隨著物聯(lián)網(wǎng)規(guī)模的不斷擴(kuò)大和數(shù)據(jù)交換的不斷增加,物聯(lián)網(wǎng)通信中涉及的安全和隱私問(wèn)題也日益凸顯,傳統(tǒng)的安全機(jī)制已經(jīng)難以滿(mǎn)足對(duì)于數(shù)據(jù)保護(hù)和通信安全的嚴(yán)格要求[3,4]。因此,區(qū)塊鏈作為一種分布式、去中心化的數(shù)據(jù)存儲(chǔ)和交換技術(shù),受到了廣泛關(guān)注[5-6]。區(qū)塊鏈通過(guò)將數(shù)據(jù)存儲(chǔ)在鏈?zhǔn)浇Y(jié)構(gòu)的區(qū)塊中,并通過(guò)密碼學(xué)算法保證數(shù)據(jù)的安全性和不可篡改性,為物聯(lián)網(wǎng)通信的安全問(wèn)題提供了新的解決思路。文章旨在深入研究基于區(qū)塊鏈的物聯(lián)網(wǎng)通信技術(shù),著重分析通信架構(gòu)和通信密鑰生成機(jī)理,并通過(guò)MATLAB進(jìn)行仿真實(shí)驗(yàn)。通過(guò)文章的研究,將為推動(dòng)物聯(lián)網(wǎng)通信技術(shù)的發(fā)展和應(yīng)用提供有益的理論支持與實(shí)際指導(dǎo)。
基于區(qū)塊鏈的物聯(lián)網(wǎng)部署結(jié)構(gòu)如圖1所示,主要由物聯(lián)網(wǎng)設(shè)備層、邊緣區(qū)塊鏈層和云區(qū)塊鏈層組成,它們之間協(xié)調(diào)工作,實(shí)現(xiàn)數(shù)據(jù)的可信采集、傳輸和處理,為物聯(lián)網(wǎng)通信提供了更高的可靠性和安全性。該分層結(jié)構(gòu)的設(shè)計(jì)能夠更好地滿(mǎn)足物聯(lián)網(wǎng)通信在大規(guī)模和復(fù)雜環(huán)境下的需求。
圖1 基于區(qū)塊鏈的物聯(lián)網(wǎng)部署結(jié)構(gòu)
物聯(lián)網(wǎng)設(shè)備層是整個(gè)系統(tǒng)的基礎(chǔ),包括各種傳感器、執(zhí)行器和其他物理設(shè)備。這些設(shè)備負(fù)責(zé)采集環(huán)境數(shù)據(jù)、執(zhí)行命令等任務(wù)。每個(gè)設(shè)備都可以作為一個(gè)節(jié)點(diǎn)加入邊緣區(qū)塊鏈中,參與數(shù)據(jù)共享、驗(yàn)證和存儲(chǔ)。將物聯(lián)網(wǎng)設(shè)備與區(qū)塊鏈技術(shù)相結(jié)合,可以實(shí)現(xiàn)數(shù)據(jù)的可信采集和安全傳輸,從而提高整個(gè)系統(tǒng)的可靠性和安全性。邊緣區(qū)塊鏈層位于物聯(lián)網(wǎng)設(shè)備層和云區(qū)塊鏈層間,是連接兩者的橋梁。邊緣區(qū)塊鏈層主要由邊緣節(jié)點(diǎn)組成,這些節(jié)點(diǎn)位于物聯(lián)網(wǎng)設(shè)備的近距離范圍內(nèi)。邊緣節(jié)點(diǎn)具有一定的計(jì)算和存儲(chǔ)能力,能夠處理部分?jǐn)?shù)據(jù)并執(zhí)行簡(jiǎn)單的智能任務(wù)。云區(qū)塊鏈層位于整個(gè)部署結(jié)構(gòu)的頂層,它承擔(dān)著數(shù)據(jù)存儲(chǔ)、處理和管理的角色。云區(qū)塊鏈具有更大的計(jì)算和存儲(chǔ)能力,適合處理復(fù)雜的任務(wù)。在云區(qū)塊鏈中,數(shù)據(jù)存儲(chǔ)于鏈?zhǔn)浇Y(jié)構(gòu)的區(qū)塊,通過(guò)共識(shí)算法保證數(shù)據(jù)的一致性和安全性。
密鑰管理在基于區(qū)塊鏈的物聯(lián)網(wǎng)部署結(jié)構(gòu)中具有至關(guān)重要的作用。它涉及數(shù)據(jù)加密、設(shè)備身份驗(yàn)證、密鑰分發(fā)和更新等方面,直接關(guān)系系統(tǒng)的安全性和保密性。有效的密鑰管理機(jī)制能夠加強(qiáng)系統(tǒng)的防護(hù)能力,保障物聯(lián)網(wǎng)通信的可信性和安全性,文章采用的密鑰管理系統(tǒng)如圖2所示。
圖2 基于區(qū)塊鏈的密鑰系統(tǒng)
1.2.1 密鑰生成
通信密鑰的生成涉及非對(duì)稱(chēng)加密算法,如RSA算法[7-8]。設(shè)備A和設(shè)備B分別生成一對(duì)公鑰和私鑰,A的公鑰為pkA,私鑰為skA,B的公鑰為pkB,私鑰為skB。在區(qū)塊鏈中,設(shè)備A和設(shè)備B的公鑰可以被存儲(chǔ)在區(qū)塊鏈上,作為其身份的標(biāo)識(shí)為
式中:nA和nB分別為大素?cái)?shù)的乘積;eA和eB為與φ(nA)和φ(nB)互質(zhì)的指數(shù);φ為歐拉函數(shù)。
1.2.2 密鑰分發(fā)
為保證設(shè)備A與設(shè)備B的安全通信,需要通過(guò)區(qū)塊鏈獲得設(shè)備B的公鑰pkB。設(shè)備A可以通過(guò)查詢(xún)區(qū)塊鏈來(lái)獲取pkB,從而確保對(duì)方的身份。設(shè)備A生成一個(gè)臨時(shí)的對(duì)稱(chēng)密鑰KAB,該密鑰將用于加密通信內(nèi)容。然后,設(shè)備A使用設(shè)備B的公鑰pkB對(duì)KAB進(jìn)行加密,表達(dá)式為
1.2.3 密鑰管理
區(qū)塊鏈作為分布式賬本,可以用于記錄通信密鑰的分發(fā)和更新。當(dāng)設(shè)備A與設(shè)備B完成通信后,可以將會(huì)話(huà)密鑰KAB的加密結(jié)果C上傳區(qū)塊鏈,確保密鑰的可追溯性。同時(shí),如果需要更換會(huì)話(huà)密鑰,可以在區(qū)塊鏈上生成相應(yīng)的交易來(lái)更新密鑰,這些交易可以由智能合約實(shí)現(xiàn)。在這個(gè)過(guò)程中,非對(duì)稱(chēng)加密算法、數(shù)學(xué)函數(shù)和智能合約共同構(gòu)成了基于區(qū)塊鏈的通信密鑰生成、分發(fā)和管理機(jī)制。通過(guò)區(qū)塊鏈的分布式特性,可以確保密鑰的安全性、可信性和可追溯性,為物聯(lián)網(wǎng)通信提供可靠的安全支持。
MATLAB作為仿真和計(jì)算工具,可以用來(lái)實(shí)現(xiàn)各種通信和加密算法,還可以模擬區(qū)塊鏈網(wǎng)絡(luò)的行為。Simulink用于建立通信系統(tǒng)的模型,包括物聯(lián)網(wǎng)設(shè)備、邊緣區(qū)塊鏈和云區(qū)塊鏈的節(jié)點(diǎn)。Cryptography Toolbox用于實(shí)現(xiàn)各種加密和解密算法,如非對(duì)稱(chēng)加密和對(duì)稱(chēng)加密算法。Custom Functions可能需要編寫(xiě)一些自定義的函數(shù)來(lái)模擬區(qū)塊鏈的共識(shí)機(jī)制、交易驗(yàn)證等行為。
第一步,使用Simulink構(gòu)建物聯(lián)網(wǎng)通信系統(tǒng)的模型。模型應(yīng)該包括物聯(lián)網(wǎng)設(shè)備、邊緣區(qū)塊鏈節(jié)點(diǎn)和云區(qū)塊鏈節(jié)點(diǎn),以及它們之間的通信鏈路。第二步,在模型中使用Cryptography Toolbox生成設(shè)備的公鑰和私鑰,如使用RSA算法為每個(gè)設(shè)備生成一對(duì)公鑰和私鑰。第三步,在通信過(guò)程中,使用生成的公鑰和私鑰進(jìn)行加密和解密,設(shè)備A使用設(shè)備B的公鑰加密通信內(nèi)容,然后設(shè)備B使用私鑰解密。第四步,使用自定義函數(shù)模擬區(qū)塊鏈網(wǎng)絡(luò)的行為,包括交易的生成、共識(shí)機(jī)制的模擬等,使用簡(jiǎn)化的共識(shí)算法(Proof of Work)來(lái)模擬區(qū)塊的生成過(guò)程[9-10]。第五步,設(shè)計(jì)一個(gè)基本的密鑰管理方案,模擬在區(qū)塊鏈上記錄密鑰分發(fā)和更新的過(guò)程??梢允褂弥悄芎霞s來(lái)實(shí)現(xiàn)密鑰交換的邏輯。第六步,在搭建好的實(shí)驗(yàn)環(huán)境中進(jìn)行多組仿真實(shí)驗(yàn),實(shí)驗(yàn)可以涵蓋不同的情景,如不同數(shù)量的設(shè)備參與通信、不同的交易速率等。
實(shí)驗(yàn)結(jié)果如表1所示。
表1 實(shí)驗(yàn)結(jié)果
由表1可知,隨著設(shè)備數(shù)量的增加,通信延遲也呈現(xiàn)增長(zhǎng)的趨勢(shì)。這是由于在大規(guī)模的物聯(lián)網(wǎng)通信中,數(shù)據(jù)包的傳輸需要更多的時(shí)間,從而導(dǎo)致通信延遲增加。隨著設(shè)備數(shù)量的增加,數(shù)據(jù)傳輸成功率呈現(xiàn)下降的趨勢(shì)。其原因是設(shè)備數(shù)量的增加使網(wǎng)絡(luò)擁堵和碰撞的可能性逐步上升,從而影響了數(shù)據(jù)傳輸?shù)某晒β省R虼?,在大?guī)模物聯(lián)網(wǎng)部署中,需要考慮有效的網(wǎng)絡(luò)管理策略來(lái)維持良好的通信質(zhì)量。系統(tǒng)響應(yīng)時(shí)間也逐漸增加,這是因?yàn)楦嗟脑O(shè)備需要共享有限的計(jì)算和存儲(chǔ)資源,從而導(dǎo)致系統(tǒng)響應(yīng)變慢,所以在設(shè)計(jì)物聯(lián)網(wǎng)系統(tǒng)時(shí),需要平衡系統(tǒng)的性能和資源分配,以確保良好的用戶(hù)體驗(yàn)。
文章系統(tǒng)地研究了基于區(qū)塊鏈的物聯(lián)網(wǎng)通信技術(shù),通過(guò)構(gòu)建物聯(lián)網(wǎng)設(shè)備層、邊緣區(qū)塊鏈層和云區(qū)塊鏈層的部署結(jié)構(gòu),實(shí)現(xiàn)了設(shè)備間的無(wú)縫通信和數(shù)據(jù)共享。在通信安全方面,通過(guò)非對(duì)稱(chēng)加密算法和區(qū)塊鏈的分布式特性,有效解決了數(shù)據(jù)加密、身份驗(yàn)證和密鑰分發(fā)等關(guān)鍵問(wèn)題。在MATLAB環(huán)境下進(jìn)行了仿真實(shí)驗(yàn),驗(yàn)證了該技術(shù)的可行性和性能。實(shí)驗(yàn)結(jié)果顯示,基于區(qū)塊鏈的物聯(lián)網(wǎng)通信技術(shù)能夠顯著提升數(shù)據(jù)傳輸安全性,但在大規(guī)模設(shè)備連接下可能存在一定的通信延遲和系統(tǒng)響應(yīng)時(shí)間增加的問(wèn)題?;趨^(qū)塊鏈的物聯(lián)網(wǎng)通信技術(shù)在實(shí)現(xiàn)數(shù)據(jù)安全和通信效率方面表現(xiàn)出了巨大潛力。未來(lái),需進(jìn)一步研究和優(yōu)化以解決實(shí)際應(yīng)用中的挑戰(zhàn)。