本申請涉及信息安全,尤其涉及一種多方安全求交集方法、裝置、設備及存儲介質。
背景技術:
1、隨著用戶對數據隱私保護的重視,人們在享受各類依賴個人信息的業務的便利性的同時,對私有數據的保護意識和期望保護程度的需求也在提高。而很多私有數據的保護都涉及安全多方計算,隱私集合交集(private?set?intersection,psi)計算屬于安全多方計算的特定應用問題,不僅具有重要的理論意義也具有很強的應用價值。例如,在信貸黑名單查詢、承保黑名單查詢和信貸風控建模過程中,安全求交功能必不可少。
2、目前當有多個數據提供商共同提供黑名單,或風控建模時有多個數據提供商提供特征時,市面上的多方安全求交算法多為循環的兩兩求交以實現多方,這導致非總交集部分客戶隱私交集信息泄漏,沒法對商業機密,客戶隱私提供足夠的隱私保護,容易造成敏感數據的泄漏等惡劣影響。其次,由兩兩循環求交組成的多方安全求交集算法通常涉及大量數據和復雜的計算過程。在處理大規模數據時存在效率不足的問題,導致計算時間長或計算資源消耗過多。
3、因此,如何在保證數據隱私的情況下,高效地進行多方安全求交集是目前亟待解決的問題。
技術實現思路
1、本申請的主要目的在于提供一種多方安全求交集方法、裝置、設備及存儲介質,旨在保證多方數據求交集時的數據安全性和隱私性。
2、第一方面,本申請提供一種多方安全求交集方法,應用于求交集方,所述多方安全求交集方法包括以下步驟:
3、獲取所述求交集方的第一數據集和第一密鑰,并根據所述第一密鑰對所述第一數據集中的數據id進行加密,得到第一密文;
4、將所述第一密文發送給第一數據提供方,以使所述第一數據提供方基于所述第一密文對第二密文進行加密得到第三密文,所述第二密文為所述第一數據提供方基于第二數據集加密得到的;
5、獲取所述第三密文,并根據所述第三密文和所述第一密鑰對所述第一數據集進行數據交集預篩選,得到第一候選數據集;
6、獲取所述第一數據提供方發送的第二候選數據集,所述第二候選數據集為所述第一數據提供方與其他數據提供方的數據交集;
7、對所述第一候選數據集和所述第二候選數據集進行數據交集處理,得到所有數據方均存在的目標數據集。
8、第二方面,本申請提供一種多方安全求交集方法,應用于第一數據提供方,所述多方安全求交集方法包括以下步驟:
9、獲取所述第一數據提供方的第二數據集和第二密鑰,并根據所述第二密鑰對所述第二數據集中的數據id進行加密,得到第二密文;
10、獲取所述求交集方發送的第一密文,并根據所述第一密文和所述第二密文,確定第三密文;
11、將所述第三密文發送至所述求交集方,以使所述求交集方根據所述第三密文確定第一候選數據集;
12、創建第一布隆過濾器,并將所述第二密文輸入至所述第一布隆過濾器,得到第四密文,基于預設加法秘密分享規則對所述第四密文進行拆分,得到第五密文和第六密文,所述第五密文和所述第六密文按位與得到所述第四密文;
13、將所述第二密鑰和所述第六密文發送至第二數據提供方,以使所述第二數據提供方根據所述第二密鑰確定第七密文和第八密文,并根據所述第六密文和所述第八密文確定第三候選數據集;
14、獲取所述第二數據提供方發送的第七密文,并根據所述第五密文和所述第七密文確定第四候選數據集;
15、將所述第四候選數據集發送至所述求交集方,以使所述求交集方根據第一候選數據集、所述第三候選數據集和所述第四候選數據集,所有數據方均存在的目標數據集。
16、第三方面,本申請還提供一種多方安全求交集裝置,所述多方安全求交集裝置包括獲取模塊、生成模塊、篩選模塊、發送模塊和交集處理模塊,其中:
17、所述獲取模塊,用于獲取所述求交集方的第一數據集和第一密鑰;
18、所述生成模塊,用于根據所述第一密鑰對所述第一數據集中的數據id進行加密,得到第一密文;
19、所述發送模塊,用于將所述第一密文發送給第一數據提供方,以使所述第一數據提供方基于所述第一密文對第二密文進行加密得到第三密文,所述第二密文為所述第一數據提供方基于第二數據集加密得到的;
20、所述獲取模塊,還用于獲取所述第三密文;
21、所述生成模塊,用于根據所述第三密文和所述第一密鑰對所述第一數據集進行數據交集預篩選,得到第一候選數據集;
22、所述獲取模塊,還用于獲取所述第一數據提供方發送的第二候選數據集,所述第二候選數據集為所述第一數據提供方與其他數據提供方的數據交集;
23、所述交集處理模塊,用于對所述第一候選數據集和所述第二候選數據集進行數據交集處理,得到所有數據方均存在的目標數據集。
24、第四方面,本申請還提供一種計算機設備,所述計算機設備包括處理器、存儲器、以及存儲在所述存儲器上并可被所述處理器執行的計算機程序,其中所述計算機程序被所述處理器執行時,實現如上述的多方安全求交集方法的步驟。
25、第五方面,本申請還提供一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲有計算機程序,其中所述計算機程序被處理器執行時,實現如上述的多方安全求交集方法的步驟。
26、本申請提供一種多方安全求交集方法、裝置、設備及存儲介質,本申請獲取求交集方的第一數據集和第一密鑰,并根據第一密鑰對所述第一數據集中的數據id進行加密,得到第一密文;將第一密文發送給第一數據提供方,以使第一數據提供方基于第一密文對第二密文進行加密得到第三密文,第二密文為第一數據提供方基于第二數據集加密得到的;獲取第三密文,并根據第三密文和第一密鑰對第一數據集進行數據交集預篩選,得到第一候選數據集;獲取第一數據提供方發送的第二候選數據集,第二候選數據集為第一數據提供方與其他數據提供方的數據交集;對第一候選數據集和第二候選數據集進行數據交集處理,得到所有數據方均存在的目標數據集。本申請中求交集方通過將數據id的第一密文發送給第一數據提供方,第一數據提供方基于第一密文和其他數據提供方的數據,能夠準確地得到第二候選數據集,求交集方對第一候選數據集和第二候選數據集進行數據交集處理,得到所有數據方均存在的目標數據集,既保證了各個數據方的數據隱私性,又能得到多方的數據交集,極大地提高了數據交集的準確性和安全性。
1.一種多方安全求交集方法,其特征在于,應用于求交集方,所述方法包括:
2.如權利要求1所述的多方安全求交集方法,其特征在于,所述根據所述第三密文和所述第一密鑰對所述第一數據集進行數據交集預篩選,得到第一候選數據集,包括:
3.如權利要求1所述的多方安全求交集方法,其特征在于,所述對所述第一候選數據集和所述第二候選數據集進行數據交集處理,得到所有數據方均存在的目標數據集,包括:
4.如權利要求1所述的多方安全求交集方法,其特征在于,獲取所述求交集方的第一密鑰,包括:
5.如權利要求1所述的多方安全求交集方法,其特征在于,所述根據所述第一密鑰對所述第一數據集中的數據id進行加密,得到第一密文,包括:
6.一種多方安全求交集方法,其特征在于,應用于第一數據提供方,包括:
7.如權利要求6所述的多方安全求交集方法,其特征在于,所述根據所述第五密文和所述第七密文確定第四候選數據集,包括:
8.一種多方安全求交集裝置,其特征在于,所述多方安全求交集裝置包括獲取模塊、生成模塊、發送模塊和交集處理模塊,其中:
9.一種計算機設備,其特征在于,所述計算機設備包括處理器、存儲器、以及存儲在所述存儲器上并可被所述處理器執行的計算機程序,其中所述計算機程序被所述處理器執行時,實現如權利要求1至7中任一項所述的多方安全求交集方法的步驟。
10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質上存儲有計算機程序,其中所述計算機程序被處理器執行時,實現如權利要求1至7中任一項所述的多方安全求交集方法的步驟。