随着新的IPSec标准逐渐被大家接受,各机构在组建安全的虚拟专用网络(VPN)方面将会有更加一致的举措。
在分布式的计算机网络环境下,虚拟专用网络的出现为网络管理员提供了一种很好的解决方案。在企业的每个站点内,工作站、服务器和数据库等都由一个或多个局域网(LAN)连接起来。这些局域网在网络管理器的控制之下,并可以被设置及调配。Internet及其他公用网可以将这些站点相互连接起来,这样做比使用专用网更经济,同时,管理任务由ISP负责。远距离工作者和移动办公的雇员可以从远程站点登录到所在机构的网络中。
然而,网络管理员所面临的一个最基本的问题就是网络的安全。使用公用网络会使机构的信息容易被窃取,就相当于给那些未经授权的使用者设置一个“入口”。为了解决这一问题,网络管理员就会选择各种形式的加密和认证。如果采取的是特殊的加密和认证方式,它所提供的安全保障级别则相对较低。而且,没有哪个网络管理者愿意为了与安全兼容而限制工作站、服务器、路由器、防火墙的选择。
IPSec
1994年,互联网体系机构理事会(Internet Architecture Board IAB)曾发表了一篇关于《互联网体系结构中的安全问题(RFC 1636)》的报告。报告中陈述了人们对安全的渴望,并阐述了安全机制的关键技术。其中包括保护网络架构免受非法监视及控制、以及保证终端用户之间使用认证和加密技术进行安全交易等。
后来的事实证明,人们对这一问题的关注是不无道理的。计算机紧急事件响应队(CERT)在1996年的年终报告中列举了影响近11,000个站点的2,500多起安全事件。其中最严重的攻击包括IP哄骗(入侵者伪造假的IP地址,并对基于IP认证的应用程序进行哄骗)和各种的窃听和嗅探网包(攻击者在信息传输过程中非法截取如登录口令或数据库内容一类的敏感信息)。
IAB为了杜绝这些手段,将认证和加密作为下一代IP(即IPv6)中必不可少的安全特征。这就意味着厂商可以开始提供这些项目的服务了。实际上有一些厂商已经在这样做了。
现有的应用
IPSec可以保证局域网、专用或公用的广域网及Internet上信息传输的安全。下面的例子指明了IPSec的用途。
保证Internet上各分支办公点的安全连接。公司可以借助Internet或公用的广域网搭建安全的虚拟专用网络。这使得公司可以不必耗巨资去建立自己的专用网络,而只需依托Internet即可以获得同样的效果。
保证Internet上远程访问的安全。在计算机上装有IPSec的终端用户可以通过拨入所在地的ISP的方式获得对公司网络的安全访问权。这一做法降低了流动办公雇员及远距离工作者的长途电话费用
通过外部网或内部网建立与合作伙伴的联系。IPSec通过认证和钥匙交换机制确保企业与其它组织的信息往来的安全性与机密性。
提高了电子商务的安全性。尽管在电子商务的许多应用中已嵌入了一些安全协议,IPSec的使用仍可以使其安全级别在原有的基础上更进一步,因为所有由网络管理员指定的通信都是经过加密和认证的。
IPSec的主要特征在于它可以对所有IP级的通信进行加密和认证,正是这一点才使IPSec可以确保包括远程登录、客户/服务器、电子邮件、文件传输及Web访问在内多种应用程序的安全。
IPSec的优点
如果在路由器或防火墙上执行了IPSec,它就会为周边的通信提供强有力的安全保障。一个公司或工作组内部的通信将不涉及与安全相关的费用。下文叙述了IPSec的一些优点:
IPSec在传输层之下,对于应用程序来说是透明的。当在路由器或防火墙上安装IPSec时,无需更改用户或服务器系统中的软件设置。即使在终端系统中执行IPSec,应用程序一类的上层软件也不会被影响。
IPSec对终端用户来说是透明的,因此不必对用户进行安全机制的培训。
如果需要的话,IPSec可以为个体用户提供安全保障,这样做就可以保护企业内部的敏感信息。
IPSec正向Internet靠拢。已经有一些机构部分或全部执行了IPSec。IAB的前任总裁Christian Huitema认为,关于如何保证Internet安全的讨论是他所见过的最激烈的讨论之一。讨论的话题之一就是安全是否在恰当的协议层上被使用。想要提供IP级的安全,IPSec必须成为配置在所有相关平台(包括Windows NT,Unix和Macintosh系统)的网络代码中的一部分。
实际上,现在发行的许多Internet应用软件中已包含了安全特征。例如,Netscape Navigator和Microsoft Internet Explorer支持保护互联网通信的安全套层协议(SSL),还有一部分产品支持保护Internet上信用卡交易的安全电子交易协议(SET)。然而,VPN需要的是网络级的功能,这也正是IPSec所提供的。
IPSec的功能
IPSec提供三项主要的功能:单一认证功能(AH),认证、加密组合功能(ESP)及钥匙交换功能。
对于VPN来说,认证和加密都是必需的,因为只有双重安全措施才能确保未经授权的用户不能进入VPN,同时,Internet上的窃听者无法读取VPN上传输的信息。大部分的应用实例中都采用了ESP而不是AH。钥匙交换功能允许手工或自动交换密钥。
当前的IPSec支持数据加密标准(DES),但也可以使用其它多种加密算法。因为人们对DES的安全性有所怀疑,所以用户会选择使用Triple-DES(即三次DES加密)。至于认证技术,将会推出一个叫作HMAC(MAC 即信息认证代码Message Authentication Code)的新概念。
传输及隧道模式
ESP 支持传输模式,这种方式保护了高层协议。传输模式也保护了IP包的内容,特别是用于两个主机之间的端对端通讯(例如,客户与服务器,或是两台工作站)。传输模式中的ESP加密及有时候会认证IP 包内容,但不认证IP的包头。这种配置对于装有IPSec的小型网络特别有用。
但是,要全面实施VPN,使用隧道模式会更有效。ESP也支持隧道模式,保护了整个IP包。为此,IP包在添加了ESP字段后,整个包以及包的安全字段被认为是新的IP包外层内容,附有新的IP外层包头。原来的(及内层)包通过“隧道”从一个IP网络起点传输到另一个IP网点,中途的路由器可以检查IP的内层包头。因为原来的包已被打包,新的包可能有不同的源地址及目的地址,以达到安全的目的。
隧道模式被用在两端或是一端是安全网关的架构中,例如装有IPSec的路由器或防火墙。使用了隧道模式,防火墙内很多主机不需要安装IPSec 也能安全地通信。这些主机所生成的未加保护的网包,经过外网,使用隧道模式的安全组织规定(即SA,发送者与接收者之间的单向关系,定义装在本地网络边缘的安全路由器或防火墙中的IPSec软件IP交换所规定的参数)传输。
以下是隧道模式的IPSec运作的例子。某网络的主机甲生成一个IP包,目的地址是另一个网中的主机乙。这个包从起始主机被发送到主机甲的网络边缘的安全路由器或防火墙。防火墙把所有出去的包过滤,看看有哪些包需要进行IPSec的处理。如果这个从甲到乙的包需要使用IPSec,防火墙就进行IPSec的处理,并把网包打包,添加外层IP包头。 这个外层包头的源地址是防火墙,而目的地址可能是主机乙的网络边缘的防火墙。现在这个包被传送到主机乙的防火墙,中途的路由器只检查外层的IP包头。主机乙网络的防火墙会把外层IP包头除掉,把IP内层发送到主机乙去。
钥匙管理
IPSec 的钥匙管理部分负责密钥的分发。IPSec架构支持两种密钥管理方式。
人工手动管理方式是指管理员使用自己的密钥及其它系统的密钥手工设置每个系统。这种方法在小型网络环境中使用比较实际。
另一方面,自动管理系统可以随时建立新的SA密钥,并可以对较大的分布式系统上使用密钥进行定期的更新。自动管理模式是很有弹性的,但需要花费更多的时间及精力去设置,同时,还需要使用更多的软件。
IPSec的自动管理密钥协议的默认名字是ISAKMP/Oakley。互联网安全组织及密钥管理协议(Internet Security Association and Key Management Protocol ISAKMP)对互联网密钥管理的架构以及特定的协议提供支持。
Oakley 密钥使用的协议基于Diffle-Hellman 算法,但它也提供额外的安全功能。特别是Oakley包括认证用户的机制。
IPSec及VPN
由于企业及政府用户需要把它们的专用WAN/LAN 架构与互联网连接,以便访问互联网的服务,所以他们非常热衷于部署安全的IP。用户需要把它们的网络与互联网分隔,但同时要在网上发送及接受网包。安全的IP就可以提供网上的认证及隐私机制。
因为IP安全机制是独立定义,其用途与现在的IP或IPv6不同,IP安全机制不需要依靠IPv6部署。我们可以看到安全IP的功能会首先被广泛使用,它会比IPv6先流行起来,因为对IP层的安全需求远比增加IPv6功能的需求多许多。
有了IPSec,管理人员就有了实施VPN的安全标准。此外,所有在IPSec中使用的加密及认证算法已经过仔细的研究和几年的验证,所以用户大可放心地将安全问题交付给IPSec。