CN113132345A - 具有可搜索功能的代理隐私集合求交方法 - Google Patents

具有可搜索功能的代理隐私集合求交方法 Download PDF

Info

Publication number
CN113132345A
CN113132345A CN202110239426.2A CN202110239426A CN113132345A CN 113132345 A CN113132345 A CN 113132345A CN 202110239426 A CN202110239426 A CN 202110239426A CN 113132345 A CN113132345 A CN 113132345A
Authority
CN
China
Prior art keywords
user
database
plaintext
intersection
encryption
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.)
Granted
Application number
CN202110239426.2A
Other languages
English (en)
Other versions
CN113132345B (zh
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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN202110239426.2A priority Critical patent/CN113132345B/zh
Publication of CN113132345A publication Critical patent/CN113132345A/zh
Application granted granted Critical
Publication of CN113132345B publication Critical patent/CN113132345B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L63/0457Network 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 wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • 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
    • H04L63/045Network 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 wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种具有可搜索功能的代理隐私集合求交方法,在保护数据隐私的前提下,实现了外包数据后能同时进行可搜索加密存储和代理隐私集合求交计算。根据数据库的大小不同所产生的具体需求,设计了两个具体的协议来实现可搜索加密和隐私集合求交的结合。第一个方案FS‑PSI结合流密码,适用于较小的数据集,简单易用,对用户友好。第二个方案SS‑PSI结合基于索引构造的SSE方案并且适用于较大的数据库,对用户有额外要求。相较于其它代理隐私集合求交协议拥有最优的交互和计算复杂度。

Description

具有可搜索功能的代理隐私集合求交方法
技术领域
本发明涉及代理隐私集合求交技术领域,特别涉及一种具有可搜索功能的代理隐私集合求交方法。
背景技术
随着云计算的发展,数据外包存储也逐渐热门起来。云存储平台的兴起为个人和企业都提供了很多便利,例如降低数据存储成本和数据管理开销。然而,用户的数据如果未经任何加密来存储会很容易泄露信息。此外,我们总是要考虑云服务器的不可信性即我们不希望服务器可以监视我们的数据。然而,通过传统加密方式(如3-DES或AES)加密的数据无法满足可搜索的需求,这是数据库的使用中相当重要的一个功能。可搜索加密正是用来解决这一问题的特殊的加密方案。对称可搜索加密(SSE)基于对称加密方案,可以用于构建类似个人云盘的一对一云存储系统。在SSE的帮助下,用户可以将数据加密上传并且能够在之后对数据进行关键字搜索。在近年来的研究中,基于索引进行SSE方案的构造是主流,因为索引结构可以有效地提高搜索效率。
隐私集合求交(PSI)是指各自拥有数据集合的两方,可以在不泄露其它剩余的集合元素下,计算他们集合的交集。PSI技术有包括数据挖掘在内的一系列广泛的现实应用:比如说两家互不信任的公司可以找到共同的用户而不透露整个用户数据;或者多家福利机构能识别出共同的受益人并保护其个人信息。传统的PSI协议属于两方计算协议,而随着云服务的发展,一些能允许云服务器代理隐私集合求交计算的协议也被提出,称为代理隐私集合求交。对比于两方PSI协议,代理PSI协议依赖云服务器的计算资源,可以大大节省用户的计算开销,但相应的也引入了一些额外的安全需求。
考虑这样的场景:两个用户的数据存储在同一个云存储平台中,如果他们希望获取双方在某方面的共同信息,做法是先利用自己的私钥通过可搜索加密从云服务器上搜索并下载相关数据,然后再利用另一个PSI协议来完成交集的计算。由于需要重复地下载和上传数据,这样的方法显然有着太多额外的交互与计算开销。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种具有可搜索功能的代理隐私集合求交方法,该方法只有在用户双方都同意的情况下,云服务器才能通过双方共同生成的计算许可来计算相关数据集的交集;不需要在每次进行PSI计算时重新准备数据,解决了现有协议在新场景下表现不佳的问题,在半诚实敌手模型下具备安全性且高效。
本发明的另一个目的在于提出另一种具有可搜索功能的代理隐私集合求交方法。
为达到上述目的,本发明一方面实施例提出了一种具有可搜索功能的代理隐私集合求交方法,包括:
S11,根据第一用户和第二用户的用户私钥和伪随机函数对各自的明文数据库进行加密生成第一加密数据库和第二加密数据库,并将所述第一加密数据库和所述第二加密数据库上传至服务器;
S12,根据所述第一用户和所述第二用户的用户私钥、待搜索关键词和伪随机函数在本地生成第一搜索陷门和第二搜索陷门,利用所述第一用户与所述第二用户进行交互,通过所述第二用户生成计算许可,将所述第一搜索陷门、所述第二搜索陷门和所述计算许可发送至服务器;
S13,根据所述第一搜索陷门和所述第二搜索陷门,对加密数据库的每一个数据集进行搜索,得到第一搜索结果和第二搜索结果;
S14,根据所述计算许可计算所述第一搜索结果和所述第二搜索结果的交集密文,所述第二用户对所述交集密文进行解密得到交集明文,将所述交集明文发送给所述第一用户。
为达到上述目的,本发明另一方面实施例提出了一种具有可搜索功能的代理隐私集合求交方法,包括:
S21,根据第一用户和第二用户的用户私钥和安全对称加密算法对各自的明文数据库进行加密生成第一加密数据库和第二加密数据库,并利用索引构造方法生成第一索引和第二索引,分别对所述第一用户和所述第二用户的明文数据库中的每一个数据集构建第一指示集合和第二指示集合,对所述第一指示集合和所述第二指示集合进行加密得到第一指示文件和第二指示文件,其中,所述指示集合表明明文数据库的中的每一个关键词是否在该数据集中,将所述第一加密数据库、所述第二加密数据库、所述第一索引、所述第二索引、所述第一指示文件和所述第二指示文件发送至服务器;
S22,根据待搜索关键词,利用所述第一索引和所述第二索引在所述第一解密数据库和所述第二加密数据库中进行搜索,得到第一搜索结果和第二搜索结果,利用所述第一用户与所述第二用户进行交互,通过所述第二用户生成计算许可,将所述计算许可发送至服务器;
S23,根据所述计算许可和所述第一搜索结果与所述第二搜索结果中的指示集合进行匹配,得到临时集合,根据所述临时集合在所述第二用户的明文数据库中进行选择得到交集明文,将所述交集明文发送给所述第一用户。
本发明实施例的具有可搜索功能的代理隐私集合求交方法,具有如下优势和有益效果:
1)本发明允许用户进行多次的PSI问题计算而不需要每次都重新准备数据;
2)本发明对小数据集和大数据集都有相应的方案,使用时可以根据不同场景进行变换;
3)本发明在新的模型下在已有方案中具有最低的通信复杂度和计算复杂度,同时保证了安全性。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明一个实施例的具有可搜索功能的代理隐私集合求交方法流程示意图;
图2为根据本发明一个实施例的具有可搜索功能的代理隐私集合求交方法流程图;
图3为根据本发明一个实施例的建立阶段示意图;
图4为根据本发明一个实施例的陷门与计算许可生成阶段示意图;
图5为根据本发明一个实施例的搜索阶段示意图;
图6为根据本发明一个实施例的代理隐私集合求交阶段示意图;
图7为根据本发明另一个实施例的具有可搜索功能的代理隐私集合求交方法流程图;
图8为根据本发明另一个实施例的建立阶段示意图;
图9为根据本发明另一个实施例的搜索与计算许可生成阶段示意图;
图10为根据本发明另一个实施例的代理隐私集合求交阶段示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的具有可搜索功能的代理隐私集合求交方法。
如图1所示,展示了本发明的整体流程。本发明的可以根据数据集大小进行不同处理,在小数据集和大数据集两种场景下,分别提出了两个具体的协议FS-PSI和SS-PSI。其中FS-PSI协议是在基于流密码的对称可搜索加密方案设计的,这一方法在数据库较小时仍然具有高效的搜索效率,而且简单易用,对用户友好。而SS-PSI协议是在基于索引构建的SSE方案上设计的,对于较大的数据库,索引将大大提高搜索的效率,但是该协议也需要用户额外生成一些用于进行PSI计算的指示文件附于加密数据后。
FS-PSI协议将用户的每一个数据集合看做一串单词流,并假设每个数据集合拥有同样的大小、每一个单词拥有相同的长度且不同的数据集合拥有的关键词不同。协议包括建立阶段、陷门与计算许可生成阶段、搜索阶段、代理隐私集合求交阶段。
图2为根据本发明一个实施例的具有可搜索功能的代理隐私集合求交方法流程图。
如图2所示,该具有可搜索功能的代理隐私集合求交方法包括以下步骤:
步骤S11,根据第一用户和第二用户的用户私钥和伪随机函数对各自的明文数据库进行加密生成第一加密数据库和第二加密数据库,并将第一加密数据库和第二加密数据库上传至服务器。
具体地,首先为建立阶段,包括初始化和加密数据库的生成。初始化包括用户私钥生成、用户本地状态的初始化和伪随机函数的选取。加密数据库即对于每一个单词流的每一个单词,用户将单词和用户私钥作为伪随机函数的输入得到对应单词的加密密钥,然后将单词与对应的加密密钥异或得到关键词对应的密文,全部加密完成后上传到服务器。
进一步地,在本发明的一个实施例中,S11进一步包括:
将用户的每一个数据集合看做一串单词流,对于每一个单词流的每一个单词,第一用户和第二用户将单词和用户私钥作为伪随机函数的输入得到对应单词的加密密钥,将单词与对应的加密密钥异或得到单词对应的密文,全部加密完成生成第一加密数据库和第二加密数据库,并上传到服务器。
在本发明的实施例中,以两个用户为例进行介绍,Alice和Bob是用户,Carol是云服务器。
如图3所示,以Alice为例,两个用户分别建立加密数据库并上传。建立阶段具体步骤如下:Alice确定安全参数λ,生成私钥KA,初始化本地状态,选择伪随机数生成器F。Alice的数据库DBA有n个大小为N的数据集合,第i个集合的形式为
Figure BDA0002961583390000041
对于每个数据集合的每个单词
Figure BDA0002961583390000042
计算
Figure BDA0002961583390000043
得到加密数据库EDBA。最后将EDBA上传给Carol。
步骤S12,根据第一用户和第二用户的用户私钥、待搜索关键词和伪随机函数在本地生成第一搜索陷门和第二搜索陷门,利用第一用户与第二用户进行交互,通过第二用户生成计算许可,将第一搜索陷门、第二搜索陷门和计算许可发送至服务器。
具体地,该步骤为陷门与计算许可生成阶段,包括搜索陷门生成,代理隐私集合求交的计算许可生成。搜索陷门由用户通过用户私钥和待搜索关键词在本地生成,计算许可需要用户双方进行一次交互后由其中一方计算得到,然后全部发送给服务器。
进一步地,在本发明的实施例中,S12进一步包括:
第一用户和第二用户分别生成第一搜索陷门
Figure BDA0002961583390000051
和第二搜索陷门
Figure BDA0002961583390000052
其中,w为待搜索关键词,KA为第一用户的用户私钥,KB为第二用户的用户私钥,F为伪随机函数;
通过第一用户将F(KA,w)发送给第二用户,第二用户生成计算许可
Figure BDA0002961583390000053
Figure BDA0002961583390000054
第一用户将第一搜索陷门发送至服务器,第二用户将第二搜索陷门和计算许可发送至服务器。
具体地,如图4所示,陷门与计算许可生成阶段具体步骤如下:对于要搜索的关键词w,Alice和Bob分别生成搜索陷门
Figure BDA0002961583390000055
然后Alice将F(KA,w)发送给Bob,Bob生成计算许可
Figure BDA0002961583390000056
最后Alice将tA发送给Carol,Bob将tB和Pw发送给Carol。
步骤S13,根据第一搜索陷门和第二搜索陷门,对加密数据库的每一个数据集进行搜索,得到第一搜索结果和第二搜索结果。
具体地,在搜索阶段中,服务器利用收到的搜索陷门对数据库进行搜索,并保留搜索结果。
进一步地,在本发明的实施例中,S13进一步包括:
服务器根据第一搜索陷门在第一加密数据库EDBA中进行搜索,得到第一搜索结果EDBA(w),其中,w为待搜索关键词;
服务器根据第二搜索陷门在第二加密数据库EDBB中进行搜索,得到第二搜索结果EDBB(w)。
具体的,如图5所示,以Alice的加密数据库EDBA为例,搜索阶段具体步骤如下:Carol收到搜索陷门tA后,对每一个加密数据库中的每一个数据集进行如下操作:如果tA在该数据集中,则该数据集就是搜索结果。数据库中不同数据集具有不同的关键词,所以最终结果只有一个数据集,记为EDBA(w)。
步骤S14,根据计算许可计算第一搜索结果和第二搜索结果的交集密文,第二用户对交集密文进行解密得到交集明文,将交集明文发送给第一用户。
具体的,代理隐私集合求交阶段,包括密文数据集求交,解密。密文数据集求交即服务器利用收到的计算许可计算用户双方搜索结果的交集,将结果发送给其中一方。解密即用户收到交集密文后利用搜索关键词和用户私钥生成搜索关键词对应的加密密钥,然后与交集密文异或得到交集明文,并将结果返回。
进一步地,在本发明的一个实施例中,S14进一步包括:
服务器根据第二用户发送的计算许可计算第一搜索结果和第二搜索结果的交集密文
Figure BDA0002961583390000061
并将交集密文发送给第二用户,第二用户利用待搜索关键词w和用户私钥KB生成待搜索关键词对应的加密密钥F(KB,w),再与交集密文
Figure BDA0002961583390000062
异或得到交集明文
Figure BDA0002961583390000063
将交集明文S发送给第一用户。
如图6所示,代理隐私集合求交阶段的具体步骤如下:Carol收到Bob发来的Pw之后,计算交集的密文
Figure BDA0002961583390000064
并将
Figure BDA0002961583390000065
发送给Bob。Bob收到
Figure BDA0002961583390000066
后,将其解密得到交集的明文
Figure BDA0002961583390000067
然后将S发送给Alice。
根据本发明实施例提出的具有可搜索功能的代理隐私集合求交方法,只有在用户双方都同意的情况下,云服务器才能通过双方共同生成的计算许可来计算相关数据集的交集。FS-PSI协议是在基于流密码的对称可搜索加密方案设计的,在数据库较小时仍然具有高效的搜索效率,而且简单易用,对用户友好。
其次参照附图描述根据本发明实施例提出的具有可搜索功能的代理隐私集合求交方法。
图7为根据本发明另一个实施例的具有可搜索功能的代理隐私集合求交方法流程图。
如图7所示,该具有可搜索功能的代理隐私集合求交方法包括:
步骤S21,根据第一用户和第二用户的用户私钥和安全对称加密算法对各自的明文数据库进行加密生成第一加密数据库和第二加密数据库,并利用索引构造方法生成第一索引和第二索引,分别对第一用户和第二用户的明文数据库中的每一个数据集构建第一指示集合和第二指示集合,对第一指示集合和第二指示集合进行加密得到第一指示文件和第二指示文件,其中,指示集合表明明文数据库的中的每一个关键词是否在该数据集中,将第一加密数据库、第二加密数据库、第一索引、第二索引、第一指示文件和第二指示文件发送至服务器。
具体地,SS-PSI协议同样假设不同数据集合具有的关键词不同。协议包括建立阶段、搜索与计算许可生成阶段、代理隐私集合求交阶段。
建立阶段包括初始化、加密数据库和索引生成、指示文件生成。初始化包括用户私钥生成、用户本体状态的初始化、伪随机函数的选取和安全对称加密算法的选取。加密数据库和索引生成即用户根据私钥通过安全对称加密算法对本地明文数据库进行加密并生成相应加密索引。指示文件生成即用户对于数据库中的每一个数据集,给出一个集合,这个集合表明了数据库的中的每一个关键词是否在该数据集中,同时根据用户私钥和关键词利用伪随机数生成器生成的加密密钥对该集合进行加密。加密数据库、指示文件和索引都上传到服务器。
进一步地,在本发明的一个实施例中,S21进一步包括:
第一用户和第二用户利用各自的用户私钥和安全对称加密算法对各自的明文数据库进行加密得到第一加密数据库EDBA和第二加密数据库EDBB
利用对称可搜索加密方案中的索引构造方法分别生成第一用户的第一索引IA和第二用户的第二索引IB
构建第一用户的第一指示集合
Figure BDA0002961583390000071
其中,w为待搜索关键词,WA为第一用户的明文数据集中的关键词全集,S为数据集,当w∈S时,指示集合中对应的值置为2,否则置为1;
构建第二用户的第二指示集合
Figure BDA0002961583390000072
其中,WB为第二用户的明文数据集中的关键词全集,当w∈S时,指示集合中对应的值置为2,否则置为1;
对第一指示集合和第二指示集合进行加密得到
Figure BDA0002961583390000073
Figure BDA0002961583390000074
加密后的第一指示集合和第二指示集合构成第一指示文件
Figure BDA0002961583390000075
和第二指示文件
Figure BDA0002961583390000076
其中,F为伪随机函数,KA为第一用户的用户私钥,KB为第二用户的用户私钥;
将第一加密数据库、第二加密数据库、第一索引、第二索引、第一指示文件和第二指示文件发送至服务器。
如图8所示,以Alice为例,建立阶段具体步骤如下:Alice确定安全参数λ,生成私钥KA,初始化本地状态,选择伪随机数生成器F和安全对称加密算法SKE,以及某对称可搜索加密方案SSE。接着,Alice使用SKE和KA对自己的数据库DBA加密得到加密数据库EDBA,同时,Alice利用SSE方案中的索引构造方法生成索引IA。记DBA的关键词全集为WA,指示文件通过以下方法构造:对于DBA中的每个数据集S,生成一个指示集合
Figure BDA0002961583390000077
Figure BDA0002961583390000078
当w∈S时,指示集合中对应的值置为2,否则置为1。然后对所有的指示集合做一个加密:
Figure BDA0002961583390000079
所有加密后的指示集合就构成了指示文件
Figure BDA00029615833900000710
最后,Alice将EDBA,IA,
Figure BDA00029615833900000711
全部发给Carol。
步骤S22,根据待搜索关键词,利用第一索引和第二索引在第一解密数据库和第二加密数据库中进行搜索,得到第一搜索结果和第二搜索结果,利用第一用户与第二用户进行交互,通过第二用户生成计算许可,将计算许可发送至服务器。
具体地,搜索与计算许可生成阶段,包括基于索引的搜索,代理隐私集合求交的计算许可生成。基于索引的搜索即服务器利用索引对加密数据库进行搜索并保留结果。计算许可生成需要用户双方进行一次交互然后由其中一方计算得到,最后发送给服务器。
进一步地,在本发明的一个实施例中,S22进一步包括:
根据待搜索关键词w,利用第一索引和第二索引在第一解密数据库和第二加密数据库中进行搜索,得到第一搜索结果EDBA(w),
Figure BDA0002961583390000081
和第二搜索结果EDBB(w),
Figure BDA0002961583390000082
其中,
Figure BDA0002961583390000083
为EDBA(w)对应的指示集合,
Figure BDA0002961583390000084
为EDBB(w)对应的指示集合;
通过第一用户将rA=F(KA,w)发送给第二用户,第二用户生成计算许可
Figure BDA0002961583390000085
Figure BDA0002961583390000086
第二用户将计算许可发送至服务器。
如图9所示,搜索与计算许可生成阶段具体步骤如下:根据用户搜索需求关键字w,Carol使用SSE方案中的索引进行搜索,得到搜索结果
Figure BDA0002961583390000087
由于不同数据集合具有不同的关键词,所以EDBA(w),EDBB(w)都是一个数据集合,而
Figure BDA0002961583390000088
是这两个数据集合对应的指示集合。接着Alice将rA=F(KA,w)发送给Bob,Bob收到后计算
Figure BDA0002961583390000089
然后将Pw发送给Carol。
步骤S23,根据计算许可和第一搜索结果与第二搜索结果中的指示集合进行匹配,得到临时集合,根据临时集合在第二用户的明文数据库中进行选择得到交集明文,将交集明文发送给第一用户。
具体地,代理隐私集合求交阶段,包括指示文件匹配,解密后的再选择。指示文件匹配即服务器通过计算许可和两个用户的指示文件得到那些在两个用户的数据集中都存在或者都不存在的元素。解密后的再选择即服务器将上述结果和搜索结果发送给其中一方,然后用户对这两个结果进行解密,通过对解密结果的分析得到交集明文。
进一步地,在本发明的一个实施例中,S23进一步包括:
服务器根据计算许可Pw计算
Figure BDA00029615833900000810
Figure BDA00029615833900000811
Figure BDA00029615833900000812
进行匹配得到临时集合
Figure BDA00029615833900000813
Figure BDA00029615833900000814
将临时集合和第二加密数据库EDBB(w)发送给第二用户,第二用户使用安全对称加密算法和用户私钥对第二加密数据库进行解密得到第二用户的明文数据库,选择临时集合中属于第二用户的明文数据库中的关键词组成交集明文,将交集明文发送给第一用户。
如图10所示,代理隐私集合求交阶段的具体步骤如下:Carol收到Pw后计算
Figure BDA00029615833900000815
接着对
Figure BDA00029615833900000816
Figure BDA00029615833900000817
进行匹配得到临时集合
Figure BDA00029615833900000818
并将集合Stack和之前得到的EDBB(w)一起发送给Bob。Bob收到后,首先使用SKE和KB对EDBB(w)解密得到DBB(w),然后选择Stack中那些属于DBB(w)的关键词,这些关键词组成了交集明文S,即
Figure BDA0002961583390000091
最后将S发送给Alice。
根据本发明实施例提出的具有可搜索功能的代理隐私集合求交方法,只有在用户双方都同意的情况下,云服务器才能通过双方共同生成的计算许可来计算相关数据集的交集。SS-PSI协议是在基于索引构建的SSE方案上设计的,对于较大的数据库,索引将大大提高搜索的效率,但是该协议也需要用户额外生成一些用于进行PSI计算的指示文件附于加密数据后。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (9)

1.一种具有可搜索功能的代理隐私集合求交方法,其特征在于,包括以下步骤:
S11,根据第一用户和第二用户的用户私钥和伪随机函数对各自的明文数据库进行加密生成第一加密数据库和第二加密数据库,并将所述第一加密数据库和所述第二加密数据库上传至服务器;
S12,根据所述第一用户和所述第二用户的用户私钥、待搜索关键词和伪随机函数在本地生成第一搜索陷门和第二搜索陷门,利用所述第一用户与所述第二用户进行交互,通过所述第二用户生成计算许可,将所述第一搜索陷门、所述第二搜索陷门和所述计算许可发送至服务器;
S13,根据所述第一搜索陷门和所述第二搜索陷门,对加密数据库的每一个数据集进行搜索,得到第一搜索结果和第二搜索结果;
S14,根据所述计算许可计算所述第一搜索结果和所述第二搜索结果的交集密文,所述第二用户对所述交集密文进行解密得到交集明文,将所述交集明文发送给所述第一用户。
2.根据权利要求1所述的方法,其特征在于,所述S11进一步包括:
将用户的每一个数据集合看做一串单词流,对于每一个单词流的每一个单词,所述第一用户和所述第二用户将单词和用户私钥作为伪随机函数的输入得到对应单词的加密密钥,将单词与对应的加密密钥异或得到单词对应的密文,全部加密完成生成所述第一加密数据库和所述第二加密数据库,并上传到服务器。
3.根据权利要求2所述的方法,其特征在于,所述S12进一步包括:
所述第一用户和所述第二用户分别生成所述第一搜索陷门
Figure FDA0002961583380000011
和所述第二搜索陷门
Figure FDA0002961583380000012
其中,w为待搜索关键词,KA为所述第一用户的用户私钥,KB为所述第二用户的用户私钥,F为伪随机函数;
通过所述第一用户将F(KA,w)发送给所述第二用户,所述第二用户生成所述计算许可
Figure FDA0002961583380000013
所述第一用户将所述第一搜索陷门发送至服务器,所述第二用户将所述第二搜索陷门和所述计算许可发送至服务器。
4.根据权利要求3所述的方法,其特征在于,所述S13进一步包括:
服务器根据所述第一搜索陷门在所述第一加密数据库EDBA中进行搜索,得到所述第一搜索结果EDBA(w),其中,为待搜索关键词;
服务器根据所述第二搜索陷门在所述第二加密数据库EDBB中进行搜索,得到所述第二搜索结果EDBB(w)。
5.根据权利要求4所述的方法,其特征在于,所述S14进一步包括:
服务器根据所述第二用户发送的所述计算许可计算所述第一搜索结果和所述第二搜索结果的交集密文
Figure FDA0002961583380000021
并将所述交集密文发送给所述第二用户,所述第二用户利用待搜索关键词w和用户私钥KB生成待搜索关键词对应的加密密钥F(KB,w),再与所述交集密文
Figure FDA0002961583380000022
异或得到交集明文
Figure FDA0002961583380000023
将所述交集明文S发送给所述第一用户。
6.一种具有可搜索功能的代理隐私集合求交方法,其特征在于,包括:
S21,根据第一用户和第二用户的用户私钥和安全对称加密算法对各自的明文数据库进行加密生成第一加密数据库和第二加密数据库,并利用索引构造方法生成第一索引和第二索引,分别对所述第一用户和所述第二用户的明文数据库中的每一个数据集构建第一指示集合和第二指示集合,对所述第一指示集合和所述第二指示集合进行加密得到第一指示文件和第二指示文件,其中,所述指示集合表明明文数据库的中的每一个关键词是否在该数据集中,将所述第一加密数据库、所述第二加密数据库、所述第一索引、所述第二索引、所述第一指示文件和所述第二指示文件发送至服务器;
S22,根据待搜索关键词,利用所述第一索引和所述第二索引在所述第一解密数据库和所述第二加密数据库中进行搜索,得到第一搜索结果和第二搜索结果,利用所述第一用户与所述第二用户进行交互,通过所述第二用户生成计算许可,将所述计算许可发送至服务器;
S23,根据所述计算许可和所述第一搜索结果与所述第二搜索结果中的指示集合进行匹配,得到临时集合,根据所述临时集合在所述第二用户的明文数据库中进行选择得到交集明文,将所述交集明文发送给所述第一用户。
7.根据权利要求6所述的方法,其特征在于,所述S21进一步包括:
所述第一用户和所述第二用户利用各自的用户私钥和安全对称加密算法对各自的明文数据库进行加密得到所述第一加密数据库EDBA和所述第二加密数据库EDBB
利用对称可搜索加密方案中的索引构造方法分别生成所述第一用户的第一索引IA和所述第二用户的第二索引IB
构建所述第一用户的第一指示集合
Figure FDA0002961583380000024
其中,W为待搜索关键词,WA为所述第一用户的明文数据集中的关键词全集,S为数据集,当w∈S时,指示集合中对应的值置为2,否则置为1;
构建所述第二用户的第二指示集合
Figure FDA0002961583380000025
其中,WB为所述第二用户的明文数据集中的关键词全集,当w∈S时,指示集合中对应的值置为2,否则置为1;
对所述第一指示集合和所述第二指示集合进行加密得到
Figure FDA0002961583380000031
Figure FDA0002961583380000032
Figure FDA0002961583380000033
加密后的第一指示集合和第二指示集合构成第一指示文件
Figure FDA0002961583380000034
和第二指示文件
Figure FDA0002961583380000035
其中,F为伪随机函数,KA为所述第一用户的用户私钥,KB为所述第二用户的用户私钥;
将所述第一加密数据库、所述第二加密数据库、所述第一索引、所述第二索引、所述第一指示文件和所述第二指示文件发送至服务器。
8.根据权利要求7所述的方法,其特征在于,所述S22进一步包括:
根据待搜索关键词w,利用所述第一索引和所述第二索引在所述第一解密数据库和所述第二加密数据库中进行搜索,得到第一搜索结果
Figure FDA0002961583380000036
和所述第二搜索结果
Figure FDA0002961583380000037
其中,
Figure FDA0002961583380000038
为EDBA(w)对应的指示集合,
Figure FDA0002961583380000039
为EDBB(w)对应的指示集合;
通过所述第一用户将rA=F(KA,w)发送给所述第二用户,所述第二用户生成所述计算许可
Figure FDA00029615833800000310
所述第二用户将所述计算许可发送至服务器。
9.根据权利要求8所述的方法,其特征在于,所述S23进一步包括:
服务器根据所述计算许可Pw计算
Figure FDA00029615833800000311
Figure FDA00029615833800000312
Figure FDA00029615833800000313
进行匹配得到所述临时集合Stack={x|x∈WB
Figure FDA00029615833800000314
将所述临时集合和所述第二加密数据库EDBB(w)发送给所述第二用户,所述第二用户使用安全对称加密算法和用户私钥对所述第二加密数据库进行解密得到所述第二用户的明文数据库,选择所述临时集合中属于所述第二用户的明文数据库中的关键词组成所述交集明文,将所述交集明文发送给所述第一用户。
CN202110239426.2A 2021-03-04 2021-03-04 具有可搜索功能的代理隐私集合求交方法 Active CN113132345B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110239426.2A CN113132345B (zh) 2021-03-04 2021-03-04 具有可搜索功能的代理隐私集合求交方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110239426.2A CN113132345B (zh) 2021-03-04 2021-03-04 具有可搜索功能的代理隐私集合求交方法

Publications (2)

Publication Number Publication Date
CN113132345A true CN113132345A (zh) 2021-07-16
CN113132345B CN113132345B (zh) 2022-07-26

Family

ID=76772764

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110239426.2A Active CN113132345B (zh) 2021-03-04 2021-03-04 具有可搜索功能的代理隐私集合求交方法

Country Status (1)

Country Link
CN (1) CN113132345B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114398660A (zh) * 2021-11-29 2022-04-26 北京航空航天大学 一种基于Word2vec和ASPE的高效模糊可搜索加密方法
CN114491613A (zh) * 2021-11-11 2022-05-13 北京航空航天大学 高效可搜索的代理隐私集合求交方法及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326360A (zh) * 2016-08-10 2017-01-11 武汉科技大学 一种云环境中密文数据的模糊多关键词检索方法
CN108197499A (zh) * 2018-01-11 2018-06-22 暨南大学 一种可验证的密文数据范围查询方法
CN108494768A (zh) * 2018-03-22 2018-09-04 深圳大学 一种支持访问控制的密文搜索方法及系统
CN108777623A (zh) * 2018-05-03 2018-11-09 上海海事大学 一种基于模糊关键字搜索的可撤销公钥加密方法
CN109766314A (zh) * 2019-01-07 2019-05-17 西安电子科技大学 基于概率陷门的密文数据多关键词搜索方法
CN110427771A (zh) * 2019-06-25 2019-11-08 西安电子科技大学 一种检索模式隐藏的可搜索加密方法、云服务器
CN110474764A (zh) * 2019-07-17 2019-11-19 华南农业大学 密文数据集交集计算方法、装置、系统、客户端、服务器及介质
CN110622165A (zh) * 2018-04-19 2019-12-27 谷歌有限责任公司 用于确定隐私集交集的安全性措施
US10691754B1 (en) * 2015-07-17 2020-06-23 Hrl Laboratories, Llc STAGS: secure, tunable, and accountable generic search in databases
CN112380553A (zh) * 2020-11-25 2021-02-19 华南理工大学 基于属性访问控制结构的多密钥可搜索加密方法及系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10691754B1 (en) * 2015-07-17 2020-06-23 Hrl Laboratories, Llc STAGS: secure, tunable, and accountable generic search in databases
CN106326360A (zh) * 2016-08-10 2017-01-11 武汉科技大学 一种云环境中密文数据的模糊多关键词检索方法
CN108197499A (zh) * 2018-01-11 2018-06-22 暨南大学 一种可验证的密文数据范围查询方法
CN108494768A (zh) * 2018-03-22 2018-09-04 深圳大学 一种支持访问控制的密文搜索方法及系统
CN110622165A (zh) * 2018-04-19 2019-12-27 谷歌有限责任公司 用于确定隐私集交集的安全性措施
CN108777623A (zh) * 2018-05-03 2018-11-09 上海海事大学 一种基于模糊关键字搜索的可撤销公钥加密方法
CN109766314A (zh) * 2019-01-07 2019-05-17 西安电子科技大学 基于概率陷门的密文数据多关键词搜索方法
CN110427771A (zh) * 2019-06-25 2019-11-08 西安电子科技大学 一种检索模式隐藏的可搜索加密方法、云服务器
CN110474764A (zh) * 2019-07-17 2019-11-19 华南农业大学 密文数据集交集计算方法、装置、系统、客户端、服务器及介质
CN112380553A (zh) * 2020-11-25 2021-02-19 华南理工大学 基于属性访问控制结构的多密钥可搜索加密方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
YAMIN WEN等: "Intersection-policy private mutual authentication from authorized private set intersection", 《SCIENCE CHINA》 *
惠榛等: "一种可抵抗统计攻击的安全索引", 《计算机研究与发展》 *
李雪等: "可搜索加密机制研究", 《计算机技术与发展》 *
陈超群等: "一种面向隐私保护的密文检索算法", 《计算机科学》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114491613A (zh) * 2021-11-11 2022-05-13 北京航空航天大学 高效可搜索的代理隐私集合求交方法及装置
CN114491613B (zh) * 2021-11-11 2024-04-16 北京航空航天大学 高效可搜索的代理隐私集合求交方法及装置
CN114398660A (zh) * 2021-11-29 2022-04-26 北京航空航天大学 一种基于Word2vec和ASPE的高效模糊可搜索加密方法

Also Published As

Publication number Publication date
CN113132345B (zh) 2022-07-26

Similar Documents

Publication Publication Date Title
CN111835500B (zh) 基于同态加密与区块链的可搜索加密数据安全共享方法
CN109660555B (zh) 基于代理重加密的内容安全分享方法和系统
Cui et al. Efficient and expressive keyword search over encrypted data in cloud
CN108599937B (zh) 一种多关键字可搜索的公钥加密方法
Salam et al. Implementation of searchable symmetric encryption for privacy-preserving keyword search on cloud storage
Yang et al. Achieving efficient and privacy-preserving cross-domain big data deduplication in cloud
CN102356597B (zh) 用于在网络中安全通信的方法、及其通信设备、网络
Ren et al. Secure searching on cloud storage enhanced by homomorphic indexing
CN108111587B (zh) 一种基于时间释放的云存储搜索方法
Bösch et al. Distributed searchable symmetric encryption
CN112332979B (zh) 云计算环境中的密文搜索方法及系统、设备
CN110866135B (zh) 一种基于响应长度隐藏的k-NN图像检索方法及系统
CN113132345B (zh) 具有可搜索功能的代理隐私集合求交方法
CN115603934A (zh) 基于区块链的多用户可搜索加密方法和装置
Huang et al. FSSR: Fine-grained EHRs sharing via similarity-based recommendation in cloud-assisted eHealthcare system
Ma et al. CP‐ABE‐Based Secure and Verifiable Data Deletion in Cloud
Ying et al. Reliable policy updating under efficient policy hidden fine-grained access control framework for cloud data sharing
CN111556048B (zh) 一种支持密文模式匹配的属性基安全通信方法及系统
CN114598472A (zh) 基于区块链的条件隐藏可搜索代理重加密方法及存储介质
Wen et al. Leaf: A faster secure search algorithm via localization, extraction, and reconstruction
Xu et al. Secure deduplication for big data with efficient dynamic ownership updates
CN113630250A (zh) 基于数据加密的模型训练方法及系统
CN117786751A (zh) 一种对称可搜索加密方法、装置、设备及介质
Yan et al. Secure and efficient big data deduplication in fog computing
CN108920968B (zh) 一种基于连接关键词的文件可搜索加密方法

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
GR01 Patent grant
GR01 Patent grant