


摘要:針對多密鑰同態(tài)加密方案xMK-CKKS在聯(lián)邦學(xué)習(xí)模型更新時存在的隱私泄漏威脅,文章提出了一種基于R-LWE的多密鑰隱私保護(hù)聯(lián)邦學(xué)習(xí)(Privacy-Preserving Federated Learning,PPFL) 方案。首先,重構(gòu)了R-LWE(Ring Learning With Errors) 同態(tài)加密方案,提高了加解密的效率。其次,改進(jìn)了xMK-CKKS方案只能在誤差向量忽略不計的情況下解密密文的缺陷,使其在相同條件下能夠完全解密密文,從而提高了模型的精度。然后定義了聚合公鑰和解密共享來實(shí)現(xiàn)安全簡單的加解密運(yùn)算,使其更適合聯(lián)邦學(xué)習(xí)場景下的隱私保護(hù)。每個參與者可以利用聚合公鑰對其模型參數(shù)等隱私數(shù)據(jù)進(jìn)行本地加密保護(hù),而云服務(wù)器可以將多參與者上傳的密文聚合成一個完整密文,實(shí)現(xiàn)多參與者在同一密文上的聯(lián)邦學(xué)習(xí)。最后,隱私性分析顯示,該方案能夠有效防止聯(lián)邦學(xué)習(xí)模型參數(shù)在共享給云服務(wù)器進(jìn)行訓(xùn)練時的隱私泄露問題,具有抗參與者內(nèi)部攻擊的隱私保護(hù)性和抗參與者與服務(wù)器之間合謀攻擊的隱私保護(hù)性。實(shí)驗(yàn)結(jié)果表明,該方案在保障數(shù)據(jù)隱私的同時,模型精度高達(dá)93.87%,具有良好的模型效用和計算效率。
關(guān)鍵詞:聯(lián)邦學(xué)習(xí);隱私保護(hù);多密鑰;R-LWE
中圖分類號:TP309.2" "文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2025)12-0056-05
開放科學(xué)(資源服務(wù)) 標(biāo)識碼(OSID)
0 引言
為了打破數(shù)據(jù)源之間的障礙并保護(hù)數(shù)據(jù)隱私,基于聯(lián)合訓(xùn)練的聯(lián)邦學(xué)習(xí)(Federated Learning,F(xiàn)L) 技術(shù)應(yīng)運(yùn)而生[1]。聯(lián)邦學(xué)習(xí)允許多個參與方將其本地訓(xùn)練的模型參數(shù)上傳至中央服務(wù)器進(jìn)行聚合,無須共享本地數(shù)據(jù),從而在一定程度上緩解了隱私數(shù)據(jù)泄露的問題。然而,研究表明,服務(wù)器仍然能夠從參與方發(fā)送的模型參數(shù)中獲取有用信息,存在潛在的隱私風(fēng)險[2]。多密鑰同態(tài)加密(Multi-Key Homomorphic Encryption, MKHE)允許不同參與者使用各自不同的密鑰加密數(shù)據(jù),在不泄露各自數(shù)據(jù)密鑰的前提下,對約定的結(jié)果密文進(jìn)行聯(lián)合解密,能夠有效解決多用戶進(jìn)行同態(tài)計算的問題[3]。近年來,許多學(xué)者采用MKHE來解決聯(lián)邦學(xué)習(xí)中的隱私保護(hù)問題,但目前的方案仍存在隱私泄露風(fēng)險以及模型精度較低等問題。
Chen等人[4]提出了一種高效的多密鑰同態(tài)加密方案MK-CKKS(Multi-Key-CKKS),但MK-CKKS應(yīng)用在聯(lián)邦學(xué)習(xí)場景中,云服務(wù)器可以直接解密單個模型更新,存在嚴(yán)重的隱私泄露風(fēng)險。隨后,Ma等人[5]基于MK-CKKS提出了一種改進(jìn)的多密鑰同態(tài)加密協(xié)議xMK-CKKS,使其更適合聯(lián)邦學(xué)習(xí)場景下的隱私保護(hù)。但該方案仍存在解密過程中隱私數(shù)據(jù)泄露的風(fēng)險。此外,xMK-CKKS方案采用傳統(tǒng)的R-LWE同態(tài)加密算法,計算開銷較大,而且還不能實(shí)現(xiàn)完全解密密文,使得模型的精度較低。之后,Du等人[6]提出了一種閾值MKHE方案tMK-CKKS,降低了計算和通信開銷,但服務(wù)器不能實(shí)現(xiàn)對聚合密文的完全解密,使得該方案的模型精度不理想。
1" R-LWE同態(tài)加密
R-LWE(Ring Learning with Errors,環(huán)上學(xué)習(xí)誤差問題) 同態(tài)加密的定義為:多項(xiàng)式環(huán)[R=?[X]/Xθ+1],其中安全參數(shù)[θ]是2的冪,即[θ=2k,k≥1](保證[Xθ+1]不可逆) ,[?[X]]為有理整數(shù)多項(xiàng)式環(huán),R中的元素滿足[Xθ=-1]。對于模為整數(shù)[q]的R的剩余環(huán),記為[Rq=R/qR??q[X]/Xθ+1],其中[?q=?/q?],[q=1mod(2θ)]。對于參數(shù)[(θ,q,χ,ψ)],隨機(jī)均勻的選取向量[a∈Rq],給定形式為[(a,b=lt;a?zgt;+e)∈R2q]的多項(xiàng)式,從密鑰分布[χ]中選擇參與者的私鑰[z∈Rq],并從誤差分布[ψ]中提取向量[e∈R],然后計算參與者的公鑰[b=lt;a?zgt;+e∈Rq],[lt;a?zgt;=a?(1,z)]表示兩個向量[a]和[z]的點(diǎn)積,且[b]在計算上與密文空間[Rq]的均勻隨機(jī)元素不可區(qū)分。
2" PPFL方案
2.1 PPFL方案模型
PPFL方案模型由三個實(shí)體組成,如圖1所示,具體如下:
1)密鑰生成中心(Key Generation Center, KGC):完全可信的第三方,主要作用是管理和分發(fā)公私鑰對。
2)參與者(participants, [Pi]):誠實(shí)但好奇,參與訓(xùn)練聯(lián)邦學(xué)習(xí)模型,數(shù)據(jù)集保留在本地,只將訓(xùn)練好的模型參數(shù)加密上傳至云服務(wù)器進(jìn)行迭代訓(xùn)練。
3)云服務(wù)器(Cloud Server, CS):誠實(shí)但好奇,具備高性能和高可靠性,聚合加密模型參數(shù),并發(fā)送給參與者進(jìn)行迭代,直至模型收斂或者精度達(dá)到設(shè)定值,模型訓(xùn)練結(jié)束。
2.2 PPFL方案
PPFL方案基于R-LWE密碼系統(tǒng),主要由8個步驟組成,具體如下:
步驟1 初始化[Setup(1λ)→pp]:KGC選擇一個給定的秘密安全參數(shù)[λ],設(shè)置R-LWE的維數(shù)為[θ]([θ=2k],[k≥1])、密鑰分布為[χ]、誤差分布為[ψ]、密文模數(shù)為[q],隨機(jī)向量[a∈Rq],然后返回公共參數(shù)[pp=(θ,q,χ,ψ,a)]給參與者。
步驟2 編碼和解碼:參與者在加密之前,首先將模型參數(shù)擴(kuò)展為向量,然后根據(jù)模型參數(shù)規(guī)范嵌入映射,并將其編碼為環(huán)R的多項(xiàng)式。解密后,對多項(xiàng)式進(jìn)行解碼,轉(zhuǎn)換為模型參數(shù)向量。
步驟3 密鑰生成[KeyGen(pp)→(pk,sk)]:首先參與者[pi] ([i=1, 2, …, n])利用[pp]生成密鑰[ski=zi←χ],然后選取誤差向量[ei←ψ],隨機(jī)均勻選取向量[a∈Rq],計算對應(yīng)的公鑰:
[pki=bi=-zi?(a+ei)(modq)∈R2q]" " " " (1)
最后每個參與者[pi]將公鑰[pki]和密鑰[ski=zi]發(fā)送給KGC,KGC聚合n個參與者的公鑰和密鑰,獲得聚合公鑰[pk]和密鑰[sk],發(fā)送給每個參與者[pi]:
[pk=b=i=1nbi=i=1n(-zi)?(a+ei)]" " " " " "(2)
[sk=i=1nski]" " " " " "(3)
步驟4 加密[Enc(m,pk,a)→cti]:首先,每個參與者[pi]從CS下載初始全局模型M,然后在本地數(shù)據(jù)集上運(yùn)行梯度下降(SGD)算法訓(xùn)練得到本地模型,再將訓(xùn)練的t輪本地模型權(quán)重[wit]編碼為明文[mi],用聚合公鑰[b](僅有一個參與者即單參與者用其公鑰[bi])將[mi]加密為密文[cti=(ci0,ci1)]發(fā)送給CS:
[ ci0=(b+mi, ei0)(modq)" ci0=(bi+mi, ei0)(modq), ci1=a+ei1(modq)] (4)
其中:誤差向量[ei0],[ei1]滿足[ei=ei0+ei1],即將[ei]隨機(jī)分為兩個子向量[ei0]和[ei1],單參與者[pi]計算[ci0=(bi+mi, ei0)(modq)]。
步驟5 加法同態(tài)[Add(ct1,…,ctn)→Csum]:CS對n個參與者發(fā)送的共享密文[cti]進(jìn)行加法同態(tài)聚合,獲得完整的聚合密文[Csum]:
[Csum=i=1ncti?Csum0,Csum1(modq)=i=1nci0,i=1nci1(modq)] (5)
步驟6 部分解密[PartDecCsum,z1,…,zn→Di]:CS發(fā)送聚合密文[(Csum0,Csum1)]給每個參與者[pi],隨后參與者[pi]計算其解密共享[Di]和點(diǎn)積[lt;Csum0,i=1nskigt;]并返回給CS。
[Di=zi?Csum1(modq)=zi?i=1na+ei1(modq)]" "(6)
步驟7 聚合[Merge((lt;Csum0,i=1nskigt;,i=1nDi)→i=1nmi)]:當(dāng)收到所有參與者的解密共享[Di]和點(diǎn)積[lt;Csum0,i=1nskigt;]后,CS聚合解密共享[Di]并恢復(fù)明文和[inmi]如下:
[i=1nDimodq=i=1nzi?i=1na+ei1(modq)]" " " (7)
[lt;Csum0,i=1nskigt;+i=1nDi(modq)=i=1nmi]" " " (8)
步驟8 更新[Update(i=1nwit)→wt+1]:CS解碼明文和[i=1nmi]獲得全局模型參數(shù)和[i=1nwit],再求得平均模型參數(shù)[wt+1=1ni=1nwit]作為下一輪迭代的全局模型參數(shù)發(fā)送給每個參與者[pi],然后[pi]利用[wt+1]更新本地模型。再返回至步驟4,循環(huán)迭代此過程,直到模型精度達(dá)到設(shè)定值,訓(xùn)練停止。
3" 正確性分析
3.1 單個密文解密的正確性
根據(jù)式(1)和(4),參與者[pi]計算密鑰和密文的點(diǎn)積如下:
[lt;cti,skigt;(modq)]
[=lt;(lt;ci0,skigt;,ci1),skigt;(modq)]
[=lt;(bi+mi, ei0)?(1,zi), ci1,skigt;(modq)]
[=lt;(bi+mi+ei0?zi, ci1),skigt;(modq)]
[=(bi+mi+ei0?zi, ci1)?(1,zi)(modq)]
[=bi+mi+ei0?zi+ci1?zi(modq)]
[=-zi?(a+ei)+mi+ei0?zi+(a+ei1)?zi(modq)]
[=-zi?a-zi?ei+mi+ei0?zi+a?zi+ei1?zi(modq)]
[=-zi?ei+mi+(ei0+ei1)?zi(modq)]
[=mi-zi?ei+zi?ei(modq)]
[=mi]
因此,單個密文在誤差向量不為0的條件下可完全解密密文。
3.2 聚合密文解密的正確性
根據(jù)式(2)和式(8),CS對聚合密文計算可得到:
[lt;Csum0,i=1nskigt;+i=1nDi(modq)]
[=lt;i=1nci0,i=1nskigt;+i=1nDi(modq)]
[=i=1nci0?(1,zi)+i=1nzi?i=1na+ei1(modq)]
[=i=1n(b+mi, ei0)?(1,zi)+i=1nzi?i=1na+ei1(modq)]
[=i=1n(b+mi+ei0?zi)+i=1nzi?i=1na+ei1(modq)]
[=i=1ni=1n(-zi)?(a+ei)+mi+ei0?zi+i=1nzi?i=1na+ei1(modq)]
[=i=1ni=1n(-zi?a-zi?ei+mi+ei0?zi)+i=1ni=1nzi?a+zi?ei1(modq)]
[=-i=1nzi?a-i=1nzi?ei+i=1nmi+i=1nei0?zi+i=1nzi?a+i=1nzi?ei1modq]
[=(-i=1nzi?a+i=1nzi?a)+i=1nmi-i=1nzi?ei+(i=1nzi?ei0+i=1nzi?ei1)modq]
[=i=1nmi-i=1nzi?ei+i=1nzi?(ei0+ei1)modq]
[=i=1nmi-i=1nzi?ei+i=1nzi?eimodq]
[=i=1nmi]
因此,聚合密文在誤差向量不為0的條件下可完全解密密文。
4" 隱私性分析
4.1 共享模型參數(shù)的隱私保護(hù)
本方案中CS只能夠接收到參與者發(fā)送的兩種類型的數(shù)據(jù),即密文[cti=(ci0,ci1)]和解密共享[Di]。R-LWE保證了[ci0]和[Di]與[Rq]的均勻隨機(jī)元素在計算上無法區(qū)分。因此密文[cti=(ci0,ci1)]和解密共享[Di]不會向CS泄露任何關(guān)于明文[mi]和密鑰[zi]的信息。即使在參與者協(xié)同解密之后,CS也只能獲得所有參與者上傳的模型參數(shù)之和[i=1nwit+1],并不會泄漏單個模型參數(shù),這有效地保護(hù)了參與者共享模型參數(shù)的隱私性。
4.2 抗參與者內(nèi)部攻擊的隱私保護(hù)
本方案中每個參與者[pi]通過改進(jìn)的R-LWE加密本地模型參數(shù)上傳給CS。首先[pi]隨機(jī)生成自己的私鑰[zi],并計算其公鑰[bi],然后KGC聚合參與者的公鑰和密鑰,獲得聚合公鑰[b],發(fā)送給[pi]。[pi]利用[b]加密本地模型參數(shù)發(fā)送給CS,CS聚合共享的加密模型參數(shù),但聚合密文的解密需要所有參與者計算其解密共享[Di]和點(diǎn)積[lt;Csum0,i=1nskigt;]。因此,一個誠實(shí)但好奇的參與者不能通過竊取其他參與者的共享信息推斷出參與者本地數(shù)據(jù)的任何隱私信息。
4.3 抗參與者與服務(wù)器之間合謀攻擊的隱私保護(hù)
本方案中聚合密文[Csum]的解密需要所有參與者的協(xié)作,合謀者只能嘗試從密文和的解密結(jié)果中推斷出單個明文,但只要有任意兩方不參與合謀,合謀就不會成功。[n-2]個參與者與CS合謀,即用明文和[i=1nmi]減去[n-2]個參與者的明文和[i=1n-2mi],結(jié)果為2個不參與合謀攻擊的參與者的明文和。因此,單個參與者的隱私數(shù)據(jù)并沒有泄露的風(fēng)險。PPFL方案能夠抵抗[α≤n-2]個參與者與CS的共謀攻擊([α]為共謀的參與者數(shù),[n]為參與者總數(shù)) 。
5" 性能分析
5.1 功能對比分析
PPFL方案和最新的隱私保護(hù)方案在功能上進(jìn)行了對比,如表1所示。文獻(xiàn)[5]提出了一種基于xMK-CKKS的隱私保護(hù)聯(lián)邦學(xué)習(xí)方案,改進(jìn)了現(xiàn)有的MK-HE方案,使其更適合聯(lián)邦學(xué)習(xí)場景下的隱私保護(hù),但存在解密過程中隱私泄露的風(fēng)險,且不能實(shí)現(xiàn)完全解密,模型的精度有所降低。文獻(xiàn)[7]提出了一種隱私增強(qiáng)型聯(lián)邦學(xué)習(xí)方案,該方案訓(xùn)練的模型精度較高。但因使用Paillier加密包含以消息為指數(shù)的模冪運(yùn)算,使得該方案的計算開銷較大。文獻(xiàn)[8]提出了一種安全的 cross-silo 聯(lián)邦學(xué)習(xí)方案,降低了通信開銷,但因增加了數(shù)字簽名和多項(xiàng)式承諾,導(dǎo)致計算開銷較大。
5.2 實(shí)驗(yàn)結(jié)果分析
本方案的實(shí)驗(yàn)部署在處理器為Intel(R) Core(TM) i7-7500HQ 2.90 GHz,內(nèi)存為16 GB的多臺Windows 10計算機(jī)和一臺計算服務(wù)器上。本方案應(yīng)用于水平聯(lián)邦學(xué)習(xí)訓(xùn)練場景,即多家醫(yī)院聯(lián)合訓(xùn)練預(yù)測病人疾病的模型。本文采用網(wǎng)上公開的數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。第一個是大數(shù)據(jù)集Pima[9],該數(shù)據(jù)集可以預(yù)測患者是否患有糖尿病,共包含了7 000多條樣本數(shù)據(jù)以及樣本的9個特征。第二個是Heart Disease(Z-Alizadeh sani)數(shù)據(jù)集[10],此數(shù)據(jù)集可以判斷患者是否患有心臟病,共包含了3 000多條樣本數(shù)據(jù)以及樣本的14個特征。本方案將Pima數(shù)據(jù)集劃分為兩部分,一部分5 600條數(shù)據(jù)用于訓(xùn)練,另一部分2 390條數(shù)據(jù)用于測試;再將Heart Disease數(shù)據(jù)集也劃分為兩部分,一部分為訓(xùn)練集2 500條,另一部分為測試集1 490條。
本文主要評估PPFL方案的模型效用和計算效率。在機(jī)器學(xué)習(xí)任務(wù)中,效用是通過比較受保護(hù)數(shù)據(jù)和原始數(shù)據(jù)對任務(wù)的評估準(zhǔn)確度來衡量的。為了評估效率,本文將計算成本與基于xMK-CKKS的PPFL、基于paillier的PPFL和基于ELGamal的PPFL進(jìn)行比較。
5.2.1 準(zhǔn)確率
根據(jù)表2得知,隨著參與方數(shù)量的增加,聯(lián)邦學(xué)習(xí)模型訓(xùn)練一輪所需的時間也在不斷增加。可以發(fā)現(xiàn)當(dāng)參與方數(shù)量設(shè)置為5時具有一定的代表性。故在本文的圖2(a)和2(b)兩個對比實(shí)驗(yàn)中,將參與方數(shù)量設(shè)置為5。
將本地訓(xùn)練迭代輪數(shù)T依次設(shè)計為1、5、10、20、30、40,實(shí)驗(yàn)結(jié)果如下圖2(a)和(b)所示。實(shí)驗(yàn)結(jié)果表明,對于Heart Disease數(shù)據(jù)集和Pima數(shù)據(jù)集,當(dāng)T=20時,PPFL方案的準(zhǔn)確率分別為92.37%和93.37%,與具有93.25%和93.90%準(zhǔn)確率的原始聯(lián)邦學(xué)習(xí)Original-FL非常接近。當(dāng)T=40時,PPFL方案的準(zhǔn)確率提升至92.89%和93.87%,幾乎接近具有93.65%和94.53%準(zhǔn)確率的Original-FL。因此,本文的PPFL方案可以在不影響其準(zhǔn)確性的情況下保證聯(lián)邦學(xué)習(xí)模型的隱私性。
5.2.2 計算成本
圖3顯示了當(dāng)改變模型參數(shù)的數(shù)量時,這3個方案在參與者加密、參與者解密、云服務(wù)器密文聚合和云服務(wù)器解密階段的計算成本。
實(shí)驗(yàn)結(jié)果表明,本文提出的PPFL方案減少了各個階段的時間成本,比其他三個聯(lián)邦學(xué)習(xí)方案在計算上更有效。這是因?yàn)樵趚MK-CKKS方案和本文的PPFL方案中每個明文可以壓縮為210個模型參數(shù),因此在這四個階段的計算效率明顯優(yōu)于基于paillier的PPFL方案。而且本文的PPFL方案采用重構(gòu)的R-LWE同態(tài)加密算法來加密共享模型參數(shù),降低了計算和通信過程中的存儲空間復(fù)雜性,使得計算成本低于xMK-CKKS方案和ELGamal方案。而ELGamal方案因使用了數(shù)字簽名和多項(xiàng)式承諾來保證數(shù)據(jù)的完整性和去全局梯度的可驗(yàn)證性,使得客戶端和中央服務(wù)器的計算開銷都有所增加。
6 結(jié)束語
本文提出了一種基于R-LWE的多密鑰隱私保護(hù)聯(lián)邦學(xué)習(xí)方案。重構(gòu)了R-LWE同態(tài)加密算法,提高了加解密的效率。改進(jìn)了xMK-CKKS不能實(shí)現(xiàn)完全解密的缺陷,保證了模型更新的機(jī)密性。引入了可信第三方進(jìn)行密鑰的分發(fā)和管理,降低了通信開銷。通過隱私性分析和實(shí)驗(yàn)對比,該方案不僅可以抵抗參與者內(nèi)部的攻擊,還能夠抵御高達(dá)[n-2]個參與者與云服務(wù)器之間的合謀攻擊,具有良好的模型效用和計算效率,為后續(xù)聯(lián)邦學(xué)習(xí)的隱私保護(hù)研究提供了借鑒意義,但本方案可能無法抵御破壞學(xué)習(xí)過程的惡意參與者的攻擊,所以未來需要進(jìn)一步研究針對本方案的抵御拜占庭攻擊的方法。
參考文獻(xiàn):
[1] MCMAHAN H B,MOORE E,RAMAGE D,et al.Federated learning of deep networks using model averaging[J]. Arxiv Preprint Arxiv2016(2):16-29.
[2] SHEJWALKAR V,HOUMANSADR A,KAIROUZ P,et al.Back to the drawing board:a critical evaluation of poisoning attacks on production federated learning[C]//2022 IEEE Symposium on Security and Privacy (SP).May 22-26,2022.San Francisco,CA,USA.IEEE,2022:1354-1371.
[3] 曹來成,李運(yùn)濤,吳蓉,等.多密鑰隱私保護(hù)決策樹評估方案[J].清華大學(xué)學(xué)報(自然科學(xué)版),2022,62(5):862-870.
[4] CHEN H,DAI W,KIM M,et al.Efficient multi-key homomorphic encryption with packed ciphertexts with application to oblivious neural network inference[C]//Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security.London United Kingdom.ACM,2019:395-412.
[5] MA J,NAAS S A,SIGG S,et al.Privacy-preserving federated learning based on multi-key homomorphic encryption[J].International Journal of Intelligent Systems,2022,37(9):5880-5901.
[6] DU W D,LI M,WU L Q,et al.A efficient and robust privacy-preserving framework for cross-device federated learning[J].Complex amp; Intelligent Systems,2023,9(5):4923-4937.
[7] ZHANG J,CHEN B,YU S,et al.Pefl:a privacy-enhanced federated learning scheme for big data analytics[C]// Ieee Global Communications Conference (globecom). Waikoloa, Hi,Usa,2019:1-6.
[8] 賴成喆,趙益寧,鄭東.基于同態(tài)加密的隱私保護(hù)與可驗(yàn)證聯(lián)邦學(xué)習(xí)方案[J].信息網(wǎng)絡(luò)安全,2024,24(1):93-105.
[9] CHANG V,BAILEY J,XU Q A,et al.Pima Indians diabetes mellitus classification based on machine learning (ML) algorithms[J].Neural Computing and Applications,2023,35(22):16157-16173.
[10] WIHARTO,SURYANI E,SETYAWAN S,et al.The cost-based feature selection model for coronary heart disease diagnosis system using deep neural network[J].IEEE Access,2022,10:29687-29697.
【通聯(lián)編輯:朱寶貴】