IPsec协议的实际流程情况

网络 网络管理
本文针对IPsec协议的基本情况作了介绍,之后对它的操作模式也进行了简单的了解。下面我们来针对这两方内容进行一下详细的阐述。

上文我们对IPsec协议的基本内容作了介绍,包括它的工作流程,具体的操作细节等方面。现在呢我们再来对IPsec协议它的实现的具体情况进行一个深入的讲解。下面是IOS IPsec协议实现的概况:

认证报头(Authentication Header):AH是定义在IETF RFC 2402的,它支持IPsec数据验证、认证和完整性服务。它不支持数据加密。典型情况下AH是单独实现的,但它也可以与ESP一起实现。在仅仅需要保证数据交换安全的时候,我们才使用AH。既然AH不支持数据加密,你也许会问为什么我们还要用AH?你可以这样来看这个问题:如果应用已经支持数据加密,那就不需要额外的数据加密。相对于ESP而言,AH在处理开销上是更“轻”的,所以它更容易应用在低端的路由器上。

此外,相对于ESP,AH提供了更好的IP层安全性。AH通过为所有在传输中不被修改的IP数据包信息生成Hash签名数据来保证IP数据包的安全。AH安全性数据是存储在32位长度的AH报头中的,而这是安装在IP数据报头和4层协议报头之间的。因为AH是负责使IP数据包“安全”的,所以AH不能部署在使用Network Address Translation (NAT)的网络环境中。AH是在传输模式或通道模式中的起作用的。大多数情况下我们会使用通道模式,而将原始IP数据包封装在一个新的AH安全IP数据包中。这个新的数据包包含一个新的IP报头(其中有IPsec协议远程节点网关的目标地址)和AH报头,接着是原始IP数据包和四层报文。IANA(Internet Assigned Numbers Authority)将ESP的协议ID赋为51。

封装安全载荷(Encapsulating Security Payload):ESP是定义在IETF REF 2406中的,它支持IPsec数据加密、验证、认证和和完整性服务。ESP可以单独实现或者与AH一起实现。AH报头是预先就包含在IP数据包的数据负载部分的,而ESP将IP数据包中的整个数据部分和一个报头及报尾封装在一起。ESP报头包含安全性和序列化信息。ESP报尾包含补充参数和(必要的)验证数据。ESP对原始ULP数据及其密文的封装要求比AH更多的路由器处理资源。此外,ESP也要求将1500-byte Layer 4报文进行分片,以支持额外的安全负载数据。类似于AH,ESP也支持传输和通道操作地方,但几乎所有供应商都专门实现了通道模式。ESP RFC没有规定哪个协议必须用于加密数据。Cisco IOS支持56-DES、3DES和AES的加密协议。还有其它一些供应商也实现了Blowfish和IDEA。IANA将ESP的协议ID赋为50。

Internet安全联系和密钥管理协议(Internet Security Association and Key Management Protocol,ISAKMP)和Internet密钥交换(Internet Key Exchange,IKE): 这些协议提供了实现IPsec VPN服务协商的框架和过程。ISAKMP是定义在IETF REF 2408中,而IKE定义在IETF RFC 2409中。ISAKMP定义了创建和删除认证密钥和安全联系(SA)的计划、语法和程序。IPsec协议节点使用SA去跟踪不同IPsec节点间协商的安全服务策略的不同方面。

当节点连接建立后,SA就负责节点间的协商。在连接建立(及随后的重建立)过程中,每一个节点将它自己的安全参数索引(SPI)数年赋给它其它节点协商的SA。SPI是在节点之间交换的,并用于识别数据包。当一个节点接收到一个IPsec数据包,它会检查其中的SPI,通过查找SPI数据库,找到相应的SA,然后根据SA中的规则处理数据包。关于ISAKMP需要记住的一个关键点是它是独立于实现IPsec的密钥管理协议、密文和认证。

IKE是Oakley密钥决定协议和SKEME密钥交换协议的混合体。IKE协议负责管理IPsec节点的ISAKMP中的IPsec安全联系。IKE协议可用于ISAKMP,但它们并不是一样的。IKE是建立IPsec节点间的IPsec协议“连接”的机制。这要求对下面几种协商:

认证算法:IKE使用Diffie-Hellman在非安全网络传输上建立共享的机密会话密钥。

机密性算法:IKE节点将使用的安全性协议协商,它们是AH、ESP或AH和ESP组合。

哈希算法:IKE使用哈希算法来验证报文数据。#p#

认证密钥:IKE支持使用预共享密钥、RSA密钥(或者暂时)、数字认证和可扩展认证(Extended Authentication,Xauth)来进行认证管理。

IKE可以在三种模式下操作:主模式、积极模式和快速模式。其中主模式和积极模式都实现相同的目标,即建立初始化阶段和第1阶段的IKE SA。第一阶段的SA引导了IKE过程。一旦第一阶段的协商完成,快速模式就可以用于第二阶段的IKE操作,它允许全SA协商和在SA过期时刷新SA信息。

主模式、积极模式和快速模式之间的不同与安全级别和消息交换数量有关。主模式有六种信息交换模式(三种是在创建者中,三种是在响应者中)。主模式始于连接创建者发起一个保证Diffie-Hellman密钥交换安全的协商SA。一旦协商的SA建立,用于快速模式认证、IKE认证和SA加密的Diffie-Hellman密钥就会生成并交换,实现身份认证管理。

积极模式从连接创建者生成一个Diffie-Hellman密钥开始,目标是得到一个第一阶段的SA和节点的身份。然后响应者回复一个SA和身份认证数据,以及完成数据验证过程的创建者。整个的积极模式交换是在没有SA协商完成的,所有交换的数据都是不加密的。所以虽然与第1阶段有同样的交换信息,但一个更安全而另一个更快速。而且虽然快速模式与积极模式使用了相同数量的报文交换,但是快速模式更依赖在第1阶段协商中建立的身份认证和安全完整性。但至少现在我们应该很清楚IPsec的所有东西都是协商的。IPsec协议节点间支持的安全服务是在两个节点建立通信时协商的。根据节点(如网关、主机)的不同类型,它会支持多个或一个IKE策略。当一个会话被初始化,连接的节点会发送它所有支持的IKE策略。远程节点会比较目标策略和它的最高优先级策略及按优先级从高到低顺序的后续策略,然后返回一个匹配的响应。只有两个节点都支持IPsec协议服务才能够在此运用。

例如,节点A能够支持数据加密和完整性验证服务,但节点B仅仅支持数据加密服务。因些节点A和B都需要有一个通用的IKE策略。这样,A将需要有两个不同的IKE策略:一个支持数据和完整性服务的策略,还有一个仅支持数据服务的策略。为了使节点A和B能够通信,就只能使用数据加密服务。如果节点A仅仅有一个支持数据或完整性的IKE策略,那么IKE将会终止它们之间的协商,这样节点将不会建立一个IPsec连接。

责任编辑:佟健 来源: hi.baidu
相关推荐

2011-11-25 13:34:56

IPsec VPNIPsec VPN协议

2010-06-10 12:31:26

2015-02-05 10:31:57

IPSecIPv6TCP

2010-12-15 10:13:22

2010-06-21 15:06:45

AMF协议

2012-09-17 10:38:25

Google Fibe

2010-07-08 15:18:06

SSH协议

2010-06-13 14:31:28

2010-06-21 14:09:33

Bittorrent协

2009-12-14 18:09:32

路由选择协议

2010-07-06 17:08:41

链接状态路由协议

2010-05-25 16:31:23

MySQL配置

2010-05-17 11:26:49

MySQL 多级同步

2010-05-18 10:07:01

MySQL命令

2010-06-10 14:20:23

2009-12-15 14:29:54

RIP路由协议

2009-12-15 09:34:09

路由信息协议

2010-07-13 16:21:22

FIX协议

2010-06-09 11:05:28

SPI总线协议

2010-07-12 09:57:26

HART协议
点赞
收藏

51CTO技术栈公众号