一种数据加密传输方法及装置、设备和存储介质与流程

文档序号:21037339发布日期:2020-06-09 20:29阅读:266来源:国知局
一种数据加密传输方法及装置、设备和存储介质与流程

本申请实施例涉及电子技术,涉及但不限于一种数据加密传输方法及装置、设备和存储介质。



背景技术:

智能网关软探针是智能网关中的一款预置插件,主要在用户侧实时监测网络和业务质量,为排障和质量保障提供真实可靠的数据。智能网关软探针会通过开机,周期,实时、告警、网络探测接口将采集的数据上报到软探针监测平台,智能网关软探针与软探针监测平台之间采用http(hypertexttransferprotocol,超文本传输协议)协议进行交互。

但是,http协议以明文方式发送内容,不提供任何方式的数据加密。这就导致了,如果攻击者截取了软探针和软探针前置机之间的传输报文,就可以直接读取其中的信息,导致用户数据泄露,存在极大的安全隐患。



技术实现要素:

有鉴于此,本申请实施例为解决现有技术中存在的至少一个问题而提供一种数据加密传输方法及装置、设备和存储介质。

本申请实施例的技术方案是这样实现的:

第一方面,本申请实施例提供一种数据加密传输方法,应用于第一设备,所述方法包括:

利用第一会话密钥对第一传输数据进行加密,获得第二传输数据;所述第一会话密钥是通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法确定的;

利用第二会话密钥确定所述第二传输数据的第一mac码(messageauthenticationcode,消息认证码);所述第二会话密钥是通过所述第一共享数据和所述密钥协商接口中的安全报文mac算法确定的;

将所述第二传输数据和所述第二传输数据的第一mac码发送给第二设备。

本申请实施例中,所述利用第一会话密钥对传输数据进行加密之前,所述方法还包括:

向第二设备发送服务器证书获取请求;

利用ca(certificationauthority,认证机构)根证书验证所述服务器证书的合法性,获取验证结果;

当所述验证结果为合法时,随机生成第一共享数据,所述第一共享数据用于对所述传输数据进行加密。

本申请实施例中,所述利用第一会话密钥对传输数据进行加密之前,所述方法还包括:

利用第二设备的公钥对获取的第一指定数据进行加密,得到第二指定数据;所述第二设备的公钥是从所述服务器证书中获取的,所述指定数据包含所述第一共享数据和第一设备所在网关的网关数据;

利用签名信息和第一设备的私钥,对所述第二指定数据进行签名,得到第三指定数据,所述第三指定数据包括第二指定数据和签名;

将所述第三指定数据发送给第二设备。

本申请实施例中,所述签名信息包括:所述网关的设备id(identity,身份标识号)、第一设备的版本、第一设备的时间和第二设备的时间。

本申请实施例中,所述利用第一会话密钥对传输数据进行加密之前,所述方法还包括:

接收第二设备发送的第四指定数据的mac码,其中,所述第四指定数据为解密后的第二指定数据;

利用所述第二会话密钥确定所述第一指定数据的mac码;

当第一指定数据的mac码与所述第四指定数据的mac码相同时,密钥协商成功,其中,所述密钥协商成功表示所述第一设备和所述第二设备开始进行数据传输。

本申请实施例中,所述方法还包括:

通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法,确定所述第一会话密钥;或者,通过预先生成的第一共享数据、密钥协商接口中的安全报文加密算法和对分散参数采用的aes(advancedencryptionstandard,高级加密标准)-ecb(electroniccodebook,电码本)算法,确定所述第一会话密钥的;

通过所述第一共享数据和密钥协商接口中的安全报文mac算法确定所述第二会话密钥;或者,通过所述第一共享数据、密钥协商接口中的安全报文mac算法和对分散参数采用的aes-ecb算法,确定所述第二会话密钥。

第二方面,本申请实施例提供一种数据加密传输方法,应用于第二设备,所述方法包括:

接收第一设备发送的第二传输数据和第二传输数据的第一mac码;

获取密钥协商接口中的第二共享数据;

利用第三会话密钥确定所述第二传输数据的第二mac码;所述第三会话密钥是通过所述第二共享数据和所述密钥协商接口中的安全报文mac算法确定的;

当所述第一mac码与所述第二mac码相同时,对接收的第二传输数据进行解密。

本申请实施例中,所述方法还包括:

当所述第一mac码与所述第二mac码不同时,进行密钥协商,重新确定第一mac码和第二mac码。

本申请实施例中,所述接收第一设备发送的第二传输数据和第二传输数据的第一mac码之前,所述方法还包括:

接收第一设备发送的第三指定数据,所述第三指定数据中包括第二指定数据和签名;

使用第一设备的公钥对所述签名进行验证;

当所述签名验证成功后,利用第二设备的私钥对所述第二指定数据进行解密,得到第二共享数据和第四指定数据,其中,所述第四指定数据是解密后的第二指定数据。

本申请实施例中,所述接收第一设备发送的第二传输数据和第二传输数据的第一mac码之前,所述方法还包括:

利用所述第二共享数据和密钥协商接口中的安全报文加密算法生成安全报文加密密钥和安全报文mac密钥;

设置所述安全报文加密密钥和所述安全报文mac密钥的失效时间;

当所述安全报文加密密钥和所述安全报文mac密钥失效时,进行密钥协商,重新确定安全报文加密密钥和安全报文mac密钥。

本申请实施例中,所述接收第一设备发送的第二传输数据和第二传输数据的第一mac码之前,所述方法还包括:

利用所述第三会话密钥确定所述第四指定数据的mac码;

将所述第四指定数据的mac码发送给第一设备。

本申请实施例中,所述方法还包括:

通过所述第二共享数据和密钥协商接口中的安全报文mac算法,确定所述第三会话密钥;或者,通过所述第二共享数据、密钥协商接口中的安全报文mac算法和对分散参数采用的aes-ecb算法,确定所述第三会话密钥。

第三方面,本申请实施例提供一种数据加密传输装置,应用于第一设备,所述装置包括:加密单元、第一确定单元和发送单元,其中:

所述加密单元,用于利用第一会话密钥对第一传输数据进行加密,获得第二传输数据;所述第一会话密钥是通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法确定的;

所述第一确定单元,用于利用第二会话密钥确定所述第二传输数据的第一mac码;所述第二会话密钥是通过所述第一共享数据和所述密钥协商接口中的安全报文mac算法确定的;

所述发送单元,用于将所述第二传输数据和所述第二传输数据的第一mac码发送给第二设备。

本申请实施例中,所述装置还包括:

请求单元,用于向第二设备发送服务器证书获取请求;

验证单元,用于利用ca根证书验证所述服务器证书的合法性,获取验证结果;

生成单元,用于当所述验证结果为合法时,随机生成第一共享数据,所述第一共享数据用于对所述传输数据进行加密。

本申请实施例中,所述装置还包括:

指定数据加密单元,用于利用第二设备的公钥对获取的第一指定数据进行加密,得到第二指定数据;所述第二设备的公钥是从所述服务器证书中获取的,所述指定数据包含所述第一共享数据和第一设备所在网关的网关数据;

签名单元,用于利用签名信息和第一设备的私钥,对所述第二指定数据进行签名,得到第三指定数据,所述第三指定数据包括第二指定数据和签名;

第一指定数据发送单元,用于将所述第三指定数据发送给第二设备。

本申请实施例中,所述签名信息包括:所述网关的设备id、第一设备的版本、第一设备的时间和第二设备的时间。

本申请实施例中,所述装置还包括:

第一指定数据接收单元,用于接收第二设备发送的第四指定数据的mac码,其中,所述第四指定数据为解密后的第二指定数据;

第一指定数据确定单元,用于利用所述第二会话密钥确定所述第一指定数据的mac码;

协商单元,用于当第一指定数据的mac码与所述第四指定数据的mac码相同时,密钥协商成功,其中,所述密钥协商成功表示所述第一设备和所述第二设备开始进行数据传输。

本申请实施例中,所述装置还包括:

第一密钥确定单元,用于通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法,确定所述第一会话密钥;或者,通过预先生成的第一共享数据、密钥协商接口中的安全报文加密算法和对分散参数采用的aes-ecb算法,确定所述第一会话密钥的;

第二密钥确定单元,用于通过所述第一共享数据和密钥协商接口中的安全报文mac算法确定所述第二会话密钥;或者,通过所述第一共享数据、密钥协商接口中的安全报文mac算法和对分散参数采用的aes-ecb算法,确定所述第二会话密钥。

第四方面,本申请实施例提供一种数据加密传输装置,应用于第二设备,所述装置包括:接收单元、获取单元、第二确定单元和处理单元,其中:

所述接收单元,用于接收第一设备发送的第二传输数据和第二传输数据的第一mac码;

所述获取单元,用于获取密钥协商接口中的第二共享数据;

所述第二确定单元,用于利用第三会话密钥确定所述第二传输数据的第二mac码;所述第三会话密钥是通过所述第二共享数据和所述密钥协商接口中的安全报文mac算法确定的;

所述处理单元,用于当所述第一mac码与所述第二mac码相同时,对接收的第二传输数据进行解密。

本申请实施例中,所述装置还包括:

处理子单元,用于当所述第一mac码与所述第二mac码不同时,进行密钥协商,重新确定第一mac码和第二mac码。

本申请实施例中,所述装置还包括:

第二指定数据接收单元,用于接收第一设备发送的第三指定数据,所述第三指定数据中包括第二指定数据和签名;

指定数据验证单元,用于使用第一设备的公钥对所述签名进行验证;

解密单元,用于当所述签名验证成功后,利用第二设备的私钥对所述第二指定数据进行解密,得到第二共享数据和第四指定数据,其中,所述第四指定数据是解密后的第二指定数据。

本申请实施例中,所述装置还包括:

密钥生成单元,用于利用所述第二共享数据和密钥协商接口中的安全报文加密算法生成安全报文加密密钥和安全报文mac密钥;

设置单元,用于设置所述安全报文加密密钥和所述安全报文mac密钥的失效时间;

判断单元,用于当所述安全报文加密密钥和所述安全报文mac密钥失效时,进行密钥协商,重新确定安全报文加密密钥和安全报文mac密钥。

本申请实施例中,所述装置还包括:

第二指定数据确定单元,用于利用所述第三会话密钥确定所述第四指定数据的mac码;

第二指定数据发送单元,用于将所述第四指定数据的mac码发送给第一设备。

本申请实施例中,所述装置还包括:

第三会话密钥确定单元,用于通过所述第二共享数据和密钥协商接口中的安全报文mac算法,确定所述第三会话密钥;或者,通过所述第二共享数据、密钥协商接口中的安全报文mac算法和对分散参数采用的aes-ecb算法,确定所述第三会话密钥。

第五方面,本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述数据加密传输方法中的步骤。

第六方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上所述数据加密传输方法中的步骤。

本申请实施例提供一种数据加密传输方法及装置、设备和存储介质,利用第一会话密钥对第一传输数据进行加密,获得第二传输数据;所述第一会话密钥是通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法确定的;利用第二会话密钥确定所述第二传输数据的第一mac码;所述第二会话密钥是通过所述第一共享数据和所述密钥协商接口中的安全报文mac算法确定的;将所述第二传输数据和所述第二传输数据的第一mac码发送给第二设备;接收第一设备发送的第二传输数据和第二传输数据的第一mac码;获取密钥协商接口中的第二共享数据;利用第三会话密钥确定所述第二传输数据的第二mac码;所述第三会话密钥是通过所述第二共享数据和所述密钥协商接口中的安全报文mac算法确定的;当所述第一mac码与所述第二mac码相同时,对接收的第二传输数据进行解密,如此,能够保证数据在传输过程中的安全性。

附图说明

图1a为本申请实施例数据加密传输方法的实现流程示意图一;

图1b为本申请实施例数据加密传输方法的实现流程示意图二;

图2a为本申请实施例密钥协商方法的实现流程示意图;

图2b为本申请实施例数据交互方法的实现流程示意图;

图3a为本申请实施例数据加密传输装置的组成结构示意图一;

图3b为本申请实施例数据加密传输装置的组成结构示意图二;

图4为本申请实施例数据加密传输设备的一种硬件实体示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对申请的具体技术方案做进一步详细描述。以下实施例仅用于说明本申请,不用于限制本申请的范围。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

本申请实施例提供一种数据加密传输方法,该方法应用于计算设备,该方法所实现的功能可以通过服务器中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该服务器至少包括处理器和存储介质。所述方法应用于第一电子设备,图1a为本申请实施例数据加密传输方法的实现流程示意图一,如图1a所示,所述方法包括:

步骤s101、利用第一会话密钥对第一传输数据进行加密,获得第二传输数据;所述第一会话密钥是通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法确定的;

步骤s102、利用第二会话密钥确定所述第二传输数据的第一mac码;所述第二会话密钥是通过所述第一共享数据和所述密钥协商接口中的安全报文mac算法确定的;

步骤s103、将所述第二传输数据和所述第二传输数据的第一mac码发送给第二设备。

本申请实施例中,通过利用第一会话密钥对第一传输数据进行加密,获得第二传输数据;所述第一会话密钥是通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法确定的;利用第二会话密钥确定所述第二传输数据的第一mac码;所述第二会话密钥是通过所述第一共享数据和所述密钥协商接口中的安全报文mac算法确定的;将所述第二传输数据和所述第二传输数据的第一mac码发送给第二设备,如此,能够保证数据在传输过程中的安全性。

基于上述的实施例,本申请实施例再提供一种数据加密传输方法,该方法应用于计算设备,该方法所实现的功能可以通过服务器中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该服务器至少包括处理器和存储介质。所述方法应用于第二电子设备,图1b为本申请实施例数据加密传输方法的实现流程示意图二,如图1b所示,所述方法包括:

步骤s111、接收第一设备发送的第二传输数据和第二传输数据的第一mac码;

步骤s112、获取密钥协商接口中的第二共享数据;

步骤s113、利用第三会话密钥确定所述第二传输数据的第二mac码;所述第三会话密钥是通过所述第二共享数据和所述密钥协商接口中的安全报文mac算法确定的;

步骤s114、当所述第一mac码与所述第二mac码相同时,对接收的第二传输数据进行解密。

本申请其他实施例中,所述方法还包括:

当所述第一mac码与所述第二mac码不同时,进行密钥协商,重新确定第一mac码和第二mac码。

本申请实施例中,通过接收第一设备发送的第二传输数据和第二传输数据的第一mac码;获取密钥协商接口中的第二共享数据;利用第三会话密钥确定所述第二传输数据的第二mac码;所述第三会话密钥是通过所述第二共享数据和所述密钥协商接口中的安全报文mac算法确定的;当所述第一mac码与所述第二mac码相同时,对接收的第二传输数据进行解密,如此,能够保证数据在传输过程中的安全性。

基于上述的实施例,本申请实施例再提供一种数据加密传输方法,所述方法应用于第一电子设备,所述方法包括:

步骤s121、向第二设备发送服务器证书获取请求;

步骤s122、利用ca根证书验证所述服务器证书的合法性,获取验证结果;

步骤s123、当所述验证结果为合法时,随机生成第一共享数据,所述第一共享数据用于对所述传输数据进行加密;

步骤s124、利用第二设备的公钥对获取的第一指定数据进行加密,得到第二指定数据;所述第二设备的公钥是从所述服务器证书中获取的,所述指定数据包含所述第一共享数据和第一设备所在网关的网关数据;

步骤s125、利用签名信息和第一设备的私钥,对所述第二指定数据进行签名,得到第三指定数据,所述第三指定数据包括第二指定数据和签名;

步骤s126、将所述第三指定数据发送给第二设备。

本申请实施例中,所述签名信息可以包括:所述网关的设备id、第一设备的版本、第一设备的时间和第二设备的时间。

基于上述的实施例,本申请实施例再提供一种数据加密传输方法,所述方法应用于第二电子设备,所述方法包括:

步骤s131、接收第一设备发送的第三指定数据,所述第三指定数据中包括第二指定数据和签名;

步骤s132、使用第一设备的公钥对所述签名进行验证;

步骤s133、当所述签名验证成功后,利用第二设备的私钥对所述第二指定数据进行解密,得到第二共享数据和第四指定数据,其中,所述第四指定数据是解密后的第二指定数据。

步骤s134、利用所述第二共享数据和密钥协商接口中的安全报文加密算法生成安全报文加密密钥和安全报文mac密钥;

步骤s135、设置所述安全报文加密密钥和所述安全报文mac密钥的失效时间;

步骤s136、当所述安全报文加密密钥和所述安全报文mac密钥失效时,进行密钥协商,重新确定安全报文加密密钥和安全报文mac密钥。

步骤s137、利用所述第三会话密钥确定所述第四指定数据的mac码;

步骤s138、将所述第四指定数据的mac码发送给第一设备。

本申请其他实施例中,所述方法还包括:通过所述第二共享数据和密钥协商接口中的安全报文mac算法,确定所述第三会话密钥;或者,通过所述第二共享数据、密钥协商接口中的安全报文mac算法和对分散参数采用的aes-ecb算法,确定所述第三会话密钥。

基于上述的实施例,本申请实施例再提供一种数据加密传输方法,所述方法应用于第一电子设备,所述方法包括:

步骤s141、接收第二设备发送的第四指定数据的mac码,其中,所述第四指定数据为解密后的第二指定数据;

步骤s142、利用所述第二会话密钥确定所述第一指定数据的mac码;

步骤s143、当第一指定数据的mac码与所述第四指定数据的mac码相同时,密钥协商成功,其中,所述密钥协商成功表示所述第一设备和所述第二设备开始进行数据传输。

本申请其他实施例中,所述方法还包括:通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法,确定所述第一会话密钥;或者,通过预先生成的第一共享数据、密钥协商接口中的安全报文加密算法和对分散参数采用的aes-ecb算法,确定所述第一会话密钥的;通过所述第一共享数据和密钥协商接口中的安全报文mac算法确定所述第二会话密钥;或者,通过所述第一共享数据、密钥协商接口中的安全报文mac算法和对分散参数采用的aes-ecb算法,确定所述第二会话密钥。

基于上述的实施例,本申请实施例再提供一种数据加密传输方法,所述方法包括:

步骤s151、第一设备向第二设备发送服务器证书获取请求;

步骤s152、第一设备利用ca根证书验证所述服务器证书的合法性,获取验证结果;

步骤s153、当所述验证结果为合法时,第一设备随机生成第一共享数据,所述第一共享数据用于对所述传输数据进行加密;

步骤s154、第一设备利用第二设备的公钥对获取的第一指定数据进行加密,得到第二指定数据;所述第二设备的公钥是从所述服务器证书中获取的,所述指定数据包含所述第一共享数据和第一设备所在网关的网关数据;

步骤s155、第一设备利用签名信息和第一设备的私钥,对所述第二指定数据进行签名,得到第三指定数据,所述第三指定数据包括第二指定数据和签名;

这里,所述签名信息包括:所述网关的设备id、第一设备的版本、第一设备的时间和第二设备的时间。

步骤s156、第一设备将所述第三指定数据发送给第二设备;

步骤s157、第二设备接收第一设备发送的第三指定数据,所述第三指定数据中包括第二指定数据和签名;

步骤s158、第二设备使用第一设备的公钥对所述签名进行验证;

本申请其他实施例中,所述方法还包括:第二设备将服务器时间戳发送给第一设备;第一设备对第二指定数据进行签名时,使用接收的服务器时间戳;第二设备将签名中携带的服务器时间戳与发送给第一设备的服务器时间戳进行比对;比对成功,则执行步骤s129。

步骤s159、当所述签名验证成功后,第二设备利用自身的私钥对所述第二指定数据进行解密,得到第二共享数据和第四指定数据,其中,所述第四指定数据是解密后的第二指定数据;

步骤s160、第二设备利用所述第二共享数据和密钥协商接口中的安全报文加密算法生成安全报文加密密钥和安全报文mac密钥;

步骤s161、第二设备设置所述安全报文加密密钥和所述安全报文mac密钥的失效时间;

步骤s162、当所述安全报文加密密钥和所述安全报文mac密钥失效时,进行密钥协商,重新确定安全报文加密密钥和安全报文mac密钥;

步骤s163、第二设备利用所述第三会话密钥确定所述第四指定数据的mac码;

步骤s164、第二设备将所述第四指定数据的mac码发送给第一设备;

步骤s165、第一设备接收第二设备发送的第四指定数据的mac码,其中,所述第四指定数据为解密后的第二指定数据;

步骤s166、第一设备利用所述第二会话密钥确定所述第一指定数据的mac码;

步骤s167、当第一指定数据的mac码与所述第四指定数据的mac码相同时,密钥协商成功,其中,所述密钥协商成功表示所述第一设备和所述第二设备开始进行数据传输;

步骤s168、第一设备利用第一会话密钥对第一传输数据进行加密,获得第二传输数据;所述第一会话密钥是通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法确定的;

步骤s169、第一设备利用第二会话密钥确定所述第二传输数据的第一mac码;所述第二会话密钥是通过所述第一共享数据和所述密钥协商接口中的安全报文mac算法确定的;

本申请其他实施例中,所述方法还包括:通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法,确定所述第一会话密钥;或者,通过预先生成的第一共享数据、密钥协商接口中的安全报文加密算法和对分散参数采用的aes-ecb算法,确定所述第一会话密钥的。

本申请其他实施例中,所述方法还包括:通过所述第一共享数据和密钥协商接口中的安全报文mac算法确定所述第二会话密钥;或者,通过所述第一共享数据、密钥协商接口中的安全报文mac算法和对分散参数采用的aes-ecb算法,确定所述第二会话密钥。

步骤s170、第一设备将所述第二传输数据和所述第二传输数据的第一mac码发送给第二设备;

步骤s171、第二设备接收第一设备发送的第二传输数据和第二传输数据的第一mac码;

步骤s172、第二设备获取密钥协商接口中的第二共享数据;

步骤s173、第二设备利用第三会话密钥确定所述第二传输数据的第二mac码;所述第三会话密钥是通过所述第二共享数据和所述密钥协商接口中的安全报文mac算法确定的;

步骤s174、当所述第一mac码与所述第二mac码相同时,第二设备对接收的第二传输数据进行解密;

本申请其他实施例中,所述对接收的第一传输数据进行解密,包括:利用第四会话密钥对第一传输数据进行解密;所述第四会话密钥是通过所述第二共享数据和所述密钥协商接口中的安全报文加密算法确定的。

本申请其他实施例中,所述方法还包括:通过所述第二共享数据和密钥协商接口中的安全报文加密算法,确定所述第四会话密钥;或者,通过所述第二共享数据、密钥协商接口中的安全报文加密算法和对分散参数采用的aes-ecb算法,确定所述第四加密密钥。

本申请其他实施例中,所述方法还包括:通过所述第二共享数据和密钥协商接口中的安全报文mac算法,确定所述第三会话密钥;或者,通过所述第二共享数据、密钥协商接口中的安全报文mac算法和对分散参数采用的aes-ecb算法,确定所述第三会话密钥;

本申请其他实施例中,所述方法还包括:通过所述第二共享数据和密钥协商接口中的安全报文加密算法,确定所述第四会话密钥;或者,通过所述第二共享数据、密钥协商接口中的安全报文加密算法和对分散参数采用的aes-ecb算法,确定所述第四加密密钥。

步骤s175、当所述第一mac码与所述第二mac码不同时,进行密钥协商,重新确定第一mac码和第二mac码。

基于上述的实施例,本申请实施例再提供一种数据加密传输方法,应用于网关软探针和软探针监测平台。所述数据加密传输方法中,新增密钥协商接口,用于在网关软探针和软探针监测平台之间协商安全报文密钥。协商完毕后,数据发送方就可以采用协商的密钥对数据进行加密并计算mac码,然后进行传输。进一步的,数据接收方对接收到的数据mac码进行校验,通过后采用协商的密钥对数据进行解密。因此,所述数据加密传输方法,包括密钥协商方法和数据交互方法。图2a为本申请实施例密钥协商方法的实现流程示意图,如图2a所示,所述方法包括:

步骤s201、软探针向监测平台发送第一密钥协商请求;

这里,所述第一密钥协商请求为请求服务器证书。所述软探针是运行在智能网关上的,可以获取到智能网关的设备id,用来标识唯一性。

步骤s202、监测平台响应所述第一密钥协商请求;

这里,监测平台在响应所述第一密钥协商请求的过程中,将服务器证书、服务器时间戳发送给软探针。

步骤s203、软探针验证服务器证书,生成共享数据并签名;

步骤s204、软探针向监测平台发送第二密钥协商请求;

这里,所述第二密钥协商请求为会话密钥协商请求。

步骤s205、监测平台验证软探针身份,并解密密文,生成会话密钥;

步骤s206、监测平台响应所述第二密钥协商请求;

这里,监测平台在响应所述第二密钥协商请求的过程中,将服务器信息发送给软探针。

步骤s207、软探针验证服务器身份,密钥协商完毕。

上述的密钥协商包括了密钥协商接口1和密钥协商接口2。所述密钥协商接口1的作用是请求服务器证书,所述密钥协商接口2的作用是进行密钥协商,其中,所述密钥协商接口1中的操作包括:

1)软探针向监测平台请求服务器证书;

2)监测平台下发服务器证书和服务器时间戳;

这里,所述服务器证书为rsa2048bit(binarysystem,比特)证书,所述证书的格式为pem格式,其中,所述rsa为一种非对称加密算法,它通常是先生成一对rsa密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。set(secureelectronictransaction,电子安全交易)协议中要求ca采用2048比特长的密钥,其他实体使用1024比特的密钥。rsa密钥长度随着保密级别提高,增加很快。

3)软探针采用内置的ca根证书验证服务器证书合法性,验证失败进行重试,重试3次还是失败则结束;

4)验证成功后进行如下操作:

①生成共享数据(随机生成的48字节共享数据);

这里,所述共享数据的作用是加密。

②使用服务器公钥(从服务器证书获取)对指定数据(包含共享数据)采用rsa/none/oaepwithsha256andmgf1padding算法进行加密;

这里,所述指定数据是每个网关的网关数据。

这里,所述rsa/none/oaepwithsha256andmgf1padding算法的含义是:采用rsa算法,其工作模式为none,其填充方式为oaepwithsha256andmgf1padding。

③使用软探针私钥对设备id,软探针版本,软探针时间,服务器时间,加密数据采用sha256withrsa签名算法进行签名。

这里,sha256安全哈希算法(securehashalgorithm)主要适用于数字签名标准里面定义的数字签名算法;rsa是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击。一般地,sha256withrsa表示用sha算法进行签名,用rsa算法进行加密。

所述密钥协商接口2中的操作包括:

1)软探针向监测平台发送会话密钥协商请求;

2)监测平台收到请求后进行如下操作:

①使用软探针公钥和sha256withrsa算法验证签名;验证失败返回给探针,探针进行重新密钥协商;

②验证服务器时间是否相等;验证失败返回给探针,探针进行重新密钥协商;

这里,验证服务器时间指的是监测平台验证软探针上传的服务器时间,这个时间是协商接口1中平台发给软探针的。

③使用服务器私钥和rsa/none/oaepwithsha256andmgf1padding算法解密数据,获取共享数据;

④生成安全报文加密密钥,算法如下:

keyenc=md5(预共享随机数||sha(‘enc’||预共享随机数||智能网关时间戳||服务器时间戳));

这里,所述enc为安全报文,是一个固定值。

这里,keyenc=md5(预共享随机数||sha(‘enc’||预共享随机数||智能网关时间戳||服务器时间戳))算法的含义是:将‘enc’(一种用于加密的安全报文)、预共享随机书、智能网关时间戳和服务器时间戳拼接成一个第一字符串,然后采用sha算法对第一字符串进行计算得到第二字符串。再将预共享随机数和第二字符串拼接成第三字符串,然后采用md5算法(messagedigestalgorithmmd5,消息摘要算法)对第三字符串进行加密得到最终的安全报文加密密钥(即keyenc)。

⑤生成安全报文mac密钥,算法如下:

keymac=md5(预共享随机数||sha(‘mac’||预共享随机数||智能网关时间戳||服务器时间戳));

这里,keymac=md5(预共享随机数||sha(‘mac’||预共享随机数||智能网关时间戳||服务器时间戳))算法的含义是:将‘mac’、预共享随机书、智能网关时间戳和服务器时间戳拼接成一个第一字符串,然后采用sha算法对第一字符串进行计算得到第二字符串。再将预共享随机数和第二字符串拼接成第三字符串,然后采用md5算法(messagedigestalgorithmmd5,消息摘要算法)对第三字符串进行加密得到最终的安全报文mac密钥(即keymac)。

⑥将安全报文加密密钥和mac密钥缓存,并设置失效时间;

这里,所述失效时间可以设置为24小时,并且,密钥失效后需要重新协商。缓存密钥是为了解决每次交互都去协商密钥而耗时耗资源。

⑦使用安全报文mac密钥通过智能网关时间戳计算出会话密钥,算法如下:

使用安全报文mac密钥采用aes-ecb算法对分散参数进行加密,得到会话密钥;

这里,所述会话密钥的分散参数x为16字节(如不足16字节则先补0x80,如不足16字节则再补0x00至16字节)。可以采用bcd(binary-codeddecimal,二进码十进数)编码将时间戳转换为yyyymmddhhmmss的格式。

⑧使用上述会话密钥采用hmacsha256算法对指定数据计算出mac码;

这里,hmac(hash-basedmessageauthenticationcode,哈希消息认证码)是密钥相关的哈希运算消息认证码,hmac运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。sha256(securehashalgorithm,安全散列算法)是能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。所述hmacsha256算法就是一种跟hmac和sha256相关的加密算法。

⑨监测平台返回验证结果和mac码给软探针;

⑩软探针采用相同的算法验证mac码,验证成功则协商完成,说明服务器正确收到了安全报文密钥,失败则重试。

图2b为本申请实施例数据交互方法的实现流程示意图,如图2b所示,所述方法包括:

步骤s211、探针使用安全报文加密密钥通过智能网关时间戳分散出会话密钥,使用此会话密钥对周期数据进行加密;

这里,探针使用密钥协商接口协商的安全报文加密密钥通过智能网关时间戳分散出会话密钥,使用该会话密钥对周期数据进行加密;会话密钥算法同协商接口中的算法,加密算法为aes/cbc/pkcs5padding,参数iv=0。其中,aes/cbc/pkcs5padding算法的含义是:采用aes算法,工作模式为cbc(cipher-blockchaining,密码分组链接),填充方式为pkcs5padding。

本申请其他实施例中,所述步骤s211、探针使用安全报文加密密钥通过智能网关时间戳分散出会话密钥,使用此会话密钥对周期数据进行加密之前,所述方法还包括:探针发起周期数据上报。这里,以周期上报接口为例,其他接口步骤相同。

步骤s212、探针使用安全报文mac密钥通过智能网关时间戳分散出会话密钥,使用此会话密钥计算周期数据的mac码;

这里,探针使用密钥协商接口协商的安全报文mac密钥通过智能网关时间戳分散出会话密钥,使用该会话密钥计算mac码;会话密钥算法同协商接口中的算法,mac算法为hmacsha256。

步骤s213、探针进行数据上报;

这里,探针发送加密后的周期数据和mac码到监测平台。

步骤s214、监测平台使用安全报文mac密钥通过智能网关时间戳分散出会话密钥,使用会话密钥计算周期数据的mac码;

步骤s215、判断探针计算出的周期数据的mac码与监测平台计算出的周期数据的mac码是否相等;当不相等时,监测平台返回mac码校验失败的信息给软探针;

步骤s216、软探针重新进行密钥协商;

这里,平台使用相同的算法计算mac码,并验证mac码是否相等。相等则进行步骤s217,不相等则进入密钥协商。

步骤s217、当相等时,监测平台使用安全报文加密密钥通过智能网关时间戳分散出会话密钥,使用此会话密钥对周期数据进行解密;

这里,平台使用相同算法对数据进行解密,并处理解密后的数据。

步骤s218、监测平台使用安全报文加密密钥通过智能网关时间戳分散出会话密钥,使用此会话密钥对响应数据进行加密;

这里,平台对返回给探针的数据进行加密,加密使用的算法同上述相同。平台返回给探针的数据,是一些指令数据,比如周期时间等等。

步骤s219、监测平台使用安全报文mac密钥通过智能网关时间戳分散出会话密钥,使用此会话密钥计算响应数据的mac码;

这里,平台对返回给探针的数据计算mac码,计算mac码的算法和上述相同。平台返回给探针的数据,是一些指令配置,比如周期时间等等。

步骤s220、监测平台向软探针发送请求响应;

这里,平台返回加密后数据给探针。

步骤s221、软探针使用安全报文mac密钥通过智能网关时间戳分散出会话密钥,使用此会话密钥计算响应数据的mac码;

这里,探针验证mac码,验证成功后解密返回数据;验证失败进行密钥协商。

步骤s222、判断探针计算出的响应数据的mac码与监测平台计算出的响应数据的mac码是否相等;当不相等时,重新密钥协商;

步骤s223、当不相等时,软探针使用安全报文加密密钥通过智能网关时间戳分散出会话密钥,使用此会话密钥对响应数据进行解密。

本申请实施例中,软探针计算安全报文加密密钥和安全报文mac密钥时,使用的预共享随机数,是由软探针随机生成的。监测平台计算安全报文加密密钥和安全报文mac密钥时,使用的预共享随机数,是通过解密数据获取的。

本申请实施例,提出了软探针与监测平台之间的安全交互方法,请求数据与响应数据均加密传输,避免用户数据泄露。

本申请实施例,提出的密钥协商接口方案,一次协商多次使用,减少每次数据交互时间,减少终端资源消耗;密钥设置失效时间,超过时间重新协商,减少密钥泄露风险。

本申请实施例中,报文加密会话密钥和mac会话密钥是通过安全报文加密和mac密钥对分散参数采用aes-ecb算法加密动态获取,安全性高。

本申请实施例,提出了软探针与监测平台之间的安全交互方法,请求数据与响应数据均加密传输,相比原有的http交互方案更安全可靠,保证数据在传输过程中的安全性。

本申请实施例提供一种数据加密传输装置,应用于第一设备,图3a为本申请实施例数据加密传输装置的组成结构示意图一,如图3a所示,所述装置30包括:加密单元31、第一确定单元32和发送单元33,其中:

所述加密单元31,用于利用第一会话密钥对第一传输数据进行加密,获得第二传输数据;所述第一会话密钥是通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法确定的;

所述第一确定单元32,用于利用第二会话密钥确定所述第二传输数据的第一mac码;所述第二会话密钥是通过所述第一共享数据和所述密钥协商接口中的安全报文mac算法确定的;

所述发送单元33,用于将所述第二传输数据和所述第二传输数据的第一mac码发送给第二设备。

本申请其他实施例中,所述装置还包括:

请求单元,用于向第二设备发送服务器证书获取请求;

验证单元,用于利用ca根证书验证所述服务器证书的合法性,获取验证结果;

生成单元,用于当所述验证结果为合法时,随机生成第一共享数据,所述第一共享数据用于对所述传输数据进行加密。

本申请其他实施例中,所述装置还包括:

指定数据加密单元,用于利用第二设备的公钥对获取的第一指定数据进行加密,得到第二指定数据;所述第二设备的公钥是从所述服务器证书中获取的,所述指定数据包含所述第一共享数据和第一设备所在网关的网关数据;

签名单元,用于利用签名信息和第一设备的私钥,对所述第二指定数据进行签名,得到第三指定数据,所述第三指定数据包括第二指定数据和签名;

第一指定数据发送单元,用于将所述第三指定数据发送给第二设备。

本申请其他实施例中,所述签名信息包括:所述网关的设备id、第一设备的版本、第一设备的时间和第二设备的时间。

本申请其他实施例中,所述装置还包括:

第一指定数据接收单元,用于接收第二设备发送的第四指定数据的mac码,其中,所述第四指定数据为解密后的第二指定数据;

第一指定数据确定单元,用于利用所述第二会话密钥确定所述第一指定数据的mac码;

协商单元,用于当第一指定数据的mac码与所述第四指定数据的mac码相同时,密钥协商成功,其中,所述密钥协商成功表示所述第一设备和所述第二设备开始进行数据传输。

本申请其他实施例中,所述装置还包括:

第一密钥确定单元,用于通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法,确定所述第一会话密钥;或者,通过预先生成的第一共享数据、密钥协商接口中的安全报文加密算法和对分散参数采用的aes-ecb算法,确定所述第一会话密钥的;

第二密钥确定单元,用于通过所述第一共享数据和密钥协商接口中的安全报文mac算法确定所述第二会话密钥;或者,通过所述第一共享数据、密钥协商接口中的安全报文mac算法和对分散参数采用的aes-ecb算法,确定所述第二会话密钥。

基于上述的实施例,本申请实施例再提供一种数据加密传输装置,应用于第二设备,图3b为本申请实施例数据加密传输装置的组成结构示意图二,如图3b所示,所述装置300包括:接收单元301、获取单元302、第二确定单元303和处理单元304,其中:

所述接收单元301,用于接收第一设备发送的第二传输数据和第二传输数据的第一mac码;

所述获取单元302,用于获取密钥协商接口中的第二共享数据;

所述第二确定单元303,用于利用第三会话密钥确定所述第二传输数据的第二mac码;所述第三会话密钥是通过所述第二共享数据和所述密钥协商接口中的安全报文mac算法确定的;

所述处理单元304,用于当所述第一mac码与所述第二mac码相同时,对接收的第二传输数据进行解密。

本申请其他实施例中,所述装置还包括:

处理子单元,用于当所述第一mac码与所述第二mac码不同时,进行密钥协商,重新确定第一mac码和第二mac码。

本申请其他实施例中,所述装置还包括:

第二指定数据接收单元,用于接收第一设备发送的第三指定数据,所述第三指定数据中包括第二指定数据和签名;

指定数据验证单元,用于使用第一设备的公钥对所述签名进行验证;

解密单元,用于当所述签名验证成功后,利用第二设备的私钥对所述第二指定数据进行解密,得到第二共享数据和第四指定数据,其中,所述第四指定数据是解密后的第二指定数据。

本申请其他实施例中,所述装置还包括:

密钥生成单元,用于利用所述第二共享数据和密钥协商接口中的安全报文加密算法生成安全报文加密密钥和安全报文mac密钥;

设置单元,用于设置所述安全报文加密密钥和所述安全报文mac密钥的失效时间;

判断单元,用于当所述安全报文加密密钥和所述安全报文mac密钥失效时,进行密钥协商,重新确定安全报文加密密钥和安全报文mac密钥。

本申请其他实施例中,所述装置还包括:

第二指定数据确定单元,用于利用所述第三会话密钥确定所述第四指定数据的mac码;

第二指定数据发送单元,用于将所述第四指定数据的mac码发送给第一设备。

本申请其他实施例中,所述装置还包括:

第三会话密钥确定单元,用于通过所述第二共享数据和密钥协商接口中的安全报文mac算法,确定所述第三会话密钥;或者,通过所述第二共享数据、密钥协商接口中的安全报文mac算法和对分散参数采用的aes-ecb算法,确定所述第三会话密钥。

这里需要指出的是:以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

本申请实施例中,如果以软件功能模块的形式实现上述的数据加密传输方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、rom(readonlymemory,只读存储器)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。

对应地,本申请实施例提供一种计算机设备,该设备包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现数据加密传输方法中的步骤。

对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现数据加密传输方法中的步骤。

这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

需要说明的是,图4为本申请实施例数据加密传输设备的一种硬件实体示意图,如图4所示,该数据加密传输设备400的硬件实体包括:存储器401、通信总线402和处理器403,其中,

存储器401配置为存储由处理器403可执行的指令和应用,还可以缓存待处理器403以及数据加密传输设备400中各模块待处理或已经处理的数据,可以通过flash(闪存)或ram(randomaccessmemory,随机访问存储器)实现。

通信总线402可以使数据加密传输设备400通过网络与其他终端或服务器通信,还可以实现处理器403和存储器401之间的连接通信。

处理器403通常控制数据加密传输设备400的总体操作。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所描述的方法。

本申请是参照根据本申请实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1