劉帥 戚榮鑫 董昳暉 馮孟 苗田田 蔣玲紅
摘要 物聯(lián)網(wǎng)設備資源受限,需要使用外部資源,而集中式的云方案恰好可以為物聯(lián)網(wǎng)提供充足的計算存儲資源.但是受制于網(wǎng)絡帶寬等因素,云不能及時地處理大量的數(shù)據(jù).云方案采用靜態(tài)密碼的驗證和明文存儲的機制,也存在著安全性問題.區(qū)塊鏈技術的興起,為解決物聯(lián)網(wǎng)安全問題帶來了新思路.邊緣計算縮短了數(shù)據(jù)處理距離,增強了實時性.因此,本文將使用這兩項技術,解決目前物聯(lián)網(wǎng)中的問題.
關鍵詞 區(qū)塊鏈;物聯(lián)網(wǎng);邊緣計算;安全
中圖分類號 TP391
文獻標志碼 A
0 引言
隨著傳感器、無線通信、數(shù)據(jù)分析處理等技術的快速發(fā)展,物聯(lián)網(wǎng)設備趨于微型化、廉價化[1].從而,在家庭、教育、交通等領域應用物聯(lián)網(wǎng)技術解決問題成為了可能.最初的物聯(lián)網(wǎng)設備處理的數(shù)據(jù)量很少,可以使用有限的資源完成處理任務.然而,當物聯(lián)網(wǎng)技術廣泛應用于家庭電器、交通控制等的時候,產(chǎn)生的數(shù)據(jù)量越來越大.從異構的物聯(lián)網(wǎng)中提取有價值的信息越來越困難.2010年,Zhao[2]認為云計算為解決物聯(lián)網(wǎng)數(shù)據(jù)處理提供了新的機會.2014年,Biswas等[3]認為云提供強大資源的同時,還存在異構連接、動態(tài)管理等挑戰(zhàn)亟待解決.2015年,F(xiàn)arris等[4]通過融合邊緣計算和云計算,使用一種聯(lián)合機制解決了異構網(wǎng)絡連接云的問題.2016年,Shi等[5]認可了基于云的物聯(lián)網(wǎng)方案,指出了基于云的方案在處理交通信息等突發(fā)性強、實時性要求高事件的不足,并認為邊緣計算可以解決這類事件.
物聯(lián)網(wǎng)連接到因特網(wǎng)后,面臨的安全威脅也越來越多.Sharmeen等[6]指出了惡意攻擊者侵入物聯(lián)網(wǎng)的行為,惡意攻擊者繞過授權直接訪問了物聯(lián)網(wǎng)內(nèi)部數(shù)據(jù).基于云的中心化方案,很難保證大量分散的物聯(lián)網(wǎng)設備安全.物聯(lián)網(wǎng)設備這種多節(jié)點、分布式的結構和比特幣[7]有許多相似的特征,使用區(qū)塊鏈技術解決安全問題成為了可能.Wu等[8]提出了一個新的基于區(qū)塊鏈技術的雙因素安全方案,保證了智能設備數(shù)據(jù)安全.Christidis等[9]指出使用了結合智能合約的區(qū)塊鏈技術可以應用于物聯(lián)網(wǎng),而且智能合約可以為物聯(lián)網(wǎng)提供一個不可信環(huán)境的安全.
本文旨在提出一個嚴格的訪問控制機制,規(guī)范內(nèi)網(wǎng)物聯(lián)網(wǎng)設備和外網(wǎng)用戶行為,保障物聯(lián)網(wǎng)系統(tǒng)安全.
1 相關技術
1.1 區(qū)塊鏈
2008年,中本聰[7]在密碼學論壇發(fā)表的論文,完整闡述比特幣原理及區(qū)塊鏈技術.區(qū)塊鏈由區(qū)塊和鏈兩部分構成,包含了交易數(shù)據(jù)永久存儲的數(shù)據(jù)單元就是區(qū)塊,而按照時間先后順序連接的時間戳就是鏈.所以,有人認為區(qū)塊鏈是按時間先后順序記錄,通過共識機制由網(wǎng)絡內(nèi)的節(jié)點共同維護,不可篡改的分布式賬本.區(qū)塊的結構分為區(qū)塊頭和區(qū)塊體兩部分.區(qū)塊頭包含了區(qū)塊自身的特征信息,如頭哈希、父哈希、時間戳、區(qū)塊交易數(shù)量、區(qū)塊大小等,其中的頭哈希值是最關鍵的一個信息,總是與它連接的下一個區(qū)塊父哈希值相同,如圖1所示.區(qū)塊中的區(qū)塊體包含了經(jīng)過驗證的,區(qū)塊創(chuàng)建過程中發(fā)生的所有交易事件記錄信息,如表1所示是我們將使用的區(qū)塊體示例.只要新生成的區(qū)塊生成并添加到區(qū)塊鏈尾部,這個區(qū)塊內(nèi)的數(shù)據(jù)將不能被刪除或更改,確保了數(shù)據(jù)的不可篡改性.
根據(jù)區(qū)塊鏈節(jié)點的范圍分布,可以將區(qū)塊鏈分為公有鏈、私有鏈和聯(lián)盟鏈.公有鏈完全對外公開,任何人都可以直接訪問區(qū)塊鏈,不需要授權.私有鏈是某個組織建立的,只有特定的授權用戶可以訪問.聯(lián)盟鏈是公有鏈和私有鏈的混合,只有加入聯(lián)盟的用戶可以訪問.考慮到公有鏈在可靠性和隱私安全性等方面存在問題,而聯(lián)盟鏈也因為規(guī)模較大部署起來比較困難,我們選擇了規(guī)模較小的私有區(qū)塊鏈記錄存儲等事件信息.也因為私有區(qū)塊鏈是部署在本地平臺,可以認為初始的區(qū)塊鏈是安全可靠的.
1.2 邊緣計算
邊緣計算是在網(wǎng)絡邊緣,也就是靠近數(shù)據(jù)源附
近對數(shù)據(jù)進行處理.與按需服務將數(shù)據(jù)發(fā)送到云端處理的云計算不同,邊緣計算強調(diào)的是在邊緣對數(shù)據(jù)處理.舉個例子,智能家居里的網(wǎng)關就可以被認為是一個邊緣,邊緣計算希望在家庭網(wǎng)關這個邊緣對數(shù)據(jù)處理.當然,如果數(shù)據(jù)量過大,邊緣節(jié)點不能及時或無法完整處理,邊緣節(jié)點必須依靠云完成處理任務,邊緣節(jié)點將負責簡單的預處理.我們的方案認為,部署的邊緣節(jié)點計算和處理能力可以滿足物聯(lián)網(wǎng)設備處理需求.
2 基于區(qū)塊鏈和邊緣計算的物聯(lián)網(wǎng)系統(tǒng)框架
傳統(tǒng)的集中式管理模式是非常脆弱的,只要中心節(jié)點被破壞掉,整個物聯(lián)網(wǎng)服務將會陷入癱瘓.因此,我們將構建一個分散監(jiān)管的系統(tǒng).我們的物聯(lián)網(wǎng)系統(tǒng)框架如圖2所示.這個框架包括了4層:感知層、邊緣層、數(shù)據(jù)存儲層、應用層.感知層、邊緣層和數(shù)據(jù)存儲層共同構成了內(nèi)網(wǎng).內(nèi)網(wǎng)負責收集、存儲、分析處理數(shù)據(jù),而應用層構成的外網(wǎng)利用內(nèi)網(wǎng)的數(shù)據(jù)為用戶提供各類服務.
2.1 感知層
感知層包含了各類傳感器節(jié)點.我們通過這些傳感器,可以獲得溫度、濕度、氣壓、光照、壓力之類的信息.這些傳感器資源受限,只可以完成簡單的數(shù)據(jù)處理任務.但他們可以將復雜的計算任務轉移給邊緣設備,請求邊緣設備完成處理,并接收處理結果完成各類響應.
代理是具有較強通信和計算能力的設備,它們的任務是幫助通信能力弱的節(jié)點或者通信需求低的節(jié)點與邊緣設備及上層通信.而通信能力強的傳感器節(jié)點并不需要代理,它們直接與邊緣設備層通信.
2.2 邊緣層
運行在邊緣節(jié)點上的智能合約構成了邊緣層.智能合約是預先編寫與部署的電子合約,包含了兩個功能模塊.一個功能模塊是負責管理物聯(lián)網(wǎng)設備和用戶可信程度的積分系統(tǒng),另一個功能模塊是負責分析物聯(lián)網(wǎng)設備行為并給出處理的規(guī)則.
管理處理是邊緣設備依托于智能合約實現(xiàn)的.當物聯(lián)網(wǎng)設備發(fā)出注冊、使用資源等請求時,將會自動執(zhí)行智能合約,根據(jù)預定義的規(guī)則處理物聯(lián)網(wǎng)設備的請求.
2.3 數(shù)據(jù)存儲層
需要存儲數(shù)據(jù)時,將會自動執(zhí)行智能合約.首先,智能合約會使用橢圓曲線密碼算法對數(shù)據(jù)進行加密,加密使用的算法和對應解密的私鑰是智能合約自行選擇的,并且不會泄露給其他設備或用戶.然后,智能合約會將執(zhí)行的存儲事件記錄到區(qū)塊鏈的塊中.最后,物聯(lián)網(wǎng)設備的各類數(shù)據(jù)經(jīng)過智能合約處理,將存儲在邊緣設備的存儲硬件.此外,如訪問、查詢等其他的活動事件也會被記錄在塊中.
2.4 應用層
應用層是一個為用戶提供各類服務的平臺,也是訪問物聯(lián)網(wǎng)數(shù)據(jù)的接口.用戶向平臺發(fā)出服務請求,平臺對用戶的身份進行驗證,平臺將通過驗證的用戶請求發(fā)送給邊緣層的智能合約.智能合約收到用戶的請求后,首先查詢用戶的可信程度積分,然后判斷請求合理性再決定是否提供服務,并反饋給應用層.應用層對用戶的驗證,不僅是驗證用戶身份,還驗證用戶的請求合理性.這個驗證過程可以有效的減少不合理甚至惡意的行為,減少智能合約處理的信息量,避免浪費系統(tǒng)資源.
3 數(shù)據(jù)處理與用戶訪問
物聯(lián)網(wǎng)面臨著入侵、DoS等攻擊行為.為了物聯(lián)網(wǎng)安全,我們在容易受到安全威脅的邊緣層和應用層,設計了安全保護機制.
3.1 數(shù)據(jù)處理
為了避免物聯(lián)網(wǎng)設備竊取和濫用邊緣節(jié)點的資源,我們設計了防御機制.
物聯(lián)網(wǎng)中的設備都會直接或間接在邊緣層注冊,如圖3所示.通信能力強的物聯(lián)網(wǎng)設備可以直接向邊緣層注冊,而通信能力弱的將由代理管理,代理向邊緣層注冊.邊緣層的智能合約收到注冊請求后,為注冊設備生成身份信息并綁定一個信用積分.這個信用積分是智能合約根據(jù)設備類型、執(zhí)行的功能等因素,給予設備的一個初始分.智能合約會周期性地根據(jù)這個設備的行為事件做出評價,決定增加或減少可信積分.當可信積分減少到一個閾值時,智能合約將認為該設備是惡意設備,拒絕為其提供服務并反饋給應用層.
為了提高響應效率,簡化了認證物聯(lián)網(wǎng)設備的流程.請求處理數(shù)據(jù)的物聯(lián)網(wǎng)設備將驗證信息嵌入在數(shù)據(jù)中,發(fā)送給邊緣層.然后,智能合約檢查驗證信息并查看綁定可信積分.驗證通過后,智能合約根據(jù)可信度分配資源處理收到的數(shù)據(jù).處理完成后,觸發(fā)智能合約的管理規(guī)則,判斷做出處理策略.如果數(shù)據(jù)需要被存儲,將會放入緩存中.當達到一定數(shù)量時,智能合約會使用一個比較算法計算特征值,將結果和設定的值比較,完成工作量證明(Proof of Work,PoW).計算值符合要求后,會將緩存中的數(shù)據(jù)用選定的橢圓曲線加密算法加密,然后存入數(shù)據(jù)庫中(圖4).同時,智能合約將會為處理、存儲的操作生成一個塊記錄,加入到區(qū)塊鏈中.然后,將新加入的塊記錄廣播給其他的邊緣節(jié)點,這些節(jié)點上的智能合約再一次驗證塊記錄并添加到節(jié)點上的區(qū)塊鏈中.在設備通過驗證的一定時間內(nèi),再一次的處理、存儲、訪問操作不需要驗證,智能合約可以直接做出響應.而超過這個預時間后,需要再次執(zhí)行驗證流程.
被簡化的認證流程,可以減少響應的時間,幫助時延要求高的設備處理和決策,但也降低了安全性.因此,可以采取一種動態(tài)更新設備驗證信息的機制,在一定的周期內(nèi)動態(tài)更新一些設備密鑰等驗證信息,避免一些安全攻擊.智能合約也會周期性地評估設備行為,一些惡意設備的行為可以被發(fā)現(xiàn),扣除設備信用積分作為懲罰,拒絕這些設備服務請求.此外,因為物聯(lián)網(wǎng)設備和邊緣節(jié)點位于內(nèi)網(wǎng)中,通過限制外網(wǎng)的訪問,可以避免來自外部的攻擊.通過這些措施,可以有效控制安全威脅.
3.2 用戶訪問
外網(wǎng)中對應用層的服務訪問與內(nèi)網(wǎng)的訪問流程有些相似,以查詢數(shù)據(jù)為例.首先,用戶向應用層申請查詢數(shù)據(jù)服務.然后,應用層根據(jù)請求用戶的身份,向邊緣層請求查詢該身份綁定的可信積分.邊緣層將查詢到的可信情況反饋給應用層.應用層判定用戶可信后,會進一步和用戶交互,驗證用戶的合法性.驗證通過后,應用層的平臺,向邊緣層發(fā)出查詢數(shù)據(jù)的請求.邊緣層進行一些處理后,將解密的數(shù)據(jù)轉交給應用平臺.應用平臺使用用戶的公鑰加密數(shù)據(jù)后,將加密的數(shù)據(jù)發(fā)送給用戶.最后,用戶使用私鑰解密數(shù)據(jù),獲得查詢的數(shù)據(jù),如圖5所示.
同內(nèi)網(wǎng)中的數(shù)據(jù)訪問類似,在限定的時間內(nèi),用戶再次訪問請求可以被直接處理,不需要再次驗證.而超過限定的時間,需要再次執(zhí)行驗證機制.此外,我們的驗證機制還可以抵御DoS這類攻擊.為了抵抗被惡意盜用的用戶攻擊,使用智能合約周期性地評估用戶行為,調(diào)整用戶的可信積分.當這個可信積分降低到一個閾值時,應用平臺將拒絕這個用戶的服務請求.
3.3 新區(qū)塊的生成
不論是物聯(lián)網(wǎng)設備還是用戶的訪問,每一次關于數(shù)據(jù)的操作,都會產(chǎn)生一個記錄添加到區(qū)塊體中,如圖6所示.當塊記錄達到上限時,智能合約會幫助數(shù)據(jù)存儲層生成一個新的區(qū)塊添加到數(shù)據(jù)存儲層,由新的區(qū)塊繼續(xù)記錄訪問事件.這個新的區(qū)塊生成后,會向其他邊緣節(jié)點同步,保持區(qū)塊內(nèi)容一致.
4 安全性
保密性、完整性和可用性是一個系統(tǒng)框架最基本的需求.也就是指只有經(jīng)過驗證授權的用戶可以訪問系統(tǒng)信息,系統(tǒng)接收和發(fā)送的信息是沒有更改的完整的,系統(tǒng)提供的數(shù)據(jù)和服務是可以被合法用戶訪問和使用的.參考林果園等[10]關于云計算訪問控制安全的安全模型,我們認為嚴格控制上層訪問下層并拒絕上層修改下層數(shù)據(jù),是一個很有效的安全策略.
5 評估
本文方案和基于云的物聯(lián)網(wǎng)方案不同.表2給出了一些性能上的評估.本文方案在訪問控制和實時性方面優(yōu)于基于云的物聯(lián)網(wǎng)方案,而這個優(yōu)勢正是通過區(qū)塊鏈和邊緣計算技術實現(xiàn)的.
6 討論
本文提出了一種基于區(qū)塊鏈和邊緣計算的物聯(lián)網(wǎng)方案.通過分析現(xiàn)有物聯(lián)網(wǎng)技術和方案,發(fā)現(xiàn)了現(xiàn)有方案的不足以及物聯(lián)網(wǎng)和比特幣結構的相似性.同時,參考了基于云方案的安全模型,總結出嚴格控制上層訪問下層并禁止篡改下層數(shù)據(jù)的控制策略.因此,我們使用了區(qū)塊鏈技術,用區(qū)塊鏈記錄系統(tǒng)內(nèi)操作、用戶和設備行為,用唯一綁定的可信分控制用戶和物聯(lián)網(wǎng)設備行為,保障系統(tǒng)安全.此外,邊緣計算技術為我們處理物聯(lián)網(wǎng)數(shù)據(jù)和部署區(qū)塊鏈提供了可靠平臺.因為區(qū)塊鏈工作量證明的安全機制占用了大量計算資源,將造成短期內(nèi)資源不足.而這個工作不是該研究的重點,所以本方案沒有做進一步的研究,僅增加了工作量證明的間隔.
參考文獻References
[1] Chaudhary M H,Scheers B.Software-defined wireless communications and positioning device for IoT development[C]∥International Conference on Military Communications and Information Systems,IEEE,2016,DOI:10.1109/ICMCIS.2016.7496555
[2] Zhao F.Sensors meet the cloud:planetary-scale distributed sensing and decision making[C]∥9th IEEE International Conference on Cognitive Informatics,IEEE,2010,DOI:10.1109/COGINF.2010.5599715
[3] Biswas A R,Giaffreda R.IoT and cloud convergence:opportunities and challenges[C]∥IEEE World Forum on Internet of Things (WF-IoT),IEEE,2014,DOI:10.1109/WF-IoT.2014.6803194
[4] Farris I,Militano L,Nitti M,et al.Federated edge-assisted mobile clouds for service provisioning in heterogeneous IoT environments[C]∥IEEE 2nd World Forum on Internet of Things (WF-IoT),2015,DOI:10.1109/WF-IoT.2015.7389120
[5] Shi W S,Cao J,Zhang Q,et al.Edge computing:vision and challenges[J].IEEE Internet of Things Journal,2016,3(5):637-646
[6] Sharmeen S,Huda S,Abawajy J H,et al.Malware threats and detection for industrial mobile-IoT networks[J].IEEE Access,2018,6:15941-15957
[7] Nakamoto S.Bitsoin:A peer-to-peer electronic cash system[EB/OL].[2019-06-20]https:∥bitcoin.org/bitcoin.pdf
[8] Wu L F,Du X J,Wang W,et al.An out-of-band authentication scheme for Internet of Things using blockchain technology[C]∥International Conference on Computing,Networking and Communications (ICNC),IEEE,2018,DOI:10.1109/ICCNC.2018.8390280
[9] Christidis K,Devetsikiotis M.Blockchains and smart contracts for the Internet of Things[J].IEEE Access,2016,4:2292-2303
[10] 林果園,賀珊,黃皓,等.基于行為的云計算訪問控制安全模型[J].通信學報,2012,33(3):59-66
LIN Guoyuan,HE Shan,HUANG Hao,et al.Access control security model based on behavior in cloud computing environment[J].Journal on Communications,2012,33(3):59-66