首页 / 专利库 / 电脑安全 / 密码学 / 一种基于属性基加密的细粒度授权的关键字安全查询方法

一种基于属性基加密的细粒度授权的关键字安全查询方法

阅读:1037发布:2020-05-08

专利汇可以提供一种基于属性基加密的细粒度授权的关键字安全查询方法专利检索,专利查询,专利分析的服务。并且一种 云 计算中基于属性基加密的细粒度授权的关键字安全查询方法,本 发明 公开了一种应用于云计算安全和可搜索加密领域的方法,本发明针对目前云计算中对于数据可搜索性、 保密性 和细粒度 访问 控制的需求以及现有的基于属性基的可搜索加密方案存在的问题:无法同时满足支持三种判断方式(AND 门 、OR门和阈门)和计算开销太大,利用访问控制树和双线性映射,构造出一种基于属性基加密的细粒度授权的关键字安全查询方法,可以实现AND门、OR门和 阈值 门的判断,且时间开销可以满足实际应用。,下面是一种基于属性基加密的细粒度授权的关键字安全查询方法专利的具体信息内容。

1.一种基于属性基加密的细粒度授权的关键字安全查询方法,其特征在于,包括以下步骤:
1)数据拥有者根据安全参数生成公共密钥和系统密钥;
2)数据拥有者对数据文件中的关键字进行初步加密(密钥γ),使用常用的对称加密算法(密钥k)对包含有检索列表中的关键字的数据文件进行加密,同时为每一个关键字w定义一个访问控制树Tw,并对关键字进一步加密,从而构造一个包含关键字信息、访问控制树信息同时可以高效且有效地检测已授权的数据使用者提交的请求与其是否匹配的数据结构CTw;
3)数据拥有者将Ctw及包含该关键字w的加密文件一起组成倒排索引表,并将倒排索引表和加密数据文件一起上传到服务器中;
4)当一个新的数据使用者想要进入系统查询数据时,数据拥有者根据该数据使用者访问数据的权限,为该数据使用者定义一组属性集S,并生成该S对应密钥SK,数据拥有者将加密文件的密钥k、加密关键字的密钥γ、属性集S,以及根据S生成的SK一起发送给数据使用者;
5)当数据使用者想要搜索包含某一关键字w的所有文档时,数据使用者生成w的陷门Tr(w);
6)数据使用者向云服务器提交的陷门Tr(w),云服务器将Tr(w)与存储在服务器端索引列表中的CTw0进行比对,依次判断数据使用者的属性是否满足访问控制数tw0,以及w=w0是否成立,匹配成功则返回所用包含关键字w/w0的加密数据文件,如果索引表中所有关键字与查询关键字都不匹配,则提示数据使用者没有包含该关键字的文件且不再执行后续操作。
7)用户在本地使用密钥k解密从服务器端获取的加密数据文件。
2.根据权利要求1所述的基于属性基加密的细粒度授权的关键字安全查询方法,其特征在于,数据拥有者根据安全参数生成公共参数和系统密钥的具体实现过程包括:数据拥有者根据安全性要求确定公共参数PK,同时从p阶整数群的非零元素集合 中随机选择两个元素α,β,生成两个密钥组sk1和sk2,具体表示如下:
其中, 是两个阶都为大素数p的循环乘法群,g为 的生成元,e是一个双线性映射且满足e: H1,H2表示两个密码学哈希函数,其中H1表示将任意长度的字符串映射为 中的一个元素,H2表示将任意长度的字符串映射为 中的一个元素。
3.根据权利要求1所述的基于属性基加密的细粒度授权的关键字安全查询方法,其特征在于,数据拥有者对数据文件中的关键字进行初步加密并为每个关键字确定访问控制树从而得到CTw的具体实现过程包括:
1)数据拥有者将关键字w依据H1,映射为 中的一个元素,记为H1(w);
2)数据拥有者计算 得到属于 一个元素;
3)数据拥有者使用双线性映射e和密钥γ={r1,r2},编码 得到
同时得到 用εγ(w)表示使用密钥γ加密得到的加密关键词;
4)数据拥有者为每个关键字w定义一个访问控制树Tw实现细粒度的授权关键字查询,从而保证只有数据使用者的属性满足该关键字对应的访问控制树Tw时,用户才能使用该关键字请求数据:数据拥有者为每个关键字w定义一个访问控制树Tw,并从根节点到叶子节点依次为该访问控制树Tw的每个节点x选择一个多项式qx,,qx,的阶数为节点x的阈值(threshold)减去1。对于根节点R,随机选择一个数满足 使得为该节点选择的多项式qR,满足qR(0)=s,对于其他的节点,选择的多项式qx,满足qx(0)=qp(x)(index(x))。数据拥有者基于加密关键字εγ(w)进一步构造一个包含访问控制树信息,同时可以高效且有效地检测与授权的数据使用者提交的请求陷门是否匹配的数据结构:
4.根据权利要求1所述的基于属性基加密的细粒度授权的关键字安全查询方法,其特征在于,数据拥有者根据数据使用者的属性S生成的密钥
其中r,ra都为整数群的非零元素集合 中随机选择的元素,且S中
的每一个属性a都对应一个ra。
5.根据权利要求1所述的基于属性基加密的细粒度授权的关键字安全查询方法,其特征在于,关键字w的陷门(trapdoor)生成的具体实现过程包括:
1)数据使用者将关键字w依据H1,映射为 中的一个元素,记为H1(w);
2)数据使用者从 中随机选择一个元素λ,得到两个随机的群元素 和gλ;
λ
3)数据使用者使用γ加密 和g,最终得到关键字w的陷门
6.根据权利要求1所述的基于属性基加密的细粒度授权的关键字安全查询方法,其特征在于,服务器端将数据使用者提交的关键陷门Tr(w)与服务器端索引列表中存储的进行比对的具体实现过程包括:
1)对于服务器端中w0加密时使用的访问控制树Tw0上的每个叶子结点x,我们使用a=attr(x)表示与x相关的属性,如果属性a属于数据使用者拥有的属性,即a∈S,则计算否则设Fx=⊥。
2)对于 上的非叶子结点x,根据结点的阈值kx,任意选择kx个节点z组成一个大小为kx的结点x孩子结点集合Sx,其中每个结点z都满足Fz=1。此时,使用拉格朗日插值计算其中i=index(z), 是拉格朗日系数,若不存在这样
的结点集合,则定义Fx=⊥;
3)按照2)所述方法,自下向上计算访问控制树 中的所有的非叶子结点,直至根结点R,如果FR=⊥,则表示数据使用者的属性不满足访问控制树,即数据使用者没有查询关键字w0的权限;如果 服务器端继续执行4);
4)服务器端通过判断 是否成立,来判断w=w0是否成立。若
w=w0成立,则根据索引列表的信息,数据使用者可以获得所用包含关键字w/w0的加密数据文件,否则,表示w0不是数据使用者查询的关键字,继续比对索引表中的下一关键字。

说明书全文

一种基于属性基加密的细粒度授权的关键字安全查询方法

技术领域

[0001] 本发明属于计算安全和可搜索加密领域,主要涉及一种云计算中基于属性基加密的细粒度授权的关键字安全查询方法。

背景技术

[0002] 近年来,随着互联网产业的快速发展,以及物联网、工业4.0和机器智能等技术的不断成熟,数据的价值不断凸显,数据的综合治理、价值创造以及基于数据的模式创新也得到了广泛重视。“云计算”这个概念的提出,更是为大数据时代的数据存储使用提供了有支撑。目前,将数据存储在云端已经成为各个公司、政府机关乃至个人的一个重要选择。
[0003] 数据存储在云端为用户提供巨大便利的同时,也意味着数据拥有者失去了对数据的直接控制。恶意用户的攻击、云服务提供商的不当管理等都可能导致数据的保密性、真实性、完整性出现问题。因此,如何保证数据的安全性成为云计算中的一个重要的研究课题。数据加密是保证数据信息不被泄露的一个重要方式,可搜索性也是数据使用的一个重要保证。为了同时保证数据的保密性和可搜索性,“可搜索加密”这一密码原语于2000年首次被提出,实现了在密文上完成关键字的搜索。传统的可搜索加密可以实现数据使用者在密文环境下通过关键字检索获取数据拥有者存储在云服务器端的密文文件,具体过程如下:数据拥有者将数据文件加密后存储到云服务器中,云服务器可以根据数据使用者提交的陷进行关键字检索,并将包含关键字的数据文件返回给提交陷门的数据使用者。这种传统的可搜索加密,将所有的数据使用者看成一个等价的群体,他们可以访问的数据范围都是相同的。但是对于数据拥有者而言,其存储在云服务器端的数据可能包含了各个种类的数据,并且希望不同种类的数据提供给不同的用户群体进行检索,即不用的用户群体应该具有不同的数据访问权限。以一所学校为例,如果将学校整体看作学校数据的拥有者,各个部门的教职员工看作数据使用者,那么不同处室、不同级别的教职员工可以访问的权限应该是不同的,比如针对一个科研项目而言,作为项目负责人的老师应该只可以访问与自己项目相关的所有文件内容而不能查看其他老师的项目信息;学院负责科研管理的院长应该可以查看本学院所有老师项目的基础信息但不能查看具体的财务信息;财务处的财务人员应该可以访问所有老师的科研经费使用情况和项目合同但是不需要访问项目的前期申报材料;科研院的不同处室老师应该需要访问本处室审批项目的各类材料完成科研项目从申报到验收的各项审批,但是不能访问其他处室审批的项目,这种情况下就需要根据数据使用者的职位、部门等属性确定其访问权限。属性基加密是一种可以基于密文实现细粒度访问的安全方案,主要分为基于密钥策略的属性基加密和基于密文策略的属性基加密,该方案在密钥(密文)设置访问策略,在密文(密钥)附带相应的属性,通过属性与访问策略的匹配实现细粒度的访问。近年来,很多学者开始研究基于属性基加密的可搜索加密——同时实现细粒度的访问控制和可搜索性,但是目前的一些方案仍然存在一些问题,比如不能同时支持AND门,OR门和阈值门,或者由于计算开销太大而不能应用到实际。

发明内容

[0004] 本发明针对目前云计算中对于数据可搜索性、保密性和细粒度访问控制的需求以及现有的基于属性基加密的可搜索加密方案存在的问题:无法同时满足支持三种判断方式(AND门、OR门和阈门)和计算开销太大,利用访问控制树和双线性映射,构造出一种基于属性基加密的细粒度授权的关键字安全查询方法,可以实现AND门、OR门和阈值门的判断,且时间开销可以满足实际应用。
[0005] 一种基于属性基加密的细粒度授权的关键字安全查询方法,包括以下步骤:
[0006] 步骤1:数据拥有者根据安全参数生成公共密钥和系统密钥。
[0007] 数据拥有者从p阶整数群的非零元素集合 中随机选择两个元素α,β,并利用随机选择的元素,生成公共参数PK和两个密钥组sk1和sk2,得到密钥 如下所示:
[0008]
[0009] 其中, 是两个阶都为大素数p的循环乘法群,g为 的生成元,e是一个双线性映射且满足e: H1,H2表示两个密码学哈希函数,其中H1表示将任意长度的字符串映射为 中的一个元素,H2表示将任意长度的字符串映射为 中的一个元素。
[0010] 步骤2:数据拥有者对关键字和数据文件加密,并将其上传到云服务器。
[0011] 数据拥有者对关键字w和数据文件进行加密并上传到云服务器的整个过程具体过程如下:
[0012] 1)数据拥有者使用常用的对称加密算法(如AES,密钥为k)对包含有检索列表中的关键字的数据文件进行加密;
[0013] 2)数据拥有者将关键字w依据H1,映射为 中的一个元素,记为H1(w);
[0014] 3)数据拥有者计算 得到属于 一个元素;
[0015] 4)数据拥有者使用双线性映射e和密钥γ={r1,r2},编码 得到同时得到 用εγ(w)表示使用密钥γ加密得到的加
密关键词;
[0016] 5)数据拥有者为每个关键字w定义一个访问控制树Tw实现细粒度的授权关键字查询,从而保证只有数据使用者的属性满足该关键字对应的访问控制树Tw时,用户才能使用该关键字请求数据:数据拥有者为每个关键字w定义一个访问控制树Tw,并从根节点到叶子节点依次为该访问控制树Tw的每个节点x选择一个多项式qx,qx的阶数为节点x的阈值(threshold)减去1。对于根节点R,随机选择一个数满足 使得选择的多项式qR,满足qR(0)=s,对于其他的节点,选择的多项式qx,满足qx(0)=qp(x)(index(x))。数据拥有者基于加密关键字εγ(w)进一步构造一个包含访问控制树信息,同时可以高效且有效地检测与授权的数据使用者提交的请求陷门是否匹配的数据结构:
[0017]
[0018]
[0019] 6)数据拥有者将构造的包含关键字信息、访问控制树信息同时可以高效且有效地检测数据使用者提交的请求陷门是否与该关键字匹配的数据结构CTw及包含该关键字w的加密文件一起组成索引表,并将索引表和加密数据文件一起上传到云服务器中。
[0020] 步骤3:数据拥有者为新加入数据查询系统的数据使用者分配属性及密钥,实现对数据使用者的数据访问权限的控制。
[0021] 数据拥有者为新加入数据查询系统的数据使用者分配访问权限的过程如下:
[0022] (1)数据拥有者为数据使用者定义一组属性集S,并生成该S对应密钥其中r,ra都为整数群的非零元素集合 中随机选择的元素,且S中的每一个属性a都对应一个ra。
[0023] (2)数据拥有者将加密文件的密钥k、加密关键字的密钥γ、属性集S,以及根据S生成的SK一起发送给数据使用者;
[0024] 步骤4:当数据使用者想要搜索包含某一关键字w的所有文档时,数据使用者生成w的陷门Tr(w)。
[0025] 数据使用者生成关键字w的陷门的过程如下:
[0026] 1)数据使用者将关键字w依据H1,映射为 中的一个元素,记为H1(w);
[0027] 2)数据使用者从 中随机选择一个元素λ,得到两个随机的群元素 和gλ;
[0028] 3)数据使用者使用γ加密 和gλ,最终得到关键字w的陷门
[0029] 步骤5:服务器根据数据使用者向云服务器提交的陷门Tr(w),与服务器中存储的关键字w0加密数据CTw0进行比对,匹配成功则返回所用包含关键字w/w0的加密数据文件,匹配不成功则拒绝数据使用者的访问,并结束整个该过程。
[0030] 在服务器端对用户提交的陷门Tr(w)和服务器中存储的关键字加密数据CTw0进行比对,从而获得数据文件的过程如下:
[0031] 1)对于服务器端中w0加密时使用的访问控制树Tw0上的每个叶子结点x,我们使用a=attr(x)表示与x相关的属性,如果属性a属于数据使用者拥有的属性,即a∈S,则计算否则设Fx=⊥。
[0032] 2)对于 上的非叶子结点x,根据结点的阈值kx,任意选择kx个节点z组成一个大小为kx的结点x孩子结点集合Sx,其中每个结点z都满足Fz=1。此时,使用拉格朗日插值计算[0033]
[0034] 其中i=index(z), 是拉格朗日系数,若不存在这样的结点集合,则定义Fx=⊥;
[0035] 3)按照2)所述方法,自下向上计算访问控制树 中的所有的非叶子结点,直至根结点R,如果FR=⊥,则表示数据使用者的属性不满足访问控制树,即数据使用者没有查询关键字w0的权限;如果 服务器端继续执行4);
[0036] 4)服务器端通过判断 是否成立,来判断w=w0是否成立。若w=w0成立,则根据索引列表的信息,数据使用者获得所用包含关键字w/w0的加密数据文件;否则,表示w0不是数据使用者查询的关键字,继续比对索引表中的下一关键字,回到
1)。若索引中所有关键字都已经比对完毕,且索引表中所有关键字与查询关键字都不匹配,则提示数据使用者没有包含该关键字的文件且不再执行步骤6。
[0037] 步骤6:数据使用者在本地使用对称密钥k解密从服务器端获取的加密数据文件,即可获得需要的数据文件。
[0038] 本发明提供的上述基于属性基加密的细粒度授权的关键字安全查询方法,基于属性加密的思想,结合可搜索加密方案的实现,从属性的判断方式以及时间开销两个度考虑,实现了两点突破。一方面本发明提供了一种方案能够同时在属性策略上实现AND门、OR门和阈值门的判断;另一方面本发明提供的方案的时间开销可以满足实际应用。基于以上两方面的改进,本方案与传统的可搜索加密方案、基于线性秘密分享方案(Linear Secret Sharing Scheme,LSSS)实现的可搜索加密方案以及基于合数阶双线性群对(Pairings in Composite-Order Group)建立的可搜索加密相比,我们的方案在属性策略复杂的应用系统中具有更多的优势。本发明适用于云计算中需要实现便捷的文件检索同时保证关键字和文件信息不泄露的系统。附图说明
[0039] 图1为本发明所述方法的整体流程图
[0040] 图2为实例中数据文件数量为2000时,随着索引关键字数量变化构建安全索引的时间开销;
[0041] 图3为实例中索引关键字数量为400时,随着数据文件数量变化构建安全索引的时间开销;
[0042] 图4为实例中随着查询关键字数量变化陷门生成的时间开销;
[0043] 图5为实例中数据文件数量为2000时,随着索引关键字数量变化安全查询的时间开销;
[0044] 图6为实例中索引关键字数量为400时,随着数据文件数量变化安全查询的时间开销;
[0045] 图中符号说明如下:
[0046] LN:访问控制树中叶子节点的数量
[0047] a:属性的数量

具体实施方式

[0048] 下面结合附图及实施例,对本发明的方法做进一步的阐述。本实施例的数据包括从Request For Comments(RFC)中随机选举的2000个文件以及通过Hermetic Word Frequency Counter生成的600个索引关键字。RFC是一系列以编号排定的、涉及互联网相关信息的软件文件,Hermetic Word Frequency Counter是统计文档中不同单词出现的频率的一款软件。本实施例实现的环境为:操作系统为Ubuntu 16.04,GPU为3.60-GHz Intel Core(TM)i7-7700,RAM是8GB的服务器端;以及操作系统为Windows 7,GPU为2.3-GHz Intel Core(TM)i5-6200U,RAM是4GB的客户端端。另外,我们通过借助Java Pairing-Based Cryptography Library(JPBC)实现本发明。
[0049] 一种基于属性基加密的细粒度授权的关键字安全查询方法,其工作流程如图1所示,具体包括以下几个阶段:
[0050] 阶段一:系统初始化:数据拥有者根据实际的需要生成公共参数PK和系统密钥sk1和sk2。
[0051] 我们通过JPBC生成一个对称质数阶双线性群(即JPBC中的Type A曲线)。该过程中只需要指定是中阶数p的比特长度rBit以及 和 的阶数的比特长度qBit,即可得到一组确定的 我们可以根据系统的安全性要求,及性能需求选择合适的数值。另外在本实施例中,我们设H1为 设H2为Kobliz建议的概率式算法编码,将字符串信息映射为 中的元素。从而我们得到 即PK。
[0052] 同时我们利用JPBC中从 随机选取元素的方法获得两随机数素α0,β0,并利用随机选择的元素,生成公共参数PK和两个密钥组sk1和sk2,最终得到密钥 如下所示:
[0053]
[0054] 阶段二:数据使用者将数据文件上传到云服务器中。
[0055] 在本实施例中,具体实施过程如下:
[0056] 步骤一:我们从Request For Comments(RFC)中随机选取的2000个数据文件中选取一定数量的数据文件,作为数据使用者上传到云服务器的数据文件。
[0057] 本实施例中为了评估构建安全索引的时间开销以及安全查询的时间开销与数据文件数量关系,我们依次选取200,400,600,…,1800,2000个数据文件作为数据拥有者上传的云服务器的数据文件,测定了不同文件数量在关键字数量为400时,构建安全索引以及安全查询时的时间开销。
[0058] 步骤二:数据拥有者利用Hermetic Word Frequency Counter得到我们选取的2000个数据文件的关键字集合,根据实验需要选取一定数量的关键字作为构建索引列表的关键字。
[0059] 本实施例中为了评估构建安全索引的时间开销以及安全查询的时间开销与索引关键字数量关系,我们依次选取100,200,…,500,600个关键字作为索引关键字,测定了不同索引关键字数量在文件数量为2000时,构建安全索引以及安全查询时的时间开销。
[0060] 步骤三:数据拥有者使用对称加密算法AES(密钥为k0)对选取的数据文件进行加密;
[0061] 步骤四:对于关键字集合KS中的所用关键字,数据使用首先将关键字w依据H1,映射为 中的一个元素,记为H1(w),然后计算 得到属于 一个元素;接着使用双线性映射e和密钥γ={r1,r2},编码 得到 同时得到 用εγ(w)表示使用密钥γ加密得到的加密关键词。
[0062] 步骤五:数据拥有者为每个关键字w定义一个访问控制树Tw实现细粒度的授权关键字查询,从而保证只有数据使用者的属性满足该关键字对应的访问控制树Tw时,用户才能使用该关键字请求数据:数据拥有者为每个关键字w定义一个访问控制树Tw,并从根节点到叶子节点依次为该访问控制树Tw的每个节点x选择一个多项式qx,,qx,的阶数为节点x的阈值(threshold)减去1。对于根节点R,随机选择一个数满足 使得选择的多项式qR,满足qR(0)=s,对于其他的节点,选择的多项式qx,满足qx(0)=qp(x)(index(x))。数据拥有者基于加密关键字εγ(w)进一步构造一个包含访问控制树信息,同时可以高效且有效地检测与授权的数据使用者提交的请求陷门是否匹配的数据结构:
[0063]
[0064]
[0065] 本实施例中为了评估构建安全索引的时间开销与关键字访问控制树中叶子节点数量的关系,我们在测定不同文件数量在关键字数量为400时构建安全索引的时间开销,以及测定了不同索引关键字数量在文件数量为2000时构建安全索引的时间开销时,分别构建叶子节点数量为5,10,15的访问控制树,完成三组实验。
[0066] 步骤六:数据拥有者将构造的包含关键字信息、访问控制树信息同时可以实现高效且有效地检测数据使用者提交的请求陷门是否与该关键字匹配的数据结构CTw及包含该关键字w的加密文件一起组成索引表,并将索引表和加密数据文件一起上传到云服务器中。
[0067] 阶段三:数据使用者从数据拥有者处获得数据访问权限
[0068] 步骤一:数据拥有者为数据使用者定义一组属性集S,并生成该S对应密钥其中r,ra都为整数群的非零元素集合 中随机选择的元素,且S中的每一个属性a都对应一个ra。
[0069] 本实施例中为了评估生成陷门的时间开销与数据使用者属性数量之间的关系以及安全查询的时间开销与数据使用者属性数量之间的关系,我们在测定随着查询关键字变化生成陷门的时间开销,关键字数量为400时随着数据文件数量变化安全查询的时间开销,数据文件数量为2000时随着索引关键字数量的变化安全查询的时间开销时,分别设定数据使用者的属性数量为5,10,15(对应于叶子节点数量为5,10,15的访问控制树),完成三组实验。
[0070] 步骤二:数据拥有者将加密文件的密钥k0、加密关键字的密钥γ、属性集S,以及根据S生成的SK一起发送给数据使用者。
[0071] 阶段四:数据拥有者从服务器中检索需要的数据文件。
[0072] 步骤一:客户端(数据使用者)将需要查询的关键字w1依据H1,映射为 中的一个元素,记为H1(w1),然后从 中随机选择一个元素λ,得到两个随机的群元素 和gλ,接着使用γ加密 和gλ,最终得到关键字w1的陷门
[0073] 本实施例中为了评估生成陷门的时间开销与查询关键字数量的关系,我们依次测定了查询查询关键字为1到10时,生成陷门的时间开销。
[0074] 步骤二:服务器端收到用户提交的陷门Tr(w)后,比对索引表中的关键字w0加密时使用的访问控制树Tw0与客户端提交的陷门中的SK:首先,对于w0加密时使用的访问控制树Tw0的叶子节点x,若其表示的属性a是客户端数据使用者拥有的属性,即a∈S,则计算[0075]
[0076] 否则设Fx=⊥;接着,对于 上的非叶子结点x,根据结点的阈值kx,任意选择kx个节点z组成一个大小为kx的结点x孩子结点集合Sx,其中每个结点z都满足Fz=1,此时,使用拉格朗日插值计算
[0077]
[0078] 其中i=index(z), 是拉格朗日系数,若不存在这样的结点集合,则定义Fx=⊥。按照自下向上的计算顺序,服务器端最终可以计算出根结点R的FR。如果FR=⊥,则表示数据使用者的属性不满足访问控制树,即数据使用者没有查询关键字w0的权限;如果 表明,关键字w0加密时使用的访问控
制树Tw0与客户端提交的陷门中的SK匹配,数据使用者有权查询该关键字。
[0079] 步骤三:服务器端通过判断 是否成立,来判断w1=w0是否成立。若w=w0成立,则根据索引列表的信息,数据使用者获得所用包含关键字w/w0的加密数据文件;否则,表示w0不是数据使用者查询的关键字,继续比对索引表中的下一关键字,回到本阶段步骤二。若索引中所有关键字都已经比对完毕,且索引表中所有关键字与查询关键字都不匹配,则提示数据使用者没有包含该关键字的文件且不再执行下一步骤。
[0080] 步骤四:数据使用者收到加密数据文件后,在本地使用对称密钥k0解密从服务器端获取的加密数据文件,获得需要的数据文件。
[0081] 在该实施例中,我们通过记录不同情况下构造安全索引的时间、生成陷门的时间、安全搜索的时间评估本发明的时间开销。
[0082] 对于构造安全索引的时间开销,我们发现时间开销随着访问控制树中叶子节点的数量的增加而增加,也随着索引关键字的增加而增加,但是数据文件的数量与时间开销没有明显的关系。具体的结果如图2和图3所示。
[0083] 对于生成陷门的时间开销,我们发现加密查询关键字的时间开销随着关键字的数量的增加呈现线性增长,具体结果如附图4所示。
[0084] 为了评估在加密数据中实现安全查询的有效性,我们将关键字和加密文档表示成倒排索引的数据结构,而且,我们在我们的实验中的陷门都是满足所有的访问控制树的,所以测试的有效性可以提高,实验结果表明查询时间随着关键字数量的增加呈现线性增长,但是文件的数量对查询算法影响不大,具体结果如图5和图6所示。
[0085] 通过实验我们发现了本发明中的构造安全索引的时间开销、生成陷门的时间开销、安全搜索的时间开销都会随着某些因素的变化而变化,但是总体来看,本发明在各个阶段的时间开销都不影响实际应用。而且本发明可以在属性判断策略上实现AND门、OR门和阈值门的判断,对于现实系统中可能存在的复杂的属性策略来说具有重要意义。所以本发明所提出的方法是具有现实意义的。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈