文章目录
一、IPSec(Internet Protocol Security)
1. IPSec概述
- 旨在网际层实现IP分组端到端的安全传输
- 实际是一个协议包,由一组安全协议组成(包括AH、ESP、SA和IKE等)
序号协议功能1SA(Security Association)用于描述双方如何安全地通信2AH(Authentication Header)实现数据完整性检测3ESP(Encapsulating Security Payload)实现数据加密和数据完整性检测4IKE(Internet Key Exchange protocol)实现安全关联两端之间的双向身份鉴别,及安全关联相关参数的协商2. 传输模式和隧道模式
为保证传输的安全,发送方和接收方应当是安全关联的两端。(关于安全关联,会在后文继续讨论)。
IPSec有以下两种工作模式,因为AH和ESP的工作模式略有差异,所以此处仅介绍概念,具体过程在"二、IPSec的组成"中有关AH和ESP的部分讨论。
- 传输模式- 用于保证数据从端到端的安全传输,并对源端进行鉴别。- 此时:- IPSec保护的数据是作为IP分组净荷的上层协议数据。- IP分组中源IP地址为发送端的IP地址,目的IP地址为接收端的IP地址。
- 隧道模式- 源端和目的端各自的内部网络被一个公共网络分隔,在两个内部网络和公共网络之间各设置一个路由器(边界路由器),- 此时: - 发送端发出的IP分组被视为净荷封装在边界路由器R1中,此时整个。- 在公共网络中传输的IP分组中源IP地址是R1的IP地址,目的IP地址是R2的IP地址。
源端安全关联的发送端安全关联的接收端目的端PC1R1R2PC2
二、IPSec的组成(SA、AH、ESP和IKE)
1. 安全关联(SA——Security Association)
什么是安全关联?
- 安全关联是建立于发送者与接收者之间的关联,以期实现端源鉴别、数据加密和数据完整性
- 安全关联是单向的(发送者至接收者传输方向)
- 安全关联由三个信息来唯一确定:(①安全参数索引SPI——Security Parameters Index;②目的IP地址;③安全协议标识符)- ①SPI:接收者相同的安全关联之间需要分配不同的SPI(同目的IP地址的安全关联,其SPI不能相同)- ②目的IP地址:接收端的IP地址- ③安全协议标识符:指定安全协议是AH还是ESP
需要传输的数据需要先与安全关联绑定
- 发送者建立安全策略数据库(SPD——Security Policy Database)来实现数据与安全关联的绑定: 根据SPD中的策略,来将数据分类地施加不同的安全策略(包括丢弃、使用IPSec和不使用IPSec)。
- 安全关联数据库(SAD——Security Association Database): SAD保存了已经建立的可用的安全关联SA条目。
安全关联有一些相关的参数
序号参数名功能1序号防重放攻击2防重放攻击窗口区分收到的报文是否是重放报文3AH信息AH协议的参数4ESP信息ESP协议的参数5安全关联的寿命确定安全关联存在的时间(可以是时间,也可以是允许发送的字节数)6IPSec的协议模式有①传输模式和②隧道模式7路径最大传输单元(MTU)不切片的情况下,最大允许传输的分组长度
2.鉴别首部( AH——Authentication Header)
- 报文封装 ①传输模式:直接在IP分组中的"IP首部"后插入AH首部。
②隧道模式:将源端发来的整个IP分组看作是一个"新净荷",并在其和"新IP首部"(源IP地址是安全关联的发送端|目的IP地址是安全关联的接收端)之间插入AH首部。
- 源端鉴别和完整性检验,鉴别算法一般有:HMAC-MD5-96和HMAC-SHA-1-96以下选择HMAC-MD5-96算法(鉴别数据存放在AH首部)- 发送端进行如下操作:- 接收端进行如下操作:
3. 封装安全净荷(ESP——Encapsulating Security Payload)
- 报文封装①传输模式:直接在IP首部和净荷之后分别插入ESP首部和尾部,并在末尾附上鉴别数据
②隧道模式:在"新IP首部"(源IP地址是安全关联的发送端|目的IP地址是安全关联的接收端)和"新净荷"后分别插入ESP首部和尾部,并在末尾附上鉴别数据。
- 源端鉴别和完整性检测:原理和AH相同,但不同的是,ESP的鉴别范围只覆盖ESP头部、净荷和ESP尾部。
4. Internet密钥交换协议(IKE——Internet Key Exchange protocol)
IKE用来干嘛?
- AH和ESP能实现其安全功能的前提是,安全关联SA已经建立。而静态地建立安全关联不够灵活,所以利用IKE来动态地建立安全关联并协商相关参数。- 不是每种情况都会启动IKE,只有在:- IP分组在SPD(安全策略数据库)中被设定为使用IPSec- 且在SAD(安全关联数据库)中没有找到一条合适的安全关联时才会启动IKE,试图动态地建立一条新的安全关联(可以将这个过程类比于路由的过程:先查看路由表内是否有合适的路由线路,若没有再尝试另辟蹊径)
IKE是如何完成动态建立安全管理的?
分两个阶段:
- 阶段一: ①主模式:建立安全传输通道(可以理解为建立IKE安全关联),六次发包包含了三轮双向信息交互。
②积极模式(通常不使用):该模式只有三次发包,多数的信息都被包含在了IKE的策略中,速度快,但不安全。
- 阶段二: 快速模式:建立安全关联(此处的安全关联指IPSec安全关联),过程可类比于"TCP的三次握手"。
IPSec是一种在TCP/IP中的网际层实现IP分组端到端安全传输的机制,由一组安全协议组成(SA、AH、ESP和IKE等)。
SA描述双方如何安全通信、AH实现数据完整性检测、ESP实现数据加密和完整性检测,而IKE实现两端之间安全关联的建立及相应参数的协商。
版权归原作者 Neonline254 所有, 如有侵权,请联系我们删除。