一种数据处理方法、装置、电子设备及存储介质与流程

文档序号:33558703发布日期:2023-03-22 13:12阅读:35来源:国知局
一种数据处理方法、装置、电子设备及存储介质与流程

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.获取搜索关键词,基于所述搜索关键词确定多个关键字符;
26.确定所述关键字符对应的身份验证信息;
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.基于所述搜索令牌携带的中间加密因子,以及所述搜索令牌指示的搜索类型所对应的验证规则,对所述候选加密因子进行验证;
62.在所述候选加密因子通过验证的情况下,确定所述可搜索加密数据与所述搜索令牌匹配。
63.第三方面,本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
64.第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
65.本公开实施例提供的数据处理方法、装置、电子设备及存储介质,通过对待加密数据进行拆分,得到多个待加密字符,再利用待加密字符的身份验证信息及待加密字符在待加密数据中的位置信息,生成待加密字符对应的加密因子,利用加密因子、身份验证信息以及通过对称加密得到的初始加密数据,生成可搜索加密数据,其中,身份验证信息提供了数据搜索所需要的数据信息,而加密因子又保证了身份验证信息的难以明文与密文之间的关联性破解,在能够使加密数据进行搜索的基础上,提高了数据的安全性。
66.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
67.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
68.图1示出了本公开实施例所提供的一种数据处理方法的流程图;
69.图2示出了本公开实施例所提供的另一种数据处理方法的流程图;
70.图3示出了本公开实施例所提供的生成搜索令牌的步骤的流程图;
71.图4示出了本公开实施例所提供的使用搜索令牌对可搜索加密数据进行查询的步骤的流程图;
72.图5示出了本公开实施例所提供的一种数据处理装置的示意图;
73.图6示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
74.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实
施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
75.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
76.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
77.经研究发现,在一些场景中,用户需要将数据存储至第三方提供的数据库或云服务系统中,为了防止数据本身的内容泄漏给第三方,为了应对外部对自身内部数据库的侵入,需要对数据进行加密,加密后的密文通常不具备检索功能。若要进行加密文件的搜索,通常使用确定性加密,然而,确定性加密的安全性较低,容易根据密文关联性,推测出对应的明文,造成数据泄漏。
78.基于上述研究,本公开提供了一种数据加密方式,通过对待加密数据进行对称加密,对待加密数据进行拆分,得到多个待加密字符,再利用待加密字符的身份验证信息及待加密字符在待加密数据中的位置信息,生成待加密字符对应的加密因子,利用加密因子、身份验证信息以及通过对称加密得到的初始加密数据,生成可搜索加密数据,其中,身份验证信息提供了数据搜索所需要的数据信息,而加密因子又保证了身份验证信息的难以明文与密文之间的关联性破解,在能够使加密数据进行搜索的基础上,提高了数据的安全性。
79.为便于对本实施例进行理解,首先对本公开实施例所公开的一种数据处理方法进行详细介绍,本公开实施例所提供的数据处理方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备。在一些可能的实现方式中,该数据处理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
80.参见图1所示,为本公开实施例提供的数据处理方法的流程图,所述方法包括步骤s101~s104,其中:
81.s101、获取待加密数据并对所述待加密数据进行对称加密得到初始加密数据。
82.其中,待加密数据可以为字符类型的数据,如数字、字母、汉字、符号等,待加密数据能够被多种搜索工具搜索,如数据仓库工具hive、关系型数据库管理系统mysql等,能够应用完全匹配equality、包含in、模糊匹配like等搜索指令。
83.上述对称加密,是一种采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,其对应的加密算法包括数据加密标准(data encryption standard,des)、高级加密标准(advanced encryption standard)等。
84.示例性的,本实施例中所采用的对称加密算法可以为aes加密,对待加密数据进行对称加密时,可以使用预先约定的aes密钥,得到待加密数据对应的初始加密数据。
85.s102、将所述待加密数据拆分为多个待加密字符,确定各个待加密字符对应的身份验证信息。
86.该步骤中,为了实现对加密数据的搜索,需要为待加密字符添加可被搜索的特征,而搜索通常是针对各个字符进行的,也即,搜索行为通常会判断一段数据中是否存在关键字符,比如,若一段搜索关键词是“="%el%"”,则表示要搜索的数据中第二个字符包为“e”,第三个字符为“l”,且该数据只有四个字符,因此,需要针对各个字符生成搜索用的特征,也即上述身份验证信息。
87.在生成待加密字符的身份验证信息之前,可以先对待加密字符进行预处理,得到标准化的待加密字符,预处理的具体步骤可以根据实际需求设置,比如,为了减少计算量,可以将大写字母的待加密字符统一转换成小写字母等。
88.为了保护数据的安全,可以采用加密的方式生成身份特征。具体的,可以使用预先约定好的第三密钥,对经过预处理的待加密字符进行加密处理,得到待加密字符对应的身份验证信息。
89.示例性的,第三密钥可以为密码块链接消息认证码(cipher block chaining-message authentication code,cmac)下的一种密钥,可以生成一种令牌token,在表征数据特征的同时不泄露数据的真实内容。
90.s103、针对各个待加密字符,基于所述待加密字符对应的身份验证信息,以及所述待加密字符在所述待加密数据中的位置信息,生成所述待加密字符对应的加密因子。
91.为了保证身份验证信息的安全性,需要对身份验证信息进行加密处理,同时又需要保证身份验证信息的可用性,因此,可以生成待加密字符对应的加密因子,利用加密因子再对身份验证信息进行加密。
92.由于身份验证信息是相对确定性的数据,因此,可以在生成加密因子时引入待加密字符在待加密数据中的位置信息,将其作为一个加密参数,该位置信息与加密算法本身没有关联,可以引入不确定性因素,使加密因子产生不确定性,提高加密因子的安全度。
93.具体的,可以先获取待加密数据进行对称加密时使用的初始向量,再基于初始向量与待加密字符在待加密数据中的位置信息,生成初始加密因子,再基于待加密字符对应的身份验证信息,对初始加密因子进行加密处理,得到待加密字符对应的加密因子。
94.示例性的,可以将初始向量与上述位置信息拼接,将拼接结果作为初始加密因子,其中,上述初始向量可以为最初对待加密数据进行对称加密时使用的初始向量(initial vector),也成nonce值,通常为随机值,这样,可以将待加密数据的加密过程与加密因子紧密联系在一起,使加密因子具有独占性,使加密因子仅对当前的待加密数据有效。
95.待基于身份验证信息对初始加密因子进行加密处理的过程中,可以先利用第一密钥,对身份验证信息进行处理,得到待加密字符的第二密钥,再利用第二密钥对初始加密因子进行加密处理,得到待加密字符对应的加密因子。
96.示例性的,可以以第一密钥与身份验证信息作为输入,将其输入值中,哈希运算消息认证码(hash-based message authentication code)算法中,得到利用身份验证信息配置的第二密钥,然后再利用cmac算法,以第二密钥和初始加密因子作为输入,得到加密因子。
97.s104、基于各个待加密字符对应的所述加密因子、所述身份验证信息以及所述初始加密数据,生成所述待加密数据对应的可搜索加密数据。
98.在得到加密因子及身份验证信息之后,即可将加密因子、身份验证信息及初始加
密数据合并,得到待加密数据的可搜索加密数据。
99.具体的,可以对各个待加密字符对应的加密因子及身份验证信息进行异或操作,再将各个异或操作得到的结果连接,得到各个待加密字符的关键字密文,然后,再将关键字密文与初始加密数据进行合并,得到可搜索加密数据。其中,关键字密文可以用于实现对初始加密数据的搜索。
100.进一步的,为了确保搜索能够实现各种指令,如“equality”、“in”、“like”,可以在合并关键字密文与初始加密数据时,加入初始加密数据的总字符数量,将三者一同合并得到可搜索加密数据,来实现对字符数量检索的要求。
101.参见图2所示,为本公开实施例提供的另一种数据处理方法的流程图。该方法中,待加密数据以“yes”为例,首先利用aes密钥ek对待加密数据进行加密,得到初始加密数据c,然后,将待加密数据拆分为“y”、“e”、“s”三个待加密字符,利用第三密钥tk对其加密,得到身份验证信息t(y)、t(e)、t(s),再利用第一密钥dk分别对身份验证信息进行加密,得到第二密钥d(y)、d(e)、d(s),之后,提取对待加密数据进行加密时时候的初始向量iv,并基于各个待加密字符的位置信息,生成初始加密因子iv(y)、iv(e)、iv(s),针对每个待加密字符,利用其对应的第二密钥对初始加密因子进行加密,得到加密因子s(y)、s(e)、s(s),再对加密因子与身份验证信息进行异或操作,得到关键字密文,并将关键字密文、初始加密数据c及待加密字符的数量n进行合并,得到可搜索加密数据x。
102.s105、将所述可搜索加密数据存储至数据库,所述数据库用于存储所述可搜索加密数据并基于所述可搜索加密数据提供对应的搜索服务。
103.在得到可搜索加密数据之后,即可将可搜索加密数据存储至第一方或第三方的数据库中,在需要可搜索加密数据时,可以向数据库发送搜索令牌,数据库根据搜索令牌进行数据匹配,并将搜索得到的可搜索加密数据返回。
104.由于数据库中存储的数据是加密的,搜索令牌中指示的搜索关键词也需要是加密的,因此,可以先获取搜索关键词,并确定搜索关键词的多个关键字符。
105.然后,可以确定关键字符的身份验证信息,再基于关键字符对应的身份验证信息,生成关键字符对应的中间加密因子,最后基于中间加密因子及身份验证信息生成搜索关键词对应的搜索令牌。
106.其中,关键字符的身份验证信息的确定方式可以与待加密字符的身份验证信息的生成方式一致;生成中间加密因子的方式可以与上述生成第二密钥的生成方式一致。
107.示例性的,参见图3所示,为本公开实施例提供的生成搜索令牌的步骤的流程图。如图3所示,该步骤首先获取到搜索关键词“%el%”,其含义表示搜索数据中,包含连续的e、l两个字符,可以确定关键字符为e与l,然后,利用第三密钥分别对关键字符加密,得到身份验证信息t(e)与身份验证信息t(l),再利用第一密钥dk分别对t(e)与t(l)进行加密,得到中间加密因子k(e)与中间加密因子k(l),之后,将t(e)、k(e)组成数据对,将t(l)、k(l)组成数据对,并将各个数据对合并,得到一个集合,也即搜索令牌。
108.关于搜索令牌具体的使用方式,可以基于待查询的可搜索加密数据中的关键字密文、初始加密数据以及所述搜索令牌,生成多个候选加密因子;基于所述搜索令牌携带的中间加密因子,以及所述搜索令牌指示的搜索类型所对应的验证规则,对所述候选加密因子进行验证;在所述候选加密因子通过验证的情况下,确定所述可搜索加密数据与所述搜索
令牌匹配。
109.示例性的,参见图4所示,为本公开实施例所提供的使用搜索令牌对可搜索加密数据进行查询的步骤的流程图。数据库可以利用获取到的搜索令牌,对数据库中存储的各个数据进行匹配,可以先对当前进行匹配的数据进行拆分,得到初始加密数据和各个关键字密文,然后,利用关键字密文与搜索令牌中指示的身份验证信息进行异或操作,得到候选加密因子,然后,根据搜索令牌指示的搜索类型所对应的验证规则,利用身份验证信息对应的中间加密因子对候选加密因子进行验证,如搜索类型指示为“两个字符相邻”,则对连续的两个字符同时进行利用身份验证信息对应的中间加密因子对候选加密因子进行验证,若都通过验证,则可以确定该可搜索加密数据与搜索令牌匹配。
110.该步骤中,若当前验证的可搜索加密数据与搜索令牌匹配,则上述身份验证信息与关键字密文进行异或操作后,得到的候选加密因子与加密数据过程中得到的加密因子一致,可以使用cmac算法,以身份验证信息的密钥为密钥,验证候选加密因子的正确性,从而确定该关键字密文对应的字符是否与关键字符一致,实现对密文的搜索。
111.本公开实施例提供的数据处理方法,通过对待加密数据进行拆分,得到多个待加密字符,再利用待加密字符的身份验证信息及待加密字符在待加密数据中的位置信息,生成待加密字符对应的加密因子,利用加密因子、身份验证信息以及通过对称加密得到的初始加密数据,生成可搜索加密数据,其中,身份验证信息提供了数据搜索所需要的数据信息,而加密因子又保证了身份验证信息的难以明文与密文之间的关联性破解,在能够使加密数据进行搜索的基础上,提高了数据的安全性。
112.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
113.基于同一发明构思,本公开实施例中还提供了与数据处理方法对应的数据处理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述数据处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
114.参照图5所示,为本公开实施例提供的一种数据处理装置的示意图,所述装置包括:
115.第一加密模块510,用于获取待加密数据并对所述待加密数据进行对称加密得到初始加密数据;
116.身份验证模块520,用于将所述待加密数据拆分为多个待加密字符,确定各个待加密字符对应的身份验证信息;
117.生成模块530,用于针对各个待加密字符,基于所述待加密字符对应的身份验证信息以及所述待加密字符在所述待加密数据中的位置信息,生成所述待加密字符对应的加密因子;
118.第二加密模块540,用于基于各个待加密字符对应的所述加密因子、所述身份验证信息以及所述初始加密数据,生成所述待加密数据对应的可搜索加密数据;
119.存储模块550,用于将所述可搜索加密数据存储至数据库,所述数据库用于存储所述可搜索加密数据并基于所述可搜索加密数据提供对应的搜索服务。
120.一种可选的实施方式中,所述生成模块530在基于所述待加密字符对应的身份验
证信息以及所述待加密字符在所述待加密数据中的位置信息,生成所述待加密字符对应的加密因子时,用于:
121.获取对所述待加密数据进行对称加密时使用的初始向量;
122.基于所述初始向量,以及所述待加密字符在所述待加密数据中的位置信息,生成初始加密因子;
123.基于所述待加密字符对应的身份验证信息,对所述初始加密因子进行加密处理,得到所述待加密字符对应的加密因子。
124.一种可选的实施方式中,所述生成模块530在基于所述待加密字符对应的身份验证信息,对所述初始加密因子进行加密处理,得到所述初始加密字符对应的加密因子时,用于:
125.利用第一密钥,对所述身份验证信息进行加密处理,得到所述待加密字符的第二密钥;
126.利用所述第二密钥,对所述初始加密因子进行加密处理,得到所述待加密字符对应的加密因子。
127.一种可选的实施方式中,所述身份验证模块520在确定各个待加密字符对应的身份验证信息时,用于:
128.对所述待加密字符进行预处理,得到标准化的待加密字符;
129.利用第三密钥,对经过预处理的待加密字符进行加密处理,得到所述待加密字符对应的身份验证信息。
130.一种可选的实施方式中,所述第二加密模块540在基于各个待加密字符对应的所述加密因子、所述身份验证信息,以及所述初始加密数据,生成所述待加密数据对应的可搜索加密数据时,用于:
131.针对任一所述待加密字符,对所述待加密字符对应的所述加密因子及所述身份验证信息进行异或操作,得到所述待加密字符的关键字密文;
132.基于各个待加密字符的关键字密文,以及所述初始加密数据,生成所述待加密数据对应的可搜索加密数据。
133.一种可选的实施方式中,所述生成模块530,在生成所述可搜索加密数据之后,还用于:
134.获取搜索关键词,基于所述搜索关键词确定多个关键字符;
135.确定所述关键字符对应的身份验证信息;
136.基于所述身份验证信息,生成所述关键字符对应的中间加密因子;
137.基于所述中间加密因子以及所述身份验证信息,确定所述关键词对应的搜索令牌;
138.将所述搜索令牌发送至所述数据库,以使所述数据库基于所述搜索令牌对所述搜索关键词对应的可搜索加密数据进行查询。
139.一种可选的实施方式中,所述数据库在基于所述搜索令牌对所述搜索关键词对应的可搜索加密数据进行查询时,用于:
140.基于所述搜索令牌指示的身份验证信息,以及待查询的可搜索加密数据中的关键字密文,生成多个候选加密因子;
141.基于所述搜索令牌携带的中间加密因子,以及所述搜索令牌指示的搜索类型所对应的验证规则,对所述候选加密因子进行验证;
142.在所述候选加密因子通过验证的情况下,确定所述可搜索加密数据与所述搜索令牌匹配。
143.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
144.对应于图1中的数据处理方法,本公开实施例还提供了一种电子设备600,如图6所示,为本公开实施例提供的电子设备600结构示意图,包括:
145.处理器61、存储器62、和总线63;存储器62用于存储执行指令,包括内存621和外部存储器622;这里的内存621也称内存储器,用于暂时存放处理器61中的运算数据,以及与硬盘等外部存储器622交换的数据,处理器61通过内存621与外部存储器622进行数据交换,当所述电子设备600运行时,所述处理器61与所述存储器62之间通过总线63通信,使得所述处理器61执行以下指令:
146.获取待加密数据并对所述待加密数据进行对称加密得到初始加密数据;
147.将所述待加密数据拆分为多个待加密字符,确定各个待加密字符对应的身份验证信息;
148.针对各个待加密字符,基于所述待加密字符对应的身份验证信息以及所述待加密字符在所述待加密数据中的位置信息,生成所述待加密字符对应的加密因子;
149.基于各个待加密字符对应的所述加密因子、所述身份验证信息以及所述初始加密数据,生成所述待加密数据对应的可搜索加密数据;
150.将所述可搜索加密数据存储至数据库,所述数据库用于存储所述可搜索加密数据并基于所述可搜索加密数据提供对应的搜索服务。
151.一种可选的实施方式中,所述处理器61执行的指令中,所述基于所述待加密字符对应的身份验证信息以及所述待加密字符在所述待加密数据中的位置信息,生成所述待加密字符对应的加密因子,包括:
152.获取对所述待加密数据进行对称加密时使用的初始向量;
153.基于所述初始向量,以及所述待加密字符在所述待加密数据中的位置信息,生成初始加密因子;
154.基于所述待加密字符对应的身份验证信息,对所述初始加密因子进行加密处理,得到所述待加密字符对应的加密因子。
155.一种可选的实施方式中,所述处理器61执行的指令中,所述基于所述待加密字符对应的身份验证信息,对所述初始加密因子进行加密处理,得到所述初始加密字符对应的加密因子,包括:
156.利用第一密钥,对所述身份验证信息进行加密处理,得到所述待加密字符的第二密钥;
157.利用所述第二密钥,对所述初始加密因子进行加密处理,得到所述待加密字符对应的加密因子。
158.一种可选的实施方式中,所述处理器61执行的指令中,所述确定各个待加密字符对应的身份验证信息,包括:
159.对所述待加密字符进行预处理,得到标准化的待加密字符;
160.利用第三密钥,对经过预处理的待加密字符进行加密处理,得到所述待加密字符对应的身份验证信息。
161.一种可选的实施方式中,所述处理器61执行的指令中,所述基于各个待加密字符对应的所述加密因子、所述身份验证信息,以及所述初始加密数据,生成所述待加密数据对应的可搜索加密数据,包括:
162.针对任一所述待加密字符,对所述待加密字符对应的所述加密因子及所述身份验证信息进行异或操作,得到所述待加密字符的关键字密文;
163.基于各个待加密字符的关键字密文,以及所述初始加密数据,生成所述待加密数据对应的可搜索加密数据。
164.一种可选的实施方式中,所述处理器61执行的指令中,生成所述可搜索加密数据之后,还包括:
165.获取搜索关键词,基于所述搜索关键词确定多个关键字符;
166.确定所述关键字符对应的身份验证信息;
167.基于所述身份验证信息,生成所述关键字符对应的中间加密因子;
168.基于所述中间加密因子以及所述身份验证信息,确定所述关键词对应的搜索令牌;
169.将所述搜索令牌发送至所述数据库,以使所述数据库基于所述搜索令牌对所述搜索关键词对应的可搜索加密数据进行查询。
170.一种可选的实施方式中,所述数据库基于所述搜索令牌对所述搜索关键词对应的可搜索加密数据进行查询,包括:
171.基于所述搜索令牌指示的身份验证信息,以及待查询的可搜索加密数据中的关键字密文,生成多个候选加密因子;
172.基于所述搜索令牌携带的中间加密因子,以及所述搜索令牌指示的搜索类型所对应的验证规则,对所述候选加密因子进行验证;
173.在所述候选加密因子通过验证的情况下,确定所述可搜索加密数据与所述搜索令牌匹配。
174.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的数据处理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
175.本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的数据处理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
176.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
177.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开
所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
178.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
179.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
180.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
181.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1