发明内容
针对现有技术中存在的问题,本发明的目的在于提供一种基于虚拟化网络的数据传输方法、装置和***,以提高网络的安全性,防止黑客的入侵攻击。
本发明的一方面,提供一种基于虚拟化网络的数据传输方法,该方法包括以下步骤:
由第一安全设备劫持从多个第一端通信设备发送的多个数据报文,所述第一安全设备中预先存储有用于对第一端通信设备的网络地址进行编译第一编译策略和用于对对端通信设备的网络地址进行解析的第二解析策略;
利用所述第一安全设备中的第一编译器基于所述第一编译策略对各个第一端通信设备的网络地址进行编译而得到多个第一端通信设备的彼此嵌套的多个虚拟网络地址,并在各第一端通信设备和对端通信设备之间已建立的物理线路上基于各虚拟网络地址向所述对端通信设备分别发送数据报文,所述彼此嵌套的多个虚拟网络地址包括:位于选定类型的网络的IP地址范围内的彼此嵌套的、IP地址范围逐级缩小的多个IP地址网段;所述第一编译策略包括预定的网络地址编译算法或包括在所述数据报文所请求的服务对应的虚拟IP网段范围内随机生成发起方虚拟IP网络地址;
由所述第一安全设备基于创建的虚拟化网络向所述对端通信设备发送数据报文,在基于所述第二解析策略能够获得所述对端通信设备的虚拟网络地址的情况下,该数据报文中携带第一端通信设备的虚拟网络地址和对端通信设备的虚拟网络地址;在基于所述第二解析策略不能够获得所述对端通信设备的虚拟网络地址的情况下,该数据报文中携带第一端通信设备的虚拟网络地址和对端通信设备的真实网络地址;由位于通信接收方侧的第二安全设备接收到来自所述第一安全设备的数据后,利用第二编译器基于第一解析策略对发起方经编译的虚拟网络地址进行解析,解析成功后向所述接收方传送带发起方标识的数据报文。
在本发明一些实施方式中,在所述第一编译策略包括网络地址编译算法的情况下,所述第一解析策略为与所述网络地址编译算法相匹配的网络地址解析算法;
所述利用第二编译器基于所述第一解析策略对发起方经编译的虚拟网络地址进行解析,解析成功后向所述接收方传送带发起方标识的数据报文包括:由所述第二安全设备利用第二编译器基于与所述第一编译策略对应的所述第一解析策略对各第一端通信设备的虚拟网络地址进行解析和还原,解析和还原成功后向所述对端通信设备传送带还原的发送方网络地址的数据报文;
所述方法还包括:
所述第二安全设备劫持从所述对端通信设备向各第一端通信设备返回的数据报文,利用第二编译器基于预先存储的第二编译策略对所述对端通信设备的网络地址进行编译,得到所述对端通信设备的虚拟网络地址,并在各第一端通信设备和对端通信设备之间已建立的物理线路上基于所述对端通信设备的虚拟网络地址向对应的第一端通信设备彼此隔离地发送所述对端通信设备的数据报文;
所述第一安全设备接收经所述对端通信设备侧的第二安全设备发送的来自所述对端通信设备的数据报文,利用第一编译器基于预先存储的与所述第二编译策略对应的第二解析策略对所述对端通信设备的虚拟网络地址进行解析和还原,还原成功后向对应第一端通信设备传送带还原的对端通信设备的网络地址的数据报文。
在本发明一些实施方式中,所述第一通信设备发送的数据报文中携带真实IP地址、真实MAC地址、真实IP端口和真实路由信息;
在所述第一编译策略包括在所述服务请求报文所请求的服务对应的虚拟IP网段范围内随机生成发起方虚拟IP网络地址的情况下,所述第一解析策略包括基于发起方虚拟IP网络地址所在的网段、未经编译的真实MAC地址、真实IP端口和真实路由信息来解析所述发起方经编译的虚拟网络地址是否可信,如果可信则确认解析成功。
在本发明一些实施方式中,所述第一安全设备和第二安全设备的物理网卡接口不具有IP地址和MAC地址;
一个或多个通信发起方连接一个第一安全设备;
一个或多个接收方连接一个第二安全设备。
在本发明一些实施方式中,所述方法还包括:
如果基于预先存储的第一编译策略对所述发起方虚拟网络地址解析失败,所述第二安全设备丢弃要传送的数据报文。
在本发明一些实施例中,所述选定类型的网络的IP地址范围包括:A类网络IP地址范围、B类网络IP地址范围或C类网络IP地址范围。
在本发明一些实施例中,所述在各第一端通信设备和对端通信设备之间已建立的物理线路上基于各虚拟网络地址向所述对端通信设备分别发送数据报文:在当前第一端通信设备和对端通信设备之间已建立的物理线路上基于创建的虚拟化网络利用数据链路层ARP寻址广播方式或网络层路由方式向所述对端通信设备发送携带有发起方虚拟网络地址的数据报文;对所述对端通信的IP地址网段之外的其他网段地址的访问,将当前第一端通信设备的IP地址网段转换为与所述其他网段不互通的第一特定广播地址段;
所述在各第一端通信设备和对端通信设备之间已建立的物理线路上基于创建的所述虚拟化网络向对应的第一端通信设备彼此隔离地发送所述对端通信设备的数据报文,包括:当前第一端通信设备和对端通信设备之间已建立的物理线路上基于创建的虚拟化网络利用数据链路层ARP寻址广播方式或网络层路由方式向第一端通信设备发送携带有发起方虚拟网络地址的数据报文;对作为目标的第一端通信设备的IP地址网段之外的其他网段的地址的访问,将所述对端通信设备的IP地址网段转换为与该其他网段不互通的第二特定广播地址段。
在本发明的另一方面,还提供一种基于虚拟化网络的数据传输***,所述***包括:位于通信发起方侧的第一安全设备和位于通信接收方侧的第二安全设备;所述第一安全设备中预先存储有用于对第一端通信设备的网络地址进行编译第一编译策略和用于对对端通信设备的网络地址进行解析的第二解析策略;所述第二安全设备中预先存储有用于对第一端通信设备的网络地址进行编译的第二编译策略和用于对对端通信设备的网络地址进行解析的第一解析策略;
其中,所述第一安全设备用于:
劫持从多个通信发起方发送的数据报文;
利用第一编译器基于所述第一编译策略对各个发起方的网络地址进行编译,得到多个发起方的彼此嵌套的多个虚拟网络地址,并在各发起方和接收方之间已建立的物理线路上基于各虚拟网络地址向接收方发送携带发起方虚拟网络地址的数据报文,其中,所述第一编译策略包括预定的网络地址编译算法或包括在所述服务请求报文所请求的服务对应的虚拟IP网段范围内随机生成发起方虚拟IP网络地址,所述彼此嵌套的多个虚拟网络地址包括:位于选定类型的网络的IP地址范围内的彼此嵌套的、IP地址范围逐级缩小的多个IP地址网段;
基于创建的虚拟化网络向所述对端通信设备发送数据报文,在基于所述第二解析策略能够获得所述对端通信设备的虚拟网络地址的情况下,该数据报文中携带第一端通信设备的虚拟网络地址和对端通信设备的虚拟网络地址;在基于所述第二解析策略不能够获得所述对端通信设备的虚拟网络地址的情况下,该数据报文中携带第一端通信设备的虚拟网络地址和对端通信设备的真实网络地址
所述第二安全设备用于:
接收到来自所述第一安全设备的数据后,利用第二编译器基于所述第一解析策略对各发起方经编译的虚拟网络地址进行解析,解析成功后向所述接收方传送携带还原的发起方标识的数据报文。
在本发明一些实施方式中,所述第一安全设备和所述第二安全设备为网关;
通信发起方发送的服务请求报文中携带真实IP地址、真实MAC地址、真实IP端口和真实路由信息;
所述发起方标识包括以下信息中的至少一种:发起方真实MAC地址、发起方真实IP端口和真实路由信息;
在第一编译策略包括预定的网络地址编译算法且所述第一解析策略包括与所述网络地址编译算法相匹配的网络地址解析算法的情况下,所述第一安全设备还用于:
在接收到来自第二安全设备的数据报文时,利用第一编译器基于预先存储的第二解析策略对接收方经编译的虚拟网络地址进行解析和还原,还原成功后向所述发起方传送带还原的接收方真实网络地址的数据报文;
所述第二安全设备还用于:
劫持从所述通信接收方发送的数据报文,利用第二编译器基于预先存储的与所述第二解析策略对应的第二编译策略对接收方的网络地址进行编译,得到接收方的虚拟网络地址,并利用发起方和接收方之间已建立的物理线路向发起方发送带有接收方虚拟网络地址的数据报文;
所述第二编译策略包括网络地址编译算法,所述第二解析策略为与所述网络地址编译算法相匹配的网络地址解析算法。
在本发明的另一方面,还提供一种网络安全设备,所述网络安全设备用于与至少一个第一端通信设备连接,所述网络安全设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时实现如下步骤:
劫持从所述至少一个第一端通信设备发送的数据报文,利用第一编译器基于预先存储的第一编译策略对各个第一端通信设备的网络地址进行编译而得到各第一端通信设备的虚拟网络地址,以使得基于第一端通信设备的虚拟网络地址而构建出至少一个虚拟网络,所述虚拟网络地址包括IP地址网段;所述第一编译策略包括预定的网络地址编译算法或包括在所述数据报文所请求的服务对应的虚拟IP网段范围内随机生成发起方虚拟IP网络地址;
在各第一端通信设备和多个对端通信设备之间已建立的物理线路上基于各虚拟网络地址向所述多个对端通信设备彼此隔离地发送数据报文,在基于所述第二解析策略能够获得所述对端通信设备的虚拟网络地址的情况下,该数据报文中携带第一端通信设备的虚拟网络地址和对端通信设备的虚拟网络地址;在基于所述第二解析策略不能够获得所述对端通信设备的虚拟网络地址的情况下,该数据报文中携带第一端通信设备的虚拟网络地址和对端通信设备的真实网络地址。
在本发明一些实施方式中,所述在各第一端通信设备和对端通信设备之间已建立的物理线路上基于各虚拟网络地址向所述对端通信设备分别发送数据报文:在当前第一端通信设备和对端通信设备之间已建立的物理线路上基于创建的虚拟化网络利用数据链路层ARP寻址广播方式或网络层路由方式向所述对端通信设备发送携带有发起方虚拟网络地址的数据报文;对所述对端通信的IP地址网段之外的其他网段地址的访问,将当前第一端通信设备的IP地址网段转换为与所述其他网段不互通的第一特定广播地址段。
本发明提供的基于虚拟化网络的数据传输方法、***和网络安全设备,能够在无需断开实际物理线路的情况下有效地防止黑客的入侵攻击,大大提高网络的安全性。
此外本发明能够在提高网络安全性的同时,还可以针对不同客户端实现服务内容的访问隔离。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含/具有”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
为了防止网络被黑客入侵攻击,提高网络的安全性,本发明提供了一种基于虚拟化再生网络的数据传输方法。本发明的方法通过在网关等网络安全设备(简称安全设备)中设置编译器,利用编译器来进行包括虚拟再生网络地址在内的虚拟通信网络信息的编译,其中编译的虚拟再生网络地址不同于实际网络中真实物理设备之间的网络地址,从而在通信发起方和接收方的安全设备之间创建出多个虚拟再生网络,该虚拟再生网络的网络资源为实际网络中所不存在的虚拟网络资源,通信发起方和接收方的安全设备之间的虚拟再生网络可依据IETF和IEEE的标准规范,其虚拟的网络地址资源等信息仅在虚拟再生网络两端的安全设备之间进行传输,而不被通信发起方和通信接收方传递或转发。本发明实施例中,虚拟化再生网络指的是通过虚拟化技术实现虚拟网络的不断再生。本发明的基于虚拟化再生网络的数据传输方法不改变原有网络结构、不改变原有网络路由条目、路由转发路径,也可以不改变通讯机制和网络拓扑结构,从而可以在用户无感的情况下提高网络的安全性。在下文中,为了便于描述,虚拟化再生网络可简称为虚拟化网络。
图1为本发明一实施例中基于虚拟化网络的数据传输方法的流程示意图。如图1所示,该方法包括以下步骤:
步骤S110,由第一安全设备劫持从多个第一端通信设备发送的多个数据报文,如服务请求报文。
在本发明实施例中,多个第一端通信设备例如均作为通信发起方,第一安全设备为位于通信发起方侧的第一安全设备。
更具体地,第一安全设备可利用hook劫持技术通过hook函数来劫持通信发起方发出的数据包。例如可通过劫持全局流量的方式来实现对通信发起方数据包的劫持。由于用于进行数据包的监测和劫持的hook劫持技术为现有成熟技术,在此不再详细描述。
在本发明实施例中,通信发起方例如可以是PC、便携式移动终端等客户端,一个第一安全设备可以连接多个客户端。通信接收方例如可以是服务器,但本发明并不限于此。在在一个第一安全设备连接多个客户端的情况下,该第一安全设备可用于对多个客户端发出的数据包均进行劫持。
在本发明实施例中,第一安全设备可以是网关(或称网关设备)。除了网关之外,第一安全设备也可以是工业模组或嵌入式芯片等,且本发明不限于此。本发明实施例中,该第一安全设备的物理接口没有IP地址和MAC地址,其是靠劫持数据报文来获取发起方发出的数据,并通过路由方式或广播方式将数据发送出去。
通信发起方发出的数据报文可携带请求的服务标识、发起方IP地址、接收方IP地址、发起方的MAC地址、IP端口和路由信息等,初始携带的信息为接收方真实的信息。
步骤S120,利用第一安全设备中的第一编译器基于预先存储的第一编译策略对各个第一端通信设备的网络地址进行编译而得到多个第一端通信设备的彼此嵌套的多个虚拟网络地址,并在各第一端通信设备和对端通信设备之间已建立的物理线路上基于各虚拟网络地址向所述对端通信设备分别发送数据报文。
在本发明实施例中,第一安全设备中预先存储有用于对第一端通信设备的网络地址进行编译第一编译策略和用于对对端通信设备的网络地址进行解析的第二解析策略。
在一实施例中,第一编译策略可以包括在所述服务请求报文所请求的服务对应的虚拟IP网段范围内随机生成发起方虚拟IP网络地址。
在另一实施例中,第一编译策略可以包括网络地址编译算法,第一解析策略为与网络地址编译算法相匹配的网络地址解析算法。
针对每一个第一端通信设备发出的数据报文,第一编译器都基于预定的编译策略进行网络地址的虚拟化编译,来得到虚拟化网络地址,以基于虚拟化网络地址产生虚拟化网络。作为示例,针对每一发起方(第一端通信设备)产生的虚拟化网络地址均为IP地址网段。
在本发明实施例中,第一编译器编译的网络地址包括虚拟化的IP地址段,该虚拟化的IP地址段为从预定的多个候选网络IP地址范围中选择的。该多个候选网络IP地址范围可以包括以下网络IP地址范围中的部分或全部:A类网络IP地址范围、B类网络IP地址范围和C类网络IP地址范围。其中,A类网络IP地址范围为最广的地址范围,其次为B类网络,再次为C类网络。A类网络IP地址范围例如为从1.0.0.0到126.0.0.0的IP地址范围。B类网络IP地址范围例如为从128.0.0.0到191.255.255.255的IP地址范围。C类网络IP地址范围例如为从192.0.0.0到223.255.255.255的IP地址范围。A类网络用8位表示网络号,24位表示主机位;B类网络以16位表示网络,16位表示主机;C类网络用24位表示网络号,8位表示主机位。
本发明实施例中,针对多个发起方产生的多个虚拟化网络地址彼此嵌套的多个虚拟网络地址优选为彼此嵌套的IP网络地址,以便基于嵌套的IP网络地址结构来构造多个彼此隔离的虚拟化网络。在此,所谓彼此嵌套的IP网络地址是指对应的多个虚拟化网络的IP地址段彼此包含,例如,如果针对三个客户端的服务请求报文产生的三个虚拟化网络的IP地址段,第1个虚拟化网络的IP地址段例如可以是192.0.0.0/8,第2个虚拟化网络的IP地址段例如可以是192.168.30.0/24,第3个虚拟化网络的IP地址段例如可以是192.168.10.25/24,可见,第1个虚拟化网络的IP地址段范围包含第2个虚拟化网络的IP地址段范围,第2个虚拟化网络的IP地址段范围包含第3个虚拟化网络的IP地址段范围。在本发明实施例中,这样的嵌套式网络是针对特定的应用场景而设置的。对于希望针对不同客户端提供不同的、彼此不共享的应用服务资源的情况下,尤其适合这种嵌套式网络地址设置。
可以针对各发起方发起的服务请求报文所涉及的具体应用服务,从这几个候选网络IP地址范围中选择的适当网络的IP地址段。例如,针对访问人数可能较多的服务对应的服务请求,第一编译器在进行地址编译时可以从A类网络或B类网络IP地址范围中选择IP地址段来生成虚拟化的IP地址段;针对访问人数较少的服务对应的服务请求,第一编译器在进行地址编译时可以从B类网络或C类网络的IP地址范围中选择IP地址段来生成虚拟化的IP地址段。编译器编译生成的IP地址段中的地址不与实际存在的物理线路的IP地址相冲突。
在本发明实施例中,第一编译器编译的虚拟网络地址还可包括虚拟MAC地址。当前的MAC地址,通常用十六进制数表示,共六个字节(48位)。MAC地址通常表示为12个16进制数,每2个16进制数之间用冒号或者横杠隔开,如:48:89:E7:D5:23:7A就是一个MAC地址,其中前6位16进制数(即前3个字节,高位24位)代表网络硬件制造商的编号,它由IEEE的注册管理机构(Registration Authority,RA)分配,而后6位16进制数(即后3个字节,低位24位)代表该制造商所制造的某个网络产品(如网卡)的系列号。在本发明实施例中,可以通过预定的编译策略来改变MAC地址中的特征字段,从而防止黑客基于IP地址进行追踪。
在利用第一编译器对各个发送方的网络地址进行编译得到多个批次嵌套虚拟网络地址后,将包括虚拟网络地址等在内的网络信息重新封装到从发起方劫持得到的数据报文中,来替换原数据报文中的网络地址信息,然后在发起方和接收方之间已建立的物理线路上基于各虚拟网络地址向接收方发送数据报文,可利用发起方和接收方之间已建立的物理线路通过编译后的虚拟化网络利用数据链路层ARP寻址广播方式或网络层路由方式将向接收方发送带有所述虚拟网络地址的数据报文。
这样,置于发起方和接收方的物理通信链路上的、与接收方(服务器)的网络端口连接的第二安全设备可以在接收方之前接收到来自第一安全设备的数据包。
在实际应用中,在通信网络中可能存在不可信网络,例如,一些机构的专网边界存在公共互联网,如一些单位的不同分支机构和中心之间的专网和专网之间的链接依赖于公共互联网,这种情况下,通过专网传递的数据便有可能被黑客入侵攻击而导致信息泄露。为此,本发明提出在发起方和接收方之间已建立的实际物理线路上采用虚拟化的再生网络来防止黑客的入侵攻击,同时,还可针对不同客户端对服务器的不同访问需求来在服务器和客户端之间建立不同的多个虚拟化网络,这样,基于服务的完成情况可以灵活地断开多个虚拟化网络中的部分网络而不会导致其他虚拟化网络的断开,也无需断开实际的实际物理线路。
步骤S130,由第一安全设备基于创建的虚拟化网络向对端通信设备发送数据报文。
第一安全设备的第一编译策略和第二安全设备的第二编译策略可均包括网络地址编译算法,该情况下,第一解析策略和第二解析策略为与网络地址编译算法相匹配的网络地址解析算法。这样,基于第一安全设备中存储的第二解析策略便能够获得对端通信设备真实网络地址对应的虚拟网络地址,于是向对端通信设备发送的数据报文中便可携带第一端通信设备的虚拟网络地址和对端通信设备的虚拟网络地址。此时,解析发起方虚拟网络地址时,可利用第二编译器基于预先存储的第一解析策略对发起方经编译的虚拟网络地址进行解析和还原,解析和还原成功后向接收方传送带还原的发起方真实网络地址的服务请求报文。
在第一编译策略为在数据报文所请求的服务对应的虚拟IP网段范围内随机生成发起方虚拟IP网络地址的情况下,由于发起方虚拟IP网络地址是在特定IP网段内随机产生的,第二解析策略难以解析得到对端通信设备的虚拟网络地址,在此情况下,该数据报文中携带第一端通信设备的虚拟网络地址和对端通信设备的真实网络地址。在这种情况下,第一解析策略可包括基于发起方虚拟IP网络地址所在的网段、未经编译的真实MAC地址、真实IP端口和真实路由信息中的至少两种信息来解析发起方经编译的虚拟网络地址是否可信,如果可信则确认解析成功。也即,如果发起方虚拟IP地址网段在预定网段范围内、且识别出发起方的MAC地址、IP端口和路由信息与预设的可识别列表中某一发起方的相应信息相匹配,则确定解析成功,于是将向接收方传送带发起方标识的服务请求报文,携带的发起方标识可以是发起方的MAC地址、IP端口信息、路由信息和/或其他能标识发起方的信息。由于向接收方传送的服务请求报文中携带接收方的真实的IP地址,接收方接收到数据报文后,可以基于报文中的内容进行相应的处理,但不做数据报文的回复,因为无法获知与随机产生的发起方虚拟IP地址对应的发起方的真实网络地址。如果第二安全设备解析发起方网络地址失败,则第二安全设备认为该服务请求报文为非法消息或不可信消息,于是做丢弃处理。
在另一实施例中,第一编译策略可以包括网络地址编译算法,第一解析策略为与网络地址编译算法相匹配的网络地址解析算法。此时,解析发起方虚拟网络地址时,可利用第二编译器基于预先存储的第一解析策略对发起方经编译的虚拟网络地址进行解析和还原,解析和还原成功后向接收方传送带还原的发起方真实网络地址的服务请求报文。在本发明实施例中,第一安全设备中还可存储有与第二安全设备的地址编译策略(第二编译策略)对应的(第二解析策略),基于第二解析策略第一安全设备可以获知作为目的地址的接收方真实网络地址对应的虚拟网络地址,此时,向接收方传送的服务请求报文中还携带接收方的虚拟IP地址。
步骤S140,第二安全设备接收到经第一安全设备发送的来自各第一安全设备的数据报文后,利用第二编译器基于预先存储的与第一编译策略对应的第一解析策略对各发起方(各第一端通信设备)经的虚拟网络地址进行解析,解析成功后向所述接收方传送带发起方标识的数据报文。
更具体地,在第一编译策略包括网络地址编译算法,第一解析策略为与网络地址编译算法相匹配的网络地址解析算法的情况下,第二安全设备的第二编译器可以基于与第一编译策略对应的第一解析策略对各发起方经的虚拟网络地址进行解析并还原,将还原后的真实IP地址重新封装至要向接收方(如服务器等对端通信设备)传送的数据报文中,并向接收方传送带还原的发起方网络地址的数据报文。
也即,在第二安全设备利用存储的第一解析策略成功解析并识别出发起方的真实网络地址后,向接收方(如服务器)传送带还原的发起方网络地址的服务请求报文,使得接收方接收到的是带有发起方真实网络地址(如IP地址和MAC地址)的服务请求报文。如果第二安全设备利用存储的第一解析策略解析发起方的真实网络地址失败,则第二安全设备认为该服务请求报文为非法消息或不可信消息,于是做丢弃处理。
服务器接收到数据请求报文后,基于发起方的请求可生成要想发起方返回的数据并封装至数据报文中向发起方进行发送。
而在第一编译策略为在服务请求报文所请求的服务对应的虚拟IP网段范围内随机生成发起方虚拟IP网络地址的情况下,第一解析策略为基于发起方虚拟IP网络地址所在的网段、未经编译的真实MAC地址、真实IP端口和真实路由信息等信息来解析所述发起方经编译的虚拟网络地址是否可信,如果可信则确认解析成功。
在第二安全设备能够还原发起方的真实IP地址的情况下,本发明还可包括以下步骤:
步骤S150,第二安全设备利用劫持技术获取从通信接收方向各发起方(第一端通信设备)返回的数据报文,利用第二编译器基于预先存储的第二编译策略对接收方的网络地址进行编译,得到接收方的虚拟网络地址,并在各发起方和接收方之间已建立的物理线路上向各发起方彼此隔离地发送带有接收方虚拟网络地址的数据包。
本步骤中,在各发起方和接收方之间已建立的物理线路上向各发起方彼此隔离地发送带有接收方虚拟网络地址的数据包是通过如下方式实现的:第一端通信设备和对端通信设备之间已建立的物理线路上基于创建的虚拟化网络利用数据链路层ARP寻址广播方式或网络层路由方式向第一端通信设备发送携带有所述对端通信设备的虚拟网络地址和当前第一段通信设备的虚拟网络地址的数据报文;针对对作为目标的第一端通信设备的IP地址网段之外的其他网段的地址的访问,将所述对端通信设备的虚拟IP地址网段转换为与该其他网段不互通的第二特定广播地址段,以防止其他网段的发起方接收到接收方所发出的消息,从而利用不互通的广播地址段实现虚拟网络间的隔离。例如,如果第二编译器确定采用虚拟化的192.168.30.0地址网段来作为接收方的虚拟化网络地址进行特定发送方和接收方之间数据报文的传输,则对其余的所有对任何地址的访问全部转换为1.1.1.255广播地址段,该1.1.1.255广播地址段为当前接收方不能接收到的网段,从而将当前虚拟化网络与其他虚拟化网络的地址相隔离,使得消息在嵌套的虚拟网络之间不互通。由此可以实现多个虚拟化网络在同一物理线路上实现彼此隔离,进一步增强了数据向不同用户传输的安全性。
该步骤S140与前面步骤S110和S120中第一安全设备对来自发起方的数据报文的处理类似。区别在于是对接收方设备发出的数据报文进行劫持,并对接收方的网络地址进行虚拟化编译。与第一编译策略相对应,第二安全设备中编译策略可以与第一安全设备中的编译策略内容相同或相对应,即二者基于相一致的地址编译原则用于虚拟网络地址的编译。
在第二安全设备编译好虚拟网络地址之后,将包括虚拟网络地址等在内的网络信息重新封装到从接收方劫持到的数据报文中,来替换原数据报文中的网络地址信息,然后利用发起方和接收方之间已建立的物理线路基于编译后得到的虚拟化网络利用数据链路层ARP寻址广播方式或网络层路由方式将向发起方发送带有接收方虚拟网络地址的数据报文。该数据报文中以发起方的虚拟化网络地址作为目的地址。
第一安全设备可以在发起方之前接收到来自第二安全设备的数据报文。
步骤S160,第一安全设备接收来自第二安全设备的数据报文,利用第一编译器基于预先存储的编译策略对接收方创建的虚拟网络地址进行解析和还原,还原成功后向发起方传送带还原的接收方真实网络地址的数据报文。
如果第一安全设备利用存储的编译策略解析接收方的真实网络地址失败,则第一安全设备认为该数据报文为非法消息或不可信消息,于是做丢弃处理。
如上所述,通过利用发起方和接收方之间已建立的物理线路在第一安全设备和第二安全设备之间创建虚拟再生网络,可以在第一安全设备和第二安全设备之间利用创建的虚拟再生网络进行数据的传输,从而难以被黑客基于网络地址进行攻击。
图2为本发明一实施例中基于嵌套式(或称隔离式)虚拟化网络的数据传输处理示意图。图2示出的是一个第一安全设备(网关A)连接多个计算机设备(图中仅示出两个),且一个第二安全设备(网关B)连接一个或多个服务器(图中仅示出一个)的情况。基于计算机设备向服务器请求的应用服务的不同,可以在网关A和网关B之间建立多个虚拟网络,以基于不同的应用服务来使用相应的虚拟网络进行数据的传输。图2中,作为发起方的客户端PC1的网络接口eth0配置实际的IP地址为172.16.1.1,MAC地址为:000FC5056EB0(未示出),其要访问网络接口eth1配置实际的IP地址为172.16.1.100,MAC地址为:F04EDA092709(未示出)的交易服务器20,用作交易数据查询。在终端PC1主动发起请求来访问服务器20的情况下,终端PC1基于预先存储的第一编译策略(预定的网络地址编译算法)通过第一安全设备的编译器来对PC1的虚拟化网络信息进行编译,PC1编译后的虚拟IP地址段为:127.0.0.1/24,虚拟MAC为:000000001010;终端PC2基于预先存储的第二编译策略(预定的网络地址编译算法)通过第二安全设备的编译器来对PC2的虚拟化网络信息进行编译,PC2编译后的虚拟IP地址段为127.0.0.200/24,虚拟化MAC为:000000001111;在PC1和PC2之间创建了虚拟化网络Net1。第一安全设备的编译器使用虚拟化网络地址127.0.0.1/24,虚拟化MAC地址000000001010,对终端PC2发起访问,如果PC1的第一安全设备能够基于预定的网络地址编译算法可以获知PC2的虚拟网络地址,则消息中携带的目的地址为PC2的虚拟网络地址;但如果网络地址编译算法为从预定虚拟IP网段中随机生成虚拟IP地址(地址段),则第一安全设备无法获知PC2的虚拟网络地址,此时,向PC2发送的消息中携带的目的地址为PC2的真实网络地址,同时携带PC1的随机生成的虚拟IP网络地址。此时第二安全设备也无法解析并识别PC1的虚拟网络地址,就无法还原为PC1的真实网络地址,于是第二安全设备将基于PC1的真实MAC地址、真实IP端口和真实路由信息等识别PC1的身份,从而解析PC1的虚拟IP地址是否可信,如果可信则将数据报文传送给PC2,如果不可信则丢弃。PC2接收到PC1的报文后不再回复PC1消息。当终端PC1要访问服务器20以外的服务器时,网关A的编译器将执行以虚拟IP地址为10.10.10.255的广播策略对外进行通信,该广播地址为服务器不可被服务器20以外的服务器接收的广播地址,从而防止终端PC1与服务器20之外的主机进行访问,即将终端PC1的对外广播地址转换为能隔离其他终端的广播地址段。当服务器要20要基于该虚拟网络访问终端PC1以外的终端时,网关B的编译器将执行以虚拟IP地址为10.10.10.255的广播策略对外进行通信,同样防止终端服务器20与PC1之外的主机进行访问,即将服务器20的对外广播地址转换为能隔离其他终端的广播地址段。当终端PC2同样要访问交易服务器20进行特定交易数据的查询,网关A的编译器可以基于终端PC2的访问请求报文确定PC2所请求的资源为不希望被其他用户获取到的信息,并且该资源被访问的人数较少,则网关A和网关B的编译器基于预定义的编译策略选择虚拟化网络1(Net1)范围内的子网段作为新的子虚拟化网络Net2:192.268.30.0/24,网关A的编译器使用虚拟化网络地址192.168.30.1/24作为PC1的虚拟化地址段,网关B的编译器使用虚拟化网络地址192.168.30.100/24作为服务器的虚拟化地址段。基于与PC1和服务器之间的通信方式类似的通信方式进行通信。为了实现子虚拟网络Net2和虚拟网络Net1之间的隔离,网关A和网关B可通过分别将对发起方PC2和服务器20的IP地址网段之外的其他主机的虚拟网段地址的访问所用的IP地址网段转换为与所述其他主机虚拟网段不互通的特定广播地址段来实现与其他网络的隔离,从而可以进一步增强数据传输的安全性。这些虚拟网络无法通过硬件设备的接口路由到MAC SEC设备的另一端(计算机设备端/服务器端),因此有效的保护了外部设备对内网计算机或服务器的安全性。
图2和图3可知,通过网关A和网关B设备后,可将中间网络进行虚拟化实现,实现后的效果是在物理网络中在实际接口无配置虚拟化网络中使用的IP地址条件下,创建多个虚拟网络地址段空间,这些虚拟网络无法通过硬件设备的接口路由到MAC SEC设备的另一端(计算机设备端/服务器端),因此有效的保护了外部设备对内网计算机或服务器的安全性。
本发明实施例中,为了进一步增强数据传输的安全性,所述发起方和接收方之间传输的数据报文可进一步为经加密的数据报文。
利用安全设备(如网关)的编译器可动态地进行虚拟地址的编译,可以基于服务完成情况方便地断开在安全设备之间建立的虚拟网络,也可以基于新的服务建立新的虚拟网络。在现有技术中,如果某项业务需求需要断开网络,则需要断开整条物理线路,从而会影响其他用户的使用,而本发明实施例中,可以无需断开实际的物理线路而仅断开不需要的虚拟网络,从而不影响依赖于该物理线路的其他用户。
在现有实际网络中,通联设备都需要物理接口配置有相应的实际IP地址/MAC地址才能产生相应的网段路由信息,而本发明实施例中,通过劫持技术来获取数据发起方的数据,因此无需在相应通联设备(本发明中的网关等安全设备)的物理接口配置有相应IP/MAC地址,在这种情况下,由安全设备新创建的虚拟化段地址可借助实际物理线路进行广播,在传递到对端应接收方时接收方的安全设备根据虚拟网络地址再还原成物理实际对应的IP/MAC地址来还原通讯,对于非接收方将无法还原真实的内部IP/MAC地址和会话链接通讯,因此非指定接收方将对此虚拟化网段路由而做丢弃处理,由此有效防止了网络设备被黑客攻击。
在本发明实施例中,一个或多个通信发起方可连接一个第一安全设备,一个或多个目标接收方(如目标服务器)可连接一个第二安全设备。
无论第一安全设备和/或第二安全设备连接有几个终端或服务器,本发明的基于虚拟网络的数据传输方法都可以创建一个或多个虚拟再生网络通过这样的设置,可以为不同的用户或应用服务设置不同的访问权限,从而可以更好的进行业务的监管。
本发明实施例中,依赖同一条物理线路可创建多个虚拟化网络,在通过虚拟化网络的不同网段与物理实际网络中的通讯会话相对应,可将实际物理通讯中的不同应用业务或端口进行虚拟化,使得实际网络中出现一部分未知不可复现的网络,将传统网络与虚拟网络进行分割控制,防止因物理网络中的会话劫持、渗透入侵攻击等对虚拟化网络通讯产生影响。
与上述方法相应地,本发明还提供了一种基于虚拟化网络的数据传输***,
所述***包括:位于通信发起方侧的第一安全设备和位于通信接收方侧的第二安全设备;所述第一安全设备中预先存储有用于对第一端通信设备的网络地址进行编译第一编译策略和用于对对端通信设备的网络地址进行解析的第二解析策略;所述第二安全设备中预先存储有用于对第一端通信设备的网络地址进行编译的第二编译策略和用于对对端通信设备的网络地址进行解析的第一解析策略;
其中,所述第一安全设备用于:
劫持从多个通信发起方发送的数据报文;
利用第一编译器基于所述第一编译策略对各个发起方的网络地址进行编译,得到多个发起方的彼此嵌套的多个虚拟网络地址,并在各发起方和接收方之间已建立的物理线路上基于各虚拟网络地址向接收方发送携带发起方虚拟网络地址的数据报文,其中,所述第一编译策略包括预定的网络地址编译算法或包括在所述服务请求报文所请求的服务对应的虚拟IP网段范围内随机生成发起方虚拟IP网络地址,所述彼此嵌套的多个虚拟网络地址包括:位于选定类型的网络的IP地址范围内的彼此嵌套的、IP地址范围逐级缩小的多个IP地址网段;
基于创建的虚拟化网络向所述对端通信设备发送数据报文,在基于所述第二解析策略能够获得所述对端通信设备的虚拟网络地址的情况下,该数据报文中携带第一端通信设备的虚拟网络地址和对端通信设备的虚拟网络地址;在基于所述第二解析策略不能够获得所述对端通信设备的虚拟网络地址的情况下,该数据报文中携带第一端通信设备的虚拟网络地址和对端通信设备的真实网络地址
所述第二安全设备用于:
接收到来自所述第一安全设备的数据后,利用第二编译器基于所述第一解析策略对各发起方经编译的虚拟网络地址进行解析,解析成功后向所述接收方传送携带还原的发起方标识的数据报文。
所述第一安全设备和所述第二安全设备为网关;
通信发起方发送的服务请求报文中携带真实IP地址、真实MAC地址、真实IP端口和真实路由信息;
所述发起方标识包括以下信息中的至少一种:发起方真实MAC地址、发起方真实IP端口和真实路由信息;
在第一编译策略包括预定的网络地址编译算法且所述第一解析策略包括与所述网络地址编译算法相匹配的网络地址解析算法的情况下,所述第一安全设备还用于:
在接收到来自第二安全设备的数据报文时,利用第一编译器基于预先存储的第二解析策略对接收方经编译的虚拟网络地址进行解析和还原,还原成功后向所述发起方传送带还原的接收方真实网络地址的数据报文;
所述第二安全设备还用于:
劫持从所述通信接收方发送的数据报文,利用第二编译器基于预先存储的与所述第二解析策略对应的第二编译策略对接收方的网络地址进行编译,得到接收方的虚拟网络地址,并利用发起方和接收方之间已建立的物理线路向发起方发送带有接收方虚拟网络地址的数据报文;
所述第二编译策略包括网络地址编译算法,所述第二解析策略为与所述网络地址编译算法相匹配的网络地址解析算法。
与前述方法相应地,本发明还提供了一种基于虚拟化网络的网络安全设备(如网关),该网络安全设备用于与至少一个第一端通信设备连接,该网络安全设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时实现如下步骤:
劫持从所述至少一个第一端通信设备发送的数据报文,利用第一编译器基于预先存储的第一编译策略对各个第一端通信设备的网络地址进行编译而得到各第一端通信设备的虚拟网络地址,以使得基于第一端通信设备的虚拟网络地址而构建出至少一个虚拟网络,所述虚拟网络地址包括IP地址网段;所述第一编译策略包括预定的网络地址编译算法或包括在所述数据报文所请求的服务对应的虚拟IP网段范围内随机生成发起方虚拟IP网络地址;
在各第一端通信设备和多个对端通信设备之间已建立的物理线路上基于各虚拟网络地址向所述多个对端通信设备彼此隔离地发送数据报文,在基于所述第二解析策略能够获得所述对端通信设备的虚拟网络地址的情况下,该数据报文中携带第一端通信设备的虚拟网络地址和对端通信设备的虚拟网络地址;在基于所述第二解析策略不能够获得所述对端通信设备的虚拟网络地址的情况下,该数据报文中携带第一端通信设备的虚拟网络地址和对端通信设备的真实网络地址。
在客户专用网络或局域网环境中,本发明的网络安全设备自身不会被探测发现、不能被恶意人员通过黑客工具端口扫描、口令破解、***漏洞挖掘等,具有自身隐蔽性;并且在通信发起侧和接收侧之间加入本发明的网络安全设备不改变原有网络结构、不新增实际的IP/MAC地址标识、不改变原有网络路由条目、路由转发路径、通讯机制和网络拓扑结构。
本发明如上描述的基于虚拟化网络的数据传输方法和***中,第一安全设备和第二安全设备在原有物理线路或原有物理线路的新增设备物理接口上并不增加、修改或删除原有IP地址、子网掩码、MAC地址、直连路由、下一跳网关路由、域名DNS、WINS、NetBios等信息,而是通过通信两端安全设备的编译器产生虚拟IP地址段、虚拟MAC地址、虚拟路由、虚拟通信端口等,而是在已建立的物理线路上在发起方和接收方的安全设备之间创建虚拟化网络,在已建立的物理线路上通过虚拟化网络利用数据链路层ARP寻址广播方式或网络层路由方式进行数据传输。本发明不改变原有网络结构、不改变原有网络路由条目、路由转发路径,也可以不改变通讯机制和网络拓扑结构,可以在用户无感的情况下提高网络的安全性。
此外,虚拟化网络可多次复写创建,可多次重复利用,实现简单又低成本。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、***和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或***。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。