当前位置: 首页 > news >正文

【信息安全原理】——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
博客链接:🔎 作者博客主页

相关文章:

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

目录 🕒 1. IPv4协议及其安全性分析🕒 2. IPsec(IP Security)🕘 2.1 IPsec安全策略🕤 2.1.1 安全关联(Security Association, SA)🕤 2.1.2 安全策略(Security…...

【jvm】虚拟机之本地方法栈

目录 一、说明二、注意 一、说明 1. Java虚拟机栈用于管理Javaj法的调用,而本地方法栈用于管理本地方法的调用。 2. 本地方法栈,也是线程私有的。 3. 允许被实现成固定或者是可动态扩展的内存大小。 (在内存溢出方面是相同) 4. 如果线程请求分…...

『CV学习笔记』图像超分辨率等图像处理任务中的评价指标PSNR(峰值信噪比)

图像超分辨率等图像处理任务中的评价指标PSNR(峰值信噪比) 文章目录 一. PSNR(峰值信噪比)1.1. 定义1.2. 作用1.3. 例子1.4 . PSNR评价标准二. 参考文献一. PSNR(峰值信噪比) 1.1. 定义 峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)是图像超分辨率等图像处理任务中常用的一…...

【51nod 连续区间】 题解(序列分治)

题目描述 区间内的元素元素排序后 任意相邻两个元素值差为 1 1 1 的区间称为“连续区间”。 如 3 , 1 , 2 3,1,2 3,1,2 是连续区间, 3 , 1 , 4 3,1,4 3,1,4 不是连续区间。 给出一个 1 ∼ n 1 \sim n 1∼n 的排列,问有多少连续区间。 …...

10.30校招 实习 内推 面经

绿*泡*泡: neituijunsir 交流裙 ,内推/实习/校招汇总表格 1、校招|极目智能2024届校招 校招|极目智能2024届校招 2、校招|杭州极弱磁场国家重大科技基础设施研究院2024秋季校园招聘正式启动! 校招&…...

相比typescript,python的动态类型有什么优缺点?

以下是Python的动态类型相对于TypeScript的静态类型的一些优缺点: 1、Python的动态类型优点: 更灵活:Python的动态类型允许你在运行时更灵活地改变变量的类型,这对于快速原型设计和快速开发非常有帮助。 代码更简洁:…...

高效处理文件:批量顺序编号重命名方法

每个人都面临着文件管理的挑战,特别是那些需要处理大量文件的人。如何高效地管理这些文件一直是一个难题。为了解决这个问题,我向大家推荐一款强大的文件管理工具——固乔文件管家。这个工具可以帮助你快速有效地给文件进行批量重命名和编号,…...

JAVA深化篇_29—— 线程使用之线程联合以及Thread类中的其他常用方法【附有详细说明及代码案例】

线程联合 当前线程邀请调用方法的线程优先执行,在调用方法的线程执行结束之前,当前线程不能再次执行。线程A在运行期间,可以调用线程B的join()方法,让线程B和线程A联合。这样,线程A就必须等待线程B执行完毕后&#xf…...

〖Python网络爬虫实战㊲〗- JavaScript 逆向实战(一)

订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000+python项目实战 Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,订阅本专栏前必读关于专栏〖Python网络爬虫实战〗转为付费专栏的订阅说明作者:爱吃饼干的小白鼠。Python领域优质创作者,2022年度…...

2023辽宁省数学建模A题铁路车站的安全标线完整原创论文详细讲解(含matlab代码)

大家好呀,从发布赛题一直到现在,总算完成了辽宁省数学建模A题完整的成品论文。 本论文可以保证原创,保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文。 B预计下午两点前更新完毕,A全…...

(14)学习笔记:动手深度学习(Pytorch神经网络基础)

文章目录 神经网络的层与块块的基本概念自定义块 问答 神经网络的层与块 块的基本概念 以多层感知机为例, 整个模型接受原始输入(特征),生成输出(预测), 并包含一些参数(所有组成层…...

Leetcode-1 两数之和

暴力穷举 class Solution {public int[] twoSum(int[] nums, int target) {int[] num new int[2];for(int i0;i<nums.length-1;i){for(int ji1;j<nums.length;j){if(nums[i]nums[j]target){num[0]i;num[1]j;}}}return num;} }HashMap&#xff0c;记录下标和对应值&…...

Screens for Mac 中文版 远程桌面连接控制工具

Screens Mac 版是Mac os平台上的一款Mac VNC 客户终端,能够自由访问远程计算机设备&#xff0c; Screens Mac 版支持各种强大的远程控制辅助工具&#xff0c;例如剪切板共享、快捷方式自定义、安全连接、多屏幕支持、快速扫描连接等。 Screens 4 for mac支持多种远程桌面协议&…...

解决vmware安装ubuntu虚拟机显示不全以及无法实现windows与虚拟机之间无法相互复制粘贴问题

01、存在问题 02、解决方案 sudo apt-get autoremove open-vm-tools sudo apt-get install open-vm-tools sudo apt-get install open-vm-tools-desktop reboot //重启重启后界面如下&#xff1a; 存在Bug 如果遇到一下问题&#xff0c;请先执行下列命令&#x…...

希腊字母读音表

序号大写小写英文注音国际音标注音中文读音意义1Ααalphaa:lf阿尔法角度&#xff1b;系数2Ββbetabet贝塔磁通系数&#xff1b;角度&#xff1b;系数3Γγgammaˈɡmə伽马电导系数&#xff08;小写&#xff09;4Δδdeltadelt德尔塔变动&#xff1b;密度&#xff1b;屈光度5…...

如何使用CodeceptJS、Playwright和GitHub Actions构建端到端测试流水线

介绍 端到端测试是软件开发的一个重要方面&#xff0c;因为它确保系统的所有组件都能正确运行。CodeceptJS是一个高效且强大的端到端自动化框架&#xff0c;与Playwright 结合使用时&#xff0c;它成为自动化Web、移动甚至桌面 (Electron.js) 应用程序比较好用的工具。 在本文中…...

解析python爬取Ebay数据的方式

前言 Ebay是全球著名的电子商务平台之一&#xff0c;每天都有海量的商品信息涌入其中&#xff0c;在电商行业获取这些数据试试非常有价值的&#xff0c;为了更好地了解市场动态&#xff0c;掌握更多的电商行情。Python爬虫成为了必不可少的工具&#xff0c;本文将通过使用Http…...

设置DevC++支持c++11标准

1.点击编译选项 2. 设置语言标准 3.点击确认 4.测试代码 使用auto成功 测试&#xff01;...

腾讯云服务器CVM详细介绍_优缺点亲自整理

腾讯云服务器CVM提供安全可靠的弹性计算服务&#xff0c;腾讯云明星级云服务器&#xff0c;弹性计算实时扩展或缩减计算资源&#xff0c;支持包年包月、按量计费和竞价实例计费模式&#xff0c;CVM提供多种CPU、内存、硬盘和带宽可以灵活调整的实例规格&#xff0c;提供9个9的数…...

06_es分布式搜索引擎2

一、DSL查询文档 1.DSL查询分类 ①查询所有&#xff1a;match_all ②全文检索&#xff1a;利用分词器对用户输入的内容分词&#xff0c;倒排索引去匹配 match_query multi_match_query ③精确查询&#xff1a;根据精确词条查找数据&#xff0c;查找的是keyword,数值,日期,b…...

【3D图像分割】基于 Pytorch 的 VNet 3D 图像分割3(3D UNet 模型篇)

在本文中&#xff0c;主要是对3D UNet 进行一个学习和梳理。对于3D UNet 网上的资料和GitHub直接获取的代码很多&#xff0c;不需要自己从0开始。那么本文的目的是啥呢&#xff1f; 本文就是想拆解下其中的结构&#xff0c;看看对于一个3D的UNet&#xff0c;和2D的UNet&#x…...

【源码解析】Spring Bean定义常见错误

案例1 隐式扫描不到Bean的定义 RestController public class HelloWorldController {RequestMapping(path "/hiii",method RequestMethod.GET)public String hi() {return "hi hellowrd";}}SpringBootApplication RestController public class Applicati…...

由于找不到vcruntime140.dll无法继续执行代码

在计算机使用过程中&#xff0c;我们可能会遇到一些错误提示&#xff0c;其中之一就是“vcruntime140.dll丢失”。这个错误通常发生在运行某些程序或游戏时&#xff0c;它会导致程序无法正常运行。那么&#xff0c;如何解决vcruntime140.dll丢失的问题呢&#xff1f;本文将介绍…...

Perl安装教程

1. perl简介 Perl 是 Practical Extraction and Report Language 的缩写&#xff0c;可翻译为 “实用报表提取语言”。Perl 是高级、通用、直译式、动态的程序语言。Perl 最初的设计者为拉里沃尔&#xff08;Larry Wall&#xff09;&#xff0c;于1987年12月18日发表。Perl 借…...

Docker数据卷使用过程中想到的几个问题

1.已经创建的容器如何挂载数据卷&#xff1f; 答&#xff1a;已经创建的容器我的理解是不能改变改变数据卷挂载的。 但有一种方法可以将数据卷挂载记录到文件里&#xff0c;通过修改文件而改变数据卷挂载&#xff0c;就是通过使用docker compose&#xff0c;这样每次只要修改在…...

Angular 中的路由

1 使用 routerLink 指令 路由跳转 命令创建项目&#xff1a; ng new ng-demo创建需要的组件&#xff1a; ng g component components/home ng g component components/news ng g component components/produect找到 app-routing.module.ts 配置路由: 引入组件: import { Ho…...

【市场分析】Temu数据采集销售额商品量占比分析数据分析接口Api

引言 temu电商平台是一个充满活力的电商平台&#xff0c;拥有多种商品类别和数万家店铺。在这个项目中我的任务是采集平台上的大量公开数据信息。通过数据采集&#xff0c;我旨在深入了解temu电商平台的产品分布、销售趋势和文本描述&#xff0c;以揭示有趣的见解。 数据采集…...

Python笔记——linux/ubuntu下安装mamba,安装bob.learn库

Python笔记——linux/ubuntu下安装mamba&#xff0c;安装bob.learn库 一、安装/卸载anaconda二、安装mamba1. 命令行安装&#xff08;大坑&#xff0c;不推荐&#xff09;2. 命令行下载guihub上的安装包并安装&#xff08;推荐&#xff09;3. 网站下载安装包并安装&#xff08;…...

Redis之Java操作Redis的使用

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是君易--鑨&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的博客专栏《Redis实战开发》。&#x1f3af;&#x1f3af; …...

《网络协议》01. 基本概念

title: 《网络协议》01. 基本概念 date: 2022-08-30 09:50:52 updated: 2023-11-05 15:28:52 categories: 学习记录&#xff1a;网络协议 excerpt: 互联网、网络互连模型&#xff08;OSI&#xff0c;TCP/IP&#xff09;、计算机通信基础、MAC 地址、ARP & ICMP、IP & 子…...