且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

IPSec学习笔记

更新时间:2021-11-09 04:40:35

IPSec VPN
开放的安全框架结构,可以用来保证IP数据报文在网络上传输的机密性、完整性和防重放
IPSec:internet protocol security
-源于IPv6
-IETF制定的一套安全保密性能框架
-建立在网络层的安全保障机制
-引入多种加密算法、验证算法和密钥管理机制
-也具有配置复杂、消耗运算资源较多、增加延迟、不支持组播等缺点
-IPSec VPN是利用IPSec隧道建立的VPN技术
IPSec核心功能:

机密性:对数据进行加密,确保数据在传输过程中不被其他人员查看;
完整性:对接收到的数据包进行完整性验证,以确保数据在过程中没有被篡改
真实性:验证数据源,以保证数据来自真实的发送者(IP报文头内的源地址);
防重放:防止恶意用户通过重复发送捕获到的数据包所进行的攻击,即接收方会拒绝旧的或重复的数据包

DES和3DES加密算法存在安全隐患,建议优先使用AES、SM1或SM4算法;
MD5和SHA-1验证算法存在安全隐患,建议优先使用SHA-2或SM3算法

通过AH和ESP这两个安全协议来实现IP数据报文的安全传送
IKE协议提供密钥协商,建立和维护安全联盟SA等服务

安全协议:
AH、ESP
AH(authentication header)报文头验证协议,主要提供完整性、真实性、防重放功能;然而,AH并不加密数据报文(机密性)。IP协议号=51。
ESP(encapsulating security payload)封装安全载荷协议;除提供AH协议的所有功能外(但其完整性校验不包括IP头),还可提供对数据报文的加密功能。IP协议号=50。

IPSec封装模式
传输模式:
在传输模式(Transport Mode)下,IPSec头被插入到
但在所有传输层协议之前,或所有其它IPSec协议之前。
隧道模式
在隧道模式(Tunnel Mode)下,IPSec头被插在原始IP头之前,另外生成一个新的报文头放到AH或ESP之前。

传输模式封装结构:

ESP加密从ESP之后,不包括IP头部;原因,IP头加密后公网不识别,TTL等字段不识别
隧道模式封装结构:

添加新的包头
AH从新的报头开始做整体的校验
ESP从新的报头之后插入ESP,对后面进行加密

加密点:PC

IPSec安全联盟SA和IKE
安全联盟:SA(security associate)
通信双方结成盟友,相互信任亲密无间,即达成约定
由一个(SPI,IP目的地址,安全协议号)三元组唯一标识
决定了对报文进行何种处理:模式、协议、算法、密钥、生存周期等
每个IPSec SA都是单向的
可以手工建立或通过IKE协商生成
SPD(security policy database)安全策略数据库
SAD(security association database)

IKE:internet key exchange,因特网密钥交换
建立在ISAKMP定义上的框架上
基于UDP(端口号500)的应用层协议,可为数据加密提供所需的密钥
使用DH算法,在不安全的网络上安全地分发密钥,验证身份
定时更新SA和密钥,实现完善的前向安全性(PFS)

向前保密:私钥,泄露,就必然会导致之前的数据被破解,那么未来的数据呢?

允许IPSec提供抗重播服务
简化IPSec的使用和管理,大大简化了IPSec的配置和维护工作

阶段一:
在网络上建立一个IKE SA,为阶段2协商提供保护
分为主模式(main mode)和野蛮模式(aggressive mode)
阶段二:
在阶段1建立的IKE SA的保护下完成IPSec SA的协商
快速模式(quick mode)

对等体之间建立一个IKE SA完成身份验证和密钥信息交换后,在IKE SA的保护下,根据配置的AH/ESP安全协议等参数协商出一对IPSec SA

推荐文章