李曉偉 陳本輝 楊鄧奇 伍高飛
1(大理大學數學與計算機學院 云南大理 671003)
2(廣西密碼學與信息安全重點實驗室(桂林電子科技大學) 廣西桂林 541000)
3(西安電子科技大學網絡空間安全學院 西安 710071)
(lixiaowei_xidian@163.com)
物聯網的快速發展和應用使得終端數據呈現海量增長趨勢.數據集中傳輸到云端處理的方式逐漸產生弊端.一方面這樣的方式不能滿足需要快速實時處理數據的應用場景,如當出現緊急事故時應該立即啟動應急響應措施,而不是再經過云中心處理;另一方面對于涉及用戶隱私的數據傳輸到云中心處理會存在隱私泄露的風險,如攝像頭采集的用戶圖像數據必須傳輸到云中心才能處理則有可能泄露用戶隱私.
邊緣計算從某種程度上解決了上述問題[1].邊緣計算是指數據的計算、存儲以及應用可以在數據源頭的網絡邊緣處完成,而無需傳輸到云中心.邊緣計算大大減輕了云中心數據處理以及網絡傳輸瓶頸.在設備邊緣處理用戶隱私數據也避免了泄露[2].更為重要的是當安全事故發生時可以使應急響應迅速執行.在物聯網設備日漸趨于泛化的情況下,邊緣計算所帶來的云—邊協同效應必將推動物聯網行業快速變革.根據Grand View Research的最新報告,到2027年,全球邊緣計算市場規模預計將達到154億美元,預測期內復合年增長率為38.6%[3].
邊緣計算環境下計算、存儲以及數據傳輸具有較強的分布式特點,其業務協同需要安全支撐.然而失去云中心強大的安全保障,在設備邊緣進行的數據存儲、傳輸以及應用受到巨大的安全挑戰.網絡安全協議可以解決邊緣計算中的上述安全問題。而隨著網絡架構從云—端轉變到云—邊—端甚至邊—端,如何設計符合邊緣計算的網絡安全協議是邊緣計算發展過程中所必須要解決的問題.
本文首先給出安全協議概念、邊緣計算環境下通信的特點及安全風險分析,然后綜述了近年來邊緣計算環境下認證、密鑰協商、隱私保護以及數據共享4類安全協議的最新進展,最后給出了邊緣計算環境下安全協議存在的問題以及研究方向建議.
本文嘗試以簡單的形式給出近年來邊緣計算環境下安全協議研究進展.一方面以期實現對目前邊緣計算環境下安全協議研究進展進行總體把握的目的;另一方面通過對安全協議的表述、邊緣計算通信特點及風險的概括以期實現對邊緣計算尤其是其安全協議實現科普的目的.
安全協議是網絡通信中為實現某種安全目的,通信雙方或多方按照一定規則采用密碼學技術完成的一系列消息交互的過程.安全協議是網絡通信安全的基礎,是網絡通信安全首先要考慮的問題.一般而言,安全協議按照功能不同主要分為認證協議、密鑰協商協議、隱私保護協議以及數據共享協議4類協議,4類協議之間相互協同共同實現網絡通信安全.4類協議的概述為:
1) 認證協議(Authentication Protocol).認證是指在網絡環境下證明實體擁有其聲稱的實體身份或證明發送的消息真實性,其包括身份認證和消息認證.身份認證一般通過驗證用戶擁有的秘密憑證如口令等來實現.消息認證一般通過數字簽名以及消息認證碼來實現.
2) 密鑰協商協議(Key Exchange Protocol).密鑰協商是指通信雙方或多方借助密碼學手段實現密鑰共享,以此建立消息保密、消息完整性等安全需求所需的密鑰.密鑰協商一般分為對稱密鑰協商以及非對稱密鑰協商.
3) 隱私保護協議(Privacy-preserving Protocol).隱私保護是指通信過程中或者業務流程中用戶的個人隱私不會被泄露.用戶隱私一般包括用戶數據隱私、位置隱私、身份隱私等.隱私保護可以通過傳統密碼學方式來實現,如加密處理等,也可以采用非密碼方式如差分隱私的方式來實現.
4) 數據共享協議(Data Sharing Protocol).數據共享是指數據可以被授權的實體所安全的訪問、使用,數據共享權利不被非法地篡改或者剝奪.數據共享除使用傳統訪問控制實現外,更多的是通過密碼學方式實現,如可以通過屬性加密、代理重加密等方法實現.
邊緣計算解決物聯網設備和云中心之間的通信效率、計算效率以及應用服務擴展等問題.其功能主要是通過邊緣計算節點來實現的.邊緣計算節點部署在物聯網終端和云服務商之間,可以看成是終端和云之間的中間組件.邊緣計算環境下的通信具體涉及終端設備和邊緣節點之間通信、邊緣節點和云中心之間通信以及終端設備和終端設備之間的通信,其往往具有5個特點:
1) 終端設備數量巨大.物聯網設備規模目前已達到百億級,隨著邊緣計算應用的不斷增加,物聯網邊緣終端設備數量仍將快速增長.
2) 終端設備性能受限.雖然隨著計算及存儲技術的提升,物聯網設備已經具有一定的通信及計算能力,但總體來講其性能仍有待提升.僅少部分終端可以具備較高的通信能力及計算能力.
3) 邊緣設備需快速響應.與傳統的物聯網相比,邊緣計算的優點是更加及時地處理終端數據,其更加關注數據處理的效率.
4) 設備來自不同異構網絡,形成不同信任域.邊緣計算節點往往將部署在其邊緣的設備劃分成一個可信域.該節點無法具有骨干網中服務器節點的覆蓋范圍,因此邊緣計算環境下通信往往會涉及到不同域間通信,即邊緣節點覆蓋下的跨域間的終端通信.
5) 頻繁的數據共享.在設備邊緣處理數據使得數據不必傳輸到云中心,這為數據在設備邊緣的快速共享提供可能,基于邊緣節點的數據共享應用將大量出現.
邊緣計算下通信雖然具有物聯網的基本特點,但也呈現出一些關鍵的區別,如邊緣計算節點劃分的跨域間通信以及頻繁的數據共享等.因此,邊緣計算環境下的通信需要新的安全協議來支撐.
邊緣計算從云中心網絡架構中衍生出來不可避免地具有普通云環境中的通信安全風險.同時,由于邊緣計算呈現分布式安全域且其通信主體更容易被攻陷(如邊緣節點、終端設備往往部署在用戶端,無法提供更強的安全保護),因此邊緣計算又有其自身的通信安全風險.具體而言,邊緣計算通信存在4個安全風險:
1) 認證授權風險.邊緣計算網絡架構中通信主體無論是邊緣節點還是終端設備往往部署在用戶端,從而起到快速數據收集及數據傳輸的目的.而用戶端的設備相比云中心更容易被竊取、中間人攻擊、假冒以及攻陷等攻擊,這就給邊緣計算終端設備認證及授權提出了巨大的挑戰.同時,由于其自身的性能受限,不可能在其上部署較強的安全方案,進一步對邊緣計算認證協議提出了更高的要求.
2) 基礎設施及用戶設備安全風險.一方面邊緣計算基礎設施容易遭受拒絕服務攻擊、竊聽、無線干擾等威脅.例如攻擊者可以偽造網關等基礎設施,從而完成竊聽等攻擊.另一方面終端用戶可能有意或者無意(被控制)地向其他設備傳播惡意代碼.由于用戶設備間往往組成一個信任域,域內設備往往是可信的,這樣導致一個設備被攻陷其他設備可能都將被攻陷.同時,數據大都存儲在終端或者邊緣節點,這樣的方式數據更容易被攻擊者損壞或者偽造.而沒有云中心的備份,一旦數據丟失較難恢復.
3) 分布式多安全域間通信風險.邊緣計算節點將終端設備分成多個安全域,域與域之間往往需要協同工作.不同安全域間存在設備竊聽、假冒、中間人攻擊等風險.同時,由于不同安全域往往部署的安全憑證不同,域與域之間要建立安全通道也較為復雜.另一方面異構網絡間通信中面臨網絡切換,在快速通信切換過程中也面臨異構網絡通信認證及授權等問題.
4) 隱私泄露風險.邊緣計算處理數據流程一般為終端將數據上傳到邊緣節點,邊緣節點處理后(自身處理或和云中心協同處理)又將數據返回到終端.雖然邊緣計算數據不再由用戶直接遠距離傳輸給云中心,避免了遠距離通信帶來的隱私泄露風險.但是邊緣計算通信中仍然涉及用戶上傳邊緣節點數據隱私、邊緣節點發送給終端數據隱私.同時還涉及邊緣節點在處理用戶數據時的計算隱私,即邊緣節點在處理用戶數據時會不會泄露用戶數據.缺乏云中心強大的隱私保護措施,邊緣節點將面臨多目標、多途徑、多形式的隱私泄露威脅.
由于邊緣計算環境下通信存在諸多安全風險,其需要新的適用于邊緣計算環境下的安全協議來支撐.本文不一一列舉邊緣計算安全協議的研究成果,而是在這些成果中選取近幾年一些有代表性的成果進行分類總結(2018年以來成果),以期達到從總體上把握邊緣計算安全協議最新研究進展的目的,為相關行業從業人員和科研人員快速掌握邊緣計算安全協議研究現狀提供幫助.
認證協議是網絡安全通信所需要進行的基本協議.按照不同的認證結構,本文將邊緣計算環境下認證劃分為:固定邊緣計算節點認證、非固定邊緣計算節點認證以及分布式跨域認證.
1) 固定邊緣計算節點認證.邊緣計算的引入使得原本云—端的網絡架構變為云—邊—端的3層網絡架構,因此認證模式也將隨之改變.終端要獲得邊緣服務器節點的服務,彼此之間首先要進行認證.固定邊緣計算節點認證是在物聯網中把性能相對較好的設備或者實體作為邊緣計算節點,這個節點一直充當邊緣計算節點的作用.固定邊緣計算節點認證協議如表1所示:

Table 1 Fixed Edge Computing Node Authentication Protocols in Edge Computing Environments表1 邊緣計算環境下固定邊緣計算節點認證協議
在這種模式下進行認證,一種直觀的方式就是終端和邊緣計算節點都在云中心注冊,云中心充當邊緣服務器節點和終端設備的可信模塊協助完成認證.Dewanta等人[4]考慮的即是這種模式.終端設備(如手機、車輛等)如要接收邊緣服務器節點的服務,先是提交認證請求到云中心,在云中心的協助下完成終端和邊緣計算節點(如網關或者車聯網中的路邊單元)的相互認證.這樣的方式相對便捷,同時認證憑證存儲在云中心有一定的安全性.但這樣的方式仍沒有改變云中心要處理大量認證請求的問題,所有信息依然需要云中心處理.Mishra等人[5]及Jia等人[6]分別提出邊—端的認證方式,即認證過程只有邊緣計算節點和終端,其本質相當于將云中心做離線處理.終端在和邊緣計算節點認證前分別在云中心注冊,獲取憑證(類似于一個對身份的簽名),然后通過交換認證憑證完成認證.該方法避免了云中心實時處理大量認證請求的問題.Li等人[7]將身份隱私引入到上述類似架構中,基于身份密碼學提出具有隱私保護的邊緣認證方案.Zhang等人[8]提出具有批量認證功能的智能車聯網認證方案,其本質也是路邊單元(road side unit, RSU)在收到終端的批量認證請求時利用云中心頒發給終端的簽名憑證完成批量認證.在云—邊—端的網絡架構中,終端設備既要與云中心認證又要與邊緣服務器認證,考慮到這一點,Lin等人[9]提出基于代理的云邊聯合認證方案,即由一個可信第三方協助完成各設備的認證.采用類似EAP-AKA(extensible authentication protocol-authentication and key agreement)的認證框架,給出了低認證時延的方案.
2) 非固定邊緣計算節點認證.非固定邊緣計算節點是指在邊緣計算環境中選取的邊緣計算節點可以失去其邊緣計算的作用,而其他之前沒有作為邊緣節點的設備可能被視為新的邊緣計算節點.這樣的架構中邊緣節點更加靈活,更能適應復雜的認證環境.具體方案如表2所示:

Table 2 Unfixed Edge Computing Node Authentication Protocols in Edge Computing Environments表2 邊緣計算環境下不固定邊緣計算節點認證協議
Cui等人[10]首先提出非固定邊緣計算節點的認證方案.考慮車聯網場景,將車輛分為邊緣計算車輛(edge computing vehicles, ECV)以及普通車輛(ordinary vehicles, OV),由性能較高的車輛動態地作為邊緣計算節點完成高效認證.認證過程是通過頒發基于身份的簽名作為認證憑證.其方案的顯著特點是在批量認證的同時基于布谷過濾器消除重復認證提高批量認證效率.Zhang等人[11]提出了邊緣計算環境中基于5G的車聯網認證與密鑰協商協議.認證過程中不再由路邊單元RSU提供認證服務,而是由動態形成的車輛作為邊緣計算節點,由邊緣計算節點來完成認證.通過采用云中心的簽名憑證作為認證憑證實現批量認證.為避免單一邊緣認證中心節點負擔過重從而減輕邊緣計算節點的計算壓力,Liu等人[12]提出基于秘密共享的分布式認證,通過秘密共享的方式將認證過程卸載給多個邊緣設備.在RSU附近產生代理車輛節點用來輔助認證.RSU將秘密通過拉格朗日差值多項式分布成n個份額,分發給n個車輛,車輛中有k個認證通過才能完成認證(k≤n).以往大多數邊緣計算認證方案中都是將基站或者車輛網中的路邊設施單元RSU作為邊緣計算節點.Zhong等人[13]考慮到在某些通信場景中,和相對性能較弱的終端設備比較,手機可以看作邊緣計算節點,實現計算任務卸載到手機上從而保證快速靈活認證.該思想為邊緣計算下認證提供了一種新的方法,但是其認證過程稍顯復雜.其采用的是通過手機端實現環簽名,其他終端通過驗證環簽名實現認證.Wang等人[14]考慮當移動設備作為邊緣計算節點時,其需要從一個接入點(access point, AP)范圍離開進入另一個AP范圍時的認證問題.文獻[14]提出的認證方案使用的方法是通過每個參與實體間共享對稱密鑰完成認證.
3) 邊緣計算分布式跨域認證.總結而言,已有的跨域認證協議大致可以分為2類:①基于一個可信中心作為中間點,如云中心,由云中心為2個不同實體傳遞認證憑證從而達成認證共識.這樣的方式相對簡單,但需要可信中心實時參與運行.②不需要可信中心參與,終端或者邊緣節點在云中心注冊得到認證憑證后,通過認證憑證自行跨域認證.這樣的方式避免了可信中心因大量通信及計算消耗導致的時延,但往往終端之間需要額外的計算.具體方案如表3所示.
Dewanta等人[4]提出了邊緣計算環境下基于云中心的跨域認證協議可以看成是第1類跨域認證協議.其方法是用戶在云中心注冊后得到一個對稱密鑰形成的認證憑證,然后由云中心把相應的憑證再發給其他邊緣計算節點,其他節點用已有的對稱憑證對終端進行認證.Wang等人[15]的方案可以看出是第2類跨域認證.Wang等人[15]提出終端設備組成群組情況下的無中心認證.不同群組分配群公私鑰,通過類似群簽名的方式完成不同群成員之間的認證.類似的跨域方案還有He等人[16]提出的移動醫療網絡環境下跨域方案.文獻[16]對跨域下認證方案給出了詳細的安全證明,為跨域認證提供了更多理論支撐.分布式跨域認證需要一種分布式的技術作為支撐.區塊鏈具有去中心化、分布式、不易篡改、可追溯等特點,適合于分布式可信平臺的認證需求.基于此,Zhang等人[17]考慮移動邊緣計算環境中設備認證與區塊鏈結合.將認證中心頒發的臨時公鑰存于區塊鏈中實現跨域批量認證.由于區塊鏈具有不可篡改的特點,因此將臨時公鑰部署到區塊鏈上變相地實現了對臨時公鑰認證的目的.Guo等人[18]采用類似的方法,將公鑰放到區塊鏈中實現有效性證明,同時將用戶登錄過程寫入智能合約,從而完成交易確認.跨域場景往往使用公鑰密碼作為底層認證技術,而使用公鑰證書時驗證證書撤銷列表是非常耗時的,結合區塊鏈技術對證書進行驗證可以解決這個問題.Wang等人[19]提出將公鑰放到區塊鏈中,通過驗證區塊鏈數據的有效性從而驗證公鑰的有效性,避免查看證書吊銷列表.但是該方案沒討論引入區塊鏈進行驗證是否同樣會引發同證書撤銷列表同樣的時間消耗.

Table 3 Distributed Cross-domain Authentication Protocols in Edge Computing Environments表3 邊緣計算環境下分布式跨域認證協議
4) 邊緣計算認證協議總結.已有邊緣計算認證協議基本解決了認證協議中的安全問題,同時考慮了多種場景下的認證協議,如非固定邊緣節點認證、手機等移動設備作為邊緣節點認證以及跨域認證等.但邊緣計算認證協議仍沒有從本質上改變云中心作為認證核心的架構,仍大都采用云中心分發憑證的模式.這樣的模式仍然會造成單點失效以及通信時延等問題.雖然有靈活的邊緣計算節點如車輛手機等作為認證過程中媒介,但從分布式認證角度來看仍沒有完全脫離中心認證.同時,邊緣計算本身具有多信任域的特征,需要跨域認證協議作為支撐.雖然有一些跨域認證協議被提出,但目前仍沒有非常完善的邊緣計算環境下的跨域認證協議.區塊鏈作為解決分布式問題的技術已有用來解決邊緣計算分布式認證問題,但大都是在分布式認證過程中的證書鑒別過程使用區塊鏈,即通過將證書上鏈來簡化證書鑒別從而實現身份鑒別.目前仍需要探索更多方式的區塊鏈應用來解決邊緣計算認證問題.
認證與密鑰協商往往是不可分割的部分,即認證后往往需要協商一個共享的密鑰后才能進行安全通信.已有的邊緣計算環境下密鑰協商協議從本質上來說大致可以分為基于對稱密碼體制的密鑰協商和基于非對稱密碼體制的密鑰協商2類,具體如表4所示.
1) 非對稱密鑰協商.這里不一一列舉邊緣計算環境下非對稱密鑰協商協議,而是總結非對稱密鑰協商協議本質特征,給出通用的實現方法.非對稱密鑰協商也就是雙方采用公鑰的方式完成密鑰協商.典型方案有Jia等人[6]的方案,Zhang等人[11]的方案以及Wang等人[19]的方案.其核心是終端節點在云中心或者邊緣節點注冊,云中心或邊緣節點會頒發一個ElGamal簽名憑證給終端,終端通過該簽名憑證完成密鑰協商.具體過程為:設在橢圓曲線密碼體制下(具體參數略),終端設備Vi的身份信息為IDVi,其向服務器S提出注冊請求后,服務器選擇一個隨機數rVi∈并計算Ri=riP,hi=H(IDVi‖Ri).服務器S利用自己的私鑰s(對應公鑰為sP)計算出Vi的憑證sVi=ri+hi×s.本質上相當于頒發一個沒有證書的公鑰給終端,終端收到該憑證后再利用Diffie-Hellman密鑰協商算法完成密鑰協商(具體見文獻[6]).這樣的方式最為直觀,但每次驗證時都需要服務器公鑰參與運行.由于邊緣環境下存在多個不同的域,也就意味著進行密鑰協商時需要驗證多個邊緣服務器的公鑰,而這又涉及繁瑣的數字證書管理問題.

Table 4 Key Agreement Protocols in Edge Computing Environments表4 邊緣計算環境下密鑰協商協議
2) 對稱密鑰協商.對稱的密鑰協商本質上是以密鑰分層方式來完成,即往往由主密鑰衍生出多個子密鑰給邊緣節點或者終端,設備之間通過共享的子密鑰完成密鑰協商.Wang等人[20]通過向用戶設備以及邊緣計算設備嵌入共享密鑰的方式來完成認密鑰協商.由一個種子密鑰衍生出不同憑證分發給用戶終端以及邊緣節點.密鑰協商過程使用抗泄露智能卡(攻擊者攻陷智能卡后不能獲得智能卡內的秘密信息),因此在擁有共享密鑰的情況下可以使用對稱加密以及消息認證碼的方式完成密鑰的協商.對稱的方式速度快效率高,較適合低性能的物聯網設備.但同一密鑰中心下基于該中心的密鑰可以完成密鑰共享,如何完成不同密鑰中心下的密鑰共享是一個問題,因為不同中心下的設備往往不能共享密鑰憑證.其他對稱方式完成的密鑰協商方案有Hsu等人[21]提出的多服務器場景的密鑰協商,Wazid等人[22]提出的僅使用Hash函數完成的密鑰協商.基于Hash的方式往往結合口令一起形成密鑰協商.具體方法是采用形如H(PW,…)的方式共享密鑰憑證,其中H為Hash函數,PW為用戶口令.在進行密鑰協商時可以采用密鑰憑證結合隨機數的方式,也可以采用密鑰憑證結合Diffie-Hellman密鑰協商的方式完成.2種方法的區別是后面一種方法通過增加少量指數運算可以實現前向安全屬性(攻擊者獲得當前用戶的長期密鑰后也不能計算出在該節點之前用戶協商的會話密鑰).除此之外也有一些特殊的邊緣計算密鑰協商協議,如抗量子密鑰協商協議[23]以及使用物理不可克隆函數的密鑰協商協議[24].在邊緣計算環境下考慮這些特殊的密鑰協商協議有助于進一步拓展邊緣計算的應用場景.
3) 邊緣計算密鑰協商協議總結.邊緣計算密鑰協商協議目前仍大多數采用傳統的密鑰協商方式,無論是采用密鑰分層方式還是基于憑證的方式都沒有解決物聯網設備需要進行頻繁的數據交換從而導致密鑰頻繁協商的問題.當大規模邊緣節點和終端進行密鑰協商時,已有密鑰協商協議則可能出現效率上或者安全上的問題.因此,需要結合新的密鑰分發機制來解決,如邊緣計算群組密鑰協商或者基于可信計算的密鑰協商等.對于不同場景的邊緣計算密鑰協商也需進一步完善,如需要頻繁密鑰交換時的密鑰協商或者只是需要偶然密鑰交換的密鑰協商等.
隱私保護是網絡通信所需要考慮的重要安全問題之一.邊緣計算環境下需要對用戶以及終端隱私進行保護,保護身份、位置以及數據隱私[25].針對保護的信息不同,將邊緣計算隱私保護協議分為身份及位置等隱私保護以及數據隱私保護兩大類.表5及表6給出了不同隱私保護方案的分類、分析和總結.

Table 5 Privacy-Preserving Protocols for Identity and Location in Edge Computing Environments表5 邊緣計算環境下身份及位置隱私保護協議

Table 6 Privacy-Preserving Protocols for Data in Edge Computing Environments表6 邊緣計算環境下數據隱私保護協議
1) 身份及位置等隱私保護.邊緣計算提供了本地化的資源和服務,滿足了用戶和設備實時處理的需求.但邊緣計算環境下存在多個不同的安全域,用戶在不同安全域的邊緣計算網絡中訪問資源或請求服務時需要保證其身份、位置等隱私不被泄露.Liu等人[26]針對移動邊緣云架構,提出了一種具有隱私保護的雙向認證方案,并把該方案應用在醫療健康領域.文獻[26]的方案在云—邊—端環境下使用雙重匿名將用戶身份信息隱藏,隱私保護方法可以看成是通過臨時公鑰產生共享密鑰后加密身份等隱私信息.Guo等人[27]提出了在車聯網和家庭網絡之間基于邊緣計算的匿名認證方案.不同于以往的隱私保護方案,文獻[27]采用的是基于匿名憑證(anonymous credential)的方式實現身份及車輛位置隱私.匿名憑證的優點是不僅不會泄露用戶隱私給攻擊者,同時對于驗證者來說在保證其驗證通過的情況下也不泄露隱私給驗證者.這樣的方式相當于實現了零知識證明的效果.然而匿名憑證的使用往往需要大量的雙線性對運算,雖然其對于隱私保護起到重要作用,但仍需進一步尋找更有效的匿名憑證方案.
對于用戶身份保護常用的方式即是通過一個假名來代替某個用戶的真實身份,通過頻繁更換假名來實現用戶身份的隱私保護.Ding等人[28]提出在醫療邊緣網絡環境中使用假名保護患者身份的方案.用戶的醫療數據通過傳感器發送給邊緣節點,邊緣節點對數據進行聚合后再發送給云中心,數據聚合后結合假名機制保護用戶隱私.但邊緣計算網絡是無中心的結構,同時存在不同的假名管理域(一個邊緣計算節點和其附近終端可以看成一個域).每個邊緣節點為其附近終端分配假名,而非由云中心分配假名.這樣不同域間的假名頻繁更換以及分發,如何保證效率以及如何在隱私保護下進行認證也是一個問題.Kang等人[29]提出了邊緣車聯網計算環境下具有更多功能的假名方案.其優點是可以通過上下文信息感知來更改假名,同時可以及時分發假名減少假名管理的開銷.
2) 數據隱私保護.邊緣計算環境下數據無論是傳輸到邊緣節點還是通過便于節點傳輸到云中心都需要實現數據的隱私保護.Wang等人[30]考慮云—邊—端環境下數據存儲隱私問題,即數據存儲在云中即使加密后處理也可能會遭受內部攻擊.在里所編碼(Reed-Solomon)的基礎上設計了Hash-Solomon編碼,從而將用戶數據分成3個部分,即由云、邊以及終端各自存儲一部分數據.即使有任意一部分數據被泄露攻擊者也不能恢復完整的數據,從而保護數據隱私.Wang等人[31]同樣考慮數據存儲隱私問題,利用差分隱私的方法對數據進行分離,將一部分數據存儲在邊緣節點、一部分存儲在云中,從而保證數據一部分丟失攻擊者也不會恢復全部數據.
數據隱私保護最直接的方法就是對數據進行加密后傳輸或存儲.簡單地對每個密文單獨處理會導致邊緣節點處理大量密文,因此需要在邊緣節點處對密文數據進行聚合處理.同態加密(homomorphic encryption)具有密文同態性質可以對數據進行聚合處理從而實現數據隱私保護.Zhao等人[32]基于同態加密提出了智能電網邊緣計算環境下的用戶數據隱私保護方案.通過在邊緣計算處進行同態加密對數據進行聚合處理,在保證效率的同時也保護了用戶用電隱私.Zhang等人[33]提出基于Paillier同態加密的輕量級同態加密方案,更適用于邊緣計算環境.同時,通過一種離線/在線簽名方案使得大計算量的運算被卸載到邊緣計算節點,從而減輕物聯網設備負擔.
同態加密運算量較大,學者探索不使用同態加密的數據隱私保護方案.為解決終端節點的頻繁流動問題,Shen等人[34]提出了動態的數據聚合方案.沒有使用傳統的同態加密方案,文獻[34]提出了一種可以進行多種密文操作的加密方案.其基本思想是通過一個偽隨機函數生成一個和時間相關的偽隨機比特流,然后用該比特流加密數據再進行聚合.考慮到終端節點對消息既要加密又要簽名,Rasheed等人[35]使用簽密方案對數據進行處理,簽名后再進行數據的聚合處理.
隱私保護大都是通過密碼算法對身份信息進行保護或者通過假名來實現隱私保護,這樣的方式需要對數據進行加密,且復雜度較高,可以采用差分隱私的方法實現隱私保護.Qiao等人[36]指出邊緣計算的優勢在于數據共享而非加密,應考慮在數據以明文存在的情況下保護用戶隱私.其提出采用差分隱私的方法保護用戶隱私數據.具體方法是采用基于貪心算法的分區算法來獲得更好的分區結構,然后使用小波變換增加噪音,從而實現數據的帶噪發布.Jing等人[37]基于差分隱私方法給出了當邊緣計算節點被攻陷時如何保證數據隱私.為了避免使用差分隱私后造成的部分數據丟失,其采用線性規劃實現最優位置模糊矩陣的選擇,并采用數據丟失和重構方法使數據不確定性最小化.邊緣節點靠近用戶終端,其會搜集大量用戶信息,因此在邊緣節點處利用機器學習等人工智能方法可以進一步挖掘出數據背后的價值.然而使用機器學習對數據分析時可能會泄露用戶隱私.Du等人[38]考慮在機器學習環境下的用戶隱私方案,基于差分隱私方式保證了當數據被用來學習時也不會泄露用戶隱私.
3) 邊緣計算隱私保護協議總結.已有邊緣計算隱私保護側重采用密碼學手段對數據進行加密處理,基本解決了性能良好設備條件下的隱私保護.但仍需考慮在終端及邊緣節點的計算能力有限的情況下如何進行隱私保護.一種解決方法是可以使用其他非傳統密碼手段實現隱私保護,如差分隱私方法保護用戶隱私.差分隱私不需要復雜的密碼學運算,這尤其適用于性能受限的物聯網設備.同時邊緣計算的優勢在于數據的頻繁交互及共享,若每次都對數據進行加密處理來保護隱私將大大削弱邊緣計算的優勢.差分隱私雖然可以實現數據半公開情況下的隱私保護,但隨著機器學習等人工智能算法的出現,當大量樣本出現時能否仍能依賴差分隱私來實現邊緣計算網絡中用戶即終端設備隱私保護仍然是一個問題.
邊緣技術最大的優點是提高數據的使用和處理效率,因此如何在邊緣計算中實現安全的數據共享是一個重要的研究內容.數據在什么情況下以什么形式共享是邊緣計算所要解決的重要問題.根據數據共享時使用的技術方法不同,將數據共享協議分為3類并進行總結.
1) 基于屬性加密數據共享.數據共享權限往往通過訪問控制機制來實現.而傳統的訪問控制不能抵抗邊緣服務器有意無意的泄露用戶數據.在邊緣計算環境中引入屬性加密(attribute-based encryption)可以解決這個問題.根據不同用戶屬性,將密文同屬性相結合,只有滿足一定屬性的用戶才能共享數據.
基于此,Pan等人[39]在邊緣車聯網環境下設計了基于屬性加密的數據共享方法.由性能良好的車輛充當邊緣節點的角色(可以看成不固定邊緣計算節點),共享數據由邊緣計算節點傳送給滿足密文屬性的請求者.這樣在保證數據快速共享的同時實現靈活的訪問控制.由于邊緣計算環境中設備往往存在不同域中,需要解決在不同域下的數據共享問題.Fan等人[40]基于密文策略屬性加密給出了跨域場景下的數據共享方案.基于傳統的屬性加密方案,利用云中心作為不同域的中間可信節點完成數據共享.但該方案仍沒有脫離云中心,需要云中心協助處理數據共享.同時在基于屬性加密方案中仍需考慮用戶不具備每個屬性后應該采取一種有效的方法取消其解密資格.Pu等人[41]將區塊鏈引入邊緣計算數據共享中,利用屬性撤銷鏈將用戶身份和屬性的Hash值存儲到鏈中,利用區塊鏈的不可篡改性完成屬性撤銷鑒別.即當用戶提出數據訪問請求時,邊緣計算節點首先驗證其是否在屬性撤銷鏈中,當其信息在鏈中時拒絕數據請求.但其未考慮當其他有權限的用戶請求數據時,撤銷屬性的用戶是否可以通過某種方式獲得密文從而利用之前的密鑰順利解密,即用戶繞過屬性撤銷列表獲得密文時的情況.Vohra等人[42]考慮屬性加密的前向安全性,即新加入的成員不能解密之前密文的加密,同時考慮后向安全性,即成員退出時也不能解密后面的密文.利用屬性加密和代理重加密算法提出了邊緣計算環境下的數據安全共享方案.在基于屬性加密的數據共享時,一些屬性往往跟時間有關,如在上班時間某些員工可以訪問一些數據,但是其他時間不可以訪問.因此,需要將時間屬性引入屬性加密中.基于此,Li等人[43]考慮邊緣計算環境下帶有時間域的數據共享方案.密文在邊緣計算節點中進行預解密處理,然后交給終端節點進行具體解密,在這個過程中加入時間屬性條件并考慮了時間屬性更新問題.
2) 基于代理重加密數據共享.代理重加密(proxy re-encryption)可以實現將密文由代理節點通過代理密鑰轉換為另外一份密文從而由他人解密.Wang等人[44]提出通過基于身份的代理重加密方法實現安全的數據共享方案.邊緣計算節點通過代理重加密密鑰將密文重新加密后發送給終端,終端利用私鑰順利進行解密.考慮分布式邊緣計算和環境中使用代理重加密需要驗證多個終端公鑰的真實性問題,Gao等人[45]采用區塊鏈技術提出了基于區塊鏈的數據共享方案.將用戶公鑰證書放到區塊鏈中,結合區塊鏈不可篡改以及公開可驗證的優點完成公鑰真實性驗證.為了解決數據共享時數據發布者的身份隱私問題,Cui等人[46]結合群簽名和代理重加密機制實現了邊緣計算環境下匿名的數據共享方案.數據發布者以群成員的身份加入群中,對數據進行群簽名,然后再進行加密后發給邊緣節點.邊緣節點利用代理重加密密鑰對密文進行重加密后發給數據請求者,數據請求者利用自己的私鑰順利解密.為了使由不同物聯網設備收集來的數據得以安全聚合,Huang等人[47]基于同態代理重加密(homomorphic proxy re-encryption)機制提出了具有隱私保護的數據聚合方案.為了解決邊緣計算節點因某些利益可能會僅聚合部分數據的問題,文獻[47]利用隨機線性同態簽名算法使得邊緣計算節點不能隨意聚合數據.但隨機線性同態簽名計算量較大,該算法能否部署在實際的邊緣計算節點仍有待進一步考證.
考慮邊緣計算節點在進行代理重加密時使用公鑰密碼所導致的計算量大的問題,Khanshan[48]提出了對稱密碼和公鑰密碼相結合的混合代理重加密.終端利用對稱密鑰加密明文消息,然后利用代理加密機制加密對稱密鑰,邊緣計算節點根據代理重加密密鑰對加密后的對稱密鑰進行轉換得到新的密文.數據請求者根據自己的私鑰對對稱密鑰密文進行解密獲取對稱密鑰,最后對消息進行解密.該過程類似數字信封過程.
3) 基于機器學習數據共享. 隨著人工智能技術的發展,使用機器學習等方法對數據進行處理分析從而得出更有效的信息是目前的主流方法之一.用戶把自己的數據共享出來從而被多個機構去學習應用.然而數據往往需要隱私保護,如何保證用戶數據在密文的形態下實現數據的訓練是數據共享要解決的關鍵問題.聯邦學習(federated learning)[49]的提出解決了上述問題.利用同態加密等方法可以實現對密文進行學習,其在保證用戶數據隱私的情況下達到和對明文學習相同的效果.在邊緣計算數據共享中更加需要聯邦學習機制,因為邊緣計算環境中邊緣設備往往屬于不同域,域與域之間是不可信的,不同域間共享數據更需要隱私保護.同時與傳統機器學習方式不同,聯邦學習不需要集中所有數據后進行學習,這更適合分布式的邊緣計算環境.
Lim等人[50]給出了移動邊緣計算環境下聯邦學習綜述,介紹了邊緣計算與聯邦學習結合的優勢、存在問題以及解決方法.Albaseer等人[51]考慮在城市邊緣計算環境下的數據共享學習問題.使用半監督模型解決城市邊緣環境中有標記數據少而未標記數據多的問題.由于聯邦學習使用同態加密,在邊緣計算環境下進行密文學習提升其學習效率是一個重要問題.利用區塊鏈技術,Cui等人[52]將區塊鏈與聯邦學習結合提出基于區塊鏈的聯邦學習機制.利用區塊鏈的不可篡改特性存儲終端數據到區塊鏈中,邊緣計算節點利用聯邦學習模型對數據進行學習后再上傳到云中心,最后由云中心繼續進行學習得出有效信息(如用戶數據使用偏好等)后再分發到邊緣節點,從而使得終端設備可以更加有效地共享數據.為了進一步提升聯邦學習過程中的通信效率,蘆效峰等人[53]通過調整參數對邊緣節點和終端之間的冗余通信進行壓縮以此提升通信效率.Wu等人[54]和Osia等人[55]分別提出了分層的深度學習模型.即在云—邊—端的網絡架構中,邊緣計算節點和云服務器分別對數據進行學習.由邊緣計算節點完成神經網絡的第1層處理,然后由云服務器完成剩余層的處理,這樣的分布式處理進一步提升了學習效率.
4) 邊緣計算數據共享協議總結.數據共享是邊緣計算環境中最為重要的問題.利用復雜的密碼學技術如屬性加密以及代理重加密等方法,已有數據共享協議基本實現了數據共享的功能.但其使用的密碼算法過于復雜,其適用于性能較好的邊緣節點,但不適用于性能相對較低的終端節點.一方面,需要進一步提升使用的底層密碼算法的效率,或者在其基礎上進行改進使其更適用于邊緣環境性能相對低的終端節點.具體來講可以探索采用更多對稱的方式完成數據共享,如代理重加密過程使用對稱的方式完成等.另一方面,需要探索更多在明文狀態下的數據共享方法.在什么情況下數據可以以明文狀態下進行共享同時共享過程及共享結果仍是安全的,如何實現隱私保護等屬性,這些問題仍需要在邊緣計算環境中進行進一步的研究.
以上按照屬性加密、代理重加密以及聯邦學習方法將邊緣計算數據共享協議進行了分類及總結,具體如表7~9所示.數據共享協議可以說是4類安全協議中最重要的協議,因為無論身份認證及密鑰協商最終目標都是為了進行數據安全的傳輸及共享.而隱私保護則是數據共享時需要提供的一種安全屬性.邊緣計算環境下數據共享協議是邊緣計算環境下安全協議研究的出發點及落腳點,需要進一步深入研究.

Table 7 Data Sharing Protocols Based on Attribute-based Encryption in Edge Computing Environments表7 邊緣計算環境下基于屬性加密的數據共享協議

Table 8 Data Sharing Protocols Based on Proxy Re-encryption in Edge Computing Environments表8 邊緣計算環境下基于代理重加密的數據共享協議

Table 9 Data Sharing Protocols Based on Federated Learning in Edge Computing Environments表9 邊緣計算環境下基于聯邦學習的數據共享協議
針對邊緣計算的安全需求,已有的安全協議解決了邊緣計算環境下認證、密鑰協商、隱私保護以及數據共享的基本問題,但仍存在4個共性問題需要進一步解決.
1) 安全協議憑證存儲位置問題.邊緣計算不是否定云計算,而是作為云計算的輔助網絡結構以及計算結構.在考慮邊緣計算場景下的安全協議時,對于實現不同安全需求,什么樣的憑證保存在云端、什么樣的憑證保存在邊緣計算設備中目前沒有一個公認的衡量標準.
2) 安全協議效率問題.已有的安全協議中數據及安全憑證以密文為主,通過復雜的密碼工具如同態加密以及代理重加密等方式共享數據.但在邊緣計算環境中如此大的計算量對于實際運行的終端及邊緣節點是否可行、是否具有普遍的通用性,仍需進一步結合實際進行分析.
3) 安全協議計算任務卸載問題.邊緣計算突出的優點是快速完成用戶對物聯網設備的應用需求.已有安全協議大都是將計算及通信任務放到邊緣節點中完成.雖然邊緣節點在一定程度上性能優于普通物聯網終端節點,但其進行大量計算時性能也將受限.需要進一步探索如何安全高效地將計算任務卸載到其他邊緣節點或者終端[56].何種場景以何種方式將計算任務卸載給其他邊緣節點或者性能良好的終端也有待進一步研究.
4) 安全協議應用場景問題.由于車聯網中設備相對具有較高的運算及存儲效率,其上可以應用很多密碼工具,因此已有的安全協議大部分集中在邊緣車聯網中.但邊緣計算應用場景廣泛,車聯網只是邊緣計算的一個應用場景,仍需進一步研究在其他邊緣計算應用場景中的安全協議.
結合邊緣計算環境下安全協議存在的問題及已有的安全協議成果,給出4個研究方向建議:
1) 探索采用分布式的安全憑證解決安全憑證的存儲問題.將核心憑證或者長期保存的憑證仍存儲在云中心,將臨時憑證存儲在邊緣節點中,以此解決分布式認證需求.針對不同的安全需求,研究以形式化的方法去定義安全目標,進一步從理論上論證安全憑證的存儲及使用過程安全,從而推動安全協議相關安全標準的制定.
2) 探索采用輕量級密碼技術或者更多非密碼技術來解決邊緣計算安全協議效率問題.可以進一步挖掘區塊鏈優勢,引入區塊鏈到安全協議中.將公鑰證書寫入區塊鏈減輕公鑰的驗證僅僅是一個方向,仍可探索將更多的數據寫入區塊鏈從而解決安全協議運行時各方的效率和信任問題.邊緣計算核心是數據的頻繁應用,需要探索繞開復雜的密碼技術實現數據安全應用,如采用可信模塊、抗機器學習差分隱私、信任管理等技術實現安全協議的需求.
3) 探索采用多種途徑多種技術解決邊緣計算數據卸載問題.安全協議執行過程中有些任務可以卸載到邊緣服務器節點,有些任務也可以卸載到物聯網終端節點.可以探索更多任務卸載到終端設備,如認證過程的計算卸載以及數據共享過程的計算卸載,從而實現更靈活的計算.此外,為解決數據卸載時的公平性以及收益分配問題,可以進一步結合智能合約技術使得數據卸載過程不可篡改并可溯源,避免卸載后矛盾的產生.
4) 探索結合5G、人工智能等技術解決邊緣計算安全協議應用場景擴展問題.可進一步探索結合5G的移動邊緣計算場景下的安全協議,如智慧城市邊緣計算網絡安全協議、智慧醫療邊緣計算網絡安全協議以及智慧家庭及社區邊緣計算網絡安全協議.此外隨著人工智能深入到各個領域,將邊緣計算安全協議和人工智能結合可拓展邊緣計算的應用范圍,推動邊緣計算的進一步發展.
綜述了邊緣計算環境下認證協議、密鑰協商協議、隱私保護協議以及數據共享協議的最新進展.對具有代表性的成果進行了分類及分析.總結了已有邊緣計算環境下安全協議仍沒有解決的問題.針對存在的問題,給出了具體的研究方向及建議,為從整體上把握邊緣計算環境下安全協議給出了參考.
作者貢獻聲明:李曉偉對論文進行了總體的撰寫;陳本輝和楊鄧奇給出了邊緣計算隱私保護協議和數據共享協議撰寫方面的建議,并對論文進行了修改;伍高飛對聯邦學習相關內容給出撰寫建議并對論文的總體架構給出了意見.