本說明書實施例涉及數(shù)據(jù)處理,尤其涉及一種基于函數(shù)加密的模型推理方法、裝置及設(shè)備。
背景技術(shù):
1、目前,大數(shù)據(jù)扮演著越來越重要的角色。數(shù)據(jù)的分享與交易成為了當前技術(shù)和商業(yè)的一個熱點。由于數(shù)據(jù)與傳統(tǒng)商品相比有較大的差異,比如容易丟失,容易復制,需要保密等。因而,對交易的處理能力、交易過程的可追蹤性、交易數(shù)據(jù)的完整性以及可靠性都有更高的要求。對于數(shù)據(jù)收集能力有限企業(yè),數(shù)據(jù)交易將是一個互惠利工作可以促進公司的創(chuàng)新。而與其他傳統(tǒng)生產(chǎn)要素相比,數(shù)據(jù)的獨特性在于,一旦被使用或被看見,就會導致數(shù)據(jù)包含的信息被泄露。而且就能被無限地傳播或者復制,造成數(shù)據(jù)大量傳播,降低了數(shù)據(jù)的價值。數(shù)據(jù)的價值發(fā)揮和隱私保護成了一對矛盾。數(shù)據(jù)發(fā)揮價值時,就會導致數(shù)據(jù)的泄露。數(shù)據(jù)一旦被泄露傳播,數(shù)據(jù)源方就難以再次利用數(shù)據(jù)獲取價值,帶來十分不利的結(jié)果。同時,由于數(shù)據(jù)泄露難以追溯泄露源,泄露者和濫用者的責任就難以追究。加之部分機構(gòu)及企業(yè)的數(shù)據(jù)還涉及用戶的隱私,為了保護用戶隱私,更加限制了數(shù)據(jù)的流通和價值的發(fā)揮。雖然本領(lǐng)域提出了同態(tài)加密技術(shù),用于實現(xiàn)數(shù)據(jù)價值的挖掘和隱私保護的兼顧。但同態(tài)加密技術(shù)目前僅能夠?qū)崿F(xiàn)加法和乘法運算,應(yīng)用范圍十分有限。因而需要繼續(xù)研究隱私計算的技術(shù)。
2、現(xiàn)有的方案通常使用同態(tài)加密方案,但是這一方案存在以下幾個急需解決的隱私安全問題:首先數(shù)據(jù)方持有的隱私數(shù)據(jù)不能以明文的形式發(fā)送給用戶方,否則會違反相關(guān)數(shù)據(jù)隱私保護規(guī)定。其次,模型方持有的機器學習分類器不能以明文的形式發(fā)送給用戶方。因為機器學習模型是模型方的機密信息,如果直接將模型給到用戶方,可能會導致模型泄露。另外,數(shù)據(jù)方和模型方傾向于將數(shù)據(jù)或者模型經(jīng)過處理(以保證不泄露數(shù)據(jù)、模型)后交由用戶方進行使用,并不想?yún)⑴c后續(xù)的復雜的模型使用過程。
3、目前亟需一種基于函數(shù)加密的模型推理方法,能夠?qū)⒛P头降膶W習模型和數(shù)據(jù)方的數(shù)據(jù)分別進行加密并分別發(fā)送至用戶方,實現(xiàn)模型方和數(shù)據(jù)方都只需要提供密文以及密鑰,不需要參與執(zhí)行過程。
技術(shù)實現(xiàn)思路
1、為解決現(xiàn)有技術(shù)中同態(tài)加密方案中的安全性差和效率較低的問題,本說明書實施例提供了一種基于函數(shù)加密的模型推理方法、裝置及設(shè)備,實現(xiàn)了保證數(shù)據(jù)方或模型方不執(zhí)行解密操作,不會獲得分類結(jié)果,從而保證用戶方的信息安全;同時模型方和數(shù)據(jù)方只需生成密鑰,并不需要參與復雜的模型使用過程,計算量最大的計算分類結(jié)果的過程即由用戶方自己執(zhí)行,提高了函數(shù)加密的效率。
2、本說明書實施例的具體技術(shù)方案如下:
3、一方面,本說明書實施例提供了一種基于函數(shù)加密的模型推理方法,包括:
4、用戶方根據(jù)安全參數(shù)和分類集合配置公共參數(shù),根據(jù)所述公共參數(shù)生成主密鑰并發(fā)送至數(shù)據(jù)方和模型方;
5、所述模型方接收到所述用戶方發(fā)送的主密鑰后判斷用戶方的目標函數(shù),并根據(jù)所述主密鑰以及所述目標函數(shù)生成模型密鑰,將所述模型密鑰發(fā)送至用戶方;
6、所述數(shù)據(jù)方接收到所述用戶方發(fā)送的主密鑰后,判斷所述用戶方的需求,根據(jù)所述主密鑰以及所述需求生成密文,并發(fā)送至所述用戶方;
7、所述用戶方根據(jù)所述模型密鑰以及所述密文在所述分類集合中獲取分類結(jié)果。
8、進一步的,用戶方根據(jù)安全參數(shù)和分類集合配置公共參數(shù),進一步包括,
9、所述用戶方根據(jù)業(yè)務(wù)需求獲取安全參數(shù)以及分類集合s;
10、根據(jù)所述安全參數(shù)和分類集合s配置公共參數(shù)為:
11、pp=(g1,g2,gt,g1,g2,q,e,s),
12、其中,g1,g2,gt為循環(huán)群;g1,g2分別為循環(huán)群g1,g2的生成元;q為循環(huán)群g1,g2,gt的階;e為g1和g2中的元素映射為gt中的元素的雙線性映射,s為分類集合。
13、進一步的,根據(jù)所述公共參數(shù)生成主密鑰進一步包括,
14、根據(jù)所述公共參數(shù)配置生成主密鑰為,msk=(pp,b,b*),
15、其中,b為隨機選擇的n行n列的可逆矩陣b,其元素均屬于集合zq={0,1,2,…,q-1},b*=det(b)·(b-1)t,det(b)是矩陣b的行列式,b-1是矩陣b的逆矩陣,(b-1)t中的符號表示矩陣的轉(zhuǎn)置。
16、進一步的,判斷用戶方的目標函數(shù),并根據(jù)所述主密鑰以及所述目標函數(shù)生成模型密鑰進一步包括,
17、所述模型方接收到所述主密鑰msk=(pp,b,b*)后,根據(jù)主密鑰建立集合zq并選擇隨機元素α;
18、構(gòu)建學習模型計算中間值x’=x·b,且為n維向量;
19、基于所述學習模型計算所述模型密鑰
20、進一步的,判斷所述用戶方的需求,根據(jù)所述主密鑰以及所述需求生成密文進一步包括,
21、所述數(shù)據(jù)方在接收到所述主密鑰msk=(pp,b,b*)后,根據(jù)主密鑰建立集合zq并選擇隨機元素β;
22、構(gòu)建隱私數(shù)據(jù)計算中間值y’=y(tǒng)·b,且是一個n維向量;
23、根據(jù)所述隱私數(shù)據(jù)生成密文
24、進一步的,所述用戶方根據(jù)所述模型密鑰以及所述密文在所述分類集合中獲取分類結(jié)果進一步包括,
25、所述用戶方根據(jù)所述模型密鑰sk=(k1,k2)以及所述密文ct=(c1,c2)生成公式:
26、
27、找到使得(d1)s=d2成立的s∈s即為所述分類結(jié)果。
28、另一方面,本說明書實施例還提供了一種基于函數(shù)加密的模型推理裝置,所述裝置包括:
29、主密鑰生成單元,位于用戶方,用于根據(jù)安全參數(shù)和分類集合配置公共參數(shù),根據(jù)所述公共參數(shù)生成主密鑰并發(fā)送至數(shù)據(jù)方和模型方;
30、模型方單元,用于接收到所述用戶方發(fā)送的主密鑰后判斷用戶方的目標函數(shù),并根據(jù)所述主密鑰以及所述目標函數(shù)生成模型密鑰,將所述模型密鑰發(fā)送至用戶方;
31、數(shù)據(jù)方單元,用于接收到所述用戶方發(fā)送的主密鑰后,判斷所述用戶方的需求,根據(jù)所述主密鑰以及所述需求生成密文,并發(fā)送至所述用戶方;
32、分類結(jié)果生成單元,位于所述用戶方,用于根據(jù)所述模型密鑰以及所述密文在所述分類集合中獲取分類結(jié)果。
33、另一方面,本說明書實施例還提供了一種計算機設(shè)備,包括存儲器、處理器、以及存儲在存儲器上的計算機程序,處理器執(zhí)行所述計算機程序時實現(xiàn)上述的方法。
34、另一方面,本說明書實施例還提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述的方法。
35、最后,本說明書實施例還提供了一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述的方法。
36、利用本說明書實施例,提供一種通過函數(shù)加密實現(xiàn)了三方分別加密不需要隱私數(shù)據(jù)共享的模型推理方法,首先用戶方根據(jù)安全參數(shù)和分類集合配置公共參數(shù),根據(jù)所述公共參數(shù)生成主密鑰并發(fā)送至數(shù)據(jù)方和模型方;在模型方接收到用戶方發(fā)送的主密鑰后判斷用戶方的目標函數(shù),并根據(jù)主密鑰以及所述目標函數(shù)生成模型密鑰發(fā)送給用戶方;同時數(shù)據(jù)方接收到所述用戶方發(fā)送的主密鑰后,判斷所述用戶方的需求的數(shù)據(jù),通過所述主密鑰生成的算法加密所述數(shù)據(jù)生成密文,并發(fā)送至所述用戶方;最后,用戶方根據(jù)模型密鑰以及密文在分類集合中獲取分類結(jié)果。實現(xiàn)了保證數(shù)據(jù)方或模型方不執(zhí)行解密操作,不會獲得分類結(jié)果,從而保證用戶方的信息安全;同時模型方和數(shù)據(jù)方只需生成密鑰,并不需要參與復雜的模型使用過程,計算量最大的計算分類結(jié)果的過程即由用戶方自己執(zhí)行,提高了模型推理的效率。