文章横幅PC版
文章横幅iPad版
文章横幅手机版

IPSec的工作原理

TIME:2019-03-21 13:40  click: 486 次 来源: 未知

IPSec为整个网络安全通信的基础,支持TCP/IP协议的主机通信时都需要通过IP层的处理,IP层的安全性由IPSec提供,它的工作过程如下图所示:

blob.png

首先在IKE处得到密钥和SA的两台主机,从IPSec驱动程序库中找出相配的出站SA,处理在该SA的安全策略中要发送的IP数据包,并在IPSec报头插入SA中的SPI,对数据包进行签名和完整性检查;另外对数据包加密,将其随同SPI发送至IP层,再转发至目的主机,实现保护机密的要求。

假设在一个Intranet中,主机都有处于激活状态的IPSec策略,它们进行通信的过程如下:

(1)主机A给主机B发送一则消息。

(2)主机A上的IPSec驱动程序检查IP筛选器,检查数据包是否接受保护以及需要何种保护。

(3)驱动程序通知IKE开始安全协商。

(4)主机B上的IKE收到请求安全协商的通知。

(5)两台主机建立第一阶段SA,生成共享主密钥。需要注意的是,若在此前通信中两台主机已经建立起来,则可直接第二阶段SA协商。

(6)协商建立第二阶段入站SA和出站SA,SA包括密钥和安全参数索引(SPI)。SPI是一个分配给每个SA的字符串,用于区分多个存在于接收端计算机上的安全关联。

(7)主机A上的IPSec驱动程序使用出站SA数据包的检查完整性签名与/或加密。

(8)驱动程序将数据包传输到IP层,再由该层转发至主机B。

(9)主机B网络适配器驱动程序收到数据包并提交给IPSec驱动程序。

(10)主机B上的IPSec驱动程序使用入站SA检查完整性签名与/或对数据包进行解密。

(11)解密后的数据包被驱动程序提交上层TCP/IP驱动程序,再由该驱动程序提交主机B的接收应用程序。

以上IPSec工作流程中的所有操作,对用户来说虽然很困难,但是完全透明的。

 

上一篇:ElGamal数字签名 下一篇:公钥的分配方法