(57)【要約】 【課題】  記憶媒体の機能に応じて検証データの生成主体を変更することで、画像生成装置の負荷を軽減できるようにする。【解決手段】  画像生成装置２０は、自己に装着されるメモリーカード４０が、画像データの完全性を検証する際に利用される検証データを生成する機能を含んでいるかどうかを検出する（Ｓ７０１）。当該機能が含まれていれば、当該機能を用いて検証データを生成する（Ｓ７０４およびＳ７０５）。一方、当該機能が含まれていなければ、画像生成装置２０が当該検証データを生成する。【選択図】  図７
2005197806.tif 000002
【特許請求の範囲】
【請求項１】
画像データを生成する画像生成装置であって、
画像データを生成する生成手段と、
生成された前記画像データを記憶するための記憶媒体を接続する接続手段と、
前記画像データの完全性を検証する際に利用される検証データの生成モジュールが、前記記憶媒体に搭載されているかどうかを判定する判定手段と、
前記記憶媒体に前記生成モジュールが搭載されていない場合に、前記検証データを生成する検証データ生成手段と、
前記記憶媒体に前記生成モジュールが搭載されている場合に、前記生成モジュールを制御して前記検証データを生成させる制御手段と、
生成された前記画像データと前記検証データとを前記記憶媒体に記憶するよう制御する記憶制御手段と
を含む画像生成装置。
【請求項２】
前記画像データの生成パラメータを出力する出力手段をさらに備え、
前記検証データ生成手段は、前記画像データと前記生成パラメータとに基づいて前記検証データを生成する、請求項１に記載の画像生成装置。
【請求項３】
前記生成モジュールおよび前記検証データ生成手段は、同一の圧縮関数または暗号関数の少なくとも一つを用いて前記検証データを生成する、請求項１または２に記載の画像生成装置。
【請求項４】
画像データを生成する画像生成方法であって、
画像データを記憶するための記憶媒体を接続するステップと、
画像データを生成するステップと、
前記画像データの完全性を検証する際に利用される検証データの生成モジュールが、前記記憶媒体に搭載されているかどうかを判定するステップと、
前記記憶媒体に前記生成モジュールが搭載されていない場合に、前記検証データを生成し、生成された前記画像データと前記検証データとを前記記憶媒体に記憶するよう制御するステップと、
前記記憶媒体に前記生成モジュールが搭載されている場合に、生成された前記画像データ前記記憶媒体に記憶するよう制御し、前記生成モジュールを制御して前記検証データを生成させるステップと
を含む画像生成方法。
【請求項５】
前記画像データの生成パラメータを出力するステップをさらに備え、
前記検証データの生成の際に、前記画像データと前記生成パラメータとに基づいて前記検証データを生成する、請求項４に記載の画像生成方法。
【請求項６】
前記検証データを生成する際には、圧縮関数および暗号関数の少なくとも一つを用いて前記検証データを生成する、請求項４または５に記載の画像生成方法。
【請求項７】
請求項４ないし請求項６の何れかに記載された画像生成方法の各ステップをコンピュータ上で実行させるためのコンピュータプログラム。
【請求項８】
画像データの改変を検出する画像検証システムであって、
画像データを生成する生成手段と、
生成された前記画像データを記憶するための記憶媒体を接続する接続手段と、
前記画像データの完全性を検証する際に利用される検証データの生成モジュールが、前記記憶媒体に搭載されているかどうかを判定する判定手段と、
前記記憶媒体に前記生成モジュールが搭載されていない場合に、前記検証データを生成する検証データ生成手段と、
前記記憶媒体に前記生成モジュールが搭載されている場合に、前記生成モジュールを制御して前記検証データを生成させる制御手段と、
生成された前記画像データと前記検証データとを前記記憶媒体に記憶するよう制御する記憶制御手段と
前記記憶媒体から前記画像データと前記検証データとを読み出して、該画像データの改変検出を実行する改変検出手段と
前記改変検出の結果を出力する出力手段と
を含む画像検証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの完全性（改変されていないこと）を保証する技術に関する。
【背景技術】
【０００２】
従来、デジタルカメラによって生成されたオリジナルの画像データの完全性を、デジタル署名データを用いて保証するシステムが提案されている（例えば、特許文献１）。当該システムでは、オリジナルの画像データの改変を検知するためのデータである検証データとして、オリジナルの画像データから生成したデジタル署名データを採用している。
【特許文献１】米国特許第５４９９２９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、上述の検証データを生成する際の演算量は非常に多い。しかも、セキュリティーの耐性を上げようとすればするほど、複雑な演算が必要となり、処理負荷が重くなってゆく。そのため、デジタルカメラなどの画像生成装置で検証データの生成を実行した場合は、連写性能等に悪影響を及ぼすおそれもある。
【０００４】
この課題を解決するためには、ＣＰＵ等を搭載したメモリーカードにオリジナルの画像データの検証データを生成するための機能を追加すればよい。しかしながら、このような機能を有するメモリーカードを使用した改変検出システムは、未だに提案されていない。
【０００５】
そこで、本発明は、このような課題および他の課題を解決することを目的とする。なお、他の課題については明細書の全体を通して理解できよう。
【課題を解決するための手段】
【０００６】
上記課題を解決すべく、本発明では、画像生成装置に装着される記憶媒体が、画像データの完全性を検証する際に利用される検証データを生成する機能を含んでいるかどうかを検出し、当該機能が含まれていれば、当該機能を用いて検証データを生成し、一方、当該機能が含まれていなければ、当該機能の代わりに画像生成装置が当該検証データを生成するようにした。
【発明の効果】
【０００７】
本発明によれば、記憶媒体の機能に応じて検証データの生成主体を変更することで、画像生成装置の負荷を軽減できるようにした。
【発明を実施するための最良の形態】
【０００８】
以下、本発明に好適な実施形態に係る図面を参照しながら説明する。
【０００９】
［第１の実施形態］
図１は、本実施形態における画像検証システムの一構成例を示す図である。本画像検証システムは、画像生成装置２０と、画像検証装置３０と、メモリーカード４０と、制御装置５０とが含まれている。画像生成装置２０は、デジタルカメラ、デジタルビデオカメラ、スキャナなどの撮像装置であってもよいし、あるいはカメラユニットを有する電子機器であってもよい。画像検証装置３０は、Ｗｅｂサーバのようなデータを蓄積し、該データを配信可能なコンピュータであってもよいし、ＣＰＵとメモリ等を有した小型機器であってもよい。制御装置５０は、パーソナルコンピュータ等のコンピュータである。
【００１０】
画像生成装置２０と、画像検証装置３０または制御装置５０とは通信路１０を介して接続され、例えば、ＨＴＴＰ（ハイパー・テキスト・トランスファー・プロトコル）などの通信プロトコルに従ってデータの送受信を行なう。もちろん、メモリーカード４０などの記憶媒体を使用することで、オフラインでもデータの授受を行なうこともできる。
【００１１】
図２は、実施形態に係る画像生成装置２０の主要機能を示したブロック図である。２０１は、ＣＣＤ（電荷結合素子）やＣＭＯＳなどの光学センサーを有する撮像部であり、操作部２０８に入力された指示に従って被写体の画像データおよび撮像パラメータを生成する。通常、画像データはデータ量削減のために圧縮されている。圧縮アルゴリズムとしては、ＪＰＥＧ（Ｊｏｉｎｔ Ｐｈｏｔｏｇｒａｐｈ Ｅｘｐｅｒｔｓ Ｇｒｏｕｐ）などを使用することができる。撮像パラメータとしては、撮影時刻、焦点距離、絞り値、ＩＳＯ感度、測光モード、画像ファイルサイズ等が考えられる。
【００１２】
２０２は、圧縮関数の一例であるハッシュ関数Ｈを用いて、画像データ等のデータから該データのダイジェストデータ（ハッシュ値）を生成するハッシュ関数演算部である。なお、ハッシュ関数Ｈとしては、例えば、ＭＤ５、ＳＨＡ−１、ＲＩＰＥＭＤ、Ｎ−ＨａｓｈおよびＳｎｅｆｒｕ／Ｈａｖａｌ等があるが、他のハッシュ関数を用いてもよい。
【００１３】
２０３は、秘密鍵Ｋｓを記憶する鍵記憶部である。秘密鍵Ｋｓは、デジタル署名における署名生成用鍵データに相当するものである。本システムでは、画像ファイルの完全性検証のための検証データとして、デジタル署名データを用いるものとする。デジタル署名データの生成アルゴリズムとしては、例えば、ＲＳＡ、ＤＳＡ（Ｄｉｇｉｔａｌ Ｓｉｇｎａｔｕｒｅ Ａｌｇｏｒｉｔｈｍ）等があるが、他の生成アルゴリズムを用いてもよい。これらのアルゴリズムでは、一種の暗号関数を用いて暗号化を行なっている。
【００１４】
２０４は、デジタル署名データを生成するために、ハッシュ関数演算部２０２で生成されたダイジェストデータに対して秘密鍵Ｋｓを用いた演算処理をする演算処理部である。演算処理部２０４には、画像ファイルを一時記憶するためのメモリが存在し、画像ファイルの解析演算処理等も実行する。
【００１５】
２０５は、メモリーカード４０に対して、デジタル署名データ付きの画像ファイルの書き込み制御などを実行するメディア制御部である。
【００１６】
２０６は、画像データと、撮像パラメータと、場合によってはデジタル署名データとから画像ファイルを生成する画像ファイル生成部である。なお、画像ファイルのファイル形式は、例えば、ＪＦＩＦ（ＪＰＥＧ Ｆｉｌｅ Ｉｎｔｅｒｃｈａｎｇｅ Ｆｏｒｍａｔ）、ＴＩＦＦ（Ｔａｇｇｅｄ Ｉｍａｇｅ Ｆｉｌｅ Ｆｏｒｍａｔ）およびＧＩＦ（Ｇｒａｐｈｉｃｓ Ｉｎｔｅｒｃｈａｎｇｅ Ｆｏｒｍａｔ）の何れかであってもよいし、これらを拡張したものであってもよいし、あるいは他の画像ファイルフォーマットであってもよい。画像ファイル生成部２０６が生成した画像ファイルは、メディア制御部２０５を経由してメモリーカード４０へと書き込まれる。
【００１７】
２０７は、制御装置５０から送信される撮影に関する設定情報や指示を受信するためのインタフェース部であり、ＮＩＣ（ネットワーク・インタフェース・カード）などの通信回路、ＵＳＢやＩＥＥＥ１３９４などの通信回路、またはブルートゥース、無線ＬＡＮおよびＩｒＤＡなどの無線通信回路などである。
【００１８】
２０８は、被写体の撮影指示、撮影に関する設定情報の指定等を行なうためのスイッチなどを有する操作部である。
【００１９】
２０９は、プログラムメモリと、該プログラムメモリに記憶された制御プログラムを実行するＣＰＵとを有し、画像生成装置２０の各部の動作を操作部２０８から入力された指示および制御装置５０から受信したコマンド等に基づいて制御する制御部である。プログラムメモリは、ＲＯＭ、ＲＡＭまたはハードディスクドライブなどの記憶媒体により構成される。制御プログラムとしては、例えば、メディア制御部２０５に接続されているメモリーカード４０と通信してメモリーカード４０の種類を識別するプログラムモジュールや、メモリーカード４０に画像データの完全性を検証する際に利用されるデジタル署名データを生成するモジュールが搭載されていない場合にハッシュ関数演算部２０２や演算処理部２０４を制御してデジタル署名データを生成させるプログラムモジュールや、メモリーカード４０にデジタル署名データの生成モジュールが搭載されている場合に当該モジュールにデジタル署名データを生成させるプログラムモジュールや、制御装置５０から送信される撮影関連設定情報を受信して撮像部２０１を制御するプログラムモジュールなどが含まれている。
【００２０】
２１０は、メモリーカード４０に記録された画像ファイルや、ユーザへのメッセージや画像生成装置２０の撮影に関する設定情報などを表示する表示部である。表示部２１０は、例えば、液晶表示装置やその表示制御回路などから構成されている。
【００２１】
なお、ハッシュ関数演算部２０２、演算処理部２０４および画像ファイル生成部２０６などは、専用の演算回路により構成してもよいし、ＣＰＵ、ＲＯＭ、ＲＡＭおよび演算プログラムなどにより構成してもよい。
【００２２】
図３は、実施形態に係る画像検証装置３０の主要機能を示すブロック図である。３０１は、メモリーカード４０に記憶されているデジタル署名データ付き画像ファイルなどを読み出すメディア制御部である。読み出された画像ファイルは記憶部３０２に記憶される。記憶部３０２は、ＲＡＭやハードディスクドライブなどの記憶装置である。
【００２３】
３０３は、ハッシュ関数Ｈを用いて、画像データ等から当該画像データのダイジェストデータ（ハッシュ値）を生成するハッシュ関数演算部である。
【００２４】
３０４は、画像ファイルが改変されているか否かを判定する画像検証部である。画像検証部３０４は、さらに、記憶部３０２に記憶されている画像ファイルの一時記憶制御、データ解析処理、画像データのフォーマットチェック処理等も実行する。
【００２５】
３０５は、検証を行なうために、デジタル署名データに対して公開鍵Ｋｐを用いて演算処理する演算処理部である。３０６は、検証に必要となる公開鍵Ｋｐなどを記憶する鍵記憶部である。この記憶部には画像生成装置２０内の鍵記憶部２０３に記憶されている秘密鍵Ｋｓに対応する公開鍵Ｋｐが記憶されている。
【００２６】
３０７は、検証の対象として選択された画像ファイル、および該画像ファイルの検証結果等を表示する表示部である。表示部３０７は、液晶表示装置や表示制御回路などから構成されている。
【００２７】
３０８は、ＲＯＭ、ＲＡＭおよびハードディスクドライブなどの記憶部と、これに記憶された制御プログラムを実行するＣＰＵとを有し、画像検証装置３０の各部の動作を制御する制御部である。
【００２８】
３０９は、入力された画像ファイルの中からどのファイルを検証対象とするかといった選択処理、さらには検証動作（検証アプリケーションプログラム）の起動処理等を検証者が指示するための入力部である。入力部３０９は、キーボードやポインティングデバイスなどから構成される。
【００２９】
ハッシュ関数演算部３０３、演算処理部３０５および画像検証部３０４などは、専用の演算回路により構成してもよいし、ＣＰＵ、ＲＯＭ、ＲＡＭおよび演算プログラムなどにより構成してもよい。
【００３０】
図４は、実施形態に係るセキュリティー機能付きメモリーカード４０の主要機能を示すブロック図である。セキュリティー機能付きメモリーカードの場合、セキュリティー演算部４０３を有しており、セキュリティー演算部４０３を用いてフラッシュメモリ部４０２に記憶されている画像ファイルについて、デジタル署名データをカード内で生成できる。すなわち、上述の演算処理部２０４とハッシュ関数演算部２０２と同等の処理を実行する。一方、通常のメモリーカードは、セキュリティー演算部４０３を搭載していないので、カード内部でデジタル署名データを生成することはできない。
【００３１】
コントローラ部４０１は、画像生成装置２０などの外部装置と通信するため制御や、外部装置からの命令を解釈してデータの振り分け処理（フラッシュメモリ部４０２へのデータであるのか、セキュリティー演算部４０３へのデータであるのかの区別）などを実行する。
【００３２】
フラッシュメモリ部４０２は、外部装置等からデータ書き込み命令が受信されると、外部装置等から受信したデータを記憶する。従って、画像生成装置２０で生成された画像ファイルは最終的にフラッシュメモリ部４０２に記憶されることになる。
【００３３】
セキュリティー演算部４０３は、演算を行なうＣＰＵ４０６と、動作プログラム等を記憶するＥＥＰＲＯＭ４０４と、ＣＰＵ４０６が演算時に使用するＲＡＭ４０５などで構成される。このセキュリティー演算部４０３には、外部からの不正な攻撃（物理的、化学的）に対して耐性を持つような機構を組み込んでいることが望ましい。このような機構があれば、内部のデータや動作が解析されて、不正に外部へ流出する可能性が低減できよう。
【００３４】
ＥＥＰＲＯＭ４０４は、セキュリティー演算部４０３で実行される演算に関する動作プログラムを記憶している。動作プログラムはＣＰＵ４０６によって実行される。また、デジタル署名データの生成時に必要となる秘密鍵や、生成のためのプログラムもここに記憶されている。ＲＡＭ４０５は、ＣＰＵ４０６が演算時に用いるワークエリアである。デジタル署名データの演算は処理負荷が大きいので、専用のプロセッサーをこの内部に組み込むことで、処理の高速化を図ってもよい。
【００３５】
図５は、実施形態に係る制御装置５０の主要機能を示すブロック図である。５０１は、画像生成装置２０と通信を行なうためのインタフェース部であり、各種コマンド等のデータがここを経由して画像生成装置２０へと送信されたり、画像生成装置２０から受信されたりする。通信プロトコルとしては、例えば、ＩＥＥＥ１３９４、ＵＳＢ等であってもよいが、独自の通信プロトコルでもよい。
【００３６】
５０２は、画像生成装置２０から、インタフェース部５０１を経由して受信されたデータを記憶する記憶部であり、ＨＤＤ（ハードディスクドライブ）等で構成される。
【００３７】
５０３は、記憶部５０１に記憶された制御プログラムを実行するＣＰＵを有し、制御装置５０の各部の動作を制御する制御部である。
【００３８】
５０４は、画像生成装置２０の撮像パラメータや各種設定情報を指定するためのコマンドや、画像生成装置２０に撮影を実行させるためのコマンドなどを生成するコマンド生成部である。生成されたコマンドは、インタフェース部５０１を経由して画像生成装置２０に送信される。
【００３９】
５０５は、画像生成装置２０で実行させたい機能の選択等を行なう操作部である。操作部５０５は、キーボードやポインティングデバイスなどである。
【００４０】
５０６は、画像生成装置２０に実行させたい機能を選択する際に必要となる情報等を表示する表示部である。表示部５０６は、液晶表示装置や表示制御回路などから構成される。
【００４１】
次に、図６ないし図１１を用いて、実施形態に係る画像検証システムの処理手順を説明する。この例では、最初に、画像生成装置２０に対して、撮影に関する設定情報および撮像パラメータを制御装置５０から指定する。続いて、画像生成装置２０において撮影処理を実行する。そして、画像生成装置２０またはメモリーカード４０でデジタル署名データを生成する。さらに画像検証装置３０において画像ファイルの検証を行なう。
【００４２】
図６は、実施形態に係る画像生成装置の例示的な設定処理を示す図である。ステップＳ６０１において、撮影に関する設定情報および撮像パラメータの設定に関するユーザの指示が制御装置５０の操作部５０５から入力されると、制御部５０３は、コマンド生成部５０４に対して、対応するコマンドデータを生成するよう指示する。コマンド生成部５０４で生成されたコマンドデータは、インタフェース部５０１を経由して画像生成装置２０へと送信される。
【００４３】
ステップＳ６０２において、画像生成装置２０の制御部２０９は、インタフェース部２０７を介してコマンドデータを受信する。制御部２０９は、受信したコマンドデータに従って内部の設定を変更する。例えば、コマンドデータが撮影に関する設定や撮像パラメータであれば、撮像部２０１の設定を変更する。なお、変更後の設定内容はＥＥＰＲＯＭなどに記憶しておく。
【００４４】
コマンドデータが“デジタル署名データ付き画像ファイルの生成（すなわち、署名モードＯＮ）”を意味する場合は、演算処理部２０４でデジタル署名を生成するよう設定を変更する。
【００４５】
ステップＳ６０３において、制御部２０９は、設定の変更を行った旨のレスポンスデータを演算処理部２０４に生成させ、インタフェース部２０７から送信する。
【００４６】
ステップＳ６０４において、レスポンスデータを受信した制御装置５０の制御部５０３は、設定が正常に完了したことを示すメッセージを表示部５０６に表示させる。
【００４７】
次に、図７、図８を用いて画像生成装置２０での撮影処理を説明する。図７は、実施形態に係るメディアタイプ判定処理を含む例示的な画像生成処理を示す図である。なお、図７では、メモリーカード４０内でデジタル署名データを作成することも示されている。図８は、実施形態に係る例示的な画像検証処理を示す図である。また、図８の左半分では、画像生成装置２０内でデジタル署名データを作成することも示されている。
【００４８】
ステップＳ７０１において、画像生成装置２０の電源がＯＮにされると、制御部２０９は、メモリーカード４０が接続（装着）されているかどうかを判定する。もしも接続されていないと判定した場合には、表示部２１０に「メモリーカードを接続してください」等のメッセージを表示させる。
【００４９】
ステップＳ７０２において、制御部２０９は、接続されているメモリーカード４０がセキュリティー機能付きであるかどうかを判別する。例えば、メモリーカード４０がセキュリティー機能付きであれば応答でき、そうでなければ応答できないような確認コマンドデータを送信し、正しい応答が得られるか否かで、セキュリティー機能付きか否かを判定できる。もちろん、セキュリティー機能が搭載されていないことを明示的に表すレスポンスデータをメモリーカード４０が返信するようにしてもよい。メモリーカードのタイプの判定結果は、メモリなどに保持される。
【００５０】
なお、制御部２０９は、デジタル署名データ付きの画像ファイルを生成すると予め設定されているかどうか（すなわち、署名モードがＯＮかＯＦＦか）も判定し、その判定結果も保持してもよい。署名モードがＯＮかＯＦＦかは、上述したように制御装置５０から設定できるが、画像生成装置２０の操作部２０８からの指示に従って制御部２０９が設定してもよい。
【００５１】
ステップＳ７０３において、制御部２０９は、保持している２つの判定結果に基づいて以下の場合分けを行い、処理を分岐する。
【００５２】
１．署名モードＯＦＦ設定の場合
２．署名モードＯＮ設定、かつメモリーカード４０がセキュリティー機能付きの場合
３．署名モードＯＮ設定、かつメモリーカード４０が通常カード（セキュリティー機能なし）の場合
上記１．または２．の場合は、撮像開始の指示が操作部２０８から入力されると、制御部２０９は、撮像センサーからのデータに基づいて被写体の画像データおよび撮像パラメータを撮像部２０１に生成させる。制御部２０９は、生成された画像データと撮像パラメータとを画像ファイル生成部２０６に供給する。画像ファイル生成部２０６は、前記画像データと撮像パラメータとから画像ファイルを生成し、メディア制御部２０５に供給する。さらに、メディア制御部２０５は、画像ファイル生成部２０６で生成された画像ファイルをメモリーカード４０内のフラッシュメモリ部４０２に書き込む。
【００５３】
さらに、上記２．の場合には、メモリーカード４０内にてデジタル署名データの生成が行われる。すなわち、ステップＳ７０４において、制御部２０９は、デジタル署名データの生成を指示するコマンドを、コントローラ部４０１を介してセキュリティー演算部４０３に送信する。セキュリティー演算部４０３内のＣＰＵ４０６は、署名データの生成指示に応じて、フラッシュメモリ部４０２に記憶されたばかりの画像ファイルをＲＡＭ４０５に展開する。ＣＰＵ４０６は、展開により得られた画像データと撮像パラメータにハッシュ関数Ｈを適用してダイジェストデータを生成する。
【００５４】
ステップＳ７０５において、ＣＰＵ４０６は、ＥＥＰＲＯＭ４０４に記憶してある秘密鍵Ｋｓを読み出し、秘密鍵Ｋｓとダイジェストデータとからデジタル署名データを生成する。
【００５５】
ステップＳ７０６において、ＣＰＵ４０６は、デジタル署名データ、撮像パラメータおよび画像データからデジタル署名データ付き画像ファイルを生成し、生成した画像ファイルをフラッシュメモリ部４０２に書き込む。
【００５６】
図９は、実施形態において生成された画像ファイルのフォーマットの一例を示す図である。とりわけこの例では、Ｅｘｉｆ（Ｅｘｃｈａｎｇｅａｂｌｅ Ｉｍａｇｅ Ｆｉｌｅ Ｆｏｒｍａｔ）に準拠したフォーマットを示している。画像ファイルには、撮像パラメータ部９０１と、画像データ部９０２と、デジタル署名データ部９０３とが含まれている。さらに撮像パラメータ部９０１内には、該画像ファイルにデジタル署名データが付加されているかどうかを示すフラグ９０４が、画像データのサムネイルデータ等の画像に関する各種パラメータとともに含まれている。なお、デジタル署名データ部９０３は、必ずしも画像データ９０２の後に存在する必要はなく、例えば、撮像パラメータ部９０１の中に存在してもよい。
【００５７】
上記３．の場合について図８を用いてその手順を説明する。ステップＳ８０１において、撮像開始の指示が操作部２０８に対してなされると撮像部２０１は、センサーからのデータから被写体の画像データおよび撮像パラメータを生成し、該生成した画像データをハッシュ関数演算部２０２および画像ファイル生成部２０６に供給する。なお、撮像部２０１は、ハッシュ関数演算部２０２および画像ファイル生成部２０６に撮像パラメータを供給してもよい。このように画像データのみでなく、撮像パラメータもハッシュ関数の入力データとすることで、画像データの改変のみならず撮像パラメータの改変をも検出可能になる。
【００５８】
ステップＳ８０２において、ハッシュ関数演算部２０２は、ハッシュ関数Ｈを用いて、画像データからダイジェストデータを生成し、生成したダイジェストデータを演算処理部２０４に供給する。なお、撮像パラメータが供給されている場合は、画像データと撮像パラメータとからダイジェストデータを生成する。
【００５９】
ステップＳ８０３において、演算処理部２０４は、ダイジェストデータと秘密鍵Ｋｓとを用いてデジタル署名データを生成する。そして、演算処理部２０４は、生成したデジタル署名データを画像ファイル生成部２０６に供給する。
【００６０】
ステップＳ８０４において、画像ファイル生成部２０６は、デジタル署名データ、撮像パラメータおよび画像データからデジタル署名データ付き画像ファイルを生成する。制御部２０９は、生成した画像ファイルをメディア制御部２０５に供給する。本実施形態において生成される画像ファイルのフォーマットは、図９を用いて説明した通りである。メディア制御部２０５は、画像ファイル生成部２０６で生成された上記デジタル署名データ付き画像ファイルをメモリーカード４０へ書き込む。
【００６１】
以下のステップでは、図８を用いて画像検証の方法を説明する。ステップＳ８０８において、画像検証装置３０にメモリーカード４０が接続されると、画像検証装置３０からデジタル署名データ付き画像ファイルを読み出し可能になる。なお、画像検証装置３０は、画像生成装置２０を経由して間接的にメモリーカード４０にアクセスしてもよい。
【００６２】
画像検証アプリケーションが起動されると、制御部３０８は、メディア制御部３０１を制御して、メモリーカード４０からデジタル署名データ付き画像ファイルを読み出し、取り出した画像ファイルを記憶部３０２に記憶する。なお、画像生成装置２０を経由する場合は、ＵＳＢ等の不図示のインタフェース回路を介して画像生成装置２０のインタフェース部２０７と接続し、当該インタフェース部２０７およびメディア制御部２０５を経由してメモリーカード４０から画像ファイルを読み出す。
【００６３】
ステップＳ８０９において、制御部３０８は、入力部３０９からの指示に基づき、検証対象の画像ファイルを選択する。制御部３０８は、画像検証部３０４を用いて、選択された画像ファイルのフォーマットチェックを実行し、登録されたファイルが本当に画像ファイルであるであるかどうかを検査する。フォーマットチェックは、ファイルの拡張子やファイルのヘッダ部分などの情報に基づいて実行する。チェックの結果、画像ファイルであれば、制御部３０８は、画像ファイルから撮像パラメータ、該撮像パラメータ内にあるサムネイルデータをそれぞれ取得し、ファイル名、サムネイルデータおよび撮像パラメータの表示画面を作成する。例えば、ＷＥＢで公開する場合は、ＨＴＭＬ形式などの表示ファイルを作成する。撮像パラメータには、例えば、撮影時刻、焦点距離、絞り値、ＩＳＯ感度、測光モード、画像ファイルサイズ等の画像ファイルに関係するパラメータと、撮像した装置名称、装置の製造番号等の機器パラメータとが含まれている。なお、フォーマットチェックの結果、画像ファイルでなければ、エラー表示を行なう。
【００６４】
図１０は、実施形態に係る撮像パラメータ等の表示例を示す図である。この例で、制御部３０８は、選択された画像ファイルとファイル名とサムネイルデータと撮像パラメータとを表示部３０７に一覧表示している。
【００６５】
ステップＳ８１０において、検証開始ボタン１００１がクリックされたことを検出すると、制御部３０８は、デジタル署名データの有無をデジタル署名データ用フラグ９０４により判別する。デジタル署名データがあれば、表示された画像ファイルに対する検証処理を実行する。
【００６６】
検証処理が開始されると、ハッシュ関数演算部３０３は、ハッシュ関数Ｈを用いて、処理対象となった画像ファイルの画像データから検証対象のダイジェストデータを生成する。撮像パラメータも含めて検証処理を実行する場合は、画像データと撮像パラメータからダイジェストデータを作成する。
【００６７】
ステップＳ８１１において、演算処理部３０５は、画像ファイルに添付されていたデジタル署名データを読み出し、読み出したデジタル署名データに、メモリ３０６から読み出した公開鍵Ｋｐを用いて公開鍵暗号演算処理を実行し、オリジナルのダイジェストデータを復元する。
【００６８】
ステップＳ８１２において、画像検証部３０４は、ハッシュ演算部３０３からのダイジェストデータと、演算処理部３０５からのダイジェストデータとに基づいて画像データが改変されているか否かを検証する。例えば、双方のダイジェストデータを比較し、双方が一致すれば「改変なし」と判定し、不一致であれば「改変あり」と判定する。
【００６９】
画像検証装置３０の制御部３０８は、画像検証部３０４から検証結果を取得して、表示部３０７に検証結果を表示させる。
【００７０】
図１１は、実施形態に係る検証結果の表示例を示す図である。この例では、画像データが改変されていないことを示す表示（検証結果「ＯＫ」）を画像ファイル名と対応させて表示部３０７に表示させている（図１１のｆｉｌｅ３．ｔｉｆの検証結果の表示欄を参照のこと）。
【００７１】
一方、検証データ付き画像ファイルが改変されている場合、すなわち、画像データの完全性が検証できなかった場合、制御部３０８は、画像データが改変されていることを示す表示（検証結果「ＮＧ」）を画像ファイル名に対応させて表示部３０７に表示させる（図１１のｆｉｌｅ１．ｊｐｇの検証結果表示欄や、ｆｉｌｅ２．ｊｐｇの検証結果表示欄を参照のこと）。
【００７２】
以上説明したように上述の実施形態によれば、記憶媒体の機能に応じて検証データの生成主体を変更することで、画像生成装置の負荷を軽減できるようにした。たとえば、上述のメモリーカード４０がデジタル署名データの生成モジュールを備えていれば、当該生成モジュールを利用することで、画像生成装置２０の処理負荷が軽減されよう。さらに、メモリーカード４０が当該生成モジュールを備えていない場合には、画像生成装置がデジタル署名データを作成するようにしたので、メモリーカードの種類に関係なく、セキュリティー機能つきの画像ファイルを作成できる利点がある。
【００７３】
また、画像データだけでなく、画像データを生成したときの撮像パラメータも含めてデジタル署名を作成することで、撮像パラメータの改変も検出できるようになる。
【００７４】
［他の実施形態］
上述の実施形態では、検証データとしてデジタル署名データを採用したが、本発明はこれに限定されることはなく、ＭＡＣ（メッセージ・オーセンティケーション・コード）等の他の検証用データを採用することも可能である。
【００７５】
また、上述の実施形態では検証結果を表示出力していたが、プリンタ等を用いて印刷出力してもよいし、音声出力回路から音声出力してもよい。
【００７６】
上述の実施形態では、メモリーカード４０に検証データ生成モジュールが存在する場合は、当該生成モジュールを優先して使用するものであった。しかしながら、あえて画像生成装置側の生成モジュールを優先使用してもよい。例えば、検証データ生成モジュールを備えたメモリーカード４０が発売され、その後しばらく経過しから登場した最新の画像生成装置は、メモリーカード４０発売当時比べ処理能力が大幅に改善している場合がある。このような状況下では、メモリーカード４０側の検証データ生成モジュールを使用するよりも、最新の画像生成装置内の生成モジュールを使用したほうが、全体の処理速度が向上する可能性もある。
【００７７】
そこで、制御２０９は、操作部２０８の操作に基づいて、強制選択モードに設定することで、メモリーカード４０のタイプにとらわれることなく、画像生成装置２０内で上述のデジタル署名データを生成するようにしてもよい。
【００７８】
以上、様々な実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。例えば、スキャナ、プリンタ、スキャナ、ＰＣ、複写機、複合機およびファクシミリ装置の如くである。
【００７９】
なお、本発明は、前述した実施形態の各機能を実現するソフトウェアプログラム（本実施形態では図６ないし８に示す処理に対応したコンピュータプログラム）を、システム若しくは装置に対して直接または遠隔から供給し、そのシステム若しくは装置に含まれるコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。
【００８０】
従って、本発明の機能・処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の一つである。
【００８１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００８２】
プログラムを供給するための記録媒体としては、例えば、フレキシブルーディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリーカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００８３】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明の構成要件となる場合がある。
【００８４】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００８５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００８６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００８７】
【図１】図１は、本実施形態における画像検証システムの一構成例を示す図である。
【図２】図２は、実施形態に係る画像生成装置２０の主要機能を示したブロック図である。
【図３】図３は、実施形態に係る画像検証装置３０の主要機能を示すブロック図である。
【図４】図４は、実施形態に係るセキュリティー機能付きメモリーカード４０の主要機能を示すブロック図である。
【図５】図５は、実施形態に係る制御装置５０の主要機能を示すブロック図である。
【図６】図６は、実施形態に係る画像生成装置の例示的な設定処理を示す図である。
【図７】図７は、実施形態に係るメディアタイプ判定処理を含む例示的な画像生成処理を示す図である。
【図８】図８は、実施形態に係る例示的な画像検証処理を示す図である。
【図９】図９は、実施形態において生成された画像ファイルのフォーマットの一例を示す図である。
【図１０】図１０は、実施形態に係る撮像パラメータ等の表示例を示す図である。
【図１１】図１１は、実施形態に係る検証結果の表示例を示す図である。
【図１】
2005197806.tif 000003
【図２】
2005197806.tif 000004
【図３】
2005197806.tif 000005
【図４】
2005197806.tif 000006
【図５】
2005197806.tif 000007
【図６】
2005197806.tif 000008
【図７】
2005197806.tif 000009
【図８】
2005197806.tif 000010
【図９】
2005197806.tif 000011
【図１０】
2005197806.tif 000012
【図１１】
2005197806.tif 000013