掌桥专利:专业的专利平台
掌桥专利
首页

加密通信的实现方法及装置

文献发布时间:2023-06-19 11:49:09


加密通信的实现方法及装置

技术领域

本发明涉及通信安全技术领域,尤其涉及一种加密通信的实现方法及装置。

背景技术

随着通信技术的快速发展,其除了能够满足人们日常的生活、工作需求之外,也被应用在一些重要领域,例如金融领域、铁路领域、航天领域等,且这些领域对于通信安全性有着非常高的要求,以保证数据传输的安全性。

当前,为了保证数据传输的安全性,通常会对需要传输的数据进行加密。然而,实践发现,当前对需要传输的数据进行加密往往依赖于对现有的网络拓扑结构重新进行设计或者依赖于运营商提供的收费服务,这大大增加了网络部署的复杂度以及使用者的使用成本。

发明内容

本发明提供了一种加密通信的实现方法及装置,能够在不改变原有网络拓扑结构的情况下实现对相应数据的加密,在提高数据传输安全性的同时降低网络布局的复杂度及使用者的使用成本。

为了解决上述技术问题,本发明第一方面公开了一种加密通信的实现方法,所述方法应用于加密网关中,所述加密网关用于部署在实现数据传输的网络拓扑结构所包括的交换机和终端路由器之间,所述方法包括:

所述加密网关在接收到所述交换机发送的第一数据之后,分析所述第一数据得到所述第一数据的数据类型;

所述加密网关根据所述第一数据的数据类型判断是否需要对所述第一数据执行加密操作;当判断出需要对所述第一数据执行加密操作时,根据预先确定出的加密密钥对所述第一数据执行加密操作,得到加密后数据;

所述加密网关将所述加密后数据发送至所述终端路由器。

作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:

所述加密网关在接收到所述终端路由器发送的第二数据之后,判断是否需要对所述第二数据执行解密操作;

当判断出需要对所述第二数据执行解密操作时,所述加密网关根据预先确定出的解密密钥对所述第二数据执行解密操作,得到解密后数据;

所述加密网关将所述解密后数据发送至所述交换机。

作为一种可选的实施方式,在本发明第一方面中,所述加密网关在接收到所述终端路由器发送的第二数据之后,判断是否需要对所述第二数据执行解密操作,包括:

所述加密网关分析所述第二数据得到所述第二数据的数据类型;

所述加密网关根据所述第二数据的数据类型判断是否需要对所述第二数据执行解密操作。

作为一种可选的实施方式,在本发明第一方面中,所述加密网关根据预先确定出的加密密钥对所述第一数据执行加密操作,得到加密后数据,包括:

所述加密网关从所述第一数据中解析出待加密的子数据,并根据预先确定出的加密密钥对所述第一数据中的所述子数据执行加密操作得到加密后的第一数据,作为加密后数据。

作为一种可选的实施方式,在本发明第一方面中,所述加密网关将所述加密后数据发送至所述终端路由器之前,所述方法还包括:

所述加密网关获取所述加密密钥对应的密钥标识;

所述加密网关将所述密钥标识插入至所述加密后数据中的第一预设位置处,以更新所述加密后数据;或者,

所述加密网关对所述密钥标识执行预处理操作得到预处理结果,并将所述预处理结果插入至所述加密后数据中的第一预设位置处,以更新所述加密后数据;

以及,所述加密网关根据预先确定出的解密密钥对所述第二数据执行解密操作,得到解密后数据之前,所述方法还包括:

所述加密网关从所述第二数据的第二预设位置处解析用于确定解密密钥的目标信息,并根据所述目标信息确定所述解密密钥。

作为一种可选的实施方式,在本发明第一方面中,所述加密网关根据预先确定出的加密密钥对所述第一数据执行加密操作,得到加密后数据之前,所述方法还包括:

所述加密网关获取对所述第一数据执行加密操作时所需的加密密钥;

以及,所述加密网关获取对所述第一数据执行加密操作时所需的加密密钥,包括:

从预先获取到的加密密钥集合中随机选择至少一个加密密钥,作为对所述第一数据执行加密操作时所需的加密密钥;或者,

从预先获取到的加密密钥集合中选择历史使用参数满足预设使用条件的至少一个加密密钥,作为对所述第一数据执行加密操作时所需的加密密钥;或者,

从预先获取到的加密密钥集合中选择与所述第一数据的数据属性相匹配的至少一个加密密钥,作为对所述第一数据执行加密操作所需的加密密钥。

作为一种可选的实施方式,在本发明第一方面中,所述加密网关在接收到所述交换机发送的第一数据之后,分析所述第一数据得到所述第一数据的数据类型,包括:

所述加密网关在接收到所述交换机发送的第一数据之后,分析所述第一数据的数据格式,并根据所述第一数据的数据格式确定所述第一数据的数据类型;或者,

所述加密网关在接收到所述交换机发送的第一数据之后,获取所述第一数据的面向对象标识,并根据所述第一数据的面向对象标识确定所述第一数据的数据类型;或者,

所述加密网关在接收到所述交换机发送的第一数据之后,获取所述第一数据的用途标识,并根据所述第一数据的用途标识确定所述第一数据的数据类型。

作为一种可选的实施方式,在本发明第一方面中,所述加密网关将所述加密后数据发送至所述终端路由器之前,所述方法还包括:

所述加密网关判断所述第一数据中除所述子数据之外的剩余子数据是否包括校验子数据;

当判断出所述剩余子数据包括所述校验子数据时,所述加密网关将所述校验子数据更新为计算出的目标校验子数据,以更新所述加密后数据。

本发明实施例第二方面公开了一种加密通信的实现装置,所述装置应用于加密网关中,所述加密网关用于部署在实现数据传输的网络拓扑结构所包括的交换机和终端路由器之间,所述装置包括:

第一接收模块,用于接收所述交换机发送的第一数据;

分析模块,用于分析所述第一数据得到所述第一数据的数据类型;

第一判断模块,用于根据所述第一数据的数据类型判断是否需要对所述第一数据执行加密操作;

加密模块,用于当所述第一判断模块判断出需要对所述第一数据执行加密操作时,根据预先确定出的加密密钥对所述第一数据执行加密操作,得到加密后数据;

第一发送模块,用于将所述加密后数据发送至所述终端路由器。

作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:

第二接收模块,用于接收所述终端路由器发送的第二数据;

第二判断模块,用于判断是否需要对所述第二数据执行解密操作;

解密模块,用于当所述第二判断模块判断出需要对所述第二数据执行解密操作时,根据预先确定出的解密密钥对所述第二数据执行解密操作,得到解密后数据;

第二发送模块,用于将所述解密后数据发送至所述交换机。

作为一种可选的实施方式,在本发明第二方面中,所述第二判断模块判断是否需要对所述第二数据执行解密操作的具体方式为:

分析所述第二数据得到所述第二数据的数据类型;

根据所述第二数据的数据类型判断是否需要对所述第二数据执行解密操作。

作为一种可选的实施方式,在本发明第二方面中,所述加密模块,包括:

解析子模块,用于从所述第一数据中解析出待加密的子数据;

加密子模块,用于根据预先确定出的加密密钥对所述第一数据中的所述子数据执行加密操作得到加密后的第一数据,作为加密后数据。

作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:

第一获取模块,用于在所述第一发送模块将所述加密后数据发送至所述终端路由器之前,获取所述加密密钥对应的密钥标识;

第一更新模块,用于将所述密钥标识插入至所述加密后数据中的第一预设位置处,以更新所述加密后数据;或者,对所述密钥标识执行预处理操作得到预处理结果,并将所述预处理结果插入至所述加密后数据中的第一预设位置处,以更新所述加密后数据;

解析模块,用于在所述解密模块根据预先确定出的解密密钥对所述第二数据执行解密操作,得到解密后数据之前,从所述第二数据的第二预设位置处解析用于确定解密密钥的目标信息,并根据所述目标信息确定所述解密密钥。

作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:

第二获取模块,用于在所述加密模块根据预先确定出的加密密钥对所述第一数据执行加密操作,得到加密后数据之前,获取对所述第一数据执行加密操作时所需的加密密钥;

其中,所述第二获取模块获取对所述第一数据执行加密操作时所需的加密密钥的具体方式为:

从预先获取到的加密密钥集合中随机选择至少一个加密密钥,作为对所述第一数据执行加密操作时所需的加密密钥;或者,

从预先获取到的加密密钥集合中选择历史使用参数满足预设使用条件的至少一个加密密钥,作为对所述第一数据执行加密操作时所需的加密密钥;或者,

从预先获取到的加密密钥集合中选择与所述第一数据的数据属性相匹配的至少一个加密密钥,作为对所述第一数据执行加密操作所需的加密密钥。

作为一种可选的实施方式,在本发明第二方面中,所述分析模块分析所述第一数据得到所述第一数据的数据类型的具体方式为:

分析所述第一数据的数据格式,并根据所述第一数据的数据格式确定所述第一数据的数据类型;或者,

获取所述第一数据的面向对象标识,并根据所述第一数据的面向对象标识确定所述第一数据的数据类型;或者,

获取所述第一数据的用途标识,并根据所述第一数据的用途标识确定所述第一数据的数据类型。

作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:

第三判断模块,用于在所述第一发送模块将所述加密后数据发送至所述终端路由器之前,判断所述第一数据中除所述子数据之外的剩余子数据是否包括校验子数据;

第二更新模块,用于当所述第三判断模块判断出所述剩余子数据包括所述校验子数据时,将所述校验子数据更新为计算出的目标校验子数据,以更新所述加密后数据。

本发明第三方面公开了另一种加密通信的实现装置,所述装置包括:

存储有可执行程序代码的存储器;

与所述存储器耦合的处理器;

所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的任意一种加密通信的实现方法中的部分或全部步骤。

本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的任意一种加密通信的实现方法中的部分或全部步骤。

与现有技术相比,本发明实施例具有以下有益效果:

本发明实施例中,加密网关用于部署在实现数据传输的网络拓扑结构所包括的交换机和终端路由器之间,且加密网关在接收到交换机发送的第一数据之后,分析第一数据得到第一数据的数据类型;加密网关根据第一数据的数据类型判断是否需要对第一数据执行加密操作;当判断出需要对第一数据执行加密操作时,根据预先确定出的加密密钥对第一数据执行加密操作,得到加密后数据;加密网关将加密后数据发送至终端路由器。可见,本发明能够在不改变原有网络拓扑结构以及在用户无感知的情况下实现对相应数据的加密,在提高数据传输安全性的同时降低网络布局的复杂度及使用者的使用成本。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例公开的一种网络拓扑结构的结构示意图;

图2是本发明实施例公开的一种加密网关的结构示意图;

图3是本发明实施例公开的一种加密通信的实现方法的流程示意图;

图4是本发明实施例公开的另一种加密通信的实现方法的流程示意图;

图5是本发明实施例公开的一种加密通信的实现装置的结构示意图;

图6是本发明实施例公开的另一种加密通信的实现装置的结构示意图;

图7是本发明实施例公开的又一种加密通信的实现装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或端没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或端固有的其他步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本发明公开了一种加密通信的实现方法及装置,能够在不改变原有网络拓扑结构以及在用户无感知的情况下实现对相应数据的加密,在提高数据传输安全性的同时降低网络布局的复杂度及使用者的使用成本。以下分别进行详细说明。

为了更好的理解本发明所描述的加密通信的实现方法,首先对本发明描述的方法所适用的应用架构进行描述,本发明所描述的加密通信的实现方法可以应用于加密网关中,且加密网关用于部署在实现数据传输的网络拓扑结构所包括的交换机和终端路由器之间,可选的,该网络拓扑结构可以包括加密网关,其中,本发明所描述的方法所适用的网络拓扑结构可以如图1所示,图1是本发明实施例公开的一种网络拓扑结构的结构示意图。如图1所示,该网络拓扑结构在传统的网络拓扑结构中增加了加密网关,加密网关连接在交换机和终端路由器之间,用户私有网络中的透传数据在发送至IP网络之前,加密网关需要通过密钥对数据加密得到加密后数据,加密后数据经由终端路由器传输到IP网络中。同样的,当终端路由器从IP网络中接收到加密后数据时,加密网关需要对加密后数据进行解密得到解密后数据(又称“透传数据”或“透明数据”)并传输至用户私有网络,这样仅需在交换机和终端路由器之间增加一个能够对数据进行加密、解密的加密网关,在提高数据传输安全性的同时降低网络布局的复杂度及使用者的使用成本且用户无感知。

其中,本发明所描述的加密通信的实现方法所应用的加密网关的结构可以如图2所示,图2是本发明实施例公开的一种加密网关的结构示意图。如图2所示,该加密网关具有两个以太网结构,分别为Uplink Port和Downlink Port,Uplink Port连接终端路由器且用于收发加密后数据,Downlink Port连接交换机且用于收发透传数据。此外,该加密网关还设置有一个Configuration Port,其用于配置对数据进行加密所使用的密钥(也可称为加密密钥),PHY芯片实现以太网数据到FPGA以太网MAC接口的转换,FPGA芯片具体实现对数据的加密处理及解密处理。

其中,Configuration Port具体可以根据一组加密密钥中每个加密密钥的密钥标识(如密钥序号)将具体的密钥值写入加密网关的密钥存储模块中,后续需要对加密后数据进行解密时可以根据相应的密钥标识从密钥存储模块读取相应的密钥值作为解密密钥。可选的,Configuration Port可以使用但不限于SPI、I2C、Wishbone、UART、PCI等中的任意一种。

其中,数据加密过程的数据流向为:Downlink Port→Uplink Port,具体包括以下步骤:

1.用户私有网络的透明数据传输至加密网关的Downlink Port;

2.加密网关的Downlink Port对应的PHY芯片接收到透明数据后,将透明数据转换为以太网MAC接口的形式;

3.FPGA芯片内部的Downlink接收模块将用户的透明数据存储到FIFO中;

4.Downlink数据分类模块读出FIFO中的以太网数据,并对其进行分类。其中,非IP数据传输到透传模块,IP数据传输到加密模块;

5.非IP数据传输到透传模块后,直接进入Uplink发送模块,由Uplink发送模块发送数据;

6.IP数据传输到加密模块后,加密模块根据随机数生成模块产生的随机数序列,在密钥存储模块中取出相应的密钥,对IP数据进行加密。之后再发送到Uplink发送模块,由Uplink发送模块对加密数据成帧(按照加密后的IP数据格式)后发送;

7.Uplink发送模块将加密后数据转换为以太网MAC接口形式,发送到Uplink PHY芯片;

8.Uplink PHY芯片将加密后的数据发送到边缘路由器(也即终端路由器)。

其中,数据解密过程的数据流向为:Uplink Port→Downlink Port,具体包括以下步骤:

1.终端路由器将接收到的数据传输到加密网关的Uplink Port;

2.加密网关的Uplink Port PHY芯片在接收到数据后,将数据转换为以太网MAC接口的形式;

3.FPGA内部的Uplink接收模块将数据存储到FIFO中;

4.Uplink数据分类模块读出FIFO中的以太网数据,并对其进行分类。其中非IP数据传输到透传模块,IP数据传输到密钥提取模块;

5.非IP数据传输到透传模块后,直接进入Downlink发送模块,由Downlink发送模块发送数据;

6.IP数据传输到密钥提取模块后,密钥提取模块根据事先定义的密钥在数据中的位置取出相应的密钥序列号,再根据密钥序列号从密钥存储模块取出相应密钥,由解密模块对数据进行解密。之后再发送到Downlink发送模块,由Downlink发送模块对解密数据成帧后再发送;

7.Downlink发送模块将数据转换为以太网MAC接口的形式并发送到Downlink PHY芯片;

8.Downlink PHY芯片将解密后的数据发送到用户私有网络。

以下对加密网关所执行的具体操作以及模块化结构分别进行详细说明。

实施例一

请参阅图3,图3是本发明实施例公开的一种加密通信的实现方法的流程示意图。其中,图3所描述的方法可以应用于加密网关中,且加密网关用于部署在实现数据传输的网络拓扑结构所包括的交换机和终端路由器之间。如图3所示,该方法可以包括以下操作:

101、加密网关在接收到交换机发送的第一数据之后,分析第一数据得到第一数据的数据类型。

作为一种可选的实施方式,加密网关在接收到交换机发送的第一数据之后,分析第一数据得到第一数据的数据类型,可以包括:

加密网关在接收到交换机发送的第一数据之后,分析第一数据的数据格式,并根据第一数据的数据格式确定第一数据的数据类型;或者,

加密网关在接收到交换机发送的第一数据之后,获取第一数据的面向对象标识,并根据第一数据的面向对象标识确定第一数据的数据类型;或者,

加密网关在接收到交换机发送的第一数据之后,获取第一数据的用途标识,并根据第一数据的用途标识确定第一数据的数据类型。

可见,该可选的实施方式提供了多种用于确定数据类型的确定方式,有利于拓展加密通信实现方法的应用场景,提高了加密通信实现方法的普遍适用性。

102、加密网关根据第一数据的数据类型判断是否需要对第一数据执行加密操作,当步骤102的判断结果为是时,可以触发执行步骤103;当步骤102的判断结果为否时,可以直接将第一数据转发至终端路由器,也可以直接丢弃第一数据。

其中,第一数据的数据类型可以用于表示第一数据为IP数据或非IP数据,当第一数据为IP数据时,则加密网关确定需要对其执行加密操作,当第一数据为非IP数据时,则加密网关确定不需要对其执行加密操作。

对于非IP数据而言,其用于实现用户私有设备(如图2中所示的笔记本、台式机、打印机、扫描仪等)与终端路由器之间的数据交互,实现某些握手协议。此种类型的数据经过加密网关时无需进行加密或解密操作。其中,非IP数据格式如下所示:

对于IP数据而言,其通过终端路由器由用户私有网络传输到IP网络或由IP网络传输到用户私有网络,且IP网络根据数据中的IP头部信息字段进行数据的转发,不关心TCP/UDP数据内容,此种类型的数据经过加密网关时,需要对TCP/UDP数据进行加密或解密,进一步的,还需要重新计算CRC校验字段。其中,IP数据格式如下所示:

通过上述可知,对于用户而言,所有的加密、解密均在加密网关上实现,用户接收或者发送的数据仍然是透传数据(也可称为透明数据),实现了在用户无感知的情况下的加密通信。

103、当判断出需要对第一数据执行加密操作时,加密网关根据预先确定出的加密密钥对第一数据执行加密操作,得到加密后数据。

作为一种可选的实施方式,加密网关根据预先确定出的加密密钥对第一数据执行加密操作,得到加密后数据,可以包括:

加密网关从第一数据中解析出待加密的子数据,并根据预先确定出的加密密钥对第一数据中的子数据执行加密操作得到加密后的第一数据,作为加密后数据。

可见,该可选的实施方式能够在对数据进行加密时只需对需要加密的子数据执行加密操作即可,有利于提高对数据的加密效率,也有利于提高数据接收侧在接收到加密后数据之后对加密后数据进行解密的解密效率。

104、加密网关将加密后数据发送至终端路由器。

本发明实施例中,加密网关将加密后数据发送至终端路由器,以使终端路由器将该加密后数据发送至IP网络中。

可见,本发明实施例能够在不改变原有网络拓扑结构以及在用户无感知的情况下实现对相应数据的加密,在提高数据传输安全性的同时降低网络布局的复杂度及使用者的使用成本。

在一个可选的实施例中,在执行步骤104之前,该方法还可以包括以下操作:

加密网关获取上述加密密钥对应的密钥标识;

加密网关将获取到的密钥标识插入至加密后数据中的第一预设位置处,以更新加密后数据;或者,

加密网关对获取到的密钥标识执行预处理操作得到预处理结果,并将预处理结果插入至加密后数据中的第一预设位置处,以更新加密后数据。

可选的,该预处理操作可以是数据转换操作,以实现对密钥标识的转换。

举例来说,加密网关在发送加密后数据之前,可以先将本次加密所使用的加密密钥的密钥标识(如密钥序号)插入到IP头部信息之后约定好的数据位置,此时,加密后数据的数据格式如下:

可见,该可选的实施例还能够在通过加密密钥对待加密数据进行加密之后,将所使用的加密密钥的密钥标识或者将对密钥标识执行预处理操作之后得到的预处理结果插入到加密后数据中,以便于数据接收侧在接收到该加密后数据之后直接从该加密后数据中获取解密信息,有利于提高对加密后数据进行解密的解密效率及准确率。此外,将对密钥标识执行预处理操作之后的预处理结果插入至加密后数据的方式有利于提高加密密钥的安全性,进而有利于减少加密后数据被恶意窃取后被成功解密的概率,有利于进一步提高数据传输的安全性。

在另一个可选的实施例中,在加密网关根据预先确定出的加密密钥对第一数据执行加密操作,得到加密后数据之前,该方法还可以包括以下操作:

加密网关获取对第一数据执行加密操作时所需的加密密钥。

作为一种可选的实施方式,加密网关获取对第一数据执行加密操作时所需的加密密钥,可以包括:

加密网关从预先获取到的加密密钥集合中随机选择至少一个加密密钥,作为对第一数据执行加密操作时所需的加密密钥。

进一步可选的,加密网关从预先获取到的加密密钥集合中随机选择至少一个加密密钥,作为对第一数据执行加密操作时所需的加密密钥,可以包括:

加密网关生成至少一个随机数,并根据生成的每个随机数从加密密钥集合中分别选择与每个随机数相匹配的加密密钥,作为对第一数据执行加密操作时所需的加密密钥。

在该可选的实施方式中,加密网关中可以预先被配置有加密密钥集合,该加密密钥集合包括至少一个加密密钥,且每个加密密钥均存在与之唯一对应的密钥标识。在需要对数据进行加密时,加密网关可以随机的从加密密钥集合中选择所需的加密密钥,实现了加密密钥的随机切换,有利于提高加密密钥的获取效率,进而有利于提高对数据的加密效率。

作为另一种可选的实施方式,加密网关获取对第一数据执行加密操作时所需的加密密钥,可以包括:

加密网关从预先获取到的加密密钥集合中选择历史使用参数满足预设使用条件的至少一个加密密钥,作为对第一数据执行加密操作时所需的加密密钥。

可选的,历史使用参数可以包括历史使用次数、历史使用频率、最新一次使用时刻等中的至少一种。

进一步的,加密网关从预先获取到的加密密钥集合中选择历史使用参数满足预设使用条件的至少一个加密密钥,作为对第一数据执行加密操作时所需的加密密钥,可以包括:

当历史使用参数包括历史使用次数时,加密网关从预先获取到的加密密钥集合中筛选历史使用次数小于等于使用次数阈值的至少一个加密密钥,作为对第一数据执行加密操作时所需的加密密钥;或者,加密网关对预先获取到的加密密钥集合中每个加密密钥的历史使用次数进行排名,并将排名靠后的至少一个加密密钥,作为对第一数据执行加密操作时所需的加密密钥,其中,排名越靠后,相应加密密钥的历史使用次数就越少;

当历史使用参数包括历史使用频率时,加密网关从预先获取到的加密密钥集合中筛选历史使用频率小于等于使用频率阈值的至少一个加密密钥,作为对第一数据执行加密操作时所需的加密密钥;

当历史使用参数包括最新一次使用时刻时,加密网关从预先获取到的加密密钥集合中筛选最新一次使用时刻距离当前时刻的时长大于等于预先确定出的使用时长阈值的至少一个加密密钥,作为对第一数据执行加密操作时所需的加密密钥。

可见,该可选的实施方式还能够在需要对数据进行加密时,根据加密密钥集合中加密密钥的历史使用参数筛选满足预设使用条件的至少一个加密密钥,能够提高每个加密密钥的使用率,减少某些加密密钥使用过多而某些加密密钥使用过少的情况发生,还能够减少频繁使用某些加密密钥而导致的加密后数据安全性降低的情况发生。

作为又一种可选的实施方式,加密网关获取对第一数据执行加密操作时所需的加密密钥,可以包括:

加密网关从预先获取到的加密密钥集合中选择与第一数据的数据属性相匹配的至少一个加密密钥,作为对第一数据执行加密操作所需的加密密钥。

可选的,第一数据的数据属性可以包括安全需求等级、隐私需求等级、数据大小、数据来源、数据传输至的对象等中的一种或多种的组合。

可见,该可选的实施方式还能够在需要对数据进行加密时,根据需要加密数据的数据属性自适应的匹配相应的加密密钥,有利于提高确定出的加密密钥与需要加密数据的匹配度,进而有利于拓展加密通信实现方法的应用场景。

在上述可选的实施方式中,又进一步可选的,当从加密密钥集合选择出至少两个加密密钥时,对第一数据执行加密操作所需的加密密钥是由加密网关对从加密密钥集合选择出的所有加密密钥执行目标操作之后得到的。

可选的,目标操作可以是密钥拼接操作、密钥逻辑运算操作以及密钥排序操作中的其中一种。

可见,该可选的实施例还能够选择多个加密密钥实现对数据的加密,进一步提高加密后数据的安全性,且还能够先对选择出的多个加密密钥进行相应处理后再对数据进行加密,有利于提高加密密钥的安全性,降低加密密钥被破解的概率,进而有利于提高加密后数据的安全性。

在又一个可选的实施例中,在执行步骤104之前,该方法还可以包括以下操作:

加密网关判断第一数据中除子数据之外的剩余子数据是否包括校验子数据;

当判断出剩余子数据包括校验子数据时,加密网关将校验子数据更新为计算出的目标校验子数据,以更新加密后数据。

可见,该可选的实施例还能够在对需要加密的子数据加密之后且当数据中还包括校验子数据的情况下自动对校验子数据进行更新,有利于在提高数据传输安全性的同时提高校验子数据的准确性。

在又一个可选的实施例中,该方法还可以包括以下操作:

加密网关在接收到终端路由器发送的第二数据之后,判断是否需要对第二数据执行解密操作;

当判断出需要对第二数据执行解密操作时,加密网关根据预先确定出的解密密钥对第二数据执行解密操作,得到解密后数据;

加密网关将解密后数据发送至交换机。

在该可选的实施例中,进一步可选的,加密网关在接收到终端路由器发送的第二数据之后,判断是否需要对第二数据执行解密操作,可以包括:

加密网关分析第二数据得到第二数据的数据类型;

加密网关根据第二数据的数据类型判断是否需要对第二数据执行解密操作。

又进一步可选的,在判断出需要对第二数据执行解密操作之后,加密网关根据预先确定出的解密密钥对第二数据执行解密操作,得到解密后数据之前,该方法还可以包括以下操作:

加密网关从第二数据的第二预设位置处解析用于确定解密密钥的目标信息,并根据目标信息确定解密密钥。

其中,该目标信息可以是密钥标识,也可以是对密钥标识进行预处理操作之后得到的预处理结果,具体可以参照上述具体的数据加密过程。

可见,该可选的实施例还能够通过加密网关对接收到的加密后数据进行解密,解密之后再发送至交换机,在提高数据传输安全性的同时实现用户无感知,且在对加密后数据进行解密时能够直接从加密后数据的相应位置获取到解密密钥的相关信息,有利于提高获取到解密密钥的效率,进而有利于提高对加密后数据进行解密的解密效率。

实施例二

请参阅图4,图4是本发明实施例公开的另一种加密通信的实现方法的流程示意图。其中,图4所描述的方法可以应用于加密网关中,且加密网关用于部署在实现数据传输的网络拓扑结构所包括的交换机和终端路由器之间。如图4所示,该方法可以包括以下操作:

201、加密网关在接收到终端路由器发送的第二数据之后,判断是否需要对第二数据执行解密操作。

202、当判断出需要对第二数据执行解密操作时,加密网关根据预先确定出的解密密钥对第二数据执行解密操作,得到解密后数据。

203、加密网关将解密后数据发送至交换机。

可选的,加密网关在接收到终端路由器发送的第二数据之后,判断是否需要对第二数据执行解密操作,可以包括:

加密网关分析第二数据得到第二数据的数据类型;

加密网关根据第二数据的数据类型判断是否需要对第二数据执行解密操作。

又进一步可选的,在判断出需要对第二数据执行解密操作之后,加密网关根据预先确定出的解密密钥对第二数据执行解密操作,得到解密后数据之前,该方法还可以包括以下操作:

加密网关从第二数据的第二预设位置处解析用于确定解密密钥的目标信息,并根据目标信息确定解密密钥。

可见,本发明实施例能够通过加密网关对接收到的加密后数据进行解密,解密之后再发送至交换机,在提高数据传输安全性的同时实现用户无感知,且在对加密后数据进行解密时能够直接从加密后数据的相应位置获取到解密密钥的相关信息,进而根据解密密钥的相关信息确定解密密钥,有利于提高获取到解密密钥的效率,进而有利于提高对加密后数据进行解密的解密效率。

在另一个可选的实施例中,该方法还可以包括如步骤101-步骤104所描述的步骤,对于每个步骤的相关描述请参照实施例一中的相关描述,本发明实施例不再赘述。

实施例三

请参阅图5,图5是本发明实施例公开的一种加密通信的实现装置的结构示意图。其中,该装置应用于加密网关中,加密网关用于部署在实现数据传输的网络拓扑结构所包括的交换机和终端路由器之间。如图5所示,该装置可以包括:

第一接收模块301,用于接收交换机发送的第一数据。

分析模块302,用于分析第一接收模块301接收到的第一数据得到第一数据的数据类型。

第一判断模块303,用于根据第一数据的数据类型判断是否需要对第一数据执行加密操作。

加密模块304,用于当第一判断模块303判断出需要对第一数据执行加密操作时,根据预先确定出的加密密钥对第一数据执行加密操作,得到加密后数据。

第一发送模块305,用于将加密后数据发送至终端路由器。

可见,实施图5所描述的装置能够在不改变原有网络拓扑结构以及在用户无感知的情况下实现对相应数据的加密,在提高数据传输安全性的同时降低网络布局的复杂度及使用者的使用成本。

在一个可选的实施例中,如图6所示,该装置还可以包括:

第二接收模块306,用于接收终端路由器发送的第二数据。

第二判断模块307,用于判断是否需要对第二数据执行解密操作。

解密模块308,用于当第二判断模块307判断出需要对第二数据执行解密操作时,根据预先确定出的解密密钥对第二数据执行解密操作,得到解密后数据。

第二发送模块309,用于将解密后数据发送至交换机。

在该可选的实施例中,进一步可选的,第二判断模块307判断是否需要对第二数据执行解密操作的具体方式为:

分析第二数据得到第二数据的数据类型;

根据第二数据的数据类型判断是否需要对第二数据执行解密操作。

可见,实施图6所描述的装置还能够通过加密网关对接收到的加密后数据进行解密,解密之后再发送至交换机,在提高数据传输安全性的同时实现用户无感知,且还进一步丰富了加密网关的智能化功能。

在另一个可选的实施例中,如图6所示,加密模块304可以包括:

解析子模块3041,用于从第一数据中解析出待加密的子数据;

加密子模块3042,用于根据预先确定出的加密密钥对第一数据中的子数据执行加密操作得到加密后的第一数据,作为加密后数据。

可见,实施图6所描述的装置还能够在对数据进行加密时只需对需要加密的子数据执行加密操作即可,有利于提高对数据的加密效率,也有利于提高数据接收侧在接收到加密后数据之后对加密后数据进行解密的效率。

在又一个可选的实施例中,如图6所示,该装置还可以包括:

第一获取模块310,用于在第一发送模块305将加密后数据发送至终端路由器之前,获取加密密钥对应的密钥标识。

第一更新模块311,用于将密钥标识插入至加密后数据中的第一预设位置处,以更新加密后数据;或者,对密钥标识执行预处理操作得到预处理结果,并将预处理结果插入至加密后数据中的第一预设位置处,以更新加密后数据。

可见,实施图6所描述的装置还能够在通过加密密钥对待加密数据加密之后,将所使用的加密密钥的密钥标识或者将对密钥标识执行预处理操作之后得到的预处理结果插入到加密后数据中,以便于数据接收侧在接收到该加密后数据之后直接从该加密后数据中获取解密信息,有利于提高对加密后数据进行解密的解密效率及准确率。此外,将对密钥标识执行预处理操作之后的预处理结果插入至加密后数据的方式有利于提高加密密钥的安全性,进而有利于减少加密后数据被恶意窃取后被成功解密的概率,进而有利于进一步提高数据传输的安全性。

进一步可选的,如图6所示,该装置还可以包括:

解析模块312,用于在解密模块308根据预先确定出的解密密钥对第二数据执行解密操作,得到解密后数据之前,从第二数据的第二预设位置处解析用于确定解密密钥的目标信息,并根据目标信息确定解密密钥。

需要说明的是,实施例三中所描述的第二接收模块306、第二判断模块307、解密模块308以及第二发送模块309可以作为一个单独的实施例,进一步的,该实施例还可以包括上述解析模块312。

可见,实施图6所描述的装置还能够在对加密后数据进行解密时直接从加密后数据的相应位置获取到解密密钥的相关信息,有利于提高获取到解密密钥的效率,进而有利于提高对加密后数据进行解密的解密效率。

在又一个可选的实施例中,如图6所示,该装置还可以包括:

第二获取模块313,用于在加密模块304根据预先确定出的加密密钥对第一数据执行加密操作,得到加密后数据之前,获取对第一数据执行加密操作时所需的加密密钥。

可选的,第二获取模块313获取对第一数据执行加密操作时所需的加密密钥的具体方式为:

从预先获取到的加密密钥集合中随机选择至少一个加密密钥,作为对第一数据执行加密操作时所需的加密密钥;或者,

从预先获取到的加密密钥集合中选择历史使用参数满足预设使用条件的至少一个加密密钥,作为对第一数据执行加密操作时所需的加密密钥;或者,

从预先获取到的加密密钥集合中选择与第一数据的数据属性相匹配的至少一个加密密钥,作为对第一数据执行加密操作所需的加密密钥。

可见,实施图6所描述的装置还能够随机的从加密密钥集合中选择所需的加密密钥,实现了加密密钥的随机切换,有利于提高加密密钥的获取效率,进而有利于提高对数据的加密效率,或者,还能够在需要对数据进行加密时,根据加密密钥集合中加密密钥的历史使用参数筛选满足预设使用条件的至少一个加密密钥,能够提高每个加密密钥的使用率,减少某些加密密钥使用过多而某些加密密钥使用过少的情况发生,还能够减少频繁使用某些加密密钥而导致的加密后数据安全性降低的情况发生,或者,还能够在需要对数据进行加密时,根据需要加密数据的数据属性自适应的匹配相应的加密密钥,有利于提高确定出的加密密钥与需要加密数据的匹配度,进而有利于拓展加密通信的实现装置的应用场景。

在又一个可选的实施例中,分析模块302分析第一数据得到第一数据的数据类型的具体方式为:

分析第一数据的数据格式,并根据第一数据的数据格式确定第一数据的数据类型;或者,

获取第一数据的面向对象标识,并根据第一数据的面向对象标识确定第一数据的数据类型;或者,

获取第一数据的用途标识,并根据第一数据的用途标识确定第一数据的数据类型。

可见,实施图6所描述的装置还能够提供多样化的数据类型确定方式,有利于拓展本发明实施例所描述的加密通信的实现装置的应用场景,提高其普遍适用性。

在又一个可选的实施例中,如图6所示,该装置还可以包括:

第三判断模块314,用于在第一发送模块305将加密后数据发送至终端路由器之前,判断第一数据中除子数据之外的剩余子数据是否包括校验子数据。

第二更新模块315,用于当第三判断模块314判断出剩余子数据包括校验子数据时,将校验子数据更新为计算出的目标校验子数据,以更新加密后数据。

可见,实施图6所描述的装置还能够在对需要加密的子数据加密之后且当数据中还包括校验子数据的情况下自动对校验子数据进行更新,有利于在提高数据传输安全性的同时提高校验子数据的准确性。

实施例四

本发明实施例公开了一种加密网关,该加密网关用于部署在实现数据传输的网络拓扑结构所包括的交换机和终端路由器之间。其中,该加密网关用于执行实施例一或实施例二所描述的加密通信的实现方法中的部分或全部步骤,或者,该加密网关可以包括实施例三所描述的任意一种加密通信的实现装置,本发明实施例不再赘述。

实施例五

请参阅图7,图7是本发明实施例公开的又一种加密通信的实现装置的结构示意图。其中,图7所描述的装置可以应用于加密网关中,该加密网关用于部署在实现数据传输的网络拓扑结构所包括的交换机和终端路由器之间。如图7所示,该加密通信的实现装置可以包括:

存储有可执行程序代码的存储器401;

与存储器401耦合的处理器402;

处理器402调用存储器402中存储的可执行程序代码,执行本发明实施例一或实施例二公开的加密通信的实现方法中的步骤。

实施例六

本发明实施例公开了一种计算机存储介质,该计算机存储介质存储有计算机指令,该计算机指令被调用时,用于执行本发明实施例一或实施例二公开的加密通信的实现方法中的步骤。

以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

最后应说明的是:本发明实施例公开的一种加密通信的实现方法及装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。

相关技术
  • 实现移动通信量子加密传输的量子通信加密系统及其方法
  • 加密通信装置、加密通信系统、加密通信方法及程序
技术分类

06120113063257