ステップ別ガイド

ProofSnapの証拠パッケージを 検証する方法

2026年現在、ProofSnapの証拠パッケージは3つの方法で検証できます。拡張機能のサイドパネル、getproofsnap.comの無料の検証ツール、ZIP内のスクリプトverify.shとverify.ps1です。いずれも各ファイルのSHA-256ハッシュを再計算し、manifest.jsonのRSA署名を確認して、パッケージのタイムスタンプを表示します。

著者:Radim Motycka(ProofSnap創業者・主任エンジニア。このガイドで説明するダッシュボード、API、キャプチャシステムを構築)·

対象

ウェブページ、動画、セッション、ファイルのパッケージ

3つの方法

サイドパネル、ウェブ、スクリプト

アカウント

ウェブでは不要

このガイドの目的

証拠パッケージは検証できなければあまり意味がありません。ZIPを受け取る人は、キャプチャ後にどのファイルも変更されていないことを知りたいはずです。キャプチャの直後と、渡す前にもう一度検証してください。相手方や鑑定人は、ProofSnapの有無にかかわらず、後から同じZIPを自分で確認できます。このガイドでは3つの方法をステップ別に示し、結果の読み方を説明します。

主な利用者と用途

  • 弁護士・法律事務所:虚偽の口コミや中傷的な投稿を含むZIPなどを、提出書面に添付したり相手方に送ったりする前に確認します。
  • 鑑定人:自分のパソコンでverify.shまたはverify.ps1を使い、ProofSnapから独立して検証をやり直します。
  • 法務、コンプライアンス、個人情報保護の担当者:同僚や委託先から受け取ったパッケージを、案件に保管する前に検証します。
  • 探偵・調査会社、記者、ファクトチェッカー:キャプチャしたページが後から修正されていないことを依頼者や編集部に示します。
  • ブランド保護・EC担当者:オークションサイトの偽物の出品や変更された販売条件の証拠を、警告書を送る前に確認します。
  • パッケージの受領者:相手方や裁判所が、受け取ったファイルをアカウントなしで検証ツールで確認します。

3つの検証方法

3つの方法はいずれも同じことを確認します。各ファイルがキャプチャ時に封印された状態のままかどうかと、パッケージの存在時点を示すタイムスタンプです。検証する人に合った方法を選んでください。

ProofSnapダッシュボードのプランをお持ちですか。ダッシュボードには独自のパッケージ検証があります。「ProofSnapダッシュボードで」のセクションをご覧ください。

検証の成功が示すこと

ProofSnapの証拠パッケージの検証は、3つの別々の問いに答えます。完全性:各ファイルのSHA-256ハッシュがmanifest.jsonの記録と一致しているか。整合性:manifest.sigのRSA署名がマニフェストと一致し、ハッシュの一覧も変更されていないか。時刻:OpenTimestampsの証明により、遅くとも特定のBitcoinブロックの時点でマニフェストが存在していたか。Disig a.s.(EUトラステッドリスト掲載の適格トラストサービスプロバイダー)の適格タイムスタンプは、マニフェストを日時に結び付けます。

署名の鍵はキャプチャごとに生成され、公開鍵がpublickey.pemとしてパッケージに同梱されるので、署名が示すのは完全性だけで、時刻を示すのはタイムスタンプです。スクリプトverify.shとverify.ps1は同じ4つの段階(ファイルの完全性、マニフェストの署名、eIDASタイムスタンプ、OpenTimestampsクライアントのコマンドを出力するBitcoinアンカー)を実行し、3つの終了コードのいずれかで終わります。0はPASS、1はFAIL、2はINCOMPLETEです。ProofSnapダッシュボードのパッケージのスクリプトは、フォレンジックログを加えた5つの段階を実行し、パッケージ側に不足がある場合は終了コード3で終わります。

3つの方法の比較

サイドパネルの検証ツールは約1.8 GBまでのパッケージを読み取りますが、約900 MBからブラウザのメモリが不足することがあります。より大きなパッケージには、ファイルごとに確認しサイズを問わないverify.shまたはverify.ps1を使ってください。

A:サイドパネルB:ウェブC:ZIP内のスクリプト
利用する人ご自身(送付前)パッケージを受け取った人鑑定人(自分のパソコンで)
ProofSnapアカウント必要不要不要
動作環境ProofSnapを入れたChromeまたはEdge最新のブラウザmacOS、Linux、Windows
ProofSnapのサーバーの利用2つの時刻の検証で利用2つの時刻の検証で利用利用しない
大きな動画約1.8 GBまでブラウザのメモリに依存サイズ制限なし

ステップ1(全員)

元のZIPファイルを使う

ここで説明する方法はすべて、ウェブページのキャプチャ、動画、複数タブのセッション、ファイル証明を問わず、ProofSnapが作成したままのZIPを確認します。相手方、代理人、裁判所にも同じZIPを渡します。原本はそのまま残し、コピーで作業してください。ZIPの各ファイルの内容は証拠パッケージの読み方で説明しています。

  1. 1ZIP。ZIPファイルの名前を変えても問題ありません。検証の対象は中のファイルです。ファイルの追加や削除、再圧縮はしないでください。
  2. 2manifest.json。全ファイルとそれぞれのSHA-256ハッシュの一覧です。署名はmanifest.sigに入っており、publickey.pemの公開鍵で検証できます。BitcoinとeIDASのタイムスタンプがある場合は、このファイルが対象です(拡張機能の1ファイル認証では、対象は認証したファイルです)。
  3. 3verification/。ProofSnapなしでパッケージを確認するためのスクリプトとテキストのガイドです。ステップ8から10をご覧ください。
OpenTimestampsとeIDAS付きのウェブページのキャプチャパッケージの例を、ファイルマネージャーで開いた簡略図。正確な一覧はプランとオプションによって異なります。

方法A

ProofSnapのサイドパネルでの検証

検証ツールはキャプチャのツールと並んで拡張機能に組み込まれています。日本語の画面では「ProofSnap トラストベリファイヤー」という名前です。

ステップ2(サイドパネル)

ProofSnap トラストベリファイヤーを開く

ProofSnapのサイドパネルを開き、キャプチャオプションの下までスクロールします。「ProofSnap トラストベリファイヤー」のブロックは「ファイル認証」のすぐ上にあり、最初は折りたたまれています。表示するには、プランまたはSnapPackのあるProofSnapアカウントが必要です。ProofSnapをお持ちでない方はウェブ版(ステップ7)を使います。

  1. 1ProofSnapアイコン。サイドパネルを開きます。ブラウザのどのタブを開いていても構いません。
  2. 2ProofSnap トラストベリファイヤー。タイトルをクリックするとブロックが開きます。
検証ツールはキャプチャオプションの下、「ファイル認証」の上にあります。どのタブでも使えます。サイドパネルは拡張機能の画面をもとに再現しています。プランと数値は例です。

ステップ3(サイドパネル)

ZIPを選び、「ZIPファイルを検証」をクリックする

検証ツールは、ウェブページや動画のキャプチャパッケージ、セッションパッケージ、ファイル証明、複数ファイルの結合証明、ファイルごとにZIPが1つあるバッチパッケージを受け付けます。マニフェストを読み取ってパッケージの種類を自動で判別します。

  1. 1クリックしてアップロード、またはドラッグ&ドロップ。ZIPを選びます。ファイル名がアップロード欄の下に青で表示されます。
  2. 2ZIPファイルを検証。すべての検証をブラウザ内で実行します。2つの時刻の検証はProofSnapの検証サービスを使うので、インターネットに接続したままにしてください。非常に大きなパッケージ(約900 MB以上、多くは長時間の動画)ではブラウザのメモリが不足することがあり、約1.8 GBを超えると検証ツールがステップ8のスクリプトを案内します。
ZIPファイルを選択した状態で開いたブロック。ファイルを選ぶまでボタンはグレーで、クリックできません。

ステップ4(サイドパネル)

結果を読む

結果はすべての検証を1行に要約します。カーソルを合わせると短い説明を読めます。

  1. 1完全性: 一致。すべての暗号学的な検証に合格しました。ファイルはマニフェストと一致し、マニフェストはパッケージの鍵で作成された署名と一致しています。署名を実際に確認し、ファイルのハッシュを再計算した後にのみ、この行が表示されます。
  2. 2完全性: 変更あり。証拠が変更されているか不完全で、少なくとも1つの検証に失敗しました。対処方法は後で説明します。
  3. 3技術的検証を表示。個々の検証を開きます(次のステップ)。
上:変更のないパッケージ。下:いずれかの検証に失敗した場合の同じ箇所。

ステップ5(サイドパネル)

技術的検証を開く

各行が1つの検証です。青の帯は成功または情報を、赤の帯は失敗を示します。表示される行はパッケージの内容によって異なります。

  1. 1manifest.json。パッケージの公開鍵でマニフェストのRSA署名を確認します。署名後にマニフェストが変更されていないことを示します。
  2. 2ファイル整合性。マニフェストに記載された各ファイルのSHA-256ハッシュを再計算して比較します。署名と鍵はマニフェストの後に書き込まれるので、存在だけを確認します。セッションパッケージは各タブのファイル、動画パッケージは録画、フォレンジックモードで作成したパッケージはWARC、HAR、resources/の各リソースも対象です。
  3. 3証拠保全記録。キャプチャ日時が妥当であること(未来でなく、30年より古くない)、forensic_log.jsonがchain_of_custody.jsonに記録されたハッシュと一致すること、そのハッシュチェーンを順に再計算した結果、最終ハッシュが一致することを確認します。ISO規格に言及する行はchain_of_custody.jsonの宣言を示すもので、評価ではありません。
  4. 4キャプチャの状況。拡張機能のバージョン、キャプチャ時刻を確認した時刻サーバーの数、デバイス整合性の結果、記録された操作の数です。セッションパッケージは対象のタブもすべて一覧表示します。

タイムスタンプの行

  1. 5OpenTimestamps。マニフェストをアンカーしたBitcoinブロックとその日付です。キャプチャの直後は確認待ちと表示されます(ステップ11参照)。Essentialプランのキャプチャでは、eIDAS SnapPackまたはVideo SnapPackで支払った場合を除き表示されません。
  2. 6EU適格タイムスタンプ。適格タイムスタンプがこのマニフェストに対して有効であることを示し、発行者とUTCの時刻を表示します。Disig a.s.はEUトラステッドリスト掲載の適格トラストサービスプロバイダーです。
  3. 7EU適格タイムスタンプ(LTV)。サーバーを必要としない2つ目の検証です。ハッシュ、署名、証明書チェーン、失効状態を、すべてパッケージ内のeidas_validation.jsonから確認します。eIDASサービスが利用できなくても、この検証は単独で動作します。
  4. 8発行者。署名鍵がパッケージ内で生成されることを示します。署名が示すのは完全性で、時刻を示すのはタイムスタンプです。
キャプチャの数時間後のパッケージ例の技術的検証。値は例です。

ステップ6(ファイル証明)

元のファイルを証明書と照合する

ファイル証明では、検証ツールに、ドラッグしたファイルを証明済みのハッシュと比較するブロックが追加されます。ご自身や相手方が今持っているコピーが証明されたファイルそのものであることを示すのに使います。ファイルのハッシュはブラウザ内で計算され、ファイル自体は送信されません。拡張機能でのファイル認証の作成方法はファイルタイムスタンプのガイドで説明しています。

  1. 1証明のZIP。まずステップ3から5のとおりに検証します。
  2. 2元のファイルが証明書と一致するか確認。原本をドラッグします。「ファイルは証明書と一致」は、このファイルが証明されたファイルと同一であることを意味します。存在の時点はパッケージのタイムスタンプが示し、遅くともその時点で存在していたことがわかります。「ファイルが一致しません」はハッシュが異なることを意味し、証明されたファイルではありません。結合証明の原本など、複数のファイルをまとめてドラッグすることもできます。
  3. 3結果。他のパッケージと同じく、パッケージ自体についての結果です。
  4. 4パッケージの種類。「File Certification」と証明済みのハッシュ、または「結合ファイル認証」とファイル数です。
元のファイルを追加ブロックにドラッグしたファイル証明。ファイル名とハッシュは例で、一覧はさらに下へ続きます。

ダッシュボードをお使いの方へ

ProofSnapダッシュボードで

有料プランでは、ProofSnapダッシュボードの「ツール」 > 「パッケージを検証」でパッケージを確認します。テストモードにはこのツールはありません。キャプチャ履歴からダウンロードしたZIPなどをドラッグします。ZIPはブラウザ内で確認され、アップロードされません。発行台帳の検索のため、manifest.jsonのSHA-256ハッシュだけがProofSnapに送信されます。

  1. 1結果。「検証済み。パッケージは改変されていません。」「検証に失敗しました。パッケージが改変されています。」「無効なパッケージ。」のいずれかと、タイムスタンプと台帳の対象であるmanifest.jsonのSHA-256ハッシュが表示されます。
  2. 2マニフェスト署名とファイルハッシュ。manifest.jsonのRSA署名と、マニフェストに記載された各ファイルのSHA-256ハッシュです。ZIPにあってマニフェストにないファイルがある場合も、結果は「改変」になります。
  3. 3このパッケージに紐付け。.otsと.tsrのファイルがこのmanifest.jsonに対応していることを示します。BitcoinブロックやTSAの証明書チェーンはダッシュボードでは確認しません。検証ツール(ステップ7)またはパッケージのスクリプト(ステップ8から10)で確認します。スクリプトは証明書チェーンとOpenTimestampsの証明がマニフェストに対応しているかを確認し、Bitcoinブロックでの確認にはotsクライアントのコマンドを出力します。
  4. 4ProofSnap 発行台帳。「ProofSnap が発行」と、発行時にProofSnapがこのマニフェストを登録した日付です。「記録なし」はグレーで表示され、改ざんを示すものではありません。台帳の作成前に発行されたパッケージは記録されていません。

このツールは案件のエクスポートも受け付け、中の各キャプチャパッケージを確認して個別の結果を表示します。ブラウザでZIPを読み取れない場合は、その旨とオンライン検証ツールを案内します。

ダッシュボードの「ツール」>「パッケージを検証」の簡略図。実際には各行に1文の説明もあります。ファイル名、サイズ、ハッシュ、日付は例です。

方法B

ウェブでの検証

パッケージを受け取ったすべての方向けです。インストールは不要で、検証ツールはどのブラウザでも動作します。

ステップ7(ウェブ)

getproofsnap.comでアカウントなしで検証する

相手方、裁判所、鑑定人は、ProofSnapもアカウントもなしに、このサイトの検証ツールをどのブラウザでも開けます。同じ種類の検証を実行し、結果を1行ずつ表示します。ZIPはブラウザ内で開かれます。BitcoinとeIDASの検証のために、マニフェスト、そのハッシュ、タイムスタンプの証明がProofSnapの検証サービスに送信されます。

  1. 1ZIPをドラッグ。またはクリックして選択します。
  2. 2証拠パッケージを検証。検証を開始します。
  3. 3検証結果。青いマークは成功、濃いバツ印は失敗を示します。
  4. 4パッケージ情報。マニフェストから読み取った種別、ID、キャプチャ日時です。
  5. 5マニフェスト署名を検証しました。サイドパネルと同じ検証です。
  6. 6ハッシュが一致。ファイルごとに1行です。変更されたファイルは「ハッシュ不一致」、欠けているファイルは「ファイルがありません」と表示されます。
  7. 7証拠保管の連鎖。フォレンジックログのハッシュ、ハッシュチェーン、宣言された規格、デバイスの完全性です。
  8. 8タイムスタンプ。ローカル時刻の日付付きのBitcoinブロック、eIDASタイムスタンプ、LTVのオフライン検証です。1ファイルの証明では、ZIPに含まれる元のファイルも自動で確認します。
このサイトの検証ツールの簡略図。ページの見出しは省略しています。ステップ5と同じパッケージ例の結果です。

方法C

ProofSnapなしでの検証

各パッケージのverificationフォルダーに検証スクリプトが入っています。署名済みマニフェストに記載されているので、証拠と同じ署名の対象です。

ステップ8(ProofSnapなし)

macOSまたはLinuxでverify.shを実行する

ProofSnapに一切依存しない検証を行うには、パッケージのコピーを展開し、同梱のスクリプトを実行します。macOSとLinuxに最初からあるもので足ります。シェル、awk、SHA-256ツール(shasum、sha256sum、openssl)で、署名とeIDASの段階にはopensslも使います。スクリプトはパッケージに何も書き込みません。

  1. 1開始。展開したフォルダーでbash verification/verify.shを実行します。
  2. 2ファイルの完全性。マニフェストに記載された各ファイルのSHA-256ハッシュを再計算し、OK、MISMATCH、MISSINGのいずれかを表示します。フォルダーにあってマニフェストにないファイルはNOT COVEREDと示されます。
  3. 3マニフェストの署名。opensslでmanifest.sigを確認します。Verified OKはopenssl自体の応答です。
  4. 4eIDAS。適格トークンに含まれるハッシュをmanifest.jsonと比較し、パッケージ内のルート証明書をCA Disig QCA4の公開フィンガープリントと比較して、トークンの署名を検証します。証明書チェーン全体を確認するopensslコマンドを出力します。
  5. 5OpenTimestamps。別途インストールするOpenTimestampsクライアント(ots)でBitcoinアンカーを確認するコマンドを出力します。
  6. 6RESULT。PASS(終了コード0)、検証を実行して失敗した場合のFAIL(1)、ツールが足りない場合のINCOMPLETE(2)です。INCOMPLETEはパッケージの欠陥を意味しません。
OpenSSL 3を入れたLinuxのターミナルの簡略図。コマンドの下の行はすべてverify.shが出力するそのままの内容です。フォルダー名とハッシュは例です。

ステップ9(ProofSnapなし)

Windowsでverify.ps1を実行する

パッケージのコピーを展開し、そのフォルダーでPowerShell(バージョン5以降)を開いて、次のコマンドを実行します。スクリプトはverify.shと同じ段階を実行します。

  1. 1開始。展開したフォルダーでpowershell -ExecutionPolicy Bypass -File verification\verify.ps1を実行します。
  2. 2ファイルの完全性。Windowsに含まれるGet-FileHashを使い、マニフェストに記録されたSHA-512の値も比較します。この部分には他に何も必要ありません。
  3. 3OpenSSLがない場合。WindowsにはOpenSSLが含まれないので、署名とeIDASの段階は実行できなかったと表示されます。完全な検証にはOpenSSL 3をインストールして再実行してください。
  4. 4RESULT。結果がINCOMPLETEになるのは2つの検証を実行できなかったためだけで、実行したものはすべて合格しています。
OpenSSLのないパソコン(Windowsの標準的な状態)のWindows PowerShell画面の簡略図。各行はverify.ps1が出力する内容で、フォルダーは例です。

ステップ10(ProofSnapなし)

またはVERIFICATION_GUIDE.txtに沿って手動で確認する

各コマンドを自分で入力したい鑑定人やスクリプトを実行できない方は、verification/VERIFICATION_GUIDE.txtに手動の手順があります。スクリプトと同じく署名済みパッケージの一部です。

  1. 1Evidence ID。ガイドをこのパッケージに結び付けます。
  2. 2A) スクリプト。ステップ8と9のコマンドです。
  3. 3B) オンライン。オンライン検証ツールのアドレスです(ステップ7)。
  4. 4C) 手動。4つの段階それぞれに正確なコマンドがあります。
  5. 5STEP 1。各ファイルのSHA-256ハッシュを再計算し、マニフェストと比較します。
  6. 6STEP 2。マニフェスト署名のopensslコマンドです。続いて、OpenSSL 3とmacOSにopensslという名前で入っているLibreSSLについての注意が付いたeIDASのコマンドと、OpenTimestampsのコマンドがあります。
一般的なテキストエディターで開いたガイドの冒頭の簡略図。続いてSTEP 3(eIDAS)、STEP 4(OpenTimestamps)、ハッシュチェーンがあります。Evidence IDは例です。

eIDASとBitcoinのタイムスタンプの手動検証

OpenSSLでのeIDASタイムスタンプ

ProofSnapパッケージの適格タイムスタンプはmanifest.json.tsrです。

  1. eidas_validation.jsonのrootCaPem欄の値をtsa-root.pemという名前のファイルにコピーします。
  2. verify.shが出力するCA Disig QCA4の公開フィンガープリントと比較します。
  3. 展開したフォルダーでopenssl ts -verify -in manifest.json.tsr -data manifest.json -CAfile tsa-root.pemを実行します。拡張機能の1ファイル認証では、タイムスタンプの対象はマニフェストではなく認証したファイルです。manifest.jsonの代わりにそのファイル名を指定してください(verify.shが正しいコマンドを出力します)。

macOSにopensslという名前で入っているLibreSSLではなく、OpenSSL 3を使ってください。LibreSSLは適格タイムスタンプの属性の1つを読み取れず、正しいタイムスタンプでもエラーになります。

OpenTimestampsクライアントでのBitcoinアンカー

OpenTimestampsクライアント(ots)をインストールし、ots verify manifest.json.ots -f manifest.jsonを実行します。確認済みの証明はBitcoinブロックを示し、遅くともそのブロックの時点でマニフェストが存在していたことがわかります。確認待ちの証明は数時間後に再度検証してください。拡張機能の1ファイル認証では、タイムスタンプの対象はマニフェストではなく認証したファイルです。manifest.jsonの代わりにそのファイル名を指定してください(verify.shが正しいコマンドを出力します)。

結果

注意が必要な2つの結果

確認待ちのBitcoinタイムスタンプと、変更ありと表示されたパッケージです。

Bitcoinアンカーが確認待ちのとき

数時間後に再度検証する

Bitcoinタイムスタンプは、Bitcoinブロックに含まれて初めて確定します。キャプチャの直後は、証明は送信済みでまだ確認されていません。これは正常で、完全性の結果には影響しません。

  1. 1確認待ち。サイドパネルでは「送信済み: ビットコインの確認待ち(通常1〜3時間)。」、ウェブでは「OpenTimestamps:証明を送信しました。確認待ちです」と表示されます。
  2. 2検証済み。数時間後に同じZIPを変更せずに再度検証すると、行にBitcoinブロックが表示されます。遅くともそのブロックの時点でパッケージが存在していたことがわかります。.otsファイルを更新したり差し替えたりしないでください。

キャプチャの数分後

数時間後、同じZIP

サイドパネルの技術的検証のOpenTimestampsの行。ブロック番号と日付は例です。

結果が変更を示すとき

ZIPは修復せず、原本に戻る

「技術的検証を表示」を開きます。赤い行には、失敗した検証の項目と、多くの場合は該当するファイルが示されます。パッケージを修正しようとしないでください。どんな変更でも検証は再び失敗します。代わりに、最初にダウンロードしたファイルを検証してください。よくある原因はファイル操作時の悪意のないミスです。

  1. 1ファイルが変更された。パッケージ内のファイルを開いて保存するだけで、見た目に変化がなくても、また名前を変えるだけでも、マニフェストと一致しなくなります。
  2. 2パッケージを展開して再圧縮した。再圧縮すると通常すべてが1階層下に移動し、検証ツールがZIPの最上位でmanifest.jsonを見つけられなくなります。独自の隠しファイルを追加するソフトもあります。

最初にダウンロードしたファイルでも「変更あり」と表示される場合は、変更せずに保管し、技術的検証の赤い行を添えてsupport@getproofsnap.comにご連絡ください。

内部のファイルを開いて保存し直した場合

パッケージを展開して再圧縮した場合

よくある2つの場合の技術的検証の冒頭。ファイル名は例です。

よくある質問

誰でも検証できる証拠

確認したいProofSnapパッケージはありますか。検証ツールで確認できます。ご自身の証拠を保全したい場合は、ProofSnapをインストールしてください。

ProofSnapをインストール(7日間トライアル)
ProofSnapダッシュボードを開く