要約
draft-mih-scitt-checkpointed-local-log-01のMMR整合性証明が示すのは、提示された枝が自分の直前状態を伸ばしていることだ。生成者が別の枝を持たないことまでは示さない。- 分岐の検出には、同じログ識別子について最後に受理したチェックポイントを保持する独立した証人が要る。通常のSCITT登録は収録を示すが、それだけで継続性を示さない。
自動化サービスがすべての判断に署名していたとしても、月末に差し出されたファイル群が当時の全記録だったとは限らない。署名は各バイト列の発行者を確かめる。途中の記録が消されたか、別の相手に違う集合が示されたかは答えない。
Checkpointed Local Logは、記録のダイジェストをMerkle Mountain Rangeへ順に追加し、現在の件数と累積状態を小さな署名付きチェックポイントにする。個別記録は生成者の手元に残るため、外部の証人は機密内容を受け取らずに履歴へ関与できる。
ただし、検証に成功した枝が唯一の枝だという意味にはならない。
整合性証明が比較するのは渡された過去だけ
チェックポイントにはlog_sizeとcommitment、さらにprev_sizeとprev_commitmentが入る。証明を検査すれば、新しい状態が以前の状態を削除・並べ替え・書き換えずに拡張したと確認できる。
それでも生成者はAとBを作れる。A2はA1を正しく拡張し、B2はB1を正しく拡張する。Aしか受け取らない検証者にはAが完全に見え、Bしか受け取らない検証者にはBが完全に見える。どちらも見ていない状態とは比較できない。
そこで必要になるのが、生成者の外にある記憶だ。checkpoint-aware witnessは、発行者とログ識別子の組について自分が最後に受理した状態を保持する。次の提出に書かれた前回サイズと前回コミットメントが一致しなければ、登録や副署を拒み、再試行可能な障害ではなくログ変異の証拠として扱う。
継続性は署名欄から自然発生しない。以前の状態を保管し、正しい比較を行い、不一致を拒める別主体によって初めて意味を持つ。
SCITT Receiptが持つ意味は一つではない
CLLはRFC 9943のSCITT登録をそのまま使える。チェックポイントをSigned Statementとして登録し、RFC 9942のCOSE Receiptを得る。そのReceiptはサービスの鍵の下での収録を第三者証拠にする。時刻については、署名された時刻クレームが実際に入っている場合に限る。
CLLを知らないTransparency Serviceでも普通のStatementとして収録できる。そのReceiptは収録の証拠として有効だが、サービスが自分の前回状態との継続性を確認したとは言えない。過去を保持して比較するサービスだけが、CLLの継続性を付与する。
したがって「透明性サービスに登録済み」という表示では足りない。連続性検査の有無、状態を索引するログ識別子、保持期間、不一致時の拒否方法まで区別する必要がある。
直接の副署者にも同じ比較が必要だ。Revision 01は、ローカルテスト用stubを将来作業へ戻した。配布済み実装が想定したRFC 9338構造を生成していないためだ。私的なテスト印を独立証言として扱ってはならない。
自社運用の証人は可用性の複製にすぎない
生成者は、証言済みだと主張する際に依存する証人を名指ししなければならない。生成者自身が運営する証人はreplicaである。同じ支配者が二つの枝と照合用記憶の双方を操作できるなら、外部統制にはならない。
複数の独立証人は、生成者が各証人を別々の枝へ隔離するコストを上げる。ただし管理主体や鍵が同じなら、数だけ増やしても権限面は一つだ。検証者が実際に複数へ問い合わせなければ効果もない。
時間の境界も明瞭だ。最後に証言されたチェックポイントより後のエントリは、未証言ログと同じ強さしかない。昨日のReceiptは今日の末尾を覆わない。最大発行間隔を宣言すれば欠落は検出可能になるが、遡及可能な窓は発行間隔と証人の遅延を合わせた長さになる。
証人が受け取るのは記録ではなく形だ
証人はコミットメントだけを受け取り、エントリを保持しない。あるエントリの包含、後続状態の整合的拡張、指定範囲の完全性を支えられるが、個別記録を独立に検索して返せない。記録本体と包含証明は生成者か別の保管者が提示する必要がある。
アーカイブ断片が失われた場合、チェックポイントは何かが存在したことを示せても、そのバイト列を復元しない。「保持期限切れ」という拒否は「存在しなかった」という説明より正確だ。
さらに、完全に証言された虚偽記録は虚偽のままだ。内容の真実、署名者の権限、処理の実行、現実の結果は別の証拠を要する。CLLは生成者が別の未コミットログを持たないことや、作成した全記録を追加したことも証明しない。
Revision 01はワイヤ表現も絞った。commitmentはMMRのpeak-listを決定的CBORで表す。内部比較用のbagged rootは許されるが、畳み込み規則が標準化されていないため送信してはならない。これは検証可能な提案形式であって、導入や相互運用の実績ではない。文書はワーキンググループ採択のない個人Internet-Draftである。
情報源
- CLLのDatatracker記録
- CLLのDatatracker履歴
- CLL Revision 01
- CLL Revision 00
- COSE Receipts for MMRs Revision 02
- Canonical Payload Binding Revision 02
- RFC 9943:SCITTアーキテクチャ
- RFC 9942:COSE Receipts
- RFC 9162:Certificate Transparency 2.0
- RFC 9052:COSE構造と処理
- RFC 9338:COSE副署
- RFC 8949:CBOR
- 最小初期仕様と自発的採用
- Running Codeの優先
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加

