?

基于區塊鏈的物聯網信息安全平臺設計與實現

2020-01-07 08:07周立廣韋智勇
軟件工程 2020年12期
關鍵詞:入侵檢測區塊鏈技術物聯網

周立廣 韋智勇

摘 ?要:由于在區塊鏈系統中,隨著各種設備的不斷接入,會產生信息安全隱患,本文根據物聯網存在的安全漏洞問題,結合區塊鏈技術,設計了一種分布式的物聯網信息安全管理系統,該系統可通過身份認證策略進行設備接入,對各種設備進行權限控制,同時在智能合約中融入安全仲裁機制,在信息管理方面,以數據進行分類存儲,從而確保了數據的安全性。最后對系統各功能的測試,檢測系統的安全性和有效性,通過對系統輸入各類相關的信息數據,檢驗系統的輸入結果,均達到了預期的目的。

關鍵詞:物聯網;區塊鏈技術;認證策略;仲裁機制;入侵檢測

中圖分類號:TP311.5 ? ? 文獻標識碼:A

Abstract: Security problems occur when multiple different devices are continuously connected with blockchain system. Aiming at these security problems in Internet of Things (IoT), this paper proposes to design a distributed IoT information security management system based on blockchain technology. This system can access devices through identity authentication and it will control the permissions of various devices. At the same time, security arbitration mechanism is integrated into a smart contract. In terms of information management, data is classified and stored in order to ensure data security. Finally, function test is conducted to test the safety and effectiveness. Various related data is used as system input and the system output results reach the expected goals.

Keywords: IoT; blockchain technology; authentication strategy; arbitration mechanism; intrusion detection

1 ? 引言(Introduction)

物聯網作為信息化的一項重要技術,在各行各業中都得到了廣泛運用,例如在電力系統、供水企業、交通部門、智慧生活等,都存在物聯網技術的運用。然而,隨著大量的設備接入網絡,這樣可能會造成外界的入侵或病毒的攻擊,信息安全問題也顯得越來越突出,物聯網的安全問題比互聯網要更嚴重,而且處理起來比較棘手。根據國外市場的調查,平均每年有將近百億臺終端設備接入物聯網中,這些設備不僅是電腦終端,還包括手機、平板等無線接入設備,將來還會有更多的設備接入,這樣,物聯網信息安全問題也將成為信息界研究的熱點問題[1]。

近年來,由于區塊鏈技術的高速發展,已融入了各個行業當中,也為解決物聯網信息安全問題提供了極大的幫助,由于在物聯網中,接入網絡的設備及終端與日俱增,而且各類繁多,維護壓力較大,而傳統的集成式網絡模式由于存在單點信任的問題,已不適合當前的發展,逐步被分布式網絡模式取代,而區塊鏈技術也正是采用分布式存儲模式,這就給物聯網提供了的安全保障。另外,區塊鏈的另一個特點就是去中心化,區塊鏈是由一連串的數據結點按照時間戳的順序連接而成的一個分布式賬本,區塊之間通過共享機制確保數據不可篡改、不可復制,同時每個賬本均備份,這樣可確保數據的安全性。

關于區塊鏈技術的研究,在國內外都得到了廣泛的重視,最初區塊鏈技術主要應用于比特幣,現在主要應用于政策部門、各金融機構、證券期貨、企業生產、醫療衛生、信息產業等,都有各自的研究項目,這些項目全球學術界的關注,并且都在不斷地技術更新與發展,區塊鏈技術在今后的應用范圍還會更加廣泛。

2 ? 相關技術(Correlation technique)

2.1 ? 區塊鏈相關技術

區塊鏈是一個基于分布式網絡的數據存儲系統,鏈上的每個點稱這區塊,賬本是區塊鏈的核心機制,主要包括數據塊和鏈接。區塊鏈技術具有去中心化的特點,整個網絡可看成是一個分布式的賬本,而區塊鏈網絡中每個節點的賬本均通過信息備份;區塊鏈具有嚴格的認證機制,在交易過程中,所有的交易產生的數據必須要半數以上的節點確認后才能生效,這個是各個節點共同遵守的認證機制;區塊鏈數據具有不可篡改的特性,在區塊鏈網絡中的節點都保存有數據信息,如果要修改數據信息,必須能前一節點進行hash校驗,而且至少要校驗一半以上的結點,這些節點要一致通過后才可以修改,這樣可確保數據的安全性;區塊鏈具有智能合約的功能,合約程序存在于區塊鏈當中,在雙方進行交易時,雙方交易平臺的設備會通過合約程序,自動實現智能交互,這樣可保證交易的真實性、有效性和安全性[2]。

2.2 ? 認證機制

當物聯網的設備接入網絡前,必須要按照認證機制對該設備的身份進行認證,這樣可確保系統用戶合法有效,此外可對接入網絡的用戶進行認證備案,以此作為今后的系統使用憑證。區塊鏈的認證機制主要包括識別和認證兩個過程,是進入物聯網系統的重要環節,對于非法用戶,認證機制會禁止該用戶進入網絡內,而對于合法用戶則系統會進行認證準許后連接進入系統,這樣可防止網絡受到外界入侵,同時,對于連入網絡的設備終端,在進行相互通訊時,也要先進行身份認證,即用戶的認證證書隨時備查,同時系統也對認證過程進行數據備份,這樣可保證了網絡的安全性。區塊鏈的認證的方式主要兩種,即用戶間認證和系統間認證,而目前使用較多的是用戶間認證,形式有密碼、鑰匙卡、人臉識別、指紋、面部表情等。

2.3 ? 權限控制策略

對于物聯網的每個用戶,都有自己的使用權限,而且根據權限訪問相應的網絡資源,對于權限以外的,用戶將無法訪問,權限控制是物聯網安全的一項重要技術,通過權限控制策略,對所有用戶進行實時監控,杜絕非法用戶訪問非授權的網絡資源,這樣可確保網絡資源的安全性。權限控制一般使用角色控制,在該模式中,用戶與訪問的權限還是一一對應的關系,而是在兩者中用角色替換,即用戶可能以其他角色出現,而這個角色又被授予了相應的使用權限,而權限的范圍主要根據工作的具體內容而定,對于權限移除時,角色也將一并取消,這樣可確保授權的快捷性[3]。

智能合約是用區塊鏈的技術進行的一種數字化合約方式,一般通過程序代碼寫入區塊鏈中,主要通過特定的運行機制來保障交易的進行,該合約的操作不受外界的干擾,智能合約的方式首先通過雙方的合約內容進行協商,如果雙方達成一致認可,系統將通過程序代碼按照合約邏輯把合約內容發布在系統中。合約一旦確立,寫入系統后,合約將自動生效,外界將無法進行修改[4]。因此,訂立合約時雙方必須要嚴謹,另外合約雙方無須到場進行面簽,只要雙方在網上通過智能合約系統便可完成,這就保證了智能合約的安全性和高效性。

2.4 ? 入侵檢測機制

在物聯網中,外來入侵對網絡安全構成了嚴重的威脅,系統必須要有相應的機制應對這個安全威脅,入侵檢測機制是系統應對外來入侵的一種保護機制[5]。該機制主要根據操作者的行為、操作日志、系統審計結果等數據信息進行有效監控,根據這些數據信息,系統會通過大數據分析,判斷該用戶的操作行為是否屬于入侵行為,系統會立即采取預警措施,采用強行機制使禁止用戶的行為,防止入侵的一步發生,同時系統會啟用修復功能,把遭到破壞的系統文件和相關數據恢復,確保系統的安全與穩定性。

3 ? 系統設計分析(System design analysis)

3.1 ? 系統需求分析

本系統需求分析,主要分為設備接入管理、設備操作管理、設備數據傳輸、數據及資源獲取等功能進行分析和認證。對于設備接入管理,主要是終端設備在接入物聯網之前,必須先進行注冊認證,認證通過后即注冊成功,就可以接入物聯網,使用該平臺進行各種操作,認證過程主要是針對該設備的身份證合法性,主要運用區塊鏈的合約功能實現,盡可能使區塊鏈上的每個節點都通過認證,這樣可確保認證過程真實有效,同時認證通過后系統會對認證的信息自動備份,防止被篡改;設備操作管理,主要是當用戶接入物聯網后,要求對所有設備進行統一的管理,一般而言,物聯網設備的運行狀態主要分為在線和離線兩種,如果由離線轉到在線狀態,主要通過系統登錄的方式進行,系統會自動從賬本中讀取已經登記的設備列表,與登錄的設備進行比對,進行身份認證,認證通過后才能根據各自的權限進行各項操作;設備數據傳輸,主要是對物聯網設備之間進行通訊和數據交換的管理,對于設備在數據傳輸之前,系統先查看一下該設備是否具有數據傳輸的權限,同樣,這個過程也需要由合約程序來實現,也同樣經過各節點的一致認證,認證過程也和設備操作管理過程相類似,以確保各設備傳輸數據的安全性;數據及資源獲取,主要是物聯網設備在接收別的設備發過來的數據信息或在網上搜索別的設備的相關信息時,同樣也需要進行認證,認證過程同前面所述。此外,系統會對所有傳輸的數據信息進行統一的管理,這樣不僅可以對設備傳輸過程進行全程監控,也可為今后數據的查找與溯源提供方便,同時也提升了整個網絡的安全性和有效性[6]。

3.2 ? 系統用例圖

根據系統功能需要分析,本文繪制出了系統的用例圖,具體如圖1所示。

圖1中,系統所涉及的所有設備為接入物聯網的設備,進入系統前先經過身份認證,認證過程由合約程序自動完成,認證過程中數據信息會存儲在賬本中,登錄進入系統后的設備操作,系統會自動讀取賬本的已注冊的設備登記表,進行比對認證,當設備對過認證后,在網絡內進行數據傳輸和信息獲取時,也是通過設備權限認證,通過后才能進行數據傳輸,對于數據資源的獲取[7]。系統同樣也要權限認證后方可進行。整個系統的所有信息都必須進行統一的管理。此外,系統還有入侵檢測功能,所有的判斷都由合約程序完成,都要經過各個節點的一致通過。

3.3 ? 系統架構設計

本系統主要處理物聯網內設備之間的數據交換,交換信息需要通過認證機制及權限的有效管理,以及入侵檢測機制,系統中的各個節點主要用于信息處理及加工、封裝服務、系統管理等,而區塊鏈的各個節點主要用于數據的存儲與認證管理,具體系統框架如圖2所示。

系統的底層主要是由區塊鏈的各個節點形成的網絡,各節點即Geth客戶端,主要功能是在雙方交易過程的信息驗證、交易信息的備份及合約數據的返回等。另外,各節點對上層的請求進行通過前的認證,必須要一致通過后方可通過,認證信息保存在區塊鏈的賬本中[8]。

系統的上層是物聯網的網絡層,由各個分節點組成,每個分節點與底層的節點一一對應。上層節點主要功能是對接入物聯網的設置進行通訊和數據傳輸,對交互的信息進行統一管理,對物聯網的所有設備進行接入前的認證,并分配相應的權限與實時監管,同時對外來入侵進行實時防控,另外,還對系統的對外業務提供服務接口[9]。

系統的分節點與底層的客戶商進行通訊,主要通過JSOM-RPC方式來完成,整個系統的安全策略主要由物聯網系統與區塊鏈系統合作分工完成的,其中包括身份證認證、各個設備的權限控制、節點的仲裁判定、交易過程的智能合約等,均由兩者共同完成[10]。

3.4 ? 系統功能模塊設計

根據整個物聯網系統的需求分析與總體架構的設想,本文將系統的功能模塊主要分成認證管理模塊、操作管理模塊、安全檢測模塊、信息管理模塊四大功能。

(1)認證管理模塊。對于物聯網的各個設備終端在接入網絡前必須進行身份認證,系統認證請求發給接入管理模塊,該模塊把請求進行格式轉換,并把轉換后的請求信息發送給區塊鏈的節點中,區塊鏈系統會自用調用合約程序進行身份認證,把認證的結果返回給該模塊,同時把認證的信息進行存儲,對于認證結果的返回,如果認證通過,則返回認證成功的相關消息,否則返回認證失敗的消息,所有信息都會保存在區塊鏈的賬本中。另外,系統對接入的所有設備進行統一管理,把設備接入表保管在賬本中[11]。

(2)操作管理模塊。本功能主要是對物聯網的各個設備進行操作業務的管理及權限的控制。網上的設備進行操作主要包括信息發送和信息獲取,并且各項操作都必須在各自的權限范圍內進行,設備進行信息發送前,首先要先確認自己是否具有信息發送的權限,這就要求通過權限認證過程,認證過程主要是通過區塊鏈合約程序來完成,認證過程的所有信息都保存在區塊鏈的賬本中,便于今后的數據溯源,認證結果會發送給操作管理模塊,如果通過,該設備可以進行信息發送,否則將禁止發送,對于信息獲取,其流程也同信息發送相同;另外對于物聯網的所有設備,統一進行權限的分配與管理,所有的權限均保存在權限分配表中,與設備接入表一同存儲在區塊鏈的賬本中[11]。

(3)安全檢測模塊。本模塊功能主要是確保整個網絡的安全性。安全檢測主要包括對內檢測和對外檢測,對于接入物聯網的設備,如果該設備發送一些惡意信息,對網絡進行破壞,系統必須對該設備進行權限的禁止,必要時還會使其脫離網絡,對于設備發出的信息,都由系統的事件分析器進行檢測,則把處理結果通知安全檢測模塊,如果該設備發出的信息屬于惡性攻擊,該模塊立即對設備進行警告或限制其使用權限,如果仍進一步發惡性信息,則會強行該設備退出網絡[12]。

(4)信息管理模塊。本模塊主要包括數據處理、消息管理和數據展示三大功能。數據處理主要是對物聯網的設備發出的請求進行簡單封裝,然后再進行數據傳輸;消息管理主要對整個系統的信息進行監控、統計和存儲,便于信息今后的查找與溯源;數據展示主要將系統的一些數據進行表格化或圖形化處理,為與外部的接口提供數據轉換,便于對外部設備的數據傳輸。

4 ? 系統的實現(Implementation of the system)

4.1 ? 區塊鏈網絡構建

由于區塊鏈在分布式環境下運行,主要將客戶端分別安裝到多臺電腦中,分別以每臺電腦作為區塊鏈的節點。在電腦中分別部署節點,主要工作就是設置每臺電腦的創世紀塊,先創建第一個,然后按照順序把其他電腦都添加新的區塊,這樣就可以各個節點連接在一個模擬的區塊鏈網絡中,其中各臺電腦終端所設置的相同的創世紀塊,以便共同維護賬本。各節點部署后運行Geth客戶端,使其相互鏈接,同時,把各個節點添加到一個列表中,以便各節點進行數據傳輸,這樣就構成了一個簡易的區塊鏈網絡。

4.2 ? 系統的功能實現

4.2.1 ? 認證管理模塊的實現

在目前的物聯網系統中,設備的身份認證主要有三種模式,即靜態密碼認證、動態密碼認證和生物特征識別認證[13]。靜態密碼認證主要是通過用戶預先設置的密碼進行認證,該密碼是靜態的,如果用戶不修改,則密碼將一直有效;動態密碼主要根據內置的密碼芯片進行運算推出動態口令,密碼認證必須其動態口令和內置密碼芯片共同完成;生物特征識別認證主要是根據人體的某一特征進行識別,例如人臉識別、指紋識別、表情識別等[14]。本文根據系統的特點設計了一個綜合識別方式,主要是把設備的制造商、設備類型和設備出廠編碼等信息記錄下來,寫入設備接入表,并保存在區塊鏈賬本中,作為身份認證的唯一識別代碼,認證表的結構主要包括設備名稱、識別代碼、設備特性和備注信息等。當設備接入網絡時,先獲取這三項信息,然后與設備接入表的數據進行比對,如果比對成功則認證通過。

4.2.2 ? 操作管理模塊的實現

當物聯網的設備之間進行信息發送和信息獲取時,系統的交互模塊接收設備的信息,并把發送請求傳給數據傳送模塊,數據傳送模塊向區塊鏈系統發送權限驗證請求,區塊鏈的合約程序會自動驗證該設備的權限,并把驗證結果返回給數據傳送模塊,如果驗證通過,則數據傳送模塊把信息傳送給交互模塊,進行信息發送,否則,將不通知交互模塊。同樣對于信息接收也是同一原理來完成設備的操作管理。

4.2.3 ? 安全檢測模塊的實現

安全檢測功能,主要通過CIDF程序來實現,CIDF程序主要包括三個子程序,即事件產生程序、事件分析程序和數據寫入程序,系統首先對所發送的信息進行運行狀態監測,然后把測試的結果發送給事件分析程序,事件分析程序對該消息行為與惡性事件數據庫進行比對,如果比對成功,則說明該信息屬于惡意消息,則把消息返回給系統,對該設備進行權限進行限制。

4.2.4 ? 信息管理模塊的實現

數據處理功能主要通過調用JSON-PRC接口程序來實現,該程序通過調用形式,根據請求的類型,把信息打包封裝起來,然后必須到對應的地址中;消息管理主要也是通過數據處理功能實現,JSON-PRC接口程序會調用系統的消息管理器,對信息進行分類保存;對于數據展示功能,主要是調用對外服務接口程序來實現,對數據進行圖形和表格化處理[15]。

4.3 ? 系統測試

4.3.1 ? 測試環境

本系統是基于幾臺電腦進行模擬構建的,用于測試區塊鏈的網絡部署和系統的功能測試。在測試環境中,電腦的硬件要求是I5四核以上的處理器,內存容量為4G以上,操作系統是windows 10專業版(64位),開發工具為eclipse,數據庫選擇MySQL。

4.3.2 ? 功能測試

本系統的測試主要模擬物聯網設備,對系統輸入相關的數據信息,看一下實際測試結果與預期效果進行對比,檢測系統的各功能模塊是否存在系統錯誤。功能測試主要包括認證管理模塊、數據管理模塊、安全檢測模塊和信息管理模塊的測試。

認證管理模塊測試主要對設備的接入進行身份認證,通過向系統分別輸入真實的設備信息和虛假的設備信息,對于正確設備信息系統會提示“認證通過”,對于虛假的設備信息,則提示“認證失敗”;數據管理模塊測試主要是對設備發送與接收信息的管理,對兩個不同權限的設備進行信息發送操作,其中一個設備具有發送的權限,另一個沒有發送的權限,經過測試,對于具有權限的設備,系統提示“消息發送成功”,對于沒有權限的設備,系統提示“您無權發送消息”,同時通過后臺的數據庫,可查看到整個過程已備份到數據庫當中;安全檢測模塊測試主要檢測系統是否存在惡意信息,在同一設備中分別發送兩條信息,一條是正常的信息,另一條是惡意攻擊的信息,對于正常的信息,系統提示“消息發送成功”,而對于惡意攻擊的信息,系統提示“惡意信息,拒絕發送”,對于連續發送惡意信息再進行測試,系統會本設備隔離出來,無法連入網絡中;信息管理模塊測試主要檢測系統消息的存儲管理,通過上述的幾個操作,在后臺數據庫中都能找到消息的存儲記錄和存儲時間。

4.3.3 ? 測試結果分析

通過上述對認證管理模塊、數據管理模塊、安全檢測模塊和信息管理模塊進行了具體、有效的測試,實際測試結果與預期的結果完全一致,此外,整個系統操作簡單,流程非常清晰,而且系統運行穩定、效率高,沒有明顯的錯誤,達到了預期的目的。

5 ? 結論(Conclusion)

由于物聯網在各行業中得到了廣泛的運用,大量的終端設備都接入到物聯網中,對工作和生活帶來了極大的推動作用,然而物聯網的信息安全問題也日顯突出,尤其在網絡管理上顯得十分棘手,為此,本文提出了基于區塊鏈技術的信息安全平臺系統的設計方案,用來解決這一技術難題,取得一定的科研成果,但是系統仍然存在一些不足之處,對于物聯網系統的設備,發送的消息缺乏統一的格式,每個行業都各自為政,消息格式無法統一。對于安全檢測,惡意消息的檢測范圍有待拓寬,檢測的策略有待改進,使檢測范圍更加全面,檢測機制更

加完善,此外,對于區塊鏈技術的融入,與系統有時會出現不兼容性的現象,有待改進。對于這些問題,在今后的工作中還要加以改進。

參考文獻(References)

[1] 羅波,梁雅岑,姜晨龍.物聯網的安全威脅及防護策略[J].2019廣東通信青年論壇優秀論文???,2019(10):98-101.

[2] 吳雨芯,蔡婷.區塊鏈技術在物聯網中的應用研究[J].現代計算機,2019(4):122-124.

[3] Maria L. B. A. Santos, Jéssica C. Carneiro, Ant?nio M. R. Franco,et al. FLAT: Federated lightweight authentication for the Internet of Things[J]. Ad Hoc Networks, 2019:225.

[4]姚凱.物聯網系統全生命周期安全管理[J].電子世界,2019,11(10):102-105.

[5] 楊威,王宇建,吳永強,等.物聯網設備身份認證安全性分析[J].信息安全研究, 2019(10):36-39.

[6] 王偉光.區塊鏈技術在電子商務信息安全領域的應用綜述[J].南京信息工程大學學報(自然科學版),2019(9):92-95.

[7] 謝曉輝,王祥武.基于物聯網環境下網絡惡意攻擊的防御機制[J].信息與電腦(理論版),2019(6):78-83.

[8] 王榮福.基于信息安全管理的物聯網技術研究[J].信息通信,2019(10):83-86.

[9] 辛嘉偉.基于區塊鏈的物聯網安全技術研究[D].電子科技大學,2020.

[10] 張亮,李明,張懿操,等.一種物聯網終端自動識別系統的研制[J].機電信息,2019(8):188-190.

[11] Surajit Basak, Tamaghna Acharya. On energy efficient secure routing in multi-hop underlay D2D communicatio ns for IoT applications[J]. Ad Hoc Networks, 2019:168.

[12] Cristiano Antonio de Souza, Carlos Becker Westphall, Renato Bobsin Machado,et al. Hybrid approach to intrusion detection in fog-based IoT environments[J]. Computer Networks, 2020:178.

[13] Shaoyong Guo, Fengning Wang, Neng Zhang, et al. Master-slave chain based trusted cross-domain authentication mechanism in IoT[J]. Journal of Network and Computer Applications, 2020:263.

[14] 蔣東暉.物聯網系統安全防護技術研究[J].信息技術與信息化,2019(5):124-126.

[15] 陳杰姝.基于區塊鏈的物聯網數據信息共享安全機制研究[J].信息技術與信息化,2019(11):95-98.

作者簡介:

周立廣(1974-),男,碩士,高級工程師.研究領域:云計算,大數據分析.

韋智勇(1983-),男,碩士,信息系統項目管理師.研究領域:區塊鏈應用,大數據技術.

猜你喜歡
入侵檢測區塊鏈技術物聯網
基于區塊鏈技術的我國央行數字貨幣的前路展望
區塊鏈技術發展現狀及其潛在問題文獻綜述
淺談“一帶一路”下區塊鏈技術在金融領域的應用
基于入侵檢測的數據流挖掘和識別技術應用
藝術類院校高效存儲系統的設計
基于高職院校物聯網技術應用人才培養的思考分析
基于關聯規則的計算機入侵檢測方法
中國或成“物聯網”領軍者
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合