劉 東,裴錫凱,賴金山,王瑞錦*,張鳳荔
(1. 電子科技大學計算機科學與工程學院 成都 611731;2. 成都民航空管科技發(fā)展有限公司 成都 610042;3. 電子科技大學信息與軟件工程學院 成都 610054)
隨著互聯(lián)網(wǎng)和物聯(lián)網(wǎng)的高速發(fā)展,手機、平板和電腦成了人們?nèi)粘I钪斜夭豢缮俚倪吘壷悄苡嬎阍O(shè)備[1]。通常,邊緣智能計算場景包括智能醫(yī)療、智能家居、智能交通、智能教育等。邊緣計算從云端計算延伸,在邊緣部署地理分布的邊緣網(wǎng)關(guān)網(wǎng)絡(luò),提供更接近物聯(lián)網(wǎng)設(shè)備的計算能力。在傳統(tǒng)的云端計算模式下,邊緣智能終端直接將本地模型發(fā)送到云端進行計算處理,機器學習的集中訓練模式可能會帶來一些安全隱患,這種模式容易被攻擊者攔截并發(fā)起隱私攻擊[1-2]。此外,由于分布式用戶數(shù)據(jù)具有多源特性、異質(zhì)性等特點,集中處理會帶來很大的資源開銷和安全風險。邊緣智能計算通過擴展邊緣云端對中心云端進行補充,使得網(wǎng)絡(luò)邊緣能夠滿足計算和存儲此類應用的要求[3]。
聯(lián)邦學習是一種新型的分布式框架,與傳統(tǒng)的集中式機器學習相比,具有更好的隱私保護功能。它的原理是組合多個分布式設(shè)備,保護本地各種設(shè)備協(xié)調(diào)下的數(shù)據(jù)集,共享局部模型參數(shù),可以獲得更準確的機器學習模型來自訓練和學習,從而實現(xiàn)數(shù)據(jù)的“可用隱身”。
聯(lián)邦學習[4]是谷歌在2016 年首次提出的分布式機器學習模式,目的是為了解決數(shù)據(jù)交換過程中存在的隱私泄露問題。傳統(tǒng)的聯(lián)邦學習系統(tǒng)是服務(wù)器和客戶端模式,分為橫向聯(lián)邦學習、縱向聯(lián)邦學習和聯(lián)邦遷移學習,其中聯(lián)邦遷移學習不對數(shù)據(jù)進行切分,利用遷移學習來克服標簽不足的情況[5]。對比傳統(tǒng)的機器學習,服務(wù)器將模型參數(shù)分配給不同的客戶端,客戶端只上傳模型參數(shù)而不上傳原始數(shù)據(jù),從而可以將數(shù)據(jù)保存在本地,從一定程度上保護了用戶隱私。
在現(xiàn)階段的研究中,融合邊緣智能計算和聯(lián)邦學習的方案具有邊緣化、分布式、資源動態(tài)性等特征,同時使隱私保護和合作共享成為可能。但是由于隱私攻擊模型的出現(xiàn),如梯度泄露攻擊、重放攻擊,使得模型的隱私性受到威脅。文獻[6]指出,在智能家居中傳感器與大量的用戶隱私相關(guān)聯(lián),在數(shù)據(jù)的產(chǎn)生、傳輸、處理過程中都存在著隱私泄露的風險。文獻[7]指出,車聯(lián)網(wǎng)的部署在提供定位服務(wù)的同時也存在隱私泄露的風險。文獻[8]通過將釋放出的Netflix 數(shù)據(jù)集與IMDb 數(shù)據(jù)集進行關(guān)聯(lián)就挖掘出了一部分用戶的敏感信息,隨后在推薦中對于數(shù)據(jù)的隱私保護方法進行了大量嘗試,如匿名化、差分隱私、本地化的差分隱私、同態(tài)加密算法、安全多方計算等與推薦方法的結(jié)合;以及機器學習思想在推薦中的嘗試,如對抗機器學習、對抗樣本生成等,都在一定程度上保護了用戶的隱私和安全。文獻[8] 設(shè)計了一個安全聚合方案,在聚合期間使用戶能夠更新加權(quán)向量平均,消除用戶間的致盲因子。文獻[9] 基于協(xié)同學習設(shè)計了 GAN 攻擊,使惡意用戶加入訓練過程并生成誠實的數(shù)據(jù)集用戶。文獻[10] 添加拉普拉斯噪聲到神經(jīng)網(wǎng)絡(luò)中的梯度以滿足差分隱私。盡管如此,文獻[11]指出雖然添加梯度噪聲可以保證隱私,但它的簽名大大降低了模型的準確性。文獻[12]提出了一種基于加法同態(tài)加密的協(xié)同學習系統(tǒng)。
設(shè)D和D'是相鄰數(shù)據(jù)集,即只有一個樣本不同。對于查詢函數(shù)f,如果滿足式(1),則f滿足差分隱私:

式中, ε代表隱私度, ε越大代表數(shù)據(jù)可用性越高,越小代表隱私保護程度越高,相應地,添加的噪聲越大,當ε 為0 時,代表沒有添加差分隱私; δ代表置信度參數(shù),在嚴格差分隱私中, δ為 0,當δ>0時,為近似差分隱私,在實際工業(yè)中,近似差分隱私被廣泛使用。
高斯機制:給定一個數(shù)據(jù)集D和查詢函數(shù)f,則提供差分隱私的機制M滿足:

式中, σ代表標準差,需滿足:


在第t輪訓練中,傳輸?shù)臄?shù)據(jù)量為L,信道帶寬為B,因此傳輸時間為mt=L/B。設(shè)P為第t輪訓練的功率,那么產(chǎn)生的能量消耗為LP/B。
表1 描述了本文方案相關(guān)算法。

表1 相關(guān)算法描述表
為了解決邊緣計算場景下訓練全局機器學習模型的隱私泄露問題,設(shè)計了一種使用安全多方計算框架的聯(lián)邦學習系統(tǒng)。該系統(tǒng)包括一個云端和多個可以與之通信的邊緣網(wǎng)關(guān),且邊緣網(wǎng)關(guān)和邊緣智能終端可以相互通信。圖1 為該系統(tǒng)架構(gòu),系統(tǒng)中有3 種實體。

圖1 系統(tǒng)架構(gòu)
1)邊緣智能終端:作為聯(lián)邦學習任務(wù)的參與者,有不同數(shù)量的數(shù)據(jù)集和不同的計算能力,它們的加密數(shù)據(jù)集旨在訓練一個模型。
2)邊緣網(wǎng)關(guān):是邊緣智能終端和云端的鏈接,具有更強的計算能力和更大的存儲空間。它們從邊緣智能終端收集加密數(shù)據(jù)并訓練模型,并將訓練好的模型參數(shù)發(fā)送到云端進行聚合。
3)云端:是本文方案中的參數(shù)服務(wù)器。負責分發(fā)初始訓練模型、聚合和更新模型參數(shù)。
首先,邊緣智能終端使用不同的本地數(shù)據(jù)隱私保護,然后上傳到邊緣網(wǎng)關(guān)進行數(shù)據(jù)聚合,邊緣網(wǎng)關(guān)數(shù)據(jù)聚合后,對本地模型進行訓練,并對模型進行PPCEF,然后上傳到云端進行模型聚合,云端將模型聚合后,再下放到各邊緣網(wǎng)關(guān)進行更新。


最后,由于個人掩碼的存在,聯(lián)邦學習的每個參與者無法知道單個邊緣網(wǎng)關(guān)上傳的本地模型梯度,這保證了每個邊緣網(wǎng)關(guān)的隱私。 由于秘密共享算法的存在,惡意用戶都不能通過共謀攻擊來攻擊系統(tǒng)中的參與者。 這種安全性在理論上是有保證的,同時邊緣網(wǎng)關(guān)也有一定的冗余性。 因為公共掩碼的存在,全局模型梯度在傳輸過程中不暴露,保證了全局模型梯度的安全性。其算法流程如圖2 所示。

圖2 PPCEF 隱私保護算法流程圖
在進行聯(lián)合學習之前,系統(tǒng)需要設(shè)置一些必要的參數(shù),以保證系統(tǒng)傳輸和安全的需要。
1) 生成云端邊緣網(wǎng)關(guān)和云端公鑰證書,進行身份認證,實現(xiàn)公鑰與身份的唯一綁定關(guān)系。系統(tǒng)主要使用公鑰和私鑰對 (dSK,dPK)進行身份認證和消息認證。
2) 從云端生成一個安全質(zhì)數(shù)k,k的位數(shù)必須大于1 024。
3) 為秘密共享算法指定一個有限字段F。
4) 在各邊緣終端與邊緣網(wǎng)關(guān)、邊緣網(wǎng)關(guān)與云端之間建立相應的通信路徑。在實驗中使用一個相對簡單的socket 機制來實現(xiàn)每個參與者之間的通信互連。
5) 設(shè)置秘密共享協(xié)議的參數(shù)n和t。
6) 所有參與訓練的邊緣網(wǎng)關(guān)都誠實地使用云端提供的安全質(zhì)數(shù)k,來生成與DH 密鑰交換協(xié)議相關(guān)的參數(shù)p p ←KA.param(k)。
1) 邊緣智能終端對原始數(shù)據(jù)d添加差分隱私保護機制,M(d)=f(d)+N(o,σ2),其中N是高斯分布, σ是d的方差。然后將處理后的數(shù)據(jù)發(fā)送到附近的邊緣網(wǎng)關(guān)進行多用戶數(shù)據(jù)聚合。

3) 云端收集參與訓練的邊緣網(wǎng)關(guān)發(fā)送的信息,當收集一定時間且記錄的參與訓練的邊緣網(wǎng)關(guān)數(shù)量未達到t及以上時,聚合訓練將被中斷。 否則,云端廣播訓練網(wǎng)關(guān)集合U1 和簽名公鑰信息。
1) 參加訓練的邊緣網(wǎng)關(guān)收到終端集U1 和云端廣播的簽名公鑰信息集后檢查時間戳;驗證

1) 參與的邊緣網(wǎng)關(guān)接收簽名秘密來自云端的信息并將其保存為列表。

1) 邊緣網(wǎng)關(guān)從云端接收邊緣網(wǎng)關(guān)集U3, ?如果U3 2) 邊 緣 網(wǎng) 關(guān) 將μu←(U3||SIG.sign(duSK,U3||timestamp))發(fā)送到云端。 3) 云端從至少t個邊緣網(wǎng)關(guān)處收集μu(用U4 ?U3表示這組用戶),向U4 中的每個邊緣網(wǎng)關(guān)發(fā)送集{v,μu}v∈U4。 本實驗采用MNIST[13-14]數(shù)據(jù)集和CIFAR10[15]數(shù)據(jù)集進行對比分析。將原有的聯(lián)邦學習算法作為比較基準,并將基于主流隱私保護方案的聯(lián)邦學習驗證隱私方法與PPCEF 進行比較,以實現(xiàn)對比分析。 4.2.1 精度 3 種方案在MNIST 數(shù)據(jù)集上進行訓練,得到圖3 所示的ACC(精度)曲線。可以看出,使用MNIST[12]數(shù)據(jù)集進行16 輪訓練后,本文的PPCEF 模型準確率達到90%。在使用CIFAR10 數(shù)據(jù)集時,從圖4可以看到,經(jīng)過30 輪訓練,PPCEF 模型的準確率達到了95%,它更接近于原始的聯(lián)合學習,但明顯高于差異隱私方案。 圖3 3 種方案的精度比較(MNIST) 圖4 3 種方案的精度比較(CIFAR10) 可以看出,原始的聯(lián)邦學習方案精度略高于PPCEF,但原始聯(lián)邦學習沒有添加隱私保護方案,存在隱私風險,而面對一個不安全的網(wǎng)絡(luò)環(huán)境,隱私保護方案是必不可少的。 4.2.2 防隱私攻擊能力 學習系統(tǒng)使用該安全方案,由于梯度添加掩碼,使得即使在迭代后,虛擬梯度最大程度接近“真實梯度”,但“真實梯度”是添加掩碼的虛假梯度,所以無論迭代多少次,攻擊者只有無用的虛假梯度,因此,原始圖像不能從梯度恢復。使用梯度泄漏攻擊[14]來測試PPCEF 的反隱私攻擊能力,并將PPCEF 攻擊結(jié)果與原始聯(lián)邦學習攻擊結(jié)果進行比較。當原始聯(lián)邦學習迭代次數(shù)為130 時,原始圖像基本恢復。但是,由于PPCEF 在梯度上添加了掩碼,原始圖像不會暴露。 4.2.3 邊緣網(wǎng)關(guān)能耗對比分析 分析了FedAvg[15]、q-FedSGD[16]和PPCEF 中各邊緣網(wǎng)關(guān)參與聯(lián)邦學習的總能量消耗,能量消耗描述了參與聯(lián)邦學習的成本。 表2 給出了3 種算法中每個邊緣網(wǎng)關(guān)學習的總能耗。3 種算法下各邊緣網(wǎng)關(guān)的能耗分布趨勢和時間分布是相似的。 表2 能耗比較 s 在當前的邊緣計算網(wǎng)絡(luò)中,隱私安全問題尤為突出。因此,如何將傳統(tǒng)的隱私保護方案與邊緣計算環(huán)境中的邊緣數(shù)據(jù)處理特征相結(jié)合,從而實現(xiàn)多元化服務(wù)環(huán)境下的用戶隱私保護就顯得尤為重要。 本文以邊緣計算為研究對象,介紹了聯(lián)邦學習的訓練框架,設(shè)計了一種基于秘密共享和權(quán)重掩碼的輕量級隱私保護協(xié)議,能夠很好地達到隱私保護的目的。3.7 解除掩碼

4 實驗分析
4.1 實驗配置
4.2 實驗對比分析



5 結(jié) 束 語