中圖分類號:TP273 文獻標志碼:A文章編號:1001-5922(2025)05-0193-04
Abstract:In order to improve the access securityof IoTdevices,an access control based onaccesscontrol was proposed.Firstly,an IoTaccess control system was built with multiple IoTdevices,and adouble-layer blockchain network architecture was constructed.Then,the improved Raft algorithm was used to realize the consensus of the nodes of the main cluster,andthe consensus of the nodes of the sub-cluster was realized bythe PBFT algorithm,and he improved Raft-PBFTconsensus mechanism was designed.Finall,the method was simulated by the Hyperledger platform.The results showed thatthe proposed method realized eficient access control for IoTdevice access,and had the characteristics of low total cost,high consensus successrate,low delayand low communication overhead, and can be used for large-scale IoT access control. Compared with Raft,PBFTand theexisting consensus mechanisms,the proposed method has obvious advantages in terms of consensus delayand communication overhead.
Key words:access control;internet of things ;raft algorithm;PBFT algorithm
隨著網(wǎng)絡技術的快速發(fā)展,物聯(lián)網(wǎng)設備數(shù)量呈幾何式增長。據(jù)統(tǒng)計,每天有770萬個物聯(lián)網(wǎng)設備連接到互聯(lián)網(wǎng)上。因此,確保物聯(lián)網(wǎng)接入安全至關重要。近年來相關研究人員提出一種基于物聯(lián)網(wǎng)的訪問控制技術,如蔣偉進等以基于屬性的訪問控制模型為基礎,提出一種物聯(lián)網(wǎng)環(huán)境下私有數(shù)據(jù)訪問控制模型,并通過對物聯(lián)網(wǎng)中細粒度和動態(tài)性的訪問控制進行管理,吸納了數(shù)據(jù)的可審計訪問,提高了物聯(lián)網(wǎng)設備接人的安全性[1;曾智勇等通過分析物聯(lián)網(wǎng)下差異設備的兼容數(shù)據(jù),設計了一種安全訪問控制機制,實現(xiàn)了高可控性的安全訪問控制,使物聯(lián)網(wǎng)設備接入具有較高的動態(tài)可控性;田秀霞等認為家庭中的物聯(lián)網(wǎng)設備并非完全可信,因此為確保使用者數(shù)據(jù)安全,提出一種基于智能合約的訪問控制機制,實現(xiàn)了家庭物聯(lián)網(wǎng)設備的安全接人[3]。上述研究表明,物聯(lián)網(wǎng)設備接入存在安全問題,通過訪問控制技術,可一定程度上解決該問題,但劉奇旭等人認為上述策略還遠達不到實際應用需求[4]。為此,研究通過分析物聯(lián)網(wǎng)訪問控制系統(tǒng)及區(qū)塊鏈網(wǎng)絡架構,提出一種基于訪問控制的物聯(lián)網(wǎng)設備接入方法,并通過采用改進的Raft算法實現(xiàn)主集群節(jié)點共識,采用PBFT算法實現(xiàn)子集群節(jié)點共識,設計了改進Raft-PBFT共識機制,以實現(xiàn)物聯(lián)網(wǎng)設備接入的高效共識。
1 基本算法
1.1 Raft算法
Raft算法是一種分布式一致性算法,主要用于分布式系統(tǒng)狀態(tài)機的管理復制。Raf算法中包括領導者、跟從者、參與者3種節(jié)點角色[56]。當客戶端發(fā)出請求時,領導者對請求進行接收,并添加到日志中,同時將請求轉發(fā)給跟從者進行復制。跟從者接收到請求后,對請求進行負責,并應用到本地狀態(tài)機和領導者。通過上述過程,可確保分布式系統(tǒng)中所有節(jié)點狀態(tài)一致。參與者則基于異步遠程過程,調(diào)用請求。Raft算法具有響應速度快和易于實現(xiàn)的特點,但無法支持拜占庭容錯[7-8]。因此,研究通過引入監(jiān)督節(jié)點驗證消息,對Raft算法進行了改進。
當客戶端發(fā)送請求后,領導節(jié)點接收請求并廣播到各主集群節(jié)點,主集群節(jié)點將請求轉發(fā)到監(jiān)督節(jié)點進行驗證,并將通過驗證的信息返回到領導節(jié)點。領導節(jié)點接收到消息后,對消息進行驗證,并將通過驗證的消息進行打包返回客戶端。
1.2 PBFT算法
PBFT(PracticalByzantineFaultTolerance)算法即拜占庭容錯算法,主要用于解決拜占庭容錯問題。PBFT算法包括視圖、副本、角色3個核心概念[9-10] 。
當客戶端發(fā)出請求消息后,主節(jié)點接收請求消息,并將通過驗證的預準備消息廣播到副本節(jié)點;副本節(jié)點接收到預準備消息后,將通過驗證的準備消息寫入本地日志。此時,若一個節(jié)點同時收到2倍惡意節(jié)點數(shù)的準備消息,則向副節(jié)點發(fā)送確認消息。當副節(jié)點接收到2倍以上確認消息后,將返回為應答消息[-1]。當應答消息超過2倍以上惡意節(jié)點數(shù),則結束共識。
2基于改進Raft-PBFT的物聯(lián)網(wǎng)訪問控制
2.1 物聯(lián)網(wǎng)訪問控制系統(tǒng)模型與網(wǎng)絡架構
2.1.1 系統(tǒng)模型
為模擬大規(guī)模物聯(lián)網(wǎng)場景,研究采用多個物聯(lián)網(wǎng)設備搭建物聯(lián)網(wǎng)訪問控制系統(tǒng)。
當物聯(lián)網(wǎng)設備向資源設備發(fā)送訪問請求時,若資源設備具備驗證功能,且與物聯(lián)網(wǎng)設備存在直達鏈路,則在驗證身份合法后將訪問請求的數(shù)據(jù)發(fā)送給物聯(lián)網(wǎng)設備;若資源設備不具備驗證功能或與物聯(lián)網(wǎng)設備之間不存在直達鏈路,則資源設備將訪問請求發(fā)送到網(wǎng)關設備,通過網(wǎng)關設備驗證身份合法后,發(fā)送確認消息到資源設備,然后資源設備將訪問請求的數(shù)據(jù)發(fā)送給物聯(lián)網(wǎng)設備[13-14]。然而由于實際應用中,物聯(lián)網(wǎng)設備可能受到攻擊,出現(xiàn)延遲響應或惡意響應等問題,威脅物聯(lián)網(wǎng)數(shù)據(jù)訪問的可靠性。因此,研究構建了雙層區(qū)塊鏈網(wǎng)絡架構。
2.1.2 網(wǎng)絡架構
研究構建的網(wǎng)絡架構如圖1所示,包括一個高層主集群和多個子集群。其中,主集群的設備類型由網(wǎng)關數(shù)量和主集群數(shù)量確定,當網(wǎng)關數(shù)量小于子集群數(shù)量,則確定主集群節(jié)點含有網(wǎng)關設備和具有計算能力的資源設備,反之,則認為所有主集群節(jié)點全部為網(wǎng)關設備[15-6] 。

2.2基于改進Raft-PBFT的共識機制
基于上述構建的物聯(lián)網(wǎng)訪問控制模型和網(wǎng)絡架構,為實現(xiàn)大規(guī)模物聯(lián)網(wǎng)訪問控制,可將物聯(lián)網(wǎng)訪問控制分為主集群共識階段和子集群共識階段2個部分。結合文中提出的改進Raft算法和PBFT算法,研究將物聯(lián)網(wǎng)訪問控制思路設計為:主集群采用改進Raft算法達成共識,子集群采用PBFT算法達成共識,并提出一種改進Raft-PBFT共識機制。
2.2.1 主集群共識
當物聯(lián)網(wǎng)設備需要請求時,首先將請求消息發(fā)送到領導節(jié)點,然后通過領導節(jié)點將請求信息廣播到主集群節(jié)點和監(jiān)督節(jié)點中。各節(jié)點接收到廣播的請求消息后,對請求消息進行驗證,并將通過驗證的請求消息發(fā)送到監(jiān)督節(jié)點和領導節(jié)點,丟棄未通過驗證的請求消息。監(jiān)督節(jié)點接收到請求消息后,若收到超過 (K+1)/2 個合法驗證,K為集群數(shù),則打包準備請求消息并發(fā)送到副本節(jié)點,反之則丟棄請求消息。至此,主集群共識階段完成[17]
2.2.2 子集群共識
子集群主節(jié)點向其子節(jié)點廣播預準備消息,子集群子節(jié)點接收到預準備消息后,將驗證通過預準備消息廣播為準備消息并發(fā)送到各子集群子節(jié)點,同時丟棄未通過驗證的預準備消息。當子集群子節(jié)點收到準備消息后,若收到超過子集群節(jié)點數(shù)2/3個合法驗證,則將通過驗證的準備消息廣播為確認消息并發(fā)送各子集群子節(jié)點,同時丟棄未通過驗證的準備消息。當子集群子節(jié)點收到確認消息后,若收到超過子集群節(jié)點數(shù)2/3個合法驗證,則將通過驗證的確認消息作為回復消息,發(fā)送到主節(jié)點,丟棄未通過驗證的確認消息[18]。至此,子集群共識階段完成。
2.2.3 視圖切換階段
考慮到子集群子節(jié)點可能受到攻擊,導致無法完成共識。因此,研究以拜占庭攻擊為例,設計了視圖切換階段。視圖轉換階段中,當子集群主節(jié)點受到攻擊,將通過子集群輪詢方式重新選擇主節(jié)點。子集群子節(jié)點接收視圖切換消息后,將通過驗證的消息回復到所選擇的主節(jié)點,并丟棄未通過驗證的消息。主節(jié)點若接收到超過2倍的子集群可容錯拜占庭錯誤數(shù)的視圖切換消息,且視圖切換消息通過了合法驗證,則將新視圖消息廣播到子集群節(jié)點,并更新主節(jié)點[19]。至此,視圖切換階段完成。
3 仿真實驗
3.1 實驗環(huán)境搭建
實驗基于開源超級賬本搭建大規(guī)模物聯(lián)網(wǎng)平臺,并在Ubuntu18.04操作系統(tǒng)上進行仿真。系統(tǒng)配置Intel(R)Core(TM)i9-9900中央處理器,256GB磁盤空間。
3.2 參數(shù)設置
仿真試驗中,設置物聯(lián)網(wǎng)設備傳輸數(shù)據(jù)量小于5Mbits,發(fā)送功率為0.2W,鏈路帶寬、噪聲功率譜密度、調(diào)制階數(shù)分別為 1MHz 、-178 dBm、16。
3.3 結果與分析
3.3.1 總成本分析
改進Raft-PBFT的物聯(lián)網(wǎng)訪問控制共識機制的總成本與集群數(shù)和子集群節(jié)點數(shù)相關。為分析所提共識機制的總成本,實驗統(tǒng)計了不同集群數(shù)和子集群節(jié)點數(shù)下的總成本,結果如圖2所示。

由圖6可知,不同集群數(shù)和子集群節(jié)點數(shù)的總成本不同,在子集群節(jié)點數(shù)相同的條件下,隨著集群數(shù)的增加,總成本逐漸降低;在集群數(shù)相同的條件下,隨著子集群節(jié)點數(shù)的增加,總成本逐漸增加。
3.3.2 成功率分析
基于總成本分析結果,試驗選取集群數(shù)為20和30時,對所提共識機制的共識成功率進行分析,結果如圖3所示。

由圖3可知,隨著節(jié)點出錯概率的增加,所提共識機制的共識成功率逐漸降低;相同節(jié)點出錯概率條件下,當節(jié)點出錯概率小于 20% 時,集群數(shù)越多,共識成功率越大;當節(jié)點出錯概率大于 20% 時,集群數(shù)越多,共識成功率越小。
3.3.3 時延分析
基于改進Raft-PBFT的物聯(lián)網(wǎng)訪問控制共識機制的時延性能與集群數(shù)和子集群節(jié)點數(shù)密切相關。因此,為分析所提共識機制的時延性能,實驗統(tǒng)計了不同集群數(shù)和子集群節(jié)點數(shù)下所提共識機制的共識時延,結果如圖4所示。

由圖4可知,相同集群數(shù)條件下,隨著節(jié)點數(shù)目的增加,所提共識機制的共識時延逐漸增加;相同節(jié)點數(shù)下,隨著集群數(shù)的增加,所提共識機制的共識時延降低。究其原因,所提共識機制在子集群共識階段可并發(fā)完成共識,而不依賴其他子集群,故集群數(shù)越多,共識時延越小。
3.3.4通信開銷分析
為分析所提基于改進Raft-PBFT的物聯(lián)網(wǎng)訪問控制共識機制的通信開銷,考慮到集群數(shù)和子集群節(jié)點數(shù)對共識機制通信開銷具有一定影響,實驗統(tǒng)計了不同集群數(shù)和不同子集群節(jié)點數(shù)下所提算法的通信開銷,結果如圖5所示。

由圖5可知,相同集群數(shù)條件下,隨著子集群節(jié)點數(shù)的增加,所提共識機制的通信開銷逐漸增大;相同子集群節(jié)點數(shù)下,集群數(shù)越大,通信開銷越小。分析其原因是,集群數(shù)的增加降低了子集群內(nèi)節(jié)點的通信開銷,進而使所提共識機制的通信開銷減小。
3.3.5 共識機制對比
通過上述分析可知,所提基于改進Raft-PBFT的物聯(lián)網(wǎng)訪問控制共識機制,具有總成本低、共識成功率高、時延低和通信開銷低的特點,可用于大規(guī)模物聯(lián)網(wǎng)訪問控制。為進一步檢驗所提共識機制的優(yōu)越性,實驗分析對比了所提共識機制與目前物聯(lián)網(wǎng)常用的訪問控制共識機制,在集群數(shù)為20條件下的時延和通信開銷,結果如圖6所示。

由圖6(a)可知,在不同子集群節(jié)點數(shù)下,相較于Raft、PBFT共識機制和文獻[19]提出的共識機制,所提改進Raft-PBFT的物聯(lián)網(wǎng)訪問控制共識機制的共識時延最低。分析其原因是,所提共識機制通過限制子集群的點對點通信,并在子集群中進行并發(fā)共識,降低了共識時延。由圖6(b)可知,在不同子集群節(jié)點數(shù)下,所提改進Raft-PBFT的物聯(lián)網(wǎng)訪問控制共識機制的通信開銷與文獻[19]提出的共識機制通信開銷接近,相較于PBFT共識機制,通信開銷明顯更大。整體來看,相較于PBFT共識機制和文獻[19]提出的共識機制,所提改進Raft-PBFT的物聯(lián)網(wǎng)訪問控制共識機制更適用于大規(guī)模物聯(lián)網(wǎng)的訪問控制。
4結語
綜上所述,研究通過構建物聯(lián)網(wǎng)訪問控制系統(tǒng)和網(wǎng)絡架構,并采用改進Raft算法達成主集群節(jié)點共識,采用PBFT算法達成子集群節(jié)點共識,設計了一種改進Raft-PBFT的物聯(lián)網(wǎng)訪問控制共識機制,實現(xiàn)了物聯(lián)網(wǎng)設備接入的高效訪問控制。該方法具有總成本低、共識成功率高、時延低和通信開銷低的特點,可用于大規(guī)模物聯(lián)網(wǎng)訪問控制。相較于Raft、PBFT以及現(xiàn)有共識機制,所提方法在共識時延和通信開銷方面具有明顯優(yōu)勢。
【參考文獻】
[1]蔣偉進,羅田甜,楊瑩,等.物聯(lián)網(wǎng)環(huán)境下基于區(qū)塊鏈技術的私有數(shù)據(jù)訪問控制模型[J].物聯(lián)網(wǎng)學報,2022,6(4) :169-182.
[2]曾智勇,洪睿,李祥林.物聯(lián)網(wǎng)下差異設備兼容數(shù)據(jù)安全訪問控制模型研究[J].自動化儀表,2022,43(8):112-117.
[3]田秀霞,楊明夷.家庭物聯(lián)網(wǎng)中基于智能合約的訪問控制機制[J].計算機工程,2023,49(3):18-28.
[4]劉奇旭,靳澤,陳燦華,等.物聯(lián)網(wǎng)訪問控制安全性綜述[J].計算機研究與發(fā)展,2022,59(10):2190-2211.
[5]李路遲,何樂生,李忠紅,等.基于實用拜占庭容錯算法的H-PBFT算法[J].物聯(lián)網(wǎng)技術,2023,13(8):43-48.
[6]白尚旺,達泓宇,高改梅,等.基于聯(lián)盟鏈PBFT的BRaft共識算法[J].軟件導刊,2023,22(9):132-137.
[7]王微淵,畢遠偉,陳霄漢,等.一種面向聯(lián)盟鏈優(yōu)化的PBFT共識算法[J].應用科學學報,2023,41(4):577-589.
[8]黃保華,彭麗,趙偉宏,等.基于可驗證隨機函數(shù)的實用拜占庭共識算法[J].計算機科學,2023,50(S1):737-742.
[9]韓宗芮,郭淵博,秦晰.基于NGAC 的物聯(lián)網(wǎng)訪問控制授權方案[J].小型微型計算機系統(tǒng),2022,43(9):1968-1975.
[10]李楊,徐龍,李研強,等.基于智能合約的物聯(lián)網(wǎng)訪問控制架構與驗證[J].計算機應用,2022,42(6):1922-1931.
[11]謝國濤,王首媛,陳禮波.基于無證書密碼體制和區(qū)塊鏈結合的物聯(lián)網(wǎng)設備訪問控制方案研究[J].郵電設計技術,2021,(7) :31-35.
[12]黃杰,余若晨,毛冬.電力物聯(lián)網(wǎng)場景下基于零信任的分布式數(shù)據(jù)庫細粒度訪問控制[J].信息安全研究,2021,7(6):535-542.
[13]王思源,鄒仕洪.多域物聯(lián)網(wǎng)中基于區(qū)塊鏈和權能的訪問控制機制[J].應用科學學報,2021,39(1):55-69.
[14]孫廣成,李洪赭,李賽飛,等.基于區(qū)塊鏈的物聯(lián)網(wǎng)訪問控制系統(tǒng)[J].計算機與現(xiàn)代化,2020,(11):100-108.
[15]韓彥龍,胡媛媛.光纖網(wǎng)絡通信中物聯(lián)網(wǎng)數(shù)據(jù)訪問控制與加密存儲技術研究[J].激光雜志,2020,41(9):97-101.
[16]吳仲超.基于電力物聯(lián)網(wǎng)的配電設備監(jiān)測與故障預警研究[J].粘接,2022,49(5):181-184.
[17]李爽.基于物聯(lián)網(wǎng)的醫(yī)療設備智能平臺研究[J].粘接,2022,49(5) :193-196.
[18]張杰,許姍姍,袁凌云.基于區(qū)塊鏈與邊緣計算的物聯(lián)網(wǎng)訪問控制模型[J].計算機應用,2022,42(7):2104-2111.
[19]宋麗華,朱宗科,李夢晨,等.基于區(qū)塊鏈的細粒度物聯(lián)網(wǎng)訪問控制模型[J].計算機工程與設計,2022,43(2):352-360.
(責任編輯:蘇帆)