细粒度多用户可搜索加密方法、装置及电子设备

未命名 08-17 阅读:51 评论:0


1.本发明涉及数据加密技术领域,尤其是涉及一种细粒度多用户可搜索加密方法、装置及电子设备。


背景技术:

2.目前,云服务提供商作为不可信的第三方平台,以明文的形式存储数据显然无法满足隐私安全需求,数据拥有者往往会选择将数据加密后再上传至云服务器。而传统的信息检索是由服务器在明文数据上进行操作的,服务器无法在密文上进行有意义的运算,使用传统的加密方式会导致检索数据变得困难。因此,如何在保证数据隐私的情况下,实现安全且高效的关键字搜索成为一个亟待解决的问题。
3.为了解决这一问题,学者们提出了可搜索加密技术。可搜索加密技术基于传统密码算法设计方案,利用云端服务器资源,在保证数据和查询隐私的同时能够高效地对加密数据进行关键字搜索,提高数据可用性。根据使用加密算法的不同,可搜索加密方案可分为对称可搜索加密和非对称可搜索加密。
4.其中,多用户可搜索加密方案可使多名用户对云端文档进行搜索和访问,提高了数据的利用效率,更符合用户数据共享的需求。进一步的,上述非对称可搜索加密公私钥相互分离,可解决多用户环境下的可搜索加密问题,但传统非对称可搜索加密方案局限于点对点数据共享,通信和计算开销较大,限制了其推广与实际应用。再者,对称可搜索加密计算开销小、速度快,但由于加解密使用相同密钥,在非安全信道中进行密钥分发时密钥容易泄露,不能方便地进行多用户间数据共享。
5.整体而言,现有的多用户可搜索加密方案存在计算难度大以及数据安全差的现状,多用户间数据共享效率低。


技术实现要素:

6.本发明的目的在于提供一种细粒度多用户可搜索加密方法、装置及电子设备,以降低用户可搜索加密方法的计算难度并,提高多用户环境下数据共享的效率。
7.第一方面,本发明实施例提供了一种细粒度多用户可搜索加密方法,其中,上述方法包括:接收数据拥有者发送的安全参数以及预设的属性集合;根据上述安全参数,生成关键词密钥、公共参数以及主密钥;基于属性加密的密钥生成算法,根据上述关键词密钥、上述公共参数、上述主密钥以及数据使用者对应上述属性集合的属性,生成上述数据使用者的用户属性密钥;接收上述数据拥有者发送的加密文件以及上述加密文件对应的加密索引;接收上述数据使用者选定的搜索关键词以及上述用户属性密钥中的上述关键词密钥,生成搜索凭证;根据上述搜索凭证,在上述加密索引中查找对应的加密文件的文件列表,并根据上述文件列表反馈操作结果。
8.可优选的实施方式中,上述关键词密钥、上述公共参数、上述主密钥通过下述步骤生成:通过预设的对称加密算法基于上述安全参数,生成上述关键词密钥;通过预设的属性
加密的初始化算法基于上述安全参数,生成上述公共参数、上述主密钥。
9.可优选的实施方式中,接收上述数据拥有者发送的加密文件以及上述加密文件对应的加密索引的步骤之前,上述方法包括:接收待上传的文件集合;对上述待上传的文件集合进行预处理,生成倒排索引;分别对上述倒排索引和上述文件集合进行加密,得到上述加密文件以及上述加密文件对应的加密索引。
10.可优选的实施方式中,对上述文件集合进行加密的步骤,包括:通过随机生成的文件密钥对上述文件集合中的文件内容进行对称加密,生成密文文件,并对上述文件集合中的文件名进行对称加密,生成文件的唯一标识符;根据上述唯一标识符以及上述密文文件,得到加密后的文件集合。
11.可优选的实施方式中,对上述倒排索引进行加密的步骤,包括:通过上述关键词密钥,对上述倒排索引的关键词进行加密,得到密文关键词;更新上述密文关键词,生成搜索辅助状态信息;根据上述搜索辅助状态信息,选取预设的随机字符生成上述密文关键词的更新索引值,并根据上述更新索引值与上述密文关键词的当前索引值生成关联值;基于上述文件集合对应的上述属性集合中的搜索属性对上述更新索引值进行属性加密,得到密文更新索引值;基于上述文件集合对应的解密属性对上述文件密钥进行属性加密,得到密文文件密钥;根据上述密文关键词、上述搜索辅助状态信息、上述密文更新索引值、上述更新索引值、上述文件集合、上述关联值、上述密文文件密钥得到上述加密索引。
12.可优选的实施方式中,根据上述搜索凭证,在上述加密索引中查找对应的加密文件的文件列表的步骤,包括:根据上述搜索凭证,生成与上述搜索凭证对应的待匹配搜索辅助状态;在上述搜索辅助状态信息匹配上述待匹配搜索辅助状态,得到与上述待匹配搜索辅助状态对应的加密索引值;根据上述加密索引值以及上述用户属性密钥,在上述加密索引中查找对应的加密文件的文件列表及密文文件密钥。
13.可优选的实施方式中,根据上述搜索凭证,在上述加密索引中查找对应的加密文件的文件列表,并根据上述文件列表反馈操作结果的步骤之后,上述方法包括:通过上述用户属性密钥中的关键词密钥解密上述文件列表的对应的上述唯一标识符,得到上述文件列表对应的文件信息;上述文件信息包括文件名以及文件更新版本。
14.可优选的实施方式中,根据上述加密索引值以及上述用户属性密钥,在上述加密索引中查找对应的加密文件的文件列表的步骤之后,上述方法包括:使用上述用户属性密钥执行属性加密的解密算法解密上述密文文件密钥,得到文件密钥;使用上述文件密钥对上述文件列表中的文件继续解密,得到明文文件。
15.第二方面,本发明提供了一种细粒度多用户可搜索加密装置,其中,包括:初始化设置模块,用于接收数据拥有者发送的安全参数以及预设的属性集合;密钥生成模块,用于根据上述安全参数,生成关键词密钥、公共参数以及主密钥;属性密钥生成模块,用于基于属性加密的密钥生成算法,根据上述关键词密钥、上述公共参数、上述主密钥以及数据使用者对应上述属性集合的属性,生成上述数据使用者的用户属性密钥;文件上传模块,用于接收上述数据拥有者发送的加密文件以及上述加密文件对应的加密索引;搜索凭证生成模块,用于接收上述数据使用者选定的搜索关键词以及上述用户属性密钥中的上述关键词密钥,生成搜索凭证;搜索结果反馈模块,用于根据上述搜索凭证,在上述加密索引中查找对应的加密文件的文件列表,并根据上述文件列表反馈操作结果。
16.第三方面,本发明实施例提供了一种电子设备,其中,上述电子设备包括处理器和存储器,上述存储器存储有能够被上述处理器执行的机器可执行指令,上述处理器执行上述机器可执行指令以实现第一方面至第一方面的第七种可能的实施方式任一项的细粒度多用户可搜索加密方法。
17.本发明实施例带来了以下有益效果:
18.本发明实施例提供了一种细粒度多用户可搜索加密方法、装置及电子设备,上述方法包括:接收数据拥有者发送的安全参数以及预设的属性集合;根据上述安全参数,生成关键词密钥、公共参数以及主密钥;基于属性加密的密钥生成算法,根据上述关键词密钥、上述公共参数、上述主密钥以及数据使用者对应上述属性集合的属性,生成上述数据使用者的用户属性密钥;接收上述数据拥有者发送的加密文件以及上述加密文件对应的加密索引;接收上述数据使用者选定的搜索关键词以及上述用户属性密钥中的上述关键词密钥,生成搜索凭证;根据上述搜索凭证,在上述加密索引中查找对应的加密文件的文件列表,并根据上述文件列表反馈操作结果。该方法通过设置用户的用户属性密钥,以根据用户属性密钥对加密文件进行搜索,可实现多用户间的数据共享及细粒度访问控制,算法简单,并且数据安全性更高。
19.本实施例公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
20.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
21.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1为本发明实施例提供的一种细粒度多用户可搜索加密方法的流程示意图;
23.图2为本发明实施例提供的另一种细粒度多用户可搜索加密方法的流程示意图;
24.图3本发明实施例提供的一种细粒度多用户可搜索加密装置的结构示意图;
25.图4本发明实施例提供的一种电子设备的结构示意图。
26.图标:31-初始化设置模块;32-密钥生成模块;33-属性密钥生成模块;34-文件上传模块;35-搜索凭证生成模块;36-搜索结果反馈模块;41-存储器;42-处理器;43-总线;44-通信接口。
具体实施方式
27.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
28.目前,云服务提供商作为不可信的第三方平台,以明文的形式存储数据显然无法
满足隐私安全需求,数据拥有者往往会选择将数据加密后再上传至云服务器。而传统的信息检索是由服务器在明文数据上进行操作的,服务器无法在密文上进行有意义的运算,使用传统的加密方式会导致检索数据变得困难。因此,如何在保证数据隐私的情况下,实现安全且高效的关键字搜索成为一个亟待解决的问题。为了解决这一问题,学者们提出了可搜索加密技术。可搜索加密技术基于传统密码算法设计方案,利用云端服务器资源,在保证数据和查询隐私的同时能够高效地对加密数据进行关键字搜索,提高数据可用性。根据使用加密算法的不同,可搜索加密方案可分为对称可搜索加密和非对称可搜索加密。其中,多用户可搜索加密方案可使多名用户对云端文档进行搜索和访问,提高了数据的利用效率,更符合用户数据共享的需求。进一步的,上述非对称可搜索加密公私钥相互分离,可解决多用户环境下的可搜索加密问题,但传统非对称可搜索加密方案局限于点对点数据共享,通信和计算开销较大,限制了其推广与实际应用。再者,对称可搜索加密计算开销小、速度快,但由于加解密使用相同密钥,在非安全信道中进行密钥分发时密钥容易泄露,不能方便地进行多用户间数据共享。
29.基于此,本发明实施例提供了一种细粒度多用户可搜索加密方法、装置及电子设备,该方法通过设置用户的用户属性密钥,以根据用户属性密钥对加密文件进行搜索,可实现多用户间的数据共享及细粒度访问控制,算法简单,并且数据安全性更高。为便于对本发明实施例进行理解,首先对本发明实施例所公开的一种细粒度多用户可搜索加密方法进行详细介绍。
30.实施例1
31.在本实施例中,图1为本发明实施例提供的一种细粒度多用户可搜索加密方法的流程示意图,该方法包括:
32.步骤s101:接收数据拥有者发送的安全参数以及预设的属性集合。
33.步骤s102:根据上述安全参数,生成关键词密钥、公共参数以及主密钥。
34.这里,上述关键词密钥通过预设的对称加密算法基于上述安全参数,生成。
35.步骤s103:基于属性加密的密钥生成算法,根据上述关键词密钥、上述公共参数、上述主密钥以及数据使用者对应上述属性集合的属性,生成上述数据使用者的用户属性密钥。
36.这里,上述步骤s103之后,该方法还包括:分发用户属性密钥;上述分发用户属性密钥分为密钥生成和获取两个步骤,密钥生成由数据拥有者执行,密钥获取由数据使用者执行。每个数据使用者都要执行公钥加密算法,生成一对公私钥,发送公钥至云服务器进行注册,用于与数据拥有者进行安全通信。属性密钥经数据使用者的通信公钥加密后存储在云服务器中,只有拥有对应私钥的数据使用者可解密,因此密钥分发阶段无需双方同时在线,数据使用者只需和云服务器进行交互,就能获得属性密钥和搜索结果,减少了数据拥有者与数据使用者间的交互。
37.步骤s104:接收上述数据拥有者发送的加密文件以及上述加密文件对应的加密索引。
38.步骤s105:接收上述数据使用者选定的搜索关键词以及上述用户属性密钥中的上述关键词密钥,生成搜索凭证。
39.步骤s106:根据上述搜索凭证,在上述加密索引中查找对应的加密文件的文件列
表,并根据上述文件列表反馈操作结果。
40.本发明实施例提供了一种细粒度多用户可搜索加密方法,上述方法包括:接收数据拥有者发送的安全参数以及预设的属性集合;根据上述安全参数,生成关键词密钥、公共参数以及主密钥;基于属性加密的密钥生成算法,根据上述关键词密钥、上述公共参数、上述主密钥以及数据使用者对应上述属性集合的属性,生成上述数据使用者的用户属性密钥;接收上述数据拥有者发送的加密文件以及上述加密文件对应的加密索引;接收上述数据使用者选定的搜索关键词以及上述用户属性密钥中的上述关键词密钥,生成搜索凭证;根据上述搜索凭证,在上述加密索引中查找对应的加密文件的文件列表,并根据上述文件列表反馈操作结果。该方法通过设置用户的用户属性密钥,以根据用户属性密钥对加密文件进行搜索,可实现多用户间的数据共享及细粒度访问控制,算法简单,并且数据安全性更高。
41.实施例2
42.在图1所示的细粒度多用户可搜索加密方法的基础上,图2为本发明实施例提供的另一种细粒度多用户可搜索加密方法的流程示意图,该方法包括:
43.步骤s201:接收数据拥有者发送的安全参数以及预设的属性集合。
44.步骤s202:通过预设的对称加密算法基于上述安全参数,生成上述关键词密钥。
45.步骤s203:通过预设的属性加密的初始化算法基于上述安全参数,生成上述公共参数、上述主密钥。
46.上述步骤s201至上述步骤s203对应系统初始化过程:系统初始化阶段由数据拥有者执行,数据拥有者设置系统算法安全参数,执行对称加密算法,随机生成对称密钥作为关键词密钥,生成基于属性加密方案的公共参数、主密钥。最后将公共参数发送给云服务器,公共参数是公开的。
47.步骤s204:基于属性加密的密钥生成算法,根据上述关键词密钥、上述公共参数、上述主密钥以及数据使用者对应上述属性集合的属性,生成上述数据使用者的用户属性密钥。
48.在步骤s204之后,该方法还包括:通过数据拥有者对上述数据使用者进行授权。当数据拥有者为数据使用者进行授权时,首先为数据使用者设置上述属性集合,然后执行基于属性加密的密钥生成算法,使用系统主密钥,公共参数及数据使用者的属性集合中的属性,生成数据使用者的用户属性密钥。最后执行公钥加密算法,使用数据使用者的通信公钥对属性密钥及关键词密钥进行加密,发送给云服务器。
49.步骤s205:接收上述数据拥有者发送的加密文件以及上述加密文件对应的加密索引。
50.在本实施例中,接收上述数据拥有者发送的加密文件以及上述加密文件对应的加密索引的步骤之前,上述方法包括下述步骤a1至步骤a3:
51.步骤a1:接收待上传的文件集合。
52.步骤a2:对上述待上传的文件集合进行预处理,生成倒排索引。
53.步骤a3:分别对上述倒排索引和上述文件集合进行加密,得到上述加密文件以及上述加密文件对应的加密索引。
54.这里,上述步骤a3中对上述文件集合进行加密的步骤,包括:首先,通过随机生成
的文件密钥对上述文件集合中的文件内容进行对称加密,生成密文文件,并对上述文件集合中的文件名进行对称加密,生成文件的唯一标识符。然后,根据上述唯一标识符以及上述密文文件,得到加密后的文件集合。
55.其中,上述步骤通过使用数据拥有者配置的文件密钥对文件内容进行对称加密,生成密文文件;对文件名进行加密,生成文件唯一标识符,并替换索引中文件名。
56.进一步的,上述步骤a3中对上述倒排索引进行加密的步骤,包括:通过上述关键词密钥,对上述倒排索引的关键词进行加密,得到密文关键词;更新上述密文关键词,生成搜索辅助状态信息;根据上述搜索辅助状态信息,选取预设的随机字符生成上述密文关键词的更新索引值,并根据上述更新索引值与上述密文关键词的当前索引值生成关联值;基于上述文件集合对应的上述属性集合中的搜索属性对上述更新索引值进行属性加密,得到密文更新索引值;基于上述文件集合对应的解密属性对上述文件密钥进行属性加密,得到密文文件密钥;根据上述密文关键词、上述搜索辅助状态信息、上述密文更新索引值、上述更新索引值、上述文件集合、上述关联值、上述密文文件密钥得到上述加密索引。
57.这里,当上述文件集合进行更新时,数据拥有者选择要上传的文件集合,随机生成对称加密密钥作为文件密钥,并对文件集合进行预处理,生成关键词结合文件标识符集合形式的倒排索引,接下来分别对文件集合及索引进行加密,将密文文件及加密索引发送至云服务器,云服务器将接收到的文件存储到云服务器中。
58.进一步的,数据拥有着选取想要上传的文件集合。提取上述文件集合每个文件相应的关键词集合,构建倒排索引。
59.这里,为了实现文件的动态更新,使得再次更新文件时无需对之前的文件索引进行重构,索引加密阶段需要将新生成的索引值与上一次更新时的索引值进行关联,得到上述关联值。同时,通过上述操作,旧搜索凭证无法查询到之后更新的文件,满足了前向安全的要求。
60.完成上述步骤后,数据拥有者将索引信息上传至云服务器并更新本地关键词状态表和更新次数的值,然后由云服务器对索引信息进行保存。
61.步骤s206:接收上述数据使用者选定的搜索关键词以及上述用户属性密钥中的上述关键词密钥,生成搜索凭证。
62.其中,步骤s206包括下述步骤b1至步骤b3:
63.步骤b1根据上述搜索凭证,生成与上述搜索凭证对应的待匹配搜索辅助状态。
64.步骤b2:在上述搜索辅助状态信息匹配上述待匹配搜索辅助状态,得到与上述待匹配搜索辅助状态对应的加密索引值。
65.步骤b3:根据上述加密索引值以及上述用户属性密钥,在上述加密索引中查找对应的加密文件的文件列表及密文文件密钥。
66.步骤s207:根据上述搜索凭证,在上述加密索引中查找对应的加密文件的文件列表,并根据上述文件列表反馈操作结果。
67.在步骤s207之后,该方法还包括:通过上述用户属性密钥中的关键词密钥解密上述文件列表的对应的上述唯一标识符,得到上述文件列表对应的文件信息;上述文件信息包括文件名以及文件更新版本。
68.进一步的,根据上述加密索引值以及上述用户属性密钥,在上述加密索引中查找
对应的加密文件的文件列表的步骤之后,上述方法包括:使用上述用户属性密钥执行属性加密的解密算法解密上述密文文件密钥,得到文件密钥;使用上述文件密钥对上述文件列表中的文件继续解密,得到明文文件。
69.在实际的操作中,关键词搜索阶段由数据使用者和云服务器通过两轮的交互协同完成。
70.首先,数据使用者选定搜索关键词,并为关键词生成搜索凭证,将搜索凭证发送给云服务器。云服务器利用此搜索凭证在存储的索引信息中进行匹配,获取该关键词最近一次更新时系统的更新次数为此次查询生成对应的搜索辅助状态,然后与存储的索引信息中的搜索辅助状态值进行匹配,将对应的加密索引值返回给数据使用者。
71.然后,数据使用者使用其用户属性密钥执行基于属性加密中的解密算法,解密密文。当且仅当数据使用者具有搜索权限,即满足搜索的访问结构时,才能正确解密。数据使用者将解密得到的索引值发送给云服务器,云服务器将该索引值与存储的索引信息进行匹配,成功匹配到结果则证明该用户具有搜索的权限,解密正确。
72.最后,此次匹配到的结果包括该关键词最近一次更新的文件列表、加密后的文件密钥及当前更新与再上一次更新的索引关联值,通过该关联值及当前更新状态下的索引值可得到上一次更新的索引值,从而获得对应的文件列表、文件密钥及索引关联值。重复执行此操作,获取到之前更新的所有文件列表及其对应文件密钥,返回搜索结果。
73.通过上述两轮交互,具有搜索权限的数据使用者能够得到搜索关键词对应的文件列表,该列表内容为对文件名进行加密后生成的文件唯一标识符,数据使用者需要在本地使用关键词密钥进行解密,得到文件名、文件更新版本等基本信息。
74.文件下载阶段由数据使用者执行,根据文件基本信息选择想要下载的文件,从云服务器处获取云端存储的密文文件。数据使用者使用其用户属性密钥执行基于属性加密的解密算法解密。当且仅当数据使用者具有解密权限,即满足解密的访问结构时,才能正确解密得到文件密钥。最后使用文件密钥对密文文件进行解密,获得明文文件。
75.本发明实施例提供了一种细粒度多用户可搜索加密方法,上述方法包括:接收数据拥有者发送的安全参数以及预设的属性集合;通过预设的对称加密算法基于上述安全参数,生成上述关键词密钥;通过预设的属性加密的初始化算法基于上述安全参数,生成上述公共参数、上述主密钥;基于属性加密的密钥生成算法,根据上述关键词密钥、上述公共参数、上述主密钥以及数据使用者对应上述属性集合的属性,生成上述数据使用者的用户属性密钥;接收上述数据拥有者发送的加密文件以及上述加密文件对应的加密索引;接收上述数据使用者选定的搜索关键词以及上述用户属性密钥中的上述关键词密钥,生成搜索凭证;根据上述搜索凭证,在上述加密索引中查找对应的加密文件的文件列表,并根据上述文件列表反馈操作结果。该方法通过对称加密算法设置用户的关键词密钥,基于属性加密的密钥生成算法,根据上述关键词密钥、上述公共参数、上述主密钥以及数据使用者对应上述属性集合的属性,生成上述数据使用者的用户属性密钥,以根据用户属性密钥对加密文件进行搜索,简化算法的同时提升了数据的安全性。
76.实施例3
77.本实施例提供了一种细粒度多用户可搜索加密装置。图3为本发明实施例提供的一种细粒度多用户可搜索加密装置的结构示意图,上述装置包括:
78.初始化设置模块31,用于接收数据拥有者发送的安全参数以及预设的属性集合。
79.密钥生成模块32,用于根据上述安全参数,生成关键词密钥、公共参数以及主密钥。
80.属性密钥生成模块33,用于基于属性加密的密钥生成算法,根据上述关键词密钥、上述公共参数、上述主密钥以及数据使用者对应上述属性集合的属性,生成上述数据使用者的用户属性密钥。
81.文件上传模块34,用于接收上述数据拥有者发送的加密文件以及上述加密文件对应的加密索引。
82.搜索凭证生成模块35,用于接收上述数据使用者选定的搜索关键词以及上述用户属性密钥中的上述关键词密钥,生成搜索凭证。
83.搜索结果反馈模块36,用于根据上述搜索凭证,在上述加密索引中查找对应的加密文件的文件列表,并根据上述文件列表反馈操作结果。
84.其中,上述初始化设置模块31、密钥生成模块32、属性密钥生成模块33、文件上传模块34、搜索凭证生成模块35以及搜索结果反馈模块36依次相连。
85.本发明实施例提供的细粒度多用户可搜索加密装置,与上述实施例提供的细粒度多用户可搜索加密方法的具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
86.实施例4
87.本实施例提供了一种电子设备,包括处理器和存储器,该存储器存储有能够被该处理器执行的计算机可执行指令,该处理器执行该计算机可执行指令以实现细粒度多用户可搜索加密方法的步骤。
88.本实施例提供了一种计算机可读存储介质,其中存储有计算机程序,该计算机程序被处理器执行时实现细粒度多用户可搜索加密方法的步骤。
89.参见图4所示的一种电子设备的结构示意图,该电子设备包括:存储器41、处理器42,存储器41中存储有可在处理器42上运行的计算机程序,处理器执行计算机程序时实现上述细粒度多用户可搜索加密方法提供的步骤。
90.如图4所示,该设备还包括:总线43和通信接口44,处理器42、通信接口44和存储器41通过总线43连接;处理器42用于执行存储器41中存储的可执行模块,例如计算机程序。
91.其中,存储器41可能包含高速随机存取存储器(ram,random access memory),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口44(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
92.总线43可以是isa总线、pci总线或eisa总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
93.其中,存储器41用于存储程序,处理器42在接收到执行指令后,执行程序,前述本发明任一实施例揭示细粒度多用户可搜索加密装置所执行的方法可以应用于处理器42中,或者由处理器42实现。处理器42可能是一种集成电路芯片,具有信号的处理能力。在实现过
程中,上述方法的各步骤可以通过处理器42中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器42可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器41,处理器42读取存储器41中的信息,结合其硬件完成上述方法的步骤。
94.进一步地,本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器42调用和执行时,机器可执行指令促使处理器42实现上述细粒度多用户可搜索加密方法。
95.本发明实施例提供的电子设备和计算机可读存储介质具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
96.另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
97.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

技术特征:
1.一种细粒度多用户可搜索加密方法,其特征在于,所述方法包括:接收数据拥有者发送的安全参数以及预设的属性集合;根据所述安全参数,生成关键词密钥、公共参数以及主密钥;基于属性加密的密钥生成算法,根据所述关键词密钥、所述公共参数、所述主密钥以及数据使用者对应所述属性集合的属性,生成所述数据使用者的用户属性密钥;接收所述数据拥有者发送的加密文件以及所述加密文件对应的加密索引;接收所述数据使用者选定的搜索关键词以及所述用户属性密钥中的所述关键词密钥,生成搜索凭证;根据所述搜索凭证,在所述加密索引中查找对应的加密文件的文件列表,并根据所述文件列表反馈操作结果。2.根据权利要求1所述的细粒度多用户可搜索加密方法,其特征在于,所述关键词密钥、所述公共参数、所述主密钥通过下述步骤生成:通过预设的对称加密算法基于所述安全参数,生成所述关键词密钥;通过预设的属性加密的初始化算法基于所述安全参数,生成所述公共参数、所述主密钥。3.根据权利要求2所述的细粒度多用户可搜索加密方法,其特征在于,接收所述数据拥有者发送的加密文件以及所述加密文件对应的加密索引的步骤之前,所述方法包括:接收待上传的文件集合;对所述待上传的文件集合进行预处理,生成倒排索引;分别对所述倒排索引和所述文件集合进行加密,得到所述加密文件以及所述加密文件对应的加密索引。4.根据权利要求3所述的细粒度多用户可搜索加密方法,其特征在于,对所述文件集合进行加密的步骤,包括:通过随机生成的文件密钥对所述文件集合中的文件内容进行对称加密,生成密文文件,并对所述文件集合中的文件名进行对称加密,生成文件的唯一标识符;根据所述唯一标识符以及所述密文文件,得到加密后的文件集合。5.根据权利要求4所述的细粒度多用户可搜索加密方法,其特征在于,对所述倒排索引进行加密的步骤,包括:通过所述关键词密钥,对所述倒排索引的关键词进行加密,得到密文关键词;更新所述密文关键词,生成搜索辅助状态信息;根据所述搜索辅助状态信息,选取预设的随机字符生成所述密文关键词的更新索引值,并根据所述更新索引值与所述密文关键词的当前索引值生成关联值;基于所述文件集合对应的所述属性集合中的搜索属性对所述更新索引值进行属性加密,得到密文更新索引值;基于所述文件集合对应的解密属性对所述文件密钥进行属性加密,得到密文文件密钥;根据所述密文关键词、所述搜索辅助状态信息、所述密文更新索引值、所述更新索引值、所述文件集合、所述关联值、所述密文文件密钥得到所述加密索引。6.根据权利要求5所述的细粒度多用户可搜索加密方法,其特征在于,根据所述搜索凭
证,在所述加密索引中查找对应的加密文件的文件列表的步骤,包括:根据所述搜索凭证,生成与所述搜索凭证对应的待匹配搜索辅助状态;在所述搜索辅助状态信息匹配所述待匹配搜索辅助状态,得到与所述待匹配搜索辅助状态对应的加密索引值;根据所述加密索引值以及所述用户属性密钥,在所述加密索引中查找对应的加密文件的文件列表及密文文件密钥。7.根据权利要求5所述的细粒度多用户可搜索加密方法,其特征在于,根据所述搜索凭证,在所述加密索引中查找对应的加密文件的文件列表,并根据所述文件列表反馈操作结果的步骤之后,所述方法包括:通过所述用户属性密钥中的关键词密钥解密所述文件列表的对应的所述唯一标识符,得到所述文件列表对应的文件信息;所述文件信息包括文件名以及文件更新版本。8.根据权利要求6所述的细粒度多用户可搜索加密方法,其特征在于,根据所述加密索引值以及所述用户属性密钥,在所述加密索引中查找对应的加密文件的文件列表的步骤之后,所述方法包括:使用所述用户属性密钥执行属性加密的解密算法解密所述密文文件密钥,得到文件密钥;使用所述文件密钥对所述文件列表中的文件继续解密,得到明文文件。9.一种细粒度多用户可搜索加密装置,其特征在于,包括:初始化设置模块,用于接收数据拥有者发送的安全参数以及预设的属性集合;密钥生成模块,用于根据所述安全参数,生成关键词密钥、公共参数以及主密钥;属性密钥生成模块,用于基于属性加密的密钥生成算法,根据所述关键词密钥、所述公共参数、所述主密钥以及数据使用者对应所述属性集合的属性,生成所述数据使用者的用户属性密钥;文件上传模块,用于接收所述数据拥有者发送的加密文件以及所述加密文件对应的加密索引;搜索凭证生成模块,用于接收所述数据使用者选定的搜索关键词以及所述用户属性密钥中的所述关键词密钥,生成搜索凭证;搜索结果反馈模块,用于根据所述搜索凭证,在所述加密索引中查找对应的加密文件的文件列表,并根据所述文件列表反馈操作结果。10.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至8任一项所述的细粒度多用户可搜索加密方法。

技术总结
本发明提供了一种细粒度多用户可搜索加密方法、装置及电子设备,其中,该方法包括:接收数据拥有者发送的安全参数以及预设的属性集合;根据安全参数,生成关键词密钥、公共参数以及主密钥;生成数据使用者的用户属性密钥;接收数据拥有者发送的加密文件以及加密文件对应的加密索引;接收数据使用者选定的搜索关键词以及用户属性密钥中的关键词密钥,生成搜索凭证;根据搜索凭证,在加密索引中查找对应的加密文件的文件列表,并根据文件列表反馈操作结果。该方法通过设置用户的用户属性密钥,以根据用户属性密钥对加密文件进行搜索,可实现多用户间的数据共享及细粒度访问控制,算法简单,并且数据安全性更高。并且数据安全性更高。并且数据安全性更高。


技术研发人员:孙溢 李春熹 徐通 金静
受保护的技术使用者:北京邮电大学
技术研发日:2023.05.25
技术公布日:2023/8/16
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐