閻允雪 馬 銘 蔣 瀚,2
1(山東大學(xué)軟件學(xué)院 濟南 250101) 2(山東省軟件工程重點實驗室(山東大學(xué)) 濟南 250101)
移動互聯(lián)網(wǎng)、云計算和大數(shù)據(jù)等技術(shù)的快速發(fā)展,催生了眾多新的服務(wù)模式和應(yīng)用[1],這些服務(wù)和應(yīng)用一方面為用戶提供精準(zhǔn)化、個性化的服務(wù),給人們的生活帶來了極大便利,另一方面又采集了大量用戶的相關(guān)信息,而所采集信息中往往含有大量隱私數(shù)據(jù),包括個人身份信息(如電話號碼、身份證號等)、敏感信息(如金融財務(wù)、醫(yī)療健康等信息),對這些信息的收集、共享、發(fā)布、分析與利用等操作會直接或間接地泄露用戶隱私[2],給用戶帶來極大的威脅和困擾.
隱私保護機器學(xué)習(xí)(privacy preserving machine learning, PPML)是一個蓬勃發(fā)展的研究領(lǐng)域,允許機器學(xué)習(xí)對用戶的私人數(shù)據(jù)進行計算,同時確保數(shù)據(jù)的隱私安全[3].安全多方計算(secure multi-party computation)協(xié)議允許多個參與者通過使用同態(tài)加密、秘密共享和不經(jīng)意傳輸?shù)让艽a技術(shù),以一種安全的方式完成數(shù)據(jù)的聚合與計算,因此成為應(yīng)用在高效并行分布式機器學(xué)習(xí)中的關(guān)鍵.近年來,隨著數(shù)據(jù)的爆炸式增加,隱私保護機器學(xué)習(xí)中完成大量卷積、激活函數(shù)等非線性運算,這些計算的實現(xiàn)往往需要復(fù)雜的安全多方計算協(xié)議,并且需要根據(jù)具體的功能來選擇不同的安全多方計算技術(shù).總之,基于安全多方計算的隱私保護機器學(xué)習(xí)方案目前處于初步發(fā)展時期,在安全模型、通信效率等還存在沒有解決的問題,距離真正應(yīng)用還有一定的距離.
PPML方法最早可追溯至2000年,Lindell等人[4]明確提出了允許兩方在不泄露自己隱私的前提下,通過協(xié)作對聯(lián)合數(shù)據(jù)集進行提取挖掘的方法.
傳統(tǒng)的安全多方計算協(xié)議為了實現(xiàn)惡意敵手模型下的安全性,需要使用茫然傳輸(oblivious transfer, OT)、認證秘密分享、零知識證明、承諾等工具,使得安全多方計算協(xié)議設(shè)計嚴(yán)重依賴這些基礎(chǔ)工具,效率較低.近年來,惡意敵手模型下基于Yao混亂電路的安全兩方計算協(xié)議,以及基于秘密分享的安全多方計算協(xié)議都提出了高效的實現(xiàn)方案[5].
現(xiàn)有的基于安全多方計算協(xié)議的隱私保護機器學(xué)習(xí)方案有SecureML,ABY,ABY3,Trident,Swift等.其中Mohassel等人[6]提出的SecureML安全機器學(xué)習(xí)框架,由2個不合謀的參與方利用秘密分享執(zhí)行安全兩方計算協(xié)議.Demmler等人提出的ABY框架[7]利用Yao混亂電路來計算分段函數(shù),該框架能夠完成3種不同分享方式之間的轉(zhuǎn)換,從而完成計算任務(wù).ABY和SecureML兩個方案在設(shè)計乘法協(xié)議時都利用Beaver三元組技術(shù),因此方案的通信成本和協(xié)議的效率都并不理想.方案ABY3[8]在半誠實環(huán)境和惡意環(huán)境下,能夠完成三方之間的算術(shù)共享、布爾共享和Yao共享,并且對SecureML[6]中的近似定點數(shù)乘法進行改進,使協(xié)議在三方參與環(huán)境下可以使用.但是ABY3方案均是專注于半誠實環(huán)境下的機器學(xué)習(xí)框架,在惡意環(huán)境下進行位提取,截斷的效率都會不同程度地降低[9-10].
Trident方案[11]提出了最多可以容忍一方腐敗的四方參與的隱私保護機器學(xué)習(xí)協(xié)議,在方案中對參與方要求比較高,通過引入一個額外的誠實參與方來提高協(xié)議在線階段的效率,并且協(xié)議在安全性方面僅僅滿足中止性,方案利用哈希值進行一致性檢測,當(dāng)出現(xiàn)不一致時,協(xié)議就會中止.當(dāng)惡意參與方提供錯誤的值時,將導(dǎo)致計算中止,并且協(xié)議不會有任何的輸出.雖然方案中都提出使用Abort的安全構(gòu)建組件,但當(dāng)出現(xiàn)爭議時,不能保證協(xié)議一定有輸出.只實現(xiàn)中止安全性的安全多方計算協(xié)議不能滿足安全外包計算的要求,因為用戶可能無法獲得輸出,導(dǎo)致用戶的參與度降低.
2021年,Koti等人提出的Swift方案[12]中通過引入聯(lián)合消息傳遞(joint message passing, JMP)原語,允許2個服務(wù)器將共有的消息發(fā)送給第3個服務(wù)器,當(dāng)發(fā)現(xiàn)哈希值不一致時,沒有中止協(xié)議,而是能夠識別出誠實的服務(wù)器,將誠實方作為可信第三方(trust third party,TTP)服務(wù)器來完成計算.同時文中還將協(xié)議擴展到了第4個參與方,設(shè)計環(huán)境依舊是基于誠實大多數(shù),在調(diào)用三方篩選協(xié)議進行哈希值一致性檢測出現(xiàn)爭議時,由于最多只有一個惡意方,因此惡意方只可能出現(xiàn)在3個服務(wù)器中,Swift方案將未參與篩選協(xié)議的第4個服務(wù)器作為TTP,參與方就會將消息發(fā)送給TTP,雖然方案能夠保證在有惡意參與方的情況下保證用戶一定可以獲得輸出結(jié)果,但對于作為TTP的參與方來說,就會掌握所有用戶的敏感數(shù)據(jù)信息,不符合安全多方計算協(xié)議的初衷.
本文提出了一個基于秘密分享的高效隱私保護四方機器學(xué)習(xí)方案,在至多存在一個惡意敵手模型中,當(dāng)協(xié)議出現(xiàn)爭議時,能夠準(zhǔn)確從4個參與方中確定出2個誠實參與方,執(zhí)行安全兩方計算協(xié)議.本文設(shè)計的隱私保護機器學(xué)習(xí)方案主要貢獻包括2個方面:
2)通過對方案的效率分析和對比,本文的四方協(xié)議與僅提供半誠實/被動安全性的高效誠實多數(shù)三方協(xié)議的性能相似,這表明添加第四方是實現(xiàn)主動安全而不損害性能的有效方法.其中乘法協(xié)議只需要3個參與方在在線階段處于活躍狀態(tài),提高了在線階段25%的通信.
秘密分享是一個非常重要的基礎(chǔ)原語[13-15],是許多安全多方計算協(xié)議的重要構(gòu)造模塊.如表1所示,4個參與方P={P0,P1,P2,P3}分享秘密v時的3種方式,這些分享都是在算數(shù)和布爾環(huán)上的.為了方便非交互通信,參與方利用Trident方案中的功能函數(shù)Fsetup為每個參與方建立預(yù)共享的隨機密鑰.參與方在分享秘密值v時,可以調(diào)用共享的密鑰設(shè)置函數(shù)Fsetup獲得滿足條件的相應(yīng)參數(shù).
[·]-sharing:v∈2由3個參與方P1,P2,P3共同分享.參與方P1擁有[v]1,參與方P2擁有[v]2,參與方P3擁有[v]3并且v=[v]1+[v]2+[v]3.
〈·〉-sharing:v∈2由3個參與方P1,P2,P3共同分享.如果參與方P1,P2,P3依次擁有的值為(v2,v3),(v1,v3),(v1,v2),并且v=v1+v2+v3.
〖·〗-sharing:v∈2由4個參與方P0,P1,P2,P3分享,如果存在λv,mv∈2并且滿足λv=λv,1+λv,2+λv,3,mv=v+λv,參與方P1,P2,P3都清楚地知道m(xù)v.
Table1 Secret Sharing Semantics
Swift方案中能夠?qū)崿F(xiàn)輸出可達性的關(guān)鍵在于引入了JMP原語.JMP3PC協(xié)議在2021年由Koti等人提出.JMP原語允許2個服務(wù)器將公共消息中繼到第3個服務(wù)器,以便中繼成功或識別誠實服務(wù)器(或沖突對).如圖1所示為3方參與的JMP原語的理想功能圖.
如圖2所示,JMP3PC協(xié)議內(nèi)容簡要來說,有3個服務(wù)器參與協(xié)議, 其中最多只有一個惡意服務(wù)器,通過JMP3PC協(xié)議可以確保輸入一致性,并且當(dāng)發(fā)生爭議時,確保協(xié)議一定有輸出結(jié)果.其中Pi,Pj作為發(fā)送方,Pk作為接收方.Pi發(fā)送值v給Pk,Pj發(fā)送值H(v)給Pk,接收方Pk將接收到的值與哈希值進行比較,如果哈希值不一致,通過JMP3PC協(xié)議可以確認出一個參與方作為TTP繼續(xù)計算,并且不需要再次通信.
對于s∈{i,j,k},參與方Ps將bs=0作為檢測哈希值不一致的標(biāo)志比特.協(xié)議分為發(fā)送階段和驗證階段.當(dāng)檢測到哈希值不一致時,協(xié)議將不同的情況進行分類并選擇出TTP.如果Pi是沉默的,Pk沒有接收到發(fā)送的v,Pk廣播(accuse,Pi),那么Pk和Pi中必定有一個是惡意的參與方,這時選擇TTP=Pj.類似地,Pk廣播(accuse,Pj), 那么Pk和Pj中必定有一個是惡意的參與方,這時選擇TTP=Pi.如果當(dāng)Pk收到不一致的消息對(v,H(v*))時,設(shè)定bk=1, 并將bk發(fā)送給Pi,Pj,由這兩方通過交換不一致標(biāo)志比特相互進行交叉檢驗,若從Pk收到的或者從其他發(fā)送方接收到的比特為1,則這兩方將自己的不一致標(biāo)志比特設(shè)定為1.當(dāng)服務(wù)器的不一致標(biāo)志比特為1時,服務(wù)器會廣播相應(yīng)值的Hash結(jié)果.Pk的值來自它從Pi接收到的值.接下來按照具體協(xié)議來選出合適的服務(wù)器做TTP.
Swift方案將JMP協(xié)議擴展為4個參與方Pi,Pj,Pk,Pl,方案的模型依舊是至多只有一個惡意的參與方.但是當(dāng)調(diào)用三方參與的JMP3PC協(xié)議時,一定可以確定3個參與方中存在一個參與方是惡意的,因此將未參與的JMP3PC協(xié)議的第4個參與方直接作為TTP,其他參與方將自己的消息發(fā)送給它,由作為TTP的參與方完成剩下的所有計算.接下來為了描述方案更加清晰,三方參與的JMP協(xié)議表示為JMP3PC, 四方參與的JMP協(xié)議表示為JMP4PC.
令π為一個協(xié)議,F為一個功能函數(shù),令C為攻陷參與方集合,令Sim為一個仿真者算法.定義以下2個隨機變量的概率分布:1)Realπ(κ,C;x1,…,xn).在安全參數(shù)κ下執(zhí)行協(xié)議,其中每個參與方Pi都將使用自己的私有輸入xi誠實地執(zhí)行協(xié)議.令Vi為參與方Pi的最終視角,令yi為參與方Pi的最終輸出.因此可以將輸出表示為{Vi|i∈C},(y1,…,yn).2)IdealF,Sim(κ,C;x1,…,xn):計算(y1,…,yn)←F(x1,…,xn).輸出Sim(C,{(xi,yi)|i∈C}),(y1,…,yn).
如果現(xiàn)實世界中攻陷參與方所擁有的視角和理想世界中攻擊者所擁有的視角不可區(qū)分,那么協(xié)議在半誠實攻擊者的攻擊下是安全的[16-18].
給定協(xié)議π,如果對于任意一個現(xiàn)實世界中的攻擊者A,存在一個滿足corrupt(A)=corrupt(sim)的仿真者sim,使得對于誠實參與方的所有輸入{xi|i?corrupt(A)}概率分布Realπ,A(κ;{xi|i?corrupt(A)})和IdealF,Sim(κ;{xi|i?corrupt(Sim)})是在κ下不可區(qū)分的,則稱此協(xié)議在惡意攻擊者存在的條件下安全地實現(xiàn)了F.
3.1.1 秘密分享協(xié)議
參與方通過調(diào)用秘密分享協(xié)議∏Sh(Pi,v)產(chǎn)生關(guān)于〖v〗的秘密分享,如圖3所示.秘密分享協(xié)議分為在線階段和離線階段.
當(dāng)執(zhí)行秘密分享協(xié)議∏Sh(P0,v)時,在離線階段:參與方P0持有值v,使用預(yù)先共享的密鑰來生成參數(shù)λv,j,并且λv=λv,1+λv,2+λv,3,參與方P0持有份額為(λv,1,λv,2,λv,3),參與方P1持有份額為(λv,2,λv,3),參與方P2持有份額為(λv,1,λv,3),參與方P3持有份額為(λv,1,λv,2).在在線階段:參與方P0計算mv,并發(fā)送給P1,P0,參與方P1通過調(diào)用JMP3PC協(xié)議發(fā)送給P2,P0,參與方P1通過調(diào)用JMP3PC協(xié)議發(fā)送給P3.因此各參與方擁有的份額為參與方P0持有份額為(λv,1,λv,2,λv,3,mv),參與方P1持有的份額為(λv,2,λv,3,mv),參與方P2持有的份額為(λv,1,λv,3,mv),參與方P3持有的份額為(λv,1,λv,2,mv).
當(dāng)執(zhí)行秘密分享協(xié)議∏Sh(P1,v)時,在離線階段:參與方P1擁有值v,使用預(yù)先共享的密鑰來生成參數(shù)λ,參與方P0持有份額為(λv,1,λv,2,λv,3),參與方P1持有份額為(λv,1,λv,2,λv,3),參與方P2持有份額為(λv,1,λv,3),參與方P3持有份額為(λv,1,λv,2).在在線階段:參與方P1計算mv,并且發(fā)送給P2,P1,參與方P2通過調(diào)用JMP3PC協(xié)議發(fā)送給P3.因此各參與方擁有的份額為參與方P0持有份額為(λv,1,λv,2,λv,3),參與方P1持有份額為(λv,1,λv,2,λv,3,mv),參與方P2持有份額為(λv,1,λv,3,mv),參與方P3持有份額為(λv,1,λv,2,mv).參與方P2,P3執(zhí)行協(xié)議∏Sh(Pi,v)的過程和參與方P1類似,這里不再詳細展開了.
如圖4所示,執(zhí)行協(xié)議∏ash(P0,v),參與方P0可以在離線階段計算值v的〈·〉-sharing.參與方P0擁有值v,參與方利用提前約定好的函數(shù)共同生成相關(guān)的參數(shù).參與方P1擁有份額為(v2,v3),參與方P2擁有份額為(v1,v3), 參與方P3擁有份額為(v1,v2).注意在文中第4節(jié)乘法截斷協(xié)議中完成r不同秘密分享方式的本地轉(zhuǎn)換中可以用到.
3.1.2 重構(gòu)協(xié)議
如圖5所示,在重構(gòu)協(xié)議∏Rec中,每個參與方可以從其他2個參與方中依次接收到自己缺失的份額和對應(yīng)缺失份額的哈希值,參與方通過調(diào)用JMP3PC協(xié)議進行一致性輸入檢測,如果一致的話,那么該參與方可以根據(jù)自己持有的份額和收到的自己缺失的份額計算值v.如果收到的值不一致的話,則由JMP3PC協(xié)議選出的TTP和未參與JMP3PC協(xié)議的參與方進行安全兩方計算來重構(gòu)值v.例如,P0,P2調(diào)用JMP3PC協(xié)議發(fā)送λv,1給P1.如果JMP3PC協(xié)議的執(zhí)行結(jié)果是TTP=P0,則由P0和P3來計算值v.
3.1.3 乘法協(xié)議
首先簡單描述一下加法協(xié)議,對于輸入x,y,參與方可以利用秘密分享方案的線性屬性本地完成方案中的份額計算,即對于z=x+y來說,可以本地計算份額[z]=[x]+[y].接下來描述乘法協(xié)議,在協(xié)議執(zhí)行過程中需要參與方進行交互,具體內(nèi)容如圖6所示:
乘法協(xié)議執(zhí)行分為2個階段:離線階段和在線階段.在離線階段,需要參與方本地計算γxy的分享.其中γxy=λxλy.通過調(diào)用JMP3PC協(xié)議來驗證其他參與方發(fā)送過來的份額的正確性.在計算過程中,通過調(diào)用∏zero協(xié)議[11]產(chǎn)生隨機數(shù)目的是隨機分配份額,以防止隱私泄露,注意這里的A+B+Γ=0.在在線階段,協(xié)議的目的主要是計算mz,其中mz=z+λz=xy+λz=(mx-λx)(my-λy)+λz=mxmy-λxmy-λyλx+λxλy+λz.
本文方案的參與方是由4個服務(wù)器P={P0,P1,P2,P3}組成,通過同步網(wǎng)絡(luò)中私有和真實通道連接,最多容忍一個靜態(tài)惡意敵手.
本文設(shè)計的四方協(xié)議如圖7所示,當(dāng)利用哈希值進行一致性檢測存在爭議時,通過調(diào)用JMP3PC三方協(xié)議一定可以找出一個TTP=Pi,由Pi和未參與JMP3PC協(xié)議的服務(wù)器進行下一步的計算.4個參與方P0,P1,P2,P3利用復(fù)制秘密共享,對秘密v進行分享,執(zhí)行秘密分享協(xié)議∏Sh(P0,v)后,每個參與方持有的份額是:參與方P0持有份額為(λv,1,λv,2,λv,3),參與方P1持有份額為(λv,2,λv,3,mv),參與方P2持有份額為(λv,1,λv,3,mv),參與方P3持有份額為(λv,1,λv,2,mv).當(dāng)執(zhí)行重構(gòu)協(xié)議,為了確保獲得一致性輸入,參與方會調(diào)用JMP3PC來發(fā)送份額,并進行一致性檢測,當(dāng)檢測出不一致的情況時,假設(shè)調(diào)用JMP3PC協(xié)議的是P0,P1,P2三個參與方,并且輸出結(jié)果為TTP=P2時,那么由P2和P3來執(zhí)行安全兩方計算協(xié)議,并將秘密值v重構(gòu)出來.其他協(xié)議也是同樣的過程,這里不再一一展開描述.
為了執(zhí)行隱私保護機器學(xué)習(xí),我們需要有效地實例化3個組件,其中主要包括共享截斷、安全比較、非線性激活函數(shù).
協(xié)議在ABY3,Trident協(xié)議的基礎(chǔ)上進行了改進.ABY3方案是在評估乘法門之后對份額進行截斷,以較高的概率保留基礎(chǔ)值;Trident方案通過不使用任何的布爾電路,從而將離線階段的復(fù)雜性降到了常數(shù).本文在2個協(xié)議的基礎(chǔ)上,在滿足誠實大多數(shù)的條件下,結(jié)合JMP3PC協(xié)議,保證在線階段參與方可以接受到相應(yīng)的份額,最后一定可以得到正確的輸出結(jié)果.
協(xié)議的具體內(nèi)容如圖8所示.首先協(xié)議執(zhí)行離線階段,在執(zhí)行協(xié)議∏mult(x,y,z)的離線階段后,參與方本地計算r并進行截斷后獲得rt.參與方執(zhí)行協(xié)議∏ash(P0,rt),獲得〈rt〉,并通過驗證H(m1+m2)≠H(c)等式是否成立來判斷份額是否正確.協(xié)議執(zhí)行在線階段,與乘法協(xié)議在線階段類似,z的截斷值可以由〖z〗t〗=〖(z〗-r)t〗+rt獲得.
參與方檢測x 在隱私保護機器學(xué)習(xí)中最常用的2個激活函數(shù)為rectified linear Unit(ReLU)和Sigmoid(sig). 1)ReLU 2)Sigmoid (rd,1+rd,2+rd,3)+c=(r)-(2drt+rd)+ c=0+c=c. 本文提供的安全性是基于理想世界或現(xiàn)實世界模擬來展開的描述[19-20].現(xiàn)實世界中參與方至多有一個是惡意服務(wù)器,我們用A來表示現(xiàn)實世界的敵手,用S來表示理想世界的敵手.證明來自于敵手的模擬視圖和現(xiàn)實視圖是不可區(qū)分的. 協(xié)議的證明過程簡要來說,從輸入共享階段開始,S將誠實方的輸入設(shè)置為0.模擬器可以從共享協(xié)議中提取A的輸入.S可以獲得整個協(xié)議的所有輸入,因此S可以計算電路的所有中間值和輸出.參與方P0,P1,P2,P3中至多有一個惡意參與方.除了圖11所示協(xié)議的安全性證明,其他基本協(xié)議的證明也很容易推導(dǎo)出來,這里就不全部展開描述了. 本文提出隱私保護魯棒性的4PC隱私保護機器學(xué)習(xí)方案,是針對JMP四方協(xié)議的擴展,可以更好地保護誠實方的隱私.在協(xié)議的執(zhí)行過程中,正在參與JMP協(xié)議的3個服務(wù)器,當(dāng)接收方接收到的哈希值不一致時,可以確認出惡意方在哪一對服務(wù)器中,同時確認出一定是誠實方的參與方作為TTP,由TTP和未參與JMP協(xié)議的第4個服務(wù)器進行下一步的計算.因此,該協(xié)議可以在惡意參與方破壞的情況下仍然保持正確的輸出,同時誠實方不能恢復(fù)私有輸入.在協(xié)議執(zhí)行的過程中,我們可以準(zhǔn)確地判斷協(xié)議的問題出現(xiàn)在哪一步,能夠更好地對服務(wù)器的性能進行綜合評估,并且當(dāng)協(xié)議中確認TTP后會及時廣播. 在通過JMP3PC協(xié)議確認TTP后,TTP與未參與協(xié)議的參與方執(zhí)行安全兩方計算協(xié)議.方案能夠更好地保護用戶隱私,不會將全部的信息以明文的形式由一個參與方保存,同時鎖定了可能的惡意方,并且惡意方在整個過程中不會得到額外的消息.協(xié)議的調(diào)用過程中不會泄露正在計算的私有信息,但仍然允許計算完成.誠實方不存儲非協(xié)議的消息,在惡意方存在的情況下,能夠保持計算的正確性.隱私保護魯棒性協(xié)議的安全性和實用性具有非常重要的意義. 如何降低協(xié)議的通信量和輪數(shù)復(fù)雜度一直都是設(shè)計一個更加高效的隱私保護機器學(xué)習(xí)方案的關(guān)鍵.接下來主要包括本文涉及到的基本協(xié)議具體效率分析,如表2所示,將本文方案的離線階段和在線階段的交互輪數(shù)以及通信量與ABY3方案進行了詳細的對比.通過對比可以發(fā)現(xiàn),本文提出的改進之后的四方隱私保護方案降低了通信量. Table 2 Communication Overhead of Protocol 從2個方面將本文提出的方案進行分析,包括線性計算協(xié)議和非線性計算協(xié)議.1)關(guān)于秘密分享的加法協(xié)議和常數(shù)的乘法是可以本地完成份額的計算,因此其線性屬性可以以非交互方式來執(zhí)行協(xié)議.2)秘密分享協(xié)議∏Sh在離線階段通過使用Fsetup生成共享密鑰.在在線階段,當(dāng)Pi=P0時,協(xié)議∏ash計算并發(fā)送值mv給其他參與方,并且調(diào)用JMP協(xié)議,確認收到了正確的mv,因此需要2輪交互和通信量是2.協(xié)議∏ash可以完整地在離線階段執(zhí)行.P0計算v3發(fā)送給P1.P0,P1調(diào)用JMP協(xié)議發(fā)送給P2.因此需要一輪交互和通信量是2位.對于發(fā)送給其他參與方也是類似的情況.3)重構(gòu)協(xié)議∏Rec在在線階段每一個參與方接收自己的缺失的份額并進行驗證,因此需要的一輪交互和通信量為4位.4)乘法協(xié)議的執(zhí)行分為2個階段,在離線階段,P1,P2,P3需要與其他參與方交互獲得γxy的份額,同理,離線階段,P1,P2,P3需要獲得的份額,因此需要的一輪交互和通信量是3位. 機器學(xué)習(xí)的組成模塊中進行非線性計算時,常用到截斷協(xié)議、安全比較協(xié)議、激活函數(shù)等.本文涉及到的基本協(xié)議包括:1)協(xié)議∏MultTr在離線階段,需要調(diào)用∏ash協(xié)議來產(chǎn)生關(guān)于γt的分享,通過判斷哈希值是否相等來驗證分享是否正確,因此需要2輪交互和6位的通信量.2)協(xié)議∏ReLU在離線階段需要3輪交互和8+2位的通信量,在在線階段需要4輪交互和8+2位的通信量.3)協(xié)議∏Sigmoid在離線階段需要3輪交互和15+7位的通信量,在在線階段需要5輪交互和16+7位的通信量. 結(jié)合安全多方計算工具來實現(xiàn)隱私保護機器學(xué)習(xí),不同的安全多方計算協(xié)議可以適用于不同的場景,因此出現(xiàn)了許多使用不同安全多方計算原語組合構(gòu)建機器學(xué)習(xí)隱私的保護方案.如表3所示: Table 3 Comparison of Privacy Preserving Machine Learning Schemes Based on Multi-party Computation 為了更好地理解本文提出方案的實現(xiàn)功能和應(yīng)用范圍,本文提供了多方參與的隱私保護機器學(xué)習(xí)相關(guān)方案在參與方個數(shù)、模型及方案的主要特征進行了對比.通過方案對比可以得出:1)ABY和SecureML只滿足半誠實環(huán)境下的安全多方計算協(xié)議;2)Trident方案需要額外引入一個誠實的參與方;3)Swift方案雖然通過篩選協(xié)議選出了一個TTP,但是不論是三方還是四方的安全多方計算協(xié)議都是其他參與方把所有信息發(fā)給TTP繼續(xù)計算,不符合安全多方計算協(xié)議設(shè)計的初衷;4)本文提出的四方隱私保護機器學(xué)習(xí)方案能夠在協(xié)議發(fā)生爭議時,篩選出2個誠實參與方繼續(xù)執(zhí)行協(xié)議,保證用戶可以得到輸出結(jié)果,不用擔(dān)心因為惡意敵手的行為而拒絕服務(wù).確定出的2個誠實參與方能夠高效地完成安全兩方計算協(xié)議. 近年來,隱私保護機器學(xué)習(xí)方案在實用性和模型準(zhǔn)確性等方面取得了很大的進步,但是仍然有許多問題需要解決.基于安全多方計算的隱私保護機器學(xué)習(xí)中的模型設(shè)計和通信開銷一直是研究的重點.本文提出了一個完整的四方參與的隱私保護機器學(xué)習(xí)方案,遵循誠實大多數(shù)的原則,不需要單獨引入額外的誠實方,同時能夠保證在有惡意參與方的情況下,協(xié)議依然能夠正確計算保證輸出. 下一步的工作主要由3個方面展開:1)關(guān)于方案參與方的數(shù)量問題,如何將協(xié)議的參與方個數(shù)擴展到N,并且協(xié)議實現(xiàn)的環(huán)境不再只是針對至多一個惡意參與方.2)如何在提升安全屬性的前提下,將性能開銷進一步優(yōu)化.3)針對不同的應(yīng)用需求和不同的應(yīng)用架構(gòu),如何更好地保護模型參數(shù)信息、降低隱私泄露的風(fēng)險,都是未來我們需要關(guān)注和解決的問題. 作者貢獻聲明:閻允雪提出了方案的具體思路和實驗方案并撰寫論文;馬銘負責(zé)完成實驗的對比分析并撰寫論文;蔣瀚提出指導(dǎo)意見并修改論文.4.3 激活函數(shù)
5 安全分析
5.1 正確性
5.2 協(xié)議安全證明
5.3 隱私保護魯棒性
6 方案效率分析
6.1 通信開銷
6.2 方案對比
7 總結(jié)與展望