跳到主要内容

2.2. Replay Protection (重放保护)

2.2. Replay Protection (重放保护)

基于用户的安全模型提供针对消息重放、消息延迟和消息重定向的保护。此保护基于使用:

  1. msgAuthoritativeEngineID: 参与此消息交换的权威 SNMP 引擎的 snmpEngineID。
  2. msgAuthoritativeEngineBoots: 权威 SNMP 引擎自初始配置以来重新初始化自身的次数。
  3. msgAuthoritativeEngineTime: 自权威 SNMP 引擎上次递增 msgAuthoritativeEngineBoots 计数器以来的秒数。

这三个值一起提供了一个松散同步的时钟, 用于限制消息重放攻击的时间窗口机会。

重放保护机制的工作原理如下:

For Request Messages (对于请求消息)

当生成请求消息时, 非权威 SNMP 引擎包含来自权威 SNMP 引擎的以下值:

  • 最近接收到的 msgAuthoritativeEngineID
  • 最近接收到的 msgAuthoritativeEngineBoots
  • 最近接收到的 msgAuthoritativeEngineTime

For Response Messages (对于响应消息)

当生成响应消息时, 权威 SNMP 引擎包含其当前值:

  • msgAuthoritativeEngineID
  • msgAuthoritativeEngineBoots
  • msgAuthoritativeEngineTime

Time Window (时间窗口)

如果满足以下条件, 接收 SNMP 引擎认为消息在时间窗口之外:

abs(msgAuthoritativeEngineTime - localEngineTime) > 150 秒

其中 localEngineTime 是本地 SNMP 引擎对 msgAuthoritativeEngineID 的当前时间的概念。

超出时间窗口的消息将被丢弃, 并向消息处理子系统返回错误指示。