一種面向醫(yī)療數(shù)據(jù)的隱私保護聯(lián)邦學(xué)習(xí)安全聚合方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于數(shù)據(jù)隱私保護技術(shù)領(lǐng)域,具體涉及一種面向醫(yī)療數(shù)據(jù)的隱私保護聯(lián)邦學(xué)習(xí)安全聚合方法。
背景技術(shù)
[0002] 目前大量增長的醫(yī)療數(shù)據(jù),使得機器學(xué)習(xí)可以通過大量的醫(yī)療影像數(shù)據(jù)學(xué)習(xí)某種疾病的特征,并進行智能識別,機器學(xué)習(xí)智能識別的結(jié)果可以作為依據(jù),輔助醫(yī)生診斷病人可能患上的疾病,從而利于提高診療效率。但是單個醫(yī)療機構(gòu)自身的數(shù)據(jù)并不能滿足機器學(xué)習(xí)的訓(xùn)練要求,同時又由于醫(yī)療數(shù)據(jù)中含有大量的病人隱私信息,導(dǎo)致各個醫(yī)療機構(gòu)的數(shù)據(jù)交互變得很困難,目前大部分醫(yī)療機構(gòu)還是將醫(yī)療數(shù)據(jù)進行中心化存儲,這樣不僅會造成不同醫(yī)療機構(gòu)之間會有數(shù)據(jù)隔離,而且這種中心化的存儲方式也容易帶來單點故障的問題。
[0003] 聯(lián)邦學(xué)習(xí)通過在分布式網(wǎng)絡(luò)中的多個設(shè)備上訓(xùn)練模型,在一定程度上解決了數(shù)據(jù)隱私問題。然而聯(lián)邦學(xué)習(xí)在實際應(yīng)用中仍然面臨著諸多挑戰(zhàn),如用戶掉線、隱私泄露和通信開銷等問題。聯(lián)邦學(xué)習(xí)在某種程度上保護了用戶數(shù)據(jù)的私密性問題,但同時也會帶來新的隱私問題。比如聯(lián)邦學(xué)習(xí)中的用戶需要上傳的模型梯度可能會包含一些本地數(shù)據(jù)信息,如果不通過加密處理可能會被攻擊者利用來獲得用戶的隱私信息,而在中心化的聯(lián)邦學(xué)習(xí)結(jié)構(gòu)中,中心聚合服務(wù)器可以訪問所有用戶的上傳數(shù)據(jù),這可能也會導(dǎo)致隱私泄露問題。攻擊者通過竊聽中心聚合服務(wù)器上的通信來竊取其中的參數(shù),從而導(dǎo)致隱私泄露。此外由于聯(lián)邦學(xué)習(xí)中客戶端異質(zhì)性的影響,存在著客戶端會隨時掉線的可能,這會導(dǎo)致無法正常完成聚合過程。
[0004] 為了解決聯(lián)邦學(xué)習(xí)中隱私泄露問題,一些研究者提出了用區(qū)塊鏈取代中心服務(wù)器的聯(lián)邦學(xué)習(xí)方案。此外,研究者還提出了一系列隱私保護技術(shù),例如同態(tài)加密、差分隱私、安全多方計算等。盡管上述方案提高了隱私保護,但沒有充分考慮計算效率和實際部署的復(fù)雜性。比如使用區(qū)塊鏈實現(xiàn)去中心化的聯(lián)邦學(xué)習(xí)沒有考慮到區(qū)塊鏈本身的性能瓶頸,如交易速度和擴展性限制,這些因素可能影響聯(lián)邦學(xué)習(xí)模型的實時更新和大規(guī)模部署。使用隱私保護技術(shù)時,沒有考慮到這些技術(shù)帶來的計算開銷、通信開銷已經(jīng)對模型準確性的影響。
例如差分隱私需要添加噪聲來保護數(shù)據(jù),這可能會增加模型訓(xùn)練的復(fù)雜度和運行時間并且會影響最后訓(xùn)練的準確性。同態(tài)加密在加密和解密過程中需要大量的計算資源,這可能導(dǎo)致訓(xùn)練效率降低。
[0005] 為了解決客戶端會隨時掉線的問題,研究者提出了多種解決方案,如異步聯(lián)邦學(xué)習(xí)、多任務(wù)學(xué)習(xí)、模型平均等。此外,為了降低通信開銷,研究者加入了一些通信優(yōu)化技術(shù),如稀疏更新和參數(shù)量化。這些技術(shù)雖然降低了通信成本,但沒有充分考慮到模型壓縮后的準確性損失,尤其是在保持高精度的同時減少模型復(fù)雜度的平衡問題上。?因此,如何在保證用戶隱私和模型準確性的同時,降低通信開銷,提高訓(xùn)練效率,仍然是聯(lián)邦學(xué)習(xí)中亟待解決的問題。
[0006] 上述方案,都無法在多密鑰環(huán)境下既保持高安全性又能夠保持低計算與通信開銷,并且滿足用戶隨時退出的需求,此外,部分方案還會對結(jié)果的準確性造成影響。
發(fā)明內(nèi)容
[0007] 本發(fā)明的目的在于提出一種面向醫(yī)療數(shù)據(jù)的隱私保護聯(lián)邦學(xué)習(xí)安全聚合方法,該方法能夠在多密鑰環(huán)境下保證安全性的同時維持低通信與計算開銷;同時還能夠在醫(yī)療機構(gòu)客戶端可能會隨時退出的情況下依然能夠完成解密,并且整個過程不會影響結(jié)果的準確性,有效抵御了聯(lián)邦學(xué)習(xí)聚合過程中的醫(yī)療機構(gòu)數(shù)據(jù)隱私泄露以及惡意中心服務(wù)器問題。
[0008] 本發(fā)明為了實現(xiàn)上述目的,采用如下技術(shù)方案:
[0009] 一種面向醫(yī)療數(shù)據(jù)的隱私保護聯(lián)邦學(xué)習(xí)安全聚合方法,適用于聯(lián)邦學(xué)習(xí)系統(tǒng)中包含醫(yī)療機構(gòu)客戶端、聚合服務(wù)器和解密服務(wù)器多方參與的環(huán)境;
[0010] 醫(yī)療機構(gòu)客戶端負責(zé)進行本地訓(xùn)練并上傳其模型參數(shù);聚合服務(wù)器負責(zé)收集信息在密文環(huán)境下進行聚合;解密服務(wù)器只能得到聚合后的秘密共享分片密文進行解密;
[0011] 所述面向醫(yī)療數(shù)據(jù)的隱私保護聯(lián)邦學(xué)習(xí)安全聚合方法,包括如下步驟:
[0012] 步驟1.?聚合服務(wù)器生成初始化全局模型,解密服務(wù)器利用BCP加密算法生成公共參數(shù)廣播給聯(lián)邦學(xué)習(xí)系統(tǒng)中每個醫(yī)療機構(gòu)客戶端;
[0013] 步驟2.?聯(lián)邦學(xué)習(xí)系統(tǒng)中每個客戶端根據(jù)接收到的公共參數(shù),利用BCP同態(tài)加密算法隨機生成自身的加密密鑰,并且每個客戶端隨機生成一個用于秘密共享的秘密;
[0014] 步驟3.?每個客戶端進行本地訓(xùn)練,將要上傳的模型參數(shù)用Shamir秘密共享生成的秘密掩碼,每個客戶端將自身秘密共享的秘密分片廣播給聯(lián)邦學(xué)習(xí)系統(tǒng)中其他客戶端;
[0015] 每個客戶端將加密的模型參數(shù)以及用自身密鑰加密的其他客戶端發(fā)送的秘密共享分片,上傳給聚合服務(wù)器;