摘要:邊緣云計算主要適用于移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)和工業(yè)互聯(lián)網(wǎng)等應用場(chǎng)景,具有海量接入、復雜異構和資源受限等特征。但是,在邊緣云計算備受關(guān)注和快速發(fā)展的同時(shí),它也面臨了放置地點(diǎn)人員復雜、安全機制薄弱、硬件安全能力不足等新的安全問(wèn)題。為此,本文從邊緣云計算 的概念提出,相關(guān)產(chǎn)業(yè)聯(lián)盟、社區和標準組織的形成出發(fā),重點(diǎn)圍繞邊緣云計算環(huán)境下的認證、容器安全隔離、可信硬件支持等技術(shù)研究進(jìn)展進(jìn)行綜述,并討論未來(lái)發(fā)展方向。
關(guān)鍵詞:邊緣云計算;安全;認證;容器隔離;可信執行環(huán)境
Abstract: Edge cloud computing is mainly applicable to mobile Internet, Internet of things and industrial Internet. It has the characteristics of massive access, complex heterogeneity and resource constraints. However, while the edge cloud computing has attracted much attention and developed rapidly, it is facing security problems such as complicated locations, weak security mechanisms, and lack of trusted hardware, and so on. Therefore, starting from the concept of edge cloud to related industrial alliances, communities and standard organizations, this paper focuses on the research progress of authentication, container isolation and trusted hardware support, and discusses their future directions. Key words: Edge cloud computing;
Security; Authentication; Container isolation; Trusted execution environment
1 引言
隨著(zhù)云計算、物聯(lián)網(wǎng)、人工智能、5G通信等新技術(shù)的快速發(fā)展,邊緣計算的概念被提出,并受到學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注。
邊緣計算是一種新型的計算模式,它將計算與存儲資源部署在更貼近移動(dòng)設備或傳感器的網(wǎng)絡(luò )邊緣,能夠極大地緩解網(wǎng)絡(luò )帶寬與數據中心的壓力,增強服務(wù)的響應能力,并且能夠保護隱私數據,減少敏感數據上傳和在云端共享的風(fēng)險[1]。邊緣計算技術(shù)的出現,將云計算的能力拓展至距離終端最近的邊緣側,實(shí)現云邊端的統一管控,因此又產(chǎn)生了邊緣云計算的概念[2~6]。邊緣云計算能夠有效發(fā)揮5G技術(shù)的海量接入、低延遲、高帶寬等優(yōu)勢,賦能智慧城市、智能制造、智慧家庭等價(jià)值場(chǎng)景,具有巨大的應用前景。
近年來(lái),針對如何構建邊緣云計算平臺,人們已經(jīng)開(kāi)始了一些相關(guān)探索與實(shí)踐。其中,卡內基梅隆大學(xué)研發(fā)的Cloudlet[2,7,8]為移動(dòng)計算用戶(hù)提供“小云”服務(wù),使用虛擬機來(lái)隔離不同應用的運行環(huán)境,將OpenStack擴展到邊緣計算平臺,使分散的小云可以通過(guò)標準的OpenStack API進(jìn)行控制和管理。美國威斯康星大學(xué)研發(fā)的ParaDrop[4]主要面向智能電網(wǎng)、車(chē)聯(lián)網(wǎng)、無(wú)線(xiàn)傳感執行網(wǎng)絡(luò )等物聯(lián)網(wǎng)應用場(chǎng)景,在物聯(lián)網(wǎng)網(wǎng)關(guān)中植入單片機,使其具備通用計算能力,并使用容器技術(shù)來(lái)隔離不同應用的運行環(huán)境。網(wǎng)關(guān)上所有應用都由云端控制,并對外提供API,用戶(hù)通過(guò)Web頁(yè)面與應用進(jìn)行交互,Web服務(wù)由云端提供,而傳感器采集的原 始數據則都存儲在網(wǎng)關(guān)上,保護了用戶(hù)的數據隱私。佐治亞理工學(xué)院研發(fā)的PCloud[3]將本地?邊緣以及云上的資源通過(guò)網(wǎng)絡(luò )連接,并由特殊的虛擬化層STRATUS將資源虛擬化,構成資源池,PCloud將邊緣資源與云資源有機結合,使二者相輔相成、優(yōu)勢互補。此外,AWS 的Greengrass解決方案、電信領(lǐng)域正在推進(jìn)的多接入邊緣計算(MEC)服務(wù)、華為的IEC/IEF和阿里的Link Edge等[5],都在開(kāi)始加快邊緣云服務(wù)的部署與應用。
但是,與云計算相比,邊緣云計算主要面向移動(dòng)計算、物聯(lián)網(wǎng)和工業(yè)互聯(lián)網(wǎng)應用,具有海量接入、復雜異構和資源受限等特征。因此,在邊緣云服務(wù)模式備受關(guān)注和快速發(fā)展的同時(shí),邊緣計算平臺也將面臨許多新的安全威脅,包括邊緣計算節點(diǎn)容易被偽造、邊緣容器的安全隔離機制不足容易導致主機被攻擊、邊緣應用/ 微服務(wù)的安全防護機制薄弱和缺乏硬件安全支持能力,容易導致用戶(hù)代碼和數據被竊取或篡改等,這將大大制約邊緣云計算服務(wù)模式的發(fā)展與應用。因此,邊緣云及安全問(wèn)題引起了國內外工業(yè)界和學(xué)術(shù)界的廣泛關(guān)注。
鑒于此,本文將從國內外邊緣計算及安全相關(guān)聯(lián)盟、社區和標準組織,以及國內外邊緣計算安全相關(guān)技術(shù)研究進(jìn)展展開(kāi)分析和調研,并討論相關(guān)的技術(shù)挑戰和未來(lái)展望。
2 邊緣云計算安全相關(guān)工業(yè)聯(lián)盟、開(kāi)源社區和標準組織
2.1 國外相關(guān)組織
2014年,歐洲電信標準協(xié)會(huì )(ETSI)成立移動(dòng)邊緣計算(Mobile Edge Computing,MEC)規范工作組[9],推進(jìn)移動(dòng)邊緣計算標準化工作。2016年,ETSI將 邊緣計算的概念擴展為多接入邊緣計算(Multi-Access Edge Computing),將MEC從電信蜂窩網(wǎng)絡(luò )擴展至其他無(wú)線(xiàn)接入網(wǎng)絡(luò )(如WLAN)。2017年7月,ETSI發(fā)布了標準化應用程序接口(API),以支持邊緣計算的互操作性。其中,推動(dòng)MEC設備的監管、安全及計費問(wèn)題是今后MEC方面的工作重點(diǎn)之一。
2015年,英特爾、華為、沃達豐與美國卡內基梅隆大學(xué)聯(lián)合成立了開(kāi)放邊緣計算聯(lián)盟(Op en Edge Computing Initiative,OEC)[10],微軟、 VMWare、諾基亞、NTT等相繼加盟,主要致力于推動(dòng)邊緣計算生態(tài)系統發(fā)展,提供邊緣計算關(guān)鍵參考架構、應用展示,建立真實(shí)的邊緣計算測試和試驗中心。同年,ARM、思科、戴爾、英特爾、微軟和普林斯頓大學(xué)共同成立了開(kāi)放霧聯(lián)盟(Open Fog Consortium),旨在通過(guò)開(kāi)發(fā)開(kāi)放式架構,解決產(chǎn)業(yè)之間互操作性、可擴展性等,分享最佳實(shí)踐,加快霧 (Fog)計算和邊緣計算技術(shù)的普及。
2017年 4月,戴爾物聯(lián)網(wǎng)解決方案部門(mén)的 J im White(Open Fog參考架構的設計者之一)開(kāi)源 EdgeX Foundry項目[11],成為L(cháng)inux基金會(huì )下的硬件和操作系統無(wú)關(guān)的開(kāi)源中立的邊緣計算微服務(wù)框架,用于統一工業(yè)物聯(lián)網(wǎng)邊緣計算解決方案的生態(tài)系統,目前 包括戴爾、VMWare、AMD、Ubuntu、Redis等企業(yè)成員70多家,其中安全服務(wù)作為框架設計的兩個(gè)基礎系統服務(wù)之一,并且當前的版本中已經(jīng)提供了安全存儲能力,能夠保護EdgeX機密信息,如令牌、密碼、證書(shū) 等,以及API網(wǎng)關(guān)能力,限制對EdgeX REST資源的訪(fǎng)問(wèn)和控制操作。
2017年,全球性產(chǎn)業(yè)組織工業(yè)互聯(lián)網(wǎng)聯(lián)盟(IIC) 成立Edge Computing TG,定義邊緣計算參考架構[12]。同年,國際電工委員會(huì )(IEC)發(fā)布了VEI (Vertical Edge Intelligence)白皮書(shū)[13],介紹了邊緣計算對于制造業(yè)等垂直行業(yè)的重要價(jià)值。國際標準化組織ISO/IEC JTC1 SC41成立了邊緣計算研究小組[14],以 推動(dòng)邊緣計算標準化工作。同時(shí),邊緣計算也成為IEEE P2413物聯(lián)網(wǎng)架構的重要內涵,其中推進(jìn)邊緣計算安全是邊緣計算標準化工作的重點(diǎn)之一。
2.2 國內相關(guān)組織
2016年,中國科學(xué)院沈陽(yáng)自動(dòng)化研究所、中國信息通信研究院、華為技術(shù)有限公司、英特爾公司、 ARM和軟通動(dòng)力信息技術(shù)(集團)有限公司聯(lián)合倡議發(fā)起成立邊緣計算產(chǎn)業(yè)聯(lián)盟(Edge Computing Consortium,ECC)[5]。2018年,在ECC《邊緣計算參考架構3.0》給出的邊緣計算的定義中提及安全與隱私是五大關(guān)鍵要素之一。2019年11月,ECC和工業(yè)互 聯(lián)網(wǎng)產(chǎn)業(yè)聯(lián)盟(AII)聯(lián)合發(fā)布首個(gè)《邊緣計算安全白 皮書(shū)》,首次系統地分析和描述了邊緣計算的海量、異 構、資源約束、實(shí)時(shí)性、分布式等五大需求特征給邊緣計算安全帶來(lái)的技術(shù)挑戰,并從邊緣云接入、邊緣云服務(wù)器、邊緣云管理等三個(gè)主要攻擊維度,系統地分析和描述了邊緣計算平臺面臨的十二大安全威脅。
2018年,中國電子技術(shù)標準化研究院和阿里云計算有限公司聯(lián)合推出《邊緣云計算技術(shù)及標準化白皮 書(shū)》,定義了邊緣云計算的概念、典型應用場(chǎng)景、技術(shù)特點(diǎn)、標準化需求以及標準化建議。2019年12月,雙方又聯(lián)合發(fā)布了中國開(kāi)源云聯(lián)盟標準《信息技術(shù)云計算邊緣云計算通用技術(shù)要求》(COSCL 0004-2019) (2020年1月1日實(shí)施)[6],其中邊緣云安全能力覆蓋邊緣云基礎設施安全、運行在邊緣云上的應用安全、數據安全、邊緣云平臺安全等要求。
3 邊緣云計算安全相關(guān)技術(shù)進(jìn)展
3.1 邊緣云計算環(huán)境下的身份認證
近年來(lái),人們開(kāi)始針對邊緣云計算開(kāi)展相關(guān)認證技術(shù)研究,目前主要研究的是邊緣服務(wù)器與用戶(hù)之間的雙向認證技術(shù),目的是防止接入惡意用戶(hù),或者防止接入到惡意的邊緣服務(wù)器,同時(shí)考慮減少接入認證時(shí)的計算和通信開(kāi)銷(xiāo);少數工作關(guān)注了云-邊緣平臺之間的認證和通信安全問(wèn)題,主要考慮的是增加認證次數和通信過(guò)程中的數據安全性。
(1)邊緣服務(wù)器與用戶(hù)之間的認證技術(shù)
目前的研究方案主要聚焦在邊緣服務(wù)器和用戶(hù) (手機或移動(dòng)設備)之間的雙向認證方案研究,而且大多假定邊緣服務(wù)器之間不會(huì )進(jìn)行通信,邊緣服務(wù)器只和云中心進(jìn)行通信或者只和用戶(hù)進(jìn)行通信,這類(lèi)方案主要解決兩類(lèi)安全問(wèn)題,具體如下:
一是,針對用戶(hù)(手機/移動(dòng)設備)資源受限,以及無(wú)線(xiàn)通信(如WLAN)或電信網(wǎng)絡(luò )容易被竊聽(tīng)等安全問(wèn)題。由于移動(dòng)手機用戶(hù)從不同的服務(wù)提供商訪(fǎng)問(wèn)不同類(lèi)型的移動(dòng)云計算服務(wù)時(shí),用戶(hù)通常需要在每個(gè)服務(wù)提供商上注冊不同的用戶(hù)賬戶(hù),并且需要維護相應的私鑰或密碼進(jìn)行身份驗證,導致用戶(hù)接入移動(dòng)云服務(wù)的認證過(guò)程過(guò)于繁瑣。針對上述問(wèn)題,國立臺灣科技大學(xué)[15]提出了一種基于身份加密系統(IBC)的隱私保護認證方案,該方案僅需要移動(dòng)用戶(hù)保存一個(gè)私 鑰,便可與不同服務(wù)提供商進(jìn)行認證,前提是用戶(hù)知道服務(wù)提供商的所有身份,反之亦然,減少了密鑰管理開(kāi)銷(xiāo)。同時(shí),該方案基于ECC橢圓曲線(xiàn)(而非RSA)運算進(jìn)行密鑰協(xié)商,除了注冊階段需要可信第三方參與之外,后續的認證階段無(wú)需可信第三方參與,保證了通信安全,并減少了用戶(hù)計算和通信的開(kāi)銷(xiāo)。
二是,針對邊緣服務(wù)器容易遭受攻擊、偽造等安全問(wèn)題。由于邊緣服務(wù)器可能部署在商場(chǎng)、機場(chǎng)、公園、停車(chē)場(chǎng),甚至長(cháng)途汽車(chē)等交通工具內部,這些場(chǎng)所用戶(hù)的流量大(如:接入規模、移動(dòng)性大),可能導致用戶(hù)錯誤接入一個(gè)惡意的邊緣服務(wù)器。針對上述問(wèn)題,埃及哈勒旺大學(xué)[16]提出了一種終端用戶(hù)與霧服務(wù)器之間的雙向認證方案Octopus,該方案只需要在用戶(hù)注冊時(shí)基于用戶(hù)ID為其生成一個(gè)長(cháng)期有效的主密鑰(足夠長(cháng)),以及基于用戶(hù)主密鑰、霧(相當于邊緣云)ID和霧服務(wù)器(相當于邊緣服務(wù)器)ID計算得到用戶(hù)驗證密鑰(存放在邊緣服務(wù)器中),便可以與任何(包括新加 入的)邊緣服務(wù)器進(jìn)行雙向認證,抵抗惡意邊緣服務(wù)器攻擊。同時(shí),由于該方案的認證過(guò)程主要基于Hash運 算和對稱(chēng)加密運算,大大減少了認證計算的開(kāi)銷(xiāo)。
(2)云-邊緣服務(wù)器之間的認證技術(shù)
除了邊緣服務(wù)器與用戶(hù)之間的雙向認證技術(shù)研究之外,還有一些研究工作關(guān)注了云-邊緣服務(wù)器之間的認證和通信安全問(wèn)題,這類(lèi)方案主要解決兩類(lèi)安全問(wèn)題,具體如下:
一是,針對云-邊緣僅一次性認證的安全問(wèn)題。由于邊緣服務(wù)器無(wú)法像傳統云服務(wù)器一樣能隨時(shí)進(jìn)行管理與更改,僅僅在其初始化階段認證一次,這種做法無(wú)法應對后續可能出現的安全風(fēng)險。針對上述問(wèn)題, 英特爾[17]應用可信計算TPM模塊增強運行在邊緣服務(wù)器上的容器基礎設施的安全性,并遠程證實(shí)/驗證容器基礎設施的可信性。此外,中南民族大學(xué)[18]提出了一種基于電磁輻射(與實(shí)體行為相關(guān)的硬件指紋)的持續邊緣主機身份認證技術(shù),主要利用支持向量機分類(lèi)器,對邊緣主機的電磁輻射硬件指紋進(jìn)行識別,從而實(shí)現身份的持續認證。
二是,針對云-邊緣消息通信安全被忽略的問(wèn)題。正如云安全聯(lián)盟(CSA)所強調的那樣,開(kāi)發(fā)高效的云到邊緣系統的一個(gè)有價(jià)值的方法是基于即時(shí)消息通信解決方案,但是在當前的云-邊計算環(huán)境中,基于即時(shí)消息協(xié)議的消息中間件(Message Oriented Middleware,MOM)提供了良好的性能,卻忽略了安全性需求。針對上述問(wèn)題,意大利墨西拿大學(xué)[19]提出了一種安全管理方法,目的是按照CSA準則,改進(jìn)這種云到邊緣系統即時(shí)消息通信過(guò)程的安全性,以實(shí)現數據保密性、完整性、真實(shí)性和不可抵賴(lài)性所涉及的問(wèn)題。
3.2 邊緣云計算環(huán)境下的容器安全隔離
近年來(lái),人們開(kāi)始針對邊緣容器安全隔離技術(shù)開(kāi)展研究,大多采用的是基于底層系統的容器安全增強、容器的權限限制的方法來(lái)實(shí)現容器隔離,主要目的是防止由于同一主機上的多個(gè)容器共享內核,黑客更容易通過(guò)容器攻破底層宿主機(邊緣服務(wù)器)的安全問(wèn)題;同時(shí),在相關(guān)技術(shù)的研究過(guò)程中還需要有效保證容器的兼容性和可用性。
(1)基于底層系統的容器安全增強技術(shù)
一些研究工作關(guān)注如何通過(guò)底層操作系統安全能 力,或者增加新的底層功能,或者減少內核/容器鏡像來(lái)實(shí)現對容器的安全隔離,這類(lèi)方案主要解決兩類(lèi)安全問(wèn)題,具體如下:
一是,針對底層系統對容器的安全保障不足問(wèn)題。 意大利貝爾加莫大學(xué)[20]提出了對Dockerfile的擴展技 術(shù),為運行在Docker鏡像中的進(jìn)程提供Linux系統層支持的特定SELinux安全策略,限制容器中進(jìn)程的權 限。但是這種方法與原有的容器生態(tài)不兼容,限制了其使用范圍。谷歌公司專(zhuān)門(mén)開(kāi)發(fā)了gVisor[21],一個(gè)使用 Golang這種內存安全的語(yǔ)言編寫(xiě)的用戶(hù)空間內核,它實(shí)現了Linux系統調用的很大一部分,當容器中的應用調用系統調用時(shí),它會(huì )攔截并且在用戶(hù)空間提供相應的服務(wù)。通過(guò)這種方式,容器中的應用不能直接調用宿主機提供的系統調用,降低了宿主機被攻擊的風(fēng)險。但是當容器中的應用需要調用大量的系統調用時(shí),這種方案會(huì )大大降低應用的性能。
二是,針對底層系統及容器的鏡像過(guò)大的安全問(wèn)題。美國威斯康星大學(xué)[22]提出使用動(dòng)態(tài)和靜態(tài)分析來(lái)標識用于運行特定應用程序的最少資源集的方法-Cimplifier,從而大大減少了應用程序容器鏡像的大小。蘇黎世IBM研究院[23]通過(guò)刪除或阻止未使用的內核代碼段的執行來(lái)有效地減少攻擊面,但是這種方法的實(shí)施難度比較大,而且不能保證所有可能會(huì )被用到的代碼段都被保留。Nabla容器[24]實(shí)現了容器之間的強 隔離,只允許容器執行7個(gè)系統調用,但是它有很多限 制,例如不允許動(dòng)態(tài)加載庫、不允許用于與其他進(jìn)程共享內存的mmap等,可用性差。
(2)基于程序分析的容器權限限制技術(shù)
除了通過(guò)底層系統來(lái)限制容器權限的安全隔離技術(shù)研究之外,還有許多研究工作關(guān)注了容器可訪(fǎng)問(wèn)系統調用/特權最小集的程序分析技術(shù)上,從而限制容器惡意利用不必要的系統調用/特權對宿主機(邊緣服務(wù)器)造成威脅,這類(lèi)方案主要解決兩類(lèi)安全問(wèn)題,具體如下:
一是,針對容器可訪(fǎng)問(wèn)系統調用過(guò)多的安全問(wèn)題。自2016年1.10版本,Docker支持了seccomp機 制,以限制運行在Docker容器中的應用能夠訪(fǎng)問(wèn)的系統調用,降低了宿主機的攻擊面。但是對于特定的容器來(lái)說(shuō),Docker默認允許的系統調用仍舊很多(總共有300多個(gè)系統調用,默認僅禁用44個(gè))。為了解決此問(wèn)題,中科院信工所[25]提出了一種應用容器的分階段執行來(lái)區分容器運行的必要和不必要的系統調用方法SPEAKER,從容器的運行過(guò)程中刪除部分只在容器的啟動(dòng)階段使用的系統調用。知名開(kāi)源工具DockerSlim[26]通過(guò)創(chuàng )建臨時(shí)容器,跟蹤用戶(hù)在臨時(shí)容器中的操作,得到容器在運行時(shí)需要的系統調用。但是上述方法都不能保證容器運行時(shí)需要的所有系統調用都動(dòng)態(tài)跟蹤得到,可能導致容器運行時(shí)出錯。北京大學(xué)研究人員[27]提出了一種將動(dòng)態(tài)分析和靜態(tài)分析結合的方法,通過(guò)動(dòng)態(tài)分析獲得容器啟動(dòng)時(shí)所需系統調用及運行時(shí)所需訪(fǎng)問(wèn)的可執行文件,再靜態(tài)分析可執行文件需要訪(fǎng)問(wèn)的系統調用,得到特定容器應用運行時(shí)需要的系統調用,減少攻擊面的同時(shí)保證了容器不出錯,可用性更強。
二是,針對容器擁有的特權過(guò)大的安全問(wèn)題。為了增強容器的安全性,大多數容器采用了Linux內核提供的權能機制(Capability機制)來(lái)約束容器內部進(jìn)程的能力。通過(guò)Capability機制,超級用戶(hù)的特權被劃分為38個(gè)不同的權能(Capability),每種權能代表了某些被允許的特權行為,例如擁有權能CAP_NET_ ADMIN,表示擁有了執行與網(wǎng)絡(luò )相關(guān)操作的特權。 自2018年1.18版本,默認情況下,由Docker創(chuàng )建的容器通常擁有14種權能(默認禁用了23個(gè),共37個(gè)權能)。但是對于特定的容器來(lái)說(shuō),Docker默認擁有的特權仍舊有一部分是不必要的。為了解決此問(wèn)題,韓國科學(xué)技術(shù)院(KAIST)[28]通過(guò)使用strace跟蹤進(jìn)程執行時(shí)所需的系統調用,然后把這些系統調用映射到相應的權能,進(jìn)而得到容器在運行時(shí)所需要的最小權能集,限制容器內部進(jìn)程運行時(shí)的特權,減少特權過(guò)大帶來(lái)的安全風(fēng)險。
3.3 邊緣云計算環(huán)境下的可信硬件支持
由于可信硬件提供的安全隔離運行環(huán)境能夠增強邊緣服務(wù)器的安全保障能力,人們近年來(lái)開(kāi)始關(guān)注邊緣服務(wù)器的可信硬件支持技術(shù)研究。一方面,能夠有效解決邊緣服務(wù)器上的軟件系統遠程維護和更新困難、缺陷容易被黑客利用問(wèn)題;另一方面,能夠保障可信硬件支持環(huán)境下,在邊緣服務(wù)器上部署云原生應用可能存在的兼容性和性能開(kāi)銷(xiāo)大的問(wèn)題。
(1)可信硬件能力支持及性能優(yōu)化技術(shù)
一些研究工作關(guān)注在邊緣服務(wù)器端集成可信硬件的可行性評估,以及如何優(yōu)化可信硬件支持下的上下文切換、內存頁(yè)替換、內存加解密性能,這類(lèi)方案主要解決兩類(lèi)安全問(wèn)題,具體如下:
一是,針對邊緣服務(wù)器缺乏硬件安全能力支持的問(wèn)題。美國韋恩州立大學(xué)[29]對TEE可信硬件集成到邊緣 計算節點(diǎn)的可行性進(jìn)行了系統性的評估:
· 在Intel Fog Node邊緣服務(wù)器(8核Intel Xeon E3-1275處理器和32GB DDR4內存)上進(jìn)行了集成 Intel SGX能力的測試,其中上下文切換時(shí)間為2~3微秒、敏感數據計算時(shí)間為6.7微秒、總體時(shí)間開(kāi)銷(xiāo)下降 0.48%。
· 在A(yíng)RM Juno Board(ARM V8)上進(jìn)行了集成 ARM TrustZone能力的測試,其中上下文切換時(shí)間為 0.2微秒、敏感數據計算時(shí)間為9.67微秒、總體時(shí)間開(kāi)銷(xiāo)下降0.13%。
· 在帶AMD EPYC-7251處理器的機器上進(jìn)行了集成AMD內存加密能力的測試,其中上下文切換時(shí)間為3.09微秒、敏感數據計算時(shí)間約0微秒、總體時(shí)間開(kāi)銷(xiāo)下降4.14%。結論是,TEE集成后給邊緣服務(wù)器節點(diǎn)帶來(lái)的計算性能開(kāi)銷(xiāo)都比較低,具有可行性。
二是,針對可信硬件支持帶來(lái)的計算性能開(kāi)銷(xiāo)的問(wèn)題。針對可信硬件支持下安全區代碼與非安全區代碼交互/上下文切換可能產(chǎn)生較大性能開(kāi)銷(xiāo)的問(wèn)題,英特爾[30] 提出了一種通過(guò)交互/上下文切換時(shí)的異步調用機制進(jìn)行優(yōu)化。SGX的EPC內存目前一共僅有128MB(其中只有 96MB是可用的),可用內存空間很小,可能會(huì )帶來(lái)計算過(guò)程中頻繁的內存頁(yè)面替換問(wèn)題,產(chǎn)生較大的性能開(kāi)銷(xiāo)。針對該問(wèn)題,佐治亞理工學(xué)院研究人員[31]提出了一 種減小EPC頁(yè)面元信息占用空間的方法STANlite進(jìn)行了 優(yōu)化。針對內存加密開(kāi)銷(xiāo)大的問(wèn)題,英國LSDS研究組[32] 提出了一種盡量對內存數據采用連續訪(fǎng)問(wèn)的數據結構、 避免采用隨機訪(fǎng)問(wèn)的數據結構設計的方法進(jìn)行了優(yōu)化。
(2)基于可信硬件的應用支持技術(shù)
除了可信硬件能力支持及性能優(yōu)化技術(shù)研究之外, 還有許多研究工作關(guān)注了如何開(kāi)發(fā)TEE可信硬件環(huán)境下的應用支持技術(shù),從而保證云原生應用在支持TEE的邊 緣服務(wù)器上的快速部署與應用問(wèn)題,這類(lèi)方案主要解決兩類(lèi)安全問(wèn)題,具體如下:
一是,針對應用的兼容性問(wèn)題。為了支持云原生應用的部署與應用[33],研究人員在TEE可信執行環(huán)境內設置操作系統庫或者標準函數庫來(lái)支持TEE內應用程序的執行,從而實(shí)現兼容性。例如:微軟公司 [34]提出的Haven,是在TEE中實(shí)現一個(gè)Drawbridge 操作系統庫,從而能夠在TEE中直接運行未修改的 Windows應用程序。紐約州立大學(xué)石溪分校提出的 Graphene[35],是在TEE中部署一個(gè)操作系統庫,從而能夠支持在TEE上快速部署未修改的Linux應用程序。 英國LSDS研究組提出的SCONE[32],則是在TEE中配置了標準C函數庫的修改版本,從而能夠支持重新編譯的 Linux應用程序。
二是,針對敏感代碼的合理劃分問(wèn)題。支持應用兼容性方案將所有代碼或大多數代碼放在安全區中,會(huì )導致可信計算基(TCB)很大,而TCB越大,帶來(lái)的安 全性問(wèn)題也越大。為此,研究人員開(kāi)始研究如何將原生的應用程序劃分為敏感和非敏感部分,僅將較小的敏感代碼部分放入安全區,從而通過(guò)減少TCB來(lái)降低安全風(fēng)險。例如,英國帝國理工學(xué)院[36]提出了一種基于C語(yǔ)言的SGX應用程序源碼劃分框架Glamdring,主要通過(guò)開(kāi)發(fā)人員對應用程序中安全敏感數據的注釋?zhuān)捎贸绦蚍治龇椒?,分析找出與安全敏感數據安全性有關(guān)的代碼和數據。瑞士洛桑聯(lián)邦理工學(xué)院[37]提出的Secured Routines,是一種將可信執行代碼編寫(xiě)集成到編程語(yǔ)言中的方法,它通過(guò)擴展Go語(yǔ)言,以允許程序員在TEE內調用敏感操作、使用開(kāi)銷(xiāo)小的通道通信,以及允許編譯器自動(dòng)提取安全代碼和數據。
4 邊緣云計算安全技術(shù)挑戰與展望
在邊緣云計算安全研究領(lǐng)域,人們已經(jīng)在邊緣云計算的認證技術(shù)、容器安全隔離技術(shù)、可信硬件支持技術(shù)方面開(kāi)展了一些相關(guān)研究工作。但是,上述研究工作存在一定的局限性,有待進(jìn)一步的研究、探索和 實(shí)踐。
(1)云-邊緣服務(wù)器之間的動(dòng)態(tài)認證方案。目前主要研究的是邊緣服務(wù)器與用戶(hù)之間的雙向認證方案,極少數工作關(guān)注了云-邊之間的認證和通信安全問(wèn)題。僅 由云對邊緣計算節點(diǎn)初始化/注冊時(shí)的一次性認證或指紋認證,無(wú)法應對邊緣計算節點(diǎn)后續狀態(tài)動(dòng)態(tài)變化帶來(lái)的風(fēng)險,將危及用戶(hù)數據的安全與隱私。此外,用戶(hù)與偽造/惡意的邊緣節點(diǎn)直接進(jìn)行頻繁的身份驗證,可能會(huì )造成大量用戶(hù)浪費不必要的認證開(kāi)銷(xiāo),甚至造成拒絕服務(wù)。所以,未來(lái)將重點(diǎn)開(kāi)展云對邊緣服務(wù)的動(dòng)態(tài)認證方案研究。
(2)邊緣容器權限的動(dòng)態(tài)最小化方法。目前主要研究的是如何通過(guò)底層系統安全增強、鏡像裁剪、容器系統調用/特權限制的方法來(lái)實(shí)現容器的安全隔離。對于底層系統安全增強的方案,容易帶來(lái)兼容性差的問(wèn)題;對于鏡像裁剪的方案,可以有效解決輕量級和安全攻擊面減小的問(wèn)題,但是依然會(huì )存在兼容性不足的情況;對于容器應用可訪(fǎng)問(wèn)的系統調用或特權進(jìn)行限制的方法適應性強,但是需要提前對所有應用容器進(jìn)行程序分析,無(wú)法實(shí)現動(dòng)態(tài)控制。所以,未來(lái)將重點(diǎn)開(kāi)展容器權限的動(dòng)態(tài)最小化方法研究。
(3)邊緣應用TEE敏感代碼的生成技術(shù)。目前主要研究的是如何對云原生應用在邊緣服務(wù)器TEE環(huán)境下的代碼兼容性和代碼的合理劃分問(wèn)題,包括TEE敏感代碼依賴(lài)的函數庫/系統庫支持技術(shù)保證兼容性,以及通過(guò)基于程序分析的TEE代碼劃分、編程語(yǔ)言擴展和編譯器修改等方法支持TEE應用的開(kāi)發(fā),但是需要的學(xué)習成本高、容易出錯、代碼的安全性驗證困難。所以,未來(lái)將重點(diǎn)開(kāi)展TEE應用代碼自動(dòng)生成與安全性驗證技術(shù)研究。
5 結論
本文從邊緣云計算的概念提出,相關(guān)產(chǎn)業(yè)聯(lián)盟、社區和標準組織的形成出發(fā),重點(diǎn)圍繞邊緣計算節點(diǎn)容易被偽造、邊緣容器的安全隔離機制不足容易導致主機被攻擊、邊緣服務(wù)器的安全防護機制薄弱和缺乏硬件安全支持能力容易導致用戶(hù)代碼和數據被竊取或篡改等安全問(wèn)題,從邊緣云計算環(huán)境下的認證、容器安全隔離、可信硬件支持等三個(gè)方面的技術(shù)研究進(jìn)展進(jìn)行了分析與綜述,并展望了這些方面的未來(lái)研究趨勢。
作者簡(jiǎn)介:
沈晴霓,北京大學(xué)教授、博士生導師,主要研究方向為操作系統與虛擬化安全,云/邊緣計算安全、大數據安全與隱私、可信計算與區塊鏈安全等,主持和參與30多項國家、省部級和企業(yè)合作科研項目,發(fā)表TDSC、Computer J、計算機學(xué)報、軟件學(xué)報、電子學(xué)報、CCS、AsiaCCS、ACSAC、RAID、ICWS、 IPDPS、SecureComm、ICICS等國際國內頂級和著(zhù)名期刊或會(huì )議上發(fā)表學(xué)術(shù)論文90多篇,授權美國、歐洲和國內發(fā)明專(zhuān)利35項,部分已應用,參與制定國家標準2項,獲國家精品在線(xiàn)開(kāi)放課程獎等。
參考文獻:
[1] 趙梓銘, 劉芳, 蔡志平, 肖儂, 等. 邊緣計算應用與挑戰[J]. 計算機研究與發(fā)展, 2018, 55(2) : 327 - 337.
[2] Grace Lewis, Sebastian Echeverria, Soumya Simanta, et al. Tactical Cloudlets: Moving Cloud Computing to the Edge[J]. In proc. of 2014 IEEE Military Communications Conference, 2014 : 1440 - 1446.
[3] Jang M, Schwan K, Bhardwaj K, et al. Personal Clouds: Sharing And Integrating Networked Resources To Enhance End User Experiences[J]. In proc. of 2014 IEEE INFOCOM, 2014 : 2220 - 2228.
[4] Liu P, Willis D, Banerjee S. ParaDrop: Enabling Lightweight Multi-tenancy at the Network's Extreme Edge[J]. In proc. of IEEE/ACM Symposium on Edge Computing 2016, 2016 : 1 - 13.
[5] 邊緣計算產(chǎn)業(yè)聯(lián)盟, 工業(yè)互聯(lián)網(wǎng)產(chǎn)業(yè)聯(lián)盟. 邊緣計算安全白皮書(shū), 2019.
[6] COSCL 0004-2019. 信息技術(shù) 云計算 邊緣云計算通用技術(shù)要求[S].
[7] Satyanarayanan, M., Bahl, P., Caceres, et al. The Case for VM-Based Cloudlets in Mobile Computing[J]. IEEE Pervasive Computing, 2009, 8 (4) : 14 - 23.
[8] Ha K, Satyanarayanan, M. Openstack++ for Cloudlet Deployment, CMU-CS-15-123[R]. Pittsbergh: CMU School of Computer Science, 2015. https://github.com/cmusatyalab/elijah-OpenStack
[9] https://ihsmarkit.com/products/etsi-standards.html
[10] https://www.openedgecomputing.org
[11] https://www.edgexfoundry.org
[12] Introduction to Edge Computing in IoT : 2018, https://www.iiconsortium.org/pdf/
[13] IEC White Paper Edge intelligence : 2017, https://webstore.iec.ch/publication/60568
摘自《自動(dòng)化博覽》2021年8月刊