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

?

基于內(nèi)積加密的雙向隱私保護(hù)醫(yī)療診斷云服務(wù)方案*

2023-11-21 11:26:00蔡夢(mèng)媛張明武
密碼學(xué)報(bào) 2023年5期
關(guān)鍵詞:內(nèi)積密文加密

蔡夢(mèng)媛,張明武,2

1.桂林電子科技大學(xué) 計(jì)算機(jī)與信息安全學(xué)院,桂林541004

2.湖北工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,武漢430068

1 引言

云端醫(yī)療診斷系統(tǒng)不僅可以給患者提供在線實(shí)時(shí)遠(yuǎn)程醫(yī)療服務(wù)[1],而且可以幫助醫(yī)生實(shí)時(shí)監(jiān)測(cè)慢性病患者的身體狀況并及時(shí)發(fā)現(xiàn)潛在的并發(fā)癥[2],還可以根據(jù)患者的健康狀況、遺傳因子以及生活習(xí)慣等多種因素制定個(gè)性化的診療計(jì)劃[3].傳統(tǒng)的醫(yī)療診斷過程中,醫(yī)生需要憑借個(gè)人知識(shí)儲(chǔ)備和分析能力,整理分析包括癥狀、檢驗(yàn)結(jié)果等在內(nèi)的臨床數(shù)據(jù).然而,由于醫(yī)學(xué)病灶的形狀、位置和結(jié)構(gòu)具有高度可變性[4],醫(yī)生難以始終精確且高效地完成批量的醫(yī)療診斷任務(wù)[5].如今,醫(yī)療診斷服務(wù)可以借助深度學(xué)習(xí)算法等輔助手段實(shí)現(xiàn)自動(dòng)化分析和診斷,幫助醫(yī)生更細(xì)致地解析醫(yī)學(xué)圖像,減少醫(yī)生判斷失誤導(dǎo)致的誤診情況.深度學(xué)習(xí)算法的引入,不僅能夠提高醫(yī)療診斷的準(zhǔn)確性和高效性,而且可以提供在線實(shí)時(shí)的云端醫(yī)療診斷服務(wù).云端醫(yī)療診斷服務(wù)利用大數(shù)據(jù)分析和人工智能技術(shù),提供更便捷、更高效的醫(yī)療診斷,比如幫助醫(yī)生快速而精確地分析病癥的智能輔助診斷服務(wù)、幫助醫(yī)生識(shí)別X 射線和CT 等影像的醫(yī)學(xué)影像診斷服務(wù)以及通過生物傳感器監(jiān)測(cè)患者生理數(shù)據(jù)的健康狀況監(jiān)測(cè)服務(wù)等.

云端醫(yī)療診斷服務(wù)通過收集整理包括患者特征、患者藥物不良反應(yīng)、臨床檢驗(yàn)數(shù)據(jù)等用戶臨床數(shù)據(jù),利用大數(shù)據(jù)技術(shù)和人工智能算法分析、概括、應(yīng)用臨床數(shù)據(jù),為臨床診斷提供多方面的依據(jù),為后續(xù)醫(yī)療決策提供支撐.云計(jì)算能夠?yàn)獒t(yī)療機(jī)構(gòu)的智能化業(yè)務(wù)提供高效便捷的數(shù)據(jù)存儲(chǔ)和共享技術(shù),然而云計(jì)算的無(wú)邊界性和流動(dòng)性會(huì)造成云環(huán)境中數(shù)據(jù)的安全和隱私問題[6,7].云服務(wù)器上存儲(chǔ)的生物信息、電子病歷、診療數(shù)據(jù)、醫(yī)學(xué)影像數(shù)據(jù)等用戶醫(yī)療大數(shù)據(jù),面臨著嚴(yán)峻的機(jī)密性、完整性和可用性挑戰(zhàn).云端醫(yī)療診斷服務(wù)不僅需要避免用戶醫(yī)療大數(shù)據(jù)和預(yù)訓(xùn)練模型信息的隱私泄露,而且需要應(yīng)對(duì)云環(huán)境惡意攻擊者造成的數(shù)據(jù)安全性和機(jī)密性挑戰(zhàn),還需要綜合地考慮醫(yī)療診斷的計(jì)算效率和功能實(shí)現(xiàn).為了提供滿足云端數(shù)據(jù)安全隱私性、高效可用性的醫(yī)療診斷服務(wù),差分隱私[8,9]、安全多方計(jì)算[10]、同態(tài)加密[11,12]和函數(shù)加密[13-15]等密碼學(xué)技術(shù)被引入云計(jì)算領(lǐng)域.這些隱私保護(hù)措施不僅可以防止云計(jì)算處理數(shù)據(jù)時(shí)不慎泄露用戶敏感信息,而且可以有效地控制醫(yī)療診斷的時(shí)間成本和計(jì)算開銷,從而適應(yīng)大數(shù)據(jù)應(yīng)用環(huán)境.在這些技術(shù)中,差分隱私通過向數(shù)據(jù)中添加噪聲來掩藏計(jì)算結(jié)果中可能泄露的敏感信息;安全多方計(jì)算允許多個(gè)參與方共同計(jì)算而不向彼此泄露自己輸入的私有信息;同態(tài)加密允許對(duì)密文數(shù)據(jù)進(jìn)行計(jì)算并產(chǎn)生加密結(jié)果;函數(shù)加密能夠在密文數(shù)據(jù)上計(jì)算獲得明文結(jié)果.相比之下,函數(shù)加密具有更低的通信成本和計(jì)算開銷[13].用戶個(gè)人信息通??梢员硎緸橄蛄啃问?,內(nèi)積加密是能夠安全地計(jì)算兩個(gè)向量?jī)?nèi)積值的函數(shù)加密,因此更適應(yīng)醫(yī)療機(jī)構(gòu)智能化業(yè)務(wù)的隱私保護(hù)任務(wù)[16].

本文提出一種云端醫(yī)療診斷的雙向隱私保護(hù)方法,不僅可以保護(hù)用戶醫(yī)療大數(shù)據(jù)中的隱私信息,而且能夠幫助模型開發(fā)方避免云端模型的信息泄漏風(fēng)險(xiǎn),從而提供雙向隱私保護(hù)的醫(yī)療診斷服務(wù),如圖1 所示.服務(wù)器提供的醫(yī)療診斷服務(wù)依賴于模型開發(fā)方部署到服務(wù)器的預(yù)訓(xùn)練模型.模型開發(fā)方使用自行研發(fā)的深度學(xué)習(xí)算法訓(xùn)練明文形式的數(shù)據(jù)集,并修改獲得的預(yù)訓(xùn)練模型,使之可以處理密文形式的數(shù)據(jù).隨后模型開發(fā)方使用密鑰加密模型權(quán)重等信息,并將加密后的預(yù)訓(xùn)練模型部署到云服務(wù)器.而在用戶使用醫(yī)療診斷服務(wù)時(shí),首先將個(gè)人健康數(shù)據(jù)(例如結(jié)腸鏡檢查圖像等) 提供給智能手機(jī)或智能手表等個(gè)人終端.個(gè)人終端使用密鑰加密用戶輸入的健康數(shù)據(jù)后將其發(fā)送到云服務(wù)器.云服務(wù)器在接收到個(gè)人終端發(fā)送的醫(yī)療數(shù)據(jù)后,提供醫(yī)療診斷服務(wù),得到用戶的疾病出現(xiàn)概率,并將結(jié)果返回給用戶個(gè)人終端.最后,由個(gè)人終端向用戶呈現(xiàn)診斷結(jié)果.

圖1 單向隱私保護(hù)和雙向隱私保護(hù)的醫(yī)療診斷協(xié)議對(duì)比Figure 1 Comparison of medical diagnosis protocols with unilateral privacy-preserving and bilateral privacy-preserving

本文方案可實(shí)現(xiàn)用戶醫(yī)療大數(shù)據(jù)和預(yù)訓(xùn)練模型信息的雙向隱私保護(hù).該方案不僅考慮到傳統(tǒng)云端醫(yī)療診斷服務(wù)中用戶面臨的個(gè)人醫(yī)療大數(shù)據(jù)的隱私泄露風(fēng)險(xiǎn),還特別關(guān)注了模型開發(fā)方部署到云端的預(yù)訓(xùn)練模型的信息泄漏問題.該方案的診斷任務(wù)直接使用收到的密文數(shù)據(jù)計(jì)算,無(wú)需且無(wú)法解密獲得數(shù)據(jù)的明文,并且一次診斷任務(wù)中各個(gè)實(shí)體之間最多進(jìn)行一輪通信.標(biāo)簽可以使用onehot 編碼,不泄露標(biāo)簽的語(yǔ)義信息.預(yù)測(cè)標(biāo)簽直接以明文形式發(fā)回用戶個(gè)人終端,用戶終端根據(jù)約定的標(biāo)簽編碼規(guī)則解析預(yù)測(cè)標(biāo)簽.相較于傳統(tǒng)醫(yī)療診斷云服務(wù)方案,該方案具有高效、安全、便利的優(yōu)點(diǎn).本文還通過生成元求逆與零向量編碼方法改造內(nèi)積加密方案[17,18],實(shí)現(xiàn)負(fù)向量和零向量的安全內(nèi)積計(jì)算,增強(qiáng)內(nèi)積加密方案的實(shí)用性和安全性.此外,針對(duì)內(nèi)積加密算法只能在整數(shù)上執(zhí)行的問題,本文的浮點(diǎn)數(shù)縮放取整方法可以靈活調(diào)整縮放精度,從而動(dòng)態(tài)適應(yīng)醫(yī)療診斷服務(wù)要求的預(yù)測(cè)精度.

2 相關(guān)工作

近來,決策樹[19]、支持向量機(jī)[20]、k-近鄰、隨機(jī)森林和神經(jīng)網(wǎng)絡(luò)[21,22]等機(jī)器學(xué)習(xí)算法已經(jīng)被廣泛應(yīng)用到了生物醫(yī)學(xué)領(lǐng)域,并構(gòu)造了各類疾病預(yù)測(cè)模型、藥物分析算法與健康監(jiān)測(cè)系統(tǒng).深度學(xué)習(xí)算法能夠通過學(xué)習(xí)大規(guī)模醫(yī)學(xué)圖像數(shù)據(jù),實(shí)現(xiàn)高效的醫(yī)學(xué)圖像智能分析,其中卷積神經(jīng)網(wǎng)絡(luò)在肺炎診斷[21]、腫瘤檢測(cè)[22]、視網(wǎng)膜病變識(shí)別等方面取得了許多顯著的成就.在開展深度學(xué)習(xí)相關(guān)的生物醫(yī)學(xué)工作時(shí),疾病預(yù)測(cè)系統(tǒng)的設(shè)計(jì)需要重視醫(yī)療大數(shù)據(jù)的隱私保護(hù),防止生命體征、病歷病史、個(gè)人信息等敏感數(shù)據(jù)被云服務(wù)器濫用或誤用.因此,生物醫(yī)療領(lǐng)域的深度學(xué)習(xí)算法開發(fā)與設(shè)計(jì),需要探索如何在不泄露醫(yī)療大數(shù)據(jù)和預(yù)測(cè)模型的情況下診斷疾病出現(xiàn)的可能性.此外,深度學(xué)習(xí)的醫(yī)療系統(tǒng)設(shè)計(jì)時(shí)還需要權(quán)衡安全性、有效性和效率.密碼學(xué)技術(shù)能夠防止云端存儲(chǔ)的醫(yī)療大數(shù)據(jù)泄露,保護(hù)用戶敏感信息,從而確保云端預(yù)測(cè)服務(wù)能夠有效運(yùn)行.在云服務(wù)器上,差分隱私、安全多方計(jì)算、同態(tài)加密和函數(shù)加密等傳統(tǒng)密碼學(xué)技術(shù)都可以保障醫(yī)療大數(shù)據(jù)的安全性和機(jī)密性.

在訓(xùn)練或預(yù)測(cè)時(shí),差分隱私通過添加噪聲保護(hù)樣本數(shù)據(jù)中的敏感信息,并通過控制噪聲大小調(diào)整原始數(shù)據(jù)的保留信息量,從而調(diào)整噪聲對(duì)模型質(zhì)量的影響.Lu 等人[8]針對(duì)移動(dòng)醫(yī)療緊急情況提出了安全的隱私保護(hù)計(jì)算框架(SPOC),引入以用戶為中心的屬性基訪問控制和隱私保護(hù)標(biāo)量積計(jì)算.Khanna 等人[9]提出了預(yù)測(cè)乳腺癌狀態(tài)的聯(lián)邦學(xué)習(xí)隱私保護(hù)方案,客戶端使用來自服務(wù)器的模型參數(shù)在本地?cái)?shù)據(jù)上訓(xùn)練迭代,訓(xùn)練好的權(quán)重在添加差分隱私的噪聲后發(fā)回服務(wù)器.

安全多方計(jì)算技術(shù)有助于實(shí)現(xiàn)多個(gè)客戶端與服務(wù)器間不透露各自輸入數(shù)據(jù)的協(xié)作計(jì)算,確保機(jī)器學(xué)習(xí)的各參與方能夠在不暴露原始信息的情況下共享和處理敏感數(shù)據(jù).Knott 等人[10]開發(fā)了一個(gè)安全多方計(jì)算的機(jī)器學(xué)習(xí)框架CRYPTEN,可作為通用的機(jī)器學(xué)習(xí)API,實(shí)現(xiàn)文本分類、語(yǔ)音識(shí)別和圖像分類等任務(wù)中張量的安全計(jì)算,然而該方案難以實(shí)現(xiàn)加密標(biāo)記數(shù)據(jù)的質(zhì)量控制.

同態(tài)加密(homomorphic encryption,HE) 可以在不暴露原始數(shù)據(jù)信息的情況下完成各種復(fù)雜的安全計(jì)算操作,確保機(jī)器學(xué)習(xí)算法使用的數(shù)據(jù)在計(jì)算過程中始終處于密文狀態(tài).Xie 等人[11]通過HE 技術(shù)提供了安全預(yù)測(cè)方案,用戶使用第三方預(yù)測(cè)模型時(shí)不會(huì)泄露私有信息,但第三方返回的預(yù)測(cè)結(jié)果為密文形式,需要用戶自行解密.Sarkar 等人[12]設(shè)計(jì)了一種有效處理高維數(shù)據(jù)的快速矩陣乘法算法,旨在以高性能實(shí)現(xiàn)隱私保護(hù)的癌癥預(yù)測(cè).

函數(shù)加密(functional encryption,F(xiàn)E) 技術(shù)允許接收者訪問密文數(shù)據(jù)的特定部分,而不泄露關(guān)于明文的額外信息,能夠保護(hù)機(jī)器學(xué)習(xí)各參與方的數(shù)據(jù)隱私并減少數(shù)據(jù)泄漏風(fēng)險(xiǎn).Ligier 等人[14]結(jié)合FE 方案與機(jī)器學(xué)習(xí)算法,提出了一種保護(hù)隱私的數(shù)據(jù)分類協(xié)議.Dufour-Sans 等人[15]構(gòu)建了一種高效計(jì)算加密向量二次多元多項(xiàng)式的FE 方案,并設(shè)計(jì)了密文數(shù)據(jù)分類技術(shù).在文獻(xiàn)[15] 的基礎(chǔ)上,Nguyen 等人[13]使用HE 和FE 分別提出了預(yù)測(cè)加密電子郵件標(biāo)簽的垃圾郵件分類方案,其中FE 方案在31 秒內(nèi)預(yù)測(cè)出加密郵件的標(biāo)簽,而HE 方案則需要265 秒才能完成,但FE 方案更容易造成潛在的信息泄露.Zhang 等人[23]基于內(nèi)積加密方案提出了多客戶端分布式敏感數(shù)據(jù)的安全預(yù)測(cè)方法,具有比二次多項(xiàng)式方案更高效的加密計(jì)算和更高的預(yù)測(cè)精度,然而可能損失一定解密效率.

云環(huán)境中大量的惡意攻擊可能導(dǎo)致模型無(wú)法正常運(yùn)行,甚至可能泄露用戶隱私[6,7].為了保障模型和數(shù)據(jù)的安全性,不僅需要確保模型和數(shù)據(jù)不受非法訪問和惡意攻擊,還要確保模型能夠在云環(huán)境中正常運(yùn)行.然而,傳統(tǒng)的醫(yī)療診斷隱私保護(hù)技術(shù)[8-15]只關(guān)注醫(yī)療大數(shù)據(jù)的隱私,卻很少關(guān)注模型結(jié)構(gòu)和參數(shù)的泄露.本文采用內(nèi)積加密方案,能夠高效預(yù)測(cè)疾病并實(shí)現(xiàn)雙向隱私保護(hù).

3 預(yù)備知識(shí)

對(duì)偶向量空間(dual pairing vector space,DPVS)[24]是由n個(gè)素階群的直積展成的空間,其上的雙線性運(yùn)算相當(dāng)于在n個(gè)素階群上的雙線性運(yùn)算.通過DPVS 的單位正交向量構(gòu)造密文和密鑰,可以實(shí)現(xiàn)雙系統(tǒng)加密,也可以在保證同等安全性的同時(shí)犧牲存儲(chǔ)復(fù)雜度提高雙線性映射運(yùn)算的計(jì)算效率.

3.1 內(nèi)積加密

內(nèi)積加密(inner product encryption,IPE) 是一種特殊的函數(shù)加密方案,Abdalla 等人[18]在2015年提出的經(jīng)典內(nèi)積加密方案能夠滿足線性密鑰同態(tài)性和線性密碼文本同態(tài)性,可以通過密文和解密密鑰解密獲得關(guān)聯(lián)向量的內(nèi)積值<>.該方案可以抵抗選擇明文攻擊,但沒有考慮私鑰中敏感信息的隱私問題.內(nèi)積加密方案ΠIPE包括四個(gè)PPT 算法,即Setup,Keygen,Encrypt 和Decrypt,如下所示:

3.2 函數(shù)隱藏內(nèi)積加密

· Setup(1λ,1n)→(mpk,msk): 給定安全參數(shù)λ和向量長(zhǎng)度n,Setup 算法輸出關(guān)于λ和n的公共參數(shù)mpk 和主密鑰msk.具體而言,Setup 生成非對(duì)稱雙線性映射(G1,G2,GT,p,),及群上生成元G1和G2.接著,算法生成矩陣B ←GLn(Zp),其中GLn(Zp) 是Zp上(n×n) 矩陣的一般線性群.然后,使用B的行列式det(B) 和逆矩陣B-1的轉(zhuǎn)置(B-1)T設(shè)置矩陣B*det(B)·(B-1)T.最后,算法輸出公共參數(shù)mpk(G1,G2,GT,p,?e) 和保存主密鑰msk(u,v,B,B*).

4 雙向隱私保護(hù)云端醫(yī)療診斷方案

4.1 符號(hào)定義

表1 概述了本文中出現(xiàn)的一些符號(hào).

表1 本文符號(hào)定義Table 1 Notations and terms

4.2 系統(tǒng)模型

本文描述的醫(yī)療診斷系統(tǒng)涉及以下四個(gè)角色,其作用描述如下:

· 可信第三方(third party authority,TPA): 受信任的第三方機(jī)構(gòu),可視為受信任的密鑰分發(fā)中心或任何其他受信任的機(jī)構(gòu)實(shí)體,主要任務(wù)是生成系統(tǒng)參數(shù)并分發(fā).TPA 執(zhí)行系統(tǒng)初始化算法,并調(diào)用IPE.Setup 和FHIPE.Setup 算法,生成密碼系統(tǒng)參數(shù)(mpkIPE、mskIPE、mpkFHIPE及mskFHIPE).在完成系統(tǒng)初始化后,TPA 向數(shù)據(jù)持有者、模型持有者和云服務(wù)器發(fā)送且僅發(fā)送一次系統(tǒng)參數(shù).

· 數(shù)據(jù)持有者(data owner,DO): 接收來自TPA 的mskFHIPE,擁有個(gè)人醫(yī)療數(shù)據(jù).DO 首先進(jìn)行浮點(diǎn)數(shù)處理、零向量編碼、數(shù)據(jù)im2col 調(diào)整等預(yù)處理操作,然后調(diào)用FHIPE.RightEncrypt 算法使用mskFHIPE加密持有的數(shù)據(jù),并將密文數(shù)據(jù)提交給服務(wù)器進(jìn)行診斷.

· 模型持有者(model owner,MO): MO 先訓(xùn)練出模型,調(diào)整模型以識(shí)別密文數(shù)據(jù),然后調(diào)用FHIPE.LeftEncrypt 和IPE.Encrypt 算法使用mskFHIPE和mskIPE加密預(yù)訓(xùn)練模型參數(shù).最后MO 將受保護(hù)的模型提交給服務(wù)器以提供醫(yī)療診斷服務(wù).

· 云服務(wù)器(cloud server,CS): 接收來自TPA 的mpkFHIPE和mpkIPE,提供存儲(chǔ)和計(jì)算資源,基于MO 部署的預(yù)訓(xùn)練模型提供在線醫(yī)療診斷服務(wù).當(dāng)CS 從DO 接收到醫(yī)療數(shù)據(jù)時(shí),調(diào)用IPE.Decrypt 和FHIPE.Decrypt 安全地執(zhí)行具有雙向隱私保護(hù)的圖像識(shí)別算法.

4.3 威脅模型

在本文中,TPA 是一個(gè)可信的第三方,負(fù)責(zé)所有密碼系統(tǒng)參數(shù)的生成和分配,確保所有參數(shù)的安全性和正確性.在實(shí)際應(yīng)用中,它通常由公鑰基礎(chǔ)設(shè)施提供服務(wù).面對(duì)來自DO、MO、CS 和外部攻擊者的攻擊,本文考慮了以下威脅模型:

·誠(chéng)實(shí)但好奇的DO: DO 持有醫(yī)療數(shù)據(jù)并使用云端診斷服務(wù),誠(chéng)實(shí)地執(zhí)行系統(tǒng)算法并遵循系統(tǒng)的協(xié)議,能訪問用戶醫(yī)療數(shù)據(jù).DO 會(huì)通過ΠFHIPE加密用戶數(shù)據(jù)并準(zhǔn)確無(wú)誤地發(fā)送到云服務(wù)器CS,但DO 會(huì)好奇MO 持有的模型參數(shù),即通過監(jiān)聽MO 和CS 的通道收集加密的模型參數(shù),從中獲取MO 持有的模型信息.

·誠(chéng)實(shí)但好奇的MO: MO 訓(xùn)練明文形式的數(shù)據(jù)集,并修改預(yù)訓(xùn)練模型使之能夠識(shí)別密文數(shù)據(jù),會(huì)誠(chéng)實(shí)地執(zhí)行系統(tǒng)算法并遵循系統(tǒng)的協(xié)議,能自行研發(fā)深度學(xué)習(xí)算法并訓(xùn)練模型.MO 會(huì)通過ΠIPE和ΠFHIPE加密本地模型參數(shù)并準(zhǔn)確無(wú)誤地發(fā)送到云服務(wù)器CS,但MO 會(huì)好奇DO 持有的用戶醫(yī)療數(shù)據(jù),即通過監(jiān)聽DO 和CS 的通道收集加密的醫(yī)療數(shù)據(jù),從中獲取DO 持有的醫(yī)療數(shù)據(jù).

·誠(chéng)實(shí)但好奇的CS: 為DO 提供云端預(yù)測(cè)服務(wù),為MO 提供部署預(yù)訓(xùn)練模型的云平臺(tái),CS 被認(rèn)為是誠(chéng)實(shí)但好奇的,會(huì)誠(chéng)實(shí)地執(zhí)行系統(tǒng)算法并遵循系統(tǒng)的協(xié)議,但會(huì)好奇DO、MO 的私有信息.

·惡意攻擊者:系統(tǒng)外部攻擊者,可以竊聽各個(gè)通信通道,具有入侵云服務(wù)器CS 以獲取更多敏感信息的能力.

4.4 設(shè)計(jì)目標(biāo)

本文方案的設(shè)計(jì)目標(biāo)是避免DO 的醫(yī)療數(shù)據(jù)和MO 的模型信息泄露,并通過部署在CS 上的預(yù)訓(xùn)練模型提供有效的醫(yī)療診斷服務(wù).DO 和MO 的明文數(shù)據(jù)在整個(gè)運(yùn)行過程中必須得到充分的保護(hù).所以我們需要滿足以下設(shè)計(jì)要求:

· 安全性和隱私性: 需要實(shí)現(xiàn)雙向隱私保護(hù),同時(shí)保護(hù)DO 持有的醫(yī)療數(shù)據(jù)和MO 持有的模型參數(shù),并避免泄露給任何其他實(shí)體.此外,還需要具有足夠的安全性以抵御來自DO、MO、CS 和任何外部攻擊者的攻擊.

· 功能性: 模型訓(xùn)練需要和原模型有相同的圖像識(shí)別功能和相似的精度,所以要求能夠安全且正確地計(jì)算模型參數(shù)和各層輸入的內(nèi)積值,并且能夠正確處理浮點(diǎn)數(shù)和負(fù)數(shù)的輸入值.

· 可擴(kuò)展性: 需要支持不同的神經(jīng)網(wǎng)絡(luò)架構(gòu),并且神經(jīng)網(wǎng)絡(luò)和激活函數(shù)可以針對(duì)不同的應(yīng)用場(chǎng)景進(jìn)行調(diào)整.

· 有效性: 需要實(shí)現(xiàn)高效、準(zhǔn)確的醫(yī)療診斷,同時(shí)滿足雙向隱私保護(hù)功能.

4.5 具體實(shí)現(xiàn)

本小節(jié)給出了一個(gè)在線醫(yī)療診斷的雙向隱私保護(hù)方案(參見圖2) 的具體實(shí)現(xiàn),由四個(gè)階段組成: 系統(tǒng)初始化、數(shù)據(jù)預(yù)處理、模型生成以及安全醫(yī)療診斷.系統(tǒng)初始化(參見算法1) 由TPA 生成密碼系統(tǒng)參數(shù),隨后向DO 和MO 發(fā)送加密密鑰.數(shù)據(jù)預(yù)處理由DO 對(duì)醫(yī)療數(shù)據(jù)(x1,x2,···,xn) 預(yù)處理后加密,并發(fā)送醫(yī)療數(shù)據(jù)密文[[X]] 給CS.模型生成是指MO 訓(xùn)練一個(gè)EfficientNet[27]模型,并修改使之能夠識(shí)別密文數(shù)據(jù).然后MO 加密模型權(quán)重矩陣W,并部署受保護(hù)的模型[[W]] 到CS.安全預(yù)測(cè)是讓CS 執(zhí)行神經(jīng)網(wǎng)絡(luò)的安全前向傳播算法,從而獲得最終的預(yù)測(cè)標(biāo)簽并發(fā)送給DO.

圖2 雙向隱私保護(hù)醫(yī)療診斷系統(tǒng)Figure 2 Bilateral privacy-preserving medical diagnosis system process

4.5.1 數(shù)據(jù)預(yù)處理

在加密醫(yī)療數(shù)據(jù)之前,DO 需要從CS 獲取醫(yī)療診斷云服務(wù)的神經(jīng)網(wǎng)絡(luò)采用的填充策略和內(nèi)核大小等網(wǎng)絡(luò)信息,并且進(jìn)行數(shù)據(jù)預(yù)處理操作(參見算法2).DO 首先將每張醫(yī)學(xué)圖像映射成向量,接著根據(jù)im2col算法整理圖像向量,然后處理浮點(diǎn)數(shù)和零向量的問題,最后加密圖像向量并發(fā)送到CS.

由于本文采用的神經(jīng)網(wǎng)絡(luò)第一層是卷積層,因此DO 需要填充周圍的樣本數(shù)據(jù),然后根據(jù)卷積核滑動(dòng)采樣,從而利用卷積值填充輸出特征圖.其中,根據(jù)im2col 算法[28,29]的卷積核滑動(dòng)采樣思想(參見圖3),首先將樣本數(shù)據(jù)根據(jù)卷積核的大小分割成若干個(gè)小塊,然后按順序排列各個(gè)小塊的像素值,最后將各個(gè)小塊的像素值拼接成為一個(gè)一維矩陣,方便后續(xù)通過ΠFHIPE加密樣本數(shù)據(jù).

圖3 im2col 算法描述Figure 3 Description for im2col algorithm

內(nèi)積加密方案只能在有限整數(shù)域上操作,但訓(xùn)練樣本和模型參數(shù)通常會(huì)涉及負(fù)數(shù)和浮點(diǎn)數(shù).本文使用生成元求逆方法擴(kuò)展內(nèi)積加密技術(shù)的向量有效范圍,可以處理涉及負(fù)數(shù)的情況(參見4.5.3 節(jié)).而關(guān)于原始數(shù)據(jù)中的浮點(diǎn)數(shù)處理問題,本文采用數(shù)值縮放后向下取整的方法:

其中p是預(yù)定義的縮放值,用以控制計(jì)算精度,可以根據(jù)實(shí)際使用中不同的預(yù)測(cè)精度需求調(diào)整,從而降低浮點(diǎn)數(shù)的預(yù)處理對(duì)預(yù)測(cè)服務(wù)的影響.縮放實(shí)數(shù)的基本運(yùn)算如下:

在數(shù)據(jù)預(yù)處理之后,DO 調(diào)用FHIPE.RightEncrypt 算法加密處理后的數(shù)據(jù),并向服務(wù)器提交密文數(shù)據(jù).而服務(wù)器使用從TPA 獲取的公共參數(shù)mpkFHIPE,調(diào)用FHIPE.Decrypt 算法便可以在密文上實(shí)現(xiàn)安全前向傳播(參見4.5.3 節(jié)).

4.5.2 模型生成

在模型生成(參見算法3) 階段,MO 使用自行研發(fā)的深度學(xué)習(xí)算法(如EfficientNet,見圖4) 訓(xùn)練明文形式的數(shù)據(jù)集獲得預(yù)訓(xùn)練模型.當(dāng)MO 想要將模型部署到CS 時(shí),本文給出的方案是改造模型的前向傳播計(jì)算,使其能夠?qū)用艿尼t(yī)療數(shù)據(jù)進(jìn)行實(shí)時(shí)預(yù)測(cè).其中,模型第一層的計(jì)算涉及用戶數(shù)據(jù)和模型權(quán)重,因此使用FHIPE 保護(hù)雙向隱私.其后的各層計(jì)算只需考慮模型權(quán)重,則使用IPE 保護(hù).

圖4 EfficientNet 網(wǎng)絡(luò)架構(gòu)Figure 4 Architecture of EfficientNet

云端的在線醫(yī)療診斷服務(wù)對(duì)實(shí)時(shí)性要求較高,而激活函數(shù)Sigmoid 算法的計(jì)算時(shí)間較長(zhǎng),因此本文考慮了各類與Sigmoid 算法性質(zhì)相似但計(jì)算速度更快的變體.Sigmoid 作為最基本的激活函數(shù),廣泛應(yīng)用于各種場(chǎng)景,有Fast Sigmoid 和Hard Sigmoid[30]等變體:

從圖5 可以看出,F(xiàn)ast Sigmoid 的曲線更接近Sigmoid,且計(jì)算效率更高,因此本文方案采用Fast Sigmoid 作為Sigmoid 的高效替代.

圖5 Sigmoid 算法及其變體性能比較Figure 5 Comparison of Sigmoid variants

4.5.3 安全醫(yī)療診斷

CS 為DO 提供的在線醫(yī)療診斷服務(wù)依賴于MO 部署到CS 的預(yù)訓(xùn)練模型,并由CS 負(fù)責(zé)醫(yī)療診斷服務(wù)的運(yùn)行和維護(hù),在DO 提交醫(yī)療數(shù)據(jù)時(shí)CS 執(zhí)行安全醫(yī)療診斷算法(參見算法4).本文方案的神經(jīng)網(wǎng)絡(luò)架構(gòu)為EfficientNet (參見圖4),其第一層網(wǎng)絡(luò)是3×3 卷積層,而且受到ΠFHIPE保護(hù),因此計(jì)算第一層輸出W[1]·XDecrypt([[X]],[[W[1]]])Decrypt(RightEncrypt(X),LeftEncrypt(W[1])).此外,其他層受ΠIPE保護(hù),CS 需要使用其前一層的輸出Z[l-1]來調(diào)用ΠIPE的Keygen 算法,隨后CS 計(jì)算第l層輸出Z[l]為Z[l]Decrypt([[W[l]]],[[Z[l-1]]])Decrypt(Encrypt(W[l]),Keygen(Z[l-1])).

此外,為了更好地解決醫(yī)療預(yù)測(cè)服務(wù)中解密算法的離散對(duì)數(shù)問題,本文采用了傳統(tǒng)的BSGS 策略[31],并且通過生成元求逆操作使BSGS 算法能夠適用于負(fù)數(shù)(參見算法5).ΠFHIPE和ΠIPE方案的內(nèi)積值需要限制在多項(xiàng)式大小內(nèi),以確保解密算法能夠在多項(xiàng)式時(shí)間內(nèi)完成.如果需要更高效的解密計(jì)算,可以考慮使用哈希表方法或者索引計(jì)算算法來降低離散對(duì)數(shù)求解的計(jì)算復(fù)雜度.

綜上所述,在整個(gè)在線醫(yī)療診斷云服務(wù)中,模型持有者只能部署模型、用戶只能獲得診斷結(jié)果,且服務(wù)器無(wú)法從密文形式的醫(yī)療數(shù)據(jù)和模型參數(shù)中獲知除預(yù)測(cè)標(biāo)簽外的有效信息,因而本文基于內(nèi)積加密設(shè)計(jì)的雙向隱私保護(hù)方案既能保護(hù)用戶醫(yī)療數(shù)據(jù)的個(gè)人隱私,也能防止云端部署的預(yù)訓(xùn)練模型參數(shù)的泄露.

5 實(shí)驗(yàn)與分析

實(shí)驗(yàn)設(shè)置和庫(kù).本文通過理論分析和實(shí)驗(yàn)結(jié)果評(píng)估了所提出方案的性能.數(shù)據(jù)集為來自NCT 生物庫(kù)的福爾馬林固定石蠟包埋(FFPE) 的人類癌癥組織樣本CRC-VAL-HE-7K[32],其中包含來自N50 名結(jié)直腸腺癌患者的7180 個(gè)圖像塊,尺寸為224×224 像素,組織類別包括脂肪(ADI)、背景(BACK)、碎片(DEB)、淋巴細(xì)胞(LYM)、粘液(MUC)、平滑肌(MUS)、正常結(jié)腸粘膜(NORM)、癌癥相關(guān)基質(zhì)(STR)、結(jié)直腸腺癌上皮細(xì)胞(TUM) 等(參見圖6).本文方案在Linux Ubuntu 操作系統(tǒng)上執(zhí)行,采用Intel Core i5-12500 單核處理器、3.2 GHz、16 GB 內(nèi)存,圖像識(shí)別過程依賴于云服務(wù)的GPU 計(jì)算資源.所有實(shí)驗(yàn)的安全參數(shù)均設(shè)置為256 位,底層加密方法IPE 和FHIPE 基于AMCL 庫(kù)和Charm 庫(kù)實(shí)現(xiàn),AMCL 是C 語(yǔ)言的密碼學(xué)庫(kù)用于實(shí)現(xiàn)密碼系統(tǒng)參數(shù)的生成,Charm 是Python 語(yǔ)言的加密工具包用于實(shí)現(xiàn)高效地解密計(jì)算,神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練通過科學(xué)計(jì)算基礎(chǔ)庫(kù)Numpy 實(shí)現(xiàn).

圖6 CRC-VAL-HE-7K 數(shù)據(jù)集類分布Figure 6 Distribution of CRC-VAL-HE-7K dataset

5.1 安全性分析

定理1若底層密碼原語(yǔ)ΠFHIPE具有模擬安全性,則構(gòu)造的安全預(yù)測(cè)方案也具有模擬安全性.

如果存在攻擊者A 具有不可忽略的優(yōu)勢(shì),能夠破壞所構(gòu)造的安全預(yù)測(cè)方案的模擬安全性,那么攻擊者A 必須具有不可忽略的優(yōu)勢(shì)能夠破壞ΠFHIPE的模擬安全性,而文獻(xiàn)[17] 中Kim 等人基于通用群模型證明了ΠFHIPE的模擬安全性,因此不存在能夠破解該安全預(yù)測(cè)方案模擬安全性的攻擊者.

定理2如果底層密碼原語(yǔ)ΠIPE在選擇明文攻擊下具有選擇性安全性,則構(gòu)造的安全預(yù)測(cè)方案也具有s-IND-CPA 安全性.

如果存在攻擊者A 具有不可忽略的優(yōu)勢(shì),能夠破壞所構(gòu)造的安全預(yù)測(cè)方案的s-IND-CPA 安全性,那么攻擊者A 必須具有不可忽略的優(yōu)勢(shì)能夠破壞ΠIPE的s-IND-CPA 安全性,并且文獻(xiàn)[18]中Abdalla 等人基于DDH 假設(shè)證明了ΠIPE的s-IND-CPA 安全性,因此不存在能夠破解該安全預(yù)測(cè)方案s-IND-CPA安全性的攻擊者.

定理3方程組是相同變量集的方程的集合,設(shè)(k1,k2)*×N*,令τ為包含k1個(gè)方程、k2個(gè)變量的方程組,記為τ(k1,k2).那么M[k×k]和A[k×k]的矩陣乘積可以看作涉及[(k×k)+(k×n)]個(gè)變量、(k×n) 個(gè)方程的方程組,即(M×A)τ(k×n,((k×k)+(k×n))).因此,對(duì)于(k1,k2)*×N*,若k1<k2,則τ(k1,k2) 有無(wú)窮個(gè)解.

本文基于ΠFHIPE和ΠIPE設(shè)計(jì)了四個(gè)實(shí)體: 可信第三方(TPA)、數(shù)據(jù)持有者(DO)、模型持有者(MO) 和云服務(wù)器(CS).實(shí)體之間存在五個(gè)通信通道,每個(gè)通道都存在隱私泄露的風(fēng)險(xiǎn).在本文安全預(yù)測(cè)方案中,初始化系統(tǒng)后TPA 向其他三方發(fā)送密碼系統(tǒng)的參數(shù)mpkIPE、mskIPE、mpkFHIPE及mskFHIPE僅與網(wǎng)絡(luò)層的數(shù)據(jù)大小相關(guān),而且不會(huì)泄露任何敏感信息,即使攻擊者獲得了密碼系統(tǒng)參數(shù)也無(wú)法推斷出關(guān)于原始樣本X和模型參數(shù)W的任何隱私信息.本文方案的安全性來自于矩陣方程無(wú)解原理、底層密碼原語(yǔ)ΠIPE和ΠFHIPE的安全性.具體如下:

· MO 可能監(jiān)聽CS 與DO 間的通信,獲取加密的醫(yī)療數(shù)據(jù),并希望從中推斷出DO 的敏感信息.假設(shè)X是明文狀態(tài)的醫(yī)療數(shù)據(jù),則DO 發(fā)送給CS 的加密醫(yī)療數(shù)據(jù)為[[X]].根據(jù)定理1,MO 無(wú)法通過[[X]] 破解出X的明文,所以本文的方案可以抵抗好奇MO 的攻擊.

· DO 可能監(jiān)聽CS 和MO 間的通信,獲取加密的模型參數(shù),并希望從中推斷出MO 的模型信息.假設(shè)W為明文狀態(tài)的模型參數(shù),則MO 最終發(fā)送給CS 的加密模型參數(shù)為[[W]].根據(jù)定理1 和定理2,DO 無(wú)法通過[[W]] 破解出W的明文,因此本文的方案可以抵抗好奇DO 的攻擊.

· CS 擁有加密的數(shù)據(jù)、加密的參數(shù)和密碼系統(tǒng)的公共參數(shù),但只能用于安全醫(yī)療診斷的前向傳播算法,最后獲得對(duì)CS 無(wú)意義的預(yù)測(cè)標(biāo)簽onehot 編碼.在網(wǎng)絡(luò)第一層,CS 擁有加密的模型參數(shù)[[W1]]、加密的醫(yī)療數(shù)據(jù)[[X]],以及由此安全計(jì)算出的明文W1·X,根據(jù)定理1 和定理3,CS 無(wú)法破解出W1和X的明文.在網(wǎng)絡(luò)的后續(xù)各層中,CS 擁有加密的模型參數(shù)[[Wl]] 和上一層的計(jì)算輸出[[Zl-1]],以及由此安全計(jì)算出的Wl·Zl-1,根據(jù)定理2 和定理3,CS 無(wú)法破解出Wl的明文.因此,本文方案可以抵御來自好奇的CS 的攻擊.

· 同理,本文方案也可以抵御來自惡意攻擊者的攻擊,因?yàn)槎ɡ?、定理2 和定理3,密碼系統(tǒng)參數(shù)、數(shù)據(jù)密文、參數(shù)密文以及網(wǎng)絡(luò)的各層輸出都不會(huì)泄露醫(yī)療數(shù)據(jù)、模型參數(shù)的隱私信息,入侵系統(tǒng)的攻擊者只能獲得對(duì)其無(wú)意義的預(yù)測(cè)標(biāo)簽和一系列密文和密鑰.

5.2 效率分析

由于4.5.1 節(jié)中所述的浮點(diǎn)數(shù)縮放取整處理,向量元素的數(shù)值大小被限制在固定范圍內(nèi).而且MO 會(huì)在預(yù)測(cè)服務(wù)開始前,將預(yù)訓(xùn)練模型部署到服務(wù)器.因此,在線醫(yī)療預(yù)測(cè)服務(wù)的效率分析只需要考慮DO 上傳醫(yī)療數(shù)據(jù)與CS 進(jìn)行醫(yī)療診斷,主要在ΠFHIPE的算法開銷,所以我們主要分析數(shù)據(jù)向量長(zhǎng)度與ΠFHIPE算法運(yùn)行時(shí)間之間的關(guān)系(參見圖7):

圖7 計(jì)算開銷與數(shù)據(jù)維度的關(guān)系Figure 7 Relationship between computational cost and data length

Setup 算法具有顯著的計(jì)算時(shí)間開銷,但該算法由TPA 預(yù)先執(zhí)行,因此對(duì)方案的性能影響可以忽略不計(jì).LeftEncrypt 算法受到向量長(zhǎng)度的影響較大,時(shí)間成本昂貴,但該算法由MO 在部署預(yù)訓(xùn)練模型前執(zhí)行,不會(huì)影響用戶使用在線醫(yī)療診斷服務(wù)時(shí)的實(shí)時(shí)性.在線醫(yī)療診斷服務(wù)的延遲主要來自上傳醫(yī)療數(shù)據(jù)和在線醫(yī)療診斷,DO 上傳醫(yī)療數(shù)據(jù)時(shí)的延遲受RightEncrypt 算法影響,而CS 提供診斷服務(wù)時(shí)的延遲則受Decrypt 算法影響,因此醫(yī)療數(shù)據(jù)向量長(zhǎng)度對(duì)系統(tǒng)延遲影響不大.

5.3 通信開銷

本文采用內(nèi)積加密方法,各方之間最多只需一輪交互乃至一次通信即可實(shí)現(xiàn)云端醫(yī)療診斷服務(wù).TPA負(fù)責(zé)初始化系統(tǒng)并分發(fā)密鑰,且TPA 僅發(fā)送一次密鑰,因此可忽略系統(tǒng)初始化階段的通信開銷.在線醫(yī)療診斷的通信開銷主要包括DO、CS 之間醫(yī)療數(shù)據(jù)和診斷結(jié)果的傳輸以及MO、CS 之間模型參數(shù)的傳輸.

MO 部署預(yù)訓(xùn)練模型僅需要上傳一次模型參數(shù),醫(yī)療診斷服務(wù)就可以由云服務(wù)器提供并維護(hù).CS 傳輸?shù)脑\斷結(jié)果、DO 傳輸醫(yī)療數(shù)據(jù)的總時(shí)間消耗和帶寬開銷隨著數(shù)據(jù)向量維度和數(shù)量的增加而增加,即本文方案對(duì)于不同數(shù)量的訓(xùn)練樣本保持常數(shù)級(jí)的通信開銷.本文采用的內(nèi)積加密技術(shù),進(jìn)行云端計(jì)算時(shí)無(wú)需交互,而且只需一次通信用戶即可得到安全診斷的結(jié)果.

5.4 準(zhǔn)確率

圖像識(shí)別的準(zhǔn)確性通常使用分類準(zhǔn)確率衡量,準(zhǔn)確率(Acc)的計(jì)算公式為Acc,即正確預(yù)測(cè)的樣本比例,其中N代表測(cè)試的樣本數(shù)量,TP 表示正確識(shí)別的正例,TN 表示正確識(shí)別的負(fù)例,TP+TN表示測(cè)試樣本中正確預(yù)測(cè)的總數(shù).

在本文方案中,模型持有者M(jìn)O 使用EfficientNet 模型訓(xùn)練明文形式的醫(yī)療圖像數(shù)據(jù)集CRC-VALHE-7K,其中包括來自50 名結(jié)直腸腺癌患者的7180 張圖像(參見圖8).本文模型訓(xùn)練可以在5 個(gè)epoch內(nèi)將準(zhǔn)確率提高到95% 以上,所得預(yù)訓(xùn)練模型需要調(diào)整使得能夠提供密文數(shù)據(jù)的醫(yī)療診斷服務(wù).本文方案雖然未能達(dá)到原始EfficientNet 超過99% 的準(zhǔn)確率,但也能夠在加密的醫(yī)療數(shù)據(jù)上以98% 的準(zhǔn)確率診斷結(jié)直腸癌狀態(tài)(參見圖9).

圖8 模型訓(xùn)練的準(zhǔn)確率和損失值Figure 8 Accuracy and loss of model training

圖9 對(duì)比密文和非密文數(shù)據(jù)的圖像識(shí)別準(zhǔn)確率Figure 9 Image recognition accuracy comparison on encrypted and clear data

6 總結(jié)

本文提出了一種能夠?qū)崿F(xiàn)雙向隱私保護(hù)的云端醫(yī)療診斷服務(wù)方案,不僅能解決傳統(tǒng)醫(yī)療診斷云服務(wù)中用戶提供醫(yī)療數(shù)據(jù)時(shí)面臨的個(gè)人信息泄露問題,還可以幫助模型開發(fā)方避免云端部署模型的信息泄漏風(fēng)險(xiǎn).此外,該方案針對(duì)模型信息的保護(hù)措施也能進(jìn)一步提高樣本數(shù)據(jù)應(yīng)對(duì)白盒成員推理攻擊的能力.根據(jù)安全性和隱私性的分析,本文方案可以抵御好奇參與方和惡意攻擊者的攻擊.此外,我們還將本文方案與原始網(wǎng)絡(luò)比較,實(shí)驗(yàn)表明本文方案能夠達(dá)到與原網(wǎng)絡(luò)相似的圖像識(shí)別準(zhǔn)確率,即98% 以上.本文的解決方案還采用了Fast Sigmoid、im2col 等方法來提高安全前線傳播效率.未來我們將重點(diǎn)關(guān)注基于函數(shù)隱藏內(nèi)積加密的安全模型訓(xùn)練方法[33-36],以及針對(duì)訓(xùn)練數(shù)據(jù)集的加密計(jì)算和加密域中梯度計(jì)算開銷的優(yōu)化.

猜你喜歡
內(nèi)積密文加密
一種針對(duì)格基后量子密碼的能量側(cè)信道分析框架
一種支持動(dòng)態(tài)更新的可排名密文搜索方案
基于模糊數(shù)學(xué)的通信網(wǎng)絡(luò)密文信息差錯(cuò)恢復(fù)
一種基于熵的混沌加密小波變換水印算法
基于矩陣的內(nèi)積函數(shù)加密
關(guān)于矩陣的Frobenius內(nèi)積的一個(gè)推廣
認(rèn)證加密的研究進(jìn)展
云存儲(chǔ)中支持詞頻和用戶喜好的密文模糊檢索
基于ECC加密的電子商務(wù)系統(tǒng)
基于格的公鑰加密與證書基加密
敖汉旗| 沙雅县| 通州市| 樟树市| 娄底市| 明光市| 东乡族自治县| 香河县| 彭水| 临沭县| 嘉黎县| 辉县市| 红原县| 台中县| 肥西县| 普陀区| 公安县| 松滋市| 通城县| 通山县| 宜川县| 江城| 陇南市| 安西县| 玉门市| 临桂县| 社旗县| 农安县| 长宁县| 扬中市| 格尔木市| 永兴县| 黄骅市| 五莲县| 财经| 周宁县| 彰化市| 宁国市| 彰武县| 广平县| 松原市|