吳彥霖 邱碩 柳亞男 張正
關(guān)鍵詞:聯(lián)邦學(xué)習(xí);隱私保護(hù);安全威脅;差分隱私;數(shù)據(jù)加密
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)36-0071-04
1 引言
大數(shù)據(jù)時(shí)代的快速發(fā)展,機(jī)器學(xué)習(xí)創(chuàng)造了巨大的數(shù)據(jù)商業(yè)價(jià)值,如擊敗人類圍棋高手的AlphaGo。數(shù)據(jù)的分布式存儲(chǔ)從一定程度上降低了數(shù)據(jù)的使用率。通過有效的數(shù)據(jù)共享,可大幅度提升機(jī)器學(xué)習(xí)訓(xùn)練的模型質(zhì)量。但在很多領(lǐng)域,由于市場(chǎng)競(jìng)爭(zhēng)和安全問題的限制,數(shù)據(jù)孤島現(xiàn)象仍廣泛存在。傳統(tǒng)的機(jī)器學(xué)習(xí),在計(jì)算能力,花費(fèi)時(shí)間等方面上都存在著諸多問題,同時(shí)數(shù)據(jù)安全和隱私問題也面臨著巨大的挑戰(zhàn)。如何共享并挖掘數(shù)據(jù)的價(jià)值,如何有效地保障用戶隱私,成為數(shù)據(jù)共享中亟待解決的關(guān)鍵技術(shù)問題。2016 年,Google 提出了聯(lián)邦學(xué)習(xí)技術(shù)模型。用戶在本地訓(xùn)練模型,將訓(xùn)練好的模型參數(shù)上傳來取代原有的上傳數(shù)據(jù)的方式,從而更好地保障數(shù)據(jù)的隱私問題。
聯(lián)邦學(xué)習(xí)技術(shù)被廣泛應(yīng)用于移動(dòng)設(shè)備、工業(yè)生產(chǎn)以及醫(yī)療等領(lǐng)域,具有較大的運(yùn)用價(jià)值[1]。同時(shí),該技術(shù)能夠與區(qū)塊鏈技術(shù)巧妙結(jié)合,有效互補(bǔ)。如王等人[2]中描述的反恐情報(bào)體系,利用“區(qū)塊鏈+ 聯(lián)邦學(xué)習(xí)”模型,實(shí)現(xiàn)區(qū)塊鏈情報(bào)共享架構(gòu)和聯(lián)邦學(xué)習(xí)情報(bào)協(xié)同架構(gòu),其中區(qū)塊鏈實(shí)現(xiàn)開源數(shù)據(jù)的共享,可信傳輸,聯(lián)邦學(xué)習(xí)實(shí)現(xiàn)隱私數(shù)據(jù)增值賦能,協(xié)同計(jì)算。聯(lián)邦學(xué)習(xí)技術(shù)在廣泛應(yīng)用的過程中同時(shí)面臨著安全與隱私、通信帶寬、系統(tǒng)效率、數(shù)據(jù)快速膨脹等諸多問題的阻礙。尤其是敏感數(shù)據(jù)的安全和隱私保護(hù)問題,是阻礙聯(lián)邦學(xué)習(xí)技術(shù)發(fā)展的一大難題。
為更好地研究與挖掘聯(lián)邦學(xué)習(xí)技術(shù)中面臨的問題,本文將基于現(xiàn)有研究成果,對(duì)聯(lián)邦學(xué)習(xí)技術(shù)的基本概念、安全威脅以及相應(yīng)技術(shù)方案梳理與總結(jié),并重點(diǎn)歸納聯(lián)邦學(xué)習(xí)技術(shù)中涉及的隱私保護(hù)問題。
2 聯(lián)邦學(xué)習(xí)基本概念以及應(yīng)用
為解決模型訓(xùn)練過程中因數(shù)據(jù)孤島帶來的數(shù)據(jù)匱乏問題,聯(lián)邦學(xué)習(xí)概念誕生。具體來說,服務(wù)器統(tǒng)一向客戶端發(fā)送訓(xùn)練模型,由客戶端利用本地?cái)?shù)據(jù)進(jìn)行模型訓(xùn)練;然后,將訓(xùn)練模型發(fā)送給服務(wù)器,通過更新模型參數(shù),完成一次訓(xùn)練迭代過程;經(jīng)過多次迭代后,得到較優(yōu)的訓(xùn)練模型。整個(gè)模型訓(xùn)練過程中,數(shù)據(jù)經(jīng)過加密后進(jìn)行交換,保障了數(shù)據(jù)的隱私性。
如圖1 所示,聯(lián)邦學(xué)習(xí)的訓(xùn)練階段包括[3]:
(1)初始化:用戶從中央服務(wù)器獲取初始模型參數(shù),同時(shí)確立好模型訓(xùn)練的目標(biāo)。
(2)模型訓(xùn)練:用戶在本地利用隱私數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,隨后得到不同的本地模型,并將本地模型參數(shù)上傳至中央服務(wù)器。
(3)模型平均:中央服務(wù)器在接收模型參數(shù)后,通過對(duì)模型參數(shù)進(jìn)行聚合和平均計(jì)算,得到一個(gè)新的模型,并再次下放模型到各個(gè)客戶端。
(4)模型迭代:重復(fù)上述的過程,模型會(huì)被不斷完善,這一過程被稱為迭代。
聯(lián)邦學(xué)習(xí)技術(shù)主要目的是建立一個(gè)基于分布數(shù)據(jù)集的聯(lián)邦學(xué)習(xí)模型,這一技術(shù)包含了兩個(gè)過程,分別是模型訓(xùn)練和模型推理。模型訓(xùn)練的過程中,以上傳模型參數(shù)代替上傳數(shù)據(jù)(例如:梯度),保證每個(gè)參與方的數(shù)據(jù)不被泄露,已訓(xùn)練完成的模型可以被多方共享。
3 聯(lián)邦學(xué)習(xí)技術(shù)中的安全威脅
3.1 攻擊來源
本文針對(duì)聯(lián)邦學(xué)習(xí)技術(shù)中的漏洞來源進(jìn)行總結(jié)分類,具體包括以下五種來源[1]:(1)通信協(xié)議:聯(lián)邦學(xué)習(xí)隨機(jī)選取客戶端實(shí)現(xiàn)迭代過程,多輪訓(xùn)練中,不安全的通信渠道會(huì)造成隱私數(shù)據(jù)泄露。
(2)客戶端數(shù)據(jù)操作:數(shù)據(jù)來源于大量的客戶端,攻擊者可通過利用客戶端的利用訓(xùn)練數(shù)據(jù)和模型數(shù)據(jù)訪問全局模型,造成數(shù)據(jù)重構(gòu)攻擊。
(3)受損的中央服務(wù)器:中央服務(wù)器負(fù)責(zé)共享初始模型參數(shù),聚合本地模型和更新全局模型。這些服務(wù)器若存在漏洞易被攻擊者利用。
(4)弱聚合算法:聚合算法應(yīng)具備識(shí)別可疑客戶端的能力,并擁有相應(yīng)配置來刪除可疑客戶端的數(shù)據(jù)更新。
(5)聯(lián)邦學(xué)習(xí)環(huán)境開發(fā)者:參與FL 環(huán)境架構(gòu)的架構(gòu)師,開發(fā)部署團(tuán)隊(duì)有意或者無意間造成數(shù)據(jù)的泄露。
3.2 攻擊分類
聯(lián)邦學(xué)習(xí)目前主要的攻擊和威脅來源于內(nèi)部實(shí)體。攻擊者通常利用漏洞控制一個(gè)或者多個(gè)參與過程的客戶端,實(shí)現(xiàn)控制全局模型的目的。具體總結(jié)以下五類攻擊:
(1)投毒攻擊
投毒攻擊是發(fā)生可能性最大的攻擊之一[4-5],主要發(fā)生在訓(xùn)練階段。攻擊者通過對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行修改,或者植入惡意數(shù)據(jù),修改本地?cái)?shù)據(jù)模型來破壞全局模型的性能和準(zhǔn)確性。
針對(duì)投毒攻擊的防御方法主要包括對(duì)抗訓(xùn)練、異常檢測(cè)、知識(shí)蒸餾以及數(shù)據(jù)清理等。其中,對(duì)抗訓(xùn)練是通過在模型訓(xùn)練階段預(yù)測(cè)攻擊者可能的數(shù)據(jù)排列,增強(qiáng)學(xué)習(xí)模型的魯棒性。Jagielski等人[6]中介紹了利用數(shù)據(jù)清理的防御手段來抵御投毒攻擊,達(dá)到了較好的效果。
(2)推理攻擊
根據(jù)攻擊來源不同,推理攻擊主要分為:服務(wù)器端推理攻擊與成員推理攻擊。
在服務(wù)器端推理攻擊中,參與聯(lián)邦學(xué)習(xí)要求所有用戶利用本地?cái)?shù)據(jù)訓(xùn)練全局模型并上傳給中央服務(wù)器。此過程中存在一個(gè)非可信且知識(shí)豐富的服務(wù)器,無法保證用戶的隱私數(shù)據(jù)信息。Wang等人[7]中通過周期性交換模型參數(shù)來計(jì)算用戶訓(xùn)練樣本的隱私內(nèi)容,而這種攻擊僅限于單純的訓(xùn)練設(shè)置,并要求共享模型在同一個(gè)網(wǎng)絡(luò)中。
(3)基于生成式對(duì)抗網(wǎng)絡(luò)(GAN)的攻擊
生成式對(duì)抗網(wǎng)絡(luò)(GAN)由生成模塊G 和判別模塊D 組成。生成模塊G 利用接收到的隨機(jī)噪聲生成虛假樣本,判別模塊D 用來判斷樣本是否為G 生成的虛假樣本。基于GAN 的攻擊可以發(fā)起投毒和推理攻擊,對(duì)聯(lián)邦學(xué)習(xí)環(huán)境的安全和隱私都可以造成影響。
Hitai等人[8]提出了一種基于客戶端的GAN重構(gòu)攻擊,由內(nèi)部的惡意用戶發(fā)起攻擊。攻擊者通過偽裝合法用戶,訓(xùn)練一個(gè)GAN 模型用來模擬其他用戶在本地訓(xùn)練出的樣本,導(dǎo)致這些樣本被錯(cuò)誤標(biāo)記,通過不斷注入訓(xùn)練樣本來更新全局模型,逐步影響整個(gè)聯(lián)邦學(xué)習(xí)全局模型,誘導(dǎo)用戶不斷地泄露隱私信息。
(4)女巫攻擊
訓(xùn)練過程中,惡意參與方通過偽造身份,控制大量的客戶端設(shè)備,發(fā)起女巫攻擊。同時(shí),用戶提供的參數(shù)會(huì)被混合平均,導(dǎo)致無法有效的區(qū)分惡意參數(shù)和正常參數(shù),大大增加了抵御女巫攻擊的難度。Fung等人[9]根據(jù)客戶端更新信息甄別投毒的女巫攻擊,設(shè)計(jì)了一種FoolsGold防御方法。但該方法需同時(shí)存在較多攻擊時(shí)防御效果才比較顯著。
(5)拜占庭攻擊
在拜占庭攻擊中,攻擊者控制多個(gè)用戶向服務(wù)器發(fā)送任意參數(shù)(又被稱為拜占庭梯度),以達(dá)到使全局模型在局部最優(yōu)處收斂,乃至模型發(fā)散,使其偏離正常的訓(xùn)練過程。攻擊者可以監(jiān)視任何服務(wù)器或任何誠(chéng)實(shí)的計(jì)算節(jié)點(diǎn),并精心設(shè)計(jì)拜占庭梯度值,使其和正確梯度難以區(qū)分。同時(shí)惡意節(jié)點(diǎn)可以控制計(jì)算節(jié)點(diǎn)設(shè)備(客戶端)本身,也可以控制節(jié)點(diǎn)和服務(wù)器之間的通信。Bhagoji等人[10] 提出通過冗余和數(shù)據(jù)洗牌的更新防御機(jī)制來防御拜占庭攻擊,但該機(jī)制通常需要嚴(yán)格的理論保證,且需要一定的前提假設(shè),如假設(shè)服務(wù)器能夠直接訪問數(shù)據(jù),導(dǎo)致這種方法缺乏實(shí)際可行性。
4 聯(lián)邦學(xué)習(xí)中的隱私保護(hù)技術(shù)
針對(duì)聯(lián)邦學(xué)習(xí)中存在的各種攻擊威脅,主要采用的應(yīng)對(duì)方法總結(jié)為以下三種。
(1)差分隱私技術(shù)
為了避免逆向數(shù)據(jù)檢索,引入差分隱私技術(shù)。具體思想:給個(gè)人樣本的私有敏感屬性添加隨機(jī)噪聲(如拉普拉斯噪聲等),使攻擊者無法判斷某一樣本是否在數(shù)據(jù)集中,以保護(hù)用戶隱私。而添加噪聲,會(huì)造成精度降低的問題。因此,該技術(shù)更適用于處理數(shù)據(jù)量規(guī)模較大的數(shù)據(jù)集。Triastcyn 等人[11]利用貝葉斯差分隱私實(shí)現(xiàn)模型訓(xùn)練及模型發(fā)布時(shí)的隱私保護(hù)。Bun M 等人[12] 利用線性上限a(λ)對(duì)梯度進(jìn)行剪輯,限制參與方數(shù)據(jù)對(duì)全局更新模型參數(shù)的影響。該方案無法較好地平衡安全性與性能。Truex 等[13] 利用客戶端在本地?cái)_動(dòng)數(shù)據(jù),(n, t)-Paillier 加密來聚合擾動(dòng)后數(shù)據(jù)的方式有效保護(hù)隱私,但該方法訓(xùn)練耗時(shí)久和通信開銷較大。
(2)同態(tài)加密技術(shù)
聯(lián)邦學(xué)習(xí)模型中的訓(xùn)練數(shù)據(jù)來自多個(gè)不同的客戶端,需要確保數(shù)據(jù)源的隱私信息不被泄露。同態(tài)加密技術(shù)支持在密文上進(jìn)行數(shù)據(jù)操作,保證數(shù)據(jù)隱私性的前提下可將密文計(jì)算委托給第三方完成,為計(jì)算能力不足的客戶端提供了便利。Hardy等人[14]結(jié)合實(shí)體解析和同態(tài)加密,實(shí)現(xiàn)了對(duì)縱向分布數(shù)據(jù)進(jìn)行聯(lián)邦學(xué)習(xí)。Zhang等人[15]利用加法同態(tài)加密技術(shù)實(shí)現(xiàn)密文數(shù)據(jù)的批量處理,保證隱私的同時(shí)提升了聯(lián)邦學(xué)習(xí)效率。Fang與Ma等工作[16-17]結(jié)合多功能同態(tài)加密技術(shù)實(shí)現(xiàn)聯(lián)邦學(xué)習(xí)中的數(shù)據(jù)隱私保護(hù)。
(3)安全多方計(jì)算
在安全多方計(jì)算中,多個(gè)參與方之間可協(xié)同完成某個(gè)計(jì)算任務(wù),同時(shí)不泄漏任何隱私數(shù)據(jù)信息給其他參與方。應(yīng)用中通常以兩方安全協(xié)議與多方秘密共享協(xié)議為基礎(chǔ),再結(jié)合同態(tài)加密技術(shù)實(shí)現(xiàn)對(duì)數(shù)據(jù)的保護(hù)。大部分同態(tài)加密算法效率無法適用于大規(guī)模數(shù)據(jù)加密,而聯(lián)邦學(xué)習(xí)模型中僅需要對(duì)模型參數(shù)進(jìn)行加密即可,因此大大減少了加解密的計(jì)算復(fù)雜度。Wu 等人[18]結(jié)合多方秘密共享與同態(tài)加密提供了一種Piv?ot的方法,整個(gè)過程不會(huì)泄漏數(shù)據(jù)隱私信息給各個(gè)參與方。但該方法需要多次的信息交互,帶來的通信代價(jià)會(huì)成為模型訓(xùn)練中的瓶頸問題。
以上描述的三種聯(lián)邦學(xué)習(xí)隱私保護(hù)技術(shù),各有其利弊。在實(shí)際運(yùn)用中,三種技術(shù)相互結(jié)合可以達(dá)到較好的效果,如Zhang等人[19]提出了一種基于差分隱私和同態(tài)加密的強(qiáng)隱私保護(hù)聯(lián)邦學(xué)習(xí)算法,高效地解決了聯(lián)邦學(xué)習(xí)中數(shù)據(jù)隱私保護(hù)問題。
5 分析與展望
據(jù)上所述,本文總結(jié)分析了現(xiàn)有聯(lián)邦學(xué)習(xí)中的攻擊威脅與隱私保護(hù)技術(shù)。隨著聯(lián)邦學(xué)習(xí)技術(shù)被廣泛應(yīng)用[20,21],在研究過程中,依然存在一些可以繼續(xù)探索的方向:
(1)如何更好地實(shí)現(xiàn)隱私保護(hù)開銷和聯(lián)邦學(xué)習(xí)效率之間的平衡。需要選擇合適的加密算法與所加入的噪聲量,過量的加密保護(hù)和噪聲加入會(huì)造成模型精度的損失以及增加計(jì)算開支。
(2)跟蹤全局機(jī)器學(xué)習(xí)模型是聯(lián)邦學(xué)習(xí)技術(shù)中的一個(gè)瓶頸,如結(jié)合新型區(qū)塊鏈技術(shù)。因此,實(shí)現(xiàn)整個(gè)訓(xùn)練模型的跟蹤是可繼續(xù)探索的一個(gè)研究方向。
(3)聯(lián)邦學(xué)習(xí)技術(shù)需要詳細(xì)分析用不同方法標(biāo)記的所有優(yōu)缺點(diǎn),也需要定義標(biāo)準(zhǔn)化的技術(shù)來支持不同領(lǐng)域的聯(lián)邦學(xué)習(xí)的新需求,同時(shí)增強(qiáng)數(shù)據(jù)的隱私保護(hù)。
6 總結(jié)
聯(lián)邦學(xué)習(xí)作為一種由人工智能和隱私保護(hù)相融衍生的技術(shù),其研究領(lǐng)域正逐漸變得綜合化,但是隱私保護(hù)依舊是一個(gè)不可忽視的重要研究方向。本文介紹了聯(lián)邦學(xué)習(xí)技術(shù)的基本概念,分析了聯(lián)邦學(xué)習(xí)技術(shù)中的安全威脅以及隱私保護(hù)方法,并總結(jié)了該領(lǐng)域亟待突破的困境以及未來展望。