【信息安全原理】——IP及路由安全(学习笔记)

目录

  • 🕒 1. IPv4协议及其安全性分析
  • 🕒 2. IPsec(IP Security)
    • 🕘 2.1 IPsec安全策略
      • 🕤 2.1.1 安全关联(Security Association, SA)
      • 🕤 2.1.2 安全策略(Security Policy, SP)
      • 🕤 2.1.3 IP包处理过程
    • 🕘 2.2 IPsec运行模式
    • 🕘 2.3 AH协议
      • 🕤 2.3.1 AH首部
      • 🕤 2.3.2 AH运行模式
      • 🕤 2.3.3 完整性检验
      • 🕤 2.3.4 抗重放攻击
      • 🕤 2.3.5 AH与NAT的兼容性问题
    • 🕘 2.4 ESP协议
      • 🕤 2.4.1 ESP首部
      • 🕤 2.4.2 ESP传输模式
      • 🕤 2.4.3 ESP隧道模式
      • 🕤 2.4.4 ESP与NAT的兼容性问题
      • 🕤 2.4.5 ESP与AH对比
    • 🕘 2.5 网络密钥交换
      • 🕤 2.5.1 IPsec密钥管理
      • 🕤 2.5.2 密钥确定协议
        • 🕞 2.5.2.1 Group
        • 🕞 2.5.2.2 Cookie机制
        • 🕞 2.5.2.3 身份认证
        • 🕞 2.5.2.4 防重放攻击
      • 🕤 2.5.3 IPsec工作过程
        • 🕞 2.5.3.1 IKEv1交换过程
        • 🕞 2.5.3.2 IKEv2交换过程
      • 🕤 2.5.4 IKE消息格式
      • 🕤 2.5.5 IKE密码组件
      • 🕤 2.5.6 IKE交互过程抓包分析
    • 🕘 2.6 SA组合
    • 🕘 2.7 IPsec的应用
  • 🕒 3. IPv6协议及其安全性分析
  • 🕒 4. 路由安全
    • 🕘 4.1 RIP协议及其安全性分析
    • 🕘 4.2 OSPF协议及其安全性分析

🕒 1. IPv4协议及其安全性分析

在这里插入图片描述

安全性分析:

  • IPv4协议没有认证机制
    • 没有消息源认证:源地址假冒
    • 没有完整性认证:篡改
  • IPv4没有加密机制
    • 无机密性:监听应用数据
    • 泄露拓扑等信息:网络侦察
  • 带宽控制
    • DDoS攻击

🕒 2. IPsec(IP Security)

作用:端到端的确保 IP 通信安全:认证、加密及密钥管理
最初为IPv6制定(必选),也支持IPv4(可选)

标准内容:
在这里插入图片描述

IPsec 协议族 :

  • 两种工作模式
    • 传输模式(Transport)
    • 隧道模式(Tunnel)
  • 两个通信保护协议
    • 鉴别首部协议( AH , Authentication Header )
    • 封装有效载荷协议( ESP , Encapsulation Security Payload )
  • 互联网密钥交换协议( IKE , Internet Key Exchange ):
    • 阶段1(两种基本模式)
      • 主模式
      • 积极模式
    • 阶段2(快速模式)
  • 两个数据库
    • 安全策略数据库SPD ( Security Policy Database )
    • 安全关联数据库SAD ( Security Association Database )
  • 解释域DOI(Domain of Interpretation)

IPsec通过允许系统选择所需的安全协议(AH协议或ESP协议),决定服务所使用的加密或认证算法,提供任何服务需要的密钥来提供IP级的安全服务。

RFC4301中列出的安全服务包括:访问控制、无连接完整性、数据源认证、拒绝重放包(部分顺序完整性格式)、保密性(加密)以及限制流量保密性

🕘 2.1 IPsec安全策略

IPsec操作的基础是应用于每一个从源端到目的端传输的IP包上的安全策略。

IPsec安全策略主要由两个交互的数据库(SAD和SPD)来确定

在这里插入图片描述

🕤 2.1.1 安全关联(Security Association, SA)

  • 一个SA:发送端和接收端之间的单向逻辑连接,为数据流提供安全服务;经过同一SA的数据流会得到相同的安全服务,如AH或ESP
  • SA对:双向安全数据交换
  • 同时支持AH、ESP且双向:需两对SA

一个SA由以下参数确定:

  • 安全参数索引(Security Parameters Index, SPI):32位,接收方根据SPI选择合适的SA处理接收到的数据包
  • IP目的地址:仅允许单播地址
  • 安全协议标识(Security Protocol Identifier):AH / ESP

SAD定义了所有SA相关的参数,每个SA:

  • 安全参数索引
  • 序列号计算器
  • 序列计数器溢出
  • 反重放窗口
  • AH信息
  • ESP信息
  • 安全关联的生存期
  • IPsec协议模式:隧道、传输或通配符
  • 最大传输单元路径(path MTU)

在这里插入图片描述

不同SA可以用多种方式组合以获得理想的用户配置。此外,IPsec对需要IPsec保护的流量和不需要IPsec保护的流量提供多种粒度的控制

🕤 2.1.2 安全策略(Security Policy, SP)

  • 指定对IP数据包提供何种保护,并以何种方式实施保护
  • 主要根据源IP、目的IP、入数据还是出数据等来标识
  • 用户设定自己的安全策略的粒度:IP地址,传输层协议,TCP/UDP端口号
  • 操作:Discard(丢弃)、Bypass(通过)、Protect(保护)

SPD中的每一条SP包括:

  • 本地IP
  • 远程IP
  • 下一层协议
  • 名称
  • 本地或远程端口

主机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 

🕤 2.1.3 IP包处理过程

基于SAD和SPD,IPsec对IP包的处理

在这里插入图片描述
在这里插入图片描述

🕘 2.2 IPsec运行模式

两种模式:传输模式和隧道模式

传输模式SA隧道模式SA
AH对IP载荷和IP首部的选中部分、IPv6的扩展首部进行认证对整个内部IP包(内部首部和IP载荷)和外部IP首部的选中部分、外部IPv6的扩展首部进行认证
ESP对IP载荷和跟在ESP首部后面的任何IPv6扩展首部进行加密加密整个内部IP包
AH+ESP对IP载荷和ESP首部后面的任何IPv6扩展首部进行加密,同时对IP载荷进行认证,但不认证IP首部。加密并认证整个内部IP包

比较:
在这里插入图片描述

🕘 2.3 AH协议

AH协议功能:IP包的数据完整性、数据来源认证抗重放攻击服务

  • 完整性:采用HMAC算法:HMAC-MD5(必须)、HMAC-SHA1(必须) 、HAMC-RIPEMD-160等
  • 抗重放:序列号

🕤 2.3.1 AH首部

在这里插入图片描述

🕤 2.3.2 AH运行模式

在这里插入图片描述

在这里插入图片描述

🕤 2.3.3 完整性检验

算法:在SA中指定

  • HMAC-MD5-96
  • HMAC-SHA-1-96

96表示鉴别数据默认字段长,由HMAC计算出完整校验值后再被截短,取前96位。

哪些字段参与计算?如何处理IPv4和IPv6首部中的三种字段:不变字段,可变但可预测字段,可变不可预测字段?

  • IP首部:只包括在传输期间不变的字段或接受方可预测的字段,其余不定的字段全置为0
  • AH:除“鉴别数据”字段外其他的所有字段,“鉴别数据”字段被置为0
  • IP数据包中的所有的上层协议数据。

IPv4首部三种字段:
在这里插入图片描述

  • 不变(Immutable)字段:版本、首部长度、总长度、标识、协议(应为AH协议代码)、源地址、目的地址;
  • 可变但可预测字段(Mutable but predictable):目的地址(在源路由列表中指定的每一个中间路由器都会将这个字段修改成下一个指定地址,但源路由字段包含了MAC计算所需的相关信息,是可预测的);
  • 可变(Mutable)字段(在计算ICV前,需要置0的字段):服务类型(ToS,路由器可能会改变这个字段以表示降低服务)、标志(如果路由器对IP报文分片就会修改这个字段)、片偏移(如果路由器对IP报文分片就会修改这个字段)、生存时间(每经过一个路由器递减)、首部检验和(首部任何字段改变都会导致重新计算检验和)。

IPv6基本首部三种字段:

  • 不变字段:版本、有效载荷长度、下一个首部(应为AH协议代码)、源地址、目的地址;
  • 可变但可预测字段:目的地址;
  • 可变字段:通信量类、流标号、跳数限制。

IPv6扩展首部三种字段:

  • 不可预测:IPv6的逐跳选项和目的节点选项;
  • 可变但可预测字段:路由首部;
  • 不用字段:分片

🕤 2.3.4 抗重放攻击

序列号 + 滑动窗口机制

在这里插入图片描述

🕤 2.3.5 AH与NAT的兼容性问题

AH无法与NAT兼容,因为AH认证的是整个IP包,如果修改IP地址(NAT功能),则无法通过完整性检测。

🕘 2.4 ESP协议

ESP协议功能:除了提供IP包的数据完整性数据来源认证抗重放攻击服务,还提供数据包加密和数据流加密服务

  • 完整性:采用HMAC算法:HMAC-MD5(必须)、HMAC-SHA1 (必须) 、HAMC-RIPEMD-160,NULL(无认证)等;ESP认证的数据范围要小于AH协议
  • 加密:对称密码,必须支持:DES-CBC和NULL算法(认证和加密不能同时为NULL

🕤 2.4.1 ESP首部

在这里插入图片描述

🕤 2.4.2 ESP传输模式

在这里插入图片描述
原始IP标头已移到最前面。将发送方的IP标头放在前面(对协议ID稍作更改),证明传输模式不能为原始IP标头提供保护或加密,并且在IP 协议ID为50的新IP标头中标识了ESP 。

在这里插入图片描述

🔎 An Illustrated Guide to IPsec

在这里插入图片描述
传输模式下的ESP装包和拆包过程,注意分清加密(红色)和认证(黄色)的数据区域。

装包过程:

  1. 在原 IP报文末尾添加ESP尾部信息。ESP trailer包含三部分:Padding(所选加密算法可能是块加密,因此当最后一块长度不够时就需要进行填充)Pad length(说明填充的长度,方便解包时删除用来填充的那一段数据)Next header(用来标明被加密的原部分的协议类型,例如TCP)
  2. 将原 IP 报文的数据部分与第1步得到的ESP尾部作为整体(上面流程图的红框)进⾏加密,加密算法与密钥由SA给出。
  3. 为第2步得到的加密数据添加ESP头部信息,对这两者组合体做一个摘要,得到一个完整性度量值(ESPMessage Authentication Data),并添加到该组合体尾部。ESP头包含两部分:SPI (Security Parameter Index安全参数索引,用于将收到的 IPsec 数据包与其对应的SA进行关联,从SAD中获得关于该IPsec包一些信息如协议所有的算法和密钥)顺序号(Sequence number占32比特,SA 初次建立时置0,每发送一个数据包加1,用于抵抗重放攻击)
  4. 把原IP头加到ESP头前面,这样基于ESP协议的传输模式下装包便完成了。

解包过程:

  1. 除开IP头以及末尾的Authentication Data部分,对中间部分计算摘要,与附在末尾的Authentication Data做对比,如果一样的话说明数据是完整的,否则可以断定所收到的报文已经不是原来的报文了。
  2. 查看ESP头,通过⾥面的 SPI 得到数据报⽂所对应的SA,以便在SAD获取加密所有算法和密钥;检查顺序号,保证数据是“新鲜的”而不是回放攻击。
  3. 根据SA所提供的加密算法和密钥,解密被加密过的数据,得到原IP报文的数据部分与ESP尾。
  4. 根据ESP尾里的Padding填充长度信息,我们可以找出填充字段,删去后就得到原IP报文的数据部分。
  5. 将 IP头和IP数据部分组合即得到完整的原IP报文。

在这里插入图片描述
从中可以看出所加ESP头中的SPI和sequence分别为:2896858147和1。上层协议(Encap Security Payload)为ESP(50)说明其为一个IPsec报文。

🕤 2.4.3 ESP隧道模式

在这里插入图片描述
与ESP传输模式相比,隧道模式下对整个IP包进行认证和加密,因此可以提供数据流加密服务,而传输模式下由于IP包首部不被加密,因此无法提供数据流加密服务。但是,隧道模式由于增加了一个新IP首部,降低了链路的带宽利用率。

ESP在新IP标头中以IP 协议ID 50 标识。

在这里插入图片描述
🔎 IPSec Encapsulating Security Payload (ESP)

ESP传输模式与隧道模式对比:

  • 隧道模式对整个IP包进行认证和加密,因此可以提供数据流加密服务,而传输模式由于IP包首部不被加密,因此无法提供数据流加密服务。但是,隧道模式由于增加了一个新IP首部,降低了链路的带宽利用率
  • 传输模式适合于保护支持ESP协议的主机之间的通信连接,而隧道模式则在包含防火墙或其它用于保护可信内网不受外网攻击的安全网关的配置中比较有效。

🕤 2.4.4 ESP与NAT的兼容性问题

  • AH与NAT不兼容,而ESP不对IP包首部(含选项字段)进行认证,因此不存在和NAT不兼容的问题。
  • 如果通信的任何一方具有私有地址或在安全网关后面,仍然可以用ESP来保护其安全,因为NAT网关或安全网关可以修改IP首部中的源/目的IP地址来确保双方的通信不受影响

🕤 2.4.5 ESP与AH对比

安全性AHESP
协议号5051
数据完整性检验支持支持(不验证IP头)
数据源认证支持支持
数据加解密不支持支持
抗重放服务支持支持
NAT-T(nat穿透)不支持支持

Q:IPsec体系结构文档中指出,当两个传输模式SA被绑定,在同一个端对端流中允许AH和ESP两种协议,但认为只有先施ESP协议再实施AH协议才合适,为什么?
A:主要是性能上的考虑,由于解密处理需要大量占用CPU和内存,在通过认证(完整性验证)后再进行解密处理会更好一些,如果认证没有通过就不需要执行耗时的解密操作了。

🕘 2.5 网络密钥交换

🕤 2.5.1 IPsec密钥管理

IPsec支持以下两种密钥管理方式:

  • 手动(manual):管理员为每个系统手动配置所需密钥,只适用于规模相对较小且结点配置相对稳定的环境。
  • 自动(automated):系统通过IKE(Internet Key Exchange)协议自动为SA创建密钥,适用于大型分布式系统中的密钥管理。

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.

🕤 2.5.2 密钥确定协议

Diffie-Hellman回顾:

在这里插入图片描述

  • 两个优点:
    • 仅当需要时才生成密钥,减小了将密钥存储很长一段时间而致使遭受攻击的机会;
    • 除对全局参数的约定外,密钥交换不需要事先存在的基础设施。
  • 两个缺点:
    • 没有提供双方身份的任何信息,因此易受中间人攻击;
    • 算法是计算密集型的,容易遭受阻塞性攻击;
    • 易受重放攻击。

在这里插入图片描述

IKE对Diffie-Hellman的改进:

  • 允许双方协商得到一个组(group),相录于Diffie-Hellman密钥交换的全局参数;
  • 允许交换Diffie-Hellman的公钥值;
  • 对Diffie-Hellman交换进行身份认证,以阻止中间人攻击
  • 采用Cookie机制来防止拥塞攻击;
  • 使用现时值来阻止重放攻击;
🕞 2.5.2.1 Group

使用不同的组(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=276827041+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=2102429601+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

🕞 2.5.2.2 Cookie机制

Cookie交换(Cookie exchange)要求各方在初始消息中发送一个伪随机数 Cookie,并要求对方确认。
此确认必须在Diffie-Hellman密钥交换的第一条消息中重复。如果源地址被伪造,则攻击者就不会收到应答。这样,攻击者仅能让用户产生应答而不会进行Diffie-Hellman计算

ISAKMP规定Cookie的产生必须满足:

  1. Cookie必须依赖于特定的通信方
  • 从而防止攻击者得到一个正在使用真正的IP地址和UDP端口的Cookie时
  • 也无法用该Cookie向目标主机发送大量的来自随机选取的IP地址和端口号的请求来浪费目标主机的资源
  1. 除了发起实体以外的任何实体都不可能产生被它承认的Cookie。
  • 这就意味着发起实体在产生和验证Cookie时,要使用本地的秘密信息,而且根据任何特定的Cookie都不可能推断出该秘密信息
  1. Cookie的产生和验证必须尽可能地快速完成,从而阻止企图通过占用处理器资源的阻塞攻击
  • 一种产生Cookie的方法是对以下信息进行HASH运算后,取前64位:
    源IP地址 + 目的IP地址 + UDP源端口 + UDP目的端口 + 随机数 + 当前日期 + 当前时间
🕞 2.5.2.3 身份认证

IKE使用三种不同的身份认证方法:

  • 数字签名:用双方均可以得到的散列值进行签名来进行身份认证,每一方都用自己的私钥加密散列值。散列值使用重要的身份参数(如用户ID、现时值)来生成。
  • 公钥加密:利用对方公钥对用户身份参数(如用户ID、现时值)加密来进行身份认证。
  • 对称密钥加密:通过带外机制得到密钥,并且该密钥对交换的身份参数进行加密。
🕞 2.5.2.4 防重放攻击

IKE使用现时值(nonce)来反重放攻击。每个现时值是本地产生的伪随机数,在应答中出现,并在交换时被加密以保护它的可用性

🕤 2.5.3 IPsec工作过程

协商过程分成:

  • 第一阶段:交换密码算法、验证身份,建立IKE SA,保护第二阶段通信
  • 第二阶段:双方认证,建立IPsec SA(IKEv1有,IKEv2没有)

采用模式:

  • 第一阶段:主模式(6条消息)/积极模式(3条消息)
  • 第二阶段:快速模式(3条消息)
🕞 2.5.3.1 IKEv1交换过程

在这里插入图片描述

  • ①中安全提议有加密算法、认证算法、DH组、身份认证方法、存活时间。
  • ③④交换DH参数和时变值。

简答题:简述IKEv1第一阶段中主模式和积极模式的区别
答:两种模式都有协商提议、密钥交换、身份认证的阶段。
主模式的第一阶段是协商密码,而积极模式第一阶段是协商提议、密钥交换、身份认证都包含。主模式需要6条消息,积极模式只需要3条消息。主模式在第三阶段(身份认证)是有加密保护的,而积极模式没有保护。

🕞 2.5.3.2 IKEv2交换过程

在这里插入图片描述

🕤 2.5.4 IKE消息格式

  • IKE协议定义了建立、协商、修改和删除安全关联的过程报文格式
  • IKE报文由首部和一个或多个载荷组成,并包含在传输协议(规范要求在实现时必须支持UDP协议

在这里插入图片描述

🕤 2.5.5 IKE密码组件

IPsecv3和IKEv3协议依赖于多种密码算法。每种应用可能需要使用多种密码算法,而每种密码算法也有很多参数。为了提高互操作性,IETF通过RFC4308RFC4869定义了各种应用的推荐密码算法和参数。

在这里插入图片描述

单选题:以下关于IKE说法不正确的是?()
A.lKE报文由首部和一个或多个载荷组成,并包含在TCP报文中
B.密钥交换是IKE的一种载荷,主要包含密钥交换数据
C.lKE的首部中包含发起方SPI和应答方SPI字段,发送方发送的第一个报文中应答方SPI全置0
D.IKE首部中的邻接载荷的内容指向IKE带的第一个载荷
答案:A

🕤 2.5.6 IKE交互过程抓包分析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

🕘 2.6 SA组合

Q:为什么要组合SA?
A:单个SA只能实现AH协议或ESP协议,而不能同时实现这两者。但在实际应用中,一些流量需要同时调用由AH和ESP提供的服务,某些流量可能需要主机间的IPsec服务的同时还需要在安全网关(如防火墙)间得到IPsec提供的服务。在这些情况下,同一个流量可能需要多个SA才能获得想要的IPsec服务。

提供特定IPsec服务集而组合在一起的SA系列称为“安全关联束(Security Association Bundle)”

  • 安全关联束中的SA可以在不同节点上终止,也可在同一个节点上终止
  • 两种方式将多个SA组合成安全关联束:传输邻接(transport adjacency)与隧道迭代(Iterated Tunneling)

在组合多个SA形成安全关联束时,需要考虑认证和加密的顺序问题

  • 先加密后认证
  • 先认证后加密

先加密后认证的好处是:接收方只有在认证通过后才解密,而解密是很耗时的,这样的好处是可提高性能。

在这里插入图片描述

🕘 2.7 IPsec的应用

IPsec在IP层对所有流量进行加密和/或认证,因此能够保护各种基于IP的应用

  • 终端用户通过互联网实现安全的远程访问
  • 分支机构通过互联网构建一个安全的虚拟专用网络
  • 与合作者建立企业间联网和企业内联网接入

将IPsec应用于上述场景的实质就是构建基于IPsec的虚拟专用网(Virtual Private Network, VPN)

利用IPsec实现安全通信有以下优点:

  • 当在路由器或防火墙等边界设备中启用IPsec时,认证和加密过程均在路由器或防火墙中进行,而其后面的公司或者工作组内部的通信不会引起与安全相关的开销
  • IPsec位于传输层之下,所以对应用是透明的
  • IPsec对终端用户是透明的
  • 若有必要,IPsec给个人用户提供安全性

🕒 3. IPv6协议及其安全性分析

在这里插入图片描述

IPv6通过IPsec来保证IP层的传输安全,提高了网络传输的保密性、完整性、可控性和抗否认性

安全问题:

  • IPv4向IPv6过渡技术的安全风险
  • 无状态地址自动配置的安全风险
  • IPv6中PKI管理系统的安全风险
  • IPv6编址机制的隐患

🔎 网络层绕过IDS/IPS的一些探索

🔎 “失控”的 IPv6:观察 IPv6 网络环境安全现状

🕒 4. 路由安全

在这里插入图片描述
路由协议的脆弱性:

  • 协议设计上的问题,即协议机制上的不完善(如认证机制、防环路机制、路由度量机制等)导致的安全问题
  • 协议实现上的问题,即许多协议规范中的协议行为在实际网络环境中并没有实现或做的不够完善而导致的安全问题
  • 管理配置产生的安全问题,很多网络管理员在配置路由协议器时,没有或错误地配置相应的加密和认证机制,带来了很多安全风险

路由协议的安全保障:

  • IPv4网络中,路由安全主要依靠路由协议本身提供的安全机制来保障,如认证和加密机制。而在IPv6网络中,路由安全则主要依靠前面介绍的IPsec协议提供的认证和加密服务来保障

🕘 4.1 RIP协议及其安全性分析

🔎 【网络协议详解】——RIP协议(学习笔记)

  • RIPv1不支持认证,且使用不可靠的UDP协议作为传输协议,安全性较差。
  • 如果在没有认证保护的情况下,攻击者可以轻易伪造RIP 路由更新信息,并向邻居路由器发送,伪造内容为目的网络地址、子网掩码地址与下一条地址,经过若干轮的路由更新,网络通信将面临瘫痪的风险
  • RIPv2在其报文格式中增加了一个可以设置16个字符的认证选项字段,支持明文认证MD5加密认证两种认证方式,字段值分别是16个字符的明文密码字符串或者MD5签名。
  • RIP认证以单向为主,R2发送出的路由被R1授受,反之无法接受。另外,RIPv2协议路由更新需要配置统一的密码
  • 明文认证的安全性仍然较弱

对于不安全的RIP协议,中小型网络通常可采取的防范措施包括:

  • ①将路由器的某些接口配置为被动接口,配置为被动接口后,该接口停止向它所在的网络广播路由更新报文,但是允许它接收来自其他路由器的更新报文;
  • ②配置路由器的访问控制列表,只允许某些源IP 地址的路由更新报文进入列表

RIPng为IPv6环境下运行的RIP协议,采用和RIPv2完全不同的安全机制。

RIPng使用和RIPv1相似的报文格式,充分利用IPv6中IPsec提供的安全机制,包括AH认证、ESP加密以及伪报头校验等,保证了RIPng路由协议交换路由信息的安全。

🕘 4.2 OSPF协议及其安全性分析

🔎 【网络协议详解】——OSPF协议(学习笔记)

OSPF协议可以对接口、区域、虚链路进行认证

  • 接口认证要求在两个路由器之间必须配置相同的认证口令
  • 区域认证是指所有属于该区域的接口都要启用认证,因为OSPF以接口作为区域分界。区域认证接口与邻接路由器建立邻居需要有相同的认证方式与口令,但在同一区域中不同网络类型可以有不同的认证方式和认证口令。配置区域认证的接口可以与配置接口认证的接口互相认证,使用MD5认证口令ID要相同

OSPF认证方式

  • 空认证(NULL,即不认证,类型为0),默认认证方式
  • 简单口令认证(类型为1)
  • MD5加密身份认证(类型为2)

OSPF报文格式中有二个与认证有关的字段:认证类型(AuType, 16位)、认证数据(Authentication, 64位)

同RIPng一样,OSPFv3协议自身不再有加密认证机制,取而代之的是通过IPv6的IPsec协议来保证安全性,路由协议必须运行在支持IPsec的路由器上。

  • IPsec可确保路由器报文来自于授权的路由器;重定向报文来自于被发送给初始包的路由器;路由更新未被伪造

OSPF攻击方式

  • 最大年龄(Max Age attack)攻击
  • 序列号加1(Sequence++)攻击
  • 最大序列号攻击
  • 重放攻击
  • 篡改攻击

OK,以上就是本期知识点“IP及路由安全”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~

❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/116310.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【lvgl】linux开发板搭建环境

前言 本章介绍如何在linux开发板准备好了fb0的情况下移植lvgl。 抓取源码 git clone https://github.com/lvgl/lvgl.git git clone https://github.com/lvgl/lv_drivers.git git clone https://github.com/lvgl/lv_demos.git git clone https://github.com/lvgl/lv_port_lin…

【教3妹学编程-算法题】使数组变美的最小增量运算数

2哥 : 3妹,脸上的豆豆好了没呢。 3妹:好啦,现在已经没啦 2哥 : 跟你说很快就会消下去的,还不信~ 既然你的容颜和心情都如此美丽,那我们就再做一道关于美丽的题吧。 3妹:切,2哥就会取笑我&#x…

搬家两年随笔

不知不觉中,我已经搬到这个地方两年多了。 回首这段时间,我感触颇深。 尽管这里地理位置较为偏僻,交通不是特别方便,但环境优美,绿树成荫,空气清新。 只是相对于之前的生活环境,这里离上班的地方…

【入门Flink】- 02Flink经典案例-WordCount

WordCount 需求&#xff1a;统计一段文字中&#xff0c;每个单词出现的频次 添加依赖 <properties><flink.version>1.17.0</flink.version></properties><dependencies><dependency><groupId>org.apache.flink</groupId><…

根据Word模板,使用POI生成文档

突然想起来有个小作业&#xff1a;需要根据提供的Word模板填充数据。这里使用POI写了一个小demo验证下。 测试用模板&#xff1a; 执行结果 1.引入依赖坐标 <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId&…

Emscripten + CMakeLists.txt 将 C++ 项目编译成 WebAssembly(.wasm)/js,并编译 Html 测试

背景&#xff1a;Web 端需要使用已有的 C 库&#xff08;使用 CMake 编译&#xff09;&#xff0c;需要将 C 项目编译成 WebAssembly(.wasm) 供 js 调用。 上篇文章《Mac 上安装 Emscripten》 已讲解如何安装配置 Emscripten 环境。 本篇文章主要讲解如何将基于 CMakeLists 配…

CSS解决div行变块 ➕ CSS解决“table中的td文字溢出控制显示字数,显示省略号”的问题

CSS解决div行变块 ➕ CSS解决“table中的td文字溢出控制显示字数&#xff0c;显示省略号”的问题 1. div变块级设置1.1 先看不设置的效果1.2 再看设置之后的效果 2. 解决 table 中 td 内容过长问题2.1 CSS实现&#xff08;文字溢出控制td显示字数&#xff0c;显示省略号&#x…

Bytedance揭秘OpenAI大模型: GPT-3到GPT-4进化路径

文章目录 探秘GPT-3到GPT-4进化之路1、SFT&#xff1a;早期GPT进化的推动者2、RLHF和SFT&#xff1a;编码能力提升的功臣3、代码加入预训练&#xff0c;对推理帮助最大4、“跷跷板”现象 论文地址项目链接Reference GPT-Fathom: Benchmarking Large Language Models to Deciphe…

基于Qt Designer 操作教程

​本章将简介使用 Qt Creator 里自带的 Qt Designer,使用 Qt Designer 比较方便的构造 UI 界面。特点是方便布局,比较形象。 ## 使用 UI 设计器开发程序 在这小节里我们继续学习如何使用 Qt Designer 开发程序,Qt Designer 是属于 Qt Creator 的一个功能而已,大家不要搞混…

window10 mysql8.0 修改端口port不生效

mysql的默认端口是3306&#xff0c;我想修改成3307。 查了一下资料&#xff0c;基本上都是说先进入C:\Program Files\MySQL\MySQL Server 8.0这个目录。 看看有没有my.ini&#xff0c;没有就新建。 我这里没有&#xff0c;就新建一个&#xff0c;然后修改port&#xff1a; […

使用Renesas Flash Programmer(RFP)修改Option Byte及刷写程序

文章目录 前言配置Project修改OPBT程序刷写其他操作总结 前言 瑞萨RH850 P1H-C系列&#xff0c;在之前不知道OPBT对程序影响这么大&#xff0c;导致意外操作了其中的寄存器&#xff0c;板子锁死&#xff0c;不能再次刷写程序。本文记录下使用RFP工具刷写Option Byte需要注意的…

最新Ai系统ChatGPT程序源码+以图生图+Dall-E2绘画+支持GPT4+Midjourney绘画

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

怎样做好金融投资翻译

我们知道&#xff0c; 金融投资翻译所需的译文往往是会议文献、年终报表、信贷审批等重要企业金融资料&#xff0c;其准确性事关整个企业在今后一段时期内的发展战略与经营成效。尤其像年报&#xff0c;对于上市公司来说更是至关重要的。那么&#xff0c;怎样做好金融投资翻译&…

【漏洞复现】Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)

感谢互联网提供分享知识与智慧&#xff0c;在法治的社会里&#xff0c;请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞扫描3、漏洞验证 1.5、深度利用1、反弹Shell 说明内容漏洞编号CVE-2017-5645漏洞名称Log4j Server …

算法:Java构建二叉树并迭代实现二叉树的前序、中序、后序遍历

先自定义一下二叉树的类&#xff1a; // Definition for a binary tree node. public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) { this.val val; }TreeNode(int val, TreeNode left, TreeNode right) {this.val val;this.left…

【C语言】扫雷游戏的一步一步的实现

文章目录 一、扫雷游戏分析和设计1.1 扫雷游戏的功能说明1.2 游戏的分析和设计1.2.1 数据结构的分析1.2.2 ⽂件结构设计 二、扫雷游戏代码实现总结 一、扫雷游戏分析和设计 1.1 扫雷游戏的功能说明 • 使⽤控制台实现经典的扫雷游戏 • 游戏可以通过菜单实现继续玩或者退出游…

HTTPS的加密方式超详细解读

在了解https的加密方式之前&#xff0c;我们需要先行了解两个特别经典的传统加密方式&#xff1a; 1、对称加密 1.1、定义 需要对加密和解密使用相同密钥的加密算法。所谓对称&#xff0c;就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解…

运维知识点-Docker从小白到入土

Docker从小白到入土 安装问题-有podmanCentos8使用yum install docker -y时&#xff0c;默认安装的是podman-docker软件 安装docker启动dockeryum list installed | grep dockeryum -y remove xxxx安装Docker安装配置下载安装docker启动docker&#xff0c;并设置开机启动下载所…

企业级SpringBoot单体项目模板 —— 使用 AOP + JWT实现登陆鉴权

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;SpringBoot、企业级、项目模板☀️每日 一言&#xff1a;没学会走就学跑从来都不是问题&#xff0c;要问问自己是不是天才&#xff0c;如果不是&#xff0c;那就要一步步来 文章目录 使用JWT实现…

C语言之动态内存管理实现通讯录(完整版)

我们在之前的博客中写过静态版的通讯录&#xff0c;我们今天来写一个动态版的&#xff0c;不需要规定它到底需要多大空间&#xff0c;只要还有内存&#xff0c;我们都可以存放的下&#xff01;同时&#xff0c;函数实现原理&#xff0c;我在通讯录静态版的博客里做了详细的讲解…
最新文章