• 
    

    
    

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

      一種處理隱私保護(hù)數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)*

      2019-06-10 06:43:58王啟正
      密碼學(xué)報 2019年2期
      關(guān)鍵詞:同態(tài)加密算法密文

      王啟正,高 玲

      山東師范大學(xué)信息科學(xué)與工程學(xué)院,濟(jì)南 250100

      1 引言

      1.1 研究背景

      云計算是近年來新興的一種新型計算模式,可以靈活配置多種計算環(huán)境,滿足用戶的計算需求.2011年,在IT 行業(yè)十大戰(zhàn)略技術(shù)報告中,Gartner 認(rèn)為云計算技術(shù)是十大戰(zhàn)略技術(shù)中最重要的技術(shù)[1].隨著云計算使用者數(shù)量的增長,出現(xiàn)的問題也變得尖銳,在Gartner 的調(diào)查報告中,87.5% 的用戶擔(dān)心安全問題.不管是以往發(fā)生過的泄密事件,還是剛剛發(fā)現(xiàn)的CPU 漏洞(Meltdown,Spectre),都讓人在使用這個工具的同時,為自己數(shù)據(jù)的安全擔(dān)心.

      對于用戶來說,數(shù)據(jù)保護(hù)顯得非常被動,雖然云計算安全一直在發(fā)展,但大多是策略層面的訪問控制,一旦云端的防護(hù)被攻破,用戶的數(shù)據(jù)將會直接暴露給攻擊者.但是如果存放的是使用傳統(tǒng)的加密方法加密的數(shù)據(jù),又無法滿足密態(tài)數(shù)據(jù)計算的要求.同態(tài)加密的特性恰好契合數(shù)據(jù)保密和運(yùn)算的需求.

      從Agrawal 和Srikant 提出隱私保護(hù)的數(shù)據(jù)挖掘技術(shù)[2](privacy-preserving data mining)以來,主流的機(jī)器學(xué)習(xí)技術(shù)都出現(xiàn)了隱私保護(hù)問題的解決方案,比如:決策樹[3]、神經(jīng)網(wǎng)絡(luò)[4]、支持向量機(jī)[5]等.

      隱私數(shù)據(jù)處理出于兩個層面的考慮,一是在不暴露自己數(shù)據(jù)給對方的前提下,獲得自己想要的計算結(jié)果;另一個是,在攻擊方攻破防護(hù),得到的數(shù)據(jù)或者中間數(shù)據(jù)依然是沒有意義的密文.

      本文中的隱私保護(hù)數(shù)據(jù)使用神經(jīng)網(wǎng)絡(luò)分類,可以描述為:兩個參與方Alice 和Bob,Alice 是數(shù)據(jù)持有方,Bob 是神經(jīng)網(wǎng)絡(luò)持有方.Alice 想要在不泄露自己信息的前提下,使用Bob 的神經(jīng)網(wǎng)絡(luò)來獲得自己想要的分類結(jié)果.在Alice 得到結(jié)果后,Bob 不知道Alice 的數(shù)據(jù),Alice 也不知道關(guān)于Bob 的神經(jīng)網(wǎng)絡(luò)的內(nèi)容.

      1.2 神經(jīng)網(wǎng)絡(luò)

      二十世紀(jì)八十年代以來,神經(jīng)網(wǎng)絡(luò)就成為人工智能領(lǐng)域研究的熱點(diǎn)之一.神經(jīng)網(wǎng)絡(luò)是一定程度上人腦神經(jīng)網(wǎng)絡(luò)的抽象,通過不同的權(quán)重、不同的網(wǎng)絡(luò)結(jié)構(gòu)、不同的激勵函數(shù)的組合,構(gòu)成一個數(shù)學(xué)模型,來對輸入數(shù)據(jù)與輸出數(shù)據(jù)形成一個線性或非線性的映射關(guān)系.一個訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)可以高效準(zhǔn)確地完成對輸入數(shù)據(jù)的分類和識別.一般來說,可以把神經(jīng)網(wǎng)絡(luò)分為前饋神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò).在前饋網(wǎng)絡(luò)中神經(jīng)網(wǎng)絡(luò)分為三層:輸入層、隱藏層和輸出層,信息僅從一個方向傳輸,從輸入層節(jié)點(diǎn),通過隱藏層節(jié)點(diǎn)傳輸?shù)捷敵鰧庸?jié)點(diǎn).前饋網(wǎng)絡(luò)因此沒有周期或循環(huán).19 世紀(jì)末,美國心理學(xué)家James 關(guān)于人腦與功能的研究打開了神經(jīng)網(wǎng)絡(luò)的大門.50年后,由McCulloch 和Pitts 創(chuàng)建的M-P 模型,開創(chuàng)了神經(jīng)網(wǎng)絡(luò)研究的新時代[6].神經(jīng)網(wǎng)絡(luò)整個發(fā)展歷史可以總結(jié)為啟蒙、低潮、復(fù)興和高潮,時至今日,神經(jīng)網(wǎng)絡(luò)仍處于發(fā)展的高峰期.經(jīng)典的神經(jīng)網(wǎng)絡(luò)有:BP 神經(jīng)網(wǎng)絡(luò)[7]、SOFM 神經(jīng)網(wǎng)絡(luò)[8]、玻爾茲曼機(jī)[9]等.

      1.3 本文主要做的工作與結(jié)構(gòu)

      本文使用同態(tài)加密(homomorphic encryption,HE)來構(gòu)造了一個可以對隱私保護(hù)數(shù)據(jù)進(jìn)行處理的神經(jīng)網(wǎng)絡(luò),設(shè)計了一個可以支持同態(tài)運(yùn)算屬性的激勵函數(shù).文章分6 節(jié):第1 節(jié)介紹神經(jīng)網(wǎng)絡(luò)處理隱私保護(hù)數(shù)據(jù)的研究背景,以及介紹本文所做的工作以及文章的結(jié)構(gòu).第2 節(jié)介紹使用的工具,第3 節(jié)構(gòu)造一種處理隱私保護(hù)數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò).第4 節(jié)提出一種基于茫然傳輸(obvious transfer)的解決方案,進(jìn)一步優(yōu)化神經(jīng)網(wǎng)絡(luò)的安全方面表現(xiàn),第5 節(jié)分析本文構(gòu)造的神經(jīng)網(wǎng)絡(luò)的速度上的表現(xiàn).第6 節(jié)總結(jié)全文.

      2 基礎(chǔ)知識

      2.1 同態(tài)加密算法

      同態(tài)加密(HE)是安全多方計算的常用技術(shù),是當(dāng)今網(wǎng)絡(luò)時代的熱門技術(shù)之一.同態(tài)加密可以有效減少數(shù)據(jù)持有方的數(shù)據(jù)在網(wǎng)絡(luò)環(huán)境中出現(xiàn)的次數(shù).設(shè)Encrypt 是加密算法,Decrypt 是解密算法,m是明文,f代表某個二元函數(shù),⊕代表某種代數(shù)運(yùn)算.傳統(tǒng)的加密算法中,Decrypt(f(Encrypt(m1),Encrypt(m2)))Decrypt(m1⊕m2),此時會面臨安全與計算能力的取舍.

      同態(tài)加密可以實(shí)現(xiàn)Decrypt(f(Encrypt(m1),Encrypt(m2)))=Decrypt(m1⊕m2),這就為密文在網(wǎng)絡(luò)中進(jìn)行復(fù)雜運(yùn)算提供了可能性.現(xiàn)在使用最多的是部分同態(tài)加密,根據(jù)滿足運(yùn)算的不同,分為加同態(tài)和乘同態(tài).比如Paillier 加密是加法同態(tài)[10],RSA 是乘法同態(tài)[11,12].如果加法和乘法都滿足則稱作全同態(tài)加密算法[13],全同態(tài)加密的概念已經(jīng)提出了很久,但直到2009年Gentry 才構(gòu)造出基于“格” 的全同態(tài)加密算法[14],但由于計算效率低,還無法大規(guī)模的應(yīng)用.

      同態(tài)加密是安全多方計算中重要的工具.在Li 等人提出的同態(tài)加密之前[15],不管是Paillier、RSA還是ElGamal,這些同態(tài)加密算法都是公鑰體系下的加密算法,加密解密的過程計算量很大,Li 等人設(shè)計出的對稱同態(tài)加密方案,跳脫出了公鑰加密體系,所以在時間表現(xiàn)上比傳統(tǒng)的非對稱同態(tài)加密方案好很多.

      2.1.1 Li的同態(tài)加密算法

      文獻(xiàn)[15]設(shè)計的加密算法是一種加同態(tài)、有限次乘同態(tài)的對稱加密算法,其同態(tài)特性表現(xiàn)為對密文進(jìn)行某種計算,解密后與明文進(jìn)行相應(yīng)的計算結(jié)果相同.這種加密算法是一種概率加密算法,對于同一明文,n次加密得到的結(jié)果均不相同,保證了密文的語義安全.這種加密算法的加密解密過程如下:

      密鑰生成:將密鑰生成算法記為KeyGen()

      密鑰生成算法KeyGen()是一個概率加密算法,它將安全參數(shù)λ作為輸入并輸出密鑰SK=(s,q)以及公共參數(shù)p.p和q都是大素數(shù),其中,p遠(yuǎn)大于q(p?q).q的比特長度取決于λ,s是中的一個隨機(jī)數(shù).

      加密算法:將加密算法記為E():

      加密算法E()是一種概率算法,它采用秘密密鑰SK,明文m∈Fq和參數(shù)d作為輸入,加密算法會得到一個密文c:

      參數(shù)d是一個可選的小整數(shù),我們稱作d為密文等級,將c稱作d等級的密文.r是一個正隨機(jī)數(shù),我們記|r| 為r的比特長度,|q| 和|p| 分別是q和p的比特長度,這三個參數(shù)需要滿足|r|+|q|<|p|,很顯然,r就是密文c的隨機(jī)元素,加密明文m的過程我們簡稱為E(m).

      解密算法:將解密算法記為D():

      解密算法D()是一個確定性算法,它將秘密密鑰SK,密文c∈Fq和密文的密文等級d作為輸入,該算法輸出明文m←D(SK,c,d).令s?d表示字段Fq中sd的乘法倒數(shù).下面證明解密算法的正確性:

      乘法同態(tài)性質(zhì)的說明:讓c1,c2作為明文m1,m2的密文,然后,我們有隨機(jī)因素r1、r2的式子c1=sd1(r1q+m1)modp和c2=sd2(r2q+m2)modp.如下所示,給出d1等級的密文c1和d2等級的密文c2,m1×m2的d1+d2等級的密文可以用一個模乘來計算.在密文中如果想通過解密得到m1×m2,必須滿足(r1r2q+r1m2+m1r2)q+m1×m2|m1|、|q|>|m2| 且|r1r2q|>|r1m2|+|m1r2|,所以我們只需保證|r1|+|r2|+2|q|+1<|p|.

      運(yùn)算過程如下:

      加法同態(tài)性質(zhì)的說明:讓c1,c2作為明文m1,m2的密文,由于modp的存在,m1+m2的結(jié)果是p群里的結(jié)果.如果d1=d2,則可以通過模加的運(yùn)算得到密文,其中必須滿足(r1+r2)q+m1+m2

      運(yùn)算過程如下:

      純量乘法同態(tài)性質(zhì)的說明:讓c1作為明文m1的密文,明文m2,為了正確解密c1×m2,必須滿足(r1m2q+m1m2)

      2.2 1-out-of-n茫然傳輸

      茫然傳輸最初由Rabin 在1981年提出[16],發(fā)展到今天已經(jīng)成為重要的基礎(chǔ)原語,并且被廣泛用于其他密碼學(xué)協(xié)議的構(gòu)造.茫然傳輸協(xié)議包含兩個參與方:R和S,其中S有n個值,R希望得到自己想要的值,但是不泄露自己的選擇信息,而S希望R只得到自己想要的信息,而不能得到S其他的信息,具體表述如下:

      輸入:S輸入若干個值,(x1,x2,···,xn)∈{0,1}n,R 輸入一個值i∈(1,2,···,n).

      輸出:R輸出xi.

      針對FOT1n構(gòu)造的協(xié)議必須滿足R 僅能得到xi而不泄露i.

      3 隱私保護(hù)的神經(jīng)網(wǎng)絡(luò)

      本節(jié)假設(shè)存在一個經(jīng)過訓(xùn)練的神經(jīng)網(wǎng)絡(luò),并根據(jù)這個神經(jīng)網(wǎng)絡(luò)構(gòu)造一個可以處理隱私保護(hù)數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò).然后針對激勵函數(shù)進(jìn)行進(jìn)一步的構(gòu)造,使其可以適應(yīng)隱私保護(hù)數(shù)據(jù)的計算.

      3.1 原始的神經(jīng)網(wǎng)絡(luò)

      Rumelhart 和McCelland 提出的多層前饋網(wǎng)絡(luò)的誤差反向傳播算法(error back propagation)是一個經(jīng)典的神經(jīng)網(wǎng)絡(luò)算法,簡稱為BP 算法[17].本文中以一個3 層BP 神經(jīng)網(wǎng)絡(luò)為例(輸入層,隱藏層,輸出層).文中的構(gòu)造方法是以一個訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)為例,所以我們假設(shè)算法持有方有一個已經(jīng)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò).神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示,左邊是輸入層,中間是多個隱藏層,右邊是輸出層.每個節(jié)點(diǎn)的值都是上一層若干個節(jié)點(diǎn)的值乘以相應(yīng)權(quán)重和激勵函數(shù)的映射后的值通過累加得到的.我們設(shè)節(jié)點(diǎn)的值為p,節(jié)點(diǎn)所在的層數(shù)為i,節(jié)點(diǎn)所在該層的位置為j,權(quán)重為w,w下標(biāo)代表連接的兩個節(jié)點(diǎn)的位置,例如w(i,j)(i+1,j+1)代表節(jié)點(diǎn)pi,j與節(jié)點(diǎn)pi+1,j+1連接的權(quán)重.我們設(shè)第i層有m個節(jié)點(diǎn).激勵函數(shù)為f(),則神經(jīng)網(wǎng)絡(luò)中節(jié)點(diǎn)之間的計算可以用下面的算式來表示:

      由于神經(jīng)網(wǎng)絡(luò)的連接結(jié)構(gòu)不同,可能上面會有缺項(xiàng).

      圖1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Figure 1 Neural network structure diagram

      3.2 神經(jīng)網(wǎng)絡(luò)的激勵函數(shù)

      一個神經(jīng)網(wǎng)絡(luò)如果沒有激勵函數(shù)(activation function)的話,在某些情景下,無法準(zhǔn)確的描述數(shù)據(jù)與類型之間的關(guān)系[18].人腦對刺激的反應(yīng)特點(diǎn)之一是人腦對刺激的反應(yīng)并不是與刺激的強(qiáng)度呈線性正相關(guān)[19].本文中的神經(jīng)網(wǎng)絡(luò)使用同態(tài)加密可以對隱私保護(hù)數(shù)據(jù)進(jìn)行分類,為了迎合同態(tài)計算,并考慮激勵函數(shù)的作用,設(shè)計了一個分段函數(shù)的激勵函數(shù),其中每一段函數(shù)都是線性的.

      該激勵函數(shù)有兩個特點(diǎn):一是可以將各個節(jié)點(diǎn)的值映射到(0,1)范圍內(nèi),二是通過控制k與b的值使得該節(jié)點(diǎn)對很高或很低的值的變化反應(yīng)不明顯,對中間范圍的值的變化反應(yīng)明顯.激勵函數(shù)圖像見圖2.

      圖2 激勵函數(shù)圖像Figure 2 Activation function image

      3.3 可對隱私保護(hù)數(shù)據(jù)分類的神經(jīng)網(wǎng)絡(luò)

      考慮到實(shí)際應(yīng)用的場景,我們提出了圖3 的結(jié)構(gòu).該結(jié)構(gòu)有3 個參與方:數(shù)據(jù)持有方,算法持有方和云.其中數(shù)據(jù)持有方不想向算法持有方和云端暴露自己的數(shù)據(jù),并且算法持有方不想向數(shù)據(jù)持有方暴露自己的神經(jīng)網(wǎng)絡(luò).

      圖3 隱私保護(hù)的神經(jīng)網(wǎng)絡(luò)協(xié)議結(jié)構(gòu)圖Figure 3 Neural network protocol structure diagram of privacy protection

      第一步,在3.2 節(jié)的激勵函數(shù)中,由于輸入算法的密文,無法直接和b相加,出于計算方便的考慮,算法持有方會把激勵函數(shù)參數(shù)b發(fā)送到數(shù)據(jù)持有方,生成密鑰SK(s,q,p)=KeyGen(λ),生成隨機(jī)數(shù)ri對參數(shù)b進(jìn)行加密然后發(fā)還給算法持有方:

      在數(shù)據(jù)持有方本地,對數(shù)據(jù)的矩陣[m1,m2,···,mi]進(jìn)行加密.如第2 節(jié)中描述的,在本地對數(shù)據(jù)矩陣進(jìn)行加密,使用第一步生成的密鑰SK 與選取的隨機(jī)數(shù)ri得到密文ci:

      在3.1 節(jié)中的算式可以看到,如果激勵函數(shù)使用3.2 節(jié)中我們構(gòu)造的算式,神經(jīng)網(wǎng)絡(luò)的算式全都是線性計算.

      云/服務(wù)器端得到加密的數(shù)據(jù)矩陣和神經(jīng)網(wǎng)絡(luò),含參數(shù)加密cbi的激勵函數(shù)記做f,我們設(shè)節(jié)點(diǎn)的值為pi,j,節(jié)點(diǎn)所在的層數(shù)為i,節(jié)點(diǎn)所在該層的位置為j,權(quán)重為w,w下標(biāo)代表連接的兩個節(jié)點(diǎn)的位置,例如w(i,j)(i+1,j+1)代表節(jié)點(diǎn)pi,j與節(jié)點(diǎn)pi+1,j+1連接的權(quán)重,k為激勵函數(shù)的斜率,k下標(biāo)代表連接的兩個節(jié)點(diǎn)的位置,例如k(i,j)(i+1,j+1)代表節(jié)點(diǎn)pi,j與節(jié)點(diǎn)pi+1,j+1之間的對應(yīng)k的值,b為激勵函數(shù)的截距,b下標(biāo)代表連接的兩個節(jié)點(diǎn)的位置,例如b(i,j)(i+1,j+1)代表節(jié)點(diǎn)pi,j與節(jié)點(diǎn)pi+1,j+1之間的對應(yīng)b的值.節(jié)點(diǎn)間計算如圖4 所示,

      我們設(shè)第i層有m個節(jié)點(diǎn),則神經(jīng)網(wǎng)絡(luò)中節(jié)點(diǎn)之間的運(yùn)算,在密態(tài)數(shù)據(jù)下可以寫做:

      圖4 節(jié)點(diǎn)間計算示意圖Figure 4 Computing schematic diagram among nodes

      正確性分析:文中的神經(jīng)網(wǎng)絡(luò)第2 層第j個節(jié)點(diǎn)接收輸入層的密文的加權(quán)數(shù)據(jù),經(jīng)過激勵函數(shù)f()的運(yùn)算,得到下個節(jié)點(diǎn)的值,解密后結(jié)果與明文做相應(yīng)運(yùn)算結(jié)果相同.現(xiàn)證明如下:

      設(shè)輸入數(shù)據(jù)為[m1,m2,···,mm],對應(yīng)的密文為[c1,c2,···,cm]:

      安全性分析:本文中構(gòu)造的神經(jīng)網(wǎng)絡(luò),可以實(shí)現(xiàn)數(shù)據(jù)的安全,并且神經(jīng)網(wǎng)絡(luò)不暴露給數(shù)據(jù)持有方.

      數(shù)據(jù)安全:數(shù)據(jù)持有方的數(shù)據(jù)使用文獻(xiàn)[13]的對稱同態(tài)加密算法,同態(tài)加密方案的安全性取決于求解非線性系統(tǒng)的難度.在本文使用的同態(tài)加密方案中,為了加密一個明文mi并獲得相應(yīng)的密文ci,我們需要使用兩個秘密參數(shù)q,s和一個隨機(jī)數(shù)ri.從已知的(mi,ci)對中,攻擊者需要求解三個未知數(shù)q,s,ri的非線性方程:

      我們認(rèn)為攻擊者具有多項(xiàng)式計算能力,這個方案是NP 難問題,所以我們認(rèn)為這個方案是安全的.

      算法安全:假設(shè)云/服務(wù)器端與數(shù)據(jù)持有方不合謀.算法持有方在方案中只會向數(shù)據(jù)持有方透露自己激勵函數(shù)的參數(shù)b.數(shù)據(jù)持有方在整個方案中,只知道自己的數(shù)據(jù)mi和神經(jīng)網(wǎng)絡(luò)激勵函數(shù)的參數(shù)b,算法持有方不會向數(shù)據(jù)持有方暴露自己的算法.

      4 不泄露數(shù)據(jù)范圍的處理隱私保護(hù)數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)

      第3 節(jié)構(gòu)造的神經(jīng)網(wǎng)絡(luò),雖然實(shí)現(xiàn)了對原數(shù)據(jù)的信息加密,但是在輸入層和第一層隱藏層之間的激勵函數(shù)處理數(shù)據(jù)的時候,神經(jīng)網(wǎng)絡(luò)會對數(shù)據(jù)進(jìn)行范圍判斷,如果攻擊者攻擊了云/服務(wù)器,就會泄露原數(shù)據(jù)的范圍.為了隱藏輸入數(shù)據(jù)的范圍,本文使用了1-out-of-n茫然傳輸協(xié)議.

      4.1 輸入數(shù)據(jù)范圍的隱藏

      出于隱藏數(shù)據(jù)范圍的考慮,我們設(shè)計了圖5 的協(xié)議,這個協(xié)議中有4 個參與方:數(shù)據(jù)持有方、算法持有方、云A 和云B.其中數(shù)據(jù)持有方不想讓算法持有方、云A 和云B 學(xué)習(xí)到關(guān)于自己數(shù)據(jù)的任何信息,包括數(shù)據(jù)的范圍,同時算法持有方不想將自己算法暴露給數(shù)據(jù)持有方.

      圖5 基于茫然傳輸?shù)碾[私保護(hù)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Figure 5 Schematic diagram of privacy protection neural network based on obvious transfer

      假設(shè)協(xié)議中任意兩方不合謀.Cloud A 將激勵函數(shù)發(fā)送到Cloud B,但并未告知Cloud B 激勵函數(shù)的分段范圍,而是將分段范圍告知了local,并與local 協(xié)商了分段范圍與標(biāo)記的對應(yīng)關(guān)系,local 將數(shù)據(jù)發(fā)往Cloud B,選擇某段函數(shù)進(jìn)行運(yùn)算,運(yùn)算結(jié)果發(fā)回Cloud A 進(jìn)行下一步運(yùn)算.整個方案Cloud B 僅得知了激勵函數(shù),由于不知道激勵函數(shù)的分段,也僅得到數(shù)據(jù)的密文,所以不知道local 數(shù)據(jù)的范圍;local 知道激勵函數(shù)的范圍,但是不知道激勵函數(shù)的算式,假設(shè)任意兩方不合謀,所以可以有效的實(shí)現(xiàn)local 數(shù)據(jù)持有方數(shù)據(jù)的隱藏,算法持有方算法不向數(shù)據(jù)持有方暴露.協(xié)議中各參與方的信息掌握情況如表1 所示.

      5 效率分析與比較

      5.1 與已存在的安全分類器比較

      實(shí)際應(yīng)用中,使用比較廣泛的是神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法和貝葉斯學(xué)習(xí)算法.Barni 在2006年構(gòu)造了一種隱私保護(hù)的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)協(xié)議[20],整個交互的過程涉及到數(shù)據(jù)提供方和神經(jīng)網(wǎng)絡(luò)提供方,雙方均不想暴露給對方自己的信息.但是數(shù)據(jù)提供方在得到返回數(shù)據(jù)時有可能得到算法提供方的激勵函數(shù).Barni 使用的Paillier 公鑰加密,隱私保護(hù)數(shù)據(jù)計算本就消耗巨大,公鑰加密進(jìn)一步提高了計算成本.Wan 等人為安全計算梯度下降方法提供了一個通用公式[21].作者討論了可用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)的垂直分區(qū)數(shù)據(jù)的多方協(xié)議.為確保隱私,目標(biāo)函數(shù)被定義為兩個函數(shù)的組合.因此,權(quán)重可以在本地進(jìn)行調(diào)整.這個方案只能應(yīng)用于結(jié)構(gòu)簡單的神經(jīng)網(wǎng)絡(luò)模型.Han[22]等人提出了一種隱私保護(hù)版本的自組織映射(self organizing maps,SOM).SOM 屬于無監(jiān)督學(xué)習(xí)技術(shù)的一類,并且被應(yīng)用于例如降維.作者提出了一個兩方協(xié)議來反復(fù)調(diào)整垂直分區(qū)數(shù)據(jù)的網(wǎng)絡(luò)權(quán)重.

      表1 協(xié)議中參與方信息掌握情況Table 1 Information of participants in agreement

      樸素貝葉斯分類法在某些數(shù)據(jù)的分類上,有著高準(zhǔn)確率和速度,貝葉斯分類是根據(jù)貝葉斯定理:

      隱私保護(hù)的樸素貝葉斯分類的核心問題是如何安全的計算P(X|Ci)×P(Ci),文獻(xiàn)[23]中,解決辦法是將這個乘問題,以取自然對數(shù)的形式轉(zhuǎn)換為加問題,即:

      由貝葉斯定理可知,樸素貝葉斯分類法的前提是對象的屬性值對類別的影響?yīng)毩⒂谄渌麑傩灾?并且不同的屬性值對類別的影響程度也是一樣,在處理實(shí)際數(shù)據(jù)的時候這一條件過于苛刻,所以實(shí)際應(yīng)用中大部分場景效果并不理想.

      本文的神經(jīng)網(wǎng)絡(luò)在加入1-out-of-n茫然傳輸協(xié)議后,只會向數(shù)據(jù)持有方暴露激勵函數(shù)的一個參數(shù);并且使用的對稱同態(tài)加密,一定程度上降低了計算成本.本文的神經(jīng)網(wǎng)絡(luò)是利用同態(tài)性質(zhì)對已存在神經(jīng)網(wǎng)絡(luò)進(jìn)行的重新構(gòu)造,理論上可以適應(yīng)所有的神經(jīng)網(wǎng)絡(luò),所以適用的場景會更廣一些.

      5.2 復(fù)雜度分析

      在前面提到,處理隱私保護(hù)數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)處理的數(shù)據(jù)是同態(tài)加密算法,最終數(shù)據(jù)持有方得到云/服務(wù)器端發(fā)回的密態(tài)結(jié)果,在本地進(jìn)行解密得到分類結(jié)果.第2 節(jié)中提到的同態(tài)加密算法是一種線性時間復(fù)雜度O(n)的加密算法,設(shè)神經(jīng)網(wǎng)絡(luò)第一層為n1,第二層為n2,第i層為ni,神經(jīng)網(wǎng)絡(luò)處理一個數(shù)據(jù)的時間復(fù)雜度為O(n1×n2+n2×n3+···+ni?1×ni)=O((i?1)n2),處理m個樣本的時間復(fù)雜復(fù)雜度為O(m(i?1)n2),則整體的總時間復(fù)雜度為O(m(i?1)n2+mn)=O(m(i?1)n2).因?yàn)樗惴ㄟx取的都是大數(shù),運(yùn)算需要使用大數(shù)運(yùn)算函數(shù),并且密文不能與小數(shù)直接做運(yùn)算,不管是使用小數(shù)整數(shù)分離計算的方式,還是參數(shù)擴(kuò)大的方式來消除小數(shù)部分,都會帶來額外的開銷,所以實(shí)際的時間消耗比時間復(fù)雜度會大一些.

      6 總結(jié)與展望

      隱私保護(hù)數(shù)據(jù)的分類是云計算發(fā)展和人們對信息保密性逐漸重視應(yīng)運(yùn)而生的產(chǎn)物,目的是對數(shù)據(jù)進(jìn)行分類和預(yù)測的時候數(shù)據(jù)持有方不暴露給攻擊者和算法持有方自己的原始數(shù)據(jù),算法持有方也不暴露自己完整的分類器,利用安全多方計算對隱私保護(hù)數(shù)據(jù)進(jìn)行分類和預(yù)測是主要思路之一.

      本文基于同態(tài)加密構(gòu)造了一種處理隱私保護(hù)數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò),設(shè)計了一種適用于本文神經(jīng)網(wǎng)絡(luò)的線性分段激勵函數(shù),并且進(jìn)行了正確性、安全性和時間復(fù)雜度的分析.為了解決使用分段激勵函數(shù)會暴露數(shù)據(jù)范圍的問題,構(gòu)造了一種使用1-out-of-n茫然傳輸協(xié)議的隱私保護(hù)神經(jīng)網(wǎng)絡(luò).

      機(jī)器學(xué)習(xí)算法如何處理隱私保護(hù)數(shù)據(jù),是一個具有現(xiàn)實(shí)研究意義的問題,雖然現(xiàn)在已有一些機(jī)器學(xué)習(xí)的安全計算協(xié)議,但是其安全性和復(fù)雜度仍有很大的提升空間,未來面對大型數(shù)據(jù)和更深層的神經(jīng)網(wǎng)絡(luò),復(fù)雜度問題仍然是一個核心待解決的問題.

      猜你喜歡
      同態(tài)加密算法密文
      一種針對格基后量子密碼的能量側(cè)信道分析框架
      一種支持動態(tài)更新的可排名密文搜索方案
      基于模糊數(shù)學(xué)的通信網(wǎng)絡(luò)密文信息差錯恢復(fù)
      關(guān)于半模同態(tài)的分解*
      拉回和推出的若干注記
      一種基于LWE的同態(tài)加密方案
      HES:一種更小公鑰的同態(tài)加密算法
      基于小波變換和混沌映射的圖像加密算法
      云存儲中支持詞頻和用戶喜好的密文模糊檢索
      Hill加密算法的改進(jìn)
      永康市| 东莞市| 乌兰察布市| 安乡县| 浪卡子县| 阿坝县| 东海县| 玉山县| 平江县| 东城区| 师宗县| 南雄市| 盐源县| 涞水县| 诸城市| 浮梁县| 东明县| 广昌县| 拉萨市| 泸定县| 河池市| 金川县| 延吉市| 顺平县| 澎湖县| 洪湖市| 上虞市| 新晃| 错那县| 新化县| 吴江市| 德钦县| 界首市| 离岛区| 桑日县| 沙田区| 新民市| 海晏县| 鱼台县| 徐水县| 大城县|