朱敏
(江蘇航運職業技術學院智能制造與信息學院,江蘇 南通226010)
迅速發展的物聯網技術,使得人們能夠利用各種各樣的智能終端設備服務于工作和生活。數目龐大的智能設備產生了大量的數據,也產生了大量的數據存儲和數據處理需求。我們一般使用云計算來存儲和處理這些數據。然而指數級的數據增長使得云計算這種中心化的處理方式難以滿足用戶的需要。為解決這些問題,霧計算被引入進來,它可以在本地處理大多數任務,而不是在終端設備或云平臺上處理它們。
霧計算是一種擴展的云計算模式,在終端設備與傳統的云平臺之間提供計算、存儲和網絡服務。最早由思科公司提出,包含三個層次,即物聯網終端層、霧層和云層。如圖1 所示。終端層包含了大量的傳感器和終端設備,它們負責數據的收集,并把這些數據發送到霧層的霧設備中。霧設備處理接收到的數據,并把結果發送到云層。
霧計算最主要的特點是創造了一個巨大的虛擬化平臺,利用閑置的資源為客戶提供多樣化的計算、存儲和網絡服務。此外,霧計算還具有支持地理分布、位置感知、低延遲、異質性、去中心化、服務質量可感知的物聯網應用支持、移動性支持、與云計算的互動、情境感知、在線分析、無線接入的優勢、靠近終端用戶、節省存儲空間、更高的可擴展性、節省帶寬、實時互動、數據安全和隱私保護、低能耗等特性[1]。

圖1 霧計算架構
霧計算把云計算的相關能力擴展到網絡邊緣,在云計算框架下,大大降低了服務延遲。并且為不同的應用服務提供商和企業提供無縫的集成化服務。然而,采用霧計算架構會面臨很多復雜的安全方面的威脅與挑戰,可以把它們分為兩大類:安全問題和隱私問題,如圖2 所示。安全問題包括無線網絡安全、認證和信任、訪問控制,以及入侵檢測等方面。霧計算采用了多種不同的技術來構建網絡,因而也容易受到各種不同的攻擊,如中間人攻擊、拒絕服務攻擊、分布式拒絕服務攻擊和無線干擾等。虛擬機(VM)跳轉和竊聽攻擊也是針對霧計算平臺中所使用的虛擬化技術的常用攻擊手段。
對諸如個人數據和位置等的隱私信息的保護是霧計算架構下需要面對的另一個重要問題。由于與終端設備的地理位置非常接近,像信用卡號、個人郵箱等一類的敏感信息容易成為攻擊的目標。一些基于地理位置的服務需要共享用戶的位置信息,這也是容易暴露個人隱私的薄弱環節[2]。

圖2 霧計算安全威脅與挑戰
信任管理是一種在實體與實體之間建立信任關系的機制。目前常見的信任管理模型,采用量化的方法收集、存儲實體的信息,得出該實體的信任值。通過信任值來判定網絡中實體的可信程度,實體與實體之間通過發送信任值來傳遞信任。這種管理方式能夠很好地提高網絡的安全性和健壯性。
在霧計算環境中,霧節點負責為終端用戶提供可靠和安全的服務。這需要各種設備之間要有一定的信任度。由于霧平臺與云平臺的架構及服務機制的不同,霧平臺的信任管理機制也與云平臺迥異。霧計算平臺是廣泛的分布式的,而云計算平臺則是集中式的。云計算環境下的信任管理相對比較容易部署,因為它有自己的安全基礎設施。而霧計算平臺則有更高的開放性,也沒有自己的安全基礎設施,所以它更脆弱,更容易受到惡意的攻擊。在云計算環境下的信任管理是單向的,而在霧計算環境下信任管理必須是雙向的,霧節點與終端設備之間必須先要維護一種相互的信任關系,才能進行信息的交流。
這些顯著的差異決定了霧計算環境下的信任管理有它自身的特點。首先,這種信任是動態的,因為在霧計算環境下,頻繁的有設備的加入或者設備的退出,網絡的拓撲結構處于持續的變化之中,網絡中的設備很可能會偏離它們以前的行為,因此,信任應該持續地加以監控。其次,這種信任是個性化的。霧計算網絡是由各種各樣的對象與設備構成的,設備與設備、對象與對象之間的安全需求也是多種多樣的,對不同的對象使用不同類型的安全策略是很必要的。第三,這種信任是不對稱的。如果設備A 信任設備B,并不意味著設備B 可以信任設備A。第四,這種信任是語境依賴的。在霧計算環境下,上下文語境是非常重要的。例如一個霧設備可能在完成某一任務時選擇信任某一終端設備。而在另一個任務中,對同一終端設備,它可能會選擇不信任。
目前常見的信任模型有以下幾種:
基于信譽的信任模型。這種模型廣泛應用于諸如電子商務、社交媒體、用戶評價等等的對等網絡中。然而由于這種模型拘泥于一般的觀點,所以把它推廣到動態性較高的霧計算平臺并不合適。
基于合理性的信任模型。Soleymani 等人[3]提出了一種經驗性的、基于可信度的模糊信任模型,用于保障車聯網的安全。確保車聯網應用的完整性與可靠性是非常重要的,通過安全的信任模型建立信任關系,可以解決車聯網環境下由有害信息引起的危險和不確定因素。
可信執行環境(TEE)模型。可信執行環境是一個與外界隔離的環境。一個相對獨立的區域,可以保證內部操作的可信度以及代碼與數據的完整性。
安全元素(SE)模型。安全元素可以安全地存儲敏感信息,并在微處理器芯片中運行應用程序,從而能夠保護數據和應用免受惡意軟件的攻擊。
可信平臺模塊(TPM)模型。可信平臺模塊中存儲著主機識別密鑰對,在特殊的芯片內對硬件進行認證。芯片內的數據軟件無法訪問。
霧計算對任何非法實體都是脆弱的,因此在霧計算中采用一種安全高效的信任模型顯得尤其重要,而且是一個迫切需要解決的問題。然而對這一問題的研究還很有限,目前很多的研究集中在云計算領域,霧計算領域針對性強的信任模型是今后一個重要的研究方向。
不安全的身份鑒別機制會給霧平臺帶來巨大的安全隱患。物聯網終端設備很容易遭受數據篡改和欺騙等攻擊。一些針對霧節點為的隱密的中間人攻擊,在內存和CPU 占用方面幾乎沒有可覺察的變化,很難被檢測和消除。然而,如果在霧節點與終端設備之間實施安全的身份鑒別方案,這些風險是能夠避免的。
身份鑒別對霧計算的安全性至關重要。通過身份鑒別可以確保只有合法用戶才能夠使用霧節點的服務。目前已經有多種傳統的身份鑒別技術,各自有其優點的同時也有其不足之處。
基于密碼的身份鑒別:在基于密碼的身份鑒別中,終端用戶在取得服務前需要先輸入密碼。這種方式經常被用在云計算中。但把它推廣到霧計算存在一些限制。首先,它需要較強的計算能力,而霧網絡中的終端設備的計算資源是很有限的。其次,在霧網絡中,終端用戶需要與許許多多不同的霧節點通信,為每一個霧節點設置不同的密碼是很不方便的,而對所有的霧節點使用相同的密碼又是不安全的。而且,一般而言,密碼方式不能提供高度的保密性,比如,它容易受到離線字典攻擊。
基于公鑰體制的身份鑒別:公鑰體制通過提供證書和密鑰來建立安全可靠的網絡環境,公鑰體制提供了機密性、身份鑒別、完整性和不可否認性,且易于使用。然而傳統的基于公鑰體制的身份鑒別技術在霧計算環境下的可擴展性很差。對于數量龐大的霧節點和終端設備,公鑰的分發需要很大的計算開銷。同時,私鑰的保存也是個重要的安全問題,一旦私鑰泄漏,整個系統安全就被破壞了。
生物特征認證:目前常見的生物特征認證技術有指紋,虹膜,語音識別,人臉識別等。生物特征認證是一種相對較新的技術,但指紋識別,人臉識別等技術已經在移動計算中迅速部署了。生物特征認證技術也有其不足之處,在系統需要的安全等級較高時,生物特征認證技術無法提供足夠的安全性。把生物特征認證技術應用到霧計算環境下是一種不錯的解決方案,但仍需要進一步的完善。
訪問控制已成為確保系統安全、保護用戶隱私的可靠工具。在訪問控制系統下,用戶必須要有合法的憑據,系統才能授予他訪問的權限。常見的訪問控制模型有以下幾種。
訪問控制列表(ACL):訪問控制列表就是用列表的形式來維護某個用戶對某種資源的訪問權限。
自主訪問控制(DAC):資源的擁有者可以將其擁有的權限分配給其他用戶。
強制訪問控制(MAC):所有的訪問控制策略都由系統管理員來制定,用戶無法改變。強制訪問控制一般會給用戶和資源進行分級。
基于角色的訪問控制(RBAC):和訪問控制列表的結構類似,只不過把人和權限的關系變成了角色和權限的關系。
基于屬性的訪問控制(ABAC):基于任意的屬性組合來達到訪問控制的目的,它是一種新的訪問控制模型,是最靈活,也是最復雜的訪問控制模型。
基于屬性的加密(ABE):這是一種看屬性集合與策略是否相匹配的一種公鑰加密方法。可分成兩種類型。一種叫密鑰策略ABE,另一種叫密文策略ABE。前者將策略嵌入到用戶密鑰中,后者將策略嵌入到密文中。兩者的應用場景各有不同。霧計算是云計算的延伸,是一個動態的環境,原來云計算的訪問控制模式并不能直接滿足霧計算的需求。研究者發現[4]基于屬性的加密模型能夠比較好的適用于霧計算的環境,但仍然需要在諸如密碼強制執行、延遲和策略管理等問題上作進一步的研究和改進。而且在訪問策略的管理方面要支持用戶屬性的創建、更新和撤銷等操作,以與霧計算環境的動態性相適應。
在霧計算環境下,人們在使用物聯網終端設備,無線網絡或者云服務時,常常面臨私人信息的泄露問題,如數據信息、位置信息、使用信息等等。與處在遠端的云計算相比,霧計算的用戶都在位置上接近霧節點,對個人隱私的泄露更加敏感。要求加強隱私保護的需求更為迫切。隱私信息主要有以下幾類:
數據隱私:在霧計算網絡中,隱私保護算法運行在霧平臺與云平臺之間的區域,而這些算法在資源受到限制的終端設備上無法運行。處于邊緣的霧節點能很容易收集到傳感器和終端設備生成的敏感數據。同態加密等等的一類技術可以利用來保護這些數據的隱私。差分隱私也是一種有用的技術,當對統計數據庫查詢時,它可以保護數據庫中每個數據條目的隱私信息。
使用隱私:另一個隱私問題是用戶使用霧計算服務時的使用模式隱私。如在智能家居的物聯網應用中,傳感器發出的信息會泄露家中何時有人何時沒人,何時打開電視,何時上網等等的隱私信息。霧節點能夠輕易收集到用戶使用情況的統計信息。為保護使用隱私,一種方法是霧客戶端創建虛擬任務并將其卸載到多個霧節點,將真實任務隱藏到多個霧節點中。這種方法的缺點是增加了用戶開銷,浪費資源與能量。另一種方法是對應用程序進行智能分區,以確保任務卸載時不會暴露隱私信息。
位置隱私:在霧計算環境下,終端用戶的任務通常會被卸載到地理位置最鄰近的霧節點,這就暴露了他的位置隱私。保護位置隱私的方法是身份混淆。這樣即使霧節點知道有終端客戶在附近,也無法識別他。實現身份混淆的方法有多種。例如,可以使用一個可信的第三方為每一個終端用戶生成偽身份識別碼。實際上,終端用戶不應當每次選擇最鄰近的霧節點,也可以使用其他的標準,如延遲、信譽、負載均衡等,來選擇合適的霧節點。從而也可以起到保護位置隱私的作用。
本文討論了霧計算的安全與隱私問題。與集中化的云計算的安全性相比,具有分布式特性的霧計算面臨更多更復雜的安全問題。我們從信任管理、身份鑒別、訪問控制和隱私保護等幾個方面分析和研究了針對霧計算安全問題的解決方法,它們仍然面臨的挑戰性問題,以及在未來需要重點關注的研究方向。