安全性分析:
作用:端到端的确保 IP 通信安全:认证、加密及密钥管理
最初为IPv6制定(必选),也支持IPv4(可选)
IPsec 协议族 :
IPsec通过允许系统选择所需的安全协议(AH协议或ESP协议),决定服务所使用的加密或认证算法,提供任何服务需要的密钥来提供IP级的安全服务。
RFC4301中列出的安全服务包括:访问控制、无连接完整性、数据源认证、拒绝重放包(部分顺序完整性格式)、保密性(加密)以及限制流量保密性
IPsec操作的基础是应用于每一个从源端到目的端传输的IP包上的安全策略。
IPsec安全策略主要由两个交互的数据库(SAD和SPD)来确定
一个SA由以下参数确定:
32
位,接收方根据SPI选择合适的SA处理接收到的数据包SAD定义了所有SA相关的参数,每个SA:
不同SA可以用多种方式组合以获得理想的用户配置。此外,IPsec对需要IPsec保护的流量和不需要IPsec保护的流量提供多种粒度的控制。
SPD中的每一条SP包括:
主机SPD示例:
协议 本地 IP 端口 远程 IP 端口 动作 备注 UDP 1.2.3.102 500 * 500 Bypass IKE ICMP 1.2.3.102 * * * Bypass 错误消息 * 1.2.3.102 * 1.2.3.0 / 24 * Protect: ESP 传输模式 加密内部网流量 TCP 1.2.3.102 * 1.2.4.11 80 Protect: ESP 传输模式 加密到服务器的流量 TCP 1.2.3.102 * 1.2.4.11 443 Bypass TLS: 避免双重加密 * 1.2.3.102 * 1.2.4.0 / 24 * Discard D M Z 的其它流量 * 1.2.3.102 * − * Bypass Internet \begin{array}{|c|c|c|c|c|c|c|} \hline \text { 协议 } & \text { 本地 IP } & \text { 端口 } & \text { 远程 IP } & \text { 端口 } & \text { 动作 } & \text { 备注 } \\ \hline \text { UDP } & 1.2 .3 .102 & 500 & \text { * } & 500 & \text { Bypass } & \text { IKE } \\ \hline \text { ICMP } & 1.2 .3 .102 & \text { * } & \text { * } & \text { * } & \text { Bypass } & \text { 错误消息 } \\ \hline \text { * } & 1.2 .3 .102 & \text { * } & 1.2 .3 .0 / 24 & \text { * } & \text { Protect: ESP 传输模式 } & \text { 加密内部网流量 } \\ \hline \text { TCP } & 1.2 .3 .102 & \text { * } & 1.2 .4 .11 & 80 & \text { Protect: ESP 传输模式 } & \text { 加密到服务器的流量 } \\ \hline \text { TCP } & 1.2 .3 .102 & \text { * } & 1.2 .4 .11 & 443 & \text { Bypass } & \text { TLS: 避免双重加密 } \\ \hline \text { * } & 1.2 .3 .102 & \text { * } & 1.2 .4 .0 / 24 & \text { * } & \text { Discard } & \mathrm{DMZ} \text { 的其它流量 } \\ \hline \text { * } & 1.2 .3 .102 & \text { * } & - & \text { * } & \text { Bypass } & \text { Internet } \\ \hline \end{array} 协议 UDP ICMP * TCP TCP * * 本地 IP 1.2.3.1021.2.3.1021.2.3.1021.2.3.1021.2.3.1021.2.3.1021.2.3.102 端口 500 * * * * * * 远程 IP * * 1.2.3.0/241.2.4.111.2.4.111.2.4.0/24− 端口 500 * * 80443 * * 动作 Bypass Bypass Protect: ESP 传输模式 Protect: ESP 传输模式 Bypass Discard Bypass 备注 IKE 错误消息 加密内部网流量 加密到服务器的流量 TLS: 避免双重加密 DMZ 的其它流量 Internet
基于SAD和SPD,IPsec对IP包的处理
两种模式:传输模式和隧道模式
传输模式SA | 隧道模式SA | |
---|---|---|
AH | 对IP载荷和IP首部的选中部分、IPv6的扩展首部进行认证 | 对整个内部IP包(内部首部和IP载荷)和外部IP首部的选中部分、外部IPv6的扩展首部进行认证 |
ESP | 对IP载荷和跟在ESP首部后面的任何IPv6扩展首部进行加密 | 加密整个内部IP包 |
AH+ESP | 对IP载荷和ESP首部后面的任何IPv6扩展首部进行加密,同时对IP载荷进行认证,但不认证IP首部。 | 加密并认证整个内部IP包 |
AH协议功能:IP包的数据完整性、数据来源认证和抗重放攻击服务
HMAC-MD5
(必须)、HMAC-SHA1
(必须) 、HAMC-RIPEMD-160等算法:在SA中指定
96
表示鉴别数据默认字段长,由HMAC计算出完整校验值后再被截短,取前96位。
哪些字段参与计算?如何处理IPv4和IPv6首部中的三种字段:不变字段,可变但可预测字段,可变不可预测字段?
0
;0
;IPv6基本首部三种字段:
IPv6扩展首部三种字段:
序列号 + 滑动窗口机制
AH无法与NAT兼容,因为AH认证的是整个IP包,如果修改IP地址(NAT功能),则无法通过完整性检测。
ESP协议功能:除了提供IP包的数据完整性、数据来源认证和抗重放攻击服务,还提供数据包加密和数据流加密服务
原始IP标头已移到最前面。将发送方的IP标头放在前面(对协议ID稍作更改),证明传输模式不能为原始IP标头提供保护或加密,并且在IP 协议ID为50的新IP标头中标识了ESP 。
An Illustrated Guide to IPsec
传输模式下的ESP装包和拆包过程,注意分清加密(红色)和认证(黄色)的数据区域。
装包过程:
解包过程:
从中可以看出所加ESP头中的SPI和sequence分别为:2896858147和1。上层协议(Encap Security Payload)为ESP(50)说明其为一个IPsec报文。
与ESP传输模式相比,隧道模式下对整个IP包进行认证和加密,因此可以提供数据流加密服务,而传输模式下由于IP包首部不被加密,因此无法提供数据流加密服务。但是,隧道模式由于增加了一个新IP首部,降低了链路的带宽利用率。
ESP在新IP标头中以IP 协议ID 50 标识。
IPSec Encapsulating Security Payload (ESP)
ESP传输模式与隧道模式对比:
安全性 | AH | ESP |
---|---|---|
协议号 | 50 | 51 |
数据完整性检验 | 支持 | 支持(不验证IP头) |
数据源认证 | 支持 | 支持 |
数据加解密 | 不支持 | 支持 |
抗重放服务 | 支持 | 支持 |
NAT-T(nat穿透) | 不支持 | 支持 |
Q:IPsec体系结构文档中指出,当两个传输模式SA被绑定,在同一个端对端流中允许AH和ESP两种协议,但认为只有先施ESP协议再实施AH协议才合适,为什么?
A:主要是性能上的考虑,由于解密处理需要大量占用CPU和内存,在通过认证(完整性验证)后再进行解密处理会更好一些,如果认证没有通过就不需要执行耗时的解密操作了。
IPsec支持以下两种密钥管理方式:
IKEv1:默认的IPsec自动型密钥管理协议是ISAKMP/Oakley,包括:
- 互联网安全关联和密钥管理协议(Internet Security Association and Key Management Protocol, ISAKMP)
- Oakley密钥确定协议(Oakley Key Determination Protocol),基于Diffie-Hellman算法的密钥交换协议
在IKEv2中,不再使用术语ISAKMP和Oakley,并且对ISAKMP和Oakley的使用方式也发生了变化,但是基本功能还是相同的。后面介绍的内容是IKEv2.
Diffie-Hellman回顾:
IKE对Diffie-Hellman的改进:
使用不同的组(group)进行Diffie-Hellman密钥交换。每个组包含两个全局参数的定义和算法标识。当前的规范包括如下几个组:
(1)768 比特模的模幂运算
q = 2 768 − 2 704 − 1 + 2 64 × ( ⌊ 2 638 × π ⌋ + 149686 ) α = 2 \mathrm{q}=2^{768}-2^{704}-1+2^{64} \times\left(\left\lfloor 2^{638} \times \pi\right\rfloor+149686\right) \quad \alpha=2 q=2768−2704−1+264×(⌊2638×π⌋+149686)α=2
(2)1024 比特模的模幕运算
q = 2 1024 − 2 960 − 1 + 2 64 × ( ⌊ 2 894 × π ⌋ + 129093 ) α = 2 \mathrm{q}=2^{1024}-2^{960}-1+2^{64} \times\left(\left\lfloor 2^{894} \times \pi\right\rfloor+129093\right) \quad \alpha=2 q=21024−2960−1+264×(⌊2894×π⌋+129093)α=2
(3)1536 比特模的模幕运算
参数特定。
(4)基于 2 155 2^{155} 2155 的椭圆曲线组
生成器(十六进制)参数: X = 7 B , Y = 1 C 8 X=7B, Y=1C8 X=7B,Y=1C8
椭圆曲线参数(十六进制)参数: X = 0 , Y = 7338 F X=0, Y=7338F X=0,Y=7338F
(5)基于 2 185 2^{185} 2185 的椭圆曲线组
生成器(十六进制)参数: X = 18 , Y = D X=18, Y=D X=18,Y=D
椭圆曲线参数(十六进制)参数: X = 0 , Y = 1 E E 9 X=0, Y=1EE9 X=0,Y=1EE9
Cookie交换(Cookie exchange)要求各方在初始消息中发送一个伪随机数 Cookie,并要求对方确认。
此确认必须在Diffie-Hellman密钥交换的第一条消息中重复。如果源地址被伪造,则攻击者就不会收到应答。这样,攻击者仅能让用户产生应答而不会进行Diffie-Hellman计算
ISAKMP规定Cookie的产生必须满足:
64
位:IKE使用三种不同的身份认证方法:
IKE使用现时值(nonce)来反重放攻击。每个现时值是本地产生的伪随机数,在应答中出现,并在交换时被加密以保护它的可用性
协商过程分成:
采用模式:
简答题:简述IKEv1第一阶段中主模式和积极模式的区别
答:两种模式都有协商提议、密钥交换、身份认证的阶段。
主模式的第一阶段是协商密码,而积极模式第一阶段是协商提议、密钥交换、身份认证都包含。主模式需要6条消息,积极模式只需要3条消息。主模式在第三阶段(身份认证)是有加密保护的,而积极模式没有保护。
IPsecv3和IKEv3协议依赖于多种密码算法。每种应用可能需要使用多种密码算法,而每种密码算法也有很多参数。为了提高互操作性,IETF通过RFC4308和RFC4869定义了各种应用的推荐密码算法和参数。
单选题:以下关于IKE说法不正确的是?()
A.lKE报文由首部和一个或多个载荷组成,并包含在TCP报文中
B.密钥交换是IKE的一种载荷,主要包含密钥交换数据
C.lKE的首部中包含发起方SPI和应答方SPI字段,发送方发送的第一个报文中应答方SPI全置0
D.IKE首部中的邻接载荷的内容指向IKE带的第一个载荷
答案:A
Q:为什么要组合SA?
A:单个SA只能实现AH协议或ESP协议,而不能同时实现这两者。但在实际应用中,一些流量需要同时调用由AH和ESP提供的服务,某些流量可能需要主机间的IPsec服务的同时还需要在安全网关(如防火墙)间得到IPsec提供的服务。在这些情况下,同一个流量可能需要多个SA才能获得想要的IPsec服务。
提供特定IPsec服务集而组合在一起的SA系列称为“安全关联束(Security Association Bundle)”
在组合多个SA形成安全关联束时,需要考虑认证和加密的顺序问题
先加密后认证的好处是:接收方只有在认证通过后才解密,而解密是很耗时的,这样的好处是可提高性能。
IPsec在IP层对所有流量进行加密和/或认证,因此能够保护各种基于IP的应用
将IPsec应用于上述场景的实质就是构建基于IPsec的虚拟专用网(Virtual Private Network, VPN)
利用IPsec实现安全通信有以下优点:
IPv6通过IPsec来保证IP层的传输安全,提高了网络传输的保密性、完整性、可控性和抗否认性
安全问题:
网络层绕过IDS/IPS的一些探索
“失控”的 IPv6:观察 IPv6 网络环境安全现状
路由协议的安全保障:
【网络协议详解】——RIP协议(学习笔记)
对于不安全的RIP协议,中小型网络通常可采取的防范措施包括:
RIPng为IPv6环境下运行的RIP协议,采用和RIPv2完全不同的安全机制。
RIPng使用和RIPv1相似的报文格式,充分利用IPv6中IPsec提供的安全机制,包括AH认证、ESP加密以及伪报头校验等,保证了RIPng路由协议交换路由信息的安全。
【网络协议详解】——OSPF协议(学习笔记)
OSPF协议可以对接口、区域、虚链路进行认证
OSPF认证方式
OSPF报文格式中有二个与认证有关的字段:认证类型(AuType, 16位)、认证数据(Authentication, 64位)
同RIPng一样,OSPFv3协议自身不再有加密认证机制,取而代之的是通过IPv6的IPsec协议来保证安全性,路由协议必须运行在支持IPsec的路由器上。
OSPF攻击方式
OK,以上就是本期知识点“IP及路由安全”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟~
如果有错误❌,欢迎批评指正呀~让我们一起相互进步
如果觉得收获满满,可以点点赞支持一下哟~
❗ 转载请注明出处
作者:HinsCoder
博客链接: 作者博客主页