郭文俊 楊澤民
摘?要:
針對當前物聯(lián)網(wǎng)數(shù)據(jù)量龐大且數(shù)據(jù)之間孤立,以及物聯(lián)網(wǎng)可信訪問服務管理中交易不透明和易受攻擊等問題,提出了基于區(qū)塊鏈的物聯(lián)網(wǎng)可信訪問控制研究,將區(qū)塊鏈技術應用到物聯(lián)網(wǎng)的訪問控制中,利用區(qū)塊鏈的去中心化特性結合物聯(lián)網(wǎng)訪問控制技術,設計了物聯(lián)網(wǎng)可信訪問控制模型。通過模擬實驗顯示,物聯(lián)網(wǎng)可信訪問控制模型能夠有效量化信任度、有效檢測到物聯(lián)網(wǎng)訪問攻擊行為,在整個訪問控制中能夠確保數(shù)據(jù)不被篡改,在每500次訪問增量下的攻擊檢測率可提升約1.77百分點,具有較高的實用性。
關鍵詞:區(qū)塊鏈;共識機制;物聯(lián)網(wǎng);訪問攻擊;可信訪問控制
中圖分類號:TP393??文獻標志碼:A
0?引言(Introduction)
在互聯(lián)網(wǎng)技術不斷發(fā)展的時代背景下,越來越多的物聯(lián)網(wǎng)軟件和硬件通過無線網(wǎng)絡相互連接,而且不斷地與外界環(huán)境進行交互,產(chǎn)生了海量的不同類型的數(shù)據(jù)資源[1],使得物聯(lián)網(wǎng)的規(guī)模迅猛發(fā)展,一個萬物互聯(lián)的時代已經(jīng)到來。與此同時,隨著物聯(lián)網(wǎng)設備產(chǎn)生的數(shù)據(jù)資源呈幾何式增長,使得設備資源的接入訪問控制面臨巨大的挑戰(zhàn)。并且,海量的物聯(lián)網(wǎng)資源往往涉及很多隱私及敏感信息,一旦被非法竊取,將造成不可估量的后果。物聯(lián)網(wǎng)訪問控制技術[2]是保護物聯(lián)網(wǎng)資源的重要手段,傳統(tǒng)的訪問控制技術通常依托中心化設計,存在單點故障、可靠性低、不易擴展等缺點。綜上問題,如果物聯(lián)網(wǎng)的訪問能夠以一種去中心化的方式開展,那么將大大提升物聯(lián)網(wǎng)訪問的安全性,而區(qū)塊鏈正因其去中心化的特性,受到了研究人員的青睞,本文將區(qū)塊鏈技術[3]應用到物聯(lián)網(wǎng)的訪問控制中,利用區(qū)塊鏈的去中心化特性結合物聯(lián)網(wǎng)訪問控制技術,設計了一個基于區(qū)塊鏈的物聯(lián)網(wǎng)可信訪問控制模型,以期解決物聯(lián)網(wǎng)下的訪問控制問題。
1?區(qū)塊鏈技術(Blockchain?technology)
區(qū)塊鏈技術是以比特幣為代表的“去中心化”的一種新型的以數(shù)據(jù)加密的方式共享數(shù)據(jù)信息的分布式數(shù)據(jù)庫技術(或稱分布式共享總賬),其主旨是讓系統(tǒng)的所有節(jié)點實現(xiàn)共同參與、共同維護,讓傳統(tǒng)的中心化操作公開透明、可監(jiān)督且由唯一轉變?yōu)榭商鎿Q,每個參與的節(jié)點都能成為一個中心,將傳統(tǒng)的強中心化變?yōu)槿踔行幕?/p>
1.1?區(qū)塊鏈的特點
(1)數(shù)據(jù)分布存儲
區(qū)塊鏈以分布式網(wǎng)絡為基礎進行構建,數(shù)據(jù)賬本分布在網(wǎng)絡中的不同節(jié)點上,每個節(jié)點都保存了該賬本的一個副本,所有副本同步更新,而非集中存放在某個數(shù)據(jù)中心或某個服務器上,體現(xiàn)了區(qū)塊鏈技術“去中心化”的特性。
(2)操作公開透明
除了對交易雙方的私有信息進行加密外,區(qū)塊鏈的數(shù)據(jù)對所有的節(jié)點公開,用戶看到的是同一個賬本,每位用戶的每一次交易信息都被寫入賬本中,每位用戶都可以看到賬本記錄的每一筆交易,所有用戶都可通過公開的接口對區(qū)塊鏈的數(shù)據(jù)進行查詢[4],并開發(fā)應用,進行的操作也是公開透明的。
(3)不易篡改
密碼學和共識機制[5]確保了區(qū)塊鏈的不可篡改性。賬本中記錄的信息一旦經(jīng)過驗證并被添加到區(qū)塊鏈中,就會被永久地存儲,攻擊方除非能夠控制區(qū)塊鏈中超過50%的節(jié)點,否則極個別惡意節(jié)點試圖對數(shù)據(jù)庫做出修改都是無效的。因此,區(qū)塊鏈數(shù)據(jù)的穩(wěn)定性和可靠性是非常高的。
(4)傳遞信任
區(qū)塊鏈存在的首要意義是通過共識而非中心化信用機構低成本地將雙方達成的內(nèi)容固定下來,誰也無法更改已經(jīng)確定的內(nèi)容。通過共識協(xié)議和智能合約[6]執(zhí)行多方協(xié)作的交易,不需要第三方的背書,交易的安全性由區(qū)塊鏈提供保障,交易雙方可以自由地進行價值轉移,從根本上改變了中心化的信用創(chuàng)建方式。
1.2?區(qū)塊鏈在物聯(lián)網(wǎng)應用領域的研究
在物聯(lián)網(wǎng)應用領域,王玉瓊[7]對區(qū)塊鏈的物聯(lián)網(wǎng)接入控制方法展開了研究,對現(xiàn)有的基于區(qū)塊鏈的安全技術進行了分析。趙明慧等[8]利用區(qū)塊鏈技術設計物聯(lián)網(wǎng)可信服務框架,利用其去中心化的特性令交易雙方在不需要第三方可信機構的前提下直接建立信任關系,實現(xiàn)了雙方透明化的交易。于金剛等[9]提出了一種新的建立在區(qū)塊鏈基礎上的物聯(lián)網(wǎng)數(shù)據(jù)共享模型,利用區(qū)塊鏈去中心化的特性,交易雙方不需要借助可信中心化機構,可以直接建立信任關系,保障數(shù)據(jù)能夠安全共享。薛慧等[10]利用區(qū)塊鏈技術設計了一種物聯(lián)網(wǎng)智能合約模型,使交易雙方在區(qū)塊鏈點對點的分布式架構之上創(chuàng)建了可信的交易環(huán)境,實現(xiàn)了機器與機器、人與機器之間的相互信任。宋麗華等[11]引入屬性的概念,在物聯(lián)網(wǎng)訪問控制上實現(xiàn)了支持細粒度的訪問控制。周立廣等[12]利用區(qū)塊鏈技術設計了一種可通過身份認證策略進行設備接入并對多種設備進行權限控制的分布式物聯(lián)網(wǎng)信息安全管理系統(tǒng)。史錦山等[13]在物聯(lián)網(wǎng)訪問控制中通過引入令牌(Token)的概念,以腳本的形式將各節(jié)點的訪問權限寫入?yún)^(qū)塊鏈中,提出了一種公平訪問(Fair?Access)的新機制。張杰等[14]利用集成邊緣計算并結合智能合約和基于屬性的訪問控制設計了基于區(qū)塊鏈與邊緣計算的物聯(lián)網(wǎng)訪問控制模型,實現(xiàn)了去中心化、細粒度和動態(tài)的物聯(lián)網(wǎng)訪問控制管理。任彥冰等[15]提出了一種基于區(qū)塊鏈的適用于分布式物聯(lián)網(wǎng)的訪問信任機制,利用區(qū)塊鏈的去中心化特性實現(xiàn)數(shù)據(jù)的有效共享,將信任關系進行量化,能夠在低存儲開銷的系統(tǒng)運行下有效保護數(shù)據(jù)的安全性。
本文提出的基于區(qū)塊鏈的物聯(lián)網(wǎng)可信訪問控制模型,其服務主體和服務客體間通過區(qū)塊鏈建立交易雙方之間的信任關系,在不需要可信的第三方的前提下,通過共識算法約定交易雙方在網(wǎng)絡中信用的生成方式,以此建立一個可信的網(wǎng)絡,為有效實現(xiàn)服務交互提供了可信賴的環(huán)境。物聯(lián)網(wǎng)可信訪問控制模型如圖1所示。
在基于區(qū)塊鏈的物聯(lián)網(wǎng)可信網(wǎng)絡區(qū)域中,由于所有的規(guī)則都事先達成了共識,服務提供者和服務請求者利用區(qū)塊鏈技術可直接建立信任關系并進行交互,而不需要了解其他節(jié)點的信息,實現(xiàn)了去中心化的信任建立。該模型中交易的管理則是通過智能合約實現(xiàn)的,區(qū)塊鏈通過智能合約的可編程特性,實現(xiàn)事件的觸發(fā)和調用,從而完成對交易內(nèi)容的自動處理。交易雙方通過該平臺進行交易時,平臺設備會自動進行觸發(fā)并通過合約程序實現(xiàn)交互,之后會將交易的詳細信息進行全網(wǎng)廣播,每一個接收到交易廣播信息的節(jié)點都會通過區(qū)塊鏈中的共識機制對此次交易進行驗證,經(jīng)驗證確定無誤后,方可將此次交易信息計入?yún)^(qū)塊鏈中。
2.1?訪問控制框架
在本模型的框架中,設備的各種屬性被抽象為單一的URL(Uniform?Resource?Locator),用戶對各種資源的訪問均不再直接向設備進行請求,而是通過訪問區(qū)塊鏈系統(tǒng)進行權限校驗后,獲取資源的URL并根據(jù)URL獲取交易數(shù)據(jù)[16]。訪問控制框架如圖2所示。
(1)服務管理者將資源分發(fā)到Internet云端,云端進行資源緩存并為其生成資源鏈接URL。
(2)服務管理者獲取資源鏈接URL。
(3)服務主體根據(jù)要求將各資源URL寫入智能合約中。
(4)服務客體想要訪問某一資源時,不是直接與服務主體設備進行通信,而是通過區(qū)塊鏈系統(tǒng)獲取訪問授權,從而獲得資源鏈接URL。
(5)智能合約獲得服務客體想要訪問資源的相關信息,調用策略合約對訪問者進行權限裁決,裁決通過后,向資源訪問請求者即服務客體,返回訪問資源的唯一URL。
(6)產(chǎn)生交易,驗證通過后寫入?yún)^(qū)塊鏈。
(7)資源訪問請求者通過URL在Internet上下載或提取資源。
2.2?融合智能合約的交易管理
智能合約是區(qū)塊鏈技術中的一種數(shù)字化合約方式,一般以程序代碼的形式被寫入并完成相關的操作。智能合約首先需要交易雙方就合約內(nèi)容進行協(xié)商并達成一致,之后通過程序代碼的形式將合約內(nèi)容寫入?yún)^(qū)塊鏈系統(tǒng)中,合約一旦寫入,則自動生效,第三方無法修改。交易雙方在訂立合約時,不需要到場面簽,只需要在線上通過智能合約系統(tǒng)便可完成,整個過程高度匿名、高度透明且不可篡改,幾乎不需要其他人員參與,這就保證了交易雙方之間的交易數(shù)據(jù)的安全性和交易寫入的高效性。本文利用智能合約,通過特定的運行機制保障物聯(lián)網(wǎng)設備間交易的進行,有效地提升了物聯(lián)網(wǎng)設備間交易的建立和交易完成的效率。
2.3?區(qū)塊鏈共識機制
共識機制使提案閱讀者達成了一致,描述了分布式系統(tǒng)中多個節(jié)點之間,根據(jù)某一事先商量好的規(guī)則,彼此對某個狀態(tài)達成一致的過程。對于分布式系統(tǒng),可以認為每個節(jié)點是相同的確定性狀態(tài)機模型,從相同的初始狀態(tài)接受相同的順序指令,可以保證相同的結果狀態(tài)。因此,只要分布式系統(tǒng)中多個節(jié)點對多個事件的交易數(shù)據(jù)達成共識,便可保障分布式賬本數(shù)據(jù)的真實性。目前,區(qū)塊鏈的共識機制主要有Pow(工作量證明)機制、Pos(權益證明)機制、DPos(授權權益證明)機制、PBFT(拜占庭容錯)機制,其中Pow機制、Pos機制、DPos機制一般應用在公有鏈中,而PBFT機制則在對一致性有更高要求的私有鏈或聯(lián)盟鏈中的應用較多。表1為共識機制對比[17]。
2.4?攻擊防范
物聯(lián)網(wǎng)訪問的攻擊[18]行為主要存在于交易雙方進行訪問交易的過程中,區(qū)塊鏈可通過共識機制抵御外部節(jié)點的攻擊。在區(qū)塊的驗證過程中,共識機制允許區(qū)塊鏈中的所有節(jié)點參與,并通過達成的共識算法選定特定的節(jié)點(比如在Pow機制中選取算力最強的節(jié)點),將產(chǎn)生的新數(shù)據(jù)計入?yún)^(qū)塊鏈中,使提案閱讀者能達成一致意見。本文提出的物聯(lián)網(wǎng)可信訪問控制,就是利用區(qū)塊鏈中的共識機制檢測并防范來自惡意節(jié)點的攻擊行為。共識機制防范惡意攻擊的過程如圖3所示。
從圖3中可以看到,A、B、C、D四個節(jié)點分布于物聯(lián)網(wǎng)中,其中A為可信節(jié)點,B為攻擊節(jié)點,試圖對該交易進行篡改,C和D為可信節(jié)點。節(jié)點A廣播自己的交易信息給網(wǎng)絡中的其他3個節(jié)點,標記為“1”,B、C、D收到該廣播信息后,進行簽署再轉發(fā)給其他節(jié)點。B節(jié)點為了破壞此次交易,故意將簽署后的信息標記為“0”,并轉發(fā)給C、D節(jié)點,而為了防止被A節(jié)點發(fā)現(xiàn),轉發(fā)給A節(jié)點的信息仍然被標記為“1”,而C、D兩個可信節(jié)點在收到信息后,仍按照當初達成的共識在簽署信息后將其標記為“1”,然后轉發(fā)出去。如圖3所示,A節(jié)點收到的是(111),C、D節(jié)點收到的是(101),按照共識算法,A、C、D共同確定廣播的信息,仍然可以將此次交易內(nèi)容寫入?yún)^(qū)塊鏈中。由此可見,惡意攻擊節(jié)點很難通過共識機制將欺詐行為寫入?yún)^(qū)塊鏈中。本文利用區(qū)塊鏈中的共識機制能夠有效防范惡意節(jié)點的欺詐行為,確保了訪問的可信度且具有較高的安全性。
3?系統(tǒng)測試與分析(System?test?and?analysis)
3.1?區(qū)塊鏈網(wǎng)絡部署[HJ1.8mm]
文中提到的基于區(qū)塊鏈的物聯(lián)網(wǎng)可信訪問控制模型,需要搭建區(qū)塊鏈網(wǎng)絡環(huán)境,區(qū)塊鏈運行于分布式環(huán)境下,故此至少需要3臺計算機,并都要安裝geth客戶端,之后通過配置將其轉換為區(qū)塊鏈節(jié)點,從而構成一個簡易的私有區(qū)塊鏈網(wǎng)絡。
3.2?測試環(huán)境
本系統(tǒng)測試主要模擬物聯(lián)網(wǎng)設備,用于測試區(qū)塊鏈的網(wǎng)絡部署和系統(tǒng)的訪問功能。整個系統(tǒng)的硬件配置如下:物聯(lián)網(wǎng)網(wǎng)關/網(wǎng)絡開發(fā)板1塊、臺式電腦1臺、筆記本電腦2臺及Wi\|Fi開發(fā)板2塊。其中,1臺臺式電腦和2臺筆記本電腦通過安裝geth客戶端構成一個簡易的私有區(qū)塊鏈網(wǎng)絡,物聯(lián)網(wǎng)網(wǎng)關/網(wǎng)絡開發(fā)板作為物聯(lián)網(wǎng)代理設備,用于訪問區(qū)塊鏈中的智能合約。
3.3?測試性能分析
物聯(lián)網(wǎng)可信訪問控制模型一共設置5個節(jié)點,其中包含2個可信任節(jié)點、2個低信任節(jié)點和1個惡意攻擊節(jié)點,利用搭建的仿真實驗環(huán)境,分別進行10、50、500、1?000次訪問請求,仿真實驗訪問結果如表2所示。
表2中的數(shù)據(jù)表明,惡意攻擊節(jié)點容易被系統(tǒng)準確識別并攔截,而當訪問次數(shù)較少時,低信任節(jié)點很難被系統(tǒng)準確識別。隨著訪問次數(shù)的不斷增加,交易數(shù)據(jù)量也在不斷上升,導致寫入?yún)^(qū)塊鏈的節(jié)點交易記錄也隨之增多,有更多的交易信息被系統(tǒng)調用來計算參與訪問節(jié)點的可信度,也會有更多的低信任節(jié)點被識別并進行攔截,訪問的正確率也會隨之上升。
4?結論(Conclusion)
本文提出的基于區(qū)塊鏈的物聯(lián)網(wǎng)可信訪問控制模型,利用區(qū)塊鏈技術、智能合約、共識機制搭建了去中心化、交易透明、可信安全的訪問控制環(huán)境,進而降低了物聯(lián)網(wǎng)訪問控制在管理上的難度,有效地解決了惡意攻擊和欺詐的問題。目前的研究雖然取得了一定的成果,但是總體上仍處于研究的初期階段,仍面臨著諸多挑戰(zhàn)。區(qū)塊鏈記錄了訪問節(jié)點的每一條交易記錄,隨著時間的推移和訪問量的增加,海量的數(shù)據(jù)信息需要更多的存儲空間。此外,對于智能合約的寫入,由于缺乏統(tǒng)一的技術開發(fā)標準,因此系統(tǒng)有時會出現(xiàn)兼容性的問題。這些問題都將是今后研究的重點方向。
參考文獻(References)
[1]?HUANG?C,LIU?D?X,NI?J?B,et?al.?Achieving?accountable?and?efficient?data?sharing?in?industrial?Internet?of?Things[J].?IEEE?transactions?on?industrial?informatics,2021,17(2):1416\|1427.
[2]?劉奇旭,靳澤,陳燦華,等.?物聯(lián)網(wǎng)訪問控制安全性綜述[J].?計算機研究與發(fā)展,2022,59(10):2190\|2211.
[3]?邵奇峰,金澈清,張召,等.?區(qū)塊鏈技術:架構及進展[J].?計算機學報,2018,41(5):969\|988.
[4]?AHMAD?A,KHAN?S?U,KHAN?H?U,et?al.?Challenges?and?practices?identification?via?a?systematic?literature?review?in?the?adoption?of?green?cloud?computing:clients?side?approach[J].?IEEE?access,2021,9:81828\|81840.
[5]?王捷,葛麗娜,張桂芬.?區(qū)塊鏈的激勵機制權益證明共識算法改進方案[J].?鄭州大學學報(工學版),2023,44(5):62\|68.
[6]?韋智勇,周立廣.?基于區(qū)塊鏈的身份認證系統(tǒng)設計與實現(xiàn)[J].?軟件工程,2020,23(11):37\|40.
[7]?王玉瓊.?基于區(qū)塊鏈的物聯(lián)網(wǎng)接入控制方法研究[J].?軟件,2022,43(9):42\|44,56.
[8]?趙明慧,張琭,亓晉.?基于區(qū)塊鏈的社會物聯(lián)網(wǎng)可信服務管理框架[J].?電信科學,2017,33(10):19\|25.
[9]?于金剛,張弘,李姝,等.?基于區(qū)塊鏈的物聯(lián)網(wǎng)數(shù)據(jù)共享模型[J].?小型微型計算機系統(tǒng),2019,40(11):2324\|2329.
[10]?薛慧,沈勇,時岳,等.?基于區(qū)塊鏈的物聯(lián)網(wǎng)智能合約模型設計[J].?軟件導刊,2022,21(6):161\|168.
[11]?宋麗華,朱宗科,李夢晨,等.?基于區(qū)塊鏈的細粒度物聯(lián)網(wǎng)訪問控制模型[J].?計算機工程與設計,2022,43(2):352\|360.
[12]?周立廣,韋智勇.?基于區(qū)塊鏈的物聯(lián)網(wǎng)信息安全平臺設計與實現(xiàn)[J].?軟件工程,2020,23(12):50\|53,46.
[13]?史錦山,李茹,松婷婷.?基于區(qū)塊鏈的物聯(lián)網(wǎng)訪問控制框架[J].?計算機應用,2020,40(4):931\|941.
[14]?張杰,許姍姍,袁凌云.?基于區(qū)塊鏈與邊緣計算的物聯(lián)網(wǎng)訪問控制模型[J].?計算機應用,2022,42(7):2104\|2111.
[15]?任彥冰,李興華,劉海,等.?基于區(qū)塊鏈的分布式物聯(lián)網(wǎng)信任管理方法研究[J].?計算機研究與發(fā)展,2018,55(7):1462\|1478.
[16]?張學旺,殷梓杰,馮家琦,等.?基于區(qū)塊鏈與可信計算的數(shù)據(jù)交易方案[J].?計算機應用,2021,41(4):939\|944.
[17]?劉敖迪,杜學繪,王娜,等.?區(qū)塊鏈技術及其在信息安全領域的研究進展[J].?軟件學報,2018,29(7):2092\|2115.
[18]?袁琪,張宗耀,周美彤,等.?基于區(qū)塊鏈技術的物聯(lián)網(wǎng)身份認證方案研究[J].?齊齊哈爾大學學報(自然科學版),2023,39(5):7\|13.
作者簡介:
郭文俊(1986\|),男,碩士,講師。研究領域:大數(shù)據(jù)與區(qū)塊鏈技術,物聯(lián)網(wǎng)。
楊澤民(1974\|),男,碩士,教授。研究領域:數(shù)據(jù)庫技術,數(shù)據(jù)挖掘研究。