一种加密数据处理方法、装置、系统及存储介质转让专利

申请号 : CN202210080211.5

文献号 : CN114117503B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王勤武

申请人 : 连连宝(杭州)信息技术有限公司

摘要 :

本申请实施例提供一种加密数据处理方法、装置、系统和存储介质,方法包括:向数据记录系统发送数据交互请求;接收数据记录系统发送的系统公钥;向数据记录系统发送数据操作请求,数据操作请求携带有账户标识;接收数据记录系统发送的用户公钥;基于用户公钥,对操作数据进行同态加密,得到同态加密数据;分别基于客户端私钥和系统公钥对同态加密数据进行加签和加密,得到目标加密数据;向数据记录系统发送目标加密数据;接收数据记录系统发送的操作判定结果。通过执行本申请实施例的一种加密数据处理方法,可以在保证数据操作合理性的同时,保障数据处理与记录的数据保密性。

权利要求 :

1.一种加密数据处理方法,其特征在于,用于客户端,所述方法包括:向数据记录系统发送数据交互请求,所述数据交互请求携带有客户端公钥和账户标识;所述数据交互请求用于请求所述数据记录系统在当前时间段将所述账户标识对应的用户账户和所述客户端进行绑定,并基于所述账户标识向所述客户端发送系统公钥;

接收所述数据记录系统发送的所述系统公钥;

向所述数据记录系统发送数据操作请求,所述数据操作请求携带有所述账户标识;所述数据操作请求用于请求所述数据记录系统向所述客户端发送所述账户标识对应的用户公钥;

接收所述数据记录系统发送的所述用户公钥;

基于所述用户公钥,对操作数据进行同态加密,得到同态加密数据;

分别基于客户端私钥和所述系统公钥对所述同态加密数据进行加签和加密,得到目标加密数据;

向所述数据记录系统发送所述目标加密数据;

接收所述数据记录系统发送的操作判定结果。

2.根据权利要求1所述的一种加密数据处理方法,其特征在于,在所述向数据记录系统发送数据交互请求之前,所述方法还包括:向所述数据记录系统发送开户请求,所述开户请求携带有用户关联信息;所述开户请求用于请求所述数据记录系统基于所述用户关联信息创建所述用户账户,并生成所述用户账户对应的所述用户公钥和用户私钥。

3.一种加密数据处理方法,其特征在于,用于数据记录系统,所述方法包括:接收客户端发送的数据交互请求;所述数据交互请求携带有客户端公钥和账户标识;

在当前时间段,将所述账户标识对应的用户账户和所述客户端进行绑定,并基于所述账户标识向所述客户端发送系统公钥;

接收所述客户端发送的数据操作请求,所述数据操作请求携带有账户标识;

向所述客户端发送所述账户标识对应的用户公钥;

接收所述客户端发送的目标加密数据;所述目标加密数据由所述客户端分别基于客户端私钥和所述系统公钥对同态加密数据进行加签和加密得到;所述同态加密数据由所述客户端基于所述用户公钥对操作数据进行同态加密得到;

分别基于所述客户端公钥和系统私钥,对所述目标加密数据进行验签和解密,得到目标解密数据;

基于所述目标解密数据确定操作判定结果;

向所述客户端发送所述操作判定结果。

4.根据权利要求3所述的一种加密数据处理方法,其特征在于,在所述接收客户端发送的客户端公钥之前,所述方法还包括:接收所述数据记录系统发送的开户请求,所述开户请求携带有用户关联信息;

基于所述用户关联信息,创建所述用户账户;

生成所述用户账户对应的所述用户公钥和用户私钥。

5.根据权利要求3所述的一种加密数据处理方法,其特征在于,所述数据记录系统包括中间系统、上账系统和下账系统,所述操作请求包括下账请求,当所述目标解密数据为下账请求对应的数据时,所述基于所述目标解密数据确定操作判定结果,包括:通过所述下账系统基于所述目标解密数据和历史下账数据确定总下账数据;

通过所述中间系统对所述下账系统中的所述总下账数据和所述上账系统中的总上账数据进行计算,确定操作判定结果。

6.根据权利要求5所述的一种加密数据处理方法,其特征在于,所述通过所述中间系统对所述下账系统中的所述总下账数据和所述上账系统中的总上账数据进行计算,确定操作判定结果,包括:若通过所述中间系统基于所述下账系统中的所述总下账数据和所述上账系统中的总上账数据进行计算,确定所述总上账数据大于等于总下账数据,则确定所述操作判定结果为通过。

7.根据权利要求3所述的一种加密数据处理方法,其特征在于,所述数据记录系统包括上账系统,所述操作请求包括上账请求,当所述目标解密数据为上账请求对应的数据时,所述基于所述目标解密数据确定操作判定结果,包括:通过所述上账系统基于所述目标解密数据和历史上账数据确定总上账数据;

确定所述操作判定结果为通过。

8.一种加密数据处理装置,其特征在于,包括:

交互请求模块,用于向数据记录系统发送数据交互请求,所述数据交互请求携带有客户端公钥和账户标识;所述数据交互请求用于请求所述数据记录系统在当前时间段将所述账户标识对应的用户账户和所述客户端进行绑定,并基于所述账户标识向所述客户端发送系统公钥;

第一接收模块,用于接收所述数据记录系统发送的所述系统公钥;

操作请求模块,用于向所述数据记录系统发送数据操作请求,所述数据操作请求携带有账户标识;所述数据操作请求用于请求所述数据记录系统向所述客户端发送所述账户标识对应的用户公钥;

第二接收模块,用于接收所述数据记录系统发送的所述用户公钥;

第一加密模块,用于基于所述用户公钥,对操作数据进行同态加密,得到同态加密数据;

第二加密模块,用于分别基于客户端私钥和所述系统公钥对所述同态加密数据进行加签和加密,得到目标加密数据;

发送模块,用于向所述数据记录系统发送所述目标加密数据;

判定模块,用于接收所述数据记录系统发送的操作判定结果。

9.一种加密数据处理装置,其特征在于,包括:

交互请求模块,用于接收客户端发送的数据交互请求;所述数据交互请求携带有客户端公钥和账户标识;

第一发送模块,用于在当前时间段,将所述账户标识对应的用户账户和所述客户端进行绑定,并基于所述账户标识向所述客户端发送系统公钥;

操作请求模块,用于接收所述客户端发送的数据操作请求,所述数据操作请求携带有账户标识;

第二发送模块,用于向所述客户端发送所述账户标识对应的用户公钥;

接收模块,用于接收所述客户端发送的目标加密数据;

解密模块,用于分别基于所述客户端公钥和系统私钥,对所述目标加密数据进行验签和解密,得到目标解密数据;

处理模块,用于基于所述目标解密数据确定操作判定结果;

判定模块,用于向所述客户端发送操作判定结果。

10.一种加密数据处理系统,其特征在于,所述系统包括:客户端,用于向数据记录系统发送数据交互请求,所述数据交互请求携带有客户端公钥和账户标识;接收所述数据记录系统发送的系统公钥;向所述数据记录系统发送数据操作请求,所述数据操作请求携带有所述账户标识;接收所述数据记录系统发送的用户公钥;

基于所述用户公钥,对操作数据进行同态加密,得到同态加密数据;分别基于客户端私钥和所述系统公钥对所述同态加密数据进行加签和加密,得到目标加密数据;向所述数据记录系统发送所述目标加密数据;接收所述数据记录系统发送的操作判定结果;

数据记录系统,用于接收客户端发送的所述数据交互请求;在当前时间段,将所述账户标识对应的用户账户和所述客户端进行绑定,并基于所述账户标识向所述客户端发送所述系统公钥;接收所述客户端发送的所述数据操作请求;向所述客户端发送所述账户标识对应的所述用户公钥;接收所述客户端发送的所述目标加密数据;分别基于所述客户端公钥和系统私钥,对所述目标加密数据进行验签和解密,得到目标解密数据;基于所述目标解密数据确定所述操作判定结果;向所述客户端发送所述操作判定结果。

11.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1‑2任意一项所述的加密数据处理方法。

12.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求3‑7任意一项所述的加密数据处理方法。

说明书 :

一种加密数据处理方法、装置、系统及存储介质

技术领域

[0001] 本发明涉及数据加密技术领域,尤其涉及一种加密数据处理方法、装置、系统及存储介质。

背景技术

[0002] 随着互联网技术的不断发展,用户通过互联网执行各种业务的同时,数据在处理或者通信的过程中曝光于多个处理平台或者系统,导致私密信息被频繁公开,由此降低了私密信息的保密程度,不仅提高了用户的风险,而且不符合用户对隐私保密的期望。
[0003] 目前的数据记录系统存在对数据加密程度不足的问题,而且数据记录系统多配备有对应的后台管理系统,导致用户的私密数据可以被查看或者盗取;同时,加密程度过高的数据记录系统在处理数据的过程中解密过程繁琐,浪费了大量的处理资源。

发明内容

[0004] 针对现有技术存在的缺陷,本公开实施例提供一种加密数据处理方法、装置、系统及存储介质,可以在保证数据操作合理性的同时,保障数据处理与记录的数据保密性。
[0005] 本申请实施例提供一种加密数据处理方法,用于客户端,方法包括:向数据记录系统发送数据交互请求,数据交互请求携带有客户端公钥和账户标识;数据交互请求用于请求数据记录系统在当前时间段将账户标识对应的用户账户和客户端进行绑定,并基于账号标识向客户端发送系统公钥;接收数据记录系统发送的系统公钥;向数据记录系统发送数据操作请求,数据操作请求携带有账户标识;数据操作请求用于请求数据记录系统向客户端发送账户标识对应的用户公钥;接收数据记录系统发送的用户公钥;基于用户公钥,对操作数据进行同态加密,得到同态加密数据;分别基于客户端私钥和系统公钥对同态加密数据进行加签和加密,得到目标加密数据;向数据记录系统发送目标加密数据;接收数据记录系统发送的操作判定结果。
[0006] 具体地,在向数据记录系统发送数据交互请求之前,方法还包括:向数据记录系统发送开户请求,开户请求携带有用户关联信息;开户请求用于请求数据记录系统基于用户关联信息创建用户账户,并生成用户账户对应的用户公钥和用户私钥。
[0007] 本申请实施例还提供一种加密数据处理方法,用于数据记录系统,方法包括:接收客户端发送的数据交互请求;数据交互请求携带有客户端公钥和账户标识;在当前时间段,将账户标识对应的用户账户和客户端进行绑定,并基于账号标识向客户端发送系统公钥;接收客户端发送的数据操作请求,数据操作请求携带有账户标识;向客户端发送账户标识对应的用户公钥;接收客户端发送的目标加密数据;分别基于客户端公钥和系统私钥,对目标加密数据进行验签和解密,得到目标解密数据;基于目标解密数据确定操作判定结果;向客户端发送操作判定结果。
[0008] 具体地,在接收客户端发送的客户端公钥之前,方法还包括:接收数据记录系统发送的开户请求,开户请求携带有用户关联信息;基于用户关联信息,创建用户账户;生成用户账户对应的用户公钥和用户私钥。
[0009] 具体地,数据记录系统包括中间系统、上账系统和下账系统,操作请求包括下账请求,当目标解密数据为下账请求对应的数据时,基于目标解密数据确定操作判定结果,包括:通过下账系统基于目标解密数据和历史下账数据确定总下账数据;通过中间系统对下账系统中的总下账数据和上账系统中的总上账数据进行计算,确定操作判定结果。
[0010] 具体地,通过中间系统对下账系统中的总下账数据和上账系统中的总上账数据进行计算,确定操作判定结果,包括:若通过中间系统基于下账系统中的总下账数据和上账系统中的总上账数据进行计算,确定总上账数据大于等于总下账数据,则确定操作判定结果为通过。
[0011] 具体地,数据记录系统包括上账系统,操作请求包括上账请求,当目标解密数据为上账请求对应的数据时,基于目标解密数据确定操作判定结果,包括:通过上账系统基于目标解密数据和历史上账数据确定总上账数据;确定操作判定结果为通过。
[0012] 相应地,本申请提供一种加密数据处理装置,包括:交互请求模块,用于向数据记录系统发送数据交互请求,数据交互请求携带有客户端公钥和账户标识;数据交互请求用于请求数据记录系统在当前时间段将账户标识对应的用户账户和客户端进行绑定,并基于账号标识向客户端发送系统公钥;第一接收模块,用于接收数据记录系统发送的系统公钥;操作请求模块,用于向数据记录系统发送数据操作请求,数据操作请求携带有账户标识;数据操作请求用于请求数据记录系统向客户端发送账户标识对应的用户公钥;第二接收模块,用于接收数据记录系统发送的用户公钥;第一加密模块,用于基于用户公钥,对操作数据进行同态加密,得到同态加密数据;第二加密模块,用于分别基于客户端私钥和系统公钥对同态加密数据进行加签和加密,得到目标加密数据;发送模块,用于向数据记录系统发送目标加密数据;判定模块,用于接收数据记录系统发送的操作判定结果。
[0013] 具体地,在向数据记录系统发送数据交互请求之前,交互请求模块还用于:向数据记录系统发送开户请求,开户请求携带有用户关联信息;开户请求用于请求数据记录系统基于用户关联信息创建用户账户,并生成用户账户对应的用户公钥和用户私钥。
[0014] 相应地,本申请提供一种加密数据处理装置,包括:交互请求模块,用于接收客户端发送的数据交互请求;数据交互请求携带有客户端公钥和账户标识;第一发送模块,用于在当前时间段,将账户标识对应的用户账户和客户端进行绑定,并基于账号标识向客户端发送系统公钥;操作请求模块,用于接收客户端发送的数据操作请求,数据操作请求携带有账户标识第二发送模块,用于向客户端发送账户标识对应的用户公钥;接收模块,用于接收客户端发送的目标加密数据;解密模块,用于分别基于客户端公钥和系统私钥,对目标加密数据进行验签和解密,得到目标解密数据;处理模块,用于基于目标解密数据确定操作判定结果;判定模块,用于向客户端发送操作判定结果。
[0015] 具体地,在接收客户端发送的客户端公钥之前,交互请求模块还用于:接收数据记录系统发送的开户请求,开户请求携带有用户关联信息;基于用户关联信息,创建用户账户;生成用户账户对应的用户公钥和用户私钥。
[0016] 具体地,数据记录系统包括中间系统、上账系统和下账系统,操作请求包括下账请求,当目标解密数据为下账请求对应的数据时,判定模块用于:通过下账系统基于目标解密数据和历史下账数据确定总下账数据;通过中间系统对下账系统中的总下账数据和上账系统中的总上账数据进行计算,确定操作判定结果。
[0017] 具体地,通过中间系统对下账系统中的总下账数据和上账系统中的总上账数据进行计算,确定操作判定结果,包括:若通过中间系统基于下账系统中的总下账数据和上账系统中的总上账数据进行计算,确定总上账数据大于等于总下账数据,则确定操作判定结果为通过。
[0018] 具体地,数据记录系统包括上账系统,操作请求包括上账请求,当目标解密数据为上账请求对应的数据时,判定模块用于:通过上账系统基于目标解密数据和历史上账数据确定总上账数据;确定操作判定结果为通过。
[0019] 相应地,本申请实施例提供一种加密数据处理系统,包括:客户端,用于向数据记录系统发送数据交互请求,数据交互请求携带有客户端公钥和账户标识;接收数据记录系统发送的系统公钥;向数据记录系统发送数据操作请求,数据操作请求携带有账户标识;接收数据记录系统发送的用户公钥;基于用户公钥,对操作数据进行同态加密,得到同态加密数据;分别基于客户端私钥和系统公钥对同态加密数据进行加签和加密,得到目标加密数据;向数据记录系统发送目标加密数据;接收数据记录系统发送的操作判定结果。数据记录系统,用于接收客户端发送的数据交互请求;在当前时间段,将账户标识对应的用户账户和客户端进行绑定,并基于账号标识向客户端发送系统公钥;接收客户端发送的数据操作请求;向客户端发送账户标识对应的用户公钥;接收客户端发送的目标加密数据;分别基于客户端公钥和系统私钥,对目标加密数据进行验签和解密,得到目标解密数据;基于目标解密数据确定操作判定结果;向客户端发送操作判定结果。
[0020] 相应地,本公开实施例提供一种计算机可读存储介质,存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述的加密数据处理方法。
[0021] 本申请实施例具有如下有益效果:
[0022] (1)每一个账户都用有独立的秘钥串,可以提高加密的精确性,避免数据记录系统误操作其他用户的金额;
[0023] (2)操作数据在交互过程中可以进行三层加密,其中包括同态加密,使得操作记录系统可以在不泄露数据的具体数值的情况下完成判定,在保证数据操作合理性的同时,保障数据处理与记录的数据保密性。

附图说明

[0024] 为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
[0025] 图1是本申请实施例所提供的一种加密数据处理方法的应用场景示意图;
[0026] 图2是本申请实施例所提供的一种加密数据处理方法的第一流程示意图;
[0027] 图3是本申请实施例所提供的一种加密数据处理方法的第二流程示意图;
[0028] 图4是本申请实施例所提供的一种加密数据处理方法的第三流程示意图;
[0029] 图5是本申请实施例所提供的第一种加密数据处理装置的结构示意图;
[0030] 图6是本申请实施例所提供的第二种加密数据处理装置的结构示意图;
[0031] 图7是本申请实施例所提供的一种加密数据处理方法的服务器的硬件结构框图。

具体实施方式

[0032] 为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例作进一步地详细描述。显然,所描述的实施例仅仅是本申请一个实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0033] 此处所称的“实施例”是指可包含于本申请至少一个实现方式中的特定特征、结构或特性。在本申请实施例的描述中,需要理解的是,术语“上”、“下”、“左”、“右”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置/系统或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含的包括一个或者更多个该特征。而且,术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请实施例能够以除了在这里图示或描述以外的顺序实施。此外,术语“包括”和“具有”/“为”以及他们/其的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元/模块的过程、方法、系统/装置、产品或设备不必限于清楚地列出的那些步骤或单元/模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元/模块。
[0034] 下面介绍本申请提供的一种加密数据处理方法的具体实施例。请参阅图1,图1是本申请实施例所提供的一种加密数据处理的应用场景示意图。如图1所示,包括服务器101和终端102。可选的,服务器101和终端102可以通过无线链路连接,也可以通过有线链路连接,本公开在此不做限定。
[0035] 在一个可选的实施例中,服务器101可以包括数据记录系统,终端102可以是客户端。一个数据记录系统可以与多个客户端交互。具体的,服务器101可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。可选的,该服务器101上运行的操作系统可以包括但是不限于IOS、Linux、Windows、Unix、Android 系统等。
[0036] 在一个可选的实施例中,终端102可以在有数据操作需求的时候,与服务器101通信,协助服务器101中的判定模块来判断终端102的操作是否具有数据意义,并且将终端102的操作对应的数据变化记录下来。具体的,终端102可以包括但不限于智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、智能可穿戴设备等类型的电子设备。可选的,电子设备上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows等。
[0037] 此外,需要说明的是,图1所示的仅仅是本公开提供的加密数据处理方法的一种应用环境,在实际应用中,还可以包括其他应用环境。
[0038] 下面介绍本申请提供的一种加密数据处理方法的示例性流程。图2是本申请实施例提供的一种加密数据处理方法的第一流程示意图,本说明书提供了如实施例或流程图所示的方法或者流程操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多执行顺序中的一种方式,不代表唯一的执行顺序,在实际执行时,可以按照实施例或者附图所示的方法或者流程顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,该示例性流程包括:
[0039] S201:客户端向数据记录系统发送数据交互请求,
[0040] 具体地,数据交互请求可以携带有客户端公钥和账户标识,该数据交互请求可以用于请求数据记录系统在当前时间段将账户标识对应的用户账户和客户端进行绑定,并基于账号标识向客户端发送系统公钥。当前时间段可以指客户端和数据记录系统进行通信的时间段。客户端公钥和客户端私钥可以是成对的秘钥,其中,客户端保有客户端私钥,将客户端公钥发送至数据记录系统以使数据记录系统能够基于客户端公钥解析通过客户端私钥加密的数据或者信息。
[0041] 具体地,数据记录系统在接收客户端发送的数据交互请求之后,可移植性步骤S202。
[0042] S202:数据记录系统在当前时间段,将账户标识对应的用户账户和客户端进行绑定。
[0043] 在一种具体的实施方式中,若在第一个客户端发送数据交互请求之后,存在有第二个客户端向数据记录系统发送数据交互请求,则数据记录系统可以基于该数据交互请求,将第二个客户端发送的账户标识对应的用户账户和客户端进行绑定,并解除第一个客户端发送的账户标识对应的用户账户和客户单的绑定关系。
[0044] S203:数据记录系统基于账号标识向客户端发送系统公钥;
[0045] 具体地,该系统公钥和系统私钥可以是成对的秘钥,其中,数据记录系统保有系统私钥,将系统公钥发送至客户端以使客户端能够基于系统公钥加密信息或者数据,且加密后的信息或者数据能够被数据记录系统基于系统私钥解密。
[0046] S204:客户端向数据记录系统发送数据操作请求,
[0047] 具体地,数据操作请求可以携带有账户标识;数据操作请求可以用于请求数据记录系统向客户端发送账户标识对应的用户公钥。
[0048] 数据记录系统可以在接收客户端发送的数据操作请求之后,执行步骤S205。
[0049] S205:数据记录系统向客户端发送账户标识对应的用户公钥;
[0050] 具体地,该用户公钥和用户私钥可以是成对的秘钥,其中,数据记录系统保有用户私钥,将用户公钥发送至客户端以使客户端能够基于用户公钥对信息或者数据进行同态加密,且加密后的信息或者数据能够被数据记录系统基于用户私钥解密。
[0051] 在一种具体的实施方式中,在步骤S201之前,示例性流程还可以包括以下步骤:客户端向所述数据记录系统发送开户请求,其中,开户请求携带有用户关联信息,开户请求可以用于请求所述数据记录系统基于用户关联信息创建所述用户账户,并生成所述用户账户对应的用户公钥和用户私钥;接收到开户请求之后,数据记录系统生成用户账户对应的用户公钥和私钥,并存储在数据记录系统之中,并在执行步骤S205的过程中将账户标识对应的用户公钥发送到对应的客户端。
[0052] 具体地,可以有多个客户端向数据记录系统发送开户请求,如第一客户端、第二客户端;若在步骤S201‑S205中与数据记录系统进行交互的是第二客户端,则在步骤S205中,数据记录系统向第二客户端发送账户标识对应的用户公钥。
[0053] 具体地,可以通过第一客户端向数据记录系统发送开户请求,生成第一账户的用户公钥和用户私钥;并且,可以通过第二客户端,登录该第一账户,并执行步骤S201‑S205,则步骤S205中数据记录系统可以向第二客户端发送第一账户对应的用户公钥。
[0054] 在本申请实施例中,每一个账户都用有独立的秘钥串,即用户公钥和用户私钥只对应于一个用户,可以提高加密的精确性,避免数据记录系统误操作其他用户的金额。
[0055] 客户端在接收数据记录系统发送的用户公钥之后,可以执行步骤S206。
[0056] S206:客户端基于用户公钥,对操作数据进行同态加密,得到同态加密数据。
[0057] 在一种具体的实施方式中,操作数据可以是客户端基于操作指令信息生成的,操作数据可以包括:积分操作数据、账户金额操作数据、推荐评分变化数据。
[0058] 对操作数据进行同态加密,是指通过同态加密的加密形式,将操作数据加密成为同态加密数据。在一种具体的实施方式中,对于操作数据2, 可以基于用户公钥,对操作数据2进行运算,即3^2 = 9,得到同态加密数据9。这里的用户公钥可以表征对操作数据2进行运算或者加密的过程中使用的参数或者计算公式。对于经由同态加密产生的同态加密数据,可以和操作数据形成一组密文、明文组,对明文进行逻辑处理或者数据计算,和对密文进行同样的逻辑处理或者数据计算,二者得到的结果可以是一样的。也就是说,将密文处理结果解密,可以得到明文处理结果。即: Enc(明文1) = 密文1, Enc(明文2) = 密文2, Enc(明文1+明文2)=密文1+密文2。其中,对密文的处理方式和对明文的处理方式可以不同,但二者可以相对应。在一种具体的实施方式中,对于第一操作数据 3, 有着第一同态加密数据3^3=27 ;对于第二操作数据 2, 有着第一同态加密数据3^2=9 ,那么对应于操作数据(2+3) 有着 3^(2+3) = 243 = 9*27。也就是说,Enc(明文1+明文2)=密文1*密文2。
[0059] 需要注意的是,本申请不对操作数据、同态加密数据的处理方式的对应关系做限定,数据处理方法不限于上述实施例,在另外一些可选的实施例中,操作数据、同态加密数据的处理方式的对应关系还可以通过其他的方式实施。
[0060] 在另一种具体的实施方式中,同态加密算法可以通过ELGamal加密算法实现。在此实施方式中,在数据记录系统接收到开户请求之后,可以基于用户关联信息生成预设随机数集合,并从该预设随机数集合中选取第一随机数,基于该第一随机数和计算参数进行计算得到计算结果,从而确定用户公钥和公户私钥。其中,用户公钥可以包含有计算结果以及计算参数、随机数集合的描述信息,用户私钥可以包含有第一随机数。在同态加密的过程中,客户端可以从预设随机数集合中选取第二随机数,基于计算参数和第二随机数计算得到第一加密数据;基于计算结果和第二随机数计算得到系数,将系数和需要加密的操作数据相乘,得到第二加密数据;即同态加密数据可以包括第一加密数据和第二加密数据。若需要对同态加密数据进行解密,可以由数据记录系统在接收到解密指示消息的情况下,通过第一随机数,对第一加密数据和第二加密数据进行解密,得到操作数据。
[0061] S207:客户端分别基于客户端私钥和系统公钥对同态加密数据进行加签和加密,得到目标加密数据。
[0062] 具体地,客户端可以基于客户端私钥,对同态加密数据进行加签,得到加签数据;基于系统公钥,对同态加密数据进行加密,得到目标加密数据。
[0063] S208:客户端向数据记录系统发送目标加密数据;
[0064] 数据记录系统在接受到客户端发送的目标加密数据之后,可以执行步骤S209。
[0065] S209:数据记录系统分别基于客户端公钥和系统私钥,对目标加密数据进行验签和解密,得到目标解密数据;
[0066] 具体地,数据记录系统可以基于系统私钥,对目标解密数据进行解密,得到加签数据;基于客户端公钥,对同态加密数据进行验签,得到目标解密数据。目标解密数据可以和同态加密数据一致。
[0067] S210:数据记录系统基于目标解密数据确定操作判定结果。
[0068] 下面介绍两种确定操作判定结果的具体的实施例:
[0069] 第一种:
[0070] 在一种具体的实施方式中,数据记录系统可以包括中间系统、上账系统和下账系统。操作请求可以包括下账请求,当目标解密数据为下账请求对应的数据时,步骤S210可以包括如图3所图示的步骤。
[0071] 下面基于图3进一步阐述步骤S210。图3是本申请实施例所提供的一种加密数据处理方法的第二流程示意图,如图3所图示,包括:
[0072] S301:数据记录系统通过下账系统基于目标解密数据和历史下账数据确定总下账数据;
[0073] S302:数据记录系统通过中间系统对下账系统中的总下账数据和上账系统中的总上账数据进行计算,确定操作判定结果。
[0074] 在该实施方式中,步骤S206中的操作数据可以是账户金额操作数据。历史下账数据可以是基于历史多次操作统计得到的,目标解密数据则是基于本次操作确定的。
[0075] 数据记录系统可以通过下账系统,将目标解密数据和历史下账数据进行同态加密协议预设规定的处理操作,该处理操作的实际明文意义是相加,以得到总下账数据;也就是说,基于目标解密数据和历史下账数据确定的总下账数据,该总下账数据的同态解密数据等于目标解密数据的同态解密数据以及历史下账数据的同态解密数据之和。
[0076] 在本申请实施例中,为使数据记录系统的保密性增加,数据记录系统可以包含多个子系统,每个子系统具备不同的功能。在步骤S206的操作数据为账户金额操作数据的实施中,只有操作结果是账户金额大于等于零的情况下客户端的操作才具备数据意义和可操作性。具体地,账户对应的总上账数据可以存储于上账系统中,账户对应的总下账数据可以存储于下账系统中,可以通过中间系统读取这两个数据并对两个数据进行比较,若总下账数据小于等于总上账数据,则判定通过。也就是说,若数据记录系统通过中间系统基于下账系统中的总下账数据和上账系统中的总上账数据进行计算,确定总上账数据大于等于总下账数据,则确定操作判定结果为通过。
[0077] 在一种具体的实施方式中,还可以通过下账系统、上账系统进行判定,无需中间系统。确定操作判定结果为不通过对总上账数据和总下账数据的对比可以通过安全多方计算的协议实现,在比对过程中,上账系统无需获取总下账数据,下账系统无需获取总上账数据。下账系统存储有总下账数据i,上账系统存储有总上账数据j。下账系统和上账系统需要判定究竟是 i<=j 呢还是 i>j,但都不让对方读取自己的数。具体地,假设 i 与 j 的范围为 [1, 10]。上账系统有一个公开密钥Eb与私有密钥Db。下账系统选择一个大随机数x,并用上账系统的公开密钥加密:c = Eb(x)。下账系统计算 c‑i,并传送给上账系统;上账系统计算下面的 10个数:Yu=Db(c‑i+u)  , u[1, 10],并取一个大素数 p (p 比 x 稍小,上账系统不知道x,但下账系统可以告诉上账系统 x 的大小范围),计算:Zu=Yu mod p  , u属于[1, 10];这里需要验证:对所有的 u 下式成立: 0= 2,如果不成立,选择另一个p,重新计算;上账系统将以下数列发给下账系统:{Z1, Z2,  ... , Zi, Zj+1+1, Zj+2+1, ... Z10+1 };下账系统验证这个数列的第 i 个数是否与 x mod p 相同,如果相同,则 i<=j, 否则, i>j。因此,在上账系统、下账系统中的数据已经是同态加密数据的基础上,上账系统、下账系统还可以互不读取对方实际存储的同态加密数据,使得该数据记录系统在数据处理过程中可以对操作数据进行双重保密处理。
[0078] 基于操作判定结果为不通过,数据记录系统可以撤销一切基于目标解密数据的计算,包括撤销目标解密数据和历史下账数据的相加运算,具体而言,当前下账系统存储的总下账数据和接收到目标解密数据之前的下账系统存储的总下账数据一致。
[0079] 需要注意的是,本申请不对数据记录系统的功能作限定。在步骤S206中的数据为推荐评分变化数据、积分操作数据的实施方式中,数据记录系统还可以包括中间系统、加分系统和扣分系统,分别对应于上述实施方式中的中间系统、上账系统和下账系统。在其他一些可选的实施方式中,数据记录系统还可以包括正数系统、负数系统和中间系统,正数系统用于统计数据的增加,负数系统用于统计数据的减少,两个系统相互独立且互为保密关系,即正数系统不读取负数系统中的数据,且负数系统也不读取正数系统的数据。其中,中间系统用于向正数系统和负数系统读取数据,并基于对数据的分析确定操作判定结果。在此实施方式中,需要通过中间系统读取两个存储系统的数据,因此只需加强中间系统的访问保密等级即可实现对数据的整体性保密;并且,无论是中间系统、正数系统还是负数系统,它们之中存储或者流通的数据均是经过同态加密之后的数据,数据在处理过程中都是保密、不泄露真实数值的。
[0080] 第二种:
[0081] 在一种具体的实施方式中,操作请求可以是上账请求,当目标解密数据为上账请求对应的数据时,步骤S211可以包括图4所图示的步骤。
[0082] 下面基于图4进一步阐述步骤S210。图4是本申请实施例所提供的一种加密数据处理方法的第三流程示意图,如图4所图示,包括:
[0083] S401:数据记录系统通过上账系统基于目标解密数据和历史上账数据确定总上账数据;
[0084] S402:数据记录系统确定操作判定结果为通过。
[0085] 在本申请实施例中,为使数据记录系统的保密性增加,数据记录系统可以包含多个子系统,每个子系统具备不同的功能。在步骤S206的操作数据为账户金额操作数据的实施中,只有操作结果是账户金额大于等于零的情况下客户端的操作才具备数据意义和可操作性。当操作请求是上账请求的时候,账户金额增大,因此该操作请求必然具备数据意义。数据记录系统可以基于操作请求为上账请求,通过上账系统通过上账系统基于目标解密数据和历史上账数据确定总上账数据,并直接确定操作判定结果为通过。
[0086] 数据记录系统可以通过上账系统,将目标解密数据和历史上账数据进行同态加密协议预设规定的处理操作,该处理操作的实际明文意义是相加,以得到总下账数据;也就是说,基于目标解密数据和历史上账数据确定的总上账数据,该总上账数据的同态解密数据等于目标解密数据的同态解密数据以及历史下账数据的同态解密数据之和。
[0087] S211:数据记录系统向客户端发送操作判定结果。
[0088] 具体地,操作判定结果可以包括通过和不通过。若客户端接收到的操作判定结果为不通过,则客户端生成操作失败提示,并跳转至重新操作页面。
[0089] 在本申请实施例中,操作数据在交互过程中可以进行三层加密,其中包括同态加密,使得操作记录系统可以在不泄露数据的具体数值的情况下完成判定,在保证数据操作的基本要求的同时,保障数据的保密性。
[0090] 相应地,本申请提供一种加密数据处理装置。图5是本申请实施例所提供的第一种加密数据处理装置的结构示意图。如图5所图示,加密数据处理装置500可以包括:
[0091] 交互请求模块501,用于向数据记录系统发送数据交互请求,所述数据交互请求携带有客户端公钥和账户标识;所述数据交互请求用于请求所述数据记录系统在当前时间段将所述账户标识对应的用户账户和所述客户端进行绑定,并基于所述账号标识向所述客户端发送系统公钥;
[0092] 第一接收模块502,用于接收所述数据记录系统发送的所述系统公钥;
[0093] 操作请求模块503,用于向所述数据记录系统发送数据操作请求,所述数据操作请求携带有账户标识;所述数据操作请求用于请求所述数据记录系统向所述客户端发送所述账户标识对应的用户公钥;
[0094] 第二接收模块504,用于接收所述数据记录系统发送的所述用户公钥;
[0095] 第一加密模块505,用于基于所述用户公钥,对操作数据进行同态加密,得到同态加密数据;
[0096] 第二加密模块506,用于分别基于客户端私钥和所述系统公钥对所述同态加密数据进行加签和加密,得到目标加密数据;
[0097] 发送模块507,用于向所述数据记录系统发送所述目标加密数据;
[0098] 判定模块508,用于接收所述数据记录系统发送的操作判定结果。
[0099] 具体地,在接收客户端发送的客户端公钥之前,交互请求模块501还用于:接收数据记录系统发送的开户请求,开户请求携带有用户关联信息;基于用户关联信息,创建用户账户;生成用户账户对应的用户公钥和用户私钥。
[0100] 相应地,本申请还提供一种加密数据处理装置。图6是本申请实施例所提供的第二种加密数据处理装置的结构示意图。如图6所图示,加密数据处理装置600可以包括:
[0101] 交互请求模块601,用于接收客户端发送的数据交互请求;所述数据交互请求携带有客户端公钥和账户标识;
[0102] 第一发送模块602,用于在当前时间段,将所述账户标识对应的用户账户和所述客户端进行绑定,并基于所述账号标识向所述客户端发送系统公钥;
[0103] 操作请求模块603,用于接收所述客户端发送的数据操作请求,所述数据操作请求携带有账户标识;
[0104] 第二发送模块604,用于向所述客户端发送所述账户标识对应的用户公钥;
[0105] 接收模块605,用于接收所述客户端发送的目标加密数据;
[0106] 解密模块606,用于分别基于所述客户端公钥和系统私钥,对所述目标加密数据进行验签和解密,得到目标解密数据;
[0107] 处理模块607,用于基于所述目标解密数据确定操作判定结果;
[0108] 判定模块608,用于向所述客户端发送操作判定结果。
[0109] 具体地,数据记录系统包括中间系统、上账系统和下账系统,操作请求包括下账请求,当目标解密数据为下账请求对应的数据时,判定模块608用于:通过下账系统基于目标解密数据和历史下账数据确定总下账数据;通过中间系统对下账系统中的总下账数据和上账系统中的总上账数据进行计算,确定操作判定结果。
[0110] 具体地,通过中间系统对下账系统中的总下账数据和上账系统中的总上账数据进行计算,确定操作判定结果,包括:若通过中间系统基于下账系统中的总下账数据和上账系统中的总上账数据进行计算,确定总上账数据大于等于总下账数据,则确定操作判定结果为通过。
[0111] 具体地,数据记录系统包括上账系统,操作请求包括上账请求,当目标解密数据为上账请求对应的数据时,判定模块608用于:通过上账系统基于目标解密数据和历史上账数据确定总上账数据;确定操作判定结果为通过。
[0112] 相应地,本申请实施例提供一种加密数据处理系统,加密数据处理系统可以包括:
[0113] 客户端,用于向数据记录系统发送数据交互请求,所述数据交互请求携带有客户端公钥和账户标识;接收所述数据记录系统发送的系统公钥;向所述数据记录系统发送数据操作请求,所述数据操作请求携带有所述账户标识;接收所述数据记录系统发送的所述用户公钥;基于所述用户公钥,对操作数据进行同态加密,得到同态加密数据;分别基于客户端私钥和所述系统公钥对所述同态加密数据进行加签和加密,得到目标加密数据;向所述数据记录系统发送所述目标加密数据;接收所述数据记录系统发送的操作判定结果。
[0114] 数据记录系统,用于接收客户端发送的所述数据交互请求;在当前时间段,将所述账户标识对应的用户账户和所述客户端进行绑定,并基于所述账号标识向所述客户端发送所述系统公钥;接收所述客户端发送的所述数据操作请求;向所述客户端发送所述账户标识对应的所述用户公钥;接收所述客户端发送的所述目标加密数据;分别基于所述客户端公钥和所述系统私钥,对所述目标加密数据进行验签和解密,得到目标解密数据;基于所述目标解密数据确定所述操作判定结果;向所述客户端发送所述操作判定结果。
[0115] 本申请实施例中的系统与方法实施例基于同样的申请构思。
[0116] 本申请实施例所提供的方法实施例可以在计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图7是本申请实施例提供的加密数据处理方法的服务器的硬件结构框图。如图7所示,该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)710(中央处理器710可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器730,一个或一个以上存储应用程序723或数据722的存储介质720(例如一个或一个以上海量存储设备)。其中,存储器730和存储介质720可以是短暂存储或持久存储。存储在存储介质720的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器710可以设置为与存储介质720通信,在服务器700上执行存储介质720中的一系列指令操作。服务器700还可以包括一个或一个以上电源760,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口740,和/或,一个或一个以上操作系统721,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。
[0117] 输入输出接口740可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器700的通信供应商提供的无线网络。在一个实例中,输入输出接口740包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口740可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
[0118] 本领域普通技术人员可以理解,图7所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器700还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。
[0119] 本申请实施提供一种存储介质,存储介质可设置于服务器之中以保存用于实现方法实施例中加密数据处理方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述加密数据处理方法。
[0120] 具体地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于包括:U盘、只读存储器(ROM,Read‑only Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0121] 在本发明中,除非另有明确的规定和限定,术语“相连”、“连接”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的相连或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0122] 需要说明的是:上述本申请实施例的先后顺序仅仅为了描述,不代表实施例的优劣,且上述本说明书对特定的实施例进行了描述,其他实施例也在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或者步骤可以按照不同的实施例中的顺序来执行并且能够实现预期的结果。另外,在附图中描绘的过程不一定要求示出特定顺序或者而连接顺序才能够实现期望的结果,在某些实施方式中,多任务并行处理也是可以的或者可能是有利的。
[0123] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的均为与其他实施例的不同之处。尤其,对于装置/系统的实施例而言,由于其基于相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0124] 以上是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。