摘要

  • RFC 9942 能把候选条目与签名的 Merkle 根相连,或证明两个已观察根之间的一致性;它不能证明日志收到了所有应收事件。
  • 密钥是否适任、根是否持续被观察、回执是否仍有效或已暂停,以及能否据此行动,都是另外的回执。

RFC 9942 为 COSE 定义了携带可验证数据结构证明的方式。初始的 RFC9162_SHA256 配置只登记两类证明:包含证明与一致性证明。理解它的价值,先要守住每类证明的对象。

包含验证从候选条目的字节开始。验证者将证明应用到这些字节;若得出预期 Merkle 根,该根就是 COSE_Sign1 的签名载荷,再验证签名。成功说明这条记录处在这个结构状态中,并由该签名者担保。它不说明日志没有遗漏应记录的事件,也不说明验证者见过日志发出的全部根。

一致性证明同样只比较给定观察点。它把旧树大小、新树大小和路径关联起来,较新的根可作为分离载荷。RFC 9942 要求先验签,再借助先前的包含观察验证一致性。成功支持两个特定状态之间的追加不改写关系;它不自动发现没有交给验证者的分叉,也不提供运营者的授权,更不构成完整历史。

因此不能把“签名通过”单独当结论。RFC 建议把签名和证明核验合成一个布尔结果,避免接受签名正确、证明错误的回执。不过,密钥信任来源、根的取得途径、有效期、暂停状态和依赖方行动仍在机制之外;有效期与状态表达由 profile 决定。日志长度和必填头字段还可能泄露信息。

Cédric Fournet 是四名共同作者之一。微软研究院的公开资料和肖像只支持身份与研究背景,不能证明任何日志服务的部署、诚实性或控制权。

Sources