技術解説Imprint編集部

写真ハッシュ(SHA-256)とブロックチェーン記録の仕組み|Polygonでの改ざん検出

SHA-256ハッシュとは何か、なぜハッシュで写真の改ざんを検出できるのか、そしてブロックチェーンに記録することで何が証明できるのかを、Imprintの実装に即して解説します。

#SHA-256#ハッシュ#ブロックチェーン#Polygon#写真真正性

SHA-256ハッシュとブロックチェーン記録の概念図。写真ファイルからSHA-256で指紋を生成しPolygonブロックチェーンに記録するフローと3性質を図解

図:SHA-256ハッシュの3つの性質とブロックチェーン記録の流れの概念図

「この写真は確かにこの時点で存在し、その後変更されていない」——これを、Imprintのデータベースを信じるしかない状態ではなく、公開された記録に照らして確かめられる形にする。そのための基盤技術が SHA-256ハッシュブロックチェーンへの記録 です。

本記事では、ハッシュとは何か、なぜハッシュで改ざんを検出できるのか、そしてブロックチェーンに記録することで何が新たに確かめられるのかを、順を追って解説します。あわせて、この仕組みで「証明できること」と「証明できないこと」も率直に整理します。

SHA-256ハッシュとは

SHA-256は、任意のデータから 固定長(256ビット=64文字の16進数)の値 を計算するハッシュ関数です。この値は、データの「指紋」のようなものだと考えるとわかりやすいでしょう。

写真ファイル → SHA-256 → 例: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08

ハッシュには、写真の真正性検証にとって重要な3つの性質があります。

  • わずかな変化で全く別の値になる:画像が1ビットでも変われば、ハッシュは全く異なる値に変化します。明るさを少し変えただけでも、別物の指紋になります。
  • 元に戻せない(一方向性):ハッシュ値から元の画像を復元することはできません。
  • 同じ値を意図的に作るのが極めて困難:異なる2つの画像が同じハッシュになるように仕組むことは、現実的に不可能とされています。

なぜハッシュで改ざんを検出できるのか

仕組みはシンプルです。ある時点で写真のハッシュを計算して記録しておけば、後から同じ写真のハッシュを計算し直して、記録した値と照合できます。

  • ハッシュが一致すれば、その写真は記録時点から1ビットも変わっていないことが数学的に示せます。
  • ハッシュが不一致なら、どこかが変更されたことがわかります(どこが変わったかまではわかりません)。

つまりハッシュは、「記録した時点のデータと、いま手元にあるデータが同一かどうか」を確実に判定する手段です。

ハッシュをブロックチェーンに記録する理由

ここで自然な疑問が生まれます。「ハッシュを自社のデータベースに保存しておけば十分では?」というものです。

問題は、自社データベースの記録は、その事業者自身が後から書き換えたり、日付をさかのぼって作ったりできる点にあります。たとえ実際には改ざんしていなくても、「事業者が都合よく記録を操作したのではないか」という疑いを、技術的に否定できません。証拠としての信頼性が、記録を管理する事業者への信頼に依存してしまうのです。

ブロックチェーンは、この依存を和らげます。

自社データベース保存 vs Polygonブロックチェーン記録の対比。左:事業者が後から書き換え可能、右:公開記録で誰でも確認可能かつImprint自身も改変不可

図:自社データベース保存とブロックチェーン記録の根本的な違い(「信頼してください」から「公開記録で確かめてください」へ) 公開され、追記のみが可能で、単一の事業者が単独で支配しているわけではない台帳にハッシュを記録すると、次の性質が得られます。

  • 公開記録として確認できる:記録は公開ブロックチェーン上にあり、エクスプローラ(Polygonscan)で参照できます。
  • 記録した事業者自身も後から改変できない:Imprintであっても、いったん記録したハッシュをこっそり書き換えることはできません。
  • 記録時刻が公的に裏付けられる:ブロックには生成時刻が刻まれるため、「いつ記録されたか」を事業者の主張とは独立に確認できます。

要するに、ブロックチェーンへの記録は「Imprintを信頼してください」を「公開ブロックチェーン上の記録で確かめてください」へと近づけるものです。

Imprintの実装

Imprintでは、この仕組みを次のように実装しています。

まず、アップロードされた 元ファイルの生のバイト列 からSHA-256ハッシュを計算します。ELAやAI生成検出では最大2048pxにリサイズした画像を使いますが、ハッシュの計算とブロックチェーン登録には、加工していない元ファイルそのものを使います。

次に、このハッシュを Polygon(Ethereum互換の公開ブロックチェーン)上のコントラクトに記録します。記録されるのは、ハッシュ値そのものに加えて、登録したサーバーのアドレス、ブロックの生成時刻、そしてファイル名・ファイルサイズ・真正性スコア・判定結果などのメタデータです。重要なのは、写真そのもの(画素データ)は一切記録されない 点です。台帳に書き込まれるのは指紋(ハッシュ)と付随情報だけであり、ハッシュは一方向性を持つため、記録から画像の中身が復元されることはありません。

ブロックチェーンへの登録は、利用フローによって自動か手動かが分かれます。専用カメラUIで撮影する撮影制御フローや、撮影依頼リンク経由の撮影では、ハッシュが自動的にブロックチェーンへ登録されます(ベストエフォート方式で、登録に失敗しても解析自体は続行します)。一方、既存ファイルを通常アップロードして検証する場合は自動登録は行われず、専用のAPIで明示的に登録する形になります。

改ざんを検出する流れ

記録済みの写真について、後から真正性を確認する手順は次の通りです。

  1. 検証したい写真から、改めてSHA-256ハッシュを計算する
  2. ブロックチェーンに記録されているハッシュと照合する
  3. 一致すれば、その写真は登録時点から改変されていないことが示される。記録にはブロックの生成時刻が含まれるため、「いつ登録されたか」も確認できる

照合する手段は2つあります。ひとつは、ダッシュボードに表示されるブロックチェーンエクスプローラ(Polygonscan)へのリンクからトランザクションを確認する方法。もうひとつは、ハッシュを指定してコントラクトの記録を問い合わせる方法です。コントラクトは、あるハッシュが登録済みか・誰が・いつ登録したか・付随メタデータは何かを返す照会機能を備えています。なお、ログイン不要で誰でも照合できる公開検証ページは、今後の対応を予定しています。

この記録の意味は、Imprintのデータベースだけに依存せず、公開ブロックチェーン上の記録に照らして確認できる点にあります。Imprint自身も、いったん記録したハッシュをこっそり書き換えることはできません。

RFC 3161タイムスタンプとの関係

時刻を証明する技術としては、RFC 3161タイムスタンプもあります。両者は競合せず、補完し合います。

手法 時刻の根拠 検証の方法
RFC 3161タイムスタンプ 認定された第三者機関(TSA)の電子署名 TSAの署名検証で確認
ブロックチェーン記録 ブロックの生成時刻 公開ブロックチェーン上の記録をエクスプローラ(Polygonscan)で確認

タイムスタンプは法制度(電子帳簿保存法など)との親和性が高く、ブロックチェーンは公開記録としての確認しやすさに強みがあります。両方を組み合わせることで、時刻と完全性の証明を多層化できます。

RFC 3161タイムスタンプとは?電子証拠として認められる条件

この仕組みで「証明できないこと」

ここは率直に書きます。ハッシュとブロックチェーンは強力ですが、万能ではありません。

写真の内容が真実であることは証明しません。 証明できるのは「記録した時点のデータと現在のデータが同一か」だけです。加工・捏造された写真のハッシュも、そのまま記録できてしまいます。記録されているからといって、写っている内容が本物だという意味にはなりません。内容そのものの検証には、ELA・AI生成検出・EXIF解析といった別の手法が必要です。

ハッシュとブロックチェーンで証明できない3つのこと。内容の真実性・記録前の加工・完全一致のみ照合可能という限界をカード形式で整理

図:ハッシュ+ブロックチェーンの3つの限界(証明できるのは「記録後の同一性」だけ)

写真が加工・改ざんされているか見分ける方法【保存版】

守れるのは「記録した後」の改ざんだけです。 記録より前に加工されていた写真は、その加工された状態のハッシュが記録されるだけです。これを防ぐには、撮影の瞬間にハッシュを記録することが有効です。Imprintの撮影制御フロー(専用カメラUIで撮影し、サーバーが受信した直後にハッシュを記録・登録する方式)は、撮影とハッシュ記録の間に加工が入り込む余地をなくすための仕組みです。

照合は完全一致のみです。 リサイズ・再保存・形式変換を行うとハッシュは変わるため、記録したハッシュと一致するのは元のファイルと完全に同一のバイト列だけです。SNS経由などで再圧縮された写真は、たとえ見た目が同じでも一致しません。

業界別の活用シーン

損害保険では、損害写真のハッシュを撮影直後に記録しておくことで、後日「提出された写真が査定時から差し替えられていないか」を確認できます。不動産では、物件写真や重要事項に関わる画像の同一性を、公開記録に照らして保全できます。法務では、証拠画像の完全性をブロックチェーン上の記録で裏付けることで、改ざんを争われた際の説明材料になります。いずれの場合も、内容の真偽は別途の解析や現地確認と組み合わせて判断することが前提です。

まとめ

SHA-256ハッシュは、写真の「指紋」を取り、後からの改変を確実に検出する手段です。それをブロックチェーンに記録することで、特定の事業者のデータベースだけに依存しない、改ざんに強い記録になります。ただし証明できるのは「記録後の同一性」であり、内容の真偽や記録前の加工は対象外です。だからこそ、撮影時のハッシュ記録、画像内容の解析、時刻の証明を組み合わせる多層的なアプローチが重要になります。


写真の真正性検証を実際に試したい方は カメラで試す から無料でお試しいただけます。API連携については APIドキュメント をご参照ください。

この記事をシェア

シェアX (Twitter)LinkedIn