王浩竣,梁亞楠,黎琳,李銳
(北京交通大學計算機與信息技術(shù)學院,北京 100091)
近年來,機器學習算法在人工智能領(lǐng)域內(nèi)迅猛發(fā)展,在計算機視覺、自然語言處理和推薦算法等領(lǐng)域都有良好的表現(xiàn)。這些機器學習技術(shù)的成功,都是通過大量數(shù)據(jù)的訓練得到的,然而,一方面隨著人工智能在各個行業(yè)的不斷落地,人們對于數(shù)據(jù)安全和隱私保護的程度在不斷提高;另一方面,在法律層面,法律制定者和監(jiān)管機構(gòu)也出臺了新的法律來規(guī)范數(shù)據(jù)的管理和使用,法律的實施進一步增加了不同組織之間收集和分享數(shù)據(jù)的難度。因此,各方面原因?qū)е略谠S多應用領(lǐng)域,滿足機器學習規(guī)模的數(shù)據(jù)量是難以達到的,人們不得不面對難以橋接的數(shù)據(jù)孤島。
為了解決上述數(shù)據(jù)孤島問題,一種可行的方案是谷歌的McMahan等于2016年提出的聯(lián)邦學習(federated learning)。聯(lián)邦學習是多個實體(客戶端)協(xié)作解決機器學習數(shù)據(jù)孤島問題的一種方案,它在一個中央服務器或服務提供商的協(xié)調(diào)下進行,每個客戶端的原始數(shù)據(jù)存儲在本地,無法交換或遷移,滿足了隱私保護和數(shù)據(jù)安全的要求。谷歌的聯(lián)邦學習系統(tǒng)能夠通過智能手機的私人數(shù)據(jù)來更新其Gboard系統(tǒng)(一種虛擬鍵盤系統(tǒng))的輸入預測模型,所有使用Gboard的智能手機的數(shù)據(jù)都可以被用來優(yōu)化模型,而這一過程并不需要將用戶的隱私數(shù)據(jù)從智能手機發(fā)送到中央設(shè)備。
本文主要就聯(lián)邦學習中的隱私保護機制進行調(diào)查和研究,從隱私保護技術(shù)的角度對當前聯(lián)邦學習中的隱私保護的研究文獻進行了分類,目前聯(lián)邦學習中主要采用隱私保護技術(shù)有差分隱私、同態(tài)加密和安全多方計算,部分文獻也混合使用了上述隱私保護技術(shù)的兩種或三種,也有部分文獻使用了其它隱私保護技術(shù)。
本文的主要內(nèi)容如下:
第1節(jié)介紹當前聯(lián)邦學習面臨的主要隱私保護問題,隱私需求部分解釋為什么需要保護聯(lián)邦學習中的梯度,威脅模型部分主要介紹聯(lián)邦學習系統(tǒng)面臨的隱私和安全攻擊手段。
第2節(jié)主要介紹現(xiàn)有的隱私保護及技術(shù),主要有差分隱私、同態(tài)加密和安全多方計算三種。
第3節(jié)對現(xiàn)有聯(lián)邦學習中隱私保護技術(shù)的研究進行了分類,并介紹隱私保護技術(shù)的基本原理和研究現(xiàn)狀,主要從差分隱私、同態(tài)加密、安全多方計算、混合模式和其它方法等五個方面進行介紹。
第4節(jié)總結(jié)本文的工作和未來聯(lián)邦學習隱私保護問題的研究方向。
谷歌提出了一種基于客戶端-服務器架構(gòu)的典型橫向聯(lián)邦學習過程,參與訓練的移動設(shè)備數(shù)據(jù)具有類似的數(shù)據(jù)特征,但是每個移動設(shè)備的數(shù)據(jù)量是不同的,如圖1所示。
圖1 客戶端-服務器架構(gòu)
客戶端-服務器的聯(lián)邦學習過程如下:客戶端使用本地數(shù)據(jù)和收到的初始化模型進行模型訓練,得到更新的模型梯度;客戶端將模型梯度上傳到聚合服務器;服務器進行模型聚合,可以以客戶端數(shù)據(jù)集的規(guī)模為權(quán)重進行模型平均;服務器將新的模型參數(shù)下發(fā)給客戶端,客戶端更新本地模型。
在客戶端-服務器的聯(lián)邦學習過程中,用戶數(shù)據(jù)沒有離開用戶的設(shè)備,數(shù)據(jù)隱私得到了一定程度的保護,但是,Zhu等的研究結(jié)果表明分享梯度會泄露隱私數(shù)據(jù),服務端能夠根據(jù)客戶端上傳的梯度恢復出客戶端的訓練數(shù)據(jù)。因此,在聯(lián)邦學習過程中,客戶端向服務器分享本地模型的更新梯度存在敏感數(shù)據(jù)泄露的隱患。聯(lián)邦學習將需要傳輸?shù)挠柧殧?shù)據(jù)轉(zhuǎn)化為訓練后得到的梯度,需要進行隱私保護的敏感數(shù)據(jù)也隨之變成了梯度,客戶端需要使用隱私保護技術(shù)對梯度進行保護,可以使用的技術(shù)有:同態(tài)加密、安全多方計算和差分隱私等。
聯(lián)邦學習不可能總是提供足夠的隱私保證,也會遭受潛在的隱私攻擊,危及模型和數(shù)據(jù)的完整性。Lyu等詳細地介紹和總結(jié)了聯(lián)邦學習面對的威脅和攻擊。
在聯(lián)邦學習的威脅模型中,通常會受到來自內(nèi)部或外部的攻擊,其中內(nèi)部攻擊往往比外部攻擊要強。對于聯(lián)邦學習的內(nèi)部攻擊,可以采取單一攻擊,拜占庭攻擊和女巫攻擊。
根據(jù)主動性可以將對手分為半誠實的對手和惡意的對手,半誠實的對手被認為是誠實但好奇的,在不違背聯(lián)邦學習協(xié)議的情況下試圖了解其他方的私密狀態(tài);而一個活躍或惡意的對手可以通過修改、重放或刪除消息來隨意違背聯(lián)邦學習協(xié)議,還可以進行毀滅性的攻擊。
聯(lián)邦學習可以分為訓練和推理兩個階段,所以每個階段受到的攻擊也不同。訓練階段的攻擊企圖學習、影響和破壞模型本身,對手可以采用數(shù)據(jù)投毒攻擊和模型投毒攻擊,還可以對參與者的更新發(fā)動一系列推理攻擊。推理階段的攻擊通常不會篡改目標模型,只會導致模型產(chǎn)生錯誤的輸出,或收集關(guān)于模型特征的證據(jù)。
投毒攻擊主要有本地數(shù)據(jù)采集時的數(shù)據(jù)投毒攻擊和在局部模型訓練過程中的模型投毒攻擊。數(shù)據(jù)投毒可以分為clean-label和dirty-label攻擊,clean-label攻擊假設(shè)對手無法改變?nèi)魏斡柧殧?shù)據(jù)的標簽;相比dirty-label攻擊,對手可以將一些它希望用所需目標標簽誤分類的數(shù)據(jù)樣本引入到訓練集中。dirty-label投毒攻擊的常見方式是標簽翻轉(zhuǎn)攻擊和后面攻擊。模型投毒攻擊的目標是在將本地模型更新發(fā)送到服務器之前進行投毒,或者在全局模型中插入隱藏的后門。
推理攻擊則可以分為成員推理攻擊和屬性推理攻擊。成員推理攻擊的目的是確定某一數(shù)據(jù)點是否被用于訓練模型,而屬性推理攻擊則用來推斷其他參與者的訓練數(shù)據(jù)的屬性。
差分隱私是由Dwork等在2006年首次提出的,它提供了量化和限制個人信息泄露的一種輸出隱私保護模型。差分隱私的中心思想是,當攻擊者試圖從數(shù)據(jù)集中查詢個體信息時將其混淆,使得敵手無法從查詢結(jié)果中辨別個體的敏感性,即函數(shù)的輸出結(jié)果對于數(shù)據(jù)集中的任何特定記錄都不敏感,因此,差分隱私能被用來抵抗成員推理攻擊。
定義1((,)-差分隱私)一個隨機化機制,其定義域為?,如果滿足(,)-差分隱私,那么對于任意的輸出集合?Range()和兩個最多只有一個元素不同的相鄰數(shù)據(jù)集和,有:
式(1)中,表示隱私預算;表示失敗概率。一般而言,越小,隱私保護程度越高,噪聲越大,數(shù)據(jù)可用性越差。
差分隱私的主要實現(xiàn)方式是向數(shù)據(jù)添加噪聲,主要有兩種方式,一種是根據(jù)數(shù)值型的輸出函數(shù)的敏感度添加噪聲,比如基于-敏感度的拉普拉斯噪聲(laplace noise)和-敏感度高斯噪聲(gaussian noise);另一種是根據(jù)離散值的指數(shù)分布選擇噪聲。
同態(tài)加密(homomorphic encryption,HE)是一種加密形式,此概念是Rivest等在20世紀70年代首先提出的,一個同態(tài)加密方法H通常由四部分組成,即
其中,為密鑰生成函數(shù),在非對稱加密中,輸入密鑰生成源,輸出用于加密的密鑰對{,}=();為加密算法將明文作為輸入,輸出密文=();為解密算法,即輸入密文,輸出明文=();為評估函數(shù),將密文和公鑰作為輸入,輸出與明文相對應的密文。
它允許數(shù)據(jù)的接收者對加密后的信息進行特定形式的代數(shù)運算,得到的仍然是加密的結(jié)果,將其解密之后所得到的結(jié)果與對明文進行同樣的運算所得到的結(jié)果一致??梢孕问交乇硎緸椋?/p>
式(2)中°為特定形式的代數(shù)運算。
換言之,這項技術(shù)令人們可以在無需對數(shù)據(jù)進行解密的情況下在對加密的數(shù)據(jù)進行諸如檢索、比較等操作時得出正確的結(jié)果。其意義在于,真正從根本上解決將數(shù)據(jù)及其操作委托給第三方時的保密問題,例如對于各種云計算的應用。
同態(tài)加密一直是密碼學領(lǐng)域的一個重要課題,以往人們只找到一些部分實現(xiàn)這種操作的方法。而2009年9月Gentry從數(shù)學 上 提出了“全同態(tài)加密”(fully homomorphic encryption,F(xiàn)HE)的可行方法,即可以在未解密的情況下對加密數(shù)據(jù)進行任何可以在明文上進行的運算,使這項技術(shù)取得了決定性的突破。人們在此基礎(chǔ)上研究更完善的實用技術(shù),這對信息技術(shù)產(chǎn)業(yè)具有重大價值。
安全多方計算(secure multi-party computation,SMPC)最早是由圖靈獎獲得者、中國科學院院士姚期智于1982年正式提出,其目的是從每一方的隱私輸入中協(xié)作計算一個函數(shù)的結(jié)果,而不用將這些輸入展示給其它方。安全多方計算保證了參與方獲得正確結(jié)果的同時,無法獲得計算結(jié)果之外的任何信息。
安全多方計算可以通過三種不同的框架來實現(xiàn):不經(jīng)意傳輸(oblivious transfer,OT)、秘密共享(secret sharing,SS)和閾值同態(tài)加密。本文將在下面內(nèi)容中簡單介紹不經(jīng)意傳輸和秘密共享。
不經(jīng)意傳輸是一種由Rabin在1918年提出的兩方安全協(xié)議,在不經(jīng)意傳輸中,發(fā)送方擁有一個“索引-消息”對,每次傳輸時,接收方選擇一個索引,并接受對應的消息。接收方不能得知數(shù)據(jù)庫的任何其它消息,發(fā)送方也不了解接受方選擇的索引的任何信息。
秘密共享是指將秘密信息分割成若干份,然后將這些秘密份額分給不同的人保管,以達到隱藏秘密和風險分散的目的。一般來說,一個秘密分享方案包含了一個秘密分割算法和一個秘密重建算法,包含了分發(fā)者、持有者和接受者三種角色。分發(fā)者負責將秘密信息通過秘密分割算法進行分割,并發(fā)送給持有者。接收者在需要秘密的時候?qū)γ孛苓M行重建,收集一組持有者的秘密份額,并執(zhí)行秘密重建算法來恢復秘密,當有足夠的秘密份額時就可以得到秘密信息。常用的一種秘密共享的方法是shamir秘密共享(shamir’s secret sharing),是基于多項式方程構(gòu)建的。
聯(lián)邦學習中目前主要使用的隱私保護機制有三種:差分隱私、同態(tài)加密和安全多方計算,部分研究人員也混合使用了兩種或者三種來實現(xiàn)更好的隱私保護,也有研究人員采用了一些其它的隱私保護方式。本節(jié)將從以下五個方面來介紹聯(lián)邦學習中的隱私保護機制。
差分隱私機制通常被應用在聯(lián)邦平均算法FedAvg中,算法的架構(gòu)如圖1所示,客戶端直接將梯度發(fā)送給服務器會向服務器泄露隱私信息,服務器可以通過梯度來推斷客戶端的數(shù)據(jù)集中有無某個樣本。差分隱私算法可以應用到聯(lián)邦平均算法的過程中,通過添加噪聲的方式來抵抗推理攻擊。差分隱私算法可以根據(jù)噪聲添加的位置分為用戶級和樣本級,樣本級差分隱私算法也可以稱為本地差分隱私(local different privacy,LDP)。
McMahan等率先將差分隱私技術(shù)應用到聯(lián)邦平均算法中。在本地客戶端更新過程中,使用參數(shù)裁剪來限制樣本梯度的大小,在聚合全局模型時,使用差分隱私的高斯機制對縮放后的模型更新添加噪聲,使用Moment accountant算法計算總體隱私損失,實現(xiàn)了用戶級別的隱私保護,其實驗結(jié)果表明,在一個具有足夠多用戶的數(shù)據(jù)集上,實現(xiàn)差分隱私是以增加計算量為代價的,在大型數(shù)據(jù)集上進行訓練時,私有LSTM語言模型在數(shù)量和質(zhì)量上都與無噪聲模型相似。Geyer等也使用了類似的方法在客戶端級別使用差分隱私來隱藏客戶端的貢獻,有所不同的是,前者在本地客戶端進行訓練過程中進行參數(shù)裁剪,而后者在中央服務器進行參數(shù)裁剪,二者參數(shù)裁剪的閾值也不相同。Geyer等還指出在聯(lián)邦學習訓練過程中動態(tài)調(diào)整差分隱私機制可以提高模型性能,并通過實驗表明,在有足夠數(shù)量的參與客戶的情況下,其程序可以在模型性能上以較小的成本維持客戶端級別的差異隱私。
Thakkar等進一步改進了參數(shù)裁剪過程,提出了自適應分位數(shù)裁剪策略,該策略是為迭代隱私機制設(shè)計的,用于訓練具有用戶級別的差分隱私的聯(lián)邦學習模型,從而無需進行大量參數(shù)調(diào)整,然后描述了特定層的噪聲添加策略,后者比基本策略具有更高的實用性。
Agarwal等對二項機制進行了改進和擴展,應用到了分布式向量平均估計(distributed mean estimation,DEM)問題中,在聯(lián)邦學習中,分布式向量可以是模型梯度或參數(shù),Agarwal等的主要思想是:對于每個客戶端,在給服務器發(fā)送梯度之前,將經(jīng)過適當參數(shù)化的二項式分布得出的噪聲添加到每個量化值,服務器進一步減去噪聲引入的偏差,以實現(xiàn)無偏差的均值估計器。還進一步表明,隨機輪換有助于減少因差分隱私導致的附加錯誤。
Bhowmick等針對大規(guī)模分布式學習和聯(lián)邦學習,提出了一種針對不同隱私要求的統(tǒng)計學習問題的最小最大(minimax)差分隱私機制,提出了一個新的聯(lián)邦學習隱私保護框架:在客戶端本地計算模型參數(shù)更新的過程中,使用自身提出的本地隱私保護機制保護本地數(shù)據(jù),在中央服務器執(zhí)行聚合過程中,使用差分隱私保證模型參數(shù)的通信過程是全局私有的。整個反饋環(huán)路提供了有效的隱私保護,用戶的本地數(shù)據(jù)不會傳輸?shù)街醒敕掌鳎惺诫[私保護能夠保證過程和最終參數(shù)都不存在敏感性披露的風險。
Li等研究了元學習背景下的隱私問題,提出了一種基于梯度元學習的差分隱私算法,該算法在每次任務內(nèi)迭代時使用了高斯機制的差分隱私梯度下降,保護了任務中的單個樣本的隱私,在凸環(huán)境下具有學習保證,并證明了在聯(lián)邦語言模型和小樣本圖像分類任務中具有出色的性能。
Triastcyn等提出了一種新的貝葉斯差分隱私框架和一種實用的隱私損失計算方法,貝葉斯差分隱私是對類似分布數(shù)據(jù)的差分隱私的放松版本。文獻將差分隱私框架應用到聯(lián)邦環(huán)境中,并使用提出的隱私損失計算方法估算客戶的隱私保證;文獻強調(diào)了樣本級差分隱私的重要性,并提出了估計樣本級隱私損失的兩種變體;最后,文獻介紹了一種新的聯(lián)合計算隱私損失的方法,可以同時估計客戶端級別和樣本級別的隱私。
Liu等針對聯(lián)邦梯度下降算法提出了一個兩階段的本地差分隱私框架FedSel,其關(guān)鍵思想是首次嘗試通過延遲不重要的梯度來減輕注入噪聲的維度問題。FedSel由兩個階段組成,分別是“維度選擇”和“值擾動”,文獻列舉了三種“維度選擇”的方法,并提供了對應的隱私保證。從理論上分析了FedSel的隱私、準確度和時間復雜度,其性能優(yōu)于最新的解決方案,在現(xiàn)實世界和合成數(shù)據(jù)集上進行實驗,測試了FedSel框架的有效性和效率。
Truex等提出了LDP-Fed,使用本地差分隱私(local differential privacy,LDP)提供正式的隱私保證。LDP-Fed主要有兩個新的組件:在每個客戶端運行的本地差分隱私模塊和k-客戶端選擇模塊,前者使用指數(shù)機制和CLDP(本地差分隱私的變體)提供隱私保護,后者用于在迭代LDP-Fed訓練過程的各個回合中選擇性共享模型參數(shù)更新。
Liang等將基于拉普拉斯平滑(laplaian smoothing)的訓練效果增強方案應用到差分隱私聯(lián)邦學習過程中,在梯度聚合時注入了高斯噪聲,在模型精度上得到了改善,并為均勻二次抽樣和泊松二次抽樣提供了嚴格的封閉形式的隱私邊界,得出了差分私有聯(lián)邦學習的差分隱私保證。
Sabater等提出了一種新穎的差分私有的平均協(xié)議——GOPA(gossip noise for private averaging,GOPA)。該協(xié)議可以匹配可信管理者設(shè)置的準確性,同時自然地擴展到大量用戶??蛻舳诵枰獙煞N噪聲加到私有值上,第一種噪聲是客戶端與相鄰客戶端交換的高斯噪聲,該噪聲在聚合時可以相互抵消;第二種噪聲是獨立的服從高斯分布的噪聲,無法消除,是對一種噪聲的補充,文獻分析了GOPA協(xié)議的差分隱私保證和在面對惡意行為時的正確性。另外,文獻通過承諾方案和零知識證明,保證了用戶能夠證明他們計算的正確性,而又不影響協(xié)議的效率和保密性。
同態(tài)加密作為計算機安全領(lǐng)域和密碼學領(lǐng)域一項熱門的隱私保護手段被人們廣泛應用,但由于加密算法需要大量的計算成本,在過去只有少量應用于機器學習領(lǐng)域的嘗試,但由于技術(shù)的不斷進步,以及社會的需求,人們對隱私保護的需求遠遠大于對計算資源的需求,進而也逐步應用到聯(lián)邦學習之中。在聯(lián)邦學習中,同態(tài)加密大多用于對客戶端所上傳的梯度進行保護,具體流程如圖2所示。
圖2 基于同態(tài)加密的聯(lián)邦學習模型訓練過程
Hardy等提出了基于縱向聯(lián)邦學習的隱私保護兩方的邏輯回歸算法,該算法指定了一個協(xié)調(diào)方,以及兩個數(shù)據(jù)提供者,利用Paillier算法進行安全梯度下降,來訓練邏輯回歸模型,其中利用Paillier算法的加密的掩碼和各方計算得到的中間數(shù)據(jù)進行加法運算以及常數(shù)乘法運算。而在安全梯度下降算法中,雙方交換加密后的中間結(jié)果掩碼。最后則是將加密的梯度信息發(fā)送給協(xié)調(diào)方進行解密以及模型的更新。
Zhang等針對跨組織的場景,提出加速基于同態(tài)加密的安全聚合方案BatchCrypt,并減少一定量的通信開銷。Zhang等設(shè)計了一種梯度量化的方法,其加密方案是在量化梯度的基礎(chǔ)上將多個量化梯度編碼到一個整數(shù),對整數(shù)進行進一步的同態(tài)加密操作。BatchCrypt對比微眾銀行所提出的FATE(federated AI technology enabler,FATE)架構(gòu)中的stock方法有很大的性能提升。但是與明文方案對比,性能還是有些差距,尤其是當模型規(guī)模比較大時,性能差距則更加明顯。
Liu等提出了一個基于分類與回歸(classification and regression Trees,CART)樹和bagging的聯(lián)邦森林框架,它既能處理分類問題,又能處理回歸問題,稱為聯(lián)邦森林(federated forest,FF)。FF利用分布式模型存儲策略的預測算法,每次預測只需對整個森林的每棵樹進行一輪集體通信,可以大大減少通信開銷,從而提高預測效率。但FF在處理分類問題的過程中,即使標簽已編碼,仍然可以猜測出真實的標簽值,尤其是對于二叉樹分類;而對于回歸問題,即使可以使用同態(tài)加密對標簽進行加密,建模也將非常耗時。與此類似利用決策樹的還有Cheng等提出的SecureBoost,這也是一種基于聯(lián)邦學習的無損隱私保護樹增強系統(tǒng)。SecureBoost應用于縱向聯(lián)邦學習場景,主要包括數(shù)據(jù)對齊和訓練構(gòu)造Boost樹兩方面,對于數(shù)據(jù)對齊方面,提出了一種在不泄露數(shù)據(jù)標識的情況下尋找數(shù)據(jù)交集的方法;對于訓練構(gòu)造Boost樹方面,特征分割的選擇和葉子的權(quán)重的計算僅依賴于標簽,這是由主動方所提供的,為了保證數(shù)據(jù)安全,使用同態(tài)加密技術(shù)進行處理,且為了能夠使用同態(tài)加密,對數(shù)據(jù)進行處理以除去無法進行同態(tài)加密的運算。
Mandal等設(shè)計了一種稱之為PrivFL的用于聯(lián)邦環(huán)境下對預測模型(如線性和邏輯回歸)進行訓練和遺忘預測的隱私保護系統(tǒng),該方案能夠在用戶退出的情況下保證系統(tǒng)的魯棒性。該系統(tǒng)基于一個加法同態(tài)加密方案和一個聚合協(xié)議,設(shè)計了分別用于訓練線性和邏輯回歸模型的隱私保護協(xié)議,同時利用聯(lián)合學習的訓練算法,設(shè)計出對活躍用戶數(shù)據(jù)的安全多方全局梯度計算。該方案考慮了三種不同的威脅模型:只針對用戶的對手;純服務器對手;用戶-服務器對手,故使用加密的方式保護用戶隱私,但由于采用的是加密方式,相較于其他的隱私保護手段可能會占用更大的通信開銷。并且,Mandal等特意考慮到了在移動端的聯(lián)邦學習,通過迭代執(zhí)行使用適合移動應用的輕量級加密原語構(gòu)建的安全多方全局梯度協(xié)議,使得PrivFL實現(xiàn)了健壯和安全的訓練過程。
在聯(lián)邦學習過程中,很多情況下的模型聚合過程可以視為在不泄露任何一個參與方的私有信息的情況下,安全計算一個函數(shù)的值,這與安全多方計算的思想不謀而合。
Bonawitz等使用安全多方計算在橫向聯(lián)邦學習過程中進行安全聚合,并支持客戶端中途退出,每個客戶端對要傳輸?shù)乃接邢蛄考由蟽蓚€掩碼,得到掩飾值,將兩個掩碼的生成種子使用秘密分享的方式分享給其它用戶,將掩飾值傳輸?shù)椒掌鞫诉M行聚合,服務器端根據(jù)仍然存在的客戶端重建掉線客戶端的生成種子,消除掉線客戶端的掩碼對聚合值的影響,得到完美的聚合值。掩飾值保證了數(shù)據(jù)的私密性,秘密分享提高了協(xié)議的魯棒性,消除掉線用戶的掩碼對聚合值的影響。
Sanil等提出了一種在跨組織的縱向聯(lián)邦學習的場景下訓練回歸模型的方法,每個參與方擁有部分屬性值,在每個參與方不泄露自身數(shù)據(jù)的情況下,共同建立一個回歸模型。在訓練回歸模型的過程中,主要使用了Powell優(yōu)化算法和一個簡單的安全求和協(xié)議,安全求和協(xié)議指定第一個參與方作為負責人,生成一個隨機數(shù),然后每個參與方把自己的私有值加到隨機數(shù)上,之后發(fā)送給下一個參與方,最后的結(jié)果將被重新發(fā)送給第一個參與方,第一個參與方將生成的隨機數(shù)從結(jié)果中減去,得到完美的聚合值。
Zhao等提出一種安全的成員選擇策略(secure member selection strategy,SMSS),在訓練之前評估成員的數(shù)據(jù)質(zhì)量。SMSS利用Shamir的方案共享對稱密鑰,這可以避免惡意客戶端或不正確的數(shù)據(jù)集在不進行數(shù)據(jù)交換的情況下對模型進行訓練;SMSS還使用PSI(private set intersection)解決了實時秘密塊分發(fā)問題,并引入了RANSAC算法來從并非所有正確的機密塊中恢復正確的密鑰。Zhao等通過嚴格的分析顯示了SMSS的可行性和安全行,通過實驗證明了SMSS的高效性和魯棒性。
Xu等提出了一種使用基于函數(shù)加密的SMC協(xié)議保護隱私的聯(lián)合學習方法——Hybrid-Alpha。HybridAlpha引入了一個可信的第三方驗證結(jié)構(gòu)(third party authority,TPA),TPA負責生成公鑰和私鑰,并向每個參與聚合的客戶端發(fā)送不同的公鑰,客戶端完成本地的訓練后,使用差分隱私機制為本地模型參數(shù)添加噪聲,然后使用得到的公鑰加密帶有噪聲的參數(shù)并發(fā)給聚合服務器,服務器收到來自客戶端的一定數(shù)目的向量后,生成一個權(quán)重向量并發(fā)送給TPA,TPA根據(jù)權(quán)重向量生成私鑰返回給聚合服務器,聚合服務器可以根據(jù)函數(shù)加密的解密算法計算聚合值,而不會得到每個服務器的具體信息。HybridAlpha為了防止好奇的服務利用權(quán)重向量進行推理攻擊,在TPA中還附加了一個推理預防模塊,對權(quán)重向量進行審查。Xu等通過實驗驗證HybridAlpha可以提供與現(xiàn)有方案相同的模型性能和隱私保證,并可以減少訓練時間和通信量。
He等提出了一種安全的兩服務器協(xié)議,該協(xié)議可提供輸入隱私和拜占庭的魯棒性,通信效率高,容錯能力強并且可以保證本地差分隱私??蚣苁褂妹孛芊窒韥肀Wo隱私,具體過程是客戶端將私有梯度向量隨機劃分為兩份,分別發(fā)送給兩個服務器A和B,服務器B使用拜占庭魯棒性協(xié)議選擇部分客戶端并生成客戶端索引的二進制向量,將向量秘密分享給服務器A,兩個服務器根據(jù)二進制向量聚合客戶端的秘密份額,然后服務器B將結(jié)果發(fā)送給服務器A得到完整的聚合值,可以在秘密分享過程中添加噪聲以獲得本地差分隱私。
由于使用單一的隱私保護手段都存在著一些不足,或無法保證無損訓練,或占用大量的計算通信資源,為了設(shè)計出適用性更好的聯(lián)邦學習架構(gòu),研究者嘗試融合多種隱私保護手段來達到這一目的。
Truex等提出了一個新的聯(lián)邦學習系統(tǒng),在保證數(shù)據(jù)隱私的基礎(chǔ)上有著比普通的聯(lián)邦學習系統(tǒng)更高的準確率,同時該聯(lián)邦學習系統(tǒng)中包含一個可調(diào)的參數(shù),并表示可以通過這個參數(shù)在系統(tǒng)的準確性和隱私性間做一個權(quán)衡。Truex等組合使用了差分隱私技術(shù)、同態(tài)加密技術(shù)和安全多方計算技術(shù),使用差分隱私保護客戶端數(shù)據(jù)集的隱私,使用同態(tài)加密進行安全聚合,安全多方計算技術(shù)被用來減少差分隱私中的噪聲以提高訓練出來的模型的準確率。
Liu等提出了一種用于移動人群感知的保護隱私的聯(lián)邦極端梯度增強方案FedXGB(federated extreme gradient boosting scheme,FedXGB),該方案通過結(jié)合同態(tài)加密和秘密共享,來防止惡意參與方的攻擊,即每個用戶先通過密鑰協(xié)商函數(shù)計算出與其他用戶共享的掩碼密鑰,并秘密共享它的私有掩碼密鑰,隨機選擇一個隨機值r通過函數(shù)計算掩碼值[[x]]。服務器記錄接收到的掩碼值和發(fā)送者,然后發(fā)布發(fā)送者的列表。列表中的活躍用戶返還g和退出用戶的私有掩碼密鑰的共享;服務器通過共享恢復出退出用戶的私有掩碼密鑰,計算退出用戶與其他用戶之間的共享掩碼密鑰;最后,服務器計算得到聚合結(jié)果。
Nikolaenko等提出一種結(jié)合了同態(tài)加密和姚氏混淆電路的混合嶺回歸方法來保護隱私,其中包含參與方與評估方。該回歸算法可以分為兩個階段,第一階段利用同態(tài)加密來處理計算的線性部分;第二階段利用混亂電路處理非線性部分,執(zhí)行回歸算法的其余操作。該系統(tǒng)利用Paillier作為加性同態(tài)系統(tǒng),使用FastGC作為底層的姚氏混淆電路的框架,構(gòu)建了一個真實的系統(tǒng)。
Xu等提出了名為VerifyNet的框架,設(shè)計了一種基于同態(tài)哈希函數(shù)和偽隨機技術(shù)的方案來支持每個用戶驗證服務器返回結(jié)果的正確性;然后采用一種雙掩碼協(xié)議保證聯(lián)邦學習過程中用戶局部梯度的機密性,同時能夠允許用戶中途退出,并且這些退出的用戶的隱私仍然受到保護,但對于云服務器,需要對所有用戶的加密梯度進行聚合,并在屏蔽輪中還原所有在線用戶的秘密,導致計算和通信開銷較大。
Hao等提出了一種框架稱之為隱私增強聯(lián)邦學習(privacy-enhanced federated learning,PEFL)。PEFL在每聚合中都是非交互式的,將私有梯度的同態(tài)密文(同態(tài)加密使用的是BGV方案,消除了密鑰交換操作并增加了明文空間)嵌入到A-LWE中,實現(xiàn)安全的聚合協(xié)議。同時該框架為了進一步防止隱私從局部梯度和共享參數(shù)中泄露,還使用了分布式高斯機制實現(xiàn)的差分隱私技術(shù)對梯度進行擾亂。PEFL是一種后量子安全且非交互式的協(xié)議,即使多個實體相互串通,也可以防止私有數(shù)據(jù)泄露??梢缘钟评砉簟⒛P头崔D(zhuǎn)攻擊,適合于大規(guī)模用戶場景。
3.1—3.4節(jié)討論了使用差分隱私技術(shù)、安全多方計算技術(shù)、同態(tài)加密技術(shù)在聯(lián)邦學習中進行隱私保護,在聯(lián)邦學習系統(tǒng)中,除了這些隱私保護方法,還有一些其它的隱私保護技術(shù),比如使用可信執(zhí)行環(huán)境、哈希函數(shù)等。
Chen等提出使用可信執(zhí)行環(huán)境(trusted execution environment,TEE)來抵抗模型投毒攻擊。TEE可以依靠公共超參數(shù),強制每個不誠實的參與者在本地運行標準的SGD算法;另外,還可以提供證明和密封的能力,安全區(qū)域內(nèi)的代碼可以獲取使用每個處理器私鑰簽名的消息以及安全區(qū)域的摘要。類似的,Lie等提出在可信硬件SGX上實現(xiàn)Glimmers,它可以在聯(lián)邦學習中提供用戶貢獻的數(shù)據(jù)的可信性保證。同時在客戶端上進行部署,通過驗證用戶貢獻的數(shù)據(jù)是否可信來解決客戶端隱私與服務端信任之間的沖突。
Feng等提出了一種用于聯(lián)邦深度學習的隱私保護方法,該方法可以在加密的情況下支持非線性激活函數(shù)和廣泛使用的損失函數(shù)的操作,從而可以支持半誠實的客戶端使用本地訓練數(shù)據(jù)在加密的模型進行迭代訓練,即保證服務器端模型的保密性,并且使用秘密分享技術(shù)來保障服務器端不能獲得每個客戶端的本地梯度從而保護客戶端的隱私,其主要思想是服務器用一次性隨機數(shù)對全局模型進行加密,然后將其發(fā)送給各個客戶端,客戶端根據(jù)本地訓練數(shù)據(jù)和來自服務器端的加密模型得到本地梯度,使用一次性隨機數(shù)擾動局部梯度,然后將經(jīng)過擾動的局部梯度返回給服務器,保證所有客戶端的一次性隨機擾動值的和為0,服務器就可以得到?jīng)]有噪聲的全局梯度用于更新全局模型。
Triastcyn等提出了FedGP,在客戶端上訓練生成式對抗網(wǎng)絡(generative adversarial networks,GAN),以生成可替代客戶真實數(shù)據(jù)的人工數(shù)據(jù)。使用差分平均案例隱私來估計并限制普通客戶的預期隱私損失,從而增強傳統(tǒng)聯(lián)合學習的隱私。并且證明了在人工數(shù)據(jù)上訓練的下游模型在保持良好的平均案例隱私性和對模型反演攻擊的抵抗力的同時,具有較高的學習性能和準確性。
Liu等將sketching算法應用于聯(lián)邦學習中,當用戶計算本地梯度后,利用sketching算法的獨立哈希函數(shù)混淆原始數(shù)據(jù),它主要通過用戶擁有的秘密哈希索引和種子來隱藏每一輪模型更新的身份,并基于精度和空間的權(quán)衡,選擇合適的壓縮比,得到壓縮后的梯度,然后再將該梯度發(fā)送給服務器進行聚合,聚合后的梯度返還給用戶。用戶查詢已知的哈希索引獲取更新的梯度并在本地更新。該方案不僅能夠?qū)崿F(xiàn)聯(lián)邦學習任務的隱私性,還能同時保持或提高準確性和性能。
Choudhury等提出了一種在聯(lián)邦學習環(huán)境中保證隱私的語法方法(syntactic approach)。訓練階段采用基于(),k匿名的方法來對每個客戶端上的本地數(shù)據(jù)進行匿名化,使用匿名的局部數(shù)據(jù)集訓練模型,然后將參數(shù)更新合并到全局模型中,每個客戶端只共享由匿名數(shù)據(jù)訓練的模型參數(shù)。預測過程中,則利用全局匿名映射語法將樣本映射到適當?shù)牡葍r類進行聯(lián)邦學習預測。
Liu等提出了一種名為Forsaken的聯(lián)合學習框架,其為用戶提供了消除記憶(消除法)的服務,具體來說就是每個用戶都部署有可訓練的虛擬梯度生成器,經(jīng)過訓練步驟后,生成器可以產(chǎn)生虛擬梯度來刺激機器學習模型的神經(jīng)元,從而消除特定數(shù)據(jù)的記憶,并用遺忘率(FR)來評估記憶消除的性能,且不需要重新訓練機器學習模型,也不會破壞聯(lián)合學習的通用過程。
Wainakh等提出分層聯(lián)邦學習(hierarchical federated learning,HFL),就是一臺根服務器連接到多臺組服務器,這些服務器以樹結(jié)構(gòu)進行組織。組服務器的最低層連接到用戶,這些用戶聚集在用戶組中。層次結(jié)構(gòu)可以包含多層組服務器,并且可以不平衡,以便不同分支的層數(shù)有所不同,HFL的架構(gòu)介于集中式FL和完全分散式學習之間,并具有一系列隱私優(yōu)勢。
Chamikara等提出名為DISTPAB(distributed privacy-preserving approach,DISTPAB)的分布式擾動算法來保護水平分區(qū)數(shù)據(jù)的隱私,DISTPAB通過利用分布式環(huán)境中資源的不對稱性來分配隱私保護任務從而緩解計算瓶頸,分布式環(huán)境可以具有資源受限的設(shè)備以及高性能計算機。其主要思想就是使用多維變換和隨機擴展,在數(shù)據(jù)離開局部邊緣和霧層之前將擾動轉(zhuǎn)移到分布式分支,而僅將全局擾動參數(shù)生成留給中心實體,DISTPAB使用Φ-分離作為其底層隱私模型,該模型允許對給定實例進行最佳數(shù)據(jù)擾動。
除了使用傳統(tǒng)的隱私模型,Li等提出了在不交換數(shù)據(jù)的情況下聯(lián)合訓練一個梯度提升決策樹(gradient boosting decision trees,GBDT)的框架SimFL。整個聯(lián)邦學習框架分為兩個階段:預處理階段和訓練階段,預處理階段的目標是收集相似信息,此處用到的是局部敏感哈希函數(shù)(locality sensitive hash function,LSH),作者采用了多個LSH函數(shù),每個組織首先計算自己樣本對應的哈希值,經(jīng)過廣播后,所有的組織都可以構(gòu)建一個哈希表,里面存儲著樣本序號和對應的哈希值。然后,每個組織都可以通過這個哈希表來計算相似信息。預處理階段過后,每個組織對于自己的樣本,都能在其他各個組織中找到一個相似樣本。收集完相似信息后,進入訓練階段,每個組織輪流訓練一些樹,最終的模型為各個組織訓練的樹之和。
聯(lián)邦學習對現(xiàn)有的隱私保護算法提出了新的挑戰(zhàn),除了提供嚴格的隱私保證外,還必須考慮使用隱私保護技術(shù)增加的計算量、通信量和模型損失。盡管當前的聯(lián)邦學習隱私機制的研究已經(jīng)取得了不錯的效果,但是仍然存在一些挑戰(zhàn)。
差分隱私技術(shù)可以通過添加噪聲的方式保護用戶級或者樣本級的隱私,能提供嚴格的隱私保證,可以抵抗推理攻擊,并且不需要花費太多的計算量和通信量。然而,雖然添加的噪聲是在可預估的范圍之內(nèi),但是噪聲的添加仍然對模型的訓練帶來了影響,導致最終模型的性能下降,這相當于通過犧牲模型準確度來保護數(shù)據(jù)隱私,在一些要求高精度的模型的情況下,差分隱私可能并不合適。
同態(tài)加密技術(shù)通常是供隱私保護模型訓練和預測使用的,一般用于加密梯度信息,避免泄露關(guān)于訓練數(shù)據(jù)的額外信息,同時又能保證服務器可以對加密后的梯度進行聚合,可以抵御重構(gòu)攻擊,部分還可以抵御推理攻擊??墒牵m然同態(tài)加密能夠嚴格保護隱私,但由于是對密文進行操作,這就要求無論是客戶端還是服務器端又要有一定的計算能力,同時又會占據(jù)較高的通信資源,在需要頻繁交互或數(shù)據(jù)量大的環(huán)境下會暴露一些問題。如何選擇合適的同態(tài)加密方案以適用不同場景的數(shù)據(jù)處理是目前所面臨的問題,同時研究者也不斷嘗試與其他隱私保護手段相結(jié)合,比如安全多方計算,所以設(shè)計出支持復雜運算且高效的協(xié)議也是今后努力的方向。
安全多方計算技術(shù)可以安全地聚合來自每個客戶端的局部更新,是針對聯(lián)邦學習的設(shè)置而量身定制的,并且對于客戶端在執(zhí)行過程中退出具有魯棒性,但是這種方法也有一定的局限性。使用安全多方計算技術(shù)往往會帶來額外的通信成本,這在某些通信昂貴的場景下可能是不適用的;服務器通常被假定為半誠實的服務器,或者需要引入一個可信賴的第三方機構(gòu);允許服務器查看聚合結(jié)果可能仍然會泄露信息(比如說推理攻擊);缺乏強制客戶端輸入格式正確的能力。如何在解決上述問題的情況下構(gòu)建一個強大的安全聚合協(xié)議仍然是個巨大的挑戰(zhàn)。
使用混合的方案可以在一定程度上結(jié)合不同技術(shù)的優(yōu)缺點,提供更加強力的隱私保證。安全多方計算中的秘密共享技術(shù)通??梢耘c其它技術(shù)一起使用,基于它的門限特性,可以保證用戶中途退出,但通常需要較大的通信開銷。另外,掩碼協(xié)議也可以作為一種保護共享數(shù)據(jù)的手段與其他隱私保護方案聯(lián)合使用。在混合方案中,也有許多方法是在共享數(shù)據(jù)中添加噪聲,以獲得一些差分隱私的優(yōu)點。但是在使用混合方案后,如何放大各個技術(shù)的優(yōu)點,縮小各種技術(shù)的缺點,在計算量、通信量、模型性能和數(shù)據(jù)隱私性之間達到權(quán)衡,在未來需要進行進一步的研究。
聯(lián)邦學習是一種分布式的架構(gòu),以打破數(shù)據(jù)孤島為目的,在保證不泄露數(shù)據(jù)隱私的前提下,各個參與方合作構(gòu)建模型。為了保護參與方的數(shù)據(jù)隱私,聯(lián)邦學習使用了各種隱私保護技術(shù)來保障通信過程中的隱私安全。本文對聯(lián)邦學習中使用的隱私保護機制進行了深入的研究和調(diào)查,根據(jù)使用的技術(shù),對目前的聯(lián)邦學習隱私保護機制進行了分類,并且總結(jié)了每種隱私保護機制的優(yōu)點和不足。
目前,聯(lián)邦學習正逐漸發(fā)展為一個綜合性的研究項目,但是隱私保護永遠是聯(lián)邦學習的重點,當前的隱私保護技術(shù)能夠在一定程度上保障聯(lián)邦學習系統(tǒng)的隱私安全,但是面對惡意對手的攻擊還缺乏防御手段,對聯(lián)邦學習系統(tǒng)的魯棒性的研究是很有意義的;聯(lián)邦學習系統(tǒng)也缺乏識別惡意參與節(jié)點的方式,部分節(jié)點對于全局模型的貢獻可能不是有益的,這方面也是聯(lián)邦學習的研究重點;另外,目前聯(lián)邦學習對于收益的分配是相同的,缺乏對收益公平性的研究,這方面可以考慮通過激勵機制來提高參與方的動力,這將對聯(lián)邦學習系統(tǒng)的落地有巨大幫助。最后,在保障參與方隱私的情況下,提高模型的訓練速度,提高模型的性能,也是一個值得研究的方向。