IPSec基础(五)——IPSec体系结构

see also:http://www.bitscn.com/network/cisco/200604/13698.html

一、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改变的,对地址的任何修改都会导致完整性检查失效。


文章转载自网管之家:http://www.bitscn.com/network/cisco/200604/13698.html

发布了134 篇原创文章 · 获赞 44 · 访问量 16万+

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览