一种VPN隧道协议实现方法技术

技术编号:15987707 阅读:54 留言:0更新日期:2017-08-12 07:04
本发明专利技术公开了一种VPN隧道协议实现方法,应用于VPN客户端同VPN服务端之间的隧道通信,所述VPN客户端将用户通信数据加密封装在隧道中,发送给VPN服务器,VPN服务器转发解密后的用户数据到目标网络;所述隧道通信包括以下流程:(1)客户端:发送建链请求;(2)当协商超时或者客户端消息错误停止;当客户端认证成功,服务端发送建链成功;(3)当链路保活超时或者客户端发送退出消息,停止。本发明专利技术加密秘钥不直接在网络上传输,且结合随机数增加改动本地秘钥,加密秘钥安全且可以随机变换,无法结合流量来破解隧道数据,从而使用户的通信内容更安全。

【技术实现步骤摘要】
一种VPN隧道协议实现方法
本专利技术涉及网络通讯
,尤其涉及一种VPN隧道协议实现方法。
技术介绍
VPN(VirtualPrivateNetwork虚拟专用网络)可以通过特殊的加密通信协议让连接在Internet上的位于不同地方的两个或多个企业网内网,或者移动用户和企业之间建立一条专有的通信线路。该专有的通信线路又常被描述为VPN隧道,是一条穿过混乱的公用网络的安全、稳定隧道。虚拟专用网是对企业内部网的扩展。除了企业的商业用途外,普通用户或安全审计人员也常常使用VPN匿名上网,避免通信信息被识别泄露。目前VPN所采用的隧道协议分为以下几种:PPTP、L2TP/IPSEC、OPENVPN、SSL、SOCK5代理协议。PPTP、L2TP/IPSEC、OPENVPN、SSL、SOCK5代理协议广泛应用于当前已有的VPN软件或VPN网关中。这些协议各有优点,安全性上,采用的加密方式均使隧道数据不易被破解,通信内容的安全可以得到保障。然而,这些协议有的具有明显的流量识别特征,使得VPN通信被识别阻断,如一些安全防火墙可以直接嗅探屏蔽该流量数据,使得用户无法使用这类VPN进行通信;有的仅供支持代理的软件应用程序进行VPN通信,如浏览器等,这样在某些场景下则无法使用VPN通信网络。PPTP协议,使用知名TCP/1723端口。协议采用规范的PPTP头进行封装加密的PPP数据。而PPTP头有显示的流量识别特征,如固定Magiccookie(0x1A2B3C4D)字段。PPTP隧道流量很容易被嗅探识别,一些安全防火墙可以直接嗅探屏蔽该流量数据,VPN隧道无法使用。L2TP/IPSEC协议,同样使用知名的UDP/1701端口。协议采用规范的L2TP头封装隧道数据。L2TP头也具有显示的流量识别特征。如图1所示为L2TP协议数据包格式,其中Version字段通常固定为0010,同一方向的TunnelID均相同,Ns字段在流量数据包中具有递增性的特点等。OPNEVPN协议由OpenVPN开源软件设计使用,没有规范的RFC文档,隧道协议端口不固定,但其协议控制数据包在协商验证时,具有固定的协商验证交互格式,可以被联合识别。SSL协议或SOCK5协议的VPN,均只能代理支持代理功能的应用程序的上网数据,不能代理其他的上网数据。对于有该方面需求的用户无法满足条件。同时,通用SSL在密钥协商时,流量还是具有一定的识别特征,如证书签发域名等信息。基于此,现研究一种安全、又不易被识别的隧道协议,且隧道支持封装IP数据包,用户的所有软件应用均可以使用该VPN隧道通信,即一种VPN隧道协议实现方法。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供了一种VPN隧道协议实现方法。本专利技术是通过以下技术方案实现的:一种VPN隧道协议实现方法,应用于VPN客户端同VPN服务端之间的隧道通信,其特征在于,所述VPN客户端将用户通信数据加密封装在隧道中,发送给VPN服务器,VPN服务器转发解密后的用户数据到目标网络,所述隧道通信包括以下流程:(1)客户端:发送建链请求;(2)当协商超时或者客户端消息错误停止;当客户端认证成功,服务端发送建链成功;(3)当链路保活超时或者客户端发送退出消息,停止。作为本专利技术的优选方式之一,所述通信数据的封装格式依次包括IP头、UDP/TCP头与隧道协议包,所述隧道协议包内包括加密长度、Type、隧道控制信息或数据消息。作为本专利技术的优选方式之一,所述加密长度字段占据5个字节,包含了隧道控制消息或数据消息的长度;所述Tybe字段占据1字节,低5位和最高位为随机Bit位,第5、6位联合表明控制消息类型,若为01则表明为建链请求消息,10则为建链响应消息,11则表明为其他消息;所述隧道控制消息用于隧道的建链和维护,其包括建链请求、建链响应、保活消息与数据消息,所述数据消息用于承载用户的真实通信数据。作为本专利技术的优选方式之一,所述建链请求的封装格式依次包括加密长度、Type、User-token、密钥随机数、密钥索引、跳数与任意长度填充数据。作为本专利技术的优选方式之一,所述建链响应的封装格式依次包括加密长度、Type、Tlag、固定加密校验消息、任意长度填充数据。作为本专利技术的优选方式之一,所述保活消息的封装格式依次包括加密长度、Type、User-token、Flag、任意长度填充数据。作为本专利技术的优选方式之一,所述数据消息的封装格式依次包括加密长度、Type、User-token、Flag、压缩加密的用户IP数据报。作为本专利技术的优选方式之一,所述User-token:8字节随机数,用于表示不同的合法用户,用户登录认证成功后,可以获得流量服务器节点认可的User-token,客户端发送建链请求消息中需携带,建链请求消息中的User-token不存在于流量服务器节点,则流量服务器节点认为建链请求非法,忽略该非法请求;所述建链响应消息的Flag字段:占据1字节,低7位为随机Bit位,最高位表明是否建链成功,1表明建链成功,0则表明建链失败;所述保活消息中的Flag字段:占1字节,高7bit为随机数据,最低位设置为0;所述数据消息中的Flag字段:占1字节,高7bit为随机数据,最低位设置为1,数据消息Flag字段之后为加密的用户数据。作为本专利技术的优选方式之一,所述数据消息Flag字段后加密的用户数据的加密方式包括:加密算法与密钥,所述加密算法使用salsa208,密钥为加密随机数+本地固定密钥,所述加密算法包括以下步骤:(1)第一层:用户的通信数据直接通过双方约定的秘钥进行加密(秘钥集以加密文件方式存储于客户端软件和流量服务器节点中,隧道消息通信时指定秘钥索引和偏移随机数,客户端软件和流量服务器节点通过秘钥索引获取本地秘钥集中的秘钥,结合偏移随机数进行加密解密);(2)第二层:加密的数据直接gzip压缩,同时减少数据通信流量;(3)第三层:压缩后的加密数据长度使用独有的长度加密算法,封装到隧道数据消息包中;解密时,依次方向一层一层解密获取用户的真实通信数据。作为本专利技术的优选方式之一,所述用户通信数据承载于TCP/IP网络上。本专利技术相比现有技术的优点在于:(1)协议封装格式简单,协议封包头无固定字段,协议头中无关BIT位均使用随机数进行填充,封包数据长度不固定,不易被识别;(2)一层加密后使用GZIP压缩,有效的减少了数据通信流量,同时也增加了加密复杂性,从而使隧道更加安全:(3)隧道协议协商过程简单,且不传递真实秘钥数据,隧道消息通信时仅指定秘钥索引和偏移随机数,隧道通信双方通过秘钥索引获取本地秘钥集中的秘钥,结合偏移随机数进行加密解密;长度字段也使用双方约定的私有加密方法进行加密。附图说明图1是现有技术L2TP协议数据包格式示意图;图2是本专利技术的VPN中的隧道示意图;图3是本专利技术的隧道协议封包示意图;图4是本专利技术的隧道协议四种消息详细封包图;图5是本专利技术的隧道协议状态机示意图。具体实施方式下面对本专利技术的实施例作详细说明,本实施例在以本专利技术技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例。如图2、图3、图5所示:一种VPN隧道协议实现方法,应用于VPN客户端同VPN本文档来自技高网
...
一种VPN隧道协议实现方法

【技术保护点】
一种VPN隧道协议实现方法,应用于VPN客户端同VPN服务端之间的隧道通信,其特征在于,所述VPN客户端将用户通信数据加密封装在隧道中,发送给VPN服务器,VPN服务器转发解密后的用户数据到目标网络;所述隧道通信包括以下流程:(1)客户端:发送建链请求;(2)当协商超时或者客户端消息错误停止;当客户端认证成功,服务端发送建链成功;(3)当链路保活超时或者客户端发送退出消息,停止。

【技术特征摘要】
1.一种VPN隧道协议实现方法,应用于VPN客户端同VPN服务端之间的隧道通信,其特征在于,所述VPN客户端将用户通信数据加密封装在隧道中,发送给VPN服务器,VPN服务器转发解密后的用户数据到目标网络;所述隧道通信包括以下流程:(1)客户端:发送建链请求;(2)当协商超时或者客户端消息错误停止;当客户端认证成功,服务端发送建链成功;(3)当链路保活超时或者客户端发送退出消息,停止。2.根据权利要求1所述的VPN隧道协议实现方法,其特征在于,所述通信数据的封装格式依次包括IP头、UDP/TCP头与隧道协议包,所述隧道协议包内包括加密长度、Type、隧道控制信息或数据消息。3.根据权利要求2所述的VPN隧道协议实现方法,其特征在于,所述加密长度字段占据5个字节,包含了隧道控制消息或数据消息的长度;所述Tybe字段占据1字节,低5位和最高位为随机Bit位,第5、6位联合表明控制消息类型,若为01则表明为建链请求消息,10则为建链响应消息,11则表明为其他消息;所述隧道控制消息用于隧道的建链和维护,其包括建链请求、建链响应、保活消息与数据消息,所述数据消息用于承载用户的真实通信数据。4.根据权利要求3所述的VPN隧道协议实现方法,其特征在于,所述建链请求的封装格式依次包括加密长度、Type、User-token、密钥随机数、密钥索引、跳数与任意长度填充数据。5.根据权利要求3所述的VPN隧道协议实现方法,其特征在于,所述建链响应的封装格式依次包括加密长度、Type、Tlag、固定加密校验消息、任意长度填充数据。6.根据权利要求3所述的VPN隧道协议实现方法,其特征在于,所述保活消息的封装格式依次包括加密长度、Type、User-token、Flag、任意长度填充数据。7.根据权利要求3所述的VPN隧道协议实现方法,其特征在于,所述...

【专利技术属性】
技术研发人员:王晶晶王卫周会晓刘萍
申请(专利权)人:安徽新华博信息技术股份有限公司
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1