相关知识
2.1 VPN产品概述
自从人类出现以来,就在使用着多种手段进行通信、沟通。在很多时候都需要进行不公开的私有会话,即在指定的接收者和发送者之间进行秘密通信,因此人们发明了耳语、密信、隐喻等方式实现这种保密通信。
对保密通信进行分析可以总结出其实现方式有两种:一是物理隔离,二是加密通信。物理隔离实际就是使通信双方的通信从公众视线中隔离出来,只有指定的接收者才能收到发送者的信息。加密通信实际是使用各种方法让消息变得隐晦、令人迷惑,只有指定的接收者才能理解其中的信息,这种通信可以在公众的视线下进行。
Internet的出现对人类的通信方式有着非常深刻的影响,从根本上改变了人们的交往方式,与传统的通信方式一样,网络通信也有保密性的要求。Internet是开放的网络,这在推动互联网迅速发展普及的同时,也带来了各种安全问题。军队、金融、交通等部门不得不使用专用网络(物理隔离)来实现安全、保密的通信。一些企业随着自身的发展壮大,在不同的地方不断设立分支机构,这时,企业也需要构建专用网络来实现企业内部的安全通信。
专用网络具有支持一系列协议,如帧中继、异步传输方式(ATM)和TCP/IP协议,高性能,高速度,高安全性等明显优势。然而,构建专用网络需要租用专线,租赁费用昂贵,往往利用又不充分,使网络运营成本很高。此外,企业还需要对所建立的专用网络进行维护和管理。专用网络中的硬件设备,如Modem、ISDN交换机等需要不断地加强功能,应用软件也需要升级换代,企业需要为此付出巨大的人力、物力和财力。因此,传统的通过租用专线或者拨号网络的方式越来越不适用。在这种情况下,虚拟专用网技术应运而生。
2.1.1 VPN的定义和特点
1.VPN的概念
VPN(Virtual Private Network)即虚拟专网技术,是指利用Internet或其他公共网络为用户建立一条临时的、安全的隧道,形成逻辑上的“专用网络”,并提供与专用网络相同的安全和功能保障。图2-1是使用专网与使用VPN的示意图。
图2-1 使用专网与使用VPN的示意图
“虚拟”意味着没有专门的物理上的网络基础设施用于专用网络,而“专用”则是指组建VPN的目的是保持通信数据的机密性。相对于租赁专线来说,使用互联网进行传输,费用极为低廉,所以VPN的出现,使企业通过互联网既安全又经济地传输私有的机密信息成为可能。
随着电子政务和电子商务信息化建设的快速推进和发展,越来越多的政府、企事业单位已经或即将构建网上办公系统和业务应用系统,使内部办公人员通过网络可以迅速地获取信息,使“在家办公”、“异地办公”、“移动办公”等多种远程办公模式得以逐步实现,同时使合作伙伴也能够访问到相应的信息资源。这种发展趋势也使得VPN的应用越来越广泛。
虚拟专用网可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。通过将数据流转移到低成本的网络上,一个企业的虚拟专用网解决方案将大幅度地减少用户花费在城域网和远程网络连接上的费用。同时,这将简化网络的设计和管理,加速连接新的用户和网站。另外,虚拟专用网还可以保护现有的网络投资。随着用户的商业服务不断发展,企业的虚拟专用网解决方案可以使用户将精力集中到自己的生意上,而不是网络上。虚拟专用网可用于不断增长的移动用户的全球因特网接入,以实现安全连接;可用于实现企业网站之间安全通信的虚拟专用线路;可用于经济有效地连接到商业伙伴和用户的安全外联网虚拟专用网。
2.VPN的特点
与传统专用网相比较,VPN具有以下特点。
1)价格便宜
费用较低是VPN相对于专用网络最直接的优点。VPN省去了价格昂贵的专线租赁费用和传统专用网中的设备维护费用。
2)安全性
VPN提供用户一种私人专用(Private)的感觉,因此在不安全、不可信任的公共数据网建立VPN的首要任务是解决安全性问题。VPN使用加密技术提供在数据传输过程中的数据安全性和数据完整性,使用身份验证和访问控制限制对企业网络资源和服务的访问。
在传统的专用网络中,传输过程的安全性依赖于通信服务提供商对于数据机密性采取的物理安全措施,难以防范中途的搭线窃听截取数据。
3)可扩充性和灵活性
相较于传统专用网范围较为固定的特点,VPN可扩充性强、灵活性强。一方面,地理覆盖范围更广,受地理位置的影响小,更容易扩展;另一方面,更容易支持新的传输方式,新的传输协议,新的数据流。VPN能够支持通过Intranet和Extranet的任何类型的数据流,方便增加新的节点,支持多种类型的传输媒介,可以满足同时传输语音、图像和数据等新应用对高质量传输及带宽增加的需求。
4)服务质量(QoS)较难保证
VPN应当为企业数据提供不同等级的服务质量保证,不同的用户和业务对服务质量保证的要求差别较大。另外,在网络优化方面,VPN的另一重要需求是充分有效地利用有限的广域网资源,为重要数据提供可靠的带宽。在服务质量上VPN相对于专用网络具有先天劣势——专线自然会提供更高的服务质量。可以通过一些技术手段保证服务质量。
5)可管理性
VPN是公司对外的延伸,因此VPN要有一个确定的管理方案以减轻管理、报告等方面的负担。从用户角度和运营商角度都应该能够方便地进行管理、维护。VPN管理的目标为:减小网络风险、高扩展性、经济性、高可靠性。具体来说,VPN管理主要包括安全管理、设备管理、配置管理、访问控制列表管理、QoS管理等内容。
3.VPN产品
VPN至少需要两个协同操作的设备(硬件或软件),这些设备之间的通信路径,可以被看成是一条通过不安全的Internet基础设施的安全信道。环绕这个信道的是一系列的功能特性,包括身份验证、访问控制及数据安全性和数据加密。
VPN产品是指那些使VPN成为可能的硬件和软件。最常用的VPN设备是VPN网关(VPN Gatway),它是网络通信和通信资源的守护者,隧道通常建立在从VPN网关到其他作为隧道端点的VPN设备之间。一个VPN网关常位于企业网络周边,是可信任专网和不可信网络的分界线。
VPN网关要做到两点:一要保证合法通信安全、顺利地进行,二要能够拒绝不希望的、非法的通信进出专网。VPN网关要实现与VPN相关的基本功能:隧道技术、身份验证、访问控制、数据完整性和机密性。不同厂商的产品在实现VPN网关功能时的做法是不同的,表现在:VPN网关可能是个独立的设备,也可能是集成了路由器或者防火墙功能的产品。
通常,一个VPN网关有两个或更多的网络接口,至少有一个网络接口与不安全的网络相连,还要有一个或多个网络接口与安全的内部网相连接。这点与防火墙和路由器相似。
VPN客户程序(VPN Client)是用来为单个计算机或者用户提供远程VPN访问的软件。与VPN网关不同,VPN客户是个程序,被设计成仅代表一个计算机,使本地的应用可以安全地访问公司的网络资源,因此VPN客户必须与主机的操作系统、本地应用和VPN网关协同工作,通过网络提供可靠的资源通信。通常,客户程序是安装在主机上的一个软件包。
对于VPN客户软件来说,很重要的一个要求就是安装与操作必须简便。VPN软件还要提供或支持多种加密方案和身份验证方法,以便用户选用。
2.1.2 VPN关键技术
实现VPN的几个关键技术包括:隧道技术(Tunneling)、身份认证技术、访问控制技术和密码技术,另外,密钥管理和QoS技术对VPN的具体实现也至关重要,如图2-2所示。
图2-2 VPN的关键技术
1.隧道技术
隧道实质上是一种封装技术,即将一种协议的报文封装在另一种协议中传输,从而实现被封装协议对封装协议的透明性,保持被封装协议的安全特性。
为了透明传输多种不同网络层协议的数据包,可以采取两种方法。一种是先把各种网络层协议(如IP、IPX和Apple Talk等)封装到数据链路层的点到点协议(PPP)帧里,再把整个PPP帧装入隧道协议里。这种封装方法封装的是数据链路层的数据包,所以称为“第二层隧道”,L2TP、PPTP协议属于这一种。另一种是把各种网络层协议数据包直接装入隧道协议中,由于封装的是网络层数据包,所以称为“第三层隧道”,如GRE、IPSec协议。此外,也有直接将应用层数据包进行封装的隧道协议,如SSL协议。
2.身份认证技术
一次安全的通信首先要求信源和(或)信宿必须是合法的、确定的,这就需要进行身份认证。身份认证能够确保通信双方的真实性,防止非法用户的欺骗。有时还要求VPN保证通信双方的不可否认性,就是防止一方否认自己曾做过的事(发过的信息)。目前,计算机及网络系统中常用的身份认证方式主要有用户名/密码方式、智能卡认证、动态口令、USBKey认证。
用户名/密码是最简单也是最常用的身份认证方法,是基于“what you know”的验证手段。每个用户的密码是由用户自己设定的,只有用户自己才知道。只要能够正确输入密码,计算机就认为操作者是合法用户。
智能卡是一种内置集成电路的芯片,芯片中存有与用户身份相关的数据,智能卡由专门的厂商通过专门的设备生产,是不可复制的硬件。智能卡由合法用户随身携带,登录时必须将智能卡插入专用的读卡器读取其中的信息,以验证用户的身份。智能卡认证是基于“what you have”的手段,通过智能卡硬件不可复制来保证用户身份不会被仿冒。然而由于每次从智能卡中读取的数据是静态的,通过内存扫描或网络监听等技术还是很容易截取到用户的身份验证信息,因此还是存在安全隐患。
动态口令技术是一种让用户密码按照时间或使用次数不断变化,每个密码只能使用一次的技术。它采用一种叫做动态令牌的专用硬件,内置电源、密码生成芯片和显示屏,密码生成芯片运行专门的密码算法,根据当前时间或使用次数生成当前密码并显示在显示屏上。认证服务器采用相同的算法计算当前的有效密码。用户使用时只需要将动态令牌上显示的当前密码输入客户端计算机,即可实现身份认证。由于每次使用的密码必须由动态令牌来产生,只有合法用户才持有该硬件,所以只要通过密码验证就可以认为该用户的身份是可靠的。而用户每次使用的密码都不相同,即使黑客截获了一次密码,也无法利用这个密码来仿冒合法用户的身份。
基于USBKey的身份认证方式是近几年发展起来的一种方便、安全的身份认证技术。它采用软、硬件相结合、一次一密的强双因子认证模式,很好地解决了安全性与易用性之间的矛盾。USBKey是一种USB接口的硬件设备,它内置单片机或智能卡芯片,可以存储用户的密钥或数字证书,利用USBKey内置的密码算法实现对用户身份的认证。基于USBKey身份认证系统主要有两种应用模式:一是基于冲击/响应的认证模式,二是基于PKI体系的认证模式。
3.访问控制技术
当身份认证过程完成后,VPN还需要确定通信实体的访问权限,这个工作由访问控制技术来完成。通常访问控制过程在隧道的端点进行。
访问控制过程有两个方面:
一方面是确定访问控制信息,通常,这些信息包括请求访问实体的身份信息、请求访问的资源及管理访问的规则。请求者的身份信息一般是用户名、IP地址或证书等。
另一方面是具体决策过程的组织,如决策过程可以完全在提交和协商安全的地方完成,或者系统可以询问一个独立的策略服务器来做决策。在一个中心服务器上管理所有的策略,能过使管理工作更加容易。
4.密码技术
VPN技术的所有组成部分都涉及数据安全性,根据“水桶原则”,系统整体的安全性取决于最薄弱的环节。由于VPN使用公用网来传输专用数据,数据在公共信道上传输的过程中被中途截取甚至被人篡改都是有可能的。因此,强劲的加密算法和消息完整性认证应该被应用在每个数据报文上。另外,数据报文传输系统应该能够预防重放攻击。在这方面要用到密码学的加密技术,哈希函数(HASH),消息认证等技术。
数据加密的基本思想是通过变换信息的表示形式来伪装需要保护的敏感信息,使非授权者不能了解被保护信息的内容。加密算法有RC4、DES、三重DES、AES、IDEA等。
加密技术可以在协议栈的任意层进行;可以对数据或报文头进行加密。在网络层中的加密标准是IPSec。网络层加密实现的最安全方法是在主机的端到端进行。另一个选择是“隧道模式”:加密只在路由器中进行,而终端与第一条路由之间不加密。这种方法不太安全,因为数据从终端系统到第一条路由时可能被截取而危及数据安全。终端到终端的加密方案中,VPN安全粒度达到个人终端系统的标准;而“隧道模式”方案中,VPN安全粒度只达到子网标准。在链路层中,目前还没有统一的加密标准,因此所有链路层加密方案基本上是生产厂家自己设计的,需要特别的加密硬件。
2.1.3 VPN的分类
VPN的分类方式比较混乱。不同的生产厂家在销售它们的VPN产品时使用了不同的分类方式,主要是从产品的角度来划分的。而不同的ISP在开展VPN业务时也使用了不同的分类方式,主要是从业务开展的角度来划分的。而用户往往也有自己的划分方法,主要是根据自己的需求来进行的。下面简单介绍一下按照VPN作用和协议类型对VPN的划分方式。
根据VPN所起的作用,可以将VPN分为三类:Access VPN、Intranet VPN和Extranet VPN。
1.Access VPN
在该方式下远端用户不再是如传统的远程网络访问那样,通过长途电话拨号到公司远程接入端口,而是拨号接入到用户本地的ISP,利用VPN系统在公众网上建立一个从客户端到网关的安全传输通道。这种方式最适用于公司内部经常有流动人员远程办公的情况。出差员工或者在家办公、异地办公的人员拨号接入到用户本地的ISP,就可以和公司的VPN网关建立私有的隧道连接。服务器可对员工进行验证和授权,保证连接的安全,同时负担的整体接入成本大大降低。
2.Intranet VPN
在公司远程分支机构的LAN和公司总部LAN之间的VPN。通过Intranet这一公共网络将公司在各地分支机构的LAN连到公司总部的LAN,以便公司内部的资源共享、文件传递等,可节省DDN等专线所带来的高额费用。
3.Extranet VPN
在供应商、商业合作伙伴的LAN和公司的LAN之间的VPN。由于不同公司网络环境的差异性,该产品必须能兼容不同的操作平台和协议。由于用户的多样性,公司的网络管理员还应该设置特定的访问控制表ACL(Access Control List),根据访问者的身份、网络地址等参数来确定他所相应的访问权限,开放部分资源而非全部资源给外联网的用户。
根据VPN的协议,可以将VPN分为PPTP、L2F、L2TP、MPLS、IPSec和SSL,如图2-3所示。
图2-3 VPN协议层