天天看點

當聯邦學習保護資料隐私,如何保證其自身的安全性?

聯邦學習(Federated Learning)是一種由多方參與的聯合計算技術,多方在不洩漏各自隐私資料的前提下,完成模型的訓練與推理。

在實際應用中,聯邦學習既可以發生在同一企業的不同部門,也可以在不同企業之間。一般在聯邦學習架構中,各個參與者的明文資料不出本地,以降低隐私洩漏的風險,多方之間僅交換必需的中間結果以完成訓練。

在目前的學術研究與應用中,根據應用場景的不同,聯邦學習可以分為橫向聯邦學習和縱向聯邦學習 [1]。在本文中,我們将重點對以上兩種聯邦學習進行安全性分析,深入探索多方在橫向聯邦學習和縱向聯邦學習中交換的中間結果是否會帶來隐私資料洩漏。

Vanilla 橫向聯邦學習的安全性

Vanilla 橫向聯邦是聯邦學習的一種最初形态,由 Google 在 2016 年提出 [2],該方案最早地展示了如何在不接觸使用者本地資料的前提下完成模型訓練,進而在一定程度上減少了使用者的隐私資料洩漏。 

當聯邦學習保護資料隐私,如何保證其自身的安全性?

圖 1:Google 的 Vanilla 橫向聯邦學習。

上圖 1 展示了 Vanilla 橫向聯邦學習的過程,該方案由以下三個步驟組成:

  • Map:中心伺服器将目前模型分發給參與者,收到模型的參與者在本地資料上進行參數的有偏估計;
  • Aggregate:中心伺服器收集參與者的參數估,進行聚合,得到新的模型參數;
  • Reduce:中心伺服器使用聚合後的新參數作為目前模型。

該方案将重複步驟(1)-(3)直到模型收斂,Google 已将該方案實踐于 Google- keyboard 應用。

安全性分析

在 vanilla 橫向聯邦中,中心伺服器擷取到了參與者每輪訓練的梯度明文,基于這些明文梯度資訊,中心伺服器可以使用梯度攻擊的方法,反推參與者的訓練資料。

目前常用的梯度攻擊方法有兩種:

(1)全連接配接網絡層攻擊 [3]

(2)非全連接配接、深度模型的攻擊 [4]。

1.全連接配接網絡層攻擊當神經網絡模型第一層為全連接配接層時,中心伺服器可以使用方法(1)進行攻擊,假設第一層網絡為:a=wx+b則在反向傳播中,w 的梯度為:

當聯邦學習保護資料隐私,如何保證其自身的安全性?

其中 ∂l/∂a 為反向傳遞到第一層的梯度,對每一個神經元,輸出次元為 1,即 ∂l/∂a 為标量,∂l/∂w 是原資料 x 的 ∂l/∂a 倍。以圖像資料為例,其資料區間為 0~255,中心伺服器隻需要将某一個神經元的梯度進行 rescale,調整到 0~255 之間,即可直接獲得參與者的訓練資料。 

當聯邦學習保護資料隐私,如何保證其自身的安全性?

圖 2:全連接配接網絡層攻擊結果(2 層網絡,每層 512 個 unit)[5]。

上圖 2 展示了在該方法在 MLP 模型上的攻擊結果,可以看到攻擊結果中的數字清晰可辯别。

2.非全連接配接、深度模型的攻擊

當模型為非全連接配接、深度模型時,例如卷積神經網絡、循環網絡,中心伺服器可以使用方法(2)進行攻擊,該方法的基本思路是使用梯度資訊作為輸入、訓練一組假資料。當假資料産生的梯度和真實梯度相近時,假資料就會十分接近真實資料。下圖 3 展示了該攻擊方案的基本原理。 

當聯邦學習保護資料隐私,如何保證其自身的安全性?

圖 3:針對卷積神經網絡的梯度攻擊方法。

下圖 4、圖 5 展示了圖像任務和 NLP 任務的攻擊結果,可以看到中心伺服器可以使用該梯度攻擊方法較好地還原圖像和文本訓練資料。 

當聯邦學習保護資料隐私,如何保證其自身的安全性?

圖 4:卷積神經網絡的攻擊結果(圖像任務)。 

當聯邦學習保護資料隐私,如何保證其自身的安全性?

圖 5:語言模型的攻擊結果(NLP 任務)。

安全性分析(結論):vanilla 橫向聯邦學習雖然避免了中心伺服器直接接觸使用者資料,但仍無法保證使用者的隐私資料安全,中心伺服器在接收到使用者的明文梯度後,可以使用梯度攻擊模型恢複出使用者的隐私資料。

多種保護機制下橫向聯邦學習的安全性

在 vanilla 橫向聯邦學習不安全成為共識的背景下,大量聯邦學習資料保護方法被提出,下面我們将對最常用的兩種進行讨論:

(1)基于 Secure Aggregation 的橫向聯邦學習

(2)基于同态加密的橫向聯邦學習。

基于 Secure Aggregation 的橫向聯邦學習

vanilla 橫向聯邦學習的隐私資料洩漏發生在中心伺服器參數聚合的步驟中,中心伺服器獲得了每個參與者單獨的梯度,進而可以使用梯度攻擊竊取隐私資料。假設系統保障中心伺服器無法獲得單個參與者的梯度資訊,即可很大程度保護參與者的資料,使得中心伺服器無法對某一個參與者直接發起攻擊。Secure Aggregation 就是借助了這種思想,每個參與者在上傳模型資料前,在自身的模型上加入大量噪聲,然後控制噪聲的分布,使得多個參與者的模型在聚合後,資料上的噪聲會互相抵消,進而不會影響聯邦學習的模型收斂。這裡我們介紹一種使用 one-time pad 進行安全聚合的方法 [6],給定 K 個參與者,假設每兩個參與者之間都有一條安全通信的通道,參與者兩兩之間首先協商一組擾動噪聲,參與者 u 會對所有其他參與者生成随機向量 r∈(0,R],其中 R 是一個大整數。随後,參與者 u 和 v 之間會通過他們之間的安全通道交換随機向量 r_(u,v) 和 r_(v,u),然後計算擾動噪聲 p_(u,v)=r_(u,v)-r_(v,u)  (mod R)。在完成擾動噪聲生成後,每個參與者将噪聲應用到模型資料上并發送給中心伺服器:

當聯邦學習保護資料隐私,如何保證其自身的安全性?

,中心伺服器進行以下參數聚合:

當聯邦學習保護資料隐私,如何保證其自身的安全性?

以上聚合公式也提供了準确性驗證,即在聚合過程中,不同參與者模型上的擾動噪聲會互相抵消、保證最終聚合模型不受影響。

安全性分析(結論):在使用了 Secure Aggregation 方法後,中心伺服器無法獲得單個參與者的梯度資訊,大大提升了系統的安全性,中心伺服器也無法單獨使用梯度攻擊對參與者的隐私資料進行攻擊。

基于同态加密的橫向聯邦學習

除了 Secure Aggregation 方法外,我們亦可使用同态加密技術對參與者的梯度資訊進行保護。同态加密是密碼學研究中的「明珠」,其特殊性質在于,可以直接在密文上進行計算而無需解密。根據同态加密算法在密文上支援算子的不同,可以将其分為:加法同态、乘法同态和全同态算法。在橫向聯邦學習中一般使用支援加法的同态加密算法,即參與者在上傳模型資料前,首先對其進行加密,然後中心伺服器收到密文後,在密文上進行加法聚合,再将密文結果傳回給參與者,假設使用的同态加密為部分同态,則參與者需要先解密、再完成模型更新;如果使用的同态加密為全同态加密,則參與者無需進行解密,可以在密文的模型上進行更新。下圖 6 展示了一個标準的基于加法同态加密的橫向聯邦學習架構,該架構的運算流程可以概括為以下三個步驟:

  • Map:中心伺服器将目前加密模型分發給參與者,收到模型的參與者先對模型進行加密,再在本地資料上進行參數的有偏估計;
  • Aggregate:中心伺服器收集參與者的加密參數估計,進行聚合,得到新的、密态下的模型參數;
  • Reduce:中心伺服器使用聚合後的新加密參數最為目前模型。
當聯邦學習保護資料隐私,如何保證其自身的安全性?

圖 6:基于加法同态加密的橫向聯邦學習 [3]。

基于全同态的橫向聯邦架構:除了使用加法同态算法之外,還可以使用全同态對橫向聯邦裡的參數資訊進行保護。在使用了全同态加密後,不止中心伺服器上的參數聚合在密文下,參與者本地的模型更新也是在密文下,多方需要預先規定訓練次數,在達到指定數量後停止訓練。

安全性分析(密鑰管理):在對基于同态加密的聯邦學習系統進行安全性分析之前,還有一點需要我們額外注意的,那就是同态加密算法在使用中如何管理密鑰。大部分同态加密算法僅有一個私鑰,即在使用中,所有的參與者持有同一組公私鑰、然後将公鑰分享給中心伺服器。但這種模型安全性較低,一旦有一個參與者與中心伺服器共謀,系統的安全性就下降到了 vanilla 聯邦學習。以上問題目前有一個較好的解決方案,即使用門檻值同态加密算法 [10,11],該類型的同态加密算法支援多個私鑰存在,并且當一定數量以上的私鑰參與,才能将密文成功解密,近期門檻值同态加密研究火熱 [7,8,9],受到了廣泛關注。

安全性分析(總結):在使用了同态加密之後,中心伺服器無法擷取任何有效的明文資訊,是以也無法進行梯度攻擊。并且借助門檻值同态加密,多個參與者可以各自持有一個私鑰,可以大大提升了系統的安全性,可以說參與者的資料十分安全

。縱向聯邦安全性分析

除了橫向聯邦學習之外,另一種在實際中大量應用的是縱向聯邦學習。從分布式計算的角度考慮,橫向聯邦是一種資料并行的思路,而縱向聯邦是模型并行的思路。不同點是,橫向聯邦(資料并行)對模型沒有要求,不管是線性模型、神經網絡,都可以很輕松的套用橫向聯邦的架構進行實作;而縱向聯邦(模型并行)中,每個解決方案都和模型緊密綁定,一般需要對單機版本的模型進行拆解,規定好每個參與者本地需要計算的内容、以及多方之間需要交換的資訊。

是以說縱向聯邦的安全性分析需要對每個算法進行,不同的算法實作方式可能會有不同的安全性。在本文中,我們将以 FATE 聯邦學習架構中的縱向線性回歸為例,對其資料安全性進行分析。下圖 7 展示了 FATE 中使用的縱向線性回歸算法模型, ⟦.⟧ 代表同态加密後的密文。我們可以發現,聯邦模組化中 A、B 雙方交換的資訊均為同态加密後的,每一輪訓練中 A、B 僅能獲得自身模型的梯度,無法反推對方的隐私資料。 

當聯邦學習保護資料隐私,如何保證其自身的安全性?

圖 7:帶第三方的縱向線性回歸模型算法流程 [1]。

安全性分析(總結):縱向聯邦學習算法和模型緊密相關,不同的聯邦算法設計可能會有不同的安全性,是以我們在設計縱向聯邦學習算法時,就需要對安全性進行考慮。本文以 FATE 中使用的線性回歸模型為例進行了分析,FATE 使用同态加密作為基礎隐私保護技術,多方之間傳遞的資訊均為同态加密後的,是以可以保障參與者的隐私資料安全不洩漏。

結語

最近,我們看到網絡上有很多針對聯邦學習安全性的讨論,絕大部分的質疑主要集中在聯邦學習可以被梯度攻擊,進而使其安全性下降。但是,梯度攻擊隻能被利用在 vanilla 聯邦學習上,而 vanilla 聯邦學習不會被用于生産系統中。在生産系統中,如本文的分析和介紹,聯邦學習往往會利用同态加密或者差分隐私等技術進一步保護傳遞的參數,進而使得聯邦學習無法被攻擊,保證安全性。我們希望通過文本為讀者們展示一個更加準确的聯邦學習全貌,進而使得讀者們可以更加準确地了解到聯邦學習的安全性現狀。

作者簡介

柴迪,星雲Clustar首席聯邦學習架構師,香港科技大學博士,他的研究興趣點為隐私保護機器學習,聯邦學習。曾在IJCAI、IEEE TIST、SIGSPATIAL等期刊與會議發表文章,近期工作有:(1) FedEval: A Comprehensive Evaluation System for FL(https://github.com/Di-Chai/FedEval) 中,提出了一個完整的聯邦評估架構,(2) Secure Federated Matrix Factorization中提出了一種安全的聯邦矩陣分解算法。

聯系方式:[email protected]

參考文獻

[1] Yang, Qiang, et al. "Federated machine learning: Concept and applications." ACM Transactions on Intelligent Systems and Technology (TIST) 10.2 (2019): 1-19.[2] McMahan, Brendan, et al. "Communication-efficient learning of deep networks from decentralized data." Artificial Intelligence and Statistics. PMLR, 2017.[3] Aono, Yoshinori, et al. "Privacy-preserving deep learning via additively homomorphic encryption." IEEE Transactions on Information Forensics and Security 13.5 (2017): 1333-1345.[4] Zhu, Ligeng, and Song Han. "Deep leakage from gradients." Federated Learning. Springer, Cham, 2020. 17-31.[5] Chai, Di, et al. "FedEval: A Benchmark System with a Comprehensive Evaluation Model for Federated Learning." arXiv preprint arXiv:2011.09655 (2020).[6] Bonawitz, Keith, et al. "Practical secure aggregation for federated learning on user-held data." arXiv preprint arXiv:1611.04482 (2016).[7] Sav, Sinem, et al. "POSEIDON: Privacy-Preserving Federated Neural Network Learning." arXiv preprint arXiv:2009.00349 (2020).[8] Chen, Hao, et al. "Efficient multi-key homomorphic encryption with packed ciphertexts with application to oblivious neural network inference." Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security. 2019.[9] Li, Ping, et al. "Multi-key privacy-preserving deep learning in cloud computing." Future Generation Computer Systems 74 (2017): 76-85.[10] Chen, Hao, Ilaria Chillotti, and Yongsoo Song. "Multi-key homomorphic encryption from TFHE." International Conference on the Theory and Application of Cryptology and Information Security. Springer, Cham, 2019.[11] Hazay, Carmit, et al. "Efficient RSA key generation and threshold paillier in the two-party setting." Journal of Cryptology 32.2 (2019): 265-323.

繼續閱讀