首页 > 精选文章 > 网络安全 > 正文

IPSec基础-IPSec体系结构

一、IPSec驱动程序

  IPSec驱动程序负责监视、筛选和保护IP通信。它负责监视所有出入站IP数据包,并将每个 IP 数据包与作为 IP 策略一部分的 IP 筛选器相匹配。一旦匹配成功,IPSec驱动程序通知IKE开始安全协商。下图为IPSec驱动程序服务示意图。

图八 IPSec驱动程序服务

  在安全协商(相关内容见:IPSec基础(四)--Internet密钥交换(IKE)和密钥保护)成功完成后,发送端IPSec驱动程序执行以下步骤:

  1.从IKE处获得SA和会话密钥
   2.在IPSec驱动程序数据库中查找相匹配的出站SA,并将SA中的SPI插入IPSec报头
   3.对数据包签名--完整性检查;如果要求机密保护,则另外加密数据包
   4.将数据包随同SPI发送至IP层,然后进一步转发至目的主机

  接收端IPSec驱动程序执行以下步骤:

  1.从IKE处获得会话密钥,SA和SPI
   2.通过目的地址和SPI在IPSec驱动程序数据库中查找相匹配的入站SA
   3.检查签名,对数据包进行解密(如果是加密包的话)
   4.将数据包递交给TCP/IP驱动程序,然后再交给接收应用程序

二、IPSec体系结构模型图

  在分别介绍了IKE,密钥管理和IPSec驱动程序后,我们来看一个完整的IPSec体系结构模型图,以便更好地理解IPSec体系结构。

  图九 IPSec流程图

  为简单起见,我们假设这是一个Intranet例子,每台主机都有处于激活状态的IPSec策略:

  1.用户甲(在主机A上)向用户乙(在主机B上)发送一消息
   2.主机A上的IPSec驱动程序检查IP筛选器,查看数据包是否需要受保护以及需要受到何种保护
   3.驱动程序通知IKE开始安全协商
   4.主机B上的IKE收到请求安全协商通知
   5.两台主机建立第一阶段SA,各自生成共享"主密钥" 注:若两机在此前通信中已经建立起第一阶段SA,则可直接进行第二阶段SA协商
   6.协商建立第二阶段SA对:入站SA和出站SA。SA包括密钥和SPI。
   7.主机A上IPSec驱动程序使用出站SA对数据包进行签名(完整性检查)与/或加密。
   8.驱动程序将数据包递交IP层,再由IP层将数据包转发至主机B
   9.主机B网络适配器驱动程序收到数据包并提交给IPSec驱动程序。
   10.主机B上的IPSec驱动程序使用入站SA检查完整性签名与/或对数据包进行解密。
   11.驱动程序将解密后的数据包提交上层TCP/IP驱动程序,再由TCP/IP驱动程序将数据包提交主机B的接收应用程序。

  以上是IPSec的一个完整工作流程,虽然看起来很复杂,但所有操作对用户是完全透明的。中介路由器或转发器仅负责数据包的转发,如果中途遇到防火墙、安全路由器或代理服务器,则要求它们具有IP转发功能,以确保IPSec和IKE数据流不会遭拒绝。

  这里需要指出的一点是,使用IPSec保护的数据包不能通过网络地址译码NAT。因为IKE协商中所携带的IP地址是不能被NAT改变的,对地址的任何修改都会导致完整性检查失效。

  • 上一篇:IPSec基础-密钥交换和密钥保护
  • 下一篇:IPSec基础-IPSec策略
  • 了解这些字:基的意思 础的意思 体的意思 系的意思 结的意思 构的意思