IPsec协议的实际流程情况(1)


上文我们对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数据包和四层报文。IANAInternet 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使用哈希算法来验证报文数据。


相关内容