一种数据传输方法、装置、系统及设备与流程

文档序号:28801452发布日期:2022-02-08 23:12阅读:53来源:国知局
一种数据传输方法、装置、系统及设备与流程

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.图1为本发明实施例提供的应用于服务请求方的数据传输方法的流程图;
48.图2为本发明实施例中服务请求方向服务提供方传输私钥密文的流程图;
49.图3为本发明实施例提供的应用于服务提供方的数据传输方法的一种流程图;
50.图4为本发明实施例提供的应用于服务提供方的数据传输方法的另一种流程图;
51.图5为本发明实施例提供的应用于服务提供方的数据传输方法的又一种流程图;
52.图6为本发明实施例提供的数据传输系统的结构示意图;
53.图7为本发明实施例中的系统应用示意图;
54.图8为本发明实施例提供的应用于服务请求方的数据传输装置的一种结构示意图;
55.图9为本发明实施例提供的应用于服务请求方的数据传输装置的另一种结构示意图;
56.图10为本发明实施例提供的应用于服务请求方的数据传输装置的又一种结构示意图;
57.图11为本发明实施例提供的应用于服务提供方的数据传输装置的一种结构示意图;
58.图12为本发明实施例提供的应用于服务提供方的数据传输装置的另一种结构示意图;
59.图13为本发明实施例提供的应用于服务提供方的数据传输装置的又一种结构示意图;
60.图14为本发明实施例提供的应用于服务提供方的数据传输装置的再一种结构示意图;
61.图15为本发明实施例提供的一种电子设备的结构示意图;
62.图16为本发明实施例提供的另一种电子设备的结构示意图。
具体实施方式
63.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本技术所获得的所有其他实施例,都属于本发明保护的范围。
64.本发明实施例提供了一种数据传输方法,应用于服务请求方,可以包括:
65.获得对称密钥;
66.利用对称密钥对业务数据进行加密,得到业务数据密文;
67.计算业务数据密文的哈希值,并利用请求方非对称私钥对业务数据密文的哈希值进行加密,得到业务数据哈希签名数据;其中,请求方非对称私钥是基于服务请求方和服务提供方协商的非对称加密算法而生成的,请求方非对称公钥与请求方非对称私钥是对应的,提供方非对称公钥与提供方非对称私钥是对应的;
68.将业务数据密文和业务数据哈希签名数据发送给服务提供方,以使服务提供方利用请求方非对称公钥对业务数据哈希签名数据进行解密,且解密的哈希值与重新计算得到
的业务数据密文的哈希值一致,则验签通过;继续利用对称密钥对业务数据密文进行解密,得到业务数据。
69.本发明实施例中,在利用对称密钥对业务数据进行加密的同时,还利用请求方非对称私钥对业务数据密文的哈希值进行加密,也即对业务数据密文的哈希值进行签名,是将业务数据密文和业务数据哈希签名数据发送给服务提供方,即是进行加密后的业务数据以及签名后的业务数据密文的哈希值进行传输,如此,能够提高数据传输的安全性。
70.本发明实施例还提供了一种数据传输方法,应用于服务提供方,可以包括:
71.接收服务请求方发送的业务数据密文和业务数据哈希签名数据,其中,业务数据密文是利用对称密钥对业务数据进行加密得到的,业务数据哈希签名数据是利用请求方非对称私钥对业务数据密文的哈希值进行加密得到的;
72.获取请求方非对称公钥;
73.利用请求方非对称公钥对业务数据哈希签名数据进行解密,
74.如果解密成功,则则得到原始的业务数据密文的哈希值;
75.使用同样的哈希算法对业务数据密文计算,得到业务数据密文对应的哈希值;
76.将原始的哈希值与重新计算得到的业务数据密文对应的哈希值进行比对;
77.如果原始的哈希值与重新计算得到的业务数据密文对应的哈希值一致,则验签通过,继续利用对称密钥对业务数据密文进行解密,得到业务数据。
78.本发明实施例中,服务提供方接收到的是业务数据密文和业务数据哈希签名数据,也即是对业务数据密文的哈希值进行加密,如此能够提高数据传输的安全性。且服务提供方可以利用请求方非对称公钥对业务数据哈希签名数据进行解密,也即验签,且在解密后的哈希数据与重新计算业务数据密文的哈希数据一致时,再利用对称密钥对业务数据密文进行解密,得到业务数据,即在验签成功后,再对业务数据密文进行解密,得到业务数据,增加了验签机制,可以防止数据被窃听、篡改和伪造等,进一步提高数据传输的安全性。
79.图1为本发明实施例提供的应用于服务请求方的数据传输方法的流程图。
80.参照图1,本发明实施例提供的应用于服务请求方的数据传输方法可以包括:
81.s101,服务请求方获得对称密钥。
82.一种方式中,服务提供方通过密钥分发接口,向服务提供方发送同步秘钥请求,同步秘钥请求包括服务请求方的标识信息;接收服务提供方反馈的针对标识信息的对称密钥,对称密钥是服务提供方生成的,且服务提供方定期更换对称密钥。
83.标识信息可以为服务请求方的账号信息、端口号、域名或互联网协议(internet protocol,ip)地址,等等。
84.具体地,服务提供方定期生成对称加密算法所使用的对称秘钥并定期更换该对称秘钥,服务提供方提供对称加密算法的秘钥分发接口。服务请求方调用该秘钥分发接口发送同步秘钥请求,请求中带有调用者身份标识(如客户id等),服务提供方使用请求方对应的非对称加密算法的提供方非对称公钥,使用对应的非对称加密算法将对称秘钥进行加密并返回给服务请求方,服务请求方使用己方的非对称私钥,也即请求方非对称私钥解密服务提供方返回的结果,得到对称加密算法秘钥。
85.为了提高对称密钥传输的安全性,本发明实施例提供了一种密钥交换的方式,实现服务请求方将服务提供方生成的对称密钥同步至服务请求方本地。
86.标识信息为账号信息。
87.服务请求方通过密钥分发接口,向服务提供方发送同步秘钥请求,包括:
88.服务请求方利用请求方非对称私钥对账号信息进行加密,得到加密账号信息;通过密钥分发接口,将包括账号信息和加密账号信息的同步秘钥请求发送给服务提供方。
89.服务提供方可以接收服务请求方发送的同步密钥请求;同步密钥请求包括服务请求方的账号信息和加密账号信息,加密账号信息是服务请求方利用请求方非对称私钥对账号信息进行加密得到的;解析同步密钥请求,得到账号信息和加密账号信息;查找本地保存的与账号信息对应的请求方非对称公钥;利用与账号信息对应的请求方非对称公钥,对加密账号信息进行解密,得到解密后的账号信息;查找解密后的账号信息对应的对称密钥;利用请求方非对称公钥对对称密钥进行加密,将加密后的对称密钥返回给服务请求方。
90.服务请求方接收服务提供方返回的加密后的对称密钥;利用请求方非对称私钥对加密后的对称密钥进行解密,得到对称密钥。
91.具体地,服务请求方可以先向服务提供方提出接入申请,服务提供方接收到服务请求方的接入申请后,为服务请求方分配账号,并设置服务请求方的域名和ip地址为授权白名单。
92.服务提供方生成与服务请求方的账号对应的用于数据加密的对称加密算法的对称秘钥,将该对称密钥保存到本地并定期更换。
93.服务提供方可以提供同步对称秘钥的服务接口,即密钥分发接口。
94.服务请求方发起秘钥同步请求,请求参数包括账号信息,使用己方的非对称加密算法的私钥,也即请求方非对称私钥对账户信息进行加密(即签名),并与账号信息一同发送给服务提供方。
95.服务提供方收到接口请求方的秘钥同步请求后,解析请求参数,获取服务请求方的账号,查询本地保存的该账号的对应的对方的请求方非对称公钥,使用该请求方非对称公钥解密加密账号信息,即解密账户信息加密值(即验签),如果解密失败,则终止处理返回错误提示。如果解密成功,查询与账号对应的用于数据加密的对称加密算法的对称秘钥,然后使用对方的非对称加密算法的公钥,也即服务请求方非对称公钥对对称密钥进行加密,然后将签名数据返回给服务请求方。
96.服务请求方获取服务提供方返回的结果,使用己方的非对称加密算法的私钥,也即请求方非对称私钥解密秘钥加密值,如果解密成功得到对称秘钥,如此,对称秘钥同步完成,实现对称密钥的安全同步。
97.另一种可实现方式中,服务请求方可以随机生成对称密钥。这种方式下,可以实现每次进行加密时所使用的对称密钥都不同,降低对称密钥被窃听,具有更高的安全性。
98.s102,服务请求方利用对称密钥对业务数据进行加密,得到业务数据密文。
99.可以采用对称加密算法进行加密,对称加密算法可以包括分组对称加密算法(data encryption standard,des)、3des(三重des)、高级加密标准(英语:advanced encryption standard,aes),国密算法sm1或国密算法sm4,等等。
100.服务请求方与服务提供方可以预先协商用于数据加密的对称加密算法。例如,服务请求方与服务提供方双方建立通信前,先协商用于数据加密的对称加密算法。
101.服务请求方与服务提供方也可以提前协商业务数据加密方式,例如,协商是数据
整体加密,还是按接口字段分别进行加密等。
102.s103,服务请求方计算业务数据密文的哈希值,并利用请求方非对称私钥对业务数据密文的哈希值进行加密,得到业务数据哈希签名数据。
103.其中,请求方非对称私钥是基于服务请求方和服务提供方协商的非对称加密算法而生成的。
104.请求方非对称公钥与请求方非对称私钥是对应的,提供方非对称公钥与提供方非对称私钥是对应的。
105.计算业务数据密文的哈希值可以采用能够实现哈希编码的方式,本发明实施例不对计算哈希值的方式进行限制。
106.可以利用请求方非对称私钥对业务数据密文的哈希值进行非对称加密,非对称加密可以采用任意的非对称加密算法,如rsa(以数学家rivest、shamir和adleman的名字命名的算法)、椭圆曲线加密算法(elliptic curve cryptography)及国密算法sm2等。
107.服务请求方和服务提供方协商非对称加密算法,各自生成非对称公钥和私钥对,并将公钥发送给对方。具体地,双方协商好非对称加密算法后,服务请求方生成请求方非对称公钥和请求方非对称私钥,服务提供方生成提供方非对称公钥和请求方非对称私钥。
108.非对称公钥和私钥即为一对密钥对,也即请求方非对称公钥和请求方非对称私钥是对应的,如果用请求方非对称公钥对数据进行加密,只有用对应的请求方非对称私钥才能解密,如果用请求方非对称私钥对数据进行加密,只有用对应的请求方非对称公钥才能解密。提供方非对称公钥和提供方非对称私钥是对应的,如果用提供方非对称公钥对数据进行加密,只有用对应的提供方非对称私钥才能解密,如果用提供方非对称私钥对数据进行加密,只有用对应的提供方非对称公钥才能解密。
109.可以线下提前进行非对称加密算法的秘钥交换过程,并存储对方的非对称加密算法的公钥到本地数据库或文件系统中,具体地,服务请求方将己方的非对称公钥发送给服务提供方,服务提供方将己方的非对称公钥发送给服务请求方。可以通过邮件等渠道将己方的公钥发给对方,各自收到对方的公钥并进行保存。
110.本发明实施例中,服务请求方与服务提供方可以提前协商哈希校验算法,例如,sha256,或者国标sm3等。
111.s104,服务请求方将业务数据密文和业务数据哈希签名数据发送给服务提供方。
112.通过数据接口,将业务数据密文和业务数据哈希签名数据发送给服务提供方。
113.服务提供方接收到业务数据密文和业务数据哈希签名数据后,可以利用请求方非对称公钥对业务数据哈希签名数据进行解密,且解密的哈希值与重新计算得到的业务数据密文的哈希值一致,则验签通过;继续利用对称密钥对业务数据密文进行解密,得到业务数据。
114.本发明实施例中,在传统对传输数据进行加密处理的基础上,加入秘钥分发及签名校验的机制,在解决数据保密性的同时,也保证了加密秘钥的安全性。
115.一种可选的实施例中,当服务请求方对业务数据进行对称加密所使用的密钥是服务请求方随机生成的对称密钥时,服务提供方并不知晓该对称密钥,故可以将该对称密钥同步给服务提供方。如图2所示,本发明实施例提供的应用于服务请求方的数据传输方法还可以包括:
116.s201,服务请求方获取提供方非对称公钥。
117.可以获取预先保存的提供方非对称公钥。
118.如上述说明,在服务请求方和服务提供方协商好非对称加密算法后,服务提供方可以生成对应的非对称公钥和私钥,服务提供方将己方非对称私钥保存在本地,而将提供方非对称公钥发送给服务请求方。
119.服务请求方在接收到该提供方非对称公钥后,可以将该提供方非对称公钥保存在服务请求方本地,如此,待使用该提供方非对称公钥时,可以从本地获取该提供方非对称公钥。
120.s202,服务请求方利用提供方非对称公钥对对称密钥进行加密,得到秘钥密文。
121.s203,服务请求方将秘钥密文发送给服务提供方。
122.服务请求方同时将业务数据密文、业务数据哈希签名数据和秘钥密文发送给服务提供方。
123.这种情况下,服务提供方可以通过如下方式获得对称密钥:接收服务请求方发送的秘钥密文,秘钥密文是服务请求方利用提供方非对称公钥对随机生成的对称密钥进行加密得到的;利用提供方非对称私钥对秘钥密文进行解密,得到对称密钥。
124.本发明实施例中对对称秘钥进行动态随机生成,防范恶意的第三方对传输数据进行监听和重放攻击,有效保护服务提供方的接口安全和数据安全。
125.图3为本发明实施例提供的应用于服务提供方的数据传输方法的流程图。
126.参照图3,本发明实施例提供的应用于服务提供方的数据传输方法可以包括:
127.s301,服务提供方接收服务请求方发送的业务数据密文和业务数据哈希签名数据。
128.其中,业务数据密文是利用对称密钥对业务数据进行加密得到的,业务数据哈希签名数据是利用请求方非对称私钥对业务数据密文的哈希值进行加密得到的。
129.s302,服务提供方获取请求方非对称公钥。
130.请求方非对称公钥是与请求方非对称私钥是对应的,即只有请求方非对称公钥才能解密请求方非对称私钥加密的内容,只有请求方非对称私钥才能解密请求方非对称公钥加密的内容。
131.服务提供方可以在接收到服务请求方的接口调用请求后,解析请求参数(服务请求方的账号),查询本地保存的对方的非对称加密算法公钥,也即请求方非对称公钥,及账号对应的最新的用于业务数据加密的对称加密算法秘钥,也即对称密钥。
132.s303,服务提供方利用请求方非对称公钥对业务数据哈希签名数据进行解密。
133.如果解密失败,终止本次调用处理,也可以理解终止本次服务请求过程;如果解密成功,则执行s304。
134.s304,服务提供方得到原始的业务数据密文的哈希值。
135.s305,服务提供方使用同样的哈希算法对业务数据密文计算,得到业务数据密文对应的哈希值。
136.其中,同样的哈希算法指的是得到业务数据密文的哈希值所使用的哈希算法相同的哈希算法。
137.s306,服务提供方将原始的哈希值与重新计算得到的业务数据密文对应的哈希值
进行比对。
138.如果解密的哈希数据与计算业务数据密文的哈希数据不一致,终止本次调用处理,也可以理解终止本次服务请求过程;如果哈希数据一致,则验签通过,执行s307。
139.s307,服务提供方继续利用对称密钥对业务数据密文进行解密,得到业务数据。
140.即首先对服务请求方发送的数据进行验签,使用服务请求方的非对称加密算法的公钥,也即请求方非对称公钥对签名数据解密。如果解密成功,即表明验签成功;如果解密失败,处理终止并将提示信息返回给服务请求方。如果解密成功,比对解密后的数据与重新计算业务数据加密值的哈希数据,以校验数据完整性和一致性,如果数据不一致则处理终止,并将提示信息返回给服务请求方。
141.在比对解密后的哈希数据与重新计算业务数据加密值的哈希数据一致时,也即验证数据完整性后,继续获得对称密钥进行后续的解密。
142.当对称密钥是服务提供方生成后同步给服务请求方的,则服务提供方可以获取服务提供方的标识信息,根据该标识信息查找标识信息对应的对称密钥。
143.当对称密钥是服务请求方随机生成的,则服务提供方接收服务请求方发送的秘钥密文,秘钥密文是服务请求方利用提供方非对称公钥对随机生成的对称密钥进行加密得到的;服务提供方利用提供方私钥对私钥密文进行解密,得到对称密钥。
144.使用对称加密算法解密业务数据,如果解密失败,则处理终止,并将提示信息返回给服务请求方;如果解密成功,则进行业务逻辑处理。
145.处理完成后用同样的秘钥对业务处理得到的结果数据进行对称加密。
146.在图3所示实施例基础上,在s307之后,本发明实施例提供的应用于服务提供方的数据传输方法,如图4所示,还可以包括:
147.s401,服务提供方针对业务数据进行逻辑处理,得到业务数据对应的结果数据。
148.具体的逻辑处理可以根据业务数据的请求参数来确定。
149.s402,服务提供方利用对称密钥对结果数据进行加密,得到结果数据密文。
150.s403,服务提供方计算结果数据密文的哈希值,并利用提供方非对称私钥对结果数据密文的哈希值进行加密,得到结果数据哈希签名数据。
151.s404,服务提供方将结果数据密文和结果数据哈希签名数据返回给服务请求方。
152.服务提供方对结果数据处理的方式类似于服务请求方对业务数据处理的方式,具体参照上述图1实施例中服务请求方对业务数据处理的过程即可。
153.服务提供方将结果数据密文和结果数据哈希签名数据返回给服务请求方之后,服务请求方可以对结果数据密文和结果数据哈希签名数据进行处理,以得到结果数据。在图1所示实施例基础上,本发明实施例提供的应用于服务请求方的数据传输方法,如图5所示,还可以包括:
154.s501,服务请求方接收服务提供方发送的结果数据密文和结果数据哈希签名数据,其中,结果数据密文是利用对称密钥对结果数据进行加密得到的,结果数据是服务提供方针对业务数据进行逻辑处理得到的;
155.s502,服务请求方利用提供方非对称公钥对结果数据哈希签名数据的密文进行解密。
156.如果解密失败,处理终止本次调用处理,也可以理解终止本次服务请求过程。;如
果解密成功,则执行s503。
157.s503,服务请求方得到原始的哈希值。
158.s504,服务请求方使用同样的哈希算法对结果数据密文计算哈希值,得到结果数据密文对应的哈希值。
159.s505,如果原始的哈希值与重新计算得到的结果数据密文对应哈希值一致,则继续利用对称密钥对结果数据密文进行解密,得到结果数据。
160.服务请求方获取返回结果后,解析返回数据。具体地,先对返回结果进行验签,使用服务提供方的提供方非对称公钥对结果数据哈希签名数据解密,如果解密成功,即表明验签成功,如果解密失败,处理终止本次调用处理,也可以理解终止本次服务请求过程。如果解密成功,比对解密后的哈希数据与计算结果数据密文的哈希数据,以校验数据完整性,如果数据不一致则终止本次调用处理。
161.也即,如果结果解密的哈希数据与计算结果数据密文的哈希数据不一致,则终止本次调用处理,也即终止本次服务请求过程;如果解密的哈希数据与计算的结果数据密文的哈希数据一致,则继续利用对称密钥对结果数据密文进行解密,得到结果数据。
162.使用本次请求时对应的对称加密算法的秘钥解密业务处理结果密文数据,解密失败,则终止本次调用处理。解密成功,进行后续业务处理后,本次接口调用处理完成。
163.本发明实施例中,接口交互双方(服务请求方和服务提供方)通信前协商加密算法,各自生成非对称公钥和私钥对,并将公钥发送给对方;服务请求方调用接口前,随机生成对称秘钥,对业务数据进行加密,同时使用对方非对称公钥,也即提供方非对称公钥对对称秘钥进行加密处理,最后对整个报文数据计算哈希值并使用己方私钥,也即服务请求方私钥签名。服务请求方将业务数据的密文,对称加密算法的秘钥密文和报文哈希的签名数据发送给服务提供方;服务提供方解析请求数据,使用己方的私钥解密对称秘钥,进而解密业务数据,同时使用对方的公钥对报文数据进行验签及哈希校验。整个数据传输过程中业务数据和秘钥都经过加密处理,保证数据安全,同时加入验签机制,防范数据被窃听、篡改和伪造。
164.本发明实施例还提供了一种数据传输系统,如图6所示,可以包括:服务请求方601和服务提供方602。
165.服务请求方601,用于获得对称密钥;利用对称密钥对业务数据进行加密,得到业务数据密文;计算业务数据密文的哈希值,并利用请求方非对称私钥对业务数据密文的哈希值进行加密,得到业务数据哈希签名数据;其中,请求方非对称私钥是基于服务请求方601和服务提供方602协商的非对称加密算法而生成的,请求方非对称公钥与请求方非对称私钥是对应的,提供方非对称公钥与提供方非对称私钥是对应的;将业务数据密文和业务数据哈希签名数据发送给服务提供方602,以使服务提供方602利用请求方非对称公钥对业务数据哈希签名数据进行解密,且解密的哈希值与重新计算得到的业务数据密文的哈希值一致,则验签通过;继续利用对称密钥对业务数据密文进行解密,得到业务数据;
166.服务提供方602,用于接收服务请求方601发送的业务数据密文和业务数据哈希签名数据,其中,业务数据密文是利用对称密钥对业务数据进行加密得到的,业务数据哈希签名数据是利用请求方非对称私钥对业务数据密文的哈希值进行加密得到的;获取请求方非对称公钥;利用请求方非对称公钥对业务数据哈希签名数据进行解密,如果解密成功,则得
到原始的业务数据密文的哈希值;使用同样的哈希算法对业务数据密文计算,得到业务数据密文对应的哈希值;将原始的哈希值与重新计算得到的业务数据密文对应的哈希值进行比对;如果原始的哈希值与重新计算得到的业务数据密文对应的哈希值一致,则验签通过,继续利用对称密钥对业务数据密文进行解密,得到业务数据。
167.本发明实施例中服务请求方601和服务提供方602可以通过接口来实现通信。服务请求方可以称之为接口请求方,服务提供方可以称之为接口服务提供方。如图7所示,
168.接口请求方使用对方的公钥,也即提供方非对称公钥对业务数据进行对称加密的密钥,也即对称密钥进行非对称加密,得到秘钥密文。
169.接口请求方使用密钥,也即对称密钥对业务数据进行加密,得到加密后的业务数据。
170.接口请求方对业务数据密文的哈希值,也可以是加密后的业务数据的哈希值进行签名,具体地使用请求方非对称私钥进行非对称加密,得到签名数据,也即哈希值的密文。
171.接口服务提供方接收到接口请求方发送的秘钥密文,利用己方非对称私钥进行非对称解密,得到对称密钥,使用该对称密钥对加密后的业务数据进行解密,得到业务数据。同时,接口服务提供方可以进行签名验证,即对接收到接口请求方发送的哈希值的密文进行非对称验签,实现哈希校验,以校验数据的完整性。
172.本发明实施例提供了一种互联网环境下接口数据安全传输的方法,规避数据被窃听、篡改、伪造的风险,保障接口传输过程中的数据安全。
173.本发明实施例提供的数据传输系统是应用上述数据传输方法的系统,则上述数据传输方法的所有实施例均适用于该系统,且均能达到相同或相似的有益效果。
174.对应于上述实施例提供的应用于服务请求方的数据传输方法,本发明实施例提供了一种数据传输装置,应用于服务请求方,如图8所示,包括:
175.获得模块801,用于获得对称密钥;
176.第一加密模块802,用于利用对称密钥对业务数据进行加密,得到业务数据密文;
177.计算模块803,用于计算业务数据密文的哈希值;
178.第二加密模块804,用于利用请求方非对称私钥对业务数据密文的哈希值进行加密,得到业务数据哈希签名数据;其中,请求方非对称私钥是基于服务请求方和服务提供方协商的非对称加密算法而生成的,请求方非对称公钥与请求方非对称私钥是对应的,提供方非对称公钥与提供方非对称私钥是对应的;
179.发送模块805,用于将业务数据密文和业务数据哈希签名数据发送给服务提供方,以使服务提供方利用请求方非对称公钥对业务数据哈希签名数据进行解密,且解密的哈希值与重新计算得到的业务数据密文的哈希值一致,则验签通过;继续利用对称密钥对业务数据密文进行解密,得到业务数据。
180.可选的,获得模块801,具体用于通过密钥分发接口,向服务提供方发送同步秘钥请求,同步秘钥请求包括服务请求方的标识信息;接收服务提供方反馈的针对标识信息的对称密钥,对称密钥是服务提供方生成的,且服务提供方定期更换对称密钥。
181.可选的,标识信息为账号信息;
182.获得模块801,具体用于利用请求方非对称私钥对账号信息进行加密,得到加密账号信息;通过密钥分发接口,将包括账号信息和加密账号信息的同步秘钥请求发送给服务
提供方;接收服务提供方返回的加密后的对称密钥;利用请求方非对称私钥对加密后的对称密钥进行解密,得到对称密钥。
183.可选的,获得模块801,具体用于随机生成对称密钥。
184.可选的,如图9所示,装置还包括:
185.获取模块901,用于获取提供方非对称公钥;
186.第三加密模块902,用于利用提供方非对称公钥对对称密钥进行加密,得到秘钥密文;
187.发送模块805,还用于将秘钥密文发送给服务提供方。
188.可选的,如图10所示,装置还包括:
189.接收模块1001,用于在将业务数据密文和业务数据哈希签名数据发送给服务提供方之后,接收服务提供方发送的结果数据密文和结果数据哈希签名数据,其中,结果数据密文是利用对称密钥对结果数据进行加密得到的,结果数据是服务提供方针对业务数据进行逻辑处理得到的;
190.第一解密模块1002,用于利用提供方非对称公钥对结果数据哈希签名数据的密文进行解密;
191.得到模块1003,用于如果解密成功,则得到原始的哈希值;使用同样的哈希算法对结果数据密文计算哈希值,得到结果数据密文对应的哈希值;
192.第二解密模块1004,用于如果原始的哈希值与重新计算得到的结果数据密文对应哈希值一致,则继续利用对称密钥对结果数据密文进行解密,得到结果数据。
193.本发明实施例提供的数据传输装置是应用上述应用于服务请求方的数据传输方法的装置,则上述应用于服务请求方的数据传输方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
194.对应于上述应用于服务提供方的数据传输方法,本发明实施例还提供了一种数据传输装置,应用于服务提供方,如图11所示,包括:
195.第一接收模块1101,用于接收服务请求方发送的业务数据密文和业务数据哈希签名数据,其中,业务数据密文是利用对称密钥对业务数据进行加密得到的,业务数据哈希签名数据是利用请求方非对称私钥对业务数据密文的哈希值进行加密得到的;
196.第一获取模块1102,用于获取请求方非对称公钥;
197.第一解密模块1103,用于利用请求方非对称公钥对业务数据哈希签名数据进行解密,
198.得到模块1104,用于如果解密成功,则得到原始的业务数据密文的哈希值;使用同样的哈希算法对业务数据密文计算,得到业务数据密文对应的哈希值;
199.比对模块1105,用于将原始的哈希值与重新计算得到的业务数据密文对应的哈希值进行比对;
200.第二解密模块1106,用于如果原始的哈希值与重新计算得到的业务数据密文对应的哈希值一致,则验签通过,继续利用对称密钥对业务数据密文进行解密,得到业务数据。
201.可选的,如图12所示,装置还包括:
202.第二获取模块1201,用于获取服务提供方的标识信息;
203.第二解密模块1106,具体用于查找标识信息对应的对称密钥。
interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
226.通信接口用于上述电子设备与其他设备之间的通信。
227.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
228.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
229.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的应用于服务请求方的数据传输方法的方法步骤。
230.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的应用于服务提供方的数据传输方法的方法步骤。
231.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的应用于服务请求方的数据传输方法的方法步骤。
232.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的应用于服务提供方的数据传输方法的方法步骤。
233.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
234.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖
非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
235.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统、装置、电子设备、计算机可读存储介质以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
236.以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1