IPsec安全策略系统研究
摘 要 基于策略的网络互联是当前安全研究的热点问题之一。该文首先介绍了ipsec协议中策略的含义及使用,继而讨论了ietf提出的安全策略系统的一般结构及各关键部件的功能划分。最后讨论了当前研究存在的问题及今后的研究方向。 关键词 ipsec;安全策略数据库;安全关联数据库;安全策略系统
1 ipsec协议
ipsec(internet protocol security)是ietf提出的一套开放的标准协议,它是ipv6的安全标准,也可应用于目前的ipv4。ipsec协议是属于网络层的协议,ip层是实现端到端通信的最底层,但是ip协议在最初设计时并未考虑安全问题,它无法保证高层协议载荷的安全,因而无法保证通信的安全。而ipsec协议通过对ip层数据的封装和保护,能够为高层协议载荷提供透明的安全通信保证。ipsec包括安全协议部分和密钥协商部分,安全协议部分定义了对通信的各种保护方式;密钥协商部分则定义了如何为安全协议协商保护参数,以及如何对通信实体的身份进行鉴别。ietf的ipsec工作组已经制定了诸多rfc,对ipsec的方方面面都进行了定义,但其核心由其中的三个最基本的协议组成。www.11665.COm即:认证协议头(authentication header,ah)、安全载荷封装(encapsulating security payload,esp)和互联网密钥交换协议(internet key exchange protocol,ikmp)。 ah协议提供数据源认证,无连接的完整性,以及一个可选的抗重放服务。ah认证整个ip头,不过由于ah不能加密数据包所加载的内容,因而它不保证任何的机密性。 esp协议通过对数据包的全部数据和加载内容进行全加密,来提供数据保密性、有限的数据流保密性,数据源认证,无连接的完整性,以及抗重放服务。和ah不同的是,esp认证功能不对ip数据报中的源和目的以及其它域认证,这为esp带来了一定的灵活性。 ipsec使用ike协议实现安全协议的自动安全参数协商,可协商的安全参数包括数据加密及鉴别算法、加密及鉴别的密钥、通信的保护模式(传输或隧道模式)、密钥的生存期等,这些安全参数的总体称之为安全关联(security association,sa)。ipsec协议族使用ike密钥交换协议来进行密钥及其它安全参数的协商[1]。2 ipsec策略管理
2.1 ipsec策略使用
ipsec的基本功能是访问控制以及有选择地实施安全,即只有选中的ip报文才被允许通过或被指定的安全功能所保护。ipsec的实现需维护两个与sa有关的数据库,安全策略数据库(security policy database,spd)和安全关联数据库(security association database,sad)。spd是为ipsec实现提供安全策略配置,包括源、目的ip地址、掩码、端口、传输层协议、动作(丢弃、绕过、应用)、进出标志、标识符、sa和策略指针。sad是sa的集合,其内容(rfc要求的必须项)包括目的ip地址、安全协议、spi、序列号计数器、序列号溢出标志、抗重播窗口、sa的生命期、进出标志、sa状态、ipsec协议模式(传输或隧道)、加密算法和验证算法相关项目[1]。ipsec对进出数据报文的处理过程如图1、2所示[2]。
2.2 安全策略系统概述
ipsec安全服务的实施是基于安全策略的,安全策略提供了实施ipsec的一套规则。ietf的ipsec工作组于1999年1月针对安全策略配置管理存在的一系列问题,提出了安全策略系统模型(security policy system,sps)。sps是一个分布式系统,提供了一种发现、访问和处理安全策略信息的机制,使得主机和安全网关能够在横跨多个安全网关的路径上建立一个安全的端到端的通信(如图3所示)。sps由策略服务器(policy server)、主文件、策略客户端(policy client)、安全网关(security gate)和策略数据库(policy database)组成,该系统模型应用安全策略规范语言(security policy specification language,spsl)来描述安全策略,应用安全策略协议(security policy protocol,spp)来分发策略[3]。 在sps里,安全域定义为共享同一个公用安全策略集的通信实体和资源组的集合。安全域将网络进行了划分,每个安全域都包含有自己的 sps 数据库、策略服务器和策略客户端。而 sps 就是在这些安全域上分布式实现的一个数据库管理系统。每个安全域含一个主文件(master file),文件中定义了安全域的描述信息,包含该安全域的网络资源(主机、子网和网络)及访问它们的策略,安全策略和完整的域定义就保存在主文件中。 本地策略信息与非本地策略一起构成了sps数据库。ietf已经提供了一种把安全策略映射到轻型目录访问协议(light weight directory access protocol,ldap)目录数据库存储形式的方案。策略服务器是一个策略决定点(policy decision point,pdp)。它为安全域内所有用户提供用户状态维护、策略分发等服务,同时为安全域管理员提供了一个集中管理和配置安全域数据信息的界面。当管理员修改了域策略后,服务器会通知该域已经登录的客户端用户更新本地组策略,然后客户端根据新的组策略重新协商ipsec sa。策略服务器同时接收来自策略客户和其它策略服务器的请求消息并加以处理,然后基于请求和服务控制规则将合适的策略信息提供给请求者。
图3 安全策略系统
策略客户端是一个安全策略执行点(policy enforcement point,pep)。pep是vpn设备的安全代理,用于根据pdp分配的安全策略设定设备上的具体安全参数。策略客户端向 sps 策略服务器提出策略请求,策略服务器在验证了请求后,对这些请求产生相应的响应,如果是授权的用户,就将相应的策略信息反馈给策略客户端,如果没有相应的策略信息,则由策略服务器负责协商解决。策略客户端将策略应答转换成应用所需的适当格式。
策略服务器和客户使用spp来交换策略信息。它采用客户/服务器结构,将策略信息从sps数据库传输到安全网关和策略客户端。spp所传送的策略信息包括描述通信的选择符字段以及0个或多个sa记录。这些sa记录共同描述了整个通信中所需的sa。spp同时还是一个网关发现协议,能够自动发现通信路径上存在的安全网关及其安全策略。通信端点可以通过spp来认证安全网关的标识,以及安全网关是否被授权代表它所声称的源或目的端点。安全网关则可利用spp与未知网关进行安全策略的交换。3 结束语
从概念上说,sps基本上满足ipsec策略框架提出的需求,但是在应用的过程中存在很多问题,比如没有分析潜在的策略冲突和交互及进行策略的正确性、一致性检查。但sps提供了很好的策略管理思想,可以加以借鉴构建新型的安全策略系统。然而,期望的安全需求和实现这些需求的特定ipsec策略之间存在着模糊的关系。在大型分布式系统的安全管理中,需要将需求和策略清晰地分离开,来让客户在较高层次下规定安全需求并自动产生满足这些需求的低级策略是一种可取的方法。对于如何划分策略层次结构、实现策略的集中管理等还要做深入的研究。参考文献
[1] kent s,atkinson r. security architecture for the internet protocol. http:/ /www. ietf. org/ rfc / rfc2401. txt,1998 .5-16[2] 张世永.网络安全原理及应用. 科学出版社,2003.248-249[3] baltatu m,l ioy a,mazzocch id. security policy system status and perspective[a ]. proceedings of the ieee international conference on networks[c ],2000. 278 - 284上一篇:快递地址信息
下一篇:无线传感器网络分簇路由协议的研究