摘要

  • RFC 5204 把 RVS 定位为初始联络点:它按 HIT 查询登记并中继 I1,随后 R1、I2 和 R2 由两端直接交换。
  • FROM 与 RVS_HMAC 保护的是登记关系中的改写来源,不证明所存 locator 此刻仍有效,也不替代端到端身份验证。
  • 可审计的证据链应连接 DNS 选择、登记代际、精确改写、对端收包、R1 直返、I2/R2、受保护数据面与应用结果。

“可达”比数据库多走了几步

设想一段并非真实事故的运行场景。移动节点在 RVS 登记地址 A,随后切换到地址 B。B 的更新尚未抵达,A 的登记寿命也尚未结束。此时 I1 到达 RVS。服务器找到 HIT,选中 A,补入受保护的 FROM,成功把包交给出口。组件日志没有任何错误;对端却永远收不到。

如果控制台把这个事件显示为“主机可达”,它就把 RVS 的内部事实提升成了系统的外部事实。

RFC 5204 是 2008 年发布的 Experimental RFC,后来由 RFC 8004 取代。它解决的不是整个会话,而是移动或多宿 HIP 节点的第一次联络。响应方先通过 HIP registration extension 把 HIT 和当前 IP 地址登记给 RVS。发起方从 DNS 等处找到 RVS,把 I1 发给它。RVS 在登记库中查到合适记录时才中继,否则丢弃。

这里的“当前”是服务器当前接受的状态,不是查询时对真实节点做的一次在线测量。登记一致与现实新鲜可以同时为假真不同的组合。

第一跳经 RVS,后续路径由两端自己证明

RFC 的时序图给出了明确边界:I1 从发起方经 RVS 到响应方;响应方直接把 R1 发回发起方;I2 与 R2 也直接往返。RVS 不是默认的数据隧道,也不持续见证基础交换。

因此至少要区分:发起方到达 RVS、RVS 选出 locator、RVS 发出 I1、响应方收到 I1、R1 直返成功、I2/R2 完成、保护态建立、应用实际成功。前一项的绿色状态不能借给后一项。

规范还明确没有处理发起方借助自己的 RVS 穿越 NAT 或防火墙的情形。产品若实现了更广的 relay,是另一份机制和证据,不能让 RFC 5204 的标签替它背书。

FROM 记录一次改写,不是全程路由证明

出口过滤可能不允许 RVS 保留 I1 原来的 source IP。RVS 可以把源地址换成自己的地址,但必须用 FROM 保存原始发起地址,并以登记阶段建立的完整性密钥计算 RVS_HMAC。已有 FROM 时,新 RVS 追加而不是覆盖,于是包内可保留一条有序的中继声明。

这份 HMAC 的权力边界很窄:它证明掌握登记密钥的一方保护了该分组以及插入的地址,供 RVS 客户端核验。它不是发起方对 IP 地址的签名,不是每一个网络跳点的遥测,也不是响应方的收件回执。

把它叫“来源验证”却不说明来源是谁,会制造歧义。准确的说法是“登记关系内的 RVS 改写完整性已验证”。

两种完整性回答两种问题

I1 尚未带有 HIP 基础交换后续的端到端 HMAC 或签名参数,因此 RVS 才能改写头部、加入参数并重算 checksum。端点身份由接下来的 HIP base exchange 验证。

于是系统中同时存在两条信任链。第一条连接 RVS 与其登记客户端,解释 relay transformation。第二条连接两个 HIP 端点,解释身份验证和密钥状态。第一条通过不等于第二条完成;第二条完成也不等于应用交易成功。

RFC 5204 的安全章节讨论重定向、放大、反射以及针对 HIP 的攻击。RVS 是控制点,因为它根据登记把初始流量投向一个位置。越是重要的控制点,越应限制它对外声称的结论。

VIA_RVS 是诊断线索

响应方收到经 RVS 中继的 I1 后,会在 R1 中加入 VIA_RVS。规范把它的主要用途写成帮助运营者诊断建立过程中的问题。

诊断线索不是 traceroute,也不是成功票据。R1 被构造、R1 被发出、发起方收到 R1、发起方验证 R1、I2 发出、R2 收到,是不同事件。只有保留这些分层状态,VIA_RVS 才能解释问题,而不会被误用为“路径已通”。

DNS 与登记各有自己的时间

DNS 告诉发起方尝试哪个 RVS。它有发布者、签名条件、TTL、resolver cache 和读取时刻。RVS 登记告诉服务器为某个 HIT 接受了哪个 locator。它有登记标识、寿命、续期和最后更新时刻。

新鲜的 DNS 记录可能指向没有该 HIT 登记的服务器;有效登记可能装着旧 locator;正确 locator 也可能因路由、过滤或接口状态不可达。单个 reachable=true 无法表达这些情况。

最小收据应同时记录 DNS 证据与登记代际,再记录执行:I1 指纹、查询结果、改写前后头部、FROM 次序、HMAC 上下文、发送接口与时间。随后补上 RVS 自己无法生成的证据:响应方收包、R1 直返、I2/R2、保护态、数据面和应用结果。

被取代的规范不是部署结论

RFC 8004 取代 RFC 5204,RFC 7401、8003、8005、8046 分别更新基础协议、登记、DNS 与移动性相关部分。这要求资产清单说明实际协议代际,却不能自动推出某台设备仍跑旧版、已经升级或存在已观测漏洞。

“支持 HIP rendezvous”只是产品标签。可验证的运行事实还需要版本、算法、登记类型、参数处理、策略与报文观测。规范说明应该怎样;running code 才说明眼前正在怎样。

Sources