摘要

  • RFC 3607 是 2003 年的 Informational 历史模型。它以当时观察到的互联网主机规模、假定参与比例、单机工作速率和密码目标为输入,讨论大规模分布式计算可能怎样改变攻击经济性。
  • 候选值通过公开验证,不等于执行历史已经得到验证。谁发起任务、哪些机器真正参与、所有者是否同意、工作单元是否重叠、覆盖率是否完整、谁承担损失,都需要独立凭据。

想象一张只有终点、没有途中记录的工单。终点栏里有一个候选值,验证器重新计算后确认它符合公开条件。工单于是被标成“成功”。但前面的主机清单为空,授权人为空,分片分配为空,重试和重复为空,失败样本也为空。这个结果可能完全正确,工单仍然不足以回答工作是如何完成的。

RFC 3607 的价值,恰恰在于它把这种规模风险说得足够尖锐。文档于 2003 年 9 月以 Informational RFC 发布,重新讨论把大量互联网主机的闲置计算能力汇聚起来进行密码分析的设想。它引用 Code Red 快速传播所展现的主机规模,把这类规模带入一组条件计算。它不是互联网标准,不是部署授权,也不是对真实算力舰队的审计报告。

“Informational”不是贬低,而是范围说明。它告诉读者:这里提出的是一个值得严肃对待的模型。模型的输出依赖人口规模、参与比例、单机速度、持续在线时间、协调损耗和目标算法等输入。输入中有历史观察,也有假设。计算结果不能倒过来把假设变成已发生事实。

第一条边界是感染规模与可用算力之间的边界。CAIDA 对 Code Red 的历史研究记录了不到十四小时内超过 359,000 台受感染主机。这是关于某个蠕虫、某段时间和某套观察方法的证据。它不证明这些主机同时在线,不证明它们性能相同,不证明它们都受同一控制者稳定支配,更不证明它们完成另一类任务时能保持模型中的有效速率。

IP 地址数量也不是计算节点数量。一台机器可能更换地址后被观察两次,多台机器可能藏在同一个地址后面,主机可能刚出现就离线,任务可能被重复执行,输出可能损坏,控制路径可能中断。把可见端点数乘以基准速度,会得到一个估计;它不会生成执行账本。

第二条边界是公开挑战与资源授权之间的边界。挑战公开,意味着任何人都能知道怎样验证一个成功候选值。它并不意味着任何人都得到使用第三方处理器的许可。发布挑战的人可以授权检验目标,却不能替机器所有者授予算力使用权。

志愿计算、付费云资源、机构自有设备和被入侵主机都可能产生同一种数学输出。候选值本身没有字段说明属于哪一种来源。结果通过验证,也不能追认未经授权的输入过程。技术有效性、合同权利、管理授权和法律责任是四套不同记录。

第三条边界是总工作量与独立覆盖之间的边界。若协调者声称某个有限空间已被搜索一大部分,至少需要保留不可重复的工作单元、分配编号、领取时间、完成时间、验证状态、超时、重派和重复检测。只记录每秒运算次数,会把同一区间反复计算、未完成区间、虚报完成和损坏结果压进同一个总数。

找到候选值也不能补齐覆盖率。搜索可能在第一个有效结果出现时提前停止,因此答案并不说明空间已被穷举。候选值还可能来自另一条未披露路径、先验知识或独立参与者。验证器可以确认答案正确,却无法从答案逆推出每一步搜索。

第四条边界是匿名性与归因。RFC 3607 的历史威胁模型讨论了让结果返回者得到保护的通道。这样的设计可以降低提交者暴露身份的风险,却意味着结果通道不能同时充当来源证明。系统可能非常确定答案有效,却不知道谁委托工作、谁运营协调器、哪些机构提供资源、哪些机器未经同意被使用。

因此,持有结果不等于发现者身份。最先公开的人未必最先找到;协调者未必拥有参与机器;机器所有者可能完全不知情;独立验证机构可能只验证了结果,并没有参与生成。署名、功劳、损害与责任都不能从“谁先拿出候选值”一项推断。

第五条边界是历史算式与当前安全性。RFC 3607 描述的是 2003 年的网络、硬件和密码环境。NIST 后来撤销了 DES,当前 AES 规范涉及不同密钥长度和安全条件;后续 RFC 也更新了 MD5、SHA-1 的安全建议。保留历史主机数量、替换算法名称,不能得到可信的当代结论。

攻击成本会随专用硬件、算法进展、能源、带宽、内存、协调开销和防御迁移而变化。随机密钥、口令派生秘密、协议转录和实现缺陷的风险也不同。“互联网规模”不是一个可以跨时代、跨算法复用的常数。

RFC 3766 讨论密钥长度时强调攻击成本与系统上下文。RFC 4086 要求从随机源和构造理解熵,而不是相信标签。RFC 7696 则把变化转化为算法敏捷性的治理问题:当假设变弱时,系统必须能迁移。这些材料共同指向一个纪律——历史模型可以触发审查,不能越过证据范围替所有当前系统判刑。

生产证据链应从挑战本身开始。保存挑战原文、算法标识、目标材料、成功谓词和发布时间。随后保存谁有权发布挑战、谁批准资源、参与方式是志愿还是合同、授权期限和撤回方式。执行侧需要唯一工作单元、节点或受限证明、分配和完成时间、校验结果、重复、失败、超时与重派。

结果侧另行保存候选值、验证程序版本、验证者、运行环境和验证转录。最后才是决策:哪些系统需要迁移、结论适用于什么范围、哪些假设仍未证实。把这五层合并为一个“破解成功”状态,会让最重要的不确定性消失。

未知项必须保持未知。无法证明主机身份,就明确写未知;无法证明同意,就不能用主机总量填空;无法重建独立覆盖,就把数学估计和缺失账本并列呈现;结果经过匿名通道,就不能靠发布时间、网络位置或持有关系制造归因。

这并不是否定公开验证。公开验证非常强大,因为任何独立观察者都可以拒绝错误答案,而不必信任提交者。但它的证明域很窄:某个候选值与某条谓词之间的关系。它不证明计算的社会历史、运行历史和法律历史。

RFC 3607 最持久的提醒,不是某个戏剧化的完成时间,而是通用计算规模会改变机构对“昂贵工作”的直觉。只有在假设被完整保留时,这个提醒才可审计。候选值可以是真的,算力来源仍可以未知。成熟的治理必须让这两句话同时存在。