网络安全应用技术 VPN技术详细说明
来源:赛迪网 更新时间:2007-08-28

一、引言

虚拟专用网络可以实现不同网络的组件和资源之间的相互连接。虚拟专用网络能够利用Internet或其它公共互联网络的基础设施为用户创建隧道,并提供与专用网络一样的安全和功能保障。

虚拟专用网络允许远程通讯方,销售人员或企业分支机构使用Internet等公共互联网络的路由基础设施以安全的方式与位于企业局域网端的企业服务器建立连接。虚拟专用网络对用户端透明,用户好象使用一条专用线路在客户计算机和企业服务器之间建立点对点连接,进行数据的传输。

虚拟专用网络技术同样支持企业通过Internet等公共互联网络与分支机构或其它公司建立连接,进行安全的通讯。这种跨越Internet建立的VPN连接逻辑上等同于两地之间使用广域网建立的连接。

虽然VPN通讯建立在公共互联网络的基础上,但是用户在使用VPN时感觉如同在使用专用网络进行通讯,所以得名虚拟专用网络。

使用VPN技术可以解决在当今远程通讯量日益增大,企业全球运作广泛分布的情况下,员工需要访问中央资源,企业相互之间必须进行及时和有效的通讯的问题。

如果希望企业员工无论身处何地都能够与企业计算资源建立连接,企业必须采用一个可靠性高、扩展性强的远程访问解决方案。一般的,企业有如下选择:

管理信息系统(MIS)部门驱动方案。建立一个内部的MIS部门专门负责购买,安装和维护企业modem池和专用网络基础设施。

增值网络(VAN)方案。企业雇佣一个外部公司负责购买,安装和维护modem池和远程通讯网络基础设施。

从费用,可靠性,管理和便于连接等几方面来看,这两种方案都不能最大程度的满足企业对网络安全性或扩展性的要求。因此,选择一种基于Internet技术的廉价方案取代企业花费在modem池和专用网络基础设施上的投资就显得极为重要。

二、虚拟专用网络的基本用途

通过Internet实现远程用户访问

虚拟专用网络支持以安全的方式通过公共互联网络远程访问企业资源。

与使用专线拨打长途或(1-800)电话连接企业的网络接入服务器(NAS)不同,虚拟专用网络用户首先拨通本地ISP的NAS,然后VPN软件利用与本地ISP建立的连接在拨号用户和企业VPN服务器之间创建一个跨越Internet或其它公共互联网络的虚拟专用网络。

通过Internet实现网络互连

可以采用以下两种方式使用VPN连接远程局域网络。

使用专线连接分支机构和企业局域网。

不需要使用价格昂贵的长距离专用电路,分支机构和企业端路由器可以使用各自本地的专用线路通过本地的ISP连通Internet。VPN软件使用与当本地ISP建立的连接和Internet网络在分支机构和企业端路由器之间创建一个虚拟专用网络。

使用拨号线路连接分支机构和企业局域网。

不同于传统的使用连接分支机构路由器的专线拨打长途或(1-800)电话连接企业NAS的方式,分支机构端的路由器可以通过拨号方式连接本地ISP。VPN软件使用与本地ISP建立起的连接在分支机构和企业端路由器之间创建一个跨越Internet的虚拟专用网络。

应当注意在以上两种方式中,是通过使用本地设备在分支机构和企业部门与Internet之间建立连接。无论是在客户端还是服务器端都是通过拨打本地接入电话建立连接,因此VPN可以大大节省连接的费用。建议作为VPN服务器的企业端路由器使用专线连接本地ISP。VPN服务器必须一天24小时对VPN数据流进行监听。

连接企业内部网络计算机

在企业的内部网络中,考虑到一些部门可能存储有重要数据,为确保数据的安全性,传统的方式只能是把这些部门同整个企业网络断开形成孤立的小网络。这样做虽然保护了部门的重要信息,但是由于物理上的中断,使其他部门的用户无法,造成通讯上的困难。

采用VPN方案,通过使用一台VPN服务器既能够实现与整个企业网络的连接,又可以保证保密数据的安全性。路由器虽然也能够实现网络之间的互联,但是并不能对流向敏感网络的数据进行限制。使用VPN服务器,但是企业网络管理人员通过使用VPN服务器,指定只有符合特定身份要求的用户才能连接VPN服务器获得访问敏感信息的权利。此外,可以对所有VPN数据进行加密,从而确保数据的安全性。没有访问权利的用户无法看到部门的局域网络。

十二、高级安全功能

虽然Internet为创建VPN提供了极大的方便,但是需要建立强大的安全功能以确保企业内部网络不受到外来攻击,确保通过公共网络传送的企业数据的安全。

对称加密与非对称加密(专用密钥与公用密钥)

对称加密,或专用密钥(也称做常规加密)由通信双方共享一个秘密密钥。发送方在进行数学运算时使用密钥将明文加密成密文。接受方使用相同的密钥将密文还原成明文。RSA RC4算法,数据加密标准(DES),国际数据加密算法(IDEA)以及Skipjack加密技术都属于对称加密方式。 

非对称加密,或公用密钥,通讯各方使用两个不同的密钥,一个是只有发送方知道的专用密钥,另一个则是对应的公用密钥,任何人都可以获得公用密钥。专用密钥和公用密钥在加密算法上相互关联,一个用于数据加密,另一个用于数据解密。

公用密钥加密技术允许对信息进行数字签名。数字签名使用发送发送一方的专用密钥对所发送信息的某一部分进行加密。接受方收到该信息后,使用发送方的公用密钥解密数字签名,验证发送方身份。

十三、证书

使用对称加密时,发送和接收方都使用共享的加密密钥。必须在进行加密通讯之前,完成密钥的分布。使用非对称加密时,发送方使用一个专用密钥加密信息或数字签名,接收方使用公用密钥解密信息。公用密钥可以自由分布给任何需要接收加密信息或数字签名信息的一方,发送方只要保证专用密钥的安全性即可。

为保证公用密钥的完整性,公用密钥随证书一同发布。证书(或公用密钥证书)是一种经过证书签发机构(CA)数字签名的数据结构。CA使用自己的专用密钥对证书进行数字签名。如果接受方知道CA的公用密钥,就可以证明证书是由CA签发,因此包含可靠的信息和有效的公用密钥。

总之,公用密钥证书为验证发送方的身份提供了一种方便,可靠的方法。IPSec可以选择使用该方式进行端到端的验证。RAS可以使用公用密钥证书验证用户身份。

十四、扩展验证协议(EAP)

如前文所述,PPP只能提供有限的验证方式。EAP是由IETF提出的PPP协议的扩展,允许连接使用任意方式对一条PPP连接的有效性进行验证。EAP支持在一条连接的客户和服务器两端动态加入验证插件模块。

十五、交易层安全协议(EAP-TLS)

EAP-TLS已经作为提议草案提交给IETF,用于建立基于公用密钥证书的强大的验证方式。使用EAP-TLS,客户向拨入服务器发送一份用户方证书,同时,服务器把服务器证书发送给客户。用户证书向服务器提供了强大的用户识别信息;服务器证书保证用户已经连接到预期的服务器。

用户方证书可以被存放在拨号客户PC中,或存放在外部智能卡。无论那种方式,如果用户不能提供没有一定形式的用户识别信息(PIN号或用户名和口令),就无法访问证书。

十六、IPSEC

IPSEC是一种由IETF设计的端到端的确保基于IP通讯的数据安全性的机制。IPSEC支持对数据加密,同时确保数据的完整性。按照IETF的规定,不采用数据加密时,IPSEC使用验证包头(AH)提供验证来源验证(source authentication),确保数据的完整性;IPSEC使用封装安全负载(ESP)与加密一道提供来源验证,确保数据完整性。IPSEC协议下,只有发送方和接受方知道秘密密钥。如果验证数据有效,接受方就可以知道数据来自发送方,并且在传输过程中没有受到破坏。

可以把IPSEC想象成是位于TCP/IP协议栈的下层协议。该层由每台机器上的安全策略和发送、接受方协商的安全关联(security association)进行控制。安全策略由一套过滤机制和关联的安全行为组成。如果一个数据包的IP地址,协议,和端口号满足一个过滤机制,那么这个数据包将要遵守关联的安全行为。

十七、协商安全关联(NegotiatedSecurityAssociation)

上述第一个满足过滤机制的数据包将会引发发送和接收方对安全关联进行协商。ISAKMP/OAKLEY是这种协商采用的标准协议。在一个ISAKMP/OAKLEY交换过程中,两台机器对验证和数据安全方式达成一致,进行相互验证,然后生成一个用于随后的数据加密的个共享密钥。

十八、验证包头

通过一个位于IP包头和传输包头之间的验证包头可以提供IP负载数据的完整性和数据验证。验证包头包括验证数据和一个序列号,共同用来验证发送方身份,确保数据在传输过程中没有被改动,防止受到第三方的攻击。IPSEC验证包头不提供数据加密;信息将以明文方式发送。

十九、封装安全包头

为了保证数据的保密性并防止数据被第3方窃取,封装安全负载(ESP)提供了一种对IP负载进行加密的机制。另外,ESP还可以提供数据验证和数据完整性服务;因此在IPSEC包中可以用ESP包头替代AH包头。

二十、用户管理

在选择VPN技术时,一定要考虑到管理上的要求。一些大型网络都需要把每个用户的目录信息存放在一台中央数据存储设备中(目录服务)便于管理人员和应用程序对信息进行添加,修改和查询。每一台接入或隧道服务器都应当能够维护自己的内部数据库,存储每一名用户的信息,包括用户名,口令,以及拨号接入的属性等。但是,这种由多台服务器维护多个用户帐号的作法难以实现及时的更新,给管理带来很大的困难。因此,大多数的管理人员采用在目录服务器,主域控制器或RADIUS服务器上建立一个主帐号数据库的方法,进行有效管理。

二十一、RAS支持

微软的远程接入服务器(RAS)使用域控制器或RADIUS服务器存储每名用户的信息。因为管理员可以在单独的数据库中管理用户信息中的拨号许可信息,所以使用一台域控制器能够简化系统管理。

微软的RAS最初被用作拨号用户的接入服务器。现在,RAS可以作为PPTP和L2TP协议的隧道服务器(NT5将支持L2TP)。这些第2层的VPN方案继承了已有的拨号网络全部的管理基础。

二十二、扩展性

通过使用循环DNS在同属一个安全地带(securityperimeter)的VPN隧道服务器之间进行请求分配,可以实现容余和负荷平衡。一个安全地带只具有一个对外域名,但拥有多个IP地址,负荷可以在所有的IP地址之间进行任意的分配。所有的服务器可以使用一个共享数据库,如NT域控制器验证访问请求。

二十三、RADIUS

远程验证用户拨入服务(RADIUS)协议是管理远程用户验证和授权的常用方法。RADIUS是一种基于UDP协议的超轻便(lightweight)协议。RADIUS服务器可以被放置在Internet网络的任何地方为客户NAS提供验证(包括PPP PAP,CHAP,MSCHAP和EAP)。另外,RADIUS服务器可以提供代理服务将验证请求转发到远端的RADIUS服务器。例如,ISP之间相互合作,通过使用RADIUS代理服务实现漫游用户在世界各地使用本地ISP提供的拨号服务连接Internet和VPN。如果ISP发现用户名不是本地注册用户,就会使用RADIUS代理将接入请求转发给用户的注册网络。这样企业在掌握授权权利的前提下,有效的使用ISP的网络基础设施,使企业的网络费用开支实现最小化。

二十四、记费,审计和报警

为有效的管理VPN系统,网络管理人员应当能够随时跟踪和掌握以下情况:系统的使用者,连接数目,异常活动,出错情况,以及其它可能预示出现设备故障或网络受到攻击的现象。日志记录和实时信息对记费,审计和报警或其它错误提示具有很大帮助。例如,网络管理人员为了编制帐单数据需要知道何人在使用系统以及使用了多长时间。异常活动可能预示着存在对系统的不正确使用或系统资源出现不足。对设备进行实时的监测可以在系统出现问题时及时向管理员发出警告。一台隧道服务器应当能够提供以上所有信息以及对数据进行正确处理所需要的事件日志,报告和数据存储设备。

NT4.0在RAS中提供了对记费,审计和报警的支持。RADIUS协议对呼叫-记费请求(call-accountingrequest)进行了规定。当RAS向RADIUS发送呼叫-记费请求后由后者建立记费记录分别记录呼叫开始,结束以及预定中断的情况。

二十五、结论

如本文所述,Windows系统自带的VPN服务允许用户或企业通过公共或专用网络与远端服务器,分支机构,或其他公司建立安全和可靠的连接。虽然上述通讯过程发生公共互联网络上,但是用户端如同使用专用网络进行通讯一样建立起安全的连接。使用Windows系统的VPN技术可以解决在当今远程通讯量日益增大,企业全球运作分布广泛的情况下,员工需要访问中央资源,企业相互之间必须能够进行及时和有效的通讯的问题。