目录
IPSec(互联网安全协议)是一个协议包,通过对ip协议的分组进行加密和认证来保护IP协议的网络传输协议簇。所以工作在网络层。
IPSec安全服务
- 机密性
- 完整性
- 数据源鉴别
- 重传保护
- 不可否认性
ipsec架构
IPSce有两个安全封装协议
AH鉴别头---协议号51
- 鉴别算法
安全服务
- 数据源认证---通过计算验证码时加入一个共享密钥来实现,和ospf认证类似。
- 数据抗重放---AH包头中采用序列号来确认数据传输是否有效。
- 数据完整性---hash算法,通过计算hash值进行比对实现。
提供数据完整性和可用性,没有加密性,没有使用加密算法。
传输模式
隧道模式
AH头部结构
由于数据中类似于TTL值等经过路由转发会产生改变,所以做认证时是不对这些内容进行对比的。
ESP封装安全载荷---协议号50
- 加密算法
- 鉴别算法
提供数据机密性、完整性和可用性的验证。
安全服务
- 数据完整性
- 数据源认证
- 数据抗重放
- 数据机密性
- 数据流保护
传输模式
隧道模式
头部结构
IKE密钥的管理与分发协议
建立安全联盟有两种方式:动态和静态。如果需要建立安全联盟的节点较多时静态会变得非常困难,也容易出错,并且安全性较低。可以使用动态的方式协商建立。IKE自动协商安全联盟建立密钥交换过程。
- 协商封装协议与工作模式(分别是ESP和AH)。
- 协商加密和鉴别算法。
- 密钥参数的协商---密钥的产生算法、密钥有效期、密钥分发者身份验证、密钥长度、认证算法。
- 为IPSec通信双方动态剪辑安全联盟SA,并对SA进行管理和维护。
- 为IPSec生成密钥,提供对AH/ESP加密算法和验证。
通信双方首先建立IKE SA:对等体之间的身份认证,需要建立一个已通过身份认证和安全保护的通道交换建立一个iskmp安全联盟。
再进行IPSec SA的建立:用已建立的iskmp安全联盟(IKE SA)的安全通道为IPSec协商安全服务建立SA,产生用于数据加密的密钥。
IKE工作过程
1、主模式
主模式下通信双方需要交互6个数据包以建立联系,默认使用IP地址作为身份标识。默认传递自己的接口地址作为身份标识,对方的公网地址作为对端身份标识去检查。
安全提议:加密算法、hash算法、身份认证方式、密钥交换算法、密钥有效期。
Ci:表述本地cookie信息。
SAi:表述协商的安全策略参数。
SAr:对方协商参数的确认。
Cr:对方cookie信息的确认。
Xi,Yi:交换的公钥信息。Ni随机数。
ID:身份信息。
HASH:验证信息。
2、野蛮模式
两个模式的对比
主模式 | 野蛮模式 | |
消息交互 | 交互6个消息。 | 交互3个消息。 |
身份ID | 以IP地址作为身份ID,自动生成本端身份ID和对端身份ID。 | 可以以多种形式(IP、字符串)手动或主动的生成本段和对端的身份ID。 |
域共享密钥 | 只能基于IP地址来确定域共享密钥。 | 基于ID信息(主机名和IP地址)来确定预共享密钥。 |
安全性 | 较高前4个消息以明文传输,最后两个消息加密,对对端身份进行了保护。 | 较低前两个消息以明文传输最后一个消息进行加密,不保护对端身份。 |
速度 | 较慢。 | 较快。 |
两种工作模式
- 传输模式:主机之间端到端的安全通信
封装结构
在原始数据包中的原始IP报头后加入IPSec报头,对数据进行验。
- 隧道模式:私网之间的安全通信
封装结构
将原始数据包整个封装成数据内容,在其前面加上新的IP包头和IPSec包头。
解释域:负责运行整个IKE。
安全联盟
SA---时通信对等体之间对某些特定要素的约定,通信双方都符合SA约定的内容,则可以建立SA
SA标识:安全参数索引、目的IP、安全协议号。
有了SA之后对等体就可以进行安全通信。