×××技术详解(一)
■ 引言
虚拟专用网络能够实现不一样网络的组件和资源之间的相互链接。虚拟专用网络可以利用Internet或其它公共互联网络的基础设施为用户建立隧道,并提供与专用网络同样的安全和功能保障。
虚拟专用网络容许远程通信方,销售人员或企业分支机构使用Internet等公共互联网络的路由基础设施以安全的方式与位于企业局域网端的企业服务器创建链接。虚拟专用网络对用户端透明,用户好象使用一条专用线路在客户计算机和企业服务器之间创建点对点链接,进行数据的传输。
虚拟专用网络技术一样支持企业经过Internet等公共互联网络与分支机构或其它公司创建链接,进行安全的通信。这种跨越Internet创建的×××链接逻辑上等同于两地之间使用广域网创建的链接。
虽然×××通信创建在公共互联网络的基础上,可是用户在使用×××时感受如同在使用专用网络进行通信,因此得名虚拟专用网络。
使用×××技术能够解决在当今远程通信量日益增大,企业全球运做普遍分布的状况下,员工须要访问中央资源,企业相互之间必须进行及时和有效的通信的问题。
若是但愿企业员工不管身处何地都可以与企业计算资源创建链接,企业必须采用一个可靠性高、扩展性强的远程访问解决方案。通常的,企业有以下选择:
1.管理信息系统(MIS)部门驱动方案。创建一个内部的MIS部门专门负责购买,安装和维护企业modem池和专用网络基础设施。
2.增值网络(VAN)方案。企业雇佣一个外部公司负责购买,安装和维护modem池和远程通信网络基础设施。
从费用,可靠性,管理和便于链接等几方面来看,这两种方案都不能最大程度的知足企业对网络安全性或扩展性的要求。所以,选择一种基于Internet技术的廉价方案取代企业花费在modem池和专用网络基础设施上的投资就显得极为重要。
■ 虚拟专用网络的基本用途
经过Internet实现远程用户访问
虚拟专用网络支持以安全的方式经过公共互联网络远程访问企业资源。
与使用专线拨打长途或(1-800)电话链接企业的网络接入服务器(NAS)不一样,虚拟专用网络用户首先拨通本地ISP的NAS,而后×××软件利用与本地ISP创建的链接在拨号用户和企业×××服务器之间建立一个跨越Internet或其它公共互联网络的虚拟专用网络。
经过Internet实现网络互连
能够采用如下两种方式使用×××链接远程局域网络。
1.使用专线链接分支机构和企业局域网。
不须要使用价格昂贵的长距离专用电路,分支机构和企业端路由器可使用各自本地的专用线路经过本地的ISP连通Internet。×××软件使用与当本地ISP创建的链接和Internet网络在分支机构和企业端路由器之间建立一个虚拟专用网络。
2.使用拨号线路链接分支机构和企业局域网。
不一样于传统的使用链接分支机构路由器的专线拨打长途或(1-800)电话链接企业NAS的方式,分支机构端的路由器能够经过拨号方式链接本地ISP。×××软件使用与本地ISP创建起的链接在分支机构和企业端路由器之间建立一个跨越Internet的虚拟专用网络。
应当注意在以上两种方式中,是经过使用本地设备在分支机构和企业部门与Internet之间创建链接。不管是在客户端仍是服务器端都是经过拨打本地接入电话创建链接,所以×××能够大大节省链接的费用。建议做为×××服务器的企业端路由器使用专线链接本地ISP。×××服务器必须一天24小时对×××数据流进行监听。
链接企业内部网络计算机
在企业的内部网络中,考虑到一些部门可能存储有重要数据,为确保数据的安全性,传统的方式只能是把这些部门同整个企业网络断开造成孤立的小网络。这样作虽然保护了部门的重要信息,可是因为物理上的中断,使其余部门的用户没法,形成通信上的困难。
采用×××方案,经过使用一台×××服务器既可以实现与整个企业网络的链接,又能够保证保密数据的安全性。路由器虽然也可以实现网络之间的互联,可是并不能对流向敏感网络的数据进行限制。使用×××服务器,可是企业网络管理人员经过使用×××服务器,指定只有符合特定身份要求的用户才能链接×××服务器得到访问敏感信息的权利。此外,能够对全部×××数据进行加密,从而确保数据的安全性。没有访问权利的用户没法看到部门的局域网络
×××技术详解(二)
■ ×××的基本要求
通常来讲,企业在选用一种远程网络互联方案时都但愿可以对访问企业资源和信息的要求加以控制,所选用的方案应当既可以实现受权用户与企业局域网资源的自由链接,不一样分支机构之间的资源共享;又可以确保企业数据在公共互联网络或企业内部网络上传输时安全性不受破坏.所以,最低限度,一个成功的×××方案应当可以知足如下全部方面的要求:
1.用户验证
×××方案必须可以验证用户身份并严格控制只有受权用户才能访问×××。另外,方案还必须可以提供审计和记费功能,显示何人在什么时候访问了何种信息。
2.地址管理
×××方案必须可以为用户分配专用网络上的地址并确保地址的安全性。
3.数据加密
对经过公共互联网络传递的数据必须通过加密,确保网络其余未受权的用户没法读取该信息。
4.密钥管理
×××方案必须可以生成并更新客户端和服务器的加密密钥。
5.多协议支持
×××方案必须支持公共互联网络上广泛使用的基本协议,包括IP,IPX等。以点对点隧道协议(PPTP)或第2层隧道协议(L2TP)为基础的×××方案既可以知足以上全部的基本要求,又可以充分利用遍布世界各地的Internet互联网络的优点。其它方案,包括安全IP协议(IPSec),虽然不能知足上述所有要求,可是仍然适用于在特定的环境。本文如下部分将主要集中讨论有关×××的概念,协议,和部件(component)。
■ 隧道技术基础
隧道技术是一种经过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)能够是不一样协议的数据桢(此字不正确)或包。隧道协议将这些其它协议的数据桢或包从新封装在新的包头中发送。新的包头提供了路由信息,从而使封装的负载数据可以经过互联网络传递。
被封装的数据包在隧道的两个端点之间经过公共互联网络进行路由。被封装的数据包在公共互联网络上传递时所通过的逻辑路径称为隧道。一旦到达网络终点,数据将被解包并转发到最终目的地。注意隧道技术是指包括数据封装,传输和解包在内的全过程。
隧道所使用的传输网络能够是任何类型的公共互联网络,本文主要以目前广泛使用Internet为例进行说明。此外,在企业网络一样能够建立隧道。隧道技术在通过一段时间的发展和完善以后,目前较为成熟的技术包括:
1.IP网络上的SNA隧道技术
当系统网络结构(SystemNetworkArchitecture)的数据流经过企业IP网络传送时,SNA数据桢将被封装在UDP和IP协议包头中。
2.IP网络上的NovellNetWareIPX隧道技术
当一个IPX数据包被发送到NetWare服务器或IPX路由器时,服务器或路由器用UDP和IP包头封装IPX数据包后经过IP网络发送。另外一端的IP-TO-IPX路由器在去除UDP和IP包头以后,把数据包转发到IPX目的地。
近几年不断出现了一些新的隧道技术,本文将主要介绍这些新技术。具体包括:
1.点对点隧道协议(PPTP)
PPTP协议容许对IP,IPX或NetBEUI数据流进行加密,而后封装在IP包头中经过企业IP网络或公共互联网络发送。
2.第2层隧道协议(L2TP)
L2TP协议容许对IP,IPX或NetBEUI数据流进行加密,而后经过支持点对点数据报传递的任意网络发送,如IP,X.25,桢中继或ATM。
3.安全IP(IPSec)隧道模式
IPSec隧道模式容许对IP负载数据进行加密,而后封装在IP包头中经过企业IP网络或公共IP互联网络如Internet发送。
■ 隧道协议
为建立隧道,隧道的客户机和服务器双方必须使用相同的隧道协议。
隧道技术能够分别以第2层或第3层隧道协议为基础。上述分层按照开放系统互联(OSI)的参考模型划分。第2层隧道协议对应OSI模型中的数据链路层,使用桢做为数据交换单位。PPTP,L2TP和L2F(第2层转发)都属于第2层隧道协议,都是将数据封装在点对点协议(PPP)桢中经过互联网络发送。第3层隧道协议对应OSI模型中的网络层,使用包做为数据交换单位。IP overIP以及IPSec隧道模式都属于第3层隧道协议,都是将IP包封装在附加的IP包头中经过IP网络传送。
■ 隧道技术如何实现
对于象PPTP和L2TP这样的第2层隧道协议,建立隧道的过程相似于在双方之间创建会话;隧道的两个端点必须赞成建立隧道并协商隧道各类配置变量,如地址分配,加密或压缩等参数。绝大多数状况下,经过隧道传输的数据都使用基于数据报的协议发送。隧道维护协议被用来做为管理隧道的机制。
第3层隧道技术一般假定全部配置问题已经经过手工过程完成。这些协议不对隧道进行维护。与第3层隧道协议不一样,第2层隧道协议(PPTP和L2TP)必须包括对隧道的建立,维护和终止。
隧道一旦创建,数据就能够经过隧道发送。隧道客户端和服务器使用隧道数据传输协议准备传输数据。例如,当隧道客户端向服务器端发送数据时,客户端首先给负载数据加上一个隧道数据传送协议包头,而后把封装的数据经过互联网络发送,并由互联网络将数据路由到隧道的服务器端。隧道服务器端收到数据包以后,去除隧道数据传输协议包头,而后将负载数据转发到目标网络。
×××技术详解(三)
■ 隧道协议和基本隧道要求
由于第2层隧道协议(PPTP和L2TP)以完善的PPP协议为基础,所以继承了一整套的特性。
1.用户验证
第2层隧道协议继承了PPP协议的用户验证方式。许多第3层隧道技术都假定在建立隧道以前,隧道的两个端点相互之间已经了解或已经通过验证。一个例外状况是IPSec协议的ISAKMP协商提供了隧道端点之间进行的相互验证。
2.令牌卡(Tokencard)支持
经过使用扩展验证协议(EAP),第2层隧道协议可以支持多种验证方法,包括一次性口令(one-timepassword),加密计算器(cryptographic calculator)和智能卡等。第3层隧道协议也支持使用相似的方法,例如,IPSec协议经过ISAKMP/Oakley协商肯定公共密钥证书验证。
3.动态地址分配
第2层隧道协议支持在网络控制协议(NCP)协商机制的基础上动态分配客户地址。第3层隧道协议一般假定隧道创建以前已经进行了地址分配。目前IPSec隧道模式下的地址分配方案仍在开发之中。
4.数据压缩
第2层隧道协议支持基于PPP的数据压缩方式。例如,微软的PPTP和L2TP方案使用微软点对点加密协议(MPPE)。IETP正在开发应用于第3层隧道协议的相似数据压缩机制。
5.数据加密
第2层隧道协议支持基于PPP的数据加密机制。微软的PPTP方案支持在RSA/RC4算法的基础上选择使用MPPE。第3层隧道协议可使用相似方法,例如,IPSec经过ISAKMP/Oakley协商肯定几种可选的数据加密方法。微软的L2TP协议使用IPSec加密保障隧道客户端和服务器之间数据流的安全。
6.密钥管理
做为第2层协议的MPPE依靠验证用户时生成的密钥,按期对其更新。IPSec在ISAKMP交换过程当中公开协商公用密钥,一样对其进行按期更新。
7.多协议支持
第2层隧道协议支持多种负载数据协议,从而使隧道客户可以访问使用IP,IPX,或NetBEUI等多种协议企业网络。相反,第3层隧道协议,如IPSec隧道模式只能支持使用IP协议的目标网络
■ 点对点协议
由于第2层隧道协议在很大程度上依靠PPP协议的各类特性,所以有必要对PPP协议进行深刻的探讨。PPP协议主要是设计用来经过拨号或专线方式创建点对点链接发送数据。PPP协议将IP,IPX和NETBEUI包封装在PP桢内经过点对点的链路发送。PPP协议主要应用于链接拨号用户和NAS。 PPP拨号会话过程能够分红4个不一样的阶段。分别以下:
阶段1:建立PPP链路
PPP使用链路控制协议(LCP)建立,维护或终止一次物理链接。在LCP阶段的初期,将对基本的通信方式进行选择。应当注意在链路建立阶段,只是对验证协议进行选择,用户验证将在第2阶段实现。一样,在LCP阶段还将肯定链路对等双方是否要对使用数据压缩或加密进行协商。实际对数据压缩/加密算法和其它细节的选择将在第4阶段实现。
阶段2:用户验证
在第2阶段,客户会PC将用户的身份明发给远端的接入服务器。该阶段使用一种安全验证方式避免第三方窃取数据或冒充远程客户接管与客户端的链接。大多数的PPP方案只提供了有限的验证方式,包括口令验证协议(PAP),挑战握手验证协议(CHAP)和微软挑战握手验证协议(MSCHAP)。
1.口令验证协议(PAP)
PAP是一种简单的明文验证方式。NAS要求用户提供用户名和口令,PAP以明文方式返回用户信息。很明显,这种验证方式的安全性较差,第三方能够很容易的获取被传送的用户名和口令,并利用这些信息与NAS创建链接获取NAS提供的全部资源。因此,一旦用户密码被第三方窃取,PAP没法提供避免受到第三方***的保障措施。
2.挑战-握手验证协议(CHAP)
CHAP是一种加密的验证方式,可以避免创建链接时传送用户的真实密码。NAS向远程用户发送一个挑战口令(challenge),其中包括会话ID和一个任意生成的挑战字串(arbitrary challengestring)。远程客户必须使用MD5单向哈希算法(one-wayhashingalgorithm)返回用户名和加密的挑战口令,会话ID以及用户口令,其中用户名以非哈希方式发送。
CHAP对PAP进行了改进,再也不直接经过链路发送明文口令,而是使用挑战口令以哈希算法对口令进行加密。由于服务器端存有客户的明文口令,因此服务器能够重复客户端进行的操做,并将结果与用户返回的口令进行对照。CHAP为每一次验证任意生成一个挑战字串来防止受到再现***(replay attack).在整个链接过程当中,CHAP将不定时的向客户端重复发送挑战口令,从而避免第3方冒充远程客户(remoteclient impersonation)进行***。
3.微软挑战-握手验证协议(MS-CHAP)
与CHAP相相似,MS-CHAP也是一种加密验证机制。同CHAP同样,使用MS-CHAP时,NAS会向远程客户发送一个含有会话ID和任意生成的挑战字串的挑战口令。远程客户必须返回用户名以及通过MD4哈希算法加密的挑战字串,会话ID和用户口令的MD4哈希值。采用这种方式服务器端将只存储通过哈希算法加密的用户口令而不是明文口令,这样就可以提供进一步的安全保障。此外,MS-CHAP一样支持附加的错误编码,包括口令过时编码以及容许用户本身修改口令的加密的客户-服务器(client-server)附加信息。使用MS-CHAP,客户端和NAS双方各自生成一个用于随后数据加密的起始密钥。MS-CHAP使用基于MPPE的数据加密,这一点很是重要,能够解释为何启用基于MPPE的数据加密时必须进行MS-CHAP验证。
在第2阶段PPP链路配置阶段,NAS收集验证数据而后对照本身的数据库或中央验证数据库服务器(位于NT主域控制器或远程验证用户拨入服务器)验证数据的有效性。
阶段3:PPP回叫控制(callbackcontrol)
微软设计的PPP包括一个可选的回叫控制阶段。该阶段在完成验证以后使用回叫控制协议(CBCP)若是配置使用回叫,那么在验证以后远程客户和NAS之间的链接将会被断开。而后由NAS使用特定的电话号码回叫远程客户。这样能够进一步保证拨号网络的安全性。NAS只支持对位于特定电话号码处的远程客户进行回叫。
阶段4:调用网络层协议
在以上各阶段完成以后,PPP将调用在链路建立阶段(阶段1)选定的各类网络控制协议(NCP).例如,在该阶段IP控制协议(IPCP)能够向拨入用户分配动态地址。在微软的PPP方案中,考虑到数据压缩和数据加密实现过程相同,因此共同使用压缩控制协议协商数据压缩(使用MPPC)和数据加密(使用MPPE)。
×××技术详解(四)
■ 数据传输阶段
一旦完成上述4阶段的协商,PPP就开始在链接对等双方之间转发数据。每一个被传送的数据报都被封装在PPP包头内,该包头将会在到达接收方以后被去除。若是在阶段1选择使用数据压缩而且在阶段4完成了协商,数据将会在被传送之间进行压缩。相似的,若是若是已经选择使用数据加密并完成了协商,数据(或被压缩数据)将会在传送以前进行加密。
点对点隧道协议(PPTP)
PPTP是一个第2层的协议,将PPP数据桢封装在IP数据报内经过IP网络,如Internet传送。PPTP还可用于专用局域网络之间的链接。RFC草案“点对点隧道协议”对PPTP协议进行了说明和介绍。该草案由PPTP论坛的成员公司,包括微软,Ascend,3Com,和ECI等公司在1996年6月提交至IETF。可在以下站点
[url]http://www.ietf.org[/url]
[url]http://www.ietf.org[/url]参看草案的在线拷贝.PPTP使用一个TCP链接对隧道进行维护,使用通用路由封装(GRE)技术把数据封装成PPP数据桢经过隧道传送。能够对封装PPP桢中的负载数据进行加密或压缩。图7所示为如何在数据传递以前组装一个PPTP数据包。
第2层转发(L2F)
L2F是Cisco公司提出隧道技术,做为一种传输协议L2F支持拨号接入服务器将拨号数据流封装在PPP桢内经过广域网链路传送到L2F服务器(路由器)。L2F服务器把数据包解包之从新注入(inject)网络。与PPTP和L2TP不一样,L2F没有肯定的客户方。应当注意L2F只在强制隧道中有效。(自愿和强制隧道的介绍参看“隧道类型”)。
第2层隧道协议(L2TP)
L2TP结合了PPTP和L2F协议。设计者但愿L2TP可以综合PPTP和L2F的优点。
L2TP是一种网络层协议,支持封装的PPP桢在IP,X.25,桢中继或ATM等的网络上进行传送。当使用IP做为L2TP的数据报传输协议时,可使用L2TP做为Internet网络上的隧道协议。L2TP还能够直接在各类WAN媒介上使用而不须要使用IP传输层。草案RFC“第2层隧道协议”对L2TP进行了说明和介绍。该文档于1998年1月被提交至IETF。能够在如下网站
[url]http://www.ietf.org[/url]
[url]http://www.ietf.org[/url]得到草案拷贝。
IP网上的L2TP使用UDP和一系列的L2TP消息对隧道进行维护。L2TP一样使用UDP将L2TP协议封装的PPP桢经过隧道发送。能够对封装PPP桢中的负载数据进行加密或压缩。图8所示为如何在传输以前组装一个L2TP数据包。
PPTP与L2TP
PPTP和L2TP都使用PPP协议对数据进行封装,而后添加附加包头用于数据在互联网络上的传输。尽管两个协议很是类似,可是仍存在如下几方面的不一样:
1.PPTP要求互联网络为IP网络。L2TP只要求隧道媒介提供面向数据包的点对点的链接。L2TP能够在IP(使用UDP),桢中继永久虚拟电路(PVCs),X.25虚拟电路(VCs)或ATM VCs网络上使用。
2.PPTP只能在两端点间创建单一隧道。L2TP支持在两端点间使用多隧道。使用L2TP,用户能够针对不一样的服务质量建立不一样的隧道。
3.L2TP能够提供包头压缩。当压缩包头时,系统开销(overhead)占用4个字节,而PPTP协议下要占用6个字节。
4.L2TP能够提供隧道验证,而PPTP则不支持隧道验证。可是当L2TP或PPTP与IPSEC共同使用时,能够由IPSEC提供隧道验证,不须要在第2层协议上验证隧道。
■ IPSec隧道模式
IPSEC是第3层的协议标准,支持IP网络上数据的安全传输。本文将在“高级安全”一部分中对IPSEC进行详细的整体介绍,此处仅结合隧道协议讨论IPSEC协议的一个方面。除了对IP数据流的加密机制进行了规定以外,IPSEC还制定了IPoverIP隧道模式的数据包格式,通常被称做IPSEC隧道模式。一个IPSEC隧道由一个隧道客户和隧道服务器组成,两端都配置使用IPSEC隧道技术,采用协商加密机制。
为实如今专用或公共IP网络上的安全传输,IPSEC隧道模式使用的安全方式封装和加密整个IP包。而后对加密的负载再次封装在明文IP包头内经过网络发送到隧道服务器端。隧道服务器对收到的数据报进行处理,在去除明文IP包头,对内容进行解密以后,获的最初的负载IP包。负载IP包在通过正常处理以后被路由到位于目标网络的目的地。
IPSEC隧道模式具备如下功能和局限:
1.只能支持IP数据流
2.工做在IP栈(IPstack)的底层,所以,应用程序和高层协议能够继承IPSEC的行为。
3.由一个安全策略(一整套过滤机制)进行控制。安全策略按照优先级的前后顺序建立可供使用的加密和隧道机制以及验证方式。当须要创建通信时,双方机器执行相互验证,而后协商使用何种加密方式。此后的全部数据流都将使用双方协商的加密机制进行加密,而后封装在隧道包头内。
关于IPSEC的详细介绍参看本文稍后的“高级安全”部分。
■ 隧道类型
1.自愿隧道(Voluntarytunnel)
用户或客户端计算机能够经过发送×××请求配置和建立一条自愿隧道。此时,用户端计算机做为隧道客户方成为隧道的一个端点。
2.强制隧道(Compulsorytunnel)
由支持×××的拨号接入服务器配置和建立一条强制隧道。此时,用户端的计算机不做为隧道端点,而是由位于客户计算机和隧道服务器之间的远程接入服务器做为隧道客户端,成为隧道的一个端点。
目前,自愿隧道是最广泛使用的隧道类型。如下,将对上述两种隧道类型进行详细介绍。
自愿隧道
当一台工做站或路由器使用隧道客户软件建立到目标隧道服务器的虚拟链接时创建自愿隧道。为实现这一目的,客户端计算机必须安装适当的隧道协议。自愿隧道须要有一条IP链接(经过局域网或拨号线路)。使用拨号方式时,客户端必须在创建隧道以前建立与公共互联网络的拨号链接。一个最典型的例子是Internet拨号用户必须在建立Internet隧道以前拨通本地ISP取得与Internet的链接。
对企业内部网络来讲,客户机已经具备同企业网络的链接,由企业网络为封装负载数据提供到目标隧道服务器路由。
大多数人误认为×××只能使用拨号链接。其实,×××只要求支持IP的互联网络。一些客户机(如家用PC)能够经过使用拨号方式链接Internet创建IP传输。这只是为建立隧道所作的初步准备,并不属于隧道协议。
强制隧道
目前,一些商家提供可以代替拨号客户建立隧道的拨号接入服务器。这些可以为客户端计算机提供隧道的计算机或网络设备包括支持PPTP协议的前端处理器(FEP),支持L2TP协议的L2TP接入集线器(LAC)或支持IPSec的安全IP网关。本文将主要以FEP为例进行说明。为正常的发挥功能,FEP必须安装适当的隧道协议,同时必须可以当客户计算机创建起链接时建立隧道。
以Internet为例,客户机向位于本地ISP的可以提供隧道技术的NAS发出拨号呼叫。例如,企业能够与某个ISP签订协议,由ISP为企业在全国范围内设置一套FEP。这些FEP能够经过Internet互联网络建立一条到隧道服务器的隧道,隧道服务器与企业的专用网络相连。这样,就能够将不一样地方合并成企业网络端的一条单一的Internet链接。
由于客户只能使用由FEP建立的隧道,因此称为强制隧道。一旦最初的链接成功,全部客户端的数据流将自动的经过隧道发送。使用强制隧道,客户端计算机创建单一的PPP链接,当客户拨入NAS时,一条隧道将被建立,全部的数据流自动经过该隧道路由。能够配置FEP为全部的拨号客户建立到指定隧道服务器的隧道,也能够配置FEP基于不一样的用户名或目的地建立不一样的隧道。
自愿隧道技术为每一个客户建立独立的隧道。FEP和隧道服务器之间创建的隧道能够被多个拨号客户共享,而没必要为每一个客户创建一条新的隧道。所以,一条隧道中可能会传递多个客户的数据信息,只有在最后一个隧道用户断开链接以后才终止整条隧道。
■ 高级安全功能
虽然Internet为建立×××提供了极大的方便,可是须要创建强大的安全功能以确保企业内部网络不受到外来***,确保经过公共网络传送的企业数据的安全。
对称加密与非对称加密(专用密钥与公用密钥)
对称加密,或专用密钥(也称作常规加密)由通讯双方共享一个秘密密钥。发送方在进行数学运算时使用密钥将明文加密成密文。接受方使用相同的密钥将密文还原成明文。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包头。 ■ 用户管理 在选择×××技术时,必定要考虑到管理上的要求。一些大型网络都须要把每一个用户的目录信息存放在一台中央数据存储设备中(目录服务)便于管理人员和应用程序对信息进行添加,修改和查询。每一台接入或隧道服务器都应当可以维护本身的内部数据库,存储每一名用户的信息,包括用户名,口令,以及拨号接入的属性等。可是,这种由多台服务器维护多个用户账号的做法难以实现及时的更新,给管理带来很大的困难。所以,大多数的管理人员采用在目录服务器,主域控制器或RADIUS服务器上创建一个主账号数据库的方法,进行有效管理。 ■ RAS支持 微软的远程接入服务器(RAS)使用域控制器或RADIUS服务器存储每名用户的信息。由于管理员能够在单独的数据库中管理用户信息中的拨号许可信息,因此使用一台域控制器可以简化系统管理。 微软的RAS最初被用做拨号用户的接入服务器。如今,RAS能够做为PPTP和L2TP协议的隧道服务器(NT5将支持L2TP)。这些第2层的×××方案继承了已有的拨号网络所有的管理基础。 ■ 扩展性 经过使用循环DNS在同属一个安全地带(securityperimeter)的×××隧道服务器之间进行请求分配,能够实现容余和负荷平衡。一个安全地带只具备一个对外域名,但拥有多个IP地址,负荷能够在全部的IP地址之间进行任意的分配。全部的服务器可使用一个共享数据库,如NT域控制器验证访问请求。 ■ RADIUS 远程验证用户拨入服务(RADIUS)协议是管理远程用户验证和受权的经常使用方法。RADIUS是一种基于UDP协议的超轻便(lightweight)协议。RADIUS服务器能够被放置在Internet网络的任何地方为客户NAS提供验证(包括PPP PAP,CHAP,MSCHAP和EAP)。另外,RADIUS服务器能够提供代理服务将验证请求转发到远端的RADIUS服务器。例如,ISP之间相互合做,经过使用RADIUS代理服务实现漫游用户在世界各地使用本地ISP提供的拨号服务链接Internet和×××。若是ISP发现用户名不是本地注册用户,就会使用RADIUS代理将接入请求转发给用户的注册网络。这样企业在掌握受权权利的前提下,有效的使用ISP的网络基础设施,使企业的网络费用开支实现最小化。 ■ 记费,审计和报警 为有效的管理×××系统,网络管理人员应当可以随时跟踪和掌握如下状况:系统的使用者,链接数目,异常活动,出错状况,以及其它可能预示出现设备故障或网络受到***的现象。日志记录和实时信息对记费,审计和报警或其它错误提示具备很大帮助。例如,网络管理人员为了编制账单数据须要知道何人在使用系统以及使用了多长时间。异常活动可能预示着存在对系统的不正确使用或系统资源出现不足。对设备进行实时的监测能够在系统出现问题时及时向管理员发出警告。一台隧道服务器应当可以提供以上全部信息以及对数据进行正确处理所须要的事件日志,报告和数据存储设备。 NT4.0在RAS中提供了对记费,审计和报警的支持。RADIUS协议对呼叫-记费请求(call-accountingrequest)进行了规定。当RAS向RADIUS发送呼叫-记费请求后由后者创建记费记录分别记录呼叫开始,结束以及预约中断的状况。 ■ 结论 如本文所述,Windows系统自带的×××服务容许用户或企业经过公共或专用网络与远端服务器,分支机构,或其余公司创建安全和可靠的链接。虽然上述通信过程发生公共互联网络上,可是用户端如同使用专用网络进行通信同样创建起安全的链接。使用Windows系统的×××技术能够解决在当今远程通信量日益增大,企业全球运做分布普遍的状况下,员工须要访问中央资源,企业相互之间必须可以进行及时和有效的通信的问题。