陳珍珠 周純毅 蘇 铓 高艷松 付安民
1 (南京理工大學(xué)計算機(jī)科學(xué)與工程學(xué)院 南京 210094)
2 (廣西可信軟件重點(diǎn)實(shí)驗(yàn)室(桂林電子科技大學(xué))廣西 桂林 541004)
伴隨網(wǎng)絡(luò)通信、云計算、人工智能技術(shù)的快速發(fā)展,大數(shù)據(jù)已經(jīng)融入醫(yī)療、教育、金融、電商等多個行業(yè)領(lǐng)域,新技術(shù)應(yīng)用屢見不鮮.智能醫(yī)療、智能交通、智能電網(wǎng)等一系列泛在計算應(yīng)用場景的普及標(biāo)志著云計算和機(jī)器學(xué)習(xí)技術(shù)在智能終端數(shù)據(jù)處理上已融為一體[1].盡管近年來,終端智能化衍生出分布式計算模式,推動計算由云端趨向邊端和終端,但是終端數(shù)據(jù)過載和傳輸速率提高也給云計算帶來新的生機(jī)[2].目前,云計算仍然呈現(xiàn)蓬勃發(fā)展態(tài)勢.據(jù)Statista 的統(tǒng)計數(shù)據(jù)[3]顯示,全球云計算市場持續(xù)增長,在2021 年的銷售額接近4 000 億美元,而預(yù)計到2023 年底這一數(shù)額將達(dá)到5 917.9 億美元.
眾所周知,云計算是一種按需配給資源的商業(yè)計算模式[4].通過配備大量商用計算機(jī)群,云服務(wù)商可以為用戶提供可伸縮的計算資源和靈活的綜合云服務(wù),包括但不限于服務(wù)器、存儲、數(shù)據(jù)庫、網(wǎng)絡(luò)、軟件、數(shù)據(jù)分析和商業(yè)智能等.企業(yè)采用按需付費(fèi),無需大量的前期投資即可快速訪問所需的計算資源,更快研究和開發(fā)創(chuàng)新產(chǎn)品,并有效降低研發(fā)成本[5].此外,集成軟件即服務(wù)(software as a service,SaaS)、平臺即服務(wù)(platform as a service,PaaS)和基礎(chǔ)設(shè)施即服務(wù)(infrastructure as a service,IaaS)的云供應(yīng)商可以為企業(yè)提供從創(chuàng)新到運(yùn)營所需的一切技術(shù)和服務(wù),迎接數(shù)字時代的挑戰(zhàn),其中包括人工智能、區(qū)塊鏈和物聯(lián)網(wǎng)等創(chuàng)新技術(shù).特別是,隨著大數(shù)據(jù)時代的到來,數(shù)據(jù)處理的計算開銷和資源消耗越來越大,計算任務(wù)變得日益復(fù)雜.面對產(chǎn)品以及業(yè)務(wù)智能需求時,資源有限的企業(yè)可以將機(jī)器學(xué)習(xí)任務(wù)外包給云服務(wù)商,通過借助云計算的處理能力和分析技術(shù),完成信息挖掘和數(shù)據(jù)處理,同時節(jié)省升級計算設(shè)備帶來的高昂費(fèi)用.
機(jī)器學(xué)習(xí)是一種使機(jī)器模仿智能人類行為能力的人工智能技術(shù)[6].通過輔以數(shù)字、照片或文本數(shù)據(jù),機(jī)器學(xué)習(xí)算法讓計算機(jī)通過經(jīng)驗(yàn)學(xué)習(xí)進(jìn)行編程(即構(gòu)建模型).數(shù)據(jù)越多,模型性能越好.因此,機(jī)器學(xué)習(xí)模型訓(xùn)練需要強(qiáng)大的數(shù)據(jù)存儲和處理能力.通過資源連接,云計算可以承接該計算服務(wù),幫助用戶輕松試驗(yàn)各種機(jī)器學(xué)習(xí)技術(shù).此外,企業(yè)還可以將機(jī)器學(xué)習(xí)模型托管在云端,經(jīng)由API 接口為目標(biāo)客戶提供推理服務(wù).相比于點(diǎn)對點(diǎn)(peer to peer,P2P)模式,云端托管可以減少因網(wǎng)絡(luò)帶寬或服務(wù)器故障出現(xiàn)的訪問延遲問題,高效執(zhí)行任務(wù).同時,云端資源的可擴(kuò)展性為托管模型的調(diào)整和改進(jìn)提供可能,避免了數(shù)據(jù)遷移帶來的額外開銷.
盡管將機(jī)器學(xué)習(xí)任務(wù)外包給云服務(wù)商優(yōu)點(diǎn)眾多,但由于云端計算不透明且缺少有效監(jiān)管,外包計算的數(shù)據(jù)隱私性和計算安全性仍受到外界質(zhì)疑.為了解決面向機(jī)器學(xué)習(xí)外包計算的安全難題,學(xué)術(shù)界和產(chǎn)業(yè)界人員著手做了一系列研究.不同于模冪運(yùn)算[7]、矩陣計算[8-9]等傳統(tǒng)基礎(chǔ)計算的外包安全研究,面向機(jī)器學(xué)習(xí)外包安全研究更著重于技術(shù)應(yīng)用,平衡安全與性能.此外,云提供商也開始致力于安全技術(shù)研究,以應(yīng)對潛在的威脅和滿足用戶的監(jiān)管要求.公有云、私有云、混合云以及多云合作的復(fù)雜計算模式和終端設(shè)備整體計算能力的提升都給外包計算安全帶來更復(fù)雜的挑戰(zhàn)[10].
因此,本文重點(diǎn)調(diào)研和分析了2018—2022 年網(wǎng)絡(luò)與信息安全領(lǐng)域的四大頂級會議(IEEE S&P,ACM CCS,NDSS,USENIX Security)以及IEEE TDSC,TIFS等著名安全期刊論文.基于這些研究成果,本文梳理了這5 年來研究者提出的面向機(jī)器學(xué)習(xí)的安全外包計算方案,文獻(xiàn)來源分析統(tǒng)計如圖1 所示.可以發(fā)現(xiàn),面向機(jī)器學(xué)習(xí)的安全外包計算研究成果總量不多,呈逐年持平態(tài)勢且每年都有頂級會議論文產(chǎn)出.從圖1(b)關(guān)于文獻(xiàn)的研究主題可以看到,這5 年的研究主要關(guān)注邏輯回歸、樸素貝葉斯分類、支持向量機(jī)、決策樹和神經(jīng)網(wǎng)絡(luò)等典型機(jī)器學(xué)習(xí)算法.研究文獻(xiàn)的統(tǒng)計情況反映了面向神經(jīng)網(wǎng)絡(luò)的安全外包研究隱藏著大量尚待發(fā)掘的問題值得研究人員繼續(xù)跟進(jìn).
Fig.1 Statistics analysis of research literature source from 2018 to 2022圖1 2018—2022 年調(diào)研文獻(xiàn)來源統(tǒng)計分析
本文的主要貢獻(xiàn)包括3 個方面:
1)給出了安全外包計算的通用框架和威脅模型,結(jié)合目前機(jī)器學(xué)習(xí)安全外包研究成果,從外包的機(jī)器學(xué)習(xí)任務(wù)階段和云服務(wù)商數(shù)量,對計算模型進(jìn)行了分類,總結(jié)了不同分類模式下的外包模型特點(diǎn).
2)重點(diǎn)從邏輯回歸、貝葉斯分類、支持向量機(jī)、決策樹和神經(jīng)網(wǎng)絡(luò)等機(jī)器學(xué)習(xí)典型算法深入分析了現(xiàn)有安全外包計算研究進(jìn)展,并對面向機(jī)器學(xué)習(xí)的安全外包計算研究進(jìn)行了對比分析與探討.
3)結(jié)合機(jī)器學(xué)習(xí)和云計算技術(shù)發(fā)展特點(diǎn),分析了現(xiàn)有機(jī)器學(xué)習(xí)安全外包研究工作存在的不足,并重點(diǎn)從數(shù)據(jù)安全與效率平衡、計算完整性保護(hù)和遷移學(xué)習(xí)安全外包3 個方面探討了機(jī)器學(xué)習(xí)外包安全研究面臨的挑戰(zhàn)以及未來研究方向.
本節(jié)簡要介紹了外包計算威脅模型以及安全外包計算的系統(tǒng)框架.
外包計算通過將計算問題委托給云服務(wù)商處理,無需額外購買和升級計算設(shè)備,解決了用戶資源受限的困境.不過,外包計算并未考慮服務(wù)提供商的安全可靠性.云服務(wù)商是營利商業(yè)個體,可能因逐利而非法收集用戶數(shù)據(jù).此外,由于云端操作的無監(jiān)督和不透明,用戶獲取的計算結(jié)果可能因硬件故障或外部攻擊而不符合要求.如圖2 所示,外包計算主要包含半可信云服務(wù)商和惡意云服務(wù)商2 種威脅模型[11].
Fig.2 Threat model for outsourced computing圖2 外包計算威脅模型
1)半可信云服務(wù)商.誠實(shí)遵守外包協(xié)議,正確進(jìn)行計算.一旦獲得正確的結(jié)果,半可信云服務(wù)商向用戶發(fā)送結(jié)果.盡管如此,由于用戶的外包數(shù)據(jù)和計算結(jié)果可能含有對半可信云服務(wù)商有用的信息,因此,云服務(wù)商可能覬覦用戶的數(shù)據(jù),私自留存進(jìn)行轉(zhuǎn)賣或商業(yè)分析.
2)惡意云服務(wù)商.相當(dāng)于一個惡意的攻擊者,在計算過程中可能偏離外包協(xié)議的正確流程.惡意云服務(wù)商不僅試圖從用戶的數(shù)據(jù)中學(xué)習(xí)隱私信息,而且還會故意偽造結(jié)果,欺騙用戶以節(jié)省計算資源.
外包計算面臨的威脅主要包括數(shù)據(jù)泄露和結(jié)果不可靠.因此,外包計算安全主要包括2 個方面[12]:
1)數(shù)據(jù)機(jī)密性.指對用戶外包給云服務(wù)商的輸入和輸出數(shù)據(jù)進(jìn)行保護(hù),使其隱私信息不被非授權(quán)者(即云服務(wù)商)獲取和利用的特性.
2)計算完整性.指對計算輸出結(jié)果進(jìn)行驗(yàn)證,保證數(shù)據(jù)按照用戶指定要求進(jìn)行處理,計算任務(wù)沒有被未經(jīng)授權(quán)的方式進(jìn)行修改,其輸出結(jié)果滿足計算任務(wù)的要求.
云服務(wù)商可能受利益驅(qū)使損害外包計算的數(shù)據(jù)機(jī)密性和計算完整性.為了外包計算服務(wù)的良好發(fā)展,提供保護(hù)用戶利益的安全外包方案需要著重考慮數(shù)據(jù)機(jī)密性和計算完整性保護(hù)問題.
安全外包計算系統(tǒng)包含2 個不同實(shí)體:用戶和云服務(wù)器.用戶加密數(shù)據(jù)后將計算任務(wù)外包給云服務(wù)器處理,云服務(wù)器完成計算后,將計算結(jié)果發(fā)送給用戶進(jìn)行驗(yàn)證和解密[13].因此,安全外包計算通用模型[1]一般包含5 個模塊:密鑰生成、數(shù)據(jù)加密、任務(wù)計算、結(jié)果驗(yàn)證和數(shù)據(jù)解密.5 個模塊以鏈?zhǔn)铰?lián)結(jié),模型框架如圖3 所示.
Fig.3 General model for secure outsourced computing圖3 安全外包計算通用模型
1)密鑰生成.根據(jù)外包協(xié)議設(shè)計,密鑰生成模塊會設(shè)計相應(yīng)的密鑰生成算法生成密鑰(單個密鑰或公私鑰對)并完成密鑰的分配.該模塊可以由用戶或者可信第三方完成.
2)數(shù)據(jù)加密.對用戶需要外包的計算問題,數(shù)據(jù)加密模塊會對問題中涉及的隱私數(shù)據(jù)進(jìn)行加密.數(shù)據(jù)加密算法的設(shè)計需要考慮用戶輸入和輸出的隱私安全.考慮到數(shù)據(jù)安全性,該模塊一般只由用戶完成.
3)任務(wù)計算.當(dāng)用戶將加密后的計算任務(wù)委托給云服務(wù)商后,云服務(wù)商根據(jù)用戶要求完成計算.
4)結(jié)果驗(yàn)證.對云服務(wù)商返回的結(jié)果,結(jié)果驗(yàn)證模塊會驗(yàn)證結(jié)果輸出的正確性,判定云服務(wù)商是否如約履行計算.該模塊確保了計算完整性.
5)數(shù)據(jù)解密.數(shù)據(jù)解密模塊是對驗(yàn)證后的計算結(jié)果進(jìn)行解密操作,獲取計算結(jié)果的明文.該模塊由用戶完成,因此在確保云服務(wù)商返回的結(jié)果滿足要求后,該模塊才生效,以免給用戶增加不必要的計算開銷.
本節(jié)分別從外包的機(jī)器學(xué)習(xí)任務(wù)階段和云服務(wù)商數(shù)量等不同分類模式下,詳細(xì)闡述機(jī)器學(xué)習(xí)安全外包計算模型的特點(diǎn).
一個機(jī)器學(xué)習(xí)模型的完整任務(wù)階段包括模型訓(xùn)練和模型推理.模型訓(xùn)練是通過揭示數(shù)據(jù)相關(guān)性從而構(gòu)建利用該相關(guān)性評估目標(biāo)數(shù)據(jù)的模型.因此,模型訓(xùn)練需要通過機(jī)器學(xué)習(xí)算法輸入樣本數(shù)據(jù),利用機(jī)器學(xué)習(xí)算法幫助識別和學(xué)習(xí)數(shù)據(jù)特征屬性,特別是將處理后的數(shù)據(jù)輸出與樣本輸出相關(guān)聯(lián),利用相關(guān)性的結(jié)果對模型進(jìn)行了修正,從而使模型得到預(yù)期輸出.模型推理是模型通過簡化并使用訓(xùn)練獲得的能力對待驗(yàn)證的目標(biāo)數(shù)據(jù)執(zhí)行推理,獲得預(yù)期結(jié)果.
在機(jī)器學(xué)習(xí)中,模型訓(xùn)練由于相比模型推理資源消耗更多,因此也是用戶常考慮外包的計算任務(wù).不過隨著產(chǎn)業(yè)智能化發(fā)展,模型推理的商用場景增多,用戶也會將推理任務(wù)委托給云服務(wù)商,以節(jié)省時間和計算資源.考慮到用戶的需求即委托給云服務(wù)器的任務(wù)不同,面向機(jī)器學(xué)習(xí)的安全外包計算研究一般可分為模型訓(xùn)練和模型托管2 種模式,如圖4 所示.
Fig.4 Two modes classified by task phase of machine learning圖4 按機(jī)器學(xué)習(xí)任務(wù)階段分類的2 種模式
1)模型訓(xùn)練模式,如圖4(a)所示.模型訓(xùn)練中,一般包含2 類個體:用戶和云服務(wù)商.用戶擔(dān)任數(shù)據(jù)提供者角色,云服務(wù)商承擔(dān)模型訓(xùn)練任務(wù).出于對數(shù)據(jù)保護(hù)的需要,用戶會將訓(xùn)練數(shù)據(jù)加密后再發(fā)送給云服務(wù)商,要求其訓(xùn)練目標(biāo)模型.云服務(wù)商需要在密文數(shù)據(jù)上構(gòu)建模型,期間可能與用戶進(jìn)行計算交互.為了確保有效的數(shù)據(jù)保護(hù)和密文計算,模型中也會引入可信實(shí)體進(jìn)行密鑰生成和分發(fā).此外,方案中也可能引入多個云服務(wù)商共同承擔(dān)計算任務(wù).
2)模型托管模式,如圖4(b)所示.與模型訓(xùn)練模式不同,模型托管外包場景下的用戶并非模型所有者,而是查詢者.模型所有者將訓(xùn)練好的模型托管到云端,要求云服務(wù)商代理模型推理任務(wù).用戶發(fā)送查詢數(shù)據(jù)給云服務(wù)商,云服務(wù)商根據(jù)模型推理,向用戶返回查詢結(jié)果.為了保護(hù)數(shù)據(jù)隱私,用戶將查詢數(shù)據(jù)進(jìn)行加密,且要求查詢結(jié)果對云服務(wù)商保密.推理過程一般不要求模型所有者參與,即支持模型所有者離線.
盡管這2 種模式中用戶數(shù)據(jù)需要進(jìn)行加密,但是模型訓(xùn)練模式的協(xié)議設(shè)計側(cè)重云端密文計算的實(shí)現(xiàn);模型托管模式則專注用戶和云服務(wù)商之間的交互.針對同一種機(jī)器學(xué)習(xí)算法,雖然2 種模式分管機(jī)器學(xué)習(xí)任務(wù)的不同階段,但是兩者的算法計算操作相似,其安全計算協(xié)議可以相互拓展和借鑒.
針對數(shù)據(jù)機(jī)密性保護(hù),機(jī)器學(xué)習(xí)外包計算研究采用了多種方法,如全同態(tài)加密(fully homomorphic encryption,F(xiàn)HE)、差分隱私、安全多方計算(multiparty computation,MPC)等.根據(jù)采用的數(shù)據(jù)保護(hù)方法,需要考慮采用單個云服務(wù)商模式還是多個云服務(wù)商模式幫助用戶完成外包計算任務(wù).因此,考慮到涉及的云服務(wù)商數(shù)量,面向機(jī)器學(xué)習(xí)的安全外包計算研究還可分為單云(云服務(wù)器數(shù)量為1)模式和多云(云服務(wù)器數(shù)量大于等于2)模式,如圖5 所示.
Fig.5 Two modes classified by the number of cloud service providers圖5 按云服務(wù)商數(shù)量分類的2 種模式
1)單云模式,如圖5(a)所示.單云模式中,用戶將機(jī)器學(xué)習(xí)計算任務(wù)(模型訓(xùn)練或者推理)外包給一個云服務(wù)商進(jìn)行處理.用戶不需要考慮數(shù)據(jù)分割或模型切割.因此,單云模式的最大優(yōu)點(diǎn)在于其簡單高效,更容易協(xié)調(diào).不過,單云模式通常采用FHE 加密實(shí)現(xiàn)數(shù)據(jù)保護(hù),而該密文操作資源消耗極大,會極大地增加用戶的訓(xùn)練費(fèi)用或查詢時間.
2)多云模式,如圖5(b)所示.多云模式中,機(jī)器學(xué)習(xí)計算任務(wù)交由多個云服務(wù)商共同處理.云服務(wù)商通過一系列安全多方協(xié)議完成模型訓(xùn)練或推理.各個云服務(wù)商以用戶的部分?jǐn)?shù)據(jù)作為輸入,并在整個計算過程中保持?jǐn)?shù)據(jù)隱私性,然后將結(jié)果返回給用戶.多云模式可以幫助用戶采用非密碼學(xué)工具,如加性秘密共享方式來保護(hù)數(shù)據(jù)隱私.因此,云服務(wù)商可以更快地處理計算任務(wù).此外,多云模式可以避免單點(diǎn)故障,即使其中一個模塊無法訪問,用戶仍然可以執(zhí)行一些關(guān)鍵任務(wù).不過,多云模式安全假設(shè)高,一般要求云服務(wù)商之間不串通共謀.
單云模式和多云模式的選擇取決于計算和通信的取舍.單云模式不需要用戶與多個云服務(wù)商交互,亦不需要云服務(wù)商之間的交互,因此通信開銷較小.但是,支持單云下的密文計算一般只能選擇FHE.多云模式可以通過數(shù)據(jù)分割實(shí)現(xiàn)隱私保護(hù),避免了復(fù)雜的密文計算,但同時計算過程中也需要用戶與云服務(wù)商之間的交互,同時增加了多個云服務(wù)商的多輪交互計算.因此,出于實(shí)用性考慮,單云模式和多云模式的選擇要同時考慮具體機(jī)器學(xué)習(xí)算法和計算場景,并做好安全性和效率的權(quán)衡.
通過對2018—2022 年這5 年機(jī)器學(xué)習(xí)的安全外包相關(guān)文獻(xiàn)采用的模型進(jìn)行統(tǒng)計,發(fā)現(xiàn)機(jī)器學(xué)習(xí)的安全外包計算研究重點(diǎn)由模型訓(xùn)練趨向模型托管,單云模式與多云模式的應(yīng)用情況基本持平,如圖6所示.從2021—2022 年的研究情況來看,機(jī)器學(xué)習(xí)安全外包研究已經(jīng)趨向多云模式.相比于面向基礎(chǔ)計算的外包計算研究多采用同態(tài)加密(homomorphic encryption,HE),且因通信問題和共謀威脅而較少采用MPC 支持多云模式,而面向機(jī)器學(xué)習(xí)的安全外包研究偏向應(yīng)用型,MPC 協(xié)議在多云模式中也嶄露頭角.外包計算是用戶用金錢換取計算資源,因此安全外包計算方案的設(shè)計需要考慮數(shù)據(jù)機(jī)密性和計算完整性保護(hù)之外,還需要平衡計算效率.例如,高安全性的FHE 支持云服務(wù)商進(jìn)行任意密文計算,但是計算高昂,不利于模型在云端的訓(xùn)練和應(yīng)用部署.因此,模式的選擇與數(shù)據(jù)隱私保護(hù)和計算效率的平衡密不可分.
Fig.6 Model statistics of machine learning security outsourced research圖6 機(jī)器學(xué)習(xí)安全外包研究模型統(tǒng)計
根據(jù)統(tǒng)計調(diào)研,表1 給出了機(jī)器學(xué)習(xí)外包計算模型應(yīng)用趨勢特點(diǎn),具體總結(jié)為4 個方面:
Table 1 Features of Machine Learning Outsourced Computing Modes表1 機(jī)器學(xué)習(xí)外包計算模型的特點(diǎn)
1)云服務(wù)器和數(shù)據(jù)源由單個趨向多個.機(jī)器學(xué)習(xí)模型的訓(xùn)練和推理涉及多種計算,包括線性計算和非線性計算.單云模式中一般采用FHE 來支持多種運(yùn)算,保護(hù)數(shù)據(jù)隱私,但FHE 會嚴(yán)重拖慢模型計算進(jìn)程.多云模式的引用可以分?jǐn)傆嬎悖涌煊嬎氵M(jìn)程.此外,機(jī)器學(xué)習(xí)基于數(shù)據(jù)建立統(tǒng)計模型進(jìn)行分析預(yù)測,算法由數(shù)據(jù)驅(qū)動.因此,用戶趨向聚集多源數(shù)據(jù)或者多個用戶共同委托云服務(wù)器訓(xùn)練模型來提高機(jī)器學(xué)習(xí)模型性能.不過,多數(shù)據(jù)源場景中需要考慮不同密鑰加密的密文對模型計算的影響.
2)用戶端計算由在線趨向離線.面向機(jī)器學(xué)習(xí)的安全外包計算方案需要考慮現(xiàn)實(shí)應(yīng)用場景.模型所有者將模型托管在云端以降低實(shí)施和運(yùn)行成本,同時用戶期望減少查詢等待時間(即響應(yīng)時間).因此,機(jī)器學(xué)習(xí)安全外包研究考慮將用戶與云服務(wù)器的交互計算轉(zhuǎn)移到云服務(wù)器之間,以支持用戶離線.
3)外包階段由訓(xùn)練趨向推理,模型托管由明文趨向密文.隨著分布式學(xué)習(xí)[14]的興起,機(jī)器學(xué)習(xí)模型訓(xùn)練方式趨向分布式.受此影響,面向機(jī)器學(xué)習(xí)的安全外包研究將重點(diǎn)轉(zhuǎn)向模型托管的安全問題.在模型托管中,相比私有評估(即明文模型托管),密文模型托管外包除了需要保護(hù)查詢數(shù)據(jù)和結(jié)果隱私外,還需要考慮模型機(jī)密性保護(hù)問題,安全性更高.
4)威脅模型主要考慮半可信.隨著監(jiān)管規(guī)范要求和競爭加大,機(jī)器學(xué)習(xí)安全外包研究主要考慮半可信威脅,去掉了計算完整性考慮.但是,驗(yàn)證模塊的缺失并沒有為用戶節(jié)省很多計算開銷,而多云和多用戶模式的引入增加了隱私泄露的風(fēng)險.
這些趨勢表明了機(jī)器學(xué)習(xí)外包計算面臨的安全威脅多元且復(fù)雜.根據(jù)應(yīng)用場景,針對性選擇模型部署模式,定制設(shè)計算法模塊對機(jī)器學(xué)習(xí)安全外包研究至關(guān)重要.
本節(jié)根據(jù)機(jī)器學(xué)習(xí)常見的不同算法,對2018—2022 年的相關(guān)安全外包計算研究工作進(jìn)行了梳理和分析,總結(jié)了目前研究存在的問題及不足之處.
邏輯回歸[15]是一種統(tǒng)計模型,是監(jiān)督學(xué)習(xí)中常用的預(yù)測二元結(jié)果的分類器.邏輯回歸本質(zhì)是將線性回歸的輸出用Sigmoid 函數(shù)進(jìn)行映射來估計事件發(fā)生的概率,即輸出結(jié)果數(shù)值在0 和1 之間.給定變量X和模型參數(shù)θ,邏輯回歸模型表示為
文獻(xiàn)[16]針對模型訓(xùn)練提出了一個基于HE 的邏輯回歸安全外包方案.相比于之前的邏輯回歸外包研究工作[17-18],該方案主要解決了2 個問題:1)由于計算量較小,基于推理階段的安全外包難以應(yīng)用于訓(xùn)練階段;2)云端的密文計算量大,并隨著多項(xiàng)式級數(shù)增加呈指數(shù)增長.該方案采用近似FHE 方案和近似Bootstrapping 方法來減少計算開銷.一方面,通過支持高效的近似計算的FHE 方案加密訓(xùn)練數(shù)據(jù),同時采用Nesterov 加速梯度法作為優(yōu)化方法和最小二乘擬合方法模擬Sigmoid 函數(shù),可以快速計算出復(fù)雜操作的近似結(jié)果并避免密文除法操作.另一方面,設(shè)計并行化Bootstrapping 操作算法,將密文分割成多個小塊,并行執(zhí)行Bootstrapping,可以顯著提高整體性能.此外,該方案通過對訓(xùn)練數(shù)據(jù)集分區(qū),將子數(shù)據(jù)集打包成一個密文,避免了密文重構(gòu)的額外開銷.實(shí)驗(yàn)證明,該方案具有較好的性能提升,但引入的加密方案對訓(xùn)練模型的精度和性能的影響并不顯著.
文獻(xiàn)[19]重點(diǎn)探討了生物醫(yī)學(xué)場景中的邏輯回歸模型在公共云環(huán)境下的訓(xùn)練問題,提出了SecureLR框架,幫助研究人員利用云計算對生物醫(yī)學(xué)數(shù)據(jù)進(jìn)行學(xué)習(xí)和預(yù)測.基于HE 和軟件保護(hù)擴(kuò)展SGX 的安全硬件,SecureLR 考慮采用雙云模式,一個執(zhí)行HE計算,另一個支持安全硬件計算.相比于文獻(xiàn)[16]的方案,SecureLR 采用了HE 和安全硬件相結(jié)合的混合模式,提供了一種多層面的數(shù)據(jù)提供方法.文獻(xiàn)[16]和文獻(xiàn)[19]都采用了密文批處理,用一種單指令多數(shù)據(jù)(single instruction multiple data,SIMD)的方式實(shí)現(xiàn)并行處理,提高計算效率.
跟進(jìn)研究[20-21]延續(xù)了應(yīng)用FHE 加密數(shù)據(jù)和模擬Sigmoid 函數(shù)的設(shè)計,但是在細(xì)節(jié)上略有差異.文獻(xiàn)[20]改用泰勒展開式進(jìn)行逼近Sigmoid 函數(shù),而文獻(xiàn)[21]仍然選用最小二乘法.除此之外,文獻(xiàn)[21]提出的P2OLR 方案允許數(shù)據(jù)所有者和云服務(wù)器在訓(xùn)練過程中交互,判斷密文訓(xùn)練的模型是否滿足要求,避免錯誤訓(xùn)練浪費(fèi)資源.不過盡管FHE 支持密文加法和乘法,但逼近Sigmoid 函數(shù)的多項(xiàng)式每一次運(yùn)算都會疊加噪聲,而Bootstrapping 操作雖然可以重置噪聲,但計算成本極大.為此,文獻(xiàn)[22]提出了一種不同的隱私保護(hù)方法支持邏輯回歸的安全外包.該方法不需要用多項(xiàng)式逼近Sigmoid 函數(shù)以及預(yù)先確定多項(xiàng)式級數(shù),而是將其轉(zhuǎn)化為對應(yīng)的嶺回歸邏輯函數(shù)并采用層次HE 方法.如圖7 所示,該方案包括3 個步驟:1)用未加密的數(shù)據(jù)集D1訓(xùn)練教師模型fs,從目標(biāo)標(biāo)簽中提取概率;2)利用加密教師模型推導(dǎo)出加密數(shù)據(jù)集D2的邏輯值,通過均值匹配進(jìn)行優(yōu)化;3)在D2上訓(xùn)練嶺回歸.具體來說,該方案通過將加密變量和非加密變量的運(yùn)算分開從而采用免Bootstrapping 的層次HE 方法實(shí)現(xiàn)數(shù)據(jù)保護(hù),同時采用均值匹配緩解了由于未加密數(shù)據(jù)和加密數(shù)據(jù)分布差異而導(dǎo)致的模型性能下降問題.實(shí)驗(yàn)表明,應(yīng)用層次HE 方法不僅具有更好的分類效果,且計算時間更短.
Fig.7 Training logistic regression by ridge regression圖7 通過嶺回歸訓(xùn)練邏輯回歸
表2 總結(jié)了已有的邏輯回歸外包方案的對比情況.可以看到,現(xiàn)有的邏輯回歸外包方案主要采用單云模式且重點(diǎn)考慮模型訓(xùn)練階段的外包安全問題.盡管現(xiàn)有方案都傾向采用密文打包,用SIMD 實(shí)現(xiàn)并行化處理以提高計算效率,但是在實(shí)際應(yīng)用中FHE帶來的計算開銷不容樂觀.此外,現(xiàn)有的方案都假定參與實(shí)體為半可信或可信且不共謀,但是在現(xiàn)實(shí)世界中仍然存在惡意參與者破壞或竊取模型.因此,如何在惡意敵手假設(shè)下提高外包方案的安全性并降低計算開銷需要進(jìn)一步研究.
Table 2 Comparison of Logistic Regression Outsourced Schemes表2 邏輯回歸外包方案對比
樸素貝葉斯分類[23]是基于貝葉斯定理的分類算法集合,通過對數(shù)據(jù)屬性集和數(shù)據(jù)類之間建立概率關(guān)系判定數(shù)據(jù)的類別.給定數(shù)據(jù)X=(x1,x2,…,xd)、類別集{c1,c2,…,cm}、先驗(yàn)概率{P(C=c1),P(C=c2),…,P(C=cm)}和條件概率是類ci時的第j個屬性為v的概率),則樸素貝葉斯分類定義為
文獻(xiàn)[24]專注樸素貝葉斯分類的推理外包,提出了一種樸素貝葉斯分類模型的安全托管方案.如圖8 所示,模型所有者采用Paillier 算法對分類器進(jìn)行加密后將其托管到云端,并向用戶授權(quán)查詢令牌和私鑰.授權(quán)用戶用私鑰加密查詢數(shù)據(jù),而云服務(wù)器存儲加密模型,并對授權(quán)用戶的查詢做出響應(yīng).該方案通過加法HE 同時完成分類器模型和用戶數(shù)據(jù)的機(jī)密性保護(hù).不過,該方案需要用戶和服務(wù)器頻繁交互,通信開銷較大,對資源受限的用戶并不友好.因此,文獻(xiàn)[25]提出了改進(jìn)方案.改進(jìn)方案引入了一個可信處理器,承接原本查詢過程中用戶需要完成的解密操作,使用戶在與服務(wù)器不超過2 次的交互后即可獲得查詢結(jié)果.
Fig.8 Naive Bayes classification model hosting framework圖8 樸素貝葉斯分類模型托管框架
文獻(xiàn)[26]指出文獻(xiàn)[24]的方案容易遭受替換攻擊,被竊取模型信息,即查詢用戶可以在執(zhí)行argmax協(xié)議期間特意替換一些值從而恢復(fù)模型參數(shù).針對這一漏洞,文獻(xiàn)[26]引入了盲化技術(shù),向模型添加特定的擾動值,使惡意用戶無法在執(zhí)行替換攻擊后獲得模型參數(shù)的有效信息.此外,方案改用OU 加密算法[27],減少了用戶與服務(wù)器之間的交互次數(shù),提高了計算效率.實(shí)驗(yàn)證明,該方案可以在防止替換攻擊造成的信息泄露下有效降低計算成本和通信負(fù)擔(dān).
文獻(xiàn)[28]重點(diǎn)關(guān)注樸素貝葉斯分類的訓(xùn)練外包.針對現(xiàn)有研究[29-30]中存在的不支持多個數(shù)據(jù)提供者和統(tǒng)計信息泄露的問題,文獻(xiàn)[28]將Paillier 加密算法和差分隱私技術(shù)相結(jié)合,提出了多數(shù)據(jù)源的樸素貝葉斯學(xué)習(xí)外包方案.該方案通過Paillier 算法加密數(shù)據(jù),支持不同數(shù)據(jù)所有者上傳的密文加法計算,利用差分隱私向訓(xùn)練模型中添加噪聲,使模型使用者無法從訓(xùn)練器判定數(shù)據(jù)所有者是否擁有某個樣本.不過,文獻(xiàn)[28]的作者未在實(shí)驗(yàn)中提供模型性能的評估結(jié)果,尚無法確定差分隱私對模型準(zhǔn)確度是否產(chǎn)生影響.
針對在線疾病風(fēng)險診斷,文獻(xiàn)[31]基于貝葉斯分類設(shè)計了支持模型動態(tài)更新的疾病風(fēng)險評估CARER方案.CARER 方案實(shí)現(xiàn)了云服務(wù)器上的模型訓(xùn)練到模型推理的承接.模型提供商可以收集多個醫(yī)療中心的密文數(shù)據(jù)進(jìn)行模型訓(xùn)練和更新,同時為用戶提供疾病風(fēng)險預(yù)測服務(wù).CARER 方案引入了一個可信實(shí)體用來分發(fā)密鑰.相比于之前的研究,CARER 方案通過將密鑰切割和聚合,防止模型提供商恢復(fù)醫(yī)療中心的數(shù)據(jù)統(tǒng)計信息,同時支持模型的明文訓(xùn)練,提高了模型計算效率.
表3 總結(jié)了已有的樸素貝葉斯分類外包方案的對比情況.可以看到,現(xiàn)有的樸素貝葉斯分類外包方案都采用單云模式,但會考慮引入可信實(shí)體承擔(dān)密鑰處理工作以增加安全性.考慮到樸素貝葉斯分類算法中以加法操作為主,大部分方案選用Paillier加密算法保護(hù)數(shù)據(jù)和模型的機(jī)密性.不過,與邏輯回歸外包研究類似,現(xiàn)有方案都只考慮半可信安全,盡管文獻(xiàn)[26]考慮了存在惡意用戶情況,但是僅針對文獻(xiàn)[24]的漏洞,不具有普適性,計算完整性保護(hù)問題仍待解決.
Table 3 Comparison of Naive Bayesian Classification Outsourced Schemes表3 樸素貝葉斯分類外包方案對比
支持向量機(jī)[32]是一種常見的監(jiān)督機(jī)器學(xué)習(xí)模型,它主要用來解決二分類問題.支持向量機(jī)通過訓(xùn)練數(shù)據(jù)集在高維空間尋找超平面分隔數(shù)據(jù)點(diǎn)來確定決策邊界.支持向量機(jī)也可以通過為每一類數(shù)據(jù)創(chuàng)建一個分類器,解決多分類問題.假設(shè)訓(xùn)練集包含N個樣本即{(x1,y1),(x2,y2),…,(xN,yN)},其中yi∈{-1,1},i∈{1,2,…,N}.對線性可分問題,可以直接尋找決策超平面w·x+b=0.分類器模型定義為
盡管之前關(guān)于支持向量機(jī)外包安全研究[33-34]已經(jīng)采用相關(guān)隱私保護(hù)技術(shù),如隨機(jī)擾動、加法同態(tài)和安全多方計算,嘗試解決了外包訓(xùn)練中存在的數(shù)據(jù)隱私問題,但是后續(xù)的研究發(fā)現(xiàn)它們?nèi)匀淮嬖诳煽啃院桶踩詥栴}.比如,文獻(xiàn)[35]指出文獻(xiàn)[34]的Paillier 密文計算中由于存在溢出風(fēng)險,[[zmod10l]]*[[rmod10l]](*表示同態(tài)密文乘法)不一定等于[[(z+r)mod10l]],因此云服務(wù)器可能返回錯誤的分類結(jié)果.為了解決這一問題,文獻(xiàn)[35]采用了一種混合方法,將HE 和混淆電路(garbled circuits,GC)結(jié)合,避免溢出風(fēng)險,減少計算時間.
針對模型僅支持單個數(shù)據(jù)所有者的問題[34],文獻(xiàn)[36]則在制藥應(yīng)用場景下探討了多數(shù)據(jù)源的支持向量機(jī)訓(xùn)練外包安全問題,提出了POD 方案.POD方案支持云服務(wù)器采用多個數(shù)據(jù)所有者的數(shù)據(jù)來訓(xùn)練支持向量機(jī)模型,并提供查詢.為了解決多用戶采用不同密鑰加密的密文不支持同態(tài)計算的問題,POD 方案特別設(shè)計安全域轉(zhuǎn)換算法,將不同密鑰中的密文轉(zhuǎn)換為一個域,支持密文計算.同時,針對密文的明文長度存在溢出的問題,設(shè)計了分?jǐn)?shù)近似協(xié)議減小明文長度.然而,文獻(xiàn)[37]認(rèn)為只給定密文情況下無法判定明文長度,因此該分?jǐn)?shù)近似協(xié)議并不實(shí)用.為此,設(shè)計了一種控制浮點(diǎn)數(shù)在安全計算過程中比特長度的協(xié)議,強(qiáng)化了分?jǐn)?shù)近似協(xié)議,消除了預(yù)知消息長度的前提.
除此之外,文獻(xiàn)[38]針對現(xiàn)有研究[39]中存在計算開銷大的問題,提出了PPSVM 方案.該方案通過使用SIMD 技術(shù)來加速支持向量機(jī)中內(nèi)積求和操作,即線性計算,同時使用近似方法來計算符號函數(shù),即非線性計算部分.文獻(xiàn)[40]考慮了惡意云服務(wù)器偽造結(jié)果欺騙用戶的情況,針對半可信和惡意威脅模型提出了解決方案AADP.該方案綜合使用安全哈希函數(shù)、Householder 變換和隨機(jī)排列,保證了數(shù)據(jù)機(jī)密性、模型機(jī)密性以及結(jié)果可驗(yàn)證性.文獻(xiàn)[41]則考慮了惡意用戶對模型隱私的影響,提出了一種基于多分類支持向量機(jī)的隱私保護(hù)醫(yī)療診斷方案.該方案采用DT-PKC 和BGN 密碼系統(tǒng),保護(hù)用戶數(shù)據(jù)隱私,同時提出了用戶認(rèn)證機(jī)制用于規(guī)避非法用戶對診斷系統(tǒng)的惡意攻擊.如圖9 所示,方案AADP 要求對每個用戶身份進(jìn)行真實(shí)性驗(yàn)證(如醫(yī)療資質(zhì)),驗(yàn)證通過后會分發(fā)給用戶一個包含公鑰、頒發(fā)者、過期日期等信息的文件.發(fā)送查詢請求時,用戶需要在第三方的協(xié)助下發(fā)送時間戳和證明文件.但是,由于方案AADP 采用的BGN 加密算法是基于雙線性映射,增加了同態(tài)乘法的計算開銷,降低了方案的計算效率.
Fig.9 User authentication mechanism圖9 用戶身份認(rèn)證機(jī)制
表4 總結(jié)了已有的支持向量機(jī)外包方案的對比情況.可以看到,現(xiàn)有的支持向量機(jī)外包方案大多采用HE 技術(shù).但是由于計算中涉及非線性操作,部分方案采用在線交互的模式.通過用戶與服務(wù)器多次交互對中間結(jié)果進(jìn)行加解密完成非線性計算,給用戶帶來額外的計算和通信開銷.盡管有研究[40]考慮解決了支持向量機(jī)外包中的計算完整性保護(hù)問題,但是提出的方案對矩陣盲化的數(shù)據(jù)大小比較缺乏正確性推導(dǎo).因此,文獻(xiàn)[40]方案的有效性也存在質(zhì)疑,支持向量機(jī)外包中的計算完整性保護(hù)問題仍值得后續(xù)跟進(jìn).
Table 4 Comparison of Support Vector Machine Outsourced Schemes表4 支持向量機(jī)外包方案對比
決策樹是一種樹形結(jié)構(gòu)的非參數(shù)監(jiān)督學(xué)習(xí)算法,是目前最流行的機(jī)器學(xué)習(xí)算法之一,用于回歸和分類.決策樹包含1 個根節(jié)點(diǎn)、多個內(nèi)部節(jié)點(diǎn)和葉節(jié)點(diǎn),節(jié)點(diǎn)之間通過分支連接,每個節(jié)點(diǎn)通常有2 個或多個從其延伸的節(jié)點(diǎn).分支是連接節(jié)點(diǎn)的箭頭,通過在根節(jié)點(diǎn)和內(nèi)部節(jié)點(diǎn)上采用閾值比較,決定分支走向,形成決策路徑.目前常用的決策樹生成算法有ID3,C4.0,C5.0 等[42].
早先關(guān)于決策樹的外包安全研究[43-45]主要集中在私有評估上,即云服務(wù)器持有明文形式的模型.大多數(shù)方案依賴FHE,GC,ORAM 保護(hù)用戶的查詢數(shù)據(jù),計算開銷較大.文獻(xiàn)[46]探討了私有評估中3 個子協(xié)議:特征選擇、比較和路徑評估,分析并評估了分別使用加性HE 和GC 時協(xié)議的效率,發(fā)現(xiàn)采用混合協(xié)議可以有效提高模型的評估效率.文獻(xiàn)[47]則針對協(xié)議執(zhí)行輪次進(jìn)行改進(jìn),通過將樹表示為一個數(shù)組,將執(zhí)行深度控制在樹的深度.
文獻(xiàn)[48]提出了一種密文模型托管的安全外包方案.該方案基于雙云模式,采用加性秘密共享方法解決了模型托管和推理過程中的安全輸入特征選擇、決策節(jié)點(diǎn)評估和推理結(jié)果生成保護(hù)問題.具體而言,查詢用戶將特征向量分成2 個秘密共享,分別分發(fā)給2 個云服務(wù)器,云服務(wù)器收到數(shù)據(jù)后進(jìn)行交互計算運(yùn)行決策樹算法,并發(fā)送結(jié)果給用戶解密.整個查詢過程不需要用戶在線.之后,研究人員又在拓展版文獻(xiàn)[49]中提出了一個基于多項(xiàng)式的結(jié)果生成算法,進(jìn)一步降低了用戶的通信開銷.不過,文獻(xiàn)[50-51]指出文獻(xiàn)[49]方案的計算成本隨節(jié)點(diǎn)數(shù)量呈指數(shù)增長,不適用于大規(guī)模樹,并提出了優(yōu)化方案.針對密文模型托管,文獻(xiàn)[52]也提出了一種決策樹分類外包方案.不同的是,該方案采用了單云模式,并將決策樹轉(zhuǎn)換為決策表,如圖10所示.決策樹轉(zhuǎn)換可以將模型推理轉(zhuǎn)換為決策表查找.具體來說,模型所有者通過將決策樹分類器轉(zhuǎn)換為一個決策表,并采用可搜索對稱加密對其處理后再托管到云服務(wù)器上.用戶加密數(shù)據(jù)特征后再發(fā)送給服務(wù)器進(jìn)行查詢.云服務(wù)器通過對比加密表格搜索預(yù)測值,并發(fā)給用戶.相比其他方案,該方案在保證模型和數(shù)據(jù)機(jī)密性的同時也降低了用戶和云服務(wù)器之間的通信開銷.文獻(xiàn)[53]則在此基礎(chǔ)上,考慮了惡意用戶威脅,引入了用戶身份認(rèn)證協(xié)議.
Fig.10 Decision tree transformation圖10 決策樹轉(zhuǎn)換
針對現(xiàn)有方案不支持密文數(shù)據(jù)上的模型訓(xùn)練問題,文獻(xiàn)[54]提出了一個具有隱私保護(hù)的外包方案支持決策樹的訓(xùn)練和預(yù)測.該方案采用FHE,并利用密鑰管理服務(wù)(key management service,KMS)提供密鑰支持多個云服務(wù)器在密文數(shù)據(jù)上進(jìn)行模型訓(xùn)練和模型預(yù)測.不過該方案需要滿足密鑰一致性,可能存在不適用于多數(shù)據(jù)源場景.文獻(xiàn)[55]將重點(diǎn)轉(zhuǎn)向多數(shù)據(jù)源場景下的模型訓(xùn)練外包,構(gòu)建了PPDT 方案,并針對私有評估提出了PPDE 方案.這2 個方案都采用了DT-PKC 加密算法保護(hù)數(shù)據(jù)隱私.此外,考慮到云服務(wù)器無法對密文數(shù)據(jù)集進(jìn)行最佳屬性劃分,設(shè)計了不分割數(shù)據(jù)集的決策樹訓(xùn)練方法,分別滿足3種隱私級別:2 個服務(wù)器都知道數(shù)據(jù)屬性頻率;只有1 個服務(wù)器知道數(shù)據(jù)屬性頻率;2 個服務(wù)器都不知道數(shù)據(jù)屬性頻率.在模型訓(xùn)練后,經(jīng)過訓(xùn)練的云服務(wù)器得到?jīng)Q策樹模型以提供私有評估服務(wù).
文獻(xiàn)[56]提出了由多個模型所有者托管決策樹進(jìn)行聯(lián)合決策的外包方案,即隨機(jī)森林安全外包方案.相比于單個決策樹分類器托管,隨機(jī)森林安全外包方案需要對多個決策樹分類結(jié)果進(jìn)行聚合得到最后結(jié)果.因此,該方案需要模型所有者們創(chuàng)建一個聯(lián)合密鑰,然后用分密鑰加密模型再托管到云端.在收到用戶的查詢請求后,云服務(wù)器會對單個加密的隨機(jī)森林安全外包方案模型執(zhí)行推理并計算聚合的結(jié)果.
考慮到現(xiàn)實(shí)世界中數(shù)據(jù)流的存在,文獻(xiàn)[57]將模型訓(xùn)練和推理過程動態(tài)連接在一起,即模型可以針對標(biāo)簽數(shù)據(jù)和無標(biāo)簽數(shù)據(jù),在訓(xùn)練和推理中來回切換,并提出了EnclaveTree 方案.該方案包含2 個執(zhí)行區(qū)以及2 個緩沖區(qū):透明訓(xùn)練區(qū)、透明推理區(qū),訓(xùn)練緩沖區(qū)和推斷緩沖區(qū).緩沖區(qū)用于接收加密的帶標(biāo)簽和無標(biāo)簽數(shù)據(jù),分別進(jìn)行訓(xùn)練和推理.EnclaveTree方案會周期性讀取一批數(shù)據(jù)樣本進(jìn)行訓(xùn)練,并用矩陣盲化技術(shù)進(jìn)行加密.與現(xiàn)有的決策樹方案相比,EnclaveTree 不僅支持?jǐn)?shù)據(jù)流處理,且通信和計算開銷更小.此外,文獻(xiàn)[58]結(jié)合樹編碼方法、共享無關(guān)選擇功能和安全計算構(gòu)造了決策樹外包方案,隱藏決策樹評估過程中被訪問節(jié)點(diǎn),并將通信復(fù)雜性優(yōu)化到O(d).
表5 總結(jié)了現(xiàn)有決策樹外包方案對比情況.通過分析可以發(fā)現(xiàn),現(xiàn)有的決策樹外包研究主要關(guān)注模型托管安全問題,而且主要采用HE 或秘密共享實(shí)現(xiàn)數(shù)據(jù)機(jī)密性保護(hù).決策樹推理主要包括3 個部分:特征選擇、比較和路徑評估.對模型托管,尤其是密文模型托管,需要考慮密文比較協(xié)議和路徑評估協(xié)議的設(shè)計,避免比較次數(shù)增多帶來的通信開銷和路徑暴露帶來的信息泄露.
Table 5 Comparison of Decision Tree Outsourced Schemes表5 決策樹外包方案對比
神經(jīng)網(wǎng)絡(luò)[59]是機(jī)器學(xué)習(xí)中最為常用的監(jiān)督學(xué)習(xí)算法,也是深度學(xué)習(xí)算法的核心.神經(jīng)網(wǎng)絡(luò)由多個人工神經(jīng)元聯(lián)結(jié)組成,包括輸入層、1 個或多個隱藏層和1 個輸出層.除了輸入層外,其他層神經(jīng)元都會進(jìn)行數(shù)據(jù)處理.單層的神經(jīng)網(wǎng)絡(luò)也稱為單層感知機(jī),其只包含輸入層和輸出層,是最小學(xué)習(xí)單元,其模型表示為
其中w和b是模型參數(shù),σ(·)是輸出神經(jīng)元的激活函數(shù).神經(jīng)網(wǎng)絡(luò)可以看作由多個感知機(jī)聯(lián)結(jié)而成.
文獻(xiàn)[60]針對單層感知機(jī)(single layer perceptron,SLP)的訓(xùn)練和推理提出了一種安全外包方案.該方案利用矩陣盲化技術(shù)加密訓(xùn)練數(shù)據(jù)和查詢數(shù)據(jù),保證了數(shù)據(jù)機(jī)密性.不過,文獻(xiàn)[61]指出該方案中用戶端計算開銷為O(n3),并沒有為用戶節(jié)省開銷.對此,文獻(xiàn)[61]將盲化矩陣替換為稀疏矩陣,并設(shè)計了結(jié)果驗(yàn)證協(xié)議,在降低用戶計算開銷的同時保護(hù)了計算完整性.不過由于單層感知機(jī)的應(yīng)用較少,不適用于大規(guī)模數(shù)據(jù),因此未有其他外包安全研究繼續(xù)跟進(jìn).
文獻(xiàn)[62]針對深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和推理提出了一種基于多密鑰的安全外包方案.該方案支持多個用戶加密數(shù)據(jù)上傳給云服務(wù)器進(jìn)行模型訓(xùn)練和推理.多密鑰技術(shù)的采用使得云服務(wù)器可以進(jìn)行密文轉(zhuǎn)換,完成模型訓(xùn)練.文獻(xiàn)[63]引入了雙云模式,采用加性秘密共享和數(shù)據(jù)分割完成了區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(region convolutional neural network,R-CNN)的安全訓(xùn)練外包.相比采用多密鑰和秘密共享對訓(xùn)練數(shù)據(jù)加密引入了額外的計算開銷,文獻(xiàn)[64]借鑒了聯(lián)邦學(xué)習(xí)的思想,將深度神經(jīng)網(wǎng)絡(luò)(deep neural network,DNN)的訓(xùn)練分為2 部分.多個用戶在本地訓(xùn)練DNN的初始層進(jìn)行特征提取,然后上傳特征,將剩余層訓(xùn)練外包給云服務(wù)器.該方案可以避免數(shù)據(jù)加密操作的同時防止數(shù)據(jù)泄露.除此之外,文獻(xiàn)[65]采用秘密共享,引入了3 個云服務(wù)器完成DNN 的模型訓(xùn)練;而文獻(xiàn)[66]采用了矩陣盲化技術(shù)加密訓(xùn)練樣本,降低了用戶和云端的計算開銷.不過文獻(xiàn)[66]方案并未對模型更新中的非線性計算部分給出說明,其方案有效性存在疑問.
除了模型訓(xùn)練外包外,文獻(xiàn)[67]還考慮了分布式學(xué)習(xí)框架下模型訓(xùn)練后的托管問題.為了避免模型的泄露,引入了一個監(jiān)管者共同托管模型,監(jiān)管者和云服務(wù)器同構(gòu)MPC 協(xié)議,重構(gòu)乘法和非線性LReLU 激活函數(shù),并分享基于查詢數(shù)據(jù)的計算結(jié)果.文獻(xiàn)[68]提出了一種用于醫(yī)療診斷的神經(jīng)網(wǎng)絡(luò)推理外包方案MediSC,該方案針對神經(jīng)網(wǎng)絡(luò)中的線性層和非線性層設(shè)計了計算協(xié)議,同時采用秘密共享技術(shù),減少了服務(wù)器和用戶之間的交互,降低了延遲.除了醫(yī)療場景外,文獻(xiàn)[69-70]還分別考慮了移動式磁感測定系統(tǒng)中的特征提取和圖像去噪服務(wù).此外,文獻(xiàn)[71]針對模型推理過程中存在的延遲問題做出了改進(jìn),但是方案的計算和通信開銷較大,跟進(jìn)研究[72-73]對此做了改進(jìn).文獻(xiàn)[74]考慮了惡意用戶存在的情況;文獻(xiàn)[75-80]引入了雙云設(shè)置加快計算進(jìn)程.如圖11 所示,雙云模式中,數(shù)據(jù)采用秘密共享協(xié)議進(jìn)行分割,然后分別發(fā)給2 個云服務(wù)商.服務(wù)商之間采用MPC協(xié)議進(jìn)行模型計算,得到的結(jié)果也采用秘密共享形式分別發(fā)給用戶.最后,用戶組合得到結(jié)果.除此之外,文獻(xiàn)[81-84]也考慮了惡意云存在的情況,將雙云設(shè)置拓展到多云設(shè)置,解決了在誠實(shí)多數(shù)環(huán)境下的模型推理安全問題.
Fig.11 DNN inference in two cloud modes圖11 雙云模式下的DNN 推理
表6 總結(jié)了已有的神經(jīng)網(wǎng)絡(luò)外包方案的對比情況.可以看到,神經(jīng)網(wǎng)絡(luò)外包方案已經(jīng)逐漸由單云模式轉(zhuǎn)向多云模式.相比于其他的分類模型,神經(jīng)網(wǎng)絡(luò)的模型訓(xùn)練和計算更為復(fù)雜.因此,多云模式可以引入秘密共享協(xié)議,比密文計算更能提升方案計算效率.相對于單云模式,多云模式中常采用GC 和秘密共享,在實(shí)用性方面其通信開銷仍然較大.現(xiàn)有采用多云模式的外包方案已經(jīng)考慮了惡意云服務(wù)商的威脅,但是其解決方案是引入多云,且沒有考慮出現(xiàn)共謀情況下的數(shù)據(jù)和模型隱私安全.
Table 6 Comparison of Neural Network Outsourced Schemes表6 神經(jīng)網(wǎng)絡(luò)外包方案對比
通過對典型機(jī)器學(xué)習(xí)安全外包計算研究深入調(diào)研,可以發(fā)現(xiàn)面向應(yīng)用型的外包計算研究已經(jīng)從簡單模型拓展到復(fù)雜模型,但是由復(fù)雜的訓(xùn)練外包轉(zhuǎn)向模型托管.盡管目前大多數(shù)外包方案主要基于半可信威脅,但是仍有研究嘗試解決惡意云服務(wù)器和惡意用戶存在下的數(shù)據(jù)隱私保護(hù)問題.相比針對基礎(chǔ)計算的安全外包方案,機(jī)器學(xué)習(xí)安全外包計算研究在數(shù)據(jù)保護(hù)技術(shù)的選擇和協(xié)議構(gòu)建上更注重實(shí)際應(yīng)用.比如,決策樹外包研究在解決模型托管問題時,主要采用HE 或秘密共享而非計算開銷極大的FHE.除此之外,單云模式中引入可信實(shí)體以及采用多云模式分擔(dān)計算,也是為適應(yīng)實(shí)際模型計算中的數(shù)據(jù)機(jī)密性保護(hù)做出的努力.
根據(jù)調(diào)研分析,總結(jié)3 個機(jī)器學(xué)習(xí)安全外包計算研究進(jìn)展趨勢:
1)數(shù)據(jù)保護(hù)技術(shù)由單一趨向混合.面向簡單分類模型的外包方案一般采用單一的加密技術(shù),如FHE或加性HE,而面向決策樹和神經(jīng)網(wǎng)絡(luò)的外包方案較多采用HE、GC 和秘密共享的兩者結(jié)合或三者結(jié)合.混合技術(shù)的使用避免了開銷過大的密文計算,同時也減少了用戶與云服務(wù)器的交互,易于方案的實(shí)際部署.
2)問題的解決思路多樣化.基礎(chǔ)計算的安全外包方案按照計算類型設(shè)計數(shù)據(jù)保護(hù)協(xié)議,但面向機(jī)器學(xué)習(xí)的外包方案中由于每種模型涉及的計算操作不同,較多且復(fù)雜,因此協(xié)議設(shè)計可以依據(jù)模型特點(diǎn)做出改變.比如,在決策樹外包計算研究中可以將決策樹模型轉(zhuǎn)換成決策表,由密文搜索代替密文比較.在支持向量機(jī)外包計算研究中則可采用增加用戶和服務(wù)器交互,對中間結(jié)果進(jìn)行加解密,解決密文的非線性計算問題.
3)威脅模型開始討論惡意云服務(wù)器和惡意用戶的存在.盡管在面向簡單模型的安全外包研究中較少考慮惡意云服務(wù)器和惡意用戶對數(shù)據(jù)隱私的威脅,但是有研究已經(jīng)針對惡意用戶提出了身份認(rèn)證的要求,且考慮引入多云解決惡意云服務(wù)器對模型計算安全造成的威脅.不過與傳統(tǒng)的計算完整性保護(hù)不同,現(xiàn)有研究提出的解決方案主要針對隱私保護(hù),即數(shù)據(jù)隱私和模型隱私,未針對驗(yàn)證問題提出相應(yīng)的驗(yàn)證機(jī)制.
通過對現(xiàn)階段機(jī)器學(xué)習(xí)安全外包研究現(xiàn)狀的深入調(diào)研,發(fā)現(xiàn)機(jī)器學(xué)習(xí)安全外包研究雖然已經(jīng)取得了一些顯著的成果,但是仍然存在不足之處.本節(jié)從待改進(jìn)、未解決和新出現(xiàn)3 個層面分析總結(jié)機(jī)器學(xué)習(xí)安全外包研究面臨的問題和挑戰(zhàn)以及潛在機(jī)遇.
為了保護(hù)數(shù)據(jù)機(jī)密性,目前大多數(shù)機(jī)器學(xué)習(xí)安全外包方案大多采用犧牲通信或計算來換取數(shù)據(jù)安全,即采用多云模式結(jié)合數(shù)據(jù)分割或者單云模式結(jié)合HE.但是,從外包計算的實(shí)用角度來看,密文計算或多云租賃不僅對用戶的本地計算提出挑戰(zhàn),也增加了云端消耗,即用戶花費(fèi).特別對于模型托管中的查詢用戶來說,查詢前的數(shù)據(jù)加密操作和查詢過程密文計算造成的延遲都可能降低用戶的模型使用意愿,不利于模型所有者的商業(yè)發(fā)展目的.因此,如何同步平衡外包方案中的計算和通信開銷、減少用戶本地消耗、降低用戶和云服務(wù)器的交互輪次,是機(jī)器學(xué)習(xí)安全外包研究目前待改進(jìn)的問題.
計算完整性保護(hù)是外包計算安全研究的核心之一,但是面向機(jī)器學(xué)習(xí)的安全外包方案大部分只考慮半可信威脅,即數(shù)據(jù)隱私問題.盡管有研究者探索了在惡意云環(huán)境下的安全性問題,但是只涉及簡單分類器,如支持向量機(jī)[40]、單層感知機(jī)[61],面向復(fù)雜模型(如神經(jīng)網(wǎng)絡(luò))的計算完整性保護(hù)工作仍存在空白.現(xiàn)實(shí)世界中,單云模式中可能因?yàn)槌霈F(xiàn)單點(diǎn)故障而計算錯誤.多云模式中如果一方出現(xiàn)惡意計算,則會因?yàn)楸O(jiān)管缺失無法判定責(zé)任所屬.此外,模型訓(xùn)練中的計算完整性也同樣重要.關(guān)于機(jī)器學(xué)習(xí)的模型安全研究[85]已經(jīng)發(fā)現(xiàn)后門攻擊可以在不破壞模型性能的情況下對模型安全造成影響.盡管目前后門攻擊只涉及明文模型,但是這也說明僅通過驗(yàn)證數(shù)據(jù)集判定模型性能是否良好不足以保護(hù)計算完整性.因此,為用戶設(shè)計模型完整性和結(jié)果正確性驗(yàn)證機(jī)制可以有效增強(qiáng)機(jī)器學(xué)習(xí)外包方案的安全性,這也是機(jī)器學(xué)習(xí)安全外包研究目前未解決的問題.
現(xiàn)有的機(jī)器學(xué)習(xí)安全外包研究已經(jīng)考慮了多用戶多數(shù)據(jù)源場景下的模型訓(xùn)練外包問題,說明數(shù)據(jù)多樣性有助于模型性能提升.但是,多用戶場景存在用戶異構(gòu)性,即用戶數(shù)據(jù)、計算能力和需求不同,異構(gòu)性會影響外包方案的實(shí)際部署.為解決這一問題,可以考慮遷移學(xué)習(xí)的安全外包.遷移學(xué)習(xí)可以在較少訓(xùn)練數(shù)據(jù)情況下訓(xùn)練高性能模型,同時減少訓(xùn)練時間和計算資源.在公眾數(shù)據(jù)安全意識提高和數(shù)據(jù)獲取困難的情況下,用戶可以在較少數(shù)據(jù)時利用遷移學(xué)習(xí)訓(xùn)練模型.因此,設(shè)計遷移學(xué)習(xí)安全外包方案,幫助模型所有者安全托管教師模型,支持多用戶采用云資源按需訓(xùn)練學(xué)生模型,以及如何實(shí)現(xiàn)數(shù)據(jù)短缺下的模型訓(xùn)練,是機(jī)器學(xué)習(xí)安全外包研究新出現(xiàn)的挑戰(zhàn).
機(jī)器學(xué)習(xí)技術(shù)推動了現(xiàn)代社會的數(shù)字化發(fā)展,企業(yè)借助云資源完成產(chǎn)品和服務(wù)的智能化優(yōu)化,具有廣泛應(yīng)用,然而云計算安全問題逐漸顯露引起了學(xué)術(shù)界的廣泛關(guān)注.本文通過深入調(diào)研面向機(jī)器學(xué)習(xí)的安全外包研究成果,按任務(wù)階段和云服務(wù)商數(shù)量對模型進(jìn)行分類,總結(jié)了不同分類模式下外包模型的特點(diǎn).同時發(fā)現(xiàn),現(xiàn)有研究的外包模型趨向模型推理,且較多采用多云模式.然后,集中分析了國內(nèi)外的相關(guān)研究工作,按邏輯回歸、樸素貝葉斯分類、支持向量機(jī)、決策樹和神經(jīng)網(wǎng)絡(luò)等算法討論了目前取得的研究進(jìn)展.最后,從不同角度分析和討論了目前機(jī)器學(xué)習(xí)安全外包研究待改進(jìn)、未解決以及新出現(xiàn)的問題,并探討了未來面臨的挑戰(zhàn)和機(jī)遇.
作者貢獻(xiàn)聲明:陳珍珠提出了整體框架,負(fù)責(zé)內(nèi)容設(shè)計、論文撰寫和最后版本修訂;周純毅負(fù)責(zé)完成文獻(xiàn)整理、分析和最終審核;蘇铓針對論文框架和表述提出指導(dǎo)意見并修改論文;高艷松針對研究進(jìn)展分析提出了指導(dǎo)意見并進(jìn)行了完善;付安民針對整體論文提出了指導(dǎo)意見并修改論文.