■ 证书
使用对称加密时,发送和接收方都使用共享的加密密钥。必须在进行加密通讯之前,完成密钥的分布。使用非对称加密时,发送方使用一个专用密钥加密信息或数字签名,接收方使用公用密钥解密信息。公用密钥可以自由分布给任何需要接收加密信息或数字签名信息的一方,发送方只要保证专用密钥的安全性即可。
为保证公用密钥的完整性,公用密钥随证书一同发布。证书(或公用密钥证书)是一种经过证书签发机构(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技术可以解决在当今远程通讯量日益增大,企业全球运作分布广泛的情况下,员工需要访问中央资源,企业相互之间必须能够进行及时和有效的通讯的问题。