C2PAコレクションデータハッシュ:複数ファイルの検証方法
検証前にコレクションを保存する
ファイルを開いたり並べ替えたりする前に、受け取ったコレクションをそのまま保存します。入手元、取得時刻、manifestの位置、ディレクトリ構成、ファイル名、コピーの識別子を記録します。圧縮ファイルの場合は、受信したファイルと展開した作業コピーを別々に保管します。これは本記事の実務上の提案で、C2PA指定の報告形式ではありません。
C2PA対応validatorの名前、版、出力全体を保存します。確認する問いは、c2pa.hash.collection.data assertionに列挙されたmemberを見つけ、各ファイルで記録済みhashを得たかです。Member単位の出力を保存し、URI、algorithm、各ファイルを確認できたかを記録します。
最初の検証前に名前、場所、byteを変更しません。作業コピーには別の識別子を付け、個別に検証します。
URI一覧を宣言された範囲として読む
C2PA 2.2はmanifestが複数assetのコレクションを参照するときcollection data hash assertionを使います。Labelはc2pa.hash.collection.dataです。uris配列が相対URIとhashを対応させ、一つのalgが列挙項目に共通する暗号学的hash algorithmを指定します。任意項目にはsize、media type、data typeがあります。
Validatorが表示するURIをそのまま記録します。Manifestがローカル、container、cloudのどこにあっても、URIはmanifest位置を基準に解釈されます。仕様はURI path要素に.と..が入らないよう、claim generatorがURIを検査またはsanitizeするよう求めます。確認資料にこれらがあればreferenceを記録し、意図した場所が分かるまで作業を止めます。不審なpathを勝手に直して有効と記録してはいけません。
一覧はassertionが宣言した範囲です。同じhierarchyの全ファイルを含める義務はありません。未記載ファイルが追加されても、列挙済みbindingが無効にならない場合があります。記載memberと現場で見つけた他のファイルを分けて残します。
必須項目と各ファイルのhashを確認する
Schemaはコレクションのurisとalg、各entryのuriとhashを定義しています。項目が欠けていれば記録を未完了とし、validatorが実際に表示したmessageを保存します。
各ファイルはalgのalgorithmで個別にhashされ、結果がそのURIと関連付けられます。ファイルの先頭から末尾まで全byteを再計算し、記録済みhashと比較します。確認表にはvalidatorの実際の表現を使って一致、不一致、確認不可を残します。
コレクション識別子、manifest位置、algorithm、URI、実ファイル識別子、表示されたsizeやmedia type、比較状態、正確なresult codeを表にします。ツールが表示しない項目は未報告とします。
整合性と内容の真偽を分ける
全件一致が支えるのは、validatorが列挙memberを見つけ、その全byteがassertionのhashと一致したという限定的な観察です。必要なファイルが全部含まれること、signerの信頼、metadataの正確さ、ファイル内の出来事の真実性は証明しません。
Mismatch、不正URI、malformed entry、列挙ファイルの欠落は、このコピーが指定されたbinding検査を通らなかったことを示します。変更者、変更時刻、意図的な欠落、文書やmediaの虚偽は特定できません。
別の確率的シグナルに DeepFakeCheck を使う場合、出力をC2PA記録と分けて実際に分析したファイルへ結び付けます。自動分析には本物を疑わしいとする誤検知と、合成・変更資料を見逃す偽陰性があります。低いシグナルはコレクションを認証せず、hash failureも修復しません。
別の人が再現できる記録を残す
元のコレクション、manifest、validator版、全出力、URI表、外部情報の確認を保管します。次の確認者が同じ相対URIをたどり、各比較を繰り返せる状態にします。Member単位の出力がない場合はその制限を記録し、全体badgeから複数のmatchを推測しません。
現実の主張は、元の公開者、記載された日時と場所、責任組織、出来事に関する独立資料で確認します。Collection data hashが答えるのは宣言ファイルと暗号学的記録の一致です。コレクションの完全性や内容の真偽は判断しません。
出典
- C2PA, "C2PA Technical Specification: Collection Data Hash": https://spec.c2pa.org/specifications/specifications/2.2/specs/C2PA_Specification.html#_collection_data_hash