冉黎瓊, 翁越男, 徐小玲,宋海權(quán), 陳金勇, 高 林,吳凌淳, 陳 琴,徐康鐳
(1.成都信息工程大學(xué) 軟件工程學(xué)院,四川 成都 610225;2.成都安聯(lián)云防保安服務(wù)有限公司,四川 成都 610095;3.成都信息工程大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,四川 成都 610225;4.中國電子科技集團(tuán)公司第五十四研究所,河北 石家莊 050081)
近年來,眾多科學(xué)技術(shù)企業(yè)與學(xué)術(shù)研究組織將工作重心從獨立執(zhí)行轉(zhuǎn)向云計算、邊緣計算與霧計算系統(tǒng),這使得他們可擁有高效且可擴(kuò)展的巨大數(shù)據(jù)存儲容量[1]。同時,這一轉(zhuǎn)變也帶來了諸多挑戰(zhàn),例如,如何在云、邊緣和霧計算系統(tǒng)中實現(xiàn)大規(guī)模數(shù)據(jù)存儲的安全,如何保護(hù)用戶的信息隱私免受攻擊。本質(zhì)上看,這類數(shù)據(jù)管理方式是由云計算、邊緣計算和霧計算的全球中心托管,并為個人用戶數(shù)據(jù)提供整體管理服務(wù)。
當(dāng)擁有大量數(shù)據(jù)和重要應(yīng)用程序的云提供商與客戶共享數(shù)據(jù)時,信息安全和隱私問題成為一個熱點研究問題。隨著這一問題的日益嚴(yán)峻,計算范式研究領(lǐng)域提出了該類問題的主要研究方向及內(nèi)容[2]。目前,每種計算范式中最受關(guān)注的問題是保護(hù)用戶隱私使其免受未經(jīng)授權(quán)的訪問和攻擊。此外,保持并維護(hù)數(shù)據(jù)完整性也是一個非常重要的方面[3]。
當(dāng)涉及保護(hù)個人信息和其他重要數(shù)據(jù)時,需要根據(jù)不同的需求改變計算卸載策略[4]。云客戶擁有對其個人信息和數(shù)據(jù)的合法訪問權(quán)(即用戶有權(quán)知道其他設(shè)備何時、如何以及多大頻率訪問其個人信息)。安全和隱私方面包括5個不同特征:完整性、問責(zé)制、機(jī)密性、可用性和隱私保護(hù)[5]。
針對上述問題,本文對云、邊緣和霧計算3種計算范式中的信息安全和隱私方面進(jìn)行了全面綜述,主要貢獻(xiàn)包括:① 對云、邊緣和霧計算3種范式的信息安全和隱私問題進(jìn)行深入研究和對比分析,并給出解決方案;② 詳細(xì)介紹3種范式各自在信息安全和隱私保護(hù)方面的主流技術(shù)及其特征;③ 發(fā)現(xiàn)信息安全與隱私機(jī)制的部署缺陷是由多樣性計算的異質(zhì)性造成的,給出不同的信息安全部署技術(shù)加強(qiáng)信息的安全性與隱私性。
下面介紹不同范式的背景,對每種范式都進(jìn)行了討論,為介紹每種計算范式在信息安全和隱私方面的問題與挑戰(zhàn)進(jìn)行背景知識鋪墊。
云計算是一種通過網(wǎng)絡(luò)訪問的、可擴(kuò)展的、靈活的物理或虛擬共享資源池,可按需自助獲取或管理資源的集中式范式。終端用戶僅作為一個數(shù)據(jù)消費者,負(fù)責(zé)向云端請求數(shù)據(jù),得到返回結(jié)果并顯示。
傳統(tǒng)云計算架構(gòu)如圖1所示。云端數(shù)據(jù)僅從數(shù)據(jù)生產(chǎn)者那里獲取,然后接收處理來自終端數(shù)據(jù)消費者的請求,并將處理結(jié)果返回給終端用戶。
圖1 傳統(tǒng)云計算架構(gòu)Fig.1 Traditional cloud computing framework
云計算具有虛擬化、動態(tài)擴(kuò)展和高性價比等特性,主要解決資源利用率不高、物理資源設(shè)備難以集中管理和高效使用等問題。在用戶端和云端之間通過網(wǎng)絡(luò)連接和使用,云計算高度依賴網(wǎng)絡(luò),在大規(guī)模物聯(lián)網(wǎng)(Internet of Things,IoT)設(shè)備和傳感器場景下,其網(wǎng)絡(luò)阻塞、高延時和低服務(wù)質(zhì)量等問題凸顯。
隨著不斷發(fā)展的技術(shù)和基礎(chǔ)設(shè)備創(chuàng)新,企業(yè)的物理資源也得以增加和換新,云計算為企業(yè)提供獨特的應(yīng)用程序解決方案[6],同時使用不同的組件來提供服務(wù)。
云計算是一種在可配置計算資源共享池中,按需進(jìn)行網(wǎng)絡(luò)訪問的范式。云計算的特點包括按需自助服務(wù)、廣域網(wǎng)訪問、多租戶和資源池、快速彈性和可擴(kuò)展性。通常根據(jù)制造商和企業(yè)的需要提供所需的云計算資源。同時,企業(yè)相關(guān)產(chǎn)品的云訪問也至關(guān)重要,有助于企業(yè)根據(jù)需要虛擬化各種服務(wù)及云使用[7]。
云計算服務(wù)通過網(wǎng)絡(luò)上已建立的通道訪問功能,高頻地進(jìn)行網(wǎng)絡(luò)訪問,從而促進(jìn)工作站、平板電腦、筆記本電腦和移動電話等不同用戶設(shè)備的使用[8]。網(wǎng)絡(luò)訪問導(dǎo)致了使用云計算服務(wù)的各個客戶端對服務(wù)提供者提供的計算資源進(jìn)行分組的問題,需要根據(jù)用戶需求,仔細(xì)重新分配云計算服務(wù)資源[9]。大規(guī)模的云服務(wù)異構(gòu)環(huán)境也導(dǎo)致了計算資源伸縮性方面的問題,這需要服務(wù)提供商創(chuàng)建特定的云服務(wù)資源以實現(xiàn)大幅降低計算成本的目標(biāo)。用戶對云計算的需求可能會發(fā)生變化,平臺或系統(tǒng)需要立即做出響應(yīng)。對計算資源使用情況進(jìn)行仔細(xì)觀察和監(jiān)管,并根據(jù)使用情況建立日志提供反饋,例如賬戶信息、帶寬和存儲信息。如果對所使用的資源進(jìn)行充分地控制和說明,就可以詳細(xì)、正確地報告所使用的基本計算服務(wù)情況。
如今,各類型企業(yè)都使用云計算技術(shù)在云中存儲重要數(shù)據(jù),使它們能夠通過互聯(lián)網(wǎng)從世界任何地方訪問這些存儲的信息。從計算架構(gòu)來看,面向服務(wù)和事件驅(qū)動的架構(gòu)是構(gòu)成云計算架構(gòu)的主要組合[10]。網(wǎng)絡(luò)通過有線或無線介質(zhì)連接前端和后端。計算架構(gòu)中涉及的各種組件[4]如圖2所示。
圖2 任務(wù)卸載模型Fig.2 Task offloading model
實線箭頭表示當(dāng)前可實現(xiàn)技術(shù),如:個人云層和邊緣網(wǎng)絡(luò)層可以實現(xiàn)移動電話與個人計算機(jī)的數(shù)據(jù)交換;虛線箭頭表示發(fā)展中的技術(shù),如:計算機(jī)與數(shù)字相機(jī)不能借助3種范式進(jìn)行互通互聯(lián)。
邊緣計算作為新一代的計算范式,主要模式是通過將資源分配到網(wǎng)絡(luò)邊緣更靠近各種辦公和家用電器,如移動設(shè)備、IoT設(shè)備、客戶端和客戶端傳感器等。邊緣計算的核心是物理可用性和緊密性,其中端到端延遲受Cloudlets的影響,相比云計算的帶寬更經(jīng)濟(jì)可行、適用性更高、安全性更好[11]。
邊緣計算傾向于使計算盡可能接近數(shù)據(jù)源,以減少延遲和帶寬使用。簡單地說,邊緣計算意味著在云中運行更少的進(jìn)程,并將這些進(jìn)程移動到本地,如在用戶的計算機(jī)、IoT設(shè)備或邊緣服務(wù)器上[12]。網(wǎng)絡(luò)中的邊緣計算減少了實際傳輸距離,從而減少客戶和服務(wù)器站點之間的通信開銷。
邊緣計算如今被認(rèn)為是一種最先進(jìn)的計算模式,將服務(wù)和應(yīng)用程序從已知的云環(huán)境集中到距離主要源最近的站點,并提供處理數(shù)據(jù)的計算能力,以及用于連接云和最終用戶設(shè)備的附加連接。解決或減少云計算單一云的設(shè)備數(shù)量問題的最佳方法之一是確保在特定位置增加邊緣節(jié)點[13]。
總體而言,邊緣計算服務(wù)的主要消費者是可利用計算資源受限的設(shè)備,例如可穿戴設(shè)備、健身和醫(yī)療用的跟蹤器帶或智能手機(jī)[14]。如圖2所示,典型的邊緣計算架構(gòu)包括3個重要節(jié)點:云、本地邊緣和邊緣設(shè)備[15]。局部邊緣涉及一個包含不同邊緣服務(wù)器的若干子層的結(jié)構(gòu),其計算方向自底向上。接入點(Access Points, AP)和基站(Base Stations, BS)都是位于子層的邊緣服務(wù)器[16]。這些設(shè)備用于在通信期間從各種邊緣設(shè)備獲取數(shù)據(jù),并使用多個無線接口返回控制流。
蜂窩BS從邊緣設(shè)備接收數(shù)據(jù)后,將數(shù)據(jù)傳輸?shù)轿挥谏蠈幼訉又械倪吘壏?wù)器,其上層子層主要完成操作計算工作,從BS轉(zhuǎn)發(fā)數(shù)據(jù)后,進(jìn)行基本的分析和計算。在離邊緣設(shè)備最近的邊緣服務(wù)器上,設(shè)置計算限制,以便在給定工作的難度超過它時,卸載工作并將其發(fā)送到具有足夠計算能力的上層子層。然后,邊緣服務(wù)器完成流控制鏈,并將其傳回AP,最后將其發(fā)送到邊緣設(shè)備[17]。
邊緣架構(gòu)允許將不支持高延遲的應(yīng)用程序切換到更接近計算需求者的位置,例如Augmented/Virtual/Mixed Reality(AR/VR/MR)游戲、蜂窩傳輸?shù)龋羞@些都遵循了該模式的接近驅(qū)動性質(zhì)[18]。
一般用2種方法表示邊緣和用戶設(shè)備:物理接近度和邏輯接近度。物理接近度是指數(shù)據(jù)計算的頂部段與用戶設(shè)備之間的確切距離;邏輯接近度是指邊緣計算段與用戶設(shè)備之間的跳數(shù)。由于多跳造成的長路由可能會出現(xiàn)擁塞,從而導(dǎo)致延遲問題增加。為了避免可能導(dǎo)致延遲的排隊,邏輯接近需要在計算網(wǎng)絡(luò)系統(tǒng)的回程中限制此類事件。
雖然常規(guī)云計算模式在滿足巨大計算需求方面存在不足,但考慮到其較低的能耗水平、實時性,尤其是安全和隱私方面的問題,邊緣計算暫時并不能代替云計算。同時,邊緣計算和云計算二者可以在諸多應(yīng)用場景進(jìn)行融合,例如汽車自動駕駛、工業(yè)互聯(lián)網(wǎng)和智能城市。重要的是,邊緣計算和云計算的協(xié)作為降低軟件的延遲提供了保障,例如汽車自動駕駛、公司網(wǎng)絡(luò)資產(chǎn)和IoT信息分析等。
邊緣計算通過多個參與者支持的功能來執(zhí)行。蜂窩網(wǎng)絡(luò)、藍(lán)牙、ZigBee和WiFi是通過連接端點設(shè)備和邊緣計算層節(jié)點來實現(xiàn)連接的各種技術(shù)。訪問模式確定了端點設(shè)備帶寬可用性、連接范圍和提供的各種設(shè)備類型協(xié)助[19]。
簡言之,邊緣計算隨著IoT的發(fā)展日漸受到重視,聚焦于高速、低延時的數(shù)據(jù)存儲和計算服務(wù)。在設(shè)備端接收和處理數(shù)據(jù),消除遠(yuǎn)距離帶寬傳輸延時,提升服務(wù)質(zhì)量,是對云計算的補(bǔ)充,但不會取代云計算,因為邊緣計算所處理的數(shù)據(jù)僅為近端的局部數(shù)據(jù),總體全面的數(shù)據(jù)尚需集中式云計算的整體處理。
邊緣計算模型如圖3所示。
圖3 邊緣計算模型Fig.3 Edge computing model
與云計算不同,云端的數(shù)據(jù)不僅僅由數(shù)據(jù)提供者提供,終端用戶既是數(shù)據(jù)生產(chǎn)者又是數(shù)據(jù)消費者,可以向云端發(fā)送請求得到結(jié)果,也可以接收云端的請求并返回處理結(jié)果,邊緣服務(wù)器在終端設(shè)備與云之間,靠近終端側(cè)為終端用戶提供更加快速智能的服務(wù),同時與云端相輔相成。
霧計算是一種介于云計算和邊緣計算之間的分布式共享資源管理模式。云計算由于數(shù)據(jù)傳輸距離遠(yuǎn)產(chǎn)生高延時;邊緣計算接近度太低,易受攻擊,數(shù)據(jù)安全性和隱私問題凸顯;霧計算在二者之間構(gòu)建中間層,向遠(yuǎn)端傳送整體協(xié)同數(shù)據(jù),向近端匯聚局部數(shù)據(jù)處理后返回。
霧計算服務(wù)的終端設(shè)備是所接入的網(wǎng)關(guān)或機(jī)頂盒,該基礎(chǔ)設(shè)施允許應(yīng)用程序在附近操作,以便輕松觀察活動并處理來自個人、流程或項目的大量數(shù)據(jù)。霧計算的優(yōu)勢在于自動反饋,客戶借此受益于霧計算和云計算服務(wù),如存儲、計算、應(yīng)用程序服務(wù)和數(shù)據(jù)提供。通常,云計算與霧計算可以分開討論,霧計算在距離、移動協(xié)助和密集位置共享方面更接近客戶端[20],同時可以提供云計算的分布式和對用戶透明的功能。
NIST認(rèn)為霧計算是一種分層模型,用于實現(xiàn)可擴(kuò)展計算資源的連續(xù)共享和無限制訪問。該模型有助于部署分布式、延遲感知的應(yīng)用程序和服務(wù),并由停留在智能終端設(shè)備和集中式之間的霧節(jié)點組成服務(wù)。霧節(jié)點具有上下文感知能力,可以在集群中支持通用數(shù)據(jù)管理和通信系統(tǒng)[21]。
霧計算被認(rèn)為是云計算的擴(kuò)展,因為云計算在理想情況下主要集中在一個中央計算系統(tǒng)上,發(fā)生在計算架構(gòu)層的上部,而霧負(fù)責(zé)減少邊緣層負(fù)載,特別是在入口點和資源受限的設(shè)備上[22]。
霧計算和邊緣計算通過霧設(shè)備從網(wǎng)絡(luò)端托管和執(zhí)行任務(wù),而不是使用集中式云平臺。這意味著將某些資源置于云的邊緣,而不是在云中派生使用和存儲。霧體系結(jié)構(gòu)專門選擇在靠近網(wǎng)絡(luò)的邊緣進(jìn)行通信、存儲、控制、決策和計算。在此執(zhí)行和數(shù)據(jù)存儲是為了解決當(dāng)前基礎(chǔ)設(shè)施在訪問關(guān)鍵任務(wù)和用例方面的不足,如數(shù)據(jù)密度。
霧計算系統(tǒng)的部署類似于邊緣計算,但專用于需要更高處理能力的應(yīng)用程序,同時仍然更接近用戶。這使得霧計算的設(shè)備需要一定的異構(gòu)性,同時霧計算需要在這種異構(gòu)設(shè)置中管理資源和解決問題,在仿真、資源管理、部署事項和應(yīng)用服務(wù)等相關(guān)領(lǐng)域廣泛應(yīng)用[23]。
當(dāng)前,霧計算缺乏標(biāo)準(zhǔn)化架構(gòu),也沒有具有給定標(biāo)準(zhǔn)的明確架構(gòu)。通常在霧計算上執(zhí)行的大多數(shù)研究項目架構(gòu)表示為3層模型[24],如圖4所示。
圖4 傳統(tǒng)霧計算架構(gòu)Fig.4 Traditional fog computing framework
此外,OpenFog聯(lián)盟建立了詳細(xì)的N層參考架構(gòu)[25],如圖5所示。
圖5 N層計算架構(gòu)Fig.5 N-layer computing architecture
對如圖4所示的3層模型進(jìn)行改進(jìn)。本文主要考慮3層架構(gòu)。霧計算被認(rèn)為是基于云到霧設(shè)置云計算的補(bǔ)充。實際上,它代表了一個中間層,也稱為霧層,縮小了本地終端設(shè)備和云基礎(chǔ)設(shè)施之間的差距[26],在該層中霧節(jié)點數(shù)量很大。與云模型類似,霧層也使用本地虛擬化技術(shù)??紤]到可用資源,使用基于容器的解決方案實現(xiàn)虛擬化更合適[23]?;贠penFog聯(lián)盟,霧節(jié)點被稱為“實現(xiàn)霧計算服務(wù)的物理和邏輯網(wǎng)元”。霧節(jié)點具有執(zhí)行計算、傳輸和臨時存儲數(shù)據(jù)的能力,并且位于云和最終用戶設(shè)備之間[27]。
從云計算遷移到霧計算的主要原因是計算負(fù)載,并使云計算邊緣化。各種應(yīng)用程序和IoT設(shè)計服務(wù)定義了霧計算[28],其對應(yīng)于生態(tài)系統(tǒng)中的極端異構(gòu)性,在集中式云和邊緣的不同設(shè)備之間提供服務(wù),如通過霧的最終用戶應(yīng)用程序。
霧計算模型包括了廣泛的共享式服務(wù),以提供用戶設(shè)備服務(wù)質(zhì)量[29]。在不同的環(huán)境中,霧計算的節(jié)點和傳感器在地理上是共享的,例如監(jiān)測化學(xué)反應(yīng)器、醫(yī)療系統(tǒng)、傳感器和氣候方面。通過霧計算分析,更好地提供客戶需求,更好地了解從云到IoT的整個過程中的傳輸、存儲和控制操作[30]。
與云不同,霧和邊緣計算的主要目標(biāo)在某些領(lǐng)域相似,這2種方法都致力于使云計算更接近于用戶,并為客戶提供較低延遲的服務(wù),一方面,確保高實時性的應(yīng)用程序?qū)崿F(xiàn)所需的服務(wù)質(zhì)量;另一方面,降低總體網(wǎng)絡(luò)負(fù)載[31]。不同計算范式性能對比如表1所示。
表1 不同計算范式性能對比Tab.1 Performance comparison of different computing paradigms
本節(jié)描述了構(gòu)成上述范例的基本特征,使其在方式上具有獨特性;研究了不同的計算構(gòu)架、范例特點以及對行業(yè)的益處,并討論了應(yīng)用場景。
云雖作為一種集中式架構(gòu)和IoT推動方式,但高延遲、位置敏感度低和計算時間長等缺點一直未得以解決。提出了邊緣和霧計算范例的升級技術(shù),以減輕云系統(tǒng)的負(fù)擔(dān)并解決所指出的問題,發(fā)現(xiàn)這2種計算范例有助于減少發(fā)送到云的大量數(shù)據(jù)。邊緣計算在安全和隱私方面優(yōu)于云計算。然而,由霧節(jié)點組成的霧計算范式被視為一種獨特的分布式計算架構(gòu),以便為IoT設(shè)備提供改進(jìn)服務(wù)和支持。
當(dāng)今大多數(shù)網(wǎng)絡(luò)和遠(yuǎn)程存儲數(shù)據(jù)傾向于使用云計算相關(guān)技術(shù),對云的一個特殊要求是確保服務(wù)始終一致,保持可靠性,并根據(jù)需要提供數(shù)據(jù)。云計算中安全和隱私問題主要包括機(jī)密性、數(shù)據(jù)安全、網(wǎng)絡(luò)釣魚和多租戶[32]。本節(jié)探討了云計算系統(tǒng)中與安全和隱私相關(guān)的各種威脅,并給出緩解威脅的方法。
云計算用戶根據(jù)其特定需求采用不同的分布式云模型,因此,云的安全和隱私威脅因云中托管的基礎(chǔ)設(shè)施而不同。云安全聯(lián)盟(Cloud Security Alliance, CSA)指出,常見的威脅包括信息泄露、高級別持續(xù)性威脅(Advanced Persistent Threats, APT)和拒絕服務(wù)攻擊(Denial of Service, DoS)[33]。
云基礎(chǔ)設(shè)施的安全性在很大程度上取決于已有的多層保護(hù)技術(shù)。入侵檢測系統(tǒng)(Intrusion Detection System, IDS)尤為重要,其專門用于跟蹤可疑威脅和攔截網(wǎng)絡(luò)上的潛在攻擊。此外,還可以將各種事件分離出來進(jìn)行網(wǎng)絡(luò)狀態(tài)分析。云資源和服務(wù)會遇到來自內(nèi)部或外部入侵者的不同種類的威脅和攻擊[34]。
2.1.1 云數(shù)據(jù)安全
數(shù)據(jù)安全在處理云設(shè)備并保持其運行方面發(fā)揮著重要作用。涉及到數(shù)據(jù)和云服務(wù)中心的保護(hù)和恢復(fù),傳輸或傳輸中所涉及數(shù)據(jù)必須始終受到保護(hù)。通常會選擇一種簡單而健壯的機(jī)制,以便在部署之前能夠了解云服務(wù)功能,并在建立階段能夠與云安全特性保持一致。在部署階段,云服務(wù)供應(yīng)商和云客戶的存在也發(fā)揮了一定的作用,雙方都必須滿足一定的數(shù)據(jù)安全要求[35],如服務(wù)級別協(xié)商、信息流量,尤其是數(shù)據(jù)安全等問題。首先,云服務(wù)供應(yīng)商必須保護(hù)存儲在云中的客戶數(shù)據(jù),以減少或消除安全缺陷;其次,用于加密數(shù)據(jù)的技術(shù)必須非常強(qiáng)大,以保證更好的數(shù)據(jù)安全性,并實現(xiàn)監(jiān)控其他信息訪問的身份驗證機(jī)制;最后,通過數(shù)據(jù)加密建立訪問控制,以確保只有選擇合法的員工才能訪問數(shù)據(jù)。
2.1.2 云數(shù)據(jù)隱私
隱私風(fēng)險要從多個角度考慮,如訪問控制、云系統(tǒng)、客戶和存儲信息[36]。公有云面臨更多的隱私威脅,盡管這些威脅因云模型的不同而有很大的區(qū)別。有些威脅產(chǎn)生是由于信息的擴(kuò)散、未經(jīng)授權(quán)的人的惡意使用以及客戶端被攻擊無法控制導(dǎo)致。黑客可以借助復(fù)制信息的機(jī)制,使用文件的哈希代碼訪問存儲在云中的客戶端敏感文檔[37]。了解數(shù)據(jù)隱私和其他相關(guān)隱私原則將大大有助于處理已知威脅。
大多數(shù)情況下,人們的隱私無論是有意還是無意被侵犯,未經(jīng)知情或授權(quán)訪問個人數(shù)據(jù)均被視為侵犯隱私。侵犯手段包含多種,如公開泄露、隱私攻擊、數(shù)據(jù)侵犯和其他攻擊手段。隱私泄露會造成很大的損害,可以從以下幾個方面管理隱私問題。
① 信任標(biāo)準(zhǔn):設(shè)置信任標(biāo)準(zhǔn)對消除或抵制隱私侵犯的不信任起著重要作用??蛻艨梢酝飧鞣N各樣的信任標(biāo)準(zhǔn),但其實他們希望的還是在合理的范圍內(nèi)看到最小或零侵犯隱私的情況[38]。
② 訪問控制:云系統(tǒng)本身存在大量安全問題,未經(jīng)授權(quán)的個人或組織就可以獲得訪問權(quán)限??梢酝ㄟ^回答問題來獲取訪問權(quán)限,通過建立管理策略、對多域進(jìn)行檢查以及提供強(qiáng)大的管理密鑰來解決訪問控制問題。
③ 數(shù)據(jù)加密:需要足夠強(qiáng)大,以保證客戶文件的隱私。數(shù)據(jù)加密不足會對云隱私構(gòu)成嚴(yán)重威脅[39]。
節(jié)點數(shù)量的增長導(dǎo)致云計算的性能大幅下降,邊緣計算提供了一個重大的范式轉(zhuǎn)變。邊緣計算被視為一種新型云計算,可以在共享計算中承載具有新技術(shù)能力的應(yīng)用程序,在需要時執(zhí)行信息處理時無需再將數(shù)據(jù)傳輸?shù)皆?。直接在分布式設(shè)備的節(jié)點上進(jìn)行計算,當(dāng)數(shù)據(jù)在接近用戶的地方處理時,縮短了響應(yīng)時間,用戶體驗更好。
5G網(wǎng)絡(luò)日漸普及[40],作為5G網(wǎng)絡(luò)的一部分,邊緣計算發(fā)揮著樞紐的作用,這對于資源受限的小型設(shè)備及其交互方式至關(guān)重要。邊緣計算顯示了與不同設(shè)備和多個交叉連接網(wǎng)絡(luò)的關(guān)系。在邊緣計算中,盡管節(jié)點上的信息處理提供了一定的安全和隱私保護(hù),但由于邊緣計算架構(gòu)的去中心化設(shè)計,極有可能出現(xiàn)即時威脅和攻擊。邊緣計算的結(jié)構(gòu)不能充分支持保護(hù)信息的機(jī)制,這意味著網(wǎng)絡(luò)上該邊緣節(jié)點的復(fù)雜性使得數(shù)據(jù)易于暴露,難以保護(hù)。
盡管邊緣計算技術(shù)在不斷發(fā)展,但其安全性和隱私性的發(fā)展仍然是一個持續(xù)的過程,全球研究人員一直致力于開展相關(guān)工作,以制定對策,提高邊緣系統(tǒng)的安全性和隱私性。使用不同的簡單移動邊緣計算方法進(jìn)行安全檢查,提出整體的安全和保護(hù)方案以及研究工作的建議。本文將涉及邊緣計算信息安全和隱私的問題分為4個獨立部分[41]:訪問控制、身份驗證、信息安全和隱私保護(hù)。本文更多地關(guān)注信息安全和隱私保護(hù)。
2.2.1 邊緣數(shù)據(jù)安全
目前,邊緣計算安全性和隱私方面的工作具有挑戰(zhàn)性。邊緣系統(tǒng)信息安全的主要目的是通過創(chuàng)建一個具有穩(wěn)定操作系統(tǒng)的共享模型來安全地移動數(shù)據(jù)和減輕負(fù)載,為最終用戶和遠(yuǎn)程節(jié)點開發(fā)了可接受的共享信息安全性和輕量級設(shè)計。
此外,應(yīng)履行保護(hù)客戶機(jī)密和維護(hù)客戶信任的責(zé)任,例如一個由許多IoT設(shè)備建造的數(shù)字化建筑,由于其產(chǎn)生大量個人數(shù)據(jù),可能成為主要目標(biāo)[42]。因此,保護(hù)客戶隱私并獲得客戶信任的方法是確保數(shù)據(jù)處理發(fā)生在建筑物的邊緣網(wǎng)絡(luò)或節(jié)點[43]。除了上述內(nèi)容,還應(yīng)該考慮邊緣特定元素。
① 保密性:在移動客戶端使用移動應(yīng)用程序服務(wù)的情況下,保密性要求較高,因此,一些客戶很難決定是否使用該應(yīng)用。Du等[44]列舉了與邊緣計算保密性相關(guān)的缺點,介紹了服務(wù)提供商未經(jīng)許可獲取機(jī)密信息所帶來的風(fēng)險。數(shù)據(jù)傳輸過程發(fā)生在分布式或非安全網(wǎng)絡(luò)中,隨后在邊緣分布式網(wǎng)絡(luò)中存儲和處理,數(shù)據(jù)安全性將不斷遭到破壞。當(dāng)前工作主要是對機(jī)密性的項目訪問進(jìn)行限制[45]。
② 檢測攻擊:邊緣節(jié)點周圍環(huán)境復(fù)雜,安全保障不足,面臨威脅。當(dāng)來自一個邊緣節(jié)點的威脅管理不當(dāng)并且可能隨后擴(kuò)展到另一個邊緣節(jié)點時,邊緣系統(tǒng)的性能可能會受到嚴(yán)重阻礙。由于跨越邊緣節(jié)點威脅的路徑較長,很難找到快速解決方案。此外,尋找檢測攻擊的基本原因會增加成本,后續(xù)恢復(fù)也可能需要一段時間[46]。因此,必須進(jìn)行定期檢查,以檢測任何潛在或即將發(fā)生的攻擊。
2.2.2 邊緣數(shù)據(jù)隱私
與其他保護(hù)信息的計算模式不同,邊緣信息中心、服務(wù)、基礎(chǔ)設(shè)施供應(yīng)商,甚至某些客戶都存在潛在的漏洞,對此,保護(hù)客戶個人信息安全尤為重要[47]。
① 數(shù)據(jù)隱私保護(hù):在邊緣節(jié)點,屬于客戶的大量數(shù)據(jù)從應(yīng)用程序和其他用戶的設(shè)備中檢索,然后對收集到的信息進(jìn)行處理和分析。盡管邊緣計算節(jié)點是可靠的,但仍然顯示出一定程度的漏洞。因此,信息隱私保護(hù)對于避免邊緣計算節(jié)點的泄漏非常重要[48]。
② 身份隱私:身份隱私保護(hù)是組織甚至個人客戶的主要關(guān)注點。相比云系統(tǒng),特別是移動云,邊緣模型在保護(hù)客戶身份方面尚缺乏重視[49]。
③ 位置隱私:當(dāng)客戶端想要使用邊緣計算中的服務(wù)時,首先要獲得訪問權(quán)限,客戶端必須按照服務(wù)提供商的要求提供他們的位置。但當(dāng)數(shù)據(jù)泄漏時很可能也會泄漏位置,為此在社交網(wǎng)絡(luò)平臺的移動模型中,提出了位置隱私保護(hù)的動態(tài)分布性[50],該模型可以在一定的社會互動范圍內(nèi)對信任度低的訪問者進(jìn)行分類。通過在單個存儲系統(tǒng)中劃分客戶的數(shù)據(jù)位置,即使攻擊者設(shè)法破壞了存儲設(shè)施,也不會構(gòu)成重大威脅,因為客戶端的身份不會被泄漏。
霧計算模式幫助云范式和邊緣范式提高計算能力、安全性和隱私性[51],是目前領(lǐng)先和受推薦的計算服務(wù)。霧設(shè)備被認(rèn)為是獨立的分布式設(shè)備,包含網(wǎng)關(guān)、路由器、交換機(jī)或傳統(tǒng)服務(wù)器[52]。此外,在當(dāng)前大規(guī)模減排的需求下,霧計算被稱為具有可持續(xù)性和巨大安全效益的智能綠色平臺。許多霧節(jié)點被視為可更新的,其地理位置分布在不同區(qū)域。不同的霧節(jié)點獨立工作,但通過計算范式,使得信息中心在計算過程中承受的壓力大大降低。
霧計算能夠交叉連接每個數(shù)字設(shè)備、無線端點和本地設(shè)備。這種相互連接很容易受到安全隱私侵犯,比如泄露客戶的數(shù)據(jù)位置、泄露機(jī)密文件和竊取私人賬戶。
邊緣計算中的每一個單元都獨立運行,以確保信息不會被轉(zhuǎn)發(fā)到云,而是在本地處理。霧計算可以擴(kuò)展邊緣節(jié)點中沒有輔助的云服務(wù),例如基礎(chǔ)設(shè)施即服務(wù)、軟件即服務(wù)和平臺即服務(wù)。
2.3.1 霧數(shù)據(jù)安全
一些攻擊通常會威脅個人和政企單位,為了對相關(guān)數(shù)據(jù)提供保護(hù),提出了開發(fā)威脅情報平臺(Threat Intelligence Platform, TIP)[53]。數(shù)據(jù)安全是工業(yè)部門最優(yōu)先考慮的方面,尤其是信息必須得到保護(hù)。部署智能設(shè)備和傳感器設(shè)備,可廣泛減少威脅和安全攻擊。
針對醫(yī)療領(lǐng)域,患者個人健康史涉及到機(jī)密信息。已知霧架構(gòu)包含多個霧節(jié)點,這些節(jié)點可能存在漏洞。霧系統(tǒng)通過電纜或無線網(wǎng)絡(luò)持續(xù)接收來自醫(yī)療設(shè)備傳感器的信息,篡改患者的個人數(shù)據(jù)、完整性和設(shè)備可用性是顯而易見的。根據(jù)在無線網(wǎng)絡(luò)中發(fā)現(xiàn)的漏洞,可以很容易通過DoS等方式進(jìn)行攻擊。由于缺乏適當(dāng)?shù)目蚣軄砜刂茖F節(jié)點的訪問,帳戶盜竊、未經(jīng)允許的訪問以及一些不安全通道,都可能造成信息的泄漏。通過深入的分析和嚴(yán)格的規(guī)則來建立標(biāo)準(zhǔn)的控制機(jī)制,如個人系統(tǒng)、選擇性加密和重復(fù)認(rèn)證,可以緩解上述問題[54]。
綜上,霧計算提供了類似邊緣計算的挑戰(zhàn),同時將這些挑戰(zhàn)與分散和分布式環(huán)境連接起來。
2.3.2 霧數(shù)據(jù)隱私保護(hù)
保護(hù)個人和企業(yè)的隱私通常是霧計算面臨的主要安全問題。當(dāng)霧節(jié)點位于個人附近時,有助于收集重要信息,但由于霧節(jié)點的分布式特性,很難保持集中監(jiān)控。
在傳輸過程中,當(dāng)霧節(jié)點的安全狀況不佳時,攻擊者可以很容易地獲得訪問權(quán)限,竊取關(guān)鍵信息。隱私泄漏經(jīng)常發(fā)生,即使用戶從未按照規(guī)定發(fā)布他們的個人信息??蛻綦[私主要包括以下4個方面:數(shù)據(jù)隱私、位置隱私、身份隱私和使用隱私[55]。
下面介紹每個范式面臨的主要挑戰(zhàn),各計算范式安全問題如圖6 所示,并根據(jù)開放系統(tǒng)互聯(lián)(Open System Interconnection,OSI)模型比較3種范式的挑戰(zhàn)并給出建議對策。
圖6 3種計算范式安全問題Fig.6 Security issues of three computing paradigms
數(shù)據(jù)丟失、隱私泄漏、多租戶、管理平臺的非法訪問和互聯(lián)網(wǎng)協(xié)議是云計算所面臨的主要挑戰(zhàn)[56]。上述挑戰(zhàn)為潛在攻擊提供空間,讓網(wǎng)絡(luò)犯罪分子獲得訪問控制,允許訪問未經(jīng)授權(quán)的服務(wù),使云計算面臨著巨大的威脅,從而直接或間接地影響業(yè)務(wù)。下面將詳細(xì)介紹不同的云計算問題[57]。
① 多租戶用于為不同客戶和組織提供服務(wù),這些客戶和組織在體系結(jié)構(gòu)設(shè)計中使用在SaaS供應(yīng)商的服務(wù)器上運行的特定軟件。在SaaS模型中,由于客戶轉(zhuǎn)向使用云服務(wù)供應(yīng)商制造的多租戶應(yīng)用程序,因此存在很高的漏洞風(fēng)險。云供應(yīng)商經(jīng)常使用管理資源和調(diào)度工作[58],但硬件是完全通過云服務(wù)供應(yīng)商的虛擬化實現(xiàn)的。根據(jù)沙箱的獨立性,可以認(rèn)為與客戶共享硬件是安全的。當(dāng)沙箱系統(tǒng)存在安全問題時,網(wǎng)絡(luò)犯罪分子可以訪問主機(jī)[59]。因此推薦使用虛擬化軟件,以顯示云安全中的最新漏洞。
② 數(shù)據(jù)完整性:云中的數(shù)據(jù)完整性在很大程度上受安全方面的重視,要求具有訪問權(quán)的對象才能對數(shù)據(jù)請求做出回復(fù)。建立一個通用的基本數(shù)據(jù)完整性標(biāo)準(zhǔn)十分重要,但當(dāng)前標(biāo)準(zhǔn)還不夠完善,缺乏統(tǒng)一的數(shù)據(jù)標(biāo)準(zhǔn)。信任是客戶希望在計算方面展示的眾多企業(yè)價值之一,目前很多公司都遇到信任問題,很大程度影響了公司對數(shù)據(jù)的處理[60]。
③ 未經(jīng)授權(quán)的訪問:對管理平臺和資源的未經(jīng)授權(quán)的訪問是云計算的漏洞之一。由于云服務(wù)中經(jīng)常涉及到共享技術(shù),從而導(dǎo)致用戶信息有暴露的風(fēng)險。為緩解該問題引入訪問控制,有助于保護(hù)客戶端的個人信息及其隱私域[61]。值得注意的是,由于采用的是單一風(fēng)格的認(rèn)證模型,且使用的認(rèn)證機(jī)制不強(qiáng),攻擊者可以簡單地對云服務(wù)系統(tǒng)進(jìn)行未經(jīng)授權(quán)的訪問[62]。
④ 數(shù)據(jù)丟失和泄漏:云服務(wù)的低成本促進(jìn)越來越多的客戶使用云服務(wù),伴隨著云的高流量和使用,數(shù)據(jù)泄漏或丟失的風(fēng)險增加。云服務(wù)的漏洞和威脅不可避免,對個人和企業(yè)構(gòu)成了巨大的安全威脅。如果由于缺乏備份系統(tǒng)而意外地從云中刪除文件,用戶無法進(jìn)行檢索和恢復(fù)數(shù)據(jù)操作[63]。
⑤ 惡意內(nèi)部人員:每個企業(yè)在招聘政策和員工信息方面都有不同的規(guī)章制度,部分員工擁有更高的權(quán)限,可以在公司內(nèi)部訪問某些重要數(shù)據(jù)。CSA在通用數(shù)據(jù)安全和管理活動標(biāo)準(zhǔn)中實施透明度要求,概述安全故障期間的通知程序,同時將服務(wù)水平協(xié)議(Service Level Agreement, SLA)作為人力資源需求,最后在供應(yīng)鏈管理中建立并實施嚴(yán)格的規(guī)則[63]。
有惡意動機(jī)的人為云服務(wù)供應(yīng)商工作,當(dāng)他們能夠不受阻礙地訪問敏感信息時,特別是當(dāng)云服務(wù)供應(yīng)商不能嚴(yán)格監(jiān)控其工作人員時,他們大概率會參與惡性事件。
⑥ 身份盜竊:一些攻擊者會通過偽裝以竊取受害者的不同數(shù)據(jù)而進(jìn)行網(wǎng)絡(luò)釣魚攻擊,受害者會因為密碼弱安全性而遭受攻擊。身份盜竊是通過惡意手段獲取個人和公司的敏感數(shù)據(jù)信息。
⑦ 中間人攻擊 (Man-in-the-Middle Attack, MITM):在數(shù)據(jù)從一端傳送至另一端或在不同系統(tǒng)之間傳送的過程中,網(wǎng)絡(luò)攻擊者可以很容易地獲得訪問權(quán),從而控制機(jī)密數(shù)據(jù)。當(dāng)由于配置不充分而導(dǎo)致加密套接字協(xié)議層 (Secure Socket Layer, SSL)不安全時,很容易發(fā)生這種情況。在實體之間進(jìn)行有效的SSL配置和數(shù)據(jù)分析可以大大地降低中間人攻擊者造成的威脅[64]。
⑧ DoS攻擊:限制或阻止服務(wù)的執(zhí)行和訪問所需的數(shù)據(jù),會造成用戶部分或完全缺乏服務(wù)可用。即便是合法用戶使用云訪問數(shù)據(jù)服務(wù)器或訪問數(shù)據(jù)也會被拒絕,攻擊者通過高頻的請求不斷地阻塞服務(wù)器,目標(biāo)服務(wù)器將無法響應(yīng)該用戶的訪問請求[65]。
⑨ 釣魚攻擊:是常見的攻擊之一,攻擊者通過將受害者引向惡意鏈接來冒充他們,再通過云服務(wù)隱藏他們的云主機(jī),這些主機(jī)使用網(wǎng)絡(luò)釣魚方式使用云服務(wù)的客戶賬戶。網(wǎng)絡(luò)釣魚可以分為2類威脅:攻擊者利用云服務(wù)托管網(wǎng)站進(jìn)行釣魚攻擊;云計算服務(wù)及其帳戶被劫持[66]。
邊緣計算也為用戶提供存儲、數(shù)據(jù)處理等服務(wù),但仍然面臨著巨大的安全和隱私挑戰(zhàn),主要包括如下幾個方面。
① 數(shù)據(jù)注入:當(dāng)服務(wù)器敏感時,攻擊者可以通過將危險數(shù)據(jù)注入設(shè)備導(dǎo)致中毒。利用偽造的數(shù)據(jù)發(fā)送欺騙消息,使目標(biāo)節(jié)點受到損害,被稱為外部偽造,例如,在現(xiàn)代數(shù)字工業(yè)生產(chǎn)線中,攻擊者發(fā)送了虛假的機(jī)器讀數(shù),造成嚴(yán)重的功能變化損害設(shè)備[41]。
② 竊聽:攻擊者在網(wǎng)絡(luò)傳輸過程中屏蔽自己并觀察網(wǎng)絡(luò)流量,非法獲取數(shù)據(jù)。很難檢測出這種類型的攻擊,因為攻擊者恰好隱藏在平臺內(nèi)部[67]。
③ 隱私泄露:缺乏對邊緣節(jié)點的嚴(yán)格訪問控制,很容易導(dǎo)致數(shù)據(jù)隱私被篡改。位于邊緣附近的設(shè)備生成的數(shù)據(jù)在邊緣架構(gòu)中存儲和處理,對邊緣架構(gòu)進(jìn)行分類的用戶可能會泄漏信息[68]。
④ 分布式DoS:攻擊者利用網(wǎng)絡(luò)協(xié)議漏洞對節(jié)點發(fā)起攻擊,破壞網(wǎng)絡(luò)限制資源訪問和服務(wù)提供。攻擊者通過向服務(wù)器加載大量數(shù)據(jù)包,干擾服務(wù)器的帶寬來關(guān)閉通道,從而實現(xiàn)這類攻擊[41]。
⑤ 權(quán)限和訪問控制:未經(jīng)授權(quán)的訪問也是邊緣計算的主要挑戰(zhàn)之一。在授權(quán)個人或員工訪問系統(tǒng)中機(jī)密數(shù)據(jù)權(quán)限之前,需要對他們進(jìn)行身份確認(rèn)。通過訪問控制協(xié)議的建立,當(dāng)實施訪問控制措施和許可時,可以認(rèn)為多個設(shè)備和其他服務(wù)之間的連接是安全的[69]。
云計算研究對其安全性和隱私威脅的方法并不適用于霧計算,因為在網(wǎng)絡(luò)邊緣的霧實體活躍存在,霧實體運行的鄰近區(qū)域?qū)⒚媾R各種威脅。
① 信任問題:由于相互信任的需求和網(wǎng)絡(luò)的分布式特性,霧系統(tǒng)面臨著信任設(shè)計的挑戰(zhàn)。與云計算不同,云系統(tǒng)已經(jīng)包含了預(yù)先設(shè)計的安全模型,這些模型滿足工業(yè)安全需求,在云系統(tǒng)內(nèi)授予客戶和企業(yè)信任措施。然而,霧計算網(wǎng)絡(luò)更容易暴露,更容易受到安全和隱私攻擊。盡管可以將相同的安全機(jī)制部署到組成霧計算網(wǎng)絡(luò)的每個霧節(jié)點上,但分布式設(shè)計也使得解決信任問題具有挑戰(zhàn)性[15]。
② 惡意軟件攻擊:通過病毒、間諜軟件、木馬或勒索軟件竊取敏感數(shù)據(jù),破壞機(jī)密信息,甚至拒絕服務(wù)。為此,引入了用于病毒檢測和高級反惡意軟件的真實防御機(jī)制[70]。
③ 數(shù)據(jù)計算處理:霧節(jié)點接收從終端用戶設(shè)備收集的數(shù)據(jù),處理后發(fā)送到云系統(tǒng)。經(jīng)過各種流程,最終用戶發(fā)送到云系統(tǒng)的數(shù)據(jù)和從霧節(jié)點發(fā)送到云的數(shù)據(jù)是不同的。此外,如果供應(yīng)商擁有這些霧節(jié)點,由于數(shù)據(jù)處理后會產(chǎn)生許多安全和隱私方面的缺點,使得難以被信任[71]。
④ 節(jié)點攻擊:攻擊者通過物理攻擊來捕獲易受攻擊的節(jié)點,嚴(yán)重情況下,攻擊者可以改變整個節(jié)點,造成硬件缺陷,或通過數(shù)字發(fā)送消息從霧節(jié)點竊取敏感信息,并引起傳感器節(jié)點對機(jī)密數(shù)據(jù)的失真[70]。
⑤ 隱私保護(hù):使用云服務(wù)供應(yīng)商、IoT和無線系統(tǒng)的用戶面臨著個人信息數(shù)據(jù)泄露問題。在霧網(wǎng)絡(luò)中,由于霧節(jié)點和用戶距離較近,這類隱私很容易就被忽視,當(dāng)霧節(jié)點之間的通信變得頻繁時,就可能產(chǎn)生隱私泄露問題[55]。
漏洞、威脅或安全攻擊會因為范式的不同而不同,并且不存在解決各種安全問題的具體方法。因此,需要結(jié)合多種設(shè)計模型來創(chuàng)建可靠的多層防御模型以保護(hù)3種計算系統(tǒng)[72]。根據(jù)指定的OSI網(wǎng)絡(luò)模型詳細(xì)比較了3種范式的安全問題,并給出解決方案,如表2所示[17,24,42,54,73-95]。
表2 范式的不同攻擊方式和建議對策Tab.2 Different attacks for paradigms and suggested countermeasures
上述內(nèi)容中,終端設(shè)備并不涉及任何已建立的安全措施,數(shù)據(jù)在傳輸過程中很可能存在安全漏洞。為了防止數(shù)據(jù)泄漏給不法分子,建議使用加密技術(shù)對數(shù)據(jù)進(jìn)行加密。但伴隨著加密所需的額外計算開銷,會造成一定的延時。
任何系統(tǒng)中的漏洞都可能授予攻擊者部分或全部訪問權(quán)限,進(jìn)而造成嚴(yán)重的傷害和損失。如果數(shù)據(jù)被破壞,可能會暴露個人或組織的關(guān)鍵信息,可能導(dǎo)致整個網(wǎng)絡(luò)的嚴(yán)重故障并造成中斷??梢酝ㄟ^漏洞檢測工具和漏洞挖掘方法準(zhǔn)確地發(fā)現(xiàn)潛在漏洞,針對各個漏洞設(shè)計特定方案來應(yīng)對其威脅和攻擊。
隨著云計算技術(shù)的快速發(fā)展和廣泛應(yīng)用,數(shù)據(jù)量劇增而導(dǎo)致的高延遲和安全風(fēng)險,邊緣計算和霧計算應(yīng)運而生,用以消除遠(yuǎn)距離帶寬傳輸延時,提升服務(wù)品質(zhì)。但又伴隨著邊緣節(jié)點和霧節(jié)點的安全和隱私問題。本文全面介紹和分析了云計算、邊緣計算和霧計算3種模式,并逐一歸納基于安全和隱私方面的相似性、差異性、攻擊方式和建議對策。
針對多種計算模式的混合應(yīng)用、整體協(xié)同工作將是未來云計算領(lǐng)域值得研究的內(nèi)容,同時未來的研究還包括提出新的技術(shù)和機(jī)制,以適應(yīng)霧計算的特性和可能的跨平臺對策工具。