摘要

  • draft-ietf-opsawg-yang-provenance-07 用 COSE 对规范化后的 YANG 内容提供签署时的来源认证与完整性保护;私钥泄露、合法签署者给出错误数据、重放和中间环节缺签都不由该机制自动解决。
  • 生产自动化必须分别保存签名范围、kid 到密钥的本地映射、撤销状态、反签名策略、处理链、数据真实性、决策授权、控制器执行和独立结果。

设备发出的温度数据带有有效签名。算法、kid、规范化方法和签名值全部通过验证。闭环系统据此降低了冷却能力。

后来才发现,签名私钥已被窃取。攻击者没有修改任何已签数据;他直接生成了新的、完全合法的假遥测。

密码学没有失败。被错误扩大的是它承担的职责。

《Applying COSE Signatures for YANG Data Provenance》第 07 版发布于 2026 年 7 月 6 日、将于 2027 年 1 月 7 日到期,是 OPSAWG 的活跃工作组 Internet-Draft,文档页眉标为 Standards Track 目标。它不是 RFC、已完成的 IANA 分配、互操作结论、部署调查或安全认证。Datatracker 在 2026 年 8 月 25 日记录了 4 个 YANG 错误、0 个警告。草案提到 Java 参考实现与两次黑客松展示,这些事实也不能被写成生产采用。

签名证明的是一个受限对象

方案采用无内嵌 payload 的 COSE_Sign1。应用先选定确切 YANG 内容,再按序列化方式进行规范化,并把结果作为外部数据参加签名。

CBOR 使用 length-first 确定性编码,JSON 使用 JCS,XML 使用 Exclusive XML Canonicalization 1.0。算法标识、kid 和序列化方式进入受保护信息。验证成功说明:按照当前验证者的密钥映射,这段规范化字节由相应私钥持有者签署,签署后未被改变。

它没有证明范围外节点存在,没有证明传感器准确,也没有证明另一种序列化转换后语义一致。审计记录必须保留具体节点或实例范围、规范化版本、内容摘要、算法、kid、解析出的公钥、信任策略和验证时刻。

kid 的意义来自本地制度

草案明确把 kid 与公钥的关联留给验证者。本地可以用证书、PKI 或其他安全的带外分发方式。换言之,COSE 提供密码学结构,却不替组织决定哪个密钥代表哪个设备、控制域或人员。

若映射指向旧控制器、错误租户或未撤销的泄露密钥,数学验证仍会成功。密钥轮换和证书撤销不是外围运维,而是签名结论成立的条件。

合法持有者也可能无意或故意签署错误数据。草案把这一点列为机制无法防护的威胁。来源认证回答“哪把钥匙签了”,不回答“内容是否真实”。

反签名不会自动记录每次处理

其他实体可以对现有 COSE 对象添加 RFC 9338 完整反签名。反签名不改变主签名的输入和值,而是把另一个签署者绑定到同一原始内容。

如果聚合器删除异常点、改变单位或合并库存信息,再把反签名加到原对象上,它并未签署处理后的输出。要证明转换,必须把输入摘要、输出摘要、处理代码版本、参数和顺序放进新的收据,并签署输出或收据。

验证策略还可以只检查主签名、部分反签名或全部反签名。一个“已验证”图标可能代表完全不同的本地规则。面向操作人员的状态必须列出要求谁签、实际检查谁、允许缺谁。

看不到的缺口不会自己报警

草案的边界非常直接:多次签名可以构成来源轨迹,但轨迹只与现有签名一样完整;机制本身不能保证连续性,也无法发现某个中间实体根本没有签名。

因此,组织需要一个外部流程图,规定设备、消息代理、规范化服务、分析模型、审批者和控制器应按什么顺序出现。只有把实际签名集合与期望流程比较,才能识别缺口。

这也是权力边界。签名者出现在链上,并不自动获得代表其他未出现主体的权力。技术参与可以贡献证据,不能凭存在感制造授权。

旧数据仍可以保持完整

基础机制不内置时效保证。曾经有效的签名对象可以被复制、延迟或重放,除非把时间戳、nonce、请求标识或等价上下文绑定进去。

即使有时间戳,也要说明时钟来源、可接受窗口、撤销状态和策略纪元。上周签署的目标配置可能在本周仍然原封不动,却已失去应用资格。

这要求把“内容完整”与“当前可用”做成两个字段。前者由签名回答,后者由时间、撤销、策略和授权共同回答。

规范化解决字节,不解决业务语义

三类序列化的规范化规则让双方得到稳定签名输入。这对于可复验性至关重要。但 JSON、XML 或 CBOR 的字节稳定不说明模型版本正确、单位没被误解、默认值处理一致或字段仍适合当前决策。

YANG schema 验证可以补充结构检查,也不能证明数据质量。AI/ML 模型读取签名输入后产生的判断是一个新主张,应记录模型、特征、版本、输入集合、输出摘要和不确定性。输入签名不会自然延伸到推理结果。

证据不能变成变更授权

闭环自动化最容易把“可信来源”升级为“允许执行”。但设备遥测密钥不等于生产变更密钥,分析服务身份不等于承担业务损失的主体。

Heng Lu 笔记反复强调的结构在这里同样成立:证据能约束叙事,不能凭空产生委托。真正承担网络连续性、客户合同与故障代价的运营者,必须保留明确、可撤销、受范围限制的决定权。

控制器接受命令后,结果仍未完成。设备可能拒绝,部分节点可能落后,配置 datastore 可能变化而转发面未变化。必须继续取得配置回读、数据面或服务观测以及异常和回滚状态。

四种携带方式都只是起点

草案允许在 YANG 元素内加入来源叶子、扩展 YANG-Push 通知、写入实例数据元数据或使用 annotation。这样,数据离开 TLS、SSH 或 IPsec 直播通道后仍能携带来源证据。

真正完整的运营链还包括:签名对象、每次转换、分析结论、当前授权、控制器执行、设备状态和独立结果。每一层都有不同主体和时间。

领导层应接受签名的窄而强的结论:这段规范化内容由本地信任映射中的这把钥匙签署,此后未改。若一句话继续谈真实性、时效、授权或结果,就必须附上新的证据。

来源