1引 言
随着Internet等公共网络的迅速发展和国际经济一体化的发展趋势,企业内部及企业间通过网络传递信息的需求越来越多。如何以最低的费用保障通信的安全与高效,是企业极其关注的问题。流行的解决方案是利用隧道技术,在Internet等不安全的公共网络上建立安全的虚拟专用网络,即虚拟专用网(VPN)。
IPSec是实现VPN的一种协议,正在得到越来越广泛的应用,将成为虚拟专用网的主要标准。尽管IPSec已经是一种包容极广、功能极强的IP安全协议,但却仍然不能算是适用于所有配置的一套极为完整的方案,其中仍然存在一些需要解决的问题。本文对IPSec相关协议进行分析的基础上,针对IPSec协议族在安全策略方面的不足,提出在远程访问模型中使用集中试策略管理,并对该管理系统进行了研究。
2 IPSec VPN
IPSec协议为IPv4和IPv6提供可互操作的、高质量的、基于加密体制的安全方案。包括访问控制、无连接的完整性、数据源认证、防止重播攻击、信息加密和流量保密等安全服务。所有这些服务都建立在IP层,并保护上层的协议。这些服务通过使用两个安全协议:认证头AH[RFC2402]和封装安全载荷ESP[RFC2406],以及通过使用加密密钥管理过程和协议来实现。这些加密密钥管理过程和协议包括Internet安全联盟(SA)和密钥管理协议(ISAKMP)[RFC2408]以及Internet密钥交换协议(IKE)[RFC2409]。
2.1 认证头(AH)协议。协议的目的是用来增加IP数据包的安全性。AH协议提供无连接的完整性、数据源认证和抗重播保护服务。
2.2 封装安全载荷(ESP)协议。协议的目的和认证头(AH)一样,是用于提高IP的安全性。ESP提供数据保密、数据源认证、无连接完整性、抗重播服务和有限的数据流保护。
AH和ESP协议都支持两种工作模式:传输模式和隧道模式。传输模式为上层协议提供安全保护,保护的是IP包的有效载荷或者说保护的是上层协议(如TCP、UDP和ICMP)。隧道模式是为整个IP包提供保护。
2.3 Internet安全联盟密钥管理协议(ISAKMP)。协议定义了协商、建立、修改和删除SA的过程和包格式。ISAKMP提供了一个通用的SA属性格式框架和一些可由不同密钥交换协议使用的协商、修改、删除SA的方法。ISAKMP被设计为密钥交换无关的协议;并没有让它受限于任何具体的密钥交换协议、密码算法、密钥生成技术或认证机制。
2.4 IKE。IKE是一个以受保护的方式为SA协商并提供经认证的密钥信息的协议。IKE是一个混合协议,它使用到了三个不同协议的相关部分:Internet安全联盟和密钥管理协议(ISAKMP)[MSST98]、Oakley密钥确定协议[Orm98]和SKEME[Kra96]。IKE为IPSec双方提供用于生成加密密钥和认证密钥的密钥信息。同样,IKE使用ISAKMP为其他IPSec(AH和ESP)协议协商SA。
2.5 安全联盟(SA)。SA的概念是IPSec密钥管理的基础。AH和ESP都使用SA,而且IKE协议的主要功能就是建立和维护SA。SA是两个通信实体经过协商建立起来的一种简单的“连接”,规定用来保护数据的IPSec协议类型、加密算法、认证方式、加密和认证密钥、密钥的生存时间以及抗重播攻击的序列号等,为所承载的流量提供安全服务。
IPSec的实现必须维护以下两个与SA相关的数据库:安全策略数据库(SPD),指定给IP数据流提供的安全服务,主要根据源地址、目的地址、入数据还是出数据等确定。SPD有一个排序的策略列表,针对入数据和出数据有不同的数据项。这些数据项可以指定某些数据流必须绕过IPSec处理,一些必须被丢弃或经过IPSec处理等策略;安全联盟数据库(SAD),包含每一个SA的参数信息,如AH或ESP算法和密钥、序列号、协议模式以及SA的生命周期。对于出数据的处理,有一个SPD数据项包含指向某个SAD数据项的指针。也就是说,SPD决定了一个特定的数据包使用什么样的SA。对于入数据的处理,由SAD来决定如何对特定的数据包作处理。
3 IPSec策略管理分析与设想
3.1 IPSec VPN中的策略管理
在一个IPSec中,IPSec功能的正确性完全依据安全策略的正确制定与配置。传统的方法是通过手工配置IPSec策略,这种方式在大型的分布式网络中存在效率低、易出错等问题。而一个易出错的策略将可能导致通讯的阻塞和严重的安全隐患。而且,既使每个安全域策略的制订是正确的,也可能会在不同的安全域中,由于策略之间的交互,出现在局部范围内安全策略的多样性,从而造成端到端间通讯的严重问题。