本發(fā)明涉及計(jì)算機(jī),尤其涉及一種基于隱私保護(hù)的數(shù)據(jù)獲取方法及裝置。
背景技術(shù):
1、a方持有數(shù)據(jù),b方持有邏輯回歸(logistic?regression,lr)模型、篩選規(guī)則,b方根據(jù)lr模型對a方的數(shù)據(jù)進(jìn)行分類,并在分類后的數(shù)據(jù)上根據(jù)篩選值篩選出數(shù)據(jù),進(jìn)而獲得這些數(shù)據(jù)。a方的數(shù)據(jù)是敏感數(shù)據(jù),不能全部暴露給b方,只能將符合具體數(shù)值的數(shù)據(jù)給b方。b方的lr模型、篩選值是商業(yè)機(jī)密,也不能暴露給a方。
2、目前沒有相關(guān)技術(shù)可以完全解決以下問題:
3、1.篩選數(shù)據(jù)的過程中,b方的lr模型和篩選值不能暴露給a方;
4、2.b只能獲得篩選出的數(shù)據(jù),不能獲得其他數(shù)據(jù);
5、3.a方不能獲知b篩選出了哪些數(shù)據(jù)并最終獲得了哪些數(shù)據(jù)。
6、針對上述技術(shù)問題,本發(fā)明提出一種基于隱私保護(hù)的數(shù)據(jù)獲取方法及裝置。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是針對現(xiàn)有技術(shù)的缺陷,提供了一種基于隱私保護(hù)的數(shù)據(jù)獲取方法及裝置。
2、為了實(shí)現(xiàn)以上目的,本發(fā)明采用以下技術(shù)方案:
3、一種基于隱私保護(hù)的數(shù)據(jù)獲取方法,包括:
4、s11.模型持有方對lr模型進(jìn)行隨機(jī)切片,并存儲經(jīng)過隨機(jī)切片后得到的第一數(shù)據(jù);
5、s12.模型持有方接收數(shù)據(jù)持有方發(fā)送的對數(shù)據(jù)庫經(jīng)過隨機(jī)切片后得到的第二數(shù)據(jù),模型持有方將第一數(shù)據(jù)與第二數(shù)據(jù)進(jìn)行計(jì)算,得到第一分類結(jié)果的切片數(shù)據(jù);
6、s13.模型持有方基于規(guī)則模型對第一分類結(jié)果的切片數(shù)據(jù)進(jìn)行處理,得到第一處理結(jié)果;
7、s14.模型持有方接收數(shù)據(jù)持有方發(fā)送的基于規(guī)則模型得到的第二處理結(jié)果,并對第一處理結(jié)果與第二處理結(jié)果進(jìn)行計(jì)算,得到第三處理結(jié)果;
8、s15.模型持有方將第三處理結(jié)果與規(guī)則模型中的規(guī)則符號進(jìn)行對比,若第三處理結(jié)果等于規(guī)則符號,則將第三處理結(jié)果對應(yīng)的id放入集合中;
9、s16.模型持有方接收數(shù)據(jù)持有方發(fā)送的對數(shù)據(jù)庫進(jìn)行編碼的編碼數(shù)據(jù)庫;
10、s17.模型持有方根據(jù)集合中的數(shù)據(jù),并基于隱匿查詢協(xié)議對編碼數(shù)據(jù)庫生成查詢值和查詢狀態(tài),并將查詢值和查詢狀態(tài)發(fā)送給數(shù)據(jù)持有方;
11、s18.模型持有方接收數(shù)據(jù)持有方根據(jù)查詢值和查詢狀態(tài)生成的響應(yīng)結(jié)果;
12、s19.模型持有方根據(jù)響應(yīng)結(jié)果獲取所需的數(shù)據(jù)。
13、進(jìn)一步的,所述步驟s11中具體為:
14、模型持有方對lr模型model1=(a1,a2,…,am)進(jìn)行隨機(jī)切片,得到隨機(jī)切片后的結(jié)果aj=[aj]0+[aj]1;模型持有方自身存儲[aj]1,發(fā)送[aj]0給數(shù)據(jù)持有方;其中,j∈1,2,…,m;model1表示lr模型;a1,a2,…,am表示模型的m個數(shù)據(jù);aj表示模型的第j個數(shù)據(jù)。
15、進(jìn)一步的,所述步驟s12中數(shù)據(jù)持有方發(fā)送的對數(shù)據(jù)庫經(jīng)過隨機(jī)切片后得到的第二數(shù)據(jù)具體為:
16、數(shù)據(jù)持有方對數(shù)據(jù)庫d=d1,d2,…,dn中的每一條數(shù)據(jù)di=(idi,fi1,fi2,…,fim)中的fi1,fi2,…,fim進(jìn)行隨機(jī)切片,得到隨機(jī)切片后的結(jié)果fij=[fij]0+[fij]1數(shù)據(jù)持有方自身存儲[fij]0,發(fā)送[fij]1給模型持有方;其中,i∈1,2,…,n,j∈1,2,…,m;d表示數(shù)據(jù)庫;d1,d2,…,dn表示數(shù)據(jù)庫中的n條數(shù)據(jù);di表示第i條數(shù)據(jù);idi表示第i條數(shù)據(jù)的id;fi1,fi2,…,fim表示第i條數(shù)據(jù)的m個內(nèi)容;fij表示第i條數(shù)據(jù)的第j個內(nèi)容。
17、進(jìn)一步的,所述步驟s12中模型持有方將第一數(shù)據(jù)與第二數(shù)據(jù)進(jìn)行計(jì)算,得到第一分類結(jié)果的切片數(shù)據(jù),具體為:
18、模型持有方根據(jù)每一條數(shù)據(jù)[fij]1以及l(fā)r模型的[aj]1計(jì)算第一分類結(jié)果的切片數(shù)據(jù),表示為:
19、
20、其中,表示隨機(jī)切片間的乘法運(yùn)算;[yi]1表示第一分類結(jié)果的切片數(shù)據(jù);[aj]1表示模型持有方自身存儲的lr模型隨機(jī)切片后的第一數(shù)據(jù);[fij]1表示數(shù)據(jù)持有方發(fā)送給模型持有方的對數(shù)據(jù)庫d隨機(jī)切片后的第二數(shù)據(jù)。
21、進(jìn)一步的,所述步驟s13具體為:
22、模型持有方基于規(guī)則模型獲取篩選內(nèi)容content1,并基于篩選內(nèi)容content1對第一分類結(jié)果的切片數(shù)據(jù)進(jìn)行處理,得到第一處理結(jié)果,表示為:
23、lts([fij]1,[value1]1)=ri1
24、其中,ri1表示第一處理結(jié)果;lts()表示lts算法;value1表示規(guī)則模型中的規(guī)則值。
25、進(jìn)一步的,所述步驟s14具體為:
26、數(shù)據(jù)持有方根據(jù)每一條數(shù)據(jù)[fij]0以及l(fā)r模型的[aj]0計(jì)算第二分類結(jié)果的切片數(shù)據(jù),表示為:
27、
28、其中,[yi]0表示第二分類結(jié)果的切片數(shù)據(jù);[aj]0表示模型持有方發(fā)送給數(shù)據(jù)持有方的lr模型隨機(jī)切片后的數(shù)據(jù);[fij]0表示數(shù)據(jù)持有方自身存儲的數(shù)據(jù);
29、模型持有方將規(guī)則值value1進(jìn)行隨機(jī)切片處理,表示為:
30、value1=[value1]0+[value1]1
31、模型持有方基于規(guī)則模型將篩選內(nèi)容content1、規(guī)則符號sign1、規(guī)則值[value1]0發(fā)送給數(shù)據(jù)持有方;
32、數(shù)據(jù)持有方根據(jù)篩選內(nèi)容content1對第二分類結(jié)果的切片數(shù)據(jù)進(jìn)行處理,得到第二處理結(jié)果,表示為:
33、lts([fij]0,[value1]0)=ri0
34、其中,ri0表示第二處理結(jié)果;
35、數(shù)據(jù)持有方對第一處理結(jié)果與第二處理結(jié)果進(jìn)行計(jì)算,表示為:
36、ri=ri0+ri1
37、其中,ri表示第三處理結(jié)果。
38、進(jìn)一步的,所述步驟s16中數(shù)據(jù)持有方發(fā)送的對數(shù)據(jù)庫進(jìn)行編碼的編碼數(shù)據(jù)庫,表示為:
39、ppd←pir.setup(1λ,d)
40、其中,ppd表示編碼后的數(shù)據(jù)庫;pir()表示隱匿查詢協(xié)議;setup()編碼;d表示數(shù)據(jù)庫;λ表示安全參數(shù)。
41、進(jìn)一步的,所述步驟s19中模型持有方根據(jù)響應(yīng)結(jié)果獲取所需的數(shù)據(jù),表示為:
42、步驟s19中模型持有方根據(jù)響應(yīng)結(jié)果獲取所需的數(shù)據(jù),表示為:
43、(q,st)←pir.query(ppd,id)
44、r←pir.respond(ppd,d,q)
45、d←pir.process(ppd,st,r)
46、其中,query表示查詢算法,它的輸入為編碼后的數(shù)據(jù)庫ppd和要查詢的數(shù)據(jù)的id,它的輸出為查詢q和查詢狀態(tài)st;responde表示響應(yīng)算法,它的輸入為編碼后的數(shù)據(jù)庫ppd、數(shù)據(jù)庫d以及查詢q,輸出為響應(yīng)結(jié)果r;process表示處理算法,它的輸入為編碼后的數(shù)據(jù)庫ppd、查詢狀態(tài)st,響應(yīng)結(jié)果r,它的輸出為所需的數(shù)據(jù)d。
47、相應(yīng)的,還提供一種隱私保護(hù)的數(shù)據(jù)獲取方法,包括:
48、s21.數(shù)據(jù)持有方對數(shù)據(jù)庫進(jìn)行隨機(jī)切片,并存儲經(jīng)過隨機(jī)切片后得到的第二數(shù)據(jù);
49、s22.數(shù)據(jù)持有方接收模型持有方發(fā)送的對lr模型經(jīng)過隨機(jī)切片后得到的第一數(shù)據(jù),數(shù)據(jù)持有方將第一數(shù)據(jù)與第二數(shù)據(jù)進(jìn)行計(jì)算,得到第二分類結(jié)果的切片數(shù)據(jù);
50、s23.數(shù)據(jù)持有方基于規(guī)則模型對第二分類結(jié)果的切片數(shù)據(jù)進(jìn)行處理,得到第二處理結(jié)果;
51、s24.數(shù)據(jù)持有方接收模型持有方發(fā)送的基于規(guī)則模型得到的第一處理結(jié)果,以及數(shù)據(jù)持有方接收模型持有根據(jù)第一處理結(jié)果與第二處理結(jié)果進(jìn)行計(jì)算得到的第三處理結(jié)果;
52、s25.數(shù)據(jù)持有方基于隱匿查詢協(xié)議對數(shù)據(jù)庫進(jìn)行編碼,得到編碼數(shù)據(jù)庫,并將編碼數(shù)據(jù)庫發(fā)送給模型持有方;
53、s26.數(shù)據(jù)持有方接收模型持有方根據(jù)第三處理結(jié)果以及編碼數(shù)據(jù)庫生成的查詢值和查詢狀態(tài);
54、s27.數(shù)據(jù)持有方根據(jù)查詢值和查詢狀態(tài)生成的響應(yīng)結(jié)果,并將相應(yīng)結(jié)果發(fā)送給模型持有方,模型持有方根據(jù)響應(yīng)結(jié)果獲取所需的數(shù)據(jù)。
55、相應(yīng)的,還提供一種基于隱私保護(hù)的數(shù)據(jù)獲取裝置,用于執(zhí)行所述的一種基于隱私保護(hù)的數(shù)據(jù)獲取方法,數(shù)據(jù)獲取裝置包括處理器,所述處理器內(nèi)設(shè)置有:
56、切片模塊,用于模型持有方對lr模型進(jìn)行隨機(jī)切片,并存儲經(jīng)過隨機(jī)切片后得到的第一數(shù)據(jù);
57、第一計(jì)算模塊,用于模型持有方接收數(shù)據(jù)持有方發(fā)送的對數(shù)據(jù)庫經(jīng)過隨機(jī)切片后得到的第二數(shù)據(jù),模型持有方將第一數(shù)據(jù)與第二數(shù)據(jù)進(jìn)行計(jì)算,得到第一分類結(jié)果的切片數(shù)據(jù);
58、處理模塊,用于模型持有方基于規(guī)則模型對第一分類結(jié)果的切片數(shù)據(jù)進(jìn)行處理,得到第一處理結(jié)果;
59、第二計(jì)算模塊,用于模型持有方接收數(shù)據(jù)持有方發(fā)送的基于規(guī)則模型得到的第二處理結(jié)果,并對第一處理結(jié)果與第二處理結(jié)果進(jìn)行計(jì)算,得到第三處理結(jié)果;
60、對比模塊,用于模型持有方將第三處理結(jié)果與規(guī)則模型中的規(guī)則符號進(jìn)行對比,若第三處理結(jié)果等于規(guī)則符號,則將第三處理結(jié)果對應(yīng)的id放入集合中;
61、編碼模塊,用于模型持有方接收數(shù)據(jù)持有方發(fā)送的對數(shù)據(jù)庫進(jìn)行編碼的編碼數(shù)據(jù)庫;
62、查詢模塊,用于模型持有方根據(jù)集合中的數(shù)據(jù),并基于隱匿查詢協(xié)議對編碼數(shù)據(jù)庫生成查詢值和查詢狀態(tài),并將查詢值和查詢狀態(tài)發(fā)送給數(shù)據(jù)持有方;
63、相應(yīng)模塊,用于模型持有方接收數(shù)據(jù)持有方根據(jù)查詢值和查詢狀態(tài)生成的響應(yīng)結(jié)果;
64、獲取模塊,用于模型持有方根據(jù)響應(yīng)結(jié)果獲取所需的數(shù)據(jù)。
65、與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
66、1、篩選數(shù)據(jù)的過程中,數(shù)據(jù)持有方是獲得分類模型model的隨機(jī)切片,而隨機(jī)切片是隨機(jī)值沒有任何意義,從而保護(hù)了模型持有方的分類模型的隱私性。在篩選模型中,數(shù)據(jù)持有方只獲得了篩選值的隨機(jī)切片,沒有獲得完整的隨機(jī)值,所以本方案也保護(hù)了隨機(jī)值。
67、2、篩選數(shù)據(jù)的過程中,模型持有方只獲得了篩選出來數(shù)據(jù)的id的集合s,以及所有數(shù)據(jù)的隨機(jī)切片,而隨機(jī)切片是一串隨機(jī)數(shù)沒有任何意義。在數(shù)據(jù)獲取階段,模型持有方只獲得了集合s中的id所對應(yīng)的數(shù)據(jù),即篩選出的數(shù)據(jù),沒有獲得其他數(shù)據(jù)。
68、3、集合s1,s2,…,sl始終是由模型持有方來維護(hù),數(shù)據(jù)持有方不知道集合的任何信息,從而保證了數(shù)據(jù)持有方不能獲知模型持有方篩選出了哪些數(shù)據(jù)。而隱匿查詢協(xié)議保證了數(shù)據(jù)持有方不能獲知模型持有方最終獲取了哪些數(shù)據(jù)。