本發(fā)明涉及人工智能模型安全領(lǐng)域,更具體地,涉及一種基于環(huán)簽名的聯(lián)邦蒸餾學(xué)習(xí)隱私保護(hù)方法。
背景技術(shù):
1、聯(lián)邦學(xué)習(xí)是一種新興的利用分散的隱私數(shù)據(jù)進(jìn)行模型訓(xùn)練的技術(shù),它提供了一種隱私感知的學(xué)習(xí)范式,使得模型訓(xùn)練不需要共享原始數(shù)據(jù)。但是,聯(lián)邦學(xué)習(xí)框架強(qiáng)制本地模型采用相同的體系結(jié)構(gòu),不能很好地適應(yīng)具有不同計(jì)算資源的異構(gòu)客戶端;并且,模型參數(shù)編碼了有關(guān)數(shù)據(jù)集的私有信息,使得聯(lián)邦學(xué)習(xí)在傳遞模型參數(shù)時(shí)易受到白盒隱私攻擊。
2、聯(lián)邦蒸餾學(xué)習(xí)在各個(gè)客戶端之間傳遞知識(shí),而不是模型參數(shù)的特點(diǎn),較好克服了適應(yīng)具有不同計(jì)算資源的異構(gòu)客戶端和易受到白盒隱私攻擊的缺陷,從而實(shí)現(xiàn)了高效的協(xié)作學(xué)習(xí)。但仍然存在攻擊者能夠通過(guò)冒充合法用戶,上傳毒化的參數(shù),從而破壞模型的可用性的安全問(wèn)題和公開(kāi)用戶信息帶來(lái)的隱私保護(hù)問(wèn)題;更高級(jí)別的服務(wù)器或是中央服務(wù)器發(fā)生單點(diǎn)故障從而帶來(lái)客戶端之間不協(xié)同的問(wèn)題。
3、現(xiàn)有技術(shù)公開(kāi)了一種基于線性同態(tài)哈希和簽密的可驗(yàn)證隱私保護(hù)聯(lián)邦學(xué)習(xí)方法。該方法通過(guò)簽名加密技術(shù)在進(jìn)行密鑰傳遞的同時(shí)進(jìn)行身份認(rèn)證與數(shù)據(jù)完整性驗(yàn)證,從而避免攻擊者發(fā)起的冒充攻擊,但仍有泄露簽名者身份隱私的風(fēng)險(xiǎn)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明針對(duì)現(xiàn)有技術(shù)中模型更新不安全、用戶隱私保護(hù)弱、服務(wù)器單點(diǎn)故障導(dǎo)致客戶端之間不協(xié)同的缺陷,提供了一種基于環(huán)簽名的聯(lián)邦蒸餾學(xué)習(xí)隱私保護(hù)方法。
2、本發(fā)明的首要目的是為解決上述技術(shù)問(wèn)題,本發(fā)明的技術(shù)方案如下:
3、一種基于環(huán)簽名的聯(lián)邦蒸餾學(xué)習(xí)隱私保護(hù)方法,包括:
4、s1:密鑰生成中心生成系統(tǒng)公共參數(shù),并為若干個(gè)用戶分發(fā)對(duì)應(yīng)的身份標(biāo)識(shí)和部分簽名密鑰對(duì);
5、s2:每個(gè)用戶根據(jù)接收到的身份標(biāo)識(shí)和部分簽名密鑰對(duì)生成對(duì)應(yīng)的完整密鑰對(duì);
6、s3:任選一個(gè)用戶作為第一用戶;
7、s4:對(duì)所述第一用戶的本地模型進(jìn)行訓(xùn)練,獲得第一用戶當(dāng)前訓(xùn)練輪次的訓(xùn)練模型;
8、s5:判斷是否滿足終止條件;若滿足,則執(zhí)行步驟s8;若不滿足,則執(zhí)行步驟s6;
9、s6:生成第一用戶當(dāng)前訓(xùn)練輪次的訓(xùn)練模型的簽名,所述第一用戶將所述簽名發(fā)送至第二用戶,所述第二用戶為剩余用戶中的任一用戶;
10、s7:第二用戶驗(yàn)證接收到的簽名是否合法;若合法,則將所述第二用戶作為新的第一用戶,執(zhí)行步驟s4;若不合法,則執(zhí)行步驟s9;
11、s8:將第一用戶當(dāng)前訓(xùn)練輪次的訓(xùn)練模型作為最終模型,結(jié)束訓(xùn)練;
12、s9:進(jìn)行數(shù)據(jù)預(yù)警,結(jié)束訓(xùn)練。
13、進(jìn)一步地,步驟s1中,密鑰生成中心生成系統(tǒng)公共參數(shù),并為若干個(gè)用戶分發(fā)對(duì)應(yīng)的身份標(biāo)識(shí)和部分簽名密鑰對(duì),包括:
14、s101:密鑰生成中心獲取安全參數(shù),生成系統(tǒng)公共參數(shù)和系統(tǒng)主私鑰;
15、s102:密鑰生成中心對(duì)每個(gè)用戶生成身份標(biāo)識(shí),并結(jié)合所述系統(tǒng)公共參數(shù)、系統(tǒng)主私鑰對(duì)每個(gè)用戶生成部分簽名密鑰對(duì);所述每個(gè)部分簽名密鑰對(duì)發(fā)送對(duì)應(yīng)的用戶。
16、進(jìn)一步地,步驟s102中,生成部分簽名密鑰對(duì)的公式如下:
17、bi=s·h1(idi)
18、bi=bi·q
19、步驟s2中,生成完整密鑰對(duì)的公式如下:
20、ai=aiq
21、i表示序號(hào),h1表示抗碰撞哈希函數(shù),s表示系統(tǒng)主私鑰,idi表示第i個(gè)用戶的身份標(biāo)識(shí),q表示系統(tǒng)公共參數(shù),ai表示第i個(gè)用戶的私有參數(shù);
22、第i個(gè)用戶的完整密鑰對(duì)由公鑰和私鑰組成,其中,公鑰為ai、bi,私鑰為ai、bi。
23、進(jìn)一步地,步驟s4中,訓(xùn)練的損失函數(shù)如下:
24、
25、其中,t表示用戶序號(hào),lcls(ft+1;x,y)表示模型執(zhí)行推理的損失,ldist(gtea,gstu;x)表示知識(shí)蒸餾的損失,ft表示第一用戶的當(dāng)前訓(xùn)練輪次的本地模型,ft+1表示第二用戶的當(dāng)前訓(xùn)練輪次的本地模型,gstu表示第二用戶的當(dāng)前訓(xùn)練輪次的本地模型ft+1的特征提取器,gtea表示第一用戶的當(dāng)前訓(xùn)練輪次的本地模型ft的特征提取器,x表示第二用戶的當(dāng)前訓(xùn)練輪次的本地模型ft+1的樣本輸入,λ表示權(quán)衡知識(shí)蒸餾與本地訓(xùn)練的超參數(shù),dt+1表示第二用戶的當(dāng)前訓(xùn)練輪次的本地模型ft+1的輸入數(shù)據(jù)集,y表示第二用戶的當(dāng)前訓(xùn)練輪次的本地模型ft+1的參考輸出,nt+1表示第二用戶的當(dāng)前訓(xùn)練輪次的本地模型ft+1的輸入數(shù)據(jù)集中輸入樣本的數(shù)量。
26、進(jìn)一步地,模型執(zhí)行推理的損失如下:
27、
28、知識(shí)蒸餾的損失如下:
29、
30、t表示用戶序號(hào),gstu表示第二用戶的當(dāng)前訓(xùn)練輪次的本地模型ft+1的特征提取器,gtea表示第一用戶的當(dāng)前訓(xùn)練輪次的本地模型ft的特征提取器,ft+1表示第二用戶的當(dāng)前訓(xùn)練輪次的本地模型,x表示第二用戶的當(dāng)前訓(xùn)練輪次的本地模型ft+1的樣本輸入,y表示第二用戶的當(dāng)前訓(xùn)練輪次的本地模型ft+1的參考輸出,yi表示第二用戶的當(dāng)前訓(xùn)練輪次的本地模型ft+1的第i個(gè)樣本輸入?yún)⒖驾敵?,表示第二用戶的?dāng)前訓(xùn)練輪次的本地模型ft+1的第i個(gè)樣本輸入的輸出,c表示多分類任務(wù)中類別的數(shù)量。
31、進(jìn)一步地,步驟s6中,生成第一用戶當(dāng)前訓(xùn)練輪次的訓(xùn)練模型的簽名,包括:
32、s601:第一用戶生成n-1個(gè)隨機(jī)數(shù);計(jì)算每個(gè)隨機(jī)數(shù)與第一用戶的當(dāng)前訓(xùn)練輪次的本地模型的哈希值;
33、s602:根據(jù)所述每個(gè)隨機(jī)數(shù)與第一用戶的當(dāng)前訓(xùn)練輪次的本地模型的哈希值、所述n-1個(gè)隨機(jī)數(shù)、所述第一用戶的完整密鑰對(duì)、所述系統(tǒng)公共參數(shù),計(jì)算特征數(shù)和特征校驗(yàn)數(shù);
34、s603:將所述n-1個(gè)隨機(jī)數(shù)、第一用戶的當(dāng)前訓(xùn)練輪次的本地模型、特征數(shù)和特征校驗(yàn)數(shù)組合形成第一用戶當(dāng)前訓(xùn)練輪次的訓(xùn)練模型的簽名。
35、進(jìn)一步地,計(jì)算特征數(shù)的公式如下:
36、
37、hi=h2(ft,vi)
38、t表示用戶序號(hào),i表示序號(hào),h2、h3表示抗碰撞哈希函數(shù),z表示隨機(jī)整數(shù),q表示系統(tǒng)公共參數(shù),n表示用戶總數(shù),hi表示第i個(gè)第二哈希求解表達(dá)式,ai、bi表示第i個(gè)用戶的公鑰,vi表示第i個(gè)隨機(jī)數(shù),ft表示第一用戶的當(dāng)前訓(xùn)練輪次的本地模型。
39、進(jìn)一步地,步驟s7中,第二用戶驗(yàn)證接收到的簽名是否合法的公式如下:
40、
41、i表示序號(hào),vi表示第i個(gè)隨機(jī)數(shù),h3表示抗碰撞哈希函數(shù),t表示特征校驗(yàn)數(shù),q表示系統(tǒng)公共參數(shù),n表示用戶總數(shù),hi表示第i個(gè)第二哈希求解表達(dá)式,ai、bi表示第i個(gè)用戶的公鑰。
42、進(jìn)一步地,計(jì)算特征校驗(yàn)數(shù)的公式如下:
43、t=z-ht·(at+bt)
44、t表示用戶序號(hào),z表示隨機(jī)整數(shù),ht表示第t個(gè)用戶第二哈希求解表達(dá)式,at、bt表示第t個(gè)用戶的私鑰。
45、一種基于環(huán)簽名的聯(lián)邦蒸餾學(xué)習(xí)隱私保護(hù)裝置,包括:
46、參數(shù)生成模塊:密鑰生成中心生成系統(tǒng)公共參數(shù),并為若干個(gè)用戶分發(fā)對(duì)應(yīng)的身份標(biāo)識(shí)和部分簽名密鑰對(duì);
47、密鑰生成模塊:每個(gè)用戶根據(jù)接收到的身份標(biāo)識(shí)和部分簽名密鑰對(duì)生成對(duì)應(yīng)的完整密鑰對(duì);
48、用戶選擇模塊:任選一個(gè)用戶作為第一用戶;
49、訓(xùn)練模塊:對(duì)所述第一用戶的本地模型進(jìn)行訓(xùn)練,獲得第一用戶當(dāng)前訓(xùn)練輪次的訓(xùn)練模型;
50、終止判斷模塊:判斷是否滿足終止條件;若滿足,則生成最終模型;若不滿足,則繼續(xù)訓(xùn)練;
51、簽名生成模塊:生成第一用戶當(dāng)前訓(xùn)練輪次的訓(xùn)練模型的簽名,所述第一用戶將所述簽名發(fā)送至第二用戶,所述第二用戶為剩余用戶中的任一用戶;
52、合法性驗(yàn)證模塊:第二用戶驗(yàn)證接收到的簽名是否合法;若合法,則將所述第二用戶作為新的第一用戶,繼續(xù)訓(xùn)練;若不合法,則執(zhí)行數(shù)據(jù)預(yù)警;
53、最終模型生成模塊:將第一用戶當(dāng)前訓(xùn)練輪次的訓(xùn)練模型作為最終模型;
54、數(shù)據(jù)預(yù)警模塊:進(jìn)行數(shù)據(jù)預(yù)警。
55、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
56、本發(fā)明通過(guò)在各個(gè)客戶之間傳遞簽名、接受的用戶驗(yàn)證簽名合法性,從而使得模型更新更安全,有效保護(hù)用戶隱私,也可以有效協(xié)同各個(gè)客戶端進(jìn)行訓(xùn)練。