(57)【特許請求の範囲】
【請求項１】
画像データと、前記画像データに関する撮影情報と、前記画像データの改ざんを検証するための画像データ用改ざん検証データを暗号化した暗号化済み画像データ用改ざん検証データと、前記撮影情報の改ざんを検証するための撮影情報用改ざん検証データを暗号化した暗号化済み撮影情報用改ざん検証データとを含む画像ファイルを読み出す読出ステップと、
前記暗号化済み撮影情報用改ざん検証データの暗号化を解除した前記撮影情報用改ざん検証データと、前記撮影情報に関する撮影情報データとを比較して、前記撮影情報について改ざんされているか否かを検出する撮影情報改ざん検出ステップと、
前記暗号化済み画像データ用改ざん検証データの暗号化を解除した前記画像データ用改ざん検証データの全体領域データと、前記画像データに関する全体領域データとを比較して、前記画像データの全体領域について改ざんされているか否かを検出する全体領域改ざん検出ステップと、
前記暗号化済み画像データ用改ざん検証データの暗号化を解除した前記画像データ用改ざん検証データの部分領域データと、前記画像データに関する部分領域データとを比較して、前記画像データの部分領域について改ざんされているか否かを検出する部分領域改ざん検出ステップと、
前記撮影情報改ざん検出ステップによる検出結果と、前記全体領域改ざん検出ステップによる検出結果と、前記部分領域改ざん検出ステップによる検出結果とに基づいて、前記画像ファイルについて改ざんされているか否かを表示装置に表示する表示ステップとをコンピュータに実行させること
を特徴とする検証プログラム。
【請求項２】
請求項１に記載の検証プログラムにおいて、
前記撮影情報にハッシュ関数を適用した前記撮影情報データと、前記画像データの全体領域画像データにハッシュ関数を適用した前記全体領域データと、前記画像データの部分領域画像データにハッシュ関数を適用した前記部分領域データとを生成する生成ステップをコンピュータに更に実行させること
を特徴とする検証プログラム。
【請求項３】
請求項１又は請求項２に記載の検証プログラムにおいて、
前記表示ステップは、前記撮影情報改ざん検出ステップによる検出結果と、前記全体領域改ざん検出ステップによる検出結果と、前記部分領域改ざん検出ステップによる検出結果とを個別に前記表示装置に表示すること
を特徴とする検証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検証プログラムに関する。
【背景技術】
【０００２】
近年、電子カメラの普及に伴い、証明写真を電子カメラで撮影するケースが増えている。ところで、電子カメラで撮影された画像データは、汎用の画像処理ソフトを用いて改ざんが容易である。そのため、上述した証明写真の用途においては、画像データの改ざんを検出する技術が重要になる。
このような画像データの改ざん検出技術として、下記の特許文献１が知られている。この特許文献１では、画像データの改ざん検出に使用する検証用データとして、チェックサム、ＣＲＣ、ハッシュ関数のいずれかを作成する。この検証用データは暗号化された上で、画像データと一体に記録媒体に記録される。後日、この検証用データを解読し、解読後の検証用データを画像データと照合することによって、画像データの改ざんを検出することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２１５４５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、画像データ内には、画像領域のデータと共に、Exifなどの付随情報が格納されている。画像処理ソフトの中には、ユーザーが知らない内に、この付随情報を消去または書き換えるものが存在する。この場合、従来の技術では、ユーザーが関知しない付随情報の変化まで検出して、画像が改ざんされた！と敏感に反応してしまうおそれがあった。
このような証明写真の事情を考慮して、証明写真のオリジナル性をもっと柔軟に検証する技術が求められる。
【課題を解決するための手段】
【０００５】
請求項１に記載の検証プログラムは、画像データと、前記画像データに関する撮影情報と、前記画像データの改ざんを検証するための画像データ用改ざん検証データを暗号化した暗号化済み画像データ用改ざん検証データと、前記撮影情報の改ざんを検証するための撮影情報用改ざん検証データを暗号化した暗号化済み撮影情報用改ざん検証データとを含む画像ファイルを読み出す読出ステップと、前記暗号化済み撮影情報用改ざん検証データの暗号化を解除した前記撮影情報用改ざん検証データと、前記撮影情報に関する撮影情報データとを比較して、前記撮影情報について改ざんされているか否かを検出する撮影情報改ざん検出ステップと、前記暗号化済み画像データ用改ざん検証データの暗号化を解除した前記画像データ用改ざん検証データの全体領域データと、前記画像データに関する全体領域データとを比較して、前記画像データの全体領域について改ざんされているか否かを検出する全体領域改ざん検出ステップと、前記暗号化済み画像データ用改ざん検証データの暗号化を解除した前記画像データ用改ざん検証データの部分領域データと、前記画像データに関する部分領域データとを比較して、前記画像データの部分領域について改ざんされているか否かを検出する部分領域改ざん検出ステップと、前記撮影情報改ざん検出ステップによる検出結果と、前記全体領域改ざん検出ステップによる検出結果と、前記部分領域改ざん検出ステップによる検出結果とに基づいて、前記画像ファイルについて改ざんされているか否かを表示装置に表示する表示ステップとをコンピュータに実行させることを特徴とする。
請求項２に記載の検証プログラムは、請求項１に記載の検証プログラムにおいて、前記撮影情報にハッシュ関数を適用した前記撮影情報データと、前記画像データの全体領域画像データにハッシュ関数を適用した前記全体領域データと、前記画像データの部分領域画像データにハッシュ関数を適用した前記部分領域データとを生成する生成ステップをコンピュータに更に実行させることを特徴とする。
請求項３に記載の検証プログラムは、請求項１又は請求項２に記載の検証プログラムにおいて、前記表示ステップは、前記撮影情報改ざん検出ステップによる検出結果と、前記全体領域改ざん検出ステップによる検出結果と、前記部分領域改ざん検出ステップによる検出結果とを個別に前記表示装置に表示することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、画像ファイルについて改ざんされているか否かを表示装置に表示することができる。
【図面の簡単な説明】
【０００７】
【図１】検証プログラムによって、コンピュータ１１にソフトウェア的に実装される構成要件を示す図である。
【図２】検証プログラムのメインルーチンを示す流れ図である。
【図３】検証処理を示す流れ図（１／２）である。
【図４】検証処理を示す流れ図（２／２）である。
【図５】検証中の画面表示を示す図である。
【図６】検証後の画面表示を示す図である。
【発明を実施するための形態】
【０００８】
《実施形態の構成説明》
図１は、検証プログラムによって、コンピュータ１１にソフトウェア的に実装される構成要件を示す図である。
図１において、入力部１２は、記録媒体、通信媒体などを介して、画像データおよび付随情報を含む画像ファイルを取り込む。情報改ざん検出部１３は、付随情報から情報検証用データを読み出して付随情報と照合し、付随情報の改ざんを判別する。一方、画像改ざん検出部１４は、付随情報から画像検証用データを読み出して画像データと照合し、画像データの改ざんを判別する。表示制御部１５は、画像データの改ざんの有無、および付随情報の改ざんの有無をモニタ１６にそれぞれ表示する。
【０００９】
《メインルーチンの動作説明》
図２は、検証プログラムのメインルーチンを示す流れ図である。以下、図２に示すステップ番号の順に、この動作を説明する。
【００１０】
ステップＳ１：  入力部１２は、オリジナル性（真正性，改ざんの有無）を検証すべき対象として、画像ファイルまたはフォルダの選択入力を受け付ける。ここでの選択入力は、コンピュータ１１のＧＵＩ操作（ダイアログでの選択や、ドラッグ＆ドロップ操作など）を介して入力される。
【００１１】
ステップＳ２：  画像ファイルの選択を受け付けた場合、入力部１２はステップＳ３に動作を移行する。一方、フォルダの選択を受け付けた場合、入力部１２はステップＳ４に動作を移行する。
【００１２】
ステップＳ３：  入力部１２は、選択された１つ以上の画像ファイルを検索対象キューに登録する。
この検索対象キューは、コンピュータ１１のメモリ領域上に構築され、検索された画像ファイルを待ち行列として登録するものである。
この動作の後、入力部１２は、ステップＳ８に動作を移行する。
【００１３】
ステップＳ４：  表示制御部１５は、図５に示すように、検索対象のフォルダ名を表示する。このフォルダ名の表示が検索処理の進行に応じて変化することにより、検索処理の進捗状況をユーザーに知らせる。
【００１４】
ステップＳ５：  入力部１２は、フォルダ内から検証対象として予め定められた種類の画像ファイルを探索する。この探索は、ファイル名の拡張子識別によって行ってもよい。また、ファイルの付随情報（ヘッダー部分など）に記録されたファイル種別によって行ってもよい。入力部１２は、探索された１つ以上の画像ファイルを、検索対象キューに登録する。
【００１５】
ステップＳ６：  フォルダ内にサブフォルダが存在する場合、入力部１２はステップＳ７に動作を移行する。一方、フォルダ内にサブフォルダが存在しない場合、入力部１２はステップＳ８に動作を移行する。
【００１６】
ステップＳ７：  入力部１２は、フォルダ内に見つけたサブフォルダを検索対象のフォルダに設定して、動作をステップＳ４に戻す。
上述したステップＳ１〜Ｓ７までの一連の処理を、スレッドを生成して並列処理することにより、後述する検証処理と独立並行して、検証すべき画像ファイルが検索対象キューに逐次蓄積される。
【００１７】
ステップＳ８：  入力部１２は、検索対象キューから検証対象キューに画像ファイルの登録を移動する。なお、移動を完了した登録については、検索対象キューから逐次に削除される。
この検証対象キューは、コンピュータ１１のメモリ領域上に構築され、検証すべき画像ファイルを待ち行列として登録するものである。
この処理も、スレッドを生成して並列処理することにより、検証処理と独立並行して、検索対象キューから検証対象キューへの登録移行が滞りなく実施される。
【００１８】
ステップＳ９：  情報改ざん検出部１３および画像改ざん検出部１４は、検証対象キューから画像ファイルの登録を１つずつ読み出し、検証処理（図３，図４）を実施する。検証処理の詳細については後述する。
【００１９】
ステップＳ１０：  検証処理の戻り処理を実施する。すなわち、検証処理を正常終了した場合、入力部１２はステップＳ１２に動作を移行する。
一方、検証処理の中断が指示入力された場合、入力部１２はステップＳ１１に動作を移行する。
また、検証処理の期間中に、検証すべき対象として画像ファイルまたはフォルダが追加選択された場合、入力部１２はステップＳ２に動作を戻す。なお、具体的には、ステップＳ１〜Ｓ７を実行するスレッドに対して、追加選択を報せるメッセージを発行すればよい。
【００２０】
ステップＳ１１：  ここでは、検証処理を中断するために、入力部１２が検索対象キューおよび検証対象キューの登録リストを全て削除する。この削除動作の後、入力部１２はステップＳ１４に動作を移行する。
【００２１】
ステップＳ１２：  入力部１２は、検証対象キューが空か否かを判断する。ここで、検証対象キューに画像ファイルの登録が残っている場合、入力部１２はステップＳ９に動作を戻して検証処理を継続する。一方、検証対象キューが空の場合、入力部１２はステップＳ１３に動作を移行する。
【００２２】
ステップＳ１３：  入力部１２は、検索対象キューが空か否かを判断する。ここで、検索対象キューに画像ファイルの登録が残っている場合、入力部１２はステップＳ８に動作を戻す。一方、検索対象キューが空の場合、入力部１２はステップＳ１４に動作を移行する。
【００２３】
ステップＳ１４：  検証対象となる画像ファイルについて必要な検証処理を全て完了している。このとき、表示制御部１５は、図６に示すようなウィンドウをモニタ１６に表示する。なお、この状態において、入力部１２はステップＳ１に動作を戻し、画像ファイル／フォルダの新たな選択を待機する。一方、この状態において、終了ボタンのクリックを検知すると、入力部１２（メインルーチン）はアプリケーションのクローズ処理を実施する。
【００２４】
《検証処理の動作説明》
図３および図４は、検証処理（上記のステップＳ９）を具体的に示す流れ図である。以下、図に示すステップ番号の順に、この動作を説明する。
【００２５】
ステップＳ３１：  情報改ざん検出部１３は、検証対象キューから画像ファイルの登録を１つずつ取得し、画像ファイルを読み出す。この画像ファイルには、画像データおよび付随情報が含まれる。さらに、この付随情報には、撮影情報および暗号データが含まれる。
この暗号データは、情報検証用データおよび画像検証用データなどを暗号化したものである。これらのデータは、例えば、画像ファイルのヘッダー部（アプリケーションマーカーセグメント内のメーカーノートタグ内など）に予め記録される。
なお、表示制御部１５は、図５に示すように、検証中の画像ファイル名を表示し、プログレスバーが示す検証件数を１つ増やす。この表示により、検証処理の進捗状況をユーザーに知らせる。
【００２６】
ステップＳ３２：  情報改ざん検出部１３は、撮影情報に対してハッシュ関数などを適用して、情報検証用データを作成する。
【００２７】
ステップＳ３３：  画像改ざん検出部１４は、画像データに対してハッシュ関数などを適用して、画像全体および部分領域ごとに画像検証用データを作成する。
【００２８】
ステップＳ３４：  情報改ざん検出部１３および画像改ざん検出部１４は、暗号データを復号化キーで復号化し、オリジナルの情報検証用データおよび画像検証用データを取得する。
【００２９】
ステップＳ３５：  一方、表示制御部１５は、検証プログラム内のリソースコードから、暗号化された表示データを読み出し、暗号解除を行っておく。
【００３０】
ステップＳ３６：  情報改ざん検出部１３は、現時点の撮影情報から作成された情報検証用データと、暗号解除された情報検証用データ（オリジナルの撮影情報から予め作成されたもの）とを照合する。
【００３１】
ステップＳ３７：  情報改ざん検出部１３は、情報検証用データの照合結果が不整合であった場合、ステップＳ３８に動作を移行する。一方、情報検証用データの照合結果が整合した場合、ステップＳ３９に動作を移行する。
【００３２】
ステップＳ３８：  表示制御部１５は、情報改ざん検出部１３から不整合の結果を受け取ると、図５に示す情報部の欄に、改ざん有りを示す表示データ（暗号解除されたもの）を表示する。その後、ステップＳ４０に動作を移行する。
【００３３】
ステップＳ３９：  表示制御部１５は、情報改ざん検出部１３から整合の結果を受け取ると、図５に示す情報部の欄に、改ざん無しを示す表示データ（暗号解除されたもの）を表示する。その後、ステップＳ４０に動作を移行する。
【００３４】
ステップＳ４０：  画像改ざん検出部１４は、現時点の画像の部分領域から作成された画像検証用データと、暗号解除された画像検証用データ（オリジナルの部分領域から予め作成されたもの）とを照合する。
【００３５】
ステップＳ４１：  画像改ざん検出部１４は、部分領域の画像検証用データの照合結果が不整合であった場合、ステップＳ４２に動作を移行する。一方、部分領域の画像検証用データの照合結果が整合した場合、ステップＳ４３に動作を移行する。
【００３６】
ステップＳ４２：  表示制御部１５は、画像改ざん検出部１４から不整合の結果を受け取ると、図５に示す画像クロップ部の欄に、改ざん有りを示す表示データ（暗号解除されたもの）を表示する。なお、複数の部分領域について改ざん判別を行う場合には、部分領域ごとに表示欄を設けることが好ましい。
さらに、表示制御部１５は、画像データの縮小画像（サムネイルなど）に不整合の部分領域の位置を示す表示データを付与する処理を行う。この縮小画像は、表示制御部１５によって、図６のウィンドウ内において画像ファイルがフォーカス選択された際に、このウィンドウ下部に設けられた縮小画像の表示域に表示される。なお、画像データから改ざん部分を抽出して、この表示域に画像表示してもよい。
【００３７】
ステップＳ４３：  画像改ざん検出部１４は、現時点の画像全体から作成された画像検証用データと、暗号解除された画像全体の画像検証用データ（オリジナルの画像データから予め作成されたもの）とを照合する。
【００３８】
ステップＳ４４：  画像改ざん検出部１４は、画像検証用データの照合結果が不整合であった場合、ステップＳ４５に動作を移行する。一方、画像検証用データの照合結果が整合した場合、ステップＳ４６に動作を移行する。
【００３９】
ステップＳ４５：  表示制御部１５は、画像改ざん検出部１４から不整合の結果を受け取ると、図５に示す画像部全体の欄に、改ざん有りを示す表示データ（暗号解除されたもの）を表示する。その後、ステップＳ４７に動作を移行する。
【００４０】
ステップＳ４６：  表示制御部１５は、画像改ざん検出部１４から整合の結果を受け取ると、図５に示す画像部の欄に、改ざん無しを示す表示データ（暗号解除されたもの）を表示する。その後、ステップＳ４７に動作を移行する。
【００４１】
ステップＳ４７：  表示制御部１５は、情報改ざん検出部１３および画像改ざん検出部１４から不整合を具体的に示すエラーコードを取得する。例えば、これらエラーコードからは、次のような不整合の原因を詳細に知ることができる。
(1)検証用データが単に不整合であった。
(2)検証用データの暗号解除エラー。
(3)検証対象外の画像ファイルであった。
(4)画像ファイルから検証用データの取得が不可能だった。
表示制御部１５は、これらエラーコードの組み合わせに応じて、適切な説明コメントを選択する。表示制御部１５は、この説明コメントを、図５に示す備考の欄に表示する。
【００４２】
ステップＳ４８：  さらに、表示制御部１５は、画像ファイルの付随情報（アプリケーションマーカーセグメントの使用ソフトウェアタグなど）から使用ソフトウェア名を取得する。表示制御部１５は、この使用ソフトウェア名を、改ざん履歴の参考情報として、図５に示す備考欄に表示する。
【００４３】
《実施形態の効果など》
本実施形態では、図６に示すように、情報部／画像部／クロップ部について改ざんの有無を個別に表示する。したがって、ユーザーは、これらの区分ごとに画像ファイルの改ざん状況を判断することができる。
【００４４】
また、付随情報について独立に改ざん検出を表示することによって、証明写真として重要な撮影日時、撮影場所、撮影者の情報などの改ざんを見破ることも可能になる。その結果、ユーザーは、撮影日付を改ざんした古い証明写真や、出所を改ざんした証明写真を確実に排除することができる。その結果、裁判や保険などに提出する証拠写真、工事などの作業過程を示す証明写真などの真正性を証明する上で好適な検証システムとなる。
【００４５】
さらに、本実施形態では、画像データの部分領域ごとに改ざんの有無を表示する。したがって、ユーザーは、この改ざん箇所が顔領域か否かを判断することにより、証明写真として許可すべきか否かを適切に判断することができる。
【００４６】
また、本実施形態では、画像データの照合結果と、撮影情報の照合結果との組み合わせに応じて、改ざん状況を示す説明コメントを表示する。したがって、ユーザーは改ざん状況を詳細かつ具体的に知ることができる。
【００４７】
さらに、本実施形態では、情報検証用データおよび画像検証用データを、画像ファイルのヘッダー部から読み出す。そのため、画像ファイルと一体に、これら検証用データを扱うことが可能となり、ユーザーによる画像ファイルの指定操作などが簡易になる。
【００４８】
また、本実施形態では、画像ファイルをデータ操作した使用ソフトウェア名を付随情報から読み出し、改ざん履歴の参考情報として表示する。ユーザーは、この使用ソフトウェア名から改ざんの履歴などを知ることができる。
【００４９】
さらに、本実施形態では、改ざんの有無を示す表示データを、暗号化して検証プログラムに格納する。そのため、検証プログラムを改造して、内部の表示データを改ざんすることが困難となる。その結果、検証プログラムの改造によって、改ざん有りにもかかわらず、改ざん無しと表示させるといった表示動作の偽装を防ぐことができる。
【００５０】
また、本実施形態では、検証すべき画像ファイルの検索処理と、画像ファイルの検証処理とを、個別のスレッドを立てて並行に実施する。さらに、図５に示すように、この検索処理の進捗と、この検証処理の進捗とを個別に表示する。このように２種類の進捗表示を併せて行うことにより、ユーザーは、検索処理および検証処理それぞれの進捗状況を的確に把握できる。その結果、ユーザーは、検証処理の進捗状況にかかわらずに、検索処理の空き具合を見計らって、検証すべきフォルダ（画像ファイル）を新たに追加するなどの合理的な操作が可能になる。
【００５１】
《実施形態の補足事項》
なお、上述した実施形態では、検証用データの算出方法として、ハッシュ関数をあげている。しかしながら、本発明はこれに限定されるものではない。一般には、改ざんを反映して、異なるデータを算出する算出方法であればよい。
【００５２】
また、上述した実施形態では、ＥＸＩＦ付きのＪＰＥＧ画像ファイルのケースについて説明した。しかしながら、本発明の画像フォーマットはこれに限定されるものではない。
【００５３】
なお、上述した実施形態においては、表示制御部１５は、リスト項目のクリック操作などに応じて、そのリスト項目に基づいて画像ファイルをソートして表示し直すことが好ましい。このような並べ替え表示により、複数の画像ファイルを、そのリスト項目ごとに改ざんの無いものと有るものとに簡易に区別して表示することができる。
【００５４】
また、上述した実施形態において、画像全体と部分領域についてそれぞれ改ざん判別を行っている。しかしながら、本発明はこれに限定されるものではない。例えば、画像の部分領域の改ざん判別で足りる場合は、画像全体に対する改ざん判別を省いてもよい。また逆に、画像全体の改ざん判別で足りる場合は、部分領域に対する改ざん判別を省いてもよい。
【００５５】
なお、上述した実施形態では、検証プログラムの実行に際してユーザー認証を行うことが好ましい。この場合、パスワード、個人認証情報、またはＵＳＢキーなどのハードウェアキーなどの併用を義務付けることが好ましい。
【００５６】
また、上述した実施形態では、検証プログラムとして、各国語別にローカライズ対応を考慮することが好ましい。例えば、英語版では結果表示をＯＫ／ＮＧとする。また、日本語版では結果表示を○／×とする。これらローカライズ用のリソースデータは、検証プログラムの命令コードとは分離した方が開発効率は高くなる。この場合、リソースデータに記述する表示データは第三者から判読や書き換えができないように、暗号化処理を施しておくことが好ましい。
【００５７】
さらに、上述した検証方法を、インターネットなどの通信媒体や記録媒体を介して入力される画像ファイルの検証業務などに使用することもできる。例えば、顔、指紋、静脈などの画像を用いた個人認証システムにおいて、基準とする画像ファイルに改ざんの有無を検証するプロセスなどに、上述した検証方法を適用することができる。
【産業上の利用可能性】
【００５８】
以上説明したように、本発明は、検証プログラムなどに利用可能な技術である。
【符号の説明】
【００５９】
１１…コンピュータ，１２…入力部，１３…情報改ざん検出部，１４…画像改ざん検出部，１５…表示制御部，１６…モニタ
【図１】
0005229372.tif 000002
【図２】
0005229372.tif 000003
【図３】
0005229372.tif 000004
【図４】
0005229372.tif 000005
【図５】
0005229372.tif 000006
【図６】
0005229372.tif 000007