本发明涉及通讯技术领域,特别是涉及一种路由器的VPN网络连接方法及系统。
背景技术:
VPN全称Virtual Private Network,虚拟专用网络。虚拟指的是该网络并不具有传统意义上的实际的物理链路,专用意味着这个网络是私人化的,简单地说就是利用公网链路架设私有网络。得益于隧道技术和其他的安全措施,VPN连接建立后所传输的数据都是被加密保护的,保证了数据的私有性和安全性。常用于企业之间或者个人与公司之间进行安全的访问与数据传输。
OpenVPN是一个用于创建虚拟专用网络(Virtual Private Network)加密通道的免费开源软件。使用OpenVPN可以方便地在家庭、办公场所、住宿酒店等不同网络访问场所之间搭建类似于局域网的专用网络通道。OpenVPN使用方便,运行性能优秀,支持Solaris、Linux 2.2+(Linux 2.2+表示Linux 2.2及以上版本,下同)、OpenBSD 3.0+、FreeBSD、NetBSD、Mac OS X、Android和Windows2000+的操作系统,并且采用了高强度的数据加密,再加上其开源免费的特性,使得OpenVPN成为中小型企业及个人的VPN首选产品。使用OpenVPN配合特定的代理服务器,可用于访问Youtube、FaceBook、Twitter等受限网站,也可用于突破公司的网络限制。由于OpenVPN支持UDP协议,还可以配合HTTP代理(HTTP Proxy)使用,使得只要是能够打开网站或上QQ的地方,就可以访问外部的任何网站或其他网络资源。
现有技术中,当前路由器的VPN实现主要通过PPTP、L2TP、IPSec隧道协议。被广泛应用的这三个主流隧道协议在安全性及稳定性受到质疑。
PPTP VPN协议:它是点对点隧道协议,使用TCP协议。适合在没有防火墙限制的网络中使用。
L2TP VPN协议:它是国际标准隧道协议,没有任何加密措施。L2TP使用UDP协议,大多可以穿透防火墙,适合在有防火墙限制及局域网用户。
IPSecVPN协议:基于端对端的安全模式,每一个使用者端在网络上会被当成一个节点,而此联机会一直处于激活的状态。因此,一但使用者端的计算机被黑客或病毒入侵,黑客就可以透过此网络连结进入另一个端点,也就是公司内部。因这样的运作模式,此节点很有可能成为黑客、病毒入侵的管道。
因此可以明显知道PPTP协议占用资源少,应用最为广泛,但是通过协议和端口很容易被封锁。L2TP/IPSec更高级的VPN协议,支持各种平台,安全性更高,但是不太灵活。OpenVPN它是一个基于SSL加密的纯应用层的VPN协议,由于其运行在纯应用层,避免了PPTP和L2TP在某些NAT设备后面不被支持的情况,并且可以绕过一些网络的封锁,通俗点讲,基本上能上网的地方就能用OpenVPN。
技术实现要素:
本发明提供了一种路由器的VPN网络连接方法及系统,其目的是解决上述安全性、灵活性不高的问题,保障传输数据的完整性、私密性和有效性,提高安全性。
本发明提供的技术方案如下:
一种路由器的VPN网络连接方法,包括步骤:
S100内部网络的路由器和外部网络的客户端相互验证双方身份的合法性;
S200所述内部网络的路由器建立一安全通道与所述外部网络的客户端连接,并在所述安全通道上与所述外部网络的客户端进行密钥协商;
S300所述内部网络的路由器控制所述自身和所述外部网络的客户端的通道配置相匹配,并将VPN相关配置参数推送至所述外部网络的客户端,建立VPN网络连接。
本发明中,通过密钥交换、封装、认证、加密手段在公共网络上建立起私密的隧道,保障传输数据的完整性、私密性和有效性。传统SSLVPN通过端口代理的方法实现,代理路由器根据应用协议的类型(如http,telnet等)做相应的端口代理,客户端与代理路由器之间建立SSL安全连接,客户端与应用路由器之间的所有数据传输通过代理路由器转发。这种实现方式烦琐,应用范围也比较窄;不能对TCP以外的其它网络通信协议进行代理;代理路由器前端的防火墙也要根据代理端口的配置变化进行相应调整。OpenVPN以一种全新的方式实现了SSLVPN的功能,克服了传统SSLVPN的一些缺陷,扩展了应用领域,并且防火墙上只需开放TCP或UDP协议的一个端口。
进一步的,所述步骤S100之前还包括步骤:
S010预先设置控制脚本至所述内部网络的路由器内核;
S020根据预设生成规则生成初始会话密钥;
S030根据所述路由器相关信息和所述客户端相关信息,预先设置VPN相关配置参数;
其中,所述控制脚本包括开源VPN相关软件和OVPN文件,所述OVPN文件控制启动形式,启动形式包括路由器启动形式、客户端启动形式和同步启动形式;所述客户端相关信息和所述路由器相关信息包括MAC地址、型号、IP地址中的任一一种或多种。
本发明中,涉及了一种具有OpenVPN隧道协议的路由器,路由器加入OpenVPN更能体现智能家庭路由器这一概念,此功能并非是通过无线路由器连接至其他的VPN路由器建立VPN连接。而是将路由器作为VPN路由器,位于因特网上的终端设备可以使用VPN技术连接至路由器的内网。路由器内核里有OpenVPN隧道协议,将路由器作为VPN路由器,客户端直接通过VPN技术连接该路由器的网络,OpenVPN能够应用在下列操作系统,例如:Linux、Windos、Mac OS和Unix等操作系统系统。这里,可以是根据设置的启动形式,路由器先进行认证或者客户端先进行认证,也可以是客户端和路由器同步进行认证。
进一步的,所述步骤S200包括步骤:
S210所述内部网络的路由器接收所述外部网络的客户端发送的建立安全通道请求,建立一条通道;并在所述通道上发送自身的路由器数字证书至所述外部网络的客户端;
S220所述外部网络的客户端接收所述路由器数字证书,并验证所述路由器数字证书是否有效,若是执行步骤S230;否则执行步骤S290;
S230所述外部网络的客户端根据所述路由器数字证书的公钥将所述初始会话密钥进行加密;并将所述加密后的会话密钥和客户端用户证书发送至所述内部网络的路由器;
S240所述内部网络的路由器接收所述客户端用户证书,并验证所述客户端用户证书是否有效,若是执行步骤S250;否则执行步骤S290;
S250所述内部网络的路由器根据第一私钥对所述加密后的会话密钥进行解密,获得解密后的会话密钥;并根据所述客户端用户证书的公钥将所述解密后的会话密钥进行加密;然后将所述二次加密后的会话密钥发送至所述外部网络的客户端;
S260所述外部网络的客户端接收所述二次加密后的会话密钥,根据第二私钥对所述二次加密后的会话密钥进行解密,获得二次解密后的会话密钥;并判断所述二次解密后的会话密钥是否与所述初始会话密钥是否一致,若是执行步骤S270;否则执行步骤S290;
S270输出终端身份验证通过,双方使用这把初始会话密钥建立安全通道;
S280所述内部网络的路由器和所述外部网络的客户端在所述安全通道上进行密钥协商得到加密密钥和MAC密钥;
S290输出终端身份验证不通过,退出所述建立安全通道过程;
其中,所述内部网络的路由器数字证书包括所述内部网络的路由器的公钥;所述外部网络的客户端用户证书包括所述外部网络的客户端的公钥。
本发明中,OpenVPN内置了两个通道,一个用于控制,另一个用于数据传输,在设计上,很多网络协议都实现了多通道,也有N种方式实现多通道,其中常用的有两种,一种是使用带外数据传输控制信息,另一种就是将控制信息多路复用到数据通道。OpenVPN使用的就是第二种方式OpenVPN使用自己的协议,其中大部分的思想是借鉴于IPSec的,SSL协议对OpenVPN的帮助只是第一阶段的认证以及控制通道的密钥协商。OpenVPN设计两个通道而不是直接使用SSL协议的另一个原因是这样可以使安全配置更加灵活,比如可以实现只认证不加密,或者不认证只加密之类的灵活配置,否则这些就都要基于SSL协议来配置,那样灵活性将大大降低。
进一步的,所述步骤S300包括步骤:
S310所述内部网络的路由器控制所述自身和所述外部网络的客户端的通道配置相匹配;
S320所述内部网络的路由器通过所述安全通道接收所述外部网络的客户端发送的网络连接请求;
S330所述内部网络的路由器通过所述安全通道将所述VPN相关配置参数发送至所述外部网络的客户端;
S340所述外部网络的客户端接收所述VPN相关配置参数,并与所述内部网络的路由器建立VPN网络连接;
其中,所述VPN相关配置参数包括服务类型、服务端口、访问站点、最大传输数据阈值中的任意一种或多种。
本发明中,在协商好密钥之后,控制通道的安全策略以及数据通道的密钥都已经准备好了。此阶段的目的是为数据通道的部署做准备,配置协商是保持两端的通道配置一致,比如MTU要一致,这类似于物理以太网卡两端的自协商,另外还要互相告知keepalive信息;策略推送是OpenVPN的一大特色,路由器端会把一系列的配置,比如路由推送到客户端,这样客户端可以自动添加虚拟网卡的路由信息。
进一步的,所述步骤S300之后还包括步骤:
S400判断所述外部网络的客户端与所述内部网络的路由器VPN连接是否成功,若是执行步骤S500;否则,执行步骤S100;
S500所述外部网络的客户端在所述安全通道通过VPN连接所述内部网络的路由器访问内网或外网进行数据传输。
本发明中,在OpenVPN完成了握手的同时,虚拟网卡开始初始化,一旦虚拟网卡初始化完毕,数据通道也就随即准备好,数据传输也就开始了。值得注意的是,数据通道和控制是并行工作的,它们是并行工作的,数据通道的安全策略完全独立于控制通道的安全策略,这个在具体配置上会体现的很明显。这样好处在于,在数据通道传输数据的同时还可以在不影响数据通道的情况下传输控制信息。
本发明还提供一种路由器的VPN网络连接系统,包括:内部网络的路由器和至少一台外部网络的客户端;所述内部网络的路由器与所述外部网络的客户端通讯连接;
所述内部网络的路由器,验证所述外部网络的客户端身份的合法性;
所述外部网络的客户端,验证所述内部网络的路由器身份的合法性;
所述内部网络的路由器,建立一安全通道与所述外部网络的客户端连接,并在所述安全通道上与所述外部网络的客户端进行密钥协商;
所述内部网络的路由器,控制所述自身和所述外部网络的客户端的通道配置相匹配,并将VPN相关配置参数推送至所述外部网络的客户端,建立VPN网络连接。
本发明中,通过密钥交换、封装、认证、加密手段在公共网络上建立起私密的隧道,保障传输数据的完整性、私密性和有效性。传统SSLVPN通过端口代理的方法实现,代理路由器根据应用协议的类型(如http,telnet等)做相应的端口代理,客户端与代理路由器之间建立SSL安全连接,客户端与应用路由器之间的所有数据传输通过代理路由器转发。这种实现方式烦琐,应用范围也比较窄;不能对TCP以外的其它网络通信协议进行代理;代理路由器前端的防火墙也要根据代理端口的配置变化进行相应调整。OpenVPN以一种全新的方式实现了SSLVPN的功能,克服了传统SSLVPN的一些缺陷,扩展了应用领域,并且防火墙上只需开放TCP或UDP协议的一个端口。
进一步的,所述内部网络的路由器包括设置模块;
所述设置模块,预先设置控制脚本至所述内部网络的路由器内核;
所述设置模块,还根据预设生成规则生成初始会话密钥;
所述设置模块,还根据所述路由器相关信息和所述客户端相关信息,预先设置VPN相关配置参数;
其中,所述控制脚本包括开源VPN相关软件和OVPN文件,所述OVPN文件控制启动形式,启动形式包括路由器启动形式、客户端启动形式和同步启动形式;所述客户端相关信息和所述路由器相关信息包括MAC地址、型号、IP地址中的任一一种或多种。
本发明中,涉及了一种具有OpenVPN隧道协议的路由器,路由器加入OpenVPN更能体现智能家庭路由器这一概念,此功能并非是通过无线路由器连接至其他的VPN路由器建立VPN连接。而是将路由器作为VPN路由器,位于因特网上的终端设备可以使用VPN技术连接至路由器的内网。路由器内核里有OpenVPN隧道协议,将路由器作为VPN路由器,客户端直接通过VPN技术连接该路由器的网络,OpenVPN能够应用在下列操作系统,例如:Linux、Windos、Mac OS和Unix等操作系统系统。
进一步的,所述内部网络的路由器包括控制模块和验证模块;所述验证模块与所述控制模块通讯连接;所述设置模块与所述控制模块通讯连接;
所述外部网络的客户端包括控制模块和判断模块;所述控制模块和所述判断模块通讯连接;
所述内部网络的路由器的控制模块,接收所述外部网络的客户端发送的建立安全通道请求,建立一条通道;并在所述通道上发送自身的路由器数字证书至所述外部网络的客户端;
所述外部网络的客户端的判断模块,接收所述路由器数字证书,并验证所述路由器数字证书是否有效;
所述外部网络的客户端的控制模块,当所述路由器数字证书无效时,输出终端身份验证不通过,退出所述建立安全通道过程;
所述外部网络的客户端的控制模块,当所述路由器数字证书有效时,根据所述路由器数字证书的公钥将所述初始会话密钥进行加密;并将所述加密后的会话密钥和客户端用户证书发送至所述内部网络的路由器;
所述内部网络的路由器的验证模块,接收所述客户端用户证书,并验证所述客户端用户证书是否有效;
所述内部网络的路由器的控制模块,当所述客户端用户证书无效时,输出终端身份验证不通过,退出所述建立安全通道过程;
所述内部网络的路由器的控制模块,当所述客户端用户证书有效时,根据第一私钥对所述加密后的会话密钥进行解密,获得解密后的会话密钥;并根据所述客户端用户证书的公钥将所述解密后的会话密钥进行加密;然后将所述二次加密后的会话密钥发送至所述外部网络的客户端;
所述外部网络的客户端的控制模块,还接收所述二次加密后的会话密钥,根据第二私钥对所述二次加密后的会话密钥进行解密,获得二次解密后的会话密钥;
所述外部网络的客户端的判断模块,还判断所述二次解密后的会话密钥是否与所述初始会话密钥是否一致;
所述外部网络的客户端的控制模块和所述内部网络的路由器的控制模块,当所述二次解密后的会话密钥是否与所述初始会话密钥一致时,输出终端身份验证通过,使用这把初始会话密钥建立安全通道;并在所述安全通道上进行密钥协商得到加密密钥和MAC密钥;
所述外部网络的客户端的控制模块和所述内部网络的路由器的控制模块,当所述二次解密后的会话密钥是否与所述初始会话密钥不一致时,输出终端身份验证不通过,退出所述建立安全通道过程;
其中,所述内部网络的路由器数字证书包括所述内部网络的路由器的公钥;所述外部网络的客户端用户证书包括所述外部网络的客户端的公钥。
本发明中,OpenVPN内置了两个通道,一个用于控制,另一个用于数据传输,在设计上,很多网络协议都实现了多通道,也有N种方式实现多通道,其中常用的有两种,一种是使用带外数据传输控制信息,另一种就是将控制信息多路复用到数据通道。OpenVPN使用的就是第二种方式。OpenVPN使用自己的协议,其中大部分的思想是借鉴于IPSec的,SSL协议对OpenVPN的帮助只是第一阶段的认证以及控制通道的密钥协商。OpenVPN设计两个通道而不是直接使用SSL协议的另一个原因是这样可以使安全配置更加灵活,比如可以实现只认证不加密,或者不认证只加密之类的灵活配置,否则这些就都要基于SSL协议来配置,那样灵活性将大大降低。
进一步的,所述内部网络的路由器的控制模块,还控制所述自身和所述外部网络的客户端的通道配置相匹配;
所述内部网络的路由器的控制模块,还通过所述安全通道接收所述外部网络的客户端发送的网络连接请求;
所述内部网络的路由器的控制模块,还通过所述安全通道将所述VPN相关配置参数发送至所述外部网络的客户端;
所述外部网络的客户端的控制模块,还接收所述VPN相关配置参数,并与所述内部网络的路由器建立VPN网络连接;
其中,所述VPN相关配置参数包括服务类型、服务端口、访问站点、最大传输数据阈值中的任意一种或多种。
本发明中,在协商好密钥之后,控制通道的安全策略以及数据通道的密钥都已经准备好了。此阶段的目的是为数据通道的部署做准备,配置协商是保持两端的通道配置一致,比如MTU要一致,这类似于物理以太网卡两端的自协商,另外还要互相告知keepalive信息;策略推送是OpenVPN的一大特色,路由器端会把一系列的配置,比如路由推送到客户端,这样客户端可以自动添加虚拟网卡的路由信息。
进一步的,所述外部网络的客户端还包括:访问模块;所述访问模块与所述外部网络的客户端的所述判断模块通讯连接;
所述外部网络的客户端的判断模块,还判断所述外部网络的客户端与所述内部网络的路由器VPN连接是否成功;
当所述外部网络的客户端与所述内部网络的路由器VPN连接成功时,所述外部网络的客户端在所述安全通道通过VPN连接所述内部网络的路由器访问内网或外网进行数据传输;
当所述外部网络的客户端与所述内部网络的路由器VPN连接失败时,内部网络的路由器和外部网络的客户端重新相互验证双方身份的合法性。
本发明中,在OpenVPN完成了握手的同时,虚拟网卡开始初始化,一旦虚拟网卡初始化完毕,数据通道也就随即准备好,数据传输也就开始了。值得注意的是,数据通道和控制是并行工作的,它们是并行工作的,数据通道的安全策略完全独立于控制通道的安全策略,这个在具体配置上会体现的很明显。这样好处在于,在数据通道传输数据的同时还可以在不影响数据通道的情况下传输控制信息。
与现有技术相比,本发明提供一种路由器的VPN网络连接方法及系统,至少带来以下一种技术效果:
1、通过密钥交换、封装、认证、加密手段在公共网络上建立起私密的隧道,保障传输数据的完整性、私密性和有效性。
2、利用家庭网络突破网络封锁。
3、ssl加密连接路由器,安全可靠。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对一种路由器的VPN网络连接方法及系统的特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明一种路由器的VPN网络连接方法一个实施例的流程图;
图2是本发明一种路由器的VPN网络连接方法另一个实施例的流程图;
图3是本发明一种路由器的VPN网络连接方法另一个实施例的流程图;
图4是本发明一种路由器的VPN网络连接系统一个实施例的结构图;
图5是本发明一种路由器的VPN网络连接系统另一个实施例的结构图;
图6是本发明一种路由器的VPN网络连接方法一个实例的流程图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
参照图1所示,本发明提供一种路由器的VPN网络连接方法的一个实施例,包括:
S100内部网络的路由器和外部网络的客户端相互验证双方身份的合法性;
S200所述内部网络的路由器建立一安全通道与所述外部网络的客户端连接,并在所述安全通道上与所述外部网络的客户端进行密钥协商;
S300所述内部网络的路由器控制所述自身和所述外部网络的客户端的通道配置相匹配,并将VPN相关配置参数推送至所述外部网络的客户端,建立VPN网络连接。
具体的,在本实施例中通过密钥交换、封装、认证、加密手段在公共网络上建立起私密的隧道,保障传输数据的完整性、私密性和有效性。传统SSLVPN通过端口代理的方法实现,代理路由器根据应用协议的类型(如http,telnet等)做相应的端口代理,客户端与代理路由器之间建立SSL安全连接,客户端与应用路由器之间的所有数据传输通过代理路由器转发。这种实现方式烦琐,应用范围也比较窄;不能对TCP以外的其它网络通信协议进行代理;代理路由器前端的防火墙也要根据代理端口的配置变化进行相应调整。OpenVPN以一种全新的方式实现了SSLVPN的功能,克服了传统SSLVPN的一些缺陷,扩展了应用领域,并且防火墙上只需开放TCP或UDP协议的一个端口。
参照图2所示,本发明提供一种路由器的VPN网络连接方法的另一个实施例,包括:
S100内部网络的路由器和外部网络的客户端相互验证双方身份的合法性;
S210所述内部网络的路由器接收所述外部网络的客户端发送的建立安全通道请求,建立一条通道;并在所述通道上发送自身的路由器数字证书至所述外部网络的客户端;
S220所述外部网络的客户端接收所述路由器数字证书,并验证所述路由器数字证书是否有效,若是执行步骤S230;否则执行步骤S290;
S230所述外部网络的客户端根据所述路由器数字证书的公钥将所述初始会话密钥进行加密;并将所述加密后的会话密钥和客户端用户证书发送至所述内部网络的路由器;
S240所述内部网络的路由器接收所述客户端用户证书,并验证所述客户端用户证书是否有效,若是执行步骤S250;否则执行步骤S290;
S250所述内部网络的路由器根据第一私钥对所述加密后的会话密钥进行解密,获得解密后的会话密钥;并根据所述客户端用户证书的公钥将所述解密后的会话密钥进行加密;然后将所述二次加密后的会话密钥发送至所述外部网络的客户端;
S260所述外部网络的客户端接收所述二次加密后的会话密钥,根据第二私钥对所述二次加密后的会话密钥进行解密,获得二次解密后的会话密钥;并判断所述二次解密后的会话密钥是否与所述初始会话密钥是否一致,若是执行步骤S270;否则执行步骤S290;
S270输出终端身份验证通过,双方使用这把初始会话密钥建立安全通道;
S280所述内部网络的路由器和所述外部网络的客户端在所述安全通道上进行密钥协商得到加密密钥和MAC密钥;
S290输出终端身份验证不通过,退出所述建立安全通道过程;
S300所述内部网络的路由器控制所述自身和所述外部网络的客户端的通道配置相匹配,并将VPN相关配置参数推送至所述外部网络的客户端,建立VPN网络连接。
本实施例中,其中,所述内部网络的路由器数字证书包括所述内部网络的路由器的公钥;所述外部网络的客户端用户证书包括所述外部网络的客户端的公钥。OpenVPN内置了两个通道,一个用于控制,另一个用于数据传输,在设计上,很多网络协议都实现了多通道,也有N种方式实现多通道,其中常用的有两种,一种是使用带外数据传输控制信息,另一种就是将控制信息多路复用到数据通道。OpenVPN使用的就是第二种方式OpenVPN使用自己的协议,其中大部分的思想是借鉴于IPSec的,SSL协议对OpenVPN的帮助只是第一阶段的认证以及控制通道的密钥协商。OpenVPN设计两个通道而不是直接使用SSL协议的另一个原因是这样可以使安全配置更加灵活,比如可以实现只认证不加密,或者不认证只加密之类的灵活配置,否则这些就都要基于SSL协议来配置,那样灵活性将大大降低。
参照图3所示,本发明提供一种路由器的VPN网络连接方法的另一个实施例,包括:
S010预先设置控制脚本至所述内部网络的路由器内核;
S020根据预设生成规则生成初始会话密钥;
S030根据所述路由器相关信息和所述客户端相关信息,预先设置VPN相关配置参数;
S100内部网络的路由器和外部网络的客户端相互验证双方身份的合法性;
S200所述内部网络的路由器建立一安全通道与所述外部网络的客户端连接,并在所述安全通道上与所述外部网络的客户端进行密钥协商;
S310所述内部网络的路由器控制所述自身和所述外部网络的客户端的通道配置相匹配;
S320所述内部网络的路由器通过所述安全通道接收所述外部网络的客户端发送的网络连接请求;
S330所述内部网络的路由器通过所述安全通道将所述VPN相关配置参数发送至所述外部网络的客户端;
S340所述外部网络的客户端接收所述VPN相关配置参数,并与所述内部网络的路由器建立VPN网络连接;
S400判断所述外部网络的客户端与所述内部网络的路由器VPN连接是否成功,若是执行步骤S500;否则,执行步骤S100;
S500所述外部网络的客户端在所述安全通道通过VPN连接所述内部网络的路由器访问内网或外网进行数据传输。
本实施例中,涉及了一种具有OpenVPN隧道协议的路由器,路由器加入OpenVPN更能体现智能家庭路由器这一概念,此功能并非是通过无线路由器连接至其他的VPN路由器建立VPN连接。而是将路由器作为VPN路由器,位于因特网上的终端设备可以使用VPN技术连接至路由器的内网。路由器内核里有OpenVPN隧道协议,将路由器作为VPN路由器,客户端直接通过VPN技术连接该路由器的网络,OpenVPN能够应用在下列操作系统,例如:Linux、Windos、Mac OS和Unix等操作系统系统。这里,可以是根据设置的启动形式,路由器先进行认证或者客户端先进行认证,也可以是客户端和路由器同步进行认证。在协商好密钥之后,控制通道的安全策略以及数据通道的密钥都已经准备好了。此阶段的目的是为数据通道的部署做准备,配置协商是保持两端的通道配置一致,比如MTU要一致,这类似于物理以太网卡两端的自协商,另外还要互相告知keepalive信息;策略推送是OpenVPN的一大特色,路由器端会把一系列的配置,比如路由推送到客户端,这样客户端可以自动添加虚拟网卡的路由信息。在OpenVPN完成了握手的同时,虚拟网卡开始初始化,一旦虚拟网卡初始化完毕,数据通道也就随即准备好,数据传输也就开始了。值得注意的是,数据通道和控制是并行工作的,它们是并行工作的,数据通道的安全策略完全独立于控制通道的安全策略,这个在具体配置上会体现的很明显。这样好处在于,在数据通道传输数据的同时还可以在不影响数据通道的情况下传输控制信息。
其中,所述VPN相关配置参数包括服务类型、服务端口、访问站点、最大传输数据阈值中的任意一种或多种。所述控制脚本包括开源VPN相关软件和OVPN文件,所述OVPN文件控制启动形式,启动形式包括路由器启动形式、客户端启动形式和同步启动形式。例如:内部网络的路由器接收所述外部网络的客户端发送的验证请求;并根据所述验证请求判断所述外部网络的客户端是否不在连接白名单内,若是内部网络的路由器开启与所述外部网络的客户端的握手连接。或者外部网络的客户端接收所述内部网络的路由器发送的验证请求;并根据所述验证请求判断所述外部网络的客户端是否不在连接白名单内,若是外部网络的客户端开启与所述内部网络的路由器的握手连接。所述客户端相关信息和所述路由器相关信息包括MAC地址、型号、IP地址中的任一一种或多种。
参照图4所示,本发明提供一种路由器的VPN网络连接系统100的一个实施例,包括:内部网络的路由器120和至少一台外部网络的客户端110;所述内部网络的路由器120与所述外部网络的客户端110通讯连接;
所述内部网络的路由器120,验证所述外部网络的客户端110身份的合法性;
所述外部网络的客户端110,验证所述内部网络的路由器120身份的合法性;
所述内部网络的路由器120,建立一安全通道与所述外部网络的客户端110连接,并在所述安全通道上与所述外部网络的客户端110进行密钥协商;
所述内部网络的路由器120,控制所述自身和所述外部网络的客户端110的通道配置相匹配,并将VPN相关配置参数推送至所述外部网络的客户端110,建立VPN网络连接。
本实施例中,通过密钥交换、封装、认证、加密手段在公共网络上建立起私密的隧道,保障传输数据的完整性、私密性和有效性。传统SSLVPN通过端口代理的方法实现,代理路由器120根据应用协议的类型(如http,telnet等)做相应的端口代理,客户端110与代理路由器120之间建立SSL安全连接,客户端110与应用路由器120之间的所有数据传输通过代理路由器120转发。这种实现方式烦琐,应用范围也比较窄;不能对TCP以外的其它网络通信协议进行代理;代理路由器120前端的防火墙也要根据代理端口的配置变化进行相应调整。OpenVPN以一种全新的方式实现了SSLVPN的功能,克服了传统SSLVPN的一些缺陷,扩展了应用领域,并且防火墙上只需开放TCP或UDP协议的一个端口。OpenVPN内置了两个通道,控制通道2用于控制,数据通道1用于数据传输,在设计上,很多网络协议都实现了多通道,也有N种方式实现多通道,其中常用的有两种,一种是使用带外数据传输控制信息,另一种就是将控制信息多路复用到数据通道。OpenVPN使用的就是第二种方式。OpenVPN使用自己的协议,其中大部分的思想是借鉴于IPSec的,SSL协议对OpenVPN的帮助只是第一阶段的认证以及控制通道的密钥协商。OpenVPN设计两个通道而不是直接使用SSL协议的另一个原因是这样可以使安全配置更加灵活,比如可以实现只认证不加密,或者不认证只加密之类的灵活配置,否则这些就都要基于SSL协议来配置,那样灵活性将大大降低。
参照图5所示,相对于上一实施例,相同的部分在此不再赘述。本发明提供一种路由器的VPN网络连接系统100的另一个实施例,包括:
所述内部网络的路由器120包括设置模块121、控制模块和验证模块123;所述控制模块分别与所述设置模块121和所述验证模块123通讯连接;
所述外部网络的客户端110包括控制模块和判断模块112;所述控制模块和所述判断模块112通讯连接;
所述内部网络的路由器120的所述设置模块121,预先设置控制脚本至所述内部网络的路由器120内核;
所述内部网络的路由器120的所述设置模块121,还根据预设生成规则生成初始会话密钥;
所述内部网络的路由器120的所述设置模块121,还根据所述路由器120相关信息和所述客户端110相关信息,预先设置VPN相关配置参数;
所述内部网络的路由器120的控制模块,接收所述外部网络的客户端110发送的建立安全通道请求,建立一条通道;并在所述通道上发送自身的路由器120数字证书至所述外部网络的客户端110;
所述外部网络的客户端110的判断模块112,接收所述路由器120数字证书,并验证所述路由器120数字证书是否有效;
所述外部网络的客户端110的控制模块,当所述路由器120数字证书无效时,输出终端身份验证不通过,退出所述建立安全通道过程;
所述外部网络的客户端110的控制模块,当所述路由器120数字证书有效时,根据所述路由器120数字证书的公钥将所述初始会话密钥进行加密;并将所述加密后的会话密钥和客户端110用户证书发送至所述内部网络的路由器120;
所述内部网络的路由器120的验证模块123,接收所述客户端110用户证书,并验证所述客户端110用户证书是否有效;
所述内部网络的路由器120的控制模块,当所述客户端110用户证书无效时,输出终端身份验证不通过,退出所述建立安全通道过程;
所述内部网络的路由器120的控制模块,当所述客户端110用户证书有效时,根据第一私钥对所述加密后的会话密钥进行解密,获得解密后的会话密钥;并根据所述客户端110用户证书的公钥将所述解密后的会话密钥进行加密;然后将所述二次加密后的会话密钥发送至所述外部网络的客户端110;
所述外部网络的客户端110的控制模块,还接收所述二次加密后的会话密钥,根据第二私钥对所述二次加密后的会话密钥进行解密,获得二次解密后的会话密钥;
所述外部网络的客户端110的判断模块112,还判断所述二次解密后的会话密钥是否与所述初始会话密钥是否一致;
所述外部网络的客户端110的控制模块和所述内部网络的路由器120的控制模块,当所述二次解密后的会话密钥是否与所述初始会话密钥一致时,输出终端身份验证通过,使用这把初始会话密钥建立安全通道;并在所述安全通道上进行密钥协商得到加密密钥和MAC密钥;
所述外部网络的客户端110的控制模块和所述内部网络的路由器120的控制模块,当所述二次解密后的会话密钥是否与所述初始会话密钥不一致时,输出终端身份验证不通过,退出所述建立安全通道过程;
进一步的,所述内部网络的路由器120的控制模块,还控制所述自身和所述外部网络的客户端110的通道配置相匹配;
所述内部网络的路由器120的控制模块,还通过所述安全通道接收所述外部网络的客户端110发送的网络连接请求;
所述内部网络的路由器120的控制模块,还通过所述安全通道将所述VPN相关配置参数发送至所述外部网络的客户端110;
所述外部网络的客户端110的控制模块,还接收所述VPN相关配置参数,并与所述内部网络的路由器120建立VPN网络连接;
其中,所述控制脚本包括开源VPN相关软件和OVPN文件,所述OVPN文件控制启动形式,启动形式包括路由器120启动形式、客户端110启动形式和同步启动形式;所述客户端110相关信息和所述路由器120相关信息包括MAC地址、型号、IP地址中的任一一种或多种。
其中,所述内部网络的路由器120数字证书包括所述内部网络的路由器120的公钥;所述外部网络的客户端110用户证书包括所述外部网络的客户端110的公钥。
其中,所述VPN相关配置参数包括服务类型、服务端口、访问站点、最大传输数据阈值中的任意一种或多种。
优选的,所述外部网络的客户端110还包括:访问模块;所述访问模块与所述外部网络的客户端110的所述判断模块112通讯连接;
所述外部网络的客户端110的判断模块112,还判断所述外部网络的客户端110与所述内部网络的路由器120VPN连接是否成功;
当所述外部网络的客户端110与所述内部网络的路由器120VPN连接成功时,所述外部网络的客户端110在所述安全通道通过VPN连接所述内部网络的路由器120访问内网或外网进行数据传输;
当所述外部网络的客户端110与所述内部网络的路由器120VPN连接失败时,内部网络的路由器120和外部网络的客户端110重新相互验证双方身份的合法性。
本发明实施例中,涉及了一种具有OpenVPN隧道协议的路由器120,路由器120加入OpenVPN更能体现智能家庭路由器120这一概念,此功能并非是通过无线路由器120连接至其他的VPN路由器120建立VPN连接。而是将路由器120作为VPN路由器120,位于因特网上的终端设备可以使用VPN技术连接至路由器120的内网。路由器120内核里有OpenVPN隧道协议,将路由器120作为VPN路由器120,客户端110直接通过VPN技术连接该路由器120的网络,OpenVPN能够应用在下列操作系统,例如:Linux、Windos、Mac OS和Unix等操作系统系统。OpenVPN内置了两个通道,一个用于控制,另一个用于数据传输,在设计上,很多网络协议都实现了多通道,也有N种方式实现多通道,其中常用的有两种,一种是使用带外数据传输控制信息,另一种就是将控制信息多路复用到数据通道。OpenVPN使用的就是第二种方式。OpenVPN使用自己的协议,其中大部分的思想是借鉴于IPSec的,SSL协议对OpenVPN的帮助只是第一阶段的认证以及控制通道的密钥协商。OpenVPN设计两个通道而不是直接使用SSL协议的另一个原因是这样可以使安全配置更加灵活,比如可以实现只认证不加密,或者不认证只加密之类的灵活配置,否则这些就都要基于SSL协议来配置,那样灵活性将大大降低。在协商好密钥之后,控制通道的安全策略以及数据通道的密钥都已经准备好了。此阶段的目的是为数据通道的部署做准备,配置协商是保持两端的通道配置一致,比如MTU要一致,这类似于物理以太网卡两端的自协商,另外还要互相告知keepalive信息;策略推送是OpenVPN的一大特色,路由器120端会把一系列的配置,比如路由推送到客户端110,这样客户端110可以自动添加虚拟网卡的路由信息。在OpenVPN完成了握手的同时,虚拟网卡开始初始化,一旦虚拟网卡初始化完毕,数据通道也就随即准备好,数据传输也就开始了。值得注意的是,数据通道和控制是并行工作的,它们是并行工作的,数据通道的安全策略完全独立于控制通道的安全策略,这个在具体配置上会体现的很明显。这样好处在于,在数据通道传输数据的同时还可以在不影响数据通道的情况下传输控制信息。
参照图6所示,本发明提供一种路由器120的VPN网络连接方法的一个实例,包括:
OpenVPN连接的建立大致分为4个阶段,每一个阶段完成不同的事情。
第一阶段:OpenVPN连接初始化,路由器120端为新连接的客户端110以明文的方式初始化数据结构。
第二阶段:TLS/SSL握手,SSL握手阶段,路由器120和客户端110互相验证身份的合法性,最终为OpenVPN的密钥协商建立一条安全的加密通道。
第三阶段:OpenVPN密钥协商,在第二阶段建立的安全通道上进行密钥协商,最终协商出OpenVPN协议所使用的加密密钥和MAC密钥。
第四阶段:OpenVPN参数协商及OpenVPN策略推送,使用OpenVPN记录协议协商两端的参数及路由器120向客户端110推送配置策略。
传统SSL VPN通过端口代理的方法实现,代理路由器根据应用协议的类型(如http,telnet等)做相应的端口代理,客户端110与代理路由器之间建立SSL安全连接,客户端110与应用路由器之间的所有数据传输通过代理路由器转发。这种实现方式烦琐,应用范围也比较窄;不能对TCP以外的其它网络通信协议进行代理;代理路由器前端的防火墙也要根据代理端口的配置变化进行相应调整。本发明实例中,OpenVPN技术通过密钥交换、封装、认证、加密手段在公共网络上建立起私密的隧道,保障传输数据的完整性、私密性和有效性。
路由器120加入OpenVPN,更能体现家庭路由器智能,比如:
1)公司用OpenVPN客户端110拨入家庭网络,然后就像在家里一样遥控、查看所有网络设备。
2)或者利用家庭网络突破网络封锁!
3)ssl加密连接自家的路由器120,安全可靠!!
OpenVPN使用通用网络协议的特点使它成为IPsec等协议的理想替代,OpenVPN它是一个基于SSL加密的纯应用层的VPN协议,也是SSL VPN的一种,有支持UDP与TCP两种方式。OpenVPN可移植、易于配置及与NAT和动态地址兼容。本发明涉及的应用并非是通过无线路由器120连接至其他的VPN路由器120建立VPN连接。而是将路由器120作为VPN路由器120,位于因特网上的终端设备可以使用VPN技术连接至路由器120的内网。同时,OpenVPN是开源的vpn协议,加密性和适应性都比较好,也比较灵活,不容易被封锁。通过udp端口可以获得较好的速度。OpenVPN它是一个基于SSL加密的纯应用层的VPN协议,由于其运行在纯应用层,避免了PPTP和L2TP在某些NAT设备后面不被支持的情况,并且可以绕过一些网络的封锁(通俗点讲,基本上能上网的地方就能用OpenVPN)。OpenVPN以一种全新的方式实现了SSL VPN的功能,克服了传统SSL VPN的一些缺陷,扩展了应用领域,并且防火墙上只需开放TCP或UDP协议的一个端口
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。