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

?

云計算環(huán)境下樸素貝葉斯安全分類外包方案研究

2020-07-14 02:50:04
計算機(jī)應(yīng)用與軟件 2020年7期
關(guān)鍵詞:擁有者同態(tài)樸素

陳 思

(南京理工大學(xué)信息化建設(shè)與管理處 江蘇 南京 210094)

0 引 言

人類、機(jī)器、物理世界三元的高度融合引發(fā)了數(shù)據(jù)規(guī)模的急速式增長和數(shù)據(jù)模式的高度復(fù)雜化,我們已進(jìn)入了大數(shù)據(jù)時代[1]。與此同時,在處理、分析海量數(shù)據(jù)方面表現(xiàn)良好的機(jī)器學(xué)習(xí)已經(jīng)成為人工智能領(lǐng)域中的一個重要分支。現(xiàn)機(jī)器學(xué)習(xí)算法主要包括分類、聚類算法,其中分類算法主要包括支持向量機(jī)(SVM)、樸素貝葉斯、決策樹等,甚至部分神經(jīng)網(wǎng)絡(luò)也能完成分類任務(wù)。在一個機(jī)器學(xué)習(xí)實例中,主要包括模型訓(xùn)練和模型使用兩個階段,模型訓(xùn)練即利用本地訓(xùn)練集完成模型初始化并進(jìn)行參數(shù)優(yōu)化,模型使用則是利用訓(xùn)練完成的模型,通過輸入特征向量得到分類預(yù)測結(jié)果。無論是機(jī)器學(xué)習(xí)模型訓(xùn)練還是模型使用都可以看作是一種特殊的計算,且伴隨著應(yīng)用場景的拓展及使用數(shù)據(jù)量的擴(kuò)大,這些計算的規(guī)模也會劇增,這對于一些本地資源受限的個人用戶來說,很難高質(zhì)量地獨立完成。為此我們需要借助云服務(wù)器的計算存儲能力,實現(xiàn)機(jī)器學(xué)習(xí)模型訓(xùn)練和模型使用的外包。

云計算是一種基于互聯(lián)網(wǎng)的計算方式,通過這種方式,共享的軟硬件資源和信息可以按需求提供給計算機(jī)和其他設(shè)備,云是網(wǎng)絡(luò)、互聯(lián)網(wǎng)的一種比喻說法[2]。外包計算是云計算中最重要的應(yīng)用之一,指的是一個計算能力有限的客戶將任務(wù)外包給云中的一個或者多個服務(wù)器[3]。這一基于云計算的應(yīng)用場景正好契合由大規(guī)模數(shù)據(jù)驅(qū)動的機(jī)器學(xué)習(xí)模型訓(xùn)練及預(yù)測任務(wù)。當(dāng)結(jié)合外包計算技術(shù)和機(jī)器學(xué)習(xí)實例時,我們常需要借助云服務(wù)器的計算存儲能力代替用戶的本地計算與存儲,而這一過程必須考慮數(shù)據(jù)安全性問題。第一,用于訓(xùn)練機(jī)器學(xué)習(xí)模型的訓(xùn)練數(shù)據(jù)常常包含其大量個人隱私信息,因此其持有者不希望將明文暴露給其他人;第二,基于云服務(wù)器的外包環(huán)境具有不確定性,在外包方案中常以半可信狀態(tài)假設(shè)(會推測敏感信息),即云服務(wù)器會正確執(zhí)行用戶預(yù)設(shè)的計算任務(wù),但其會想方設(shè)法推測用戶的隱私信息而不易被察覺。

在模型訓(xùn)練階段,主要考慮訓(xùn)練數(shù)據(jù)集的數(shù)據(jù)安全問題,例如以疾病預(yù)測為目標(biāo)的機(jī)器學(xué)習(xí)醫(yī)療系統(tǒng),常用的訓(xùn)練數(shù)據(jù)集是與病患直接關(guān)聯(lián)的診斷數(shù)據(jù),極有可能帶有大量的隱私信息,這類數(shù)據(jù)在訓(xùn)練外包過程中往往不能以明文的形式傳遞。在模型使用階段,用戶通常注重輸入實例及最終分類結(jié)果的隱私保護(hù),而對于提供分類服務(wù)的模型擁有者,由于高精度高魯棒性的模型常需要大量人力、物力進(jìn)行訓(xùn)練,因此執(zhí)行分類外包時模型的明文不能直接發(fā)布給遠(yuǎn)程服務(wù)器。如何在保證模型訓(xùn)練及模型使用可行的情況下完成關(guān)鍵數(shù)據(jù)隔離,是機(jī)器學(xué)習(xí)安全外包主要的研究內(nèi)容,也是亟需解決的關(guān)鍵問題。

為了解決這個問題,文獻(xiàn)[4]針對SVM、樸素貝葉斯和決策樹三種分類器的模型訓(xùn)練階段,通過與AdaBoost迭代算法結(jié)合,構(gòu)建弱分類器并最終組合的方式提出訓(xùn)練過程外包模型,但沒有考慮模型使用階段的應(yīng)對方法。文獻(xiàn)[5]針對支持向量機(jī)分類器模型訓(xùn)練及模型使用階段的安全問題設(shè)計了安全外包方案,但該方案不能很好地遷移到樸素貝葉斯分類外包方案中。文獻(xiàn)[6]利用差分隱私的思想解決多數(shù)據(jù)源情況下的樸素貝葉斯模型訓(xùn)練外包的場景,也沒有考慮模型使用階段的外包安全。文獻(xiàn)[7]針對樸素貝葉斯分類外包任務(wù),利用私有信息檢索技術(shù)及同態(tài)加密技術(shù)實現(xiàn)安全外包,但該方案時空開銷較大,不能很好地實際部署與應(yīng)用。

現(xiàn)如今大多數(shù)樸素貝葉斯外包方案多注重模型訓(xùn)練階段的安全外包,尚沒有人考慮模型預(yù)測階段的安全外包。本文首次針對樸素貝葉斯模型分類預(yù)測場景,設(shè)計實現(xiàn)了一套基于同態(tài)加密技術(shù)及盲化技術(shù)的樸素貝葉斯安全分類外包系統(tǒng),該系統(tǒng)借助云服務(wù)器高效計算存儲能力以及隨時在線提供分類預(yù)測服務(wù)的特性,實現(xiàn)了模型的高效、準(zhǔn)確分類外包。本文創(chuàng)新點如下:

(1) 允許模型擁有者在本地不限編程語言地訓(xùn)練樸素貝葉斯分類模型,將模型加密委托給半可信的云服務(wù)器后可以離線,之后的分類任務(wù)將不需要模型擁有者的參與;

(2) 首次針對樸素貝葉斯分類預(yù)測階段,利用同態(tài)加密方法及盲化性質(zhì)設(shè)計了樸素貝葉斯安全分類外包方案并基于Java編程語言實現(xiàn)了系統(tǒng)可視化;

(3) 允許用戶登陸安全外包系統(tǒng)與云服務(wù)器進(jìn)行交互并在確保隱私的情況下得到安全可靠的分類結(jié)果,且支持各類樸素貝葉斯分類實例。

1 樸素貝葉斯安全分類外包原理

1.1 樸素貝葉斯分類器及分類外包

樸素貝葉斯分類是分類預(yù)測樣本標(biāo)簽的有效算法,樸素貝葉斯分類器的思想原理很簡單:給出待分類樣本,求出該樣本屬于某個類別的后驗概率,哪個概率最大,就認(rèn)為此樣本屬于哪個類別。簡要描述樸素貝葉斯分類過程如下:

(1) 設(shè)特征向量x={x1,x2,…,xd}為一個待分類項,每一個xi代表x的一個特征屬性。

(2) 有類別y={y1,y2,…,yn}。

(3) 計算P(y1|x)、P(y2|x)、…、P(yn|x),即x屬于每個類的后驗概率。

(4) 若P(yk|x)=max{P(y1|x),…,P(yn|x)},就認(rèn)為x屬于第k類。

先驗概率:{P(Y=y1),P(Y=y2),…,P(Y=yn)},其中第i個元素表示x屬于yi類的概率。

類條件概率:{P(Xj=v|Y=yi)},它表示x屬于yi類時,x的第j個分量為v的概率,其中v屬于Xj的值域Sj,i∈[n],j∈[d]。

當(dāng)有其他用戶需要借助訓(xùn)練好的樸素貝葉斯模型進(jìn)行分類預(yù)測問題時,一方面,模型擁有者不希望直接暴露模型明文供其他人任意使用,另一方面,用戶不愿暴露自己待預(yù)測的特征向量以及最終分類結(jié)果。另外,模型擁有者也無法始終保持在線以及同時應(yīng)對大量用戶的預(yù)測任務(wù),因此我們考慮基于云計算環(huán)境實現(xiàn)樸素貝葉斯分類模型的分類預(yù)測外包任務(wù)。借助云服務(wù)器的計算存儲能力,將訓(xùn)練好的模型上傳至云服務(wù)器后模型擁有者可以離線,使用模型的大量用戶可以同時與云服務(wù)器交互,輸入其特征向量x,服務(wù)器結(jié)合模型W返回具體分類結(jié)果YW(x)。這一過程看似簡單,實際上需要考慮多方的數(shù)據(jù)安全。當(dāng)引入第三方云服務(wù)器代替模型擁有者參與計算時,外包方案需要保證上傳的模型以及用戶輸入的特征向量對云服務(wù)器不可見。這一過程中,我們選擇引入同態(tài)加密這一常用的密碼學(xué)方案,允許云服務(wù)器在密文條件下實現(xiàn)正確分類。

1.2 同態(tài)加密技術(shù)

同態(tài)加密使明文的計算能夠在相應(yīng)密文上執(zhí)行,且不暴露明文信息。一個非對稱同態(tài)加密方案AHε支持一般加法及數(shù)乘的密文操作。給定兩個使用了同一公鑰加密的消息AHε.Enc(a)和AHε.Enc(b),存在一個加法操作⊕使得AHε.Enc(a)⊕AHε.Enc(b)的結(jié)果解密就是明文a+b的結(jié)果。AHε.Enc(a)表示明文a加密的結(jié)果,c是一個固定的值,數(shù)乘AHε.Enc(ca)滿足以下等式:

AHε.Enc(a)⊙…⊙AHε.Enc(a)=AHε.Enc(a)c

由于效率問題,本文使用Paillier同態(tài)加密系統(tǒng),簡單介紹如下:

(1) 隨機(jī)選取兩個素數(shù)p和q,滿足gcd(pq,(p-1)(q-1))=1,gcd(·)求取最大公約數(shù)。

(2) 計算n=pq和λ=lcm(p-1,q-1),lcm(·)求取最小公倍數(shù)。

(4) 公鑰為(n,g),私鑰為(λ,u)。

(5) 加密:選擇一個隨機(jī)數(shù)r∈(0,n-1],密文即為c=gm·rnmodn2。

(6) 解密:計算m=L(cλmodn2)·umodn,驗證m

作為一種加密工具,同態(tài)加密是云計算外包領(lǐng)域最常使用的方法之一。一方面,其同態(tài)性質(zhì)允許我們針對不同的計算場景設(shè)計對應(yīng)的計算方案并確保計算結(jié)果的正確性;另一方面,在不知道解密密鑰的情況下,加密數(shù)據(jù)的安全性有嚴(yán)格的保障。本文系統(tǒng)通過引入兩套同態(tài)加密系統(tǒng)并結(jié)合其他的一些密碼學(xué)工具設(shè)計、實現(xiàn)了針對模型、特征向量以及分類結(jié)果安全性的保障,真正意義上實現(xiàn)了安全外包。

2 樸素貝葉斯安全分類外包方案

本文安全外包方案包含模型擁有者、遠(yuǎn)程服務(wù)器、用戶(模型使用者)三方實體,方案的整體結(jié)構(gòu)如圖1所示。

圖1 樸素貝葉斯安全分類外包方案總體結(jié)構(gòu)

2.1 用戶本地訓(xùn)練并加密上傳模型

由于Paillier加密系統(tǒng)只能對整數(shù)進(jìn)行操作,為了Paillier加密系統(tǒng)能對模型W進(jìn)行加密,我們通過乘以一個事先給定的大整數(shù)L的方式把浮點數(shù)表示的概率轉(zhuǎn)化為一個整數(shù)(向上取整),轉(zhuǎn)化得到的整數(shù)在ZN域中,即Paillier系統(tǒng)的明文空間。整個外包方案使用到兩套Paillier同態(tài)加密系統(tǒng),N1、N2分別是P1、P2的模數(shù),應(yīng)保證N1,公鑰pk1、pk2對外公布,私鑰sk1由模型擁有者持有且作為令牌傳輸給用戶,私鑰sk2由云服務(wù)器保管。

記xj的值域為Sj,其中xj為實例向量的第j個屬性。為了在樸素貝葉斯分類器模型W上使用Paillier加密,我們對提取出來的概率模型進(jìn)行預(yù)處理,每種概率的對數(shù)用整數(shù)表示。

對每一個i∈[n],第i個先驗概率為:

對每一個j∈[d],v∈[Sj],類條件概率表示為:

P(i,j,v)=|Llog(KP(Xj=v|Y=yi))|

2.2 用戶與服務(wù)器交互得到加密后驗概率

算法1加密后驗概率求取算法

用戶U輸入:特征向量x=(x1,x2,…,xd),私鑰sk1,公鑰pk1、pk2

遠(yuǎn)程服務(wù)器RS輸入:加密模型{E1(P(i))}和{E1(P(i,j,v))},私鑰sk2,公鑰pk1、pk2

輸出:{E2(Pi)}={E2(P(Y=yi,X=x))}

fori∈[n]:

RS:從ZN1上選擇盲化因子Oi,0

forj∈[d]:

RS:從ZN1上選擇盲化因子Oi,j

endfor

endfor

fori∈[n]:

RS:盲化E1(P′(i))=E1(P(i))⊕E1(Oi,0)

forj∈[d],v∈[Sj]:

RS:盲化E1(P′(i,j,v))=E1(P(i,j,v))⊕E1(Oi,j)

endfor

endfor

用pk2加密Oi-N1為E2(Oi-N1)

發(fā)送E1(P′(i))、E1(P′(i,j,xj))和E2(Oi-N1)給U

U:解密E1(P′(i))得到P′(i)

解密E1(P′(i,j,xj))得到P′(i,j,xj)

fori∈[n]:

endfor

輸出加密后驗概率{E2(Pi)}

2.3 密文后驗概率中求取最終分類結(jié)果

通過算法1我們已將樸素貝葉斯安全分類問題轉(zhuǎn)化為密文條件下的argmax問題,只需要與云服務(wù)器交互得到滿足argmax{E2{Pi}}的i即可。但在這一步驟中不能直接將E2{Pi}發(fā)送給服務(wù)器,需要保證擁有解密私鑰的遠(yuǎn)程服務(wù)器對最終分類結(jié)果不可見,因此我們將再次利用同態(tài)性質(zhì)及盲化技術(shù)實現(xiàn)安全雙方計算,具體流程如算法2所示。

算法2加密數(shù)據(jù)求取最大值算法

用戶U輸入:n個加密后驗概率{E2{Pi}},公鑰pk2

遠(yuǎn)程服務(wù)器RS輸入:私鑰sk2

輸出:i←arg max{E2{Pi}}U:在[n]上選擇一個隨機(jī)排列π(·)

將{E2{Pi}}按隨機(jī)排列順序存放(第i個元素放在π(·)中i所在的位置)

重排密文加入比較隊列

隊列長度k=n

While(k>1):

fori∈[k]:

從隊列中依次選取元素E2{Pk}和E2{Pk+1},在ZN2上隨機(jī)選擇一個整數(shù)r,計算

U將較大元素的密文原文加入新比較隊列,重新統(tǒng)計隊列長度

end for

當(dāng)比較隊列中只有一個元素時停止交互,得到該元素所在隨機(jī)排列中的初始數(shù)i

輸出:最終分類結(jié)果i

3 系統(tǒng)可視化仿真

本文采用面向?qū)ο蟮腏avaScript網(wǎng)絡(luò)腳本語言,內(nèi)嵌基于Java編程的具體算法,實現(xiàn)了樸素貝葉斯安全分類外包功能及可視化。為了仿真基于云服務(wù)器的外包計算環(huán)境,我們以多臺8 GB內(nèi)存的Lenovo y400筆記本及一臺64 GB內(nèi)存、Intel(R) Xeon(R) CPU E5-2640 2.60 GHz處理器Windows 8操作系統(tǒng)的Think Server服務(wù)器共同組成交互式外包分類環(huán)境,借助ThinkServer強(qiáng)大的計算存儲能力,實現(xiàn)了單服務(wù)器與多用戶的一對多訪問模式,允許模型擁有者本地訓(xùn)練并加密上傳樸素貝葉斯模型至服務(wù)器,同時允許多個用戶登錄系統(tǒng)同時加密訪問服務(wù)器使用模型完成分類。

本文系統(tǒng)主界面如圖2所示,用戶注冊登錄后可以查看使用已發(fā)布模型,模型擁有者在圖3模型發(fā)布界面可以添加模型描述,加密上傳模型。圖4展示了用戶使用模型得到分類預(yù)測結(jié)果的界面。為了證明本文外包方案適用于多種不同的樸素貝葉斯分類實例,我們選取了三類可使用樸素貝葉斯分類器進(jìn)行分類預(yù)測的數(shù)據(jù)集:(1) 鳶尾花數(shù)據(jù)集:通過花萼長度、花萼寬度、花瓣長度、花瓣寬度4個屬性預(yù)測花卉屬于3個種類中哪一類;(2) 紅酒數(shù)據(jù)集:根據(jù)紅酒的13種成分判斷其屬于3個種類中哪一類;(3) 巴赫和弦數(shù)據(jù)集:根據(jù)14個和弦屬性判斷其具體為巴赫哪一個作品。

圖2 系統(tǒng)主界面圖

圖3 模型上傳界面圖

圖4 分類結(jié)果顯示界面圖

本文利用十折交叉驗證法對三類數(shù)據(jù)集分別進(jìn)行分類預(yù)測統(tǒng)計,對比經(jīng)由密文安全外包分類及明文直接分類兩種方式的模型平均準(zhǔn)確率,比較結(jié)果如表1所示。可以看出,本文外包方案在確保模型隱私、用戶輸入向量及分類結(jié)果隱私的前提下并沒有損失過多模型分類準(zhǔn)確率(小于1%),且沒有影響模型的實用性。分析與明文下測試的模型準(zhǔn)確率的差距,主要來源于利用Paillier同態(tài)加密方法時,為確保加密成功需要有小數(shù)轉(zhuǎn)換為整數(shù)的放縮過程,這一過程中的精度損失可以通過調(diào)整大整數(shù)K的大小進(jìn)行控制。另外,本文系統(tǒng)允許模型擁有者上傳加密模型后離線,服務(wù)器的高吞吐量也極大提高了多用戶同時進(jìn)行分類預(yù)測的效率。

表1 模型準(zhǔn)確率對比

4 結(jié) 語

隨著云計算的快速發(fā)展,外包計算和機(jī)器分類學(xué)習(xí)的結(jié)合得到了廣泛的關(guān)注和應(yīng)用,現(xiàn)迫切需要設(shè)計和實現(xiàn)考慮用戶隱私及模型安全的外包分類系統(tǒng)。本文提出的樸素貝葉斯分類系統(tǒng)由分類器模型擁有者、遠(yuǎn)程服務(wù)器以及用戶組成,模型擁有者通過遠(yuǎn)程服務(wù)器為用戶提供分類服務(wù)。本文仿真實現(xiàn)了服務(wù)器和用戶的交互,得到了相應(yīng)的分類結(jié)果,并對該系統(tǒng)中各個實體所關(guān)心的隱私數(shù)據(jù)通過同態(tài)加密或盲化技術(shù)實現(xiàn)隔離。結(jié)果表明,本文系統(tǒng)在不影響模型分類準(zhǔn)確率的情況下實現(xiàn)了對分類器模型隱私性、用戶特征向量及分類結(jié)果隱私性的保護(hù)。

猜你喜歡
擁有者同態(tài)樸素
基于Stackelberg博弈的異步聯(lián)邦學(xué)習(xí)激勵機(jī)制設(shè)計
隔離樸素
美德倫理品質(zhì)有利于其擁有者
關(guān)于半模同態(tài)的分解*
拉回和推出的若干注記
樸素的安慰(組詩)
他是那樣“笨拙”和樸素——30多年后,我們?yōu)槭裁催€需要讀路遙?
最神奇最樸素的兩本書
一種基于LWE的同態(tài)加密方案
HES:一種更小公鑰的同態(tài)加密算法
同仁县| 嘉禾县| 中宁县| 尉犁县| 玛多县| 大新县| 依兰县| 通江县| 榆社县| 渝北区| 松江区| 阳春市| 施秉县| 镇宁| 象山县| 仪陇县| 全州县| 丹棱县| 韶山市| 鹰潭市| 绥棱县| 洛浦县| 尖扎县| 纳雍县| 施秉县| 仁寿县| 石楼县| 武宣县| 新河县| 丘北县| 武穴市| 华亭县| 衡南县| 吉隆县| 双辽市| 卫辉市| 色达县| 腾冲县| 西华县| 太康县| 永和县|