要約

  • 第03版の後続署名が参照したのは先行コンテキストのハッシュであり、全コンテキストを署名前に作って逆順に署名できた。
  • 第04版は実際の署名を含む先行signoff全体をハッシュし、強いプロファイルでは旧形式や混在鎖を拒否する。
  • 修正後も証明できるのは証明物同士の依存である。信頼できる時刻、画面、理解、最終認可、実行、効果は別問題だ。

署名が全部正しくても、順番の物語は偽り得る。draft-schrock-ep-quorum-04が9月6日に修正したのは、その見落としだった。

第03版では、後の承認者が prev_context_hash を含むコンテキストへ署名した。これは前の承認者のコンテキストを要約した値であり、文書は署名の並びそのものが承認順を証明すると述べていた。

しかしコンテキストは証明より先に存在できる。オーケストレーターは全コンテキストを用意し、最後の承認者から最初へ逆向きに署名を集め、最後に名簿順へ並べられた。検証式は通る。それでも、後の人が先の署名を見た事実は生まれない。

完了した署名を次の入力にする

第04版の EP-QUORUM-SIGNOFF-CHAIN-v1 は、先行者の署名済みコンテキストだけでなく、実際の署名を含む完全なsignoff JSONを対象にする。ドメイン分離文字列、1個のゼロオクテット、UTF-8のJCS表現を連結し、SHA-256を計算する。後続者はその prev_signoff_hash を自分の署名対象へ入れる。

最初のコンテキストは前任フィールドを省略しなければならない。null、未知または欠落したプロファイル、旧 prev_context_hash、形式の混在、誤ったリンク、別の先行署名への差し替えは強い鎖を失敗させる。同じコンテキストに対する別の有効署名でもリンク値は変わるので、後続署名も取り直す必要がある。

これにより、署名偽造困難性とハッシュの耐性を前提として、後続証明は完成済み先行証明へ依存する。信頼できる壁時計は得られない。issued_at は申告値の比較にすぎない。先行判断を実際に読んだこと、同じ表示を見たこと、意味を理解したこと、強制や談合がなかったことも証明しない。

証拠自身に権限表を選ばせない

ゲートは方針の形式、各署名、正確なアクション、役割、異なる人の識別子、異なる公開鍵、閾値、順番、強い鎖、承認窓を確認する。登録済みでも名簿外の役割なら数えない。同じ鍵を二つの名前に割り当てても二人にはならない。途中のtrailに部分的権限はない。

それでも、期待する方針とApprover Directoryは提出物の外にある認証済み情報源から取得する必要がある。提出物が自分を測る物差しまで持ち込めば、整合しているだけの自己申告になる。基礎ドラフトも、鍵と自然人の結び付けは名簿側の本人確認に属すると限定している。

逐次admissionは早期拒否の補助でしかない。実行者はオーケストレーターを信用せず、全ゲートを再計算する。満たされたquorumも承認証拠であり、組織のAUTHORIZED判断ではない。その後に実行、対象への効果、権限の一回限りの消費を別々に確かめる必要がある。

三言語実装の一致を三者検証と呼ばない

JavaScript、Python、Goの参照検証器は同じリポジトリとコーパスを共有する。逆順署名された旧鎖や署名差し替えを含む試験は有用だが、同一チーム内の整合性確認である。独立実装、形式証明、相互接続試験、商用運用の証拠ではない。

この文書はInformationalを意図する個人提出で、IANA作業もない。Datatrackerに載ったことをIETF合意へ膨らませてはならない。共通化すべき最小不変条件を直し、組織の判断と現実の効果をローカルかつ検証可能なまま残す。それが今回の修正を正しく評価する方法だ。

出典

  1. IETF Datatracker文書記録
  2. EP-QUORUM第04版
  3. EP-QUORUM第03版
  4. EP Authorization Receipts第12版
  5. RFC 8785:JSON Canonicalization Scheme
  6. Web Authentication Level 2
  7. RFC 2119:要求レベルのキーワード
  8. RFC 8174:大文字・小文字の適用範囲
  9. Minimum Initial Specification, Localized Future Decision, and Voluntary Adoption
  10. On Reality Layers, Symbolic Power, and Why Clarity Feels So Hostile
  11. Running-Code Primacy