|
|
楼主 |
发表于 2006-6-24 16:10:35
|
显示全部楼层
PSec 是 IETF (因特网工程任务组)于 1998 年 11 月公布的 IP 安全标准。其目标是为 IPv4 和 IPv6 提供具有较强的互操作能力、高质量和基于密码的安全。 IPSec 对于 IPv4 是可选的,对于 IPv6 是强制性的。
基于 PKI 技术的 IPSec 协议现在已经成为架构 VPN 的基础,它可以为路由器之间、防火墙之间或者路由器和防火墙之间提供经过加密和认证的通信。虽然它的实现会复杂一些,但其安全性比其他协议都完善得多。由于 IPSec 是 IP 层上的协议,因此很容易在全世界范围内形成一种规范,具有非常好的通用性,而且 IPSec 本身就支持面向未来的协议 ——IPv6 。总之, IPSec 还是一个发展中的协议,随着成熟的公钥密码技术越来越多地嵌入到 IPSec 中,现在,该协议会在 VPN 世界里扮演越来越重要的角色。
由于 IPSec 必须在端系统 OS 内核的 IP 层或节点网络设备的深层以实现,所以 IPSec 的密钥管理协议是 IPSec 需要进一步完善的问题。
除了它定义的 IP 传输的加密机制外, IPSec 还定义了 IP OVER IP 隧道模式的包的格式,这也就是通常指的 IPSec 隧道模式。一个 IPSec 隧道是由隧道客户和隧道服务器组成的。它们都使用 IPSec 隧道和协商加密机制。
IPSec 兼容设备在 OSI 模型的第三层(网络层)提供加宇航局、验证、授权、管理,对于用户来说是透明的(即在应用层不用作任何事情),用户使用时和平常无区别。密钥交换、核对数字签名、加密等都在后台自动进行。
下图是一个典型的 IPSec 数据包的格式。
IP包头 AH包头 ESP包头 上层协议(数据)
另外,为了组建大型 VPN ,需要认证中心( CA )来进行身份证和分发用户公共密钥。
IPSec 可用两种方式对数据流加密:
隧道方式:对整个 IP 包加密,使用一个新的 IPSec 包打包。这种隧道协议是在 IP 协议上进行的。因此不支持多协议。
传输方式:原 IP 包的地址部分不处理,仅对数据净荷( data payload )进行加密。
IPSec 支持的组网方式包括:主机之间、主机与网关、网关之间的组网。这里网关指执行 IPSec 的路由器或防火墙。
IPSec 还对远程访问用户支持。同时还有一整套保证用户数据安全的措施,利用它建立起来的隧道具有更好的安全性和可靠性。 IPSec 可以和 L2TP 、 GRE 等隧道协议一同使用,给用户提供更大的灵活性和可靠性。
IPSec 在 IP 层上对数据包进行高强度的安全处理,提供数据源地验证、无连接数据完整性、数据机密性、抗重播和有限业务流机密性等安全服务。各种应用程序可以享用 IP 层提供的安全服务和密钥管理,而不必设计和实现自己的安全机制,因此减少密钥协商的开销,也降低了产生安全漏洞的可能性。 IPSec 可连续或递归应用,在路由器、防火墙、主机和通信链路上配置,实现端到端安全、虚拟专用网络( VPN )和安全隧道技术。
IPSec 规范中包含大量的文档。其中最重要的是在 1998 年 11 月发布的,它们是 RFC2401 、 2402 、 2406 和 2408 :
RFC2401 :安全体系结构概述;
RFC2402 :包身份验证扩展到 IPv4 和 IPv6 的描述;
RFC2406 :包加密扩展到 IPv4 和 IPv6 的描述 ;
RFC2408 :密钥管理能力规范。
对于这些特征的支持, IPv6 是强制性的, IPv4 为可选的。在这两种情况下,安全特征作为扩展报头实现,它跟在主 IP 报头后面。身份验证的扩展报头称作身份验证报头( AH 头),加密报头称 ESP( 封装安全性有效载荷 ) 报头。
除了上面四个 RFC 文档之外,其他许多标准也已经陆续公布。到目前为止,在 IPSec 协议族中,只有策略还没有正式 RFC 文档。
IPSec 安全体系结构包含:
安全体系结构:包含了一般的概念、安全需求、定义和定义 IPSec 的技术机制;
封装安全有效载荷( ESP ):覆盖了为了包加密(可选身份验证)与 ESP 的使用相关的包格式和常规问题;
验证头( AH ):包含使用 AH 进行包身份验证相关的包格式和一般问题;
加密算法:描述各种加密算法如何用于 ESP 中;
验证算法:描述各种身份验证算法如何用于 AH 中和 ESP 身份验证选项;
密钥管理:密钥管理的一组方案,其中 IKE ( Internet 密钥交换协议)是默认的密钥自动交换协议;
解释域:彼此相关各部分的标识符及运作参数;
策略:决定两个实体之间能否通信,以及如何进行通信。策略的核心由三部分组成: SA 、 SAD 、 SPD 。 SA (安全关联)表示了策略实施的具体细节,包括源/目的地址、应用协议、 Spi (安全策略索引)、所用算法/密钥/长度; SAD 为进入和外出包处理维持一个活动的 SA 列表; SPD 决定了整个 VPN 的安全需求。策略部分是唯一尚未成为标准的组件。
从 IPSec 协议族来看, IPSec 的实现重点是 Internet 密钥交换( IKE )和安全策略系统,这两个技术的实现 , 决定了 IPSec 实现是否完善和标准。
IKE技术
Internet 密钥交换( IKE )用于动态建立 SA 。 IKE 代表 IPSec 对 SA 进行协商,并对 SADB 数据库进行填充。由 RFC2409 文档描述的 IKE 属于一种混合型协议。它沿用了 ISAKMP 的基础、 Oakley 的模式以及 SKEME 的共享和密钥更新技术,从而定义出自己独一无二的验证加密材料生成技术,以及协商共享策略。此外, IKE 还定义了它自己的两种密钥交换方式。 IKE 使用了两个阶段的 ISAKMP 。在第一阶段,通信各方彼此间建立了一个已通过身份验证和安全保护的通道,即建立 IKE 安全联盟。在第二阶段,利用这个既定的安全联盟,为 IPSec 协商具体的安全联盟。 IKE 定义了两个阶段,阶段 1 交换、阶段 2 交换以及两个额外的交换(用于对安全联盟进行正确的维护)。对阶段 1 交换, IKE 采用的是身份保护交换( “ 主模式 ” 交换),以及根据基本 ISAKMP 文档制订的野蛮交换法 “ 野蛮模式 ” 交换;对阶段 2 , IKE 则定义了一种快速模式交换。 I K E 定义的另外两种交换均属信息方面的交换。
IKE 保证了如何动态地建立安全关联和建立过程的安全。 IKE 建立安全关联的实现一方面是 IPSec 协议实现的核心,实现极为复杂;另一方面也很可能成为整个系统的瓶颈。优化 IKE 程序、优化密钥算法是实现 IPSec 的核心问题之一。
安全策略
在一个实现 IPSec 的产品中, IPSec 功能的正确性完全依据安全策略的正确制定与配置。传统的方法是通过手工配置 IPSec 策略,这种方式在大型的分布式网络中存在效率低、易出错等问题。而一个易出错的策略将可能导致通信的阻塞和严重的安全隐患。而且,既使每个安全域策略的制订是正确的,也可能会在不同的安全域中,由于策略之间的交互,出现在局部范围内安全策略的多样性,从而造成端到端间通信的严重安全隐患。因此,必须构建一个安全策略系统来系统地管理和验证各种 IPSec 策略。
构建一个策略系统,需要解决策略的定义、存取、管理、交换、验证、发现机制等问题以及系统自身的安全性问题。其中策略的表示和策略在动态交换中的安全性问题是系统的核心问题。目前 RFC 尚未制定关于策略系统的标准,因此还没有成熟的实现方案。今后的发展方向可能是策略系统由四个部分组成:安全策略数据库、策略服务器、安全网关、策略客户端。服务器利用 LDAP (轻量级目录访问协议)与数据库交互,安全网关通过 COPS (普通开放式策略服务协议)与服务器交互,策略服务器之间以及服务器与客户端之间通过 SPP (安全策略协议)进行通信。这一方案能够很好地解决系统的各种问题,特别是系统自身的安全性问题,构建出一个安全高效的策略系统。该系统将对整个私有网络资源进行可靠、安全、可伸缩的管理和利用。
策略系统的实现也是 IPSec 、 VPN 网关的重要组成部分。只有基于策略的网络系统,才能提供强大的安全机制,才能对网络内部的所有资源提供不同级别的保护。
APNGW 架构,完全参照 ipsec 架构设计,在保证安全的同时,实现了稳定、易用等很多功能。 |
|