"コンピュータを、画像データおよび付随情報を含む画像ファイルを取り込む入力部と、前記付随情報から前記付随情報の改ざん検証用の情報検証用データを読み出し、前記付随情報を前記情報検証用データに照合することにより、前記付随情報の改ざんを判別する情報改ざん検出部と、前記付随情報から前記画像データの改ざん検証用の画像検証用データを読み出し、前記画像データを前記画像検証用データに照合することにより、前記画像データの改ざんを判別する画像改ざん検出部と、前記画像データの改ざんの有無、および前記付随情報の改ざんの有無を表示画面にそれぞれ表示する表示制御部として機能させるための検証プログラム。請求項1に記載の検証プログラムにおいて、前記画像改ざん検出部は、画像データの部分領域ごとに改ざんの有無を判別し、前記表示制御部は、前記部分領域ごとに改ざんの有無を表示することを特徴とする検証プログラム。請求項1または請求項2に記載の検証プログラムにおいて、前記表示制御部は、前記画像改ざん検出部および前記情報改ざん検出部から照合結果を取得し、前記照合結果に対応した説明コメントを表示することを特徴とする検証プログラム。請求項1ないし請求項3のいずれか1項に記載の検証プログラムにおいて、前記情報検証用データおよび前記画像検証用データは、前記画像ファイルのヘッダー部から読み出すことを特徴とする検証プログラム。請求項1ないし請求項4のいずれか1項に記載の検証プログラムにおいて、前記表示制御部は、前記画像ファイルをデータ操作した使用ソフトウェア名を前記付随情報から読み出して表示することを特徴とする検証プログラム。請求項1ないし請求項5のいずれか1項に記載の検証プログラムにおいて、前記改ざんの有無を示す表示データは、予め暗号化されて前記検証プログラムに格納されており、プログラム実行時に復号化されることを特徴とする検証プログラム。ところで、画像データ内には、画像領域のデータと共に、Exifなどの付随情報が格納されている。画像処理ソフトの中には、ユーザーが知らない内に、この付随情報を消去または書き換えるものが存在する。この場合、従来の技術では、ユーザーが関知しない付随情報の変化まで検出して、画像が改ざんされたと敏感に反応してしまうおそれがあった。このような証明写真の事情を考慮して、証明写真のオリジナル性をもっと柔軟に検証する技術が求められる。そこで、本発明は、画像ファイルのオリジナル性を適切に判別して表示する技術を提供することを目的とする。《1》本発明の検証プログラムは、コンピュータを、入力部、情報改ざん検出部、画像改ざん検出部、および表示制御部として機能させる。入力部は、画像データおよび付随情報を含む画像ファイルを取り込む。情報改ざん検出部は、付随情報から付随情報の改ざん検証用の情報検証用データを読み出し、付随情報を情報検証用データに照合することにより、付随情報の改ざんを判別する。画像改ざん検出部は、付随情報から画像データの改ざん検証用の画像検証用データを読み出し、画像データを画像検証用データに照合することにより、画像データの改ざんを判別する。表示制御部は、画像データの改ざんの有無、および付随情報の改ざんの有無を表示画面にそれぞれ表示する。《2》なお好ましくは、画像改ざん検出部は、画像データの部分領域ごとに改ざんの有無を判別する。この場合、表示制御部は、部分領域ごとに改ざんの有無を表示する。《3》また好ましくは、表示制御部は、画像改ざん検出部および情報改ざん検出部から照合結果を取得し、照合結果に対応した説明コメントを表示する。《4》なお好ましくは、情報検証用データおよび画像検証用データは、画像ファイルのヘッダー部から読み出す。《5》また好ましくは、表示制御部は、画像ファイルをデータ操作した使用ソフトウェア名を付随情報から読み出して表示する。《6》なお好ましくは、改ざんの有無を示す表示データは、予め暗号化されて検証プログラムに格納されている。この暗号化された表示データは、プログラム実行時に復号化される。本発明では、画像領域/付随情報について独立に改ざんの有無を判別して表示する。そのため、ユーザーは、画像ファイルの改ざん状況を詳細に知ることができる。《実施形態の構成説明》図1は、検証プログラムによって、コンピュータ11にソフトウェア的に実装される構成要件を示す図である。図1において、入力部12は、記録媒体、通信媒体などを介して、画像データおよび付随情報を含む画像ファイルを取り込む。情報改ざん検出部13は、付随情報から情報検証用データを読み出して付随情報と照合し、付随情報の改ざんを判別する。一方、画像改ざん検出部14は、付随情報から画像検証用データを読み出して画像データと照合し、画像データの改ざんを判別する。表示制御部15は、画像データの改ざんの有無、および付随情報の改ざんの有無をモニタ16にそれぞれ表示する。《メインルーチンの動作説明》図2は、検証プログラムのメインルーチンを示す流れ図である。以下、図2に示すステップ番号の順に、この動作を説明する。ステップS1:入力部12は、オリジナル性真正性,改ざんの有無を検証すべき対象として、画像ファイルまたはフォルダの選択入力を受け付ける。ここでの選択入力は、コンピュータ11のGUI操作ダイアログでの選択や、ドラッグドロップ操作などを介して入力される。ステップS2:画像ファイルの選択を受け付けた場合、入力部12はステップS3に動作を移行する。一方、フォルダの選択を受け付けた場合、入力部12はステップS4に動作を移行する。ステップS3:入力部12は、選択された1つ以上の画像ファイルを検索対象キューに登録する。この検索対象キューは、コンピュータ11のメモリ領域上に構築され、検索された画像ファイルを待ち行列として登録するものである。この動作の後、入力部12は、ステップS8に動作を移行する。ステップS4:表示制御部15は、図5に示すように、検索対象のフォルダ名を表示する。このフォルダ名の表示が検索処理の進行に応じて変化することにより、検索処理の進捗状況をユーザーに知らせる。ステップS5:入力部12は、フォルダ内から検証対象として予め定められた種類の画像ファイルを探索する。この探索は、ファイル名の拡張子識別によって行ってもよい。また、ファイルの付随情報ヘッダー部分などに記録されたファイル種別によって行ってもよい。入力部12は、探索された1つ以上の画像ファイルを、検索対象キューに登録する。ステップS6:フォルダ内にサブフォルダが存在する場合、入力部12はステップS7に動作を移行する。一方、フォルダ内にサブフォルダが存在しない場合、入力部12はステップS8に動作を移行する。ステップS7:入力部12は、フォルダ内に見つけたサブフォルダを検索対象のフォルダに設定して、動作をステップS4に戻す。上述したステップS1~S7までの一連の処理を、スレッドを生成して並列処理することにより、後述する検証処理と独立並行して、検証すべき画像ファイルが検索対象キューに逐次蓄積される。ステップS8:入力部12は、検索対象キューから検証対象キューに画像ファイルの登録を移動する。なお、移動を完了した登録については、検索対象キューから逐次に削除される。この検証対象キューは、コンピュータ11のメモリ領域上に構築され、検証すべき画像ファイルを待ち行列として登録するものである。この処理も、スレッドを生成して並列処理することにより、検証処理と独立並行して、検索対象キューから検証対象キューへの登録移行が滞りなく実施される。ステップS9:情報改ざん検出部13および画像改ざん検出部14は、検証対象キューから画像ファイルの登録を1つずつ読み出し、検証処理図3,図4を実施する。検証処理の詳細については後述する。ステップS10:検証処理の戻り処理を実施する。すなわち、検証処理を正常終了した場合、入力部12はステップS12に動作を移行する。一方、検証処理の中断が指示入力された場合、入力部12はステップS11に動作を移行する。また、検証処理の期間中に、検証すべき対象として画像ファイルまたはフォルダが追加選択された場合、入力部12はステップS2に動作を戻す。なお、具体的には、ステップS1~S7を実行するスレッドに対して、追加選択を報せるメッセージを発行すればよい。ステップS11:ここでは、検証処理を中断するために、入力部12が検索対象キューおよび検証対象キューの登録リストを全て削除する。この削除動作の後、入力部12はステップS14に動作を移行する。ステップS12:入力部12は、検証対象キューが空か否かを判断する。ここで、検証対象キューに画像ファイルの登録が残っている場合、入力部12はステップS9に動作を戻して検証処理を継続する。一方、検証対象キューが空の場合、入力部12はステップS13に動作を移行する。ステップS13:入力部12は、検索対象キューが空か否かを判断する。ここで、検索対象キューに画像ファイルの登録が残っている場合、入力部12はステップS8に動作を戻す。一方、検索対象キューが空の場合、入力部12はステップS14に動作を移行する。ステップS14:検証対象となる画像ファイルについて必要な検証処理を全て完了している。このとき、表示制御部15は、図6に示すようなウィンドウをモニタ16に表示する。なお、この状態において、入力部12はステップS1に動作を戻し、画像ファイル/フォルダの新たな選択を待機する。一方、この状態において、終了ボタンのクリックを検知すると、入力部12メインルーチンはアプリケーションのクローズ処理を実施する。《検証処理の動作説明》図3および図4は、検証処理上記のステップS9を具体的に示す流れ図である。以下、図に示すステップ番号の順に、この動作を説明する。ステップS31:情報改ざん検出部13は、検証対象キューから画像ファイルの登録を1つずつ取得し、画像ファイルを読み出す。この画像ファイルには、画像データおよび付随情報が含まれる。さらに、この付随情報には、撮影情報および暗号データが含まれる。この暗号データは、情報検証用データおよび画像検証用データなどを暗号化したものである。これらのデータは、例えば、画像ファイルのヘッダー部アプリケーションマーカーセグメント内のメーカーノートタグ内などに予め記録される。なお、表示制御部15は、図5に示すように、検証中の画像ファイル名を表示し、プログレスバーが示す検証件数を1つ増やす。この表示により、検証処理の進捗状況をユーザーに知らせる。ステップS32:情報改ざん検出部13は、撮影情報に対してハッシュ関数などを適用して、情報検証用データを作成する。ステップS33:画像改ざん検出部14は、画像データに対してハッシュ関数などを適用して、画像全体および部分領域ごとに画像検証用データを作成する。ステップS34:情報改ざん検出部13および画像改ざん検出部14は、暗号データを復号化キーで復号化し、オリジナルの情報検証用データおよび画像検証用データを取得する。ステップS35:一方、表示制御部15は、検証プログラム内のリソースコードから、暗号化された表示データを読み出し、暗号解除を行っておく。ステップS36:情報改ざん検出部13は、現時点の撮影情報から作成された情報検証用データと、暗号解除された情報検証用データオリジナルの撮影情報から予め作成されたものとを照合する。ステップS37:情報改ざん検出部13は、情報検証用データの照合結果が不整合であった場合、ステップS38に動作を移行する。一方、情報検証用データの照合結果が整合した場合、ステップS39に動作を移行する。ステップS38:表示制御部15は、情報改ざん検出部13から不整合の結果を受け取ると、図5に示す情報部の欄に、改ざん有りを示す表示データ暗号解除されたものを表示する。その後、ステップS40に動作を移行する。ステップS39:表示制御部15は、情報改ざん検出部13から整合の結果を受け取ると、図5に示す情報部の欄に、改ざん無しを示す表示データ暗号解除されたものを表示する。その後、ステップS40に動作を移行する。ステップS40:画像改ざん検出部14は、現時点の画像の部分領域から作成された画像検証用データと、暗号解除された画像検証用データオリジナルの部分領域から予め作成されたものとを照合する。ステップS41:画像改ざん検出部14は、部分領域の画像検証用データの照合結果が不整合であった場合、ステップS42に動作を移行する。一方、部分領域の画像検証用データの照合結果が整合した場合、ステップS43に動作を移行する。ステップS42:表示制御部15は、画像改ざん検出部14から不整合の結果を受け取ると、図5に示す画像クロップ部の欄に、改ざん有りを示す表示データ暗号解除されたものを表示する。なお、複数の部分領域について改ざん判別を行う場合には、部分領域ごとに表示欄を設けることが好ましい。さらに、表示制御部15は、画像データの縮小画像サムネイルなどに不整合の部分領域の位置を示す表示データを付与する処理を行う。この縮小画像は、表示制御部15によって、図6のウィンドウ内において画像ファイルがフォーカス選択された際に、このウィンドウ下部に設けられた縮小画像の表示域に表示される。なお、画像データから改ざん部分を抽出して、この表示域に画像表示してもよい。ステップS43:画像改ざん検出部14は、現時点の画像全体から作成された画像検証用データと、暗号解除された画像全体の画像検証用データオリジナルの画像データから予め作成されたものとを照合する。ステップS44:画像改ざん検出部14は、画像検証用データの照合結果が不整合であった場合、ステップS45に動作を移行する。一方、画像検証用データの照合結果が整合した場合、ステップS46に動作を移行する。ステップS45:表示制御部15は、画像改ざん検出部14から不整合の結果を受け取ると、図5に示す画像部全体の欄に、改ざん有りを示す表示データ暗号解除されたものを表示する。その後、ステップS47に動作を移行する。ステップS46:表示制御部15は、画像改ざん検出部14から整合の結果を受け取ると、図5に示す画像部の欄に、改ざん無しを示す表示データ暗号解除されたものを表示する。その後、ステップS47に動作を移行する。ステップS47:表示制御部15は、情報改ざん検出部13および画像改ざん検出部14から不整合を具体的に示すエラーコードを取得する。例えば、これらエラーコードからは、次のような不整合の原因を詳細に知ることができる。検証用データが単に不整合であった。検証用データの暗号解除エラー。検証対象外の画像ファイルであった。画像ファイルから検証用データの取得が不可能だった。表示制御部15は、これらエラーコードの組み合わせに応じて、適切な説明コメントを選択する。表示制御部15は、この説明コメントを、図5に示す備考の欄に表示する。ステップS48:さらに、表示制御部15は、画像ファイルの付随情報アプリケーションマーカーセグメントの使用ソフトウェアタグなどから使用ソフトウェア名を取得する。表示制御部15は、この使用ソフトウェア名を、改ざん履歴の参考情報として、図5に示す備考欄に表示する。《実施形態の効果など》本実施形態では、図6に示すように、情報部/画像部/クロップ部について改ざんの有無を個別に表示する。したがって、ユーザーは、これらの区分ごとに画像ファイルの改ざん状況を判断することができる。また、付随情報について独立に改ざん検出を表示することによって、証明写真として重要な撮影日時、撮影場所、撮影者の情報などの改ざんを見破ることも可能になる。その結果、ユーザーは、撮影日付を改ざんした古い証明写真や、出所を改ざんした証明写真を確実に排除することができる。その結果、裁判や保険などに提出する証拠写真、工事などの作業過程を示す証明写真などの真正性を証明する上で好適な検証システムとなる。さらに、本実施形態では、画像データの部分領域ごとに改ざんの有無を表示する。したがって、ユーザーは、この改ざん箇所が顔領域か否かを判断することにより、証明写真として許可すべきか否かを適切に判断することができる。また、本実施形態では、画像データの照合結果と、撮影情報の照合結果との組み合わせに応じて、改ざん状況を示す説明コメントを表示する。したがって、ユーザーは改ざん状況を詳細かつ具体的に知ることができる。さらに、本実施形態では、情報検証用データおよび画像検証用データを、画像ファイルのヘッダー部から読み出す。そのため、画像ファイルと一体に、これら検証用データを扱うことが可能となり、ユーザーによる画像ファイルの指定操作などが簡易になる。また、本実施形態では、画像ファイルをデータ操作した使用ソフトウェア名を付随情報から読み出し、改ざん履歴の参考情報として表示する。ユーザーは、この使用ソフトウェア名から改ざんの履歴などを知ることができる。さらに、本実施形態では、改ざんの有無を示す表示データを、暗号化して検証プログラムに格納する。そのため、検証プログラムを改造して、内部の表示データを改ざんすることが困難となる。その結果、検証プログラムの改造によって、改ざん有りにもかかわらず、改ざん無しと表示させるといった表示動作の偽装を防ぐことができる。また、本実施形態では、検証すべき画像ファイルの検索処理と、画像ファイルの検証処理とを、個別のスレッドを立てて並行に実施する。さらに、図5に示すように、この検索処理の進捗と、この検証処理の進捗とを個別に表示する。このように2種類の進捗表示を併せて行うことにより、ユーザーは、検索処理および検証処理それぞれの進捗状況を的確に把握できる。その結果、ユーザーは、検証処理の進捗状況にかかわらずに、検索処理の空き具合を見計らって、検証すべきフォルダ画像ファイルを新たに追加するなどの合理的な操作が可能になる。《実施形態の補足事項》なお、上述した実施形態では、検証用データの算出方法として、ハッシュ関数をあげている。しかしながら、本発明はこれに限定されるものではない。一般には、改ざんを反映して、異なるデータを算出する算出方法であればよい。また、上述した実施形態では、EXIF付きのJPEG画像ファイルのケースについて説明した。しかしながら、本発明の画像フォーマットはこれに限定されるものではない。なお、上述した実施形態においては、表示制御部15は、リスト項目のクリック操作などに応じて、そのリスト項目に基づいて画像ファイルをソートして表示し直すことが好ましい。このような並べ替え表示により、複数の画像ファイルを、そのリスト項目ごとに改ざんの無いものと有るものとに簡易に区別して表示することができる。また、上述した実施形態において、画像全体と部分領域についてそれぞれ改ざん判別を行っている。しかしながら、本発明はこれに限定されるものではない。例えば、画像の部分領域の改ざん判別で足りる場合は、画像全体に対する改ざん判別を省いてもよい。また逆に、画像全体の改ざん判別で足りる場合は、部分領域に対する改ざん判別を省いてもよい。なお、上述した実施形態では、検証プログラムの実行に際してユーザー認証を行うことが好ましい。この場合、パスワード、個人認証情報、またはUSBキーなどのハードウェアキーなどの併用を義務付けることが好ましい。また、上述した実施形態では、検証プログラムとして、各国語別にローカライズ対応を考慮することが好ましい。例えば、英語版では結果表示をOK/NGとする。また、日本語版では結果表示を○/×とする。これらローカライズ用のリソースデータは、検証プログラムの命令コードとは分離した方が開発効率は高くなる。この場合、リソースデータに記述する表示データは第三者から判読や書き換えができないように、暗号化処理を施しておくことが好ましい。さらに、上述した検証方法を、インターネットなどの通信媒体や記録媒体を介して入力される画像ファイルの検証業務などに使用することもできる。例えば、顔、指紋、静脈などの画像を用いた個人認証システムにおいて、基準とする画像ファイルに改ざんの有無を検証するプロセスなどに、上述した検証方法を適用することができる。"