CN116647567A - 隐私保护集合求交方法和装置 - Google Patents

隐私保护集合求交方法和装置 Download PDF

Info

Publication number
CN116647567A
CN116647567A CN202310421245.0A CN202310421245A CN116647567A CN 116647567 A CN116647567 A CN 116647567A CN 202310421245 A CN202310421245 A CN 202310421245A CN 116647567 A CN116647567 A CN 116647567A
Authority
CN
China
Prior art keywords
data
intersection
ciphertext
user identification
identification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310421245.0A
Other languages
English (en)
Inventor
祺远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lingyang Intelligent Technology Co ltd
Original Assignee
Lingyang Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lingyang Intelligent Technology Co ltd filed Critical Lingyang Intelligent Technology Co ltd
Priority to CN202310421245.0A priority Critical patent/CN116647567A/zh
Publication of CN116647567A publication Critical patent/CN116647567A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Virology (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了隐私保护集合求交方法和装置。所述方法包括:第一计算中心根据第一数据,对第一数据集合进行数据分桶,并将桶划分为多个数据子片;第二计算中心根据第二数据,对第二数据集合进行数据分桶;第一计算中心向第二计算中心提供与多个数据子片对应的多个第一数据密文文件;第二计算中心对第二数据集合的多个桶内的数据集与第一数据集合的对应桶内的第一数据密文文件的数据集进行求交计算,得到第一数据的求交结果密文;第一计算中心解密获得求交结果明文。采用这种处理方式,使得将一次大数据量的集中求交计算转化为分布式并行执行多个桶的小数据量的求交计算,并减少求交数据量,因此,可以有效提升大数据量场景的非平衡PSI性能。

Description

隐私保护集合求交方法和装置
技术领域
本申请涉及隐私计算技术领域,具体涉及隐私保护集合求交方法和装置,以及电子设备,信息推送系统,隐私保护联系人发现系统,恶意软件检测系统。
背景技术
随着多行业数字化转型加速,数据的价值正在被越来越多的企业广泛认知,加强数据资源整合可实现产业间高效协同,帮助行业、机构实现数据价值的共享与协作。
数据在共享计算时,会产生隐私信息、商业数据价值泄漏风险,需要隐私计算(Privacy-Enhancing Computation)实现数据安全的流通。一种常用的隐私计算是隐私保护集合求交(Private Set Intersection,PSI),PSI包括平衡PSI和非平衡PSI(UnbalancePrivacy-Enhancing Computation,UPSI),其中非平衡PSI用于两方数据量悬殊的场景。
然而,在实现本发明过程中,发明人发现上述技术方案至少存在如下问题:非平衡PSI只支持百万数据量的计算,不支持十亿甚至更大的数据量计算,无法面向诸如百万对十亿数据量的非平衡PSI真实使用场景。
发明内容
本申请提供隐私保护集合求交方法,以解决现有技术存在的无法支持接收方在十万甚至百万级数据量、发送方在十亿甚至更大的数据量的隐私保护集合求交的问题。本申请另外提供隐私保护集合求交装置,以及电子设备,信息推送系统,隐私保护联系人发现系统,恶意软件检测系统。
本申请提供一种隐私保护集合求交方法,包括:
第一计算中心获取第一数据集合;
根据第一数据,将所述第一数据集合划分为多个桶;
将所述桶划分为多个数据子片;
向第二计算中心提供与所述多个数据子片对应的多个第一数据密文文件;
接收所述第二计算中心提供的所述第一数据的求交结果密文;所述求交结果密文是对所述文件内的第一数据密文子集和所述第二计算中心的对应桶内的第二数据子集进行求交计算获得的,所述第二计算中心是对第二数据集合划分的多个桶与对应的所述文件求交;
对所述第一数据的求交结果密文进行解密,以获得所述第一数据的求交结果明文。
可选的,所述第二计算中心是对第二数据集合划分的多个桶并行与对应的所述文件求交。
可选的,所述获取第一数据集合,包括:从数据源并行获取所述第一数据集合的多个数据切片。
可选的,所述根据第一数据,将所述第一数据集合划分为多个桶,包括:根据第一数据,并行将所述数据切片内的第一数据分配到对应桶。
可选的,还包括:对所述多个桶的第一数据进行并行加密。
可选的,所述将所述桶划分为多个数据子片,包括:将所述多个桶并行划分为多个数据子片。
可选的,还包括:确定桶和进程之间的对应关系。
可选的,还包括:在进程内开启多个线程;确定所述进程内的桶和线程之间的对应关系;根据所述桶和线程之间的对应关系,通过多个线程对所述进程内的多个桶的第一数据进行并行加密。
可选的,所述向第二计算中心提供与所述多个数据子片对应的多个第一数据密文文件,包括:向第二计算中心并行传输所述多个第一数据密文文件。
可选的,还包括以下至少一个步骤:根据所述第一数据集合的数据量和所述第一计算中心的可用资源量,确定进程数;根据非平衡PSI算法,确定桶数据阈值;根据所述第一数据集合的数据量和桶数据阈值,确定桶数量;根据所述第一数据集合的数据量和进程数,确定数据切片的数据量阈值;根据非平衡PSI算法,确定数据子片的数据量阈值。
本申请还提供一种隐私保护集合求交方法,包括:
第二计算中心获取第二数据集合;
根据第二数据,将所述第二数据集合划分为多个桶;
接收第一计算中心提供的多个第一数据密文文件,所述第一数据密文文件包括多个第一数据密文,所述多个第一数据密文文件与多个数据子片对应,所述多个数据子片是对第一数据集合的多个桶进行划分得到的,所述第一数据集合的多个桶是根据所述第一数据对所述第一数据集合划分得到的;
对所述第二数据集合的多个桶内的第二数据子集与所述第一数据集合的对应桶内的所述文件的第一数据密文子集进行求交计算;
向所述第一计算中心提供所述第一数据的求交结果密文。
可选的,并行对所述第二数据集合的多个桶内的第二数据子集与所述第一数据集合的对应桶内的所述文件的第一数据密文子集进行求交计算。
本申请还提供一种电子设备,包括:
处理器;以及
存储器,用于存储实现根据上述方法的程序,该设备通电并通过所述处理器运行所述方法的程序。
本申请还提供一种信息推送系统,包括:
客户端,用于获取购车用户标识集合;根据所述购车用户标识,将所述购车用户标识集合划分为多个桶;将所述桶划分为多个购车用户标识子片;向服务端提供与所述多个购车用户标识子片对应的多个购车用户标识密文文件;接收所述服务端回送的所述购车用户标识的求交结果密文;对所述求交结果密文进行解密,以获得同为服务端用户的目标购车用户;以及,向服务端提供目标购车用户标识;
服务端,用于获取服务端用户标识集合;根据所述服务端用户标识,将所述服务端用户标识集合划分为多个桶;接收所述多个购车用户标识密文文件;对所述服务端用户标识集合的多个桶内的服务端用户标识子集与所述购车用户标识集合的对应桶内的所述文件的购车用户标识子集进行求交计算;向所述客户端提供所述求交结果密文;以及,接收所述目标购车用户标识;根据所述目标购车用户标识,获取与目标购车用户的购车行为相关的营销信息;向目标用户提供所述营销信息。
本申请还提供一种信息推送方法,包括:
获取购车用户标识集合;
根据所述购车用户标识,将所述购车用户标识集合划分为多个桶;
将所述桶划分为多个购车用户标识子片;
向服务端提供与所述多个购车用户标识子片对应的多个购车用户标识密文文件;
接收所述服务端回送的所述购车用户标识的求交结果密文;所述求交结果密文是对所述文件内的购车用户标识密文子集和所述服务端的对应桶内的服务端用户标识子集进行求交计算获得的,所述服务端是对服务端用户标识集合划分的多个桶与对应的所述文件求交;
对所述求交结果密文进行解密,以获得同为服务端用户的目标购车用户;
向服务端提供目标购车用户标识。
本申请还提供一种信息推送方法,包括:
获取服务端用户标识集合;
根据所述服务端用户标识,将所述服务端用户标识集合划分为多个桶;
接收客户端提供的多个购车用户标识密文文件,所述购车用户标识密文文件包括多个购车用户标识密文,所述多个购车用户标识密文文件与多个购车用户标识子片对应,所述多个购车用户标识子片是对购车用户标识集合的多个桶进行划分得到的,所述购车用户标识集合的多个桶是根据所述购车用户标识对所述购车用户标识集合划分得到的;
对所述服务端用户标识集合的多个桶内的服务端用户标识子集与所述购车用户标识集合的对应桶内的所述文件的购车用户标识子集进行求交计算;
向所述客户端提供所述求交结果密文;
接收客户端提供的目标购车用户标识;
根据所述目标购车用户标识,获取与目标购车用户的购车行为相关的营销信息;
向目标用户提供所述营销信息。
本申请还提供一种信息推送系统,包括:
客户端,用于获取银行卡睡眠用户标识集合;根据所述睡眠用户标识,将所述睡眠用户标识集合划分为多个桶;将所述桶划分为多个睡眠用户标识子片;向服务端提供与所述多个睡眠用户标识子片对应的多个睡眠用户标识密文文件;接收所述服务端回送的所述睡眠用户标识的求交结果密文;对所述求交结果密文进行解密,以获得同为服务端用户的目标睡眠用户;以及,向服务端提供目标睡眠用户标识;
服务端,用于获取服务端用户标识集合;根据所述服务端用户标识,将所述服务端用户标识集合划分为多个桶;接收所述多个睡眠用户标识密文文件;对所述服务端用户标识集合的多个桶内的服务端用户标识子集与所述睡眠用户标识集合的对应桶内的所述文件的睡眠用户标识子集进行求交计算;向所述客户端提供所述求交结果密文;以及,接收所述目标睡眠用户标识;根据所述目标睡眠用户标识,向目标睡眠用户推送使用银行卡结算的提示信息。
本申请还提供一种信息推送方法,包括:
获取银行卡睡眠用户标识集合;
根据所述睡眠用户标识,将所述睡眠用户标识集合划分为多个桶;
将所述桶划分为多个睡眠用户标识子片;
向服务端提供与所述多个睡眠用户标识子片对应的多个睡眠用户标识密文文件;
接收所述服务端回送的所述睡眠用户标识的求交结果密文;所述求交结果密文是对所述文件内的睡眠用户标识密文子集和所述服务端的对应桶内的服务端用户标识子集进行求交计算获得的,所述服务端是对服务端用户标识集合划分的多个桶与对应的所述文件求交;
对所述求交结果密文进行解密,以获得同为服务端用户的目标睡眠用户;
向服务端提供目标睡眠用户标识。
本申请还提供一种信息推送方法,包括:
获取服务端用户标识集合;
根据所述服务端用户标识,将所述服务端用户标识集合划分为多个桶;
接收客户端提供的多个睡眠用户标识密文文件,所述睡眠用户标识密文文件包括多个睡眠用户标识密文,所述多个睡眠用户标识密文文件与多个数据子片对应,所述多个数据子片是对银行卡睡眠用户标识集合的多个桶进行划分得到的,所述银行卡睡眠用户标识集合的多个桶是根据所述银行卡睡眠用户标识对所述银行卡睡眠用户标识集合划分得到的;
对所述服务端用户标识集合的多个桶内的服务端用户标识子集与所述睡眠用户标识集合的对应桶内的所述文件的睡眠用户标识子集进行求交计算;
向所述客户端提供所述求交结果密文;
接收客户端提供的目标睡眠用户标识;
根据所述目标睡眠用户标识,向目标睡眠用户推送使用银行卡结算的提示信息。
本申请还提供一种信息推送系统,包括:
客户端,用于获取应用系统用户标识集合;根据所述应用系统用户标识,将所述应用系统用户标识集合划分为多个桶;将所述桶划分为多个应用系统用户标识子片;向服务端提供与所述多个应用系统用户标识子片对应的多个应用系统用户标识密文文件;接收所述服务端回送的所述应用系统用户标识的求交结果密文;对所述求交结果密文进行解密,以获得同为服务端用户的目标应用系统用户;以及,向服务端提供目标应用系统用户标识;
服务端,用于获取服务端用户标识集合;根据所述服务端用户标识,将所述服务端用户标识集合划分为多个桶;接收所述多个应用系统用户标识密文文件;对所述服务端用户标识集合的多个桶内的服务端用户标识子集与所述应用系统用户标识集合的对应桶内的所述文件的应用系统用户标识子集进行求交计算;向所述客户端提供所述求交结果密文;以及,接收所述目标应用系统用户标识;根据所述目标应用系统用户标识,向目标应用系统用户以外的服务端用户推送应用程序推荐信息。
本申请还提供一种信息推送方法,包括:
获取应用系统用户标识集合;
根据所述应用系统用户标识,将所述应用系统用户标识集合划分为多个桶;
将所述桶划分为多个应用系统用户标识子片;
向服务端提供与所述多个应用系统用户标识子片对应的多个应用系统用户标识密文文件;
接收所述服务端回送的所述应用系统用户标识的求交结果密文;所述求交结果密文是对所述文件内的应用系统用户标识密文子集和所述服务端的对应桶内的服务端用户标识子集进行求交计算获得的,所述服务端是对服务端用户标识集合划分的多个桶与对应的所述文件求交;
对所述求交结果密文进行解密,以获得同为服务端用户的目标应用系统用户;
向服务端提供目标应用系统用户标识。
本申请还提供一种信息推送方法,包括:
获取服务端用户标识集合;
根据所述服务端用户标识,将所述服务端用户标识集合划分为多个桶;
接收客户端提供的多个应用系统用户标识密文文件,所述应用系统用户标识密文文件包括多个应用系统用户标识密文,所述多个应用系统用户标识密文文件与多个数据子片对应,所述多个数据子片是对应用系统用户标识集合的多个桶进行划分得到的,所述应用系统用户标识集合的多个桶是根据所述应用系统用户标识对所述应用系统用户标识集合划分得到的;
对所述服务端用户标识集合的多个桶内的服务端用户标识子集与所述应用系统用户标识集合的对应桶内的所述文件的应用系统用户标识子集进行求交计算;
向所述客户端提供所述求交结果密文;
接收客户端提供的目标应用系统用户标识;
根据所述目标应用系统用户标识,向目标应用系统用户以外的服务端用户推送应用程序推荐信息。
本申请还提供一种隐私保护联系人发现系统,包括:
客户端,用于获取联系人设备标识集合;根据所述联系人设备标识,将所述联系人设备标识集合划分为多个桶;将所述桶划分为多个设备标识子片;向移动应用服务端提供与所述多个设备标识子片对应的多个联系人设备标识密文文件;接收所述服务端回送的所述联系人设备标识的求交结果密文;对所述求交结果密文进行解密,以获得已注册移动应用的联系人信息;
服务端,用于获取移动应用注册用户的设备标识集合;根据所述注册用户的设备标识,将所述注册用户的设备标识集合划分为多个桶;接收所述多个联系人设备标识密文文件;对所述注册用户的设备标识集合的多个桶内的注册用户的设备标识子集与所述联系人设备标识集合的对应桶内的所述文件的联系人设备标识子集进行求交计算;向所述客户端提供所述求交结果密文。
本申请还提供一种隐私保护联系人发现方法,包括:
获取联系人设备标识集合;
根据所述联系人设备标识,将所述联系人设备标识集合划分为多个桶;
将所述桶划分为多个设备标识子片;
向移动应用服务端提供与所述多个设备标识子片对应的多个联系人设备标识密文文件;
接收所述服务端回送的所述联系人设备标识的求交结果密文;所述求交结果密文是对所述文件内的联系人设备标识密文子集和所述服务端的对应桶内的移动应用注册用户的设备标识子集进行求交计算获得的,所述服务端是对移动应用注册用户的设备标识集合划分的多个桶与对应的所述文件求交;
对所述求交结果密文进行解密,以获得已注册移动应用的联系人信息。
本申请还提供一种隐私保护集合求交方法,包括:
获取移动应用注册用户的设备标识集合;
根据所述注册用户的设备标识,将所述注册用户的设备标识集合划分为多个桶;
接收客户端提供的多个联系人设备标识密文文件,所述联系人设备标识密文文件包括多个联系人设备标识密文,所述多个联系人设备标识密文文件与多个数据子片对应,所述多个数据子片是对联系人设备标识集合的多个桶进行划分得到的,所述联系人设备标识集合的多个桶是根据所述联系人设备标识对所述联系人设备标识集合划分得到的;
对所述注册用户的设备标识集合的多个桶内的注册用户的设备标识子集与所述联系人设备标识集合的对应桶内的所述文件的联系人设备标识子集进行求交计算;
向所述客户端提供所述求交结果密文。
本申请还提供一种恶意软件检测系统,包括:
客户端,用于获取已安装软件标识集合;根据所述已安装软件标识,将所述已安装软件标识集合划分为多个桶;将所述桶划分为多个软件标识子片;向移动应用服务端提供与所述多个软件标识子片对应的多个已安装软件标识密文文件;接收所述服务端回送的所述已安装软件标识的求交结果密文;对所述求交结果密文进行解密,以获得已安装的恶意软件信息;
服务端,用于获取恶意软件标识集合;根据所述恶意软件标识,将所述恶意软件标识集合划分为多个桶;接收所述多个已安装软件标识密文文件;对所述恶意软件标识集合的多个桶内的恶意软件标识子集与所述已安装软件标识集合的对应桶内的所述文件的已安装软件标识子集进行求交计算;向所述客户端提供所述求交结果密文。
本申请还提供一种恶意软件检测方法,包括:
获取已安装软件标识集合;
根据所述已安装软件标识,将所述已安装软件标识集合划分为多个桶;
将所述桶划分为多个软件标识子片;
向移动应用服务端提供与所述多个软件标识子片对应的多个已安装软件标识密文文件;
接收所述服务端回送的所述已安装软件标识的求交结果密文;所述求交结果密文是对所述文件内的已安装软件标识密文子集和所述服务端的对应桶内的恶意软件标识子集进行求交计算获得的,所述服务端是对恶意软件标识集合划分的多个桶与对应的所述文件求交;
对所述求交结果密文进行解密,以获得已安装的恶意软件信息。
本申请还提供一种恶意软件检测方法,包括:
获取恶意软件标识集合;
根据所述恶意软件标识,将所述恶意软件标识集合划分为多个桶;
接收客户端提供的多个已安装软件标识密文文件,所述已安装软件标识密文文件包括多个已安装软件标识密文,所述多个已安装软件标识密文文件与多个数据子片对应,所述多个数据子片是对已安装软件标识集合的多个桶进行划分得到的,所述已安装软件标识集合的多个桶是根据所述已安装软件标识对所述已安装软件标识集合划分得到的;
对所述恶意软件标识集合的多个桶内的恶意软件标识子集与所述已安装软件标识集合的对应桶内的所述文件的已安装软件标识子集进行求交计算;
向所述客户端提供所述求交结果密文。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各种方法。
本申请还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各种方法。
与现有技术相比,本申请具有以下优点:
本申请实施例提供的隐私保护集合求交方法,通过第一计算中心获取第一数据集合;根据第一数据,将所述第一数据集合划分为多个桶;将所述桶划分为多个数据子片;向第二计算中心提供与所述多个数据子片对应的多个第一数据密文文件;接收所述第二计算中心提供的所述第一数据的求交结果密文;所述求交结果密文是对所述文件内的第一数据密文子集和所述第二计算中心的对应桶内的第二数据子集进行求交计算获得的,所述第二计算中心是对第二数据集合划分的多个桶与对应的所述文件求交;对所述第一数据的求交结果密文进行解密,以获得所述第一数据的求交结果明文。采用这种处理方式,使得将一次大数据量的集中求交计算转化为分布式并行执行多个桶的小数据量的求交计算,避免因超出UPSI算法对输入数据量的限制,而导致的求交计算耗时过长甚至失败,且接收方的数据只与发送方的对应桶的数据进行求交计算,不会与发送方的数据全集进行求交计算,极大减少了发送方参与求交计算的数据量;因此,可以有效提升大数据量场景的非平衡PSI性能。
本申请实施例提供的隐私保护集合求交方法,通过第二计算中心获取第二数据集合;根据第二数据,将所述第二数据集合划分为多个桶;接收第一计算中心提供的多个第一数据密文文件,所述第一数据密文文件包括多个第一数据密文,所述多个第一数据密文文件与多个数据子片对应,所述多个数据子片是对第一数据集合的多个桶进行划分得到的,所述第一数据集合的多个桶是根据所述第一数据对所述第一数据集合划分得到的;对所述第二数据集合的多个桶内的第二数据子集与所述第一数据集合的对应桶内的所述文件的第一数据密文子集进行求交计算;向所述第一计算中心提供所述第一数据的求交结果密文。采用这种处理方式,使得将一次大数据量的集中求交计算转化为分布式并行执行多个桶的小数据量的求交计算,避免因超出UPSI算法对输入数据量的限制,而导致的求交计算耗时过长甚至失败,且接收方的数据只与发送方的对应桶的数据进行求交计算,不会与发送方的数据全集进行求交计算,极大减少了发送方参与求交计算的数据量;因此,可以有效提升大数据量场景的非平衡PSI性能。
本申请实施例提供的信息推送系统,用于对车企系统的购车用户集合和服务端用户集合进行用户求交的非平衡PSI场景,通过将一次大数据量的集中求交计算转化为分布式并行执行多个桶的小数据量的求交计算,避免因超出UPSI算法对输入数据量的限制,而导致的求交计算耗时过长甚至失败,且接收方的数据只与发送方的对应桶的数据进行求交计算,不会与发送方的数据全集进行求交计算,极大减少了发送方参与求交计算的数据量;因此,可以有效提升用户求交性能,从而提升车企系统利用服务端向用户推送营销信息的性能。
本申请实施例提供的信息推送系统,用于对银行系统的银行卡睡眠用户集合和电商系统用户集合进行用户求交的非平衡PSI场景,通过将一次大数据量的集中求交计算转化为分布式并行执行多个桶的小数据量的求交计算,避免因超出UPSI算法对输入数据量的限制,而导致的求交计算耗时过长甚至失败,且接收方的数据只与发送方的对应桶的数据进行求交计算,不会与发送方的数据全集进行求交计算,极大减少了发送方参与求交计算的数据量;因此,可以有效提升用户求交性能,从而提升银行系统利用电商系统向银行卡睡眠用户推送使用银行卡结算的提示信息的性能。
本申请实施例提供的信息推送系统,用于对应用系统用户集合和电商系统用户集合进行用户求交的非平衡PSI场景,通过将一次大数据量的集中求交计算转化为分布式并行执行多个桶的小数据量的求交计算,避免因超出UPSI算法对输入数据量的限制,而导致的求交计算耗时过长甚至失败,且接收方的数据只与发送方的对应桶的数据进行求交计算,不会与发送方的数据全集进行求交计算,极大减少了发送方参与求交计算的数据量;因此,可以有效提升用户求交性能,从而提升应用系统利用电商系统向应用系统的老用户以外的用户推送应用程序推荐信息的性能。
本申请实施例提供的隐私保护联系人发现系统,用于对用户手机和移动应用的服务端用户集合进行用户求交的非平衡PSI场景,通过将一次大数据量的集中求交计算转化为分布式并行执行多个桶的小数据量的求交计算,避免因超出UPSI算法对输入数据量的限制,而导致的求交计算耗时过长甚至失败,且接收方的数据只与发送方的对应桶的数据进行求交计算,不会与发送方的数据全集进行求交计算,极大减少了发送方参与求交计算的数据量;因此,可以有效提升用户求交性能,从而提升用户求交性能。
本申请实施例提供的恶意软件检测系统,用于对客户端的已安装软件和服务端的恶意软件列表进行恶意软件求交的非平衡PSI场景,通过将一次大数据量的集中求交计算转化为分布式并行执行多个桶的小数据量的求交计算,避免因超出UPSI算法对输入数据量的限制,而导致的求交计算耗时过长甚至失败,且接收方的数据只与发送方的对应桶的数据进行求交计算,不会与发送方的数据全集进行求交计算,极大减少了发送方参与求交计算的数据量;因此,可以有效提升恶意软件检测性能。
附图说明
图1本申请提供的隐私保护集合求交方法的实施例的流程示意图;
图2本申请提供的隐私保护集合求交方法的实施例的场景示意图;
图3本申请提供的隐私保护集合求交方法的实施例的计算中心交互示意图;
图4本申请提供的隐私保护集合求交方法的实施例的流程示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请中,提供了隐私保护集合求交方法和装置,以及电子设备,信息推送系统,隐私保护联系人发现系统,恶意软件检测系统。为了便于理解本申请实施例提供的方法,下面先对该领域的相关知识进行说明。
隐私保护集合求交PSI包括平衡PSI和非平衡PSI,其中非平衡PSI用于两方数据量悬殊的场景。现有平衡PSI算法已经实现了较好的性能表现,但是实际上并不专门针对这种不平衡的情况。通常在平衡PSI算法中,会假设双方的集合数量大致相同,通信开销是与发送端集合大小成线性关系的。而在非平衡PSI的场景中,认为发送端的集合大小要比接收方的集合大小大得多。
非平衡PSI可以应用在多种场景中。非平衡PSI的一个应用场景是隐私保护联系人发现,在隐私保护联系人发现场景中,运行了某些移动端应用程序的用户,应用程序可以是消息通讯应用。用户的手机上还存有用户的通讯录,里面包含所有用户认识的人的手机号。服务器端拥有一份完整的手机号列表,列表中包含了所有注册了该服务的用户手机号。用户想知道哪个朋友也已经注册了该服务,但不希望向服务器透露用户认识的其他人。因此在这种情况下,用户手机可以和服务器运行非平衡PSI协议,因为用户的通讯录比服务器的数据库小得多。
非平衡PSI的另一个应用场景是恶意软件检测。在该场景中,客户端在电脑上安装了一些软件,服务器端有一个恶意软件哈希结果列表,服务器端希望安全计算客户端安装了哪些恶意软件,但不泄露客户端安装的所有软件。此外,对称PSI的应用场景还可以是广告转换率计算等等。
在非平衡求交场景下,采用非平衡PSI算法,其通信开销只与小集合的大小成线性关系,与大集合的大小成对数关系。以基于全同态加密(Fully Homomorphic Encryption,FHE)的非平衡PSI协议的算法为例,在特定的场景下,此协议的通信开销可以比之前的方案小40倍,有效降低了通信开销。
以基于FHE的高效非平衡PSI协议的算法为例,非平衡PSI算法的基本构造思路如下所述。假设接收方的第一数据集合只有一个元素y,发送方的第二数据集合X中包含x1到xB这B个元素,即X={x1,…,xB},假定这些都是有限域(F)的元素。对如下的多项式:
求值,此多项式的根就是到x1到xB这B个元素。如果元素y在第二数据集合X中,那么多项式的求值结果为0,否则求值结果为随机数。为了在同态加密下对多项式求值,只需让接收方发送同态加密后的元素y。发送方将使用FHE对多项式求值,并将密文求值结果返回给接收方。接收方将解密密文,得到明文多项式求值结果。如果明文为0,则接收方认为元素在交集中。
具体实施时,在通过多项式求解实现求交计算的基础上,非平衡PSI算法还可包括数据安全加强处理,接收方和发送方可使用加密算法对第一数据集合及第二数据集合的元素进行加密,如使用不经意伪随机函数(Oblivous PRF,OPRF)对第一数据集合及第二数据集合的元素进行加密。伪随机函数(Pseudo Random Function,PRF)是指用确定性的算法生成一个符合均匀分布的随机数序列。采用这种处理方式,可以进一步避免各方数据外漏,从而提升数据安全性。
以OPRF加密方式为例,具体实施时,使用加密算法对集合中的元素进行加密处理可包括如下环节:1)OPRF初始化:接收方对第一数据集合的元素进行加密,将元素密文发送给发送方;2)OPRF响应:发送方对接收到的第一数据集合的元素密文进行再次加密,将再次加密得到元素密文发送给接收方;3)OPRF结束:接收方对第一数据集合的二次加密的元素密文再次进行加密,得到第一数据集合元素的三次加密结果。
以FHE求交方式为例,对第一数据集合的任意一个元素和第二数据集合的所有元素进行求交计算可包括如下环节:1)UPSI初始化:接收方对上述第一数据集合元素的三次加密结果进行同态加密,将元素密文发送给发送方;2)UPSI响应:发送方通过多项式求解,获得第一数据集合的任意一个元素是否在第二数据集合内存在的求交结果密文,将求交结果密文发送给接收方;3)UPSI结束:接收方对求交结果密文进行解密,得到第一数据集合元素的求交结果明文。
采用非平衡PSI算法对非平衡场景下的双方隐私集合进行求交计算时,如果求交数据量较小,如接收方的第一数据集合在万级数据量,发送方的第二数据集合在百万级数据量,非平衡PSI算法的效率是非常高的。但在面对真实应用场景时,如接收方的数据量达到几十万甚至上百万,发送方的数据量达到十亿甚至更大,就会导致性能较差,无法满足预期,严重时会出现无法完成求交运算的情况。以上述包括6个处理环节的基于OPRF和FHE的非平衡PSI为例,主要原因如下。首先,要对第一数据集合和第二数据集合内的每个元素分别进行多次加密处理、对第一数据集合内的每个元素分别与第二数据集合的所有元素进行多项式求解、对第一数据集合内的每个元素的求交结果密文进行解密处理,在计算过程如此复杂、计算量如此大的情况下,如果两方数据量也大,如接收方的数据量达到几十万甚至上百万,发送方的数据量达到十亿甚至更大,则将两方集合的全集直接输入到非平衡PSI算法进行求交计算,就会导致计算过程的内存占用很大,无法完成求交计算。
为了提高大数据量场景下的非平衡PSI实际性能,本申请实施例提供了隐私保护集合求交方法,通过第一计算中心获取第一数据集合;根据第一数据,将所述第一数据集合划分为多个桶;将所述桶划分为多个数据子片;向第二计算中心提供与所述多个数据子片对应的多个第一数据密文文件;接收所述第二计算中心提供的所述第一数据的求交结果密文;所述求交结果密文是对所述文件内的第一数据密文子集和所述第二计算中心的对应桶内的第二数据子集进行求交计算获得的,所述第二计算中心是对第二数据集合划分的多个桶与对应的所述文件求交;对所述第一数据的求交结果密文进行解密,以获得所述第一数据的求交结果明文。采用这种处理方式,使得将大数据量的求交计算转化为多次小数据量的求交计算,且并行执行多个桶的小数据量的求交计算,每次求交计算均满足UPSI算法对接收方和发送方的数据量限制,且有效减少发送方参与求交计算的数据量,避免求交计算占用较多内存;因此,可以有效提升大数据量场景的非平衡PSI性能。
下面在各实施例中逐一对各种方案进行详细说明。
第一实施例
请参考图1,其为本申请的隐私保护集合求交方法的流程图。在本实施例中,所述方法可包括如下步骤:
步骤S101:第一计算中心获取第一数据集合。
本申请实施例提供的隐私保护集合求交方法用于第一计算中心,第一计算中心持有第一数据集合。与第一计算中心相对的是第二计算中心,第二计算中心持有的第二数据集合。第一计算中心和第二计算中心联合执行隐私保护集合求交任务。第一计算中心要获取第一数据集合和第二数据集合的数据交集。通常将第一计算中心称为接收方或者数据使用方,将第二计算中心称为发送方或者数据持有方。
在隐私保护集合求交模式下,第一计算中心和第二计算中心均不愿意把己方的原始数据给到任何一方,包括任何第三方,第一计算中心和第二计算中心按照多方计算的协议进行本地安全计算,传输协议数据、中间参数数据,最终完成隐私保护集合求交。
第一计算中心是接收方的本地计算中心(Local Security Computation Center,LSCC),第二计算中心是发送方的本地计算中心。各参与方的计算中心可部署在用户私网环境,提供本地化数据源的管理,并提供本地化隐私增强计算能力,能保护客户原始数据不出域。具体实施时,第一计算中心和第二计算中心可采用单机模式部署,也可采用集群模式部署。
图2展示了非平衡场景下的隐私集合求交,接收方拥有的集合Y={y1,y2,…,ym}的数据量达到数万甚至数百万,发送方拥有的集合X={x1,x2,…,xm}的数据量达到数亿甚至数百亿,Y集合的大小比X集合的大小要小得多,这是一种典型的大数据量场景下的非平衡PSI。接收方是获得交集(X∩Y)的那一方,可以是某种移动应用程序。发送方可以是高性能服务器。
在去中心化的多方安全计算过程中,可通过云上协调中心(Cloud SecurityCoordination Center,CSCC)负责第一计算中心和第二计算中心双方计算过程的协调、协议公共参数下发等过程,这个协调方可以由某一个参与方来承担,也可以由云平台、第三方来承担。CSCC可以SaaS化服务部署在公有云或专有云(云上部署架构),也可独立化部署在客户私网环境(独立部署架构),承担LSCC之间的任务协调调度、任务下发等协调性工作,同时还提供中心化的数据安全计算能力(即TEE可信执行环境)。
具体实施时,计算中心可从云上协调中心获取任务信息和任务配置信息。任务信息包括数据源信息。任务配置信息包括任务运行所需要的公共配置,包括但不限于:非平衡PSI算法名及参数名,数据加密算法名及参数名,还可包括进程数上限值,线程数上限值,分桶数上限值,数据切片的数据量阈值,数据子片的数据量阈值,等等。
在触发非平衡PSI任务后,第一计算中心和第二计算中心均可执行如下处理:1)根据任务配置信息,配置任务执行环境;2)对非平衡PSI协议进行编译,获得要执行的非平衡PSI的子任务,子任务即上述处理环节,如第一计算中心要执行OPRF初始化、OPRF结束、UPSI初始化、UPSI结束这4个子任务,第二计算中心要执行OPRF响应、UPSI响应这2个子任务;3)调度子任务的执行,使得子任务按算法协议顺序执行。以基于OPRF和FHE的非平衡PSI为例,UPSI算法的子任务执行顺序为:1)接收方执行OPRF初始化,即一次加密;2)发送方执行OPRF响应,即二次加密;3)接收方执行OPRF结束,即三次加密;4)接收方执行UPSI初始化,如同态加密;5)发送方执行UPSI响应,如用FHE对上述多项式求值;6)接收方执行UPSI结束,即求交结果密文解密。
第一数据集合包括第一计算中心的待求交的隐私保护数据,简称为第一数据。第二数据集合包括第二计算中心的待求交的隐私保护数据,简称为第二数据。第一数据和第二数据通常存储在各方本地数据源中,各方计算中心需要从本地数据源拉取相关数据,该处理环节称为数据加载。
第一计算中心和第二计算中心可从隐私保护集合求交任务信息中获取各方的数据源信息,根据数据源信息从本地数据源拉取相关数据。所述数据源信息包括数据表名和求交列名,根据数据表名和求交列名可以获取相应的数据集合。所述数据源信息还可包括针对数据表的查询条件,通过执行查询条件,可获取符合查询条件的数据集合。
在一个示例中,步骤S101可采用如下方式实现:从数据源并行获取所述第一数据集合的多个数据切片。将第一数据集合划分为多个数据切片,各方计算中心可启动多个进程,分别通过多个进程从各自数据源中并行获取隐私保护集合的多个数据切片,一个进程对应一个数据分片。采用这种处理方式,可以有效提升数据加载效率。
在一个示例中,所述方法还可包括如下步骤:根据所述第一数据集合的数据量和所述第一计算中心的可用资源量,确定进程数。可用资源量,包括但不限于:可用的中央处理器资源量,可用的内存空间。通常,隐私保护集合的数据量越大,可用资源量越多,则开启的进程数越多。例如,第一计算中心的第一数据集合的数据量为百万个,且第一计算中心的可用资源量较少,可确定第一计算中心的进程数为1;第二计算中心的第二数据集合的数据量约为10亿,且第一计算中心的可用资源量较多,可确定进程数为10。采用这种处理方式,可有效利用计算中心的可用资源。
在一个示例中,所述方法还可包括如下步骤:根据所述第一数据集合的数据量和所述进程数,确定所述数据切片的数据量阈值。例如,数据集合的数据量约为10亿,进程数阈值为8个,那么数据量阈值可以是1.25亿,通过多进程并行加载多个数据切片时,每个数据分片的数据量都大于或者等于1.25亿。采用这种处理方式,使得可将数据量较大的数据集合划分为数据量相对均衡的多个数据切片,避免一个进程处理过多数据,且满足进程数限制;因此,可以有效保证分平衡PSI性能。
具体实施时,如果计算中心采用集群模式部署,那么进程可以是根容器Pod,Pod表示在集群上运行的进程。Pod封装了应用程序的容器(或者在某些情况下是多个容器)、存储资源、唯一的网络标识(IP地址)以及控制容器应该如何运行的选项。Docker是Pod中最常见的容器,但Pods也支持其他容器。同一个Pod中的多个容器间可通过本地主机(localhost)相互通信。每个容器都有一个隔离的文件系统,从一个容器内部,看不到在同一Pod的其他容器中运行的进程。
步骤S103:根据第一数据,将所述第一数据集合划分为多个桶。
本申请实施例提供的方法,通过各方计算中心将各自的待求交数据集合进行数据分桶,使得两方相同的数据会进入到具有相同桶号的桶中,后续将只在两方相同桶号的桶内数据之间进行求交计算,这样可以满足UPSI算法对发送方的数据量限制。
各方计算中心可根据分桶数量,将各方数据集合的数据分到相应的桶中。例如,设定分桶数量为1000,待求交数据是用户手机设备号,将每个用户手机设备号的哈希值对1000取模,按照取模结果对用户手机设备号分桶,将取模结果为0的用户手机设备号记录存放到0号桶中,取模为1的用户手机设备号存放到1号桶中,取模为999的用户手机设备号存放到999号桶中。
在一个示例中,步骤S103可采用如下方式实现:根据第一数据,并行将所述数据切片内的第一数据分配到对应桶。采用这种处理方式,可以有效提升分桶效率。
在一个示例中,所述方法还可包括如下步骤:根据所述第一数据集合的数据量和桶数据阈值,确定桶数量。例如,设置桶数据阈值为100万,如果数据量是10亿,则分为1000个桶。
具体实施时,可根据非平衡PSI算法,确定桶数据阈值。桶数据阈值可根据UPSI算法对发送方数据量的限制来确定。桶数据阈值可大于UPSI算法对发送方数据量的限制值,以避免当归属于某个桶的数据超出限制值时无法继续分桶。
在一个示例中,所述方法还可包括如下步骤:确定桶和进程之间的对应关系。在计算中心通过多进程处理多个分桶的数据时,还要将多个桶分配给多个进程。具体实施时,可将多个桶均匀地分配给多个进程,如每个进程处理“桶数/进程数”个桶。例如,进程数为3,桶数为1000,可将0-333桶分给进程1,334-666桶分给进程2,667-999分给进程3。采用这种处理方式,使得各进程处理的分桶数据量相对均衡,避免一个进程处理过多分桶数据;因此,可以有效确保求交性能。
步骤S105:将所述桶划分为多个数据子片。
本申请实施例提供的方法,将第一数据集合的分桶数据进一步划分为多个数据子片,后续将逐个对数据子片和第二数据集合的对应桶的数据集之间进行求交计算,这样可以满足UPSI算法对接收方的数据量限制。
在一个示例中,所述方法还可包括如下步骤:根据非平衡PSI算法,确定数据子片的数据量阈值。数据子片的数据量阈值可根据UPSI算法对接收方数据量的限制来确定,如UPSI算法对接收方数据量的限制值为11041。数据子片的数据量阈值可小于或者等于UPSI算法对接收方数据量的限制值,但不能大于接收方数据量的限制值很多,以避免计算过程占用较多内容。
在一个示例中,步骤S105可采用如下方式实现:将所述多个桶并行划分为多个数据子片。采用这种处理方式,可以有效提升数据子片划分效率。
步骤S107:向第二计算中心提供与所述多个数据子片对应的多个第一数据密文文件。
每个数据子片对应一个第一数据密文文件,该文件包括对应数据子片内的第一数据的密文。第一计算中心完成对第一数据的加密(如同态加密)处理后,将与多个数据子片对应的多个第一数据密文文件传输至第二计算中心。
在大数据量场景的非平衡PSI中,如第一数据集合的数据量为几百万甚至上千万,第二数据集合的数据量为10亿甚至更高,第一计算中心将无法直接将第一数据集合对应的第一数据密文直接传输到第二计算中心。
在一个示例中,步骤S107可采用如下方式实现:向第二计算中心并行传输所述多个第一数据密文文件。第一计算中心会形成数量为M个桶*N个数据子片的第一数据密文文件。通过将这些文件并行传输到第二计算中心,可以有效提升数据传输效率。具体实施时,并行传输通道可以是云存储平台、高效远程过程调用(gRPC)等。
具体实施时,所述方法还包括:对所述第一数据进行加密。例如,对第一数据进行同态加密,或者先对第一数据进行OPRF加密,再对OPRF加密结果进行同态加密。
在一个示例中,所述对所述第一数据进行加密,可采用如下方式实现:对所述多个桶的第一数据进行并行加密。采用这种处理方式,可以有效提升数据加密效率。
在一个示例中,所述方法还可包括如下步骤:在进程内开启多个线程;确定所述进程内的桶和线程之间的对应关系;根据所述桶和进程之间的对应关系,通过多个线程对所述进程内的多个桶的第一数据进行并行加密。计算中心可在进程中启动多个线程,通过进程中的多线程对一个进程中的多个桶进行并行数据加密,并行多项式求解(即并行求交),可以进一步提升并发度,更充分利用计算资源,从而进一步提升数据加密、多项式求交效率。
例如,在一个进程中开启10个线程,假设该进程包括30个分桶,可将30个分桶平均地分配给10个线程,线程1处理分桶1至3,线程2处理分桶4至6,以此类推,每个线程处理对应的3个分桶数据。采用这种处理方式,使得在一个进程内通过多线程并行处理多个分桶数据,可以充分利用计算资源;因此,可以进一步提升求交性能。
步骤S109:接收所述第二计算中心提供的所述第一数据的求交结果密文。
所述求交结果密文是第二计算中心对所述文件内的第一数据密文子集和所述第二计算中心的对应桶内的第二数据子集进行求交计算获得的,所述第二计算中心是对第二数据集合划分的多个桶与对应的所述文件求交。具体实施时,第二计算中心可对第二数据集合划分的多个桶并行与对应的所述文件求交。
第二计算中心将第一计算中心的每个数据子片分别和第二计算中心对应桶的数据集进行多项式求解,得到数据子片内的每个数据是否在第二数据集合存在的求交结果密文。具体实施时,第二计算中心可使用上述FHE对多项式求值的方式进行处理,也可采用其它较为成熟的求交方式,此处不再赘述。
例如,第二计算中心接收到第一计算中心发送的M*N个第一数据密文文件,如M表示1000个桶,N表示100个数据子片,第二计算中心开启10个进程,进程1负责0-99桶,进程2负责100-199桶,进程10负责900-999桶,在不考虑通过进程内的多线程并行处理进程内的多个桶的情况下,第二计算中心对10个进程的任意桶并行分别与计算中心的对应桶内的任意第一数据密文文件进行求交。
例如,在t1时刻,第二计算中心可能并行执行如下集合之间的求交处理:1)进程1负责的第二数据集合的桶1,第一数据集合的桶1下的数据子片3对应的第一数据密文文件;2)进程2负责的第二数据集合的桶121,第一数据集合的桶121下的数据子片16对应的第一数据密文文件;…;10)进程10负责的第二数据集合的桶953,第一数据集合的桶953下的数据子片68对应的第一数据密文文件。在t2时刻,第二计算中心可能并行执行如下集合之间的求交处理:1)进程1负责的第二数据集合的桶1,第一数据集合的桶1下的数据子片4对应的第一数据密文文件;2)进程2负责的第二数据集合的桶121,第一数据集合的桶121下的数据子片17对应的第一数据密文文件;…;10)进程10负责的第二数据集合的桶953,第一数据集合的桶953下的数据子片69对应的第一数据密文文件。
第二计算中心对所有第一数据密文文件与对应桶的数据集进行求交计算后,得到所有第一数据的求交结果密文,将求交结果密文发送给第一计算中心。具体实施时,第二计算中心可将每个数据子片的求交结果密文文件并行发送给第一计算中心。
步骤S111:对所述第一数据的求交结果密文进行解密,以获得所述第一数据的求交结果明文。
第一计算中心对第一数据的求交结果密文进行解密,以获得第一数据的求交结果明文。如果明文为0,则接收方认为元素在交集中。
具体实施时,第一计算中心可对每个数据子片的求交结果密文文件进行解密,将所有数据子片的求交结果明文合并在一起,得到了完整的非平衡PSI计算的结果。
具体实施时,如果第二计算中心也需要得到非平衡PSI计算的结果,则第一计算中心可执行如下处理:1)对交集数据加密:为了保护交集结果的安全,第一计算中心和第二计算中心可协商得到一个一次性加密密钥,由第一计算中心对非平衡PSI计算结果进行加密;2)传输:第一计算中心将加密结果发送给第二计算中心。相应的,第二计算中心可执行接收并解密的处理:第二计算中心对接收到的加密结果进行解密,得到非平衡PSI计算结果明文。第一计算中心和第二计算中心可将非平衡PSI求交结果回写到指定表中。
如图3所示,第一计算单元和第二计算单元分别获取第一数据集合和第二数据集合后,首先对第一数据集合和第二数据集合进行数据分桶处理;然后,由第一计算单元将桶内数据分为多个数据子片,并对数据子片内的第一数据进行加密,得到第一数据密文,将与多个数据子片对应的多个第一数据密文文件传输至第二计算中心;接下来,由第二计算中心并行对所述第二数据集合的多个桶内的第二数据子集与所述第一数据集合的对应桶内的所述文件的第一数据密文子集进行求交计算,得到第一数据的求交结果密文,将求交结果密文传输至第一计算中心;最后,第一计算中心对求交结果密文进行解密,得到第一数据集合与第二数据集合的交集数据。
从上述实施例可见,本申请实施例提供的隐私保护集合求交方法,通过第一计算中心获取第一数据集合;根据第一数据,将所述第一数据集合划分为多个桶;将所述桶划分为多个数据子片;向第二计算中心提供与所述多个数据子片对应的多个第一数据密文文件;接收所述第二计算中心提供的所述第一数据的求交结果密文;所述求交结果密文是对所述文件内的第一数据密文子集和所述第二计算中心的对应桶内的第二数据子集进行求交计算获得的,所述第二计算中心是对第二数据集合划分的多个桶与对应的所述文件求交;对所述第一数据的求交结果密文进行解密,以获得所述第一数据的求交结果明文。采用这种处理方式,使得将一次大数据量的集中求交计算转化为分布式并行执行多个桶的小数据量的求交计算,避免因超出UPSI算法对输入数据量的限制,而导致的求交计算耗时过长甚至失败,且接收方的数据只与发送方的对应桶的数据进行求交计算,不会与发送方的数据全集进行求交计算,极大减少了发送方参与求交计算的数据量;因此,可以有效提升大数据量场景的非平衡PSI性能。
第二实施例
在上述的实施例中,提供了一种隐私保护集合求交方法,与之相对应的,本申请还提供一种隐私保护集合求交装置。该装置是与上述方法的实施例相对应。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本申请另外提供一种隐私保护集合求交装置,包括:数据加载单元,数据分桶单元,数据分片单元,数据发送单元,数据接收单元,数据解密单元。
数据加载单元,用于第一计算中心获取第一数据集合;数据分桶单元,用于根据第一数据,将所述第一数据集合划分为多个桶;数据分片单元,用于将所述桶划分为多个数据子片;数据发送单元,用于向第二计算中心提供与所述多个数据子片对应的多个第一数据密文文件;数据接收单元,用于接收所述第二计算中心提供的所述第一数据的求交结果密文;所述求交结果密文是对所述文件内的第一数据密文子集和所述第二计算中心的对应桶内的第二数据子集进行求交计算获得的,所述第二计算中心是对第二数据集合划分的多个桶与对应的所述文件求交;数据解密单元,用于对所述第一数据的求交结果密文进行解密,以获得所述第一数据的求交结果明文。
在一个示例中,所述数据加载单元,具体用于从数据源并行获取所述第一数据集合的多个数据切片。
在一个示例中,所述数据分桶单元,具体用于根据第一数据,并行将所述数据切片内的第一数据分配到对应桶。
在一个示例中,所述装置还包括:数据加密单元,用于对所述多个桶的第一数据进行并行加密。
在一个示例中,所述数据分片单元,具体用于将所述多个桶并行划分为多个数据子片。
在一个示例中,所述装置还包括:进程分配单元,用于确定桶和进程之间的对应关系。
在一个示例中,所述装置还包括:多线程开启单元,用于在进程内开启多个线程;线程分配单元,用于确定所述进程内的桶和线程之间的对应关系;数据加密单元,具体用于根据所述桶和线程之间的对应关系,通过多个线程对所述进程内的多个桶的第一数据进行并行加密。
在一个示例中,所述数据发送单元,用于向第二计算中心并行传输所述多个第一数据密文文件。
在一个示例中,所述装置还包括:进程数确定单元,用于根据所述第一数据集合的数据量和所述第一计算中心的可用资源量,确定进程数。
在一个示例中,所述装置还包括:桶数据阈值确定单元,用于根据非平衡PSI算法,确定桶数据阈值。
在一个示例中,所述装置还包括:桶数量确定单元,用于根据所述第一数据集合的数据量和桶数据阈值,确定桶数量。
在一个示例中,所述装置还包括:数据切片的数据量阈值确定单元,用于根据所述第一数据集合的数据量和进程数,确定数据切片的数据量阈值。
在一个示例中,所述装置还包括:数据子片的数据量阈值确定单元,用于根据非平衡PSI算法,确定数据子片的数据量阈值。
第三实施例
在上述的实施例中,提供了一种隐私保护集合求交方法,与之相对应的,本申请还提供一种隐私保护集合求交方法,用于第二计算中心。该方法是与上述方法的实施例相对应。由于本方法实施例基本相似于上述方法实施例,所以描述得比较简单,相关之处参见上述方法实施例的部分说明即可。下述描述的方法实施例仅仅是示意性的。
请参考图4,其为本申请的隐私保护集合求交方法的流程图。本申请另外提供一种隐私保护集合求交方法,包括:
步骤S401:第二计算中心获取第二数据集合。
本步骤与上述步骤S101相对应,此处不再赘述。
在一个示例中,步骤S401可采用如下方式实现:从数据源并行获取所述第二数据集合的多个数据切片。采用这种处理方式,可以有效提升数据加载效率。
步骤S403:根据第二数据,将所述第二数据集合划分为多个桶。
本步骤与上述步骤S103相对应,此处不再赘述。
在一个示例中,步骤S403可采用如下方式实现:根据第二数据,并行将所述数据切片内的第二数据分配到对应桶。采用这种处理方式,可以有效提升分桶效率。
在一个示例中,所述方法还包括:确定桶和进程之间的对应关系。具体实施时,可将多个桶平均地分配给多个进程。采用这种处理方式,使得各进程处理的分桶数据量相对均衡,避免一个进程处理过多分桶数据,可以充分利用ji算资源;因此,可以有效确保求交性能。
在一个示例中,所述方法还包括:接收第一计算中心发送的第一数据密文,对第一数据密文进行加密,将加密后数据传输至第一计算中心。例如,第一计算中心先对第一数据进行OPRF加密,得到第一数据密文;第二计算中心再对第一数据密文加密,将加密后数据发送给第一计算中心。具体实施时,第一计算中心可对该加密后数据进行同态加密。采用这种处理方式,可以有效提升第一数据的安全性。
在一个示例中,第二计算中心对第一数据密文进行加密,可采用如下方式实现:对多个桶的第一数据密文进行并行加密。采用这种处理方式,可以有效提升数据加密效率。
在一个示例中,所述方法还可包括:对所述多个桶的第二数据进行并行加密,如对第二数据进行OPRF加密。采用这种处理方式,可以有效提升第二数据的安全性。
在一个示例中,所述方法还包括:在进程内开启多个线程;确定所述进程内的桶和线程之间的对应关系;根据所述桶和线程之间的对应关系,通过多个线程对所述进程内的多个桶的第二数据进行并行加密。采用这种处理方式,可以有效提升数据加密效率。
在一个示例中,所述方法还包括:根据所述桶和线程之间的对应关系,通过多个线程对所述进程内的多个桶对应的第一数据密文进行并行加密。采用这种处理方式,可以有效提升数据加密效率。
步骤S405:接收第一计算中心提供的多个第一数据密文文件。
所述第一数据密文文件包括多个第一数据密文,所述多个第一数据密文文件与多个数据子片对应,所述多个数据子片是对第一数据集合的多个桶进行划分得到的,所述第一数据集合的多个桶是根据所述第一数据对所述第一数据集合划分得到的。
本步骤与上述步骤S107相对应,此处不再赘述。
在一个示例中,步骤S405可采用如下方式实现:包括:向第二计算中心并行传输所述多个第一数据密文文件。采用这种处理方式,可以有效提升数据传输效率。
步骤S407:对所述第二数据集合的多个桶内的第二数据子集与所述第一数据集合的对应桶内的所述文件的第一数据密文子集进行求交计算。
本步骤与上述步骤S109相对应,此处不再赘述。具体实施时,可并行对所述第二数据集合的多个桶内的第二数据子集与所述第一数据集合的对应桶内的所述文件的第一数据密文子集进行求交计算。
步骤S409:向所述第一计算中心提供所述第一数据的求交结果密文。
本步骤与上述步骤S111相对应,此处不再赘述。
在一个示例中,所述方法还包括:根据所述第二数据集合的数据量和所述第二计算中心的可用资源量,确定进程数。采用这种处理方式,可有效利用计算中心的可用资源。
在一个示例中,所述方法还包括:根据非平衡PSI算法,确定桶数据阈值。
在一个示例中,所述方法还包括:根据所述第二数据集合的数据量和桶数据阈值,确定桶数量。
在一个示例中,所述方法还包括:根据所述第二数据集合的数据量和进程数,确定数据切片的数据量阈值。
从上述实施例可见,本申请实施例提供的隐私保护集合求交方法,通过第二计算中心获取第二数据集合;根据第二数据,将所述第二数据集合划分为多个桶;接收第一计算中心提供的多个第一数据密文文件,所述第一数据密文文件包括多个第一数据密文,所述多个第一数据密文文件与多个数据子片对应,所述多个数据子片是对第一数据集合的多个桶进行划分得到的,所述第一数据集合的多个桶是根据所述第一数据对所述第一数据集合划分得到的;对所述第二数据集合的多个桶内的第二数据子集与所述第一数据集合的对应桶内的所述文件的第一数据密文子集进行求交计算;向所述第一计算中心提供所述第一数据的求交结果密文。采用这种处理方式,使得将一次大数据量的集中求交计算转化为分布式并行执行多个桶的小数据量的求交计算,避免因超出UPSI算法对输入数据量的限制,而导致的求交计算耗时过长甚至失败,且接收方的数据只与发送方的对应桶的数据进行求交计算,不会与发送方的数据全集进行求交计算,极大减少了发送方参与求交计算的数据量;因此,可以有效提升大数据量场景的非平衡PSI性能。
第四实施例
在上述的实施例中,提供了一种隐私保护集合求交方法,与之相对应的,本申请还提供一种隐私保护集合求交装置。该装置是与上述方法的实施例相对应。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本申请另外提供一种隐私保护集合求交装置,包括:数据加载单元,数据分桶单元,数据接收单元,求交单元,数据发送单元。
数据加载单元,用于第二计算中心获取第二数据集合;数据分桶单元,用于根据第二数据,将所述第二数据集合划分为多个桶;数据接收单元,用于接收第一计算中心提供的多个第一数据密文文件,所述第一数据密文文件包括多个第一数据密文,所述多个第一数据密文文件与多个数据子片对应,所述多个数据子片是对第一数据集合的多个桶进行划分得到的,所述第一数据集合的多个桶是根据所述第一数据对所述第一数据集合划分得到的;求交单元,用于对所述第二数据集合的多个桶内的第二数据子集与所述第一数据集合的对应桶内的所述文件的第一数据密文子集进行求交计算;数据发送单元,用于向所述第一计算中心提供所述第一数据的求交结果密文。
在一个示例中,数据加载单元,具体用于从数据源并行获取所述第二数据集合的多个数据切片。
在一个示例中,数据分桶单元,具体用于根据第二数据,并行将所述数据切片内的第二数据分配到对应桶。
在一个示例中,所述装置还包括:进程分配单元,用于确定桶和进程之间的对应关系。具体实施时,可将多个桶均匀地分配给多个进程。
在一个示例中,所述装置还包括:第一数据加密单元,用于接收第一计算中心发送的第一数据密文,对第一数据密文进行加密,将加密后数据传输至第一计算中心。
在一个示例中,所述装置还包括:第二数据加密单元,用于对所述多个桶的第二数据进行并行加密。
在一个示例中,所述装置还包括:多线程开启单元,用于在进程内开启多个线程;线程分配单元,用于确定所述进程内的桶和线程之间的对应关系;第二数据加密单元,具体用于根据所述桶和线程之间的对应关系,通过多个线程对所述多个桶的第二数据进行并行加密。
在一个示例中,第一数据加密单元,具体用于根据所述桶和线程之间的对应关系,通过多个线程对所述进程内的多个桶对应的第一数据密文进行并行加密。
在一个示例中,数据发送单元,具体用于向第二计算中心并行传输所述多个第一数据密文文件。
在一个示例中,所述装置还包括:进程数确定单元,用于根据所述第二数据集合的数据量和所述第二计算中心的可用资源量,确定进程数。
在一个示例中,所述装置还包括:桶数据阈值确定单元,用于根据非平衡PSI算法,确定桶数据阈值。
在一个示例中,所述装置还包括:桶数量确定单元,用于根据所述第二数据集合的数据量和桶数据阈值,确定桶数量。
在一个示例中,所述装置还包括:数据切片的数据量阈值确定单元,用于根据所述第二数据集合的数据量和进程数,确定数据切片的数据量阈值。
第五实施例
在上述的实施例中,提供了一种隐私保护集合求交方法,与之相对应的,本申请还提供一种电子设备。该设备是与上述方法的实施例相对应。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。
本实施例的电子设备,包括:处理器;以及存储器,用于存储实现上述任一项所述的方法的程序,该设备通电并通过所述处理器运行所述方法的程序。
第六实施例
在上述的实施例中,提供了一种隐私保护集合求交方法,与之相对应的,本申请还提供一种隐私保护集合求交系统。该系统是与上述方法的实施例相对应。由于系统实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的系统实施例仅仅是示意性的。
本实施例的隐私保护集合求交系统,包括:部署在第一计算中心的隐私保护集合求交装置,部署在第二计算中心的隐私保护集合求交装置。
第七实施例
在上述的实施例中,提供了一种隐私保护集合求交方法,与之相对应的,本申请还提供一种信息推送系统。该系统是与上述方法的实施例相对应。由于系统实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的系统实施例仅仅是示意性的。
本实施例的信息推送系统,包括:客户端和服务端。
客户端可以是车企应用系统,服务端可以是数据提供系统或者电商系统。车企应用系统存储近期购车记录,还可存储购车咨询记录。数据提供系统具有互联网用户的特征数据,用户特征数据是基于互联网用户的行为数据获得的。电商系统具有大量注册用户。
车企应用系统需要获取与数据提供系统或者电商系统的用户存在交集的用户,通过服务端向这部分用户或者相似用户推送与目标购车用户的购车行为相关的营销信息。
车企应用系统的购车用户是一个宽泛的概念,可以是指实际购买过车辆的用户,也可以是指咨询过车辆的用户。车企应用系统的多个购车用户形成购车用户标识集合,用户标识可以是用户手机的设备号或者其它能够标识用户身份的标识。服务端的用户,可以是数据服务系统持有的互联网用户,或者是电商系统的注册用户,还可以是其它系统的用户。通常,购车用户的数量要远远小于服务端用户的数量。车企应用系统想知道哪个购车用户也是服务端的用户,但不希望向服务端透露车企应用系统的其它购车用户。因此在这种情况下,车企应用系统与服务端运行非平衡PSI协议,对购车用户集合和服务端用户集合进行用户求交。同时,由于购车用户量较大,可以达到几十万甚至上百万,而服务端用户可以达到几十亿,因此该非平衡PSI是大数据量场景下的非平衡PSI。
在本实施例中,客户端用于获取购车用户标识集合;根据所述购车用户标识,将所述购车用户标识集合划分为多个桶;将所述桶划分为多个购车用户标识子片;向服务端提供与所述多个购车用户标识子片对应的多个购车用户标识密文文件;接收所述服务端回送的所述购车用户标识的求交结果密文;对所述求交结果密文进行解密,以获得同为服务端用户的目标购车用户;以及,向服务端提供目标购车用户标识。相应的,服务端用于获取服务端用户标识集合;根据所述服务端用户标识,将所述服务端用户标识集合划分为多个桶;接收所述多个购车用户标识密文文件;对所述服务端用户标识集合的多个桶内的服务端用户标识子集与所述购车用户标识集合的对应桶内的所述文件的购车用户标识子集进行求交计算;向所述客户端提供所述求交结果密文;以及,接收所述目标购车用户标识;根据所述目标购车用户标识,获取与目标购车用户的购车行为相关的营销信息;向目标用户提供所述营销信息。
所述营销信息,可以是对已购车用户推荐的车辆配件、车辆服务等,也可以是对咨询过车辆的用户多次推荐的车辆信息,以提升车辆咨询、车辆下单率等。
在服务端为数据提供系统的场景下,数据提供系统可以使用目标购车用户的行为和画像建模,然后扩展出一些类似的人群,做更大范围的营销信息推送。
从上述实施例可见,本申请实施例提供的信息推送系统,用于对车企系统的购车用户集合和服务端用户集合进行用户求交的非平衡PSI场景,通过将一次大数据量的集中求交计算转化为分布式并行执行多个桶的小数据量的求交计算,避免因超出UPSI算法对输入数据量的限制,而导致的求交计算耗时过长甚至失败,且接收方的数据只与发送方的对应桶的数据进行求交计算,不会与发送方的数据全集进行求交计算,极大减少了发送方参与求交计算的数据量;因此,可以有效提升用户求交性能,从而提升车企系统利用服务端向用户推送营销信息的性能。
第八实施例
在上述的实施例中,提供了一种隐私保护集合求交方法,与之相对应的,本申请还提供一种信息推送系统。该系统是与上述方法的实施例相对应。由于系统实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的系统实施例仅仅是示意性的。
本实施例的信息推送系统,包括:客户端和服务端。
客户端可以是银行系统,服务端可以是电商系统。银行系统具有长期未用卡的用户,称为长期不动户或者银行卡睡眠用户。电商系统具有大量注册用户,称为服务端用户。银行系统需要获取与电商系统的注册用户存在交集的用户,通过电商系统向这部分用户推送使用银行卡结算的提示信息,以提升银行卡的活跃度。
通常,银行卡睡眠用户的数量要远远小于电商系统用户的数量。银行系统想知道哪个银行卡睡眠用户也是电商系统的用户,但不希望向电商系统透露银行系统的其它银行卡用户。因此在这种情况下,银行系统的服务端与电商系统的服务端运行非平衡PSI协议,对银行卡睡眠用户集合和电商系统用户集合进行用户求交。同时,由于银行卡睡眠用户量较大,可以达到几十万甚至上百万,而电商系统用户可以达到几十亿,因此该非平衡PSI是大数据量场景下的非平衡PSI。
在本实施例中,客户端用于获取银行卡睡眠用户标识集合;根据所述睡眠用户标识,将所述睡眠用户标识集合划分为多个桶;将所述桶划分为多个睡眠用户标识子片;向服务端提供与所述多个睡眠用户标识子片对应的多个睡眠用户标识密文文件;接收所述服务端回送的所述睡眠用户标识的求交结果密文;对所述求交结果密文进行解密,以获得同为服务端用户的目标睡眠用户;以及,向服务端提供目标睡眠用户标识。相应的,服务端用于获取服务端用户标识集合;根据所述服务端用户标识,将所述服务端用户标识集合划分为多个桶;接收所述多个睡眠用户标识密文文件;对所述服务端用户标识集合的多个桶内的服务端用户标识子集与所述睡眠用户标识集合的对应桶内的所述文件的睡眠用户标识子集进行求交计算;向所述客户端提供所述求交结果密文;以及,接收所述目标睡眠用户标识;根据所述目标睡眠用户标识,向目标睡眠用户推送使用银行卡结算的提示信息。
具体实施时,电商系统对目标睡眠用户,在电商系统下单支付环节的选卡过程,或者商品页面上,可以提示用xx银行的卡可以优惠xx元,这样促进用户使用这个银行的银行卡。
从上述实施例可见,本申请实施例提供的信息推送系统,用于对银行系统的银行卡睡眠用户集合和电商系统用户集合进行用户求交的非平衡PSI场景,通过将一次大数据量的集中求交计算转化为分布式并行执行多个桶的小数据量的求交计算,避免因超出UPSI算法对输入数据量的限制,而导致的求交计算耗时过长甚至失败,且接收方的数据只与发送方的对应桶的数据进行求交计算,不会与发送方的数据全集进行求交计算,极大减少了发送方参与求交计算的数据量;因此,可以有效提升用户求交性能,从而提升银行系统利用电商系统向银行卡睡眠用户推送使用银行卡结算的提示信息的性能。
第九实施例
在上述的实施例中,提供了一种隐私保护集合求交方法,与之相对应的,本申请还提供一种信息推送系统。该系统是与上述方法的实施例相对应。由于系统实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的系统实施例仅仅是示意性的。
本实施例的信息推送系统,包括:客户端和服务端。
客户端可以是移动应用系统,服务端可以是电商系统。移动应用系统具有大量用户,称为应用系统用户。电商系统具有大量注册用户,称为服务端用户。移动应用系统需要获取与电商系统的注册用户存在交集的用户,通过电商系统向这部分用户以外的用户推送应用程序推荐信息,为移动应用系统拉新用户。
通常,移动应用系统的数量要远远小于电商系统用户的数量。移动应用系统想知道哪个用户也是电商系统的用户,但不希望向电商系统透露移动应用系统的其它用户。因此在这种情况下,移动应用系统的服务端与电商系统的服务端运行非平衡PSI协议,对移动应用系统用户集合和电商系统用户集合进行用户求交。同时,由于移动应用系统用户量较大,可以达到几十万甚至上百万,而电商系统用户可以达到几十亿,因此该非平衡PSI是大数据量场景下的非平衡PSI。
在本实施例中,客户端用于获取应用系统用户标识集合;根据所述应用系统用户标识,将所述应用系统用户标识集合划分为多个桶;将所述桶划分为多个应用系统用户标识子片;向服务端提供与所述多个应用系统用户标识子片对应的多个应用系统用户标识密文文件;接收所述服务端回送的所述应用系统用户标识的求交结果密文;对所述求交结果密文进行解密,以获得同为服务端用户的目标应用系统用户;以及,向服务端提供目标应用系统用户标识。相应的,服务端用于获取服务端用户标识集合;根据所述服务端用户标识,将所述服务端用户标识集合划分为多个桶;接收所述多个应用系统用户标识密文文件;对所述服务端用户标识集合的多个桶内的服务端用户标识子集与所述应用系统用户标识集合的对应桶内的所述文件的应用系统用户标识子集进行求交计算;向所述客户端提供所述求交结果密文;以及,接收所述目标应用系统用户标识;根据所述目标应用系统用户标识,向目标应用系统用户以外的服务端用户推送应用程序推荐信息。
具体实施时,电商系统可对目标应用系统用户以外的用户投放移动应用系统的广告信息,促进这部分用户使用移动应用系统,减少无效的广告曝光,因此,可以有效提升广告投放精准度。
从上述实施例可见,本申请实施例提供的信息推送系统,用于对应用系统用户集合和电商系统用户集合进行用户求交的非平衡PSI场景,通过将一次大数据量的集中求交计算转化为分布式并行执行多个桶的小数据量的求交计算,避免因超出UPSI算法对输入数据量的限制,而导致的求交计算耗时过长甚至失败,且接收方的数据只与发送方的对应桶的数据进行求交计算,不会与发送方的数据全集进行求交计算,极大减少了发送方参与求交计算的数据量;因此,可以有效提升用户求交性能,从而提升应用系统利用电商系统向应用系统的老用户以外的用户推送应用程序推荐信息的性能。
第十实施例
在上述的实施例中,提供了一种隐私保护集合求交方法,与之相对应的,本申请还提供一种隐私保护联系人发现系统。该系统是与上述方法的实施例相对应。由于系统实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的系统实施例仅仅是示意性的。
本实施例的隐私保护联系人发现系统,包括:客户端和服务端。
客户端可以是用户手机,服务端可以是移动应用的服务端,如移动应用可以是消息通讯应用等等。用户的手机上还存有用户的通讯录,里面包含所有用户认识的人的手机号。服务端拥有一份完整的手机号列表,列表中包含了所有注册了该服务的用户手机号。用户想知道哪个朋友也已经注册了该服务,但不希望向服务端透露用户认识的其他人。因此在这种情况下,用户手机可以和服务端运行非平衡PSI协议,因为用户的通讯录比服务器的数据库小得多。
在本实施例中,客户端用于获取联系人设备标识集合;根据所述联系人设备标识,将所述联系人设备标识集合划分为多个桶;将所述桶划分为多个设备标识子片;向移动应用服务端提供与所述多个设备标识子片对应的多个联系人设备标识密文文件;接收所述服务端回送的所述联系人设备标识的求交结果密文;对所述求交结果密文进行解密,以获得已注册移动应用的联系人信息。相应的,服务端用于获取移动应用注册用户的设备标识集合;根据所述注册用户的设备标识,将所述注册用户的设备标识集合划分为多个桶;接收所述多个联系人设备标识密文文件;对所述注册用户的设备标识集合的多个桶内的注册用户的设备标识子集与所述联系人设备标识集合的对应桶内的所述文件的联系人设备标识子集进行求交计算;向所述客户端提供所述求交结果密文。
从上述实施例可见,本申请实施例提供的隐私保护联系人发现系统,用于对用户手机和移动应用的服务端用户集合进行用户求交的非平衡PSI场景,通过将一次大数据量的集中求交计算转化为分布式并行执行多个桶的小数据量的求交计算,避免因超出UPSI算法对输入数据量的限制,而导致的求交计算耗时过长甚至失败,且接收方的数据只与发送方的对应桶的数据进行求交计算,不会与发送方的数据全集进行求交计算,极大减少了发送方参与求交计算的数据量;因此,可以有效提升用户求交性能,从而提升用户求交性能。
第十一实施例
在上述的实施例中,提供了一种隐私保护集合求交方法,与之相对应的,本申请还提供一种恶意软件检测系统。该系统是与上述方法的实施例相对应。由于系统实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的系统实施例仅仅是示意性的。
本实施例的恶意软件检测系统,包括:客户端和服务端。
客户端在电脑上安装了一些软件,服务器端有一个恶意软件哈希结果列表,服务器端希望安全计算客户端安装了哪些恶意软件,但不泄露客户端安装的所有软件。
在本实施例中,客户端用于获取已安装软件标识集合;根据所述已安装软件标识,将所述已安装软件标识集合划分为多个桶;将所述桶划分为多个软件标识子片;向移动应用服务端提供与所述多个软件标识子片对应的多个已安装软件标识密文文件;接收所述服务端回送的所述已安装软件标识的求交结果密文;对所述求交结果密文进行解密,以获得已安装的恶意软件信息。相应的,服务端用于获取恶意软件标识集合;根据所述恶意软件标识,将所述恶意软件标识集合划分为多个桶;接收所述多个已安装软件标识密文文件;对所述恶意软件标识集合的多个桶内的恶意软件标识子集与所述已安装软件标识集合的对应桶内的所述文件的已安装软件标识子集进行求交计算;向所述客户端提供所述求交结果密文。
从上述实施例可见,本申请实施例提供的恶意软件检测系统,用于对客户端的已安装软件和服务端的恶意软件列表进行恶意软件求交的非平衡PSI场景,通过将一次大数据量的集中求交计算转化为分布式并行执行多个桶的小数据量的求交计算,避免因超出UPSI算法对输入数据量的限制,而导致的求交计算耗时过长甚至失败,且接收方的数据只与发送方的对应桶的数据进行求交计算,不会与发送方的数据全集进行求交计算,极大减少了发送方参与求交计算的数据量;因此,可以有效提升恶意软件检测性能。
需要说明的是,本申请实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如,用户明确同意,对用户切实通知,等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (14)

1.一种隐私保护集合求交方法,其特征在于,包括:
第一计算中心获取第一数据集合;
根据第一数据,将所述第一数据集合划分为多个桶;
将所述桶划分为多个数据子片;
向第二计算中心提供与所述多个数据子片对应的多个第一数据密文文件;
接收所述第二计算中心提供的所述第一数据的求交结果密文;所述求交结果密文是对所述文件内的第一数据密文子集和所述第二计算中心的对应桶内的第二数据子集进行求交计算获得的,所述第二计算中心是对第二数据集合划分的多个桶与对应的所述文件求交;
对所述第一数据的求交结果密文进行解密,以获得所述第一数据的求交结果明文。
2.根据权利要求1所述的方法,其特征在于,还包括以下至少一个步骤:
根据所述第一数据集合的数据量和所述第一计算中心的可用资源量,确定进程数;
根据非平衡PSI算法,确定桶数据阈值;
根据所述第一数据集合的数据量和桶数据阈值,确定桶数量;
根据所述第一数据集合的数据量和进程数,确定数据切片的数据量阈值;
根据非平衡PSI算法,确定数据子片的数据量阈值。
3.一种隐私保护集合求交方法,其特征在于,包括:
第二计算中心获取第二数据集合;
根据第二数据,将所述第二数据集合划分为多个桶;
接收第一计算中心提供的多个第一数据密文文件,所述第一数据密文文件包括多个第一数据密文,所述多个第一数据密文文件与多个数据子片对应,所述多个数据子片是对第一数据集合的多个桶进行划分得到的,所述第一数据集合的多个桶是根据所述第一数据对所述第一数据集合划分得到的;
对所述第二数据集合的多个桶内的第二数据子集与所述第一数据集合的对应桶内的所述文件的第一数据密文子集进行求交计算;
向所述第一计算中心提供所述第一数据的求交结果密文。
4.一种信息推送方法,其特征在于,包括:
获取购车用户标识集合;
根据所述购车用户标识,将所述购车用户标识集合划分为多个桶;
将所述桶划分为多个购车用户标识子片;
向服务端提供与所述多个购车用户标识子片对应的多个购车用户标识密文文件;
接收所述服务端回送的所述购车用户标识的求交结果密文;所述求交结果密文是对所述文件内的购车用户标识密文子集和所述服务端的对应桶内的服务端用户标识子集进行求交计算获得的,所述服务端是对服务端用户标识集合划分的多个桶与对应的所述文件求交;
对所述求交结果密文进行解密,以获得同为服务端用户的目标购车用户;
向服务端提供目标购车用户标识。
5.一种信息推送方法,其特征在于,包括:
获取服务端用户标识集合;
根据所述服务端用户标识,将所述服务端用户标识集合划分为多个桶;
接收客户端提供的多个购车用户标识密文文件,所述购车用户标识密文文件包括多个购车用户标识密文,所述多个购车用户标识密文文件与多个购车用户标识子片对应,所述多个购车用户标识子片是对购车用户标识集合的多个桶进行划分得到的,所述购车用户标识集合的多个桶是根据所述购车用户标识对所述购车用户标识集合划分得到的;
对所述服务端用户标识集合的多个桶内的服务端用户标识子集与所述购车用户标识集合的对应桶内的所述文件的购车用户标识子集进行求交计算;
向所述客户端提供所述求交结果密文;
接收客户端提供的目标购车用户标识;
根据所述目标购车用户标识,获取与目标购车用户的购车行为相关的营销信息;
向目标用户提供所述营销信息。
6.一种信息推送方法,其特征在于,包括:
获取银行卡睡眠用户标识集合;
根据所述睡眠用户标识,将所述睡眠用户标识集合划分为多个桶;
将所述桶划分为多个睡眠用户标识子片;
向服务端提供与所述多个睡眠用户标识子片对应的多个睡眠用户标识密文文件;
接收所述服务端回送的所述睡眠用户标识的求交结果密文;所述求交结果密文是对所述文件内的睡眠用户标识密文子集和所述服务端的对应桶内的服务端用户标识子集进行求交计算获得的,所述服务端是对服务端用户标识集合划分的多个桶与对应的所述文件求交;
对所述求交结果密文进行解密,以获得同为服务端用户的目标睡眠用户;
向服务端提供目标睡眠用户标识。
7.一种信息推送方法,其特征在于,包括:
获取服务端用户标识集合;
根据所述服务端用户标识,将所述服务端用户标识集合划分为多个桶;
接收客户端提供的多个睡眠用户标识密文文件,所述睡眠用户标识密文文件包括多个睡眠用户标识密文,所述多个睡眠用户标识密文文件与多个数据子片对应,所述多个数据子片是对银行卡睡眠用户标识集合的多个桶进行划分得到的,所述银行卡睡眠用户标识集合的多个桶是根据所述银行卡睡眠用户标识对所述银行卡睡眠用户标识集合划分得到的;
对所述服务端用户标识集合的多个桶内的服务端用户标识子集与所述睡眠用户标识集合的对应桶内的所述文件的睡眠用户标识子集进行求交计算;
向所述客户端提供所述求交结果密文;
接收客户端提供的目标睡眠用户标识;
根据所述目标睡眠用户标识,向目标睡眠用户推送使用银行卡结算的提示信息。
8.一种信息推送方法,其特征在于,包括:
获取应用系统用户标识集合;
根据所述应用系统用户标识,将所述应用系统用户标识集合划分为多个桶;
将所述桶划分为多个应用系统用户标识子片;
向服务端提供与所述多个应用系统用户标识子片对应的多个应用系统用户标识密文文件;
接收所述服务端回送的所述应用系统用户标识的求交结果密文;所述求交结果密文是对所述文件内的应用系统用户标识密文子集和所述服务端的对应桶内的服务端用户标识子集进行求交计算获得的,所述服务端是对服务端用户标识集合划分的多个桶与对应的所述文件求交;
对所述求交结果密文进行解密,以获得同为服务端用户的目标应用系统用户;
向服务端提供目标应用系统用户标识。
9.一种信息推送方法,其特征在于,包括:
获取服务端用户标识集合;
根据所述服务端用户标识,将所述服务端用户标识集合划分为多个桶;
接收客户端提供的多个应用系统用户标识密文文件,所述应用系统用户标识密文文件包括多个应用系统用户标识密文,所述多个应用系统用户标识密文文件与多个数据子片对应,所述多个数据子片是对应用系统用户标识集合的多个桶进行划分得到的,所述应用系统用户标识集合的多个桶是根据所述应用系统用户标识对所述应用系统用户标识集合划分得到的;
对所述服务端用户标识集合的多个桶内的服务端用户标识子集与所述应用系统用户标识集合的对应桶内的所述文件的应用系统用户标识子集进行求交计算;
向所述客户端提供所述求交结果密文;
接收客户端提供的目标应用系统用户标识;
根据所述目标应用系统用户标识,向目标应用系统用户以外的服务端用户推送应用程序推荐信息。
10.一种隐私保护联系人发现方法,其特征在于,包括:
获取联系人设备标识集合;
根据所述联系人设备标识,将所述联系人设备标识集合划分为多个桶;
将所述桶划分为多个设备标识子片;
向移动应用服务端提供与所述多个设备标识子片对应的多个联系人设备标识密文文件;
接收所述服务端回送的所述联系人设备标识的求交结果密文;所述求交结果密文是对所述文件内的联系人设备标识密文子集和所述服务端的对应桶内的移动应用注册用户的设备标识子集进行求交计算获得的,所述服务端是对移动应用注册用户的设备标识集合划分的多个桶与对应的所述文件求交;
对所述求交结果密文进行解密,以获得已注册移动应用的联系人信息。
11.一种隐私保护联系人发现方法,其特征在于,包括:
获取移动应用注册用户的设备标识集合;
根据所述注册用户的设备标识,将所述注册用户的设备标识集合划分为多个桶;
接收客户端提供的多个联系人设备标识密文文件,所述联系人设备标识密文文件包括多个联系人设备标识密文,所述多个联系人设备标识密文文件与多个数据子片对应,所述多个数据子片是对联系人设备标识集合的多个桶进行划分得到的,所述联系人设备标识集合的多个桶是根据所述联系人设备标识对所述联系人设备标识集合划分得到的;
对所述注册用户的设备标识集合的多个桶内的注册用户的设备标识子集与所述联系人设备标识集合的对应桶内的所述文件的联系人设备标识子集进行求交计算;
向所述客户端提供所述求交结果密文。
12.一种恶意软件检测方法,其特征在于,包括:
获取已安装软件标识集合;
根据所述已安装软件标识,将所述已安装软件标识集合划分为多个桶;
将所述桶划分为多个软件标识子片;
向移动应用服务端提供与所述多个软件标识子片对应的多个已安装软件标识密文文件;
接收所述服务端回送的所述已安装软件标识的求交结果密文;所述求交结果密文是对所述文件内的已安装软件标识密文子集和所述服务端的对应桶内的恶意软件标识子集进行求交计算获得的,所述服务端是对恶意软件标识集合划分的多个桶与对应的所述文件求交;
对所述求交结果密文进行解密,以获得已安装的恶意软件信息。
13.一种恶意软件检测方法,其特征在于,包括:
获取恶意软件标识集合;
根据所述恶意软件标识,将所述恶意软件标识集合划分为多个桶;
接收客户端提供的多个已安装软件标识密文文件,所述已安装软件标识密文文件包括多个已安装软件标识密文,所述多个已安装软件标识密文文件与多个数据子片对应,所述多个数据子片是对已安装软件标识集合的多个桶进行划分得到的,所述已安装软件标识集合的多个桶是根据所述已安装软件标识对所述已安装软件标识集合划分得到的;
对所述恶意软件标识集合的多个桶内的恶意软件标识子集与所述已安装软件标识集合的对应桶内的所述文件的已安装软件标识子集进行求交计算;
向所述客户端提供所述求交结果密文。
14.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储实现根据权利要求1-13任一项所述的方法的程序,该设备通电并通过所述处理器运行所述方法的程序。
CN202310421245.0A 2023-04-17 2023-04-17 隐私保护集合求交方法和装置 Pending CN116647567A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310421245.0A CN116647567A (zh) 2023-04-17 2023-04-17 隐私保护集合求交方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310421245.0A CN116647567A (zh) 2023-04-17 2023-04-17 隐私保护集合求交方法和装置

Publications (1)

Publication Number Publication Date
CN116647567A true CN116647567A (zh) 2023-08-25

Family

ID=87621979

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310421245.0A Pending CN116647567A (zh) 2023-04-17 2023-04-17 隐私保护集合求交方法和装置

Country Status (1)

Country Link
CN (1) CN116647567A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117439732A (zh) * 2023-10-30 2024-01-23 浙江大学 应用于隐私计算的电路隐私集合求交方法、电子设备
CN118157856A (zh) * 2024-03-26 2024-06-07 北京火山引擎科技有限公司 用于安全计算的数据处理方法、装置、介质、设备及产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210234689A1 (en) * 2020-08-07 2021-07-29 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus for obtaining privacy set intersection, device and storage medium
CN114021198A (zh) * 2021-12-29 2022-02-08 支付宝(杭州)信息技术有限公司 一种保护数据隐私的确定共有数据的方法及装置
US20220198050A1 (en) * 2020-12-22 2022-06-23 Apple Inc. Privacy protected database querying
CN115481440A (zh) * 2022-09-23 2022-12-16 中国电信股份有限公司 数据处理方法、装置、电子设备和介质
CN115795503A (zh) * 2022-11-21 2023-03-14 杭州博盾习言科技有限公司 隐私集合求交方法、装置、存储介质与电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210234689A1 (en) * 2020-08-07 2021-07-29 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus for obtaining privacy set intersection, device and storage medium
US20220198050A1 (en) * 2020-12-22 2022-06-23 Apple Inc. Privacy protected database querying
CN114021198A (zh) * 2021-12-29 2022-02-08 支付宝(杭州)信息技术有限公司 一种保护数据隐私的确定共有数据的方法及装置
CN115481440A (zh) * 2022-09-23 2022-12-16 中国电信股份有限公司 数据处理方法、装置、电子设备和介质
CN115795503A (zh) * 2022-11-21 2023-03-14 杭州博盾习言科技有限公司 隐私集合求交方法、装置、存储介质与电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117439732A (zh) * 2023-10-30 2024-01-23 浙江大学 应用于隐私计算的电路隐私集合求交方法、电子设备
CN118157856A (zh) * 2024-03-26 2024-06-07 北京火山引擎科技有限公司 用于安全计算的数据处理方法、装置、介质、设备及产品

Similar Documents

Publication Publication Date Title
CN116647567A (zh) 隐私保护集合求交方法和装置
CN112087439B (zh) 区块链交易查询方法、系统、计算机设备和存储介质
CN109347839B (zh) 集中式密码管理方法、装置、电子设备及计算机存储介质
CN111211911B (zh) 一种协同签名方法、装置、设备及系统
CN116049626A (zh) 一种数据统计方法、装置、设备以及存储介质
CN110688666B (zh) 一种分布式存储中数据加密保存方法
CN112800479B (zh) 利用可信第三方的多方联合数据处理方法及装置
CN110113162A (zh) 一种敏感信息处理系统、方法及其设备
CN112966309A (zh) 一种基于区块链的业务实现方法和装置
CN114500119B (zh) 区块链服务的调用方法和装置
CN115099959A (zh) 基于同态加密算法的对客风险控制方法及装置
JP2022545809A (ja) 暗号鍵生成のためのセキュアな環境
CN114780982A (zh) 一种流程业务流转方法、装置和系统
US10587626B2 (en) Universal subscriber identity recognition and data classification
KR20160040399A (ko) 개인정보 관리 시스템 및 개인정보 관리 방법
CN115131029A (zh) 基于区块链的数字文件签署方法及装置
CN111125734B (zh) 一种数据处理方法及系统
Liu et al. Proofs of encrypted data retrievability with probabilistic and homomorphic message authenticators
CN112699391A (zh) 目标数据的发送方法及隐私计算平台
US11405364B1 (en) Privacy-preserving endorsements in blockchain transactions
CN115062063B (zh) 基于区块链的数据查询方法和装置
CN114691759B (zh) 数据查询统计方法、装置、计算机设备及存储介质
US11201856B2 (en) Message security
CN110035070B (zh) 用于拼车的数据处理方法和装置
Wani et al. Secure File Storage on Cloud Using a Hybrid Cryptography Algorithm

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination