CN113032816B - 加密文件搜索方法、装置和计算机可读介质 - Google Patents
加密文件搜索方法、装置和计算机可读介质 Download PDFInfo
- Publication number
- CN113032816B CN113032816B CN202110554490.XA CN202110554490A CN113032816B CN 113032816 B CN113032816 B CN 113032816B CN 202110554490 A CN202110554490 A CN 202110554490A CN 113032816 B CN113032816 B CN 113032816B
- Authority
- CN
- China
- Prior art keywords
- user side
- authorized user
- random number
- public key
- parameter
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Automation & Control Theory (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种加密文件搜索方法、装置和计算机可读介质,该方法包括:从目标集合中选择第一随机数,利用第一随机数生成公用密钥;利用授权用户端的公钥和公用密钥,生成权限验证参数;利用授权用户端的公钥和公用密钥,对加密文件的关键词进行加密处理,得到关键词密文;云服务端利用权限验证参数对授权用户端发送的变形处理后的身份参数进行验证,并在验证通过后,利用关键词密文对授权用户端发送的搜索陷门进行关键词匹配。本方案能够降低其他未授权的用户端仿冒该授权用户端的身份参数对加密文件进行搜索的风险,从而降低数据泄露的风险。
Description
技术领域
本发明涉及服务器技术领域,尤其涉及一种加密文件搜索方法、装置和计算机可读介质。
背景技术
在信息化时代,互联网上汇聚的资源越来越多,为了高效管理和利用互联网资源,数据拥有端可以将数据外包上传到云服务端。但是将数据外包会带来数据安全问题,因此,数据拥有端可以将文件加密后再上传到云服务端。但是这就带来了如何在密文上进行关键字搜索的问题。为了解决这种问题,提出了可搜索加密(searchable encryption,SE)技术。在可搜索加密方案中,包括:数据拥有端、用户端和云服务端。其中,数据拥有端用于上传加密文件至云服务端;云服务端用于存储加密文件;用户端用于从云服务端搜索加密文件。
现有技术中,用户端在搜索加密文件时,由用户端向云服务端发送搜索令牌以进行搜索请求,然后由云服务端将搜索令牌与存储的加密关键词进行匹配,在匹配成功后,将加密关键词对应的加密文件发送给用户端。然而,进行搜索请求的用户端可能不具有搜索权限,可能是由恶意攻击者获取到了搜索令牌而发起的搜索请求,因此,造成数据泄露问题。
鉴于此,针对以上不足,需要提供一种加密文件搜索方法、装置和计算机可读介质来降低数据泄露的风险。
发明内容
本发明要解决的技术问题在于如何降低数据泄露的风险,针对现有技术中的缺陷,提供了一种加密文件搜索方法、装置和计算机可读介质。
为了解决上述技术问题,本发明提供了一种加密文件搜索方法,应用于数据拥有端,包括:
从目标集合中选择第一随机数,利用所述第一随机数以及双线性映射系统参数中的生成元,生成公用密钥;所述目标集合为预设整数集;
接收授权用户端利用从所述目标集合中选择的第二随机数生成的该授权用户端的公钥,并利用所述授权用户端的公钥以及所述公用密钥,生成用于对该授权用户端经过变形处理后的身份参数进行验证的权限验证参数;该经过变形处理后的身份参数是该授权用户端利用所述第二随机数对其身份参数进行变形处理后得到的;所述授权用户端为所述数据拥有端授权搜索加密文件的用户端;
利用所述授权用户端的公钥以及所述公用密钥,对加密文件的关键词进行加密处理,得到关键词密文;
将所述权限验证参数、所述关键词密文和所述加密文件,发送给云服务端,以使所述云服务端利用所述权限验证参数对所述授权用户端发送的经过变形处理后的身份参数进行验证,并在验证通过后,利用所述关键词密文对所述授权用户端发送的搜索陷门进行关键词匹配。
优选地,所述生成用于对该授权用户端经过变形处理后的身份参数进行验证的权限验证参数,包括:
利用所述授权用户端的身份参数和所述数据拥有端的身份参数进行第一哈希计算,得到第一哈希值;
利用所述授权用户端的身份参数计算所述授权用户端的对称密钥;
将所述授权用户端的公钥与所述公共密钥进行乘积运算,得到乘积值;
利用预先设置的双线性映射函数对所述乘积值和所述授权用户端的对称密钥进行双线性映射处理,得到第一双线性映射值;
将所述第一哈希值与第三随机数的乘积作为所述第一双线性映射值的指数幂,并对得到的第一指数运算结果进行第二哈希计算,将得到的第二哈希值确定为用于对该授权用户端的变形处理后的身份参数进行验证的权限验证参数;所述第三随机数是从所述目标集合中选择的数。
优选地,所述授权用户端利用所述第二随机数对其身份参数进行变形处理,包括:
将所述第一随机数和所述第二随机数进行和运算,将和运算结果作为所述授权用户端的对称密钥的指数幂,得到第二指数运算结果;
将所述第二指数运算结果与所述第一哈希值的乘积确定为所述授权用户端变形处理后的身份参数;
所述云服务端利用所述权限验证参数对所述授权用户端发送的变形处理后的身份参数进行验证,包括:
将所述第三随机数作为所述生成元的指数幂进行计算,得到第三指数运算结果;
利用所述双线性映射函数对所述第三指数运算结果和所述授权用户端发送的该变形处理后的身份参数进行双线性映射处理,得到第二双线性映射值;
对所述第二双线性映射值进行所述第二哈希计算,得到第三哈希值;
确定是否存储有一个权限验证参数与所述第三哈希值相等,如果是,则验证通过;否则,验证不通过。
优选地,所述利用所述授权用户端的公钥以及所述公钥密钥,对加密文件的关键词进行加密处理,得到关键词密文,包括:
利用所述数据拥有端的身份参数和所述关键词进行所述第一哈希计算,得到第四哈希值;
将所述第四哈希值与所述第三随机数的乘积作为所述第一双线性映射值的指数幂,并对得到的第四指数运算结果进行所述第二哈希计算,将得到的第五哈希值确定为所述关键词密文。
优选地,所述授权用户端发送的搜索陷门通过如下方式构建:
将所述第二指数运算结果与所述第四哈希值的乘积,确定为所述搜索陷门;
所述利用所述关键词密文对所述授权用户端发送的搜索陷门进行关键词匹配,包括:
利用所述双线性映射函数对所述第三指数运算结果和所述授权用户端发送的搜索陷门进行双线性映射处理,得到第三双线性映射值;
对所述第三双线性映射值进行所述第二哈希计算,得到第五哈希值;
确定是否存储有一个关键词密文与所述第五哈希值相等,如果是,则匹配成功;否则,匹配不成功。
优选地,所述云服务端包括第一服务器和第二服务器;所述权限验证参数由所述第一服务器接收并存储,所述关键词密文和对应的加密文件由所述第二服务器接收并存储;所述利用所述权限验证参数对所述授权用户端发送的变形处理后的身份参数进行验证是由所述第一服务器执行的,所述利用所述关键词密文对所述授权用户端发送的搜索陷门进行关键词匹配是由所述第二服务器执行的。
优选地,在所述从目标集合中选择第一随机数之前,进一步包括:根据安全参数生成双线性映射系统参数;
在所述利用所述第一随机数以及双线性映射系统参数中的生成元,生成公用密钥之后,以及在所述接收所述授权用户端利用从所述目标集合中选择的第二随机数生成的该授权用户端的公钥之前,进一步包括:选择至少一个哈希函数;
将包括有所述双线性映射系统参数、所述至少一个哈希函数以及所述公用密钥的公共参数,发送给所述授权用户端和所述云服务端。
本发明实施例还提供了一种加密文件搜索装置,包括:
公用密钥生成单元,用于从目标集合中选择第一随机数,利用所述第一随机数以及双线性映射系统参数中的生成元,生成公用密钥;所述目标集合为预设整数集;
权限验证参数生成单元,用于接收授权用户端利用从所述目标集合中选择的第二随机数生成的该授权用户端的公钥,并利用所述授权用户端的公钥以及所述公用密钥,生成用于对该授权用户端经过变形处理后的身份参数进行验证的权限验证参数;该经过变形处理后的身份参数是该授权用户端利用所述第二随机数对其身份参数进行变形处理后得到的;所述授权用户端为所述数据拥有端授权搜索加密文件的用户端;
关键词密文生成单元,用于利用所述授权用户端的公钥以及所述公用密钥,对加密文件的关键词进行加密处理,得到关键词密文;
通信单元,用于将所述权限验证参数、所述关键词密文和所述加密文件,发送给云服务端,以使所述云服务端利用所述权限验证参数对所述授权用户端发送的经过变形处理后的身份参数进行验证,并在验证通过后,利用所述关键词密文对所述授权用户端发送的搜索陷门进行关键词匹配。
本发明还提供了一种加密文件搜索装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行上述第一方面或第一方面的任一可能的实现方式所提供的加密文件搜索方法。
本发明还提供了计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述第一方面或第一方面的任一可能的实现方式所提供的加密文件搜索方法。
本发明实施例所提供的一种加密文件搜索方法、装置和计算机可读介质,授权用户端在向云服务端发起搜索请求时,利用从目标集合中选择的第二随机数对其身份参数进行变形处理,防止其他未授权的用户端仿冒该授权用户端的身份参数发起搜索请求,数据拥有端利用该第二随机数生成的该授权用户端的公钥,以及利用从目标集合总选择的第一随机生成的公钥密钥,生成对该授权用户端的变形处理后的身份参数进行验证的权限验证参数,云服务端利用数据拥有端发送的该权限验证参数对该变形处理后的身份参数进行验证,验证通过之后,在进行关键词匹配。如此,可以降低其他未授权的用户端仿冒该授权用户端的身份参数对加密文件进行搜索的风险,从而降低数据泄露的风险。
附图说明
图1是本发明实施例所提供的一种加密文件搜索方法流程图;
图2是本发明实施例所提供的一种权限验证参数生成方法流程图;
图3是本发明实施例所提供的一种关键词密文生成方法流程图;
图4是本发明实施例所提供的一种加密文件搜索装置所在设备的结构图;
图5是本发明实施例所提供的一种加密文件搜索装置的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将集合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供的一种加密文件搜索方法,该方法包括如下步骤:
步骤101:从目标集合中选择第一随机数,利用所述第一随机数以及双线性映射系统参数中的生成元,生成公用密钥;所述目标集合为预设整数集;
步骤102:接收授权用户端利用从所述目标集合中选择的第二随机数生成的该授权用户端的公钥,并利用所述授权用户端的公钥以及所述公用密钥,生成用于对该授权用户端经过变形处理后的身份参数进行验证的权限验证参数;该经过变形处理后的身份参数是该授权用户端利用所述第二随机数对其身份参数进行变形处理后得到的;所述授权用户端为所述数据拥有端授权搜索加密文件的用户端;
步骤103:利用所述授权用户端的公钥以及所述公用密钥,对加密文件的关键词进行加密处理,得到关键词密文;
步骤104:将所述权限验证参数、所述关键词密文和所述加密文件,发送给云服务端,以使所述云服务端利用所述权限验证参数对所述授权用户端发送的经过变形处理后的身份参数进行验证,并在验证通过后,利用所述关键词密文对所述授权用户端发送的搜索陷门进行关键词匹配。
在本发明实施例中,授权用户端在向云服务端发起搜索请求时,利用从目标集合中选择的第二随机数对其身份参数进行变形处理,防止其他未授权的用户端仿冒该授权用户端的身份参数发起搜索请求,数据拥有端利用该第二随机数生成的该授权用户端的公钥,以及利用从目标集合总选择的第一随机生成的公钥密钥,生成对该授权用户端的变形处理后的身份参数进行验证的权限验证参数,云服务端利用数据拥有端发送的该权限验证参数对该变形处理后的身份参数进行验证,验证通过之后,在进行关键词匹配。如此,可以降低其他未授权的用户端仿冒该授权用户端的身份参数对加密文件进行搜索的风险,从而降低数据泄露的风险。
在本发明实施例中,云服务端只有在对该授权用户端的权限验证通过之后,才会进行关键词匹配,如果权限验证不通过,则不会进行关键词匹配。如此,如果频繁有未授权的用户端发起搜索请求,向云服务端搜索加密文件,那么云服务端只验证该用户端的权限即可结束计算过程,可以降低云服务端的工作量,进而降低云服务端的开销。
下面描述各步骤的实现过程。
针对步骤101,从目标集合中选择第一随机数,利用所述第一随机数以及双线性映射系统参数中的生成元,生成公用密钥。
其中,该目标集合为一个设定的整数集合,用Zp表示。从Zp中选择第一随机数,例如,该第一随机数用x1表示。
在本发明一个实施例中,为了保证数据拥有端、云服务端和授权用户端之间能够完成加密文件的搜索过程,在该步骤101之前,可以进一步包括:根据安全参数生成双线性映射系统参数。进一步的,在步骤101之后,可以进一步包括:选择至少一个哈希函数;以及将包括有所述双线性映射系统参数、所述至少一个哈希函数以及所述公用密钥的公共参数,发送给所述授权用户端和所述云服务端。
具体地,可以输入一个安全参数r,生成双线性映射系统参数(p,G,G1,e(·,·),
g),其中,G、G1均为p阶的乘法循环群,e(·,·)为双线性映射函数:G×G→G1;g为G的生成
元。从目标集合Zp中选择一个第一随机数x1,利用该第一随机数x1以及双线性映射系统参数
中的生成元g计算公共密钥P0,其中,。
本发明一个实施例中,选择的哈希函数可以均为单向哈希函数。为了提高权限验
证参数生成的复杂度,以及降低其他未授权的用户端仿冒授权用户端的身份参数的风险,
可以选择三个哈希函数。该四个哈希函数分别为: 。那么公共参数
为。
针对步骤102,接收授权用户端利用从所述目标集合中选择的第二随机数生成的该授权用户端的公钥,并利用所述授权用户端的公钥以及所述公用密钥,生成用于对该授权用户端经过变形处理后的身份参数进行验证的权限验证参数;该经过变形处理后的身份参数是该授权用户端利用所述第二随机数对其身份参数进行变形处理后得到的;所述授权用户端为所述数据拥有端授权搜索加密文件的用户端。
在本发明一个实施例中,在利用授权用户端的公钥以及公用密钥,生成权限验证参数时,需要保证生成的权限验证参数能够对授权用户端经过变形处理后的身份参数能够进行验证,请参考图2,那么至少可以使用如下一种方式生成权限验证参数:
步骤201:利用所述授权用户端的身份参数和所述数据拥有端的身份参数进行第一哈希计算,得到第一哈希值。
本发明实施例中,为了保证对变形处理后的身份参数能够进行验证,可以使用公共参数中的哈希函数进行该第一哈希计算。例如,使用H1哈希函数,那么该第一哈希值为H1(A2,A1)。其中,A2用于表征该授权用户端的身份参数,A1用于表征数据拥有端的身份参数。
步骤202:利用所述授权用户端的身份参数计算所述授权用户端的对称密钥。
在计算对称密钥时,可以使用公共参数中的哈希函数进行计算,例如,使用H3哈希函数,那么该授权用户端的对称密钥R可以为:H3(A2)。
步骤203:将所述授权用户端的公钥与所述公共密钥进行乘积运算,得到乘积值。
步骤204:利用预先设置的双线性映射函数对所述乘积值和所述授权用户端的对称密钥进行双线性映射处理,得到第一双线性映射值。
其中,该双线性映射函数为双线性映射系统参数中的e(·,·),该第一双线性映射值为:e(P·P0,R)。
步骤205:将所述第一哈希值与第三随机数的乘积作为所述第一双线性映射值的指数幂,并对得到的第一指数运算结果进行第二哈希计算,将得到的第二哈希值确定为用于对该授权用户端的变形处理后的身份参数进行验证的权限验证参数;所述第三随机数是从所述目标集合中选择的数。
本发明实施例中,授权用户端的身份参数可以是用于表征该授权用户端唯一身份信息的ID码。
在生成权限验证参数时,使用了授权用户端的身份参数、数据拥有端的身份参数、授权用户端的公钥以及公共密钥,使用较少的参数个数即可以实现对授权用户端利用随机数对身份参数进行变形处理后的身份参数的验证过程,并且,在使用的参数个数较少时,数据拥有端的计算量也会更少,提高了计算效率。
针对步骤103,利用所述授权用户端的公钥以及所述公用密钥,对加密文件的关键词进行加密处理,得到关键词密文。
在本发明一个实施例中,在生成关键词密文时,可以重新生成密钥参数对关键词进行加密处理。也可以使用公共参数对关键词进行加密处理,以降低数据拥有端的计算量。
由于上述过程中在生成权限验证参数时进行了一部分计算量,那么可以利用生成权限验证参数时得到的部分参数,实现对关键词的加密处理。
具体地,请参考图3,在利用所述授权用户端的公钥以及所述公钥密钥,对加密文件的关键词进行加密处理,得到关键词密文时,至少可以通过如下一种方式实现:
步骤301:利用所述数据拥有端的身份参数和所述关键词进行所述第一哈希计算,得到第四哈希值。
该第一哈希计算使用的哈希函数为H1哈希函数,那么该第四哈希值可以为H1(A1,w)。其中,w用于表征加密文件对应的关键词。
步骤302:将所述第四哈希值与所述第三随机数的乘积作为所述第一双线性映射值的指数幂,并对得到的第四指数运算结果进行所述第二哈希计算,将得到的第五哈希值确定为所述关键词密文。
在生成关键词密文时,由于使用了一部分在生成权限验证参数时计算得到的参数,可以使得数据拥有端的计算量更少,在完成关键词密文搜索的前提下,提高了计算效率。
另外,由于关键词的长度可能不同,因此,通过对关键词进行哈希计算,不仅可以保证明文的关键词不被泄露,也可以保证得到的关键词密文长度保持在一个合适的长度,以降低空间占用量。
针对步骤104,将所述权限验证参数、所述关键词密文和所述加密文件,发送给云服务端,以使所述云服务端利用所述权限验证参数对所述授权用户端发送的经过变形处理后的身份参数进行验证,并在验证通过后,利用所述关键词密文对所述授权用户端发送的搜索陷门进行关键词匹配。
在授权用户端需要对加密文件进行搜索时,需要对身份参数进行变形处理,以及生成对应加密文件的搜索陷门。
具体地,授权用户端在利用第二随机数对其身份参数进行变形处理时可以包括:将所述第一随机数和所述第二随机数进行和运算,将和运算结果作为所述授权用户端的对称密钥的指数幂,得到第二指数运算结果;将所述第二指数运算结果与所述第一哈希值的乘积确定为所述授权用户端变形处理后的身份参数。
需要说明的是,该授权用户端的对称密钥,可以是由授权用户端生成并发送给数据拥有端的,也可以是由数据拥有端生成并发给授权用户端的,也可以是授权用户端与数据拥有端在各端自行生成。
那么,云服务端利用所述权限验证参数对所述授权用户端发送的变形处理后的身份参数进行验证,包括:将所述第三随机数作为所述生成元的指数幂进行计算,得到第三指数运算结果;利用所述双线性映射函数对所述第三指数运算结果和所述授权用户端发送的该变形处理后的身份参数进行双线性映射处理,得到第二双线性映射值;对所述第二双线性映射值进行所述第二哈希计算,得到第三哈希值;确定是否存储有一个权限验证参数与所述第三哈希值相等,如果是,则验证通过;否则,验证不通过。
如果云服务端中存储有一个权限验证参数与该第三哈希值相等,表明该权限验证参数是数据拥有端针对该授权用户端生成的,且该授权用户端发送的身份参数是经过授权的用户端发送的身份参数,因此,表明该授权用户端具有对该数据拥有端上传的加密文件进行搜索的权限。
具体地,该授权用户端发送的搜索陷门通过如下方式构建:将所述第二指数运算结果与所述第四哈希值的乘积,确定为所述搜索陷门。
那么,该利用所述关键词密文对所述授权用户端发送的搜索陷门进行关键词匹配,包括:利用所述双线性映射函数对所述第三指数运算结果和所述授权用户端发送的搜索陷门进行双线性映射处理,得到第三双线性映射值;对所述第三双线性映射值进行所述第二哈希计算,得到第五哈希值;确定是否存储有一个关键词密文与所述第五哈希值相等,如果是,则匹配成功;否则,匹配不成功。
如果云服务端中存储有一个关键词密文与该第五哈希值相等,表明该关键词密文是数据拥有端针对某个加密文件生成的,且表明该授权用户端发送的搜索陷门是用于请求搜索该加密文件的,因此,云服务端可以将该加密文件发送给授权用户端,授权用户端根据与数据拥有端约定的秘钥对该加密文件进行解密。
其中,加密文件可以使用授权用户端的公钥以及第三随机数对文件进行加密,授权用户端在解密时可以直接使用第二随机数作为私钥进行解密。
本发明实施例中,授权用户端通过利用随机数对其身份参数进行变形处理,可以防止其他未授权的用户端仿冒该授权用户端的身份参数发起搜索请求,且云服务端可以利用数据拥有端发送的权限验证参数对该变形处理后的身份参数进行权限验证,从而降低了数据泄露的风险。
在本发明一个实施例中,为了进一步降低数据泄露的风险,该云服务端可以包括第一服务器和第二服务器。其中,权限验证参数由所述第一服务器接收并存储,所述关键词密文和对应的加密文件由所述第二服务器接收并存储;所述利用所述权限验证参数对所述授权用户端发送的变形处理后的身份参数进行验证是由所述第一服务器执行的,所述利用所述关键词密文对所述授权用户端发送的搜索陷门进行关键词匹配是由所述第二服务器执行的。
通过将权限验证与关键词匹配分别由不同的服务器执行,可以防止同一个服务器同时获取到授权用户端的身份参数以及搜索陷门,进而攻陷出对加密文件进行解密的秘钥,因此,权限验证与关键词匹配分别由不同的服务器执行,可以进一步降低数据泄露的风险。
在本发明一个实施例中,为了进一步降低数据泄露的风险,授权用户端在将所述
第二指数运算结果与所述第四哈希值的乘积,确定为所述搜索陷门之后,可以将搜索陷门
进行拆分,其中,该搜索陷门为:。那么拆分后,可以为第一子陷门,第二子陷门,将第一子陷门发送给第一服务器,将第二子
陷门发送给第二服务器。
接下来,第一服务器利用所述双线性映射函数对所述第三指数运算结果和所述授权用户端发送的第一子陷门进行双线性映射处理,并对得到的双线性映射值进行第二哈希计算,将得到的第六哈希值发送给第二服务器;第二服务器所述双线性映射函数对所述第三指数运算结果和所述授权用户端发送的第二子陷门进行双线性映射处理,并对得到的双线性映射值进行第二哈希计算,得到第七哈希值。第二服务器利用该第六哈希值和第七哈希值的乘积与关键词密文进行匹配,以确定是否可以匹配到与该乘积相同的关键词密文。
没有一个服务器可以获取到完整的授权用户端的身份参数、搜索陷门和加密文件中的任意两个,如此,可以进一步降低数据泄露的风险。
如图4、图5所示,本发明实施例提供了一种加密文件搜索装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件集合的方式实现。从硬件层面而言,如图4所示,为本发明实施例提供的一种加密文件搜索装置所在设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图5所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的一种加密文件搜索装置,包括:
公用密钥生成单元501,用于从目标集合中选择第一随机数,利用所述第一随机数以及双线性映射系统参数中的生成元,生成公用密钥;所述目标集合为预设整数集;
权限验证参数生成单元502,用于接收授权用户端利用从所述目标集合中选择的第二随机数生成的该授权用户端的公钥,并利用所述授权用户端的公钥以及所述公用密钥,生成用于对该授权用户端经过变形处理后的身份参数进行验证的权限验证参数;该经过变形处理后的身份参数是该授权用户端利用所述第二随机数对其身份参数进行变形处理后得到的;所述授权用户端为所述数据拥有端授权搜索加密文件的用户端;
关键词密文生成单元503,用于利用所述授权用户端的公钥以及所述公用密钥,对加密文件的关键词进行加密处理,得到关键词密文;
通信单元504,用于将所述权限验证参数、所述关键词密文和所述加密文件,发送给云服务端,以使所述云服务端利用所述权限验证参数对所述授权用户端发送的经过变形处理后的身份参数进行验证,并在验证通过后,利用所述关键词密文对所述授权用户端发送的搜索陷门进行关键词匹配。
在本发明一个实施例中,所述权限验证参数生成单元,具体用于执行:利用所述授权用户端的身份参数和所述数据拥有端的身份参数进行第一哈希计算,得到第一哈希值;利用所述授权用户端的身份参数计算所述授权用户端的对称密钥;将所述授权用户端的公钥与所述公共密钥进行乘积运算,得到乘积值;利用预先设置的双线性映射函数对所述乘积值和所述授权用户端的对称密钥进行双线性映射处理,得到第一双线性映射值;将所述第一哈希值与第三随机数的乘积作为所述第一双线性映射值的指数幂,并对得到的第一指数运算结果进行第二哈希计算,将得到的第二哈希值确定为用于对该授权用户端的变形处理后的身份参数进行验证的权限验证参数;所述第三随机数是从所述目标集合中选择的数。
在本发明一个实施例中,所述授权用户端在执行利用所述第二随机数对其身份参数进行变形处理时,具体包括:将所述第一随机数和所述第二随机数进行和运算,将和运算结果作为所述授权用户端的对称密钥的指数幂,得到第二指数运算结果;将所述第二指数运算结果与所述第一哈希值的乘积确定为所述授权用户端变形处理后的身份参数;
所述云服务端在执行利用所述权限验证参数对所述授权用户端发送的变形处理后的身份参数进行验证时,具体包括:将所述第三随机数作为所述生成元的指数幂进行计算,得到第三指数运算结果;利用所述双线性映射函数对所述第三指数运算结果和所述授权用户端发送的该变形处理后的身份参数进行双线性映射处理,得到第二双线性映射值;对所述第二双线性映射值进行所述第二哈希计算,得到第三哈希值;确定是否存储有一个权限验证参数与所述第三哈希值相等,如果是,则验证通过;否则,验证不通过。
在本发明一个实施例中,所述关键词密文生成单元,具体用于执行:利用所述数据拥有端的身份参数和所述关键词进行所述第一哈希计算,得到第四哈希值;将所述第四哈希值与所述第三随机数的乘积作为所述第一双线性映射值的指数幂,并对得到的第四指数运算结果进行所述第二哈希计算,将得到的第五哈希值确定为所述关键词密文。
在本发明一个实施例中,所述授权用户端发送的搜索陷门通过如下方式构建:将所述第二指数运算结果与所述第四哈希值的乘积,确定为所述搜索陷门;
所述云服务端在执行利用所述关键词密文对所述授权用户端发送的搜索陷门进行关键词匹配时,具体包括:利用所述双线性映射函数对所述第三指数运算结果和所述授权用户端发送的搜索陷门进行双线性映射处理,得到第三双线性映射值;对所述第三双线性映射值进行所述第二哈希计算,得到第五哈希值;确定是否存储有一个关键词密文与所述第五哈希值相等,如果是,则匹配成功;否则,匹配不成功。
在本发明一个实施例中,所述云服务端包括第一服务器和第二服务器;所述权限验证参数由所述第一服务器接收并存储,所述关键词密文和对应的加密文件由所述第二服务器接收并存储;所述利用所述权限验证参数对所述授权用户端发送的变形处理后的身份参数进行验证是由所述第一服务器执行的,所述利用所述关键词密文对所述授权用户端发送的搜索陷门进行关键词匹配是由所述第二服务器执行的。
在本发明一个实施例中,在所述从目标集合中选择第一随机数之前,进一步包括:
系统参数生成单元,用于根据安全参数生成双线性映射系统参数;
哈希函数选择单元,用于选择至少一个哈希函数;
所述通信单元,进一步用于将包括有所述双线性映射系统参数、所述至少一个哈希函数以及所述公用密钥的公共参数,发送给所述授权用户端和所述云服务端。
可以理解的是,本发明实施例示意的结构并不构成对一种加密文件搜索装置的具体限定。在本发明的另一些实施例中,一种加密文件搜索装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提供了一种加密文件搜索装置,包括:至少一个存储区和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行本发明任一实施例中的一种加密文件搜索方法。
本发明实施例还提供了一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行本发明任一实施例中的一种加密文件搜索方法。
具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种加密文件搜索方法,其特征在于,应用于数据拥有端,包括:
从目标集合中选择第一随机数,利用所述第一随机数以及双线性映射系统参数中的生成元,生成公用密钥;所述目标集合为预设整数集;
接收授权用户端利用从所述目标集合中选择的第二随机数生成的该授权用户端的公钥,并利用所述授权用户端的公钥以及所述公用密钥,生成用于对该授权用户端经过变形处理后的身份参数进行验证的权限验证参数;该经过变形处理后的身份参数是该授权用户端利用所述第二随机数对其身份参数进行变形处理后得到的;所述授权用户端为所述数据拥有端授权搜索加密文件的用户端;
利用所述授权用户端的公钥以及所述公用密钥,对加密文件的关键词进行加密处理,得到关键词密文;
将所述权限验证参数、所述关键词密文和所述加密文件,发送给云服务端,以使所述云服务端利用所述权限验证参数对所述授权用户端发送的经过变形处理后的身份参数进行验证,并在验证通过后,利用所述关键词密文对所述授权用户端发送的搜索陷门进行关键词匹配;
所述生成用于对该授权用户端经过变形处理后的身份参数进行验证的权限验证参数,包括:
利用所述授权用户端的身份参数和所述数据拥有端的身份参数进行第一哈希计算,得到第一哈希值;
利用所述授权用户端的身份参数计算所述授权用户端的对称密钥;
将所述授权用户端的公钥与所述公用密钥进行乘积运算,得到乘积值;
利用预先设置的双线性映射函数对所述乘积值和所述授权用户端的对称密钥进行双线性映射处理,得到第一双线性映射值;
将所述第一哈希值与第三随机数的乘积作为所述第一双线性映射值的指数幂,并对得到的第一指数运算结果进行第二哈希计算,将得到的第二哈希值确定为用于对该授权用户端的变形处理后的身份参数进行验证的权限验证参数;所述第三随机数是从所述目标集合中选择的数;
所述授权用户端利用所述第二随机数对其身份参数进行变形处理,包括:
将所述第一随机数和所述第二随机数进行和运算,将和运算结果作为所述授权用户端的对称密钥的指数幂,得到第二指数运算结果;
将所述第二指数运算结果与所述第一哈希值的乘积确定为所述授权用户端变形处理后的身份参数。
2.根据权利要求1所述的方法,其特征在于,
所述云服务端利用所述权限验证参数对所述授权用户端发送的变形处理后的身份参数进行验证,包括:
将所述第三随机数作为所述生成元的指数幂进行计算,得到第三指数运算结果;
利用所述双线性映射函数对所述第三指数运算结果和所述授权用户端发送的该变形处理后的身份参数进行双线性映射处理,得到第二双线性映射值;
对所述第二双线性映射值进行所述第二哈希计算,得到第三哈希值;
确定是否存储有一个权限验证参数与所述第三哈希值相等,如果是,则验证通过;否则,验证不通过。
3.根据权利要求2所述的方法,其特征在于,所述利用所述授权用户端的公钥以及所述公用密钥,对加密文件的关键词进行加密处理,得到关键词密文,包括:
利用所述数据拥有端的身份参数和所述关键词进行所述第一哈希计算,得到第四哈希值;
将所述第四哈希值与所述第三随机数的乘积作为所述第一双线性映射值的指数幂,并对得到的第四指数运算结果进行所述第二哈希计算,将得到的第五哈希值确定为所述关键词密文。
4.根据权利要求3所述的方法,其特征在于,
所述授权用户端发送的搜索陷门通过如下方式构建:将所述第二指数运算结果与所述第四哈希值的乘积,确定为所述搜索陷门;
所述利用所述关键词密文对所述授权用户端发送的搜索陷门进行关键词匹配,包括:
利用所述双线性映射函数对所述第三指数运算结果和所述授权用户端发送的搜索陷门进行双线性映射处理,得到第三双线性映射值;
对所述第三双线性映射值进行所述第二哈希计算,得到第五哈希值;
确定是否存储有一个关键词密文与所述第五哈希值相等,如果是,则匹配成功;否则,匹配不成功。
5.根据权利要求1-4中任一所述的方法,其特征在于,所述云服务端包括第一服务器和第二服务器;所述权限验证参数由所述第一服务器接收并存储,所述关键词密文和对应的加密文件由所述第二服务器接收并存储;所述利用所述权限验证参数对所述授权用户端发送的变形处理后的身份参数进行验证是由所述第一服务器执行的,所述利用所述关键词密文对所述授权用户端发送的搜索陷门进行关键词匹配是由所述第二服务器执行的。
6.根据权利要求1-4中任一所述的方法,其特征在于,
在所述从目标集合中选择第一随机数之前,进一步包括:根据安全参数生成双线性映射系统参数;
在所述利用所述第一随机数以及双线性映射系统参数中的生成元,生成公用密钥之后,以及在所述接收所述授权用户端利用从所述目标集合中选择的第二随机数生成的该授权用户端的公钥之前,进一步包括:选择至少一个哈希函数;将包括有所述双线性映射系统参数、所述至少一个哈希函数以及所述公用密钥的公共参数,发送给所述授权用户端和所述云服务端。
7.一种加密文件搜索装置,其特征在于,包括:
公用密钥生成单元,用于从目标集合中选择第一随机数,利用所述第一随机数以及双线性映射系统参数中的生成元,生成公用密钥;所述目标集合为预设整数集;
权限验证参数生成单元,用于接收授权用户端利用从所述目标集合中选择的第二随机数生成的该授权用户端的公钥,并利用所述授权用户端的公钥以及所述公用密钥,生成用于对该授权用户端经过变形处理后的身份参数进行验证的权限验证参数;该经过变形处理后的身份参数是该授权用户端利用所述第二随机数对其身份参数进行变形处理后得到的;所述授权用户端为所述数据拥有端授权搜索加密文件的用户端;
关键词密文生成单元,用于利用所述授权用户端的公钥以及所述公用密钥,对加密文件的关键词进行加密处理,得到关键词密文;
通信单元,用于将所述权限验证参数、所述关键词密文和所述加密文件,发送给云服务端,以使所述云服务端利用所述权限验证参数对所述授权用户端发送的经过变形处理后的身份参数进行验证,并在验证通过后,利用所述关键词密文对所述授权用户端发送的搜索陷门进行关键词匹配;
所述权限验证参数生成单元,具体用于执行:利用所述授权用户端的身份参数和所述数据拥有端的身份参数进行第一哈希计算,得到第一哈希值;利用所述授权用户端的身份参数计算所述授权用户端的对称密钥;将所述授权用户端的公钥与所述公用密钥进行乘积运算,得到乘积值;利用预先设置的双线性映射函数对所述乘积值和所述授权用户端的对称密钥进行双线性映射处理,得到第一双线性映射值;将所述第一哈希值与第三随机数的乘积作为所述第一双线性映射值的指数幂,并对得到的第一指数运算结果进行第二哈希计算,将得到的第二哈希值确定为用于对该授权用户端的变形处理后的身份参数进行验证的权限验证参数;所述第三随机数是从所述目标集合中选择的数;
所述授权用户端在执行利用所述第二随机数对其身份参数进行变形处理时,具体包括:将所述第一随机数和所述第二随机数进行和运算,将和运算结果作为所述授权用户端的对称密钥的指数幂,得到第二指数运算结果;将所述第二指数运算结果与所述第一哈希值的乘积确定为所述授权用户端变形处理后的身份参数。
8.一种加密文件搜索装置,其特征在于,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至6中任一项所述的方法。
9.计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110554490.XA CN113032816B (zh) | 2021-05-21 | 2021-05-21 | 加密文件搜索方法、装置和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110554490.XA CN113032816B (zh) | 2021-05-21 | 2021-05-21 | 加密文件搜索方法、装置和计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113032816A CN113032816A (zh) | 2021-06-25 |
CN113032816B true CN113032816B (zh) | 2021-08-17 |
Family
ID=76455440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110554490.XA Active CN113032816B (zh) | 2021-05-21 | 2021-05-21 | 加密文件搜索方法、装置和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113032816B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8898478B2 (en) * | 2012-06-15 | 2014-11-25 | Mitsubishi Electric Research Laboratories, Inc. | Method for querying data in privacy preserving manner using attributes |
CN111786790A (zh) * | 2020-06-09 | 2020-10-16 | 河海大学 | 一种隐私保护的带关键词搜索的基于身份加密方法和系统 |
CN112380553B (zh) * | 2020-11-25 | 2022-12-16 | 华南理工大学 | 基于属性访问控制结构的多密钥可搜索加密方法及系统 |
-
2021
- 2021-05-21 CN CN202110554490.XA patent/CN113032816B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113032816A (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11842317B2 (en) | Blockchain-based authentication and authorization | |
US10790976B1 (en) | System and method of blockchain wallet recovery | |
KR102493744B1 (ko) | 생체 특징에 기초한 보안 검증 방법, 클라이언트 단말, 및 서버 | |
US7596704B2 (en) | Partition and recovery of a verifiable digital secret | |
US8627424B1 (en) | Device bound OTP generation | |
US20060195402A1 (en) | Secure data transmission using undiscoverable or black data | |
US9485098B1 (en) | System and method of user authentication using digital signatures | |
US20100115260A1 (en) | Universal secure token for obfuscation and tamper resistance | |
CN113268715A (zh) | 软件加密方法、装置、设备及存储介质 | |
EP3313020B1 (en) | Method of digital identity generation and authentication | |
KR100315387B1 (ko) | 개인키 및 사용자 인증서 관리 시스템 및 그 관리 방법 | |
JP2007529935A (ja) | 匿名認証方法 | |
CN110601855B (zh) | 一种根证书管理方法、装置及电子设备、存储介质 | |
KR102364649B1 (ko) | Puf 기반 사물인터넷 디바이스 인증 장치 및 방법 | |
CN107426235A (zh) | 基于设备指纹的权限认证方法、装置及系统 | |
CN112417006A (zh) | 基于区块链的密文关键字搜索方法、系统、装置及介质 | |
US20090119505A1 (en) | Transaction method and verification method | |
CN107277017A (zh) | 基于加密密钥和设备指纹的权限认证方法、装置及系统 | |
CN111241492A (zh) | 一种产品多租户安全授信方法、系统及电子设备 | |
CN114785495A (zh) | 密钥派生方法、数据加密方法、服务器、电子设备及存储介质 | |
CN115664655A (zh) | 一种tee可信认证方法、装置、设备及介质 | |
CN114553480B (zh) | 跨域单点登录方法、装置、电子设备及可读存储介质 | |
Tu et al. | Privacy‐Preserving Outsourced Auditing Scheme for Dynamic Data Storage in Cloud | |
CN110602132A (zh) | 一种数据加解密处理方法 | |
CN110572392A (zh) | 一种基于Hyperledger网络的身份认证方法 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210729 Address after: 807-3, floor 8, block F, No. 9, Shangdi Third Street, Haidian District, Beijing 100080 Applicant after: Zhongcheng Hualong Computer Technology Co.,Ltd. Address before: No.114, 14th floor, block B, building 1, No.38, Zhongguancun Street, Haidian District, Beijing 100082 Applicant before: Shenwei Super Computing (Beijing) Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |