基于加密隧道的数据传输方法、装置及存储介质与流程

文档序号:33711780发布日期:2023-04-01 00:10阅读:88来源:国知局
基于加密隧道的数据传输方法、装置及存储介质与流程

1.本发明涉及加密通信技术领域,尤其涉及一种基于加密隧道的数据传输方法、装置及存储介质。


背景技术:

2.互联网安全协议(internet protocol security,ipsec)是为ip网络提供安全性的协议和服务的集合,是vpn(virtual private network,虚拟专用网)中常用的一种技术。由于ip报文本身没有集成任何安全特性,ip数据包在公用网络如internet中传输可能会面临被伪造、窃取或篡改的风险。
3.为了增加数据传输的安全性,通信双方通过ipsec建立一条ipsec隧道,ip数据包通过ipsec隧道进行加密传输,有效保证了数据在不安全的网络环境如internet中传输的安全性。通常情况下,用户使用ipsec隧道时,需要使用成对的支持ipsec功能的设备,例如路由器、cpe、ipsecvpn网关等。在这种情况下,用户终端需要改变配置,将网关设置为ipsec发起端设备,从而使流量在发起端设备上进行三层路由转发处理,识别出目标流量并进行加密处理。
4.但是,在实际网络中,尤其是大量的已建设网络,由于终端设备可能是各种不同类别的设备,兼容性较差,且存在一些长时间运行但缺少维护的设备,难以根据需求改变终端的配置。因此,在现有技术中,在虚拟专用网中进行数据传输时,存在建立加密隧道需要更改终端设备配置的技术问题,实际上更改终端设备配置难以实现,影响了加密隧道的创建。


技术实现要素:

5.本发明提供了一种基于加密隧道的数据传输方法、装置及存储介质,旨在有效解决现有技术中在虚拟专用网中进行数据传输时,建立加密隧道需要更改终端设备配置的技术问题。
6.根据本发明的一方面,本发明提供一种基于加密隧道的数据传输方法,所述方法包括:在由终端设备和响应端设备组成的二层网络之间设置发起端设备,并在所述发起端设备和所述响应端设备之间建立加密隧道;在所述发起端设备上设置虚拟交换机,并在所述虚拟交换机上构建流表;所述发起端设备接收所述终端设备发送的多个通信数据,获取所述通信数据对应的第一目标mac地址,基于所述流表和所述第一目标mac地址在所述多个通信数据中确定出目标通信数据,其中,所述目标通信数据的第一目标mac地址为所述响应端设备的mac地址;所述发起端设备基于所述虚拟交换机将所述目标通信数据经所述加密隧道发送至所述响应端设备。
7.进一步地,所述方法还包括:在由终端设备和响应端设备组成的二层网络之间设置发起端设备之后,获取所述
响应端设备的响应端网络地址,基于所述响应端网络地址确定所述发起端设备的发起端网络地址,其中,所述发起端网络地址和所述响应端网络地址具有相同的网段。
8.进一步地,所述方法还包括:在所述发起端设备和所述响应端设备之间建立加密隧道时,所述响应端设备确定其所连接的网络服务器的服务器网络地址,并将所述服务器网络地址发送至所述发起端设备。
9.进一步地,所述发起端设备具有第一端口和第二端口,所述第一端口与所述终端设备相连接,所述第二端口与所述响应端设备相连接。
10.进一步地,所述方法还包括:在所述发起端设备上设置虚拟交换机之后,将所述虚拟交换机分别与所述第一端口和所述第二端口相关联,并基于所述虚拟交换机、所述第一端口和所述第二端口生成虚拟交换机实例。
11.进一步地,所述在所述虚拟交换机上构建流表包括:基于所述发起端网络地址、所述响应端网络地址、所述服务器网络地址生成所述流表,并将所述流表添加至所述虚拟交换机实例中。
12.进一步地,所述方法还包括:在所述基于所述流表和所述第一目标mac地址在所述多个通信数据中确定出目标通信数据之后,所述发起端设备将所述目标通信数据的第一目标mac地址更新为第二目标mac地址,其中,所述第二目标mac地址为所述发起端设备的mac地址。
13.进一步地,所述发起端设备基于所述虚拟交换机将所述目标通信数据经所述加密隧道发送至所述响应端设备包括:所述发起端设备将所述目标通信数据的数据出口设置为所述虚拟交换机实例对应的internal接口,并将所述目标通信数据导入linux内核网络子系统;所述linux内核网络子系统获取所述目标通信数据的第二目标mac地址,基于所述第二目标mac地址和所述流表进行路由查找,并将所述目标通信数据发送至所述加密隧道。
14.根据本发明的另一方面,本发明还提供了一种基于加密隧道的数据传输装置,用于发起端设备,所述装置包括:流表构建模块,用于设置虚拟交换机,并在所述虚拟交换机上构建流表;目标通信数据确定模块,用于接收终端设备发送的多个通信数据,获取所述通信数据对应的第一目标mac地址,基于所述流表和所述第一目标mac地址在所述多个通信数据中确定出目标通信数据,其中,所述目标通信数据的第一目标mac地址为响应端设备的mac地址;目标通信数据发送模块,用于将所述目标通信数据经所述加密隧道发送至所述响应端设备;其中,在由所述终端设备和所述响应端设备组成的二层网络之间设置所述发起端设备,并在所述发起端设备和所述响应端设备之间建立所述加密隧道。
15.根据本发明的另一方面,本发明还提供了一种存储介质,用于发起端设备,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行如上所述的任一基于加密隧道的数据传输方法。
16.通过本发明中的上述实施例中的一个实施例或多个实施例,至少可以实现如下技术效果:在本发明所公开的技术方案中,在由终端设备和响应端设备组成的二层网络之间设置发起端设备,在发起端设备和响应端设备之间建立加密隧道,通过在发起端设备上设置虚拟交换机并生成流表,最终实现数据在加密隧道中传输。若通过交换机将终端设备接入网络,则不需要改变终端的连线,实现了客户无感知入网。对于终端设备的流量,如果流量的目标地址不是目标服务器,则可以通过发起端设备将数据直接通过二层网络转发出去,反之,若流量的目标地址为目标服务器,则流量进入加密隧道进行传输。实现了对数据的选择性加密,即对需要加密的流量加密,不需要流量的不加密,提高了网络利用率,同时实现了数据传输的高安全性。在本技术中,在一个二层网络内增加虚拟交换机组件,将发起端设备变成一个透明的设备,终端设备并不需要感知发起端设备的存在,并且在无需改变原有网络的地址规划的情况下就能够实现安全的加密隧道服务,保障了数据传输的安全性和可靠性。
附图说明
17.下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
18.图1为本发明实施例提供的一种基于加密隧道的数据传输方法的步骤流程图;图2为二层网络数据传输示意图;图3为具有发起端设备的二层网络数据传输示意图;图4为本发明实施例提供的一种基于加密隧道的数据传输装置的结构示意图。
具体实施方式
19.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
20.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
21.图1所示为本发明实施例所提供的基于加密隧道的数据传输方法的步骤流程图,根据本发明的一方面,本发明提供一种基于加密隧道的数据传输方法,所述方法包括:步骤101:在由终端设备和响应端设备组成的二层网络之间设置发起端设备,并在所述发起端设备和所述响应端设备之间建立加密隧道;步骤102:在所述发起端设备上设置虚拟交换机,并在所述虚拟交换机上构建流表;步骤103:所述发起端设备接收所述终端设备发送的多个通信数据,获取所述通信数据对应的第一目标mac地址,基于所述流表和所述第一目标mac地址在所述多个通信数据
中确定出目标通信数据,其中,所述目标通信数据的第一目标mac地址为所述响应端设备的mac地址;步骤104:所述发起端设备基于所述虚拟交换机将所述目标通信数据经所述加密隧道发送至所述响应端设备。
22.本发明在由终端设备和响应端设备组成的二层网络之间设置发起端设备,在发起端设备和响应端设备之间建立加密隧道,通过在发起端设备上设置虚拟交换机,控制数据在加密隧道中传输。本发明中的技术方案可以在不更改现有网络规划的情况下,只变更连线即可实现安全的加密通信。
23.以下对上述步骤101~104进行具体描述。
24.在步骤101中,在由终端设备和响应端设备组成的二层网络之间设置发起端设备,并在所述发起端设备和所述响应端设备之间建立加密隧道。
25.示例性地,图2为二层网络数据传输示意图,现有技术中,虚拟专用网具有如图所示的由终端设备和响应端设备组成的二层网络,其中,终端设备和响应端设备之间具有交换机,响应端设备和网络服务器连接。当终端设备需要在网络服务器上获取数据时,数据在终端设备和响应端设备之间进行二层转发,响应端设备相当于终端设备的网关。
26.图3为具有发起端设备的二层网络数据传输示意图,在本发明的技术方案中,在对原有网络规划不进行改变的情况下,在终端设备和响应端设备组成的二层网络之间设置发起端设备。对于终端设备来说,发起端设备为二层设备,终端设备不需要进行任何配置相关的改动,响应端设备依然相当于终端设备的网关,在步骤102中,在所述发起端设备上设置虚拟交换机,并在所述虚拟交换机上构建流表。
27.示例性地,为了使数据能够在加密隧道中转发,在发起端设备上设置虚拟交换机,其中,虚拟交换机基于open vswitch技术,open vswitch简称ovs,是一个支持多层数据转发的高质量虚拟交换机,相比传统交换机具有很好的编程扩展性,同时具备传统交换机实现的网络隔离和数据转发功能,运行在每个实现虚拟化的物理机器上,并提供远程管理。ovs提供了两种在虚拟化环境中远程管理的协议:一个是openflow,通过流表来管理交换机的行为,一个是ovsdb管理协议,用来暴露交换机的端口状态。本方案中,在发起端设备上构建ovs虚拟交换机以及基于虚拟交换机生成的流表。
28.在步骤103中,所述发起端设备接收所述终端设备发送的多个通信数据,获取所述通信数据对应的第一目标mac地址,基于所述流表和所述第一目标mac地址在所述多个通信数据中确定出目标通信数据,其中,所述目标通信数据的第一目标mac地址为所述响应端设备的mac地址。
29.示例性地,发起端设备和多个终端设备相连接,当终端设备需要经过响应端设备获取网络服务器上的数据时,先向发起端设备发送通信数据,例如数据获取请求。当发起端设备接收到多个通信数据以后,解析数据信息,判断通信数据对应的目标设备是否为与加密隧道对应的设备。因此,发起端设备解析数据获取通信数据对应的第一目标mac地址,若第一目标mac地址为加密隧道对的响应端设备的mac地址,则确定数据为目标通信数据。
30.在步骤104中,所述发起端设备基于所述虚拟交换机将所述目标通信数据经所述加密隧道发送至所述响应端设备。
31.示例性地,根据现有技术,发起端设备可以将目标通信数据直接经过二层网络转发至响应端设备,但是该传输方式中,由于ip报文本身没有集成任何安全特性,ip数据包在公用网络如internet中传输可能会面临被伪造、窃取或篡改的风险。因此,本方案经过虚拟交换机转发数据,修改数据的发送通道,由原来的二次网络转发更改为经过加密隧道传输数据。
32.进一步地,所述方法还包括:在由终端设备和响应端设备组成的二层网络之间设置发起端设备之后,获取所述响应端设备的响应端网络地址,基于所述响应端网络地址确定所述发起端设备的发起端网络地址,其中,所述发起端网络地址和所述响应端网络地址具有相同的网段。
33.示例性地,由于本方案不改变原有的网络,因此,新设置的发起端设备必须与原来的响应端设备处于同一个网络之中,不进行跨网传输。举例来说,加密隧道为ipsec隧道,在ipsec隧道发起端设备配置一个ip地址,假设为ip_pub1,与ipsec隧道对应的响应端设备的地址需是同一网段,假设响应端地址是ip_pub2,以保证终端设备和响应端设备位于同一个虚拟专用网络之中。
34.进一步地,所述方法还包括:在所述发起端设备和所述响应端设备之间建立加密隧道时,所述响应端设备确定其所连接的网络服务器的服务器网络地址,并将所述服务器网络地址发送至所述发起端设备。
35.示例性地,如图3所示,响应端设备的一端通过加密隧道与发起端设备相连接,另外一端直接和网络服务器连接。举例来说,ipsec加密隧道的响应端设备挂接网络服务器,假设网段地址是ip_priv,发起端设备的地址为ip_pub1,响应端设备的地址为ip_pub2,在ip_pub1和ip_pub2之间建立ipsec隧道,隧道建立的过程中,响应端设备会将本端挂接的网络服务器的网段路由发送到发起端设备上,进而使得发起端设备上接收到的目的地址为ip_priv网段的流量,会通过ipsec隧道转发给响应端设备。
36.进一步地,所述发起端设备具有第一端口和第二端口,所述第一端口与所述终端设备相连接,所述第二端口与所述响应端设备相连接。
37.示例性地,发起端设备的两个接口,假设第一端口为interface_1,第二端口为interface_2,其中,第一端口interface_1连接需要访问发起端设备挂接网络服务器(ip_priv)的设备,例如pc机或其它终端,第二端口interface_2通过二层网络连接响应端设备。
38.进一步地,所述方法还包括:在所述发起端设备上设置虚拟交换机之后,将所述虚拟交换机分别与所述第一端口和所述第二端口相关联,并基于所述虚拟交换机、所述第一端口和所述第二端口生成虚拟交换机实例。
39.示例性地,终端设备的网关是响应端设备,中间是一个二层网络。发起端设备的第一端口interface_1和第二端口interface_2同时挂接在同一个ovs虚拟交换机之下。假设虚拟交换机实例为br-lan,在不需要加密的情况下,终端设备的接收的通信数据能够直接通过发起端设备上的虚拟交换机实例br-lan进行传输以发送至响应端设备。
40.进一步地,所述在所述虚拟交换机上构建流表包括:基于所述发起端网络地址、所述响应端网络地址、所述服务器网络地址生成所述
流表,并将所述流表添加至所述虚拟交换机实例中。
41.示例性地,在openflow中,数据都是作为流进行处理的,流表是针对特定流的策略表项的集合,负责数据包的查找和转发,表征数据流量的走向。发起端设备的虚拟交换机实例br-lan上添加流表以后,可以根据流表筛选出目标通信数据。
42.进一步地,所述方法还包括:在所述基于所述流表和所述第一目标mac地址在所述多个通信数据中确定出目标通信数据之后,所述发起端设备将所述目标通信数据的第一目标mac地址更新为第二目标mac地址,其中,所述第二目标mac地址为所述发起端设备的mac地址。
43.示例性地,为了将目标通信数据经过加密隧道转发,发起端设备修改目标通信数据的目标mac地址,原来的第一目标mac地址为响应端设备的mac地址。为了不直接通过原来的二层网络发送数据,发起端设备将目标mac地址更改为自身的mac地址。
44.进一步地,所述发起端设备基于所述虚拟交换机将所述目标通信数据经所述加密隧道发送至所述响应端设备包括:所述发起端设备将所述目标通信数据的数据出口设置为所述虚拟交换机实例对应的internal接口,并将所述目标通信数据导入linux内核网络子系统;所述linux内核网络子系统获取所述目标通信数据的第二目标mac地址,基于所述第二目标mac地址和所述流表进行路由查找,并将所述目标通信数据发送至所述加密隧道。
45.示例性地,为了避免数据直接在原有的二层网络转发出去,发起端设备将目标通信数据的数据出口设置成虚拟交换机实例br-lan的internal接口,将目标通信数据重新导入linux内核网络子系统。linux内核网络子系统在收到目标通信数据后,检查数据的目的mac为本机的mac地址,则进行路由查找流程,将目标通信数据发送至ipsec加密隧道。
46.通过本发明中的上述实施例中的一个实施例或多个实施例,至少可以实现如下技术效果:在本发明所公开的技术方案中,在由终端设备和响应端设备组成的二层网络之间设置发起端设备,在发起端设备和响应端设备之间建立加密隧道,通过在发起端设备上设置虚拟交换机并生成流表,最终实现数据在加密隧道中传输。若通过交换机将终端设备接入网络,则不需要改变终端的连线,实现了客户无感知入网。对于终端设备的流量,如果流量的目标地址不是目标服务器,则可以通过发起端设备将数据直接通过二层网络转发出去,反之,若流量的目标地址为目标服务器,则流量进入加密隧道进行传输。实现了对数据的选择性加密,即对需要加密的流量加密,不需要流量的不加密,提高了网络利用率,同时实现了数据传输的高安全性。在本技术中,在一个二层网络内增加虚拟交换机组件,将发起端设备变成一个透明的设备,终端设备并不需要感知发起端设备的存在,并且在无需改变原有网络的地址规划的情况下就能够实现安全的加密隧道服务,保障了数据传输的安全性和可靠性。
47.基于与本发明实施例的一种基于加密隧道的数据传输方法同样的发明构思,本发明实施例提供了一种基于加密隧道的数据传输装置,用于发起端设备,请参考图4,所述装置包括:流表构建模块201,用于设置虚拟交换机,并在所述虚拟交换机上构建流表;目标通信数据确定模块202,用于接收终端设备发送的多个通信数据,获取所述通
信数据对应的第一目标mac地址,基于所述流表和所述第一目标mac地址在所述多个通信数据中确定出目标通信数据,其中,所述目标通信数据的第一目标mac地址为响应端设备的mac地址;目标通信数据发送模块203,用于将所述目标通信数据经所述加密隧道发送至所述响应端设备;其中,在由所述终端设备和所述响应端设备组成的二层网络之间设置所述发起端设备,并在所述发起端设备和所述响应端设备之间建立所述加密隧道。
48.进一步地,所述发起端设备具有第一端口和第二端口,所述第一端口与所述终端设备相连接,所述第二端口与所述响应端设备相连接。
49.进一步地,所述装置还用于:在所述发起端设备上设置虚拟交换机之后,将所述虚拟交换机分别与所述第一端口和所述第二端口相关联,并基于所述虚拟交换机、所述第一端口和所述第二端口生成虚拟交换机实例。
50.进一步地,所述流表构建模块201还用于:基于所述发起端网络地址、所述响应端网络地址、所述服务器网络地址生成所述流表,并将所述流表添加至所述虚拟交换机实例中。
51.进一步地,所述装置还用于:在所述基于所述流表和所述第一目标mac地址在所述多个通信数据中确定出目标通信数据之后,将所述目标通信数据的第一目标mac地址更新为第二目标mac地址,其中,所述第二目标mac地址为所述发起端设备的mac地址。
52.进一步地,所述目标通信数据发送模块203还用于:所述发起端设备将所述目标通信数据的数据出口设置为所述虚拟交换机实例对应的internal接口,并将所述目标通信数据导入linux内核网络子系统;所述linux内核网络子系统获取所述目标通信数据的第二目标mac地址,基于所述第二目标mac地址和所述流表进行路由查找,并将所述目标通信数据发送至所述加密隧道。
53.其中,所述基于加密隧道的数据传输装置的其它方面以及实现细节与前面所描述的基于加密隧道的数据传输方法相同或相似,在此不再赘述。
54.根据本发明的另一方面,本发明还提供了一种存储介质,用于发起端设备,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行如上所述的任一基于加密隧道的数据传输方法。
55.综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1