劉大慶 劉搏方 石樂洋
(1、湖北經(jīng)濟(jì)學(xué)院,湖北 武漢 430205 2、武漢輕工大學(xué),湖北 武漢 430048 3、西安工業(yè)大學(xué),陜西 西安 710021)
基于邊緣計(jì)算的物聯(lián)網(wǎng)架構(gòu),雖然在數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)負(fù)荷等方面表現(xiàn)出了諸多優(yōu)勢(shì),但是設(shè)備、網(wǎng)絡(luò)方面還是存在著一些安全隱患。探索基于邊緣計(jì)算的物聯(lián)網(wǎng)安全架構(gòu)設(shè)計(jì)與應(yīng)用方案,成為影響物聯(lián)網(wǎng)發(fā)展的一項(xiàng)關(guān)鍵技術(shù)?,F(xiàn)階段,關(guān)于物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)安全的研究較為豐富,但是關(guān)于物聯(lián)網(wǎng)端到端的安全研究相對(duì)較少。開發(fā)一種基于邊緣計(jì)算設(shè)備代理的DTLS 端到端安全機(jī)制將會(huì)解決這一問題。
根據(jù)安全威脅的來源不同,大體分為兩種類型:(1)來自于末端節(jié)點(diǎn)的安全威脅。例如在未經(jīng)授權(quán)的情況下,讀取節(jié)點(diǎn)信息,因?yàn)樾畔⑿孤稄亩鴰戆踩{?;蛘呤羌倜肮?jié)點(diǎn),對(duì)傳感器網(wǎng)絡(luò)進(jìn)行攻擊,導(dǎo)致物聯(lián)網(wǎng)的網(wǎng)絡(luò)通信功能無法正常發(fā)揮等。還有就是末端節(jié)點(diǎn)兼容性、協(xié)同性差,導(dǎo)致多個(gè)節(jié)點(diǎn)之間無法實(shí)現(xiàn)信息共享,不能提供數(shù)據(jù)包轉(zhuǎn)發(fā)服務(wù),也會(huì)導(dǎo)致物聯(lián)網(wǎng)的各項(xiàng)功能無法正常實(shí)現(xiàn)。(2)來自于通信網(wǎng)絡(luò)的安全威脅。比較常見的有拒絕服務(wù)攻擊,短時(shí)間內(nèi)向物聯(lián)網(wǎng)發(fā)起大量訪問請(qǐng)求,占用網(wǎng)絡(luò)帶寬,導(dǎo)致服務(wù)器無法響應(yīng)甚至宕機(jī),從而達(dá)到攻擊、破壞物聯(lián)網(wǎng)的目的。其他的還有中間人攻擊、重放威脅等。
鑒于物聯(lián)網(wǎng)運(yùn)行期間面臨的多種安全威脅,對(duì)物聯(lián)網(wǎng)的運(yùn)行安全提出了以下需求:(1)保證數(shù)據(jù)在存儲(chǔ)期間和傳輸過程中的機(jī)密性。為保障用戶信息隱私,禁止非授權(quán)用戶非法訪問,需要對(duì)所有存儲(chǔ)于物聯(lián)網(wǎng)服務(wù)器內(nèi),或者在物聯(lián)網(wǎng)內(nèi)部流動(dòng)的數(shù)據(jù)信息,采取加密技術(shù)予以保護(hù)。(2)保證數(shù)據(jù)的完整性。數(shù)據(jù)在存儲(chǔ)或傳輸期間,有可能會(huì)因?yàn)榭陀^因素(如服務(wù)器硬件故障)或主觀因素(操作不當(dāng)),導(dǎo)致數(shù)據(jù)出現(xiàn)丟失、損壞,致使數(shù)據(jù)的使用價(jià)值大打折扣。可采取數(shù)據(jù)容災(zāi)備份等措施,來保證物聯(lián)網(wǎng)數(shù)據(jù)的完整性。(3)保證數(shù)據(jù)的可用性。數(shù)據(jù)在使用過程中才能體現(xiàn)出其價(jià)值。維護(hù)物聯(lián)網(wǎng)安全的目標(biāo)之一,就是面向授權(quán)用戶提供數(shù)據(jù)服務(wù),以滿足用戶的需求。
物聯(lián)網(wǎng)的中心實(shí)體為大型服務(wù)器,通過數(shù)據(jù)接口和通信線路,分別連接一端的用戶和另一端的數(shù)據(jù)采集網(wǎng)絡(luò)。用戶想要獲取數(shù)據(jù),必須經(jīng)過中心實(shí)體。服務(wù)器與智能設(shè)備相連,并且利用安裝在智能設(shè)備中的傳感器,實(shí)現(xiàn)對(duì)數(shù)據(jù)的實(shí)時(shí)采集,對(duì)于收集到的海量數(shù)據(jù),由服務(wù)器根據(jù)數(shù)據(jù)來源進(jìn)行分類,為下一步數(shù)據(jù)調(diào)用提供方便。用戶想要獲取數(shù)據(jù),可在服務(wù)器的人機(jī)交互界面上輸入關(guān)鍵詞進(jìn)行檢索。中心化的IOT,所有信息傳遞全部建立在中心實(shí)體服務(wù)器上,一旦該服務(wù)器崩潰,相當(dāng)于切斷了用戶獲取數(shù)據(jù)的唯一通道,數(shù)據(jù)將無法采集和傳遞。
基于內(nèi)部網(wǎng)絡(luò)的物聯(lián)網(wǎng),在中心化IOT 的基礎(chǔ)上,又增加了一條用戶與數(shù)據(jù)采集網(wǎng)絡(luò)直接連接的通道,形成了“雙通道”的物聯(lián)網(wǎng)信息傳輸渠道。由于缺乏底層技術(shù)支持,因此基于連接內(nèi)部網(wǎng)的IOT,在實(shí)際運(yùn)行中還是以中心實(shí)體作為主要的傳輸路徑,即數(shù)據(jù)采集網(wǎng)絡(luò)將所得數(shù)據(jù)上傳到中心實(shí)體或云端后,暫時(shí)存儲(chǔ),用戶可根據(jù)實(shí)際需要從中調(diào)取相應(yīng)的數(shù)據(jù)。在中心實(shí)體服務(wù)器因故障無法完成信息傳遞的情況下,管理員可手動(dòng)配置開啟第二條信息傳輸通道,即用戶直接連接數(shù)據(jù)采集網(wǎng)絡(luò),實(shí)現(xiàn)信息傳遞。
上述兩種IOT 都是采用線性連接,即用戶與數(shù)據(jù)采集網(wǎng)絡(luò)、中心實(shí)體之間為線性邏輯關(guān)系,不存在相互交叉,因此信息傳遞渠道比較單一。而分布式IOT 則采用更加復(fù)雜的網(wǎng)絡(luò)架構(gòu),如圖1 所示。
根據(jù)圖1 可知,基于分布式IOT 的網(wǎng)絡(luò)體系,實(shí)現(xiàn)了從以“中心實(shí)體”為中心向以“用戶”為中心的轉(zhuǎn)變。從數(shù)據(jù)傳輸渠道上來看,用戶不僅可以從中心實(shí)體以關(guān)鍵詞檢索的方式,獲取所需的數(shù)據(jù);而且還能直接從數(shù)據(jù)采集網(wǎng)絡(luò)中獲取所需數(shù)據(jù)。另外,不同的數(shù)據(jù)采集網(wǎng)絡(luò)之間,也可以進(jìn)行數(shù)據(jù)交互。這種分布式網(wǎng)絡(luò)架構(gòu),進(jìn)一步提高了數(shù)據(jù)資源的共享水平和利用價(jià)值。
圖1 分布式IOT 的網(wǎng)絡(luò)架構(gòu)
結(jié)合上文分析,可以發(fā)現(xiàn)分布式物聯(lián)網(wǎng)架構(gòu)具有諸多優(yōu)勢(shì),基于邊緣計(jì)算的分布式IOT 結(jié)構(gòu)如圖2 所示。
圖2 基于邊緣計(jì)算的分布式IOT
結(jié)合圖2,該系統(tǒng)在硬件組成上,主要有網(wǎng)關(guān)、邊緣計(jì)算設(shè)備、資源受限設(shè)備等。以邊緣計(jì)算設(shè)備為例,它的主要功能是提供邊緣計(jì)算、數(shù)據(jù)協(xié)同等服務(wù)。根據(jù)物聯(lián)網(wǎng)運(yùn)行需要,可以靈活配備不同數(shù)量的邊緣計(jì)算設(shè)備,以滿足資源分配和數(shù)據(jù)處理的需求。該系統(tǒng)在軟件組成上,選取Contiki 操作系統(tǒng),使用NesC語言進(jìn)行編程開發(fā),支持IP 協(xié)議、IEEE802.15.4 協(xié)議。
該框架采用Contiki 嵌入式操作系統(tǒng),其特點(diǎn)是可允許多任務(wù)同時(shí)操作,具備較強(qiáng)的通信數(shù)據(jù)處理能力。同時(shí)由于體積較小,因此功耗較低,系統(tǒng)運(yùn)行只需要5Kb 的RAM 和32Kb 的ROM,就可以在物聯(lián)網(wǎng)末端正常運(yùn)行。Contiki 還解決了物聯(lián)網(wǎng)資源擴(kuò)張導(dǎo)致的內(nèi)存不足的問題,較好地滿足了物聯(lián)網(wǎng)可擴(kuò)展的發(fā)展需求?;贑ontiki 操作系統(tǒng)的運(yùn)行流程如圖3 所示。
圖3 基于Contiki 系統(tǒng)的運(yùn)行流程圖
3.3.1 搭建測(cè)試平臺(tái)
在確定了使用分布式IOT網(wǎng)絡(luò)架構(gòu),并且分別從軟件、硬件方面確定系統(tǒng)的主要構(gòu)成后,搭建系統(tǒng)測(cè)試平臺(tái),對(duì)物聯(lián)網(wǎng)的安全性開展測(cè)試、驗(yàn)證。使用DTLS Server 將客戶端和服務(wù)器端連接起來,實(shí)現(xiàn)兩者的數(shù)據(jù)傳輸??蛻舳嘶贑C2538 芯片完成控制,而服務(wù)器端基于Contiki 操作系統(tǒng)控制。在該測(cè)試平臺(tái)的物理層和MAC 層,均采用IEEE802.15.4 協(xié)議。由計(jì)算機(jī)程序控制兩個(gè)端口,同步發(fā)送指令,運(yùn)行該測(cè)試平臺(tái)。
3.3.2 測(cè)試結(jié)果分析
測(cè)試期間,DTLS 協(xié)議順利實(shí)現(xiàn),確保了雙端通信正常。在此基礎(chǔ)上,進(jìn)一步測(cè)試了DTLS 協(xié)議實(shí)現(xiàn)過程中消耗的存儲(chǔ)資源。分別選取了3 個(gè)不同的節(jié)點(diǎn),資源消耗情況如表1 所示。
表1 DTLS 協(xié)議實(shí)現(xiàn)消耗的存儲(chǔ)資源
結(jié)合上表可知,當(dāng)Contiki 系統(tǒng)運(yùn)行基于PSK 的DTLS 協(xié)議時(shí),消耗16.4K 的RAM,以及22.7K 的ROM。而運(yùn)行基于ECC的DTLS 協(xié)議時(shí),則需要消耗20.8K 的RAM 和25.3K 的ROM。參考上述測(cè)試結(jié)果,基于邊緣計(jì)算的物聯(lián)網(wǎng)安全架構(gòu),使用基于Contiki 系統(tǒng)的DTLS 協(xié)議,在進(jìn)一步提高通信效率的同時(shí),還能降低對(duì)系統(tǒng)資源的占用與消耗,是一種更加理想的選擇。
結(jié)束語
邊緣計(jì)算具有低時(shí)延、高帶寬、可支持海量連接、保障信息隱私安全等功能?;谶吘売?jì)算構(gòu)建物聯(lián)網(wǎng)的安全架構(gòu),在切實(shí)提高通信安全效果、降低系統(tǒng)資源消耗等方面優(yōu)勢(shì)顯著,成為新時(shí)期物聯(lián)網(wǎng)完善架構(gòu)、創(chuàng)新發(fā)展的一項(xiàng)關(guān)鍵技術(shù)。