国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

聯(lián)邦學習隱私保護研究進展

2021-06-09 13:21:18王健宗孔令煒黃章成陳霖捷劉懿盧春曦肖京
大數(shù)據(jù) 2021年3期
關(guān)鍵詞:參與方聯(lián)邦客戶端

王健宗,孔令煒,黃章成,陳霖捷,劉懿,盧春曦,肖京

平安科技(深圳)有限公司,廣東 深圳 518063

1 引言

大數(shù)據(jù)、人工智能和云產(chǎn)業(yè)等的爆發(fā)式發(fā)展,一方面為傳統(tǒng)行業(yè)帶來升級變革的新機遇,另一方面也給數(shù)據(jù)和網(wǎng)絡(luò)安全帶來了新挑戰(zhàn)。不同行業(yè)的公司會收集大量的數(shù)據(jù)信息,同一企業(yè)下不同層級的部門也會收集不同的信息,由于行業(yè)間的競爭和壟斷,以及同一企業(yè)下不同系統(tǒng)和業(yè)務(wù)的閉塞性與阻隔性,很難實現(xiàn)數(shù)據(jù)信息的交流與整合。當不同的企業(yè)之間,以及同一企業(yè)下屬不同部門之間需要合作進行聯(lián)合建模時,將面臨跨越重重數(shù)據(jù)壁壘的考驗。這類挑戰(zhàn)也被稱為數(shù)據(jù)孤島問題。

早期的分布式計算試圖通過整合不同來源的數(shù)據(jù)進行分布式的建模,從而解決這類數(shù)據(jù)孤島問題。分布式建模將具有龐大計算量的任務(wù)部署到多臺機器上,提升了計算效率,減少了任務(wù)耗能。但是分布式機器學習依舊存在問題,重量級的分布式系統(tǒng)架構(gòu)通常會產(chǎn)生巨大的溝通成本,影響數(shù)據(jù)的傳輸和處理效率。隨著人工智能技術(shù)的進一步發(fā)展和更廣泛的應(yīng)用,數(shù)據(jù)隱私敏感性問題日益被重視。大規(guī)模的數(shù)據(jù)傳輸不可避免地會涉及隱私泄露問題,對于異構(gòu)數(shù)據(jù)的聯(lián)合訓(xùn)練和隱私安全問題,依然沒有找到一個令人滿意的解決方案。

聯(lián)邦學習(federated learning,F(xiàn)L)給上述難題提供了解決方案。聯(lián)邦學習是由谷歌公司[1]在2016年率先提出的概念,該技術(shù)在數(shù)據(jù)不共享的情況下完成聯(lián)合建模共享模型。具體來講,各個數(shù)據(jù)持有方(個人/企業(yè)/機構(gòu))的自有數(shù)據(jù)不出本地,通過聯(lián)邦系統(tǒng)中加密機制下的模型參數(shù)交換方式(即在不違反數(shù)據(jù)隱私法規(guī)的情況下),聯(lián)合建立一個全局的共享模型,建好的模型為所有參與方共享使用。相對于分布式計算,聯(lián)邦學習有更多的優(yōu)勢,例如在隱私保護領(lǐng)域,聯(lián)邦學習從算法層面上設(shè)計并考慮了客戶端間傳輸信息的加密。本文主要從隱私保護和安全加密的角度,對聯(lián)邦學習進行系統(tǒng)綜述。

本文的主要貢獻如下。

● 本文對聯(lián)邦學習的歷史進行了詳細的敘述,從安全隱私的分布式學習發(fā)展到現(xiàn)在的聯(lián)邦學習系統(tǒng),總結(jié)了聯(lián)邦學習發(fā)展的歷程。

● 本文從新的角度闡述了聯(lián)邦學習的類型。與傳統(tǒng)方式不同,本文從面向企業(yè)(to business,ToB)和面向客戶(to customer,ToC)的應(yīng)用場景的區(qū)別出發(fā),分析了聯(lián)邦學習的不同。

● 詳細地從聯(lián)邦學習攻擊的角度分析聯(lián)邦系統(tǒng)面臨的各種可能的攻擊手段,并系統(tǒng)地將聯(lián)邦學習的攻擊手段進行了分類總結(jié)。

● 聯(lián)邦學習的加密機制在一定程度上可以抵御一些聯(lián)邦學習攻擊,或者大大增加攻擊的難度。本文從加密算法的角度詳細討論了聯(lián)邦學習的加密機制。

2 聯(lián)邦學習概述

2.1 聯(lián)邦學習的歷史

隨著人工智能的發(fā)展[2-3],聯(lián)邦學習可以追溯到分布式學習的誕生,其學習的模式與分布式學習相似,但又有很多不同之處,主要表現(xiàn)在中心控制權(quán)、節(jié)點穩(wěn)定性、通信代價、數(shù)據(jù)分布和數(shù)據(jù)量級上。聯(lián)邦學習概念的正式確立得益于谷歌的推動,谷歌在2016年提出了聯(lián)邦學習[4]概念,聯(lián)邦學習這一名詞開始頻繁地出現(xiàn)。

前述的聯(lián)邦學習與分布式學習的差異最終體現(xiàn)在對隱私保護的要求上。分布式計算為人工智能和大數(shù)據(jù)的結(jié)合提供了算力基礎(chǔ),保證了大規(guī)模的數(shù)據(jù)能夠被有效地使用和學習。但隨著社會的發(fā)展,無論是機構(gòu)還是個人對隱私保護的要求越來越嚴格[5]。不同的機構(gòu)甚至因為個人隱私問題不愿意共享自己的數(shù)據(jù),大數(shù)據(jù)時代面臨著前所未有的挑戰(zhàn)。此時,大數(shù)據(jù)時代迫切地需要一種能夠提供隱私保護的技術(shù)來彌補分布式學習的不足。如果隱私保護技術(shù)能夠做到在使用數(shù)據(jù)聯(lián)合訓(xùn)練的同時,任何一方都無法知曉他人的數(shù)據(jù),就可以激勵更多的機構(gòu)和個人提供數(shù)據(jù),促進相關(guān)領(lǐng)域發(fā)展[6]。聯(lián)邦學習就是在這一背景下孕育而生的,其特性就是能夠保證各參與方在不共享數(shù)據(jù)的前提下,進行隱私保護下的聯(lián)邦建模。聯(lián)邦學習的隱私保護技術(shù)不僅體現(xiàn)在機器學習建模上,對于區(qū)塊鏈場景下存在的安全問題,也已經(jīng)有學者考慮用聯(lián)邦學習的方法來解決[7]。

2.2 聯(lián)邦學習的定義和分類

對聯(lián)邦學習的定義和分類有很多,目前還沒有統(tǒng)一的標準。在學術(shù)上被廣泛認可的是由Yang Q等人[8]提出的相關(guān)定義和分類。下面簡述聯(lián)邦學習的相關(guān)定義及分類。

2.2.1 聯(lián)邦學習的定義

對于一次聯(lián)邦學習建模任務(wù),設(shè)有N個數(shù)據(jù)擁有方參與(以下簡稱參與方)此次建模任務(wù),定義參與方擁有的數(shù)據(jù)集為。聯(lián)邦學習的做法不再是將其簡單地聚合起來形成一個新的數(shù)據(jù)集,從而完成下一階段的訓(xùn)練任務(wù)。設(shè)在一次聯(lián)邦建模任務(wù)完成后的全局模型為MFed,對應(yīng)的聚合后訓(xùn)練所得模型為MSum。一般而言,全局模型MFed由于存在參數(shù)交換和聚合的操作,在整個訓(xùn)練過程中會出現(xiàn)精度損失,即全局模型MFed的表現(xiàn)不如聚合模型MSum的表現(xiàn)。為量化這一差異,定義全局模型MFed在測試集上的表現(xiàn)為VFed,聚合模型MSum在測試集上的表現(xiàn)為VSum。此時定義模型的δ-精度損失為:

其中,δ為非負數(shù)。但在實際情況下,最終無法獲取聚合模型MSum,因為聯(lián)邦學習的基本要求是隱私保護。

2.2.2 聯(lián)邦學習的分類

對聯(lián)邦學習的分類,廣為人知的是由Yang Q等人[8]提出的橫向聯(lián)邦學習、縱向聯(lián)邦學習以及聯(lián)邦遷移學習。這種分類方式是從用戶維度和特征維度的重疊情況考慮的。但在實際的生產(chǎn)中,更多的是依據(jù)業(yè)務(wù)場景考慮實際的分類情況。在業(yè)務(wù)上經(jīng)常提及的是B端業(yè)務(wù)和C端業(yè)務(wù),對應(yīng)的聯(lián)邦學習的分類也與這種業(yè)務(wù)分類方式有關(guān),定義聯(lián)邦學習的分類為ToB和ToC兩大場景。

對于ToB場景的聯(lián)邦學習來說,其主要服務(wù)對象為機構(gòu)、公司和政府等。在這種聯(lián)邦學習的場景下,參與方之間通過新增一個信任第三方作為中心服務(wù)器,協(xié)作各參與方完成聯(lián)邦學習的過程,同時可以保證中間傳輸內(nèi)容的可審計性。通常中心服務(wù)器的作用是控制參數(shù)交換、中間計算以及訓(xùn)練流程。

對于ToC場景的聯(lián)邦學習來說,聯(lián)邦建模的參與方主要以邊緣端計算設(shè)備為主,通常這類聯(lián)邦學習的參與方數(shù)量較多、算力較低。針對這樣的場景,若仍保留中心服務(wù)器,其作為流程控制節(jié)點的特性會被弱化,往往聯(lián)邦模型更新的功能會被集成在每一個參與方的計算節(jié)點上。ToC中的參與方通過獲取聯(lián)合建模的模型,達到提升本地模型的效果的目的。

2.3 聯(lián)邦學習架構(gòu)

本節(jié)將介紹聯(lián)邦學習系統(tǒng)的基礎(chǔ)架構(gòu)。由于不同的聯(lián)邦學習任務(wù)具有不同的學習場景,因此聯(lián)邦學習架構(gòu)的設(shè)計也是不同的。從這些復(fù)雜架構(gòu)中,筆者總結(jié)出以下兩種基礎(chǔ)的架構(gòu)模式。一種是服務(wù)器客戶端架構(gòu),另一種是端對端架構(gòu)。根據(jù)聯(lián)邦學習應(yīng)用場景的復(fù)雜度、安全需求,筆者將采用不同的架構(gòu)。同時,當應(yīng)用場景特別復(fù)雜時,筆者可以根據(jù)需求將這兩種基礎(chǔ)的聯(lián)邦學習架構(gòu)進行拼接組合,從而形成一種混合的聯(lián)邦學習架構(gòu)。

在很多橫向聯(lián)邦學習應(yīng)用場景中,參與訓(xùn)練的參與方數(shù)據(jù)具有類似的數(shù)據(jù)結(jié)構(gòu)(特征空間),但是每個參與方擁有的用戶是不相同的。有時參與方比較少,例如,銀行系統(tǒng)在不同地區(qū)的兩個分行需要實現(xiàn)聯(lián)邦學習的聯(lián)合模型訓(xùn)練;有時參與方會非常多,例如,做一個基于手機模型的智能系統(tǒng),每一個手機的擁有者將會是一個獨立的參與方。針對這類聯(lián)合建模需求,可以通過一種基于服務(wù)器客戶端的架構(gòu)來滿足很多橫向聯(lián)邦學習的需求,如圖1所示。將每一個參與方看作一個客戶端,然后引入一個大家信任的服務(wù)器來幫助完成聯(lián)邦學習的聯(lián)合建模需求。在聯(lián)合訓(xùn)練的過程中,被訓(xùn)練的數(shù)據(jù)將會被保存在每一個客戶端本地,同時,所有的客戶端可以一起參與訓(xùn)練一個共享的全局模型,最終所有的客戶端可以一起享用聯(lián)合訓(xùn)練完成的全局模型。如圖1所示,云服務(wù)器作為中心的服務(wù)器進行聯(lián)合訓(xùn)練模型參數(shù)的聚合,每一個參與方作為客戶端通過與服務(wù)器之間進行參數(shù)傳遞來參與聯(lián)合訓(xùn)練。服務(wù)器客戶端架構(gòu)的聯(lián)合訓(xùn)練的過程如下。

步驟1:中心服務(wù)器初始化聯(lián)合訓(xùn)練模型,并且將初始參數(shù)傳遞給每一個客戶端。

步驟2:客戶端用本地數(shù)據(jù)和收到的初始化模型參數(shù)進行模型訓(xùn)練。具體步驟包括:計算訓(xùn)練梯度,使用加密、差異隱私等加密技術(shù)掩飾所選梯度,并將加密后的結(jié)果發(fā)送到服務(wù)器。

步驟3:服務(wù)器執(zhí)行安全聚合。服務(wù)器只收到加密的模型參數(shù),不會了解任何客戶端的數(shù)據(jù)信息,實現(xiàn)隱私保護。服務(wù)器將安全聚合后的結(jié)果發(fā)送給客戶端。

圖1 服務(wù)器客戶端架構(gòu)

步驟4:參與方用解密的梯度信息更新各自的本地模型,具體方法重復(fù)步驟2。

這個架構(gòu)可以保證所有的參與方不會泄露個人的信息,也不會泄露信息給服務(wù)器,服務(wù)器只負責安全聚合加密的模型參數(shù),并且發(fā)送給所有的客戶端,保證了大家可以共享聯(lián)合訓(xùn)練的模型。重復(fù)這個過程,直到損失函數(shù)可以收斂,就可以完成整個聯(lián)合模型的訓(xùn)練。

在一些縱向聯(lián)邦學習的應(yīng)用場景中,通常參與訓(xùn)練的參與方有很多重疊的用戶,但是關(guān)于用戶的數(shù)據(jù)結(jié)構(gòu)是不相同的。例如,在同一個城市的銀行系統(tǒng)和電商系統(tǒng),它們的用戶群體大部分是本地住戶,會有大量的用戶重疊,但是兩個公司收集到的用戶信息是不相同的。雙方是不能共享兩邊的用戶信息的,如果需要聯(lián)合訓(xùn)練一個模型,將會有很大的難度,需要將相同用戶的不同特征在加密的狀態(tài)下進行聚合,從而在增強模型能力的同時保證用戶數(shù)據(jù)隱私。有的情況下,由于安全信任的緣故,公司雙方可能不會達成第三方服務(wù)器的共識。因此,基于端對端(peer-topeer)的聯(lián)邦學習框架被提出。圖2描述了端對端聯(lián)邦學習架構(gòu)。每一個參與方可以通過廣播將自己的訓(xùn)練參數(shù)傳遞給其他所有的參與方,或者通過循環(huán)傳遞鏈往下一個參與方傳遞參數(shù)。端對端的聯(lián)合訓(xùn)練過程步驟如下。

步驟1:參與方使用本地數(shù)據(jù)和初始化模型參數(shù)進行模型訓(xùn)練。

步驟2:參與方加密傳遞參數(shù)。具體步驟包括:計算訓(xùn)練梯度,使用加密、多方安全計算等方法將加密后的參數(shù)結(jié)果廣播給其他所有的參與方。如果是鏈式傳遞模型,就只將模型參數(shù)傳遞給鏈式下端的參與方。

步驟3:參與方收到其他所有的加密模型參數(shù)之后進行安全聚合。

步驟4:解密并繼續(xù)進行模型訓(xùn)練,更新本地模型。如果是鏈式傳遞模型,則接收到鏈式上端的參與方模型參數(shù)數(shù)據(jù)后進行安全聚合,解密后繼續(xù)進行模型訓(xùn)練。重復(fù)步驟2。

在處理現(xiàn)實中更加復(fù)雜的聯(lián)邦學習應(yīng)用時,一種單獨的框架可能不足以滿足所有的需求。因此,需要將兩種框架融合起來,形成混合框架,例如在包含中央節(jié)點的服務(wù)器客戶端架構(gòu)中,一個客戶端集群下包含著一個端到端的聯(lián)邦學習架構(gòu)子集,以滿足現(xiàn)實中的具體應(yīng)用。

2.4 聯(lián)邦學習的隱私保護和安全需求

在當前大數(shù)據(jù)的大環(huán)境下,人工智能算法在以機器學習、深度學習等基礎(chǔ)算法為基礎(chǔ),為人們生活提供便捷的同時,也面臨新的挑戰(zhàn)。用戶在享受人工智能帶來的服務(wù)的同時,也越來越注重個人隱私的保護。同時,政府機構(gòu)也出臺了越來越嚴格的法規(guī)來保護機構(gòu)之間的數(shù)據(jù)安全和隱私。因此,研究如何在保障安全以及隱私的前提下繼續(xù)提供優(yōu)質(zhì)人工智能服務(wù)的大數(shù)據(jù)架構(gòu),成為新時代人工智能研究的新趨勢。以智能零售為例,系統(tǒng)需要將用戶的銀行信息、社交網(wǎng)絡(luò)信息、電子商城信息結(jié)合在一起,組成一個更優(yōu)質(zhì)的客戶個性化產(chǎn)品推薦服務(wù),但是不同的企業(yè)之間不能夠暴露各自用戶的隱私信息,僅通過傳統(tǒng)的機器學習是無法在如此嚴格的數(shù)據(jù)障礙下,完成這樣的智能零售服務(wù)的。聯(lián)邦學習就是為了解決類似的行業(yè)難題而建立起來的關(guān)鍵技術(shù)。

在解決用戶隱私問題上,聯(lián)邦學習相對于傳統(tǒng)機器學習具有多種優(yōu)勢。首先,聯(lián)邦學習實現(xiàn)了數(shù)據(jù)的隔離,客戶數(shù)據(jù)始終被保存在本地,從而滿足了用戶隱私保護和數(shù)據(jù)安全的需求。在保證所有參與方數(shù)據(jù)獨立的前提下,聯(lián)邦學習的模型訓(xùn)練主要通過信息與模型參數(shù)的加密交換完成一個聯(lián)合模型,為所有人提供服務(wù),在保護隱私的前提下促進了參與方之間的公平合作和共贏。其次,聯(lián)邦學習滿足了市場監(jiān)管的需求。在歐盟提出《通用數(shù)據(jù)保護條例》(GDPR),國內(nèi)提出《中華人民共和國網(wǎng)絡(luò)安全法》《中華人民共和國電子商務(wù)法》的背景下,數(shù)據(jù)隱私保護的法律法規(guī)會越來越嚴格化、全面化。企業(yè)需要保證用戶數(shù)據(jù)的收集必須公開透明,企業(yè)之間不能在沒有用戶授權(quán)的基礎(chǔ)上私自交換用戶數(shù)據(jù)。過去可行的人工智能算法在這些嚴格的數(shù)據(jù)隱私保護前提下變得不太可行。因此需要有更高安全要求和隱私要求的聯(lián)邦學習來幫助實現(xiàn)大數(shù)據(jù)產(chǎn)品和服務(wù)的提供。

盡管聯(lián)邦學習這種交換模型參數(shù)而不交換具體數(shù)據(jù)的訓(xùn)練方式可以有效地保護用戶的隱私,聯(lián)邦學習依然面臨一些安全性的風險。首先,聯(lián)邦學習沒有對參與方進行檢測和校驗,例如,沒有審核參與方提供的參數(shù)模型是否真實。因此,惡意的參與方有可能通過提供虛假的模型參數(shù)來攻擊和破壞聯(lián)邦學習訓(xùn)練過程。這些虛假參數(shù)未經(jīng)過校驗就與正常的參數(shù)進行聚合,將會影響整體模型的最終質(zhì)量,甚至會導(dǎo)致整個聯(lián)邦學習過程無法收斂成一個可用的模型,進而導(dǎo)致訓(xùn)練失敗。其次,聯(lián)邦學習需要考慮是否對訓(xùn)練過程中的參數(shù)傳遞和存儲進行隱私保護。一些研究表明,惡意的參與方可以依據(jù)聯(lián)邦學習梯度參數(shù)在每一輪中的差異,反向推測出用戶的敏感數(shù)據(jù)。因此,不通過加密保護的參數(shù)被泄露,在一定的程度上是可以成為攻擊目標,從而間接泄露用戶隱私數(shù)據(jù)的。

接下來將深入介紹聯(lián)邦學習在隱私保護領(lǐng)域的前沿技術(shù),詳細探討每一種隱私保護技術(shù)的原理、應(yīng)用、潛在的挑戰(zhàn)和未來的發(fā)展方向。聯(lián)邦學習中常見的隱私保護技術(shù)包括安全多方計算(secure multipraty computation,SMC)和差分隱私。本文將這些隱私保護技術(shù)分為降噪隱私保護和加密隱私保護兩大類。

圖2 端到端聯(lián)邦學習架構(gòu)

降噪隱私保護主要是通過差分隱私等方法實現(xiàn)的。其主要原理是給數(shù)據(jù)添加噪聲,或者使用歸納方法隱藏參與方的某些敏感屬性,直到第三方無法通過差分攻擊來區(qū)分個人為止,使數(shù)據(jù)無法還原,從而達到保護用戶隱私的目的。但是這類方法會帶來模型準確性上的損失,因此這種降噪隱私保護通常需要在參與方隱私與模型準確性之間進行權(quán)衡。

加密隱私保護主要是通過安全多方計算、同態(tài)加密等方法來實現(xiàn)的。安全多方計算成本較高,為降低數(shù)據(jù)傳輸成本,參與方可能需要降低對數(shù)據(jù)安全的要求來提高訓(xùn)練的效率。同態(tài)加密能夠?qū)λ袛?shù)據(jù)進行加密處理,參與方接收到的是密文,攻擊者無法推理出原始數(shù)據(jù)信息,從而保障數(shù)據(jù)層面的安全。因此,加密隱私保護通常需要設(shè)計復(fù)雜的加密計算協(xié)議來隱藏真實的輸入和輸出。參與方和服務(wù)器之間傳遞的都是加密以后的參數(shù)信息,從而保證了這些加密過的參數(shù)信息即使被攻擊,也不會泄露模型和用戶隱私。但是加密隱私保護在計算量和模型效率上有更高的要求,因此這種加密類型的隱私保護通常需要在參與方計算效率和模型安全性之間進行權(quán)衡。

3 聯(lián)邦學習攻擊類型

3.1 聯(lián)邦學習的隱私保護問題

聯(lián)邦學習提供了一種可以保護用戶數(shù)據(jù)隱私的訓(xùn)練模型,從而實現(xiàn)了參與方之間數(shù)據(jù)不共享而模型共享的機制。但是,最近一些工作表明,聯(lián)邦學習可能并不能保證提供足夠的隱私保護能力。例如,在聯(lián)邦學習訓(xùn)練的參數(shù)通信更新的過程中,有可能會泄露一些敏感的信息。這些模型迭代過程中深層次的信息泄露可能由第三方攻擊者造成,也可能通過中央服務(wù)器泄露。例如,參考文獻[9]介紹了一種通過一小部分原始的梯度信息,反推出原始數(shù)據(jù)信息的隱私泄露方法。參考文獻[10]介紹了惡意攻擊者通過部分更新的梯隊信息竊取原始數(shù)據(jù)的攻擊方法。

在聯(lián)邦學習被提出之前,機器學習的隱私保護問題一直是一個熱門研究課題。作為一個創(chuàng)新科技,聯(lián)邦學習與之前的隱私保護類型的研究領(lǐng)域也是緊密關(guān)聯(lián)的。例如,隱私保護機器學習領(lǐng)域、基于安全性的分布式的機器學習、隱私安全類型的邊緣計算等研究領(lǐng)域的進展,都對聯(lián)邦學習隱私保護的研究提供了很好的參考和幫助。

盡管聯(lián)邦學習提供了隱私保護的機制,還是有各種類型的攻擊方式可以攻擊聯(lián)邦學習系統(tǒng),從而破壞聯(lián)邦學習系統(tǒng)安全和參與方的隱私。本節(jié)將討論關(guān)于聯(lián)邦學習的攻擊問題。從參與方的類型來看,可以將聯(lián)邦學習的威脅模型細分為半誠實模型(semi-honest model)和惡意模型。對于聯(lián)邦學習系統(tǒng)的攻擊,本文按照不同的維度進行不同層次的分類。從攻擊方向角度來看,可以將聯(lián)邦學習的攻擊分為從內(nèi)部發(fā)起和從外部發(fā)起兩個方面。從攻擊者的角色角度來看,可以將攻擊分為參與方發(fā)起的攻擊、中心服務(wù)器發(fā)起的攻擊和第三方發(fā)起的攻擊。從發(fā)動攻擊的方式角度來看,可以將攻擊分為中毒攻擊和拜占庭攻擊。從攻擊發(fā)起的階段角度,可以將攻擊分為模型訓(xùn)練過程的攻擊和模型推斷過程的攻擊。

3.2 聯(lián)邦學習威脅模型類型

聯(lián)邦學習系統(tǒng)是一種安全模型,需要根據(jù)需求設(shè)定相應(yīng)的安全協(xié)議以及所需要的安全假設(shè)。在密碼學領(lǐng)域,基于模型安全的假設(shè)通??梢员环譃榘胝\實但好奇(honest but curious)的攻擊方假設(shè)以及惡意攻擊方假設(shè)。

3.2.1 半誠實但好奇的攻擊方

半誠實但好奇的攻擊方假設(shè)也被稱為被動攻擊方假設(shè)。被動攻擊方會在遵守聯(lián)邦學習的密碼安全協(xié)議的基礎(chǔ)上,試圖從協(xié)議執(zhí)行過程中產(chǎn)生的中間結(jié)果推斷或者提取出其他參與方的隱私數(shù)據(jù)。目前聯(lián)邦學習攻防方面的大部分研究假設(shè)模型威脅的類型為半誠實模型,這種模型設(shè)定有助于聯(lián)邦學習理論研究過程中安全方案的設(shè)計。而在現(xiàn)實場景中,由于關(guān)于數(shù)據(jù)的法律法規(guī)等因素的約束,參與聯(lián)邦學習模型訓(xùn)練的參與方大部分符合這類半誠實但好奇的攻擊方假設(shè),不會嘗試進行極端的惡意攻擊。

半誠實但好奇的參與方很多時候充當?shù)氖强蛻舳说慕巧?,它們可以檢測從服務(wù)器接收的所有消息,但是不能私自修改訓(xùn)練的過程。在一些情況下,安全包圍或者可信執(zhí)行環(huán)境(trusted execution environment,TEE)等安全計算技術(shù)的引入,可以在一定程度上限制此類攻擊者的影響或者信息的可見性。半誠實但好奇的參與方將很難從服務(wù)器傳輸回來的參數(shù)中推斷出其他參與方的隱私信息,從而威脅程度被削弱。

3.2.2 惡意攻擊方

在設(shè)定聯(lián)邦學習算法協(xié)議時,如果假設(shè)參與方為惡意攻擊方,模型協(xié)議設(shè)定將會更加困難,模型的安全性要求也會更高。惡意攻擊方也被稱為主動攻擊方。由于惡意攻擊方不會遵守任何協(xié)議,為了達到獲取隱私數(shù)據(jù)的目的,可以采取任何攻擊手段,例如破壞協(xié)議的公平性、阻止協(xié)議的正常執(zhí)行、拒絕參與協(xié)議、不按照協(xié)議惡意替換自己的輸入、提前終止協(xié)議等方式,這些都會嚴重影響整個聯(lián)邦學習協(xié)議的設(shè)計以及訓(xùn)練的完成情況。

惡意的參與方可以是客戶端,也可以是服務(wù)器,還可以是惡意的分析師或者惡意的模型工程師。惡意客戶端可以獲取聯(lián)邦建模過程中所有參與方通信傳輸?shù)哪P蛥?shù),并且進行任意修改攻擊。惡意服務(wù)器可以檢測每次從客戶端發(fā)送過來的更新模型參數(shù),不按照協(xié)議,隨意修改訓(xùn)練過程,從而發(fā)動攻擊。惡意的分析師或者惡意的模型工程師可以訪問聯(lián)邦學習系統(tǒng)的輸入和輸出,并且進行各種惡意攻擊。在這種惡意攻擊方假設(shè)的情況下,構(gòu)造一個安全的聯(lián)邦學習密碼協(xié)議將會有很大的難度。通常情況下,需要在每一個可能被攻擊的環(huán)節(jié)中引入安全多方計算協(xié)議。因此在相同的需求業(yè)務(wù)場景下,假設(shè)存在惡意攻擊,聯(lián)邦學習為了提升安全性,計算和通信代價會大大增加,并且關(guān)于協(xié)議的設(shè)計和實現(xiàn)也會變得更加困難,甚至會出現(xiàn)實際上無法使用聯(lián)合訓(xùn)練的模型的情況,影響最終的產(chǎn)品效果和用戶體驗。

因此,在實際構(gòu)建聯(lián)邦學習業(yè)務(wù)時,大部分情況下系統(tǒng)面臨的潛在攻擊方來自半誠實但好奇的攻擊方的威脅。由于法律法規(guī)的約束以及業(yè)務(wù)場景下強力的監(jiān)管機制,惡意攻擊將會承受嚴厲的處罰,因此大部分的研究假設(shè)參與方為半誠實但好奇的威脅模型,并且在此假設(shè)下構(gòu)建隱私保護技術(shù)方案,從而顯著地提高系統(tǒng)的安全和隱私保護性能,滿足用戶需求和提供優(yōu)質(zhì)用戶體驗。

3.3 聯(lián)邦學習攻擊類型分類

內(nèi)部攻擊可以由聯(lián)邦學習服務(wù)器發(fā)起,也可以由聯(lián)邦學習參與方發(fā)起。外部攻擊(包括偷聽者)通過參與方與服務(wù)器之間的通信通道發(fā)起。外部攻擊的發(fā)起者大部分為惡意的參與方,例如敵對的客戶、敵對的分析者、破壞學習模型的敵對設(shè)備或者其組合。在聯(lián)邦學習中,惡意設(shè)備可以通過白盒或者黑盒的方式訪問最終模型,因此在防范來自系統(tǒng)外部的攻擊時,需要考慮模型迭代過程中的參數(shù)是否存在泄露原始數(shù)據(jù)的風險,這對嚴格的隱私保護提出了新的挑戰(zhàn)。

內(nèi)部攻擊通常比外部攻擊更強烈,攻擊者更容易通過內(nèi)部發(fā)動攻擊。大部分的聯(lián)邦學習攻擊類型屬于內(nèi)部攻擊類型。本文討論的攻擊方法主要屬于內(nèi)部攻擊。聯(lián)邦學習內(nèi)部攻擊可以分為以下3種類型。一是中毒攻擊(可以細分為模型中毒攻擊和數(shù)據(jù)中毒攻擊),以中毒的方式污染或者破壞模型的數(shù)據(jù)或者模型,從而達到攻擊目的。例如Bagdasaryan E等人[11]和 Bhagoji A N等人[12]介紹了一個惡意參與方攻擊模型導(dǎo)致分類精度大幅下降的方法。惡意攻擊者有時為了達到攻擊目的,會同時使用數(shù)據(jù)中毒攻擊和模型中毒攻擊。二是拜占庭攻擊[13],拜占庭惡意參與方會隨機或者故意改變自己的輸出,致使模型無法正常收斂,同時每次迭代可以輸出類似的梯度更新結(jié)果,并且使得自己更難被發(fā)現(xiàn)。三是女巫攻擊,攻擊方偽裝為參與方[14]攻擊聯(lián)邦學習模型,導(dǎo)致模型效果顯著降低。

3.3.1 中毒攻擊

一種中毒攻擊是通過數(shù)據(jù)中毒發(fā)起的。數(shù)據(jù)中毒攻擊方不能直接攻擊發(fā)送給服務(wù)器的信息,而是通過替換本地數(shù)據(jù)的標簽或特定的特征來操作客戶端數(shù)據(jù),從而發(fā)起攻擊。當攻擊方只能影響聯(lián)邦學習系統(tǒng)邊緣的數(shù)據(jù)收集過程,不能直接破壞學習系統(tǒng)中的導(dǎo)出量(例如模型更新)時,這種攻擊往往很難被察覺。數(shù)據(jù)中毒是一種比模型中毒更具限制性的攻擊類型,但是這種攻擊方式更具有隱秘性。由于聯(lián)邦學習會假定參與方遵守協(xié)議誠實地參與聯(lián)邦訓(xùn)練,在實際部署中,檢測有毒數(shù)據(jù)是一項很有挑戰(zhàn)性的工作。參考文獻[15]設(shè)計了一種專門針對中毒攻擊的數(shù)據(jù)凈化方法,達到移除模型的中毒數(shù)據(jù)或其他異常數(shù)據(jù)的目的。參考文獻[16]在此基礎(chǔ)上使用具有魯棒性統(tǒng)計的數(shù)據(jù)凈化方法抵御數(shù)據(jù)中毒,并且證明了該方法在少量異常值下能夠保證魯棒性。該方法在應(yīng)對有針對性的數(shù)據(jù)中毒攻擊以及無針對性的數(shù)據(jù)中毒攻擊方面都取得了一定程度的成功。

另一種中毒攻擊是通過模型中毒發(fā)起的。例如參考文獻[11]介紹了通過加入后門的方式進行模型中毒攻擊來攻擊聯(lián)邦學習系統(tǒng)。聯(lián)邦學習的任何參與方都可以在聯(lián)邦全局模型中引入隱藏的后門功能。例如致使圖像分類器固定地識別出特定的標簽結(jié)果,或者語義理解模型固定輸出特定的錯誤結(jié)論。這種模型替換技術(shù)可以控制一個或多個攻擊方“后門攻擊”全局模型,使得最終的模型在攻擊方選擇的輸入上表現(xiàn)不正確。攻擊可以由一個參與方發(fā)起或者由多個參與方一起發(fā)起。實驗結(jié)果顯示,模型中毒攻擊比只針對訓(xùn)練數(shù)據(jù)的數(shù)據(jù)中毒攻擊更嚴重。

部分研究考慮如何從攻擊策略上讓模型中毒攻擊更有效。參考文獻[12]研究了聯(lián)邦學習的模型中毒攻擊問題,并且調(diào)整聯(lián)邦學習中不同的攻擊策略,從而實現(xiàn)更好的攻擊效果。作者使用不同的策略進行攻擊,例如,通過加速惡意參與方的更新速度來覆蓋其他參與方的更新效果;通過變換最小化策略,變換和最優(yōu)化訓(xùn)練損失函數(shù)以及攻擊的目標函數(shù)等;通過預(yù)測良好節(jié)點的更新參數(shù)等策略提高模型中毒攻擊的成功率。該文獻展示了惡意攻擊方通過這些攻擊策略不僅可以實現(xiàn)模型攻擊的目的,同時還能夠保證攻擊的隱秘性,使攻擊不容易被系統(tǒng)發(fā)現(xiàn)。該文獻的不足是目前的實驗只基于服務(wù)器客戶端的多參與方架構(gòu),在多方安全計算的對等網(wǎng)絡(luò)架構(gòu)下,攻擊難度會更大,進行策略優(yōu)化后的模型中毒攻擊方案能否一樣高效還未知。

還有些模型中毒攻擊不是為了破壞整個模型,而是為了讓模型按照自己的想法表現(xiàn)。參考文獻[17]研究了神經(jīng)網(wǎng)絡(luò)中的中毒攻擊問題。該文獻提出一種基于優(yōu)化的中毒生成方式,有效地證明了對遷移學習的圖像分類器的攻擊效果。該文獻提出的方法是一種不需要控制標簽功能的干凈標簽攻擊方法,這使得中毒的訓(xùn)練數(shù)據(jù)似乎被正確地貼上了標簽,從而達到不僅使攻擊難以檢測,而且為攻擊方成功打開大門的攻擊目的,并且攻擊過程無須訪問任何內(nèi)部數(shù)據(jù)收集或者標記過程。

3.3.2 拜占庭攻擊

拜占庭攻擊[11]主要考慮的是多用戶的情況。攻擊方控制了多個用戶,這些用戶被稱為拜占庭用戶。拜占庭用戶可以給中心服務(wù)器發(fā)送任意參數(shù),而不是發(fā)送本地更新后的模型參數(shù)。這種攻擊會導(dǎo)致全局模型在局部最優(yōu)處收斂,甚至導(dǎo)致模型發(fā)散。假設(shè)拜占庭客戶端擁有了訪問聯(lián)邦學習模型的權(quán)限,或者擁有非拜占庭式客戶端更新的白盒訪問權(quán)限,通過正常的模型更新調(diào)整輸出,難以被系統(tǒng)檢測。對于拜占庭類型的攻擊,參考文獻[12]提出通過冗余和數(shù)據(jù)洗牌的更新防御機制來防御拜占庭攻擊,但是存在的問題是,這些機制通常具有嚴格的理論保證,并且建立在一些難以實現(xiàn)的假設(shè)上。例如,需要假定服務(wù)器可以直接訪問數(shù)據(jù),這些假設(shè)與聯(lián)邦學習的實現(xiàn)存在矛盾,并且會增加通信成本。如何在聯(lián)邦學習中協(xié)調(diào)和實現(xiàn)這種基于冗余的防御拜占庭攻擊機制是一個很有挑戰(zhàn)的問題。

3.3.3 女巫攻擊

在聯(lián)邦學習中,參與聯(lián)邦訓(xùn)練的參與方需要信任服務(wù)器的專用通信渠道,與此同時,服務(wù)器也需要以公平和誠實的方式對待客戶群。女巫攻擊一般指網(wǎng)絡(luò)中的單一節(jié)點可能具有多個身份標識,并且通過其控制系統(tǒng)的大部分節(jié)點來削弱網(wǎng)絡(luò)冗余備份的作用。例如在社交網(wǎng)絡(luò)中,可以通過少數(shù)節(jié)點控制多個虛假的身份,然后利用這些身份控制或者影響網(wǎng)絡(luò)的大量正常節(jié)點。女巫攻擊方式包括直接通信、偽造或者盜用身份、同時攻擊和非同時攻擊等方式。在聯(lián)邦學習的服務(wù)器客戶端架構(gòu)的訓(xùn)練模型中,發(fā)動惡意攻擊的參與方可以控制服務(wù)器,并偽造大量的客戶端設(shè)備或者控制設(shè)備池中曾經(jīng)受到破壞的設(shè)備,從而發(fā)動女巫攻擊。這種攻擊破壞了聯(lián)邦學習協(xié)議的安全性,與此同時,有些聯(lián)邦學習協(xié)議出于隱私考慮會將參與方的輸入進行混合洗牌,這樣會導(dǎo)致難以區(qū)分誠實用戶和惡意用戶,增加了抵御女巫攻擊的難度。由于聯(lián)邦學習系統(tǒng)不需要限制攻擊方的數(shù)目,不需要訓(xùn)練過程以外的信息,并且對參與方以及他們的數(shù)據(jù)有更少的設(shè)定限制,現(xiàn)有的傳統(tǒng)防御策略往往不足以抵御聯(lián)邦學習過程中的女巫攻擊。

Fung C等人[14]提出了一種叫作FoolsGold的抵御方法,用來抵御聯(lián)邦學習中中毒方式的女巫攻擊。具體的方法是根據(jù)貢獻相似度動態(tài)適應(yīng)客戶端的學習速率,從而在分布式學習過程中通過大量的客戶端更新信息識別出有毒的女巫攻擊。但是不足之處是這種防御方式只能減輕女巫攻擊,并且只在同時有很多攻擊假設(shè)時才有效,例如假設(shè)攻擊類型為變換標簽策略或者后門策略時奏效。

3.4 聯(lián)邦學習攻擊的階段分類

3.4.1 訓(xùn)練階段的攻擊

在訓(xùn)練過程中,攻擊方可以試圖學習、影響或者破壞聯(lián)邦學習模型。在聯(lián)邦訓(xùn)練的過程中,攻擊方可以通過數(shù)據(jù)中毒攻擊的方式改變訓(xùn)練數(shù)據(jù)集合收集的完整性,或者通過模型中毒攻擊改變學習過程的完整性。攻擊方可以攻擊一個參與方的參數(shù)更新過程,也可以攻擊所有參與方的參數(shù)更新過程。

訓(xùn)練過程中的攻擊有時會被用作推理階段的攻擊的初始階段。許多針對推理階段的攻擊的防御措施是在訓(xùn)練階段部署的。在訓(xùn)練階段,攻擊者可以通過數(shù)據(jù)中毒、模型中毒等方式進行對抗攻擊。在訓(xùn)練階段,除了單個對手發(fā)動攻擊的情況,還存在多個對手配合攻擊的情況。不同的對手入侵不同的客戶端并且進行協(xié)調(diào)配合,從而完成中毒攻擊。這種攻擊比單獨發(fā)動的攻擊更加高效。多個惡意攻擊方在訓(xùn)練階段通過共謀發(fā)動的攻擊給聯(lián)邦學習的防御帶來了新的挑戰(zhàn),當參與聯(lián)邦學習的設(shè)備多達成千上萬的級別之后,攻擊方會在不定期的訓(xùn)練輪次中互相配合發(fā)動攻擊,對于多參與方的聯(lián)邦學習模型來說,如何找到這些訓(xùn)練過程中的惡意攻擊方是一個很大的考驗。

3.4.2 推理階段的攻擊

若聯(lián)邦學習的參與方想利用各方的數(shù)據(jù)集合訓(xùn)練一個模型,但是又不想讓自己的數(shù)據(jù)集泄露給服務(wù)器,就需要約定聯(lián)邦建模的模型算法(例如神經(jīng)網(wǎng)絡(luò))和參數(shù)更新的機制(例如隨機梯度下降(stochastic gradient descent,SGD))。那么在訓(xùn)練前,攻擊方就可以獲取聯(lián)邦學習參數(shù)更新的機制,從而指定對應(yīng)的推斷攻擊策略。在理想條件下,一般假設(shè)參與方為兩個:一個是被攻擊方,另一個是攻擊方。

推理攻擊也被稱作探索攻擊(入侵攻擊)[18]。通常情況下,推理攻擊不會破壞目標模型,而是影響模型,從而使其輸出錯誤的結(jié)果(或者攻擊方希望的結(jié)果)。這種攻擊的成功率或者有效性,在很大的程度上依賴于攻擊方對整個模型的了解程度。推理攻擊可以被分為白盒攻擊和黑盒攻擊。白盒攻擊可以完全使用聯(lián)邦學習模型;黑盒攻擊只能查詢聯(lián)邦學習模型。與機器學習不同,在聯(lián)邦學習中,服務(wù)器維護的聯(lián)邦學習模型需要與很多的惡意客戶端進行參數(shù)傳遞,因此,聯(lián)邦學習需要更多地考慮如何抵御白盒入侵攻擊?,F(xiàn)在大部分的攻擊類型屬于訓(xùn)練階段的攻擊,屬于推理階段的攻擊比較少。聯(lián)邦學習攻擊類型見表1。

表1 聯(lián)邦學習攻擊類型

3.5 聯(lián)邦學習不同場景的攻擊

在工業(yè)界,聯(lián)邦學習通常會被分為ToB和ToC兩種場景。比較有代表性的ToB場景有微眾銀行FATE聯(lián)邦學習平臺、平安科技聯(lián)邦學習平臺“蜂巢”系統(tǒng)等。這種模式主要應(yīng)用于企業(yè)之間以隱私保護為目的的聯(lián)邦學習應(yīng)用。比較有代表性的ToC場景為谷歌公司,例如移動設(shè)備的鍵盤輸入內(nèi)容建議的應(yīng)用。針對不同的場景,上述各類型的攻擊方式會有不同的攻擊效果。

3.5.1 ToB 場景的攻擊

針對ToB場景,通常情況下參與聯(lián)邦學習訓(xùn)練的是企業(yè),并且參與的企業(yè)數(shù)目通常是比較少的。例如銀行系統(tǒng)內(nèi)部的不同部門聯(lián)合建立模型,或者某個銀行系統(tǒng)和某個電商系統(tǒng)聯(lián)合建立模型。企業(yè)之間通常在有一定信任基礎(chǔ)的前提下才會簽訂一些安全隱私的合作協(xié)議,并且雙方都會遵循聯(lián)邦學習的訓(xùn)練協(xié)議,不會惡意攻擊模型的收斂方向。但是在有些情況下,企業(yè)可能會根據(jù)服務(wù)器端接收到的模型參數(shù)進行反向推理,試圖得到合作方的數(shù)據(jù)信息,目前這類攻擊是比較常見的攻擊方式。企業(yè)參與方不會用中毒數(shù)據(jù)或者中毒模型惡意攻擊和破壞聯(lián)邦學習的訓(xùn)練過程,而是遵照協(xié)議協(xié)同訓(xùn)練有益于每個合作企業(yè)方的聯(lián)合模型,但是有可能存在某些企業(yè)試圖獲取別的企業(yè)的隱私數(shù)據(jù)的行為。拜占庭攻擊之類的方式需要多個參與方協(xié)同配合破壞聯(lián)邦學習的訓(xùn)練流程,此類攻擊方式更適用于參與方很多的情況,很難在ToB場景下應(yīng)用。由于參與聯(lián)合訓(xùn)練的企業(yè)對聯(lián)合模型的內(nèi)部結(jié)構(gòu)十分了解,并且參與了整個訓(xùn)練過程的參數(shù)更新,因此這種情況下的攻擊多數(shù)為白盒攻擊。

3.5.2 ToC場景的攻擊

針對ToC場景,通常情況下參與聯(lián)邦學習訓(xùn)練的是普通客戶端,并且參與訓(xùn)練的客戶端通常是非常多的。例如谷歌推出的一些基于聯(lián)邦學習的應(yīng)用,包括移動設(shè)備上的應(yīng)用程序排名、移動設(shè)備的鍵盤輸入內(nèi)容建議、谷歌輸入的下個詞匯預(yù)測等,聯(lián)邦模型的參與方很可能是來自上百萬個用戶的鍵盤輸入信息,或者是移動終端使用過程中的隱私信息。這種類型的應(yīng)用通常也是采用基于服務(wù)器客戶端的架構(gòu)。由于很多參與方都是移動終端(例如手機),因此很難約束和確保每一個終端都能遵守某種協(xié)議,這種情況下會發(fā)生更多的惡意攻擊。這種應(yīng)用情形下,客戶端通常不會對其他客戶端的隱私數(shù)據(jù)感興趣,而是對聯(lián)合模型更感興趣。有的客戶端會試圖破壞聯(lián)合模型,使聯(lián)合模型難以收斂完成訓(xùn)練,例如敵對公司組織大量的惡意移動客戶終端發(fā)動攻擊。有的客戶端試圖改變聯(lián)合模型,使最后的推理結(jié)果更有利于自己,例如在移動鍵盤輸入內(nèi)容建議中,發(fā)動數(shù)據(jù)中毒攻擊,使聯(lián)合模型多關(guān)聯(lián)有利于自己公司的產(chǎn)品或者關(guān)鍵詞??蛻舳丝梢酝ㄟ^惡意中毒數(shù)據(jù)或者惡意中毒模型的方式參與聯(lián)邦學習訓(xùn)練。因此,這種ToC場景下的聯(lián)邦學習往往會在客戶端選擇的角度進行優(yōu)化,通過一些隨機方式篩選優(yōu)質(zhì)的訓(xùn)練客戶端,從而減輕這類惡意攻擊的危害,同時也增加了攻擊的難度。拜占庭攻擊、女巫攻擊等方式非常適合這一類ToC場景的聯(lián)邦學習,并且有時通過一些惡意客戶端的協(xié)同配合(例如在不同的訓(xùn)練參數(shù)更新輪次選擇性地發(fā)動攻擊),將會有不錯的攻擊效果,同時也具有很好的隱蔽性,不容易被發(fā)現(xiàn)。這類復(fù)雜的多參與方協(xié)同配合的惡意攻擊,是ToC場景的聯(lián)邦學習面臨的比較大的挑戰(zhàn)。

4 聯(lián)邦學習的加密通信

數(shù)據(jù)的隱私保護是聯(lián)邦學習的重要特性,增強隱私保護也是聯(lián)邦學習抵御攻擊的一種方式??紤]一個完整的聯(lián)邦學習過程,在整個過程中聯(lián)邦學習都應(yīng)該保證數(shù)據(jù)持有方的數(shù)據(jù)隱私性,即保護用戶數(shù)據(jù)本地化。一些中間信息的共享也可能導(dǎo)致信息泄露,例如模型更新或梯度信息[19-21],因此對隱私的保護應(yīng)該是多方面的。關(guān)于隱私保護的研究[22-23]已經(jīng)比較充分,在設(shè)計聯(lián)邦學習系統(tǒng)時可以利用這些成果。在實現(xiàn)聯(lián)邦學習隱私保護的過程中,為了防御攻擊,在實際部署時會使用一些加密技術(shù),如同態(tài)加密、哈希表加密等。本節(jié)將從安全多方計算、差分隱私和混合加密的角度對聯(lián)邦學習的隱私保護進行系統(tǒng)性的論述。

4.1 加密隱私保護機制

4.1.1 混淆電路

混淆電路[24]早在1986年就被提出,用來解決百萬富翁問題,即兩個富翁如何在不暴露自己具體金額的情況下比較誰更富有。在聯(lián)邦學習系統(tǒng)中,具體思路為:兩個客戶端分別為A和B,數(shù)據(jù)集分別為x、y。在聯(lián)邦學習任務(wù)中,兩個數(shù)據(jù)集通過函數(shù)f(x,y)實現(xiàn)最終的模型訓(xùn)練。首先,客戶端A選取標簽利用函數(shù)f(x,y)進行加密,得到f′=g(f(x,y))。然后發(fā)送f′和x對應(yīng)的標簽到客戶端B。加密函數(shù)的操作不可逆,所以客戶端B無法獲得客戶端A中的具體數(shù)據(jù)x。然后運行不經(jīng)意間傳輸(oblivious transfer)[25-26]獲取與y相關(guān)的標簽??蛻舳薆將y進行加密得到y(tǒng)′,并帶入f′,然后解密f′,得到輸出結(jié)果。最后將結(jié)果發(fā)送給客戶端A。在運算過程中,客戶端A和B無法獲得彼此的原始數(shù)據(jù),在滿足計算要求的情況下,實現(xiàn)了對數(shù)據(jù)的保障。

4.1.2 同態(tài)加密

一般的加密方案關(guān)注的是數(shù)據(jù)存儲安全,同態(tài)加密[27]是一類基于同態(tài)原理的特殊的加密函數(shù),其關(guān)注的是數(shù)據(jù)處理安全,其允許直接對已加密的數(shù)據(jù)進行處理,而不需要知道任何關(guān)于解密函數(shù)的信息。也就是說,其他人可對加密數(shù)據(jù)進行處理,但在處理過程中無法得知任何原始數(shù)據(jù)信息。同時,基于同態(tài)加密的計算結(jié)果與直接對未加密數(shù)據(jù)進行計算的結(jié)果是一致的。

同態(tài)加密定義x和y是明文空間M中的元素,o是M上的運算,Ek(·)是M上密鑰空間為K的加密函數(shù),如果存在一個有效的算法F,使得:

則稱加密函數(shù)Ek(·)對運算o是同態(tài)的。在大多數(shù)應(yīng)用場合中,同態(tài)加密方案需要支持兩種基本、典型的運算,即加法同態(tài)運算和乘法同態(tài)運算。同時滿足加法同態(tài)和乘法同態(tài)的函數(shù)被稱為全同態(tài)。云計算和分布式機器學習等是同態(tài)加密的典型的應(yīng)用場景,數(shù)據(jù)持有方傳輸數(shù)據(jù)前先將數(shù)據(jù)加密,云服務(wù)器在接收到數(shù)據(jù)后照例計算,只不過是在密文上進行的,待得到結(jié)果后再將結(jié)果的密文返還給數(shù)據(jù)持有方,數(shù)據(jù)持有方解密后即可得到最終結(jié)果。

同態(tài)加密具有較強的隱私保護能力,但是效率很難提升[27],主要原因在于加密數(shù)據(jù)的運算量較大,計算速度比較慢,由此帶來更多的數(shù)據(jù)存儲空間占用問題。Dai W等人[28]利用CUDA GPU開發(fā)cuHE庫,用于加速基于多項式的同態(tài)加密,并利用該庫完成了較快的同態(tài)塊密碼實現(xiàn)。

在聯(lián)邦學習的場景下,需要利用從多個數(shù)據(jù)源收集的匯總信息來訓(xùn)練模型,目的是在不披露關(guān)于單個數(shù)據(jù)源的細粒度信息的情況下進行培訓(xùn)。Yuan J W等人[29]提供了一種安全、高效、準確的“雙同態(tài)”加密算法來支持對密文的靈活操作,從而對電子商務(wù)數(shù)據(jù)進行數(shù)值分析。Ho Q R等人[30]使用同態(tài)加密實現(xiàn)了橫向線性回歸的隱私保護協(xié)議。Hardy S等人[31]通過使用實體解析和同態(tài)加密對縱向分布數(shù)據(jù)進行具有隱私保護的聯(lián)邦學習。

4.1.3 差分隱私

雖然同態(tài)加密可以通過對加密數(shù)據(jù)進行計算來保護學習過程,然而這些工具要求每個數(shù)據(jù)源執(zhí)行大量的加密操作,并傳輸大量的密文,這使得它們反而成為整個系統(tǒng)的負擔。對于聯(lián)邦學習系統(tǒng)來說,選擇一個相對簡單且不會對性能造成額外負擔的算法是至關(guān)重要的。在這些不同的隱私方法中,差分隱私[32]由于其強大的信息理論保證、算法的簡單性和相對較小的系統(tǒng)開銷而得到廣泛的應(yīng)用。

差分隱私機制允許某個參與方共享數(shù)據(jù)集,并確保共享的形式只會暴露想要共享的那部分信息,保護的是數(shù)據(jù)源中一點微小的改動,解決例如插入或者刪除一條記錄導(dǎo)致的計算結(jié)果差異進而產(chǎn)生的隱私泄露問題。例如在數(shù)據(jù)集D發(fā)布之前,輸出擾動機制使用隨機擾動算法F干擾數(shù)據(jù)集D上的統(tǒng)計信息,這樣擾動算法F的輸出就不會暴露太多關(guān)于數(shù)據(jù)集D中任何特定數(shù)據(jù)記錄的變量信息。如果一個擾動算法F提供差分隱私保護,那么兩個相鄰的數(shù)據(jù)集D1和D2中只有一個樣本不同。對于擾動算法F的任何輸出O,一定有:

其中,Pr為當前情況發(fā)生的概率值;e為約束因子;γ反映了擾動算法F的隱私保護水平,γ越小,隱私保護水平越高[33]。即如果該擾動算法作用于任何相鄰數(shù)據(jù)集得到一個特定輸出的概率差不多,就說這個擾動算法能達到差分隱私的效果。即觀察者通過觀察輸出結(jié)果很難察覺出數(shù)據(jù)集的微小變化,從而達到保護隱私的目的。實踐中通常使用拉普拉斯機制(Laplace mechanism)和指數(shù)機制(exponential mechanism)實現(xiàn)差分隱私保護。其中,拉普拉斯機制用于針對數(shù)值型結(jié)果的保護,指數(shù)機制用于針對離散型結(jié)果的保護[34-35]。

基于梯度的聯(lián)邦學習方法,往往通過在每次迭代中隨機地擾動中間輸出來應(yīng)用差分隱私[35-37]。也就是說,聯(lián)邦學習的過程不會暴露是否使用某個特定的樣本信息?,F(xiàn)在流行的擾動方式有許多,例如,Wu X等人[38]對梯度數(shù)據(jù)添加了高斯噪聲,Luca M 等人[39]采用了拉普拉斯噪聲。此外,Bun M等人[40]還提出了一種利用定義一個線性上限a(λ)的方式對梯度進行剪輯,以限制每個參與方對整體更新的影響的方法。增加更多的噪聲和擾動會提供更好的隱私保護,但可能會嚴重損害精度。因此,需要很細心地調(diào)整差分隱私和模型精度之間的平衡。Choudhury O等人[41]成功地將差分隱私部署在聯(lián)邦學習框架內(nèi),用來分析與健康相關(guān)的數(shù)據(jù),但是試驗證明,差分隱私可能會帶來較大的函數(shù)損失值。Geyer R C等人[42]證明了差分隱私對于保障數(shù)據(jù)持有方的數(shù)據(jù)隱私的有效性,同時認為大量的數(shù)據(jù)持有方會使帶有差分隱私的聯(lián)邦學習表現(xiàn)得更加穩(wěn)定,準確率更高。

4.1.4 秘密分享

秘密分享[43]指將原本要傳遞的數(shù)據(jù)劃分為多個部分,然后將它們依次發(fā)送到每個參與方。而僅通過一個或少部分參與方無法還原出原始數(shù)據(jù),只有較大部分或者所有參與方將各自的數(shù)據(jù)湊在一起時,才能還原出原始數(shù)據(jù)[44]。例如,若參與方C要將數(shù)字c分發(fā)到其他參與方A1,A2,…,An中,那么C首先生成n-1個隨機數(shù)c1,c2,…,cn-1,然后計算第n個隨機數(shù),最后將c1,c2,…,cn發(fā)送給A1,A2,…,An。因為ci是隨機數(shù),所以單獨一個或不多于n-1個隨機數(shù)時,不會泄露任何信息,只有在c1,c2,…,cn全部出現(xiàn)時,才能得出c,因為

上面是一個簡單的秘密分享的例子,只有收到數(shù)據(jù)的所有參與方同時出現(xiàn),才能恢復(fù)數(shù)據(jù)。根據(jù)實際情況需要,還可以選用閾值秘密分享[45]來確定至少需要多少個參與方才能恢復(fù)數(shù)據(jù)。

4.1.5 混合加密

根據(jù)上述的聯(lián)邦學習隱私性相關(guān)技術(shù),一個自然的想法是能否將這些技術(shù)進行結(jié)合,即使用混合技術(shù)進行加密?;谏鲜鱿敕?,Pettai M等人[46]將安全多方計算與差分隱私技術(shù)結(jié)合,用來保護來自不同數(shù)據(jù)持有方的數(shù)據(jù)。類似地,Jeong E等人[47]也設(shè)計了一種結(jié)合了安全多方計算與差分隱私技術(shù)的聯(lián)邦學習隱私保護系統(tǒng),這種系統(tǒng)結(jié)合降噪差分隱私與加性同態(tài)加密,有效地保障了聯(lián)邦學習系統(tǒng)的隱私性。Bonawitz K等人[48]將故障共享協(xié)議中的秘密共享技術(shù)與經(jīng)過驗證的加密技術(shù)結(jié)合,以安全地聚合高維技術(shù)。除此之外,Xu R H等人[49]提出了一種新的加密方法HybridAlpha,將差分隱私技術(shù)和基于功能加密的安全多方計算結(jié)合,該方法被證明擁有很好的通信效率。加密保護機制對比見表2。

4.2 加密計算環(huán)境

4.2.1 安全多方計算

在當前互聯(lián)網(wǎng)場景下,各個公司擁有海量的數(shù)據(jù),但是尚不能完成數(shù)據(jù)之間的安全流轉(zhuǎn),安全多方計算針對一組互不信任的參與方之間的協(xié)同計算問題提出隱私保護方案,安全多方計算要確保輸入的獨立性、計算的正確性以及去中心化等特征不受影響,同時不泄露各輸入值給參與計算的其他成員[49-51]。安全多方計算主要針對的是在無可信第三方的情況下,如何安全地計算一個約定函數(shù)的問題,同時要求每個參與主體除了計算結(jié)果,不能得到其他實體的任何輸入信息,在整個計算協(xié)議執(zhí)行過程中用戶對個人數(shù)據(jù)始終擁有控制權(quán),只有計算邏輯是公開的。

現(xiàn)在針對多方安全計算的研究越來越多,包括秘密分享、同態(tài)加密、混淆電路以及差分隱私在內(nèi)的各種加密保護機制被運用到該框架中。較為常見的是,利用混淆電路將需要計算的函數(shù)轉(zhuǎn)化為布爾加密電路進行數(shù)據(jù)和標簽傳送,雙方在此基礎(chǔ)上無法通過標簽反推輸入信息,最終利用該電路完成計算并解密獲取結(jié)果。在一些與金融相關(guān)的安全多方計算框架中,利用差分隱私對參與方數(shù)據(jù)添加噪聲,以保護個體隱私。

4.2.2 可信計算環(huán)境

可信計算(trusted computing,TC)是可信計算組織(trusted computing group,TCG)推出的一項研究,希望通過專用的安全芯片(TPM/TCM)增強各種計算平臺的安全性[52]。相較于可信計算,TEE更有利于便攜設(shè)備的使用。因為該環(huán)境中的安全性可以被驗證,可以將聯(lián)邦學習過程中的一部分放到可信計算環(huán)境中。

表2 加密保護機制對比

與TEE相對應(yīng),傳統(tǒng)移動設(shè)備的普通運行環(huán)境(rich execution environment,REE)技術(shù)具有開放性、可擴展性和通用性。但是在數(shù)據(jù)隱私安全的場景下,需要隔離的可信的環(huán)境來處理密鑰和隱私數(shù)據(jù)。這里TEE與REE之間是相互隔離的,只能通過特定的端口互相通信??尚庞嬎悱h(huán)境硬件機制保護的特性充分保障了數(shù)據(jù)的隱私安全性。

可信計算環(huán)境對聯(lián)邦學習系統(tǒng)起到了很好的數(shù)據(jù)保護作用,為隱私等敏感數(shù)據(jù)提供了遠程安全計算的保障。TEE已在較多的產(chǎn)品中推廣應(yīng)用,在阿里云Link TEE系列產(chǎn)品中,針對密碼算法和密鑰管理,利用國密加密算法,進行密鑰層級的架構(gòu)和管理;在英特爾的SGX(software guard extensions)指令集[53]中也應(yīng)用了TEE,用于保護敏感數(shù)據(jù)。

5 結(jié)束語

聯(lián)邦學習系統(tǒng)的客戶端與服務(wù)器之間往往存在很多的通信節(jié)點,信息在節(jié)點間進行傳輸時,由于端口開放等因素,一旦被監(jiān)聽就容易產(chǎn)生信息泄露的情況。為了進一步保障數(shù)據(jù)的隱私安全,需要對聯(lián)邦學習系統(tǒng)通信過程進行加密。這方面的安全保障可以從網(wǎng)絡(luò)編碼的角度進行考慮,防止監(jiān)聽的數(shù)據(jù)被解析。除了客戶端設(shè)備的異構(gòu)性, 數(shù)據(jù)的隱私敏感性也是聯(lián)邦學習的重要特點。為此,聯(lián)邦學習系統(tǒng)需要在多環(huán)節(jié)從多角度考慮數(shù)據(jù)的安全問題。這是聯(lián)合訓(xùn)練模型的基礎(chǔ)要求,更是激勵用戶廣泛參與的前提保障。目前,聯(lián)邦學習正逐漸發(fā)展為一個綜合性的研究領(lǐng)域,但主體的要求始終是隱私保護。 本文從隱私保護的角度,對目前聯(lián)邦學習的發(fā)展情況進行了綜合性的闡述。首先從隱私保護的角度討論了聯(lián)邦學習的發(fā)展歷史、定義以及在業(yè)務(wù)場景下的分類;然后對聯(lián)邦學習場景下隱私保護面臨的問題進行了綜述,整理了聯(lián)邦學習中的攻擊類別。

根據(jù)本文的分析總結(jié),聯(lián)邦學習目前面臨的瓶頸和未來的研究方向可以歸納為以下幾點。

● 對于聯(lián)邦學習的中心服務(wù)器來說,在聯(lián)邦建模的過程中,其抗惡意節(jié)點攻擊的能力較弱,不能完全保證參與方的貢獻均為正向。如何識別惡意節(jié)點以及減少惡意節(jié)點帶來的影響都是值得研究的問題。

● 聯(lián)邦學習理想狀態(tài)是實現(xiàn)一種完全去中心化的聯(lián)合建??蚣?,但就目前發(fā)展的情況而言,完全去中心化仍然存在困難,且許多業(yè)務(wù)場景也確實需要中心服務(wù)器。鏈式聯(lián)邦的構(gòu)想會是一個解決該問題的方向。

● 本文在第3節(jié)描述了聯(lián)邦學習可能面臨的攻擊情況,按照聯(lián)邦學習目前的研究進展,這些攻擊是無法被完全抵御的,這將會導(dǎo)致產(chǎn)業(yè)落地困難,因此,針對聯(lián)邦學習系統(tǒng)魯棒性和對抗攻擊等方向的研究是非常重要的。

猜你喜歡
參與方聯(lián)邦客戶端
基于秘密分享的高效隱私保護四方機器學習方案
一“炮”而紅 音聯(lián)邦SVSound 2000 Pro品鑒會完滿舉行
303A深圳市音聯(lián)邦電氣有限公司
縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
傳媒評論(2018年4期)2018-06-27 08:20:24
孵化垂直頻道:新聞客戶端新策略
傳媒評論(2018年4期)2018-06-27 08:20:16
基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
電子測試(2018年10期)2018-06-26 05:53:34
綠色農(nóng)房建設(shè)伙伴關(guān)系模式初探
涉及多參與方的系統(tǒng)及方法權(quán)利要求的撰寫
專利代理(2016年1期)2016-05-17 06:14:03
基于IPD模式的項目參與方利益分配研究
20年后捷克與斯洛伐克各界對聯(lián)邦解體的反思
泸州市| 东方市| 凤阳县| 石阡县| 垫江县| 商南县| 阳江市| 靖江市| 庆城县| 太湖县| 福泉市| 陵川县| 稻城县| 曲阳县| 蒙城县| 丰都县| 临沧市| 阿拉尔市| 西丰县| 东乡县| 江陵县| 邳州市| 繁峙县| 孟村| 长武县| 乐业县| 南城县| 吉安市| 高阳县| 阆中市| 芜湖县| 石景山区| 务川| 邳州市| 郑州市| 汉中市| 大安市| 中江县| 三穗县| 时尚| 陵水|