转载者注:
此篇转载博文,本人在自己实践 IPSec 应用基础上,对此篇博文内容增加章节编号;并调整文章结构安排,增加 个人注解部分内容,如读者建议,请参考原文。
一. 基本名词解释
1. IPSec 对等体
IPSec 用于在两个端点之间提供安全的 IP 通信,通信的两个端点被称为 IPSec 对等体。
2. 安全联盟
SA(Security Association)安全联盟定义了 IPSec 通信对等体间将使用哪种摘要和加密算法、什么样的密钥进行数据的安全转换和传输。SA 是单向的,在两个对等体之间的双向通信,至少需要两个 SA。SA 由一个三元组来唯一标识,这个三元组包括安全参数索引 SPI(Security Parameter Index)、目的 IP 地址、安全协议名(AH 或 ESP)。
3. 协商方式
建立 SA 的方式有以下两种:
- 手工方式(manual):建立安全联盟比较复杂,安全联盟所需的全部信息都必须手工配置。但优点是可以不依赖 IKE 而单独实现 IPSec 功能。
- IKE 动态协商(isakmp)方式:建立安全联盟相对简单些,只需要通信对等体间配置好 IKE协商参数,由 IKE 自动协商来创建和维护 SA。
4. IPSec封装模式
- 隧道模式
在隧道模式下,AH 或 ESP 插在原始 IP 头之前,另外生成一个新 IP 头放到 AH或 ESP 之前。
- 传输模式。
在传输模式下,AH 或 ESP 被插入到 IP 头之后但在传输层协议之前。
封装模式特点
隧道模式生成新的包头安全性比传输模式高;
隧道模式比传输模式占用带宽更多;
5. IPSec 使用的认证算法和加密算法
- (1)认证算法 IPSec可以使用三种认证算法
MD5(Message Digest 5):MD5 通过输入任意长度的消息,产生 128bit 的消息摘要。
SHA-1(Secure Hash Algorithm):SHA-1 通过输入长度小于 2 的 64 次方比特的消息,产生 160bit 的消息摘要。
SHA-2:SHA-2 算法相对于 SHA-1 加密数据位数有所上升,安全性能要远远高于SHA-1
- (2)加密算法
加密算法实现主要通过对称密钥系统,它使用相同的密钥对数据进行加密和解密。IPSec使用以下三种加密算法:
DES:使用 56bit 的密钥对一个 64bit 的明文块进行加密。
3DES:使用三个 56bit 的 DES 密钥(共 168bit 密钥)对明文进行加密。
AES:使用 128bit、192bit 或 256bit 密钥长度的 AES 算法对明文进行加密。
- (3) 安全机制意义
IPSec 提供两张安全机制
认证机制:
使 IP 通信的数据接收方能够确认数据发送方的真实身份以及数据在传输过程中是否遭篡改。
加密机制:
通过对数据进行加密运算来保证数据的机密性,以防数据在传输过程中被窃听。
6. 通信保护协议:
- (1) AH 认证头协议:
鉴别头AH:(不提供保密性,只对整个IP数据包提供保护)
无连接数据完整性:通过哈希函数产生的校验来保证
数据源认证:通过计算验证码时加入一个共享密钥来实现
抗重放服务:AH报头中的随机序列号可以防止重放攻击
- (2) ESP 封装安全载荷协议:
除提供 AH 认证头协议的所有功能之外,还有数据保密和有限的数据流保护,ESP 协议允许对 IP 报文净荷进行加密和认证、只加密或者只认证,ESP 没有对 IP头的内容进行保护。
保密服务通过使用密码算法加密 IP 数据包的相关部分来实现。
数据流保密由隧道模式下的保密服务提供。
ESP通常使用DES、3DES、AES等加密算法实现数据加密,使用MD5或SHA1来实现数据完整性认证。
注: AH认证头协议,无法在穿越NAT的时候使用,因为AH协议会对IP包头进行校验。
二、IPSec通讯、建立流程
IPSec 协议不是一个单独的协议,它给出了应用于 IP 层网络数据安全的一整套体系结构,IPSec 通过认证头 AH 和封装安全载荷 ESP 这两个安全协议来实现 IP 数据报的安全传送。
- IKE 协议提供密钥协商、建立和维护安全联盟 SA 的服务,以简化IPSec 的部署和使用, [IKE协议有v1、v2版本] 请参考。
IKE的用途: - 为IPSec协商生成密钥,供AH/ESP加解密和验证使用
- 在IPSec通信双方之间,动态地建立安全关联(SA),对SA进行管理和维护
IKE 建立过程
- 第一阶段
交换通信各方彼此间建立一个通过身份验证和安全保护的通道,此阶段的交换建立IKE SA,即ISAKMP SA ( ISAKMP安全联盟 )。
第一阶段 有两种协商模式:主模式协商, 野蛮模式协商
详见: 本文 3 部分描述。
转者注:
通过加密方式 (对称加密算法:DES、3DES、AES)、确认双方身份 (身份认证算法:MD5、SHA-1、SHA-2) 。
- 第二阶段
用已经建立的安全联盟 (IKE SA) 为IPSec协商安全服务,即为IPSec协商具体的安全联盟,建立IPSec SA,产生真正可以用来加密数据流的密钥,IPSec SA 用于最终的IP数据安全传送。
第二阶段 只有一种模式,快速模式
第二阶段 是为了协商出单向IPSec SA
第二阶段 所有数据都是受第一阶段保护,所以数据都经过了加密。
转者注:
- 协商 IPSec 安全参数包括
加密算法
Hash算法
安全协议
封装模式
存活时间
- 协商安全参数来保护数据连接
- 周期的对数据连接更新密钥信息
三、IPSec 的IKE SA协商模式:主模式、野蛮模式
IPSec 建立IKE 过程,有两种协商方式:
- 1.主模式协商
- 野蛮模式协商
适用场景
- 二端IP地址不固定的时候,需要使用野蛮模式
- 两边都是主机名的时候就, 必须用野蛮模式
- 一端ip地址固定、两端固定,可用主模式;转载者补充内容。
四、 KE SA 和 IPSec SA的区别
-
在采用IKE动态协商方式建立IPSec隧道时,SA有两种:一种IKE SA,另一种是IPSec SA;
-
建立IKE SA目的是为了协商用于保护IPSec隧道的一组安全参数,建立IPSec SA的目的是为了协商用于保护用户数据的安全参数;
-
在IKE动态协商方式中,IKE SA是IPSec SA的基础,因为IPSec SA的建立需要用到IKE SA建立后的一系列密钥。
原文链接:
————————————————
原文链接:https://blog.csdn.net/weixin_44809632/article/details/107456488
版权声明:本文为CSDN博主「一十六笔画生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。