本技术属于大数据,尤其涉及一种密文数据索引方法、装置、设备、存储介质及程序产品。
背景技术:
1、目前,可搜索加密技术能够同时实现数据加密和密文检索,显著提高数据共享的安全性与灵活性。区块链技术与可搜索加密技术进行融合,能够有效解决传统数据流通共享与隐私保护研究中的技术壁垒,提升数据流通的信任度,推动各行各业的数字化进程,促进数据资产化。属性加密技术能够实现对隐私数据的细粒度访问控制。
2、然而,现存的大多基于属性的密文数据检索方法存在用户访问策略隐私泄露和访问策略较为复杂的问题。未隐藏的属性访问策略可能会泄露用户的身份信息、复杂的访问策略使得用户的加解密计算负担较大,访问策略属性对数据用户、服务器等恶意内部攻击者不匿名。
3、基于此,业界仍然亟待一种新型的密文数据索引方案,以能够有效提升整体密文数据索引效率以及提升索引时的用户信息安全。
技术实现思路
1、本技术实施例提供一种密文数据索引方法、装置、设备、存储介质及程序产品,能够基于用户属性进行密文数据索引,从而能够有效提升整体密文数据索引效率以及提升索引时的用户信息安全。
2、第一方面,本技术实施例提供一种密文数据索引方法,应用于区块链,该密文数据索引方法包括:
3、接收数据用户发送的搜索陷门;
4、响应于搜索陷门,检测关键字索引密文集合是否存在关键字索引密文与搜索陷门匹配;
5、若搜索陷门与关键字索引密文集合中的目标关键字索引密文匹配,在数据用户的转换密钥符合目标关键字索引密文对应的关键字匹配结果密文的访问控制策略的情况下,基于转换密钥对关键字匹配结果密文进行预解密计算,得到预解密结果;
6、将预解密结果发送至数据用户,以使数据用户对预解密结果进行解密得到共享文件明文;其中,转换密钥基于数据用户的属性集合对应的属性密钥确定得到;访问控制策略用于指示允许访问关键字匹配结果密文的数据用户的属性。
7、在一些可能的实施方式中,转换密钥中包括数据用户的第一属性,关键字匹配结果密文的访问控制策略中包括允许访问的第二属性;第二属性为与第一属性的分类相同的属性;
8、在数据用户的转换密钥符合目标关键字索引密文的访问控制策略的情况下,基于转换密钥对关键字匹配结果密文进行预解密计算,得到预解密结果,包括:
9、在第一属性高于或等于第二属性的情况下,基于转换密钥对关键字匹配结果密文进行预解密计算,得到预解密结果;
10、在第一属性低于第二属性的情况下,确定数据用户不具备对关键字匹配结果密文的预解密权限。
11、在一些可能的实施方式中,在基于转换密钥对关键字匹配结果密文进行预解密计算,得到预解密结果之前,密文数据索引方法还包括:
12、接收属性授权中心发送的数据用户的转换密钥;
13、其中,属性授权中心用于基于数据用户的属性集合加密得到属性密钥,并对属性密钥进行二次加密得到转换密钥。
14、在一些可能的实施方式中,在基于转换密钥对关键字匹配结果密文进行预解密计算,得到预解密结果之前,密文数据索引方法还包括:
15、在云服务器确定预设时间段内区块链对关键字匹配结果密文的访问次数不超过预设访问次数阈值的情况下,基于转换密钥对关键字匹配结果密文进行预解密计算,得到预解密结果;
16、在云服务器确定访问次数超过预设访问次数阈值的情况下,接收云服务器发送的区块链发送密文访问拒绝指令;
17、响应于密文访问拒绝指令,拒绝数据用户对关键字匹配结果密文的访问。
18、在一些可能的实施方式中,基于转换密钥对关键字匹配结果密文进行预解密计算,得到预解密结果,包括:
19、在关键字匹配结果密文为短期文件密文的情况下,基于转换密钥对区块链中预先存储的关键字匹配结果密文进行预解密计算,得到预解密结果;
20、在关键字匹配结果密文为长期文件密文的情况下,在云服务器确定预设时间段内区块链对关键字匹配结果密文的访问次数不超过预设访问次数阈值的情况下,基于转换密钥对关键字匹配结果密文进行预解密计算,得到预解密结果,包括:
21、向云服务器发起对关键字匹配结果密文的密文访问请求;
22、在访问次数不超过预设访问次数阈值的情况下,向区块链发送所存储的关键字匹配结果密文;
23、基于转换密钥对关键字匹配结果密文进行预解密计算,得到预解密结果。
24、在一些可能的实施方式中,密文数据索引方法还包括:
25、在n个数据拥有者将n个关键字匹配结果密文上传至云服务器的情况下,接收n个数据拥有者分别发送的n个等值测试陷门;n个等值测试陷门与n个关键字匹配结果密文一一对应;
26、在对n个等值测试陷门进行等值测试后,向云服务器发送对关键字匹配结果密文的数据去重请求,数据去重请求用于指示云服务器对n个关键字匹配结果密文进行数据去重。
27、在一些可能的实施方式中,搜索陷门基于数据用户感兴趣的索引关键字集生成;在响应于搜索陷门,检测关键字索引密文集合是否存在关键字索引密文与搜索陷门匹配之前,密文数据索引方法还包括:
28、接收关键字匹配结果密文对应的数据拥有者上传的关键字索引密文集合,关键字索引密文集合中包括目标关键字索引密文;
29、响应于搜索陷门,检测关键字索引密文集合是否存在关键字索引密文与搜索陷门匹配,包括:
30、基于搜索陷门,确定得到索引关键字集;
31、基于索引关键字集,检测关键字索引密文集合是否存在关键字索引密文与搜索陷门匹配。
32、在一些可能的实施方式中,在响应于搜索陷门,检测关键字索引密文集合是否存在关键字索引密文与搜索陷门匹配之前,密文数据索引方法还包括:
33、接收数据拥有者发送的共享文件明文对应的目标关键字索引密文;目标关键字索引密文由数据拥有者从共享文件明文中提取关键字并进行加密得到;关键字匹配结果密文由数据拥有者对共享文件明文加密得到。
34、基于相同的发明构思,第二方面,本技术实施例提供一种密文数据索引方法,应用于数据用户,该密文数据索引方法包括:
35、向区块链发送搜索陷门,以使区块链检测关键字索引密文集合是否存在关键字索引密文与搜索陷门匹配;
36、在搜索陷门与关键字索引密文集合中的目标关键字索引密文匹配的情况下,接收区块链发送的与目标关键字索引密文对应的关键字匹配结果密文的预解密结果;其中,在数据用户的转换密钥符合关键字匹配结果密文的访问控制策略的情况下,预解密结果由区块链基于转换密钥对关键字匹配结果密文进行预解密计算得到;转换密钥基于数据用户的属性集合对应的属性密钥确定得到;访问控制策略用于指示允许访问关键字匹配结果密文的数据用户的属性;
37、对预解密结果进行解密得到共享文件明文。
38、在一些可能的实施方式中,转换密钥中包括数据用户的第一属性,关键字匹配结果密文的访问控制策略中包括允许访问的第二属性;第二属性为与第一属性的分类相同的属性;
39、在第一属性高于或等于第二属性的情况下,基于转换密钥对关键字匹配结果密文进行预解密计算,得到预解密结果;
40、在第一属性低于第二属性的情况下,确定数据用户不具备对关键字匹配结果密文的预解密权限。
41、在一些可能的实施方式中,在向区块链发送搜索陷门之前,密文数据索引方法还包括:
42、向属性授权中心发送数据用户的属性集合,属性授权中心用于基于属性集合加密得到属性密钥,并对属性密钥进行二次加密得到转换密钥,并将转换密钥发送至区块链。
43、在一些可能的实施方式中,关键字匹配结果密文由数据拥有者对共享文件明文加密得到,目标关键字索引密文由数据拥有者从共享文件明文中提取关键字集合并进行加密得到。
44、在一些可能的实施方式中,在向区块链发送搜索陷门之前,密文数据索引方法还包括:
45、设定感兴趣的索引关键字集;
46、基于索引关键字集生成搜索陷门。
47、基于相同的发明构思,第三方面,本技术实施例提供一种密文数据索引装置,应用于区块链,该密文数据索引装置包括:
48、第一接收模块,用于接收数据用户发送的搜索陷门;
49、第一检测模块,用于响应于搜索陷门,检测关键字索引密文集合是否存在关键字索引密文与搜索陷门匹配;
50、第一计算模块,用于若搜索陷门与关键字索引密文集合中的目标关键字索引密文匹配,在数据用户的转换密钥符合目标关键字索引密文对应的关键字匹配结果密文的访问控制策略的情况下,基于转换密钥对关键字匹配结果密文进行预解密计算,得到预解密结果;
51、第一发送模块,用于将预解密结果发送至数据用户,以使数据用户对预解密结果进行解密得到共享文件明文;其中,转换密钥基于数据用户的属性集合对应的属性密钥确定得到;访问控制策略用于指示允许访问关键字匹配结果密文的数据用户的属性。
52、基于相同的发明构思,第四方面,本技术实施例提供了一种密文数据索引装置,应用于数据用户,该密文数据索引装置包括:
53、第二发送模块,用于向区块链发送搜索陷门,以使区块链检测关键字索引密文集合是否存在关键字索引密文与搜索陷门匹配;
54、第二接收模块,用于在搜索陷门与关键字索引密文集合中的目标关键字索引密文匹配的情况下,接收区块链发送的与目标关键字索引密文对应的关键字匹配结果密文的预解密结果;其中,在数据用户的转换密钥符合关键字匹配结果密文的访问控制策略的情况下,预解密结果由区块链基于转换密钥对关键字匹配结果密文进行预解密计算得到;转换密钥基于数据用户的属性集合对应的属性密钥确定得到;访问控制策略用于指示允许访问关键字匹配结果密文的数据用户的属性;
55、第一解密模块,用于对预解密结果进行解密得到共享文件明文。
56、第五方面,本技术实施例提供了一种密文数据索引设备,该密文数据索引设备包括:
57、处理器以及存储有计算机程序指令的存储器;
58、所述处理器执行所述计算机程序指令时实现如上述本技术实施例中任意一项提供的密文数据索引方法。
59、第六方面,本技术实施例提供了一种计算机存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如上述本技术实施例中任意一项提供的密文数据索引方法。
60、第七方面,本技术实施例提供了一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如上述本技术实施例中任意一项提供的密文数据索引方法。
61、通过上述描述可知,本技术实施例的一种密文数据索引方法、装置、设备、存储介质及程序产品,区块链通过接收搜索陷门来查询检测目标关键字索引密文,从而确定出目标关键字索引密文对应的关键字匹配结果密文,并根据该数据用户的转换密钥是否匹配关键字匹配结果密文对应的访问控制策略,来检测数据用户是否具备对该关键字匹配结果密文的解密访问权限。在转换密钥满足访问控制策略的情况下,相当于数据用户的属性集合符合访问控制策略所允许的属性,此情形下再基于转换密钥对关键字匹配结果密文进行预解密结算,从而得到预解密结果并将其发送至数据用户。这样一来,本技术实施例通过属性匹配减少了数据加解密计算开销的同时,由于转换密钥为经过用户属性集合多次加密后的加密结果,因此保证了用户属性对数据拥有者和区块链部分匿名,从而能够有效提升整体密文数据索引效率以及提升索引时的用户信息安全。
1.一种密文数据索引方法,其特征在于,应用于区块链,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述转换密钥中包括所述数据用户的第一属性,所述关键字匹配结果密文的访问控制策略中包括允许访问的第二属性;所述第二属性为与所述第一属性的分类相同的属性;
3.根据权利要求2所述的方法,其特征在于,在所述基于所述转换密钥对所述关键字匹配结果密文进行预解密计算,得到预解密结果之前,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,在所述基于所述转换密钥对所述关键字匹配结果密文进行预解密计算,得到预解密结果之前,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述基于所述转换密钥对所述关键字匹配结果密文进行预解密计算,得到预解密结果,包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述搜索陷门基于所述数据用户感兴趣的索引关键字集生成;在所述响应于所述搜索陷门,检测关键字索引密文集合是否存在关键字索引密文与所述搜索陷门匹配之前,所述方法还包括:
8.根据权利要求1所述的方法,其特征在于,在所述响应于所述搜索陷门,检测关键字索引密文集合是否存在关键字索引密文与所述搜索陷门匹配之前,所述方法还包括:
9.一种密文数据索引方法,其特征在于,应用于数据用户,所述方法包括:
10.根据权利要求9所述的方法,其特征在于,所述转换密钥中包括所述数据用户的第一属性,所述关键字匹配结果密文的访问控制策略中包括允许访问的第二属性;所述第二属性为与所述第一属性的分类相同的属性;
11.根据权利要求9所述的方法,其特征在于,在所述向区块链发送搜索陷门之前,所述方法还包括:
12.根据权利要求9所述的方法,其特征在于,所述关键字匹配结果密文由数据拥有者对所述共享文件明文加密得到,所述目标关键字索引密文由所述数据拥有者从所述共享文件明文中提取关键字集合并进行加密得到。
13.根据权利要求9所述的方法,其特征在于,在所述向区块链发送搜索陷门之前,所述方法还包括:
14.一种密文数据索引装置,其特征在于,应用于区块链,所述装置包括:
15.一种密文数据索引装置,其特征在于,应用于数据用户,所述装置包括:
16.一种密文数据索引设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-13任意一项所述的密文数据索引方法。
18.一种计算机程序产品,其特征在于,所述计算机程序产品中的指令由电子设备的处理器执行时,所述电子设备执行如权利要求1-13任意一项所述的密文数据索引方法。