基于属性集的具有前后向隐私的可搜索加密方法

文档序号:37146781发布日期:2024-02-26 17:00阅读:14来源:国知局
基于属性集的具有前后向隐私的可搜索加密方法

本技术涉及一种基于属性集的具有前后向隐私的可搜索加密方法,属于信息检索和密码学领域。


背景技术:

1、近年来,随着云计算和大数据技术的快速发展,数据安全和隐私保护面临着前所未有的挑战。传统的加密方法可以有效地保护数据的机密性,但却无法满足用户对加密数据进行搜索和查询的需求。这就使得在使用存储在云端的加密数据时,需要频繁地将数据解密,从而增加了数据泄露的风险,同时也消耗了大量的网络通信资源。因此,为了解决这一问题,可搜索加密(searchable encryption,简称se)这一新兴的加密技术应运而生。

2、可搜索加密技术的出现,为数据隐私和安全提供了全新的解决方案。它允许用户在保持数据加密的同时,仍然能够进行高效的搜索和查询操作,而无需将数据解密。这一技术的意义和必要性在于,它为用户提供了更安全可靠的数据存储和处理方式,能够在满足隐私保护需求的同时,实现对加密数据的高效检索和查询。尤其是在医疗保健、金融交易和大规模数据分析等领域,可搜索加密技术的应用将极大地促进数据安全和隐私保护的实现,推动信息技术领域的可持续发展。根据加密方法不同,可搜索加密可分为可搜索对称加密(symmetrically searchable encryption,简称sse)和公钥可搜索加密(public keyencryption with keyword search,简称peks)。基于公钥的可搜索加密中,数据拥有者将数据上传到云服务器之前使用指定用户的公钥加密数据,之后这些用户可以使用其私钥对数据进行搜索和解密。

3、上述可搜索加密虽然可以实现关键字搜索,但不能支持对共享数据的访问控制。也就是说,每个合法用户都可以对加密数据进行无限制的查询。因此,研究者们结合基于属性的加密技术提出了基于属性的可搜索加密方案。在这些方案中,受信任的权威机构为用户管理和分配相应的属性结构,数据所有者对加密数据实施访问控制策略,只有当用户的属性结构满足访问策略时,才可以访问相应的数据。一般来说,受信任的机构会为每个用户分发与其属性相关的私钥,然后用户可以在不泄露关键字的情况下,使用私钥生成包含查询关键字信息的检索陷门。基于属性的可搜索加密方案使得数据所有者可以精确控制哪些用户可以搜索到其数据,从而实现更细粒度的访问控制。同时,由于数据仍然处于加密状态,即使搜索服务提供者被攻击或泄露,也无法获得明文数据。

4、尽管现有的工作为基于属性的可搜索加密提供了解决方案,但目前没有一个方案能同时解决检索的去中心化、对用户的层次化细粒度访问控制、数据的前向隐私和后向隐私等三个问题。

5、检索的去中心化可以排除单点故障问题从而提高系统的稳定性,现有的大多数工作都通过单一服务器进行检索操作;对用户的层次化细粒度访问控制对于确保数据拥有者的数据安全具有非常重要的作用且其多用户的模式有许多应用场景,已存在的一些区块链上的方法并不支持该特性,并且相对于传统的细粒度访问控制模式,该方案采用实现了更具灵活性和可扩展性的访问控制;数据的前向隐私保证用户使得以往生成的检索陷门无法检索到该陷门生成之后所更新的数据,而数据的后向隐私则保证用户使用检索陷门无法检索得到之前添加但现在已经被删除的数据,现有的大多数工作没有考虑到这一问题,而具备该安全考虑的方案没有对用户访问权限进行细化。

6、综上所述,即便有些工作针对以上三个问题中的部分问题提出了优秀的解决方法,但仍不可避免地在其他方面做出了妥协,不能同时解决这三个方面的问题。因此,如何在大数据和云存储背景下针对以上三个问题设计一种支持复合属性、具有前后向隐私的可搜索加密方案的方法及系统成为急需解决的关键问题。


技术实现思路

1、本技术实施例提供了一种基于属性集的具有前后向隐私的可搜索加密方法、系统及可读存储介质。其利用可搜索加密技术、属性加密技术和区块链技术,提出了一种支持复合属性、具有前后向隐私的可搜索加密方案。在云存储的背景下,利用密文策略基于属性加密(ciphertext policy attribute-based encryption简称cp-abe),支持对用户的层次化细粒度访问控制,能更加灵活地对用户的访问权限进行设置;同时实现数据的前向隐私和后向隐私;并利用区块链,实现检索的去中心化,能有效避免单点故障,同时解决了上述三个方面的问题。

2、本技术实施例第一方面公开了一种基于属性集的具有前后向隐私的可搜索加密方法,该方法包括:

3、s1、可信权威机构ta先根据安全参数λ生成系统参数 pp,接着根据系统参数 pp生成公钥 pk和主密钥 mk,然后将系统参数 pp和公钥 pk公开发布在区块链网络中或广播给系统中所有实体,其中,仅可信权威机构ta具有访问主密钥 mk的权限;

4、s2、可信权威机构ta使用系统参数 pp、主密钥 mk和用户的属性集 s u为用户生成用户私钥 sk u并通过安全信道传输给用户;

5、s3、数据拥有者do使用公钥 pk、数据集合、系统参数 pp和映射∑为文档生成索引密文集edb和已更新的映射∑,并把索引密文集edb部署到区块链上,其中, op表示对数据的操作方式即添加或者删除, ind表示文件索引集, w表示关键字集合, t表示关键字的访问树集合;

6、s4、数据用户du进行检索操作时,数据用户du使用其用户私钥 sk u对关键字 q进行加密,得到检索陷门 tra并发送给区块链网络bp;

7、s5、区块链网络bp收到数据用户du发来的检索陷门 tra之后,区块链网络bp先根据获取得到相应的访问树 t,接着利用陷门中的以及用户的属性集在访问树上进行计算得到,根据判断用户是否具有相应的访问权限;权限检查通过后,根据得到相应的状态值,从该状态值的状态开始,向前回溯,将这之前每次更新的与关键字 q相关的加密索引添加到结果集mei中,最终将mei返回给数据用户;

8、s6、数据用户du接收到结果集mei后,使用用户私钥 sku,恢复出对应的明文内容。

9、进一步的,所述s1具体包括:

10、s11、可信权威机构ta挑选安全参数用群生成器,执行生成,其中, q为素数,g1和g2为关于 q的乘法群,是g1的生成元,是一个双线性映射;

11、s12、可信权威机构ta随机选择多个安全hash函数,并选择一个伪随机序列生成函数,,是的逆置换;将安全函数、伪随机序列生成函数和步骤s11中的参数组合成系统参数并发布在区块链网络中或广播给系统中所有实体,其中,表示安全hash函数;

12、s13、可信权威机构ta定义拉格朗日系数:,其中,s表示一个集合,,是一个阶数为 q-1的整数乘法循环群;

13、s14、可信权威机构ta随机选择,计算, ,和,得到。

14、进一步的,所述s2具体包括:

15、s21、定义用户属性集的结构如下:,并且 s u中的每个,都包含个属性成员,;

16、s22、可信权威机构ta随机选择,并使用主密钥 mk计算;对于用户属性集中的每个属性子集,可信权威机构ta均随机挑选随机数;而对于属性子集中的每个属性,可信权威机构ta同样随机挑选随机数;

17、s23、可信权威机构ta利用挑选好的随机数和相应的属性计算和,并通过安全信道将用户私钥发送给用户。

18、进一步的,所述s3具体包括:

19、s31、数据拥有者do随机选择版本号,计算并公开版本信息;

20、s32、数据拥有者对数据集db中的每个关键字进行以下计算,利用映射∑判断关键字是否存在,不存在则对其状态值进行初始化,接着利用状态值计算得到键,再将存储在相应的值中,其中是的大小,是对应的文件索引的集合;

21、s33、对于中的每个索引,进行以下计算,首先对索引进行加密,公式如下:

22、,

23、然后利用状态值计算另一个键,将加密索引存储在相应的值中,其中,

24、,

25、,

26、s34、数据拥有者随机选择秘密数,并计算,作为属性访问树的根的秘密值;令 t为的根节点,对中的每个节点 x做以下计算,如果 x是 t则随机选择次的多项式,并设置;否则随机选择次的多项式,并设置,其中,表示节点 x的父节点,表示节点 x的标签;

27、s35、令为所有转换节点的集合,对于所有的转换节点,计算,

28、,

29、其中,表示转换节点 v对应的多项式;

30、s36、令为所有叶子节点的集合,对每个叶子节点做以下计算,

31、,

32、,

33、其中,表示叶子节点 x对应的属性;

34、最终得到相应的访问树:

35、;

36、s37、计算与用户陷门进行匹配的值,以及访问树的索引,如下式:

37、,

38、,

39、并计算用其哈希值作为键,将其另一个哈希值与状态值异或的结果作为值,其中,

40、,

41、,

42、s38、数据拥有者将键值对,,,插入到智能合约中。

43、进一步的,所述s4具体包括:

44、s41、数据用户的私钥为:

45、,用户挑选随机数,并计算:

46、,

47、s42、利用、、查询关键词 q和版本信息计算得到,如下式:

48、,

49、s43、利用版本号,计算得到具有版本信息的访问树索引,如下式:

50、,

51、s44、利用随机数对做随机化处理,计算得到:

52、,

53、即有:

54、,数据用户du根据变量组合得到检索陷门:

55、,

56、s45、数据用户du将所述检索陷门发送至区块链网络。

57、进一步的,所述s5具体包括:

58、s51、区块链网络从陷门中获取到访问树的索引,从而得到访问树;

59、s52、对于给定的用户属性集和访问树 t,返回包含了访问树 t中每个节点的若干标签的集合,在属性集合中对应于标签集合都满足子树;对于根节点,有,且对应的标签集合为;如果不满足 t,则返回⊥,返回⊥表示返回空;否则从集合中为节点选择一个标签,然后递归地执行以下算法:

60、(1)当节点是叶子节点时,如果,则返回⊥;否则计算:

61、;

62、(2)当节点不是叶子节点,就计算一个包含所有节点的个子节点的集合,对于的中的每个节点z都要满足以下条件之一:1)标签;2)z是一个转换节点并且存在一个标签且;如果不存在这样的集合,就返回⊥;

63、对于满足条件1)的每个节点,计算并返回;

64、对于满足条件2)的每个节点,计算并返回;

65、如果,则使用和来转换来为:

66、,

67、如果,则使用、和来转换来为:

68、,

69、在计算完中每个节点z对应的后,计算:

70、,

71、其中,

72、,其中,表示节点 z的标签;

73、接着,对于节点计算并返回:

74、,

75、最后计算,如果,则,否则,

76、;

77、s53、得到访问树的结果后,计算:

78、,

79、然后计算:

80、;

81、s54、根据计算得到键,如果,则说明用户没有相应的访问权限;否则获取相应的值,

82、,

83、并根据计算得到状态值,

84、;

85、s55、进入循环loop,通过状态值获取键,

86、,

87、如果不为空,则得到相应的值,否则结束循环,返回结果集mei,其中,

88、,

89、利用获取到该状态下,包含当前关键字的索引集长度,

90、,

91、令从1到,先利用状态值和获取到键,

92、,

93、从而获取到值,

94、,

95、进而计算得到加密索引,

96、,

97、并将添加到结果集mei中;

98、最后,当时,回溯上一个状态值,

99、,

100、并将之赋值到,继续循环loop。

101、进一步的,所述s6具体包括:

102、s61、数据用户对mei中的每个做以下计算以解密得到文件索引:

103、;

104、s62、如果,则意味着相应的文件已被删除,则相应的索引应当被去除,利用筛选后的文件索引集在云存储服务器上获取文件,即可得到相应文档。

105、本技术实施例第二方面公开了一种基于属性集的具有前后向隐私的可搜索加密系统,用于执行任一种所述可搜索加密方法,所述可搜索加密系统包括运行于可信权威机构的初始化及用户注册子系统、运行于云服务器上的云存储子系统、运行于数据拥有者端的加密子系统、运行于区块链网络的检索子系统以及运行于数据用户端的检索陷门生成及解密子系统;

106、所述运行于可信权威机构的初始化及用户注册子系统包括初始化模块、主密钥存储模块和用户注册模块;其中,初始化模块用于生成系统公开参数、公钥和主密钥,并将系统公开参数和公钥公开发布于区块链网络,将主密钥保存至主密钥存储模块;主密钥存储模块用于存储主密钥,只允许可信权威机构访问;用户注册模块负责根据用户的属性结构来生成相应的用户私钥,并将用户私钥通过安全信道传输给数据用户;

107、所述运行于云服务器上的云存储子系统:用于存储文件密文,并根据相应的文件索引返回文件密文,并发送至数据用户;

108、所述运行于数据拥有者端的加密子系统:用于将文件加密后存储在云存储子系统中,并利用密钥对每一个关键字所对应的索引集合和访问树进行加密,得到索引密文,将索引密文发送至区块链网络;

109、所述运行于区块链网络的检索子系统包括加密数据集存储模块和检索模块;其中,加密数据集存储模块从数据拥有者处取得加密索引、访问树以及相应的键值对,并存储在区块链网络中;检索模块负责处理数据用户发送来的检索陷门,并根据检索陷门判断用户是否有访问权限,进而将包含检索关键字的加密索引集返回给用户;

110、所述运行于数据用户端的检索陷门生成及解密子系统包括用户陷门生成模块和数据解密模块;其中,用户陷门生成模块负责利用用户的私钥和检索关键字计算得到合法的检索陷门并发送检索陷门给区块链网络;数据解密模块利用用户私钥,对检索得到的加密索引集,恢复出明文索引,并将明文索引发送给云服务器,获取得到相应的文件。

111、本技术实施例第三方面公开了一种基于属性集的具有前后向隐私的可搜索加密系统,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现任一种所述可搜索加密方法。

112、本技术实施例第四方面公开了一种可读存储介质,存储有程序,所述程序被处理器执行时,实现任一种所述可搜索加密方法。

113、与相关技术相比,本技术实施例具有以下有益效果:

114、1、保证前向隐私和后向隐私。本发明允许检索系统对每次更新和检索陷门都加上特定的状态值,以此来控制陷门的检索时间跨度,使得使用以往生成的检索陷门无法检索得到之后更新的数据内容即前向隐私;每次更新时无论是添加或删除都是利用操作符op来体现,这使得敌手在没有用户私钥的情况下无法在索引上得到有用的信息,从而实现后向隐私。

115、2、层次化的细粒度访问控制。该发明对于每个关键词的访问都使用访问树进行控制,只有用户的属性满足访问树,用户才能检索得到相应的结果。本发明支持对用户的不同属性子集中的属性进行组合来满足访问树中转换节点的属性要求,相较于传统的访问控制,该方法使得数据拥有者可以更加灵活的设置访问策略,且实现了访问控制的可扩展性。

116、3、去中心化的检索。本发明同时支持使用部署在区块链上的智能合约来进行检索操作,它为数据用户在加密数据的搜索上带来了更好的系统稳定性和检索的可信性,降低的单点故障的可能性,并且可以保证检索结果的正确性。

117、4、实用性和安全性。本发明采用素数阶群、双线性映射以及密文策略属性可搜索加密方案进行构造,兼具访问控制、访问策略的灵活表达性的特性,有较强的安全性,且权衡了数据检索的前向隐私、后向隐私、检索的去中心化等问题,具有较好的实用性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1