C2PAとは?AIコンテンツの来歴を証明する国際規格
C2PA(Coalition for Content Provenance and Authenticity)は、画像・動画・音声などの来歴を電子署名付きで記録するための国際規格です。Adobe や Microsoft が中心となって策定し、現在は Content Credentials という名称で実装が広がっています。「いつ・何のツールで作られ・どう編集されたか」を、あとから第三者が検証できる形でファイルの中に埋め込みます。
結論:C2PAは「来歴を署名付きで記録・検証する」規格
C2PAは画像や動画が本物かどうかを判定する仕組みではなく、誰が・何のツールで作り・どう編集したかという来歴(プロベナンス)を電子署名付きで記録し、あとから検証できるようにする規格です。AI生成物では digitalSourceType = trainedAlgorithmicMedia のように「学習済みアルゴリズムによる生成」が明示されることがあります。署名を確認できれば強い証拠になりますが、署名が無いことはAIではないことの証明にはなりません。
実際のC2PAサンプルで確認できること
| Adobe Firefly JPEG | Content Authenticity Initiative の公開サンプル。C2PA の digitalSourceType = trainedAlgorithmicMedia と暗号学的に有効な署名を確認できます。署名証明書は現在の信頼リスト外のため、表示は trusted ではなく valid です。 |
|---|---|
| Google Veo MP4 | ユーザー提供の元動画。Google Generative AI の有効な C2PA、digitalSourceType = trainedAlgorithmicMedia、MP4 encoding tool = Google を確認できます。動画(BMFF)へC2PAが格納された例です。 |
| 来歴メタデータのない JPEG | 「読み取り可能な C2PA なし」と表示されます。C2PAが無いことは、その画像がAI生成ではない証明にはなりません。 |
確認できるシグナル
| manifest / claim | ファイルの来歴を束ねる単位です。作成・編集の各操作(actions)や使用ツールが assertion として格納されます。 |
|---|---|
| digitalSourceType | コンテンツの由来を示す語彙です。trainedAlgorithmicMedia は学習済みモデルによる生成を表します。 |
| claim_generator | manifestや署名を生成したアプリ・サービス名です(例:Adobe Firefly、Google の生成AI)。 |
| 署名の状態(valid / trusted) | 署名が暗号学的に正しいか(valid)と、その証明書が信頼リストに含まれるか(trusted)は別々の判定です。 |
| 格納場所(JUMBF) | データは JUMBF というコンテナにまとめられ、JPEG は APP11、PNG は caBX チャンク、MP4/MOV は BMFF ボックスとして埋め込まれます。 |
C2PAはどんな仕組みで来歴を記録するのか?
C2PAはmanifestに、作成や編集の操作(actions)、使用ツール、生成の由来といった情報を assertion として書き込みます。manifest全体は COSE(CBOR Object Signing and Encryption)で電子署名されるため、あとから改ざんされていれば検証時に検出できます。これらのデータはピクセルではなくファイルの構造に埋め込まれるので、見た目を分析するのではなく、ファイルのバイト列を読むことで来歴を確認します。だからスクリーンショットや再エンコードで構造が失われると、C2PAも一緒に消えてしまいます。
どの企業がC2PAに対応しているのか?
C2PAはAdobeとMicrosoftが主導するCAI(Content Authenticity Initiative)を母体に標準化が進み、カメラメーカーやAI各社が実装を広げています。画像・動画の生成では、OpenAI(DALL·E/GPT Image/Sora)、Adobe Firefly、Google(Gemini・Imagen・Veo)などが Content Credentials(C2PA)を付与する取り組みを進めています。ただし対応状況は製品やエクスポート経路によって変わり、すべてのファイルに署名が残るとは限りません。
C2PAを自分で確認する手順
- 元ファイルを用意する — SNSの再保存やスクリーンショットではなく、生成サービスから直接ダウンロードした元のJPEG/PNG/MP4を使います。
- C2PA検証ツールを開く — AICheck365 のC2PAバリデーターにファイルを読み込ませます。解析はブラウザ内で完結し、ファイルはサーバーへ送信されません。無料で利用できます。
- manifestと署名状態を読む — manifestが存在するか、署名が valid か、そして digitalSourceType や claim_generator がAI生成を示しているかを確認します。
- valid と trusted を区別する — 署名が暗号学的に正しくても(valid)、その証明書が信頼リストに含まれるか(trusted)は別問題です。両者を分けて解釈します。
- 結果を文脈とともに記録する — 取得元、日時、編集の有無、検証結果を一緒に残します。単一の項目だけで真正性を断定しません。
制限
- SNS、メッセージアプリ、画像最適化、スクリーンショット、再エンコードはC2PA/JUMBFを削除することがあります。
- 署名が valid でも、証明書が信頼リスト外なら trusted ではありません。valid と trusted は別の意味です。
- C2PAが無いことは、AI生成ではない証明にはなりません。来歴は最初から書き込まれていない場合もあります。
- C2PAは来歴を記録・検証する仕組みであり、ピクセルからAIを推定する分類器ではありません。
まずC2PA検証で署名とmanifestを確認し、必要に応じてAI画像の見分け方やGeminiのC2PA解説も参照してください。
よくある質問
C2PAとは何ですか?
コンテンツの来歴(いつ・何で作られ・どう編集されたか)を電子署名付きで記録・検証するための国際規格です。Content Credentials として実装されています。
C2PAがあれば必ずAI生成ですか?
いいえ。C2PAはカメラや編集ソフトの来歴記録にも使われます。manifest内の digitalSourceType が trainedAlgorithmicMedia などAI生成を示しているかを確認してください。
「valid」と「trusted」の違いは何ですか?
valid は署名が暗号学的に正しいこと、trusted はその署名証明書が信頼リストに含まれることを指します。valid でも trusted とは限りません。
C2PAはどうやって確認できますか?
AICheck365 のC2PA検証ツールに元ファイルを読み込ませると、manifest、署名状態、digitalSourceType をブラウザ内で無料で確認できます。ファイルはアップロードされません。
参照資料と検証記録
- C2PA Technical Specification 2.2 — manifest、assertion、署名検証の公式仕様です。
- Content Credentials(CAI) — C2PAを実装するContent Credentialsの公式サイトです。
- AICheck365 公開サンプル記録 — Firefly/Veo サンプルの出所、試験日、実際のC2PAシグナルを掲載しています。
- AICheck365 検出方法 — 証拠の強さと「シグナルなし」の扱いを説明します。