偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

當聯(lián)邦學習保護數(shù)據(jù)隱私,如何保證其自身的安全性?

新聞 應用安全
聯(lián)邦學習是一種多方聯(lián)合計算技術,最早由谷歌于 2016 年提出,其核心思想是在保證多方數(shù)據(jù)不出域的前提下完成模型的訓練與推理、多方之間僅交換必需的中間結果。

 聯(lián)邦學習(Federated Learning)是一種由多方參與的聯(lián)合計算技術,多方在不泄漏各自隱私數(shù)據(jù)的前提下,完成模型的訓練與推理。

在實際應用中,聯(lián)邦學習既可以發(fā)生在同一企業(yè)的不同部門,也可以在不同企業(yè)之間。一般在聯(lián)邦學習框架中,各個參與者的明文數(shù)據(jù)不出本地,以降低隱私泄漏的風險,多方之間僅交換必需的中間結果以完成訓練。

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

Vanilla 橫向聯(lián)邦學習的安全性

Vanilla 橫向聯(lián)邦是聯(lián)邦學習的一種最初形態(tài),由 Google 在 2016 年提出 [2],該方案最早地展示了如何在不接觸用戶本地數(shù)據(jù)的前提下完成模型訓練,從而在一定程度上減少了用戶的隱私數(shù)據(jù)泄漏。

當聯(lián)邦學習保護數(shù)據(jù)隱私,如何保證其自身的安全性?

圖 1:Google 的 Vanilla 橫向聯(lián)邦學習。

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

  • Map:中心服務器將當前模型分發(fā)給參與者,收到模型的參與者在本地數(shù)據(jù)上進行參數(shù)的有偏估計;
  • Aggregate:中心服務器收集參與者的參數(shù)估,進行聚合,得到新的模型參數(shù);
  • Reduce:中心服務器使用聚合后的新參數(shù)作為當前模型。

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

安全性分析

在 vanilla 橫向聯(lián)邦中,中心服務器獲取到了參與者每輪訓練的梯度明文,基于這些明文梯度信息,中心服務器可以使用梯度攻擊的方法,反推參與者的訓練數(shù)據(jù)。目前常用的梯度攻擊方法有兩種:(1)全連接網(wǎng)絡層攻擊 [3](2)非全連接、深度模型的攻擊 [4]。

1.全連接網(wǎng)絡層攻擊

當神經(jīng)網(wǎng)絡模型第一層為全連接層時,中心服務器可以使用方法(1)進行攻擊,假設第一層網(wǎng)絡為:

a=wx+b

則在反向傳播中,w 的梯度為:

當聯(lián)邦學習保護數(shù)據(jù)隱私,如何保證其自身的安全性?

其中 ∂l/∂a 為反向傳遞到第一層的梯度,對每一個神經(jīng)元,輸出維度為 1,即 ∂l/∂a 為標量,∂l/∂w 是原數(shù)據(jù) x 的 ∂l/∂a 倍。以圖像數(shù)據(jù)為例,其數(shù)據(jù)區(qū)間為 0~255,中心服務器只需要將某一個神經(jīng)元的梯度進行 rescale,調整到 0~255 之間,即可直接獲得參與者的訓練數(shù)據(jù)。

當聯(lián)邦學習保護數(shù)據(jù)隱私,如何保證其自身的安全性?

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

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

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

當模型為非全連接、深度模型時,例如卷積神經(jīng)網(wǎng)絡、循環(huán)網(wǎng)絡,中心服務器可以使用方法(2)進行攻擊,該方法的基本思路是使用梯度信息作為輸入、訓練一組假數(shù)據(jù)。當假數(shù)據(jù)產(chǎn)生的梯度和真實梯度相近時,假數(shù)據(jù)就會十分接近真實數(shù)據(jù)。下圖 3 展示了該攻擊方案的基本原理。

當聯(lián)邦學習保護數(shù)據(jù)隱私,如何保證其自身的安全性?

圖 3:針對卷積神經(jīng)網(wǎng)絡的梯度攻擊方法。

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

當聯(lián)邦學習保護數(shù)據(jù)隱私,如何保證其自身的安全性?

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

當聯(lián)邦學習保護數(shù)據(jù)隱私,如何保證其自身的安全性?

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

安全性分析(結論):vanilla 橫向聯(lián)邦學習雖然避免了中心服務器直接接觸用戶數(shù)據(jù),但仍無法保證用戶的隱私數(shù)據(jù)安全,中心服務器在接收到用戶的明文梯度后,可以使用梯度攻擊模型恢復出用戶的隱私數(shù)據(jù)。

多種保護機制下橫向聯(lián)邦學習的安全性

在 vanilla 橫向聯(lián)邦學習不安全成為共識的背景下,大量聯(lián)邦學習數(shù)據(jù)保護方法被提出,下面我們將對最常用的兩種進行討論:(1)基于 Secure Aggregation 的橫向聯(lián)邦學習(2)基于同態(tài)加密的橫向聯(lián)邦學習。

基于 Secure Aggregation 的橫向聯(lián)邦學習

vanilla 橫向聯(lián)邦學習的隱私數(shù)據(jù)泄漏發(fā)生在中心服務器參數(shù)聚合的步驟中,中心服務器獲得了每個參與者單獨的梯度,進而可以使用梯度攻擊竊取隱私數(shù)據(jù)。假設系統(tǒng)保障中心服務器無法獲得單個參與者的梯度信息,即可很大程度保護參與者的數(shù)據(jù),使得中心服務器無法對某一個參與者直接發(fā)起攻擊。

Secure Aggregation 就是借助了這種思想,每個參與者在上傳模型數(shù)據(jù)前,在自身的模型上加入大量噪聲,然后控制噪聲的分布,使得多個參與者的模型在聚合后,數(shù)據(jù)上的噪聲會相互抵消,進而不會影響聯(lián)邦學習的模型收斂。

這里我們介紹一種使用 one-time pad 進行安全聚合的方法 [6],給定 K 個參與者,假設每兩個參與者之間都有一條安全通信的通道,參與者兩兩之間首先協(xié)商一組擾動噪聲,參與者 u 會對所有其他參與者生成隨機向量 r∈(0,R],其中 R 是一個大整數(shù)。隨后,參與者 u 和 v 之間會通過他們之間的安全通道交換隨機向量 r_(u,v) 和 r_(v,u),然后計算擾動噪聲 p_(u,v)=r_(u,v)-r_(v,u) (mod R)。在完成擾動噪聲生成后,每個參與者將噪聲應用到模型數(shù)據(jù)上并發(fā)送給中心服務器:

當聯(lián)邦學習保護數(shù)據(jù)隱私,如何保證其自身的安全性?

,中心服務器進行以下參數(shù)聚合:

當聯(lián)邦學習保護數(shù)據(jù)隱私,如何保證其自身的安全性?

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

安全性分析(結論):在使用了 Secure Aggregation 方法后,中心服務器無法獲得單個參與者的梯度信息,大大提升了系統(tǒng)的安全性,中心服務器也無法單獨使用梯度攻擊對參與者的隱私數(shù)據(jù)進行攻擊。

基于同態(tài)加密的橫向聯(lián)邦學習

除了 Secure Aggregation 方法外,我們亦可使用同態(tài)加密技術對參與者的梯度信息進行保護。同態(tài)加密是密碼學研究中的「明珠」,其特殊性質在于,可以直接在密文上進行計算而無需解密。根據(jù)同態(tài)加密算法在密文上支持算子的不同,可以將其分為:加法同態(tài)、乘法同態(tài)和全同態(tài)算法。

在橫向聯(lián)邦學習中一般使用支持加法的同態(tài)加密算法,即參與者在上傳模型數(shù)據(jù)前,首先對其進行加密,然后中心服務器收到密文后,在密文上進行加法聚合,再將密文結果返回給參與者,假設使用的同態(tài)加密為部分同態(tài),則參與者需要先解密、再完成模型更新;如果使用的同態(tài)加密為全同態(tài)加密,則參與者無需進行解密,可以在密文的模型上進行更新。

下圖 6 展示了一個標準的基于加法同態(tài)加密的橫向聯(lián)邦學習框架,該框架的運算流程可以概括為以下三個步驟:

  • Map:中心服務器將當前加密模型分發(fā)給參與者,收到模型的參與者先對模型進行加密,再在本地數(shù)據(jù)上進行參數(shù)的有偏估計;
  • Aggregate:中心服務器收集參與者的加密參數(shù)估計,進行聚合,得到新的、密態(tài)下的模型參數(shù);
  • Reduce:中心服務器使用聚合后的新加密參數(shù)最為當前模型。
當聯(lián)邦學習保護數(shù)據(jù)隱私,如何保證其自身的安全性?

圖 6:基于加法同態(tài)加密的橫向聯(lián)邦學習 [3]。

基于全同態(tài)的橫向聯(lián)邦框架:除了使用加法同態(tài)算法之外,還可以使用全同態(tài)對橫向聯(lián)邦里的參數(shù)信息進行保護。在使用了全同態(tài)加密后,不止中心服務器上的參數(shù)聚合在密文下,參與者本地的模型更新也是在密文下,多方需要預先規(guī)定訓練次數(shù),在達到指定數(shù)量后停止訓練。

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

安全性分析(總結):在使用了同態(tài)加密之后,中心服務器無法獲取任何有效的明文信息,所以也無法進行梯度攻擊。并且借助閾值同態(tài)加密,多個參與者可以各自持有一個私鑰,可以大大提升了系統(tǒng)的安全性,可以說參與者的數(shù)據(jù)十分安全。

縱向聯(lián)邦安全性分析

除了橫向聯(lián)邦學習之外,另一種在實際中大量應用的是縱向聯(lián)邦學習。從分布式計算的角度考慮,橫向聯(lián)邦是一種數(shù)據(jù)并行的思路,而縱向聯(lián)邦是模型并行的思路。不同點是,橫向聯(lián)邦(數(shù)據(jù)并行)對模型沒有要求,不管是線性模型、神經(jīng)網(wǎng)絡,都可以很輕松的套用橫向聯(lián)邦的框架進行實現(xiàn);而縱向聯(lián)邦(模型并行)中,每個解決方案都和模型緊密綁定,一般需要對單機版本的模型進行拆解,規(guī)定好每個參與者本地需要計算的內容、以及多方之間需要交換的信息。所以說縱向聯(lián)邦的安全性分析需要對每個算法進行,不同的算法實現(xiàn)方式可能會有不同的安全性。

在本文中,我們將以 FATE 聯(lián)邦學習框架中的縱向線性回歸為例,對其數(shù)據(jù)安全性進行分析。

下圖 7 展示了 FATE 中使用的縱向線性回歸算法模型, ⟦.⟧ 代表同態(tài)加密后的密文。我們可以發(fā)現(xiàn),聯(lián)邦建模中 A、B 雙方交換的信息均為同態(tài)加密后的,每一輪訓練中 A、B 僅能獲得自身模型的梯度,無法反推對方的隱私數(shù)據(jù)。

當聯(lián)邦學習保護數(shù)據(jù)隱私,如何保證其自身的安全性?

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

安全性分析(總結):縱向聯(lián)邦學習算法和模型緊密相關,不同的聯(lián)邦算法設計可能會有不同的安全性,所以我們在設計縱向聯(lián)邦學習算法時,就需要對安全性進行考慮。本文以 FATE 中使用的線性回歸模型為例進行了分析,F(xiàn)ATE 使用同態(tài)加密作為基礎隱私保護技術,多方之間傳遞的信息均為同態(tài)加密后的,所以可以保障參與者的隱私數(shù)據(jù)安全不泄漏。

結語

最近,我們看到網(wǎng)絡上有很多針對聯(lián)邦學習安全性的討論,絕大部分的質疑主要集中在聯(lián)邦學習可以被梯度攻擊,從而使其安全性下降。但是,梯度攻擊只能被利用在 vanilla 聯(lián)邦學習上,而 vanilla 聯(lián)邦學習不會被用于生產(chǎn)系統(tǒng)中。在生產(chǎn)系統(tǒng)中,如本文的分析和介紹,聯(lián)邦學習往往會利用同態(tài)加密或者差分隱私等技術進一步保護傳遞的參數(shù),從而使得聯(lián)邦學習無法被攻擊,保證安全性。

我們希望通過文本為讀者們展示一個更加準確的聯(lián)邦學習全貌,從而使得讀者們可以更加準確地了解到聯(lián)邦學習的安全性現(xiàn)狀。

 

責任編輯:張燕妮 來源: 機器之心Pro
相關推薦

2022-05-19 12:04:07

隱私保護攻擊威脅

2023-07-13 07:35:19

2022-04-01 15:59:05

區(qū)塊鏈安全數(shù)據(jù)結構本

2011-03-31 09:40:46

2012-05-10 09:50:53

云計算安全

2019-08-21 17:10:13

安全技術網(wǎng)絡安全網(wǎng)站

2022-06-22 09:00:00

安全編程語言工具

2019-04-09 10:35:14

API數(shù)據(jù)安全性

2019-12-04 07:12:41

前端后端web安全

2010-08-27 10:02:16

2013-01-11 14:00:18

云存儲云計算云安全

2013-01-15 10:12:39

云存儲云安全

2012-08-20 10:28:01

云模型NIST云計算

2013-02-18 16:12:55

2011-02-13 14:36:35

2023-08-24 07:33:28

2010-05-17 16:26:36

IIS安全

2019-05-08 05:25:44

信息安全數(shù)據(jù)安全網(wǎng)絡安全

2022-10-19 12:15:17

2014-04-24 09:52:14

點贊
收藏

51CTO技術棧公眾號