本发明涉及数据安全传输,尤其涉及一种数据传输方法、装置、设备、存储介质和程序产品。
背景技术:
1、工业物联网(iiot)是指在不同行业的工业系统中实现实时监测、远程监控和智能管理的技术,随着工业物联网技术的不断发展,工业物联网平台和工业智能网关发挥着越来越重要的作用,两者之间不断融合发展。
2、目前,工业网关侧和平台侧进行数据传输的过程中,为了保证数据传输安全,通常采用在工业网关上预置静态对称密钥的方式实现数据传输,工业网关侧使用预置密钥加密上报数据,平台侧收到数据后使用相同密钥解密数据,完成数据加密安全传输。
3、然而,发明人发现现有技术至少存在如下问题:密钥预置需要先在平台侧生成对称密钥,再将对称密钥复制到工业网关上,预置流程耗时长,效率低。并且,预置密钥在工业网关上只能以明文保存,容易泄密,一旦泄密将造成数据传输过程的信息失窃。
技术实现思路
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、对称密钥生成模块,用于采用对称加密算法生成随机对称密钥;
69、加密数据包生成模块,用于采用所述公钥和消息摘要算法对所述随机对称密钥进行加密,生成加密数据包,并发送给所述第一网关,以使所述第一网关采用所述私钥和所述消息摘要算法对所述加密数据包进行解密得到随机对称密钥,并对所述随机对称密钥进行可信度验证;
70、第二数据传输模块,用于当接收到所述第一网关在可信度验证通过后发送的正常响应信息时,在与所述第一网关进行目标数据传输的过程中,采用所述随机对称密钥对所述目标数据进行加解密。
71、本发明实施例还提供了一种数据传输设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任意一项所述的数据传输方法。
72、本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述任意一项所述的数据传输方法。
73、本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或所述计算机指令被处理器执行时实现如上述任意一项所述的数据传输方法。
74、与现有技术相比,本发明公开的数据传输方法、装置、设备、存储介质和程序产品,在第一网关和第二网关之间基于非对称加密算法和消息摘要算法构建安全通道,基于该安全通道,第一网关和第二网关自动协商出基于对称加密算法的随机对称密钥,确保了第一网关和第二网关之间协商随机对称密钥过程的安全性,保证了生成加密密钥的随机性和不确定性,防止被篡改数据。并且本发明无需在网关上预置密钥,节省了人力成本,提高了效率,采用该随机对称密钥对传输的数据进行加解密,有效地提高了网关之间数据传输的安全性,提高了外来方对数据破解的难度。