1.VPN概述 近年来,随着Internet的快速增长以及网络经济的发展,企业网的应用也不断发展,范围也不断扩大,企业网已经从一个单一的本地网络发展到跨地区跨城市甚至是跨国家的网络。在这 种情况下,传统网络固定的专线连接方式已经很难适应现代企业的需求。
因此企业对于自身网络的建设提出了更高的要求,主要表现在网络的灵活性、安全性、经济性、扩展性等方面。VPN技术的出现,使得企业能够在公用通信网络中灵活、安全地进行数据交换,显著节省使用专用网络的长途费用,降低公司建设自己的广域网(WAN)的成本,而且同时实现信息资源的充分利用。
上海博达数据通信有限公司作为国内著名的数据网络产品制造商,其开发研制的博达BDCOM系列路由器在安全、网络优化以及管理等方面对VPN均给予了强大的支持。
2.博达BDCOM系列路由器的VPN技术
BDCOM系列路由器所采用的VPN技术主要包括:
隧道技术
GRE
IPSec
密钥交换技术
2.1 隧道技术
对于构建VPN而言,网络隧道(Tunneling)技术是一项关键技术,指的是利用一种网络协议来传输另一种网络协议,它主要利用网络隧道协议来实现这种功能。
现有的两种类型隧道协议:第二层隧道协议,用于传输二层网络协议;第三层隧道协议,用于传输第三层网络协议,第三层隧道协议主要包括GRE(GRE, Generic Routing Encapsulation,RFC1701)协议和IETF的IPSec协议。
我们将结合BDCOM系列路由器着重说明第三层隧道协议的技术及应用
2.2 GRE
基本路由封装GRE(Generic Routing Encapsulation)是对某些网络层协议(如IP和IPX)的数据进行封装,使这些被封装的数据报能够在另外一个网络层协议中传输。GRE是VPN的第三层隧道协议,在协议层之间采用了Tunnel(隧道)的技术。
Tunnel是一个虚拟的点对点的连接,它提供了一条通路使封装的数据报能够在这个通路上传输,并且在一个Tunnel的两端进行数据报的封装与解封装过程。当路由器接受到一个需要封装和路由的原始数据报文(Payload),这个报文首先被GRE封装成GRE报文,接着被封装在IP协议中,然后完全由IP层负责此报文的转发。
GRE主要能提供以下几种服务:
多协议、多业务本地网通过单一骨干网传输;
扩大了包含步跳数限制协议(RIP)的应用范围;
将不能连续的子网连接起来,组建VPN 。
2.3 IPSec
IPSec(IP Security)不是单一的协议或算法,它是一系列加密实现中使用的加密标准的集合。它实现第三层的安全,与任何上层应用和传输层无关。IPSec通过AH(Authentication Header)和ESP(Encapsulation Security Payload)这两个安全协议来实现,并且不会对用户、主机或其他组件造成影响
IPSec提供了下列网络安全性服务,而这些服务是可选的。通常,本地安全策略将规定使用下列这些服务的一种或多种:
数据机密性 —— IPSec发送方在通过网络传输IP包前对包进行加密。
数据完整性 —— IPSec接收方对发送方发送来的包进行认证,以确保数据在传输过程中没有被篡改。
数据来源认证 —— IPSec接收方对IPSec包的源地址进行认证。这项服务基于数据完整性服务。
反重播 —— 一种安全性服务,使得接收者可以拒绝接受过时包或包拷贝,以保护自己不被攻击。IPSec用一个序列号来提供这一可选服务,以配合数据认证的使用。
IPSec的实现采取了一套专门的方案,把安全服务/密钥与要保护的通信数据联系到一起,同时也将远端通信实体和这些受IPSec保护的通信数据联系到一起,这样的一种保护方案我们称之为安全联盟(SA, Security Association)。安全联盟定义了数据保护中使用的协议和算法以及有效时间等属性。
IPSec在转发加密数据时产生新的验证头AH和/或ESP附加报头,用于保证IP数据包的安全性。IPSec有隧道和传输两种工作方式。在隧道方式中,用户的整个IP数据包被用来计算附加报头并且被加密,附加报头和加密用户数据被封装在一个新的IP数据包中;在传输方式中,只是传输层(如TCP,UDP)数据被用来计算附加报头,附加报头和被加密的传输层数据被放置在IP报头后面。
ESP(Encapsulating Security Payload),封装安全性有效负载。定义于RFC2406协议。它用于确保IP数据包的机密性(对第三方不可见)、数据的完整性以及对数据源地址的验证,同时还具有抗重播的特性。
新版本的ESP同时提供了数据的加密保护和数据完整性验证机制,在SA中定义了两套算法 —— 用来确保数据机密性的加/解密的加密算法(如ESP-DES、ESP-3DES),和用来负责数据完整性验证的验证算法(即散列算法,如ESP-MD5-HMAC、ESP-SHA-HMAC),同时我们还可以定义ESP-NULL的加密算法,选择该算法则意味着不对数据进行加密处理,显然在这种情况下,我们必须选择一种散列算法,否则是毫无任何意义的SA。
如上图所示,ESP头没有加密保护,只采用了验证保护,但ESP尾的一部分则进行的加密处理,这是因为ESP头中包含了一些关于加/解密的信息。所以ESP头自然就采用明文形式了。
ESP是一个通用的、易于扩展的安全协议,它提供了一些抗重播服务,至于是否提供抗重播服务,则是由数据包的接收者来决定的。
AH(Authentication Header),验证头。定义于RFC2402中。该协议用于为IP数据包提供数据完整性、数据包源地址验证和一些有限的抗重播服务,与ESP协议相比,AH不提供对通信数据的加密服务,同样提供对数据的验证服务,但能比ESP提供更加广的数据验证服务,如图所示:
它对整个IP数据包的内容都进行了数据完整性验证处理。在SA中定义了用来负责数据完整性验证的验证算法(即散列算法,如ESP-MD5-HMAC、ESP-SHA-HMAC)来为它进行服务。和ESP类似,AH也提供了一些抗重播服务,同样,是否提供抗重播服务,则是由数据包的接收者来决定的。
使用IPSec,数据就可以在公网上安全地传输,它提供了两个主机之间、两个安全网关之间以及主机和安全网关之间的数据保护。
IPSec的安全联盟可以通过手工配置的方式建立,但当网络中的节点增多时,手工配置将非常困难。这时候就要使用IKE自动地进行安全联盟建立与密钥交换的过程。
2.4 密钥交换技术
ISAKMP(Internet Security Association and Key Management Protocol),Internet安全联盟及密钥管理协议。ISAKMP定义了通信的双方如何沟通,如何构建彼此间用以沟通的消息,还定义了保障通信安全所需的状态变换。ISAKMP提供了对对方的身份进行验证的方法、密钥交换时如何交互信息的方法以及对安全服务进行协商的方法。
IKE(The Internet Key Exchange),Internet 密钥交换。ISAKMP本身没有定义具体的密钥交换技术,而在IPSec中,采用了IKE来作为密钥交换的工具。IKE利用ISAKMP语言来定义密钥交换,由此来对安全服务进行协商。
IKE使用了两个阶段的的ISAKMP,第一阶段建立ISAKMP-SA,或称为IKE-SA,第二阶段利用这个既定的安全联盟,为IPSec协商具体的安全联盟。
IKE定义了两个第一阶段的协商(Main Mode-主模式和Aggressive Mode—野蛮模式),第一阶段协商的目的是建立一个ISAKMP/IKE安全联盟(IKE-SA),为第二阶段的协商提供一个保密和验证无误的安全通信信道。
除此之外,IKE还定义了一个第二阶段的协商(Quick Mode—快速模式)。这一阶段的协商用的最终目的是建立一个安全联盟(IPSec -SA),生成验证过的密钥,为双方的IPSec通信提供机密性、数据完整性以及数据源地址验证等安全服务。
3.应用实例
BDCOM系列路由器通过构建VPN的方案1。[如下图]
BDCOM系列路由器通过构建VPN的方案2。[如图2]
随着业务的拓展和规模的扩大,越来越多的企业需要在全国乃至世界范围内建立各种办事处,分支机构,分公司等等,传统的连接方式一般是租用专线,但随着机构的不断增加,网络结构趋于复杂,费用昂贵。
BDCOM系列路由器提供的方案具有以下功能:
外出人员可以通过PSTN接入企业内部网络
外出人员可以通过PSTN接入任一远地办事机构
远地的办事机构可以通过路由器和企业内部网络建立安全通道
若干远地办事机构可以相互建立安全连接
利用VPN特性可以在Internet上组建企业自身的网络。在Internet线路保证网络互联性的基础上,利用隧道、加密等VPN特性可以确保信息在整个网络上面安全地传输。
4.总结
BDCOM系列路由器支持多种VPN技术,包括隧道技术、IPSec、密钥交换技术等,并还将发展和支持越来越多的先进技术,以实现对VPN更好的支持,更加充分的发挥VPN技术的优势,为用户提供性能更高、功能更强解决方案。