999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種處理隱私保護數據的神經網絡*

2019-06-10 06:43:58王啟正
密碼學報 2019年2期

王啟正,高 玲

山東師范大學信息科學與工程學院,濟南 250100

1 引言

1.1 研究背景

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

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

從Agrawal 和Srikant 提出隱私保護的數據挖掘技術[2](privacy-preserving data mining)以來,主流的機器學習技術都出現了隱私保護問題的解決方案,比如:決策樹[3]、神經網絡[4]、支持向量機[5]等.

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

本文中的隱私保護數據使用神經網絡分類,可以描述為:兩個參與方Alice 和Bob,Alice 是數據持有方,Bob 是神經網絡持有方.Alice 想要在不泄露自己信息的前提下,使用Bob 的神經網絡來獲得自己想要的分類結果.在Alice 得到結果后,Bob 不知道Alice 的數據,Alice 也不知道關于Bob 的神經網絡的內容.

1.2 神經網絡

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

1.3 本文主要做的工作與結構

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

2 基礎知識

2.1 同態加密算法

同態加密(HE)是安全多方計算的常用技術,是當今網絡時代的熱門技術之一.同態加密可以有效減少數據持有方的數據在網絡環境中出現的次數.設Encrypt 是加密算法,Decrypt 是解密算法,m是明文,f代表某個二元函數,⊕代表某種代數運算.傳統的加密算法中,Decrypt(f(Encrypt(m1),Encrypt(m2)))Decrypt(m1⊕m2),此時會面臨安全與計算能力的取舍.

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

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

2.1.1 Li的同態加密算法

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

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

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

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

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

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

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

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

乘法同態性質的說明:讓c1,c2作為明文m1,m2的密文,然后,我們有隨機因素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|.

運算過程如下:

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

運算過程如下:

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

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

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

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

輸出:R輸出xi.

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

3 隱私保護的神經網絡

本節假設存在一個經過訓練的神經網絡,并根據這個神經網絡構造一個可以處理隱私保護數據的神經網絡.然后針對激勵函數進行進一步的構造,使其可以適應隱私保護數據的計算.

3.1 原始的神經網絡

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

由于神經網絡的連接結構不同,可能上面會有缺項.

圖1 神經網絡結構圖Figure 1 Neural network structure diagram

3.2 神經網絡的激勵函數

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

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

圖2 激勵函數圖像Figure 2 Activation function image

3.3 可對隱私保護數據分類的神經網絡

考慮到實際應用的場景,我們提出了圖3 的結構.該結構有3 個參與方:數據持有方,算法持有方和云.其中數據持有方不想向算法持有方和云端暴露自己的數據,并且算法持有方不想向數據持有方暴露自己的神經網絡.

圖3 隱私保護的神經網絡協議結構圖Figure 3 Neural network protocol structure diagram of privacy protection

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

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

在3.1 節中的算式可以看到,如果激勵函數使用3.2 節中我們構造的算式,神經網絡的算式全都是線性計算.

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

我們設第i層有m個節點,則神經網絡中節點之間的運算,在密態數據下可以寫做:

圖4 節點間計算示意圖Figure 4 Computing schematic diagram among nodes

正確性分析:文中的神經網絡第2 層第j個節點接收輸入層的密文的加權數據,經過激勵函數f()的運算,得到下個節點的值,解密后結果與明文做相應運算結果相同.現證明如下:

設輸入數據為[m1,m2,···,mm],對應的密文為[c1,c2,···,cm]:

安全性分析:本文中構造的神經網絡,可以實現數據的安全,并且神經網絡不暴露給數據持有方.

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

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

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

4 不泄露數據范圍的處理隱私保護數據的神經網絡

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

4.1 輸入數據范圍的隱藏

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

圖5 基于茫然傳輸的隱私保護神經網絡結構圖Figure 5 Schematic diagram of privacy protection neural network based on obvious transfer

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

5 效率分析與比較

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

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

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

樸素貝葉斯分類法在某些數據的分類上,有著高準確率和速度,貝葉斯分類是根據貝葉斯定理:

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

由貝葉斯定理可知,樸素貝葉斯分類法的前提是對象的屬性值對類別的影響獨立于其他屬性值,并且不同的屬性值對類別的影響程度也是一樣,在處理實際數據的時候這一條件過于苛刻,所以實際應用中大部分場景效果并不理想.

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

5.2 復雜度分析

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

6 總結與展望

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

本文基于同態加密構造了一種處理隱私保護數據的神經網絡,設計了一種適用于本文神經網絡的線性分段激勵函數,并且進行了正確性、安全性和時間復雜度的分析.為了解決使用分段激勵函數會暴露數據范圍的問題,構造了一種使用1-out-of-n茫然傳輸協議的隱私保護神經網絡.

機器學習算法如何處理隱私保護數據,是一個具有現實研究意義的問題,雖然現在已有一些機器學習的安全計算協議,但是其安全性和復雜度仍有很大的提升空間,未來面對大型數據和更深層的神經網絡,復雜度問題仍然是一個核心待解決的問題.

主站蜘蛛池模板: 国产成人高清亚洲一区久久| 亚洲成综合人影院在院播放| 久久人体视频| 精品国产Ⅴ无码大片在线观看81| 国产91av在线| 中文字幕2区| 亚洲一区二区三区在线视频| 欧美日韩一区二区三区在线视频| 久热精品免费| 日韩大乳视频中文字幕| 91香蕉视频下载网站| 天堂成人在线视频| 国产黄色片在线看| 国产丝袜91| 亚洲色图在线观看| 91无码人妻精品一区| 国产色网站| 伊人久久大香线蕉成人综合网| 国产成人亚洲毛片| 国产精品永久在线| 一本色道久久88| 人妻少妇久久久久久97人妻| 亚洲精品片911| 国产精品 欧美激情 在线播放| 亚洲乱伦视频| 日韩AV手机在线观看蜜芽| 欧美在线黄| 亚洲欧洲日产国码无码av喷潮| 久久99国产视频| 色综合天天综合中文网| 国产成熟女人性满足视频| 国产精品欧美日本韩免费一区二区三区不卡| 国产成人免费视频精品一区二区 | 麻豆精选在线| 成人精品区| 久久中文字幕2021精品| 国产精品久久精品| 99热这里都是国产精品| 丁香五月激情图片| 亚洲高清无码精品| 精品人妻一区二区三区蜜桃AⅤ| 国产一级毛片网站| 成人免费视频一区| 亚洲AV色香蕉一区二区| 毛片免费在线视频| 精品少妇人妻av无码久久| 国产亚洲高清在线精品99| 狼友视频一区二区三区| 无遮挡国产高潮视频免费观看| 国产精品xxx| 欧美综合一区二区三区| 麻豆a级片| 久久性妇女精品免费| 国产亚洲精品自在线| 久久大香伊蕉在人线观看热2| 自拍亚洲欧美精品| 97国产在线播放| 无码人妻免费| 欧美一级高清免费a| 精品福利网| 精品国产亚洲人成在线| 91麻豆精品视频| 蝌蚪国产精品视频第一页| 日本午夜在线视频| 久久一级电影| 欧美激情视频在线观看一区| 国产精品9| 国产一线在线| 五月婷婷综合网| 亚洲国产日韩欧美在线| 国产在线精彩视频二区| 黄片在线永久| 久热精品免费| 日韩黄色在线| 亚洲高清中文字幕在线看不卡| 99青青青精品视频在线| 欲色天天综合网| 日韩国产一区二区三区无码| 国产精品一线天| 中文字幕1区2区| 玖玖精品在线| 国产迷奸在线看|