郭文俊 楊澤民



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