本發(fā)明屬于聯(lián)邦學(xué)習(xí)領(lǐng)域,具體涉及一種基于邊緣計(jì)算的聯(lián)邦學(xué)習(xí)混合隱私保護(hù)方法。
背景技術(shù):
1、隨著大數(shù)據(jù)和計(jì)算機(jī)技術(shù)的發(fā)展,聯(lián)邦學(xué)習(xí)作為一種分布式機(jī)器學(xué)習(xí)技術(shù),參與者可以在不上傳本地?cái)?shù)據(jù)的前提下進(jìn)行模型訓(xùn)練并共享模型參數(shù),能夠解決“數(shù)據(jù)孤島”問題,雖然聯(lián)邦學(xué)習(xí)不需要上傳本地?cái)?shù)據(jù),起到一定的隱私保護(hù)作用,然而,目前隨著信息技術(shù)的快速發(fā)展,聯(lián)邦學(xué)習(xí)仍面臨諸多挑戰(zhàn),參與者存在資源受限的情況,無法進(jìn)一步加強(qiáng)數(shù)據(jù)隱私保護(hù)。
2、而且研究表明,攻擊者可以試圖通過分析模型參數(shù)、模型輸出或其他相關(guān)信息來推斷出模型訓(xùn)練數(shù)據(jù)中的敏感信息,因此,僅依靠聯(lián)邦學(xué)習(xí)的單一隱私保護(hù)策略對(duì)數(shù)據(jù)起到的隱私保護(hù)水平是非常有限的,進(jìn)一步加強(qiáng)對(duì)數(shù)據(jù)的隱私保護(hù)是非常必要的,但現(xiàn)有的混合隱私保護(hù)策略存在計(jì)算開銷大、模型性能不佳等問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是為解決現(xiàn)有方法的隱私保護(hù)水平有限、計(jì)算開銷大以及獲得模型的性能不佳的問題,而提出了一種基于邊緣計(jì)算的聯(lián)邦學(xué)習(xí)混合隱私保護(hù)方法。
2、本發(fā)明為解決上述技術(shù)問題所采取的技術(shù)方案是:一種基于邊緣計(jì)算的聯(lián)邦學(xué)習(xí)混合隱私保護(hù)方法,所述方法具體包括以下步驟:
3、步驟一、隨機(jī)選擇兩個(gè)大素?cái)?shù)p和q,且滿足gcd(pq,(p-1)(q-1))=1,gcd(·,·)表示計(jì)算最大公約數(shù),計(jì)算n=pq、λ=lcm(p-1,q-1),lcm(·,·)表示計(jì)算最小公倍數(shù),隨機(jī)選擇整數(shù)r,計(jì)算h=rnmodn2和v=λ-1modn,rnmodn2表示rn除以n2的余數(shù),λ-1modn表示λ-1除以n的余數(shù),并基于h和n生成同態(tài)加密公鑰pk=(n,h)、基于λ和v生成私鑰sk=(λ,v);
4、初始化生成元g1、g2以及雙線性映射函數(shù)e,并初始化維度為n×n的實(shí)對(duì)稱矩陣a、最大隱私預(yù)算εmax和最小隱私預(yù)算εmin,其中,g1∈g1、g2∈g2,g1和g2均為乘法群;
5、將雙線性映射函數(shù)e、同態(tài)加密公鑰pk、私鑰sk、生成元g1、g2、最大隱私預(yù)算εmax和最小隱私預(yù)算εmin分發(fā)給各個(gè)邊緣服務(wù)器,并將實(shí)對(duì)稱矩陣a的第i行ai分發(fā)給第i個(gè)終端設(shè)備,n是終端設(shè)備總個(gè)數(shù);
6、步驟二、初始化訓(xùn)練輪數(shù)t=1;
7、步驟三、各個(gè)終端設(shè)備均部署有本地模型,并利用自身的本地?cái)?shù)據(jù)對(duì)本地模型進(jìn)行訓(xùn)練后,獲得各個(gè)終端設(shè)備的本地模型上訓(xùn)練好的權(quán)重參數(shù)和準(zhǔn)確率;
8、各個(gè)終端設(shè)備利用接收到的實(shí)對(duì)稱矩陣中的元素對(duì)本地的權(quán)重參數(shù)和準(zhǔn)確率進(jìn)行處理后,將處理后的權(quán)重參數(shù)和準(zhǔn)確率上傳至邊緣服務(wù)器;
9、步驟四、邊緣服務(wù)器對(duì)接收到的權(quán)重參數(shù)和準(zhǔn)確率進(jìn)行聚合,得到子聚合模型權(quán)重參數(shù)和子聚合準(zhǔn)確率;
10、根據(jù)最大隱私預(yù)算εmax和最小隱私預(yù)算εmin給子聚合模型權(quán)重參數(shù)添加噪聲,并利用同態(tài)加密公鑰對(duì)添加噪聲的子聚合模型權(quán)重參數(shù)進(jìn)行同態(tài)加密,得到密文子聚合模型權(quán)重參數(shù);
11、將密文子聚合模型權(quán)重參數(shù)和子聚合準(zhǔn)確率上傳至中央服務(wù)器;
12、步驟五、中央服務(wù)器對(duì)各邊緣服務(wù)器上傳的密文子聚合模型權(quán)重參數(shù)進(jìn)行聚合,得到密文聚合模型權(quán)重參數(shù);對(duì)各邊緣服務(wù)器上傳的子聚合準(zhǔn)確率進(jìn)行聚合,得到聚合準(zhǔn)確率;
13、并將密文聚合模型權(quán)重參數(shù)和聚合準(zhǔn)確率下發(fā)至邊緣服務(wù)器;
14、步驟六、邊緣服務(wù)器利用私鑰sk對(duì)密文聚合模型權(quán)重參數(shù)進(jìn)行解密,并對(duì)解密出的聚合模型權(quán)重參數(shù)進(jìn)行驗(yàn)證;
15、若驗(yàn)證通過,將解密出的聚合模型權(quán)重參數(shù)與聚合準(zhǔn)確率相除得到全局模型參數(shù),并將全局模型參數(shù)下發(fā)至各個(gè)終端設(shè)備,各個(gè)終端設(shè)備上部署的本地模型根據(jù)接收到的全局模型參數(shù)進(jìn)行權(quán)重參數(shù)更新,再執(zhí)行步驟七;
16、若驗(yàn)證未通過,則直接執(zhí)行步驟七;
17、步驟七、判斷當(dāng)前訓(xùn)練輪數(shù)t是否等于t;
18、若t不等于t,則令t=t+1,返回執(zhí)行步驟三;
19、若t等于t,則結(jié)束訓(xùn)練,各個(gè)終端設(shè)備將最后一次更新獲得的權(quán)重參數(shù)作為最終的本地模型權(quán)重參數(shù)。
20、進(jìn)一步地,所述各個(gè)終端設(shè)備部署的本地模型的初始權(quán)重參數(shù)是中央服務(wù)器下發(fā)的。
21、進(jìn)一步地,所述各個(gè)終端設(shè)備部署的本地模型采用隨機(jī)梯度下降法進(jìn)行訓(xùn)練。
22、進(jìn)一步地,所述各個(gè)終端設(shè)備利用接收到的實(shí)對(duì)稱矩陣中的元素對(duì)本地的權(quán)重參數(shù)和準(zhǔn)確率進(jìn)行處理,具體為:
23、第i個(gè)終端設(shè)備利用分配到的ai對(duì)權(quán)重參數(shù)和準(zhǔn)確率進(jìn)行處理,生成處理后的權(quán)重參數(shù)和準(zhǔn)確率:
24、
25、其中,wki表示第k個(gè)邊緣服務(wù)器下編號(hào)為i的終端設(shè)備的權(quán)重參數(shù),accki表示第k個(gè)邊緣服務(wù)器下編號(hào)為i的終端設(shè)備上部署的本地模型訓(xùn)練后的準(zhǔn)確率,aij表示ai的第j列,prg(·)表示偽隨機(jī)數(shù)生成器,表示第k個(gè)邊緣服務(wù)器下編號(hào)為i的終端設(shè)備處理后的權(quán)重參數(shù),表示第k個(gè)邊緣服務(wù)器下編號(hào)為i的終端設(shè)備處理后的準(zhǔn)確率。
26、進(jìn)一步地,所述邊緣服務(wù)器對(duì)接收到的權(quán)重參數(shù)和準(zhǔn)確率進(jìn)行聚合,得到子聚合模型權(quán)重參數(shù)和子聚合準(zhǔn)確率;具體為:
27、
28、其中,wk是第k個(gè)邊緣服務(wù)器的子聚合模型權(quán)重參數(shù),acck是第k個(gè)邊緣服務(wù)器的子聚合準(zhǔn)確率,n′是第k個(gè)邊緣服務(wù)器下的終端設(shè)備個(gè)數(shù)。
29、進(jìn)一步地,所述根據(jù)最大隱私預(yù)算εmax和最小隱私預(yù)算εmin給子聚合模型權(quán)重參數(shù)添加噪聲,并利用同態(tài)加密公鑰對(duì)添加噪聲的子聚合模型權(quán)重參數(shù)進(jìn)行同態(tài)加密,得到密文子聚合模型權(quán)重參數(shù);具體為:
30、對(duì)子聚合模型權(quán)重參數(shù)添加拉普拉斯噪聲:
31、
32、其中,t表示當(dāng)前訓(xùn)練輪數(shù),t表示總訓(xùn)練輪數(shù),是拉普拉斯噪聲,δf是全局靈敏度,ε是中間變量,是加噪后第k個(gè)邊緣服務(wù)器的子聚合模型權(quán)重參數(shù);
33、邊緣服務(wù)器k選取隨機(jī)數(shù)rk,并計(jì)算公鑰再對(duì)加噪后的子聚合模型權(quán)重參數(shù)進(jìn)行哈希并生成簽名將公鑰和簽名在各邊緣服務(wù)器之間廣播;
34、利用公鑰pk對(duì)加噪后的子聚合模型權(quán)重參數(shù)進(jìn)行同態(tài)加密:
35、
36、其中,是第k個(gè)邊緣服務(wù)器的密文子聚合模型權(quán)重參數(shù)。
37、進(jìn)一步地,所述中央服務(wù)器對(duì)各邊緣服務(wù)器上傳的密文子聚合模型權(quán)重參數(shù)進(jìn)行聚合,得到密文聚合模型權(quán)重參數(shù);對(duì)各邊緣服務(wù)器上傳的子聚合準(zhǔn)確率進(jìn)行聚合,得到聚合準(zhǔn)確率;具體為:
38、
39、其中,表示密文乘法,e(w)表示密文聚合模型權(quán)重參數(shù),acc表示聚合準(zhǔn)確率,k是邊緣服務(wù)器的個(gè)數(shù)。
40、進(jìn)一步地,所述邊緣服務(wù)器利用私鑰sk對(duì)密文聚合模型權(quán)重參數(shù)進(jìn)行解密,并對(duì)解密出的聚合模型權(quán)重參數(shù)進(jìn)行驗(yàn)證,具體為:
41、w=v·l(wλmodn2)modn
42、其中,w是解密出的聚合模型權(quán)重參數(shù),l(wλmodn2)=wλmodn2-1/n;
43、邊緣服務(wù)器計(jì)算聚合模型哈希值并根據(jù)h'計(jì)算是否滿足
44、若滿足則驗(yàn)證通過;
45、若不滿足則驗(yàn)證未通過。
46、更進(jìn)一步地,所述將解密出的聚合模型權(quán)重參數(shù)與聚合準(zhǔn)確率相除得到全局模型參數(shù):
47、
48、其中,wglobal為全局模型參數(shù),n為終端設(shè)備數(shù)量。
49、本發(fā)明的有益效果是:
50、本發(fā)明在參與者上傳模型參數(shù)到邊緣服務(wù)器之前,利用實(shí)對(duì)稱矩陣對(duì)模型參數(shù)進(jìn)行干擾,實(shí)現(xiàn)邊緣服務(wù)器聚合接收到的干擾模型參數(shù)后,得到與聚合原始模型參數(shù)的相同的結(jié)果。為進(jìn)一步提高隱私保護(hù),邊緣服務(wù)器對(duì)子聚合模型參數(shù)添加噪聲并加密,即使攻擊者與邊緣服務(wù)器共謀,得到的也是添加噪聲的全局參數(shù)。此外,邊緣服務(wù)器對(duì)加噪的子聚合模型參數(shù)簽名,驗(yàn)證模型聚合的正確性。
51、利用實(shí)對(duì)稱矩陣保護(hù)終端設(shè)備的本地模型參數(shù),使用基于差分隱私的拉普拉斯機(jī)制和同態(tài)加密對(duì)子聚合模型加強(qiáng)隱私保護(hù),并利用同態(tài)哈希和雙線性配對(duì)保證聚合模型的準(zhǔn)確性,可用于高安全需求的聯(lián)邦學(xué)習(xí)任務(wù),提高了隱私保護(hù)水平。
52、本發(fā)明同時(shí)將單掩碼、差分隱私、同態(tài)加密和雙線性配對(duì)技術(shù)作用于聯(lián)邦學(xué)習(xí)中。在終端設(shè)備上傳本地模型參數(shù)時(shí),利用實(shí)對(duì)稱矩陣進(jìn)行掩蔽并實(shí)現(xiàn)聚合抵消掩蔽的效果。在邊緣服務(wù)器上傳子聚合模型參數(shù)時(shí),利用差分隱私和同態(tài)加密技術(shù)進(jìn)一步提高隱私保護(hù),邊緣服務(wù)器接收到密文全局模型后解密并對(duì)簽名進(jìn)行驗(yàn)證,驗(yàn)證通過后下發(fā)到各個(gè)終端設(shè)備,而且本發(fā)明方法在減小計(jì)算開銷的同時(shí),可以保證模型的性能。