摘要
- LTP Cookie 是会话内可变状态。接收端接受更长的扩展值之后,原来的短值不再有效;重传要重新使用当时的当前值。
- Cookie 只能提高盲目拒绝服务流量的成本,不能认证是谁改变了状态。AuthVal 认证分段,但密钥如何分发、KeyID 表示什么、旧密钥何时退役都不由 RFC 5327 决定。
重传不是把旧字节重新排队
假设一个分段带着正确 Cookie 离开发送端。它还在链路上时,对端给这个 Cookie 追加了随机位。计时器随后要求重传,系统从持久化队列中找到当初的完整编码。
如果原样发送,负载确实没有变化,安全状态却已经过期。RFC 5327 明确要求重传携带重传时正确的 Cookie;它可能与原始发送使用的值不同。重传因此是一次新的封装行为,而不是旧证据的复制。
审计需要同时保留逻辑负载哈希与编码分段哈希,记录每次尝试所用的 Cookie 状态、重传原因、接收结果和接触窗口。只有“同一 payload 重试三次”无法解释为什么第一次可接受、第三次应被静默丢弃。
这也改变故障归因。字节完全相同不表示网络损坏,旧值曾经有效也不表示现在仍然有效。接收端拒绝它,可能正是在正确执行状态迁移。
有效性来自前缀关系和本地时钟
任一 LTP 引擎都可以在会话中随时引入 Cookie。在考虑通信时延的宽限期过去之后,这个会话双向的所有分段都必须带有有效值。在更新还可能位于链路途中时,实现需要有限地接受尚未带值的旧在途分段。
宽限长度由实现判断。它依赖单程时延、接触计划、发送机会与本地政策,而不是分段里的自证字段。同一份无 Cookie 分段在一个时间点可能合理,稍后则必须丢弃。
Cookie 可以通过追加随机位延长。新值如果以当前存储值开头,就满足前缀规则;此前从未看见值时,也可以接受一个初始值。一旦更长值被接受,短前身就不再有效。这不是多个 token 并列存在,而是一条单调链。
记录必须包含前身、扩展后的受保护指纹、观察者、接收时间、生效截止点和首次强制使用。只保存“最新 Cookie”会把宽限判断和责任主体一起删除。
双方同时开始会产生两条状态链
时延允许两个引擎都在看到对方值之前发出自己的初始 Cookie。规范要求随后保留两个独立扩展字段;流量追上状态以后,两者都必须有效。
对端初始值还必须在有限窗口内抵达。超过这个窗口,一个此前未知值就不能无限期声称自己是“另一方早已发送但刚刚到达”的初始根。窗口把接触时序变成接纳权限的一部分。
单一 session_cookie 字段不能表示两个方向、两条前缀链和两个截止时间。把重复扩展归一化成键值表也可能覆盖真正通过或失败的那一项。
证据模型要保留扩展出现顺序、数量、方向和逐项判断,然后才生成摘要。
静默丢弃只能证明本地拒绝
宽限期后,缺失或错误的 Cookie 必须被静默丢弃。这个设计避免向攻击流量投入更多资源,却让发送端看到的只是没有回应。
沉默可能来自过期短值、更新丢失、截止时间误算、双 Cookie 编码错误、认证失败、扩展不受支持、资源限制或根本没有通信机会。发送端的超时不能选择其中一个作为事实。
接收端也只能陈述本地证据:某个分段在某时刻不符合存储的前缀规则。它不能仅凭这一事件断言对端恶意、链路重放或运维人员操作错误。
可用的事件链要合并两端日志、状态转换、计时依据、每次重新封装的哈希、丢弃计数与接触计划。
Cookie 能防盲猜,不能证明来源
难以预测的值提高了盲目注入的成本,但追加随机位的人未必是合法对端。RFC 5327 特别指出:缺少来源认证时,中间人可以延长现有 Cookie,从而把真正的对端锁在会话之外。
攻击利用的不是实现错误。接收端接受未认证的更长状态后,按规则拒绝合法对端仍持有的短值。一个正确状态机执行了一项没有权威来源的更新。
Cookie 与 AuthVal 因而不能互相替代。Cookie 证明分段与当前会话状态相容;AuthVal 证明编码分段在某个密码上下文下验证成功。两者都不证明应用授权、Bundle 送达、机构身份或任务结果。
Cookie 也不会跨越 LTP 会话存续。它不是跨会话或重启后的持久防重放清单。
验证成功仍可能依赖旧密钥
LTP-auth 头部携带 8 位套件号和可选 KeyID,尾部携带 AuthVal。KeyID 只是原始字节,其解释明确在规范范围之外。协议不负责密钥配送、托管、激活或退役。
认证会话的首个分段必须带头部;后续分段可以省略。为了减轻首段丢失,带宽允许时应重复上下文;重传首段时必须再次包含认证头部。
密钥切换期间,发送端可以同时加入新旧 AuthVal。接收端逐个搜索,只要一个验证正确就可以接受。这个规则支持不中断过渡,却让单一 verified=true 失去密钥世代信息。
若旧密钥仍在配置中,所有流量都可能“认证成功”,即使新密钥从未工作。必须记录成功的 AuthVal 实例、套件、KeyID、验证器与外部授权状态。另一方面,在预期重叠中一个候选失败、另一个成功,也不能把失败自动统计成攻击。
注册编号不等于当前安全建议
RFC 最初定义 HMAC-SHA1-80、RSA-SHA256 与 NULL。NULL 使用硬编码密钥,只提供强校验而不提供认证,仍会遭受主动攻击。计算结果匹配不能把它改写成身份已验证。
IANA 注册表记录编号归属,不证明算法适合今天的风险,不证明部署采用,也不证明密钥生命周期安全。RFC 5327 属于 Experimental,并明确把 DTN 密钥管理留作开放研究问题。现实系统必须提供独立的密码与运行证据。
来源与证据边界
- RFC 5327 HTML
- RFC 5327 纯文本
- RFC Editor 信息页
- IETF Datatracker 条目
- RFC 5327 文档历史
- RFC 5327 引用的文档
- 引用 RFC 5327 的文档
- RFC 5327 勘误
- IANA LTP 参数注册表
- RFC 5326:LTP
- RFC 5325:LTP 设计动机
- RFC 2104:HMAC
- RFC 3447:PKCS #1
- RFC 3537:WRAP 测试向量
- RFC 4086:安全随机性要求
- RFC 4838:延迟容忍网络架构
- RFC 3932:IESG 与独立或 IRTF 文档
- On Reality Layers, Symbolic Power, and Why Clarity Feels So Hostile
- Running-Code Primacy
- On the Agency Problem at the Core of Internet Governance
这些来源证明规则、编号与发布状态,不证明当前部署、已配置密钥、攻击、会话历史、实现合规或应用结果。
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限战略圈层会员
战略圈层
所有读者均可浏览。加入并登录后可解锁档案简报。
加入战略圈层仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance





