收稿日期:2024-01-23
基金項(xiàng)目:2022—2023年蘭州職業(yè)技術(shù)學(xué)院校級科研項(xiàng)目(2022XY-21)
DOI:10.19850/j.cnki.2096-4706.2024.06.014
摘? 要:水下無線傳感器網(wǎng)絡(luò)具有開放共享和自組織的特點(diǎn),導(dǎo)致其面臨各種各樣的威脅和攻擊。針對現(xiàn)有檢測方法存在的不公平性和不可溯源等問題,提出一種基于區(qū)塊鏈的惡意節(jié)點(diǎn)檢測方法。該方法利用區(qū)塊鏈存儲網(wǎng)絡(luò)的節(jié)點(diǎn)數(shù)據(jù),使用智能合約檢測網(wǎng)絡(luò)中的惡意節(jié)點(diǎn),通過共識算法保證數(shù)據(jù)的一致性。實(shí)驗(yàn)結(jié)果表明,該方法不僅可以檢測網(wǎng)絡(luò)中的惡意節(jié)點(diǎn),還能保證檢測過程的公平性和可溯源性。
關(guān)鍵詞:無線傳感器網(wǎng)絡(luò);惡意節(jié)點(diǎn)檢測;區(qū)塊鏈
中圖分類號:TP311? ? 文獻(xiàn)標(biāo)識碼:A? 文章編號:2096-4706(2024)06-0062-04
Blockchain-based Malicious Node Detection Mechanism for Underwater Wireless Sensor Networks
CUI Yuan
(School of Information Engineering, Lanzhou Vocational Technical College, Lanzhou? 730070, China)
Abstract: Underwater wireless sensor networks have the characteristics of open sharing and self-organization, which causes them to face various threats and attacks. In view of the unfairness and non-traceability problems of existing detection methods, a malicious node detection method based on blockchain is proposed. This method uses the blockchain to store the node data of the network, uses smart contracts to detect malicious nodes in the network, and ensures the consistency of the data through the consensus algorithm. Experiment results show that this method can not only detect malicious nodes in the network, but also ensure that the detection process is fair and traceable.
Keywords: wireless sensor network; malicious node detection; blockchain
0? 引? 言
作為占據(jù)地球表面積70%以上的海洋,不僅為世界各國貿(mào)易提供了低廉便利的通道,還蘊(yùn)含著豐富的海洋資源,是現(xiàn)代經(jīng)濟(jì)社會發(fā)展不可或缺的關(guān)鍵要素之一。在國家海洋戰(zhàn)略中,水下無線傳感器網(wǎng)絡(luò)(Underwater Wireless Sensor Network, UWSN)充當(dāng)著關(guān)鍵角色,它通過實(shí)時(shí)監(jiān)測海洋環(huán)境、收集海洋數(shù)據(jù)和提供水下通信,為保護(hù)海洋安全、推動海洋經(jīng)濟(jì)發(fā)展以及實(shí)現(xiàn)海洋環(huán)境保護(hù)與可持續(xù)發(fā)展等目標(biāo)提供了重要支持[1]。這一先進(jìn)技術(shù)在國防、科研和資源管理等方面的應(yīng)用,使其成為促使國家海洋戰(zhàn)略目標(biāo)全面實(shí)現(xiàn)的重要工具。UWSN采用水聲通信,本身就具有開放性、共享性、高誤碼率等特性。同時(shí),UWSN的大部分節(jié)點(diǎn)部署在海洋中,由于存在洋流及潮汐等現(xiàn)象,網(wǎng)絡(luò)拓?fù)鋾r(shí)常會出現(xiàn)動態(tài)變化,UWSN多采用動態(tài)認(rèn)證以便節(jié)點(diǎn)接入網(wǎng)絡(luò)。更重要的是,UWSN的節(jié)點(diǎn)部署范圍廣,監(jiān)控有困難,一旦有管理節(jié)點(diǎn)出現(xiàn)故障或被故意破壞,UWSN的安全性就很難得到保證,需要采取嚴(yán)密的防護(hù)措施來抵御可能出現(xiàn)的危險(xiǎn)。
區(qū)塊鏈作為一種去中心化的分布式數(shù)據(jù)庫,具有透明性、匿名性、不可篡改、交易可溯源等特點(diǎn)[2],當(dāng)已制定的規(guī)則被觸發(fā)后,數(shù)據(jù)將自動執(zhí)行和自我驗(yàn)證,該過程無須人工干預(yù),區(qū)塊鏈的這種特性與UWSN的安全驗(yàn)證完美契合。針對UWSN的特點(diǎn),結(jié)合區(qū)塊鏈的基礎(chǔ)架構(gòu),構(gòu)建基于分簇網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的UWSN區(qū)塊鏈模型。由基站、成員節(jié)點(diǎn)等共同構(gòu)建聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò),并在此基礎(chǔ)上提出了基于聯(lián)盟鏈的惡意節(jié)點(diǎn)檢測方法。該方法構(gòu)建用于UWSN惡意節(jié)點(diǎn)檢測的區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)和UWSN智能合約,利用區(qū)塊鏈存儲簇內(nèi)各成員節(jié)點(diǎn)的數(shù)據(jù),然后使用智能合約的共識算法檢測各節(jié)點(diǎn)中數(shù)據(jù)的一致性,為UWSN中惡意節(jié)點(diǎn)的檢測提供可溯源和可復(fù)現(xiàn)的檢測過程。該機(jī)制可避免惡意節(jié)點(diǎn)對網(wǎng)絡(luò)結(jié)構(gòu)造成危害,還可防止惡意節(jié)點(diǎn)獲取有效的網(wǎng)絡(luò)數(shù)據(jù),保證檢測過程的公開透明,降低惡意節(jié)點(diǎn)檢測的難度。
1? 基于分簇網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的UWSN區(qū)塊鏈模型
UWSN具有分布范圍廣、節(jié)點(diǎn)數(shù)量多等特點(diǎn),為了便于管理UWSN的節(jié)點(diǎn),需要對網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行分簇。簇頭節(jié)點(diǎn)負(fù)責(zé)收集簇內(nèi)成員節(jié)點(diǎn)收集的數(shù)據(jù),同時(shí)將收集的數(shù)據(jù)進(jìn)行融合,統(tǒng)一發(fā)送給基站[3],最后由基站轉(zhuǎn)發(fā)到地面站。簇頭節(jié)點(diǎn)不僅負(fù)責(zé)收集數(shù)據(jù),還負(fù)責(zé)簇內(nèi)節(jié)點(diǎn)的管理。UWSN的拓?fù)浣Y(jié)構(gòu)決定了簇頭節(jié)點(diǎn)一旦被入侵,整個網(wǎng)絡(luò)的通信安全將無法得到保證,因此需要引入相應(yīng)的安全機(jī)制來保證簇內(nèi)所有節(jié)點(diǎn)的安全。
針對UWSN的這種特點(diǎn),結(jié)合區(qū)塊鏈的基本架構(gòu),參考分級管理制度,將UWSN劃分為基站、簇頭節(jié)點(diǎn)及簇內(nèi)成員節(jié)點(diǎn)三級聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò),共同負(fù)責(zé)區(qū)塊鏈的管理,如圖1所示。在聯(lián)盟區(qū)塊鏈中,只有獲得授權(quán)的節(jié)點(diǎn)才能接入網(wǎng)絡(luò),其中,簇內(nèi)成員節(jié)點(diǎn)負(fù)責(zé)采集數(shù)據(jù)并將數(shù)據(jù)發(fā)送給簇頭節(jié)點(diǎn);簇頭節(jié)點(diǎn)負(fù)責(zé)收集簇內(nèi)節(jié)點(diǎn)的數(shù)據(jù)并進(jìn)行融合轉(zhuǎn)發(fā),同時(shí)對簇內(nèi)節(jié)點(diǎn)進(jìn)行管理,如成員節(jié)點(diǎn)的加入退出、節(jié)點(diǎn)的授權(quán)和驗(yàn)權(quán);基站負(fù)責(zé)對簇頭節(jié)點(diǎn)和簇內(nèi)成員節(jié)點(diǎn)的認(rèn)證和管理,同時(shí)將認(rèn)證后的簇內(nèi)成員節(jié)點(diǎn)信息發(fā)送給簇頭節(jié)點(diǎn),并將所有認(rèn)證信息分布式存儲在聯(lián)盟鏈中。
圖1? 基于分簇拓?fù)浣Y(jié)構(gòu)的UWSN區(qū)塊鏈模型
在該模型中,所有節(jié)點(diǎn)(包括基站、簇頭節(jié)點(diǎn)和簇內(nèi)節(jié)點(diǎn))通過P2P實(shí)現(xiàn)數(shù)據(jù)傳輸[4],聯(lián)盟鏈網(wǎng)絡(luò)中不存在中心服務(wù)器或權(quán)威授權(quán)機(jī)構(gòu),因此聯(lián)盟鏈之間由多個節(jié)點(diǎn)共同參與記賬,同時(shí)維護(hù)各節(jié)點(diǎn)之間的通信安全。在聯(lián)盟鏈中,單個節(jié)點(diǎn)失效并不會影響整個網(wǎng)絡(luò)的功能運(yùn)作,數(shù)據(jù)永久存儲在各個節(jié)點(diǎn)上,以此保證數(shù)據(jù)的安全。
2? 基于智能合約的惡意節(jié)點(diǎn)檢測機(jī)制
2.1? 惡意節(jié)點(diǎn)檢測模型
為了更好地表示檢測模型,我們將UWSN的運(yùn)行框架與聯(lián)盟鏈網(wǎng)絡(luò)相互映射。在USWN中,sn表示簇內(nèi)成員節(jié)點(diǎn),cn表示簇頭節(jié)點(diǎn),bs表示基站,對應(yīng)聯(lián)盟鏈中的普通節(jié)點(diǎn)——ca節(jié)點(diǎn)、驗(yàn)證節(jié)點(diǎn)、合約執(zhí)行節(jié)點(diǎn),如圖2所示。
圖2? 模型整體框架
在惡意節(jié)點(diǎn)檢測模型中,sn表示普通節(jié)點(diǎn),僅負(fù)責(zé)數(shù)據(jù)的采集和傳輸,并不參與聯(lián)盟鏈的記賬行為;bs表示合約執(zhí)行節(jié)點(diǎn),負(fù)責(zé)執(zhí)行智能合約,對sn節(jié)點(diǎn)和cn節(jié)點(diǎn)進(jìn)行認(rèn)證,并將認(rèn)證信息存儲在聯(lián)盟鏈中;cn節(jié)點(diǎn)擔(dān)任ca節(jié)點(diǎn)或驗(yàn)證節(jié)點(diǎn);驗(yàn)證節(jié)點(diǎn)由候選的cn節(jié)點(diǎn)擔(dān)任,負(fù)責(zé)為簇內(nèi)節(jié)點(diǎn)提供數(shù)字簽名認(rèn)證等功能,并對sn節(jié)點(diǎn)數(shù)據(jù)進(jìn)行融合和轉(zhuǎn)發(fā)?;谏鲜鎏攸c(diǎn)提出了水下惡意節(jié)點(diǎn)檢測模型(Underwater Malicious Node Detection Model, UMND),其整體結(jié)構(gòu)可以表示為:
(1)
其中,bs = {bsi|i ∈ N+},cn = {cnj | j ∈ N+},sn = {snk | k ∈ N+},Cmndb表示用于惡意節(jié)點(diǎn)檢測的聯(lián)盟鏈,sc表示聯(lián)盟鏈Cmndb的智能合約,Transaction={tn | tn ∈ sn×cn×cn×bs,n ∈ N+}表示由各個節(jié)點(diǎn)之間的交易組合而成的有限集合,sn×cn是sn和cn組成的有限集合,sn×bs是sn和bs組合的有限集合;a表示sn與cn到Cmndb映射的函數(shù);β表示每個sn組成的節(jié)點(diǎn)位置列表,表示其位置和ID。
為了更好地描述UMND,需要重新定義Cmndb,如圖3所示,Cmndb中包含區(qū)塊頭和區(qū)塊體兩個部分,其中區(qū)塊頭包含有時(shí)間戳、隨機(jī)數(shù)、區(qū)塊頭hash、前置區(qū)塊hash、難度指標(biāo)、Merkelroot等[5,6]信息;區(qū)塊體包含區(qū)塊生成過程中所有節(jié)點(diǎn)采集的數(shù)據(jù),具體包括節(jié)點(diǎn)狀態(tài)、節(jié)點(diǎn)ID、DT、FR、RT、NS、Nf等。
圖3? Cmndb的數(shù)據(jù)結(jié)構(gòu)
D1到Dn是存儲在區(qū)塊鏈中的節(jié)點(diǎn)采集數(shù)據(jù),hash(1)表示簇D1內(nèi)所有成員節(jié)點(diǎn)交易數(shù)據(jù)的hash值,hash(1,…,n)表示D1到Dn所有簇內(nèi)成員節(jié)點(diǎn)交易數(shù)據(jù)的hash值。通過逐層計(jì)算hash值的方式,將最終的hash值存儲在Merkleroot中。由于聯(lián)盟鏈采用鏈?zhǔn)降臄?shù)據(jù)結(jié)構(gòu),任何一個節(jié)點(diǎn)的交易發(fā)生變化,最終都可以直觀地反應(yīng)在Merkleroot中,從而保證數(shù)據(jù)不會被惡意篡改。該聯(lián)盟鏈中所有簇內(nèi)節(jié)點(diǎn)將采集到的數(shù)據(jù)在網(wǎng)絡(luò)中廣播,每個節(jié)點(diǎn)都計(jì)算hash值,參與記賬并維護(hù)整個網(wǎng)絡(luò)的數(shù)據(jù)安全,同時(shí)還需要對其他節(jié)點(diǎn)發(fā)送的消息進(jìn)行驗(yàn)證,防止數(shù)據(jù)被惡意篡改。
2.2? UWSN的智能合約
智能合約是運(yùn)行在區(qū)塊鏈上的程序,相對于普通程序,智能合約能夠保證在區(qū)塊鏈每個節(jié)點(diǎn)上運(yùn)行的結(jié)果完全相同,且一旦滿足指定規(guī)則的條件,智能合約將自動運(yùn)行,這一過程完全自動,不需要人工干預(yù)[7]。Cmndb的智能合約可以表示為:
(2)
其中,Cmndb(sc)表示智能合約,bs表示智能合約的發(fā)布者,cn表示需要bs授權(quán)的匯聚節(jié)點(diǎn),sn表示可能出現(xiàn)的惡意節(jié)點(diǎn),Cmndb表示如前所述的聯(lián)盟鏈數(shù)據(jù)結(jié)構(gòu),δ表示是否為惡意節(jié)點(diǎn)的評價(jià)指標(biāo),nci表示區(qū)塊鏈中各節(jié)點(diǎn)的信用值,QM表示定位簇內(nèi)成員節(jié)點(diǎn)的具體方法。節(jié)點(diǎn)的信用值nci可以表示為:
(3)
其中,nci-init表示各節(jié)點(diǎn)的初始信用值,tcur表示當(dāng)前區(qū)塊創(chuàng)建的時(shí)間,tpre表示前一區(qū)塊創(chuàng)建的時(shí)間,T(i)表示該節(jié)點(diǎn)在一段時(shí)間內(nèi)收到的獎勵或懲罰次數(shù),rp(i)表示節(jié)點(diǎn)獲得的獎勵或懲罰值。聯(lián)盟鏈中惡意節(jié)點(diǎn)的檢測步驟如下:
1)bs發(fā)布智能合約Cmndb(sc)。
2)bs對cn授權(quán),同時(shí)將cn指定為智能合約Cmndb(sc)的執(zhí)行者和投票者。
3)簇頭節(jié)點(diǎn)cn利用簇內(nèi)成員節(jié)點(diǎn)定位方法QM獲取所有sn,且sn中節(jié)點(diǎn)的位置與ID相對應(yīng),因此很容易定位簇內(nèi)成員節(jié)點(diǎn)列表。
4)利用共識算法判斷簇頭節(jié)點(diǎn)cn所在簇所有成員節(jié)點(diǎn)的狀態(tài)。
5)如果簇內(nèi)所有成員節(jié)點(diǎn)的狀態(tài)是正常的,則對所采集的簇內(nèi)成員節(jié)點(diǎn)相關(guān)信息進(jìn)行計(jì)算,同時(shí)計(jì)算各節(jié)點(diǎn)存儲數(shù)據(jù)時(shí)的處理延遲DT、數(shù)據(jù)轉(zhuǎn)發(fā)率FR,以及對數(shù)據(jù)采集的響應(yīng)時(shí)間RT。
6)將簇內(nèi)所有成員節(jié)點(diǎn)計(jì)算的結(jié)果(包括處理延遲DT、數(shù)據(jù)轉(zhuǎn)發(fā)率FR、對數(shù)據(jù)采集的響應(yīng)時(shí)間RT等)發(fā)送到節(jié)點(diǎn)通信函數(shù)[8]中,然后計(jì)算得到節(jié)點(diǎn)的通信質(zhì)量Qtrans。
7)利用節(jié)點(diǎn)的通信質(zhì)量計(jì)算各節(jié)點(diǎn)通信成功的次數(shù)SUCC和失敗的次數(shù)FAIL。
8)利用節(jié)點(diǎn)通信成功的次數(shù)和失敗的次數(shù)計(jì)算節(jié)點(diǎn)的信用值nci。
9)簇頭節(jié)點(diǎn)cn利用節(jié)點(diǎn)sn的信用值,并使用vote()函數(shù)對簇內(nèi)所有成員節(jié)點(diǎn)sn的ID進(jìn)行投票,同時(shí)設(shè)定一個閾值ε,簇頭節(jié)點(diǎn)cn判斷簇內(nèi)所有節(jié)點(diǎn)sn的信用值nci是否在閾值ε范圍內(nèi),如果節(jié)點(diǎn)的信用值nci小于閾值ε,則判定該節(jié)點(diǎn)為惡意節(jié)點(diǎn),同時(shí)輸出該節(jié)點(diǎn)的ID,反之則判定該節(jié)點(diǎn)為正常節(jié)點(diǎn)。
10)通過ID來定位sn的位置。
2.3? 基于智能合約的惡意節(jié)點(diǎn)檢測方法
嚴(yán)格來說,惡意節(jié)點(diǎn)的定義存在一定的主觀性,鑒于水下無線傳感器網(wǎng)絡(luò)所處的嚴(yán)苛環(huán)境,傳感器網(wǎng)絡(luò)節(jié)點(diǎn)很容易發(fā)生故障,相對于被攻擊的節(jié)點(diǎn),發(fā)生故障的惡意節(jié)點(diǎn)也可稱之為惡意節(jié)點(diǎn),也就是說,惡意節(jié)點(diǎn)的判斷標(biāo)準(zhǔn)不應(yīng)該是是否被攻擊,而是采集的結(jié)果是否符合實(shí)際情況。因此在本文中,以信用值來判斷節(jié)點(diǎn)是否為惡意節(jié)點(diǎn)。節(jié)點(diǎn)的信用值取決于節(jié)點(diǎn)的狀態(tài)state、數(shù)據(jù)處理延時(shí)DT、數(shù)據(jù)轉(zhuǎn)發(fā)率FR、節(jié)點(diǎn)響應(yīng)時(shí)間RT等因素。在水下無線傳感器網(wǎng)絡(luò)中,為了保證網(wǎng)絡(luò)的安全性,一部分節(jié)點(diǎn)作為備份節(jié)點(diǎn)處于待機(jī)狀態(tài),因此在惡意節(jié)點(diǎn)檢測中需要將該類節(jié)點(diǎn)全部刪除。對于正常工作的節(jié)點(diǎn),需要額外采集節(jié)點(diǎn)的以下三類信息:
1)數(shù)據(jù)處理延時(shí)DT。指節(jié)點(diǎn)在一定時(shí)間T1內(nèi)將采集的數(shù)據(jù)包存儲轉(zhuǎn)發(fā)處理所需的時(shí)間Tid,因此DT的取值范圍為:
(4)
2)數(shù)據(jù)轉(zhuǎn)發(fā)率FR。指節(jié)點(diǎn)的下一跳是否正確轉(zhuǎn)發(fā)源節(jié)點(diǎn)采集的數(shù)據(jù),該數(shù)據(jù)的主要目的是防止被惡意轉(zhuǎn)發(fā),F(xiàn)R的取值范圍為:
(5)
3)節(jié)點(diǎn)響應(yīng)時(shí)間RT。指在指定的時(shí)間間隔Titval內(nèi),節(jié)點(diǎn)cn從發(fā)出請求到收到節(jié)點(diǎn)sn有效回應(yīng)的響應(yīng)時(shí)間,并計(jì)算該時(shí)間間隔占指定時(shí)間間隔Titval的比例,因此有:
(6)
其中,bitpacket表示每個數(shù)據(jù)包中數(shù)據(jù)的長度,bw表示兩個節(jié)點(diǎn)之間的無線傳感器網(wǎng)絡(luò)帶寬,Pdist表示數(shù)據(jù)的傳輸距離,Pspeed表示數(shù)據(jù)的傳播速度,Ptime表示數(shù)據(jù)的處理時(shí)間。
綜上所述,可以計(jì)算簇內(nèi)成員節(jié)點(diǎn)的一次數(shù)據(jù)傳輸?shù)馁|(zhì)量Qtrans,可以表示為:
(7)
其中,α、β、χ分別表示數(shù)據(jù)處理延時(shí)DT、數(shù)據(jù)轉(zhuǎn)發(fā)率FR以及節(jié)點(diǎn)響應(yīng)時(shí)間RT在數(shù)據(jù)傳輸中所占的權(quán)重,且α + β + χ = 1。
為了更好地計(jì)算節(jié)點(diǎn)的信用值,可以給定一個閾值k,當(dāng)Qtrans≤k時(shí),節(jié)點(diǎn)通信成功次數(shù)可以增加1,表示該簇內(nèi)成員節(jié)點(diǎn)的信用值增加,反之通信失敗的次數(shù)加1,簇內(nèi)成員節(jié)點(diǎn)的信用值降低。同樣增加一個新的閾值ω,當(dāng)節(jié)點(diǎn)的信用值低于閾值ω時(shí),就可以判定該簇內(nèi)的該成員節(jié)點(diǎn)為惡意節(jié)點(diǎn)。
3? 仿真實(shí)驗(yàn)與分析
3.1? 實(shí)驗(yàn)環(huán)境
在仿真實(shí)驗(yàn)環(huán)境中,使用Truffle開發(fā)框架編寫和測試實(shí)驗(yàn)環(huán)境。Truffle框架具有項(xiàng)目管理、智能合約編譯、遷移測試等功能,同時(shí)還具有區(qū)塊鏈網(wǎng)絡(luò)管理功能[9],較為適宜水下較為復(fù)雜的無線傳感器網(wǎng)絡(luò)。在本次仿真實(shí)驗(yàn)中,模擬了類似圖1的水下無線傳感器網(wǎng)絡(luò),有9個cn節(jié)點(diǎn)、326個sn節(jié)點(diǎn)、2個bs節(jié)點(diǎn),其中113個節(jié)點(diǎn)處于備用狀態(tài),每個cn節(jié)點(diǎn)負(fù)責(zé)20~28個sn節(jié)點(diǎn),每個cn節(jié)點(diǎn)的通信范圍如表1所示。
表1? cn節(jié)點(diǎn)負(fù)責(zé)的sn節(jié)點(diǎn)列表(部分)
cnID sn列表 sn數(shù)量
cn1 1,3,5,6,7,8,10,11,13,14,16,18,19,21,23,
24,25,26,28,30,31 20
cn2 32,34,35,36,37,38,39,40,41,43,44,45,46,48,49,51,52,54,55,57,58,59,60 23
cn3 62,67,68,66,67,68,69,70,71,76,77,78,76,78,79,81,82,87,88,87,88 21
3.2? 惡意節(jié)點(diǎn)檢測模型的可行性分析
在惡意節(jié)點(diǎn)檢測過程中,cn節(jié)點(diǎn)將采集到的數(shù)據(jù)(如節(jié)點(diǎn)狀態(tài)state、處理延時(shí)DT、轉(zhuǎn)發(fā)率FR、響應(yīng)時(shí)間RT等數(shù)據(jù))寫入聯(lián)盟鏈Cmndb中,然后計(jì)算節(jié)點(diǎn)的數(shù)據(jù)傳輸質(zhì)量Qtrans和信用值,接下來所有cn節(jié)點(diǎn)根據(jù)信用值對其所在簇的sn節(jié)點(diǎn)進(jìn)行投票,從而檢測出惡意節(jié)點(diǎn),同時(shí)記錄所有節(jié)點(diǎn)的交易信息,如本實(shí)驗(yàn)中1號cn節(jié)點(diǎn)的服務(wù)質(zhì)量和信用值如表2所示。
在表2中,State表示當(dāng)前節(jié)點(diǎn)的狀態(tài)信息以及執(zhí)行命令的結(jié)果;Hash表示節(jié)點(diǎn)交易結(jié)果的hash值;From表示交易發(fā)送方,即合約部署者的地址;To表示交易接收方,即合約地址;Input字段的值由vote()函數(shù)的ABI碼和輸入?yún)?shù)拼接而成;Output字段表示節(jié)點(diǎn)sn1計(jì)算所得的數(shù)據(jù),其結(jié)果由兩部分構(gòu)成,第一部分表示執(zhí)行結(jié)果成功的次數(shù),第二部分表示每次交易的結(jié)果[10]。其中“1”表示通信范圍內(nèi)所有sn1的信用值,節(jié)點(diǎn)的信用值越高表明該節(jié)點(diǎn)為惡意節(jié)點(diǎn)的可能性越低,當(dāng)某節(jié)點(diǎn)的信用值小于閾值ε時(shí),則可以認(rèn)為該節(jié)點(diǎn)為惡意節(jié)點(diǎn)。
表2? cn1簇內(nèi)節(jié)點(diǎn)sn1的服務(wù)質(zhì)量和信用值
項(xiàng)目 值
State Truemined&executionSucceed
Hash 4E5D6ADB26C7B785F37CBB920642AF23
From 27583A69CB23Fce8E564BA352ABA8423867B
To Cn1:7DC822373D99aF9f244bd89A324fC4dDE52A
Input 43BdcD02Dabfe
Output “3”:“1,0,0,1,1,0”
4? 結(jié)? 論
水流或其他原因?qū)е戮W(wǎng)絡(luò)拓?fù)浒l(fā)生動態(tài)變化,而水下無線傳感器網(wǎng)絡(luò)由于具備自組織特性且缺乏可信任的第三方,因此提出了基于區(qū)塊鏈的水下無線傳感器網(wǎng)絡(luò)惡意節(jié)點(diǎn)檢測機(jī)制。該檢測機(jī)制的原理是利用區(qū)塊鏈存儲網(wǎng)絡(luò)的節(jié)點(diǎn)數(shù)據(jù),使用智能合約檢測網(wǎng)絡(luò)中的惡意節(jié)點(diǎn),通過共識算法保證數(shù)據(jù)的一致性,從而保證檢測過程的公平性和溯源性。
參考文獻(xiàn):
[1] 王采薇,杜秀娟.水下無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位的定點(diǎn)神經(jīng)網(wǎng)絡(luò)算法研究 [J].信息技術(shù)與信息化,2020(5):231-233.
[2] 趙慶華,胡超凡.基于區(qū)塊鏈技術(shù)的全過程工程咨詢研究 [J].工程管理學(xué)報(bào),2023,37(6):41-45.
[3] 蘇毅珊,張賀賀,張瑞,等.水下無線傳感器網(wǎng)絡(luò)安全研究綜述 [J].電子與信息學(xué)報(bào),2023,45(3):1121-1133.
[4] 倪雪莉,馬卓,王群.區(qū)塊鏈P2P網(wǎng)絡(luò)及安全研究 [J/OL].計(jì)算機(jī)工程與應(yīng)用:1-15[2023-12-25].http://kns.cnki.net/kcms/detail/11.2127.TP.20231020.1100.004.html.
[5] 馮春波,阿不都熱衣木江·阿白,葛翔,等.聯(lián)盟鏈環(huán)境下物聯(lián)網(wǎng)輕量級網(wǎng)關(guān)研究 [J].計(jì)算機(jī)技術(shù)與發(fā)展,2023,(33):128-135.
[6] 王海超.多域環(huán)境下基于區(qū)塊鏈的訪問控制關(guān)鍵技術(shù)研究 [D].鄭州:戰(zhàn)略支援部隊(duì)信息工程大學(xué),2023.
[7] 唐陽雨.無線傳感器網(wǎng)絡(luò)訪問控制研究 [D].廣州:華南理工大學(xué),2021.
[8] 葉正旺.分簇?zé)o線傳感器網(wǎng)絡(luò)內(nèi)部安全關(guān)鍵技術(shù)研究 [D].沈陽:東北大學(xué),2022.
[9] 王胤禛.基于區(qū)塊鏈的安全高效溯源方案研究 [D].西安:西安郵電大學(xué),2023.
[10] 黃豪杰,吳曉曉,李剛強(qiáng).基于區(qū)塊鏈智能合約的物聯(lián)網(wǎng)惡意節(jié)點(diǎn)檢測和定位 [J].物聯(lián)網(wǎng)學(xué)報(bào),2020,4(2):58-69.
作者簡介:崔遠(yuǎn)(1980—),女,漢族,山東平度人,講師,碩士,研究方向:物聯(lián)網(wǎng)應(yīng)用技術(shù)、人工智能技術(shù)研究。