IPSec远程访问VPN的安全策略研究
发布时间:2015-07-09 11:29
[摘 要]VPN技术应用日益广泛,IPSec已成为实现VPN的主要方式。文章对IPSec相关协议进行分析的基础上,针对IPSec协议族在安全策略方面的不足,提出在远程访问模型中使用集中试策略管理并对该管理系统进行了研究。
[关键词]PSec VPN;安全策略数据库;安全关联数据库;安全策略
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策略,这种方式在大型的分布式网络中存在效率低、易出错等问题。而一个易出错的策略将可能导致通讯的阻塞和严重的安全隐患。而且,既使每个安全域策略的制订是正确的,也可能会在不同的安全域中,由于策略之间的交互,出现在局部范围内安全策略的多样性,从而造成端到端间通讯的严重问题。
根据以上协议建立起来的基于IPSec的VPN,当主机使用动态地址接入,发起VPN连接时。主机将使用协商好的SA处理的数据包发送到网关。网关接收到数据包后,使用相应的SA处理数据包,而后进行载荷校验。这时,在载荷校验过程中,会因为没有将新协商而建立起来的SA的数据项与SPD连接在一起,而造成不能通过载荷校验。而且,当网关需要给主机发送数据时,并不能在SPD中通过使用目的地址检索到相应的安全策略。因为,主机是动态地址,每次发送时使用的地址都有可能变化。如果发生这样的状况,那么由传输层交给IPSec模块的数据包将会被丢弃。也就是说,网关将不能通过VPN隧道向主机发送数据。这个问题显然是由于SPD数据的更新问题所引起的。因此,必须构建一个安全策略系统来系统地管理和验证各种IPSec策略。
3.2 远程访问模型中策略系统的构想
构建一个策略系统,需要解决策略的定义、存取、管理、交换、验证、发现机制等问题以及系统自身的安全性问题。其中策略的表示和策略在动态交换中的安全性问题是系统的核心问题。目前RFC尚未制定关于策略系统的标准,因此还没有成熟的实现方案。
现在较为流行的方案是:策略系统由四个部分组成——安全策略仓库、策略服务器、安全网关、策略客户端。其中安全策略仓库(Repository)用于存储策略信息,能对系统中的策略进行汇总。它可以是目录服务器或数据库服务器,除了储存管理员已经编辑好的策略信息,还可以存储其它的网络信息和系统参数。策略决策点(Policy Decision Point,PDP)通常也被称为策略服务器,是整个系统的决策中心。它负责存取策略仓库中的策略,并根据策略信息做出决策,然后将相应的策略分配至策略执行点。策略决策点还能检测策略的变化和冲突,从而采取应对措施。策略执行点(Policy Enforcement Point,PEP)是接受策略管理的网络实体,通常也被称作策略客户端。它可以是路由器、交换机、防火墙等网络设备,负责执行由策略决策点分配来的策略。同时它还向策略决策点发送信息,使策略决策点知道网络的变化以及策略的执行情况。服务器利用LDAP(轻量级目录访问协议)与数据库交互,安全网关通过COPS(普通开放式策略服务协议)与服务器交互,策略服务器之间以及服务器与客户端之间通过SPP(安全策略协议)进行通讯。
而在远程访问的模式下,只有公司总部一端设置了安全网关和策略服务器。所以可以把前面提到的方案进行改进,应用到远程访问模型中。
因此,可以将安全策略仓库放置在策略服务器上,而策略服务器与安全网关相连。安全策略仓库中存储了一些永久信息,策略服务器可以依据这些信息做出相关的策略决定。安全策略仓库最好采用LDAP这一类的标准目录机制来进行策略存。策略服务器负责使用策略决议方法来完成策略制订。
把安全网关和远程访问主机作为策略客户端。当策略客户端启动的时候,需要自动访问策略服务器,读取关于自己的安全策略。此外,当策略服务器改变了某些安全策略时,就需要通知相关的策略客户端访问策略服务器来更新策略。策略客户端必须实行本地保存策略,这是因为它必须知道哪些数据包实施了安全保护,哪些没有。如果策略没有进行本地保存,内核的各个数据包就会找不到这个策略,内核就必须调用策略客户端(这个客户机必须依次与存储中心联系)和密钥管理协议。另外,还要更新内核策略。这样,就会导致最初几个数据包出现令人难以接受的延迟。
策略分配机制必须是安全的。策略下载的服务器应该是通过验证的。除此以外,对该服务器的访问也应该是有限制的。如果这一条遭到破坏,网络的安全就会大受威胁。我们仍然使用COPS在客户端与策略服务器之间交换策略信息。
4结 语
由于IPSec VPN出色的安全特性,使它越来越受到有着相对较高安全要求的企业或部门的青睐。本文提出的策略管理系统能够很好的完成IPSec远程访问VPN系统的策略管理。随着IPSec VPN的广泛使用,更加复杂的VPN系统会相继出现。因此,其安全策略管理的问题将逐步凸现,这方面的研究也将受到重视。
[关键词]PSec VPN;安全策略数据库;安全关联数据库;安全策略
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策略,这种方式在大型的分布式网络中存在效率低、易出错等问题。而一个易出错的策略将可能导致通讯的阻塞和严重的安全隐患。而且,既使每个安全域策略的制订是正确的,也可能会在不同的安全域中,由于策略之间的交互,出现在局部范围内安全策略的多样性,从而造成端到端间通讯的严重问题。
根据以上协议建立起来的基于IPSec的VPN,当主机使用动态地址接入,发起VPN连接时。主机将使用协商好的SA处理的数据包发送到网关。网关接收到数据包后,使用相应的SA处理数据包,而后进行载荷校验。这时,在载荷校验过程中,会因为没有将新协商而建立起来的SA的数据项与SPD连接在一起,而造成不能通过载荷校验。而且,当网关需要给主机发送数据时,并不能在SPD中通过使用目的地址检索到相应的安全策略。因为,主机是动态地址,每次发送时使用的地址都有可能变化。如果发生这样的状况,那么由传输层交给IPSec模块的数据包将会被丢弃。也就是说,网关将不能通过VPN隧道向主机发送数据。这个问题显然是由于SPD数据的更新问题所引起的。因此,必须构建一个安全策略系统来系统地管理和验证各种IPSec策略。
3.2 远程访问模型中策略系统的构想
构建一个策略系统,需要解决策略的定义、存取、管理、交换、验证、发现机制等问题以及系统自身的安全性问题。其中策略的表示和策略在动态交换中的安全性问题是系统的核心问题。目前RFC尚未制定关于策略系统的标准,因此还没有成熟的实现方案。
现在较为流行的方案是:策略系统由四个部分组成——安全策略仓库、策略服务器、安全网关、策略客户端。其中安全策略仓库(Repository)用于存储策略信息,能对系统中的策略进行汇总。它可以是目录服务器或数据库服务器,除了储存管理员已经编辑好的策略信息,还可以存储其它的网络信息和系统参数。策略决策点(Policy Decision Point,PDP)通常也被称为策略服务器,是整个系统的决策中心。它负责存取策略仓库中的策略,并根据策略信息做出决策,然后将相应的策略分配至策略执行点。策略决策点还能检测策略的变化和冲突,从而采取应对措施。策略执行点(Policy Enforcement Point,PEP)是接受策略管理的网络实体,通常也被称作策略客户端。它可以是路由器、交换机、防火墙等网络设备,负责执行由策略决策点分配来的策略。同时它还向策略决策点发送信息,使策略决策点知道网络的变化以及策略的执行情况。服务器利用LDAP(轻量级目录访问协议)与数据库交互,安全网关通过COPS(普通开放式策略服务协议)与服务器交互,策略服务器之间以及服务器与客户端之间通过SPP(安全策略协议)进行通讯。
而在远程访问的模式下,只有公司总部一端设置了安全网关和策略服务器。所以可以把前面提到的方案进行改进,应用到远程访问模型中。
因此,可以将安全策略仓库放置在策略服务器上,而策略服务器与安全网关相连。安全策略仓库中存储了一些永久信息,策略服务器可以依据这些信息做出相关的策略决定。安全策略仓库最好采用LDAP这一类的标准目录机制来进行策略存。策略服务器负责使用策略决议方法来完成策略制订。
把安全网关和远程访问主机作为策略客户端。当策略客户端启动的时候,需要自动访问策略服务器,读取关于自己的安全策略。此外,当策略服务器改变了某些安全策略时,就需要通知相关的策略客户端访问策略服务器来更新策略。策略客户端必须实行本地保存策略,这是因为它必须知道哪些数据包实施了安全保护,哪些没有。如果策略没有进行本地保存,内核的各个数据包就会找不到这个策略,内核就必须调用策略客户端(这个客户机必须依次与存储中心联系)和密钥管理协议。另外,还要更新内核策略。这样,就会导致最初几个数据包出现令人难以接受的延迟。
策略分配机制必须是安全的。策略下载的服务器应该是通过验证的。除此以外,对该服务器的访问也应该是有限制的。如果这一条遭到破坏,网络的安全就会大受威胁。我们仍然使用COPS在客户端与策略服务器之间交换策略信息。
4结 语
由于IPSec VPN出色的安全特性,使它越来越受到有着相对较高安全要求的企业或部门的青睐。本文提出的策略管理系统能够很好的完成IPSec远程访问VPN系统的策略管理。随着IPSec VPN的广泛使用,更加复杂的VPN系统会相继出现。因此,其安全策略管理的问题将逐步凸现,这方面的研究也将受到重视。
下一篇:论校园网的建设和管理