鮑聰穎 吳 昊 陸 凱 曹松錢 盧秋呈
1(寧波永耀電力投資集團(tuán)有限公司 浙江寧波 315099) 2(國網(wǎng)浙江省電力有限公司寧波供電公司 浙江寧波 315016) 3(上海交通大學(xué)寧波人工智能研究院 浙江寧波 315000) 4(上海交通大學(xué)電子信息與電氣工程學(xué)院 上海 200240)
隨著物聯(lián)網(wǎng)技術(shù)和第5代移動通信技術(shù)(5th generation, 5G)網(wǎng)絡(luò)架構(gòu)的快速發(fā)展,各類新型服務(wù)模式和業(yè)務(wù)不斷涌現(xiàn),多接入邊緣計(jì)算(multi-access edge computing, MEC)技術(shù)興起,在用戶終端與數(shù)據(jù)中心之間架起了橋梁.5G邊緣計(jì)算網(wǎng)絡(luò)架構(gòu)由第3代移動通信伙伴項(xiàng)目(3rd Generation Partner Project, 3GPP)制定,如圖1所示[1].基于服務(wù)化架構(gòu)(service based architecture, SBA),實(shí)現(xiàn)數(shù)據(jù)路由與能力開放;邊緣計(jì)算平臺具有數(shù)據(jù)網(wǎng)絡(luò)(data network, DN)和應(yīng)用功能(application function, AF)的能力;用戶面功能(user plane function, UPF)銜接起5G核心網(wǎng)、MEC和用戶終端,根據(jù)不同業(yè)務(wù)的需求實(shí)現(xiàn)數(shù)據(jù)分流,滿足邊緣場景下的移動性管理、合法監(jiān)聽、計(jì)費(fèi)、服務(wù)質(zhì)量(quality of service, QoS)保障等功能[2].
圖1 5G邊緣計(jì)算網(wǎng)絡(luò)架構(gòu)
MEC以其較高的開放性為垂直行業(yè)的發(fā)展拓寬了產(chǎn)業(yè)生態(tài),授權(quán)第三方可以靈活、便捷地使用MEC平臺提供的服務(wù).但是,MEC在帶來更快的數(shù)據(jù)處理、更低的時(shí)延的同時(shí),其較高的開放性使得其安全風(fēng)險(xiǎn)增加,安全攻擊面也隨之增加.另一方面,MEC基于虛擬化技術(shù)部署,安全防護(hù)的邊界較模糊,且邊緣節(jié)點(diǎn)計(jì)算資源有限,MEC如何在安全防護(hù)與計(jì)算效率之間找到平衡成為難題.綜上,傳統(tǒng)安全防護(hù)措施難以直接應(yīng)用于MEC,MEC安全急需一套定制化的安全防護(hù)體系.
可信計(jì)算組織(trusted computing group, TCG)這樣定義可信:一個(gè)實(shí)體如果它的行為總是以預(yù)期的方式達(dá)到預(yù)期的目標(biāo),則這個(gè)實(shí)體就是可信的[3].可信計(jì)算利用集成的硬件模塊形成信任錨點(diǎn),再建立一條基于密碼學(xué)的信任鏈,這條信任鏈貫穿底層的硬件到上層的應(yīng)用,從而構(gòu)建可信的系統(tǒng)運(yùn)行環(huán)境.作為一種主動防御技術(shù),可信計(jì)算建立了一個(gè)隔離的、安全的運(yùn)行環(huán)境,不同于防火墻的被動防御,可信計(jì)算能主動發(fā)現(xiàn)并排除安全隱患,旨在從根本上解決平臺的安全性問題.
MEC硬件平臺采用通用計(jì)算技術(shù)和基本輸入輸出系統(tǒng)(basic input output system, BIOS)啟動并加載操作系統(tǒng),基于虛擬化技術(shù)搭建云平臺,MEC和可信計(jì)算的軟硬件組織架構(gòu)是一脈相承的,這使得利用可信計(jì)算加強(qiáng)MEC安全成為一種可能[4].但是,由于MEC組件多、結(jié)構(gòu)復(fù)雜,暴露出的攻擊面大,面臨的安全風(fēng)險(xiǎn)多,當(dāng)前基于可信計(jì)算的MEC安全研究大多聚焦在某一方面或幾方面的安全風(fēng)險(xiǎn),缺乏整體思維,尚無一套完整的利用可信計(jì)算相關(guān)技術(shù)加強(qiáng)MEC安全的方案.
基于以上背景,下面本文將闡述MEC面臨的安全風(fēng)險(xiǎn);介紹相關(guān)可信執(zhí)行環(huán)境技術(shù);基于可信執(zhí)行環(huán)境進(jìn)行MEC安全策略研究.
歐洲電信標(biāo)準(zhǔn)協(xié)會(European Telecommunications Standards Institute, ETSI)定義了MEC的平臺架構(gòu),該架構(gòu)包括MEC系統(tǒng)級和MEC主機(jī)級2部分,如圖2所示[5].其中,MEC系統(tǒng)級以MEC編排器(MEC orchestrator, MEO)為核心,對MEC系統(tǒng)具有全局管理和調(diào)度能力;MEC主機(jī)級包括MEC主機(jī)、MEC平臺管理器(mobile edge platform manager, MEPM)和虛擬化基礎(chǔ)設(shè)施管理器(virtualized infrastructure manager, VIM).其中,MEPM和VIM接受MEO的統(tǒng)一管理調(diào)度,實(shí)現(xiàn)MEC主機(jī)和應(yīng)用相關(guān)功能的管理,并對MEC平臺和應(yīng)用提供虛擬化資源.MEC平臺則提供系統(tǒng)功能服務(wù)、服務(wù)注冊、流量規(guī)則控制和DNS域名解析處理等能力.
圖2 ETSI MEC架構(gòu)
根據(jù)3GPP和ETSI定義的MEC架構(gòu),MEC各部件的安全威脅如圖3所示[6]:
圖3 MEC安全威脅
1) 用戶面安全風(fēng)險(xiǎn).
UPF作為銜接終端、5G核心網(wǎng)和MEC的錨點(diǎn),安全防護(hù)需求大.攻擊者可直接攻擊UPF并對數(shù)據(jù)進(jìn)行攔截、偽造;攻擊者攻擊MEC平臺,非法入侵MEC平臺后再非授權(quán)訪問用戶面接口,竊取用戶數(shù)據(jù)[7].用戶面安全關(guān)鍵問題在于惡意計(jì)費(fèi)問題、DDoS攻擊問題、移動場景下的邊緣數(shù)據(jù)面安全問題[8].
2) 基礎(chǔ)設(shè)施安全風(fēng)險(xiǎn).
MEC基于虛擬化基礎(chǔ)設(shè)施,安全邊界模糊,資源越權(quán)訪問風(fēng)險(xiǎn)較大,且存在被物理攻擊的風(fēng)險(xiǎn);若服務(wù)器I/O接口信息暴露,敏感數(shù)據(jù)易被竊??;攻擊者可利用虛擬化軟件漏洞對MEC主機(jī)發(fā)起攻擊,進(jìn)一步蔓延到整個(gè)MEC平臺;MEC應(yīng)用大多采用基于容器的微服務(wù)架構(gòu),容器與宿主機(jī)之間、容器與容器之間隔離存在安全風(fēng)險(xiǎn)[9].
3) 平臺安全風(fēng)險(xiǎn).
MEC平臺和APP的通信數(shù)據(jù)可能被篡改、攔截、重放;攻擊者可利用第三方APP對平臺發(fā)起非授權(quán)訪問,從而發(fā)起DDoS攻擊或竊取平臺敏感數(shù)據(jù);平臺的系統(tǒng)配置如果被惡意更改,APP可能越權(quán)訪問,進(jìn)而影響其他APP和MEC主機(jī)的運(yùn)行;還可能導(dǎo)致用戶數(shù)據(jù)被轉(zhuǎn)發(fā)給非授權(quán)的第三方APP,造成用戶數(shù)據(jù)泄露.
4) 應(yīng)用安全風(fēng)險(xiǎn).
由于MEC下沉到網(wǎng)絡(luò)邊緣,其應(yīng)用會接觸到海量終端的包括身份、位置在內(nèi)的隱私數(shù)據(jù),從而面臨極大的隱私安全防護(hù)挑戰(zhàn).
不同APP運(yùn)行于同一MEC主機(jī)上,安全攻擊面增多;不同APP之間隔離不當(dāng)可能帶來安全隱患;不同APP共享MEC平臺提供的虛擬化資源,存在資源惡意侵占、資源分配不當(dāng)?shù)葐栴};APP能力在對外開放過程中可能會被濫用;在APP的生命周期中可能被非法創(chuàng)建、刪除、更新.
5) 編排管理安全風(fēng)險(xiǎn).
MEC編排管理包括MEC編排器(MEO)、MEC平臺管理器(MEPM)及虛擬化基礎(chǔ)設(shè)施管理器(VIM),實(shí)現(xiàn)MEC節(jié)點(diǎn)編排管理和靈活部署.
MEC編排管理網(wǎng)元(MEO,MEPM,VIM)與MEC主機(jī)之間的通信數(shù)據(jù)可能會被竊取、篡改、攔截和重放;攻擊者可利用大量惡意APP不斷地向用戶APP生命周期管理代理發(fā)送請求,從而發(fā)起DDoS攻擊;MEC編排管理如果被攻擊者非法控制、仿冒,攻擊者則可以非法獲取MEC資源控制權(quán)限或者相關(guān)管理信息,進(jìn)一步非法控制MEC節(jié)點(diǎn)資源,導(dǎo)致編排管理失效.
目前基于MEC安全問題,有如下解決方案:基于殺病毒、防火墻和入侵檢測傳統(tǒng)“老三樣”手段,增強(qiáng)系統(tǒng)網(wǎng)絡(luò)邊界的安全防護(hù)能力,將攻擊者隔絕在網(wǎng)絡(luò)邊界之外,但這些常規(guī)的安全手段通常都是從已經(jīng)發(fā)生的攻擊事件中學(xué)習(xí)建立起來的,屬于被動的防御措施,面對未知攻擊時(shí)效果不佳.因此需另辟蹊徑,引入可信執(zhí)行環(huán)境,基于可信計(jì)算構(gòu)筑MEC自身的內(nèi)生安全防護(hù)體系.
可信執(zhí)行環(huán)境(trusted execution environment, TEE)建立在可信計(jì)算的基礎(chǔ)上,基于內(nèi)存隔離的方式,在不可信的環(huán)境中為安全需求高的敏感數(shù)據(jù)和代碼提供了一個(gè)安全的、完整的獨(dú)立處理環(huán)境.
TEE主要由安全啟動、安全調(diào)度、跨環(huán)境交流、安全存儲和可信的I/O路徑幾大核心模塊構(gòu)成[10].其中,安全啟動確保TEE只加載具有特定屬性且未被修改的代碼.安全調(diào)度保證TEE對系統(tǒng)資源的管理調(diào)度,并保證資源調(diào)度不受外界環(huán)境的影響.跨環(huán)境交流實(shí)現(xiàn)了TEE與非可信環(huán)境之間的數(shù)據(jù)傳輸.安全存儲保證了完整、安全的存儲,還對數(shù)據(jù)的訪問作了限制,禁止非授權(quán)實(shí)體的訪問.可信的I/O路徑保證了外圍輸入輸出設(shè)備與TEE通信的機(jī)密性,確保通信數(shù)據(jù)不被竊取或篡改.將可信執(zhí)行環(huán)境技術(shù)應(yīng)用于MEC可以有效地提高其安全性和機(jī)密性.
ARM TrustZone是支持可信執(zhí)行環(huán)境的硬件平臺,其系統(tǒng)架構(gòu)如圖4所示[11].TrustZone在同一處理器上隔離出2個(gè)環(huán)境:處理一般事務(wù)的普通環(huán)境和處理敏感事務(wù)的可信環(huán)境,2個(gè)環(huán)境通過特定的硬件架構(gòu)來保證在內(nèi)存上的隔離.系統(tǒng)不能隨意地從一個(gè)環(huán)境切換到另一個(gè)環(huán)境,除非調(diào)用安全監(jiān)視指令.可信環(huán)境與普通環(huán)境通過一個(gè)名為Monitor Mode的模式實(shí)現(xiàn)環(huán)境轉(zhuǎn)換,該模式會保存當(dāng)前環(huán)境下的工作狀態(tài)來實(shí)現(xiàn)上下文的切換.2個(gè)環(huán)境通過消息包傳遞來實(shí)現(xiàn)通信和同步,通過訪問同一塊內(nèi)存實(shí)現(xiàn)數(shù)據(jù)共享.
圖4 ARM TrustZone架構(gòu)
Intel SGX(software guard extensions)是Intel推出的支持可信執(zhí)行環(huán)境的處理器技術(shù),它在內(nèi)存中隔離出一個(gè)硬件支持的安全區(qū)域,來保障敏感代碼和數(shù)據(jù)的安全.其架構(gòu)如圖5所示[12].Enclave(圍圈)是處理器內(nèi)置的隔離存儲區(qū)域,SGX將可信函數(shù)放在圍圈中執(zhí)行,防止不可信程序?qū)ζ溥M(jìn)行調(diào)用,圍圈即可看作一個(gè)可信執(zhí)行環(huán)境.SGX中可信函數(shù)的調(diào)用流程如下:SGX首先在系統(tǒng)中創(chuàng)建圍圈并提供函數(shù)調(diào)用接口,當(dāng)外界需要訪問圍圈中的可信函數(shù)時(shí),需要經(jīng)過SGX認(rèn)證后再調(diào)用.函數(shù)執(zhí)行過程在圍圈中被保護(hù),惡意程序無法訪問,函數(shù)結(jié)果將返回給調(diào)用方.
圖5 Intel SGX架構(gòu)
除了上述支持可信執(zhí)行環(huán)境的硬件技術(shù)外,文獻(xiàn)[13]介紹了一個(gè)軟件支持的可信執(zhí)行環(huán)境TrustVisor,其主要目標(biāo)是使應(yīng)用程序的邏輯塊(piece of application logic, PAL)的執(zhí)行與操作系統(tǒng)完全隔離.TrustVisor為敏感代碼提供了安全的執(zhí)行環(huán)境,這個(gè)環(huán)境通過可信度量根初始化,可信度量根與一個(gè)基于軟件的微可信平臺模塊(trusted platform module, TPM)交互,每個(gè)應(yīng)用注冊的邏輯塊都在TrustVisor上有自己對應(yīng)的微TPM(μTPM)實(shí)例,作為邏輯塊注冊過程的一部分創(chuàng)建,用于與不可信應(yīng)用的隔離.TrustVisor的可信計(jì)算基(trusted computing base, TCB)較小,且一半以上用于微TPM的加密操作,適用于敏感代碼量較小的情況.TrustVisor體系結(jié)構(gòu)中的信任關(guān)系如圖6所示[13].
圖6 TrustVisor體系結(jié)構(gòu)中的信任關(guān)系
目前適用于MEC的可信執(zhí)行環(huán)境相關(guān)安全方案大多因?yàn)镸EC自身資源的限制存在局限性.如果不加限制地增大TCB會暴露更大的攻擊面.TrustVisor具備更小的TCB,有效提升了安全性,但無法避免基于軟件的TCB自身存在的軟件安全漏洞風(fēng)險(xiǎn).Intel SGX成本、能耗均較高,更適用于云端數(shù)據(jù)中心.TrustZone的TCB僅包括硬件,進(jìn)一步增強(qiáng)了安全性,成本、能耗更低,且性能也較為出色,較適用于邊緣節(jié)點(diǎn).但基于TrustZone的安全方案對物理攻擊、側(cè)信道攻擊等的防御較為薄弱.因此,目前主流的TEE安全方案應(yīng)用于邊緣都存在局限性,基于可信執(zhí)行環(huán)境的MEC安全發(fā)展仍處于初期階段.
3.1.1 安全方案總體設(shè)計(jì)
為了實(shí)現(xiàn)5G網(wǎng)絡(luò)場景的多樣化,3GPP定義了5G網(wǎng)絡(luò)應(yīng)用3大場景,不同場景下的業(yè)務(wù)對網(wǎng)絡(luò)部署、網(wǎng)絡(luò)安全等方面的要求存在差異.為了滿足不同的業(yè)務(wù)需求,MEC的部署模式也必須呈現(xiàn)出差異化,對于數(shù)據(jù)量大、能耗需求大的應(yīng)用場景,MEC主機(jī)可以采用Intel x86架構(gòu),以滿足更大的性能需求;對于數(shù)據(jù)量小、能耗需求小的應(yīng)用場景,MEC主機(jī)可以采用ARM架構(gòu),以追求更高的能效比.對于2種應(yīng)用場景都存在的情況(比如工廠,既有控制類業(yè)務(wù)也有視頻類業(yè)務(wù)),MEC在部署時(shí)可以綜合實(shí)際使用情況靈活部署.
下面給出一個(gè)基于可信執(zhí)行環(huán)境的MEC安全方案,該方案包括可信硬件模塊、TrustVisor模塊和信任鏈模塊.利用以上3個(gè)模塊保障MEC虛擬化基礎(chǔ)設(shè)施、平臺、應(yīng)用、編排管理安全,方法整體架構(gòu)如圖7所示.信任鏈模塊保障MEC虛擬化基礎(chǔ)設(shè)施的安全;TrustVisor模塊保障MEC應(yīng)用安全;根據(jù)MEC主機(jī)不同的架構(gòu),可信硬件模塊可具體化為TrustZone模塊(ARM架構(gòu))或Intel SGX模塊(x86架構(gòu)),保障MEC平臺以及MEC編排管理安全.
圖7 利用TEE加強(qiáng)MEC安全方案
3.1.2 安全方案模塊說明
基于上述MEC安全方案,其中各個(gè)模塊具體說明如下(信任鏈模塊和TrustVisor模塊在ARM架構(gòu)和x86架構(gòu)下具有通用性,因此先說明這2個(gè)模塊.而針對不同架構(gòu)實(shí)現(xiàn)MEC平臺和編排管理的安全方案再另作說明):
1) 信任鏈模塊.
MEC基礎(chǔ)設(shè)施為邊緣節(jié)點(diǎn)提供了軟硬件基礎(chǔ),作為邊緣計(jì)算的基本保障,MEC基礎(chǔ)設(shè)施安全須包括從啟動到運(yùn)行整個(gè)過程中的設(shè)備、硬件、虛擬化和操作系統(tǒng)安全[14].
基于TPM對信任鏈進(jìn)行完整性度量和可信檢測,保障MEC系統(tǒng)的虛擬化基礎(chǔ)設(shè)施的安全.其中信任鏈?zhǔn)侵窶EC系統(tǒng)的BIOS→OS Loader(操作系統(tǒng)載入程序)→Hypervisor(虛擬機(jī)管理程序)→虛擬機(jī)→應(yīng)用;信任鏈模塊把TPM芯片作為信任根,嵌入MEC系統(tǒng)的硬件,將對BIOS固件進(jìn)行哈希計(jì)算,得到當(dāng)前度量值并進(jìn)行保存,產(chǎn)生相應(yīng)度量日志[15],將當(dāng)前度量值與歷史度量值進(jìn)行對比,若當(dāng)前度量值與歷史度量值相等,可信鏈繼續(xù)下一級驗(yàn)證,否則終止MEC系統(tǒng)啟動,并產(chǎn)生警告信息;以此類推,完成信任鏈的完整性度量可信檢測.可信驗(yàn)證的流程如圖8所示.
圖8 信任鏈在MEC主機(jī)中的傳遞
2) TrustVisor模塊.
MEC應(yīng)用安全旨在防止不可信第三方應(yīng)用對MEC平臺及其他應(yīng)用的安全威脅,目標(biāo)是保證應(yīng)用之間的嚴(yán)格隔離.
圖9 利用TrustVisor加強(qiáng)MEC應(yīng)用隔離
TrustVisor保障MEC應(yīng)用安全的具體實(shí)現(xiàn),如圖9所示.在TrustVisor支持下,MEC應(yīng)用可以注冊自身邏輯塊PAL,與此同時(shí),TrustVisor會創(chuàng)建一個(gè)與PAL相對應(yīng)的微TPM實(shí)例和可信度量根.MEC應(yīng)用暴露給外界的唯一接口即自身PAL對應(yīng)的微TPM,與外界的信息交流由對應(yīng)的可信度量根維護(hù),如此實(shí)現(xiàn)應(yīng)用與應(yīng)用、應(yīng)用和MEC平臺之間的隔離.TrustVisor設(shè)計(jì)了特殊的注冊機(jī)制,一旦注冊就可以多次調(diào)用PAL,而不需要更新可信度量根.此特性很好地避免了邊緣終端的重復(fù)接入導(dǎo)致的計(jì)算、存儲資源浪費(fèi).TrustVisor通過與每個(gè)PAL關(guān)聯(lián)的可信度量根和微TPM實(shí)現(xiàn)了PAL遠(yuǎn)程認(rèn)證和長期受保護(hù)存儲.
3) 可信硬件模塊.
對于可信硬件模塊,當(dāng)MEC系統(tǒng)為ARM架構(gòu)時(shí),基于TrustZone技術(shù),將MEC系統(tǒng)的運(yùn)行環(huán)境劃分為可信環(huán)境和普通環(huán)境,MEC平臺相關(guān)能力和MEC應(yīng)用在可信環(huán)境中執(zhí)行,不可信應(yīng)用在普通環(huán)境中運(yùn)行,如圖10所示;如果不可信應(yīng)用需要臨時(shí)調(diào)用MEC平臺的相關(guān)能力,通過實(shí)施雙向認(rèn)證或者白名單接入,得到Monitor的可信認(rèn)證后,2個(gè)環(huán)境通過Monitor Mode進(jìn)行轉(zhuǎn)換,并通過消息傳遞和共享內(nèi)存進(jìn)行信息交流,從而實(shí)現(xiàn)MEC平臺對應(yīng)用的能力開放.當(dāng)MEO執(zhí)行編排管理操作時(shí),把對MEC系統(tǒng)資源的調(diào)度、對虛擬化基礎(chǔ)設(shè)施資源分配的敏感操作放在可信環(huán)境中進(jìn)行,并在可信環(huán)境下記錄、保存編排管理操作日志.
圖10 TrustZone在MEC主機(jī)中的部署
當(dāng)MEC系統(tǒng)為x86架構(gòu)時(shí),基于Intel SGX技術(shù)實(shí)現(xiàn)敏感代碼的隔離運(yùn)行,使關(guān)鍵代碼和數(shù)據(jù)的機(jī)密性與完整性免受惡意軟件的攻擊和泄露,具體實(shí)現(xiàn)如圖11所示.Intel SGX創(chuàng)建MEC平臺圍圈(圍圈1)及MEO圍圈(圍圈2),當(dāng)MEC應(yīng)用調(diào)用MEC平臺能力時(shí),通過圍圈1提供的函數(shù)接口調(diào)用MEC平臺可信函數(shù),數(shù)據(jù)在圍圈1被處理后得到的結(jié)果將返回給MEC應(yīng)用,保證MEC平臺敏感代碼在能力開放時(shí)的安全執(zhí)行,不被惡意程序訪問;當(dāng)邊緣計(jì)算編排器為MEC應(yīng)用分配平臺資源及虛擬化資源時(shí),通過圍圈2提供的函數(shù)接口調(diào)用MEO可信函數(shù)進(jìn)行編排管理操作,保證操作信息、數(shù)據(jù)的完整性與機(jī)密性,并在圍圈2中保存操作日志.
圖11 Intel SGX在MEC主機(jī)中的部署
可信計(jì)算技術(shù)涵蓋了3大信任核心:信任根、隔離執(zhí)行和遠(yuǎn)程證明[16].它們從不同層次保障可信:信任根是第1層信任,它在物理層保障了軟硬件的可信;隔離執(zhí)行是第2層,保障了系統(tǒng)內(nèi)部運(yùn)行時(shí)的安全;遠(yuǎn)程證明作為第3層信任,將內(nèi)部可信拓展至整個(gè)外部網(wǎng)絡(luò).本文已經(jīng)通過基于TPM的信任鏈實(shí)現(xiàn)了第1層物理層的信任,它保障了MEC從啟動到運(yùn)行、從虛擬化基礎(chǔ)設(shè)施到應(yīng)用之間的安全可信;通過可信硬件模塊分別隔離了MEC平臺和MEC編排管理,TrustVisor模塊隔離MEC應(yīng)用,保障了MEC內(nèi)部安全,實(shí)現(xiàn)了第2層信任,即系統(tǒng)層的隔離執(zhí)行.MEC編排管理的過程中可能被非法控制,為了防止MEC編排管理系統(tǒng)被入侵,編排管理雙方網(wǎng)元(MEO和MEC節(jié)點(diǎn))進(jìn)行雙向認(rèn)證.下面介紹一種雙向遠(yuǎn)程證明協(xié)議,從而實(shí)現(xiàn)第3層信任網(wǎng)絡(luò)層的遠(yuǎn)程證明.
MEO對MEC節(jié)點(diǎn)發(fā)起編排管理操作請求時(shí),MEC節(jié)點(diǎn)將對MEO進(jìn)行安全驗(yàn)證,以確保編排管理指令來自安全合法的MEO,其過程涉及雙方平臺間可信度量與通信密鑰協(xié)商2方面[17],如圖12所示,下面分別說明.
圖12 MEC節(jié)點(diǎn)與MEO的遠(yuǎn)程證明
1) 平臺間可信度量.
首先,MEC節(jié)點(diǎn)為了驗(yàn)證編排管理指令的合法性,向MEO發(fā)起遠(yuǎn)程證明挑戰(zhàn)信息PCM:
然后,MEO提供遠(yuǎn)程證明響應(yīng)信息PRO:
MEC節(jié)點(diǎn)收到遠(yuǎn)程證明響應(yīng)信息后,將進(jìn)行與上述過程相似的驗(yàn)證過程.雙方完成平臺間可信度量后,繼續(xù)協(xié)商雙方通信所用密鑰KS,過程如下:
2) 通信密鑰協(xié)商.
MEC節(jié)點(diǎn)提供密鑰協(xié)商信息PK為
RandomM‖SEQM,
其中RandomM為MEC節(jié)點(diǎn)生成的隨機(jī)數(shù).MEC節(jié)點(diǎn)使用MEO的數(shù)字證書CO所含的公鑰信息對PK進(jìn)行簽名,得到Sign(PK),并發(fā)送給MEO,當(dāng)MEO收到Sign(PK)后,通過自身公鑰解密并驗(yàn)證PK的有效性,驗(yàn)證通過后,MEO提供密鑰協(xié)商反饋信息PKO:
RandomM‖RandomO‖KS,
其中RandomO為MEO生成的隨機(jī)數(shù),KS為雙方通信密鑰.MEO使用MEC節(jié)點(diǎn)的數(shù)字證書CM所含的公鑰信息對PKO進(jìn)行簽名,得到Sign(PKO),并發(fā)送給MEC節(jié)點(diǎn),當(dāng)MEC節(jié)點(diǎn)收到Sign(PKO)后,通過自身公鑰解密并驗(yàn)證PKO的有效性,即驗(yàn)證RandomM是否一致,若一致,則用密鑰KS加密RandomO,發(fā)送給MEO;MEO解密驗(yàn)證RandomO是否一致,若一致,雙方密鑰協(xié)商完成,后續(xù)雙方通信將以KS作為密鑰.
本節(jié)將對Intelx 86架構(gòu)和ARM架構(gòu)下的可信執(zhí)行環(huán)境技術(shù)應(yīng)用于邊緣計(jì)算進(jìn)行可行性分析.由于可信執(zhí)行環(huán)境基于內(nèi)存隔離,在硬件層面保證了其安全性和隔離性,因此,針對邊緣計(jì)算對性能較為敏感的特點(diǎn),本節(jié)將聚焦于可信執(zhí)行環(huán)境的引入對邊緣計(jì)算節(jié)點(diǎn)帶來的計(jì)算開銷.
根據(jù)Intel SGX官方配置網(wǎng)站[18]的相關(guān)信息,通過在Windows 10系統(tǒng)下配置Intel SGX管理引擎和軟件開發(fā)工具包,在Visual Studio 2017專業(yè)版中搭建Intel SGX運(yùn)行環(huán)境.在該環(huán)境下,首先需要定義可信函數(shù),該函數(shù)被封裝在圍圈中,保存在可信類,并通過ECALLs接口訪問圍圈來進(jìn)行函數(shù)的調(diào)用.在主函數(shù)中經(jīng)過創(chuàng)建圍圈、調(diào)用圍圈(ECALLs)、調(diào)用可信函數(shù)、釋放圍圈、結(jié)束程度的過程,實(shí)現(xiàn)可信函數(shù)的調(diào)用,保證其安全性與保密性.
為了測試在Intel SGX環(huán)境下運(yùn)行代碼帶來的計(jì)算開銷,模擬邊緣計(jì)算節(jié)點(diǎn)的計(jì)算任務(wù),我們在圍圈中定義MD5加密函數(shù),將其作為可信函數(shù)進(jìn)行調(diào)用,并計(jì)算其在Intel SGX環(huán)境中和普通環(huán)境中的運(yùn)行時(shí)間,通過比較二者的差距來驗(yàn)證引入可信執(zhí)行環(huán)境帶來的性能損耗.
在實(shí)驗(yàn)中,讓MD5加密函數(shù)加密100組長度為500個(gè)字母的字符串,并比較在不同環(huán)境下代碼的運(yùn)行時(shí)間,重復(fù)這一實(shí)驗(yàn)100次,記錄每次代碼運(yùn)行時(shí)間,得到的實(shí)驗(yàn)結(jié)果如圖13所示.實(shí)驗(yàn)結(jié)果表明,普通環(huán)境下平均用時(shí)為0.671 s,95%置信空間為[0.671, 0.671];Intel SGX環(huán)境下MD5代碼加密平均用時(shí)為0.695 s,95%置信空間為[0.694, 0.697],平均用時(shí)僅比普通環(huán)境多出3.6%.2組數(shù)據(jù)的95%置信空間較小,證明實(shí)驗(yàn)數(shù)據(jù)波動性較小,實(shí)驗(yàn)偶然性較低;平均值差距小足以說明引入Intel SGX環(huán)境對計(jì)算開銷影響很小,帶來的性能降低幾乎可以忽略.
圖13 普通環(huán)境和Intel SGX環(huán)境下代碼運(yùn)行時(shí)間
ARM公司為開發(fā)者提供了開源可移植可信執(zhí)行環(huán)境(open-source portable trusted execution environment, OP-TEE),在Ubuntu 16以上的環(huán)境下可通過安裝TrustZone開發(fā)工具和下載OP-TEE源碼搭建ARM TrustZone運(yùn)行環(huán)境.ARM開發(fā)團(tuán)隊(duì)開發(fā)了一個(gè)運(yùn)行在普通環(huán)境上的客戶應(yīng)用(client application, CA)和一個(gè)運(yùn)行在OP-TEE上的可信應(yīng)用(trusted application, TA).CA使用TEE client API與TA通信,并且從TA獲取安全服務(wù).CA和TA使用共享內(nèi)存進(jìn)行通信.
為了測試在ARM TrustZone環(huán)境下運(yùn)行代碼帶來的計(jì)算開銷,同樣地,利用MD5加密算法在CA和TA中的運(yùn)行時(shí)間,通過比較二者的差距來驗(yàn)證引入可信執(zhí)行環(huán)境帶來的性能損耗.
在實(shí)驗(yàn)中,同樣讓MD5加密函數(shù)加密100組長度為500個(gè)字母的字符串,重復(fù)這一實(shí)驗(yàn)100次,記錄代碼運(yùn)行時(shí)間,得到的實(shí)驗(yàn)結(jié)果如圖14所示.實(shí)驗(yàn)結(jié)果表明,普通環(huán)境下平均用時(shí)為0.311 s,95%置信空間為[0.311, 0.311];ARM TrustZone環(huán)境下MD5代碼加密平均用時(shí)為0.325 s,95%置信空間為[0.324, 0.325],平均用時(shí)僅比普通環(huán)境多出4.5%.2組數(shù)據(jù)的95%置信空間較小,證明實(shí)驗(yàn)數(shù)據(jù)波動性較小,實(shí)驗(yàn)偶然性較低;平均值差距小足以說明引入ARM TrustZone帶來的性能降低幾乎可以忽略.
圖14 普通環(huán)境和ARM TrustZone環(huán)境下代碼運(yùn)行時(shí)間
引入可信執(zhí)行環(huán)境除了對代碼運(yùn)行速度帶來影響外,文獻(xiàn)[19]還驗(yàn)證了可信執(zhí)行環(huán)境的模式對切換時(shí)間的影響,實(shí)驗(yàn)結(jié)果證明模式切換時(shí)間對整體系統(tǒng)性能的影響也幾乎可以忽略不計(jì).
MEC架起了一座在移動邊緣與數(shù)據(jù)中心之間的橋梁,將原來集中在中心云的數(shù)據(jù)計(jì)算、存儲、網(wǎng)絡(luò)能力轉(zhuǎn)移到網(wǎng)絡(luò)的邊緣,使終端數(shù)據(jù)在近用戶側(cè)就能得到及時(shí)處理.由于MEC更靠近用戶,大量隱私、敏感數(shù)據(jù)不可避免地匯聚在邊緣節(jié)點(diǎn),因此,MEC安全的重要性不言而喻.但同時(shí),由于邊緣節(jié)點(diǎn)計(jì)算、存儲資源的匱乏,適用于云中心的傳統(tǒng)安全方案并不能直接照搬.第1節(jié)分析了基于3GPP和ETSI定義的MEC架構(gòu)下的安全風(fēng)險(xiǎn);第2節(jié)介紹了可信計(jì)算與可信執(zhí)行環(huán)境,并分析了可信執(zhí)行環(huán)境應(yīng)用于MEC安全的可能性與現(xiàn)狀;第3節(jié)提出了一個(gè)完整的利用可信執(zhí)行環(huán)境加強(qiáng)MEC安全方案,還介紹了一種MEO與MEC節(jié)點(diǎn)之間雙向認(rèn)證過程,進(jìn)而完善了3個(gè)層次的信任.第4節(jié)通過實(shí)驗(yàn)驗(yàn)證的方式,比較不同環(huán)境下的MD5代碼運(yùn)行時(shí)間,說明了引入可行執(zhí)行環(huán)境對邊緣計(jì)算節(jié)點(diǎn)能效的影響甚微,證明了可信執(zhí)行環(huán)境用于邊緣計(jì)算的可行性.可信計(jì)算從提出以來理論、應(yīng)用不斷發(fā)展,我國已進(jìn)入可信3.0時(shí)代,可信計(jì)算的理論研究超前于產(chǎn)業(yè)現(xiàn)狀,由于研發(fā)難度、硬件成本等問題,可信計(jì)算在產(chǎn)業(yè)上的發(fā)展緩慢,把可信應(yīng)用于邊緣安全的相關(guān)研究較少,基于可信計(jì)算的MEC安全研究還任重道遠(yuǎn).