CN117112503A - 一种无隐私泄漏的端到端的加密文件搜索系统 - Google Patents
一种无隐私泄漏的端到端的加密文件搜索系统 Download PDFInfo
- Publication number
- CN117112503A CN117112503A CN202311076241.XA CN202311076241A CN117112503A CN 117112503 A CN117112503 A CN 117112503A CN 202311076241 A CN202311076241 A CN 202311076241A CN 117112503 A CN117112503 A CN 117112503A
- Authority
- CN
- China
- Prior art keywords
- encrypted
- cloud server
- client device
- mac
- data
- 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
Links
- 238000000034 method Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 34
- 239000000203 mixture Substances 0.000 description 11
- 230000009467 reduction Effects 0.000 description 8
- 238000010276 construction Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 241000544061 Cuculus canorus Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/156—Query results presentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6227—Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Library & Information Science (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种无隐私泄漏的端到端的加密文件搜索系统,包括:客户端设备,用于为文件生成二进制混合过滤器并将其加密;将加密二进制混合过滤器分别发送至第一和第二云服务器中存储;根据查询关键词构建分布式多点函数,并生成第一密钥和第二密钥发给两个服务器;两个服务器,用于根据自己的密钥对加密二进制混合过滤器进行搜索,将加密搜索数据返回给客户端设备,以使客户端设备根据第一和第二加密搜索数据得到搜索结果。本发明在保护数据隐私的基础上实现高效的搜索。
Description
技术领域
本发明属于计算机技术领域,具体涉及一种无隐私泄漏的端到端的加密文件搜索系统。
背景技术
随着云计算技术的普及,越来越多的用户选择将数据外包到云服务器上。通过云服务器,用户可以将文件储存到云服务器上并且通过云服务器快速检索数据。然而,云服务器存在信息泄露的风险使得用户不能完全信任云服务器的隐私保护服务。
针对上述问题,端到端加密技术提供了一种解决方法。在端到端加密技术中,用户将包含数据的文件加密后上传到云服务器,攻击者在只获得加密文件的情况下无法威胁数据的私密性。但与之相对的,文件加密后对云服务器的检索服务带来了很大的挑战。
现有技术中,为了实现对在云服务器上对加密文件的检索,Dauterman等人提出了一种Dory方案。该Dory方案为每个文件产生一个用于存储文件的布隆过滤器并用流密码进行加密,当云服务器接收到查询的请求时,使用DPF(分布式点函数)实现对加密文件的搜索。
然而,Dory方案存在以下两方面的缺陷:
(1)搜索时长会随着文件储存关键词个数的增加而快速增加;
(2)搜索时长会随着搜索误码率的下降而快速增大。
由于上述这两个缺点,使得Dory方案在面对大规模数据集时查询速度较慢。
发明内容
为了解决现有技术中所存在的上述问题,本发明提供了一种无隐私泄漏的端到端的加密文件搜索系统。
本发明要解决的技术问题通过以下技术方案实现:
一种无隐私泄漏的端到端的加密文件搜索系统,包括:客户端设备、第一云服务器和第二云服务器;
所述客户端设备,用于为用户上传的文件生成二进制混合过滤器以存储文件;对所述二进制混合过滤器进行加密;将加密二进制混合过滤器分别发送至所述第一云服务器和所述第二云服务器中存储;
所述客户端设备,还用于根据用户输入的至少一个查询关键词构建分布式多点函数,所述分布式多点函数关联第一子功能函数和第二子功能函数;所述第一子功能函数用于根据分布式多点函数值生成一对密钥,所述第二子功能函数用于根据所述密钥计算分布式多点函数值;
所述客户端设备,还用于利用所述第一子功能函数生成第一密钥和第二密钥;将所述第一密钥发送至所述第一云服务器,并将所述第二密钥发送至所述第二云服务器;
所述第一云服务器,用于根据所述第一密钥,利用所述第二子功能函数对所述加密二进制混合过滤器进行搜索,得到第一加密搜索数据,将所述第一加密搜索数据返回给所述客户端设备;
所述第二云服务器,用于根据所述第二密钥,利用所述第二子功能函数对所述加密二进制混合过滤器进行搜索,得到第二加密搜索数据,将所述第二加密搜索数据返回给所述客户端设备;
所述客户端设备,还用于根据所述第一加密搜索数据和所述第二加密搜索数据得到搜索结果。
在一个实施例中,所述客户端设备,根据所述第一加密搜索数据和所述第二加密搜索数据得到搜索结果,包括:
对所述第一加密搜索数据和所述第二加密搜索数据做异或运算,得到待验证数据,并对所述待验证数据进行解密,得到解密数据;
利用指纹函数计算所述至少一个查询关键词的指纹,并计算各个指纹的异或和;其中,所述指纹函数是生成所述二进制混合过滤器的过程中所用到的指纹函数;
判断所述各个指纹的异或和与所述待验证数据是否匹配;如果匹配,将所述解密数据作为所述搜索结果。
在一个实施例中,所述客户端设备,对所述二进制混合过滤器进行加密,包括:利用流密码对所述二进制混合过滤器进行加密;
所述客户端设备,对所述待验证数据进行解密,得到解密数据,包括:利用流密码对所述待验证数据进行解密,得到解密数据。
在一个实施例中,所述客户端设备,还用于:
响应于文件更新请求,为更新后的文件生成新的二进制混合过滤器,对新的二进制混合过滤器进行加密,将新的加密二进制混合过滤器分别发送至所述第一云服务器和所述第二云服务器,同时告知所述第一云服务器和所述第二云服务器用新的加密二进制混合过滤器替换旧的加密二进制混合过滤器。
在一个实施例中,所述二进制合过滤器包括N×M的索引表;
所述客户端设备,还用于在生成所述二进制混合过滤器之后,为所述索引表中的每个元素均生成异或同态的消息认证码作为该元素的tag;分别计算所述索引表中每一列元素的tag的异或和MACxor,形成MACxor表;在本地存储所述MACxor表,并将所述MACxor表分别发送至所述第一云服务器和所述第二云服务器;
所述第一云服务器,还用于在得到第一加密搜索数据后,根据所述第一加密搜索数据在所述加密二进制合过滤器中的位置,从所述MACxor表中确定一MACxor值作为MACxor1‘,以将所述第一加密搜索数据和MACxor1‘同时返回给所述客户端设备;
所述第二云服务器,还用于在得到第二加密搜索数据后,根据所述第二加密搜索数据在所述加密二进制合过滤器中的位置,从所述MACxor表中确定一MACxor值作为MACxor2‘,以将所述第二加密搜索数据和MACxor2‘同时返回给所述客户端设备;
所述客户端设备,还用于根据MACxor1‘和MACxor2‘判断所述第一加密搜索数据和所述第二加密搜索数据是否被篡改。
在一个实施例中,所述客户端设备,还用于在响应于文件更新请求为更新后的文件生成新的二进制混合过滤器之后,生成新的MACxor表,以将新的加密二进制混合过滤器和新的MACxor表同时发送至所述第一云服务器和所述第二云服务器;
所述第一云服务器和所述第二云服务器,还用于根据新的MACxor表对旧的MACxor表进行更新。
本发明提供的无隐私泄漏的端到端的加密文件搜索系统,使用二进制混合过滤器来存储文件,使用分布式多点函数(DMPF)实现文件搜索。其中,对于单个查询关键词的搜索任务来说,本发明的搜索复杂度为O(3M),而现有Dory方案的搜索复杂度为O(Km),其中M为二进制异或过滤器长度,M<<m,m为现有Dory方案中使用的布隆过滤器长度,K为现有Dory方案中使用的布隆过滤器中的哈希函数的个数。由于布隆过滤器长度随误码率的减小而增加,故现有Dory方案的搜索复杂度随误码率的减小而增加,而本发明中二进制异或过滤器长度不随误码率的减小而增加,因此本发明的搜索复杂度不随误码率的减小而增加。对于多个查询关键词的搜索任务来说,本发明的搜索复杂度为O(3M),而现有Dory方案的搜索复杂度为O(QKm),其中Q为查询关键词的个数。因此,本发明的搜索复杂度不随着查询关键词个数的增加而增加。综上可见,本发明可以提高在面对大规模数据集时的搜索速度,在实现保护数据隐私的基础上实现高效的搜索。
以下将结合附图及对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的一种无隐私泄漏的端到端的加密文件搜索系统的交互示意图;
图2是本发明实施例中的索引表的示意图;
图3是本发明实施例与现有Dory方案的服务器查询时间随误码率变化的比较结果;
图4是本发明实施例与现有Dory方案的客户端查询时间随误码率变化的比较结果;
图5是本发明实施例与现有Dory方案的服务器查询时间随文档数量变化的比较结果;
图6是本发明实施例与现有Dory方案的客户端查询时间随文档数量变化的比较结果;
图7是本发明实施例与现有Dory方案的服务器查询时间随关键词数变化的比较结果;
图8是本发明实施例与现有Dory方案的客户端查询时间随关键词数变化的比较结果。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
为了在实现保护数据隐私的基础上实现高效的搜索,本发明实施例提供了一种无隐私泄漏的端到端的加密文件搜索系统,如图1所示,该系统包括:客户端设备、第一云服务器和第二云服务器。该系统中,用户可以选择把包含数据的文件上传到云端的两个服务器,由两个服务器分别为用户储存和搜索数据,且该过程中无隐私泄露,下面对该系统达到此效果所采用的工作方式进行详细说明。
客户端设备,用于为用户上传的文件生成二进制混合过滤器以存储文件;对二进制混合过滤器进行加密;将加密二进制混合过滤器分别发送至第一云服务器和第二云服务器中存储;
具体的,假设用户上传了N个文件,每个文件由最多n个关键词组成,并以二进制混合过滤器的形式存储。为此,客户端设备需要初始化一个二进制混合过滤器,指定其最大容纳关键词数为n,误码率为再根据误码率为其构造指纹函数F,该函数实现从单个关键词到n-bit整数的映射。最后初始化一个长为1.23n的数组H。在设置好二进制混合过滤器的参数后,对于用户输入的每个文件Si,客户端设备将该Si、数组H以及指纹函数F输入到二进制混合过滤器构造算法(BFF.build)中运行BFF.build,得到长为m=1.125n的数组Bi以及与Bi相关联的三个哈希h0,h1,h2;其中,数组Bi的每个位置能容纳一个k-bit的整数,同时数组Bi被分为3段。多个文件的数组Bi可形成一个如图2所示N×m的索引表。然后,客户端设备将各个文件的数组Bi进行加密后分别发送至第一云服务器和第二云服务器中存储。
可以理解的是,为了节约数据的存储开销和查询开销,最常用的文件存储方式是采用布隆过滤器和布谷鸟过滤器,异或过滤器比布隆过滤器和布谷鸟过滤器更快更小,其在存储空间中处于理论下限的23%以内。特别的,本发明实施例中使用的二进制混合过滤器在存储下限的13%以内,且二进制混合过滤器的构建速度是异或过滤器的两倍以上。
客户端设备,还用于根据用户输入的至少一个查询关键词构建分布式多点函数,该分布式多点函数关联第一子功能函数(DMPF.Gen)和第二子功能函数(DMPF.Eval);第一子功能函数用于根据分布式多点函数值生成一对密钥,第二子功能函数用于根据密钥计算分布式多点函数值。
其中,分布式多点函数(DMPF)为通过PRP(pseudo random permutation,伪随机置换)哈希构造的DMPF,该分布式多点函数可以表示为:
其中,x表示分布式多点函数f(x)的输入参数,为查询关键词word的集合,该集合中包含Q个word,hj为客户端设备生成二进制混合过滤器时所产生的哈希函数。
DMPF.Gen是以f(x)的t个点函数值和1λ为算法输入、输出(k0,k1)的函数,k0和k1为一对密钥。(αi,βi)表示f(x)的一对输入和输出,对于x=αi,f(αi)=βi,而对于x≠αi,f(x)=0。λ为预设的安全参数。其中,每个word对应3个点函数值,不同word对应的3个点函数值可能重复,因此因此t小于或等于/>
DMPF.Eval是以密钥kb以及为输入、输出为m个f(x)值的函数,b∈{0,1};其中,/>表示f(x)的输入域,x1,...,xm为/>中的m个。
另外,关于DMPF.Gen和DMPF.Eval的具体算法内容,可参见有关DMPF的现有技术介绍,本发明实施例不做赘述。
客户端设备,还用于利用第一子功能函数生成第一密钥和第二密钥;将第一密钥发送至第一云服务器,并将第二密钥发送至第二云服务器;
具体的,客户端设备通过运行DMPF.Gen生成第一密钥k0和第二密钥k1。
第一云服务器,用于根据第一密钥,利用第二子功能函数对加密二进制混合过滤器进行搜索,得到第一加密搜索数据,将第一加密搜索数据返回给客户端设备;
具体的,第一云服务器将密钥k0和索引表的每一列分别输入DMPF.Eval,通过运行DMPF.Eval得到每一列的运算结果,然后第一云服务器计算作为第一加密搜索数据返回给所述客户端设备;其中,h为索引表的列索引。B(h)表示索引表里的第h列数据,DMPF.Eval(k0,h)表示DMPF.Eval的运算结果。
第二云服务器,用于根据第二密钥,利用第二子功能函数对加密二进制混合过滤器进行搜索,得到第二加密搜索数据,将第二加密搜索数据返回给客户端设备;
具体的,第二云服务器将密钥k1和索引表的每一列分别输入DMPF.Eval,通过运行DMPF.Eval得到每一列的运算结果,然后第二云服务器计算作为第二加密搜索数据返回给客户端设备;
其中,
客户端设备,还用于根据第一加密搜索数据和第二加密搜索数据得到搜索结果。
具体的,客户端设备对第一加密搜索数据和第二加密搜索数据做异或运算,即计算得到待验证数据f′之后对待验证数据进行解密,得到解密数据;然后客户端设备利用指纹函数计算用户输入的至少一个查询关键词的指纹,并计算各个指纹的异或和,即计算/>这里,指纹函数即是客户端设备生成二进制混合过滤器的过程中所用到的指纹函数;然后,客户端设备判断各个指纹的异或和与待验证数据f′是否匹配,即判断两者是否相等;如果匹配,则将其对应的文件添加到搜索结果。
本发明提供的无隐私泄漏的端到端的加密文件搜索系统,使用二进制混合过滤器来存储文件,使用分布式多点函数(DMPF)实现文件搜索。其中,对于单个查询关键词的搜索任务来说,本发明的搜索复杂度为O(3M),而现有Dory方案的搜索复杂度为O(Km),其中M为二进制异或过滤器长度,M<<m,m为现有Dory方案中使用的布隆过滤器长度,K为现有Dory方案中使用的布隆过滤器中的哈希函数的个数。由于布隆过滤器长度随误码率的减小而增加,故现有Dory方案的搜索复杂度随误码率的减小而增加,而本发明中二进制异或过滤器长度不随误码率的减小而增加,因此本发明的搜索复杂度不随误码率的减小而增加。对于多个查询关键词的搜索任务来说,本发明的搜索复杂度为O(3M),而现有Dory方案的搜索复杂度为O(QKm),其中Q为查询关键词的个数。因此,本发明的搜索复杂度不随着查询关键词个数的增加而增加。综上可见,本发明可以提高在面对大规模数据集时的搜索速度,在实现保护数据隐私的基础上实现高效的搜索。
在一个实施例中,客户端设备,对二进制混合过滤器进行加密,可以包括:利用流密码对二进制混合过滤器进行加密;相应的,客户端设备,对待验证数据进行解密,包括:利用流密码对待验证数据进行解密。
在一个实施例中,本发明实施例提供的无隐私泄漏的端到端的加密文件搜索系统还支持文件更新,此时,客户端设备,还用于:响应于文件更新请求,为更新后的文件生成新的二进制混合过滤器,对新的二进制混合过滤器进行加密,将新的加密二进制混合过滤器发送至第一云服务器和第二云服务器,同时告知第一云服务器和第二云服务器用新的加密二进制混合过滤器替换旧的加密二进制混合过滤器。相应的,第一云服务器和第二云服务器收到了新的加密二进制混合过滤器后,用其替换掉旧的加密二进制混合过滤器。
在一个实施例中,在文件存储阶段,客户端设备,还用于在生成二进制混合过滤器之后,为其索引表中的每个元素均生成异或同态的消息认证码作为该元素的tag;分别计算所述索引表中每一列元素的tag的异或和MACxor,得到MACxor表,该MACxor表只有一行数据;客户端设备在本地存储MACxor表,并将MACxor表分别发送至第一云服务器和第二云服务器。
第一云服务器,还用于在得到第一加密搜索数据后,根据第一加密搜索数据在加密二进制合过滤器中的位置,从MACxor表中确定一MACxor值作为MACxor1‘,以将第一加密搜索数据和MACxor1‘同时返回给客户端设备;
具体而言,第一云服务器首先计算以此来获悉第一加密搜索数据在加密二进制合过滤器中的位置,即如果第一加密搜索数据在第h列,则用MACxor表中第h个元素MACxor(h)给/>赋值,如果第一加密搜索数据不在第h列,则给/>赋0;然后,第一云服务器计算/>返回给客户端设备。
第二云服务器,还用于在得到第二加密搜索数据后,根据第二加密搜索数据在加密二进制合过滤器中的位置,从MACxor表中确定一MACxor值作为MACxor2‘,以将第二加密搜索数据和MACxor2‘同时返回给客户端设备。
具体的,第二云服务器首先计算以此来获悉第二加密搜索数据在加密二进制合过滤器中的位置,即如果第二加密搜索数据在第h列,则用MACxor表中第h个元素MACxor(h)给/>赋值,如果第二加密搜索数据不在第h列,则给/>赋0;然后,第二云服务器计算/> 返回给客户端设备。
客户端设备,还用于根据MACxor1‘和MACxor2‘判断第一加密搜索数据和第二加密搜索数据是否被篡改。
具体的,客户端设备用哈希函数h0(x),h1(x),h2(x)计算映射到的列,再计算这些列对应的tag异或和,并将其与/>比较,若相等则说明数据未被篡改,否则说明数据已经被篡改。
可以理解的是,实际中系统内可能存在恶意攻击者,它可能通过主动攻击修改服务器返回给客户端的数据。为了抵抗恶意攻击者,现有的Dory方案中利用消息认证码(Mac)对索引表中的每个元素生成一个tag。在服务器返回选中的列数据时,也会将其对应的tag返回。在得到两个服务器的响应后,客户端可以检查每个元素的tag是否正确。但是,Dory方案中使用的这种通用MAC不能用于本发明实施例。这是因为,本发明中客户端设备得到的f′解密后是多列元素的异或和,如果使用通用MAC,则服务器返回的tag同样也是多个tag的异或和。而对于一般的Mac而言,很大概率不成立。因此,本发明实施例中使用了具有异或同态的Macxor构造MACxor表,客户端设备可以通过MACxor表来验证结果的正确性,从而抵御恶意攻击。并且,本发明中客户端设备和服务器存储的MACxor表为单行表,减小了客户端设备和服务器的储存开销。
在上述包含MACxor表的实施例的基础上,本发明实施例提供的无隐私泄漏的端到端的加密文件搜索系统同样支持文件更新。
具体而言,客户端设备,还用于在响应于文件更新请求为更新后的文件生成新的二进制混合过滤器之后,生成新的MACxor表(生成方式参见上文),以将新的加密二进制混合过滤器和新的MACxor表同时发送至第一云服务器和第二云服务器;
相应的,第一云服务器和第二云服务器,还用于根据新的MACxor表对旧的MACxor表进行更新。具体更新方式为计算新旧两个MACxor表的异或,计算结果即是更新后的MACxor表。
下面用实际测试数据对本发明实施例的有益效果进行进一步的说明。
实验过程中,利用安然数据集进行测试。之所以选择使用安然事件的数据集,是因为安然的电子邮件数据库150名前安然员工之间的50万封电子邮件,主要是高级管理人员。这也是唯一的大型公共的真实邮件数据库。下面将本发明从误码率,文件数,查询关键词数量三个维度与Dory方案相比。
(1)误码率比较
在查询关键词数6,文档数为514324的条件下,测试本发明和Dory方案在误码率变化时的客户端设备查询时间与服务端查询时间。测试的结果如图3、图4所示。可以看出,随着误码率的增加,Dory方案由于使用布隆过滤器存储文件,误码率的增加导致布隆过滤器的长度增加,DPF.eval()函数的运行次数随之增加,最终导致了服务器与客户端的查询时间急速增加。而在本发明中,误码率的增加并不会导致数组长度的增加,所以总体趋势趋向平稳。此外还可以看出,本发明中的查询时间远远小于Dory方案的查询时间。
(2)文件数量比较
在误码率(1/2)^24、查询关键词数为6的条件下,当文件数量变化时,客户端设备和服务器的查询时间变化如图5和图6所示。虽然无论是Dory方案还是本发明,其文件数量的增加都会导致查询时间的增加,但本发明的查询时间还是远小于Dory方案。
(3)查询关键词数量比较
在误码率(1/2)^24、文档数514324的条件下,当文件数量变化时,客户端设备和服务器的查询时间变化如图7和图8所示。由于本发明中采取了DMPF,可以应对多点函数的秘密共享,所以关键词数的增加并不会影响查询时间的变化。从图中可以看出,本发明在客户端和服务器的查询时间都趋向平稳,同时本发明的查询时间也远低于Dory方案。
需要说明的是,术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与本公开的一些方面相一致的装置和方法的例子。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图以及公开内容,可理解并实现所述公开实施例的其他变化。在本发明的描述中,“包括”一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况,“多个”的含义是两个或两个以上,除非另有明确具体的限定。此外,相互不同的实施例中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (6)
1.一种无隐私泄漏的端到端的加密文件搜索系统,其特征在于,包括:客户端设备、第一云服务器和第二云服务器;
所述客户端设备,用于为用户上传的文件生成二进制混合过滤器以存储文件;对所述二进制混合过滤器进行加密;将加密二进制混合过滤器分别发送至所述第一云服务器和所述第二云服务器中存储;
所述客户端设备,还用于根据用户输入的至少一个查询关键词构建分布式多点函数,所述分布式多点函数关联第一子功能函数和第二子功能函数;所述第一子功能函数用于根据分布式多点函数值生成一对密钥,所述第二子功能函数用于根据所述密钥计算分布式多点函数值;
所述客户端设备,还用于利用所述第一子功能函数生成第一密钥和第二密钥;将所述第一密钥发送至所述第一云服务器,并将所述第二密钥发送至所述第二云服务器;
所述第一云服务器,用于根据所述第一密钥,利用所述第二子功能函数对所述加密二进制混合过滤器进行搜索,得到第一加密搜索数据,将所述第一加密搜索数据返回给所述客户端设备;
所述第二云服务器,用于根据所述第二密钥,利用所述第二子功能函数对所述加密二进制混合过滤器进行搜索,得到第二加密搜索数据,将所述第二加密搜索数据返回给所述客户端设备;
所述客户端设备,还用于根据所述第一加密搜索数据和所述第二加密搜索数据得到搜索结果。
2.根据权利要求1所述的无隐私泄漏的端到端的加密文件搜索系统,其特征在于,所述客户端设备,根据所述第一加密搜索数据和所述第二加密搜索数据得到搜索结果,包括:
对所述第一加密搜索数据和所述第二加密搜索数据做异或运算,得到待验证数据,并对所述待验证数据进行解密,得到解密数据;
利用指纹函数计算所述至少一个查询关键词的指纹,并计算各个指纹的异或和;其中,所述指纹函数是生成所述二进制混合过滤器的过程中所用到的指纹函数;
判断所述各个指纹的异或和与所述待验证数据是否匹配;如果匹配,将所述解密数据作为所述搜索结果。
3.根据权利要求2所述的无隐私泄漏的端到端的加密文件搜索系统,其特征在于,
所述客户端设备,对所述二进制混合过滤器进行加密,包括:利用流密码对所述二进制混合过滤器进行加密;
所述客户端设备,对所述待验证数据进行解密,得到解密数据,包括:利用流密码对所述待验证数据进行解密,得到解密数据。
4.根据权利要求1所述的无隐私泄漏的端到端的加密文件搜索系统,其特征在于,所述客户端设备,还用于:
响应于文件更新请求,为更新后的文件生成新的二进制混合过滤器,对新的二进制混合过滤器进行加密,将新的加密二进制混合过滤器分别发送至所述第一云服务器和所述第二云服务器,同时告知所述第一云服务器和所述第二云服务器用新的加密二进制混合过滤器替换旧的加密二进制混合过滤器。
5.根据权利要求1所述的无隐私泄漏的端到端的加密文件搜索系统,其特征在于,所述二进制合过滤器包括N×M的索引表;
所述客户端设备,还用于在生成所述二进制混合过滤器之后,为所述索引表中的每个元素均生成异或同态的消息认证码作为该元素的tag;分别计算所述索引表中每一列元素的tag的异或和MACxor,形成MACxor表;在本地存储所述MACxor表,并将所述MACxor表分别发送至所述第一云服务器和所述第二云服务器;
所述第一云服务器,还用于在得到第一加密搜索数据后,根据所述第一加密搜索数据在所述加密二进制合过滤器中的位置,从所述MACxor表中确定一MACxor值作为MACxor1‘,以将所述第一加密搜索数据和MACxor1‘同时返回给所述客户端设备;
所述第二云服务器,还用于在得到第二加密搜索数据后,根据所述第二加密搜索数据在所述加密二进制合过滤器中的位置,从所述MACxor表中确定一MACxor值作为MACxor2‘,以将所述第二加密搜索数据和MACxor2‘同时返回给所述客户端设备;
所述客户端设备,还用于根据MACxor1‘和MACxor2‘判断所述第一加密搜索数据和所述第二加密搜索数据是否被篡改。
6.根据权利要求5所述的无隐私泄漏的端到端的加密文件搜索系统,其特征在于,
所述客户端设备,还用于在响应于文件更新请求为更新后的文件生成新的二进制混合过滤器之后,生成新的MACxor表,以将新的加密二进制混合过滤器和新的MACxor表同时发送至所述第一云服务器和所述第二云服务器;
所述第一云服务器和所述第二云服务器,还用于根据新的MACxor表对旧的MACxor表进行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311076241.XA CN117112503A (zh) | 2023-08-24 | 2023-08-24 | 一种无隐私泄漏的端到端的加密文件搜索系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311076241.XA CN117112503A (zh) | 2023-08-24 | 2023-08-24 | 一种无隐私泄漏的端到端的加密文件搜索系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117112503A true CN117112503A (zh) | 2023-11-24 |
Family
ID=88805067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311076241.XA Pending CN117112503A (zh) | 2023-08-24 | 2023-08-24 | 一种无隐私泄漏的端到端的加密文件搜索系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117112503A (zh) |
-
2023
- 2023-08-24 CN CN202311076241.XA patent/CN117112503A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yuan et al. | Secure cloud data deduplication with efficient re-encryption | |
US11775662B2 (en) | Searching using encrypted client and server maintained indices | |
Pasupuleti et al. | An efficient and secure privacy-preserving approach for outsourced data of resource constrained mobile devices in cloud computing | |
CN110334526B (zh) | 一种支持验证的前向安全可搜索加密存储系统及方法 | |
CN106776904B (zh) | 一种不可信云计算环境中支持动态验证的模糊查询加密方法 | |
CN110110163A (zh) | 安全子字符串搜索以过滤加密数据 | |
US11177942B2 (en) | Security through data scattering | |
US20110246433A1 (en) | Random number based data integrity verification method and system for distributed cloud storage | |
Liu et al. | Efficient searchable symmetric encryption for storing multiple source dynamic social data on cloud | |
CN112989375B (zh) | 一种分级优化加密无损隐私保护方法 | |
CN110069946B (zh) | 一种基于sgx的安全索引系统 | |
RuWei et al. | Study of privacy-preserving framework for cloud storage | |
Ma et al. | CP‐ABE‐Based Secure and Verifiable Data Deletion in Cloud | |
CN110222520B (zh) | 云环境中支持图加密数据的关键词查询方法 | |
Lu et al. | Verifiable privacy-preserving queries on multi-source dynamic DNA datasets | |
KR100951034B1 (ko) | 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법 | |
Yeh et al. | Integrity coded databases-protecting data integrity for outsourced databases | |
Nie et al. | Time‐enabled and verifiable secure search for blockchain‐empowered electronic health record sharing in IoT | |
KR20120108121A (ko) | 대칭키 기반의 암호 생성 및 검색 방법과 그 시스템 | |
Chakraborty et al. | BSMFS: Blockchain assisted secure multi-keyword fuzzy search over encrypted data | |
Zhou et al. | Integrity preserving multi-keyword searchable encryption for cloud computing | |
Liu et al. | Efficient dynamic multi-client searchable encryption supporting fuzzy search | |
CN117112503A (zh) | 一种无隐私泄漏的端到端的加密文件搜索系统 | |
Zhang et al. | Privacy-preserving multi-pattern matching | |
Zhu et al. | HCV: Practical Multi‐Keyword Conjunctive Query with Little Result Pattern Leakage |
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 |