周立廣 韋智勇
摘 ?要:由于在區(qū)塊鏈系統(tǒng)中,隨著各種設(shè)備的不斷接入,會(huì)產(chǎn)生信息安全隱患,本文根據(jù)物聯(lián)網(wǎng)存在的安全漏洞問(wèn)題,結(jié)合區(qū)塊鏈技術(shù),設(shè)計(jì)了一種分布式的物聯(lián)網(wǎng)信息安全管理系統(tǒng),該系統(tǒng)可通過(guò)身份認(rèn)證策略進(jìn)行設(shè)備接入,對(duì)各種設(shè)備進(jìn)行權(quán)限控制,同時(shí)在智能合約中融入安全仲裁機(jī)制,在信息管理方面,以數(shù)據(jù)進(jìn)行分類(lèi)存儲(chǔ),從而確保了數(shù)據(jù)的安全性。最后對(duì)系統(tǒng)各功能的測(cè)試,檢測(cè)系統(tǒng)的安全性和有效性,通過(guò)對(duì)系統(tǒng)輸入各類(lèi)相關(guān)的信息數(shù)據(jù),檢驗(yàn)系統(tǒng)的輸入結(jié)果,均達(dá)到了預(yù)期的目的。
關(guān)鍵詞:物聯(lián)網(wǎng);區(qū)塊鏈技術(shù);認(rèn)證策略;仲裁機(jī)制;入侵檢測(cè)
中圖分類(lèi)號(hào):TP311.5 ? ? 文獻(xiàn)標(biāo)識(shí)碼: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)
物聯(lián)網(wǎng)作為信息化的一項(xiàng)重要技術(shù),在各行各業(yè)中都得到了廣泛運(yùn)用,例如在電力系統(tǒng)、供水企業(yè)、交通部門(mén)、智慧生活等,都存在物聯(lián)網(wǎng)技術(shù)的運(yùn)用。然而,隨著大量的設(shè)備接入網(wǎng)絡(luò),這樣可能會(huì)造成外界的入侵或病毒的攻擊,信息安全問(wèn)題也顯得越來(lái)越突出,物聯(lián)網(wǎng)的安全問(wèn)題比互聯(lián)網(wǎng)要更嚴(yán)重,而且處理起來(lái)比較棘手。根據(jù)國(guó)外市場(chǎng)的調(diào)查,平均每年有將近百億臺(tái)終端設(shè)備接入物聯(lián)網(wǎng)中,這些設(shè)備不僅是電腦終端,還包括手機(jī)、平板等無(wú)線接入設(shè)備,將來(lái)還會(huì)有更多的設(shè)備接入,這樣,物聯(lián)網(wǎng)信息安全問(wèn)題也將成為信息界研究的熱點(diǎn)問(wèn)題[1]。
近年來(lái),由于區(qū)塊鏈技術(shù)的高速發(fā)展,已融入了各個(gè)行業(yè)當(dāng)中,也為解決物聯(lián)網(wǎng)信息安全問(wèn)題提供了極大的幫助,由于在物聯(lián)網(wǎng)中,接入網(wǎng)絡(luò)的設(shè)備及終端與日俱增,而且各類(lèi)繁多,維護(hù)壓力較大,而傳統(tǒng)的集成式網(wǎng)絡(luò)模式由于存在單點(diǎn)信任的問(wèn)題,已不適合當(dāng)前的發(fā)展,逐步被分布式網(wǎng)絡(luò)模式取代,而區(qū)塊鏈技術(shù)也正是采用分布式存儲(chǔ)模式,這就給物聯(lián)網(wǎng)提供了的安全保障。另外,區(qū)塊鏈的另一個(gè)特點(diǎn)就是去中心化,區(qū)塊鏈?zhǔn)怯梢贿B串的數(shù)據(jù)結(jié)點(diǎn)按照時(shí)間戳的順序連接而成的一個(gè)分布式賬本,區(qū)塊之間通過(guò)共享機(jī)制確保數(shù)據(jù)不可篡改、不可復(fù)制,同時(shí)每個(gè)賬本均備份,這樣可確保數(shù)據(jù)的安全性。
關(guān)于區(qū)塊鏈技術(shù)的研究,在國(guó)內(nèi)外都得到了廣泛的重視,最初區(qū)塊鏈技術(shù)主要應(yīng)用于比特幣,現(xiàn)在主要應(yīng)用于政策部門(mén)、各金融機(jī)構(gòu)、證券期貨、企業(yè)生產(chǎn)、醫(yī)療衛(wèi)生、信息產(chǎn)業(yè)等,都有各自的研究項(xiàng)目,這些項(xiàng)目全球?qū)W術(shù)界的關(guān)注,并且都在不斷地技術(shù)更新與發(fā)展,區(qū)塊鏈技術(shù)在今后的應(yīng)用范圍還會(huì)更加廣泛。
2 ? 相關(guān)技術(shù)(Correlation technique)
2.1 ? 區(qū)塊鏈相關(guān)技術(shù)
區(qū)塊鏈?zhǔn)且粋€(gè)基于分布式網(wǎng)絡(luò)的數(shù)據(jù)存儲(chǔ)系統(tǒng),鏈上的每個(gè)點(diǎn)稱(chēng)這區(qū)塊,賬本是區(qū)塊鏈的核心機(jī)制,主要包括數(shù)據(jù)塊和鏈接。區(qū)塊鏈技術(shù)具有去中心化的特點(diǎn),整個(gè)網(wǎng)絡(luò)可看成是一個(gè)分布式的賬本,而區(qū)塊鏈網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)的賬本均通過(guò)信息備份;區(qū)塊鏈具有嚴(yán)格的認(rèn)證機(jī)制,在交易過(guò)程中,所有的交易產(chǎn)生的數(shù)據(jù)必須要半數(shù)以上的節(jié)點(diǎn)確認(rèn)后才能生效,這個(gè)是各個(gè)節(jié)點(diǎn)共同遵守的認(rèn)證機(jī)制;區(qū)塊鏈數(shù)據(jù)具有不可篡改的特性,在區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點(diǎn)都保存有數(shù)據(jù)信息,如果要修改數(shù)據(jù)信息,必須能前一節(jié)點(diǎn)進(jìn)行hash校驗(yàn),而且至少要校驗(yàn)一半以上的結(jié)點(diǎn),這些節(jié)點(diǎn)要一致通過(guò)后才可以修改,這樣可確保數(shù)據(jù)的安全性;區(qū)塊鏈具有智能合約的功能,合約程序存在于區(qū)塊鏈當(dāng)中,在雙方進(jìn)行交易時(shí),雙方交易平臺(tái)的設(shè)備會(huì)通過(guò)合約程序,自動(dòng)實(shí)現(xiàn)智能交互,這樣可保證交易的真實(shí)性、有效性和安全性[2]。
2.2 ? 認(rèn)證機(jī)制
當(dāng)物聯(lián)網(wǎng)的設(shè)備接入網(wǎng)絡(luò)前,必須要按照認(rèn)證機(jī)制對(duì)該設(shè)備的身份進(jìn)行認(rèn)證,這樣可確保系統(tǒng)用戶(hù)合法有效,此外可對(duì)接入網(wǎng)絡(luò)的用戶(hù)進(jìn)行認(rèn)證備案,以此作為今后的系統(tǒng)使用憑證。區(qū)塊鏈的認(rèn)證機(jī)制主要包括識(shí)別和認(rèn)證兩個(gè)過(guò)程,是進(jìn)入物聯(lián)網(wǎng)系統(tǒng)的重要環(huán)節(jié),對(duì)于非法用戶(hù),認(rèn)證機(jī)制會(huì)禁止該用戶(hù)進(jìn)入網(wǎng)絡(luò)內(nèi),而對(duì)于合法用戶(hù)則系統(tǒng)會(huì)進(jìn)行認(rèn)證準(zhǔn)許后連接進(jìn)入系統(tǒng),這樣可防止網(wǎng)絡(luò)受到外界入侵,同時(shí),對(duì)于連入網(wǎng)絡(luò)的設(shè)備終端,在進(jìn)行相互通訊時(shí),也要先進(jìn)行身份認(rèn)證,即用戶(hù)的認(rèn)證證書(shū)隨時(shí)備查,同時(shí)系統(tǒng)也對(duì)認(rèn)證過(guò)程進(jìn)行數(shù)據(jù)備份,這樣可保證了網(wǎng)絡(luò)的安全性。區(qū)塊鏈的認(rèn)證的方式主要兩種,即用戶(hù)間認(rèn)證和系統(tǒng)間認(rèn)證,而目前使用較多的是用戶(hù)間認(rèn)證,形式有密碼、鑰匙卡、人臉識(shí)別、指紋、面部表情等。
2.3 ? 權(quán)限控制策略
對(duì)于物聯(lián)網(wǎng)的每個(gè)用戶(hù),都有自己的使用權(quán)限,而且根據(jù)權(quán)限訪問(wèn)相應(yīng)的網(wǎng)絡(luò)資源,對(duì)于權(quán)限以外的,用戶(hù)將無(wú)法訪問(wèn),權(quán)限控制是物聯(lián)網(wǎng)安全的一項(xiàng)重要技術(shù),通過(guò)權(quán)限控制策略,對(duì)所有用戶(hù)進(jìn)行實(shí)時(shí)監(jiān)控,杜絕非法用戶(hù)訪問(wèn)非授權(quán)的網(wǎng)絡(luò)資源,這樣可確保網(wǎng)絡(luò)資源的安全性。權(quán)限控制一般使用角色控制,在該模式中,用戶(hù)與訪問(wèn)的權(quán)限還是一一對(duì)應(yīng)的關(guān)系,而是在兩者中用角色替換,即用戶(hù)可能以其他角色出現(xiàn),而這個(gè)角色又被授予了相應(yīng)的使用權(quán)限,而權(quán)限的范圍主要根據(jù)工作的具體內(nèi)容而定,對(duì)于權(quán)限移除時(shí),角色也將一并取消,這樣可確保授權(quán)的快捷性[3]。
智能合約是用區(qū)塊鏈的技術(shù)進(jìn)行的一種數(shù)字化合約方式,一般通過(guò)程序代碼寫(xiě)入?yún)^(qū)塊鏈中,主要通過(guò)特定的運(yùn)行機(jī)制來(lái)保障交易的進(jìn)行,該合約的操作不受外界的干擾,智能合約的方式首先通過(guò)雙方的合約內(nèi)容進(jìn)行協(xié)商,如果雙方達(dá)成一致認(rèn)可,系統(tǒng)將通過(guò)程序代碼按照合約邏輯把合約內(nèi)容發(fā)布在系統(tǒng)中。合約一旦確立,寫(xiě)入系統(tǒng)后,合約將自動(dòng)生效,外界將無(wú)法進(jìn)行修改[4]。因此,訂立合約時(shí)雙方必須要嚴(yán)謹(jǐn),另外合約雙方無(wú)須到場(chǎng)進(jìn)行面簽,只要雙方在網(wǎng)上通過(guò)智能合約系統(tǒng)便可完成,這就保證了智能合約的安全性和高效性。
2.4 ? 入侵檢測(cè)機(jī)制
在物聯(lián)網(wǎng)中,外來(lái)入侵對(duì)網(wǎng)絡(luò)安全構(gòu)成了嚴(yán)重的威脅,系統(tǒng)必須要有相應(yīng)的機(jī)制應(yīng)對(duì)這個(gè)安全威脅,入侵檢測(cè)機(jī)制是系統(tǒng)應(yīng)對(duì)外來(lái)入侵的一種保護(hù)機(jī)制[5]。該機(jī)制主要根據(jù)操作者的行為、操作日志、系統(tǒng)審計(jì)結(jié)果等數(shù)據(jù)信息進(jìn)行有效監(jiān)控,根據(jù)這些數(shù)據(jù)信息,系統(tǒng)會(huì)通過(guò)大數(shù)據(jù)分析,判斷該用戶(hù)的操作行為是否屬于入侵行為,系統(tǒng)會(huì)立即采取預(yù)警措施,采用強(qiáng)行機(jī)制使禁止用戶(hù)的行為,防止入侵的一步發(fā)生,同時(shí)系統(tǒng)會(huì)啟用修復(fù)功能,把遭到破壞的系統(tǒng)文件和相關(guān)數(shù)據(jù)恢復(fù),確保系統(tǒng)的安全與穩(wěn)定性。
3 ? 系統(tǒng)設(shè)計(jì)分析(System design analysis)
3.1 ? 系統(tǒng)需求分析
本系統(tǒng)需求分析,主要分為設(shè)備接入管理、設(shè)備操作管理、設(shè)備數(shù)據(jù)傳輸、數(shù)據(jù)及資源獲取等功能進(jìn)行分析和認(rèn)證。對(duì)于設(shè)備接入管理,主要是終端設(shè)備在接入物聯(lián)網(wǎng)之前,必須先進(jìn)行注冊(cè)認(rèn)證,認(rèn)證通過(guò)后即注冊(cè)成功,就可以接入物聯(lián)網(wǎng),使用該平臺(tái)進(jìn)行各種操作,認(rèn)證過(guò)程主要是針對(duì)該設(shè)備的身份證合法性,主要運(yùn)用區(qū)塊鏈的合約功能實(shí)現(xiàn),盡可能使區(qū)塊鏈上的每個(gè)節(jié)點(diǎn)都通過(guò)認(rèn)證,這樣可確保認(rèn)證過(guò)程真實(shí)有效,同時(shí)認(rèn)證通過(guò)后系統(tǒng)會(huì)對(duì)認(rèn)證的信息自動(dòng)備份,防止被篡改;設(shè)備操作管理,主要是當(dāng)用戶(hù)接入物聯(lián)網(wǎng)后,要求對(duì)所有設(shè)備進(jìn)行統(tǒng)一的管理,一般而言,物聯(lián)網(wǎng)設(shè)備的運(yùn)行狀態(tài)主要分為在線和離線兩種,如果由離線轉(zhuǎn)到在線狀態(tài),主要通過(guò)系統(tǒng)登錄的方式進(jìn)行,系統(tǒng)會(huì)自動(dòng)從賬本中讀取已經(jīng)登記的設(shè)備列表,與登錄的設(shè)備進(jìn)行比對(duì),進(jìn)行身份認(rèn)證,認(rèn)證通過(guò)后才能根據(jù)各自的權(quán)限進(jìn)行各項(xiàng)操作;設(shè)備數(shù)據(jù)傳輸,主要是對(duì)物聯(lián)網(wǎng)設(shè)備之間進(jìn)行通訊和數(shù)據(jù)交換的管理,對(duì)于設(shè)備在數(shù)據(jù)傳輸之前,系統(tǒng)先查看一下該設(shè)備是否具有數(shù)據(jù)傳輸?shù)臋?quán)限,同樣,這個(gè)過(guò)程也需要由合約程序來(lái)實(shí)現(xiàn),也同樣經(jīng)過(guò)各節(jié)點(diǎn)的一致認(rèn)證,認(rèn)證過(guò)程也和設(shè)備操作管理過(guò)程相類(lèi)似,以確保各設(shè)備傳輸數(shù)據(jù)的安全性;數(shù)據(jù)及資源獲取,主要是物聯(lián)網(wǎng)設(shè)備在接收別的設(shè)備發(fā)過(guò)來(lái)的數(shù)據(jù)信息或在網(wǎng)上搜索別的設(shè)備的相關(guān)信息時(shí),同樣也需要進(jìn)行認(rèn)證,認(rèn)證過(guò)程同前面所述。此外,系統(tǒng)會(huì)對(duì)所有傳輸?shù)臄?shù)據(jù)信息進(jìn)行統(tǒng)一的管理,這樣不僅可以對(duì)設(shè)備傳輸過(guò)程進(jìn)行全程監(jiān)控,也可為今后數(shù)據(jù)的查找與溯源提供方便,同時(shí)也提升了整個(gè)網(wǎng)絡(luò)的安全性和有效性[6]。
3.2 ? 系統(tǒng)用例圖
根據(jù)系統(tǒng)功能需要分析,本文繪制出了系統(tǒng)的用例圖,具體如圖1所示。
圖1中,系統(tǒng)所涉及的所有設(shè)備為接入物聯(lián)網(wǎng)的設(shè)備,進(jìn)入系統(tǒng)前先經(jīng)過(guò)身份認(rèn)證,認(rèn)證過(guò)程由合約程序自動(dòng)完成,認(rèn)證過(guò)程中數(shù)據(jù)信息會(huì)存儲(chǔ)在賬本中,登錄進(jìn)入系統(tǒng)后的設(shè)備操作,系統(tǒng)會(huì)自動(dòng)讀取賬本的已注冊(cè)的設(shè)備登記表,進(jìn)行比對(duì)認(rèn)證,當(dāng)設(shè)備對(duì)過(guò)認(rèn)證后,在網(wǎng)絡(luò)內(nèi)進(jìn)行數(shù)據(jù)傳輸和信息獲取時(shí),也是通過(guò)設(shè)備權(quán)限認(rèn)證,通過(guò)后才能進(jìn)行數(shù)據(jù)傳輸,對(duì)于數(shù)據(jù)資源的獲取[7]。系統(tǒng)同樣也要權(quán)限認(rèn)證后方可進(jìn)行。整個(gè)系統(tǒng)的所有信息都必須進(jìn)行統(tǒng)一的管理。此外,系統(tǒng)還有入侵檢測(cè)功能,所有的判斷都由合約程序完成,都要經(jīng)過(guò)各個(gè)節(jié)點(diǎn)的一致通過(guò)。
3.3 ? 系統(tǒng)架構(gòu)設(shè)計(jì)
本系統(tǒng)主要處理物聯(lián)網(wǎng)內(nèi)設(shè)備之間的數(shù)據(jù)交換,交換信息需要通過(guò)認(rèn)證機(jī)制及權(quán)限的有效管理,以及入侵檢測(cè)機(jī)制,系統(tǒng)中的各個(gè)節(jié)點(diǎn)主要用于信息處理及加工、封裝服務(wù)、系統(tǒng)管理等,而區(qū)塊鏈的各個(gè)節(jié)點(diǎn)主要用于數(shù)據(jù)的存儲(chǔ)與認(rèn)證管理,具體系統(tǒng)框架如圖2所示。
系統(tǒng)的底層主要是由區(qū)塊鏈的各個(gè)節(jié)點(diǎn)形成的網(wǎng)絡(luò),各節(jié)點(diǎn)即Geth客戶(hù)端,主要功能是在雙方交易過(guò)程的信息驗(yàn)證、交易信息的備份及合約數(shù)據(jù)的返回等。另外,各節(jié)點(diǎn)對(duì)上層的請(qǐng)求進(jìn)行通過(guò)前的認(rèn)證,必須要一致通過(guò)后方可通過(guò),認(rèn)證信息保存在區(qū)塊鏈的賬本中[8]。
系統(tǒng)的上層是物聯(lián)網(wǎng)的網(wǎng)絡(luò)層,由各個(gè)分節(jié)點(diǎn)組成,每個(gè)分節(jié)點(diǎn)與底層的節(jié)點(diǎn)一一對(duì)應(yīng)。上層節(jié)點(diǎn)主要功能是對(duì)接入物聯(lián)網(wǎng)的設(shè)置進(jìn)行通訊和數(shù)據(jù)傳輸,對(duì)交互的信息進(jìn)行統(tǒng)一管理,對(duì)物聯(lián)網(wǎng)的所有設(shè)備進(jìn)行接入前的認(rèn)證,并分配相應(yīng)的權(quán)限與實(shí)時(shí)監(jiān)管,同時(shí)對(duì)外來(lái)入侵進(jìn)行實(shí)時(shí)防控,另外,還對(duì)系統(tǒng)的對(duì)外業(yè)務(wù)提供服務(wù)接口[9]。
系統(tǒng)的分節(jié)點(diǎn)與底層的客戶(hù)商進(jìn)行通訊,主要通過(guò)JSOM-RPC方式來(lái)完成,整個(gè)系統(tǒng)的安全策略主要由物聯(lián)網(wǎng)系統(tǒng)與區(qū)塊鏈系統(tǒng)合作分工完成的,其中包括身份證認(rèn)證、各個(gè)設(shè)備的權(quán)限控制、節(jié)點(diǎn)的仲裁判定、交易過(guò)程的智能合約等,均由兩者共同完成[10]。
3.4 ? 系統(tǒng)功能模塊設(shè)計(jì)
根據(jù)整個(gè)物聯(lián)網(wǎng)系統(tǒng)的需求分析與總體架構(gòu)的設(shè)想,本文將系統(tǒng)的功能模塊主要分成認(rèn)證管理模塊、操作管理模塊、安全檢測(cè)模塊、信息管理模塊四大功能。
(1)認(rèn)證管理模塊。對(duì)于物聯(lián)網(wǎng)的各個(gè)設(shè)備終端在接入網(wǎng)絡(luò)前必須進(jìn)行身份認(rèn)證,系統(tǒng)認(rèn)證請(qǐng)求發(fā)給接入管理模塊,該模塊把請(qǐng)求進(jìn)行格式轉(zhuǎn)換,并把轉(zhuǎn)換后的請(qǐng)求信息發(fā)送給區(qū)塊鏈的節(jié)點(diǎn)中,區(qū)塊鏈系統(tǒng)會(huì)自用調(diào)用合約程序進(jìn)行身份認(rèn)證,把認(rèn)證的結(jié)果返回給該模塊,同時(shí)把認(rèn)證的信息進(jìn)行存儲(chǔ),對(duì)于認(rèn)證結(jié)果的返回,如果認(rèn)證通過(guò),則返回認(rèn)證成功的相關(guān)消息,否則返回認(rèn)證失敗的消息,所有信息都會(huì)保存在區(qū)塊鏈的賬本中。另外,系統(tǒng)對(duì)接入的所有設(shè)備進(jìn)行統(tǒng)一管理,把設(shè)備接入表保管在賬本中[11]。
(2)操作管理模塊。本功能主要是對(duì)物聯(lián)網(wǎng)的各個(gè)設(shè)備進(jìn)行操作業(yè)務(wù)的管理及權(quán)限的控制。網(wǎng)上的設(shè)備進(jìn)行操作主要包括信息發(fā)送和信息獲取,并且各項(xiàng)操作都必須在各自的權(quán)限范圍內(nèi)進(jìn)行,設(shè)備進(jìn)行信息發(fā)送前,首先要先確認(rèn)自己是否具有信息發(fā)送的權(quán)限,這就要求通過(guò)權(quán)限認(rèn)證過(guò)程,認(rèn)證過(guò)程主要是通過(guò)區(qū)塊鏈合約程序來(lái)完成,認(rèn)證過(guò)程的所有信息都保存在區(qū)塊鏈的賬本中,便于今后的數(shù)據(jù)溯源,認(rèn)證結(jié)果會(huì)發(fā)送給操作管理模塊,如果通過(guò),該設(shè)備可以進(jìn)行信息發(fā)送,否則將禁止發(fā)送,對(duì)于信息獲取,其流程也同信息發(fā)送相同;另外對(duì)于物聯(lián)網(wǎng)的所有設(shè)備,統(tǒng)一進(jìn)行權(quán)限的分配與管理,所有的權(quán)限均保存在權(quán)限分配表中,與設(shè)備接入表一同存儲(chǔ)在區(qū)塊鏈的賬本中[11]。
(3)安全檢測(cè)模塊。本模塊功能主要是確保整個(gè)網(wǎng)絡(luò)的安全性。安全檢測(cè)主要包括對(duì)內(nèi)檢測(cè)和對(duì)外檢測(cè),對(duì)于接入物聯(lián)網(wǎng)的設(shè)備,如果該設(shè)備發(fā)送一些惡意信息,對(duì)網(wǎng)絡(luò)進(jìn)行破壞,系統(tǒng)必須對(duì)該設(shè)備進(jìn)行權(quán)限的禁止,必要時(shí)還會(huì)使其脫離網(wǎng)絡(luò),對(duì)于設(shè)備發(fā)出的信息,都由系統(tǒng)的事件分析器進(jìn)行檢測(cè),則把處理結(jié)果通知安全檢測(cè)模塊,如果該設(shè)備發(fā)出的信息屬于惡性攻擊,該模塊立即對(duì)設(shè)備進(jìn)行警告或限制其使用權(quán)限,如果仍進(jìn)一步發(fā)惡性信息,則會(huì)強(qiáng)行該設(shè)備退出網(wǎng)絡(luò)[12]。
(4)信息管理模塊。本模塊主要包括數(shù)據(jù)處理、消息管理和數(shù)據(jù)展示三大功能。數(shù)據(jù)處理主要是對(duì)物聯(lián)網(wǎng)的設(shè)備發(fā)出的請(qǐng)求進(jìn)行簡(jiǎn)單封裝,然后再進(jìn)行數(shù)據(jù)傳輸;消息管理主要對(duì)整個(gè)系統(tǒng)的信息進(jìn)行監(jiān)控、統(tǒng)計(jì)和存儲(chǔ),便于信息今后的查找與溯源;數(shù)據(jù)展示主要將系統(tǒng)的一些數(shù)據(jù)進(jìn)行表格化或圖形化處理,為與外部的接口提供數(shù)據(jù)轉(zhuǎn)換,便于對(duì)外部設(shè)備的數(shù)據(jù)傳輸。
4 ? 系統(tǒng)的實(shí)現(xiàn)(Implementation of the system)
4.1 ? 區(qū)塊鏈網(wǎng)絡(luò)構(gòu)建
由于區(qū)塊鏈在分布式環(huán)境下運(yùn)行,主要將客戶(hù)端分別安裝到多臺(tái)電腦中,分別以每臺(tái)電腦作為區(qū)塊鏈的節(jié)點(diǎn)。在電腦中分別部署節(jié)點(diǎn),主要工作就是設(shè)置每臺(tái)電腦的創(chuàng)世紀(jì)塊,先創(chuàng)建第一個(gè),然后按照順序把其他電腦都添加新的區(qū)塊,這樣就可以各個(gè)節(jié)點(diǎn)連接在一個(gè)模擬的區(qū)塊鏈網(wǎng)絡(luò)中,其中各臺(tái)電腦終端所設(shè)置的相同的創(chuàng)世紀(jì)塊,以便共同維護(hù)賬本。各節(jié)點(diǎn)部署后運(yùn)行Geth客戶(hù)端,使其相互鏈接,同時(shí),把各個(gè)節(jié)點(diǎn)添加到一個(gè)列表中,以便各節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸,這樣就構(gòu)成了一個(gè)簡(jiǎn)易的區(qū)塊鏈網(wǎng)絡(luò)。
4.2 ? 系統(tǒng)的功能實(shí)現(xiàn)
4.2.1 ? 認(rèn)證管理模塊的實(shí)現(xiàn)
在目前的物聯(lián)網(wǎng)系統(tǒng)中,設(shè)備的身份認(rèn)證主要有三種模式,即靜態(tài)密碼認(rèn)證、動(dòng)態(tài)密碼認(rèn)證和生物特征識(shí)別認(rèn)證[13]。靜態(tài)密碼認(rèn)證主要是通過(guò)用戶(hù)預(yù)先設(shè)置的密碼進(jìn)行認(rèn)證,該密碼是靜態(tài)的,如果用戶(hù)不修改,則密碼將一直有效;動(dòng)態(tài)密碼主要根據(jù)內(nèi)置的密碼芯片進(jìn)行運(yùn)算推出動(dòng)態(tài)口令,密碼認(rèn)證必須其動(dòng)態(tài)口令和內(nèi)置密碼芯片共同完成;生物特征識(shí)別認(rèn)證主要是根據(jù)人體的某一特征進(jìn)行識(shí)別,例如人臉識(shí)別、指紋識(shí)別、表情識(shí)別等[14]。本文根據(jù)系統(tǒng)的特點(diǎn)設(shè)計(jì)了一個(gè)綜合識(shí)別方式,主要是把設(shè)備的制造商、設(shè)備類(lèi)型和設(shè)備出廠編碼等信息記錄下來(lái),寫(xiě)入設(shè)備接入表,并保存在區(qū)塊鏈賬本中,作為身份認(rèn)證的唯一識(shí)別代碼,認(rèn)證表的結(jié)構(gòu)主要包括設(shè)備名稱(chēng)、識(shí)別代碼、設(shè)備特性和備注信息等。當(dāng)設(shè)備接入網(wǎng)絡(luò)時(shí),先獲取這三項(xiàng)信息,然后與設(shè)備接入表的數(shù)據(jù)進(jìn)行比對(duì),如果比對(duì)成功則認(rèn)證通過(guò)。
4.2.2 ? 操作管理模塊的實(shí)現(xiàn)
當(dāng)物聯(lián)網(wǎng)的設(shè)備之間進(jìn)行信息發(fā)送和信息獲取時(shí),系統(tǒng)的交互模塊接收設(shè)備的信息,并把發(fā)送請(qǐng)求傳給數(shù)據(jù)傳送模塊,數(shù)據(jù)傳送模塊向區(qū)塊鏈系統(tǒng)發(fā)送權(quán)限驗(yàn)證請(qǐng)求,區(qū)塊鏈的合約程序會(huì)自動(dòng)驗(yàn)證該設(shè)備的權(quán)限,并把驗(yàn)證結(jié)果返回給數(shù)據(jù)傳送模塊,如果驗(yàn)證通過(guò),則數(shù)據(jù)傳送模塊把信息傳送給交互模塊,進(jìn)行信息發(fā)送,否則,將不通知交互模塊。同樣對(duì)于信息接收也是同一原理來(lái)完成設(shè)備的操作管理。
4.2.3 ? 安全檢測(cè)模塊的實(shí)現(xiàn)
安全檢測(cè)功能,主要通過(guò)CIDF程序來(lái)實(shí)現(xiàn),CIDF程序主要包括三個(gè)子程序,即事件產(chǎn)生程序、事件分析程序和數(shù)據(jù)寫(xiě)入程序,系統(tǒng)首先對(duì)所發(fā)送的信息進(jìn)行運(yùn)行狀態(tài)監(jiān)測(cè),然后把測(cè)試的結(jié)果發(fā)送給事件分析程序,事件分析程序?qū)υ撓⑿袨榕c惡性事件數(shù)據(jù)庫(kù)進(jìn)行比對(duì),如果比對(duì)成功,則說(shuō)明該信息屬于惡意消息,則把消息返回給系統(tǒng),對(duì)該設(shè)備進(jìn)行權(quán)限進(jìn)行限制。
4.2.4 ? 信息管理模塊的實(shí)現(xiàn)
數(shù)據(jù)處理功能主要通過(guò)調(diào)用JSON-PRC接口程序來(lái)實(shí)現(xiàn),該程序通過(guò)調(diào)用形式,根據(jù)請(qǐng)求的類(lèi)型,把信息打包封裝起來(lái),然后必須到對(duì)應(yīng)的地址中;消息管理主要也是通過(guò)數(shù)據(jù)處理功能實(shí)現(xiàn),JSON-PRC接口程序會(huì)調(diào)用系統(tǒng)的消息管理器,對(duì)信息進(jìn)行分類(lèi)保存;對(duì)于數(shù)據(jù)展示功能,主要是調(diào)用對(duì)外服務(wù)接口程序來(lái)實(shí)現(xiàn),對(duì)數(shù)據(jù)進(jìn)行圖形和表格化處理[15]。
4.3 ? 系統(tǒng)測(cè)試
4.3.1 ? 測(cè)試環(huán)境
本系統(tǒng)是基于幾臺(tái)電腦進(jìn)行模擬構(gòu)建的,用于測(cè)試區(qū)塊鏈的網(wǎng)絡(luò)部署和系統(tǒng)的功能測(cè)試。在測(cè)試環(huán)境中,電腦的硬件要求是I5四核以上的處理器,內(nèi)存容量為4G以上,操作系統(tǒng)是windows 10專(zhuān)業(yè)版(64位),開(kāi)發(fā)工具為eclipse,數(shù)據(jù)庫(kù)選擇MySQL。
4.3.2 ? 功能測(cè)試
本系統(tǒng)的測(cè)試主要模擬物聯(lián)網(wǎng)設(shè)備,對(duì)系統(tǒng)輸入相關(guān)的數(shù)據(jù)信息,看一下實(shí)際測(cè)試結(jié)果與預(yù)期效果進(jìn)行對(duì)比,檢測(cè)系統(tǒng)的各功能模塊是否存在系統(tǒng)錯(cuò)誤。功能測(cè)試主要包括認(rèn)證管理模塊、數(shù)據(jù)管理模塊、安全檢測(cè)模塊和信息管理模塊的測(cè)試。
認(rèn)證管理模塊測(cè)試主要對(duì)設(shè)備的接入進(jìn)行身份認(rèn)證,通過(guò)向系統(tǒng)分別輸入真實(shí)的設(shè)備信息和虛假的設(shè)備信息,對(duì)于正確設(shè)備信息系統(tǒng)會(huì)提示“認(rèn)證通過(guò)”,對(duì)于虛假的設(shè)備信息,則提示“認(rèn)證失敗”;數(shù)據(jù)管理模塊測(cè)試主要是對(duì)設(shè)備發(fā)送與接收信息的管理,對(duì)兩個(gè)不同權(quán)限的設(shè)備進(jìn)行信息發(fā)送操作,其中一個(gè)設(shè)備具有發(fā)送的權(quán)限,另一個(gè)沒(méi)有發(fā)送的權(quán)限,經(jīng)過(guò)測(cè)試,對(duì)于具有權(quán)限的設(shè)備,系統(tǒng)提示“消息發(fā)送成功”,對(duì)于沒(méi)有權(quán)限的設(shè)備,系統(tǒng)提示“您無(wú)權(quán)發(fā)送消息”,同時(shí)通過(guò)后臺(tái)的數(shù)據(jù)庫(kù),可查看到整個(gè)過(guò)程已備份到數(shù)據(jù)庫(kù)當(dāng)中;安全檢測(cè)模塊測(cè)試主要檢測(cè)系統(tǒng)是否存在惡意信息,在同一設(shè)備中分別發(fā)送兩條信息,一條是正常的信息,另一條是惡意攻擊的信息,對(duì)于正常的信息,系統(tǒng)提示“消息發(fā)送成功”,而對(duì)于惡意攻擊的信息,系統(tǒng)提示“惡意信息,拒絕發(fā)送”,對(duì)于連續(xù)發(fā)送惡意信息再進(jìn)行測(cè)試,系統(tǒng)會(huì)本設(shè)備隔離出來(lái),無(wú)法連入網(wǎng)絡(luò)中;信息管理模塊測(cè)試主要檢測(cè)系統(tǒng)消息的存儲(chǔ)管理,通過(guò)上述的幾個(gè)操作,在后臺(tái)數(shù)據(jù)庫(kù)中都能找到消息的存儲(chǔ)記錄和存儲(chǔ)時(shí)間。
4.3.3 ? 測(cè)試結(jié)果分析
通過(guò)上述對(duì)認(rèn)證管理模塊、數(shù)據(jù)管理模塊、安全檢測(cè)模塊和信息管理模塊進(jìn)行了具體、有效的測(cè)試,實(shí)際測(cè)試結(jié)果與預(yù)期的結(jié)果完全一致,此外,整個(gè)系統(tǒng)操作簡(jiǎn)單,流程非常清晰,而且系統(tǒng)運(yùn)行穩(wěn)定、效率高,沒(méi)有明顯的錯(cuò)誤,達(dá)到了預(yù)期的目的。
5 ? 結(jié)論(Conclusion)
由于物聯(lián)網(wǎng)在各行業(yè)中得到了廣泛的運(yùn)用,大量的終端設(shè)備都接入到物聯(lián)網(wǎng)中,對(duì)工作和生活帶來(lái)了極大的推動(dòng)作用,然而物聯(lián)網(wǎng)的信息安全問(wèn)題也日顯突出,尤其在網(wǎng)絡(luò)管理上顯得十分棘手,為此,本文提出了基于區(qū)塊鏈技術(shù)的信息安全平臺(tái)系統(tǒng)的設(shè)計(jì)方案,用來(lái)解決這一技術(shù)難題,取得一定的科研成果,但是系統(tǒng)仍然存在一些不足之處,對(duì)于物聯(lián)網(wǎng)系統(tǒng)的設(shè)備,發(fā)送的消息缺乏統(tǒng)一的格式,每個(gè)行業(yè)都各自為政,消息格式無(wú)法統(tǒng)一。對(duì)于安全檢測(cè),惡意消息的檢測(cè)范圍有待拓寬,檢測(cè)的策略有待改進(jìn),使檢測(cè)范圍更加全面,檢測(cè)機(jī)制更
加完善,此外,對(duì)于區(qū)塊鏈技術(shù)的融入,與系統(tǒng)有時(shí)會(huì)出現(xiàn)不兼容性的現(xiàn)象,有待改進(jìn)。對(duì)于這些問(wèn)題,在今后的工作中還要加以改進(jìn)。
參考文獻(xiàn)(References)
[1] 羅波,梁雅岑,姜晨龍.物聯(lián)網(wǎng)的安全威脅及防護(hù)策略[J].2019廣東通信青年論壇優(yōu)秀論文專(zhuān)刊,2019(10):98-101.
[2] 吳雨芯,蔡婷.區(qū)塊鏈技術(shù)在物聯(lián)網(wǎng)中的應(yīng)用研究[J].現(xiàn)代計(jì)算機(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]姚凱.物聯(lián)網(wǎng)系統(tǒng)全生命周期安全管理[J].電子世界,2019,11(10):102-105.
[5] 楊威,王宇建,吳永強(qiáng),等.物聯(lián)網(wǎng)設(shè)備身份認(rèn)證安全性分析[J].信息安全研究, 2019(10):36-39.
[6] 王偉光.區(qū)塊鏈技術(shù)在電子商務(wù)信息安全領(lǐng)域的應(yīng)用綜述[J].南京信息工程大學(xué)學(xué)報(bào)(自然科學(xué)版),2019(9):92-95.
[7] 謝曉輝,王祥武.基于物聯(lián)網(wǎng)環(huán)境下網(wǎng)絡(luò)惡意攻擊的防御機(jī)制[J].信息與電腦(理論版),2019(6):78-83.
[8] 王榮福.基于信息安全管理的物聯(lián)網(wǎng)技術(shù)研究[J].信息通信,2019(10):83-86.
[9] 辛嘉偉.基于區(qū)塊鏈的物聯(lián)網(wǎng)安全技術(shù)研究[D].電子科技大學(xué),2020.
[10] 張亮,李明,張懿操,等.一種物聯(lián)網(wǎng)終端自動(dòng)識(shí)別系統(tǒng)的研制[J].機(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] 蔣東暉.物聯(lián)網(wǎng)系統(tǒng)安全防護(hù)技術(shù)研究[J].信息技術(shù)與信息化,2019(5):124-126.
[15] 陳杰姝.基于區(qū)塊鏈的物聯(lián)網(wǎng)數(shù)據(jù)信息共享安全機(jī)制研究[J].信息技術(shù)與信息化,2019(11):95-98.
作者簡(jiǎn)介:
周立廣(1974-),男,碩士,高級(jí)工程師.研究領(lǐng)域:云計(jì)算,大數(shù)據(jù)分析.
韋智勇(1983-),男,碩士,信息系統(tǒng)項(xiàng)目管理師.研究領(lǐng)域:區(qū)塊鏈應(yīng)用,大數(shù)據(jù)技術(shù).