IPSec概述
概述
- 是一种IETF设计的端到端的确保ip通信安全的机制。
- ipsec不是单独的协议,而是一组协议,ipsec协议的定义文件包括了12个rfc文件和几十个Internet草案,已经成为工业标准的网络安全协议。
- ipse在ipv6中是必须支持,ipv4可选
- IETF中的ip security protocol working group工作组负责标准,目标包括:
- 该体制可适用于ipv4 ipv6
- 可谓运行ip顶部的任何一种协议提供保护
- 与加密算法无关(改变加密算法不影响其他部分)
- 可实现多种安全策略,同时避免给不适用该体制的系统造成影响
ipsec优点
- 防火墙或路由器执行了ipsec,就可以为周边通信提供强有力的安全保障
- ipsec传输之下,对于应用程序来说是透明的
- ipsec对用户也是透明的,因此不必对用户进行安全机制的培训
ipsec协议族相关的rfc
ipsec功能
- 保证数据来源可靠(认证)
- 保证数据完整(完整性)
- 保证数据机密(机密性)
ipsec提供的安全服务
ipsec体系结构图
ipsec的实施
- 在主机的实施,作为网络层的一部分来实现
- 堆栈中的块,作为楔子插入网络层与数据链路层之间,bump-in-the-stack(bits)
ipsec的实施
在路由器中的实施:
- 等同于os的集成方案,集成在路由器的软件当中
- 线缆中的块:等同于bits,ipsec在一个设备中实施,并将该设备接入路由器物理接口,不运行路由算法,只保障数据安全。
部署位置
主机(端设备)之间:
优点
- 保障端到端安全性
- 能够实现ipsec安全模式
- 能够针对单个数据流提供安全保障
- 在建立ipsec过程中,能够记录用户身份验证的相关数据和情况
安全网关(实现ipsec的中间系统,例如:路由器 防火墙等)之间
优点
- 对两个子网(私有网络)间通过公共网络传输的数据提供安全保护
- 能通过身份验证控制授权用户从外部进入私网,而将非授权用户挡在私网外。
核心内容
两种操作模式
- 传输模式
- 隧道模式
两个数据库
- 安全策略数据库spd
- 安全关联数据库sad
两个通信协议
- ah 认证头
- esp 载荷安全封装
三个密钥管理协议
- 安全关联与密钥管理协议 isakmp
- 因特网密钥交换管理协议
- oakley:ike密钥交换协议
ipsec运行模式
由于ah esp都支持这两种模式,因此下述模式可以有四种组合
- 传输模式
- 隧道模式
传输模式
作用:保护ip包的载荷,通常,只用于两台主机之间的安全通信
ip隧道模式
作用:保护整个ip包,通常,只要有一方是安全网关或者路由器,就必须使用隧道模式
安全关联(SA)和安全策略(SP)
安全关联(sa)
是发送方和接收方之间的单向关系,用于通信双方之间业务流提供安全服务。
注: 安全关联是单向的,若需要双向则需要建立两个安全关联,且ah和esp不能在一个sa上同时实现,若需要同时提供ah和esp则需建立多个sa
sa内容
sa的内容主要包含一组针对特定目的主机或安全网关的一组参数:
- 安全参数索引 spi
- ip目的地址
- 安全协议标识 ah 或esp
sa类型
- 传输模式sa:两个主机的安全关联。
- 在esp协议中,仅保护ip以上的协议数据安全,对ip头不保证。
- 在ah中,不仅保护ip以上协议数据安全,对ip不可变字段的安全进行保证。
- 隧道模式sa
- 适用于ip隧道
- 安全网关之间、主机与安全网关之间的sa为隧道模式。
- 主机之间也可以建立隧道模式sa。
- 有两个ip头:内部ip头(ipsec设备的ip头)、外部ip头
- 安全协议在外部ip头和内部ip头之间
- 若在ah中使用,则整个ip包和外部ip头部分会受到保护
- 若用esp使用,仅保护隧道数据包,不保护外部ip头
ipsec标准对两类sa的实现要求
- 对于主机:必须支持隧道模式和传输模式
- 对与安全网关:只要求支持隧道模式,若安全网关支持传输模式的sa,则该网关只能当作主机来使用(如网络管理主机)
sa的获得与管理
- 如何获得:通过向ike这样的密钥管理协议在通信对等方之间协商而生成
- 如何管理:当一个sa协商完成后,两个对等方都在器安全关联数据库(sad)中存储该sa参数,当过期时要么用新的sa替换,要么该sa从sad中删除
sa与sad的关系
安全参数索引
地址信息
协议选择
序列号计数器
序列号溢出标志
抗重放窗口
ah认证密钥
esp认证密钥
esp加密算法
sa操作模式
路径最大传输单元
sa生存期
目的ip地址
源ip地址
传输层协议标识
系统名
用户标识
端口号
操作标识
指向sa的指针
sa sad sp spd在数据处理中的使用
问题:
如果一个通信实体需要同时和多个其他通信实体建立不同安全关
联,如何处理呢?
解决方法:
• 安全策略数据库:SPD:Security Policy Database
安全策略与安全策略数据库
• 安全策略( SP ):
– 指定用于到达或源自特定主机/ / 网络的数据流的策略
• 安全策略数据库( SPD ):
– 包含策略条目的有序列表
• 通过使用一个或多个 选择符 来确定每个条目
AH协议概述
概述
为ip包提供以下安全功能
- 完整性
- 数据起源认证
- 抗重放攻击
利用mac实现认证,双方共享一个密钥
认证算法由安全关联(sa)指定
鉴别模式
- 传输模式:不改变ip地址,插入一个ah
- 隧道模式:生成一个新ip头,把ah和原来的整个ip包放到载荷数据中
认证头ah格式
ah头说明
- next header:指出ah后下一载荷的类型
- spi:与目的ip地址和认证头ah唯一标识了该数据包的安全关联(sa)
- squence number:序列号字段
- 创建一个新的SA 时,发送者会将序列号计数器初始化为0
- 每当在这一SA 上发送一个数据包,序列号计数器的值就加1 并将序列号字段设置成计数器的 值, 用于 抵抗重放攻击
- 当达到其最大值2 ^32 -1 时,就应建立一个新的SA
- AH 规范强制发送者必须发送 SN 给接收者,而接收者可以选择不使用抗重放特性,这时它不理会该 SN
- 若接收者启用抗重放特性,则使用 滑动接收窗口机制 检测重放包
- authentication data:包含数据报的认证数据,称为完整性校验值(icv),icv由sa指定的算法生成,但是为了保证互操作性,ah强制所有ipsec必须实现两个mac:hmac-md5 hmac-sha-1
序列号和滑动窗口技术
序列号
作用:让ah可以抵抗重放攻击,若接收者启用抗重放特性,则需使用滑动窗口机制检测重放包
窗口
固定或者可变长度的一个数据缓冲区
滑动窗口
随着处理不断向前移动的窗口
滑动接收窗口
消息接收方的滑动窗口
工作过程
AH协议处理过程
ah位置
-
传输模式:不改变ip地址,插入一个ah
-
隧道模式:生成一个新的ip头,把ah和原来的ip包放在新ip包载荷中
滑动窗口抵御重放攻击
工作过程概述
当接收到的数据包落在滑动窗口最右侧时候,通过该包序列号与窗口最高序列差值确定是否可以被接收
处理流程
- 判断接收的数据包序号是否小于最后一个收到的数据包序号:
若是:计算其与最大包序号之间的差值是否大于窗口大小,若大于,则说明该包过期,丢弃 - 上述检查无误,再检查数据是否有被接收过的信息判断是否是重放,若是,则丢弃
- 上述检查无误,将该报序列号更新为接收到的包的最大序列号
小结
接收到的数据包不被丢弃的条件
- 序列号必须是新的,即在滑动窗口未出现过
- 必须落在窗口内部或者窗口右侧
- 能通过鉴别检查
接收到的数据包落在窗口内且通过检查,胸口就会向前走,使得序号成为窗口的右边界。
ip包头中确定字段和不确定字段
AH 认证算法
• AH的 的 完整性校验值 (ICV) 计算方法由SA 确定
• 对于 点到点通信 ,可以采用基于加密算法(如DES )的带密
钥消息认证函数,或单向函数(如MD5 ,SHA-1 )
• 对于 多播通信 ,可以采用单向函数和非对称加密算法
• 必须 实现的认证算法包括:
– HMAC with MD5
– HMAC with SHA-1
完整性校验值 完整性校验值(ICV) 的计算
作用 ICV 用于验证 IP 包的完整性
计算采用通信双方协商后放在sa中定义的密钥,再采用mac生成,且长度依赖于算法
– HMAC- - MD5: 128 位
– HMAC- - SHA- - 1:160 位
注:用HMAC 求MAC 时算法的 输入包括三个部分:
- IP 数据包头:只包括在传输期间 不变的字段 或 接受方可预测的字段 ,其余不定的字段全置为0
- AH :除 “鉴别数据”字段外其他的 所有字段 ,“鉴别数据”字段被置为0
- IP 数据包中的 所有的上层协议数据。
ah处理过程
外出处理过程
进来数据包处理过程
ah 传输模式和隧道模式比较
ipsec的配置与应用
有关术语
- 身份验证 :确定计算机的身份是否合法的过程,win2000 ipsec 支持三种身份验证 :keberos、证书、预共享密钥
- 加密:使准备的两个重点之间传输的数据难以辨认的过程
- 筛选 器 :对 Internet 协议 (IP) 地址和协议的描述,可触发 IPSec 安全关联的建立。
- 筛选器列表 :筛选器的集合。
- 筛选器操作 :筛选器使用的安全机制
- Internet 协议安全策略 :规则集合,描述计算机之间的通信是如何得到保护的。
- 规则 :筛选器列表和筛选器操作之间的链接。当通信与筛选器列表匹配时,可触发相应的筛选器操作。IPSec 策略可包含多个规则。
- 安全关联:终结点为建立安全会话而协商的身份验证与加密方法的集合。
Window 平台上IPSec配置与测试步骤
- 配置ipsec安全策略
- 配置ipsec安全规则
- 配置IPSec筛选器
- 配置筛选器操作
- 指派策略
- 测试与管理
ipsec体系结构中的关键技术
- 两种操作模式
- 传输模式
- 隧道模式
- 两个数据库
- 安全策略 数据库( SPD )
- 安全关联 数据库( SAD )
- 两个通信协议:
- AH :认证头( Authentication Head)
- ESP: 载荷安全封装( Encapsulating Security Payload )
- 两个算法:
- 加密算法
- 认证算法
- 三个密钥管理协议
- 安全关联与密钥管理协议 ( Internet Security Association and Key Management Protocol )
- 因特网密钥交换管理协议 ( Internet Key Exchange )
- Oakley :IKE密钥交换协议
ipsec中的安全服务与应用
IPSec 在网络层上提供安全服务
- 定义了两个协议 AH 和 ESP , 通过 SA 把两 部分连接起来
- IPSec 可以用来解决许多IP 层的安全问题
- 已经发展成为Internet 标准
- IPSec是非常复杂的一个安全协议,对其安全性的讨论甚多
转载:https://blog.csdn.net/shark_chili3007/article/details/105707942