IPSec工作在网络层,一般用于两个子网间的通信,称为站到站的通信。
是一套协议集合,包括
IKE协议,
认证头AH协议,
封装安全载荷ESP协议。

两个环节:
1.IKE协议,完成通信双方的
身份鉴别,确定通信时使用的
IPSec安全策略和
密钥。
2.使用
数据报文封装协议和IKE中协定的IPSec安全策略和密钥,实现通信数据的
安全传输。
两种操作模式:
隧道模式和
传输模式。
区别:
1、封装过程
传输模式,不会改变原始报文的IP头,只会在原始IP头后面封装一些ipsec协议。
隧道模式,会在原始IP报文头前面添加新的IP头,并且在新的IP头后面封装一些ipsec协议。
2、优点
隧道模式更安全,传输模式性能好,解放了更多带宽
3、应用场景
传输模式在AH、ESP处理前后IP头部保持不变,主要用于End-to-End的应用场景。
隧道模式在AH、ESP处理之后再封装了一个外网IP头,主要用于Site-to-Site的应用场景。
IKE协议主要用于鉴别通信双方身份、创建安全联盟SA、协商加密算法、生成共享会话密钥。
IKE包括3个不同协议的有关部分:ISAKMP、Oakley和SKEME
IKE中有4种身份认证方式:
(1) 基于数字签名
(2) 基于公开密钥
(3) 基于修正的公开密钥
(4) 基于预共享字符串
IKE目前定义了4种模式:主模式、积极模式、快速模式和新组模式。前面3个用于协商SA,最后一个用于协商Diffie Hellman算法所用的组。主模式和积极模式用于第一阶段;快速模式用于第二阶段;新组模式用于在第一个阶段后协商新的组。
ISAKMP是IKE的核心协议(IKE真正定义了一个密钥交换的过程,而ISAKMP只是定义了一个通用的可以被任何密钥交换协议使用的框架),定义了建立、协商、修改和删除SA的过程和报文格式,以及密钥交换数据和身份鉴别数据的载荷格式。核心功能:创建和维护SA。
ISAKMP 分为两个阶段:
第一阶段是
主模式,通信双方建立一个 ISAKMPSA,并实现双方的身份鉴别和密钥交换,得到工作密钥,该工作密钥用于保护第二阶段的协商过程;

第1包 发送所有的策略给对端
第2包 收方挑选一个自己也有的策略回给发送方。
通过DH算法离散对数函数、非对称加密算法、单向函数,
发起方随机生成a,g,p(g,p还会发给接收方来共用),
接收方随机生成b
第3包 发起方把g,p,A发送给接收方
第4包 接收方把B发送给发起方
发起方和接收方通过计算得到的结果是相等的,这样就得到一个共享密钥。
发起方把 1.预共享密钥 2.DH计算的密钥 3.IKE策略内容 进行散列计算得到的结果就是认证散列值
第5包 发送方把认证散列值放在第5个IKE包加密后发送到接收方。
接收方把第5个IKE数据包解密,提取出发起方的IP地址,并且基于IP地址查询本地IPSec配置,找出对应的预共享秘密。然后和已知的内容进行散列计算,得到认证散列值。
接受方把第5个IKE包中提取出来的认证散列值和本身的生成的认证散列值进行比较。如果相等接受方就成功认证了发起方。
第6包 接收方还有通过相同的办法来发送第6个IKE数据包,让发起方认证接收方
第二阶段是
快速模式,使用已建立的 ISAKMPSA 提供保护,实现通信双方 IPSecSA 的协商,确定通信双方 IPSec 安全策略和会话密钥。
第1包 发起方把感兴趣流的相关IPSec策略一起发送给接收方
第2包接受方选择适当的策略,发给接收方。
第3包发起方回包给接受方,表示确认。
对于两端IP地址不是固定的情况(如ADSL拨号上网),并且双方都希望采用预共享密钥验证方法来创建IKESA,就需要采用积极模式。另外啊如果发起者已知回应者的策略,采用积极模式也能够更快地创建IKESA。
AH协议用于数据源身份鉴别、完整性和抗重放。AH不提供任何保密性服务。
AH 协议的主要作用是为整个 IP 数据报文(IP 头和 IP 载荷)提供高强度完整性校验,最常用的MAC 是 HMAC,而 HMAC 对 IP 数据报文处理所用的密钥就是 IKE 协定的用于验证完整性和数据源身份的会话密钥。
ESP 协议和AH 协议相比,增加了对数据报文的加密功能(同时具备数据源身份鉴别、完整性和抗重放等安全功能)
ESP可单独使用,并同时选择保密性和数据源身份鉴别服务;当ESP和AH结合使用时,无须ESP提供数据源身份鉴别服务,而由AH提供该项安全服务。