CN115758468B - 具有前后向隐私支持非交互多用户可搜索加密方法及系统 - Google Patents
具有前后向隐私支持非交互多用户可搜索加密方法及系统 Download PDFInfo
- Publication number
- CN115758468B CN115758468B CN202211552174.XA CN202211552174A CN115758468B CN 115758468 B CN115758468 B CN 115758468B CN 202211552174 A CN202211552174 A CN 202211552174A CN 115758468 B CN115758468 B CN 115758468B
- Authority
- CN
- China
- Prior art keywords
- key
- encryption
- data
- cloud server
- file
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000002452 interceptive effect Effects 0.000 claims abstract description 29
- 239000013598 vector Substances 0.000 claims description 59
- 239000011159 matrix material Substances 0.000 claims description 51
- 238000012217 deletion Methods 0.000 claims description 27
- 230000037430 deletion Effects 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 5
- 239000003550 marker Substances 0.000 claims description 3
- 238000011084 recovery Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了具有前后向隐私支持非交互多用户可搜索加密方法及系统,方法包括以下步骤:数据拥有者生成密钥后通过安全通道发送给数据使用者;数据拥有者将加密索引以及加密文件上传到云服务器中;数据使用者通过密钥在云服务器中执行相关令牌操作,云服务器返回操作结果。本发明基于多客户端的设置,更加适用于现实生活场景,可以进一步扩展适用于医疗数据共享系统、地理位置查询系统等;本发明为了避免数据使用者频繁与数据拥有者交互,提供了一个可以实现非交互的方法;并在此基础上还保证了前向和后向隐私,因为过去的时间范围是不能搜索到新添加的时间戳的;除此之外,我们为了减轻客户端存储负担,还实现了小客户端存储。
Description
技术领域
本发明涉及可搜索加密领域,具体涉及一种具有前后向隐私支持非交互多用户可搜索加密方法及系统。
背景技术
现如今云服务器具有海量的存储空间和超强计算速度,为了节省存储空间并且方便与其他用户共享数据,越来越多的数据拥有者选择将数据上传到云服务器中;如果直接将数据上传到云服务器中,可能会危害数据隐私,所以数据拥有者会选择加密数据后再上传到云服务器中;但是加密操作限制了云服务器的计算和搜索性能,为了在保证数据安全的前提下实现密文下的关键字搜索操作,可搜索加密技术被提出。
现有的可搜索加密方案主要集中在单客户端,即数据拥有者上传数据到云服务器,只允许它自己查询使用数据;这在现实生活中并不适用,比如地理位置查询、医疗数据共享、推荐任务等场景,由此本发明主要研究多客户端设置;现有的多客户端方案分为交互式可搜索加密方案和非交互式可搜索加密方案;交互式可搜索加密方案需要数据使用者每次查询前与数据拥有者交互获取生成搜索令牌的必要信息;非交互式可搜索加密不需要每次查询交互,但是现有的方案只能支持静态数据库,或者不能同时支持前向和后向隐私;前向隐私和后向隐私是动态可搜索加密方案中重要的安全属性,其中前向隐私针对的是添加操作,保证了新添加的关键字不能够被过去的搜索陷门搜索到;后向隐私针对的是删除操作,保证删除文件后,后续的搜索操作不能泄露删除的文件是哪个。
除此之外,在大多数动态可搜索加密方案中,删除令牌是根据关键字/文档对生成的,如果要删除一个文件,需要根据每一个关键字生成一个删除令牌;这极大地提高了删除操作的通讯开销,而且数据拥有者必须要本地存储一个倒排索引(或前向索引)用来存储所有的关键字/文档对;这还给数据拥有者存储造成了沉重的负担,与数据拥有者最初想要将存储和计算服务外包给云服务器违背。
发明内容
本发明的目的在于解决现有基于多客户端场景的可搜索加密技术中存在的数据拥有者和数据使用者频繁交互的技术缺陷,提出了一种具有前向和后向隐私的多客户端非交互的医疗DSSE方案,并且解决客户端存储开销大的问题,实现小客户端存储。
为达到上述目的,本申请提供了以下方案:
一种具有前后向隐私支持非交互多用户可搜索加密方法及系统,包括以下步骤:
S1、由数据拥有者生成密钥,并通过安全信道发送给数据使用者;
S2、所述数据拥有者将加密索引以及加密文件上传到云服务器中;
S3、所述数据使用者通过所述密钥在所述云服务器中对所述加密索引和加密文件执行相关令牌操作,所述云服务器返回操作结果。
优选的,生成密钥的方法包括:
优选的,所述加密索引包括:
所述加密索引由加密关键字或加密文档对生成的一个块结构,与关键字链头块密钥生成加密矩阵两部分组成。
优选的,所述块结构具体包括:
设置块结构为(key,(data,kpr)),其中,key为块的密钥,(data,kpr)为被加密的值,kpr为前一个块的密钥。
优选的,所述相关令牌操作具体包括:
删除令牌:根据文件标识符生成所述删除令牌发送给所述云服务器完成删除操作;
查询令牌:通过计算要查询关键字的哈希值,并转换为预设维度布尔向量后,根据当前时间生成加密矩阵,利用所述加密矩阵完成搜索操作。
优选的,删除令牌操作的具体过程包括:
所述数据拥有者使用伪随机数进行计算,并发送到云无服务器中;
所述云服务器收到删除令牌后,开始检索,找到对应文件并删除。
优选的,利用所述加密矩阵完成搜索操作的过程包括:
所述云服务器随机选择一个矩阵与所述加密矩阵进行计算、比对后得到关键字链头块密钥;
所述云服务器通过计算索引地址找到加密值,得到头块密钥;
根据所述头块密钥得到搜索结果,并返回给数据使用者。
本申请的有益效果为:
1.现有的可搜索加密技术大多基于单客户端,但是这在实际场景中并不适用,数据拥有者上传自己的数据到云服务器中,稍后可以自己去查找相关数据;这对于医疗数据共享场景、任务推荐系统、地理位置查询等场景并不适用,因为在这些场景中,数据拥有者和数据使用者是不同的用户,数据拥有者上传数据后供其他用户查询使用;由此,本发明基于多客户端设置,这在现实世界中更加实用;
2.现有的多客户端方案分为交互可搜索加密方案和非交互式可搜索加密方案;在交互可搜索加密方案中,数据拥有者需要随时在线,因为数据使用者查询数据时,需要与数据拥有者进行交互以获取相关关键字信息,帮助生成搜索令牌;而非交互式可搜索加密方案,数据使用者不需要与数据拥有者进行交互;但是现有的非交互式可搜索加密方案只能实现基于静态数据库的搜索或者基于动态数据库但是不能实现前向和后向隐私;由此,本发明基于多客户端设置,能够非交互查询数据,并且本发明实现了前向和后向隐私;
3.现有前向和后向隐私方案,大多需要本地存储关键字状态信息,而且很多后向隐私方案输入需要关键字/文档对,这就需要本地维持一个前向索引或者倒排索引,用来存储数据库中所有的关键字/文档对;这对数据拥有者造成了很大的存储负担;而且删除时,客户端需要产生多个删除令牌发送给云服务器,删除效率不高;由此,本发明还实现了小客户端存储,减少了客户端存储压力,还实现了高效的删除;
4.数据拥有者选择将数据加密后再上传到云服务器中存储,但是加密操作给计算和搜索都带来了很大的不便,为了实现在密文上进行搜索,可搜索加密已经获得了广泛的关注;本发明基于多客户端的设置,更加适用于现实生活场景,可以进一步扩展适用于医疗数据共享系统、地理位置查询系统等;本发明为了避免数据使用者频繁与数据拥有者交互,提供了一个可以实现非交互的方法;我们观察到现有交互方案多需要数据拥有者存储关键字状态信息,数据使用者与其交互获取该信息再生成搜索令牌,我们需要找到一个不需要交互且多客户端同步的状态,时间可以满足这个特性,因此,我们使用时间范围查询实现非交互,并在此基础上还保证了前向和后向隐私,因为过去的时间范围是不能搜索到新添加的时间戳的;除此之外,我们为了减轻客户端存储负担,还实现了小客户端存储。
附图说明
为了更清楚地说明本申请的技术方案,下面对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例具有前后向隐私支持非交互多用户可搜索加密方法的流程图。
图2是本申请实施例具有前后向隐私支持非交互多用户可搜索加密方法及系统的系统模型图;
图3是本申请实施例具有前后向隐私支持非交互多用户可搜索加密方法及系统的实施例中关键字链生成的示意图;
图4是本申请实施例具有前后向隐私支持非交互多用户可搜索加密方法及系统的实施例1中加密头块密钥的示意图;
图5是本申请实施例具有前后向隐私支持非交互多用户可搜索加密方法及系统的关键字匹配性能的仿真结果图;
图6为本申请具有前后向隐私支持非交互多用户可搜索加密方法及系统与其他五种可搜索加密技术的仿真结果图;
图7为本申请具有前后向隐私支持非交互多用户可搜索加密系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
实施例一
在本实施例一中,如图1-2所示,一种云存储中支持多用户非交互并具有前向和后向隐私的可搜索加密方法具体实施时的典型应用过程,包括以下步骤:
假设数据拥有者会随时生成一些文件,并以文件集DOC={doc}(文件数量不受限)的形式上传到云服务器中,每个文件doc对应一个文件标识符ind,并且可以提取一些关键字组成关键字集合Wind;假设本实例更新n次文件集合,第一次更新文件集合DOC1={doc1},其中文件中的关键字集合W1={w1,w2},第二次更新文件集合DOC2={doc2,doc3},其中文件中的关键字集合W2={w2},W3={w1};
S100:数据拥有者生成密钥后通过安全信道发送给数据使用者;初始化,具体位置:对应图2数据拥有者部分生成密钥,接收数据拥有者的注册信息,将密钥通过安全信道发送给数据拥有者使用;将初始化的加密数据数据库发送给云服务器存储;包括如下子步骤:
S101:数据拥有者部分生成密钥,接收数据拥有者的注册信息,将密钥通过安全信道发送给数据拥有者使用;将初始化的加密数据数据库发送给云服务器存储。生成密钥的方法包括:
其中, 是伪随机函数的种子对称加密密钥sk=″q4FYUbvj″,M1和M2是两个用于加密的10×10可逆矩阵,1=4是哈希函数转换后向量的维度,τ=4是时间向量维度,向量总维度是n=1+τ+2=10);M1=[[1,1,1,0,0,0,0,0,0,0],[0,1,0,0,0,0,0,0,0,0],[0,0,1,0,0,0,0,0,0,0,],[0,0,0,1,0,0,0,0,0,0],[0,1,0,0,1,0,0,0,0,0],[0,0,0,0,0,1,0,0,0,0],[0,0,0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,0,1]],M2=[[1,1,1,0,0,0,0,0,0,0],[0,1,0,0,0,0,0,0,0,0],[0,0,1,0,0,0,0,0,0,0],[0,0,0,1,0,0,0,0,0,0],[0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,1,0,0,0,0],[0,0,0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,0,1]]
S103:将msk发送给数据使用者们通过安全信道;
S200:数据拥有者将加密索引以及加密文件上传到云服务器中;添加文件集合;如图2所示,数据拥有者可以添加一个文件集合,根据从文件中提取出来的关键字生成安全索引;在这个步骤中,为了方便理解实例,我们添加两次文件集,如前面假设的一样;所述加密索引由加密关键字或加密文档对生成的一个块结构,与关键字链头块密钥生成加密矩阵两部分组成。所述块结构具体包括:
设置块结构为(key,(data,kpr)),其中,key为块的密钥,(data,kpr)为被加密的值,kpr为前一个块的密钥。
S202:因为第一次更新关键字集合中没有任何关键字,所以这一步省略;
S203:如图3所示,数据拥有者想要加密文件集合DOC1={doc1},其中文件中的关键字集合W1={w1,w2};首先为该文件设置标识符地址为 并加密文件标识符为Enc(sk,ind1)=′QyvxBwq2QFCnOAtKmjrwgw==\n′;将(eid1,Enc(ind1))加入dic,如图2左下所示;
S204:针对关键字集合W1,随机选取一个关键字w1使用链结构加密,因为w1是第一次出现,将w1添加到关键字集合W中;我们接下来会构建一个块(key,(data,kpr));数据拥有者随机从{0,1}λ集合中选取一个数字作为块的密钥key=r1=62346,将kpr设置为前一个块的密钥0λ;构建完成块(r1,(eid1,0λ));
S 205:加密索引地址eid1和0λ,计算扰动值 用来扰动想要加密的数值value=eid1||0λ=′73305000000′,得到密文为它计算一个地址将(′23f7dfea42′:′fa949c5e46′)加入表dic中;将Key[w1]设置为r1;
S206:DOC中只有一个文件,跳过该步骤;
S207:对关键字字典中每个关键字执行如下操作:
选取关键字w1,生成关键字链的头块(key,(data,kpr)),如图3链搜索,首先生成头块密钥将kpr设置为前一个块的密钥Key[w1]=r1=62346;计算扰动值 用来扰动想要加密的数值value=1λ||r1=1111162346,得到密文为它计算一个地址将加入到表dic中;接下来要加密并发送给云服务器,如图5第1部分生成索引阶段所示,首先计算关键字w1的哈希值并转换为4维布尔向量W=[1,0,1,0];再为其添加时间戳Ts=3,如图4“0011”节点所示,转换为4维布尔向量T=[0,0,1,1];将向量W和T连接起来生成8维向量P=[1,0,1,0,0,0,1,1],根据前面提到的规则将向量P转换为9维向量P′=[-1,1,-1,1,1,1,-1,-1,1];生成一个10维向量U,随机选取一个随机数ru=62345前9位为向量ru·P',最后一位设置为
S209:云服务器将dic加入CDB中,将Nmat替换原来的Mat;至此,一次添加操作已经完成;为了便于理解,我们再次添加文件集DOC2,DOC2={doc2,doc3},其中文件中的关键字集合W2={w2},W3={w1};
至此,两次更新已经全部完成;
S300:所述数据使用者通过所述密钥在所述云服务器中执行相关令牌操作,所述云服务器返回操作结果。删除令牌:根据文件标识符生成所述删除令牌发送给所述云服务器完成删除操作;其中包括:查询令牌:通过计算要查询关键字的哈希值,并转换为预设维度布尔向量后,根据当前时间生成所述加密矩阵,利用所述加密矩阵完成搜索操作。删除令牌操作的具体过程包括:所述数据拥有者使用伪随机数进行计算,并发送到云无服务器中;云服务器收到删除令牌后,开始检索,找到对应文件并删除。
利用所述加密矩阵完成搜索操作的过程包括:所述云服务器随机选择一个矩阵与所述加密矩阵进行计算、比对后得到所述关键字链头块密钥;所述云服务器通过计算索引地址找到加密值,得到头块密钥;根据所述头块密钥得到搜索结果,并返回给数据拥有者。
S301:删除文件;数据拥有者删除一个文件时,只需要根据文件标识符生成一个删除令牌发送给云服务器完成删除操作:假设数据拥有者想要删除文件doc1,包括如下子步骤:
S303:云服务器收到删除令牌后,检索CDB,找到(eid1,Enc(ind1)),并删除;
S304:查询数据;数据使用者想要查询包含关键字w1的文件,生成搜索令牌并发送给云服务器查询,包含如下子步骤:
S305:如图5第二部分令牌生成阶段所示,数据使用者计算关键字w1的哈希值并转换为4维布尔向量W=[1,0,1,0];根据当前时间数据拥有者生成一个时间范围Tr=[0,7](从初始时间T=0到当前时间T=7),如图4“0***”节点所示,使用前缀树将其转换为一个4维布尔通配符向量Tr=[0,*,*,*](如果根据前缀树有多个通配符向量组成,则时间范围转换为一组向量集合);数据拥有者将向量W和Tr连接起来生成8维向量Y=[1,0,1,0,0,*,*,*],根据前面提到的规则将向量P转换为9维向量Y'=[-1,1,-1,1,1,0,0,0,-5];生成一个10维向量Q,随机选取一个随机数rm=26374,Q的前9位为向量rm·Y',第10位设置为1;
S306:云服务器从Mat中随机选择一个矩阵与加密矩阵中每个矩阵进行乘积计算,并计算他们的迹如图5第3部分搜索阶段所示,如果两个矩阵乘积的迹大于0,代表着找到了关键字匹配、时间范围匹配的关键字链头块密钥,这里我们会得到
S308:将key更新为r4,重复步骤S307,解密得到从CDB中找到CDB[eid3],将Enc(ind2)加入到结果集中;将key更新为解密得到1λ||r2;将key更新为r2,解密得到eid1||0λ,从CDB中搜索不到CDB[eid3],因为已经被删除;最后将结果{Enc(ind2)}返回给数据拥有者;所述云服务器通过使用头块密钥计算得到索引地址找到加密值,并通过头块密钥恢复得到①包含该关键字的文件的标识符加密后的地址②前一个包含该关键字的文件对应的块密钥;重复使用块密钥,最终得到所有包含该关键字的文件标记符加密集合。
S309:数据使用者经过解密,得到最后的结果;
至此,经过上述步骤,完成了一种云存储中支持多用户非交互的可搜索加密方法,并且实现了前向和后向隐私。
在所述方法中,我们基于多客户端设置,数据拥有者可以与其他用于共享数据,数据使用者通过向数据拥有者申请访问权限获得访问数据的权利;本发明可以进一步扩展使用在医疗数据共享场景、任务推荐系统、地理位置查询等方案中;
在所述方法中,通过引入时间范围查询,实现了多客户端非交互式可搜索加密,因为时间状态是多客户端同步增加的,且不需要客户端之间交互;根据当前时间产生的时间范围是搜索不到未来的时间点,只能搜索到当前时间之前的时间点;所以我们通过时间范围查询实现了非交互的前向隐私,因为我们将文件标识符加密,删除时云服务器也不知道删除的具体文件,由此实现了后向隐私。
在所述方法中,数据拥有者只需要维持一个全局变量ctr,用来记录数据拥有者更新的次数,而不需要记录所有的关键字/文档对;与此同时,本方法实现了高效的删除,因为只需要根据文件标识符生成一个删除令牌即可,与其他方案相比,本发明实现了高效的删除操作和小的客户端存储。
在所述方法中,首先使用矩阵乘法运算匹配得到头块密钥,最多只需要|W|次矩阵乘法运算;得到头块密钥后,恢复整个关键字链,需要|DB(w)|次操作,实现了高效的亚线性搜索,而且通过使用矩阵乘法、哈希值计算、异或操作,搜索操作效率高;图6为本发明与其他五种可搜索加密技术的仿真结果图,横坐标是文件集的大小,纵坐标是运行时间;从图中可以看出,本发明方法性能优势非常明显。
实施例二:
一种具有前后向隐私支持非交互的多用户可搜索加密系统,如图7所示,包括存储模块、传输模块和执行模块;
其中,存储模块用来将数据拥有者生成的密钥通过安全信道发送给数据使用者;
假设数据拥有者会随时生成一些文件,并以文件集DOC={doc}(文件数量不受限)的形式上传到云服务器中,每个文件doc对应一个文件标识符ind,并且可以提取一些关键字组成关键字集合Wind;假设本实例更新n次文件集合,第一次更新文件集合DOC1={doc1},其中文件中的关键字集合W1={w1,w2},第二次更新文件集合DOC2={doc2,doc3},其中文件中的关键字集合W2={w2},W3={w1};
存储模块通过数据拥有者生成密钥后通过安全信道发送给数据使用者;初始化,如图2所示,数据拥有者生成密钥,接收数据拥有者的注册信息,将密钥通过安全信道发送给数据使用者使用;将初始化的加密数据数据库发送给云服务器存储。
存储模块还包括密钥生成单元和数据保存单元。
密钥生成模块由数据拥有者部分生成密钥,接收数据拥有者的注册信息,将密钥通过安全信道发送给数据拥有者使用;将初始化的加密数据数据库发送给云服务器存储。由所述数据拥有者随即生成密钥msk,其中,是伪随机函数的种子,sk是对称加密密钥,M1和M2是两个用于加密的n×n可逆矩阵,n是加密前索引向量的维度。其中,是伪随机函数的种子对称加密密钥sk=″q4FYUbvj″,M1和M2是两个用于加密的10×10可逆矩阵,1=4是哈希函数转换后向量的维度,τ=4是时间向量维度,向量总维度是n=1+τ+2=10);M1=[[1,1,1,0,0,0,0,0,0,0],[0,1,0,0,0,0,0,0,0,0],[0,0,1,0,0,0,0,0,0,0,],[0,0,0,1,0,0,0,0,0,0],[0,1,0,0,1,0,0,0,0,0],[0,0,0,0,0,1,0,0,0,0],[0,0,0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,0,1]],M2=[[1,1,1,0,0,0,0,0,0,0],[0,1,0,0,0,0,0,0,0,0],[0,0,1,0,0,0,0,0,0,0],[0,0,0,1,0,0,0,0,0,0],[0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,1,0,0,0,0],[0,0,0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,0,1]]
传输模块用来将加密索引以及加密文件上传到云服务器中;
传输模块还包括加密索引生成单元、加密文件生成单元、数据上传单元。
所述加密索引生成单元由数据拥有者将加密索引以及加密文件上传到云服务器中;添加文件集合;如图3所示,数据拥有者可以添加一个文件集合,根据从文件中提取出来的关键字生成安全索引;添加两次文件集,如前面假设的一样;所述加密索引由加密关键字或加密文档对生成的一个块结构,与关键字链头块密钥生成加密矩阵两部分组成。所述块结构具体包括:设置块结构为(key,(data,kpr)),其中,key为块的密钥,(data,kpr)为被加密的值,kpr为前一个块的密钥。将全局变量ctr增加1,此时ctr=1;初始化表和因为第一次更新关键字集合中没有任何关键字,所以这一步省略;所述加密文件生成单元如图3所示,数据拥有者想要加密文件集合DOC1={doc1},其中文件中的关键字集合W1={w1,w2};首先为该文件设置标识符地址为并加密文件标识符为Enc(sk,ind1)='QyvxBwq2QFCnOAtKmjrwgw==\n';将(eid1,Enc(ind1))加入dic,如图3左下所示;针对关键字集合W1,随机选取一个关键字w1使用链结构加密,因为w1是第一次出现,将w1添加到关键字集合W中;我们接下来会构建一个块(key,(data,kpr));数据拥有者随机从{0,1}λ集合中选取一个数字作为块的密钥key=r1=62346,将kpr设置为前一个块的密钥0λ;构建完成块(r1,(eid1,0λ));加密索引地址eid1和0λ,计算扰动值 用来扰动想要加密的数值value=eid1||0λ=′73305000000′,得到密文为它计算一个地址 将加入表dic中;将Key[w1]设置为r1;对关键字w2重复S204-S205,选取key=r2=66234;得到加入表dic中,将Key[w2]设置为r2;DOC中只有一个文件,跳过该步骤;对关键字字典中每个关键字执行如下操作:选取关键字w1,生成关键字链的头块(key,(data,kpr)),如图3链头块搜索,首先生成头块密钥 将kpr设置为前一个块的密钥Key[w1]=r1=62346;计算扰动值用来扰动想要加密的数值value=1λ||r1=1111162346,得到密文为它计算一个地址将加入到表dic中;接下来要加密并发送给云服务器,如图5第1部分生成索引阶段所示,首先计算关键字w1的哈希值并转换为4维布尔向量W=[1,0,1,0];再为其添加时间戳Ts=3,如图4“0011”节点所示,转换为4维布尔向量T=[0,0,1,1];将向量W和T连接起来生成8维向量P=[1,0,1,0,0,0,1,1],根据前面提到的规则将向量P转换为9维向量P′=[-1,1,-1,1,1,1,-1,-1,1];生成一个10维向量U,随机选取一个随机数ru=62345前9位为向量ru·P′,最后一位设置为数据拥有者生成一个随机的10×10的主对角元素为向量U的下三角随机矩阵一个随机的10×10的主对角元素为向量(1,1,…,1)的下三角矩阵Ix。最后使用随机矩阵M1,M2加密u为
对于关键字w2,重复上面操作;
数据上传单元根据生成的(′1a028475b9:′053ceaa4ca′),添加到表dic中,加密得到将 存储在Nmat,并将Nmat和dis一起发送给云服务器存储;云服务器将dic加入CDB中,将Nmat替换原来的Mat;至此,一次添加操作已经完成;为了便于理解,我们再次添加文件集DOC2,DOC2={doc2,doc3},其中文件中的关键字集合W2={w2},W3={w1};
执行模块用于数据使用者通过所述密钥在所述云服务器中执行相关令牌操作,所述云服务器返回操作结果。
执行模块还包括删除单元和查询单元和解密单元;
删除单元通过所述密钥在所述云服务器中执行删除令牌操作,所述云服务器返回操作结果。删除令牌操作:根据文件标识符生成所述删除令牌发送给所述云服务器完成删除操作;云服务器收到删除令牌后,开始检索,找到对应文件并删除。利用所述加密矩阵完成搜索操作的过程包括:所述云服务器随机选择一个矩阵与所述加密矩阵进行计算、比对后得到所述关键字链头块密钥;所述云服务器通过计算索引地址找到加密值,得到头块密钥;根据所述头块密钥得到搜索结果,并返回给数据拥有者。删除文件;数据拥有者删除一个文件时,只需要根据文件标识符生成一个删除令牌发送给云服务器完成删除操作:假设数据拥有者想要删除文件doc1,数据拥有者使用伪随机数计算 将其发送给云服务器;云服务器收到删除令牌后,检索CDB,找到(eid1,Enc(ind1)),并删除。
查询单元通过计算要查询关键字的哈希值,并转换为预设维度布尔向量后,根据当前时间生成所述加密矩阵,利用所述加密矩阵完成搜索操作。数据使用者想要查询包含关键字w1的文件,生成搜索令牌并发送给云服务器查询,如图5所示,第二部分令牌生成阶段所示,数据使用者计算关键字w1的哈希值 并转换为4维布尔向量W=[1,0,1,0];根据当前时间数据拥有者生成一个时间范围Tr=[0,7](从初始时间T=0到当前时间T=7),如图4“0***”节点所示,使用前缀树将其转换为一个4维布尔通配符向量Tr=[0,*,*,*](如果根据前缀树有多个通配符向量组成,则时间范围转换为一组向量集合);数据拥有者将向量W和Tr连接起来生成8维向量Y=[1,0,1,0,0,*,*,*],根据前面提到的规则将向量P转换为9维向量Y′=[-1,1,-1,1,1,0,0,0,-5];生成一个10维向量Q,随机选取一个随机数rm=26374,Q的前9位为向量rm·Y',第10位设置为1;
解密单元数据根据使用者上传的加密矩阵云服务器从Mat中随机选择一个矩阵与加密矩阵中每个矩阵进行乘积计算,并计算他们的迹 如图5第3部分搜索阶段所示,如果两个矩阵乘积的迹大于0,代表着找到了关键字匹配、时间范围匹配的关键字链头块密钥,这里我们会得到云服务器计算索引地址为并从CDB中找到加密值CDB[addr],计算再计算得到1λ||r4,1λ表示这是头块;将key更新为r4,重复步骤S307,解密得到从CDB中找到CDB[eid3],将Enc(ind2)加入到结果集中;将key更新为解密得到1λ||r2;将key更新为r2,解密得到eid1||0λ,从CDB中搜索不到CDB[eid3],因为已经被删除;最后将结果{Enc(ind2)}返回给数据拥有者,数据使用者解密结果,得到最后的结果;支持多用户非交互的可搜索加密功能,也实现了前向和后向隐私的功能。
以上所述的实施例仅是对本发明优选方式进行的描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。
Claims (5)
1.具有前后向隐私支持非交互多用户可搜索加密方法,其特征在于,包括以下步骤:
S1、由数据拥有者生成密钥,并通过安全信道发送给数据使用者;
S2、所述数据拥有者将加密索引以及加密文件上传到云服务器中;
S3、所述数据使用者通过所述密钥在所述云服务器中对所述加密索引和加密文件执行相关令牌操作,所述云服务器返回操作结果;
所述加密索引包括加密关键字或加密文档对生成的一个块结构和关键字链头块密钥生成的加密矩阵两个部分;
所述块结构具体包括:
设置块结构为(key,(data,kpr)),其中,key为块的密钥,(data,kpr)为被加密的值,kpr为前一个块的密钥;
所述相关令牌操作具体包括:
删除令牌操作:根据文件标识符生成删除令牌操作发送给所述云服务器完成删除;
查询令牌操作:通过计算要查询关键字的哈希值,并转换为预设维度布尔向量后,根据当前时间生成加密矩阵,利用所述加密矩阵完成查询;
利用所述加密矩阵完成查询的过程包括:
所述云服务器随机选择一个矩阵与所述加密矩阵进行计算、比对后得到关键字链头块密钥;
所述云服务器通过使用头块密钥计算得到索引地址找到加密值,并通过头块密钥恢复得到包含该关键字的文件的标识符加密后的地址和前一个包含该关键字的文件对应的块密钥;
重复使用块密钥,最终得到所有包含该关键字的文件标记符加密集合;
根据所述关键字链头块密钥与所述头块密钥得到查询结果,并返回给数据拥有者。
3.根据权利要求2所述具有前后向隐私支持非交互多用户可搜索加密方法,其特征在于,通过所述安全信道的过程包括:
将所述密钥msk发送给所述数据使用者,数据使用者利用密钥msk通过安全信道。
4.根据权利要求1所述的具有前后向隐私支持非交互多用户可搜索加密方法,其特征在于,所述删除令牌操作的具体过程包括:
所述数据拥有者使用伪随机数进行计算,得到所述删除令牌操作,并发送到云服务器中;
所述云服务器收到删除令牌后,开始检索,找到对应文件并删除。
5.具有前后向隐私支持非交互多用户可搜索加密系统,其特征在于,包括存储模块、传输模块和执行模块;
所述存储模块用于数据拥有者生成密钥后通过安全信道发送给数据使用者;
传输模块用于数据拥有者将加密索引以及加密文件上传到云服务器中;
执行模块用于数据使用者通过所述密钥在所述云服务器中执行相关令牌操作,所述云服务器返回操作结果;
所述加密索引包括加密关键字或加密文档对生成的一个块结构和关键字链头块密钥生成的加密矩阵两个部分;
所述块结构具体包括:
设置块结构为(key,(data,kpr)),其中,key为块的密钥,(data,kpr)为被加密的值,kpr为前一个块的密钥;
所述相关令牌操作具体包括:
删除令牌操作:根据文件标识符生成删除令牌操作发送给所述云服务器完成删除;
查询令牌操作:通过计算要查询关键字的哈希值,并转换为预设维度布尔向量后,根据当前时间生成加密矩阵,利用所述加密矩阵完成查询;
利用所述加密矩阵完成查询的过程包括:
所述云服务器随机选择一个矩阵与所述加密矩阵进行计算、比对后得到关键字链头块密钥;
所述云服务器通过使用头块密钥计算得到索引地址找到加密值,并通过头块密钥恢复得到包含该关键字的文件的标识符加密后的地址和前一个包含该关键字的文件对应的块密钥;
重复使用块密钥,最终得到所有包含该关键字的文件标记符加密集合;
根据所述关键字链头块密钥与所述头块密钥得到查询结果,并返回给数据拥有者。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211552174.XA CN115758468B (zh) | 2022-12-05 | 2022-12-05 | 具有前后向隐私支持非交互多用户可搜索加密方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211552174.XA CN115758468B (zh) | 2022-12-05 | 2022-12-05 | 具有前后向隐私支持非交互多用户可搜索加密方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115758468A CN115758468A (zh) | 2023-03-07 |
CN115758468B true CN115758468B (zh) | 2023-07-07 |
Family
ID=85343608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211552174.XA Active CN115758468B (zh) | 2022-12-05 | 2022-12-05 | 具有前后向隐私支持非交互多用户可搜索加密方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115758468B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800445A (zh) * | 2021-01-21 | 2021-05-14 | 西安电子科技大学 | 一种用于密文数据的前后向安全和可验证的布尔查询方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022099495A1 (zh) * | 2020-11-11 | 2022-05-19 | 深圳技术大学 | 云计算环境中的密文搜索方法及系统、设备 |
CN113194078B (zh) * | 2021-04-22 | 2023-04-07 | 西安电子科技大学 | 一种云端支持隐私保护的排序多关键字搜索加密方法 |
CN114912127A (zh) * | 2022-03-10 | 2022-08-16 | 华东师范大学 | 一种基于区块链的多客户端可搜索加密方法 |
-
2022
- 2022-12-05 CN CN202211552174.XA patent/CN115758468B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800445A (zh) * | 2021-01-21 | 2021-05-14 | 西安电子科技大学 | 一种用于密文数据的前后向安全和可验证的布尔查询方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115758468A (zh) | 2023-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106815350B (zh) | 一种云环境中动态的密文多关键词模糊搜索方法 | |
CN111026788B (zh) | 一种混合云中基于同态加密的多关键词密文排序检索方法 | |
WO2022099495A1 (zh) | 云计算环境中的密文搜索方法及系统、设备 | |
CN105681280A (zh) | 一种云环境中基于中文的可搜索加密方法 | |
CN112270006A (zh) | 电商平台中隐藏搜索模式和访问模式的可搜索加密方法 | |
CN112800088A (zh) | 基于双向安全索引的数据库密文检索系统及方法 | |
CN104780161A (zh) | 一种云存储中支持多用户的可搜索加密方法 | |
Egorov et al. | ZeroDB white paper | |
US11290264B2 (en) | Secure and efficient multi-server oblivious random access machine in a malicious execution environment | |
Rashid et al. | A secure data deduplication framework for cloud environments | |
CN113742362B (zh) | 一种面向密态数据库的密文查询计算方法 | |
CN112231752B (zh) | 一种无交互频率隐藏的密文插入查询删除方法 | |
CN115438230A (zh) | 安全高效的动态加密云数据多维范围查询方法 | |
Peng et al. | LS-RQ: A lightweight and forward-secure range query on geographically encrypted data | |
Handa et al. | A cluster based multi-keyword search on outsourced encrypted cloud data | |
CN107294701B (zh) | 具有高效密钥管理的多维密文区间查询装置及查询方法 | |
CN109783456B (zh) | 去重结构搭建方法、去重方法、文件取回方法、去重系统 | |
CN114912127A (zh) | 一种基于区块链的多客户端可搜索加密方法 | |
Hoang et al. | A multi-server oram framework with constant client bandwidth blowup | |
CN115758468B (zh) | 具有前后向隐私支持非交互多用户可搜索加密方法及系统 | |
Yan et al. | Secure and efficient big data deduplication in fog computing | |
Rizomiliotis et al. | Simple forward and backward private searchable symmetric encryption schemes with constant number of roundtrips | |
CN113158087B (zh) | 一种空间文本的查询方法及装置 | |
He et al. | An efficient ciphertext retrieval scheme based on homomorphic encryption for multiple data owners in hybrid cloud | |
Zhang et al. | Non-interactive Multi-client Searchable Symmetric Encryption with Small Client Storage |
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 |