Part2:Privacy of Federal Learning:FL中的隱私保護問題
1.Secure Multi-party Computation
簡稱SMC钩骇,安全多方計算搀罢。
大致模型如上圖所示蟹瘾,含義為:由多方提供的數據在加密的條件下經過網絡訓練時吠架,既不影響結果也能保證數據安全。
在這里我們看一個經典的SMC模型:
姚式混淆電路
上圖為姚式混淆電路的經典分析圖波俄,但我在初學的時候理解這張圖卻不是很透徹侥加,所以我找到了下圖:
首先,Alice和Bob都持有數據集弃锐,分別為x,y袄友。這兩個數據集需要共同輸入進函數f(x,y),以達到訓練參數的目的霹菊。
姚氏混淆模型的思路為:
1.Alice把函數f轉換為等價的電路C剧蚣;
2.Alice選擇Lable加密C得到GC電路,在這里我們對GC電路和C電路進行解釋:GC可以理解為一個新的函數f'旋廷,它是由函數f得來的鸠按,相當于f' = g(f(x,y))。
3.將GC以及x對應的Label發(fā)送給Bob:在我看來饶碘,這就相當于把一個二元函數的一個函數自變量帶入之后目尖,再將這個模型發(fā)給Bob。由于這個二元函數f'和f的操作是不可逆的扎运,所以Bob并不能通過得到的模型推測出Alice具有的數據集x瑟曲。此時,Bob需要操作的函數為f'(a,y)豪治,其中a是一個常數(Alice已經帶入了)
4.運行OT洞拨,獲取和y相關的Label:我們知道,Alice在帶入參數的時候负拟,參數已經經過加密扣甲。那Bob在帶入的時候自然也需要加密,這一步就是獲取Bob即將對他的data加密所用的密鑰。OT琉挖,全稱為Oblivious transfer不經意傳輸启泣,就是Alice將很多滿足要求的Label同時傳輸,在經過OT之后示辈,會得出一個Label*傳給Bob寥茫,而Alice并不知道Bob使用的是哪個Label,這樣就避免了在Bob帶入數據之后矾麻,Alice從結果反推Bob的數據纱耻。
獲取Label之后,Bob利用Label將y進行加密y'险耀。
5.解密GC電路弄喘,得到輸出結果;
6.返回結果給Alice甩牺。
綜上所述蘑志,A不能通過中間步驟對B的數據有了解,B也相同贬派,這就是SMC需要實現的關鍵急但。
2.Differential Privacy
差分隱私,其中比較經典的是k-anonymity(k-匿名)搞乏。
差分隱私波桩,又可理解為泛化布朦,就是將數據泛化欠动,使得攻擊者即使獲得信息,也無法精確定位到某一個用戶岖常,間接或直接地保護了用戶隱私侍筛。k-anonymity指的是匀油,對于任意一行記錄,其所屬的相等集內記錄數據的數量 > k勾笆,也就是說敌蚜,攻擊者攻擊時至少面對k條類似(類)數據。
3.Homomorphic Encryption
同態(tài)加密
上圖是云計算的一張很常見也很好理解的圖窝爪,我希望得到我想要的結果但是我不想云知道我的信息弛车,于是我采用加密的形式傳輸。其實在之前我們提到的SMC中姚式混淆模型蒲每,也使用了同臺加密纷跛。
相信有這兩張圖,同態(tài)加密的原理就很清晰了邀杏。
目前在ML中使用較成熟的是加法同態(tài)贫奠,而我們常見的公鑰密碼算法RSA則具有乘法同態(tài)的特點唬血。
4.Indirect information leakage
最后一方面,講的是惡意參與者的問題唤崭。試想一下拷恨,如果網絡的參與者之一是惡意用戶,SMC的簡單加密并不能攔住他獲取其他用戶的數據谢肾,又有什么方法可以防御呢腕侄?
這部分筆者學習較少,只能提幾篇類似主題的論文供大家參考芦疏,希望之后有時間我也能去看看:
<1>Privacy-Preserving Deep Learning via Additively Homomorphic Encryption.
SGD等常見方法沒有安全保證
<2>How To Backdoor Federated Learnng.
插入后門是有可能的
<3>Inference Attacks Against Collaborative Learning.
可能的潛在漏洞
<4>Securing Distributed Machine Learning in High Dimensions.
對不同參與者的梯度交換所帶來的安全問題
<5>On-Device Federated Learning via Blockchain and its Latency Analysis.
區(qū)塊鏈:塊鏈式聯(lián)邦學習BlockFL的體系結構冕杠。其中移動終端設備的本地學習模型更新通過利用區(qū)塊鏈進行交換和驗證