摘要
- 当两个端点仍保留有效的 TCP-AO 连接状态时,TCP-AO 可以认证重置报文。
- 对端重启后,无法验证的重置会被丢弃;残留连接必须依靠存活检测或应用恢复来清理。
重启制造了不对称的状态
在故障发生前,两端都掌握 TCP 连接、初始序列号以及该连接所需的流量密钥。因此,处于同一安全上下文中的重置可以通过认证。
路由器重启后,可能仍记得要与邻居使用 TCP-AO,却已经丢失那条具体连接的状态。RFC 5925 说明:如果不知道初始序列号对,例如重启后发送重置时,重置应当不带认证。要求使用 TCP-AO 的接收端无法验证该报文,只能丢弃它。
于是,一端认为连接已经不存在,另一端却仍保存着旧连接;后者没有得到能够接受的证明。
为什么不能接受这个诚实的重置
如果把未认证重置当作恢复例外,攻击者也能伪造同样的报文并终止受保护会话。接收端无法仅凭报文判断发送者是重启后的诚实对端,还是伪造者。
代价是清理速度变慢。存活的一端可能继续保存过时状态,直到自己的存活机制确认连接不再推进。RFC 5925 建议使用 TCP 或应用层 keepalive,并要求实现检测并清除过量的 TCP 连接状态,以保护内存。
来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限战略圈层会员
战略圈层
所有读者均可浏览。加入并登录后可解锁档案简报。
加入战略圈层仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance





