• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      支持隱私保護訓練的高效同態(tài)神經(jīng)網(wǎng)絡(luò)

      2022-12-18 08:11:06畢仁萬顏西山應(yīng)作斌熊金波
      計算機應(yīng)用 2022年12期
      關(guān)鍵詞:同態(tài)明文密文

      鐘 洋,畢仁萬,顏西山,應(yīng)作斌,熊金波*

      (1.福建師范大學 計算機與網(wǎng)絡(luò)空間安全學院,福州 350117;2.福建省網(wǎng)絡(luò)安全與密碼技術(shù)重點實驗室(福建師范大學),福州 350007;3.澳門城市大學 數(shù)據(jù)科學學院,澳門 999078)

      0 引言

      由于與生物神經(jīng)網(wǎng)絡(luò)具有十分相似的特性,神經(jīng)網(wǎng)絡(luò)(Neural Network,NN)一直以來都是業(yè)界的重要研究熱點,并已在計算機視覺[1]、聲音識別[2]、醫(yī)療診斷[3]等智能領(lǐng)域獲得了廣泛應(yīng)用。云計算[4]技術(shù)進一步擴大了神經(jīng)網(wǎng)絡(luò)應(yīng)用的發(fā)展規(guī)模。用戶和企業(yè)可以將模型訓練任務(wù)外包[5]給云服務(wù)器進行處理,進而節(jié)省了大量的計算和存儲資源。然而,用戶數(shù)據(jù)常包含大量的敏感信息,一旦數(shù)據(jù)管理權(quán)上移至云端,將會面臨嚴峻的數(shù)據(jù)安全和隱私泄露問題。據(jù)英國《衛(wèi)報》報道,劍橋數(shù)據(jù)分析公司在未經(jīng)用戶許可的情況下,盜用了近5千萬份用戶資料[6]?!度A盛頓郵報》也曾透露,Zoom 會議軟件存在嚴重的安全漏洞,數(shù)以萬計的用戶視頻被上傳至公開訪問網(wǎng)頁[7]??梢姡谌皆品?wù)器不總是可信的,直接將數(shù)據(jù)上傳至云服務(wù)器存在泄露用戶隱私數(shù)據(jù)的嚴重風險;因此,須將數(shù)據(jù)進行加密后上傳,也意味著研究云計算環(huán)境下的隱私保護方案以確保數(shù)據(jù)的機密性、并兼顧方案的計算效率和模型精確度是至關(guān)重要的。

      針對云服務(wù)器輔助下的數(shù)據(jù)和神經(jīng)網(wǎng)絡(luò)模型隱私泄露的問題,研究學者結(jié)合差分隱私、安全多方計算[8]、同態(tài)加密(Homomorphic Encryption,HE)等技術(shù)開展了大量的研究工作。本文主要關(guān)注基于同態(tài)加密的隱私保護神經(jīng)網(wǎng)絡(luò)研究。在面向神經(jīng)網(wǎng)絡(luò)的隱私保護預(yù)測方面,Xie 等[9]在理論上分析了低階多項式近似表達非線性函數(shù)的可行性,并提出了一種基于層級全同態(tài)加密(Fully Homomorphic Encryption,F(xiàn)HE)的密態(tài)神經(jīng)網(wǎng)絡(luò)模型,實現(xiàn)了神經(jīng)網(wǎng)絡(luò)的隱私保護預(yù)測。Gilad-Bachrach 等[10]使用泰勒多項式近似計算神經(jīng)網(wǎng)絡(luò)中的非線性函數(shù),并引入單指令多數(shù)據(jù)(Single Instruction Multiple Data,SIMD)機制并行處理加密數(shù)據(jù),提高了隱私保護預(yù)測的效率。為了實現(xiàn)深層神經(jīng)網(wǎng)絡(luò)的隱私保護預(yù)測,Chabanne等[11]基于BGV(Brakerski-Gentry-Vaikuntanathan)-FHE構(gòu)造了安全的批處理歸一化層,并采用多項式逼近方法實現(xiàn)ReLU(Rectified Linear Unit)函數(shù)的安全計算,提出的方案適用于更復(fù)雜的圖像分類任務(wù)。Al Badawi 等[12]改進了一種兼容圖形處理器(Graphics Processing Unit,GPU)設(shè)置的BFV(Brakerski-Fan-Vercauteren)-FHE 方案,為隱私保護神經(jīng)網(wǎng)絡(luò)模型落地于實際應(yīng)用提供了理論條件。

      上述研究方案僅實現(xiàn)了神經(jīng)網(wǎng)絡(luò)的隱私保護預(yù)測[13],無法對神經(jīng)網(wǎng)絡(luò)模型進行安全的訓練和更新。Zhang 等[14]首次提出了基于BGV-FHE 的隱私保護神經(jīng)網(wǎng)絡(luò)訓練模型,采用泰勒多項式近似計算ReLU 等非線性函數(shù),在模型反向訓練的每次迭代過程中,將更新后的加密模型權(quán)值發(fā)送給客戶端解密后再執(zhí)行下一次迭代運算,緩解了由深層同態(tài)密文乘法產(chǎn)生的噪聲問題。Hesamifard 等[15]采用切比雪夫多項式近似計算ReLU 函數(shù),一定程度上提高了非線性函數(shù)的擬合精度,且減少了乘法運算次數(shù),在提出的PPML(Privacy Protection Machine Learning)方案中,額外設(shè)置了固定的噪聲閾值,僅當密文乘法噪聲達到該閾值后,服務(wù)器才會將加密模型返回給用戶進行解密,有效降低了通信開銷。然而,文獻[14-15]需要用戶參與整個加密訓練過程,且使用密文乘密文(Ciphertext-Ciphertext Multiplication,CCM)乘法計算線性函數(shù)的效率較低,多項式迭代近似計算非線性函數(shù)的精度不 高。Bourse 等[16]使 用TFHE(Torus Fully Homomorphic Encryption)-FHE 和“自啟動”技術(shù)在單服務(wù)器設(shè)置下提出了二值化神經(jīng)網(wǎng)絡(luò)的隱私保護訓練方案。此外,Lou 等[17]進一步實現(xiàn)了BFV 密文與TFHE 密文之間的轉(zhuǎn)換,采用BFV 密文計算線性矩陣乘法以及TFHE 密文計算非線性函數(shù),并構(gòu)造了相應(yīng)的電路模塊,在硬件上完成了神經(jīng)網(wǎng)絡(luò)的隱私保護訓練。雖然文獻[16-17]可以在單服務(wù)器上獨立完成隱私保護模型訓練,但該方案需要額外的自啟動操作,非線性函數(shù)計算依賴于復(fù)雜電路,運行效率仍然較低。

      上述方案采用同態(tài)加密技術(shù)實現(xiàn)了支持隱私保護訓練的神經(jīng)網(wǎng)絡(luò)模型,初步解決了模型訓練中的數(shù)據(jù)和模型隱私泄露問題;然而,文獻[14-17]普遍存在模型訓練效率和精度較低等問題。為了解決上述問題,本文提出了一種三方協(xié)作下支持隱私保護訓練的高效同態(tài)神經(jīng)網(wǎng)絡(luò)(Homomorphic Neural Network,HNN),設(shè)計了一種安全快速乘法協(xié)議加速密文矩陣乘法計算的效率,研究了一種非線性函數(shù)的安全計算方法提高模型訓練的精度。本文主要工作內(nèi)容如下:

      1)針對同態(tài)加密方案中密文乘密文(CCM)運算相較于明文乘密文(Plaintext-Ciphertext Multiplication,PCM)運算復(fù)雜度較高的問題,設(shè)計了一種安全快速乘法協(xié)議;通過向密文消息添加掩碼后進行半解密將CCM 運算轉(zhuǎn)換為PCM 運算,提高了計算效率。

      2)鑒于多項式近似方法常被用來實現(xiàn)非線性函數(shù)的同態(tài)加密計算,研究了一種安全非線性函數(shù)計算思路,對添加掩碼的消息執(zhí)行相應(yīng)的非線性算子,實現(xiàn)精確的非線性計算。

      3)設(shè)計了一種三方協(xié)作的安全計算架構(gòu),并提出了一種支持隱私保護訓練的高效同態(tài)神經(jīng)網(wǎng)絡(luò)(HNN),實現(xiàn)了安全前向計算、安全損失反向傳播以及安全梯度更新。

      4)理論層面證明了本文所提隱私保護訓練方案及其協(xié)議的正確性和安全性,并提供了計算和通信的復(fù)雜度分析。采用MINIST 數(shù)據(jù)集的實驗結(jié)果表明,本文方案的訓練速度較于PPML 訓練方案提高了18.9 倍,且測試集準確率提高了1.4 個百分點。

      1 基礎(chǔ)知識

      1.1 全連接神經(jīng)網(wǎng)絡(luò)

      全連接神經(jīng)網(wǎng)絡(luò)由輸入層、隱藏層及輸出層組成,每一層包含若干神經(jīng)元,每個神經(jīng)元由5 部分組成:輸入、權(quán)重、偏置項、激活函數(shù)以及輸出。若不考慮神經(jīng)元的激活函數(shù),神經(jīng)元的表達退化為線性回歸方程。此時,整個網(wǎng)絡(luò)僅由多個線性回歸組成,只能解決線性可分的問題。為了解決線性不可分的問題,須引入激活函數(shù),例如ReLU 函數(shù)、Softmax 函數(shù)等。整體而言,全連接神經(jīng)網(wǎng)絡(luò)的訓練過程可分為前向傳播和反向傳播。

      1)前向傳播。輸入數(shù)據(jù)順序經(jīng)過若干個全連接層和激活層獲得歸一化的分類概率輸出,網(wǎng)絡(luò)第l層的運算可以描述為al=Wlxl-1+bl,xl=f(al),其中:al表示第l層的神經(jīng)元向量,Wl表示第l層和第l-1 層之間的權(quán)值矩陣,xl-1表示第l-1 層的輸出(第l層的輸入),bl表示第l層的偏置向量,f表示激活函數(shù)。

      2)反向傳播。反向傳播根據(jù)鏈式法則計算目標損失函數(shù)關(guān)于模型參數(shù)的導(dǎo)數(shù),并完成模型參數(shù)更新。若采用交叉熵損失函數(shù)作為神經(jīng)網(wǎng)絡(luò)的目標損失函數(shù),令y表示神經(jīng)網(wǎng)絡(luò)的輸出,label表示訓練樣本的真實標簽,反向傳播首先計算誤差δl-1=(Wl)Tδl f′(al),然后更新模型權(quán)值?Wl=xl-1(δl)T和偏置?bl=δl,其中:δl表示第l層的誤差,?Wl和?bl分別表示權(quán)值和偏置的梯度,梯度的更新可表示為W=W-?Wl·θ,b=b-?bl·θ,θ表示學習率。

      1.2 BGV同態(tài)加密

      BGV[18]是一種 基于環(huán) 容錯學 習(Ring Learning With Error,RLWE)[19]困難問題的全同態(tài)加密方案,能同時支持加法和乘法同態(tài)運算。BGV 加密方案包含參數(shù)設(shè)置算法Setup、私鑰生成算法SecretKeyGen、公鑰生成算法PublicKeyGen、加密算法Enc 和解密算法Dec。

      1)Setup(1λ,uλ):基于RLWE 困難問題,選擇占u比特的密文模q和明文 模p,生成隨 機參數(shù)d=d(λ,u)、N=N(λ,u)、n=n(λ,u)和χ=χ(λ,u),滿足2λ位安全;輸出設(shè)置參數(shù)params=(q,p,d,N,n,χ)。

      BGV 加密方案支持兩種乘法運算類型[18]:明文乘密文運算(Plaintext-Cipher Multiplication,PCM)和密文乘密文運算(Cipher-Cipher Multiplication,CCM),具體定義如下。在BGV 方案中,密文由n階多項式表示,密文模數(shù)為p,PCM 的計算復(fù)雜度為O(pn),CCM 的計算復(fù)雜度為O(p2n2)。

      定義1[17]已知明文消息m1和m2,c2表示m2的密文消息,如果同態(tài)運算⊙滿足c2⊙m1=Enc(m1·m2),稱同態(tài)運算⊙為PCM 運算。

      定義2[17]已知明文消息m1和m2,c1和c2分別表示m1和m2的密文消息,如果同態(tài)運算?滿足c1?c2=Enc(m1·m2),稱同態(tài)運算?為CCM 運算。

      2 系統(tǒng)模型與安全模型

      本文方案的一個典型應(yīng)用便是智慧醫(yī)療系統(tǒng),越來越多的醫(yī)療機構(gòu)采用AI 手段進行輔助醫(yī)療診斷,既能提高診斷效率又能提高診斷準確率。為了得到特定疾病對應(yīng)的神經(jīng)網(wǎng)絡(luò)模型,這些醫(yī)療機構(gòu)受限于技術(shù)設(shè)備問題而將病例數(shù)據(jù)交由云端,在云端完成目標模型的訓練,機構(gòu)獲得所需模型后即能進行AI 醫(yī)療診斷;然而醫(yī)療數(shù)據(jù)含有大量敏感信息,直接在云端進行模型訓練會存在隱私泄露風險,因而本文要解決的問題是如何讓用戶使用所擁有的數(shù)據(jù)在云端進行神經(jīng)網(wǎng)絡(luò)模型訓練,且保證隱私數(shù)據(jù)和模型參數(shù)不會泄露給云端。具體系統(tǒng)模型和安全模型分別在2.1 節(jié)和2.2 節(jié)中介紹。

      2.1 系統(tǒng)模型

      系統(tǒng)模型在HNN 中,系統(tǒng)模型包含兩臺計算服務(wù)器S1和S2、一臺輔助服務(wù)器S3以及數(shù)據(jù)擁有者Us,如圖1 所示。

      圖1 系統(tǒng)模型Fig.1 System model

      首先,S3生成公-私鑰對(pk,sk)并發(fā)送給Us,同時將公鑰pk發(fā)送給S1和S2;其次,實體間的交互過程描述如下:

      ①Us采用pk將數(shù)據(jù)加密后上傳給S1和S2;

      ②S1、S2和S3協(xié)同執(zhí)行隱私保護神經(jīng)網(wǎng)絡(luò)的訓練過程,S1和S2均持有一份用戶上傳的加密數(shù)據(jù)份額,可以獨自執(zhí)行線性的密文計算,當執(zhí)行非線性的密文計算時,S1和S2將添加隨機掩碼后的加密數(shù)據(jù)傳遞給S3,由S3采用sk對其解密后執(zhí)行非線性計算;

      ③S1和S2將訓練后的加密模型份額反饋給Us,Us采用加法運算可以恢復(fù)出完整的加密模型,然后解密獲得真實模型。

      2.2 安全模型

      類似于文獻[20-21],本文采用半可信模型,每臺服務(wù)器均是誠實且好奇的實體,誠實地遵循協(xié)議,但又對其他實體擁有的信息感興趣。此外,假設(shè)服務(wù)器在計算過程中不能惡意掉線并提前終止協(xié)議,且服務(wù)器之間是不共謀的[21],不能直接共享持有的秘密份額,這在實際中可由競爭型的服務(wù)提供商托管。數(shù)據(jù)擁有者旨在外包云端進行安全模型訓練,因此用戶是可信的,不會向服務(wù)器上傳虛假的數(shù)據(jù)。模型采用安全信道進行通信,傳遞的消息不能被竊聽和篡改。本文考慮下的隱私信息包含用戶上傳的數(shù)據(jù)、服務(wù)器協(xié)作訓練的模型參數(shù)以及中間產(chǎn)生的計算結(jié)果。服務(wù)器S1和S2由于沒有私鑰,不能解密密文消息,S3不知道隨機掩碼,不能由混淆消息恢復(fù)出明文消息。

      同時,模型引入一個概率多項式時間(Probabilistic Polynomial Time,PPT)敵手A*,在同態(tài)加密方案中常被認定為擁有多項式時間內(nèi)的解密能力,正確識別兩份密文對應(yīng)的明文的概率不高于隨機猜測的概率。假設(shè)A*擁有下述攻擊能力和約束:①A*可能攻擊S1或S2以猜測來自Us的密文所對應(yīng)的明文值,也可能通過執(zhí)行交互協(xié)議猜測來自S3的密文所對應(yīng)的明文值;②A*可能攻擊S3,通過執(zhí)行交互協(xié)議猜測來自S1和S2的密文所對應(yīng)的明文值;③A*不能同時攻擊S1、S2和S3中的任意兩方并獲取相應(yīng)數(shù)據(jù)。

      上述敵手攻擊能力的約束與文獻[20-21]敵手約束是一致的,即敵手可以攻擊單臺服務(wù)器獲取目標信息,但不可同時攻擊任意兩方服務(wù)器。該能力約束也是眾多安全多方計算方案成立的前提,若無此約束,大多安全多方計算方案將無法安全執(zhí)行,因此文中做出此類約束以保證方案的安全性。若服務(wù)器和敵手不能獲得隱私信息,則意味著提出的HNN 方案在此安全模型下是安全的,詳細的方案安全性證明過程如4.1 節(jié)所示。

      3 HNN方案

      HNN 方案的概述如圖2 所示,包含全連接(Full-Connected,F(xiàn)C)層、ReLU 層和Softmax 層的安全前向傳播和安全反向傳播過程。在安全前向傳播過程中,模型參數(shù)被隨機拆分為兩份模型參數(shù)份額,服務(wù)器S1和S2各自持有加密圖像和一份模型參數(shù)份額,3 臺服務(wù)器協(xié)作安全快速乘法協(xié)議(Secure Fast Multiplication Protocol,SFMP)可以實現(xiàn)FC 層中加密圖像和模型份額的安全計算。接下來協(xié)同執(zhí)行安全ReLU 協(xié)議(Secure ReLU Protocol,SRP),S1和S2向加密特征添加隨機數(shù),由S3對解密后的混淆明文特征進行非線性激活計算。類似地,3 臺服務(wù)器協(xié)同執(zhí)行安全倒數(shù)協(xié)議(Secure Reciprocal Protocol,SREP)和安全指數(shù)協(xié)議(Secure Exponent Protocol,SEP)完成安全Softmax 歸一化操作。在安全反向傳播過程中,3 臺服務(wù)器負責協(xié)作計算FC 層、ReLU 層和Softmax層的加密梯度,然后結(jié)合鏈式法則與SFMP 協(xié)議完成加密梯度的安全傳遞和加密模型的安全更新,詳細過程見4.4節(jié)。

      圖2 HNN方案概述Fig.2 Overview of HNN scheme

      3.1 安全FC層

      FC 層負責計算輸入特征與權(quán)值的線性組合,為了確保特征x和參數(shù)w的隱私性,文獻[15]中采用HE 實現(xiàn)x和w的加密計算,但CCM 運算的復(fù)雜度較高。因此,本文結(jié)合加性秘密共享的思想,提出一種SFMP 協(xié)議,將CCM 運算轉(zhuǎn)換為時間復(fù)雜度較低的PCM 運算,有效提高了FC 層線性乘法運算的效率。SFMP 協(xié)議的具體構(gòu)造過程如協(xié)議1 所示。

      協(xié)議1 安全快速乘法協(xié)議(SFMP)。

      S1和S2持有加密參數(shù)cw和加密特征cx,S1向cw添加隨機數(shù)k獲得混淆加密參數(shù)temp。S3解密temp獲得混淆參數(shù)m,并將m隨機拆分為tw1和tw2,滿足m=k·w=tw1+tw2。由于S3不知道k,不能推測出真實參數(shù)w。進而,S1和S2消除k可以分別獲得真實參數(shù)的份額w1和w2,cw與cx的CCM 運算可以轉(zhuǎn)換為w與cx的PCM 運算,即c1+c2=w⊙cx=cw?cx,其中w=w1+w2。

      3.2 安全ReLU層

      現(xiàn)有HE 方案[15]通常采用多項式迭代方法近似計算非線性函數(shù),例如ReLU 激活層的比較函數(shù),須執(zhí)行多輪次的迭代運算減少計算誤差。為了有效降低非線性函數(shù)的安全計算開銷,本文設(shè)計一種SRP 協(xié)議用于實現(xiàn)高效且精確的安全ReLU 運算,具體構(gòu)造過程協(xié)議2 所示。

      協(xié)議2 安全ReLU 協(xié)議(SRP)。

      Si,i∈{1,2}首先向加密特征份額ci添加隨機數(shù)k獲得混淆加密特征份額tempi,S3可以解密temp獲得混淆特征m1,但不知道k不能獲得真實特征Dec()。由 于m1=k·Dec(c)且k>0,因此m1的正負性與明文特征Dec(c)相同,其中c=c1+c2。若m1≥0,則S3記錄加密符號j←Enc(1);否則S3記錄j←Enc(0)。對于Si,i∈{1,2}而言,Si無法區(qū)分j是1 還是0 的密文。實際上temp?(1/k)=c,若Dec(c) ≥0,則SRP 協(xié)議輸出激活的加密特征f(c)=Enc(0 · Dec(c))=Enc(0);若Dec(c) <0,則SRP 協(xié)議輸 出f(c)=Enc(1 ·Dec(c))=c。

      3.3 安全Softmax層

      在神經(jīng)網(wǎng)絡(luò)中,Softmax 層負責將網(wǎng)絡(luò)輸出特征歸一化表示,已知特征x,Softmax 函數(shù)輸出歸一化特征為了保護特征隱私,本文設(shè)計SREP 和SEP 協(xié)議分別實現(xiàn)倒數(shù)和除法的同態(tài)加密計算。SREP 協(xié)議的具體構(gòu)造過程如協(xié)議3 所示,Si,i∈{1,2}首先向加密特征份額ci添加隨機數(shù)k獲得混淆加密特征份額tempi,S3可以解密temp獲得混淆特征m1,但不知道k不能獲得真實特征Dec()。S3對m1執(zhí)行相應(yīng)的非線性倒數(shù)運算獲得混淆倒數(shù)特征t←1(k· Dec(c)),從而Si消除k可以獲得加密倒數(shù)特征f(c)=Enc(1Dec(c))。由于Si不知道私鑰sk,無法解密獲得真實的倒數(shù)特征1Dec(c)。

      協(xié)議3 安全倒數(shù)協(xié)議(SREP)。

      SEP 協(xié)議的具體構(gòu)造過程如協(xié)議4 所示。類似于SREP協(xié)議,Si,i∈{1,2}首先 向ci添加k獲得tempi,S3可 以解密temp獲得m1=k+Dec(ci,sk)。S3對m1執(zhí)行相應(yīng)的非線性指數(shù)運算獲得混淆指數(shù)特征exp(k+Dec(ci)),從而Si消除k可以獲得加密指數(shù)特征f(c)=Enc(exp(Dec(c)))。由于Si不知道私鑰sk,無法解密獲得真實的指數(shù)特征exp(Dec(c))。

      協(xié)議4 安全指數(shù)協(xié)議(SEP)。

      3.4 安全反向傳播

      HNN 訓練過程如算法1 所示。數(shù)據(jù)擁有者Us將圖像和模型參數(shù)加密后上傳給云服務(wù)器,由S1、S2和S3協(xié)同執(zhí)行HNN 的安全FC 層、安全ReLU 層和安全Softmax 層等前向計算和以及相應(yīng)的誤差反向傳播過程。當達到迭代終止條件后,S1和S2將最優(yōu)模型參數(shù)份額返回給Us,Us可以恢復(fù)和解密出最優(yōu)模型參數(shù){W*,b*}。

      算法1 安全訓練過程。

      4 理論分析

      4.1 安全性分析

      本節(jié)主要分析HNN 方案及其安全計算協(xié)議的安全性,將用戶數(shù)據(jù)、協(xié)議交互的中間計算結(jié)果以及模型參數(shù)的保密性作為安全評估指標。在安全性證明過程中,引入一組分別攻擊Us、S1、S2和S3的外部PPT 敵手和內(nèi)部服務(wù)器敵手(S1,S2,S3)。

      命題1 面對半可信且不共謀的敵手A=和(S1,S2,S3),SFMP、SRP、SREP 和SEP 協(xié)議是安全的。

      SimUs接收輸入w和x,然后模擬AUs:它產(chǎn)生密文cw=Enc(w)和cx=Enc(x),并將cw和cx返回給AUs。AUs的視圖由它創(chuàng)建的加密數(shù)據(jù)所組成,根據(jù)BGV 方案的安全性[15],AUs的真實視圖和模擬視圖在計算上是不可區(qū)分的。

      此外,3 臺內(nèi)部服務(wù)器S1、S2和S3也嘗試推斷獲得隱私信息。S1擁有cw,cx和w1,但沒有密鑰無法解密獲得明文模型參數(shù)w和數(shù)據(jù)x,S2類似于S1。S3可以采用私鑰解密獲得混淆明文m、tw1和tw2,但不知道S1隨機生成的掩碼同樣無法恢復(fù)出明文w和x。因此,SFMP 協(xié)議可以抵抗A和(S1,S2,S3)的攻擊。

      同理可證,SRP、SREP 和SEP 協(xié)議面對半可信且不共謀的敵手和(S1,S2,S3)也是安全的。證畢。

      命題2 面對半可信且不共謀的敵手A和(S1,S2,S3),HNN 方案是安全的。

      證明 若A攻擊S1(或S2)并獲取S1(或S2)的加密數(shù)據(jù),BGV 方案的安全性可以確保A無法獲取明文消息。此外,敵手只能獲得明文消息的一份份額,秘密共享理論的信息論不可區(qū)分安全可以確保A無法獲取完整的明文消息。若A攻擊S3獲取私鑰并解密S3的加密數(shù)據(jù),由于S1(或S2)傳遞給S3的加密數(shù)據(jù)均添加了隨機掩碼,A不知道隨機掩碼,無法獲得真實的明文消息。由于S1、S2和S3間不能共謀,S1和S2無法獲得S3生成的私鑰并解密密文,S3也無法獲得S1生成的隨機數(shù)并恢復(fù)明文。A和(S1,S2,S3)均不能獲得真實的隱私信息,可以證明HNN 方案是安全的。證畢。

      4.2 復(fù)雜度分析

      在本節(jié)中,主要分析HNN 方案及其安全計算協(xié)議的計算和通信復(fù)雜度。

      計算復(fù)雜度 本文以簡單全連接神經(jīng)網(wǎng)絡(luò)為例,輸入k維數(shù)據(jù),經(jīng)過兩層FC、一層ReLU 和一層Softmax,即k→(FC1+Re LU) →m→(FC2) →t→(Softmax) →t,獲得歸一化的分類概率。HNN 可分為安全前向傳播和安全反向傳播過程,假設(shè)Add 表示一次同態(tài)加/減法運算,CMult 表示一次CCM 運算,PMult 表示一次PCM 運算,Enc 表示一次加密運算,Dec 表示一次解密運算。安全前向傳播過程的計算復(fù)雜度如表1 所示,安全FC 層采用SFMP 協(xié)議將CMult 運算轉(zhuǎn)換為較低復(fù)雜度的PMult 運算,Add 運算用來完成神經(jīng)元特征間的加法運算。安全ReLU 層和安全Softmax 層需要服務(wù)器S3輔助解密和加密,需要執(zhí)行少量Enc 和Dec 運算。此外,由于非線性層的密文乘法次數(shù)較少,選擇直接執(zhí)行CMult運算。

      表1 安全前向傳播過程的計算復(fù)雜度Tab.1 Computational complexity of secure forward propagation process

      假設(shè)n表示HNN 訓練的小批量大小,安全反向傳播過程的計算復(fù)雜度如表2 所示。安全Softmax 層的反向傳播過程需要執(zhí)行少量Add 完成歸一化特征與樣本標簽的減法運算,安全FC 層需要執(zhí)行PMult 完成一些乘法運算,安全ReLU 層的輸出符號密文在前向傳播過程中被記錄,則不需要執(zhí)行額外的運算。

      表2 安全反向傳播過程的計算復(fù)雜度Tab.2 Computational complexity of secure back propagation process

      通信復(fù)雜度 由于HNN 方案是基于SFMP、SRP、SREP和SEP 協(xié)議構(gòu)建的,本文主要分析這些基本安全協(xié)議的通信輪數(shù)及產(chǎn)生的通信開銷。假設(shè)明文空間內(nèi)的單位明文大小為‖P‖,密文空間內(nèi)的單位密文大小為‖C‖,安全計算協(xié)議的通信復(fù)雜度如表3 所示。在SFMP 協(xié)議中,S1需要1 輪通信與S2共享隨機掩碼k,同時需要將添加掩碼后的加密混淆消息temp傳遞給S3,S3可以解密獲得混淆明文消息,并將兩份加密份額tw1和tw2發(fā)送給S1和S2,協(xié)議共需要4 輪通信,通信開銷為3‖P‖+‖C‖。類似于SFMP 協(xié)議,SRP、SREP 和SEP協(xié)議同樣包含S1和S2共享隨機掩碼、S1和S2向S3發(fā)送加密混淆消息以及S3回傳加密份額3 個階段。

      表3 安全計算協(xié)議的通信復(fù)雜度Tab.3 Communication complexity of secure computing protocols

      5 性能評估

      本文采用處理器AMD Ryzen 5 4600H 3 GHz,RAM 24 GB Ubuntu 20.0.4 的個人計算機模擬服務(wù)器,類似于PPML[15]、FHESGD(Fully Homomorphic Encryption Stochastic Gradient Descent)[22]和Glyph[17]方案,在C++開發(fā)環(huán)境下執(zhí)行單線程的訓練和計算。對于實數(shù)x,Helib 庫截斷保留x的k位小數(shù),計算并存儲x′=[x· 10k],若x′<0,則計算x′=(x′+p)modn,p表示明文空間的模,n表示密文空間的模。除非特別說明,實驗設(shè)置64 比特表示明文消息,設(shè)置300 比特表示密文消息。實驗采用HElib[23]庫實現(xiàn)BGV 同態(tài)加密方案[17],安全參數(shù)為128 比特。實驗采用MINIST 手寫數(shù)字集,包含0~9 這10 個類別,共60 000 張訓練樣本和10 000 張測試樣本。選擇5 種全連接神經(jīng)網(wǎng)絡(luò)模型進行實驗,分別為N1(784 × 128 × 128 × 10)、N2(784 × 32 × 16 × 10)、N3(784 ×128 × 32 × 10)、N4(784 × 30 × 10)和N5(784 × 64 × 64 ×10)。激活層采用ReLU 函數(shù),采用交叉熵損失函數(shù)計算網(wǎng)絡(luò)目標損失,采用均值為0.1 的高斯函數(shù)隨機初始化網(wǎng)絡(luò)模型參數(shù),學習率設(shè)置為0.6。

      HNN 方案的安全性取決于BGV 同態(tài)加密方案的加密安全強度,這與安全參數(shù)的比特長度有關(guān)。選擇N3 網(wǎng)絡(luò),表4給出了不同比特長度下單批量的HNN 方案訓練時間結(jié)果。隨著比特長度的增加,計算模數(shù)的增大會導(dǎo)致訓練運行時間增加;另一方面,由于密文空間增大會降低隨機識別密文的概率,使得HNN 方案的隱私保護強度也隨之增強。因此在在設(shè)計HNN 方案時須兼顧同態(tài)加密的安全強度和效率。

      表4 不同比特長度的HNN訓練時間對比Tab.4 Comparison of training time of different bit-widths

      FC 層涉及了大量的同態(tài)密文乘法運算,本文提出的SFMP 協(xié)議將CCM 運算轉(zhuǎn)換為較低復(fù)雜度的PCM 運算,表5給出了不同乘法深度下CCM 和PCM 運算的計算開銷對比。CCM 和PCM 運算的計算開銷均隨著乘法深度的增加而增加,乘法深度表示BGV 加密方案執(zhí)行連續(xù)乘法而不導(dǎo)致計算錯誤的次數(shù),與密文空間的模長呈正相關(guān)關(guān)系,這也意味著每條密文消息占用更長的比特位,執(zhí)行單次乘法需要的計算開銷越大。在同一乘法深度下,PCM 運算的計算開銷只有CCM 運算的10%左右,表明SFMP 協(xié)議可以很大程度上提高隱私保護神經(jīng)網(wǎng)絡(luò)的計算效率。

      表5 CCM和PCM運算的計算開銷對比Tab.5 Comparison of computational cost between CCM and PCM operations

      隱私保護神經(jīng)網(wǎng)絡(luò)訓練方案確保了數(shù)據(jù)和模型的隱私和安全性,但不可避免地降低了訓練效率。采用N1、N2 和N3 三種神經(jīng)網(wǎng)絡(luò)模型進行實驗,對一組小批量樣本執(zhí)行隱私保護訓練,HNN 方案與相關(guān)方案的計算開銷對比如表6所示。

      表6 不同方案的計算開銷對比Tab.6 Comparison of computational cost among different schemes

      基于雙服務(wù)器架構(gòu)的PPML 方案[15]采用CCM 運算執(zhí)行FC 層中特征與參數(shù)的同態(tài)密文乘法,而本文的HNN 方案采用SFMP 協(xié)議將CCM 運算轉(zhuǎn)換為PCM 運算,提高了FC 層的計算效 率,節(jié)省了 約94.7% 的訓練時間。FHESGD[23]和Glyph 方案[17]不僅采用CCM 運算執(zhí)行同態(tài)密文乘法,而且采用單服務(wù)器完成神經(jīng)網(wǎng)絡(luò)訓練過程,需要額外的“自啟動”操作來壓縮加密乘法噪聲,以確保同態(tài)計算的正確性。相比之下,HNN 方案犧牲少量通信開銷,令服務(wù)器S3對混淆明文消息執(zhí)行相應(yīng)的非線性算子,不僅可以實現(xiàn)精確的非線性計算,而且大大降低了單服務(wù)器密文的計算開銷。在N2 網(wǎng)絡(luò)中,HNN 方案對批量192 張樣本進行訓練,消耗的計算開銷遠遠低于FHESGD 方案[23]。類似在N3 網(wǎng)絡(luò)中,HNN 方案訓練單張樣本的計算開銷只有Glyph 方案[17]的2%。

      上述結(jié)果表明HNN 方案的訓練效率遠遠優(yōu)于PPML[15]、FHESGD[23]和Glyph[17]方案。此外,本文給出HNN 方案與上述方案的模型精度對比,如表7 所示。經(jīng)過5 輪迭代訓練,Glyph 方案[17]的模型精度最高,達到96.4%,而HNN 方案達到相同精度僅需要3 輪迭代,與PPML 方案的95%準確率相比提高1.4 個百分點。這是因為其他方案只能采用泰勒多項式近似計算非線性函數(shù),相較于明文環(huán)境下的神經(jīng)網(wǎng)絡(luò)訓練會產(chǎn)生一些計算誤差;而HNN 方案采用SRP、SREP 和SEP協(xié)議可以實現(xiàn)精確的非線性計算,因此可以更快地達到模型收斂效果。

      表7 不同方案的模型精度對比Tab.7 Comparison of model accuracy among different schemes

      為了觀察本文提出的HNN 方案與明文神經(jīng)網(wǎng)絡(luò)之間的訓練差異,采用N4 和N5 兩種神經(jīng)網(wǎng)絡(luò)模型,設(shè)置批量大小為192,執(zhí)行600 次批量迭代訓練,HNN 方案與明文神經(jīng)網(wǎng)絡(luò)的訓練模型精度曲線如圖3 所示。在N4 網(wǎng)絡(luò)中,HNN 方案的模型精度略低于明文神經(jīng)網(wǎng)絡(luò),這是由于HNN 方案將模型參數(shù)由浮點型轉(zhuǎn)換為整型產(chǎn)生的截斷誤差;但影響十分有限,在經(jīng)過約280 次批量迭代后,模型精度趨于一致。N5 網(wǎng)絡(luò)略復(fù)雜于N4 網(wǎng)絡(luò),在前160 次批量迭代中,HNN 方案的模型精度略高于明文神經(jīng)網(wǎng)絡(luò),參數(shù)截斷誤差類似于向訓練模型添加的噪聲,反而增強了模型的泛化能力;經(jīng)600 次批量迭代訓練后,HNN 方案的模型精度近似于明文神經(jīng)網(wǎng)絡(luò),可以達到96%。此外,HNN 方案的模型精度曲線的波動幅度明顯小于明文神經(jīng)網(wǎng)絡(luò),進一步驗證了HNN 方案具有較強的模型魯棒性。

      圖3 HNN方案與明文神經(jīng)網(wǎng)絡(luò)的模型精度對比Fig.3 Model accuracy comparison between HNN scheme and neural network in plaintext environment

      6 結(jié)語

      本文提出了一種三方服務(wù)器協(xié)作下支持隱私保護訓練的高效同態(tài)神經(jīng)網(wǎng)絡(luò)HNN 方案。針對現(xiàn)有方案計算效率較低的缺陷,設(shè)計了安全快速乘法協(xié)議將同態(tài)加密中的密文乘密文運算轉(zhuǎn)換為復(fù)雜度較低的明文乘密文運算,提高了隱私保護神經(jīng)網(wǎng)絡(luò)的訓練效率。為了解決多項式迭代近似計算非線性函數(shù)的計算誤差問題,提出了一種多服務(wù)器協(xié)作的安全非線性計算方法,實現(xiàn)了非線性函數(shù)的精確計算。理論和實驗結(jié)果均表明HNN 方案可以確保數(shù)據(jù)和模型的隱私性,訓練效率和訓練精度優(yōu)于現(xiàn)有方案。在未來工作中,將基于全同態(tài)加密方案深入研究卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)的隱私保護推理和訓練方案,并探索密態(tài)訓練方案移值于GPU設(shè)置下的可行性思路。

      猜你喜歡
      同態(tài)明文密文
      一種針對格基后量子密碼的能量側(cè)信道分析框架
      一種支持動態(tài)更新的可排名密文搜索方案
      基于模糊數(shù)學的通信網(wǎng)絡(luò)密文信息差錯恢復(fù)
      關(guān)于半模同態(tài)的分解*
      拉回和推出的若干注記
      奇怪的處罰
      一種基于LWE的同態(tài)加密方案
      HES:一種更小公鑰的同態(tài)加密算法
      奇怪的處罰
      翁牛特旗| 淮南市| 若尔盖县| 思茅市| 丰都县| 通许县| 福建省| 新绛县| 明光市| 乌兰察布市| 青田县| 若尔盖县| 宣恩县| 长武县| 吉木萨尔县| 兰西县| 盐城市| 钦州市| 城市| 绿春县| 肇庆市| 雷山县| 格尔木市| 岳阳市| 马山县| 三原县| 新邵县| 称多县| 徐汇区| 清原| 白玉县| 宝坻区| 文安县| 博野县| 五寨县| 江门市| 彭阳县| 镇江市| 富平县| 哈尔滨市| 宁强县|