数据加解密方法、装置、处理器及电子设备与流程

未命名 07-22 阅读:84 评论:0


1.本发明涉及数据加解密领域,具体而言,涉及一种数据加解密方法、装置、处理器及电子设备。


背景技术:

2.相关技术在交易数据加解密时,长期使用单种密钥,存在的交易过程安全性较低的技术问题。
3.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本发明实施例提供了一种数据加解密方法、装置、处理器及电子设备,以至少解决相关技术在交易数据加解密时,长期使用单种密钥,造成的交易过程安全性较低的技术问题。
5.根据本发明实施例的一个方面,提供了一种数据加密方法,包括:接收目标对象的交易数据发送请求,其中,所述交易数据发送请求中携带有待加密交易数据;响应于所述交易数据发送请求,依据协商密钥加密所述待加密交易数据,得到加密交易数据,其中,所述协商密钥依据响应于所述目标对象的交易操作后得到的服务端随机数与客户端随机数确定;发送所述加密交易数据至服务端。
6.可选地,所述接收目标对象的交易数据发送请求之前,还包括:接收所述目标对象的所述交易操作;响应于所述交易操作,获取客户端随机数;依据加密公钥对所述客户端随机数进行加密,获取加密客户端随机数;发送获取协商密钥请求至所述服务端,其中,所述获取协商密钥请求中携带有所述加密客户端随机数,以使所述服务端依据与所述加密公钥对应的解密私钥对所述加密客户端随机数进行解密,生成服务端随机数与服务器随机数哈希值,依据所述客户端随机数与所述服务端随机数确定所述协商密钥,并发送所述协商密钥至客户端;接收所述服务端发送的协商密钥。
7.可选地,所述响应于所述交易操作,获取客户端随机数,包括:响应于所述交易操作,发送获取公钥请求至服务端,其中,所述获取公钥请求用于获取加密公钥以及加密公钥签名,所述加密公钥签名为所述服务端依据签名私钥对所述加密公钥进行签名得到的;接收所述服务端发送的所述加密公钥与所述加密公钥签名;依据与所述加密公钥签名对应的验签公钥对所述加密公钥进行验签,得到验签结果;在所述验签结果为验签成功的情况下,获取所述客户端随机数。
8.可选地,所述响应于所述交易数据发送请求,依据协商密钥加密所述待加密交易数据,得到加密交易数据,包括:在所述待加密交易数据为多字段交易数据的情况下,依据预定拼接规则,拼接所述多字段交易数据,得到拼接待加密交易数据;依据所述协商密钥加密所述拼接待加密交易数据,得到所述加密交易数据。
9.根据本发明实施例的一个方面,提供了一种数据解密方法,包括:接收客户端发送
的加密交易数据;确定与所述加密交易数据对应的服务器随机数哈希值;确定与所述服务器随机数哈希值对应的协商密钥,其中,所述协商密钥依据响应于目标对象的交易操作后得到的服务器随机数与客户端随机数确定;依据所述协商密钥解密所述加密交易数据,得到解密交易数据。
10.可选地,所述接收客户端发送的加密交易数据之前,还包括:接收所述客户端发送的获取协商密钥请求,其中,所述获取协商密钥请求中携带有加密客户端随机数,所述加密客户端随机数为所述客户端依据加密公钥对客户端随机数进行加密得到的,所述客户端随机数响应于所述目标对象的交易操作后得到;依据与所述加密公钥对应的解密私钥对所述加密客户端随机数进行解密,得到客户端随机数;生成服务端随机数与服务器随机数哈希值;依据所述客户端随机数与所述服务端随机数,确定所述协商密钥;发送所述协商密钥至所述客户端。
11.可选地,所述接收所述客户端发送的获取协商密钥请求,包括:接收所述客户端发送的获取公钥请求,其中,所述获取公钥请求用于获取加密公钥以及加密公钥签名;响应于所述获取公钥请求,依据签名私钥对所述加密公钥进行签名,得到所述加密公钥签名;发送所述加密公钥与所述加密公钥签名至所述客户端;在验签结果为验签成功的情况下,接收所述客户端发送的所述获取协商密钥请求,其中,所述验签结果为所述客户端依据与所述签名私钥对应的验签公钥对所述加密公钥签名进行验签得到的验签结果。
12.可选地,所述依据所述协商密钥解密所述加密交易数据,得到解密交易数据之后,还包括:在所述加密交易数据为多字段交易数据拼接后加密的交易数据的情况下,依据预定拼接规则,还原所述解密交易数据,得到所述多字段交易数据。
13.根据本发明实施例的一个方面,提供了一种数据加密装置,包括:第一接收模块,用于接收目标对象的交易数据发送请求,其中,所述交易数据发送请求中携带有待加密交易数据;加密模块,用于响应于所述交易数据发送请求,依据协商密钥加密所述待加密交易数据,得到加密交易数据,其中,所述协商密钥依据响应于所述目标对象的交易操作后得到的服务端随机数与客户端随机数确定;发送模块,用于发送所述加密交易数据至服务端。
14.根据本发明实施例的一个方面,提供了一种数据解密装置,包括:第二接收模块,用于接收客户端发送的加密交易数据;第一确定模块,用于确定与所述加密交易数据对应的服务器随机数哈希值;第二确定模块,用于确定与所述服务器随机数哈希值对应的协商密钥,其中,所述协商密钥依据响应于目标对象的交易操作后得到的服务器随机数与客户端随机数确定;解密模块,用于依据所述协商密钥解密所述加密交易数据,得到解密交易数据。
15.根据本发明实施例的一个方面,提供了一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行上述任一项所述的数据加密方法,以及上述任一项所述的数据解密方法。
16.根据本发明实施例的一个方面,提供了一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述一项所述的数据加密方法,以及上述任一项所述的数据解密方法。
17.在本发明实施例中,接收携带有待加密交易数据的目标对象的交易数据发送请
求,响应于交易数据发送请求,依据协商密钥加密待加密交易数据,得到加密交易数据,并发送加密交易数据至服务器。由于协商密钥依据响应于目标对象的交易操作后得到的服务端随机数与客户端随机数确定的,即每次目标对象进行交易操作后得到的,能够做到一次一密,保证了交易过程中的安全性,解决了相关技术在交易数据加解密时,长期使用单种密钥,造成的交易过程安全性较低的技术问题。
附图说明
18.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
19.图1是根据本发明实施例的数据加密方法的流程图;
20.图2是根据本发明实施例的数据解密方法的流程图;
21.图3是本发明可选实施方式提供的流程交互图;
22.图4是根据本发明实施例的数据加密装置的结构框图;
23.图5是根据本发明实施例的数据解密装置的结构框图;
24.图6是根据本发明实施例提供的电子设备的示意图。
具体实施方式
25.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
26.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样依据的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
27.首先,在对本技术实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
28.form表单:表单是由窗体和控件组成的,一个表单一般应该包含用户填写信息的输入框,提交按钮等,这些输入框,按钮叫做控件,表单很像容器,能够容纳各种各样的控件。
29.submit方法:javascript方法中的一种函数,称submit函数,submit()函数用于为每个匹配元素的submit事件绑定处理函数。
30.sm2:sm2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法。
31.需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过
各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有交互,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
32.实施例
33.根据本发明实施例,提供了一种数据加密方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
34.图1是根据本发明实施例的数据加密方法的流程图,如图1所示,该方法包括如下步骤:
35.步骤s102,接收目标对象的交易数据发送请求,其中,交易数据发送请求中携带有待加密交易数据;
36.在本技术提供的步骤s102中,目标对象的交易数据发送请求可以是目标对象填完交易数据后,进行的点击发送操作或者其他操作后,接收到的交易数据发送请求,需要先对待加密交易数据进行加密,以保证交易数据在传输过程中的安全性。
37.步骤s104,响应于交易数据发送请求,依据协商密钥加密待加密交易数据,得到加密交易数据,其中,协商密钥依据响应于目标对象的交易操作后得到的服务端随机数与客户端随机数确定;
38.在本技术提供的步骤s104中,协商密钥是一种对称密钥,可以用协商密钥来加密待加密交易数据,得到加密交易数据,由于协商密钥是依据响应于目标对象的交易操作后得到的服务端随机数与客户端随机数确定的,可知,每次目标对象进行交易操作后,都会得到不同的协商密钥,做到了一次一密,加强了数据保护的安全性。
39.其中,目标对象的交易操作可以是打开交易网页,或者打开交易应用等的操作,在目标对象执行交易操作后,目标对象才能够写入交易数据,写完交易数据后并发送后,接收到目标对象的交易数据发送请求。
40.步骤s106,发送加密交易数据至服务端。
41.在本技术提供的步骤s106中,将加密交易数据发送至服务端,以使服务端解密上述加密交易数据,得到解密数据。
42.通过上述步骤,接收携带有待加密交易数据的目标对象的交易数据发送请求,响应于交易数据发送请求,依据协商密钥加密待加密交易数据,得到加密交易数据,并发送加密交易数据至服务器,达到了加密并发送加密交易数据的目的。由于协商密钥依据响应于目标对象的交易操作后得到的服务端随机数与客户端随机数确定的,即每次目标对象进行交易操作后得到的,能够做到一次一密,保证了交易过程中的安全性,解决了相关技术在交易数据加解密时,长期使用单种密钥,造成的交易过程安全性较低的技术问题。
43.作为一种可选的实施例,接收目标对象的交易数据发送请求之前,还包括:接收目标对象的交易操作;响应于交易操作,获取客户端随机数;依据加密公钥对客户端随机数进行加密,获取加密客户端随机数;发送获取协商密钥请求至服务端,其中,获取协商密钥请求中携带有加密客户端随机数,以使服务端依据与加密公钥对应的解密私钥对加密客户端随机数进行解密,生成服务端随机数与服务器随机数哈希值,依据客户端随机数与服务端
随机数确定协商密钥,并发送协商密钥至客户端;接收服务端发送的协商密钥。
44.在该实施例中,客户端响应于目标对象的交易操作,即可获取客户端随机数。在获取客户端随机数后,可以使用加密公钥对客户端随机数进行加密后,将加密客户端随机数发送至服务端,以使得客户端随机数在传输过程中是安全的,且服务端也能够解密得到到该客户端随机数。
45.在服务端接收到加密客户端随机数的情况下,用与加密公钥对应的解密私钥对加密客户端随机数进行解密,得到客户端随机数。可以设置在成功得到客户端随机数的情况下,再生成服务端随机数与服务器随机数哈希值,以依据客户端随机数与服务端随机数确定出协商密钥。在服务端确定出协商密钥后,服务端还可以发送协商密钥至客户端,以使得客户端服务端均包括该协商密钥,客户端能够用协商密钥进行加密操作,服务端能够用协商密钥进行解密操作。保证了整个过程中的安全性与可行性。
46.作为一种可选的实施例,响应于交易操作,获取客户端随机数,包括:响应于交易操作,发送获取公钥请求至服务端,其中,获取公钥请求用于获取加密公钥以及加密公钥签名,加密公钥签名为服务端依据签名私钥对加密公钥进行签名得到的;接收服务端发送的加密公钥与加密公钥签名;依据与加密公钥签名对应的验签公钥对加密公钥进行验签,得到验签结果;在验签结果为验签成功的情况下,获取客户端随机数。
47.在该实施例中,说明了获取公钥与验签的过程,通过发送获取公钥至服务端,向服务端请求获取加密公钥,在获取的过程中,为了保证安全性,同时获取了加密公钥签名,通过对加密公钥签名进行验签,看看验签得到的加密公钥与服务端发送的加密公钥是否相同,在两者相同的情况下,说明验签结果为验签成功,在数据通讯的过程中没有被篡改,因此可以使用该加密公钥,可以生成客户端随机数。通过该步骤,进一步加强了本技术方法的安全性,证明消息在传输过程中是否被掉包,在没有被掉包的情况下,执行获取客户端随机数的步骤。
48.作为一种可选的实施例,响应于交易数据发送请求,依据协商密钥加密待加密交易数据,得到加密交易数据,包括:在待加密交易数据为多字段交易数据的情况下,依据预定拼接规则,拼接多字段交易数据,得到拼接待加密交易数据;依据协商密钥加密拼接待加密交易数据,得到加密交易数据。
49.在该实施例中,说明了在待加密交易数据为多字段交易数据的情况下,拼接多字段交易数据后加密的方法,由于交易数据是容易包括多项的,因此,待加密数据可能为多字段形式的数据,在该情况下,分别对多段待加密交易数据进行加密后传输再解密是较为繁琐的,因此,此时可以先对多字段交易数据进行拼接,得到拼接待加密交易数据,得到拼接待加密交易数据后,依据协商密钥加密拼接待加密交易数据,得到加密交易数据,大大便捷了交易进程。
50.图2是根据本发明实施例的数据解密方法的流程图,如图2所示,该方法包括如下步骤:
51.步骤s202,接收客户端发送的加密交易数据;
52.在本技术提供的步骤s202中,加密交易数据即为客户端依据协商密钥加密待加密数据得到的数据,通过接收加密交易数据而非未加密的交易数据,能够保证交易数据传输过程中的安全性。
53.步骤s204,确定与加密交易数据对应的服务器随机数哈希值;
54.步骤s206,确定与服务器随机数哈希值对应的协商密钥,其中,协商密钥依据响应于目标对象的交易操作后得到的服务器随机数与客户端随机数确定;
55.在本技术提供的步骤s206中,确定了与服务器随机数哈希值对应的协商密钥,因为,服务器随机数哈希值,服务器随机数与客户端随机数是以键值对的形式存储在服务端内存中的,因此,通过服务器随机数哈希值能够调取出对应的服务器随机数与客户端随机数,从而能够确定出对应的协商密钥。保证了解密过程中的安全性。
56.步骤s208,依据协商密钥解密加密交易数据,得到解密交易数据。
57.在本技术提供的步骤s208中,依据协商密钥解密加密交易数据,得到解密交易数据,达到解密加密交易数据的目的。
58.通过上述步骤,接收客户端发送的加密交易数据,确定与加密交易数据对应的服务器随机数哈希值,确定与服务器随机数哈希值对应的协商密钥,依据协商密钥解密加密交易数据,得到解密交易数据,达到了解密的目的。由于协商密钥依据响应于目标对象的交易操作后得到的服务端随机数与客户端随机数确定的,即每次目标对象进行交易操作后得到的,能够做到一次一密,保证了交易过程中的安全性,解决了相关技术在交易数据加解密时,长期使用单种密钥,造成的交易过程安全性较低的技术问题。
59.作为一种可选的实施例,接收客户端发送的加密交易数据之前,还包括:接收客户端发送的获取协商密钥请求,其中,获取协商密钥请求中携带有加密客户端随机数,加密客户端随机数为客户端依据加密公钥对客户端随机数进行加密得到的,客户端随机数响应于目标对象的交易操作后得到;依据与加密公钥对应的解密私钥对加密客户端随机数进行解密,得到客户端随机数;生成服务端随机数与服务器随机数哈希值;依据客户端随机数与服务端随机数,确定协商密钥;发送协商密钥至客户端。
60.在该实施例中,客户端响应于目标对象的交易操作,可获取客户端随机数。在获取客户端随机数后,可以使用加密公钥对客户端随机数进行加密后,客户端将加密客户端随机数发送至服务端,以使得客户端随机数在传输过程中是安全的,且服务端也能够接收到该客户端随机数。
61.在服务端接收到加密客户端随机数的情况下,用与加密公钥对应的解密私钥对加密客户端随机数进行解密,得到客户端随机数。可以设置在成功得到客户端随机数的情况下,再生成服务端随机数与服务器随机数哈希值,以依据客户端随机数与服务端随机数确定出协商密钥。并发送协商密钥至客户端,以使得客户端服务端均包括该协商密钥,客户端能够用协商密钥进行加密操作,服务端能够用协商密钥进行解密操作。保证了整个过程中的安全性与可行性。
62.作为一种可选的实施例,接收客户端发送的获取协商密钥请求,包括:接收客户端发送的获取公钥请求,其中,获取公钥请求用于获取加密公钥以及加密公钥签名;响应于获取公钥请求,依据签名私钥对加密公钥进行签名,得到加密公钥签名;发送加密公钥与加密公钥签名至客户端;在验签结果为验签成功的情况下,接收客户端发送的获取协商密钥请求,其中,验签结果为客户端依据与签名私钥对应的验签公钥对加密公钥签名进行验签得到的验签结果。
63.在该实施例中,说明了客户端获取公钥与验签的过程,客户端通过发送获取公钥
至服务端,向服务端请求获取加密公钥,在获取的过程中,为了保证安全性,同时获取了加密公钥签名,通过对加密公钥签名进行验签,看看验签得到的加密公钥与服务端发送的加密公钥是否相同,在两者相同的情况下,说明验签结果为验签成功,在数据通讯的过程中没有被篡改,因此客户端可以使用该加密公钥,可以生成客户端随机数。通过该步骤,进一步加强了本技术方法的安全性,证明消息在传输过程中是否被掉包,在没有被掉包的情况下,执行获取客户端随机数的步骤。
64.作为一种可选的实施例,依据协商密钥解密加密交易数据,得到解密交易数据之后,还包括:在加密交易数据为多字段交易数据拼接后加密的交易数据的情况下,依据预定拼接规则,还原解密交易数据,得到多字段交易数据。
65.在该实施例中,说明了在待加密交易数据为多字段交易数据的情况下,拼接多字段交易数据后加密的方法,由于交易数据是容易包括多项的,因此,待加密数据可能为多字段形式的数据,在该情况下,分别对多段待加密交易数据进行加密后传输再解密是较为繁琐的,因此,此时可以先对多字段交易数据进行拼接,得到拼接待加密交易数据,得到拼接待加密交易数据后,依据协商密钥加密拼接待加密交易数据,得到加密交易数据,大大便捷了交易进程。
66.基于上述实施例及可选实施例,提供了一种可选实施方式,下面具体说明。
67.本发明可选实施方式中提供了一种数据加解密方法,其包括两个部分,一个部分为协商密钥的生成部分,一个是使用协商密钥进行加解密的部分,图3是本发明可选实施方式提供的流程交互图,如图3所示,下面对本发明可选实施方式进行介绍。
68.(一)协商密钥生成:
69.s1,接收目标对象的交易操作,其中,交易操作可为用户加载页面操作;
70.s2,响应于交易操作,发送获取公钥请求至服务端,其中,获取公钥请求用于获取加密公钥以及加密公钥签名,加密公钥签名为服务端依据签名私钥对加密公钥进行签名得到的,加密公钥与加密公钥签名可以为sm2加密公钥密钥与签名;
71.s3,服务端接收客户端发送的获取公钥请求;
72.s4,服务端响应于获取公钥请求,依据签名私钥对加密公钥进行签名,得到加密公钥签名;
73.如,服务端得到请求后,获取服务端内存中签名私钥与加密公钥的密钥文件存储路径,使用签名私钥对加密公钥进行签名,得到加密公钥签名。
74.s5,服务端发送加密公钥与加密公钥签名至客户端;
75.s6,客户端接收服务端发送的加密公钥与加密公钥签名;
76.s7,客户端依据与加密公钥签名对应的验签公钥对加密公钥进行验签,得到验签结果;
77.s8,在验签结果为验签成功的情况下,客户端获取客户端随机数;
78.需要说明的是,若验签成功,则客户端可以使用该公钥新建客户端加解密组件对象。
79.s9,客户端依据加密公钥对客户端随机数进行加密,获取加密客户端随机数;
80.s10,客户端发送获取协商密钥请求至服务端,其中,获取协商密钥请求中携带有加密客户端随机数;
81.s11,服务端接收客户端发送的获取协商密钥请求;
82.s12,服务端依据与加密公钥对应的解密私钥对加密客户端随机数进行解密,得到客户端随机数;
83.如,服务端接收到客户端随机数后获取内存中与公钥对应的sm2私钥文件存储路径,将随机数用sm2私钥解密,得到客户端随机数。
84.s13,服务端生成服务端随机数与服务器随机数哈希值;
85.需要说明的是,此时,服务端生成服务端随机数和服务器随机数哈希值,可以将服务器随机数哈希值与客户端和服务端随机数组成键值对,存储在内存中,以便后续直接调取使用。
86.s14,服务端依据客户端随机数与服务端随机数,确定协商密钥;
87.如,将服务器端随机数与客户端随机数传入加密算法,生成协商密钥。将协商密钥写入新建的客户端加解密组件中。
88.s15,服务端发送协商密钥至客户端;
89.s16,客户端接收服务端发送的协商密钥。
90.(二)交易数据加解密:
91.s1,客户端接收目标对象的交易数据发送请求,在待加密交易数据为多字段交易数据的情况下,依据预定拼接规则,拼接多字段交易数据,得到拼接待加密交易数据;
92.如,可以重写客户端form表单submit方法。调用submit函数时新建临时form,将原form表单所有字段按照规则拼接成字符串,并用调用客户端加解密组件对象进行加密后发送到服务器端。
93.s2,客户端依据协商密钥加密拼接待加密交易数据,得到加密交易数据;
94.s3,客户端发送加密交易数据至服务端;
95.s4,服务端接收客户端发送的加密交易数据;
96.如,服务端接收到请求之后,在过滤器链filter链中的起始filter中进行拦截,获取其中加密数据。
97.s5,服务端确定与加密交易数据对应的服务器随机数哈希值;
98.如,使用加密数据作为初始化参数,新建后端解密对象,调用该对象方法获取加密时使用的服务器随机数的哈希值。
99.s6,服务端确定与服务器随机数哈希值对应的协商密钥;
100.如,通过哈希值获取内存中存储的服务器随机数与客户端随机数。
101.s7,依据协商密钥解密加密交易数据,得到解密交易数据。
102.如,使用加密数据、服务器随机数、客户端随机数作为参数,调用后端解密对象中解密方法进行解密,得到form表单所有字段按照规则拼接成字符串。
103.需要说明的是,根据拼接规则,对解密得到的交易数据进行恢复得到多字段交易数据后,可以新建httpservletrequestwrapper对象,通过filter链按照原后端交易流程继续后续步骤,以使得多字段交易数据可见。
104.还需要说明的是,在上述客户端与服务端进行交互的过程中,可以用到客户端加解密组件,服务端加解密组件,以及密码机,可以根据实际的应用与场景,进行具体的交互设定。
105.通过上述可选实施方式,可以达到至少以下几点有益效果:
106.(1)使用具有国密资质的算法sm2,对数据进行加密,满足安全性的要求;
107.(2)针对交易中有多个字段需要加密的情景,将字段拼接后进行一次加密,大幅减少了加解密时间,提高交易响应速度;
108.(3)客户每次进入页面时,前端与后台都会进行协商密钥,保证一次一密,提高安全性。
109.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
110.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
111.根据本发明实施例,还提供了一种用于实施上述数据加密方法的装置,图4是根据本发明实施例的数据加密装置的结构框图,如图4所示,该装置包括:第一接收模块402,加密模块404和发送模块406,下面对该装置进行详细说明。
112.第一接收模块402,用于接收目标对象的交易数据发送请求,其中,交易数据发送请求中携带有待加密交易数据;加密模块404,连接于上述第一接收模块402,用于响应于交易数据发送请求,依据协商密钥加密待加密交易数据,得到加密交易数据,其中,协商密钥依据响应于目标对象的交易操作后得到的服务端随机数与客户端随机数确定;发送模块406,连接于上述加密模块404,用于发送加密交易数据至服务端。
113.此处需要说明的是,上述第一接收模块402,加密模块404和发送模块406对应于实施数据加密方法中的步骤s102至步骤s106,多个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例所公开的内容。
114.根据本发明实施例,还提供了一种用于实施上述数据解密方法的装置,图5是根据本发明实施例的数据解密装置的结构框图,如图5所示,该装置包括:第二接收模块502,第一确定模块504,第二确定模块506和解密模块508,下面对该装置进行详细说明。
115.第二接收模块502,用于接收客户端发送的加密交易数据;第一确定模块504,连接于上述第二接收模块502,用于确定与加密交易数据对应的服务器随机数哈希值;第二确定模块506,连接于上述第一确定模块504,用于确定与服务器随机数哈希值对应的协商密钥,其中,协商密钥依据响应于目标对象的交易操作后得到的服务器随机数与客户端随机数确定;解密模块508,连接于上述第二确定模块506,用于依据协商密钥解密加密交易数据,得到解密交易数据。
116.此处需要说明的是,上述第二接收模块502,第一确定模块504,第二确定模块506和解密模块508对应于实施数据加密方法中的步骤s202至步骤s208,多个模块与对应的步
骤所实现的实例和应用场景相同,但不限于上述实施例所公开的内容。
117.本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述任一项的数据加密方法以及数据解密方法。
118.本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任一项的数据加密方法以及数据解密方法。
119.图6是根据本发明实施例提供的电子设备的示意图,如图6所示,本发明实施例提供了一种电子设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
120.接收目标对象的交易数据发送请求,其中,交易数据发送请求中携带有待加密交易数据;响应于交易数据发送请求,依据协商密钥加密待加密交易数据,得到加密交易数据,其中,协商密钥依据响应于目标对象的交易操作后得到的服务端随机数与客户端随机数确定;发送加密交易数据至服务端。
121.可选地,接收目标对象的交易数据发送请求之前,还包括:接收目标对象的交易操作;响应于交易操作,获取客户端随机数;依据加密公钥对客户端随机数进行加密,获取加密客户端随机数;发送获取协商密钥请求至服务端,其中,获取协商密钥请求中携带有加密客户端随机数,以使服务端依据与加密公钥对应的解密私钥对加密客户端随机数进行解密,生成服务端随机数与服务器随机数哈希值,依据客户端随机数与服务端随机数确定协商密钥,并发送协商密钥至客户端;接收服务端发送的协商密钥。
122.可选地,响应于交易操作,获取客户端随机数,包括:响应于交易操作,发送获取公钥请求至服务端,其中,获取公钥请求用于获取加密公钥以及加密公钥签名,加密公钥签名为服务端依据签名私钥对加密公钥进行签名得到的;接收服务端发送的加密公钥与加密公钥签名;依据与加密公钥签名对应的验签公钥对加密公钥进行验签,得到验签结果;在验签结果为验签成功的情况下,获取客户端随机数。
123.可选地,响应于交易数据发送请求,依据协商密钥加密待加密交易数据,得到加密交易数据,包括:在待加密交易数据为多字段交易数据的情况下,依据预定拼接规则,拼接多字段交易数据,得到拼接待加密交易数据;依据协商密钥加密拼接待加密交易数据,得到加密交易数据。
124.处理器执行程序时实现以下步骤:接收客户端发送的加密交易数据;确定与加密交易数据对应的服务器随机数哈希值;确定与服务器随机数哈希值对应的协商密钥,其中,协商密钥依据响应于目标对象的交易操作后得到的服务器随机数与客户端随机数确定;依据协商密钥解密加密交易数据,得到解密交易数据。
125.可选地,接收客户端发送的加密交易数据之前,还包括:接收客户端发送的获取协商密钥请求,其中,获取协商密钥请求中携带有加密客户端随机数,加密客户端随机数为客户端依据加密公钥对客户端随机数进行加密得到的,客户端随机数响应于目标对象的交易操作后得到;依据与加密公钥对应的解密私钥对加密客户端随机数进行解密,得到客户端随机数;生成服务端随机数与服务器随机数哈希值;依据客户端随机数与服务端随机数,确定协商密钥;发送协商密钥至客户端。
126.可选地,接收客户端发送的获取协商密钥请求,包括:接收客户端发送的获取公钥请求,其中,获取公钥请求用于获取加密公钥以及加密公钥签名;响应于获取公钥请求,依
据签名私钥对加密公钥进行签名,得到加密公钥签名;发送加密公钥与加密公钥签名至客户端;在验签结果为验签成功的情况下,接收客户端发送的获取协商密钥请求,其中,验签结果为客户端依据与签名私钥对应的验签公钥对加密公钥签名进行验签得到的验签结果。
127.可选地,依据协商密钥解密加密交易数据,得到解密交易数据之后,还包括:在加密交易数据为多字段交易数据拼接后加密的交易数据的情况下,依据预定拼接规则,还原解密交易数据,得到多字段交易数据。。本文中的设备可以是服务器、pc、pad、手机等。
128.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收目标对象的交易数据发送请求,其中,交易数据发送请求中携带有待加密交易数据;响应于交易数据发送请求,依据协商密钥加密待加密交易数据,得到加密交易数据,其中,协商密钥依据响应于目标对象的交易操作后得到的服务端随机数与客户端随机数确定;发送加密交易数据至服务端。
129.可选地,接收目标对象的交易数据发送请求之前,还包括:接收目标对象的交易操作;响应于交易操作,获取客户端随机数;依据加密公钥对客户端随机数进行加密,获取加密客户端随机数;发送获取协商密钥请求至服务端,其中,获取协商密钥请求中携带有加密客户端随机数,以使服务端依据与加密公钥对应的解密私钥对加密客户端随机数进行解密,生成服务端随机数与服务器随机数哈希值,依据客户端随机数与服务端随机数确定协商密钥,并发送协商密钥至客户端;接收服务端发送的协商密钥。
130.可选地,响应于交易操作,获取客户端随机数,包括:响应于交易操作,发送获取公钥请求至服务端,其中,获取公钥请求用于获取加密公钥以及加密公钥签名,加密公钥签名为服务端依据签名私钥对加密公钥进行签名得到的;接收服务端发送的加密公钥与加密公钥签名;依据与加密公钥签名对应的验签公钥对加密公钥进行验签,得到验签结果;在验签结果为验签成功的情况下,获取客户端随机数。
131.可选地,响应于交易数据发送请求,依据协商密钥加密待加密交易数据,得到加密交易数据,包括:在待加密交易数据为多字段交易数据的情况下,依据预定拼接规则,拼接多字段交易数据,得到拼接待加密交易数据;依据协商密钥加密拼接待加密交易数据,得到加密交易数据。
132.当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收客户端发送的加密交易数据;确定与加密交易数据对应的服务器随机数哈希值;确定与服务器随机数哈希值对应的协商密钥,其中,协商密钥依据响应于目标对象的交易操作后得到的服务器随机数与客户端随机数确定;依据协商密钥解密加密交易数据,得到解密交易数据。
133.可选地,接收客户端发送的加密交易数据之前,还包括:接收客户端发送的获取协商密钥请求,其中,获取协商密钥请求中携带有加密客户端随机数,加密客户端随机数为客户端依据加密公钥对客户端随机数进行加密得到的,客户端随机数响应于目标对象的交易操作后得到;依据与加密公钥对应的解密私钥对加密客户端随机数进行解密,得到客户端随机数;生成服务端随机数与服务器随机数哈希值;依据客户端随机数与服务端随机数,确定协商密钥;发送协商密钥至客户端。
134.可选地,接收客户端发送的获取协商密钥请求,包括:接收客户端发送的获取公钥请求,其中,获取公钥请求用于获取加密公钥以及加密公钥签名;响应于获取公钥请求,依据签名私钥对加密公钥进行签名,得到加密公钥签名;发送加密公钥与加密公钥签名至客
户端;在验签结果为验签成功的情况下,接收客户端发送的获取协商密钥请求,其中,验签结果为客户端依据与签名私钥对应的验签公钥对加密公钥签名进行验签得到的验签结果。
135.可选地,依据协商密钥解密加密交易数据,得到解密交易数据之后,还包括:在加密交易数据为多字段交易数据拼接后加密的交易数据的情况下,依据预定拼接规则,还原解密交易数据,得到多字段交易数据。
136.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
137.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
138.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
139.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
140.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
141.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
142.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
143.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包
括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
144.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
145.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。

技术特征:
1.一种数据加密方法,其特征在于,包括:接收目标对象的交易数据发送请求,其中,所述交易数据发送请求中携带有待加密交易数据;响应于所述交易数据发送请求,依据协商密钥加密所述待加密交易数据,得到加密交易数据,其中,所述协商密钥依据响应于所述目标对象的交易操作后得到的服务端随机数与客户端随机数确定;发送所述加密交易数据至服务端。2.根据权利要求1所述的方法,其特征在于,所述接收目标对象的交易数据发送请求之前,还包括:接收所述目标对象的所述交易操作;响应于所述交易操作,获取客户端随机数;依据加密公钥对所述客户端随机数进行加密,获取加密客户端随机数;发送获取协商密钥请求至所述服务端,其中,所述获取协商密钥请求中携带有所述加密客户端随机数,以使所述服务端依据与所述加密公钥对应的解密私钥对所述加密客户端随机数进行解密,生成服务端随机数与服务器随机数哈希值,依据所述客户端随机数与所述服务端随机数确定所述协商密钥,并发送所述协商密钥至客户端;接收所述服务端发送的协商密钥。3.根据权利要求2所述的方法,其特征在于,所述响应于所述交易操作,获取客户端随机数,包括:响应于所述交易操作,发送获取公钥请求至服务端,其中,所述获取公钥请求用于获取加密公钥以及加密公钥签名,所述加密公钥签名为所述服务端依据签名私钥对所述加密公钥进行签名得到的;接收所述服务端发送的所述加密公钥与所述加密公钥签名;依据与所述加密公钥签名对应的验签公钥对所述加密公钥进行验签,得到验签结果;在所述验签结果为验签成功的情况下,获取所述客户端随机数。4.根据权利要求1至3中任意一项所述的方法,其特征在于,所述响应于所述交易数据发送请求,依据协商密钥加密所述待加密交易数据,得到加密交易数据,包括:在所述待加密交易数据为多字段交易数据的情况下,依据预定拼接规则,拼接所述多字段交易数据,得到拼接待加密交易数据;依据所述协商密钥加密所述拼接待加密交易数据,得到所述加密交易数据。5.一种数据解密方法,其特征在于,包括:接收客户端发送的加密交易数据;确定与所述加密交易数据对应的服务器随机数哈希值;确定与所述服务器随机数哈希值对应的协商密钥,其中,所述协商密钥依据响应于目标对象的交易操作后得到的服务器随机数与客户端随机数确定;依据所述协商密钥解密所述加密交易数据,得到解密交易数据。6.根据权利要求5所述的方法,其特征在于,所述接收客户端发送的加密交易数据之前,还包括:接收所述客户端发送的获取协商密钥请求,其中,所述获取协商密钥请求中携带有加
密客户端随机数,所述加密客户端随机数为所述客户端依据加密公钥对客户端随机数进行加密得到的,所述客户端随机数响应于所述目标对象的交易操作后得到;依据与所述加密公钥对应的解密私钥对所述加密客户端随机数进行解密,得到客户端随机数;生成服务端随机数与服务器随机数哈希值;依据所述客户端随机数与所述服务端随机数,确定所述协商密钥;发送所述协商密钥至所述客户端。7.根据权利要求6所述的方法,其特征在于,所述接收所述客户端发送的获取协商密钥请求,包括:接收所述客户端发送的获取公钥请求,其中,所述获取公钥请求用于获取加密公钥以及加密公钥签名;响应于所述获取公钥请求,依据签名私钥对所述加密公钥进行签名,得到所述加密公钥签名;发送所述加密公钥与所述加密公钥签名至所述客户端;在验签结果为验签成功的情况下,接收所述客户端发送的所述获取协商密钥请求,其中,所述验签结果为所述客户端依据与所述签名私钥对应的验签公钥对所述加密公钥签名进行验签得到的验签结果。8.根据权利要求5至7中任意一项所述的方法,其特征在于,所述依据所述协商密钥解密所述加密交易数据,得到解密交易数据之后,还包括:在所述加密交易数据为多字段交易数据拼接后加密的交易数据的情况下,依据预定拼接规则,还原所述解密交易数据,得到所述多字段交易数据。9.一种数据加密装置,其特征在于,包括:第一接收模块,用于接收目标对象的交易数据发送请求,其中,所述交易数据发送请求中携带有待加密交易数据;加密模块,用于响应于所述交易数据发送请求,依据协商密钥加密所述待加密交易数据,得到加密交易数据,其中,所述协商密钥依据响应于所述目标对象的交易操作后得到的服务端随机数与客户端随机数确定;发送模块,用于发送所述加密交易数据至服务端。10.一种数据解密装置,其特征在于,包括:第二接收模块,用于接收客户端发送的加密交易数据;第一确定模块,用于确定与所述加密交易数据对应的服务器随机数哈希值;第二确定模块,用于确定与所述服务器随机数哈希值对应的协商密钥,其中,所述协商密钥依据响应于目标对象的交易操作后得到的服务器随机数与客户端随机数确定;解密模块,用于依据所述协商密钥解密所述加密交易数据,得到解密交易数据。11.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至4中任一项所述的数据加密方法,以及如权利要求5至8中任一项所述的数据解密方法。12.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所
述一个或多个处理器实现权利要求1至4中任一项所述的数据加密方法,以及如权利要求5至8中任一项所述的数据解密方法。

技术总结
本发明公开了一种数据加解密方法、装置、处理器及电子设备。涉及数据加解密领域,其中,该方法包括:接收并响应于目标对象的交易数据发送请求,依据协商密钥加密待加密交易数据,得到加密交易数据;发送加密交易数据至服务端。服务端接收客户端发送的加密交易数据;确定与加密交易数据对应的服务器随机数哈希值;确定与服务器随机数哈希值对应的协商密钥;依据协商密钥解密加密交易数据,得到解密交易数据。其中,协商密钥依据响应于目标对象的交易操作后得到的服务器随机数与客户端随机数确定。本发明解决了相关技术在交易数据加解密时,长期使用单种密钥,造成的交易过程安全性较低的技术问题。较低的技术问题。较低的技术问题。


技术研发人员:魏宇旋 武静 夏扬 顾亮
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:2023.03.20
技术公布日:2023/7/20
版权声明

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

飞行汽车 https://www.autovtol.com/

分享:

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

相关推荐